From 354007e87c3c075252af6bc19d22678867b67699 Mon Sep 17 00:00:00 2001 From: Github Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 28 Aug 2021 20:11:17 +0200 Subject: [PATCH 1/3] phabel.io: transpile to 80 --- composer.json | 15 +- scoper.inc.php | 38 +- src/ClassStorage.php | 15 +- src/ClassStorage/Builder.php | 39 +- src/ClassStorage/Storage.php | 31 +- src/ClassStorageProvider.php | 6 +- src/Cli/EventHandler.php | 22 +- src/Cli/Formatter.php | 13 +- src/Cli/SimpleConsoleLogger.php | 38 +- src/Commands/Publish.php | 53 +- src/Commands/Run.php | 44 +- src/Composer/Plugin.php | 24 +- src/Composer/Repository.php | 23 +- src/Composer/Transformer.php | 114 +-- src/Context.php | 121 +--- src/EventHandlerInterface.php | 2 - src/Exception.php | 2 - src/ExceptionWrapper.php | 2 +- src/Plugin.php | 5 +- src/Plugin/ClassStoragePlugin.php | 14 +- src/Plugin/ComposerSanitizer.php | 8 +- src/Plugin/IssetExpressionFixer.php | 36 +- src/Plugin/ListSplitter.php | 8 +- src/Plugin/Memoization.php | 29 +- src/Plugin/NestedExpressionFixer.php | 22 +- src/Plugin/NewFixer.php | 22 +- src/Plugin/PhabelTestGenerator.php | 12 +- src/Plugin/ReGenerator.php | 3 +- src/Plugin/ReGenerator/ReGenerator.php | 9 - src/Plugin/ReGeneratorInternal.php | 8 +- src/Plugin/StringConcatOptimizer.php | 7 +- src/Plugin/TypeHintReplacer.php | 157 +---- src/Plugin/VariableFinder.php | 4 +- src/PluginCache.php | 13 +- src/PluginGraph/CircularException.php | 2 +- src/PluginGraph/Graph.php | 6 +- src/PluginGraph/GraphInternal.php | 13 +- src/PluginGraph/Node.php | 54 +- src/PluginGraph/PackageContext.php | 2 - src/PluginGraph/Plugins.php | 7 +- src/PluginGraph/ResolvedGraph.php | 23 +- src/PluginInterface.php | 2 - src/Target/Php.php | 53 +- src/Target/Php70/AnonymousClassReplacer.php | 21 +- src/Target/Php70/DefineArrayReplacer.php | 7 +- src/Target/Php70/GroupUseReplacer.php | 6 +- src/Target/Php70/IssetExpressionFixer.php | 352 +--------- src/Target/Php70/NestedExpressionFixer.php | 612 +--------------- .../NullCoalesce/DisallowedExpressions.php | 93 +-- src/Target/Php70/NullCoalesceReplacer.php | 18 +- src/Target/Php70/Polyfill.php | 42 +- src/Target/Php70/ReservedNameReplacer.php | 10 +- src/Target/Php70/ReturnTypeHints.php | 6 +- src/Target/Php70/ScalarTypeHints.php | 6 +- .../StrictTypesDeclareStatementRemover.php | 2 +- src/Target/Php70/ThrowableReplacer.php | 16 +- ...lassConstantVisibilityModifiersRemover.php | 3 +- src/Target/Php71/ClosureFromCallable.php | 4 +- src/Target/Php71/IterableHint.php | 6 +- src/Target/Php71/MultipleCatchReplacer.php | 4 +- src/Target/Php71/NullableType.php | 6 +- src/Target/Php71/Polyfill.php | 8 +- src/Target/Php71/VoidReturnType.php | 6 +- src/Target/Php72/ObjectTypeHintReplacer.php | 6 +- src/Target/Php72/Polyfill.php | 13 +- .../TypeContravariance/TypeContravariance.php | 10 +- src/Target/Php73/NestedExpressionFixer.php | 22 +- src/Target/Php73/Polyfill.php | 3 - src/Target/Php74/ArrayUnpack.php | 8 +- src/Target/Php74/ArrowClosure.php | 10 +- src/Target/Php74/Polyfill.php | 11 +- src/Target/Php74/Serializable.php | 55 +- .../TypeContracovariance.php | 3 +- src/Target/Php80/IssetExpressionFixer.php | 42 +- src/Target/Php80/MatchTransformer.php | 24 +- src/Target/Php80/NestedExpressionFixer.php | 655 +----------------- src/Target/Php80/NullSafe/NullSafe.php | 3 +- src/Target/Php80/NullSafeTransformer.php | 2 - src/Target/Php80/Polyfill.php | 161 +---- src/Target/Php80/StaticReplacer.php | 6 +- src/Target/Php80/UnionTypeStripper.php | 6 +- src/Target/Polyfill.php | 3 - src/Tasks/Init.php | 14 +- src/Tools.php | 109 +-- src/Traverser.php | 136 +--- src/VariableContext.php | 2 +- src/Version.php | 6 +- src/phabel.php | 3 +- .../Target/GeneratorTypeHintReplacerTest.php | 28 - tests/Target/IssetExpressionFixerTest.php | 50 -- tests/Target/NestedExpressionFixerTest.php | 107 --- .../Php70/AnonymousClassReplacerTest.php | 69 -- .../Target/Php70/ClosureCallReplacerTest.php | 17 - .../Target/Php70/DefineArrayReplacerTest.php | 20 - tests/Target/Php70/GroupUseReplacerTest.php | 22 - .../Target/Php70/NullCoalesceReplacerTest.php | 64 -- .../Target/Php70/ReservedNameReplacerTest.php | 21 - .../Php70/SpaceshipOperatorReplacerTest.php | 19 - ...StrictTypesDeclareStatementRemoverTest.php | 18 - tests/Target/Php70/ThrowableReplacerTest.php | 45 -- tests/Target/Php71/ArrayListTest.php | 29 - ...ConstantVisibilityModifiersRemoverTest.php | 45 -- .../Target/Php71/ClosureFromCallableTest.php | 51 -- tests/Target/Php71/ListExpressionTest.php | 41 -- tests/Target/Php71/ListKeyTest.php | 42 -- .../Php71/MultipleCatchReplacerTest.php | 35 - tests/Target/Php72/Contravariance/Abstr.php | 12 - tests/Target/Php72/Contravariance/Abstr2.php | 12 - tests/Target/Php72/Contravariance/Cls.php | 9 - tests/Target/Php72/Contravariance/IFace.php | 12 - tests/Target/Php72/Contravariance/IFace2.php | 12 - .../Php72/Contravariance/OtherAbstr.php | 9 - .../Target/Php72/Contravariance/OtherCls1.php | 22 - .../Target/Php72/Contravariance/OtherCls2.php | 14 - .../Target/Php72/Contravariance/OtherCls3.php | 14 - .../Php72/Contravariance/OtherClsNative.php | 17 - tests/Target/Php72/Contravariance/Trait1.php | 16 - tests/Target/Php72/Contravariance/Trait2.php | 15 - tests/Target/Php72/ContravarianceTest.php | 34 - tests/Target/Php73/ListReferenceTest.php | 49 -- tests/Target/Php74/ArrayUnpackTest.php | 19 - tests/Target/Php74/ArrowClosureTest.php | 27 - .../Target/Php74/CoContraVariance/Animal.php | 0 .../Php74/CoContraVariance/AnimalFood.php | 0 .../AnimalShelterInterface.php | 0 tests/Target/Php74/CoContraVariance/Cat.php | 0 .../Php74/CoContraVariance/CatShelter.php | 0 tests/Target/Php74/CoContraVariance/Dog.php | 0 .../Php74/CoContraVariance/DogShelter.php | 0 tests/Target/Php74/CoContraVariance/Food.php | 59 -- tests/Target/Php74/CoContraVarianceTest.php | 0 .../Php74/NullCoalesceAssignmentTest.php | 25 - tests/Target/Php74/TypedPropertyTest.php | 17 - tests/Target/Php80/MatchTransformerTest.php | 47 -- .../Target/Php80/NullSafeTransformerTest.php | 21 - tests/Target/StringConcatOptimizerTest.php | 19 - tests/Target/TypeHintTest.php | 40 -- ...d8697d87f3e279a0e40be7b8c518211e16Test.php | 514 -------------- ...a45543788ca68ecbcafda154581bc534bbTest.php | 514 -------------- ...ecbdc0e6ac74d53fca4f96458ecbadeb74Test.php | 514 -------------- ...9b58f2de442f5f137471410560ce4cf8f3Test.php | 512 -------------- ...e855a42bff12725ce7ecdd050bb6e9e13bTest.php | 512 -------------- ...c5e3999ac7d0b22f555c27db87c8f2c98dTest.php | 514 -------------- ...cc6fa66dc96fc5c9d541f6733c41e9e490Test.php | 512 -------------- ...74ee235006c54d13cd45174297cc744d6dTest.php | 514 -------------- ...8473b612a6545d7b588cc6caeb87b37a94Test.php | 579 ---------------- ...3fde3be16ccd45ce773b914f3511e83a0fTest.php | 515 -------------- ...b851b259168a5fdcd6c0cd77179502e4fcTest.php | 514 -------------- ...e5652662a750c1e669a2182631b0e2c888Test.php | 508 -------------- ...312208e3cbfced5ac1ccb2499fed0474d1Test.php | 514 -------------- ...fe45f7c73cef77ff7681c094edf2bb4fd7Test.php | 508 -------------- ...ac535c9ce44915c26661b5408a471a8032Test.php | 512 -------------- ...334164ea726607f07b78181c0540f8242dTest.php | 507 -------------- ...e67196e7ea340ef58e31363364bef1152cTest.php | 509 -------------- ...20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php | 514 -------------- ...9678676f113fb6738d27e3ca26d1638980Test.php | 514 -------------- ...f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php | 513 -------------- ...fc624fbbd117192a32b50ce0767d7b6f14Test.php | 546 --------------- ...0cad3c2a4cd957b6fac3d79c36817673a4Test.php | 514 -------------- ...8c9e75d277db7df14f74182ac709558dbeTest.php | 514 -------------- ...227755a623c6aec50679991a8df37d30b9Test.php | 510 -------------- ...de1bdfffcbad2ecc40734ad381cd8db73eTest.php | 508 -------------- ...5533f41c49f9a4f727707443e712468a3eTest.php | 514 -------------- ...c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php | 514 -------------- ...02171200598941955144e383410aab7c79Test.php | 514 -------------- ...8445b54d9e35c221fddb5bdd569a0e3f7dTest.php | 509 -------------- ...a9d4ee1c55d7249abf23dcea640c07f5cdTest.php | 514 -------------- ...f1c370b065f4e2511aede2ed34f95f536aTest.php | 514 -------------- ...4c5cffe75f816ee17714a01daeb063ea22Test.php | 512 -------------- ...6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php | 514 -------------- ...8b10789ca83658d0e1d48c4faea7313d81Test.php | 514 -------------- ...a8e7590af729274fba91b003694885ec14Test.php | 512 -------------- ...b9a676e8986525e30a3d8ae4730fed3a54Test.php | 514 -------------- ...6dfe42ae823580ac5c30ebc7cb985d701aTest.php | 514 -------------- ...58efff0d13e37a83bb77ae9071f01d0df5Test.php | 514 -------------- ...22fbb0aace926df5054602294f0bdeab2fTest.php | 508 -------------- ...9ffb638e2b69c311c38b3ca3d154ff5c40Test.php | 515 -------------- ...3c57787e7dcf078d7faece2ee3c66d0d33Test.php | 514 -------------- ...f26d75a081e929b946f34acb8bead59e58Test.php | 516 -------------- ...e390b787b448608637d9e5bbdeec31a65bTest.php | 514 -------------- ...871ac4067b533ac972902a166d57537a8cTest.php | 508 -------------- ...54ae01f9c548b3bccd799391c3adefdd27Test.php | 514 -------------- ...17fb5d1a46d786482d2357f05fb7bb341cTest.php | 514 -------------- ...96772e5b2acc8de38f3ce3d2fc85020c39Test.php | 515 -------------- ...53896c8d8f6f6cec7173e8678d6ff1ed4cTest.php | 508 -------------- ...e785d5a570938a3eb176bc7041a23c4856Test.php | 514 -------------- ...2cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php | 504 -------------- ...e7d3424eca29de0c16bb52ffd0c03bfaabTest.php | 514 -------------- ...8314676a6664c2b8829c7ffa9e4a5c8a99Test.php | 514 -------------- ...cce23c0b326c67d55c4dca043f94d12d7cTest.php | 515 -------------- ...cf8eabc9b97ec8c709d26ac8d70e443637Test.php | 514 -------------- ...a372b7dbe851cec8d002b70a6fd104f137Test.php | 444 ------------ ...aa54d24a882d231e4fe6b909d52a6c13ddTest.php | 512 -------------- ...b8fd6fbe993b569e522bc12889bc45bd45Test.php | 514 -------------- ...d82ed6d6f7fa5d6905a63fc1ea01418f19Test.php | 513 -------------- ...aee5f0da9489c96041d3a397272ffcd62dTest.php | 514 -------------- ...9aa67ed370bead121d9a6359f3d41728f5Test.php | 504 -------------- ...501ce30c4a71101f16ee68cebeabac3e10Test.php | 505 -------------- ...5dd7d6f468773b06624813d2b38b64cd6cTest.php | 514 -------------- ...4013e28ea5d9b7e08fa399737204cb3aecTest.php | 514 -------------- ...cecf3b6805dace828396eeff3739c0739cTest.php | 514 -------------- ...746a7431e09eda84ae3e9bbcd69405bc92Test.php | 514 -------------- ...0999c57a7f832e2d3206e4997773247102Test.php | 514 -------------- ...34eaa8b54c3b094cab6e091f351cb83622Test.php | 514 -------------- ...ec8b73a544550a6f2c9f252f42a247b968Test.php | 509 -------------- ...3b013132b7ef8915a91981e7be18f81f5aTest.php | 514 -------------- ...01e15ea8ad049a4c4a1116af7499dda0f5Test.php | 514 -------------- ...9e4e7e8ea229213749e675d4c2d9ba99b2Test.php | 514 -------------- ...5fd8a61e03ed26397352f5250d69a6f675Test.php | 509 -------------- ...7650395fe80861cd44b38b7ee3c29b1bc7Test.php | 514 -------------- ...e75a636813ab9adfe68d6392d54a91beecTest.php | 514 -------------- ...703936c1ad094242840e0671f1f99a9c06Test.php | 514 -------------- ...f8271fc5503b3c1ea0902e3969a82f851dTest.php | 514 -------------- ...5ec1790869681ae9438fead5482f7bf551Test.php | 514 -------------- ...2e76afa6c5e8e14f9219d9e346ce057ebdTest.php | 506 -------------- ...95c9f3ce50815f9e2946f842dcbe34191aTest.php | 509 -------------- ...085cde9c42f2e8201348110b42b3c10c98Test.php | 514 -------------- ...1b191788617b54ca1863929220433870ecTest.php | 509 -------------- ...c9096238b4a34e6fb7d25d8cd915949357Test.php | 513 -------------- ...184e86e65259c0385ab6e0d2077ca92c29Test.php | 514 -------------- ...468f204b815621d0a8287573c466b628dcTest.php | 512 -------------- ...c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php | 514 -------------- ...3ab7733713a3a73e9e9680b2b1e9f12223Test.php | 514 -------------- ...c3eba5f2d948f9c4ad63f39d9bb2816496Test.php | 508 -------------- ...00928993c43856bcd34474d2c360f5b33eTest.php | 514 -------------- ...f07af5f0502af2b6486e25ad3bc7ca9131Test.php | 514 -------------- ...2eb8e2d0298069ae8eb384fbb5edd9e3afTest.php | 509 -------------- ...d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php | 514 -------------- ...d94781e0e98a22290190a67843c3b75f90Test.php | 514 -------------- ...c53896b56f2d21a653099ac14c3d4b41f6Test.php | 514 -------------- ...9ec9b4ff97f27a598327d6b656d3cb58beTest.php | 512 -------------- ...f57e357fd82ddbd04e10984667861da8faTest.php | 513 -------------- ...e9a388781d39309b3d04793d436c22211aTest.php | 512 -------------- ...9afe0ce79d4afb08e260ed5e49169d4bc1Test.php | 514 -------------- ...0fe89bf292eed0d3c22bff9e458093678eTest.php | 514 -------------- ...d17f86a31dae055bad15fab1137aea2664Test.php | 514 -------------- ...b84f5f9d192f860deeb4db22c425cef1a3Test.php | 514 -------------- ...dfe1c5f821473612566dc786b5de915ce2Test.php | 506 -------------- ...fc116cf09d223734c0c28dc82ca22d18ceTest.php | 514 -------------- ...3f8af09e2564edea4eaef7fd0c8d599d21Test.php | 514 -------------- ...225a4901d91dc9cd9905e102b68b294e61Test.php | 514 -------------- ...c0eb50f0c870ae1462f8bd3005cfd3475fTest.php | 516 -------------- ...d8396893d1fa7434c874142d9079f5f8d7Test.php | 514 -------------- ...eabf2a316f11607fc4ba06ff70cb101a46Test.php | 514 -------------- ...7567ef4c51e3caa8aeabe7de927fecea42Test.php | 516 -------------- ...9760a2ca53cfcf4dee76fcc3239277bd6eTest.php | 514 -------------- ...e5b343c0d08fdc7ffa7518c75421343e54Test.php | 514 -------------- ...d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php | 514 -------------- ...cd9ab0afc07a1256076160010b1c66477bTest.php | 512 -------------- ...eef6f9f5028a7813b19ba06ec9302ee004Test.php | 514 -------------- ...8647e3d24e9aeacc55d3cb423ab6b78022Test.php | 514 -------------- ...7ccf25432ef9492d669c234f0bd5f87a5aTest.php | 515 -------------- ...e01b36f0d8691a27efd1d9927c1a37c79bTest.php | 514 -------------- ...77b30a317e966d13b4b1f8a219129b4a2eTest.php | 514 -------------- ...dba314447616144d81d842b71af97a36d3Test.php | 514 -------------- ...66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php | 514 -------------- ...3ad7ba05ad9955af9124a22a06ba6cd381Test.php | 514 -------------- ...3642cf7556941185e90f7b914807e5f3ceTest.php | 516 -------------- ...58b0d31b3811adda62a0aa71b879a88125Test.php | 514 -------------- ...37ee38b8756c5a342f330822d1909d88a2Test.php | 514 -------------- ...3469c7a246e477d81095683bd13c971642Test.php | 514 -------------- ...cac49627ea7d374f01d70c0cbbd776ab9aTest.php | 514 -------------- ...872ae7a7b7f40e72437068175784f00bc5Test.php | 514 -------------- .../Target/TypeHintReplacer0Test.php | 61 -- .../Target/TypeHintReplacer10Test.php | 117 ---- .../Target/TypeHintReplacer11Test.php | 117 ---- .../Target/TypeHintReplacer12Test.php | 117 ---- .../Target/TypeHintReplacer13Test.php | 117 ---- .../Target/TypeHintReplacer14Test.php | 117 ---- .../Target/TypeHintReplacer15Test.php | 117 ---- .../Target/TypeHintReplacer16Test.php | 117 ---- .../Target/TypeHintReplacer17Test.php | 117 ---- .../Target/TypeHintReplacer18Test.php | 117 ---- .../Target/TypeHintReplacer19Test.php | 117 ---- .../Target/TypeHintReplacer1Test.php | 117 ---- .../Target/TypeHintReplacer20Test.php | 117 ---- .../Target/TypeHintReplacer21Test.php | 117 ---- .../Target/TypeHintReplacer22Test.php | 117 ---- .../Target/TypeHintReplacer23Test.php | 117 ---- .../Target/TypeHintReplacer24Test.php | 117 ---- .../Target/TypeHintReplacer25Test.php | 117 ---- .../Target/TypeHintReplacer26Test.php | 117 ---- .../Target/TypeHintReplacer27Test.php | 117 ---- .../Target/TypeHintReplacer28Test.php | 117 ---- .../Target/TypeHintReplacer29Test.php | 117 ---- .../Target/TypeHintReplacer2Test.php | 117 ---- .../Target/TypeHintReplacer30Test.php | 97 --- .../Target/TypeHintReplacer31Test.php | 97 --- .../Target/TypeHintReplacer32Test.php | 97 --- .../Target/TypeHintReplacer33Test.php | 97 --- .../Target/TypeHintReplacer34Test.php | 117 ---- .../Target/TypeHintReplacer35Test.php | 117 ---- .../Target/TypeHintReplacer36Test.php | 117 ---- .../Target/TypeHintReplacer37Test.php | 117 ---- .../Target/TypeHintReplacer38Test.php | 117 ---- .../Target/TypeHintReplacer3Test.php | 117 ---- .../Target/TypeHintReplacer4Test.php | 117 ---- .../Target/TypeHintReplacer5Test.php | 117 ---- .../Target/TypeHintReplacer6Test.php | 117 ---- .../Target/TypeHintReplacer7Test.php | 113 --- .../Target/TypeHintReplacer8Test.php | 117 ---- .../Target/TypeHintReplacer9Test.php | 117 ---- tools/ci/coverageMerge.php | 10 +- tools/ci/matrix.php | 26 +- tools/ci/prepareDeps.php | 18 +- tools/convertPhabel.php | 83 +-- tools/dump.php | 9 +- tools/exprGen.php | 158 ++--- tools/testExprGen.php | 68 +- tools/testGen.php | 33 +- tools/typeHintGen.php | 204 ++---- vendor-bin/check/composer.json | 5 +- 312 files changed, 628 insertions(+), 73960 deletions(-) delete mode 100644 tests/Target/GeneratorTypeHintReplacerTest.php delete mode 100644 tests/Target/IssetExpressionFixerTest.php delete mode 100644 tests/Target/NestedExpressionFixerTest.php delete mode 100644 tests/Target/Php70/AnonymousClassReplacerTest.php delete mode 100644 tests/Target/Php70/ClosureCallReplacerTest.php delete mode 100644 tests/Target/Php70/DefineArrayReplacerTest.php delete mode 100644 tests/Target/Php70/GroupUseReplacerTest.php delete mode 100644 tests/Target/Php70/NullCoalesceReplacerTest.php delete mode 100644 tests/Target/Php70/ReservedNameReplacerTest.php delete mode 100644 tests/Target/Php70/SpaceshipOperatorReplacerTest.php delete mode 100644 tests/Target/Php70/StrictTypesDeclareStatementRemoverTest.php delete mode 100644 tests/Target/Php70/ThrowableReplacerTest.php delete mode 100644 tests/Target/Php71/ArrayListTest.php delete mode 100644 tests/Target/Php71/ClassConstantVisibilityModifiersRemoverTest.php delete mode 100644 tests/Target/Php71/ClosureFromCallableTest.php delete mode 100644 tests/Target/Php71/ListExpressionTest.php delete mode 100644 tests/Target/Php71/ListKeyTest.php delete mode 100644 tests/Target/Php71/MultipleCatchReplacerTest.php delete mode 100644 tests/Target/Php72/Contravariance/Abstr.php delete mode 100644 tests/Target/Php72/Contravariance/Abstr2.php delete mode 100644 tests/Target/Php72/Contravariance/Cls.php delete mode 100644 tests/Target/Php72/Contravariance/IFace.php delete mode 100644 tests/Target/Php72/Contravariance/IFace2.php delete mode 100644 tests/Target/Php72/Contravariance/OtherAbstr.php delete mode 100644 tests/Target/Php72/Contravariance/OtherCls1.php delete mode 100644 tests/Target/Php72/Contravariance/OtherCls2.php delete mode 100644 tests/Target/Php72/Contravariance/OtherCls3.php delete mode 100644 tests/Target/Php72/Contravariance/OtherClsNative.php delete mode 100644 tests/Target/Php72/Contravariance/Trait1.php delete mode 100644 tests/Target/Php72/Contravariance/Trait2.php delete mode 100644 tests/Target/Php72/ContravarianceTest.php delete mode 100644 tests/Target/Php73/ListReferenceTest.php delete mode 100644 tests/Target/Php74/ArrayUnpackTest.php delete mode 100644 tests/Target/Php74/ArrowClosureTest.php delete mode 100644 tests/Target/Php74/CoContraVariance/Animal.php delete mode 100644 tests/Target/Php74/CoContraVariance/AnimalFood.php delete mode 100644 tests/Target/Php74/CoContraVariance/AnimalShelterInterface.php delete mode 100644 tests/Target/Php74/CoContraVariance/Cat.php delete mode 100644 tests/Target/Php74/CoContraVariance/CatShelter.php delete mode 100644 tests/Target/Php74/CoContraVariance/Dog.php delete mode 100644 tests/Target/Php74/CoContraVariance/DogShelter.php delete mode 100644 tests/Target/Php74/CoContraVariance/Food.php delete mode 100644 tests/Target/Php74/CoContraVarianceTest.php delete mode 100644 tests/Target/Php74/NullCoalesceAssignmentTest.php delete mode 100644 tests/Target/Php74/TypedPropertyTest.php delete mode 100644 tests/Target/Php80/MatchTransformerTest.php delete mode 100644 tests/Target/Php80/NullSafeTransformerTest.php delete mode 100644 tests/Target/StringConcatOptimizerTest.php delete mode 100644 tests/Target/TypeHintTest.php delete mode 100644 testsGenerated/Target/Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test.php delete mode 100644 testsGenerated/Target/Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest.php delete mode 100644 testsGenerated/Target/Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test.php delete mode 100644 testsGenerated/Target/Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test.php delete mode 100644 testsGenerated/Target/Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest.php delete mode 100644 testsGenerated/Target/Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest.php delete mode 100644 testsGenerated/Target/Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test.php delete mode 100644 testsGenerated/Target/Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest.php delete mode 100644 testsGenerated/Target/Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test.php delete mode 100644 testsGenerated/Target/Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest.php delete mode 100644 testsGenerated/Target/Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest.php delete mode 100644 testsGenerated/Target/Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test.php delete mode 100644 testsGenerated/Target/Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test.php delete mode 100644 testsGenerated/Target/Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test.php delete mode 100644 testsGenerated/Target/Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test.php delete mode 100644 testsGenerated/Target/Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest.php delete mode 100644 testsGenerated/Target/Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest.php delete mode 100644 testsGenerated/Target/Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php delete mode 100644 testsGenerated/Target/Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test.php delete mode 100644 testsGenerated/Target/Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php delete mode 100644 testsGenerated/Target/Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test.php delete mode 100644 testsGenerated/Target/Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test.php delete mode 100644 testsGenerated/Target/Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest.php delete mode 100644 testsGenerated/Target/Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test.php delete mode 100644 testsGenerated/Target/Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest.php delete mode 100644 testsGenerated/Target/Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest.php delete mode 100644 testsGenerated/Target/Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php delete mode 100644 testsGenerated/Target/Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test.php delete mode 100644 testsGenerated/Target/Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest.php delete mode 100644 testsGenerated/Target/Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest.php delete mode 100644 testsGenerated/Target/Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest.php delete mode 100644 testsGenerated/Target/Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test.php delete mode 100644 testsGenerated/Target/Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php delete mode 100644 testsGenerated/Target/Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test.php delete mode 100644 testsGenerated/Target/Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test.php delete mode 100644 testsGenerated/Target/Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test.php delete mode 100644 testsGenerated/Target/Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest.php delete mode 100644 testsGenerated/Target/Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test.php delete mode 100644 testsGenerated/Target/Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest.php delete mode 100644 testsGenerated/Target/Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test.php delete mode 100644 testsGenerated/Target/Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test.php delete mode 100644 testsGenerated/Target/Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test.php delete mode 100644 testsGenerated/Target/Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest.php delete mode 100644 testsGenerated/Target/Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest.php delete mode 100644 testsGenerated/Target/Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test.php delete mode 100644 testsGenerated/Target/Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest.php delete mode 100644 testsGenerated/Target/Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test.php delete mode 100644 testsGenerated/Target/Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest.php delete mode 100644 testsGenerated/Target/Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test.php delete mode 100644 testsGenerated/Target/Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php delete mode 100644 testsGenerated/Target/Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest.php delete mode 100644 testsGenerated/Target/Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test.php delete mode 100644 testsGenerated/Target/Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest.php delete mode 100644 testsGenerated/Target/Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test.php delete mode 100644 testsGenerated/Target/Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test.php delete mode 100644 testsGenerated/Target/Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest.php delete mode 100644 testsGenerated/Target/Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test.php delete mode 100644 testsGenerated/Target/Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test.php delete mode 100644 testsGenerated/Target/Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest.php delete mode 100644 testsGenerated/Target/Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test.php delete mode 100644 testsGenerated/Target/Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test.php delete mode 100644 testsGenerated/Target/Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest.php delete mode 100644 testsGenerated/Target/Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest.php delete mode 100644 testsGenerated/Target/Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest.php delete mode 100644 testsGenerated/Target/Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test.php delete mode 100644 testsGenerated/Target/Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test.php delete mode 100644 testsGenerated/Target/Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test.php delete mode 100644 testsGenerated/Target/Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test.php delete mode 100644 testsGenerated/Target/Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest.php delete mode 100644 testsGenerated/Target/Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test.php delete mode 100644 testsGenerated/Target/Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test.php delete mode 100644 testsGenerated/Target/Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test.php delete mode 100644 testsGenerated/Target/Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test.php delete mode 100644 testsGenerated/Target/Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest.php delete mode 100644 testsGenerated/Target/Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test.php delete mode 100644 testsGenerated/Target/Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest.php delete mode 100644 testsGenerated/Target/Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test.php delete mode 100644 testsGenerated/Target/Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest.php delete mode 100644 testsGenerated/Target/Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest.php delete mode 100644 testsGenerated/Target/Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test.php delete mode 100644 testsGenerated/Target/Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest.php delete mode 100644 testsGenerated/Target/Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test.php delete mode 100644 testsGenerated/Target/Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test.php delete mode 100644 testsGenerated/Target/Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest.php delete mode 100644 testsGenerated/Target/Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php delete mode 100644 testsGenerated/Target/Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test.php delete mode 100644 testsGenerated/Target/Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test.php delete mode 100644 testsGenerated/Target/Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest.php delete mode 100644 testsGenerated/Target/Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test.php delete mode 100644 testsGenerated/Target/Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest.php delete mode 100644 testsGenerated/Target/Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php delete mode 100644 testsGenerated/Target/Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test.php delete mode 100644 testsGenerated/Target/Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test.php delete mode 100644 testsGenerated/Target/Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest.php delete mode 100644 testsGenerated/Target/Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest.php delete mode 100644 testsGenerated/Target/Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest.php delete mode 100644 testsGenerated/Target/Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test.php delete mode 100644 testsGenerated/Target/Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest.php delete mode 100644 testsGenerated/Target/Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test.php delete mode 100644 testsGenerated/Target/Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test.php delete mode 100644 testsGenerated/Target/Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test.php delete mode 100644 testsGenerated/Target/Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest.php delete mode 100644 testsGenerated/Target/Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test.php delete mode 100644 testsGenerated/Target/Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test.php delete mode 100644 testsGenerated/Target/Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest.php delete mode 100644 testsGenerated/Target/Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test.php delete mode 100644 testsGenerated/Target/Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test.php delete mode 100644 testsGenerated/Target/Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test.php delete mode 100644 testsGenerated/Target/Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest.php delete mode 100644 testsGenerated/Target/Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test.php delete mode 100644 testsGenerated/Target/Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php delete mode 100644 testsGenerated/Target/Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest.php delete mode 100644 testsGenerated/Target/Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test.php delete mode 100644 testsGenerated/Target/Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test.php delete mode 100644 testsGenerated/Target/Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest.php delete mode 100644 testsGenerated/Target/Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest.php delete mode 100644 testsGenerated/Target/Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest.php delete mode 100644 testsGenerated/Target/Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test.php delete mode 100644 testsGenerated/Target/Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php delete mode 100644 testsGenerated/Target/Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test.php delete mode 100644 testsGenerated/Target/Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest.php delete mode 100644 testsGenerated/Target/Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test.php delete mode 100644 testsGenerated/Target/Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test.php delete mode 100644 testsGenerated/Target/Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test.php delete mode 100644 testsGenerated/Target/Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest.php delete mode 100644 testsGenerated/Target/Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer0Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer10Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer11Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer12Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer13Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer14Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer15Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer16Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer17Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer18Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer19Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer1Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer20Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer21Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer22Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer23Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer24Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer25Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer26Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer27Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer28Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer29Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer2Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer30Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer31Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer32Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer33Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer34Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer35Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer36Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer37Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer38Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer3Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer4Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer5Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer6Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer7Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer8Test.php delete mode 100644 testsGenerated/Target/TypeHintReplacer9Test.php diff --git a/composer.json b/composer.json index 54a09143d..a9848d8c1 100644 --- a/composer.json +++ b/composer.json @@ -10,17 +10,18 @@ "symfony/process": "^5", "amphp/parallel": "^1.4", "psr/log": "^1.0", - "ext-json": "*" + "ext-json": "*", + "symfony/polyfill-php72": "^1.23", + "ralouphie/getallheaders": "^3|^2", + "symfony/polyfill-php70": "^1.19", + "symfony/polyfill-php71": "^1.19", + "symfony/polyfill-php73": "^1.23", + "symfony/polyfill-php74": "^1.23", + "symfony/polyfill-php80": "^1.23" }, "require-dev": { "composer/composer": "^1|^2", "haydenpierce/class-finder": "^0.4.2", - "symfony/polyfill-php80": "^1.23", - "symfony/polyfill-php70": "*", - "symfony/polyfill-php71": "*", - "symfony/polyfill-php72": "*", - "symfony/polyfill-php73": "*", - "symfony/polyfill-php74": "*", "bamarni/composer-bin-plugin": "^1.4" }, "provide": { diff --git a/scoper.inc.php b/scoper.inc.php index 8e1355bc0..49d5bebc1 100644 --- a/scoper.inc.php +++ b/scoper.inc.php @@ -1,43 +1,20 @@ 'Phabel', - // By default when running php-scoper add-prefix, it will prefix all relevant code found in the current working // directory. You can however define which files should be scoped by defining a collection of Finders in the // following configuration key. // // For more see: https://github.com/humbug/php-scoper#finders-and-paths - 'finders' => [ - Finder::create()->files()->in('src'), - Finder::create() - ->files() - ->ignoreVCS(true) - ->notName('/LICENSE|.*\\.md|.*\\.dist|Makefile|composer\\.json|composer\\.lock/') - ->exclude([ - 'doc', - 'test', - 'test_old', - 'tests', - 'Tests', - 'vendor-bin', - ]) - ->in('vendor'), - Finder::create()->append([ - 'composer.json', - ]), - ], - + 'finders' => [Finder::create()->files()->in('src'), Finder::create()->files()->ignoreVCS(true)->notName('/LICENSE|.*\\.md|.*\\.dist|Makefile|composer\\.json|composer\\.lock/')->exclude(['doc', 'test', 'test_old', 'tests', 'Tests', 'vendor-bin'])->in('vendor'), Finder::create()->append(['composer.json'])], // Whitelists a list of files. Unlike the other whitelist related features, this one is about completely leaving // a file untouched. // Paths are relative to the configuration file unless if they are already absolute 'files-whitelist' => [], - // When scoping PHP files, there will be scenarios where some of the code being scoped indirectly references the // original namespace. These will include, for example, strings or string manipulations. PHP-Scoper has limited // support for prefixing such strings. To circumvent that, you can define patchers to manipulate the file to your @@ -45,7 +22,6 @@ // // For more see: https://github.com/humbug/php-scoper#patchers 'patchers' => [], - // PHP-Scoper's goal is to make sure that all code for a project lies in a distinct PHP namespace. However, you // may want to share a common API between the bundled code of your PHAR and the consumer code. For example if // you have a PHPUnit PHAR with isolated code, you still want the PHAR to be able to understand the @@ -55,23 +31,17 @@ // that this does not work with functions or constants neither with classes belonging to the global namespace. // // Fore more see https://github.com/humbug/php-scoper#whitelist - 'whitelist' => [ - 'Phabel\*', - 'Composer\*', - ], - + 'whitelist' => ['Phabel\\*', 'Composer\\*'], // If `true` then the user defined constants belonging to the global namespace will not be prefixed. // // For more see https://github.com/humbug/php-scoper#constants--constants--functions-from-the-global-namespace 'whitelist-global-constants' => true, - // If `true` then the user defined classes belonging to the global namespace will not be prefixed. // // For more see https://github.com/humbug/php-scoper#constants--constants--functions-from-the-global-namespace 'whitelist-global-classes' => true, - // If `true` then the user defined functions belonging to the global namespace will not be prefixed. // // For more see https://github.com/humbug/php-scoper#constants--constants--functions-from-the-global-namespace 'whitelist-global-functions' => true, -]; +]; \ No newline at end of file diff --git a/src/ClassStorage.php b/src/ClassStorage.php index 1475cbd7d..17e18171c 100644 --- a/src/ClassStorage.php +++ b/src/ClassStorage.php @@ -13,7 +13,6 @@ final class ClassStorage { const FILE_KEY = 'ClassStorage:file'; - /** * Classes. * @@ -26,14 +25,12 @@ final class ClassStorage * @var array> */ private array $traits = []; - /** * Files to process. * * @var array */ private array $files = []; - /** * Constructor. */ @@ -49,7 +46,6 @@ public function __construct(ClassStoragePlugin $plugin) $class->resolve($plugin); } } - foreach ($plugin->traits as $name => $fileTraits) { foreach ($fileTraits as $file => $trait) { $trait = $trait->build(); @@ -65,7 +61,6 @@ public function __construct(ClassStoragePlugin $plugin) } } } - /** * Get all files to process. * @@ -75,7 +70,6 @@ public function getFiles(): array { return $this->files; } - /** * Get class. * @@ -99,7 +93,6 @@ public function getClassByName(string $class): ?Storage { return \array_values($this->classes[$class] ?? [])[0] ?? null; } - /** * Get storage. * @@ -109,11 +102,10 @@ public function getClasses(): \Generator { foreach ($this->classes as $class => $classes) { foreach ($classes as $_ => $storage) { - yield $class => $storage; + (yield $class => $storage); } } } - private static function typeArray(null|Identifier|Name|NullableType|UnionType $type): array { $types = []; @@ -146,10 +138,7 @@ public function compare(null|Identifier|Name|NullableType|UnionType $typeA, null if (\count($typeA) + \count($typeB) === 2) { $typeA = $typeA[0]; $typeB = $typeB[0]; - if ($typeA instanceof Name && $typeB instanceof Name - && ($classA = $typeA->parts === ['self'] ? $ctxA : $this->getClassByName(Tools::getFqdn($typeA))) - && ($classB = $typeA->parts === ['self'] ? $ctxB : $this->getClassByName(Tools::getFqdn($typeB))) - ) { + if ($typeA instanceof Name && $typeB instanceof Name && ($classA = $typeA->parts === ['self'] ? $ctxA : $this->getClassByName(Tools::getFqdn($typeA))) && ($classB = $typeA->parts === ['self'] ? $ctxB : $this->getClassByName(Tools::getFqdn($typeB)))) { foreach ($classA->getAllChildren() as $child) { if ($child === $classB) { return 1; diff --git a/src/ClassStorage/Builder.php b/src/ClassStorage/Builder.php index 4d9edd845..6b5fc5720 100644 --- a/src/ClassStorage/Builder.php +++ b/src/ClassStorage/Builder.php @@ -34,7 +34,6 @@ class Builder * @psalm-var array */ private array $abstractMethods = []; - /** * Extended classes/interfaces. * @@ -47,7 +46,6 @@ class Builder * @var array */ private array $use = []; - /** * Use aliases. * @@ -56,7 +54,6 @@ class Builder * @var array> */ private array $useAlias = []; - /** * Whether we're resolving. */ @@ -65,17 +62,14 @@ class Builder * Whether we resolved. */ private bool $resolved = false; - /** * Storage. */ private ?Storage $storage = null; - /** * Class name. */ private string $name; - /** * Constructor. * @@ -85,11 +79,7 @@ public function __construct(ClassLike $class, string $customName = '') { $this->name = Tools::getFqdn($class, $customName); if ($class instanceof Interface_ || $class instanceof StmtClass_) { - foreach ( - \is_array($class->extends) - ? $class->extends - : ($class->extends ? [$class->extends] : []) - as $name) { + foreach (\is_array($class->extends) ? $class->extends : ($class->extends ? [$class->extends] : []) as $name) { $this->extended[Tools::getFqdn($name)] = true; } foreach ($class->implements ?? [] as $name) { @@ -108,17 +98,11 @@ public function __construct(ClassLike $class, string $customName = '') $trait = Tools::getFqdn($adapt->trait); $method = Tools::getFqdn($adapt->method); if ($adapt instanceof Alias) { - $this->useAlias[$trait][$method] = [ - $trait, - Tools::getFqdn($adapt->newName) - ]; + $this->useAlias[$trait][$method] = [$trait, Tools::getFqdn($adapt->newName)]; } elseif ($adapt instanceof Precedence) { foreach ($adapt->insteadof as $name) { $insteadOf = Tools::getFqdn($name); - $this->useAlias[$insteadOf][$method] = [ - $trait, - $method - ]; + $this->useAlias[$insteadOf][$method] = [$trait, $method]; } } } @@ -139,7 +123,6 @@ private function addMethod(ClassMethod $method) $this->methods[$method->name->name] = $method; } } - /** * Resolve class tree. */ @@ -151,7 +134,7 @@ public function resolve(ClassStoragePlugin $plugin): self if ($this->resolving) { $plugins = [$this->name]; foreach (\debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, DEBUG_BACKTRACE_PROVIDE_OBJECT) as $frame) { - $plugins []= $frame['object']->name; + $plugins[] = $frame['object']->name; if ($frame['object'] === $this) { break; } @@ -194,10 +177,8 @@ public function resolve(ClassStoragePlugin $plugin): self } $this->resolving = false; $this->resolved = true; - return $this; } - /** * Build storage. * @@ -209,24 +190,16 @@ public function build(): Storage throw new Exception("Trying to build an unresolved class!"); } if (!isset($this->storage)) { - $this->storage = new Storage; + $this->storage = new Storage(); $this->storage->build($this->name, $this->methods, $this->abstractMethods, $this->extended); } return $this->storage; } - /** * Debug info. */ public function __debugInfo(): array { - return [ - 'name' => $this->name, - 'methods' => \array_keys($this->methods), - 'abstractMethods' => \array_keys($this->abstractMethods), - 'extended' => $this->extended, - 'useAlias' => $this->useAlias, - 'use' => $this->use, - ]; + return ['name' => $this->name, 'methods' => \array_keys($this->methods), 'abstractMethods' => \array_keys($this->abstractMethods), 'extended' => $this->extended, 'useAlias' => $this->useAlias, 'use' => $this->use]; } } diff --git a/src/ClassStorage/Storage.php b/src/ClassStorage/Storage.php index cffe28ea4..526d81bd8 100644 --- a/src/ClassStorage/Storage.php +++ b/src/ClassStorage/Storage.php @@ -24,33 +24,28 @@ class Storage * @psalm-var array */ private array $abstractMethods = []; - /** * Removed method list. * * @var array */ private array $removedMethods = []; - /** * Classes/interfaces to extend. * * @var array */ private array $extends = []; - /** * Classes/interfaces that extend us. * * @var array */ private array $extendedBy = []; - /** * Class name. */ private string $name; - /** * Constructor. * @@ -64,7 +59,6 @@ public function build(string $name, array $methods, array $abstractMethods, arra $this->name = $name; $this->methods = $methods; $this->abstractMethods = $abstractMethods; - foreach ($methods as $method) { if ($method->getAttribute(Builder::STORAGE_KEY)) { $method->setAttribute(self::STORAGE_KEY, $method->getAttribute(Builder::STORAGE_KEY)->build()); @@ -78,7 +72,6 @@ public function build(string $name, array $methods, array $abstractMethods, arra $method->setAttribute(Builder::STORAGE_KEY, null); } } - foreach ($extends as $name => $class) { $this->extends[$name] = $class->build(); } @@ -86,7 +79,6 @@ public function build(string $name, array $methods, array $abstractMethods, arra $class->extendedBy[$this->name] = $this; } } - /** * Get name. * @@ -96,7 +88,6 @@ public function getName(): string { return $this->name; } - /** * Get method list. * @@ -109,20 +100,19 @@ public function getMethods(int $typeMask = ~Class_::VISIBILITY_MODIFIER_MASK, in { if ($typeMask & Class_::MODIFIER_ABSTRACT) { foreach ($this->abstractMethods as $name => $method) { - if (($method->flags|Class_::MODIFIER_ABSTRACT) & $typeMask && $method->flags & $visibilityMask) { - yield $name => $method; + if (($method->flags | Class_::MODIFIER_ABSTRACT) & $typeMask && $method->flags & $visibilityMask) { + (yield $name => $method); } } } if ($typeMask & self::MODIFIER_NORMAL) { foreach ($this->methods as $name => $method) { if ($method->flags & $typeMask && $method->flags & $visibilityMask) { - yield $name => $method; + (yield $name => $method); } } } } - /** * Get classes which extend this class. * @@ -132,7 +122,6 @@ public function getExtendedBy(): array { return $this->extendedBy; } - /** * Get classes which this class extends. * @@ -142,7 +131,6 @@ public function getExtends(): array { return $this->extends; } - /** * Get all child classes. * @@ -151,11 +139,10 @@ public function getExtends(): array public function getAllChildren(): \Generator { foreach ($this->extendedBy as $class) { - yield $class; + (yield $class); yield from $class->getAllChildren(); } } - /** * Get all parent classes. * @@ -164,11 +151,10 @@ public function getAllChildren(): \Generator public function getAllParents(): \Generator { foreach ($this->extends as $class) { - yield $class; + (yield $class); yield from $class->getAllParents(); } } - /** * Get all methods which override the specified method in child classes. * @@ -185,19 +171,18 @@ public function getOverriddenMethods(string $name, int $typeMask = ~Class_::VISI $method = $child->abstractMethods[$name]; $flags = $method->flags | Class_::MODIFIER_ABSTRACT; if ($flags & $typeMask && $flags & $visibilityMask) { - yield $method; + (yield $method); } } if (isset($child->methods[$name])) { $method = $child->methods[$name]; $flags = $method->flags; if ($flags & $typeMask && $flags & $visibilityMask) { - yield $method; + (yield $method); } } } } - /** * Remove method. * @@ -219,10 +204,8 @@ public function removeMethod(ClassMethod $method): bool unset($this->abstractMethods[$name]); return true; } - return false; } - /** * Process method from AST. * diff --git a/src/ClassStorageProvider.php b/src/ClassStorageProvider.php index 7b40a6c62..bb9e51d6a 100644 --- a/src/ClassStorageProvider.php +++ b/src/ClassStorageProvider.php @@ -15,7 +15,6 @@ abstract class ClassStorageProvider extends Plugin implements JsonSerializable * Class count. */ private array $count = []; - /** * Process class graph. * @@ -45,14 +44,13 @@ public function enterClassStorage(ClassLike $class, Context $context): void return; } $class->setAttribute(self::PROCESSED, true); - $file = $context->getFile(); if ($class->name) { $name = self::getFqdn($class); } else { - $name = "class@anonymous$file"; + $name = "class@anonymous{$file}"; $this->count[$file][$name] ??= 0; - $name .= "@".$this->count[$file][$name]++; + $name .= "@" . $this->count[$file][$name]++; } $storage = $this->getGlobalClassStorage()->getClass($file, $name); foreach ($class->stmts as $k => $stmt) { diff --git a/src/Cli/EventHandler.php b/src/Cli/EventHandler.php index 0f7d70b95..ac924800a 100644 --- a/src/Cli/EventHandler.php +++ b/src/Cli/EventHandler.php @@ -28,12 +28,8 @@ class EventHandler extends PhabelEventHandler public static function create(): self { $output = new ConsoleOutput(); - return new EventHandler( - new SimpleConsoleLogger($output), - fn (int $max): ProgressBar => new ProgressBar($output, $max, -1) - ); + return new EventHandler(new SimpleConsoleLogger($output), fn (int $max): ProgressBar => (new ProgressBar($output, $max, -1))); } - public function __construct(private LoggerInterface $logger, ?callable $getProgressBar) { $this->outputFormatter = Formatter::getFormatter(); @@ -47,7 +43,6 @@ public function onEndPluginGraphResolution(): void { $this->logger->debug($this->outputFormatter->format("Finished plugin graph resolution!")); } - private function startProgressBar(string $message, int $total, int $workers = 1): void { if ($this->getProgressBar) { @@ -56,23 +51,22 @@ private function startProgressBar(string $message, int $total, int $workers = 1) } if ($this->progress) { if ($workers > 1) { - $message .= " ($workers threads)"; + $message .= " ({$workers} threads)"; } $this->progress->setMessage($message); $this->progress->clear(); $this->progress->start(); } else { - $this->logger->debug($this->outputFormatter->format("$message")); + $this->logger->debug($this->outputFormatter->format("{$message}")); } } - public function onBeginDirectoryTraversal(int $total, int $workers): void { if (!$this->count) { $message = 'Transpilation in progress...'; } else { $secondary = $this->count === 1 ? 'covariance and contravariance' : 'further covariance and contravariance'; - $message = "Applying $secondary transforms..."; + $message = "Applying {$secondary} transforms..."; } $this->count++; $this->startProgressBar($message, $total, $workers); @@ -81,10 +75,10 @@ public function onEndAstTraversal(string $file, int|\Throwable $iterationsOrErro { $this->progress?->advance(); if ($iterationsOrError instanceof Throwable) { - $this->logger->error($this->outputFormatter->format(PHP_EOL."{$iterationsOrError->getMessage()}!")); - $this->logger->debug($this->outputFormatter->format("$iterationsOrError")); + $this->logger->error($this->outputFormatter->format(PHP_EOL . "{$iterationsOrError->getMessage()}!")); + $this->logger->debug($this->outputFormatter->format("{$iterationsOrError}")); } else { - $this->logger->debug($this->outputFormatter->format("Transpiled $file in $iterationsOrError iterations!")); + $this->logger->debug($this->outputFormatter->format("Transpiled {$file} in {$iterationsOrError} iterations!")); } } public function onEndDirectoryTraversal(): void @@ -92,7 +86,6 @@ public function onEndDirectoryTraversal(): void $this->progress?->finish(); $this->logger->warning(""); } - public function onBeginClassGraphMerge(int $count): void { $this->startProgressBar("Merging class graphs...", $count); @@ -106,7 +99,6 @@ public function onEndClassGraphMerge(): void { $this->progress?->finish(); } - public function onEnd(): void { $this->progress?->clear(); diff --git a/src/Cli/Formatter.php b/src/Cli/Formatter.php index f88147820..a62b57088 100644 --- a/src/Cli/Formatter.php +++ b/src/Cli/Formatter.php @@ -7,21 +7,12 @@ class Formatter { - public const BANNER = "********* - Phabel -********* - -PHP transpiler - Write and deploy modern PHP 8 code, today: https://phabel.io"; - + public const BANNER = "*********\n Phabel \n*********\n\nPHP transpiler - Write and deploy modern PHP 8 code, today: https://phabel.io"; private static ?OutputFormatter $instance = null; public static function getFormatter(): OutputFormatter { if (!self::$instance) { - self::$instance = new OutputFormatter(true, [ - 'bold' => new OutputFormatterStyle('white', 'default', ['bold']), - 'phabel' => new OutputFormatterStyle('blue', 'default', ['bold']), - 'error' => new OutputFormatterStyle('red', 'default', ['bold']) - ]); + self::$instance = new OutputFormatter(true, ['bold' => new OutputFormatterStyle('white', 'default', ['bold']), 'phabel' => new OutputFormatterStyle('blue', 'default', ['bold']), 'error' => new OutputFormatterStyle('red', 'default', ['bold'])]); } return self::$instance; } diff --git a/src/Cli/SimpleConsoleLogger.php b/src/Cli/SimpleConsoleLogger.php index ae003007a..39c0a4435 100644 --- a/src/Cli/SimpleConsoleLogger.php +++ b/src/Cli/SimpleConsoleLogger.php @@ -28,37 +28,16 @@ class SimpleConsoleLogger extends AbstractLogger { public const INFO = 'info'; public const ERROR = 'error'; - private $output; - private $verbosityLevelMap = [ - LogLevel::EMERGENCY => OutputInterface::VERBOSITY_NORMAL, - LogLevel::ALERT => OutputInterface::VERBOSITY_NORMAL, - LogLevel::CRITICAL => OutputInterface::VERBOSITY_NORMAL, - LogLevel::ERROR => OutputInterface::VERBOSITY_NORMAL, - LogLevel::WARNING => OutputInterface::VERBOSITY_NORMAL, - LogLevel::NOTICE => OutputInterface::VERBOSITY_VERBOSE, - LogLevel::INFO => OutputInterface::VERBOSITY_VERY_VERBOSE, - LogLevel::DEBUG => OutputInterface::VERBOSITY_DEBUG, - ]; - private $formatLevelMap = [ - LogLevel::EMERGENCY => self::ERROR, - LogLevel::ALERT => self::ERROR, - LogLevel::CRITICAL => self::ERROR, - LogLevel::ERROR => self::ERROR, - LogLevel::WARNING => self::INFO, - LogLevel::NOTICE => self::INFO, - LogLevel::INFO => self::INFO, - LogLevel::DEBUG => self::INFO, - ]; + private $verbosityLevelMap = [LogLevel::EMERGENCY => OutputInterface::VERBOSITY_NORMAL, LogLevel::ALERT => OutputInterface::VERBOSITY_NORMAL, LogLevel::CRITICAL => OutputInterface::VERBOSITY_NORMAL, LogLevel::ERROR => OutputInterface::VERBOSITY_NORMAL, LogLevel::WARNING => OutputInterface::VERBOSITY_NORMAL, LogLevel::NOTICE => OutputInterface::VERBOSITY_VERBOSE, LogLevel::INFO => OutputInterface::VERBOSITY_VERY_VERBOSE, LogLevel::DEBUG => OutputInterface::VERBOSITY_DEBUG]; + private $formatLevelMap = [LogLevel::EMERGENCY => self::ERROR, LogLevel::ALERT => self::ERROR, LogLevel::CRITICAL => self::ERROR, LogLevel::ERROR => self::ERROR, LogLevel::WARNING => self::INFO, LogLevel::NOTICE => self::INFO, LogLevel::INFO => self::INFO, LogLevel::DEBUG => self::INFO]; private $errored = false; - public function __construct(OutputInterface $output, array $verbosityLevelMap = [], array $formatLevelMap = []) { $this->output = $output; $this->verbosityLevelMap = $verbosityLevelMap + $this->verbosityLevelMap; $this->formatLevelMap = $formatLevelMap + $this->formatLevelMap; } - /** * {@inheritdoc} * @@ -69,9 +48,7 @@ public function log($level, $message, array $context = []) if (!isset($this->verbosityLevelMap[$level])) { throw new InvalidArgumentException(\sprintf('The log level "%s" does not exist.', $level)); } - $output = $this->output; - // Write to the error output if necessary and available if (self::ERROR === $this->formatLevelMap[$level]) { if ($this->output instanceof ConsoleOutputInterface) { @@ -79,14 +56,12 @@ public function log($level, $message, array $context = []) } $this->errored = true; } - // the if condition check isn't necessary -- it's the same one that $output will do internally anyway. // We only do it for efficiency here as the message formatting is relatively expensive. if ($output->getVerbosity() >= $this->verbosityLevelMap[$level]) { $output->writeln(\sprintf('<%1$s>%3$s', $this->formatLevelMap[$level], $level, $this->interpolate($message, $context)), $this->verbosityLevelMap[$level]); } } - /** * Returns true when any messages have been logged at error levels. * @@ -96,7 +71,6 @@ public function hasErrored() { return $this->errored; } - /** * Interpolates context values into the message placeholders. * @@ -107,20 +81,18 @@ private function interpolate(string $message, array $context): string if (!\str_contains($message, '{')) { return $message; } - $replacements = []; foreach ($context as $key => $val) { - if (null === $val || \is_scalar($val) || (\is_object($val) && \method_exists($val, '__toString'))) { + if (null === $val || \is_scalar($val) || \is_object($val) && \method_exists($val, '__toString')) { $replacements["{{$key}}"] = $val; } elseif ($val instanceof \DateTimeInterface) { $replacements["{{$key}}"] = $val->format(\DateTime::RFC3339); } elseif (\is_object($val)) { - $replacements["{{$key}}"] = '[object '.\get_class($val).']'; + $replacements["{{$key}}"] = '[object ' . \get_class($val) . ']'; } else { - $replacements["{{$key}}"] = '['.\gettype($val).']'; + $replacements["{{$key}}"] = '[' . \gettype($val) . ']'; } } - return \strtr($message, $replacements); } } diff --git a/src/Commands/Publish.php b/src/Commands/Publish.php index 277defaf6..f0e88dae0 100644 --- a/src/Commands/Publish.php +++ b/src/Commands/Publish.php @@ -17,7 +17,6 @@ class Publish extends Command { protected static $defaultName = 'publish'; - private function exec(array $command, bool $ignoreResult = false): string { $proc = new Process($command); @@ -27,12 +26,10 @@ private function exec(array $command, bool $ignoreResult = false): string } return $proc->getOutput(); } - private function getMessage(string $ref): string { return $this->exec(['git', 'log', '--format=%B', '-n', '1', $ref]); } - protected function configure(): void { $tags = new Process(['git', 'tag']); @@ -44,77 +41,51 @@ protected function configure(): void break; } } - - $this - ->setDescription('Transpile a release.') - ->setHelp('This command transpiles the specified (or the latest) git tag.') - - ->addOption("remote", 'r', InputOption::VALUE_OPTIONAL, 'Remote where to push tags', 'origin') - ->addArgument('source', $tag ? InputArgument::OPTIONAL : InputArgument::REQUIRED, 'Source tag name', $tag); + $this->setDescription('Transpile a release.')->setHelp('This command transpiles the specified (or the latest) git tag.')->addOption("remote", 'r', InputOption::VALUE_OPTIONAL, 'Remote where to push tags', 'origin')->addArgument('source', $tag ? InputArgument::OPTIONAL : InputArgument::REQUIRED, 'Source tag name', $tag); } - private function prepare(string $src, string $dest, callable $cb): void { $this->exec(['git', 'checkout', $src]); $message = $this->getMessage($src); - if (!\file_exists('composer.json')) { throw new Exception("composer.json doesn't exist!"); } - $json = \json_decode(\file_get_contents('composer.json'), true); $json = $cb($json); - \file_put_contents('composer.json', \json_encode($json, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES)); - - $this->exec(['git', 'commit', '-am', $message."\nRelease transpiled using https://phabel.io, the PHP transpiler"]); + \file_put_contents('composer.json', \json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); + $this->exec(['git', 'commit', '-am', $message . "\nRelease transpiled using https://phabel.io, the PHP transpiler"]); $this->exec(['git', 'tag', '-d', $dest], true); $this->exec(['git', 'tag', $dest]); } - protected function execute(InputInterface $input, OutputInterface $output) { $src = $input->getArgument('source'); $remote = $input->getOption('remote'); $output->setFormatter(Formatter::getFormatter()); - $branch = \trim($this->exec(["git", 'rev-parse', '--abbrev-ref', 'HEAD'])); $stashed = \trim($this->exec(['git', 'stash'])) !== 'No local changes to save'; - - $output->write("Tagging transpiled release $src.9998...".PHP_EOL); - $this->prepare($src, "$src.9998", function (array $json): array { + $output->write("Tagging transpiled release {$src}.9998..." . PHP_EOL); + $this->prepare($src, "{$src}.9998", function (array $json): array { $json['phabel'] ??= []; $json['phabel']['extra'] ??= []; $json['phabel']['extra']['require'] = $json['require']; - $json['require'] = [ - 'phabel/phabel' => Version::VERSION, - 'php' => $json['require']['php'] - ]; + $json['require'] = ['phabel/phabel' => Version::VERSION, 'php' => $json['require']['php']]; \file_put_contents(ComposerSanitizer::FILE_NAME, ComposerSanitizer::getContents($json['name'] ?? 'phabel')); $this->exec(['git', 'add', ComposerSanitizer::FILE_NAME]); $json['autoload'] ??= []; $json['autoload']['files'] ??= []; - $json['autoload']['files'] []= ComposerSanitizer::FILE_NAME; + $json['autoload']['files'][] = ComposerSanitizer::FILE_NAME; return $json; }); - - $output->write("Tagging original release as $src.9999...".PHP_EOL); - $this->prepare($src, "$src.9999", fn (array $json): array => $json); - + $output->write("Tagging original release as {$src}.9999..." . PHP_EOL); + $this->prepare($src, "{$src}.9999", fn (array $json): array => $json); $this->exec(['git', 'checkout', $branch]); if ($stashed) { $this->exec(['git', 'stash', 'pop']); } - - $output->write("Pushing $src.9998, $src.9999 to $remote...".PHP_EOL); - $this->exec(['git', 'push', $remote, "$src.9998", "$src.9999"]); - - $output->write("Done! -Tell users to require ^$src in their composer.json to automatically load the correct transpiled version! - -Tip: Add the following badge to your README to let users know about your minimum supported PHP version, as it won't be shown on packagist. -![phabel.io](https://phabel.io/badge/5.6) -"); - + $output->write("Pushing {$src}.9998, {$src}.9999 to {$remote}..." . PHP_EOL); + $this->exec(['git', 'push', $remote, "{$src}.9998", "{$src}.9999"]); + $output->write("Done!\nTell users to require ^{$src} in their composer.json to automatically load the correct transpiled version!\n\nTip: Add the following badge to your README to let users know about your minimum supported PHP version, as it won't be shown on packagist.\n![phabel.io](https://phabel.io/badge/5.6)\n"); return Command::SUCCESS; } } diff --git a/src/Commands/Run.php b/src/Commands/Run.php index f1f2256ff..b6765b78c 100644 --- a/src/Commands/Run.php +++ b/src/Commands/Run.php @@ -17,60 +17,30 @@ class Run extends Command { protected static $defaultName = 'run'; - protected function configure(): void { $target = \getenv('PHABEL_TARGET') ?: null; $coverage = \getenv('PHABEL_COVERAGE') ?: false; $parallel = \getenv('PHABEL_PARALLEL') ?: 1; - - $this - ->setDescription('Run transpiler.') - ->setHelp('This command transpiles the specified files or directories to the specified PHP version.') - - ->addOption('target', null, $target ? InputOption::VALUE_OPTIONAL : InputOption::VALUE_REQUIRED, 'Target PHP version', $target) - ->addOption('coverage', null, InputOption::VALUE_OPTIONAL, 'PHP coverage path', $coverage) - ->addOption('parallel', 'j', InputOption::VALUE_OPTIONAL, 'Number of threads to use for transpilation', $parallel) - - ->addArgument('input', InputArgument::REQUIRED, 'Input path') - ->addArgument('output', InputArgument::REQUIRED, 'Output path'); + $this->setDescription('Run transpiler.')->setHelp('This command transpiles the specified files or directories to the specified PHP version.')->addOption('target', null, $target ? InputOption::VALUE_OPTIONAL : InputOption::VALUE_REQUIRED, 'Target PHP version', $target)->addOption('coverage', null, InputOption::VALUE_OPTIONAL, 'PHP coverage path', $coverage)->addOption('parallel', 'j', InputOption::VALUE_OPTIONAL, 'Number of threads to use for transpilation', $parallel)->addArgument('input', InputArgument::REQUIRED, 'Input path')->addArgument('output', InputArgument::REQUIRED, 'Output path'); } - - protected function execute(InputInterface $input, OutputInterface $output) { $output->setFormatter(Formatter::getFormatter()); - $output->write(PHP_EOL.Formatter::BANNER.PHP_EOL.PHP_EOL); - + $output->write(PHP_EOL . Formatter::BANNER . PHP_EOL . PHP_EOL); if (!$input->getOption('target')) { - $output->write("Missing --target parameter or PHABEL_TARGET environment variable!".PHP_EOL.PHP_EOL); + $output->write("Missing --target parameter or PHABEL_TARGET environment variable!" . PHP_EOL . PHP_EOL); return Command::INVALID; } - - $packages = (new Traverser( - new CliEventHandler( - new SimpleConsoleLogger($output), - !\getenv('CI') - && !$output->isDebug() ? fn (int $max): ProgressBar => new ProgressBar($output, $max, -1) : null - ) - )) - ->setPlugins([ - Php::class => ['target' => Php::normalizeVersion($input->getOption('target'))] - ]) - ->setInput($input->getArgument('input')) - ->setOutput($input->getArgument('output')) - ->setCoverage($input->getOption('coverage') ?: '') - ->run($input->getOption('parallel')); - + $packages = (new Traverser(new CliEventHandler(new SimpleConsoleLogger($output), !\getenv('CI') && !$output->isDebug() ? fn (int $max): ProgressBar => (new ProgressBar($output, $max, -1)) : null)))->setPlugins([Php::class => ['target' => Php::normalizeVersion($input->getOption('target'))]])->setInput($input->getArgument('input'))->setOutput($input->getArgument('output'))->setCoverage($input->getOption('coverage') ?: '')->run($input->getOption('parallel')); if (!empty($packages)) { $cmd = "composer require --dev "; foreach ($packages as $package => $constraint) { - $cmd .= \escapeshellarg("$package:$constraint")." "; + $cmd .= \escapeshellarg("{$package}:{$constraint}") . " "; } - $output->write("Please run the following command to install required development dependencies:".PHP_EOL); - $output->write($cmd.PHP_EOL); + $output->write("Please run the following command to install required development dependencies:" . PHP_EOL); + $output->write($cmd . PHP_EOL); } - return Command::SUCCESS; } } diff --git a/src/Composer/Plugin.php b/src/Composer/Plugin.php index c2ad14941..339cb6455 100644 --- a/src/Composer/Plugin.php +++ b/src/Composer/Plugin.php @@ -39,7 +39,6 @@ public function activate(Composer $composer, IOInterface $io): void if (\file_exists('composer.lock')) { $this->lock = \json_decode(\file_get_contents('composer.lock'), true); } - $rootPackage = $composer->getPackage(); $this->transformer = Transformer::getInstance($io); $this->transformer->preparePackage($rootPackage, $rootPackage->getName()); @@ -49,7 +48,6 @@ public function activate(Composer $composer, IOInterface $io): void } $this->toRequire = $link->getTarget(); } - $repoManager = $composer->getRepositoryManager(); $repos = $repoManager->getRepositories(); foreach (\array_reverse($repos) as $repo) { @@ -60,7 +58,6 @@ public function activate(Composer $composer, IOInterface $io): void } } } - /** * Remove any hooks from Composer. * @@ -74,7 +71,6 @@ public function activate(Composer $composer, IOInterface $io): void public function deactivate(Composer $composer, IOInterface $io) { } - /** * Prepare the plugin to be uninstalled. * @@ -86,20 +82,13 @@ public function deactivate(Composer $composer, IOInterface $io) public function uninstall(Composer $composer, IOInterface $io) { } - /** * {@inheritdoc} */ public static function getSubscribedEvents() { - return [ - ScriptEvents::POST_INSTALL_CMD => - ['onInstall', 1], - ScriptEvents::POST_UPDATE_CMD => - ['onUpdate', 1] - ]; + return [ScriptEvents::POST_INSTALL_CMD => ['onInstall', 1], ScriptEvents::POST_UPDATE_CMD => ['onUpdate', 1]]; } - public function onInstall(Event $event): void { $this->run($event, false); @@ -114,11 +103,11 @@ private function run(Event $event, bool $isUpdate): void if (!$this->transformer->transform($lock, $this->lock)) { \register_shutdown_function(function () use ($isUpdate) { /** @var Application */ - $application = ($GLOBALS['application'] ?? null) instanceof Application ? $GLOBALS['application'] : new Application; + $application = ($GLOBALS['application'] ?? null) instanceof Application ? $GLOBALS['application'] : new Application(); $this->transformer->log("Loading additional dependencies...\n"); if (!$isUpdate) { $require = $application->find('require'); - $require->run(new ArrayInput(['packages' => [$this->toRequire]]), new NullOutput); + $require->run(new ArrayInput(['packages' => [$this->toRequire]]), new NullOutput()); } else { $application->setAutoExit(false); $application->run(); @@ -137,10 +126,8 @@ private function run(Event $event, bool $isUpdate): void $json['extra'] ??= []; $json['extra']['phabel'] ??= []; $json['extra']['phabel']['revision'] = Version::LATEST; - $json['require'] ??= []; $json['require']['php'] = '^8.0'; - $this->transformer->banner(); $f = [$this->transformer, 'format']; $io = $this->transformer->getIo(); @@ -149,13 +136,10 @@ private function run(Event $event, bool $isUpdate): void $io->writeError($f(Version::CHANGELOG[$x])); } } - - \file_put_contents('composer.json', \json_encode($json, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES).PHP_EOL); + \file_put_contents('composer.json', \json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . PHP_EOL); }); } } - - /** * Emitted before composer solves dependencies. * diff --git a/src/Composer/Repository.php b/src/Composer/Repository.php index d6b0e4a3c..75a9bd257 100644 --- a/src/Composer/Repository.php +++ b/src/Composer/Repository.php @@ -48,33 +48,30 @@ public function loadPackages(array $packageNameMap, array $acceptableStabilities $newAlreadyLoaded[$target] ??= []; $newAlreadyLoaded[$target][$package] = $versions; } - $finalNamesFound = []; $finalPackages = []; foreach ($newPackageNameMap as $target => $map) { $t = $transformInfo[$target]; $packages = parent::loadPackages($map, $acceptableStabilities, $stabilityFlags, $newAlreadyLoaded[$target] ?? []); foreach ($packages['namesFound'] as $package) { - $finalNamesFound []= $t[$package]; + $finalNamesFound[] = $t[$package]; } foreach ($packages['packages'] as $package) { $package = clone $package; $this->phabelTransformer->preparePackage($package, $t[$package->getName()], $target); - $finalPackages []= $package; + $finalPackages[] = $package; } } $packages['namesFound'] = $finalNamesFound; $packages['packages'] = $finalPackages; - /*$missing = \array_diff(\array_keys($packageNameMap), $finalNamesFound); - if (!empty($missing)) { - $this->phabelTransformer->getIo()->debug("Could not find the following packages in ".\get_parent_class($this).": ".\implode(", ", $missing)); - } else { - $this->phabelTransformer->getIo()->debug("Loaded packages in ".\get_parent_class($this).": ".\implode(", ", $finalNamesFound)); - }*/ + if (!empty($missing)) { + $this->phabelTransformer->getIo()->debug("Could not find the following packages in ".\get_parent_class($this).": ".\implode(", ", $missing)); + } else { + $this->phabelTransformer->getIo()->debug("Loaded packages in ".\get_parent_class($this).": ".\implode(", ", $finalNamesFound)); + }*/ return $packages; } - /** * Searches for the first match of a package by name and version. * @@ -86,14 +83,13 @@ public function loadPackages(array $packageNameMap, array $acceptableStabilities public function findPackage($fullName, $constraint) { [$name, $target] = $this->phabelTransformer->extractTarget($fullName); - if (!$package = parent::findPackage($name, $constraint)) { + if (!($package = parent::findPackage($name, $constraint))) { return null; } $package = clone $package; $this->phabelTransformer->preparePackage($package, $fullName, $target); return $package; } - /** * Searches for all packages matching a name and optionally a version. * @@ -112,7 +108,6 @@ public function findPackages($fullName, $constraint = null) } return $packages; } - /** * Returns list of registered packages. * @@ -127,7 +122,6 @@ public function getPackages() } return $packages; } - /** * Set the Transformer. * @@ -138,7 +132,6 @@ public function getPackages() public function setPhabelTransformer(Transformer $phabelTransformer): self { $this->phabelTransformer = $phabelTransformer; - return $this; } } diff --git a/src/Composer/Transformer.php b/src/Composer/Transformer.php index d435446b6..9d47bdc0e 100644 --- a/src/Composer/Transformer.php +++ b/src/Composer/Transformer.php @@ -35,7 +35,6 @@ class Transformer extends EventHandler * IO interface. */ private OutputFormatter $outputFormatter; - /** * Version parser. */ @@ -78,11 +77,9 @@ public static function getInstance(IOInterface $io): self private function __construct(IOInterface $io) { $this->io = $io; - $this->versionParser = new VersionParser; - + $this->versionParser = new VersionParser(); $this->outputFormatter = Formatter::getFormatter(); } - /** * Log text. * @@ -93,9 +90,8 @@ private function __construct(IOInterface $io) */ public function log(string $text, int $verbosity = IOInterface::NORMAL, bool $newline = true): void { - $this->io->writeError($this->format("$text"), $newline, $verbosity); + $this->io->writeError($this->format("{$text}"), $newline, $verbosity); } - /** * Format text. * @@ -106,7 +102,6 @@ public function format(string $text): string { return $this->outputFormatter->format($text); } - /** * Print banner. * @@ -117,10 +112,9 @@ public function banner(): void static $printed = false; if (!$printed) { $printed = true; - $this->log(PHP_EOL.Formatter::BANNER.PHP_EOL); + $this->log(PHP_EOL . Formatter::BANNER . PHP_EOL); } } - /** * Prepare package for phabel tree injection. * @@ -154,7 +148,7 @@ public function preparePackage(PackageInterface &$package, string $newName, int $this->processed = true; if (!$havePhabel) { if ($target === Php::TARGET_IGNORE) { - $this->log("Skipping ".$package->getName()."=$newName", IOInterface::VERY_VERBOSE); + $this->log("Skipping " . $package->getName() . "={$newName}", IOInterface::VERY_VERBOSE); return; } $myTarget = $target; @@ -162,40 +156,20 @@ public function preparePackage(PackageInterface &$package, string $newName, int $myTarget = Php::normalizeVersion($myTarget); $myTarget = \min($myTarget, $target); } - - $this->log("Applying ".$package->getName()."=$newName", IOInterface::VERY_VERBOSE); - + $this->log("Applying " . $package->getName() . "={$newName}", IOInterface::VERY_VERBOSE); $this->processedRequires = $this->requires; $requires = $this->requires; foreach ($config['require'] ?? [] as $name => $constraint) { $requires[$this->injectTarget($name, $myTarget)] = $constraint; } - if ($newName !== $package->getName() && \method_exists($package, 'setProvides')) { - $package->setProvides(\array_merge( - $package->getProvides(), - [$package->getName() => new Link( - $newName, - $package->getName(), - new ComposerConstraint('=', $package->getVersion()), - Link::TYPE_PROVIDE, - $package->getVersion() - )] - )); + $package->setProvides(\array_merge($package->getProvides(), [$package->getName() => new Link($newName, $package->getName(), new ComposerConstraint('=', $package->getVersion()), Link::TYPE_PROVIDE, $package->getVersion())])); } - $base = new ReflectionClass(BasePackage::class); $method = $base->getMethod('__construct'); $method->invokeArgs($package, [$newName]); - - $this->processRequires( - $package, - $myTarget, - $requires, - $havePhabel, - ); + $this->processRequires($package, $myTarget, $requires, $havePhabel); } - /** * Add phabel config to all requires. * @@ -212,38 +186,17 @@ private function processRequires(PackageInterface $package, int $target, array $ foreach ($package->getRequires() as $name => $link) { if (PlatformRepository::isPlatformPackage($link->getTarget())) { if ($link->getTarget() === 'php') { - $constraint = MultiConstraint::create([ - new ComposerConstraint('>=', Php::unnormalizeVersion($target)), - new ComposerConstraint('<', Php::unnormalizeVersion($target+1)) - ]); - $links[$name]= new Link( - $package->getName(), - $link->getTarget(), - $constraint, - $link->getDescription(), - $constraint->getPrettyString() - ); + $constraint = MultiConstraint::create([new ComposerConstraint('>=', Php::unnormalizeVersion($target)), new ComposerConstraint('<', Php::unnormalizeVersion($target + 1))]); + $links[$name] = new Link($package->getName(), $link->getTarget(), $constraint, $link->getDescription(), $constraint->getPrettyString()); } else { $links[$name] = $link; } continue; } - $links [$name]= new Link( - $package->getName(), - $havePhabel ? $link->getTarget() : $this->injectTarget($link->getTarget(), $target), - $link->getConstraint(), - $link->getDescription(), - $link->getPrettyConstraint() - ); + $links[$name] = new Link($package->getName(), $havePhabel ? $link->getTarget() : $this->injectTarget($link->getTarget(), $target), $link->getConstraint(), $link->getDescription(), $link->getPrettyConstraint()); } foreach ($requires as $name => $version) { - $links[$name] = new Link( - $package->getName(), - $name, - $this->versionParser->parseConstraints($version), - Link::TYPE_REQUIRE, - $version - ); + $links[$name] = new Link($package->getName(), $name, $this->versionParser->parseConstraints($version), Link::TYPE_REQUIRE, $version); } if ($package instanceof Package) { $package->setRequires($links); @@ -251,7 +204,6 @@ private function processRequires(PackageInterface $package, int $target, array $ $this->processRequires($package->getAliasOf(), $target, $requires, $havePhabel); } } - /** * Inject target into package name. * @@ -262,9 +214,8 @@ private function processRequires(PackageInterface $package, int $target, array $ private function injectTarget(string $package, int $target): string { [$package] = $this->extractTarget($package); - return self::HEADER.$target.self::SEPARATOR.$package; + return self::HEADER . $target . self::SEPARATOR . $package; } - /** * Look for phabel configuration parameters in constraint. * @@ -280,7 +231,6 @@ public function extractTarget(string $package): array } return [$package, Php::TARGET_IGNORE]; } - /** * Transform dependencies. * @@ -292,9 +242,7 @@ public function transform(?array $lock, ?array $old): bool { $enabled = \gc_enabled(); \gc_enable(); - $packages = $lock['packages'] ?? []; - $this->log("Creating plugin graph...", IOInterface::VERBOSE); $byName = []; foreach ($packages as $package) { @@ -328,8 +276,7 @@ public function transform(?array $lock, ?array $old): bool } } } while ($changed); - - $graph = new Graph; + $graph = new Graph(); foreach ($byName as $name => $package) { $ctx = $graph->getPackageContext(); $ctx->addPackage($name); @@ -338,24 +285,15 @@ public function transform(?array $lock, ?array $old): bool $graph->addPlugin(Php::class, $config + $target, $ctx); } } - - $traverser = new Traverser( - new CliEventHandler( - $this->io, - $this->doProgress - && $this->io instanceof ConsoleIO - && !\getenv('CI') - && !$this->io->isDebug() ? fn (int $progress): ProgressBar => $this->io->getProgressBar($progress) : null - ) - ); + $traverser = new Traverser(new CliEventHandler($this->io, $this->doProgress && $this->io instanceof ConsoleIO && !\getenv('CI') && !$this->io->isDebug() ? fn (int $progress): ProgressBar => $this->io->getProgressBar($progress) : null)); $traverser->setPluginGraph($graph); unset($graph); - $this->requires = $traverser->getGraph()->getPackages(); if (!$this->processedRequires()) { if (!$enabled) { unset($traverser); - while (\gc_collect_cycles()); + while (\gc_collect_cycles()) { + } \gc_disable(); } return false; @@ -366,26 +304,19 @@ public function transform(?array $lock, ?array $old): bool if (!$byName) { return true; } - $this->banner(); - - $traverser - ->setInput('vendor') - ->setOutput('vendor') - ->setComposer(function (string $rel): string { - [$package] = $this->extractTarget(\str_replace('\\', '/', $rel)); - return \implode('/', \array_slice(\explode('/', $package), 0, 2)); - }) - ->run((int) (\getenv('PHABEL_PARALLEL') ?: 1)); - + $traverser->setInput('vendor')->setOutput('vendor')->setComposer(function (string $rel): string { + [$package] = $this->extractTarget(\str_replace('\\', '/', $rel)); + return \implode('/', \array_slice(\explode('/', $package), 0, 2)); + })->run((int) (\getenv('PHABEL_PARALLEL') ?: 1)); if (!$enabled) { unset($traverser); - while (\gc_collect_cycles()); + while (\gc_collect_cycles()) { + } \gc_disable(); } return true; } - /** * Get whether we processed any dependencies. * @@ -395,7 +326,6 @@ public function processedRequires(): bool { return $this->processed && $this->processedRequires === $this->requires; } - /** * Get IO interface. * diff --git a/src/Context.php b/src/Context.php index 52e79ae51..90e5b50b4 100644 --- a/src/Context.php +++ b/src/Context.php @@ -89,18 +89,12 @@ class Context public function __construct() { /** @var SplStack */ - $this->parents = new SplStack; + $this->parents = new SplStack(); /** @var SplStack */ - $this->variables = new SplStack; - $this->converter = new ArrowClosure; + $this->variables = new SplStack(); + $this->converter = new ArrowClosure(); $this->prettyPrinter = new Standard(); - $this->nameResolver = new NameResolver( - new Throwing, - [ - 'preserveOriginalNames' => false, - 'replaceNodes' => false, - ] - ); + $this->nameResolver = new NameResolver(new Throwing(), ['preserveOriginalNames' => false, 'replaceNodes' => false]); $this->nameResolver->beforeTraverse([]); } /** @@ -126,16 +120,10 @@ public function push(Node $node): void { $this->parents->push($node); if ($node instanceof RootNode) { - $this->variables->push(new VariableContext); + $this->variables->push(new VariableContext()); } if ($node instanceof FunctionLike) { - $variables = \array_fill_keys( - \array_map( - fn (Param $param): string => $param->var->name, - $node->getParams() - ), - true - ); + $variables = \array_fill_keys(\array_map(fn (Param $param): string => $param->var->name, $node->getParams()), true); if ($node instanceof Closure) { foreach ($node->uses as $use) { $variables[$use->var->name] = true; @@ -224,11 +212,11 @@ public static function getCurrentChild(Node $node): Node */ public static function &getCurrentChildByRef(Node $node): Node { - if (!$subNode = $node->getAttribute('currentNode')) { + if (!($subNode = $node->getAttribute('currentNode'))) { throw new \RuntimeException('Node is not a part of the current AST stack!'); } - $child = &$node->{$subNode}; - if (null !== $index = $node->getAttribute('currentNodeIndex')) { + $child =& $node->{$subNode}; + if (null !== ($index = $node->getAttribute('currentNodeIndex'))) { return $child[$index]; } return $child; @@ -248,13 +236,13 @@ public function insertBefore(Node $node, Node ...$insert): void $found = false; foreach ($this->parents as $cur) { if ($found) { - $parent = &$this->getCurrentChildByRef($cur); + $parent =& $this->getCurrentChildByRef($cur); break; } if ($this->getCurrentChild($cur) === $node) { $found = true; if ($cur instanceof RootNode) { - $parent = &$this->parents[\count($this->parents) - 1]; + $parent =& $this->parents[\count($this->parents) - 1]; break; } } @@ -262,7 +250,6 @@ public function insertBefore(Node $node, Node ...$insert): void if (!$found) { throw new \RuntimeException('Node is not a part of the current AST stack!'); } - /** @var string */ $parentKey = $parent->getAttribute('currentNode'); if ($parentKey === 'stmts' && !$parent instanceof ClassLike) { @@ -270,9 +257,9 @@ public function insertBefore(Node $node, Node ...$insert): void $nodeKeyIndex = $parent->getAttribute('currentNodeIndex'); \array_splice($parent->{$parentKey}, $nodeKeyIndex, 0, $insert); $parent->setAttribute('currentNodeIndex', $nodeKeyIndex + \count($insert)); - return; // Done, inserted! + return; + // Done, inserted! } - // Cannot insert, parent is not a statement // // If we insert before a conditional branch of a conditional expression, @@ -283,81 +270,27 @@ public function insertBefore(Node $node, Node ...$insert): void // if ($parent instanceof BooleanOr && $parentKey === 'right' && Tools::hasSideEffects($parent->right)) { $result = $this->getVariable(); - $insert = new If_( - $parent->left, - [ - 'stmts' => [ - new Assign($result, BuilderHelpers::normalizeValue(true)) - ], - 'else' => new Else_([ - ...$insert, - new Assign($result, new Bool_($parent->right)) - ]) - ] - ); + $insert = new If_($parent->left, ['stmts' => [new Assign($result, BuilderHelpers::normalizeValue(true))], 'else' => new Else_([...$insert, new Assign($result, new Bool_($parent->right))])]); $parent = $result; } elseif ($parent instanceof BooleanAnd && $parentKey === 'right' && Tools::hasSideEffects($parent->right)) { $result = $this->getVariable(); - $insert = new If_( - $parent->left, - [ - 'stmts' => [ - ...$insert, - new Assign($result, new Bool_($parent->right)) - ], - 'else' => new Else_([ - new Assign($result, BuilderHelpers::normalizeValue(false)) - ]) - ] - ); + $insert = new If_($parent->left, ['stmts' => [...$insert, new Assign($result, new Bool_($parent->right))], 'else' => new Else_([new Assign($result, BuilderHelpers::normalizeValue(false))])]); $parent = $result; } elseif ($parent instanceof Ternary && $parentKey !== 'cond' && (Tools::hasSideEffects($parent->if) || Tools::hasSideEffects($parent->else))) { $result = $this->getVariable(); - if (!$parent->if) { // ?: - $insert = new If_( - new BooleanNot( - new Assign($result, $parent->cond) - ), - [ - 'stmts' => [ - ...$insert, - new Assign($result, $parent->else) - ] - ] - ); + if (!$parent->if) { + // ?: + $insert = new If_(new BooleanNot(new Assign($result, $parent->cond)), ['stmts' => [...$insert, new Assign($result, $parent->else)]]); } else { - $insert = new If_( - $parent->cond, - [ - 'stmts' => [ - ...$parentKey === 'left' ? $insert : [], - new Assign($result, $parent->if) - ], - 'else' => new Else_([ - ...$parentKey === 'right' ? $insert : [], - new Assign($result, $parent->else) - ]) - ] - ); + $insert = new If_($parent->cond, ['stmts' => [...$parentKey === 'left' ? $insert : [], new Assign($result, $parent->if)], 'else' => new Else_([...$parentKey === 'right' ? $insert : [], new Assign($result, $parent->else)])]); } $parent = $result; } elseif ($parent instanceof Coalesce && $parentKey === 'right' && Tools::hasSideEffects($parent->right)) { $result = $this->getVariable(); - $insert = new If_( - Plugin::call( - 'is_null', - new Assign($result, $parent->left) - ), - [ - 'stmts' => [ - ...$insert, - new Assign($result, $parent->right) - ] - ] - ); + $insert = new If_(Plugin::call('is_null', new Assign($result, $parent->left)), ['stmts' => [...$insert, new Assign($result, $parent->right)]]); $parent = $result; } - $this->insertBefore($parent, ...(\is_array($insert) ? $insert : [$insert])); + $this->insertBefore($parent, ...\is_array($insert) ? $insert : [$insert]); } /** * Insert nodes after node. @@ -383,9 +316,8 @@ public function insertAfter(Node $node, Node ...$nodes): void } $subNode = $parent->getAttribute('currentNode'); $subNodeIndex = $parent->getAttribute('currentNodeIndex'); - \array_splice($parent->{$subNode}, $subNodeIndex+1, 0, $nodes); + \array_splice($parent->{$subNode}, $subNodeIndex + 1, 0, $nodes); } - /** * Gets name context. * @@ -405,7 +337,6 @@ public function isParentStmt(): bool $parent = $this->parents[0]; return $parent instanceof Expression || $parent->getAttribute('currentNode') === 'stmts'; } - /** * Dumps AST. */ @@ -422,7 +353,6 @@ public function toClosure(FunctionLike &$func): void $func = $this->converter->enter($func, $this); } } - /** * Get relative path of current file. * @@ -432,7 +362,6 @@ public function getFile(): string { return $this->file; } - /** * Set relative path of current file. * @@ -443,10 +372,8 @@ public function getFile(): string public function setFile(string $file): self { $this->file = $file; - return $this; } - /** * Get absolute path of current output file. * @@ -456,7 +383,6 @@ public function getOutputFile(): string { return $this->outputFile; } - /** * Set absolute path of current input file. * @@ -467,7 +393,6 @@ public function getOutputFile(): string public function setInputFile(string $inputFile): self { $this->inputFile = $inputFile; - return $this; } /** @@ -479,7 +404,6 @@ public function getInputFile(): string { return $this->inputFile; } - /** * Set absolute path of current output file. * @@ -490,7 +414,6 @@ public function getInputFile(): string public function setOutputFile(string $outputFile): self { $this->outputFile = $outputFile; - return $this; } } diff --git a/src/EventHandlerInterface.php b/src/EventHandlerInterface.php index 7e1624bb0..45117d994 100644 --- a/src/EventHandlerInterface.php +++ b/src/EventHandlerInterface.php @@ -11,10 +11,8 @@ public function onBeginDirectoryTraversal(int $total, int $workers): void; public function onBeginAstTraversal(string $file): void; public function onEndAstTraversal(string $file, int|\Throwable $iterationsOrError): void; public function onEndDirectoryTraversal(): void; - public function onBeginClassGraphMerge(int $count): void; public function onClassGraphMerged(): void; public function onEndClassGraphMerge(): void; - public function onEnd(): void; } diff --git a/src/Exception.php b/src/Exception.php index 752ab6d4c..44d95c55e 100644 --- a/src/Exception.php +++ b/src/Exception.php @@ -36,7 +36,6 @@ public function __construct(string $message = '', int $code = 0, \Throwable $pre } parent::__construct($message, $code, $previous); } - /** * Set the value of trace. * @@ -47,7 +46,6 @@ public function __construct(string $message = '', int $code = 0, \Throwable $pre public function setTrace(?string $trace): self { $this->trace = $trace; - return $this; } } diff --git a/src/ExceptionWrapper.php b/src/ExceptionWrapper.php index b60fcac2f..761898d56 100644 --- a/src/ExceptionWrapper.php +++ b/src/ExceptionWrapper.php @@ -9,7 +9,7 @@ final class ExceptionWrapper private SplStack $params; public function __construct(\Throwable $e) { - $this->params = new SplStack; + $this->params = new SplStack(); do { $this->params->push([$e->getMessage(), $e->getCode(), $e->getFile(), $e->getLine(), $e->__toString()]); } while ($e = $e->getPrevious()); diff --git a/src/Plugin.php b/src/Plugin.php index 00b678705..3c24dc2eb 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -126,13 +126,12 @@ public static function mergeConfigs(array ...$configs): array $final = []; foreach (\array_unique($configs, SORT_REGULAR) as $config) { foreach ($final as $k => $compare) { - if (empty($intersect = \array_intersect_key($config, $compare)) - || $intersect === \array_intersect_key($compare, $config)) { + if (empty($intersect = \array_intersect_key($config, $compare)) || $intersect === \array_intersect_key($compare, $config)) { $final[$k] = $config + $compare; continue 2; } } - $final []= $config; + $final[] = $config; } return $final; } diff --git a/src/Plugin/ClassStoragePlugin.php b/src/Plugin/ClassStoragePlugin.php index 965971b72..a6a4b9172 100644 --- a/src/Plugin/ClassStoragePlugin.php +++ b/src/Plugin/ClassStoragePlugin.php @@ -30,7 +30,6 @@ final class ClassStoragePlugin extends Plugin * @var array> */ public array $traits = []; - /** * Count. */ @@ -41,7 +40,6 @@ final class ClassStoragePlugin extends Plugin * @var array, true> */ protected array $finalPlugins = []; - /** * Check if plugin should run. * @@ -64,7 +62,6 @@ public function shouldRunFile(string $file): bool { return true; } - /** * Set configuration array. * @@ -76,7 +73,6 @@ public function setConfigArray(array $config): void parent::setConfigArray($config); $this->finalPlugins += $config; } - /** * Enter file. * @@ -111,29 +107,26 @@ public function enter(ClassLike $class, Context $context): void if ($class->name) { $name = self::getFqdn($class); } else { - $name = "class@anonymous$file"; + $name = "class@anonymous{$file}"; $this->count[$file][$name] ??= 0; - $name .= "@".$this->count[$file][$name]++; + $name .= "@" . $this->count[$file][$name]++; } - $class = clone $class; $stmts = []; foreach ($class->stmts as $stmt) { if (!$stmt instanceof ClassMethod) { continue; } - $stmts []= $stmt; + $stmts[] = $stmt; } $class->stmts = $stmts; $class->setAttribute(ClassStorage::FILE_KEY, $file); - if ($class instanceof Trait_) { $this->traits[$name][$file] = new Builder($class); } else { $this->classes[$name][$file] = new Builder($class, $name); } } - /** * Merge storage with another. * @@ -160,7 +153,6 @@ public function merge($other): void } $this->finalPlugins += $other->finalPlugins; } - /** * Resolve all classes, optionally fixing up a few methods. * diff --git a/src/Plugin/ComposerSanitizer.php b/src/Plugin/ComposerSanitizer.php index 85f448d44..36be65ff9 100644 --- a/src/Plugin/ComposerSanitizer.php +++ b/src/Plugin/ComposerSanitizer.php @@ -15,10 +15,9 @@ class ComposerSanitizer extends Plugin { public const FILE_NAME = '___transpiledWithPhabel.php'; private const MESSAGE = <<vars as $key => &$var) { @@ -70,9 +59,8 @@ public function enter(Isset_ $isset): void if (!$subNodes) { continue; } - $workVar = &$this->extractWorkVar($var); + $workVar =& $this->extractWorkVar($var); $needsFixing = false; - foreach ($subNodes as $key => $types) { if (isset($types[self::getClass($workVar->{$key} ?? '')])) { $needsFixing = true; @@ -92,30 +80,19 @@ public function enter(Isset_ $isset): void } break; case StaticPropertyFetch::class: - $workVar = $this->wrapBoolean(self::callPoly( - 'staticExists', - $workVar->class, - $workVar->name instanceof VarLikeIdentifier ? new String_($workVar->name->name) : $workVar->name, - self::fromLiteral(true) - )); + $workVar = $this->wrapBoolean(self::callPoly('staticExists', $workVar->class, $workVar->name instanceof VarLikeIdentifier ? new String_($workVar->name->name) : $workVar->name, self::fromLiteral(true))); break; case ClassConstFetch::class: - $workVar = $this->wrapBoolean(self::callPoly( - 'staticExists', - $workVar->class, - new String_($workVar->name->name), - self::fromLiteral(false) - )); + $workVar = $this->wrapBoolean(self::callPoly('staticExists', $workVar->class, new String_($workVar->name->name), self::fromLiteral(false))); break; case Variable::class: $workVar->name = self::callPoly('returnMe', $workVar->name); break; default: - throw new \RuntimeException("Trying to fix unknown isset expression $class"); + throw new \RuntimeException("Trying to fix unknown isset expression {$class}"); } } } - /** * Returns the data provided. * @@ -133,7 +110,6 @@ public static function returnMe($data) { return $data; } - /** * Get name of class. * @@ -145,7 +121,6 @@ public static function getClass($class): string { return \is_string($class) ? $class : \get_class($class); } - /** * Check if static property is set. * @@ -174,7 +149,6 @@ public static function staticExists($class, string $property, bool $propertyOrCo } else { return isset($reflectionClass->getConstants()[$property]); } - $classCaller = \debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2)[1]['class'] ?? ''; $allowProtected = false; $allowPrivate = false; diff --git a/src/Plugin/ListSplitter.php b/src/Plugin/ListSplitter.php index 3df4fdd05..799f1824d 100644 --- a/src/Plugin/ListSplitter.php +++ b/src/Plugin/ListSplitter.php @@ -53,7 +53,6 @@ public function enterAssign(Assign $node, Context $ctx) } $var = $ctx->getVariable(); $assignments = self::splitList($node->var, $var); - $hasReference = $this->hasReference($node->var); if ($ctx->isParentStmt()) { $last = \array_pop($assignments); @@ -76,7 +75,8 @@ public function enterAssign(Assign $node, Context $ctx) public static function splitList($list, Variable $var): array { $assignments = []; - $key = 0; // Technically a list assignment does not support mixed keys, but we need this for nested assignments + $key = 0; + // Technically a list assignment does not support mixed keys, but we need this for nested assignments foreach ($list->items as $item) { if (!$item) { $key++; @@ -84,9 +84,9 @@ public static function splitList($list, Variable $var): array } $curKey = $item->key ?? new LNumber($key++); if ($item->byRef) { - $assignments []= new AssignRef($item->value, new ArrayDimFetch($var, $curKey)); + $assignments[] = new AssignRef($item->value, new ArrayDimFetch($var, $curKey)); } else { - $assignments []= new Assign($item->value, new ArrayDimFetch($var, $curKey)); + $assignments[] = new Assign($item->value, new ArrayDimFetch($var, $curKey)); } } return $assignments; diff --git a/src/Plugin/Memoization.php b/src/Plugin/Memoization.php index 274d91f4a..87a324ca9 100644 --- a/src/Plugin/Memoization.php +++ b/src/Plugin/Memoization.php @@ -39,7 +39,7 @@ class Memoization extends Plugin */ public function __construct() { - $this->cache = new SplStack; + $this->cache = new SplStack(); } /** * Enter functions. @@ -50,21 +50,17 @@ public function __construct() */ public function enterFunctionLike(FunctionLike $node, Context $ctx): void { - if (!\preg_match_all('/@memoize \$([\w\d_]+)/', (string) ($node->getDocComment() ?? ''), $matches)) { + if (!\preg_match_all('/@memoize \\$([\\w\\d_]+)/', (string) ($node->getDocComment() ?? ''), $matches)) { $this->cache->push(null); return; } - if ($node->getReturnType() instanceof Identifier && $node->getReturnType()->name === 'void') { throw new \RuntimeException('Cannot memoize void function'); } - /** @var Node[] */ $toPrepend = []; - /** @var string[] */ $memoizeParams = $matches[1]; - /** @var array */ $params = []; foreach ($node->getParams() as $param) { @@ -73,39 +69,33 @@ public function enterFunctionLike(FunctionLike $node, Context $ctx): void } $params[$param->var->name] = $param; } - /** @var Variable[] */ $memoizeVars = []; foreach ($memoizeParams as $memoizeVar) { if (!isset($params[$memoizeVar])) { - throw new \RuntimeException('Cannot find memoization parameter $'.$memoizeVar); + throw new \RuntimeException('Cannot find memoization parameter $' . $memoizeVar); } $memoizeParam = $params[$memoizeVar]; if ($memoizeParam->type === null) { - throw new \RuntimeException('Cannot memoize by untyped parameter $'.$memoizeVar); + throw new \RuntimeException('Cannot memoize by untyped parameter $' . $memoizeVar); } if ($memoizeParam->type instanceof Identifier) { if ($memoizeParam->type->name === 'array') { - throw new \RuntimeException('Cannot memoize by array parameter $'.$memoizeVar); + throw new \RuntimeException('Cannot memoize by array parameter $' . $memoizeVar); } if (\in_array($memoizeParam->type->name, ['string', 'int', 'float', 'bool'])) { $memoizeVars[] = $memoizeParam->var; continue; } } - $toPrepend []= Plugin::assign( - $variable = new Variable($memoizeParam->var->name.'___memo'), - Plugin::call('spl_object_hash', $memoizeParam->var) - ); - $memoizeVars []= $variable; + $toPrepend[] = Plugin::assign($variable = new Variable($memoizeParam->var->name . '___memo'), Plugin::call('spl_object_hash', $memoizeParam->var)); + $memoizeVars[] = $variable; } - - $toPrepend []= new Static_([new StaticVar($cache = new Variable('memoizeCache'), new Array_())]); + $toPrepend[] = new Static_([new StaticVar($cache = new Variable('memoizeCache'), new Array_())]); foreach ($memoizeVars as $var) { $cache = new ArrayDimFetch($cache, $var); } - $toPrepend []= new If_(new Isset_([$cache]), [new Return_($cache)]); - + $toPrepend[] = new If_(new Isset_([$cache]), [new Return_($cache)]); $this->cache->push($cache); if (empty($toPrepend)) { return; @@ -125,7 +115,6 @@ public function leaveFunctionLike(FunctionLike $fun, Context $context): void { $this->cache->pop(); } - /** * Enter return expression. * diff --git a/src/Plugin/NestedExpressionFixer.php b/src/Plugin/NestedExpressionFixer.php index 2e1624ccc..e326a3bea 100644 --- a/src/Plugin/NestedExpressionFixer.php +++ b/src/Plugin/NestedExpressionFixer.php @@ -41,7 +41,6 @@ private static function &extractWorkVar(Expr &$var): Expr } return $var; } - public function leave(Expr $expr, Context $context): ?Expr { /** @var array, true>> */ @@ -51,17 +50,17 @@ public function leave(Expr $expr, Context $context): ?Expr } foreach ($subNodes as $key => $types) { /** @var Expr $value */ - $value = &$expr->{$key}; + $value =& $expr->{$key}; if (!isset($types[IssetExpressionFixer::getClass($value ?? '')])) { if (!$value instanceof Expr) { continue; } - $workVar = &$this->extractWorkVar($value); + $workVar =& $this->extractWorkVar($value); if (!isset($types[\get_class($workVar)])) { continue; } } else { - $workVar = &$value; + $workVar =& $value; } switch (\get_class($workVar)) { case Throw_::class: @@ -81,14 +80,7 @@ public function leave(Expr $expr, Context $context): ?Expr case New_::class: case ClassConstFetch::class: $valueCopy = $value; - return new Ternary( - new BooleanOr( - new Assign($value = $context->getVariable(), $valueCopy), - self::fromLiteral(true) - ), - $expr, - self::fromLiteral(false) - ); + return new Ternary(new BooleanOr(new Assign($value = $context->getVariable(), $valueCopy), self::fromLiteral(true)), $expr, self::fromLiteral(false)); case StaticCall::class: case StaticPropertyFetch::class: case FuncCall::class: @@ -96,12 +88,11 @@ public function leave(Expr $expr, Context $context): ?Expr $context->insertBefore($expr, new Assign($value = $context->getVariable(), $valueCopy)); break; default: - throw new \RuntimeException("Trying to fix unknown nested expression $class"); + throw new \RuntimeException("Trying to fix unknown nested expression {$class}"); } } return null; } - /** * Returns the data provided. * @@ -119,7 +110,6 @@ public static function returnMe($data) { return $data; } - /** * Throws the exception provided. * @@ -135,7 +125,6 @@ public static function throwMe(\Throwable $throwable) { throw $throwable; } - /** * Check if a is instance of b. * @@ -148,7 +137,6 @@ public static function instanceOf($a, $b): bool { return $a instanceof $b; } - public static function next(array $config): array { return [NewFixer::class]; diff --git a/src/Plugin/NewFixer.php b/src/Plugin/NewFixer.php index 7baedddc9..cf287ff70 100644 --- a/src/Plugin/NewFixer.php +++ b/src/Plugin/NewFixer.php @@ -24,20 +24,11 @@ class NewFixer extends Plugin private NodeFinder $finder; public function __construct() { - $this->finder = new NodeFinder; + $this->finder = new NodeFinder(); } private function isParenthesised(Node $node): bool { - return !($node instanceof Expr\Variable - || $node instanceof Node\Name - || $node instanceof Expr\ArrayDimFetch - || $node instanceof Expr\PropertyFetch - || $node instanceof Expr\NullsafePropertyFetch - || $node instanceof Expr\StaticPropertyFetch - || $node instanceof Expr\Array_ - || $node instanceof Scalar\String_ - || $node instanceof Expr\ConstFetch - || $node instanceof Expr\ClassConstFetch); + return !($node instanceof Expr\Variable || $node instanceof Node\Name || $node instanceof Expr\ArrayDimFetch || $node instanceof Expr\PropertyFetch || $node instanceof Expr\NullsafePropertyFetch || $node instanceof Expr\StaticPropertyFetch || $node instanceof Expr\Array_ || $node instanceof Scalar\String_ || $node instanceof Expr\ConstFetch || $node instanceof Expr\ClassConstFetch); } private function hasParenthesised(Node $node): bool { @@ -47,14 +38,7 @@ public function enterNew(New_ $new, Context $context) { if ($this->hasParenthesised($new->class)) { $valueCopy = $new->class; - return new Ternary( - new BooleanOr( - new Assign($new->class = $context->getVariable(), $valueCopy), - self::fromLiteral(true) - ), - $new, - self::fromLiteral(false) - ); + return new Ternary(new BooleanOr(new Assign($new->class = $context->getVariable(), $valueCopy), self::fromLiteral(true)), $new, self::fromLiteral(false)); } } public function enterInstanceof(Instanceof_ $expr) diff --git a/src/Plugin/PhabelTestGenerator.php b/src/Plugin/PhabelTestGenerator.php index e8ee1cf52..0108d0e78 100644 --- a/src/Plugin/PhabelTestGenerator.php +++ b/src/Plugin/PhabelTestGenerator.php @@ -16,11 +16,11 @@ class PhabelTestGenerator extends Plugin { private function tryReplace(string $in): string { - return \preg_replace("~PhabelTest(\\\\+)Target\d*~", 'PhabelTest$1Target'.$this->getConfig('target', ''), $in); + return \preg_replace("~PhabelTest(\\\\+)Target\\d*~", 'PhabelTest$1Target' . $this->getConfig('target', ''), $in); } public function enter(Name $name): ?Name { - if (\preg_match("~PhabelTest\\\\+Target\d*~", $name->toString())) { + if (\preg_match("~PhabelTest\\\\+Target\\d*~", $name->toString())) { $class = \get_class($name); return new $class($this->tryReplace($name->toString())); } @@ -28,17 +28,13 @@ public function enter(Name $name): ?Name } public function enterLiteral(String_ $str): ?String_ { - if (\preg_match("~PhabelTest\\\\+Target\d*~", $str->value)) { + if (\preg_match("~PhabelTest\\\\+Target\\d*~", $str->value)) { return new String_($this->tryReplace($str->value)); } return null; } - public static function previous(array $config): array { - return [ - Php::class => ['target' => $config['target'] % 1000], - StringConcatOptimizer::class => [], - ]; + return [Php::class => ['target' => $config['target'] % 1000], StringConcatOptimizer::class => []]; } } diff --git a/src/Plugin/ReGenerator.php b/src/Plugin/ReGenerator.php index 61bf0da42..d5348735c 100644 --- a/src/Plugin/ReGenerator.php +++ b/src/Plugin/ReGenerator.php @@ -16,14 +16,13 @@ class ReGenerator extends Plugin { const SHOULD_ATTRIBUTE = 'shouldRegenerate'; - /** * Custom traverser. */ private Traverser $traverser; public function __construct() { - $this->traverser = Traverser::fromPlugin(new ReGeneratorInternal); + $this->traverser = Traverser::fromPlugin(new ReGeneratorInternal()); } public function enter(FunctionLike $function) { diff --git a/src/Plugin/ReGenerator/ReGenerator.php b/src/Plugin/ReGenerator/ReGenerator.php index b4998dd74..80c0c303e 100644 --- a/src/Plugin/ReGenerator/ReGenerator.php +++ b/src/Plugin/ReGenerator/ReGenerator.php @@ -34,7 +34,6 @@ class ReGenerator implements \Iterator * @var mixed */ public $yieldValue; - /** * Value sent from the outside. * @@ -45,12 +44,10 @@ class ReGenerator implements \Iterator * Exception sent from the outside. */ public ?\Throwable $sentException = null; - /** * Current state of state machine. */ public int $state = 0; - /** * Whether the generator has returned. */ @@ -59,12 +56,10 @@ class ReGenerator implements \Iterator * Whether the generator was started. */ public bool $started = false; - /** * Actual generator function. */ public \Closure $generator; - /** * Construct regenerator. * @@ -74,7 +69,6 @@ public function __construct(\Closure $function) { $this->generator = $function; } - /** * Get return value. * @@ -84,7 +78,6 @@ public function getReturn() { return $this->returnValue; } - /** * Start generator. * @@ -97,7 +90,6 @@ private function start(): void $this->started = true; } } - /** * Send value into generator. * @@ -146,7 +138,6 @@ public function throw(\Throwable $throwable) } return $value; } - /** * Get current value. * diff --git a/src/Plugin/ReGeneratorInternal.php b/src/Plugin/ReGeneratorInternal.php index 71bf7208f..736ab9abe 100644 --- a/src/Plugin/ReGeneratorInternal.php +++ b/src/Plugin/ReGeneratorInternal.php @@ -23,8 +23,8 @@ class ReGeneratorInternal extends Plugin private SplQueue $states; public function __construct() { - $this->states = new SplQueue; - $this->states->enqueue(new SplQueue); + $this->states = new SplQueue(); + $this->states->enqueue(new SplQueue()); } /** * Push node to current case. @@ -39,8 +39,8 @@ private function pushNode(Node $node): void } private function pushState(): int { - $this->states->enqueue(new SplQueue); - return $this->states->count()-1; + $this->states->enqueue(new SplQueue()); + return $this->states->count() - 1; } public function enterRoot(FunctionLike $func) { diff --git a/src/Plugin/StringConcatOptimizer.php b/src/Plugin/StringConcatOptimizer.php index 92cb0945a..ff3bcc333 100644 --- a/src/Plugin/StringConcatOptimizer.php +++ b/src/Plugin/StringConcatOptimizer.php @@ -35,21 +35,20 @@ public function enter(Concat $concat, Context $ctx): ?Node if ($ctx->parents->top() instanceof Concat) { return null; } - $concatQueue = new SplQueue; + $concatQueue = new SplQueue(); $this->enqueue($concat, $concatQueue); - $newQueue = new SplQueue; + $newQueue = new SplQueue(); $prevNode = $concatQueue->dequeue(); while ($concatQueue->count()) { $node = $concatQueue->dequeue(); if ($node instanceof String_ && $prevNode instanceof String_) { - $prevNode = new String_($prevNode->value.$node->value); + $prevNode = new String_($prevNode->value . $node->value); } else { $newQueue->enqueue($prevNode); $prevNode = $node; } } $newQueue->enqueue($prevNode); - if ($newQueue->count() === 1) { return $newQueue->dequeue(); } diff --git a/src/Plugin/TypeHintReplacer.php b/src/Plugin/TypeHintReplacer.php index c9bbc4dd3..02fc12989 100644 --- a/src/Plugin/TypeHintReplacer.php +++ b/src/Plugin/TypeHintReplacer.php @@ -61,7 +61,6 @@ class TypeHintReplacer extends Plugin * Force removal of specific typehint via node attribute. */ private const FORCE_ATTRIBUTE = 'TypeHintReplacer:force'; - private const IGNORE_RETURN = 0; private const VOID_RETURN = 1; private const TYPE_RETURN = 2; @@ -78,7 +77,7 @@ class TypeHintReplacer extends Plugin public function __construct() { /** @psalm-var SplStack */ - $this->stack = new SplStack; + $this->stack = new SplStack(); } /** * Replace typehint. @@ -133,12 +132,7 @@ private function checkVoid(?Node $returnType): bool private function resolveClassName($type, ?Expr $className): Expr { $string = $type instanceof Identifier ? $type->toString() : $type->toCodeString(); - return $type->isSpecialClassName() ? - ( - $string === 'self' && $className - ? $className - : new ClassConstFetch(new Name($string), new Identifier('class')) - ) : new String_($type->toString()); + return $type->isSpecialClassName() ? $string === 'self' && $className ? $className : new ClassConstFetch(new Name($string), new Identifier('class')) : new String_($type->toString()); } /** * Reduce multiple conditions to a single not. @@ -149,11 +143,7 @@ private function resolveClassName($type, ?Expr $className): Expr private static function reduceConditions(array $conditions): BooleanNot { $initial = \array_shift($conditions); - return new BooleanNot( - empty($conditions) - ? $initial - : \array_reduce($conditions, fn (Expr $a, Expr $b): BooleanOr => new BooleanOr($a, $b), $initial) - ); + return new BooleanNot(empty($conditions) ? $initial : \array_reduce($conditions, fn (Expr $a, Expr $b): BooleanOr => (new BooleanOr($a, $b)), $initial)); } /** * Generate. @@ -192,72 +182,36 @@ private function generateConditions(Variable $var, array $types, ?Expr $classNam case 'null': $stringType = new String_($typeName); if ($typeName === 'int' || $typeName === 'float') { - $conditions []= [ - Plugin::call("is_$typeName", $var), - new BooleanOr( - Plugin::call("is_bool", $var), - Plugin::call("is_numeric", $var), - ), - $typeName === 'int' ? Int_::class : Double::class, - ]; + $conditions[] = [Plugin::call("is_{$typeName}", $var), new BooleanOr(Plugin::call("is_bool", $var), Plugin::call("is_numeric", $var)), $typeName === 'int' ? Int_::class : Double::class]; } elseif ($typeName === 'bool') { - $conditions []= [ - Plugin::call("is_$typeName", $var), - new BooleanOr( - new BooleanOr( - Plugin::call("is_bool", $var), - Plugin::call("is_numeric", $var), - ), - Plugin::call("is_string", $var), - ), - Bool_::class - ]; + $conditions[] = [Plugin::call("is_{$typeName}", $var), new BooleanOr(new BooleanOr(Plugin::call("is_bool", $var), Plugin::call("is_numeric", $var)), Plugin::call("is_string", $var)), Bool_::class]; } elseif ($typeName === 'string') { - $conditions []= [ - Plugin::call("is_$typeName", $var), - new BooleanOr( - new BooleanOr( - Plugin::call("is_string", $var), - new BooleanAnd( - Plugin::call("is_object", $var), - Plugin::call("method_exists", $var, new String_('__toString')), - ), - ), - new BooleanOr( - Plugin::call("is_bool", $var), - Plugin::call("is_numeric", $var), - ), - ), - CastString_::class - ]; + $conditions[] = [Plugin::call("is_{$typeName}", $var), new BooleanOr(new BooleanOr(Plugin::call("is_string", $var), new BooleanAnd(Plugin::call("is_object", $var), Plugin::call("method_exists", $var, new String_('__toString')))), new BooleanOr(Plugin::call("is_bool", $var), Plugin::call("is_numeric", $var))), CastString_::class]; } else { - $conditions []= Plugin::call("is_$typeName", $var); + $conditions[] = Plugin::call("is_{$typeName}", $var); } if (\in_array($typeName, ['object', 'callable'])) { - $oopNames []= $stringType; + $oopNames[] = $stringType; } else { - $typeNames []= $stringType; + $typeNames[] = $stringType; } break; case 'iterable': $stringType = new String_('iterable'); - $conditions []= new BooleanOr( - Plugin::call("is_array", $var), - new Instanceof_($var, new FullyQualified(\Traversable::class)) - ); - $oopNames []= $stringType; + $conditions[] = new BooleanOr(Plugin::call("is_array", $var), new Instanceof_($var, new FullyQualified(\Traversable::class))); + $oopNames[] = $stringType; break; default: $noOopTypes = false; $stringType = $this->resolveClassName($type, $className); - $conditions []= new Instanceof_($var, new Name($typeName)); - $oopNames []= $stringType; + $conditions[] = new Instanceof_($var, new Name($typeName)); + $oopNames[] = $stringType; } } else { $noOopTypes = false; $stringType = $this->resolveClassName($type, $className); - $conditions []= new Instanceof_($var, $type); - $oopNames []= $stringType; + $conditions[] = new Instanceof_($var, $type); + $oopNames[] = $stringType; } } if (\count($typeNames) + \count($oopNames) > 1) { @@ -270,7 +224,7 @@ private function generateConditions(Variable $var, array $types, ?Expr $classNam } if ($fromNullable) { $stringType = new Concat(new String_('?'), $stringType); - $conditions []= Plugin::call("is_null", $var); + $conditions[] = Plugin::call("is_null", $var); } $splitConditions = []; $currentConditions = []; @@ -278,52 +232,28 @@ private function generateConditions(Variable $var, array $types, ?Expr $classNam if (\is_array($condition)) { if ($currentConditions) { $currentConditions = $this->reduceConditions($currentConditions); - $splitConditions []= fn (Node ...$stmts): If_ => new If_( - $currentConditions, - ['stmts' => $stmts] - ); + $splitConditions[] = fn (Node ...$stmts): If_ => (new If_($currentConditions, ['stmts' => $stmts])); } $currentConditions = []; - [$conditionsStrict, $conditionsLoose, $castLoose] = $condition; $conditionsStrict = new BooleanNot($conditionsStrict); $conditionsLoose = new BooleanNot($conditionsLoose); - $splitConditions []= fn (Node ...$stmts): If_ => new If_( - $conditionsStrict, - ['stmts' => [ - new If_( - $conditionsLoose, - [ - 'stmts' => $stmts, - 'else' => new Else_([ - new Expression(new Assign($var, new $castLoose($var))), - ]), - ] - ) - ]] - ); + $splitConditions[] = fn (Node ...$stmts): If_ => (new If_($conditionsStrict, ['stmts' => [new If_($conditionsLoose, ['stmts' => $stmts, 'else' => new Else_([new Expression(new Assign($var, new $castLoose($var)))])])]])); } else { - $currentConditions []= $condition; + $currentConditions[] = $condition; } } if ($currentConditions) { $currentConditions = $this->reduceConditions($currentConditions); - $splitConditions []= fn (Node ...$stmts): If_ => new If_( - $currentConditions, - ['stmts' => $stmts] - ); + $splitConditions[] = fn (Node ...$stmts): If_ => (new If_($currentConditions, ['stmts' => $stmts])); } - return [ - $noOopTypes, - $stringType, - function (Node ...$expr) use ($splitConditions): If_ { - $prev = $expr; - foreach ($splitConditions as $func) { - $prev = [$func(...$prev)]; - } - return $prev[0]; + return [$noOopTypes, $stringType, function (Node ...$expr) use ($splitConditions): If_ { + $prev = $expr; + foreach ($splitConditions as $func) { + $prev = [$func(...$prev)]; } - ]; + return $prev[0]; + }]; } /** * Strip typehint. @@ -408,37 +338,31 @@ public function enterFunction(FunctionLike $func, Context $ctx): ?FunctionLike $stmts = []; foreach ($func->getParams() as $index => $param) { $nullish = $param->default instanceof ConstFetch && $param->default->name->toLowerString() === 'null'; - if (!$condition = $this->strip($param->variadic ? new Variable('phabelVariadic') : $param->var, $param->type, $className, $nullish)) { + if (!($condition = $this->strip($param->variadic ? new Variable('phabelVariadic') : $param->var, $param->type, $className, $nullish))) { continue; } $index++; - $param->type = null; [$noOop, $string, $condition] = $condition; - $start = $param->variadic - ? new Concat(new String_("(): Argument #"), new Plus(new LNumber($index), new Variable('phabelVariadicIndex'))) - : new String_("(): Argument #$index ($".$param->var->name.")"); + $start = $param->variadic ? new Concat(new String_("(): Argument #"), new Plus(new LNumber($index), new Variable('phabelVariadicIndex'))) : new String_("(): Argument #{$index} (\$" . $param->var->name . ")"); $start = new Concat($start, new String_(" must be of type ")); $start = new Concat($start, $string); $start = new Concat($start, new String_(", ")); $start = new Concat($start, self::callPoly('getDebugType', $param->var)); $start = new Concat($start, new String_(" given, called in ")); $start = new Concat($start, self::callPoly('trace')); - $start = new Concat($functionName, $start); - $if = $condition(new Throw_(new New_(new FullyQualified(\TypeError::class), [new Arg($start)]))); if ($param->variadic) { - $stmts []= new Foreach_($param->var, new Variable('phabelVariadic'), ['keyVar' => new Variable('phabelVariadicIndex'), 'stmts' => [$if]]); + $stmts[] = new Foreach_($param->var, new Variable('phabelVariadic'), ['keyVar' => new Variable('phabelVariadicIndex'), 'stmts' => [$if]]); } else { - $stmts []= $if; + $stmts[] = $if; } } if ($stmts) { $ctx->toClosure($func); $func->stmts = \array_merge($stmts, $func->getStmts() ?? []); } - if ($this->checkVoid($returnType)) { $ctx->toClosure($func); $this->stack->push([self::VOID_RETURN]); @@ -446,7 +370,7 @@ public function enterFunction(FunctionLike $func, Context $ctx): ?FunctionLike return $func; } $var = new Variable('phabelReturn'); - if (!$condition = $this->strip($var, $returnType, $className, false, $this->getConfig('return', false))) { + if (!($condition = $this->strip($var, $returnType, $className, false, $this->getConfig('return', false)))) { $this->stack->push([self::IGNORE_RETURN]); return $func; } @@ -457,21 +381,17 @@ public function enterFunction(FunctionLike $func, Context $ctx): ?FunctionLike } $ctx->toClosure($func); $this->stack->push([self::TYPE_RETURN, $functionName, $func->returnsByRef(), ...$condition]); - $stmts = $func->getStmts(); $final = \end($stmts); if (!$final instanceof Return_) { [, $string, $condition] = $condition; - $start = new Concat($functionName, new String_("(): Return value must be of type ")); $start = new Concat($start, $string); $start = new Concat($start, new String_(", none returned in ")); $start = new Concat($start, self::callPoly('trace')); - $throw = new Throw_(new New_(new FullyQualified(\TypeError::class), [new Arg($start)])); - $func->stmts []= $throw; + $func->stmts[] = $throw; } - return $func; } public function enterReturn(Return_ $return, Context $ctx): ?Node @@ -491,25 +411,17 @@ public function enterReturn(Return_ $return, Context $ctx): ?Node return null; } [, $functionName, $byRef, $noOop, $string, $condition] = $current; - $var = new Variable('phabelReturn'); $assign = new Expression($byRef && $return->expr ? new AssignRef($var, $return->expr) : new Assign($var, $return->expr ?? BuilderHelpers::normalizeValue(null))); - $start = new Concat($functionName, new String_("(): Return value must be of type ")); $start = new Concat($start, $string); $start = new Concat($start, new String_(", ")); $start = new Concat($start, self::callPoly('getDebugType', $var)); $start = new Concat($start, new String_(" returned in ")); $start = new Concat($start, self::callPoly('trace')); - - $if = $condition( - new Throw_(new New_(new FullyQualified(\TypeError::class), [new Arg($start)])) - ); - + $if = $condition(new Throw_(new New_(new FullyQualified(\TypeError::class), [new Arg($start)]))); $return->expr = $var; - $ctx->insertBefore($return, $assign, $if); - return null; } public function leaveFunc(FunctionLike $func): void @@ -524,7 +436,7 @@ public function leaveFunc(FunctionLike $func): void public static function trace() { $trace = \debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]; - return ($trace['file'] ?? '').' on line '.($trace['line'] ?? ''); + return ($trace['file'] ?? '') . ' on line ' . ($trace['line'] ?? ''); } /** * Get debug type. @@ -539,7 +451,6 @@ public static function getDebugType($value) } return \get_debug_type($value); } - public static function next(array $config): array { return [StringConcatOptimizer::class]; diff --git a/src/Plugin/VariableFinder.php b/src/Plugin/VariableFinder.php index a3d8f0c19..a5a595a93 100644 --- a/src/Plugin/VariableFinder.php +++ b/src/Plugin/VariableFinder.php @@ -33,7 +33,7 @@ class VariableFinder extends Plugin public static function find(Node $ast, bool $byRef = false): array { if (!isset(self::$singleton)) { - self::$singleton = new self; + self::$singleton = new self(); self::$singletonTraverser = Traverser::fromPlugin(self::$singleton); } self::$singleton->setConfig('byRef', $byRef); @@ -61,7 +61,7 @@ private function __construct() public function enter(Variable $var) { if (\is_string($var->name) && $var->name !== 'this') { - $this->found[$var->name]= new ClosureUse($var, $this->getConfig('byRef', false)); + $this->found[$var->name] = new ClosureUse($var, $this->getConfig('byRef', false)); } } /** diff --git a/src/PluginCache.php b/src/PluginCache.php index 49756019f..e9d5a6d6f 100644 --- a/src/PluginCache.php +++ b/src/PluginCache.php @@ -24,7 +24,6 @@ class PluginCache * @var array, string[]> */ private static array $leaveMethods = []; - /** * Cache method information. * @@ -41,11 +40,11 @@ private static function cacheMethods(string $plugin): void if (\str_starts_with($method, 'enter')) { $reflection = new ReflectionMethod($plugin, $method); $type = $reflection->getParameters()[0]->getType()->getName(); - self::$enterMethods[$plugin][$type] []= $method; + self::$enterMethods[$plugin][$type][] = $method; } elseif (\str_starts_with($method, 'leave')) { $reflection = new ReflectionMethod($plugin, $method); $type = $reflection->getParameters()[0]->getType()->getName(); - self::$leaveMethods[$plugin][$type] []= $method; + self::$leaveMethods[$plugin][$type][] = $method; } } } @@ -111,7 +110,7 @@ public static function leaveMethods(string $plugin): array */ public static function previous(string $plugin, array $config): array { - $pluginConfig = $plugin.\json_encode($config); + $pluginConfig = $plugin . \json_encode($config); /** @var array, array, array>> */ static $cache = []; if (isset($cache[$pluginConfig])) { @@ -130,7 +129,7 @@ public static function previous(string $plugin, array $config): array */ public static function next(string $plugin, array $config): array { - $pluginConfig = $plugin.\json_encode($config); + $pluginConfig = $plugin . \json_encode($config); /** @var array, array, array>> */ static $cache = []; if (isset($cache[$pluginConfig])) { @@ -149,7 +148,7 @@ public static function next(string $plugin, array $config): array */ public static function withPrevious(string $plugin, array $config): array { - $pluginConfig = $plugin.\json_encode($config); + $pluginConfig = $plugin . \json_encode($config); /** @var array, array, array>> */ static $cache = []; if (isset($cache[$pluginConfig])) { @@ -168,7 +167,7 @@ public static function withPrevious(string $plugin, array $config): array */ public static function withNext(string $plugin, array $config): array { - $pluginConfig = $plugin.\json_encode($config); + $pluginConfig = $plugin . \json_encode($config); /** @var array, array, array>> */ static $cache = []; if (isset($cache[$pluginConfig])) { diff --git a/src/PluginGraph/CircularException.php b/src/PluginGraph/CircularException.php index c0c5278e6..515670e7a 100644 --- a/src/PluginGraph/CircularException.php +++ b/src/PluginGraph/CircularException.php @@ -27,7 +27,7 @@ class CircularException extends \Exception public function __construct(array $plugins, \Throwable $previous = null) { $this->plugins = $plugins; - parent::__construct("Detected circular reference: ".\implode(" => ", $plugins), 0, $previous); + parent::__construct("Detected circular reference: " . \implode(" => ", $plugins), 0, $previous); } /** * Get plugins. diff --git a/src/PluginGraph/Graph.php b/src/PluginGraph/Graph.php index a5c5f4aa7..f4a555577 100644 --- a/src/PluginGraph/Graph.php +++ b/src/PluginGraph/Graph.php @@ -26,7 +26,7 @@ class Graph */ public function __construct() { - $this->graph = new GraphInternal; + $this->graph = new GraphInternal(); } /** * Get new package context. @@ -37,7 +37,6 @@ public function getPackageContext(): PackageContext { return $this->graph->getPackageContext(); } - /** * Add plugin. * @@ -62,7 +61,8 @@ public function flatten(): ResolvedGraph { $this->resolvedGraph ??= new ResolvedGraph(...$this->graph->flatten()); $this->graph = null; - while (\gc_collect_cycles()); + while (\gc_collect_cycles()) { + } return $this->resolvedGraph; } } diff --git a/src/PluginGraph/GraphInternal.php b/src/PluginGraph/GraphInternal.php index 8b4d90558..91c87563e 100644 --- a/src/PluginGraph/GraphInternal.php +++ b/src/PluginGraph/GraphInternal.php @@ -22,28 +22,24 @@ class GraphInternal * @var array, array> */ private array $plugins = []; - /** * Package contexts. * * @var PackageContext[] */ private array $packageContexts = []; - /** * Stores list of Nodes that are not required by any other node. * * @var SplObjectStorage */ private SplObjectStorage $unlinkedNodes; - /** * Stores list of Nodes that weren't yet processed. * * @var SplObjectStorage */ public SplObjectStorage $unprocessedNode; - /** * Constructor. */ @@ -52,7 +48,6 @@ public function __construct() $this->unlinkedNodes = new SplObjectStorage(); $this->unprocessedNode = new SplObjectStorage(); } - /** * Get new package context. */ @@ -60,10 +55,8 @@ public function getPackageContext(): PackageContext { $packageContext = new PackageContext(); $this->packageContexts[] = $packageContext; - return $packageContext; } - /** * Add plugin. * @@ -79,7 +72,6 @@ public function addPlugin(string $plugin, array $config, PackageContext $ctx): a { return \array_map(fn (array $config): Node => $this->addPluginInternal($plugin, $config, $ctx), $plugin::splitConfig($config)); } - /** * Add plugin. * @@ -98,10 +90,8 @@ private function addPluginInternal(string $plugin, array $config, PackageContext $this->plugins[$plugin][$configStr] = $node = new Node($this, $ctx); $this->unlinkedNodes->attach($node); $this->unprocessedNode->attach($node); - return $node->init($plugin, $config); } - /** * Set unlinked node as linked. */ @@ -111,7 +101,6 @@ public function linkNode(Node $node): void $this->unlinkedNodes->detach($node); } } - /** * Flatten graph. * @@ -133,7 +122,7 @@ public function flatten(): array /** @var Node */ $initNode = $node; } - $this->unlinkedNodes = new SplObjectStorage; + $this->unlinkedNodes = new SplObjectStorage(); $this->unlinkedNodes->attach($initNode); $this->unprocessedNode->attach($initNode); $result = $initNode->circular()->flatten(); diff --git a/src/PluginGraph/Node.php b/src/PluginGraph/Node.php index ddf6aa492..dbcc718da 100644 --- a/src/PluginGraph/Node.php +++ b/src/PluginGraph/Node.php @@ -22,7 +22,6 @@ class Node * @var Plugins */ public Plugins $plugin; - /** * Original plugin name. * @@ -35,7 +34,6 @@ class Node * @var class-string */ private string $nameConcat; - /** * Associated package context. * @@ -48,43 +46,36 @@ class Node * @var SplObjectStorage */ private SplObjectStorage $requires; - /** * Nodes that this node extends. * * @var SplObjectStorage */ private SplObjectStorage $extends; - /** * Nodes that require this node. * * @var SplObjectStorage */ private SplObjectStorage $requiredBy; - /** * Nodes that extend this node. * * @var SplObjectStorage */ private SplObjectStorage $extendedBy; - /** * Graph instance. */ private GraphInternal $graph; - /** * Whether this node was visited when looking for circular requirements. */ private bool $visitedCircular = false; - /** * Whether this node can be required, or only extended. */ private bool $canBeRequired = true; - /** * Constructor. * @@ -94,10 +85,10 @@ public function __construct(GraphInternal $graph, PackageContext $ctx) { $this->packageContext = $ctx; $this->graph = $graph; - $this->requiredBy = new SplObjectStorage; - $this->extendedBy = new SplObjectStorage; - $this->requires = new SplObjectStorage; - $this->extends = new SplObjectStorage; + $this->requiredBy = new SplObjectStorage(); + $this->extendedBy = new SplObjectStorage(); + $this->requires = new SplObjectStorage(); + $this->extends = new SplObjectStorage(); } /** * Initialization function. @@ -114,7 +105,6 @@ public function init(string $plugin, array $pluginConfig): self { $this->name = $plugin; $this->plugin = new Plugins($plugin, $pluginConfig); - $this->canBeRequired = PluginCache::canBeRequired($plugin); foreach (PluginCache::next($plugin, $pluginConfig) as $class => $config) { foreach ($this->graph->addPlugin($class, $config, $this->packageContext) as $node) { @@ -136,10 +126,8 @@ public function init(string $plugin, array $pluginConfig): self $this->extend($node); } } - return $this; } - /** * Make node require another node. * @@ -159,7 +147,6 @@ private function require(self $node): void } $this->requires->attach($node); $node->requiredBy->attach($this); - $this->graph->linkNode($this); } /** @@ -176,10 +163,8 @@ private function extend(self $node): void } $this->extends->attach($node); $node->extendedBy->attach($this); - $this->graph->linkNode($this); } - /** * Merge node with another node. * @@ -202,12 +187,11 @@ public function merge(self $other): Node $that->extend($this); $that->extends->detach($other); } - $other->requiredBy = new SplObjectStorage; - $other->extendedBy = new SplObjectStorage; + $other->requiredBy = new SplObjectStorage(); + $other->extendedBy = new SplObjectStorage(); $this->graph->unprocessedNode->detach($other); return $this; } - /** * Look for circular references, while merging package contexts. * @@ -218,7 +202,7 @@ public function circular(): self if ($this->visitedCircular) { $plugins = [$this->name]; foreach (\debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, DEBUG_BACKTRACE_PROVIDE_OBJECT) as $frame) { - $plugins []= $frame['object']->name; + $plugins[] = $frame['object']->name; if ($frame['object'] === $this) { break; } @@ -226,16 +210,13 @@ public function circular(): self throw new CircularException($plugins); } $this->visitedCircular = true; - foreach ($this->requiredBy as $that) { $this->packageContext->merge($that->circular()->packageContext); } foreach ($this->extendedBy as $that) { $this->packageContext->merge($that->circular()->packageContext); } - $this->visitedCircular = false; - return $this; } /** @@ -246,18 +227,15 @@ public function circular(): self public function flatten(): array { /** @var SplQueue */ - $initQueue = new SplQueue; - + $initQueue = new SplQueue(); /** @var SplQueue> */ - $queue = new SplQueue; + $queue = new SplQueue(); $queue->enqueue($initQueue); - $packages = []; $this->flattenInternal($queue, $packages); if ($this->extendedBy->count() || $this->requiredBy->count()) { throw new Exception('Graph resolution has stalled'); } - return [$queue, $packages]; } /** @@ -275,7 +253,7 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages): voi do { $processedAny = false; $prevNode = null; - $toDetach = new SplQueue; + $toDetach = new SplQueue(); foreach ($this->extendedBy as $node) { $node->extends->detach($this); if (\count($node->requires) + \count($node->extends) === 0) { @@ -291,9 +269,8 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages): voi $this->extendedBy->detach($node); $this->graph->unprocessedNode->detach($node); } - $prevNode = null; - $toDetach = new SplQueue; + $toDetach = new SplQueue(); foreach ($this->requiredBy as $node) { $node->requires->detach($this); if (\count($node->requires) + \count($node->extends) === 0) { @@ -309,8 +286,7 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages): voi $this->requiredBy->detach($node); $this->graph->unprocessedNode->detach($node); } - - $toDetach = new SplQueue; + $toDetach = new SplQueue(); foreach ($this->extendedBy as $node) { if (\count($node->extends) + \count($node->requires) === 0) { $toDetach->enqueue($node); @@ -321,13 +297,12 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages): voi foreach ($toDetach as $node) { $this->extendedBy->detach($node); } - - $toDetach = new SplQueue; + $toDetach = new SplQueue(); foreach ($this->requiredBy as $node) { if (\count($node->extends) + \count($node->requires) === 0) { $toDetach->enqueue($node); if (!$queue->isEmpty()) { - $queueOfQueues->enqueue(new SplQueue); + $queueOfQueues->enqueue(new SplQueue()); } $node->flattenInternal($queueOfQueues, $packages); $processedAny = true; @@ -338,7 +313,6 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages): voi } } while ($processedAny); } - /** * Add packages from package context. * diff --git a/src/PluginGraph/PackageContext.php b/src/PluginGraph/PackageContext.php index e2de1e25c..3a21b2aa6 100644 --- a/src/PluginGraph/PackageContext.php +++ b/src/PluginGraph/PackageContext.php @@ -39,7 +39,6 @@ public function merge(self $other): self $this->packages += $other->packages; return $this; } - /** * Check if a package is present in the package context. * @@ -51,7 +50,6 @@ public function has(string $package): bool { return isset($this->packages[$package]); } - /** * Get package list. * diff --git a/src/PluginGraph/Plugins.php b/src/PluginGraph/Plugins.php index d0e66a9de..f69c9b1c7 100644 --- a/src/PluginGraph/Plugins.php +++ b/src/PluginGraph/Plugins.php @@ -20,7 +20,6 @@ class Plugins * @var array, array[]> */ public array $plugins = []; - /** * Constructor. * @@ -31,7 +30,6 @@ public function __construct(string $plugin, array $config) { $this->plugins[$plugin] = [$config]; } - /** * Merge with other plugins. * @@ -49,7 +47,6 @@ public function merge(self $other): void } } } - /** * Enqueue plugins. * @@ -63,12 +60,12 @@ public function enqueue(SplQueue $queue, PackageContext $ctx, array &$packages): foreach ($plugin::mergeConfigs(...$configs) as $config) { foreach ($plugin::getComposerRequires($config) as $package => $constraint) { $packages[$package] ??= []; - $packages[$package][]= $constraint; + $packages[$package][] = $constraint; } if (PluginCache::isEmpty($plugin)) { continue; } - $pluginObj = new $plugin; + $pluginObj = new $plugin(); $pluginObj->setConfigArray($config); $pluginObj->setPackageContext($ctx); $queue->enqueue($pluginObj); diff --git a/src/PluginGraph/ResolvedGraph.php b/src/PluginGraph/ResolvedGraph.php index fbd4f250a..35d362220 100644 --- a/src/PluginGraph/ResolvedGraph.php +++ b/src/PluginGraph/ResolvedGraph.php @@ -31,7 +31,6 @@ final class ResolvedGraph * Class storage. */ private ?ClassStoragePlugin $classStorage = null; - /** * Constructor. * @@ -40,20 +39,14 @@ final class ResolvedGraph */ public function __construct(SplQueue $plugins, array $packages = []) { - $this->packages = \array_map( - fn (array $constraints): string => \implode(':', \array_unique($constraints)), - $packages - ); - $this->plugins = new SplQueue; + $this->packages = \array_map(fn (array $constraints): string => \implode(':', \array_unique($constraints)), $packages); + $this->plugins = new SplQueue(); foreach ($plugins as $queue) { - $newQueue = new SplQueue; + $newQueue = new SplQueue(); foreach ($queue as $plugin) { if ($plugin instanceof ClassStoragePlugin) { if ($this->classStorage) { - $config = $this->classStorage->mergeConfigs( - $this->classStorage->getConfigArray(), - $plugin->getConfigArray() - ); + $config = $this->classStorage->mergeConfigs($this->classStorage->getConfigArray(), $plugin->getConfigArray()); if (\count($config) !== 1) { throw new Exception('Could not merge class storage config!'); } @@ -79,7 +72,6 @@ public function getPlugins(): SplQueue { return $this->plugins; } - /** * Get packages. * @@ -90,7 +82,6 @@ public function getPackages(): array { return $this->packages; } - /** * Get class storage. * @@ -100,7 +91,6 @@ public function getClassStorage(): ?ClassStoragePlugin { return $this->classStorage; } - /** * Returns graph debug information. * @@ -112,9 +102,10 @@ public function __debugInfo(): array foreach ($this->plugins as $queue) { $cur = []; foreach ($queue as $plugin) { - $cur[] = \basename(\str_replace('\\', '/', \get_class($plugin))); //[\get_class($plugin), $plugin->getConfigArray()]; + $cur[] = \basename(\str_replace('\\', '/', \get_class($plugin))); + //[\get_class($plugin), $plugin->getConfigArray()]; } - $res []= $cur; + $res[] = $cur; } return $res; } diff --git a/src/PluginInterface.php b/src/PluginInterface.php index 10cc0bf64..676126345 100644 --- a/src/PluginInterface.php +++ b/src/PluginInterface.php @@ -53,7 +53,6 @@ public static function withPrevious(array $config): array; * @psalm-return class-string[]|array, array> */ public static function withNext(array $config): array; - /** * Specify a list of composer dependencies. * @@ -124,7 +123,6 @@ public function setConfig(string $key, $value): void; * @return mixed */ public function hasConfig(string $key): bool; - /** * Merge multiple configurations into one (or more). * diff --git a/src/Target/Php.php b/src/Target/Php.php index f78e691c2..43619d308 100644 --- a/src/Target/Php.php +++ b/src/Target/Php.php @@ -21,19 +21,11 @@ class Php extends Plugin * * @var int[] */ - const VERSIONS = [ - 56, - 70, - 71, - 72, - 73, - 74, - 80, - ]; + const VERSIONS = [56, 70, 71, 72, 73, 74, 80]; /** * Default target. */ - const DEFAULT_TARGET = PHP_MAJOR_VERSION.PHP_MINOR_VERSION; + const DEFAULT_TARGET = PHP_MAJOR_VERSION . PHP_MINOR_VERSION; /** * Ignore target. */ @@ -41,16 +33,7 @@ class Php extends Plugin /** * Polyfill versions. */ - const POLYFILL_VERSIONS = [ - 'symfony/polyfill-php56' => '^1.19', - 'symfony/polyfill-php70' => '^1.19', - 'symfony/polyfill-php71' => '^1.19', - 'symfony/polyfill-php72' => '^1.23', - 'symfony/polyfill-php73' => '^1.23', - 'symfony/polyfill-php74' => '^1.23', - 'symfony/polyfill-php80' => '^1.23', - 'symfony/polyfill-php81' => '^1.23', - ]; + const POLYFILL_VERSIONS = ['symfony/polyfill-php56' => '^1.19', 'symfony/polyfill-php70' => '^1.19', 'symfony/polyfill-php71' => '^1.19', 'symfony/polyfill-php72' => '^1.23', 'symfony/polyfill-php73' => '^1.23', 'symfony/polyfill-php74' => '^1.23', 'symfony/polyfill-php80' => '^1.23', 'symfony/polyfill-php81' => '^1.23']; /** * Normalize target version string. * @@ -62,7 +45,7 @@ public static function normalizeVersion(string $target): int if ($target === 'auto') { return (int) self::DEFAULT_TARGET; } - if (\preg_match(":^\D*(\d+\.\d+)\..*:", $target, $matches)) { + if (\preg_match(":^\\D*(\\d+\\.\\d+)\\..*:", $target, $matches)) { $target = $matches[1]; } $target = \str_replace('.', '', $target); @@ -77,7 +60,7 @@ public static function normalizeVersion(string $target): int public static function unnormalizeVersion(int $target): string { $target = (string) $target; - return $target[0].'.'.$target[1]; + return $target[0] . '.' . $target[1]; } /** * Get PHP version range to target. @@ -88,21 +71,14 @@ public static function unnormalizeVersion(int $target): string private static function getRange(int $target): array { $key = \array_search($target, self::VERSIONS); - return $key === false - ? self::getRange((int) self::DEFAULT_TARGET) - : \array_slice( - self::VERSIONS, - 1 + $key - ); + return $key === false ? self::getRange((int) self::DEFAULT_TARGET) : \array_slice(self::VERSIONS, 1 + $key); } public static function getComposerRequires(array $config): array { $target = Php::normalizeVersion($config['target'] ?? self::DEFAULT_TARGET); - $res = [ - 'php' => '>='.Php::unnormalizeVersion($target).' <'.Php::unnormalizeVersion($target+1) - ]; + $res = ['php' => '>=' . Php::unnormalizeVersion($target) . ' <' . Php::unnormalizeVersion($target + 1)]; foreach (self::getRange($target) as $version) { - $version = "symfony/polyfill-php$version"; + $version = "symfony/polyfill-php{$version}"; $res[$version] = self::POLYFILL_VERSIONS[$version]; } return $res; @@ -111,7 +87,7 @@ public static function previous(array $config): array { $classes = [ComposerSanitizer::class => []]; foreach (self::getRange((int) ($config['target'] ?? self::DEFAULT_TARGET)) as $version) { - if (!\file_exists($dir = __DIR__."/Php$version")) { + if (!\file_exists($dir = __DIR__ . "/Php{$version}")) { continue; } foreach (\scandir($dir) as $file) { @@ -122,7 +98,7 @@ public static function previous(array $config): array continue; } /** @var class-string */ - $class = self::class.$version.'\\'.\basename($file, '.php'); + $class = self::class . $version . '\\' . \basename($file, '.php'); /** @var array */ $classes[$class] = $config[$class] ?? []; } @@ -131,17 +107,14 @@ public static function previous(array $config): array } public static function next(array $config): array { - $classes = [ - StmtExprWrapper::class => $config[StmtExprWrapper::class] ?? [], - NewFixer::class => [] - ]; + $classes = [StmtExprWrapper::class => $config[StmtExprWrapper::class] ?? [], NewFixer::class => []]; foreach (self::getRange((int) ($config['target'] ?? self::DEFAULT_TARGET)) as $version) { - if (!\file_exists(__DIR__."/Php$version")) { + if (!\file_exists(__DIR__ . "/Php{$version}")) { continue; } foreach (['Nested', 'Isset'] as $t) { /** @var class-string */ - $class = self::class.$version."\\$t"."ExpressionFixer"; + $class = self::class . $version . "\\{$t}" . "ExpressionFixer"; /** @var array */ $classes[$class] = $config[$class] ?? []; } diff --git a/src/Target/Php70/AnonymousClassReplacer.php b/src/Target/Php70/AnonymousClassReplacer.php index f2ddabaef..381a5f28a 100644 --- a/src/Target/Php70/AnonymousClassReplacer.php +++ b/src/Target/Php70/AnonymousClassReplacer.php @@ -32,7 +32,6 @@ class AnonymousClassReplacer extends Plugin * Anonymous class count. */ private static int $count = 0; - /** * Enter new. * @@ -62,23 +61,13 @@ public function enterNew(New_ $node, Context $ctx): void } else { $className = new String_('class@anonymous'); } - - $name = 'PhabelAnonymousClass'.\hash('sha256', $ctx->getFile()).(self::$count++); - $classNode->stmts []= (new Method('getPhabelOriginalName')) - ->makePublic() - ->makeStatic() - ->addStmt(new Return_($className)) - ->getNode(); - $classNode->implements []= new FullyQualified(AnonymousClassInterface::class); + $name = 'PhabelAnonymousClass' . \hash('sha256', $ctx->getFile()) . self::$count++; + $classNode->stmts[] = (new Method('getPhabelOriginalName'))->makePublic()->makeStatic()->addStmt(new Return_($className))->getNode(); + $classNode->implements[] = new FullyQualified(AnonymousClassInterface::class); $classNode->name = new Identifier($name); $node->class = new Node\Name($name); - $ctx->nameResolver->enterNode($classNode); - - $classNode = new If_( - new BooleanNot(self::call('class_exists', new ClassConstFetch($node->class, new Identifier('class')))), - ['stmts' => [$classNode]] - ); + $classNode = new If_(new BooleanNot(self::call('class_exists', new ClassConstFetch($node->class, new Identifier('class')))), ['stmts' => [$classNode]]); $topClass = null; foreach ($ctx->parents as $parent) { if ($parent instanceof Class_) { @@ -91,12 +80,10 @@ public function enterNew(New_ $node, Context $ctx): void $ctx->insertBefore($node, $classNode); } } - public static function previous(array $config): array { return [ArrowClosure::class, ReturnTypeHints::class, NullableType::class, UnionTypeStripper::class]; } - public static function next(array $config): array { return [StringConcatOptimizer::class]; diff --git a/src/Target/Php70/DefineArrayReplacer.php b/src/Target/Php70/DefineArrayReplacer.php index f81bab94d..a3e508a58 100644 --- a/src/Target/Php70/DefineArrayReplacer.php +++ b/src/Target/Php70/DefineArrayReplacer.php @@ -28,20 +28,15 @@ public function enter(FuncCall $node, Context $context) if (!$node->name instanceof Name || $node->name->toString() != 'define') { return null; } - $nameNode = $node->args[0]->value; $valueNode = $node->args[1]->value; - if (!$valueNode instanceof Node\Expr\Array_) { return null; } - if (!$context->parents->top() instanceof RootNode) { return self::callPoly('defineMe', ...$node->args); } - $constNode = new Node\Const_($nameNode->value, $valueNode); - return new Node\Stmt\Const_([$constNode]); } /** @@ -55,6 +50,6 @@ public static function defineMe(string $name, array $value): void { $name = \preg_replace("/[^A-Za-z0-9_]/", '', $name); $value = \var_export($value, true); - eval("const $name = $value;"); + eval("const {$name} = {$value};"); } } diff --git a/src/Target/Php70/GroupUseReplacer.php b/src/Target/Php70/GroupUseReplacer.php index 2b206b1dd..046443fad 100644 --- a/src/Target/Php70/GroupUseReplacer.php +++ b/src/Target/Php70/GroupUseReplacer.php @@ -24,10 +24,8 @@ class GroupUseReplacer extends Plugin public function leave(GroupUse $node): array { $nodePrefixParts = $node->prefix->parts; - return \array_map(fn (UseUse $useNode) => $this->createUseNode($nodePrefixParts, $useNode), $node->uses); } - /** * Create separate use node. * @@ -38,10 +36,8 @@ public function leave(GroupUse $node): array */ protected function createUseNode(array $nodePrefixParts, UseUse $useNode): Use_ { - $nodePrefixParts []= $useNode->name; - + $nodePrefixParts[] = $useNode->name; $nameNode = new Node\Name($nodePrefixParts); - return new Use_([new UseUse($nameNode, $useNode->alias)], $useNode->type); } } diff --git a/src/Target/Php70/IssetExpressionFixer.php b/src/Target/Php70/IssetExpressionFixer.php index f854c50f8..a527573df 100644 --- a/src/Target/Php70/IssetExpressionFixer.php +++ b/src/Target/Php70/IssetExpressionFixer.php @@ -15,356 +15,6 @@ class IssetExpressionFixer extends Plugin */ public static function next(array $config): array { - return [ - fixer::class => [ - 'PhpParser\\Node\\Expr\\ArrayDimFetch' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\Array_' => true, - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\ConstFetch' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\Print_' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\DNumber' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\LNumber' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\ClassConstFetch' => - [ - 'class' => - [ - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\FuncCall' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\MethodCall' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\PropertyFetch' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\StaticCall' => true, - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\PropertyFetch' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\Array_' => true, - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\Print_' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\DNumber' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\LNumber' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => - [ - 'class' => - [ - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\FuncCall' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\MethodCall' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\PropertyFetch' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\StaticCall' => true, - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], -] - ]; + return [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; } } diff --git a/src/Target/Php70/NestedExpressionFixer.php b/src/Target/Php70/NestedExpressionFixer.php index dcad14da8..749effeab 100644 --- a/src/Target/Php70/NestedExpressionFixer.php +++ b/src/Target/Php70/NestedExpressionFixer.php @@ -15,616 +15,6 @@ class NestedExpressionFixer extends Plugin */ public static function next(array $config): array { - return [ - fixer::class => [ - 'PhpParser\\Node\\Expr\\ArrayDimFetch' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\Print_' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\DNumber' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\LNumber' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\ClassConstFetch' => - [ - 'class' => - [ - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\FuncCall' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\MethodCall' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\PropertyFetch' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\StaticCall' => true, - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\FuncCall' => - [ - 'name' => - [ - 'PhpParser\\Node\\Expr\\Array_' => true, - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\ConstFetch' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\FuncCall' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\MethodCall' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\Print_' => true, - 'PhpParser\\Node\\Expr\\PropertyFetch' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\StaticCall' => true, - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\DNumber' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\LNumber' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\MethodCall' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\Array_' => true, - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\Print_' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\DNumber' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\LNumber' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\PropertyFetch' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\Array_' => true, - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\Print_' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\DNumber' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\LNumber' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\StaticCall' => - [ - 'class' => - [ - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\FuncCall' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\MethodCall' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\PropertyFetch' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\StaticCall' => true, - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => - [ - 'class' => - [ - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\FuncCall' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\MethodCall' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\PropertyFetch' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\StaticCall' => true, - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], -] - ]; + return [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticCall' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; } } diff --git a/src/Target/Php70/NullCoalesce/DisallowedExpressions.php b/src/Target/Php70/NullCoalesce/DisallowedExpressions.php index 38f324c8c..1a15d382c 100644 --- a/src/Target/Php70/NullCoalesce/DisallowedExpressions.php +++ b/src/Target/Php70/NullCoalesce/DisallowedExpressions.php @@ -6,96 +6,5 @@ abstract class DisallowedExpressions extends Plugin { - const EXPRESSIONS = [ - 'PhpParser\\Node\\Expr\\Array_' => true, - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ConstFetch' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\FuncCall' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\Match_' => true, - 'PhpParser\\Node\\Expr\\MethodCall' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\NullsafeMethodCall' => true, - 'PhpParser\\Node\\Expr\\NullsafePropertyFetch' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\Print_' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\StaticCall' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\Throw_' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\YieldFrom' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\DNumber' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\LNumber' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, -]; + const EXPRESSIONS = ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\Match_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\NullsafeMethodCall' => true, 'PhpParser\\Node\\Expr\\NullsafePropertyFetch' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\Throw_' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]; } diff --git a/src/Target/Php70/NullCoalesceReplacer.php b/src/Target/Php70/NullCoalesceReplacer.php index 01263e6e6..92150eb08 100644 --- a/src/Target/Php70/NullCoalesceReplacer.php +++ b/src/Target/Php70/NullCoalesceReplacer.php @@ -49,24 +49,12 @@ private static function &extractWorkVar(Expr &$var): Expr */ public function enter(Coalesce $node, Context $ctx): Ternary { - if (!Tools::hasSideEffects($workVar = &self::extractWorkVar($node->left)) - && !isset(DisallowedExpressions::EXPRESSIONS[\get_class($node->left)]) - ) { + if (!Tools::hasSideEffects($workVar =& self::extractWorkVar($node->left)) && !isset(DisallowedExpressions::EXPRESSIONS[\get_class($node->left)])) { return new Ternary(new Isset_([$node->left]), $node->left, $node->right); } $valueCopy = $workVar; - $check = new NotIdentical( - Tools::fromLiteral(null), - new Assign($workVar = $ctx->getVariable(), $valueCopy) - ); - return new Ternary( - $node->left === $workVar ? $check : new BooleanAnd( - $check, - new Isset_([$node->left]) - ), - $node->left, - $node->right - ); + $check = new NotIdentical(Tools::fromLiteral(null), new Assign($workVar = $ctx->getVariable(), $valueCopy)); + return new Ternary($node->left === $workVar ? $check : new BooleanAnd($check, new Isset_([$node->left])), $node->left, $node->right); } public static function withPrevious(array $config): array { diff --git a/src/Target/Php70/Polyfill.php b/src/Target/Php70/Polyfill.php index bc10bea0f..e852bc853 100644 --- a/src/Target/Php70/Polyfill.php +++ b/src/Target/Php70/Polyfill.php @@ -12,7 +12,6 @@ use ValueError; \define('BIG_ENDIAN', \pack('L', 1) === \pack('N', 1)); - /** * @author Daniil Gentili * @license MIT @@ -20,17 +19,11 @@ class Polyfill extends Plugin { private const IS_WINDOWS = PHP_OS_FAMILY === 'Windows'; - public const CONSTANTS = [ - IntlChar::class => [ - 'NO_NUMERIC_VALUE' => -123456789.0 - ] - ]; - + public const CONSTANTS = [IntlChar::class => ['NO_NUMERIC_VALUE' => -123456789.0]]; // Todo: dns_get_record CAA // Todo: filters // Todo: getenv/putenv // Todo: unpack - /** * Get composer requirements. * @@ -38,11 +31,8 @@ class Polyfill extends Plugin */ public static function getComposerRequires(array $config): array { - return [ - 'symfony/polyfill-php72' => Php::POLYFILL_VERSIONS['symfony/polyfill-php72'] - ]; + return ['symfony/polyfill-php72' => Php::POLYFILL_VERSIONS['symfony/polyfill-php72']]; } - public static function assert($assertion, string|Throwable|null $exception = null): bool { if ($assertion || Tools::ini_get('zend.assertions') !== 1) { @@ -57,11 +47,9 @@ public static function assert($assertion, string|Throwable|null $exception = nul if (Tools::ini_get('assert.exception')) { throw $exception; } - \trigger_error("Uncaught $exception"); + \trigger_error("Uncaught {$exception}"); return true; } - - public static function dirname(string $path, int $levels = 1): string { if ($levels === 1) { @@ -70,15 +58,14 @@ public static function dirname(string $path, int $levels = 1): string if ($levels < 1) { throw new ValueError('dirname(): Argument #2 ($levels) must be greater than or equal to 1'); } - for ($x = \strlen($path)-1; $x >= 0 && $levels > 0; $x--) { - if ($path[$x] === '/' || (self::IS_WINDOWS && $path[$x] === '\\')) { + for ($x = \strlen($path) - 1; $x >= 0 && $levels > 0; $x--) { + if ($path[$x] === '/' || self::IS_WINDOWS && $path[$x] === '\\') { --$levels; } } $path = \substr($path, \max(0, $x)); return $path === '' ? '.' : $path; } - public static function get_defined_functions(bool $exclude_disabled = true): array { if ($exclude_disabled) { @@ -89,7 +76,6 @@ public static function get_defined_functions(bool $exclude_disabled = true): arr } return \get_defined_functions(); } - public static function substr(string $string, int $offset, ?int $length = null): string { if (\strlen($string) === $offset) { @@ -97,7 +83,6 @@ public static function substr(string $string, int $offset, ?int $length = null): } return \substr($string, $offset, $length); } - public static function iconv_substr(string $string, int $offset, ?int $length = null, ?string $encoding = null): string|bool { $encoding ??= \iconv_get_encoding('internal_encoding'); @@ -108,7 +93,6 @@ public static function iconv_substr(string $string, int $offset, ?int $length = $length ??= $len; return \iconv_substr($string, $offset, $length, $encoding); } - public static function pack(string $format, ...$values): string { $l = \strlen($format); @@ -121,36 +105,32 @@ public static function pack(string $format, ...$values): string $repeater .= $format[$x]; } $x--; - $repeaterOrig = $repeater; if ($cur === 'a' || $cur === 'A' || $cur === 'h' || $cur === 'H' || $cur === '@') { $repeater = 1; } else { - $repeater = $repeater === '*' ? \count($values)-$y : (int) $repeater; + $repeater = $repeater === '*' ? \count($values) - $y : (int) $repeater; } - - if ((BIG_ENDIAN && $cur === 'g') || (!BIG_ENDIAN && $cur === 'G')) { + if (BIG_ENDIAN && $cur === 'g' || !BIG_ENDIAN && $cur === 'G') { $cur = ''; - for ($z = $y; $z < $y+$repeater; $z++) { + for ($z = $y; $z < $y + $repeater; $z++) { $cur .= 'a4'; $values[$z] = \strrev(\pack('f', $values[$z])); } $newFormat .= $cur; - } elseif ((BIG_ENDIAN && $cur === 'e') || (!BIG_ENDIAN && $cur === 'E')) { + } elseif (BIG_ENDIAN && $cur === 'e' || !BIG_ENDIAN && $cur === 'E') { $cur = ''; - for ($z = $y; $z < $y+$repeater; $z++) { + for ($z = $y; $z < $y + $repeater; $z++) { $cur .= 'a8'; $values[$z] = \strrev(\pack('d', $values[$z])); } $newFormat .= $cur; } else { - $newFormat .= $cur.$repeaterOrig; + $newFormat .= $cur . $repeaterOrig; } } - return \pack($newFormat, ...$values); } - /** * {@inheritDoc} */ diff --git a/src/Target/Php70/ReservedNameReplacer.php b/src/Target/Php70/ReservedNameReplacer.php index f256462dc..8e877d12d 100644 --- a/src/Target/Php70/ReservedNameReplacer.php +++ b/src/Target/Php70/ReservedNameReplacer.php @@ -17,16 +17,10 @@ class ReservedNameReplacer extends Plugin */ public function leaveNode(Node $node): void { - if (!( - $node instanceof Node\Expr\MethodCall || - $node instanceof Node\Expr\StaticCall || - $node instanceof Node\Stmt\ClassMethod || - $node instanceof Node\Expr\ClassConstFetch || - $node instanceof Node\Const_ - ) || !$node->name instanceof Identifier) { + if (!($node instanceof Node\Expr\MethodCall || $node instanceof Node\Expr\StaticCall || $node instanceof Node\Stmt\ClassMethod || $node instanceof Node\Expr\ClassConstFetch || $node instanceof Node\Const_) || !$node->name instanceof Identifier) { return; } - $name = &$node->name->name; + $name =& $node->name->name; if (\in_array(\strtolower($name), ['continue', 'empty', 'use', 'default', 'echo'])) { $name .= '_'; } diff --git a/src/Target/Php70/ReturnTypeHints.php b/src/Target/Php70/ReturnTypeHints.php index 82233108d..ff451758f 100644 --- a/src/Target/Php70/ReturnTypeHints.php +++ b/src/Target/Php70/ReturnTypeHints.php @@ -13,10 +13,6 @@ class ReturnTypeHints extends Plugin { public static function previous(array $config): array { - return [ - TypeHintReplacer::class => [ - 'return' => true - ] - ]; + return [TypeHintReplacer::class => ['return' => true]]; } } diff --git a/src/Target/Php70/ScalarTypeHints.php b/src/Target/Php70/ScalarTypeHints.php index 2020d3d11..3e2b992ab 100644 --- a/src/Target/Php70/ScalarTypeHints.php +++ b/src/Target/Php70/ScalarTypeHints.php @@ -13,10 +13,6 @@ class ScalarTypeHints extends Plugin { public static function previous(array $config): array { - return [ - TypeHintReplacer::class => [ - 'types' => ['int', 'float', 'string', 'bool'] - ] - ]; + return [TypeHintReplacer::class => ['types' => ['int', 'float', 'string', 'bool']]]; } } diff --git a/src/Target/Php70/StrictTypesDeclareStatementRemover.php b/src/Target/Php70/StrictTypesDeclareStatementRemover.php index ff5684b32..7b0a26d77 100644 --- a/src/Target/Php70/StrictTypesDeclareStatementRemover.php +++ b/src/Target/Php70/StrictTypesDeclareStatementRemover.php @@ -15,7 +15,7 @@ class StrictTypesDeclareStatementRemover extends Plugin { public function leave(Declare_ $node): ?Nop { - $node->declares = \array_filter($node->declares, fn (DeclareDeclare $declare) => $declare->key->name !== 'strict_types'); + $node->declares = \array_filter($node->declares, fn (DeclareDeclare $declare) => ($declare->key->name !== 'strict_types')); if (empty($node->declares)) { return new Nop(); } diff --git a/src/Target/Php70/ThrowableReplacer.php b/src/Target/Php70/ThrowableReplacer.php index 973aabf41..db1a01816 100644 --- a/src/Target/Php70/ThrowableReplacer.php +++ b/src/Target/Php70/ThrowableReplacer.php @@ -67,10 +67,7 @@ public function enterInstanceOf(Instanceof_ $node) if (!$this->isThrowable($node->class->toString())) { return null; } - return new BooleanOr( - new Instanceof_($node->expr, new FullyQualified('Exception')), - new Instanceof_($node->expr, new FullyQualified('Error')) - ); + return new BooleanOr(new Instanceof_($node->expr, new FullyQualified('Exception')), new Instanceof_($node->expr, new FullyQualified('Error'))); } return self::callPoly('isInstanceofThrowable', $node->expr, $node->class); } @@ -87,8 +84,7 @@ public function enterTryCatch(TryCatch $node): void $alreadyHasError = false; $next = false; foreach ($catch->types as &$type) { - if ($type instanceof FullyQualified && - $type->getLast() === "Error") { + if ($type instanceof FullyQualified && $type->getLast() === "Error") { $alreadyHasError = true; } if ($this->isThrowable($type->toString())) { @@ -101,14 +97,8 @@ public function enterTryCatch(TryCatch $node): void } } } - public static function withPrevious(array $config): array { - return [ - TypeHintReplacer::class => [ - 'type' => [\Throwable::class] - ], - MultipleCatchReplacer::class => [] - ]; + return [TypeHintReplacer::class => ['type' => [\Throwable::class]], MultipleCatchReplacer::class => []]; } } diff --git a/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php b/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php index ee72c6179..bb895a54f 100644 --- a/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php +++ b/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php @@ -19,6 +19,7 @@ class ClassConstantVisibilityModifiersRemover extends Plugin */ public function enter(ClassConst $node): void { - $node->flags = 0; // Remove constant modifier + $node->flags = 0; + // Remove constant modifier } } diff --git a/src/Target/Php71/ClosureFromCallable.php b/src/Target/Php71/ClosureFromCallable.php index 4e6b8f742..edaa4821c 100644 --- a/src/Target/Php71/ClosureFromCallable.php +++ b/src/Target/Php71/ClosureFromCallable.php @@ -27,15 +27,13 @@ public function enter(StaticCall $staticCall): ?StaticCall } return null; } - public static function proxy(string $method, ...$args) { if (\strtolower($method) === 'fromcallable') { return self::fromCallable($args[0]); } - return Closure::{$method}(...$args); + return Closure::$method(...$args); } - /** * Create closure from callable. * diff --git a/src/Target/Php71/IterableHint.php b/src/Target/Php71/IterableHint.php index 9575d01f4..92af2ec90 100644 --- a/src/Target/Php71/IterableHint.php +++ b/src/Target/Php71/IterableHint.php @@ -13,10 +13,6 @@ class IterableHint extends Plugin { public static function previous(array $config): array { - return [ - TypeHintReplacer::class => [ - 'types' => ['iterable'] - ] - ]; + return [TypeHintReplacer::class => ['types' => ['iterable']]]; } } diff --git a/src/Target/Php71/MultipleCatchReplacer.php b/src/Target/Php71/MultipleCatchReplacer.php index aa3b1318b..81bf4663f 100644 --- a/src/Target/Php71/MultipleCatchReplacer.php +++ b/src/Target/Php71/MultipleCatchReplacer.php @@ -24,12 +24,12 @@ public function leave(TryCatch $node): void $catches = []; foreach ($node->catches as $catch) { if (\count($catch->types) === 1) { - $catches []= $catch; + $catches[] = $catch; } else { foreach ($catch->types as $type) { $ncatch = clone $catch; $ncatch->types = [$type]; - $catches []= $ncatch; + $catches[] = $ncatch; } } } diff --git a/src/Target/Php71/NullableType.php b/src/Target/Php71/NullableType.php index 0db32aa0a..5f118995b 100644 --- a/src/Target/Php71/NullableType.php +++ b/src/Target/Php71/NullableType.php @@ -15,10 +15,6 @@ class NullableType extends Plugin { public static function previous(array $config): array { - return [ - TypeHintReplacer::class => [ - 'nullable' => true - ] - ]; + return [TypeHintReplacer::class => ['nullable' => true]]; } } diff --git a/src/Target/Php71/Polyfill.php b/src/Target/Php71/Polyfill.php index a5a76d9aa..20d61e33d 100644 --- a/src/Target/Php71/Polyfill.php +++ b/src/Target/Php71/Polyfill.php @@ -19,7 +19,6 @@ class Polyfill extends Plugin // Todo: grapheme_extract // Todo: getenv // Skip: output buffer functions - public static function unpack(string $format, string $string, int $offset = 0): array|bool { return \unpack($format, \substr($string, $offset)); @@ -28,13 +27,12 @@ public static function long2ip(int $ip): string|bool { return \long2ip($ip); } - public static function file_get_contents(...$params): string|false { if (isset($params[3]) && $params[3] < 0) { $f = \fopen($params[0], 'r', $params[1], $params[2]); \fseek($f, 0, SEEK_END); - \fseek($f, \ftell($f)+$params[3], SEEK_SET); + \fseek($f, \ftell($f) + $params[3], SEEK_SET); $length = $params[4] ?? null; if ($length === null) { return \stream_get_contents($f); @@ -43,7 +41,6 @@ public static function file_get_contents(...$params): string|false } return \file_get_contents(...$params); } - public static function get_headers(string $url, int $associative = 0, $context = null): array|false { if (!$context) { @@ -64,7 +61,6 @@ public static function get_headers(string $url, int $associative = 0, $context = } return $headers; } - public static function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int { if ($offset < 0) { @@ -81,7 +77,6 @@ public static function substr_count(string $haystack, string $needle, int $offse } return \substr_count($haystack, $needle, $offset); } - public static function strpos(string $haystack, string $needle, int $offset = 0): int|bool { return \strpos($haystack, $needle, $offset < 0 ? \strlen($haystack) + $offset : $offset); @@ -123,7 +118,6 @@ public static function grapheme_stripos(string $haystack, string $needle, int $o { return \grapheme_stripos($haystack, $needle, $offset < 0 ? \grapheme_strlen($haystack) + $offset : $offset); } - /** * {@inheritDoc} */ diff --git a/src/Target/Php71/VoidReturnType.php b/src/Target/Php71/VoidReturnType.php index 6c9c1036e..16e40a654 100644 --- a/src/Target/Php71/VoidReturnType.php +++ b/src/Target/Php71/VoidReturnType.php @@ -14,10 +14,6 @@ class VoidReturnType extends Plugin { public static function previous(array $config): array { - return [ - TypeHintReplacer::class => [ - 'void' => true - ] - ]; + return [TypeHintReplacer::class => ['void' => true]]; } } diff --git a/src/Target/Php72/ObjectTypeHintReplacer.php b/src/Target/Php72/ObjectTypeHintReplacer.php index 418a406e2..ba54c8e91 100644 --- a/src/Target/Php72/ObjectTypeHintReplacer.php +++ b/src/Target/Php72/ObjectTypeHintReplacer.php @@ -13,10 +13,6 @@ class ObjectTypeHintReplacer extends Plugin { public static function previous(array $config): array { - return [ - TypeHintReplacer::class => [ - 'types' => ['object'] - ] - ]; + return [TypeHintReplacer::class => ['types' => ['object']]]; } } diff --git a/src/Target/Php72/Polyfill.php b/src/Target/Php72/Polyfill.php index 33e1b3864..3b355a0c4 100644 --- a/src/Target/Php72/Polyfill.php +++ b/src/Target/Php72/Polyfill.php @@ -18,13 +18,11 @@ class Polyfill extends Plugin // Todo: ReflectionClass::getMethods, ReflectionClass::getProperties nullable // Todo: substr_compare // Skip PREG_UNMATCHED_AS_NULL - public static function json_decode(string $json, ?bool $associative = null, int $depth = 512, int $flags = 0) { $associative ??= !!($flags & JSON_OBJECT_AS_ARRAY); return \json_decode($json, $associative, $depth, $flags); } - public static function mb_convert_encoding(array|string $string, string $to_encoding, array|string|null $from_encoding = null): array|string|bool { $from_encoding ??= \mb_internal_encoding(); @@ -40,22 +38,15 @@ public static function mb_convert_encoding(array|string $string, string $to_enco } return \mb_convert_encoding($string, $to_encoding, $from_encoding); } - - public static function number_format( - float $num, - int $decimals = 0, - ?string $decimal_separator = ".", - ?string $thousands_separator = "," - ): string { + public static function number_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string + { $res = \number_format($num, $decimals, $decimal_separator, $thousands_separator); return $res === '-0' ? '0' : $res; } - public static function is_object($stuff): bool { return $stuff instanceof __PHP_Incomplete_Class ? true : \is_object($stuff); } - /** * {@inheritDoc} */ diff --git a/src/Target/Php72/TypeContravariance/TypeContravariance.php b/src/Target/Php72/TypeContravariance/TypeContravariance.php index 3e95c6022..a7ea57f2b 100644 --- a/src/Target/Php72/TypeContravariance/TypeContravariance.php +++ b/src/Target/Php72/TypeContravariance/TypeContravariance.php @@ -22,7 +22,7 @@ public static function processClassGraph(ClassStorage $storage): bool foreach ($storage->getClasses() as $class) { // Can override abstract methods foreach ($class->getMethods(Class_::MODIFIER_ABSTRACT) as $name => $method) { - $parentMethods = new SplStack; + $parentMethods = new SplStack(); $parentMethods->push($method); foreach ($class->getOverriddenMethods($name, Class_::MODIFIER_ABSTRACT, $method->flags & Class_::VISIBILITY_MODIFIER_MASK) as $childMethod) { $parentMethods->push($childMethod); @@ -41,10 +41,7 @@ public static function processClassGraph(ClassStorage $storage): bool if ($name === '__construct') { /** @var ClassMethod */ foreach ($class->getOverriddenMethods($name) as $childMethod) { - if ( - ($method->isPublic() && ($childMethod->isProtected() || $childMethod->isPrivate())) || - ($method->isProtected() && $childMethod->isPrivate()) - ) { + if ($method->isPublic() && ($childMethod->isProtected() || $childMethod->isPrivate()) || $method->isProtected() && $childMethod->isPrivate()) { $old = $childMethod->flags; $childMethod->flags &= ~Class_::VISIBILITY_MODIFIER_MASK; $childMethod->flags |= Class_::MODIFIER_PUBLIC; @@ -54,7 +51,7 @@ public static function processClassGraph(ClassStorage $storage): bool continue; } $act = \array_fill(0, \count($method->params), false); - $parentMethods = new SplStack; + $parentMethods = new SplStack(); $parentMethods->push($method); foreach ($class->getOverriddenMethods($name) as $childMethod) { foreach ($childMethod->params as $k => $param) { @@ -79,7 +76,6 @@ public static function processClassGraph(ClassStorage $storage): bool } return $changed; } - /** * {@inheritDoc} */ diff --git a/src/Target/Php73/NestedExpressionFixer.php b/src/Target/Php73/NestedExpressionFixer.php index 88f0affba..3535cc851 100644 --- a/src/Target/Php73/NestedExpressionFixer.php +++ b/src/Target/Php73/NestedExpressionFixer.php @@ -15,26 +15,6 @@ class NestedExpressionFixer extends Plugin */ public static function next(array $config): array { - return [ - fixer::class => [ - 'PhpParser\\Node\\Expr\\Instanceof_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Scalar\\DNumber' => true, - 'PhpParser\\Node\\Scalar\\LNumber' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], -] - ]; + return [fixer::class => ['PhpParser\\Node\\Expr\\Instanceof_' => ['expr' => ['PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; } } diff --git a/src/Target/Php73/Polyfill.php b/src/Target/Php73/Polyfill.php index 6e7634a39..d77a29bcd 100644 --- a/src/Target/Php73/Polyfill.php +++ b/src/Target/Php73/Polyfill.php @@ -14,12 +14,10 @@ class Polyfill extends Plugin // Skip apache_request_headers // Todo: setrawcookie // Todo: password_hash - public static function getComposerRequires(array $config): array { return ['ralouphie/getallheaders' => '^3|^2']; } - public static function array_push(array &$array, ...$values): int { if (\count($values) === 0) { @@ -34,7 +32,6 @@ public static function array_unshift(array &$array, ...$values): int } return \array_unshift($array, ...$values); } - /** * {@inheritDoc} */ diff --git a/src/Target/Php74/ArrayUnpack.php b/src/Target/Php74/ArrayUnpack.php index 90b54e77e..0488977a6 100644 --- a/src/Target/Php74/ArrayUnpack.php +++ b/src/Target/Php74/ArrayUnpack.php @@ -56,16 +56,16 @@ public function enter(Array_ $array, Context $context): ?FuncCall foreach ($array->items as $item) { if ($item->unpack) { if ($current->items) { - $args []= new Arg($current); + $args[] = new Arg($current); $current = new Array_(); } - $args []= new Arg($item->value); + $args[] = new Arg($item->value); } else { - $current->items []= $item; + $current->items[] = $item; } } if ($current->items) { - $args []= new Arg($current); + $args[] = new Arg($current); } return Plugin::call("array_merge", ...$args); } diff --git a/src/Target/Php74/ArrowClosure.php b/src/Target/Php74/ArrowClosure.php index 759763596..fec0bc45f 100644 --- a/src/Target/Php74/ArrowClosure.php +++ b/src/Target/Php74/ArrowClosure.php @@ -42,15 +42,7 @@ public function enter(ArrowFunction $func, Context $context): Closure $params[$param->var->name] = true; } } - $nodes['uses'] = \array_values( - \array_intersect_key( - \array_diff_key( - VariableFinder::find($func->expr), - $params, - ), - $context->variables->top()->getVars() - ) - ); + $nodes['uses'] = \array_values(\array_intersect_key(\array_diff_key(VariableFinder::find($func->expr), $params), $context->variables->top()->getVars())); return new Closure($nodes, $func->getAttributes()); } } diff --git a/src/Target/Php74/Polyfill.php b/src/Target/Php74/Polyfill.php index 38b6410f3..2d4b32df5 100644 --- a/src/Target/Php74/Polyfill.php +++ b/src/Target/Php74/Polyfill.php @@ -12,23 +12,16 @@ class Polyfill extends Plugin { // Todo: gmmktime, mktime - public static function array_filter(array $array, ?callable $callback = null, int $mode = 0): array { $callback ??= fn ($v) => $v; return \array_filter($array, $callback, $mode); } - - public static function array_splice( - array &$array, - int $offset, - ?int $length = null, - mixed $replacement = [] - ): array { + public static function array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array + { $length ??= \max(\count($array) - $offset, 0); return \array_splice($array, $offset, $length, $replacement); } - /** * {@inheritDoc} */ diff --git a/src/Target/Php74/Serializable.php b/src/Target/Php74/Serializable.php index d9500b4f4..e01786bc5 100644 --- a/src/Target/Php74/Serializable.php +++ b/src/Target/Php74/Serializable.php @@ -14,35 +14,36 @@ * Implement __serialize and __unserialize. */ class Serializable extends Plugin -{/* - public function enter(Class_ $class, Context $context): void - { - /** @var array */ - /* - $methods = []; - foreach ($class->stmts as $stmt) { - if ($stmt instanceof ClassMethod) { - $name = $stmt->name->toLowerString(); - $methods[$name] = $stmt; +{ + /* + public function enter(Class_ $class, Context $context): void + { + /** @var array */ + /* + $methods = []; + foreach ($class->stmts as $stmt) { + if ($stmt instanceof ClassMethod) { + $name = $stmt->name->toLowerString(); + $methods[$name] = $stmt; + } } - } - if (!isset($methods['__serialize']) && !isset($methods['__unserialize'])) { - return; - } - foreach ($class->implements as $name) { - $resolved = $context->getNameContext()->getResolvedClassName($name); - if ($resolved->toLowerString() === 'serializable' || $name->toLowerString() === 'serializable') { - return; // Already implements + if (!isset($methods['__serialize']) && !isset($methods['__unserialize'])) { + return; + } + foreach ($class->implements as $name) { + $resolved = $context->getNameContext()->getResolvedClassName($name); + if ($resolved->toLowerString() === 'serializable' || $name->toLowerString() === 'serializable') { + return; // Already implements + } + } + if (isset($methods['__sleep'])) { + $methods['__sleep']->name = new Identifier('__phabelSleep'); + } + if (isset($methods['__wakeup'])) { + $methods['__wakeup']->name = new Identifier('__phabelWakeup'); } - } - if (isset($methods['__sleep'])) { - $methods['__sleep']->name = new Identifier('__phabelSleep'); - } - if (isset($methods['__wakeup'])) { - $methods['__wakeup']->name = new Identifier('__phabelWakeup'); - } - $class->implements []= new FullyQualified(GlobalSerializable::class); - }*/ + $class->implements []= new FullyQualified(GlobalSerializable::class); + }*/ } diff --git a/src/Target/Php74/TypeContracovariance/TypeContracovariance.php b/src/Target/Php74/TypeContracovariance/TypeContracovariance.php index 1971a45d5..bac7a6fb0 100644 --- a/src/Target/Php74/TypeContracovariance/TypeContracovariance.php +++ b/src/Target/Php74/TypeContracovariance/TypeContracovariance.php @@ -23,7 +23,7 @@ public static function processClassGraph(ClassStorage $storage): bool foreach ($class->getMethods() as $name => $method) { $actReturn = false; $act = \array_fill(0, \count($method->params), false); - $parentMethods = new SplStack; + $parentMethods = new SplStack(); $parentMethods->push($method); foreach ($class->getOverriddenMethods($name) as $childMethod) { $childClass = $childMethod->getAttribute(Storage::STORAGE_KEY); @@ -55,7 +55,6 @@ public static function processClassGraph(ClassStorage $storage): bool } return $changed; } - /** * {@inheritDoc} */ diff --git a/src/Target/Php80/IssetExpressionFixer.php b/src/Target/Php80/IssetExpressionFixer.php index 72d57c017..f77e184bc 100644 --- a/src/Target/Php80/IssetExpressionFixer.php +++ b/src/Target/Php80/IssetExpressionFixer.php @@ -15,46 +15,6 @@ class IssetExpressionFixer extends Plugin */ public static function next(array $config): array { - return [ - fixer::class => [ - 'PhpParser\\Node\\Expr\\ArrayDimFetch' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - 'dim' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\PropertyFetch' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\ConstFetch' => true, - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - 'name' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => - [ - 'name' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Variable' => - [ - 'name' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], -] - ]; + return [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'dim' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true], 'name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Variable' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]]]]; } } diff --git a/src/Target/Php80/MatchTransformer.php b/src/Target/Php80/MatchTransformer.php index 6758dd63d..e614abaac 100644 --- a/src/Target/Php80/MatchTransformer.php +++ b/src/Target/Php80/MatchTransformer.php @@ -28,14 +28,7 @@ class MatchTransformer extends Plugin { public function enter(Match_ $match, Context $context): FuncCall { - $closure = new Closure( - [ - 'params' => [new Param($var = $context->getVariable())], - 'uses' => \array_values(VariableFinder::find($match, true)) - ] - ); - - + $closure = new Closure(['params' => [new Param($var = $context->getVariable())], 'uses' => \array_values(VariableFinder::find($match, true))]); $cases = []; $default = null; foreach ($match->arms as $arm) { @@ -44,14 +37,13 @@ public function enter(Match_ $match, Context $context): FuncCall continue; } foreach ($arm->conds as $cond) { - $cases []= [new Identical($var, $cond), new Return_($arm->body)]; + $cases[] = [new Identical($var, $cond), new Return_($arm->body)]; } } if (!$default) { $string = new Concat(new String_("Unhandled match value of type "), self::call('get_debug_type', $var)); $default = new Throw_(new New_(new FullyQualified(\UnhandledMatchError::class), [new Arg($string)])); } - if (empty($cases)) { $closure->stmts = [$default]; } else { @@ -60,18 +52,8 @@ public function enter(Match_ $match, Context $context): FuncCall [$cond, $body] = $case; $case = new ElseIf_($cond, [$body]); } - $closure->stmts = [ - new If_( - $ifCond, - [ - 'stmts' => [$ifBody], - 'elseifs' => $cases, - 'else' => new Else_([$default]) - ] - ) - ]; + $closure->stmts = [new If_($ifCond, ['stmts' => [$ifBody], 'elseifs' => $cases, 'else' => new Else_([$default])])]; } - return new FuncCall($closure, [new Arg($match->cond)]); } } diff --git a/src/Target/Php80/NestedExpressionFixer.php b/src/Target/Php80/NestedExpressionFixer.php index d5aef6930..8f314a487 100644 --- a/src/Target/Php80/NestedExpressionFixer.php +++ b/src/Target/Php80/NestedExpressionFixer.php @@ -15,659 +15,6 @@ class NestedExpressionFixer extends Plugin */ public static function next(array $config): array { - return [ - fixer::class => [ - 'PhpParser\\Node\\Expr\\ArrayDimFetch' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - 'dim' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Assign' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BitwiseNot' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BooleanNot' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Clone_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Empty_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\ErrorSuppress' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Eval_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\FuncCall' => - [ - 'name' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Instanceof_' => - [ - 'class' => - [ - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\YieldFrom' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\MethodCall' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\ConstFetch' => true, - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\New_' => - [ - 'class' => - [ - 'PhpParser\\Node\\Expr\\Assign' => true, - 'PhpParser\\Node\\Expr\\AssignRef' => true, - 'PhpParser\\Node\\Expr\\BitwiseNot' => true, - 'PhpParser\\Node\\Expr\\BooleanNot' => true, - 'PhpParser\\Node\\Expr\\Clone_' => true, - 'PhpParser\\Node\\Expr\\Closure' => true, - 'PhpParser\\Node\\Expr\\ClosureUse' => true, - 'PhpParser\\Node\\Expr\\Empty_' => true, - 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, - 'PhpParser\\Node\\Expr\\Eval_' => true, - 'PhpParser\\Node\\Expr\\Include_' => true, - 'PhpParser\\Node\\Expr\\Instanceof_' => true, - 'PhpParser\\Node\\Expr\\Isset_' => true, - 'PhpParser\\Node\\Expr\\New_' => true, - 'PhpParser\\Node\\Expr\\PostDec' => true, - 'PhpParser\\Node\\Expr\\PostInc' => true, - 'PhpParser\\Node\\Expr\\PreDec' => true, - 'PhpParser\\Node\\Expr\\PreInc' => true, - 'PhpParser\\Node\\Expr\\ShellExec' => true, - 'PhpParser\\Node\\Expr\\Ternary' => true, - 'PhpParser\\Node\\Expr\\UnaryMinus' => true, - 'PhpParser\\Node\\Expr\\UnaryPlus' => true, - 'PhpParser\\Node\\Expr\\YieldFrom' => true, - 'PhpParser\\Node\\Expr\\Yield_' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, - 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, - 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Double' => true, - 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, - 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, - 'PhpParser\\Node\\Expr\\Cast\\String_' => true, - 'PhpParser\\Node\\Scalar\\Encapsed' => true, - 'PhpParser\\Node\\Scalar\\String_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, - 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Print_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\PropertyFetch' => - [ - 'var' => - [ - 'PhpParser\\Node\\Expr\\ConstFetch' => true, - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - 'name' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => - [ - 'name' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Ternary' => - [ - 'if' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - 'else' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Throw_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\UnaryMinus' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\UnaryPlus' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Variable' => - [ - 'name' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\YieldFrom' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Yield_' => - [ - 'value' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - 'key' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\Div' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => - [ - 'right' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Cast\\Array_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Cast\\Bool_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Cast\\Double' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Cast\\Int_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Cast\\Object_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], - 'PhpParser\\Node\\Expr\\Cast\\String_' => - [ - 'expr' => - [ - 'PhpParser\\Node\\Expr\\Throw_' => true, - ], - ], -] - ]; + return [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'dim' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Assign' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BitwiseNot' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BooleanNot' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Clone_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Empty_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\ErrorSuppress' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Eval_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Instanceof_' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\New_' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\Print_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true], 'name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Ternary' => ['if' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'else' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Throw_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\UnaryMinus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\UnaryPlus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Variable' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\YieldFrom' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Yield_' => ['value' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'key' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Div' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Array_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Bool_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Double' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Int_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Object_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\String_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]]]]; } } diff --git a/src/Target/Php80/NullSafe/NullSafe.php b/src/Target/Php80/NullSafe/NullSafe.php index 9fdf82526..2eadd6c99 100644 --- a/src/Target/Php80/NullSafe/NullSafe.php +++ b/src/Target/Php80/NullSafe/NullSafe.php @@ -38,5 +38,4 @@ public function __get($name) { } } - -NullSafe::$singleton = new NullSafe; +NullSafe::$singleton = new NullSafe(); diff --git a/src/Target/Php80/NullSafeTransformer.php b/src/Target/Php80/NullSafeTransformer.php index efa3ebabf..c729f3f56 100644 --- a/src/Target/Php80/NullSafeTransformer.php +++ b/src/Target/Php80/NullSafeTransformer.php @@ -30,7 +30,6 @@ public function enterPropertyFetch(NullsafePropertyFetch $fetch): PropertyFetch { return new PropertyFetch(new Coalesce($fetch->var, new StaticPropertyFetch(new FullyQualified(NullSafe::class), 'singleton')), $fetch->name); } - /** * Method call. * @@ -41,7 +40,6 @@ public function enterMethodCall(NullsafeMethodCall $fetch): MethodCall { return new MethodCall(new Coalesce($fetch->var, new StaticPropertyFetch(new FullyQualified(NullSafe::class), 'singleton')), $fetch->name, $fetch->args); } - public static function previous(array $config): array { return [NestedExpressionFixer::class => [New_::class => ['class' => [NullsafePropertyFetch::class => true, NullsafeMethodCall::class => true]]]]; diff --git a/src/Target/Php80/Polyfill.php b/src/Target/Php80/Polyfill.php index d581088cf..b33564dc6 100644 --- a/src/Target/Php80/Polyfill.php +++ b/src/Target/Php80/Polyfill.php @@ -9,7 +9,6 @@ if (!\defined('CAL_EASTER_DEFAULT')) { \define('CAL_EASTER_DEFAULT', 0); } - /** * @author Daniil Gentili * @license MIT @@ -17,335 +16,229 @@ class Polyfill extends Plugin { // Todo: nullability of a bunch of mb_ functions - public static function easter_date(?int $year = null, int $mode = CAL_EASTER_DEFAULT): int { $year ??= (int) \date('Y'); return easter_date($year, $mode); } - public static function easter_days(?int $year = null, int $mode = CAL_EASTER_DEFAULT): int { $year ??= (int) \date('Y'); return easter_days($year, $mode); } - public static function unixtojd(?int $timestamp = null): int|bool { $timestamp ??= \time(); return unixtojd($timestamp); } - - public static function date_sunrise( - int $timestamp, - int $returnFormat = SUNFUNCS_RET_STRING, - ?float $latitude = null, - ?float $longitude = null, - ?float $zenith = null, - ?float $utcOffset = null - ): string|int|float|bool { + public static function date_sunrise(int $timestamp, int $returnFormat = SUNFUNCS_RET_STRING, ?float $latitude = null, ?float $longitude = null, ?float $zenith = null, ?float $utcOffset = null): string|int|float|bool + { $latitude ??= Tools::ini_get('date.default_latitude'); $longitude ??= Tools::ini_get('date.default_longitude'); $zenith ??= Tools::ini_get('date.sunrise_zenith'); $utcOffset ??= 0; return \date_sunrise($timestamp, $returnFormat, $latitude, $longitude, $zenith, $utcOffset); } - public static function date_sunset( - int $timestamp, - int $returnFormat = SUNFUNCS_RET_STRING, - ?float $latitude = null, - ?float $longitude = null, - ?float $zenith = null, - ?float $utcOffset = null - ): string|int|float|bool { + public static function date_sunset(int $timestamp, int $returnFormat = SUNFUNCS_RET_STRING, ?float $latitude = null, ?float $longitude = null, ?float $zenith = null, ?float $utcOffset = null): string|int|float|bool + { $latitude ??= Tools::ini_get('date.default_latitude'); $longitude ??= Tools::ini_get('date.default_longitude'); $zenith ??= Tools::ini_get('date.sunset_zenith'); $utcOffset ??= 0; return \date_sunset($timestamp, $returnFormat, $latitude, $longitude, $zenith, $utcOffset); } - public static function date(string $format, ?int $timestamp = null): string { return \date($format, $timestamp ?? \time()); } - public static function getdate(?int $timestamp = null): array { return \getdate($timestamp ?? \time()); } - public static function gmdate(string $format, ?int $timestamp = null): string { return \gmdate($format, $timestamp ?? \time()); } - public static function gmstrftime(string $format, ?int $timestamp = null): string|bool { return \gmstrftime($format, $timestamp ?? \time()); } - public static function idate(string $format, ?int $timestamp = null): int|bool { return \idate($format, $timestamp ?? \time()); } - public static function localtime(?int $timestamp = null, bool $associative = false): array { return \localtime($timestamp ?? \time(), $associative); } - public static function strftime(string $format, ?int $timestamp = null): string|bool { return \strftime($format, $timestamp ?? \time()); } - public static function strtotime(string $datetime, ?int $baseTimestamp = null): int|bool { return \strtotime($datetime, $baseTimestamp ?? \time()); } - public static function error_reporting(?int $error_level = null): int { return $error_level === null ? \error_reporting() : \error_reporting($error_level); } - public static function hash_update_file($context, string $filename, $stream_context = null): bool { return $stream_context ? \hash_update_file($context, $filename, $stream_context) : \hash_update_file($context, $filename); } - public static function iconv_mime_decode_headers(string $headers, int $mode = 0, ?string $encoding = null): array|false { return \iconv_mime_decode_headers($headers, $mode, $encoding ?? \iconv_get_encoding('internal_encoding')); } - public static function iconv_mime_decode(string $string, int $mode = 0, ?string $encoding = null): string|bool { return \iconv_mime_decode($string, $mode, $encoding ?? \iconv_get_encoding('internal_encoding')); } - public static function iconv_strlen(string $string, ?string $encoding = null): int|bool { return \iconv_strlen($string, $encoding ?? \iconv_get_encoding('internal_encoding')); } - - public static function iconv_strpos( - string $haystack, - string $needle, - int $offset = 0, - ?string $encoding = null - ): int|bool { + public static function iconv_strpos(string $haystack, string $needle, int $offset = 0, ?string $encoding = null): int|bool + { return \iconv_strpos($haystack, $needle, $offset, $encoding ?? \iconv_get_encoding('internal_encoding')); } - public static function iconv_strrpos(string $haystack, string $needle, ?string $encoding = null): int|bool { return \iconv_strrpos($haystack, $needle, $encoding ?? \iconv_get_encoding('internal_encoding')); } - - public static function iconv_substr( - string $string, - int $offset, - ?int $length = null, - ?string $encoding = null - ): string|bool { + public static function iconv_substr(string $string, int $offset, ?int $length = null, ?string $encoding = null): string|bool + { return \iconv_substr($string, $offset, $length, $encoding ?? \iconv_get_encoding('internal_encoding')); } - public static function get_resources(?string $type = null): array { return $type === null ? \get_resources() : \get_resources($type); } - public static function mhash(int $algo, string $data, ?string $key = null): string|bool { return $key === null ? \mhash($algo, $data) : \mhash($algo, $data); } - public static function ignore_user_abort(?bool $enable = null): int { return $enable === null ? \ignore_user_abort() : \ignore_user_abort($enable); } - - public static function fsockopen( - string $hostname, - int $port = -1, - int &$error_code = null, - string &$error_message = null, - ?float $timeout = null - ) { + public static function fsockopen(string $hostname, int $port = -1, int &$error_code = null, string &$error_message = null, ?float $timeout = null) + { return $timeout === null ? \fsockopen($hostname, $port, $error_code, $error_message) : \fsockopen($hostname, $port, $error_code, $error_message); } - public static function ob_implicit_flush(bool $flag = true): void { \ob_implicit_flush((int) $flag); } - public static function password_hash(string $password, string|int|null $algo, array $options = []): string { return \password_hash($password, $algo ?? PASSWORD_DEFAULT, $options); } - public static function pcntl_async_signals(?bool $enable = null): bool { return $enable === null ? \pcntl_async_signals() : \pcntl_async_signals($enable); } - public static function pcntl_getpriority(?int $process_id = null, int $mode = PRIO_PROCESS): int|bool { return \pcntl_getpriority($process_id ?? \getmypid(), $mode); } - public static function pcntl_setpriority(int $priority, ?int $process_id = null, int $mode = PRIO_PROCESS): bool { return \pcntl_setpriority($priority, $process_id ?? \getmypid(), $mode); } - public static function readline_info(?string $var_name = null, int|string|bool|null $value = null) { return $var_name === null && $value === null ? \readline_info() : \readline_info($var_name, $value); } - public static function readline_read_history(?string $filename = null): bool { return $filename === null ? \readline_read_history() : \readline_read_history($filename); } - public static function readline_write_history(?string $filename = null): bool { return $filename === null ? \readline_read_history() : \readline_write_history($filename); } - public static function session_cache_expire(?int $value = null): int|bool { return $value === null ? \session_cache_expire() : \session_cache_expire($value); } - public static function session_cache_limiter(?string $value = null): string|bool { return $value === null ? \session_cache_limiter() : \session_cache_limiter($value); } - public static function session_id(?string $id = null): string|bool { return $id === null ? \session_id() : \session_id($id); } - public static function session_module_name(?string $module = null): string|bool { return $module === null ? \session_module_name() : \session_module_name($module); } - public static function session_name(?string $name = null): string|bool { return $name === null ? \session_name() : \session_name($name); } - public static function session_save_path(?string $path = null): string|bool { return $path === null ? \session_save_path() : \session_save_path($path); } - - public static function session_set_cookie_params( - int|array $lifetime_or_options, - ?string $path = null, - ?string $domain = null, - ?bool $secure = null, - ?bool $httponly = null - ): bool { - return \is_array($lifetime_or_options) - ? \session_set_cookie_params($lifetime_or_options) - : \session_set_cookie_params(\array_filter(['lifetime' => $lifetime_or_options, 'path' => $path, 'domain' => $domain, 'secure' => $secure, 'httponly' => $httponly])); + public static function session_set_cookie_params(int|array $lifetime_or_options, ?string $path = null, ?string $domain = null, ?bool $secure = null, ?bool $httponly = null): bool + { + return \is_array($lifetime_or_options) ? \session_set_cookie_params($lifetime_or_options) : \session_set_cookie_params(\array_filter(['lifetime' => $lifetime_or_options, 'path' => $path, 'domain' => $domain, 'secure' => $secure, 'httponly' => $httponly])); } - public static function spl_autoload_extensions(?string $file_extensions = null): string { return $file_extensions === null ? \spl_autoload_extensions() : \spl_autoload_extensions($file_extensions); } - public static function spl_autoload_register(?callable $callback = null, bool $throw = true, bool $prepend = false): bool { return \spl_autoload_register($callback ?? 'spl_autoload', $throw, $prepend); } - public static function spl_autoload(string $class, ?string $file_extensions = null): void { $file_extensions === null ? \spl_autoload($class) : \spl_autoload($class, $file_extensions); } - public static function html_entity_decode(string $string, int $flags = ENT_COMPAT, ?string $encoding = null): string { return \html_entity_decode($string, $flags, $encoding ?? Tools::ini_get('default_charset')); } - - public static function htmlentities( - string $string, - int $flags = ENT_COMPAT, - ?string $encoding = null, - bool $double_encode = true - ): string { - return \htmlentities($string, $flags, $encoding ?? Tools::ini_get('default_charset'), $double_encode); + public static function htmlentities(string $string, int $flags = ENT_COMPAT, ?string $encoding = null, bool $double_encode = true): string + { + return \htmlentities($string, $flags, $encoding ?? Tools::ini_get('default_charset'), $double_encode); } - public static function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int { return $format === null ? \str_word_count($string, $format) : \str_word_count($string, $format, $characters); } - public static function strcspn( - string $string, - string $characters, - int $offset = 0, - ?int $length = null - ): int { + public static function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int + { return $length === null ? \strcspn($string, $characters, $offset) : \strcspn($string, $characters, $offset, $length); } public static function strip_tags(string $string, array|string|null $allowed_tags = null): string { return $allowed_tags === null ? \strip_tags($string) : \strip_tags($string, $allowed_tags); } - - public static function strspn( - string $string, - string $characters, - int $offset = 0, - ?int $length = null - ): int { + public static function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int + { return $length === null ? \strspn($string, $characters, $offset) : \strspn($string, $characters, $offset, $length); } - public static function substr_compare( - string $haystack, - string $needle, - int $offset, - ?int $length = null, - bool $case_insensitive = false - ): int { - return \substr_compare($haystack, $needle, $offset, $length ?? \max(\strlen($needle), \strlen($haystack)-($offset < 0 ? \strlen($haystack)+$offset : $offset)), $case_insensitive); + public static function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int + { + return \substr_compare($haystack, $needle, $offset, $length ?? \max(\strlen($needle), \strlen($haystack) - ($offset < 0 ? \strlen($haystack) + $offset : $offset)), $case_insensitive); } - - public static function substr_count( - string $haystack, - string $needle, - int $offset = 0, - ?int $length = null - ): int { + public static function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int + { return $length === null ? \substr_count($haystack, $needle, $offset) : \substr_count($haystack, $needle, $offset, $length); } - - public static function substr_replace( - array|string $string, - array|string $replace, - array|int $offset, - array|int|null $length = null - ): string|array { + public static function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array + { return $length === null ? \substr_replace($string, $replace, $offset) : \substr_replace($string, $replace, $offset, $length); } public static function substr(string $string, int $offset, ?int $length = null): string { return $length === null ? \substr($string, $offset) : \substr($string, $offset, $length); } - /** * {@inheritDoc} */ diff --git a/src/Target/Php80/StaticReplacer.php b/src/Target/Php80/StaticReplacer.php index 58758c22c..2a386b50b 100644 --- a/src/Target/Php80/StaticReplacer.php +++ b/src/Target/Php80/StaticReplacer.php @@ -15,10 +15,6 @@ class StaticReplacer extends Plugin { public static function previous(array $config): array { - return [ - TypeHintReplacer::class => [ - 'types' => ['static'] - ] - ]; + return [TypeHintReplacer::class => ['types' => ['static']]]; } } diff --git a/src/Target/Php80/UnionTypeStripper.php b/src/Target/Php80/UnionTypeStripper.php index 09b1aa96a..36c784e3c 100644 --- a/src/Target/Php80/UnionTypeStripper.php +++ b/src/Target/Php80/UnionTypeStripper.php @@ -15,10 +15,6 @@ class UnionTypeStripper extends Plugin */ public static function previous(array $config): array { - return [ - TypeHintReplacer::class => [ - 'union' => true - ] - ]; + return [TypeHintReplacer::class => ['union' => true]]; } } diff --git a/src/Target/Polyfill.php b/src/Target/Polyfill.php index 4bf71802a..77c6d1274 100644 --- a/src/Target/Polyfill.php +++ b/src/Target/Polyfill.php @@ -2,10 +2,7 @@ namespace Phabel\Target; -use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node\Expr\FuncCall; -use PhpParser\Node\Expr\MethodCall; /** * @author Daniil Gentili diff --git a/src/Tasks/Init.php b/src/Tasks/Init.php index d27074c43..116612d93 100644 --- a/src/Tasks/Init.php +++ b/src/Tasks/Init.php @@ -21,15 +21,13 @@ public function run(Environment $environment) } catch (\Throwable $e) { } } - \set_error_handler( - function (int $errno = 0, string $errstr = '', string $errfile = '', int $errline = -1): bool { - // If error is suppressed with @, don't throw an exception - if (\error_reporting() === 0) { - return false; - } - throw new Exception($errstr, $errno, null, $errfile, $errline); + \set_error_handler(function (int $errno = 0, string $errstr = '', string $errfile = '', int $errline = -1): bool { + // If error is suppressed with @, don't throw an exception + if (\error_reporting() === 0) { + return false; } - ); + throw new Exception($errstr, $errno, null, $errfile, $errline); + }); $environment->set(Traverser::class, (new Traverser())->setGraph($this->graph)); } } diff --git a/src/Tools.php b/src/Tools.php index a405c3d3a..036c0a0e1 100644 --- a/src/Tools.php +++ b/src/Tools.php @@ -67,10 +67,7 @@ public static function replaceType(Node $node, string $class, array $propertyMap $nodeNew->setAttributes($node->getAttributes()); return $nodeNew; } - return new $class(...[ - ...\array_map(fn (string $name) => $node->{$name}, $node->getSubNodeNames()), - $node->getAttributes() - ]); + return new $class(...[...\array_map(fn (string $name) => $node->{$name}, $node->getSubNodeNames()), $node->getAttributes()]); } /** * Replace type in-place. @@ -100,12 +97,7 @@ public static function replaceTypeInPlace(Node &$node, string $class, array $pro */ public static function assign(Variable $name, Expr $expression): Expression { - return new Expression( - new Assign( - $name, - $expression - ) - ); + return new Expression(new Assign($name, $expression)); } /** * Call function. @@ -122,10 +114,8 @@ public static function assign(Variable $name, Expr $expression): Expression */ public static function call($name, ...$parameters) { - $parameters = \array_map(fn ($data) => $data instanceof Arg ? $data : new Arg($data), $parameters); - return \is_array($name) - ? new StaticCall(new FullyQualified($name[0]), $name[1], $parameters) - : new FuncCall(new FullyQualified($name), $parameters); + $parameters = \array_map(fn ($data) => ($data instanceof Arg ? $data : new Arg($data)), $parameters); + return \is_array($name) ? new StaticCall(new FullyQualified($name[0]), $name[1], $parameters) : new FuncCall(new FullyQualified($name), $parameters); } /** * Call method of object. @@ -138,7 +128,7 @@ public static function call($name, ...$parameters) */ public static function callMethod(Expr $name, string $method, ...$parameters): MethodCall { - $parameters = \array_map(fn ($data) => $data instanceof Arg ? $data : new Arg($data), $parameters); + $parameters = \array_map(fn ($data) => ($data instanceof Arg ? $data : new Arg($data)), $parameters); return new MethodCall($name, $method, $parameters); } /** @@ -150,7 +140,7 @@ public static function callMethod(Expr $name, string $method, ...$parameters): M */ public static function fromLiteral($data): Node { - return self::toNode(\var_export($data, true).';'); + return self::toNode(\var_export($data, true) . ';'); } /** * Convert code to node. @@ -163,13 +153,12 @@ public static function fromLiteral($data): Node */ public static function toNode(string $code): Node { - $res = (new ParserFactory)->create(ParserFactory::PREFER_PHP7)->parse('create(ParserFactory::PREFER_PHP7)->parse('expr)) { throw new \RuntimeException('Invalid code was provided!'); } return $res[0]->expr; } - /** * Check if this node or any child node have any side effects (like calling other methods, or assigning variables). * @@ -182,31 +171,7 @@ public static function hasSideEffects(?Expr $node): bool if (!$node) { return false; } - if ($node->hasAttribute('hasSideEffects') - || $node instanceof String_ // __toString - || $node instanceof ArrayDimFetch // offsetSet/offsetGet - || $node instanceof Assign - || $node instanceof AssignOp - || $node instanceof AssignRef - || $node instanceof Clone_ // __clone - || $node instanceof Eval_ - || $node instanceof FuncCall - || $node instanceof Include_ - || $node instanceof List_ // offsetGet/offsetSet - || $node instanceof MethodCall - || $node instanceof New_ - || $node instanceof NullsafeMethodCall - || $node instanceof NullsafePropertyFetch - || $node instanceof PostDec - || $node instanceof PostInc - || $node instanceof PreDec - || $node instanceof PreInc - || $node instanceof PropertyFetch - || $node instanceof StaticCall - || $node instanceof Yield_ - || $node instanceof YieldFrom - || $node instanceof ShellExec - ) { + if ($node->hasAttribute('hasSideEffects') || $node instanceof String_ || $node instanceof ArrayDimFetch || $node instanceof Assign || $node instanceof AssignOp || $node instanceof AssignRef || $node instanceof Clone_ || $node instanceof Eval_ || $node instanceof FuncCall || $node instanceof Include_ || $node instanceof List_ || $node instanceof MethodCall || $node instanceof New_ || $node instanceof NullsafeMethodCall || $node instanceof NullsafePropertyFetch || $node instanceof PostDec || $node instanceof PostInc || $node instanceof PreDec || $node instanceof PreInc || $node instanceof PropertyFetch || $node instanceof StaticCall || $node instanceof Yield_ || $node instanceof YieldFrom || $node instanceof ShellExec) { $node->setAttribute('hasSideEffects', true); return true; } @@ -229,7 +194,6 @@ public static function hasSideEffects(?Expr $node): bool } return false; } - /** * Get fully qualified name. * @@ -271,33 +235,23 @@ public static function cloneWithTrait(object $obj, string $trait): object static $count = 0; /** @psalm-var array> $memoized */ static $memoized = []; - $reflect = new ReflectionClass($obj); - - $r = $reflect; while ($r && $r->isAnonymous()) { $r = $r->getParentClass(); } - - $extend = "extends \\".$r->getName(); - if (isset($memoized["$trait $extend"])) { + $extend = "extends \\" . $r->getName(); + if (isset($memoized["{$trait} {$extend}"])) { /** @psalm-suppress MixedMethodCall */ - $newObj = new $memoized["$trait $extend"]; + $newObj = ($phabel_a2ec9a4ca43bd91b = $memoized["{$trait} {$extend}"]) || true ? new $phabel_a2ec9a4ca43bd91b() : false; } else { - $memoized["$trait $extend"] = "phabelTmpClass$count"; - $eval = "class phabelTmpClass$count $extend { - use \\$trait; - public function __construct() {} - } - return new phabelTmpClass$count;"; + $memoized["{$trait} {$extend}"] = "phabelTmpClass{$count}"; + $eval = "class phabelTmpClass{$count} {$extend} {\n use \\{$trait};\n public function __construct() {}\n }\n return new phabelTmpClass{$count};"; $count++; /** @var object */ $newObj = eval($eval); } - $reflectNew = new ReflectionClass($newObj); - do { if ($tmp = $reflectNew->getParentClass()) { $reflectNew = $tmp; @@ -311,10 +265,8 @@ public function __construct() {} } } } while ($reflect = $reflect->getParentClass()); - return $newObj; } - /** * Checks private property exists in an object. * @@ -332,13 +284,9 @@ public function __construct() {} */ public static function hasVar(object $obj, string $var): bool { - return \Closure::bind( - function () use ($var): bool { - return isset($this->{$var}); - }, - $obj, - \get_class($obj) - )->__invoke(); + return \Closure::bind(function () use ($var): bool { + return isset($this->{$var}); + }, $obj, \get_class($obj))->__invoke(); } /** * Accesses a private variable from an object. @@ -357,7 +305,7 @@ public static function &getVar($obj, string $var) { return \Closure::bind( /** @return mixed */ - function & () use ($var) { + function &() use ($var) { return $this->{$var}; }, $obj, @@ -380,15 +328,10 @@ function & () use ($var) { */ public static function setVar($obj, string $var, &$val): void { - \Closure::bind( - function () use ($var, &$val) { - $this->{$var} =& $val; - }, - $obj, - \get_class($obj) - )->__invoke(); + \Closure::bind(function () use ($var, &$val) { + $this->{$var} =& $val; + }, $obj, \get_class($obj))->__invoke(); } - /** * Adapted from https://gist.github.com/divinity76/01ef9ca99c111565a72d3a8a6e42f7fb * returns number of cpu cores @@ -413,19 +356,12 @@ public static function getCpuCount(): int */ return $result = 1; } - - if (self::ini_get('pcre.jit') === '1' - && \PHP_OS === 'Darwin' - && \version_compare(\PHP_VERSION, '7.3.0') >= 0 - && \version_compare(\PHP_VERSION, '7.4.0') < 0 - ) { + if (self::ini_get('pcre.jit') === '1' && \PHP_OS === 'Darwin' && \version_compare(\PHP_VERSION, '7.3.0') >= 0 && \version_compare(\PHP_VERSION, '7.4.0') < 0) { return $result = 1; } - if (!\extension_loaded('pcntl')) { return $result = 1; } - $has_nproc = \trim((string) @\shell_exec('command -v nproc')); if ($has_nproc) { $ret = @\shell_exec('nproc'); @@ -437,7 +373,6 @@ public static function getCpuCount(): int } } } - $ret = @\shell_exec('sysctl -n hw.ncpu'); if (\is_string($ret)) { $ret = \trim($ret); @@ -446,7 +381,6 @@ public static function getCpuCount(): int return $result = $tmp; } } - if (\is_readable('/proc/cpuinfo')) { $cpuinfo = \file_get_contents('/proc/cpuinfo'); $count = \substr_count($cpuinfo, 'processor'); @@ -454,7 +388,6 @@ public static function getCpuCount(): int return $result = $count; } } - return $result = 1; } /** diff --git a/src/Traverser.php b/src/Traverser.php index ce5c4f6d9..4ee3f920f 100644 --- a/src/Traverser.php +++ b/src/Traverser.php @@ -19,7 +19,6 @@ use SebastianBergmann\CodeCoverage\Filter; use SebastianBergmann\CodeCoverage\Report\PHP; use SplQueue; - use function Amp\call; use function Amp\Promise\wait; @@ -97,7 +96,6 @@ class Traverser * Current output file. */ private string $outputFile = ''; - /** * Number of times we traversed directories. * @@ -113,17 +111,16 @@ class Traverser */ public static function fromPlugin(Plugin ...$plugin): self { - $queue = new SplQueue; + $queue = new SplQueue(); foreach ($plugin as $p) { $queue->enqueue($p); } - $final = new SplQueue; + $final = new SplQueue(); $final->enqueue($queue); $res = new self(); $res->graph = new ResolvedGraph($final); return $res; } - /** * Constructor. * @@ -131,11 +128,10 @@ public static function fromPlugin(Plugin ...$plugin): self */ public function __construct(?EventHandlerInterface $eventHandler = null) { - $this->parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7); + $this->parser = (new ParserFactory())->create(ParserFactory::PREFER_PHP7); $this->printer = new Standard(); $this->eventHandler = $eventHandler; } - /** * Set plugin array. * @@ -148,16 +144,12 @@ public function __construct(?EventHandlerInterface $eventHandler = null) public function setPlugins(array $plugins): self { $this->eventHandler?->onBeginPluginGraphResolution(); - - $graph = new Graph; + $graph = new Graph(); foreach ($plugins as $plugin => $config) { $graph->addPlugin($plugin, $config, $graph->getPackageContext()); } - $this->graph = $graph->flatten(); - $this->eventHandler?->onEndPluginGraphResolution(); - return $this; } /** @@ -170,14 +162,10 @@ public function setPlugins(array $plugins): self public function setPluginGraph(Graph $graph): self { $this->eventHandler?->onBeginPluginGraphResolution(); - $this->graph = $graph->flatten(); - $this->eventHandler?->onEndPluginGraphResolution(); - return $this; } - /** * Get resolved plugin graph. * @@ -187,7 +175,6 @@ public function getGraph(): ResolvedGraph { return $this->graph; } - /** * Set resolved plugin graph. * @@ -198,10 +185,8 @@ public function getGraph(): ResolvedGraph public function setGraph(ResolvedGraph $graph): self { $this->graph = $graph; - return $this; } - /** * Set input path. * @@ -213,7 +198,6 @@ public function setInput(string $input): self if (!\file_exists($input)) { throw new \RuntimeException("File {$input} does not exist!"); } - $this->input = $input; return $this; } @@ -228,7 +212,6 @@ public function setOutput(string $output): self $this->output = $output; return $this; } - /** * Set callable to extract composer package name from path. * @@ -239,10 +222,8 @@ public function setOutput(string $output): self public function setComposer(callable $composer): self { $this->composerPackageName = $composer; - return $this; } - /** * Set coverage path. * @@ -267,15 +248,10 @@ public static function startCoverage(string $coveragePath): ?object return null; } try { - $filter = new Filter; - $filter->includeDirectory(\realpath(__DIR__.'/../src')); - - $coverage = new CodeCoverage( - (new Selector)->forLineCoverage($filter), - $filter - ); + $filter = new Filter(); + $filter->includeDirectory(\realpath(__DIR__ . '/../src')); + $coverage = new CodeCoverage((new Selector())->forLineCoverage($filter), $filter); $coverage->start('phabel'); - return new class($coverage, $coveragePath) { private string $coveragePath; private CodeCoverage $coverage; @@ -290,7 +266,7 @@ public function __destruct() if (\file_exists($this->coveragePath)) { $this->coverage->merge(require $this->coveragePath); } - (new PHP)->process($this->coverage, $this->coveragePath); + (new PHP())->process($this->coverage, $this->coveragePath); } }; } catch (\Throwable $e) { @@ -324,32 +300,26 @@ public function runAsyncPromise(int $threads = -1): Promise return call(function () use (&$coverages, $threads) { $packages = []; $first = !$this->count++; - if (!\file_exists($this->output)) { \mkdir($this->output, 0777, true); } $output = \realpath($this->output); - $count = 0; $promises = []; $classStorage = null; - $pool = new DefaultPool($threads); $promises = []; for ($x = 0; $x < $threads; $x++) { - $promises []= $pool->enqueue(new Init($this->graph)); + $promises[] = $pool->enqueue(new Init($this->graph)); } - yield $promises; + (yield $promises); $packages = $this->graph->getPackages(); unset($this->graph); - $it = new \RecursiveDirectoryIterator($this->input, \RecursiveDirectoryIterator::SKIP_DOTS); $ri = new \RecursiveIteratorIterator($it, \RecursiveIteratorIterator::SELF_FIRST); - if ($this->eventHandler) { $this->eventHandler->onBeginDirectoryTraversal($this->fileWhitelist ? \count($this->fileWhitelist) : \iterator_count($ri), $threads); } - $promises = []; /** @var \SplFileInfo $file */ foreach ($ri as $file) { @@ -357,7 +327,7 @@ public function runAsyncPromise(int $threads = -1): Promise if ($this->fileWhitelist && !isset($this->fileWhitelist[$rel])) { continue; } - $targetPath = $output.DIRECTORY_SEPARATOR.$rel; + $targetPath = $output . DIRECTORY_SEPARATOR . $rel; if ($file->isDir()) { if (!\file_exists($targetPath)) { \mkdir($targetPath, 0777, true); @@ -370,17 +340,9 @@ public function runAsyncPromise(int $threads = -1): Promise if ($this->composerPackageName) { $package = ($this->composerPackageName)($rel); } - $res = yield $pool->enqueue( - new Run( - $rel, - $file->getRealPath(), - $targetPath, - $package, - $this->coverage ? "{$this->coverage}$count.php" : '' - ) - ); + $res = (yield $pool->enqueue(new Run($rel, $file->getRealPath(), $targetPath, $package, $this->coverage ? "{$this->coverage}{$count}.php" : ''))); if ($this->coverage) { - $coverages []= "{$this->coverage}$count.php"; + $coverages[] = "{$this->coverage}{$count}.php"; } if ($res instanceof ExceptionWrapper) { $res = $res->getException(); @@ -403,18 +365,16 @@ public function runAsyncPromise(int $threads = -1): Promise } } } - yield $promises; - + (yield $promises); $this->eventHandler?->onEndDirectoryTraversal(); $this->eventHandler?->onBeginClassGraphMerge($threads); - $promises = []; /** @var ClassStoragePlugin|null */ $classStorage = null; for ($x = 0; $x < $threads; $x++) { - $promises []= call(function () use ($pool, &$classStorage) { + $promises[] = call(function () use ($pool, &$classStorage) { /** @var ClassStoragePlugin */ - $newClassStorage = yield $pool->enqueue(new Shutdown()); + $newClassStorage = (yield $pool->enqueue(new Shutdown())); if (!$classStorage) { $classStorage = $newClassStorage; } else { @@ -423,12 +383,10 @@ public function runAsyncPromise(int $threads = -1): Promise $this->eventHandler?->onClassGraphMerged(); }); } - yield $promises; + (yield $promises); $this->eventHandler?->onEndClassGraphMerge(); - - yield $pool->shutdown(); + (yield $pool->shutdown()); unset($pool); - if ($classStorage) { [$plugins, $files] = $classStorage->finish(); unset($classStorage); @@ -440,7 +398,6 @@ public function runAsyncPromise(int $threads = -1): Promise return $this->run(); } } - /** @var CodeCoverage|null $coverage */ $coverage = null; foreach ($coverages as $file) { @@ -449,7 +406,7 @@ public function runAsyncPromise(int $threads = -1): Promise } if (!$coverage) { /** @var CodeCoverage $coverage */ - $coverage = include $file; + $coverage = (include $file); \unlink($file); continue; } @@ -457,15 +414,12 @@ public function runAsyncPromise(int $threads = -1): Promise \unlink($file); } if ($coverage) { - (new PHP)->process($coverage, $this->coverage); + (new PHP())->process($coverage, $this->coverage); } - $this->eventHandler?->onEnd(); return $packages; }); } - - /** * Run phabel. * @@ -476,18 +430,14 @@ public function run(int $threads = 1): array if ($threads > 1 || $threads === -1) { return $this->runAsync($threads); } - \set_error_handler( - function (int $errno = 0, string $errstr = '', string $errfile = '', int $errline = -1): bool { - // If error is suppressed with @, don't throw an exception - if (\error_reporting() === 0) { - return false; - } - throw new Exception($errstr, $errno, null, $errfile, $errline); + \set_error_handler(function (int $errno = 0, string $errstr = '', string $errfile = '', int $errline = -1): bool { + // If error is suppressed with @, don't throw an exception + if (\error_reporting() === 0) { + return false; } - ); - + throw new Exception($errstr, $errno, null, $errfile, $errline); + }); $packages = []; - $this->eventHandler?->onStart(); while (true) { $this->runInternal(); @@ -507,9 +457,7 @@ function (int $errno = 0, string $errstr = '', string $errfile = '', int $errlin $this->setPlugins($plugins); } $this->eventHandler?->onEnd(); - \restore_error_handler(); - return $packages; } /** @@ -522,17 +470,14 @@ public function runInternal(): void $_ = self::startCoverage($this->coverage); $first = !$this->count++; $this->packageQueue = null; - if (\is_file($this->input)) { $this->traverse(\basename($this->input), \realpath($this->input), \realpath($this->output) ?: $this->output); return; } - if (!\file_exists($this->output)) { \mkdir($this->output, 0777, true); } $this->output = \realpath($this->output); - $it = new \RecursiveDirectoryIterator($this->input, \RecursiveDirectoryIterator::SKIP_DOTS); $ri = new \RecursiveIteratorIterator($it, \RecursiveIteratorIterator::SELF_FIRST); if ($this->eventHandler) { @@ -544,7 +489,7 @@ public function runInternal(): void if ($this->fileWhitelist && !isset($this->fileWhitelist[$rel])) { continue; } - $targetPath = $this->output.DIRECTORY_SEPARATOR.$rel; + $targetPath = $this->output . DIRECTORY_SEPARATOR . $rel; if ($file->isDir()) { if (!\file_exists($targetPath)) { \mkdir($targetPath, 0777, true); @@ -576,7 +521,6 @@ public function runInternal(): void } $this->eventHandler?->onEndDirectoryTraversal(); } - /** * Set package name. * @@ -591,14 +535,14 @@ public function setPackage(?string $package): void $this->packageQueue = null; return; } - $this->packageQueue = new SplQueue; + $this->packageQueue = new SplQueue(); /** @var SplQueue */ - $newQueue = new SplQueue; + $newQueue = new SplQueue(); foreach ($this->graph->getPlugins() as $queue) { if ($newQueue->count()) { $this->packageQueue->enqueue($newQueue); /** @var SplQueue */ - $newQueue = new SplQueue; + $newQueue = new SplQueue(); } /** @var Plugin */ foreach ($queue as $plugin) { @@ -623,16 +567,15 @@ public function setPackage(?string $package): void public function traverse(string $file, string $input, string $output): int { $this->eventHandler?->onBeginAstTraversal($input); - /** @var SplQueue> */ - $reducedQueue = new SplQueue; + $reducedQueue = new SplQueue(); /** @var SplQueue */ - $newQueue = new SplQueue; + $newQueue = new SplQueue(); foreach ($this->packageQueue ?? $this->graph->getPlugins() as $queue) { if ($newQueue->count()) { $reducedQueue->enqueue($newQueue); /** @var SplQueue */ - $newQueue = new SplQueue; + $newQueue = new SplQueue(); } /** @var Plugin */ foreach ($queue as $plugin) { @@ -647,7 +590,6 @@ public function traverse(string $file, string $input, string $output): int $this->eventHandler?->onEndAstTraversal($input, 0); return 0; } - try { $ast = new RootNode($this->parser->parse(\file_get_contents($input)) ?? []); } catch (\Throwable $e) { @@ -656,15 +598,12 @@ public function traverse(string $file, string $input, string $output): int $message .= $input; throw new Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); } - $this->file = $file; $this->inputFile = $input; $this->outputFile = $output; [$it, $result] = $this->traverseAstInternal($ast, $reducedQueue); \file_put_contents($output, $result); - $this->eventHandler?->onEndAstTraversal($input, $it); - return $it; } /** @@ -709,7 +648,7 @@ private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = nu $context = null; try { foreach ($pluginQueue ?? $this->packageQueue ?? $this->graph->getPlugins() as $queue) { - $context = new Context; + $context = new Context(); $context->setFile($this->file); $context->setInputFile($this->inputFile); $context->setOutputFile($this->outputFile); @@ -772,9 +711,8 @@ private function traverseNode(Node &$node, SplQueue $plugins, Context $context): /** @var string $name */ foreach ($node->getSubNodeNames() as $name) { $node->setAttribute('currentNode', $name); - /** @var Node[]|Node|mixed */ - $subNode = &$node->{$name}; + $subNode =& $node->{$name}; if ($subNode instanceof Node) { $this->traverseNode($subNode, $plugins, $context); continue; @@ -815,10 +753,10 @@ private function traverseNode(Node &$node, SplQueue $plugins, Context $context): } } } - public function __destruct() { unset($this->graph); - while (\gc_collect_cycles()); + while (\gc_collect_cycles()) { + } } } diff --git a/src/VariableContext.php b/src/VariableContext.php index d3fc25669..d7c67183f 100644 --- a/src/VariableContext.php +++ b/src/VariableContext.php @@ -76,7 +76,7 @@ public function hasVar(string $var): bool public function getVar(): string { do { - $var = 'phabel_'.\bin2hex(\random_bytes(8)); + $var = 'phabel_' . \bin2hex(\random_bytes(8)); } while (isset($this->variables[$var])); $this->variables[$var] = true; return $var; diff --git a/src/Version.php b/src/Version.php index cbb847117..84b93bcb8 100644 --- a/src/Version.php +++ b/src/Version.php @@ -18,8 +18,7 @@ class Version /** * Changelog. */ - public const CHANGELOG = [ - 0 => 'Welcome! You can now use PHP 8 features in your code. + public const CHANGELOG = [0 => 'Welcome! You can now use PHP 8 features in your code. Config recap: Source PHP version: 8.0 @@ -31,6 +30,5 @@ class Version See https://phabel.io for documentation and more configuration parameters. Have fun! -', - ]; +']; } diff --git a/src/phabel.php b/src/phabel.php index 24bbc3e1c..00c35d001 100644 --- a/src/phabel.php +++ b/src/phabel.php @@ -8,9 +8,8 @@ use Symfony\Component\Console\Application; if (!\class_exists(Run::class)) { - require __DIR__.'/../vendor/autoload.php'; + require __DIR__ . '/../vendor/autoload.php'; } - $app = new Application(Formatter::banner()); $app->add(new Publish()); $app->add(new Run()); diff --git a/tests/Target/GeneratorTypeHintReplacerTest.php b/tests/Target/GeneratorTypeHintReplacerTest.php deleted file mode 100644 index f8a67a27f..000000000 --- a/tests/Target/GeneratorTypeHintReplacerTest.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @license MIT - */ -class GeneratorTypeHintReplacerTest extends TestCase -{ - public function test() - { - $gen = function (): \Generator { - yield 1; - yield 2; - yield 3; - }; - foreach ($gen() as $i => $num) { - $this->assertEquals($i+1, $num); - } - $gen = fn (): \Generator => yield 1; - foreach ($gen() as $i => $num) { - $this->assertEquals($i+1, $num); - } - } -} diff --git a/tests/Target/IssetExpressionFixerTest.php b/tests/Target/IssetExpressionFixerTest.php deleted file mode 100644 index 8c768235d..000000000 --- a/tests/Target/IssetExpressionFixerTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * @license MIT - */ -class IssetExpressionFixerTest extends TestCase -{ - const A = true; - public static $a = true; - public static function a() - { - return true; - } - public function testExprThrow() - { - $this->expectExceptionMessage('lmao'); - isset($a[throw new \Exception('lmao')]); - } - public function testExprThrowSmore() - { - $this->expectExceptionMessage('lmao'); - isset(${throw new \Exception('lmao')}); - } - public function testArrayDimFetch() - { - $this->assertTrue(isset(['a' => true]['a'])); - $this->assertTrue(isset(($a = ['a' => true])['a'])); - $this->assertFalse(isset((new class extends \ArrayObject{})[(fn ($a) => $a)('a')])); - } - public function testStaticPropertyFetch() - { - $this->assertTrue(isset((clone $this)::${(string)clone new class { - public function __toString() - { - return 'a'; - } - }})); - } - public function testPropertyFetch() - { - $this->assertTrue(isset((clone new class { - public $a = true; - })->a)); - } -} diff --git a/tests/Target/NestedExpressionFixerTest.php b/tests/Target/NestedExpressionFixerTest.php deleted file mode 100644 index d6fb7b334..000000000 --- a/tests/Target/NestedExpressionFixerTest.php +++ /dev/null @@ -1,107 +0,0 @@ - null)(new a); -(fn (a $a) => null)(clone new class extends a{}); - -/** - * @author Daniil Gentili - * @license MIT - */ -class NestedExpressionFixerTest extends TestCase -{ - const A = true; - public static $a = true; - public static function a() - { - return true; - } - public function testExprThrow() - { - $this->expectExceptionMessage('lmao'); - $a ?? throw new \Exception('lmao'); - } - public function testExprThrowSmore() - { - $this->expectDeprecationMessage('lmao'); - 1 + throw new \Exception('lmao'); - } - public function testClassInstanceof() - { - $this->assertTrue(new a instanceof (new a)); - $this->assertTrue($this instanceof (eval("return \$this;"))); - $this->assertTrue($this instanceof ($a = $this)); - //$this->assertTrue(new a instanceof ("\\PhabelTest\\Target\\a")); - } - public function testNew() - { - $this->assertTrue((new ($a = a::class)) instanceof (new a)); - } - public function testArrayDimFetch() - { - $this->assertTrue(['a' => true]['a']); - $this->assertTrue(($a = ['a' => true])['a']); - $this->assertTrue(($a = ['a' => true])[(fn ($a) => $a)('a')]); - } - public function testMethodCall() - { - $this->assertTrue((clone new class { - public function a() - { - return true; - } - })->{(clone new class { - public function a() - { - return 'a'; - } - })->a()}()); - } - public function testStaticCall() - { - $this->assertTrue((clone $this)::{(string)clone new class { - public function __toString() - { - return 'a'; - } - }}()); - } - public function testStaticPropertyFetch() - { - $this->assertTrue((clone $this)::${(string)clone new class { - public function __toString() - { - return 'a'; - } - }}); - } - public function testClassConstFetch() - { - $this->assertTrue((clone $this)::A); - } - public function testPropertyFetch() - { - $this->assertTrue((clone new class { - public $a = true; - })->a); - } - public function testFuncCall() - { - $this->assertTrue((fn () => true)()); - } - public function testByRef() - { - $a = 0; - $b = &(function &() use (&$a) { return $a; })(); - $b = 1; - $this->assertEquals($a, $b); - } -} diff --git a/tests/Target/Php70/AnonymousClassReplacerTest.php b/tests/Target/Php70/AnonymousClassReplacerTest.php deleted file mode 100644 index 3062e2ba9..000000000 --- a/tests/Target/Php70/AnonymousClassReplacerTest.php +++ /dev/null @@ -1,69 +0,0 @@ -data = $data; - new class{}; - } - public function getData(): string - { - return $this->data; - } - }); -} - -/** - * @author Daniil Gentili - * @license MIT - */ -class AnonymousClassReplacerTest extends TestCase -{ - /** - * Test anonymous classes. - */ - public function test() - { - $data = 'uwu'; - $data2 = (new class($data) { - private string $data; - public function __construct(string $data) - { - $this->data = $data; - new class{}; - } - public function getData(): string - { - return $this->data; - } - })->getData(); - - $this->assertEquals($data, $data2); - - $data3 = (fn () => ((new class($data) { - private string $data; - public function __construct(string $data) - { - $this->data = $data; - new class{}; - } - public function getData(): string - { - return $this->data; - } - public function testRef(AnonymousClassReplacerTest $ref) - { - } - })->getData()))(); - - $this->assertEquals($data, $data3); - - $this->assertEquals($data, $GLOBALS['anonClass']->getData()); - } -} diff --git a/tests/Target/Php70/ClosureCallReplacerTest.php b/tests/Target/Php70/ClosureCallReplacerTest.php deleted file mode 100644 index d271bd9b8..000000000 --- a/tests/Target/Php70/ClosureCallReplacerTest.php +++ /dev/null @@ -1,17 +0,0 @@ - - * @license MIT - */ -class ClosureCallReplacerTest extends TestCase -{ - public function test() - { - $this->assertEquals('uwu', (fn (string $d): string => $d)('uwu')); - } -} diff --git a/tests/Target/Php70/DefineArrayReplacerTest.php b/tests/Target/Php70/DefineArrayReplacerTest.php deleted file mode 100644 index 5c8965c41..000000000 --- a/tests/Target/Php70/DefineArrayReplacerTest.php +++ /dev/null @@ -1,20 +0,0 @@ -assertEquals('uwu', PHABEL_ARRAY_TEST[0]); - } -} diff --git a/tests/Target/Php70/GroupUseReplacerTest.php b/tests/Target/Php70/GroupUseReplacerTest.php deleted file mode 100644 index 707e1588a..000000000 --- a/tests/Target/Php70/GroupUseReplacerTest.php +++ /dev/null @@ -1,22 +0,0 @@ - - * @license MIT - */ -class GroupUseReplacerTest extends TestCase -{ - public function test() - { - $this->assertTrue(\class_exists(uwu::class)); - $this->assertTrue(\class_exists(GroupUse::class)); - $this->assertTrue(\class_exists(Use_::class)); - } -} diff --git a/tests/Target/Php70/NullCoalesceReplacerTest.php b/tests/Target/Php70/NullCoalesceReplacerTest.php deleted file mode 100644 index 3030c8ea2..000000000 --- a/tests/Target/Php70/NullCoalesceReplacerTest.php +++ /dev/null @@ -1,64 +0,0 @@ - - * @license MIT - */ -class NullCoalesceReplacerTest extends TestCase -{ - public function test() - { - $this->assertTrue(null ?? true); - $this->assertFalse(false ?? true); - $this->assertFalse(false ?? null); - - $this->assertTrue((fn () => null)() ?? true); - $this->assertFalse((fn () => false)() ?? true); - $this->assertFalse((fn () => false)() ?? null); - - $arr = ['a' => ['b' => new class { - public function __construct() - { - $this->c = new class implements \ArrayAccess { - public function __construct() - { - $this->d = ['e' => true, 'e2' => false]; - } - public function offsetExists($offset): bool - { - return false; - } - public function offsetGet($offset) - { - return 'uwu'; - } - public function offsetSet($offset, $val) - { - } - public function offsetUnset($offset) - { - } - }; - } - }]]; - - $this->assertTrue($arr['a']['b']->c->d['e'] ?? false); - $this->assertFalse($arr['a']['b']->c->d['e2'] ?? null); - $this->assertFalse($arr['a']['b']->c->d['e']['f'] ?? false); - - $this->assertEquals('test', $arr['a']['b']->c->pony ?? 'test'); - - $this->assertTrue((fn () => $arr)()['a']['b']->c->d['e'] ?? false); - $this->assertFalse((fn () => $arr)()['a']['b']->c->d['e2'] ?? null); - $this->assertFalse((fn () => $arr)()['a']['b']->c->d['e']['f'] ?? false); - - $this->assertEquals('test', (fn () => $arr)()['a']['b']->c->pony ?? 'test'); - - - $this->assertFalse($unexistant[(fn () => 'a')()] ?? false); - } -} diff --git a/tests/Target/Php70/ReservedNameReplacerTest.php b/tests/Target/Php70/ReservedNameReplacerTest.php deleted file mode 100644 index bdc50cee1..000000000 --- a/tests/Target/Php70/ReservedNameReplacerTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * @license MIT - */ -class ReservedNameReplacerTest extends TestCase -{ - public function continue(string $data): string - { - return $data; - } - public function test() - { - $this->assertEquals('test', $this->continue('test')); - } -} diff --git a/tests/Target/Php70/SpaceshipOperatorReplacerTest.php b/tests/Target/Php70/SpaceshipOperatorReplacerTest.php deleted file mode 100644 index 2d8bfdeff..000000000 --- a/tests/Target/Php70/SpaceshipOperatorReplacerTest.php +++ /dev/null @@ -1,19 +0,0 @@ -assertEquals(0, 123 <=> 123); - $this->assertEquals(-1, 122 <=> 123); - $this->assertEquals(-1, 123 <=> 124); - } -} diff --git a/tests/Target/Php70/StrictTypesDeclareStatementRemoverTest.php b/tests/Target/Php70/StrictTypesDeclareStatementRemoverTest.php deleted file mode 100644 index a337741a8..000000000 --- a/tests/Target/Php70/StrictTypesDeclareStatementRemoverTest.php +++ /dev/null @@ -1,18 +0,0 @@ - - * @license MIT - */ -class StrictTypesDeclareStatementRemoverTest extends TestCase -{ - public function test() - { - $this->assertTrue(true); - } -} diff --git a/tests/Target/Php70/ThrowableReplacerTest.php b/tests/Target/Php70/ThrowableReplacerTest.php deleted file mode 100644 index 6bc87351b..000000000 --- a/tests/Target/Php70/ThrowableReplacerTest.php +++ /dev/null @@ -1,45 +0,0 @@ -assertTrue($input instanceof \Throwable); - $this->assertTrue($input instanceof $input); - - $c1 = '\\Throwable'; - $c2 = \Throwable::class; - $this->assertTrue($input instanceof $c1); - $this->assertTrue($input instanceof $c2); - - - try { - throw $input; - } catch (\Throwable $e) { - $this->assertEquals($input, $e); - } - } - public function exceptionProvider(): array - { - return [ - [new \Exception], - [new \Error], - [new \RuntimeException], - ]; - } -} diff --git a/tests/Target/Php71/ArrayListTest.php b/tests/Target/Php71/ArrayListTest.php deleted file mode 100644 index ea80f5188..000000000 --- a/tests/Target/Php71/ArrayListTest.php +++ /dev/null @@ -1,29 +0,0 @@ - 'pony']]], ['owo', ['owoVal', 'test', ['k' => 'pony2']]]]; - foreach ($input as $i => [$k, [$val1, $s, ['k' => $val2]]]) { - $this->assertEquals($input[$i][0], $k); - $this->assertEquals($input[$i][1][0], $val1); - $this->assertEquals($input[$i][1][1], $s); - $this->assertEquals($input[$i][1][2]['k'], $val2); - } - foreach ($input as $i => $v) { - [$k, [$val1,$s, ['k' => $val2]]] = $v; - $this->assertEquals($input[$i][0], $k); - $this->assertEquals($input[$i][1][0], $val1); - $this->assertEquals($input[$i][1][1], $s); - $this->assertEquals($input[$i][1][2]['k'], $val2); - } - } -} diff --git a/tests/Target/Php71/ClassConstantVisibilityModifiersRemoverTest.php b/tests/Target/Php71/ClassConstantVisibilityModifiersRemoverTest.php deleted file mode 100644 index f8e2b6f30..000000000 --- a/tests/Target/Php71/ClassConstantVisibilityModifiersRemoverTest.php +++ /dev/null @@ -1,45 +0,0 @@ -assertEquals(self::A, 'owo'); - $this->assertEquals(self::B, 'uwu'); - $this->assertEquals(self::C, 'pony'); - - $class = new class extends ClassConstantVisibilityModifiersRemoverTest { - private const AA = 'owo1'; - protected const BB = 'uwu1'; - public const CC = 'pony1'; - public function return(): array - { - return [ - 'AA' => self::AA, - 'BB' => self::BB, - 'CC' => self::CC, - 'B' => parent::B, - 'C' => parent::C, - ]; - } - }; - - $ret = $class->return(); - - $this->assertEquals($ret['AA'], 'owo1'); - $this->assertEquals($ret['BB'], 'uwu1'); - $this->assertEquals($ret['CC'], 'pony1'); - $this->assertEquals($ret['B'], 'uwu'); - $this->assertEquals($ret['C'], 'pony'); - } -} diff --git a/tests/Target/Php71/ClosureFromCallableTest.php b/tests/Target/Php71/ClosureFromCallableTest.php deleted file mode 100644 index 7102973da..000000000 --- a/tests/Target/Php71/ClosureFromCallableTest.php +++ /dev/null @@ -1,51 +0,0 @@ -assertEquals('a', $this->retPrivate('a')); - $this->assertEquals('b', $this->retProtected('b')); - $this->assertEquals('c', $this->retPublic('c')); - - $this->assertEquals('a', Closure::fromCallable([$this, 'retPrivate'])('a')); - $this->assertEquals('b', Closure::fromCallable([$this, 'retProtected'])('b')); - $this->assertEquals('c', Closure::fromCallable([$this, 'retPublic'])('c')); - - $this->assertEquals('a', Closure::fromCallable(returnMe::class)('a')); - $this->assertEquals('a', Closure::fromCallable(fn ($a) => $a)('a')); - $this->assertEquals('a', Closure::fromCallable(new class { public function __invoke($a) { return $a; }})('a')); - - $name = 'fromcallable'; - $this->assertEquals('a', Closure::{$name}([$this, 'retPrivate'])('a')); - $this->assertEquals('b', Closure::{$name}([$this, 'retProtected'])('b')); - $this->assertEquals('c', Closure::{$name}([$this, 'retPublic'])('c')); - - $name = 'bind'; - $this->assertEquals($this, Closure::{$name}($this->getStatic(), $this)()); - } - public static function getStatic(): Closure { - return Closure::fromCallable(fn () => $this); - } -} diff --git a/tests/Target/Php71/ListExpressionTest.php b/tests/Target/Php71/ListExpressionTest.php deleted file mode 100644 index 2396cc909..000000000 --- a/tests/Target/Php71/ListExpressionTest.php +++ /dev/null @@ -1,41 +0,0 @@ - 'bb', 'c' => ['d', 'e']]]; - $this->assertEquals($arr, [$a, [$bK => $b, $cK => [$d, $e]]] = $arr); - $this->assertEquals('a', $a); - $this->assertEquals('bb', $b); - $this->assertEquals('d', $d); - $this->assertEquals('e', $e); - - [$a, $b] = [$a, $b]; - } - public function testEmpty() - { - $arr = ['a', 'b', 'c', 'd']; - $this->assertEquals($arr, [$a, $b, , $d] = $arr); - $this->assertEquals('a', $a); - $this->assertEquals('b', $b); - $this->assertEquals('d', $d); - - $this->assertEquals($arr, [$a, $b, , &$d] = $arr); - $this->assertEquals('a', $a); - $this->assertEquals('b', $b); - $this->assertEquals('d', $d); - - $d = 'pony'; - $this->assertEquals('pony', $arr[3]); - } -} diff --git a/tests/Target/Php71/ListKeyTest.php b/tests/Target/Php71/ListKeyTest.php deleted file mode 100644 index 0e05caab5..000000000 --- a/tests/Target/Php71/ListKeyTest.php +++ /dev/null @@ -1,42 +0,0 @@ - 'bb', 'c' => ['d', 'e']]]; - $this->assertEquals($arr, [$a, ['b' => $b, 'c' => [$d, $e]]] = $arr); - $this->assertEquals('a', $a); - $this->assertEquals('bb', $b); - $this->assertEquals('d', $d); - $this->assertEquals('e', $e); - - $input = [['uwu', ['uwuVal', 'a', ['k' => 'pony']]], ['owo', ['owoVal', 'test', ['k' => 'pony2']]]]; - foreach ($input as $i => [$k, [$val1, $s, ['k' => $val2]]]) { - $this->assertEquals($input[$i][0], $k); - $this->assertEquals($input[$i][1][0], $val1); - $this->assertEquals($input[$i][1][1], $s); - $this->assertEquals($input[$i][1][2]['k'], $val2); - } - foreach ($input as $i => $v) { - [$k, [$val1,$s, ['k' => $val2]]] = $v; - $this->assertEquals($input[$i][0], $k); - $this->assertEquals($input[$i][1][0], $val1); - $this->assertEquals($input[$i][1][1], $s); - $this->assertEquals($input[$i][1][2]['k'], $val2); - } - } - public function testOrder() - { - ['a' => $key, $key => $uwu] = ['a' => 'b', 'b' => 'kek']; - $this->assertEquals('b', $key); - $this->assertEquals('kek', $uwu); - } -} diff --git a/tests/Target/Php71/MultipleCatchReplacerTest.php b/tests/Target/Php71/MultipleCatchReplacerTest.php deleted file mode 100644 index 94c81f9d7..000000000 --- a/tests/Target/Php71/MultipleCatchReplacerTest.php +++ /dev/null @@ -1,35 +0,0 @@ -assertEquals($input, $e); - } - } - public function exceptionProvider(): array - { - return [ - [new \Exception], - [new \Error], - [new \RuntimeException], - ]; - } -} diff --git a/tests/Target/Php72/Contravariance/Abstr.php b/tests/Target/Php72/Contravariance/Abstr.php deleted file mode 100644 index 7d4ce2ec0..000000000 --- a/tests/Target/Php72/Contravariance/Abstr.php +++ /dev/null @@ -1,12 +0,0 @@ -assertEquals('test', $obj->testCanRestrict1()); - $this->assertEquals(0, $obj->testCanRestrict2()); - - $this->assertEquals('test', $obj->testCanWiden1('test')); - $this->assertEquals(0.1, $obj->testCanWiden2(0.1)); - $this->assertEquals($obj, $obj->testCanWiden2($obj)); - - $this->assertInstanceOf(OtherCls1::class, new OtherCls1); - $this->assertInstanceOf(OtherCls1::class, OtherCls1::get()); - $this->assertInstanceOf(OtherCls2::class, OtherCls2::get()); - $this->assertInstanceOf(OtherCls3::class, OtherCls3::get()); - - $this->assertInstanceOf(OtherClsNative::class, OtherClsNative::get()); - } -} diff --git a/tests/Target/Php73/ListReferenceTest.php b/tests/Target/Php73/ListReferenceTest.php deleted file mode 100644 index 3c17ccdf3..000000000 --- a/tests/Target/Php73/ListReferenceTest.php +++ /dev/null @@ -1,49 +0,0 @@ - 'pony']]]], - ['owo', [['owoVal', 'test', ['k' => 'pony2']]]] - ]; - $inputOrig = $input; - foreach ($input as $i => [$k, [[&$val1, &$s, [$kK => &$val2]]]]) { - $s = "m$s"; - $val1 = "m$val1"; - $val2 = "m$val2"; - } - unset($k, $val1, $s, $val2); - foreach ($input as $i => [$k, [[$val1, $s, [$kK => $val2]]]]) { - $this->assertEquals($inputOrig[$i][0], $k); - $this->assertEquals("m".$inputOrig[$i][1][0][0], $val1); - $this->assertEquals("m".$inputOrig[$i][1][0][1], $s); - $this->assertEquals("m".$inputOrig[$i][1][0][2]['k'], $val2); - } - - foreach ($input as $i => &$v) { - [$k, [[&$val1, &$s, [$kK => &$val2]]]] = $v; - $s = "p$s"; - $val1 = "p$val1"; - $val2 = "p$val2"; - } - unset($k, $val1, $s, $val2, $v); - - foreach ($input as $i => $v) { - [$k, [[$val1,$s, [$kK => $val2]]]] = $v; - $this->assertEquals($inputOrig[$i][0], $k); - $this->assertEquals("pm".$inputOrig[$i][1][0][0], $val1); - $this->assertEquals("pm".$inputOrig[$i][1][0][1], $s); - $this->assertEquals("pm".$inputOrig[$i][1][0][2]['k'], $val2); - } - } -} diff --git a/tests/Target/Php74/ArrayUnpackTest.php b/tests/Target/Php74/ArrayUnpackTest.php deleted file mode 100644 index 2d28117e0..000000000 --- a/tests/Target/Php74/ArrayUnpackTest.php +++ /dev/null @@ -1,19 +0,0 @@ - - * @license MIT - */ -class ArrayUnpackTest extends TestCase -{ - public function test() - { - $b = ['bb']; - $this->assertEquals(['a' => 'aa', 'bb', 'c' => 'cc'], ['a' => 'aa', ...$b, 'c' => 'cc']); - $this->assertEquals(['a' => 'aa', 'bb', 'c' => 'cc'], ['a' => 'aa', ...(fn () => $b)(), 'c' => 'cc']); - } -} diff --git a/tests/Target/Php74/ArrowClosureTest.php b/tests/Target/Php74/ArrowClosureTest.php deleted file mode 100644 index 1f283db71..000000000 --- a/tests/Target/Php74/ArrowClosureTest.php +++ /dev/null @@ -1,27 +0,0 @@ -assertTrue((fn () => true)()); - $this->assertTrue((fn ($data) => $data)(true)); - $this->assertTrue((fn () => $r)()); - - $this->assertFalse((fn () => $r = false)()); - $this->assertTrue((fn () => $r)()); - - $this->assertEquals($this, (fn () => $this)()); - $this->assertFalse((static fn (): bool => isset($this))()); - } -} diff --git a/tests/Target/Php74/CoContraVariance/Animal.php b/tests/Target/Php74/CoContraVariance/Animal.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/Target/Php74/CoContraVariance/AnimalFood.php b/tests/Target/Php74/CoContraVariance/AnimalFood.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/Target/Php74/CoContraVariance/AnimalShelterInterface.php b/tests/Target/Php74/CoContraVariance/AnimalShelterInterface.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/Target/Php74/CoContraVariance/Cat.php b/tests/Target/Php74/CoContraVariance/Cat.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/Target/Php74/CoContraVariance/CatShelter.php b/tests/Target/Php74/CoContraVariance/CatShelter.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/Target/Php74/CoContraVariance/Dog.php b/tests/Target/Php74/CoContraVariance/Dog.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/Target/Php74/CoContraVariance/DogShelter.php b/tests/Target/Php74/CoContraVariance/DogShelter.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/Target/Php74/CoContraVariance/Food.php b/tests/Target/Php74/CoContraVariance/Food.php deleted file mode 100644 index eba0c76eb..000000000 --- a/tests/Target/Php74/CoContraVariance/Food.php +++ /dev/null @@ -1,59 +0,0 @@ -name = $name; - } - - - public function eat(AnimalFood $food): string - { - return $this->name . " eats " . get_class($food); - } -} - -class Dog extends Animal -{ - - public function eat(Food $food): string - { - return $this->name . " eats " . get_class($food); - } -} - -class Cat extends Animal -{ -} - -interface AnimalShelter -{ - public function adopt(string $name): Animal; -} - -class CatShelter implements AnimalShelter -{ - public function adopt(string $name): Cat // instead of returning class type Animal, it can return class type Cat - { - return new Cat($name); - } -} - -class DogShelter implements AnimalShelter -{ - public function adopt(string $name): Dog // instead of returning class type Animal, it can return class type Dog - { - return new Dog($name); - } -} \ No newline at end of file diff --git a/tests/Target/Php74/CoContraVarianceTest.php b/tests/Target/Php74/CoContraVarianceTest.php deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/Target/Php74/NullCoalesceAssignmentTest.php b/tests/Target/Php74/NullCoalesceAssignmentTest.php deleted file mode 100644 index 2804aa3eb..000000000 --- a/tests/Target/Php74/NullCoalesceAssignmentTest.php +++ /dev/null @@ -1,25 +0,0 @@ - - * @license MIT - */ -class NullCoalesceAssignmentTest extends TestCase -{ - public function test() - { - $b = null; - $c = ['a' => []]; - - $a ??= 'lmao'; - $b ??= 'lmao'; - $c['a']['b'] ??= 'lmao'; - $this->assertEquals('lmao', $a); - $this->assertEquals('lmao', $b); - $this->assertEquals('lmao', $c['a']['b']); - } -} diff --git a/tests/Target/Php74/TypedPropertyTest.php b/tests/Target/Php74/TypedPropertyTest.php deleted file mode 100644 index ed7a0f71b..000000000 --- a/tests/Target/Php74/TypedPropertyTest.php +++ /dev/null @@ -1,17 +0,0 @@ -assertEquals(0, $this->test); - } -} diff --git a/tests/Target/Php80/MatchTransformerTest.php b/tests/Target/Php80/MatchTransformerTest.php deleted file mode 100644 index 1f4356597..000000000 --- a/tests/Target/Php80/MatchTransformerTest.php +++ /dev/null @@ -1,47 +0,0 @@ - - * @license MIT - */ -class MatchTransformerTest extends TestCase -{ - public function test() - { - $this->assertTrue(true, match (false) { - false => true, - true => false, - default => 'uwu', - }); - $this->assertEquals('uwu', match (0) { - false => true, - true => false, - default => 'uwu', - }); - $this->assertTrue(true, match (false) { - true => false, - default => true, - }); - $this->assertTrue(true, match (false) { - default => true, - }); - } - - public function testThrow1() - { - $this->expectExceptionMessage('Unhandled match value of type int'); - match (0) {}; - } - public function testThrow2() - { - $this->expectExceptionMessage('Unhandled match value of type int'); - match (0) { - true => true, - false => false - }; - } -} diff --git a/tests/Target/Php80/NullSafeTransformerTest.php b/tests/Target/Php80/NullSafeTransformerTest.php deleted file mode 100644 index 609e5fb9f..000000000 --- a/tests/Target/Php80/NullSafeTransformerTest.php +++ /dev/null @@ -1,21 +0,0 @@ - - * @license MIT - */ -class NullSafeTransformerTest extends TestCase -{ - public function test() - { - $this->assertTrue((new class { public $a = true; })?->a); - $this->assertTrue((new class { public function a() { return true; }})?->a()); - $a = fn () => null; - $this->assertNull($a()?->a); - $this->assertNull($a()?->a()); - } -} diff --git a/tests/Target/StringConcatOptimizerTest.php b/tests/Target/StringConcatOptimizerTest.php deleted file mode 100644 index 364fdff0c..000000000 --- a/tests/Target/StringConcatOptimizerTest.php +++ /dev/null @@ -1,19 +0,0 @@ - - * @license MIT - */ -class StringConcatOptimizerTest extends TestCase -{ - public function test() - { - $this->assertEquals('abcd', 'a'.'b'.'c'.'d'); - $this->assertEquals('abcd', 'a'.(('b'.'c').'d')); - $this->assertEquals('abcd', 'a'.(('b'.(fn () => 'c')()).'d')); - } -} diff --git a/tests/Target/TypeHintTest.php b/tests/Target/TypeHintTest.php deleted file mode 100644 index a4503e192..000000000 --- a/tests/Target/TypeHintTest.php +++ /dev/null @@ -1,40 +0,0 @@ - - * @license MIT - */ -class TypeHintTest extends TestCase -{ - public function test() - { - $this->assertEquals(0, $this->variadic(0)); - $this->assertEquals(0, $this->nullish(0)); - $this->assertEquals(0, $this->nullish2(0)); - $this->assertEquals(null, $this->nullish(null)); - $this->assertEquals(0, $this->nullish2(0)); - $this->assertEquals(null, $this->nullish2(null)); - } - - public function variadic(int ...$test): int - { - return $test[0]; - } - public function nullish(int $test = null): ?int { - return $test; - } - public function nullish2(int $test = \null): ?int { - return $test; - } - public function voidPony(): void - { - } - - public function generatorPony(): \Generator - { - } -} diff --git a/testsGenerated/Target/Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test.php b/testsGenerated/Target/Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test.php deleted file mode 100644 index 51c198fe1..000000000 --- a/testsGenerated/Target/Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test extends TestCase -{ - function test001cdb201a2ed99124dfbdbe58237d9179e33b2e1935f2706b7940aff29bda8f() - { - $this->assertTrue(true); - fn() => ($test / ($test **= $test)); - } - function test08378d1067f6c33d9e2cbd516c94abfb902d25dc0ccc7db11459ee26af464d3c() - { - $this->assertTrue(true); - fn() => ($test / ($test ? $test : $test)); - } - function test0bb2173ed4ac69ce2d22cdaa557c8a0920d6dfb2e2f6a5ef9f4074309f148d0e() - { - $this->assertTrue(true); - fn() => ($test / ($test |= $test)); - } - function test0d07b8e48471b80e9e7f0e7d9503594f09d0dfc4656530d4a349185910ea8a60() - { - $this->assertTrue(true); - fn() => ($test::$test == $test); - } - function test0e77e76ec652020245673a50ed3a65aa083e47ddfdbe21662b63f683171908c7() - { - $this->assertTrue(true); - fn() => ($test / ($test > $test)); - } - function test0f3f6d9e943fa66af6f4e4adc2319591fe05b68888832c6283d0a762d7c9da80() - { - $this->assertTrue(true); - fn() => ($test++ == $test); - } - function test0fe11d44f532850e03a1f55868957c5f19ca83bc9a6688e21da70353c6b2ff4b() - { - $this->assertTrue(true); - fn() => (empty($test) == $test); - } - function test103d01bd69236b96645e2a059e9f2f9769011a872ce0046c3bc7e381301d54df() - { - $this->assertTrue(true); - fn() => (( $test) == $test); - } - function test14427582efde80ba1ddcd0481271af056042ad32f335fc15a445b751fb6eba07() - { - $this->assertTrue(true); - fn() => ($test instanceof $test == $test); - } - function test149b275ce5c631a95fcb5fa2a7086255afd1429b9f42d90ac373c45218a1d847() - { - $this->assertTrue(true); - fn() => ($test / ($test - $test)); - } - function test149dc3c8be8ecb337f2ecbbf5db7f807380388cf44fb407eb7cff9f9f2ecb0cd() - { - $this->assertTrue(true); - fn() => ($test / __CLASS__); - } - function test14d7a9c53e94d8869f01972be6cf4f97d109f08eaf7506e9c6ab1790aaa4b00e() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() == $test); - } - function test1539735d77b343ec95fea27dc13d7d14327d3f2271f4c2665afa45a8c1d48f8e() - { - $this->assertTrue(true); - fn() => ($test() == $test); - } - function test1575d99f51ced2676f95d9aa77f5a70722b6ea32f9098b3547cf7655e6d8738f() - { - $this->assertTrue(true); - fn() => (@$test == $test); - } - function test1612d27d67a3a1982b5a921ded6ba357d6d26183acf54dae193387d3a4861a81() - { - $this->assertTrue(true); - fn() => ((print $test) == $test); - } - function test17138494444529d9cb0564479f8985e84e104916fd4e73d5aa9f583ca5f7724e() - { - $this->assertTrue(true); - fn() => ($test / ($test ^ $test)); - } - function test17b6914d9977cb3935aeff3375dfd1bfed50ad1ed5019949c983625f3e2c726a() - { - $this->assertTrue(true); - fn() => ($test == $test); - } - function test181d6462cabb8729dd001df4fb20b88f7af6c64328d7800e83764108cea6c87b() - { - $this->assertTrue(true); - fn() => (match ($test) { - } == $test); - } - function test197a927f43d62271c8a48f14f95ab48402c4a78b8fa85501545afee1f13d5810() - { - $this->assertTrue(true); - fn() => ($test / (string) $test); - } - function test1ddae498a3040abda95d9b932985d8c6bb7cc9661eec96c20dc601d2e641cf3b() - { - $this->assertTrue(true); - fn() => ($test / (object) $test); - } - function test1ea861dde96cb9dafb3d823ffc74851b773df5459116a28bb0007da7e238af64() - { - $this->assertTrue(true); - fn() => ($test / ($test << $test)); - } - function test1f325097099643d6b0d03a35cb14c72a4ddb3f503d0d63794c5f353d29b3f648() - { - $this->assertTrue(true); - fn() => (new $test() == $test); - } - function test22f93a3ac8d590c8a75e1ee2ccbe9aea232cffe028c0924a7fe11751707260be() - { - $this->assertTrue(true); - fn() => ($test / ($test >>= $test)); - } - function test235e334b2fa046df26df47a0ba912cedda4596ae47456fc2bf22bb9d7cfe2c7b() - { - $this->assertTrue(true); - fn() => (function () { - } == $test); - } - function test23a99a71b86fe822645f27afe345d298c8fbcda2daa1cac3ab2e133703b327aa() - { - $this->assertTrue(true); - fn() => ($test / ($test >= $test)); - } - function test26cb278837012e95cc3a6d81b2f3aab79e67d9fd527482f42516c1d5677064b0() - { - $this->assertTrue(true); - fn() => ($test::$test() == $test); - } - function test2ae2f957857e774e83ac29f571c7ad46fd61236b07479978f1c64862f6fbb363() - { - $this->assertTrue(true); - fn() => ($test / ($test -= $test)); - } - function test2c79c3622407f6cbb4d9ee659fe863a7252f3c1c01f183e97faedca4c22f37e8() - { - $this->assertTrue(true); - fn() => ($test / ($test <= $test)); - } - function test3227057f652c51554770c64ee2f798661aa48c1515a76652479a894c981f0bdc() - { - $this->assertTrue(true); - fn() => ($test / ($test % $test)); - } - function test32d3e0f634a864648b0525edb5c9dc39bdf3c0abaa38c5b93975b678847dfb81() - { - $this->assertTrue(true); - fn() => ($test / ($test == $test)); - } - function test34434dc15115507d87dc8381ad30686db5ccdc954a5faed3e69245766a07a753() - { - $this->assertTrue(true); - fn() => ($test / $test ** $test); - } - function test34bcfe291c5385a607da0a261ff25686e2282475e2495ebeefe13f78c809b29e() - { - $this->assertTrue(true); - fn() => ($test / ($test *= $test)); - } - function test363b9eab2f0afb2aa835529421ab7605ffc4153d3387a72c55342c4935d1765e() - { - $this->assertTrue(true); - fn() => ($test / ($test < $test)); - } - function test3bf0c7ee8f3162656da3904b6748ee9b046bbab212c94182433e5cb2c2193813() - { - $this->assertTrue(true); - fn() => (eval($test) == $test); - } - function test3ca47f731031db1f03b0051e08f93b270c7dbe3a8a58b2ab3f981b4e9f429f21() - { - $this->assertTrue(true); - fn() => ($test / ($test === $test)); - } - function test3fb2952adf15e83cfaa8d5696afcf12b1aeae1d49549beb7a942df746ff74cd2() - { - $this->assertTrue(true); - fn() => ($test / __LINE__); - } - function test44b05d19db0302773d6a3a6a14f05944d557c3567f4e13e497576a770817c335() - { - $this->assertTrue(true); - fn() => ($test / ($test || $test)); - } - function test45c2402bfb70b59e1ef9e1ce275f2303a73892be35f766a21e09c116d6cca88b() - { - $this->assertTrue(true); - fn() => ($test / ($test + $test)); - } - function test45f7bfb085de169e642c3a545624ca54f8142548559303142c80964298e6d378() - { - $this->assertTrue(true); - fn() => ($test / ($test and $test)); - } - function test4a653406c59da051f904b99e0ebafd8c6d589ea354180c9ff478aaec050fcd6b() - { - $this->assertTrue(true); - fn() => ($test / (bool) $test); - } - function test4d74d7f3743988719a710c8ba8a6ef73e220de87abfdb0a4c0e3f8fa9c32f2e5() - { - $this->assertTrue(true); - fn() => ($test / ($test xor $test)); - } - function test50bdb72f5d357e26fee13eaf703d4debdf60fe05e992b8baa8312b9d159dc3d5() - { - $this->assertTrue(true); - fn() => (clone $test == $test); - } - function test5467e58532f2e832071d19d83537cac57d1026329e28accee26b4c50c57bda5e() - { - $this->assertTrue(true); - fn() => ($test / (yield $test => $test)); - } - function test547a938dec119bb3a9516b6425be90b3b44d785a89fee7f4c00366cb6995802b() - { - $this->assertTrue(true); - fn() => ($test / ($test <=> $test)); - } - function test59680f00cf1973a9b471601448047270c4efdfa6f90dba2114d58690a0753905() - { - $this->assertTrue(true); - fn() => ($test-- == $test); - } - function test68e4e6b88a4bef015d0101a7b9096068334e75729ee1af2999b844b0846055c2() - { - $this->assertTrue(true); - fn() => ($test / 0.0); - } - function test7032f93fa81d9a40f72b2c687318bb9589d447f37e13f0ba4b8dc07fa86e2251() - { - $this->assertTrue(true); - fn() => ($test / __FUNCTION__); - } - function test703db7a7eb77ae50d1b0deeb5522dd2a264bd28ad1724b59c04ced4e1aef6388() - { - $this->assertTrue(true); - fn() => ($test / ($test ??= $test)); - } - function test72f16717181b3fe20afd7c0bbb4011aaef007bbf75ca403a8e1b98d1641aee01() - { - $this->assertTrue(true); - fn() => ($test::${$test} == $test); - } - function test7490765811646cd917780d01a9f95d258aa2b41c1283c873c93b4670e48b95ce() - { - $this->assertTrue(true); - fn() => ($test->{$test} == $test); - } - function test76815e9dd0a2a53381f1c592a02f1e616baa4c7a740cd1e4d783d4016d8780f3() - { - $this->assertTrue(true); - fn() => ($test[$test] == $test); - } - function test7a969bcdc2e2b83820cf0cf3781f14977c70b9a4ab012c00ae10f967e1c2908a() - { - $this->assertTrue(true); - fn() => ($test / (int) $test); - } - function test7b1fe00eb2dedbae4b27937752cec400fa6b7e1eb21af7b2a34b85f09dbcfbd6() - { - $this->assertTrue(true); - fn() => ($test / ($test ?? $test)); - } - function test8095934947a56d58e1c494cde6182c1c798f91f040ad81c0d08cb28c58be3039() - { - $this->assertTrue(true); - fn() => ($test / $test::$test()); - } - function test82db236f2db0fa6a7b129c340c8273a2dffa453bdae9d026feffc66b36ef5f34() - { - $this->assertTrue(true); - fn() => ($test / __NAMESPACE__); - } - function test881a2ba97095065c45a1eb976e28438f4c3afb2b86ca5ece816c0a792981cdd5() - { - $this->assertTrue(true); - fn() => (++$test == $test); - } - function test8934e23df9604d3a3f83a3fbe35daf89d8a1c3a583862b91228e8ff3c234bb05() - { - $this->assertTrue(true); - fn() => ($test->{$test}() == $test); - } - function test8dbabc3cb79de0cd11731519429282285bc0292f9899d7e558590f44338b6a75() - { - $this->assertTrue(true); - fn() => ($test?->{$test} == $test); - } - function test8e67ef21ce57c527c19454fbbea168d4b40d6a27435250a5761475ba9a5baf9e() - { - $this->assertTrue(true); - fn() => ($test / "{$test}"); - } - function test90b36dcae070b26166fb1b167892e374de24c14cea54555a21e324d90041a5dd() - { - $this->assertTrue(true); - fn() => ($test / ($test !== $test)); - } - function test93bea7f57c066284e198538535ba974d25e8872b427ab10fa683acdb6ffec03a() - { - $this->assertTrue(true); - fn() => ($test / 0); - } - function test94591343c15237f3ccb2855f5849bdd49752eba0be9bd6fab4850672a4b8b5ae() - { - $this->assertTrue(true); - fn() => ($test / ($test & $test)); - } - function test99ee3086cbf895ac389b1b4c4699fde8f281eb4aa7ffc23f7e4d14184a638d8f() - { - $this->assertTrue(true); - fn() => ($test / ($test | $test)); - } - function test9e3f17897c2ce6fc907814e48bdf8e3dc8fe63b2fd80d47628d239542643e2a3() - { - $this->assertTrue(true); - fn() => ($test / __TRAIT__); - } - function test9ee7e719a44aa8d8c62dea326fd63f98428e249774769b24caa4defd4a7c99c8() - { - $this->assertTrue(true); - fn() => (`` == $test); - } - function testa7bbc74c8bdff1748accedac0182ad2b0832575b68b0b518965251602eee313c() - { - $this->assertTrue(true); - fn() => ($test / ($test && $test)); - } - function testa9e48393aef962aeb339163384f3a3d138d3e5f172e65591eb993e8a310644cb() - { - $this->assertTrue(true); - fn() => ($test / +$test); - } - function testab91289d3f0faf724f6386756d2aac5c44a7c83505b6ab2ff669052d9caede1a() - { - $this->assertTrue(true); - fn() => ($test / __DIR__); - } - function testabca862fc97952083b3d75586c54804b2826559405b8503771d4392b3d8587b3() - { - $this->assertTrue(true); - fn() => ($test / ${$test}); - } - function testad593c850906e4a2cce92f4c1dfea39770ebf5e4da9942ab77ef80cc128bcc26() - { - $this->assertTrue(true); - fn() => ($test / ($test %= $test)); - } - function testb0d9d50561ef93340e3f780c71fac5e6732a339e18afffc6fad2b12b0395b30e() - { - $this->assertTrue(true); - fn() => ($test / ($test or $test)); - } - function testb4b49fc99426ce6d9ae4972b4f387bd97e5340b4d7a66979b61e199b72d48631() - { - $this->assertTrue(true); - fn() => ($test / __METHOD__); - } - function testb4bfd99fa905f9d7d3902d0d0e94dd5d2d2a50acc472ab2a49d5ba74ddad3d5a() - { - $this->assertTrue(true); - fn() => (isset($test) == $test); - } - function testb5b4ebdc82c499b05e4f5710afa13f0a5a89450cb72e997cabf4cccd8bcd8461() - { - $this->assertTrue(true); - fn() => ($test / ($test >> $test)); - } - function testb7e1e501fc302a4508853e646f261d60a204613a75b18736faea07a4a1bc8be8() - { - $this->assertTrue(true); - fn() => ($test / throw $test); - } - function testbc3802a809e269cdf9d7b936e4b50d1d07590b6dc10cebf35776dc0bcb1ac511() - { - $this->assertTrue(true); - fn() => (~$test == $test); - } - function testbf4d46344e617be931c4c4fa4ae685b481ca13f3cc5549fbf70eff9421a02e8b() - { - $this->assertTrue(true); - fn() => ($test / (double) $test); - } - function testbfaeddd9ff121a352251bc26034d59243300d80682d902bff9a104a3ccd81f0c() - { - $this->assertTrue(true); - fn() => ($test / ($test * $test)); - } - function testc3dcd2ac3b4251eaad81f646628b6cd0c954550399fdbdf811c67a7611bbef97() - { - $this->assertTrue(true); - fn() => (--$test == $test); - } - function testc599a678c5b4c9f3e4f45a532946a6d7a14b8e6952261a9fb669489ae0d5598b() - { - $this->assertTrue(true); - fn() => (!$test == $test); - } - function testc7bd420d06d45c722919e0d95591cd5b1cebec66690cdad07e66e4e2048d3bdf() - { - $this->assertTrue(true); - fn() => ($test / ($test /= $test)); - } - function testc9e521ee66c14f31698eceb2aa1b848a51f578d780122d2e735b7aada3422848() - { - $this->assertTrue(true); - fn() => ($test / ($test ^= $test)); - } - function testcca8b7b2d130f440b2dbd83060a073514902baf8f414ab6d45de9425509aaae4() - { - $this->assertTrue(true); - fn() => (($test =& $test) == $test); - } - function testd39d809971c8fad541dc55359379a512b1bd0d713f659c038c49c4d5c3462cb9() - { - $this->assertTrue(true); - fn() => ($test / ($test / $test)); - } - function testd6dd55566b0ab7bb0fe55f44567945973afce33c7a0ac8b07f8f3d338a0fb042() - { - $this->assertTrue(true); - fn() => ($test / -$test); - } - function testd7bbafa6f8fba86831ff06fac9b65dd24e69d10edb28aafa222640b6a9ae1c0e() - { - $this->assertTrue(true); - fn() => (($test = $test) == $test); - } - function testd98132ef508acd31032ee58b526fa9fc882b35864e54a4081dc62726f0a4731b() - { - $this->assertTrue(true); - fn() => ($test / ($test += $test)); - } - function testdabff68cab43105a6050b90fc499271649299b51c21e5a2b20a6ddecd8a93e3b() - { - $this->assertTrue(true); - fn() => ($test / ($test <<= $test)); - } - function teste1721f763581ddc3b1838eac149de46d155c0e8a61215b1c369e02e68ee99e44() - { - $this->assertTrue(true); - fn() => ([] == $test); - } - function teste641e1b0348d209016237271c5720cd5e674eb454536d0d1d6704b1437ca86f7() - { - $this->assertTrue(true); - fn() => ($test / ($test != $test)); - } - function teste799e4808612fd1215d7712f783d141a3c385a44224c4851bb199b4fa1430c76() - { - $this->assertTrue(true); - fn() => ($test / ``); - } - function teste79d0ad7d2ef1fe5ea9ae4712df39f40236f2decf2916a425856dfded6b09429() - { - $this->assertTrue(true); - fn() => ($test / ($test &= $test)); - } - function teste7ee4a790ac364eef373f7e8f082c5ab218a4fa326c603c333b8b87bb767b33b() - { - $this->assertTrue(true); - fn() => ($test / __FILE__); - } - function tested39cdefb83dfac303bf55851c710c5cfe3c720134bc4dafbcd6d6d3e2be0dcf() - { - $this->assertTrue(true); - fn() => ($test / (yield from $test)); - } - function tested9c2be8b48d41c966ea4f1641244020281bd58b4c28bc8fb05630ba4568514b() - { - $this->assertTrue(true); - fn() => ($test / (array) $test); - } - function testf01ad6d015a066fe77817393ac90baf39972143c956178ccccd765f5fdd84fde() - { - $this->assertTrue(true); - fn() => ($test / ($test . $test)); - } - function testf4bd96421fc32c1b43949072baa1b865648e6c33382b0d1a632ae42fa18fe38d() - { - $this->assertTrue(true); - fn() => ($test / ($test .= $test)); - } - function testfb7c69583b6dfa5b57de961c653eefb4b34de62862570792f115a5344f293689() - { - $this->assertTrue(true); - fn() => (self == $test); - } - function testfeac9b5130fbf6d0e0fdc6fbd59643b73144ef403f675f184b2af1b5ad73e1bf() - { - $this->assertTrue(true); - fn() => ($test / $test::${$test}); - } - function testffb7af92c4eb14bba8404484585be395b2fbc73840d3c5cdaa1ebde2b1b9322c() - { - $this->assertTrue(true); - fn() => ($test / 'test'); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest.php b/testsGenerated/Target/Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest.php deleted file mode 100644 index ee6ab4933..000000000 --- a/testsGenerated/Target/Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest extends TestCase -{ - function test029f63363f07f1474ac1e3297925cab9d2bbf3b6dade871032dbc7dfa7ef3bb1() - { - $this->assertTrue(true); - fn() => ($test <= ${$test}); - } - function test02ba019fb79fa1b28c7a4dbc3fc6c8345c59b3b8272420bd529644e384ee8a4b() - { - $this->assertTrue(true); - fn() => ('test' <= $test); - } - function test045ad16d26c10a346c60dc9112067d30d0f92281a2a1e464af5f56f33c64315a() - { - $this->assertTrue(true); - fn() => ($test <= @$test); - } - function test12b3df624717a0f25bcc193c543b4ca850d61435bb3f44d136fa94e823d99353() - { - $this->assertTrue(true); - fn() => (($test and $test) <= $test); - } - function test153997bc3f98877dea2d6c03f7b998274317be2f492af019890ed4a355a8fd95() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ <= $test); - } - function test157221a71b583040e1a43a0574c16961fd9e1e07809d9ebf6f38fb2b746c80ec() - { - $this->assertTrue(true); - fn() => ($test <= $test()); - } - function test1b36ebb9a87d83671f2d38879f1455d104b01923316dd84cd975c8848d606109() - { - $this->assertTrue(true); - fn() => (($test ^= $test) <= $test); - } - function test1c58eb8a9d57c182af28a957d8e982fe39d5ff26b5885d749d03a7892fcf517f() - { - $this->assertTrue(true); - fn() => ($test <= ( $test)); - } - function test1df943b22aee5051f99f6ccd1081953f42fbdba2b087ccbd68fe8f0c002befa4() - { - $this->assertTrue(true); - fn() => (($test <=> $test) <= $test); - } - function test1f6a964ab1848d00f713d91132220675980a28b457f24f463a07c5e4168da173() - { - $this->assertTrue(true); - fn() => ($test <= $test[$test]); - } - function test205836e2df9be46523cbd73d4f62db6d1afc8231426126e403c4da5902bebe77() - { - $this->assertTrue(true); - fn() => (($test ^ $test) <= $test); - } - function test2107543c6d81342aa674f626666837d06545e0eb78b9afb4dba54dad54f3aaa0() - { - $this->assertTrue(true); - fn() => (__FILE__ <= $test); - } - function test277c94bf2364f02d630e1541fb1017c058170362c07fd5cf730fa08f3c45911b() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ <= $test); - } - function test299077c4050b8bf59571d0365e765c3e5caa6a04e37213eb694fe0119ef93630() - { - $this->assertTrue(true); - fn() => ($test <= $test->{$test}); - } - function test29aee90d4e45035e449073e32cfdffb0e488729bb3fe8b07a04b6b0de712f2fa() - { - $this->assertTrue(true); - fn() => ($test <= $test?->{$test}); - } - function test29f48b25e9bd79a5ef9ea3bf67a25935ebda78d9bbd59655a0502f1166344ef2() - { - $this->assertTrue(true); - fn() => (__METHOD__ <= $test); - } - function test2b234919401cba4915995da4f022fbb41617f8a98cd0c39cb512e1a017a7914d() - { - $this->assertTrue(true); - fn() => ($test <= +$test); - } - function test2fbaa0c5a9566314210cff4d4a04d1654686f4ab62e5a5d8480f07efc38abdd4() - { - $this->assertTrue(true); - fn() => (($test || $test) <= $test); - } - function test31fb4795cd5b734322d1dc264891cafc139f16aac17928cd3aa2d1d43956e0db() - { - $this->assertTrue(true); - fn() => (($test <= $test) <= $test); - } - function test3936c5f56df8e1e4e6b3c40cb897f3e0270fc036fc534a7f65c6ddfa1f6e9ee2() - { - $this->assertTrue(true); - fn() => ($test <= $test?->{$test}()); - } - function test3c640b56624a2c267de6797513be71cf353307a384e73812d6f73b083db947bf() - { - $this->assertTrue(true); - fn() => ($test <= $test->{$test}()); - } - function test4022f48f3b194908058294839de6920a4983790a8dd482e6b53ae69ab90b6e70() - { - $this->assertTrue(true); - fn() => ($test <= $test::$test); - } - function test412b1f3bde102c958845a229d164aa51e758fa035fb49586969fde588bd45172() - { - $this->assertTrue(true); - fn() => (0.0 <= $test); - } - function test43bfc520af429b7f6b12792eb1088f69ddf125b769b552f696608b96f1457192() - { - $this->assertTrue(true); - fn() => (($test .= $test) <= $test); - } - function test448c9d7159d306f2a143eb42b44d3a381db1cb1d03b51f723e8530b3988c4a7b() - { - $this->assertTrue(true); - fn() => (__CLASS__ <= $test); - } - function test46a728ff0ad0bef46b89703c6b6eda4c7d2b96ad1c79e6d2c2567591b0720859() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) <= $test); - } - function test485c64fc565ecfeeee2ed84ee61cbbd268f508edbc05df4378eaed0326d1efc2() - { - $this->assertTrue(true); - fn() => ($test >> $test <= $test); - } - function test48604b5dd16dca72b3bfa3771aeb76e757bd21fdd23bf70c5d472e45f68e76fb() - { - $this->assertTrue(true); - fn() => (__LINE__ <= $test); - } - function test4bce096759dd38844b66bec032ae3eb5ed06b9e19fb9f7b591dfbfb9f22699b0() - { - $this->assertTrue(true); - fn() => ($test . $test <= $test); - } - function test4c815cb595ad0e5a8f9b3f081fe7da5f460e7564e5e7ddc6332d57fc582a80a6() - { - $this->assertTrue(true); - fn() => ($test <= ~$test); - } - function test4e0bd5c422084e5236d4010e7919f6ab45e92154ed7f08b9b6f6d458ef8f3162() - { - $this->assertTrue(true); - fn() => (($test != $test) <= $test); - } - function test508f8efc59bcfb07908101eede4ec37dd3aeca3c177ba2b83489a50bb3e79ef6() - { - $this->assertTrue(true); - fn() => (($test < $test) <= $test); - } - function test517130efb0b28ed7e1ee978b794f2d15e278a998ab52f67e0527518167124886() - { - $this->assertTrue(true); - fn() => ($test <= ($test ? $test : $test)); - } - function test525a12342169fe51617fe2320a6c113bdee17e922ec9ca7562c7126b23dac366() - { - $this->assertTrue(true); - fn() => ((object) $test <= $test); - } - function test56391e5bd87b12cf1f898e3175e30c680682a713b24c30977356ca2cf3c116dc() - { - $this->assertTrue(true); - fn() => (($test *= $test) <= $test); - } - function test5a538b0d884d30f6ee12554b73d18d214bf1a2f2586421661e8711ee305b33b7() - { - $this->assertTrue(true); - fn() => (($test ??= $test) <= $test); - } - function test5b35a579c04aecfee56181772c96ed25a6468c0bcd38f7588456f5c69a0a002b() - { - $this->assertTrue(true); - fn() => ((string) $test <= $test); - } - function test5b85bda9b0c48bcea042cd59a470578c629199887e1bd142efa64706cd2504ff() - { - $this->assertTrue(true); - fn() => ($test <= !$test); - } - function test64885dcf8ae5084a589db89964b963529430082d20d4f0d2aafe30e97a874ab5() - { - $this->assertTrue(true); - fn() => ($test / $test <= $test); - } - function test66289de6b480fcebad9ae7ed81688199ce061b361f96103f0f1e9e057fd6cd66() - { - $this->assertTrue(true); - fn() => ($test <= $test--); - } - function test66fefb2cde9d1f24c7c4b1f0cb51e0286daee602219b8a9be2dc5240b3d955ab() - { - $this->assertTrue(true); - fn() => (($test == $test) <= $test); - } - function test69dc44486b2de340dd051bc628ac1d39ce2496ce11c3dbbbafeca0a3d1c89e31() - { - $this->assertTrue(true); - fn() => (($test >= $test) <= $test); - } - function test6bdbd9cd49d782098f6afb8e1e8c74d9dd14a80bc7de434fb1755414028f0ddb() - { - $this->assertTrue(true); - fn() => ($test <= $test); - } - function test6dc4612d89bb2d09ec1647e29c96f8a6cf71324a45a0f8ea8ca301e4e50f6da4() - { - $this->assertTrue(true); - fn() => ($test - $test <= $test); - } - function test6ee4f5c994c5c23a0f9b3bc1f34da1f8d2d4d0d3150b5908e51b54e05de269c1() - { - $this->assertTrue(true); - fn() => (($test ?? $test) <= $test); - } - function test720932e3ae1acfc683e96a7da691fffda3bf04f931c3a7a7f9a155d35064d52f() - { - $this->assertTrue(true); - fn() => (__DIR__ <= $test); - } - function test7524c0cc74e33f8def0d710b99dcce376b88548f691f574f18c29eb1e3435800() - { - $this->assertTrue(true); - fn() => (($test **= $test) <= $test); - } - function test7ae1314c37b8cbd0de8f7406041c0e4f6f1fb567c142914b74d005b11810bf26() - { - $this->assertTrue(true); - fn() => (0 <= $test); - } - function test7b6fd59a58769c6a03586966f7aaaf768fa6b54783c4f9c2dcd3d428d4408167() - { - $this->assertTrue(true); - fn() => (($test === $test) <= $test); - } - function test7d90d39b872f3ea5c86f921bbb1c69970397db698fdaf82ceaf5be3bc4bd7dd1() - { - $this->assertTrue(true); - fn() => ($test <= clone $test); - } - function test7f22a5922ed6239ce0787b3482242a844197e06520d5561287dc6742931c1d2f() - { - $this->assertTrue(true); - fn() => ($test <= empty($test)); - } - function test80cca2d48b8d9a7e918d0919f3ac165bd0b223eed6a081b55927ff9a57912587() - { - $this->assertTrue(true); - fn() => ($test ** $test <= $test); - } - function test80d37b6f88b369fd4bb3798dbcfe6191cab8a7778b713059a0affacdada88152() - { - $this->assertTrue(true); - fn() => (($test && $test) <= $test); - } - function test85490b4088559f7be48b1524e3b1356e267e75ef0c854729cbbcc7ce41544adf() - { - $this->assertTrue(true); - fn() => (($test /= $test) <= $test); - } - function test8aa2dd5c0177b0350288f1c471ed88d8a9fd27dc0afe7768d12f9e76eaec23da() - { - $this->assertTrue(true); - fn() => (${$test} <= $test); - } - function test8af3ba304fa50f8ae4236fbbcef96c7299069e4c56cc17ffc7cea6e655ff2ea2() - { - $this->assertTrue(true); - fn() => ($test % $test <= $test); - } - function test8fd2cf9a19670299d9abf139826f13cf37ff2c6e881e9a500b985fbc70a8e399() - { - $this->assertTrue(true); - fn() => (($test -= $test) <= $test); - } - function test92994ece433d4d806165b62b17624cca20fee730491e21bebfc5c4e9a385ac49() - { - $this->assertTrue(true); - fn() => (($test <<= $test) <= $test); - } - function test9552490adaa76edf7d157a12b36fbd92073e6f421310bfa83d2592b77b3803ce() - { - $this->assertTrue(true); - fn() => ($test <= $test::$test()); - } - function test973f62d64823ee8c3b610a214fba3619d9a38e371f85b195619a61c12c61c71b() - { - $this->assertTrue(true); - fn() => ($test <= $test::${$test}); - } - function test9beadfe4ab0a07cad1255c895b3d79b07f384791bc7109d12cc305d68ce536e3() - { - $this->assertTrue(true); - fn() => (($test !== $test) <= $test); - } - function test9cb46ba62216a535a09072e99662a5618ecdeb740d40414cf1e5fedc3fe4049d() - { - $this->assertTrue(true); - fn() => (($test or $test) <= $test); - } - function test9d1d9cca9955457422a15390aec9ab65088ba7f36122f22597c129ae03099a38() - { - $this->assertTrue(true); - fn() => ($test <= --$test); - } - function test9e7d63fe23fc810accdf8f3d9776201b2d4d0fe839064a5c46749609a3920582() - { - $this->assertTrue(true); - fn() => ($test <= (print $test)); - } - function testa5ac7e3eb719029d42355c1414fd8e310a8cc920719e732ab444a01b1483a906() - { - $this->assertTrue(true); - fn() => ($test <= $test instanceof $test); - } - function testac86ee3287e2225e9cc3c6535e8a3fd99b4f15a32b25af09cefe581d100c744c() - { - $this->assertTrue(true); - fn() => ($test <= []); - } - function testb6851478fea5218f1d58d0d92ee027f3f70bc127798b9612fbafd8ec2a3b6b0c() - { - $this->assertTrue(true); - fn() => (($test > $test) <= $test); - } - function testb72733ac06cd8a36bff372d93b15572e91f2de174ad75741abb93bb3230cb33b() - { - $this->assertTrue(true); - fn() => ($test <= ``); - } - function testb737889761010f00019a432481531ce73cdc952667aef4c9a6114de120721073() - { - $this->assertTrue(true); - fn() => (($test & $test) <= $test); - } - function testb806b1e20166ca690cacb0e3f7ef93c806b6b6da08d300570f35c640efd87a0b() - { - $this->assertTrue(true); - fn() => ("{$test}" <= $test); - } - function testb8e110a04edde1cadb3414d46966231b8a8ab993337040a1dbf5668b8eb3f983() - { - $this->assertTrue(true); - fn() => (+$test <= $test); - } - function testb9b654e6a5dc0f50626d598b09ee988773520c13b82361b9fffe94a89c1bb6a6() - { - $this->assertTrue(true); - fn() => (-$test <= $test); - } - function testbc89266e577c033e5964c0ba9467a24d0124dad4d5a29dc32d1f8ad5425203fd() - { - $this->assertTrue(true); - fn() => ($test + $test <= $test); - } - function testbf6affed732fccdcd980629c98bb1fd52fe79f513a7a09ba5c9656d04d03ba2c() - { - $this->assertTrue(true); - fn() => (($test xor $test) <= $test); - } - function testc2710e1b5addf85863046da534458ac9090f7df354a97623a1b332567b179f30() - { - $this->assertTrue(true); - fn() => ($test << $test <= $test); - } - function testc2cce152dfe6b174fb60e3dce90b01e6e807b399bad5b3b16724deda2977f052() - { - $this->assertTrue(true); - fn() => (($test >>= $test) <= $test); - } - function testc6e5bbcf151dde58cdf0665387b3472c826f688a018104267f75ebb640758145() - { - $this->assertTrue(true); - fn() => (__TRAIT__ <= $test); - } - function testc7abcf909e4ba1946d3e6655dc5a992bfc9194de68451989a0428953bb83940d() - { - $this->assertTrue(true); - fn() => ((double) $test <= $test); - } - function testcb58000875ac8262ce6c1457b4a6617f0d693bf8bd842aa3c7376e151c92efd9() - { - $this->assertTrue(true); - fn() => ($test <= ++$test); - } - function testcbdbffa9f114b3e58aead327f3fd58da14acaf261dd3b5ff3ade8403be3f5284() - { - $this->assertTrue(true); - fn() => ($test <= new $test()); - } - function testce3173b043b6fd8587f46f5bc8e44c54130ababd5ae09b3ecf5e2c880ff4815f() - { - $this->assertTrue(true); - fn() => (($test += $test) <= $test); - } - function testce56826022c381eec6cfa71e5ed2de1d0a280a393bb351f3c17f7235806db116() - { - $this->assertTrue(true); - fn() => ($test <= throw $test); - } - function testcf43042f96ec49c66334ccffcc856d36bcc6f229df834a0a81ee5a939c6881ed() - { - $this->assertTrue(true); - fn() => (($test |= $test) <= $test); - } - function testcfa74a70390be1bbaab54b5c494ca49b6bcd339ef8c426c5bfa2428f65944b5d() - { - $this->assertTrue(true); - fn() => ((int) $test <= $test); - } - function testd2ec6d2bf57588fea3ef545fe746ddd4b08f4c423c67a5096581cff1976ce642() - { - $this->assertTrue(true); - fn() => ($test <= match ($test) { - }); - } - function testd5c5a46d0cb5fe09ceb6b57816101118bdd95c3398576f704ad0519050c8c8fc() - { - $this->assertTrue(true); - fn() => ($test <= function () { - }); - } - function testd661e3e522656a9608408562e498905d3dc23ed0aedd46d43ec5f5dbbdf8fe5c() - { - $this->assertTrue(true); - fn() => ((array) $test <= $test); - } - function testddb84874baf3034767807a9c2fcc90734b9d888c81f3d50d723d39f25ebd3ef1() - { - $this->assertTrue(true); - fn() => ($test <= eval($test)); - } - function teste098d2955178494b3db9e97c8d94824759d8198acb6fc6446d5d9484948ae85d() - { - $this->assertTrue(true); - fn() => ($test <= -$test); - } - function teste0e104822e1d96b254f30477288e479bfb8f9dc1f30d2fac3fb656e2383aba30() - { - $this->assertTrue(true); - fn() => ($test <= self); - } - function teste0fb3f4e55cf50718bd31b44dcba24293182b8d6696bc630553aaeae72a18052() - { - $this->assertTrue(true); - fn() => ($test <= isset($test)); - } - function teste2f0afecb3c8e8e748910b0c4bdcd25fbb3e8b6453c37e4901c98af8662a65b5() - { - $this->assertTrue(true); - fn() => ($test <= $test++); - } - function teste52b5149e2aadab47f56a99c56aae23ca7916b6def61be27b3993dafd83952ba() - { - $this->assertTrue(true); - fn() => ((yield from $test) <= $test); - } - function teste60024b2faf51a4eb01cd5bf326af4c24d2c04d451f2a74b2f736c4df23967a2() - { - $this->assertTrue(true); - fn() => ($test <= ($test = $test)); - } - function teste60f71a1b3c34704f794fde1b0ecdf73a3cf654cb301f352108d5c7b38dbc1c2() - { - $this->assertTrue(true); - fn() => (($test &= $test) <= $test); - } - function teste6ca3f89ed79c64989e52bf51bb18a50660f747d40165ec813252ce6d4cfc3d6() - { - $this->assertTrue(true); - fn() => (($test %= $test) <= $test); - } - function teste83f58055b5fb282ce8fb4e0b4ef1871e49646d0658d30a36b196413399970b9() - { - $this->assertTrue(true); - fn() => (($test | $test) <= $test); - } - function testf36981c8a8cca65177bda05acd31b40390c7d251db82d6675147a47bd4b2b7a0() - { - $this->assertTrue(true); - fn() => ($test <= ($test =& $test)); - } - function testf6bc838e87d128cbec9bf591cf774d072e2ac1bb3e48a257fd2beae42366a918() - { - $this->assertTrue(true); - fn() => ($test * $test <= $test); - } - function testf9338679fffa0269831a7f82f10fdb5de608bc6a994f62561d001dd7ae08ba69() - { - $this->assertTrue(true); - fn() => ((bool) $test <= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test.php b/testsGenerated/Target/Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test.php deleted file mode 100644 index 67c47716f..000000000 --- a/testsGenerated/Target/Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test extends TestCase -{ - function test01567f5ee3b46e53ed7abf9d9fb3abb3c3ab37d961eee9d2d9859cdb2f814c0a() - { - $this->assertTrue(true); - fn() => (($test += $test) | $test); - } - function test016bcfc624f9cc53afe8e29b01eb44c6071819a769db1de07432656ee34af0cc() - { - $this->assertTrue(true); - fn() => (0.0 | $test); - } - function test05075321620565fef3c0b56d62aa9a1c4bc25d30becc25171b0cc220ac427949() - { - $this->assertTrue(true); - fn() => (__CLASS__ | $test); - } - function test0654afa008ee4e92ff1b3dd482491e84c62d686ad4756b6076e20438f52bab12() - { - $this->assertTrue(true); - fn() => ($test - $test | $test); - } - function test07a6d212c2b8c56be6923d9e2bfba92208990ea7eae8fe28aa18c4948d4f16bf() - { - $this->assertTrue(true); - fn() => ($test & __NAMESPACE__); - } - function test08cb8429c1f6e2fe02e8dd9fe174b1ccce2df526783e2314c9c43d75713c5efb() - { - $this->assertTrue(true); - fn() => (($test && $test) | $test); - } - function test0c0de811f8a6c55845275bfab7cd51cba5dbc5643f9aa0f9e1023eee1b90d44c() - { - $this->assertTrue(true); - fn() => (($test and $test) | $test); - } - function test0e8ec7a4306f6ee35b50e5eaf5e9e4c2c52f1551b39b283655dec59285607256() - { - $this->assertTrue(true); - fn() => ($test . $test | $test); - } - function test0fecb6ff2d48dfd4225e0639de72f27d1e483ad168b0a29c64f13bc5df6b75f7() - { - $this->assertTrue(true); - fn() => (($test **= $test) | $test); - } - function test1198508a1ea3d88a815ed0b475b573012c92555d929c12e79c3665fc23b49b83() - { - $this->assertTrue(true); - fn() => (${$test} | $test); - } - function test14612c1eb9c42ad872a6809ec11e3020e820b0f203e01c563b741e7cf87afcf0() - { - $this->assertTrue(true); - fn() => ($test->{$test} | $test); - } - function test1ab94f058023cdc865dada72e1be80adbc566a88c3967664973c1adc2e80c255() - { - $this->assertTrue(true); - fn() => ($test <=> $test | $test); - } - function test1b8684d3a7117153b6aa3dec90ff05a031d347b2c8c2008f30c336aeb27bddbd() - { - $this->assertTrue(true); - fn() => (+$test | $test); - } - function test1eab9b8425ee17147959b0bba9493fb98287ba8a38cceba9c7079547c8ce913b() - { - $this->assertTrue(true); - fn() => ($test | $test); - } - function test2142df85578dbe0c9df552174b37cc921a2e3e28bd8e33394252f11a7d90f2df() - { - $this->assertTrue(true); - fn() => ($test() | $test); - } - function test29ef3b71c94c40a041f240f3aac90794e1d4be9c1107b509687edba0cc1eee84() - { - $this->assertTrue(true); - fn() => ($test == $test | $test); - } - function test2be18fbbf6130a0d64445b28fd0d73857bf86e3c31de7cf88673bb02dbc8eef6() - { - $this->assertTrue(true); - fn() => (($test or $test) | $test); - } - function test2d7ec72f1ab01d50e12b09ffe4f464a308d20ccc9d842e76b7dfccf1d590df2e() - { - $this->assertTrue(true); - fn() => ($test & __FUNCTION__); - } - function test2f4577ad19d5fed7aa56aea1e4639b3b34f0c2ef77d0b59ca30937f11b3aa558() - { - $this->assertTrue(true); - fn() => ($test | $test | $test); - } - function test3068b6f90a7873de2e63bfccf991eb2357e692253b47bb4330e935b58555a56a() - { - $this->assertTrue(true); - fn() => ($test ** $test | $test); - } - function test313eed1a15181f0d49c6f56c6c25605ddfeb29b27202f7ce557d719e1a8e487e() - { - $this->assertTrue(true); - fn() => ("{$test}" | $test); - } - function test31ed115a6d278dd6a64cc8d69456dca0eb58f06b0d7f15b57cfee4d65b958a1d() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) | $test); - } - function test325760a98ec6fac832da4d08a7de5431fdb5b516d9e71897d0176ab886541bc1() - { - $this->assertTrue(true); - fn() => (++$test | $test); - } - function test3ad7fd62b19aadeed7c4a8ad972c322856588f242cd3ce8086091bcd9732cd20() - { - $this->assertTrue(true); - fn() => (throw $test | $test); - } - function test3e8df3c268e3be58bcef8452173aa9454bc21f34e41edef93254d2faa08ffe6d() - { - $this->assertTrue(true); - fn() => ($test & __TRAIT__); - } - function test406c071b6d8c97a8772afbff066f6e69b8c902083eb5ca4445b01e6d56e71e6f() - { - $this->assertTrue(true); - fn() => ((yield from $test) | $test); - } - function test444d8af900b79790d343da792cb7c984d5211289be54f37df0ec7253a1ed4739() - { - $this->assertTrue(true); - fn() => ((int) $test | $test); - } - function test44e72f0f17d75e1db6f14a1d764edaa6187c9a68017a9d35316576dd80cd5c99() - { - $this->assertTrue(true); - fn() => (( $test) | $test); - } - function test462b081a94c4a8871fe3adfafddec4439d5b0bb14a21c6cc3900027f8c5dc8c2() - { - $this->assertTrue(true); - fn() => (($test ?? $test) | $test); - } - function test47f4aa5109171670cffac34a9c4109d3daa1c888e899e89161b4041c83fa2158() - { - $this->assertTrue(true); - fn() => ($test & 0); - } - function test498bfe59fe5bc886bee5abedf8b20c22bbd41e5008ffe0c61a326449bababb62() - { - $this->assertTrue(true); - fn() => ($test-- | $test); - } - function test49e2fc57fa986e07b84143b6b109efb62b8353abd1e746a6de6eda74bccbe667() - { - $this->assertTrue(true); - fn() => (($test =& $test) | $test); - } - function test4a59df19cb2eb787cbe73c174493174665974ed7f3fdd8cc0504441ac26aa106() - { - $this->assertTrue(true); - fn() => ($test[$test] | $test); - } - function test4f26fd437b23e042434e95e117c4a6bee38387ebe19e093ed6ea46e9bfac399d() - { - $this->assertTrue(true); - fn() => ($test === $test | $test); - } - function test53034ea1ec7159919d00da0afd31ced9517fc322d6f3614a2b6cc698b4bb0927() - { - $this->assertTrue(true); - fn() => (($test xor $test) | $test); - } - function test590765adacc38e0e8df31f7cb08a43688c9ea31cfa03cf38c0417fd501205b60() - { - $this->assertTrue(true); - fn() => (~$test | $test); - } - function test5de42dfa3aea393c625b0cc3c763512310b1b9594f78b2d0719812d339f132c0() - { - $this->assertTrue(true); - fn() => ($test & __LINE__); - } - function test64531f1d16d55f8a1e8ab252d1239a966778b6724a977310cb52ba141f47f6bf() - { - $this->assertTrue(true); - fn() => ($test % $test | $test); - } - function test6a4e25081e87d89b8a14df625fbb6b9cc8aef13f632e59ef6b30d74482807cb4() - { - $this->assertTrue(true); - fn() => ((double) $test | $test); - } - function test6a530c6b1441b528f3a59aba20d1b2cf602b997454b130359edb3f6a9aef4761() - { - $this->assertTrue(true); - fn() => (eval($test) | $test); - } - function test6b0b2b08fb79dbb5dc997c0b20444fc9384ab6cc83a6587fda9a444e80799b7c() - { - $this->assertTrue(true); - fn() => (($test /= $test) | $test); - } - function test6cc370a463ba06438a51961dd7f08dfc1070db31c4c02c9afd8ec60cb672901e() - { - $this->assertTrue(true); - fn() => (@$test | $test); - } - function test6d0c8c1b268676aa9a4181843acce3a8b0e84b5a57bf5604ee3d601a505354ce() - { - $this->assertTrue(true); - fn() => (($test >>= $test) | $test); - } - function test6e1cf1f77fb0f99d18d17bef231ce481f677b172b4aec26e26793d8e3c32ca95() - { - $this->assertTrue(true); - fn() => ($test >> $test | $test); - } - function test6f5babcdc0e553209b0b7106e78d7b147e98ba5dd6d46b69044122a7fecf1b11() - { - $this->assertTrue(true); - fn() => ($test >= $test | $test); - } - function test70b85d30971ee10601dee91eba45c6b039e6d685a9487549ddd926b9bea5bb08() - { - $this->assertTrue(true); - fn() => ((array) $test | $test); - } - function test7464cfa1e1d355e8c226e1920af23c29e79223509ada2f61427697acb987c39f() - { - $this->assertTrue(true); - fn() => (!$test | $test); - } - function test7501d2604f1bb38bbea714f6e1b0f0c69726f5a7ca9d1fcabf874bb4d9e5d3e5() - { - $this->assertTrue(true); - fn() => (isset($test) | $test); - } - function test76b58a09b3e8fd41d5f1f977bec91e74e1e9a4ed1e72f8378ed91006c07b5c1e() - { - $this->assertTrue(true); - fn() => ($test & __DIR__); - } - function test76ea55f6bb2dc1457cc22c25e5984f5e27f9a1142c50c1fe700cfbc41b63698c() - { - $this->assertTrue(true); - fn() => (($test <<= $test) | $test); - } - function test78fb09ab10737cece5a5c67553f8f53c61a3cfd02dbb659c0cc296c8f2db595a() - { - $this->assertTrue(true); - fn() => ($test !== $test | $test); - } - function test7fb0359169eeefc09eda659764fb9ba403711dd70552cc3b2adbec436b9f13c4() - { - $this->assertTrue(true); - fn() => ($test ^ $test | $test); - } - function test814a45a206846e38f9d3f0b6dd54d4e702585f40e3fcef22309a951607541024() - { - $this->assertTrue(true); - fn() => (self | $test); - } - function test821988ab4980d82029148b4448d48ebf94a299e014769fd5ba3357c0f1efb073() - { - $this->assertTrue(true); - fn() => (($test -= $test) | $test); - } - function test851b2d2e781466bed0f43070b15129bbfe358fd2f3ecc046b53e22aa3d06039b() - { - $this->assertTrue(true); - fn() => ($test->{$test}() | $test); - } - function test8af5b80545fbcc8f0beca8a342bd5830e2903858385d1b31b48aebddf967155a() - { - $this->assertTrue(true); - fn() => (($test |= $test) | $test); - } - function test8c0b16d4aac51807e03e91b8759f86d3ed1292593cf28919d3a7d4765bb51404() - { - $this->assertTrue(true); - fn() => (($test ??= $test) | $test); - } - function test8df0da03cf9501a4550901ec22bfd6919f5f2af0a2f8afaac26b4cf0c44a8005() - { - $this->assertTrue(true); - fn() => ($test << $test | $test); - } - function test925d910f908bad60d2353fcdb7d4eed57c5267a97a7bcdff25f33f1c49449187() - { - $this->assertTrue(true); - fn() => ($test?->{$test} | $test); - } - function test9323e6a7223ca5a95b10913300358b59c9f5639aaa02866343a64302cc0fb8ac() - { - $this->assertTrue(true); - fn() => ($test <= $test | $test); - } - function test954f98c5a8b1697f9c6a42b669add17255dbf52a19da7b29f9dd97c5cce24409() - { - $this->assertTrue(true); - fn() => (($test %= $test) | $test); - } - function test97364e048ce77120931bfeb82fb1edcf7023a656c35f26f7fe80711e0c5b866b() - { - $this->assertTrue(true); - fn() => ($test < $test | $test); - } - function test98556ef41063a611b556d1fe4ca1ecdff5abc84d7437ebc0a915143428b2e8d5() - { - $this->assertTrue(true); - fn() => ($test & __CLASS__); - } - function test99050d0c7a6977559440660c8d670986a0ce8518b1c56c9f6caee52ed1ce5a49() - { - $this->assertTrue(true); - fn() => ((object) $test | $test); - } - function test9b6dc5c45fa46927d114987ad04add257e6b0adf125482d5abc494ab28e934ff() - { - $this->assertTrue(true); - fn() => ($test++ | $test); - } - function test9be80b0ea8693682ac67909b19020c8c9608ed0d0088467401002be74ffbf5e5() - { - $this->assertTrue(true); - fn() => (($test *= $test) | $test); - } - function test9c27212bdea87cb8b9ea40f5bade6b81a1cf9785d304caf8178a8c7a349e74b1() - { - $this->assertTrue(true); - fn() => (($test &= $test) | $test); - } - function testa00dc57f99a50967499c5a7810707c41a474141d4098b91cacf6b2a16d1e45eb() - { - $this->assertTrue(true); - fn() => (0 | $test); - } - function testa0be6c94999ee76903e1c3d0a44fb827830e82f45f286ffba4d7cecc61258583() - { - $this->assertTrue(true); - fn() => (($test = $test) | $test); - } - function testa16c032ef786583e1214469af464a12e46df4cb17b1202b12429f9cba429a315() - { - $this->assertTrue(true); - fn() => (`` | $test); - } - function testa63851484d91ce4224422e39d92fa8e7d8aeb1e383288b2f9141705e4e23abd0() - { - $this->assertTrue(true); - fn() => ($test & __FILE__); - } - function testa9274f53b05a9217d834145fdb79d5c8f041a95468552ac0dff13def1399f2f6() - { - $this->assertTrue(true); - fn() => (-$test | $test); - } - function testa9f07702145e8db305843db4811c5ef9977de1e21deb2087ca0309ae982dcb08() - { - $this->assertTrue(true); - fn() => (--$test | $test); - } - function testb10d6494f171dfe24c5bcfab69cff01fe7818cfc22833f15f44313df7a5d3e52() - { - $this->assertTrue(true); - fn() => ($test + $test | $test); - } - function testb43a42508af148dcf9f7a387dc2c258d43fa661fb0af252a6d946427a9d50711() - { - $this->assertTrue(true); - fn() => ($test instanceof $test | $test); - } - function testb5d099de5081349cd39fcc55215e1ff3d0a146f1f6089cc31172f56ba0c802f0() - { - $this->assertTrue(true); - fn() => ($test != $test | $test); - } - function testb66c51d4856d07c798e53a0319d8c1b4ee9df1cc74ab5def10089c667f13b913() - { - $this->assertTrue(true); - fn() => ($test::$test | $test); - } - function testba4fd5a72ff26423ec390520f578ab429c32a8fa9e6c3d2f94e6e0143831099a() - { - $this->assertTrue(true); - fn() => (match ($test) { - } | $test); - } - function testbbd372a6202ef9de55412ee3b6601a80d47b06e582dd500a14dcf641084730e9() - { - $this->assertTrue(true); - fn() => (new $test() | $test); - } - function testbe538523b0b1603a97be9d57309485234fbebbf37a46a233e1aea9c33187fbff() - { - $this->assertTrue(true); - fn() => (($test ^= $test) | $test); - } - function testc4d8abdbcba35ff1b340fd1005917fe679e36aff997ea2b8270460fbd2575f3f() - { - $this->assertTrue(true); - fn() => ($test * $test | $test); - } - function testc4fee2cf415f623f52d2e882a3a1cd09364019126ec2ca7b3788d2960eae08bc() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) | $test); - } - function testc7258f2dc72d913142ed5cb1bec8a18c02d56dd15225cbd13140bcffc745f9f2() - { - $this->assertTrue(true); - fn() => ([] | $test); - } - function testc976a01b14ff65cbc4ff5e891c136d0d76db9038fc015dabf7be73d5c56aae7d() - { - $this->assertTrue(true); - fn() => (clone $test | $test); - } - function testca2d22ea9caf644fa660475d8a44c5af0c5c0de6948a32cd571b3c6b7adb4d69() - { - $this->assertTrue(true); - fn() => ('test' | $test); - } - function testca61ca3ee0c07445028b241edacb2a212a63c84e85f84f29f3da2eee8fab2c93() - { - $this->assertTrue(true); - fn() => (empty($test) | $test); - } - function testcba2d826344b26920f520c2dc88af248e2c5ce78f85722b7a16369d1e472060b() - { - $this->assertTrue(true); - fn() => (($test || $test) | $test); - } - function testcbd0eaacff90adc4f54a9d912e2263a927d792c00a30521d22af84ce70ae7a9d() - { - $this->assertTrue(true); - fn() => ($test / $test | $test); - } - function testd019fab3ef0b219fa0c8e087064198ba6f8d9ad738db01caa1e1d5c0a296d46a() - { - $this->assertTrue(true); - fn() => ($test > $test | $test); - } - function testd20ab39c203b3635343ad4d5c8da460926687c88dc9912733dc51c3d3a529ffe() - { - $this->assertTrue(true); - fn() => ($test & 'test'); - } - function testd3c234a493b25564c79fd2500d2c59566a6130a1e8406f02e76423f8d50502be() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() | $test); - } - function testd8ddfc7abfe344ea8a820ee68b0fbd3c3b93035606265cc067b744bd15dbce61() - { - $this->assertTrue(true); - fn() => ((string) $test | $test); - } - function testdbac0d45f63c0b299eb654c345219ab10b4c973000bdab5d7f11d949ffa7e41c() - { - $this->assertTrue(true); - fn() => ($test & __METHOD__); - } - function testdc19d53f884b196e73fb55483f2dcd6d75af54ac29749407dc9da68b096e0c74() - { - $this->assertTrue(true); - fn() => (function () { - } | $test); - } - function teste4890d37ec294938cb45bfd02542447aa267412337e4391bc1492f2fd3dae1bc() - { - $this->assertTrue(true); - fn() => ($test::$test() | $test); - } - function testef4acfd2e2f0742102afeea3e9149b2c39bcd885824203310bae34b66abde990() - { - $this->assertTrue(true); - fn() => ((bool) $test | $test); - } - function testef5d904603cdab3fece99c647dd5431e5f95cbbd08ae7ef114df15d7d065a663() - { - $this->assertTrue(true); - fn() => ((print $test) | $test); - } - function testf092923fb3d0e16e1aac9b5ea87ab073385bac9293cf4ec706aa361470bd48c4() - { - $this->assertTrue(true); - fn() => (($test .= $test) | $test); - } - function testf919149f228b7c675c728a8616e642e0cb167305c4a2c6c79663412bb10c7e3f() - { - $this->assertTrue(true); - fn() => ($test::${$test} | $test); - } - function testfff8e8a97d25a60f10cd3e84e1c024e1e4b54130dc054e8aa9770d21e473dcb0() - { - $this->assertTrue(true); - fn() => ($test & $test | $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test.php b/testsGenerated/Target/Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test.php deleted file mode 100644 index 79eb6b381..000000000 --- a/testsGenerated/Target/Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test extends TestCase -{ - function test043d7579acb256893a9a17d15bd66266219bcc43b916192cb114bb1b4038e74b() - { - $this->assertTrue(true); - fn() => ($test |= ${$test}); - } - function test0647b8ce602297a410676033641c56970906878ceacc9915070d4d4e40dc5eb2() - { - $this->assertTrue(true); - fn() => ($test |= $test &= $test); - } - function test0a593c686891f76dc3ca29bbba3228d6762d2b59e98cb45335e053bc48b40761() - { - $this->assertTrue(true); - fn() => ($test != $test ^= $test); - } - function test0b8916f2a55fbe0a73e560a617f0ebb4dd8fd123963ff70cc8339eb12bc0036d() - { - $this->assertTrue(true); - fn() => (~$test ^= $test); - } - function test0d71fd1300441cb1304dfcd1ce1c6b58c565ddbc3c0e1a8f52bfb13f7c39e972() - { - $this->assertTrue(true); - fn() => (@$test ^= $test); - } - function test126797c5c4e08d22d6da6e06aa89283c7ea6e071a0b3161f4549678351e92d80() - { - $this->assertTrue(true); - fn() => ($test || $test ^= $test); - } - function test154daface8a45cfcec32361e854516c586f43e20fdc76df4e44a103fd28b0ecd() - { - $this->assertTrue(true); - fn() => ($test |= $test % $test); - } - function test1871fa65aff6f5663803abdbe1648695aab56524c47b7eaf8eae1d4500c73a16() - { - $this->assertTrue(true); - fn() => (clone $test ^= $test); - } - function test1d9ec88d102dabbb0d9298fe69402e0941b5e46f66d7673db06eb1e2efbb93aa() - { - $this->assertTrue(true); - fn() => ($test |= $test === $test); - } - function test20cd397c5946e54c0f5eaab61659ad33020f5782c7b5891d88ca5641fb1cbc19() - { - $this->assertTrue(true); - fn() => ($test |= $test ^= $test); - } - function test23d2e66fb80449c95a76f434e996495be4a504aecc4b81071dd15f38236fb754() - { - $this->assertTrue(true); - fn() => ($test |= 0); - } - function test258fef5c883f90477170f345004579cd5f4ee5e17c504dc034fc585f257466ae() - { - $this->assertTrue(true); - fn() => ($test |= $test ? $test : $test); - } - function test2845b57c1fb1fbadc59b0145270f70f3bb6d9c16a948402bf454dfabec1948bc() - { - $this->assertTrue(true); - fn() => ($test ** $test ^= $test); - } - function test2c1eb35638298798267c2211079c19244e36d1849d863bfaa68034cbf6564477() - { - $this->assertTrue(true); - fn() => ($test |= (double) $test); - } - function test2ed1f91add0f92fc0f4768b20dd5e347b397dc203f7a5dd050a9a650d54109b0() - { - $this->assertTrue(true); - fn() => ($test |= $test << $test); - } - function test32b5d34c113234238ce0c7f10c05d2e11b2836d4cd72f08ad0a2c4646474c96e() - { - $this->assertTrue(true); - fn() => ($test |= $test .= $test); - } - function test33780575c5f4c5f9f955d5c3adf12dd5d61bc890d5da9326fe3837e851d4ee2b() - { - $this->assertTrue(true); - fn() => ($test |= $test *= $test); - } - function test36cfbc4cf128e0f96c0e91fb68c920fb4347a360f297f9e4d82cf1ae19929a71() - { - $this->assertTrue(true); - fn() => ($test |= (yield from $test)); - } - function test380b30dbabc02535fc5e6149603c70dc71ec0631e23ff440a49800c0c1108b5b() - { - $this->assertTrue(true); - fn() => ($test |= $test < $test); - } - function test38179a007ec7dbfd26521d6f3e058521388187374d736f948ab91e61a7445b54() - { - $this->assertTrue(true); - fn() => ($test |= $test <<= $test); - } - function test39559246a3b33920f41a8b629e028103f35f84b8596bbbc2e61690f69f56dab7() - { - $this->assertTrue(true); - fn() => ($test << $test ^= $test); - } - function test3c2e412cdc0657c014fd0eee1b4cfc2e8d65c4650151211e25fd5c67a47acd1f() - { - $this->assertTrue(true); - fn() => ($test |= $test == $test); - } - function test3ca802aec53e1b0b4a651de0c85162d15c0a0cde450ab228edc64ee125283be2() - { - $this->assertTrue(true); - fn() => ($test |= $test | $test); - } - function test3cd2b7e8f58651ec96019db5b4a4522cab677c8c740db98dc9c9b65344576fa0() - { - $this->assertTrue(true); - fn() => ($test !== $test ^= $test); - } - function test3d988e83d17e5098094bbeff721473911e24501cdd5866012b3fe73b62f3518f() - { - $this->assertTrue(true); - fn() => ($test |= (array) $test); - } - function test48f5689756e4bf150486ed477155b34cb7ba68ee6e957c9fd0aec9653e86d945() - { - $this->assertTrue(true); - fn() => ($test === $test ^= $test); - } - function test4a90b23a8f15b6482b2567dcebf813458be662e00953cbe277b25539842aa0ba() - { - $this->assertTrue(true); - fn() => ($test |= $test && $test); - } - function test5157e814ad6c994cf1a36f17d38cf3f2d4c35e33331d9223a19ac0e5086941b0() - { - $this->assertTrue(true); - fn() => ($test % $test ^= $test); - } - function test5381b826ec78076c272f7263cad019ff93186eb98f4c6b8d0b50ca9be4c09ddf() - { - $this->assertTrue(true); - fn() => ($test |= $test += $test); - } - function test549d2d2e6975ae1d5a740ba4ac73a3ee042bb8d8beab67b04e8074d91d9f99c3() - { - $this->assertTrue(true); - fn() => ($test / $test ^= $test); - } - function test54c66b23f0b63f2aeaafe20940ef564ac7d1ce43cbfac6a3952d1c62dfb459fe() - { - $this->assertTrue(true); - fn() => ($test |= $test /= $test); - } - function test5d652801daf4fb2e28d52f00c5554838af88097d61d99afaa6e6bd1b9b206a8d() - { - $this->assertTrue(true); - fn() => ($test |= __METHOD__); - } - function test5e6113470f4633b0048b54b0517496eee77069b5c0a9aee834fa5359ee76d88f() - { - $this->assertTrue(true); - fn() => ($test |= $test & $test); - } - function test5ec9736dba7bc9fa3b9cc0db06591ca5b4c07edf144b828d9211840042448dd8() - { - $this->assertTrue(true); - fn() => ($test . $test ^= $test); - } - function test617f9b5f233369fbe96668c6ecc3774886142d1dd81f25ef186b4abb639dc653() - { - $this->assertTrue(true); - fn() => ($test |= $test ^ $test); - } - function test62162cbd299aa9e4d6a48c7fa95894437731b73cdefe8df58cbb2b5422334490() - { - $this->assertTrue(true); - fn() => (${$test} ^= $test); - } - function test62f61ab02ab537ed2cb63aaca3987a0318782d08b53d4717e2bde9e128e88550() - { - $this->assertTrue(true); - fn() => ($test |= "{$test}"); - } - function test63e3721642fee74906bce412b0f8ac9923c0ad6811b653ffe990665d5975a7b9() - { - $this->assertTrue(true); - fn() => ($test >= $test ^= $test); - } - function test65b2a72a557c00e63ea6efe6d9c2e240bb0e9c8611c06eddee10254b951a0223() - { - $this->assertTrue(true); - fn() => ($test |= ($test xor $test)); - } - function test66993e2b31e342e5e8070ad713391268b5165429778ee35339e79164f0390949() - { - $this->assertTrue(true); - fn() => ($test |= __FILE__); - } - function test690ac7c93c071c44bcdadf27dd5e9a92f5db06071e1ff18e5cb78d8bb239415c() - { - $this->assertTrue(true); - fn() => ($test | $test ^= $test); - } - function test6c12164b186de9620b0772cdb894f89858294dfb8c33a2fd870c22a37e7e7dca() - { - $this->assertTrue(true); - fn() => ($test |= $test %= $test); - } - function test6e64e9f1c69e701e6f945d39d47d2c241029d5b9cc22f2646e787dd42ba1be4b() - { - $this->assertTrue(true); - fn() => ($test && $test ^= $test); - } - function test6f15137283d43a6d9c3dacd57e88b23204b7d6d9be69b20d3ec224067b0da529() - { - $this->assertTrue(true); - fn() => ($test |= __TRAIT__); - } - function test6fda9839d801f4efbb7a1dc6b5f16a7fb7abf4b82267f6a803b7503b4fb20c16() - { - $this->assertTrue(true); - fn() => ($test |= __LINE__); - } - function test7a4f7091e0890a95010f5b5f6de6a709462bb4df1dc77fe7f6e49403c51816ad() - { - $this->assertTrue(true); - fn() => ($test |= $test >>= $test); - } - function test7a9c0a6366f6f2c7ea9a86bb315f53c6e77d97862c6579c0b3bad6a92ff7e641() - { - $this->assertTrue(true); - fn() => ($test |= -$test); - } - function test7eca54609075088748032aebff49a47ec2b3b1eaf2cae0490c71eaf396445b7d() - { - $this->assertTrue(true); - fn() => ($test ^= $test); - } - function test7f44cdfcd0592a90d884838ce6745109dcbba269c614854b10bb560efddf20fc() - { - $this->assertTrue(true); - fn() => ($test |= (int) $test); - } - function test81cf050810c8ffcb0cacf89390560c2b77aaf78521f75e69f54bd1427faf3005() - { - $this->assertTrue(true); - fn() => ($test |= $test -= $test); - } - function test82190699f3f646621059ec33d86fc184ac7bf5438fcd05a091e4c0491f476166() - { - $this->assertTrue(true); - fn() => ($test::$test ^= $test); - } - function test82ad8e7ac13d7dc71733e0968af0427b96fd6094a93d4942b76204a80db8ab28() - { - $this->assertTrue(true); - fn() => ($test |= $test <=> $test); - } - function test832f2cf5bad7d42dc8f0d54d5b1ac68725997c9424ea9872cae75752592431cc() - { - $this->assertTrue(true); - fn() => ($test |= (object) $test); - } - function test848828413ed50727b440717bab70284d8472e92f3a6a6586909578423717f87c() - { - $this->assertTrue(true); - fn() => ($test |= (yield $test => $test)); - } - function test8a96d87ee67d531ef65e54f83abdea245a401371c8e90c0b85c80adbe558fde8() - { - $this->assertTrue(true); - fn() => ($test |= $test ??= $test); - } - function test8bd250cff7b446e611d73baac0ed14339e6fd9204f4daed3afc50f85b7464b85() - { - $this->assertTrue(true); - fn() => ($test >> $test ^= $test); - } - function test8c6c2af1d5c49b5eaee5b18bd05dc16051a1b9273a39548cfcc2df3442254da5() - { - $this->assertTrue(true); - fn() => (+$test ^= $test); - } - function test8c7c1b5edd283f80fbc403157cab8b31fdad9d68ed203656c6287c471b605cf5() - { - $this->assertTrue(true); - fn() => ($test |= ($test or $test)); - } - function test8ff7b02fb3b2c400211ad5e106b81469f0703570596a70bfc91a0f4f0573eb32() - { - $this->assertTrue(true); - fn() => ($test[$test] ^= $test); - } - function test921450b11026fbaba9773bfa87e4272575bb0ac6cfce25a725ee9dec45023877() - { - $this->assertTrue(true); - fn() => ($test |= __NAMESPACE__); - } - function test92c9c0f027dfdc3926fcbce6254afe529e8d0dfd55671bcbb5c7befb99150429() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test ^= $test); - } - function test9461007e1744b7f5bac5b678956864f321ebfe2c21a43c6d2e8bc17b901e0db8() - { - $this->assertTrue(true); - fn() => ($test ?? $test ^= $test); - } - function test9506ef30a6c2bbf8c70084db24c54ca744925e55d7937b491936a1e59a92804c() - { - $this->assertTrue(true); - fn() => (-$test ^= $test); - } - function test98d6cdf506aa709e41ed4414fd2816fbc86a0287ba2e9cae7e4e79299ac207dc() - { - $this->assertTrue(true); - fn() => ($test |= $test ** $test); - } - function test9b75740a59a8f711e0872d56d9c3ed033dec75280a443a7c5bf2a924bbe533a9() - { - $this->assertTrue(true); - fn() => ($test |= $test * $test); - } - function test9c9d6a7e031e57a4fabd1db80a231ce3b88ea9de50ede582b04c6fc63305b51e() - { - $this->assertTrue(true); - fn() => ($test |= +$test); - } - function testa03e42d645ced797d666e056413f9465a091cf5dd4807bd429d64a3c04e4392f() - { - $this->assertTrue(true); - fn() => ($test - $test ^= $test); - } - function testa14442a6102cafc88d4eddea3e463ad728b147371426bfe2a64a074e2a3cddde() - { - $this->assertTrue(true); - fn() => ($test |= $test **= $test); - } - function testa3039a63888e611aeaf0256342c8d3c6b19ad5b8d6c0160a6e65f97fda731c2c() - { - $this->assertTrue(true); - fn() => ($test > $test ^= $test); - } - function testa3930d9882090fe1ee04cb4490f191ac1aa7ce2bc0eeefedfdbbf9c75da83df3() - { - $this->assertTrue(true); - fn() => ($test |= ($test and $test)); - } - function testa4cad080e15779a99822e13904fa5e2244c34bd6466a3ac09eb6f01bfdc43322() - { - $this->assertTrue(true); - fn() => ($test |= $test <= $test); - } - function testa5cc8d791d4aa98e44b0bb601f3dd56d6e4fc4ba58fca376322166be6fdaee41() - { - $this->assertTrue(true); - fn() => ($test |= $test ?? $test); - } - function testa661118a497b61550127060f6d42c94f9599db7a06c2fb272c198aa299210459() - { - $this->assertTrue(true); - fn() => ($test |= (string) $test); - } - function testabd93acfc7fda123c3dee91a87def5572b862e11d11bcab542bad578668a86d2() - { - $this->assertTrue(true); - fn() => ($test + $test ^= $test); - } - function testabeb4811414f67a45caf9e2dc9df68987651bdccdee5f18347c66addfa0f45a3() - { - $this->assertTrue(true); - fn() => ($test |= 0.0); - } - function testaee816ebb24fc31b9a3dd54f186315a55285eeab93a967f9f3901efdf12adc47() - { - $this->assertTrue(true); - fn() => ($test |= $test - $test); - } - function testb5ab83a11b7eff4205b3fdff350a1f740a617d4fff841bfbfd8d9b242c1d5a64() - { - $this->assertTrue(true); - fn() => ($test |= $test > $test); - } - function testb6edc1f89f712f9ff816f341888d207808fd0bbabe8885e10350c7bc8d172268() - { - $this->assertTrue(true); - fn() => ($test->{$test} ^= $test); - } - function testbb750e93621eaf2bfe1452a200457280b942d97cfde3ab034fda41940f2b27c3() - { - $this->assertTrue(true); - fn() => ($test |= $test |= $test); - } - function testc2796bf54fb7de86b1735ec41eacac39c8fc89305cc09f4c38ffe362e86f7456() - { - $this->assertTrue(true); - fn() => ($test |= __FUNCTION__); - } - function testcedacd55c51bf261e19d1c9b6229d87092bc831f35a92735bf1079b031f4f1c8() - { - $this->assertTrue(true); - fn() => ($test |= $test . $test); - } - function testd5f6c36c5ea29f6780a283b58491af7dccf68d39625fb8b2aa8b83c61e09c3ab() - { - $this->assertTrue(true); - fn() => ($test |= $test >= $test); - } - function testd650d89035dd8700f9f3fe38d0b711ad4ac20b43f1eda66e0e6da432a9bb1292() - { - $this->assertTrue(true); - fn() => ($test |= (bool) $test); - } - function testd7a6104a0dc0827176e9665e367d8e3a114362b4479c418b9ba08c25727b4643() - { - $this->assertTrue(true); - fn() => ($test |= $test / $test); - } - function testd7b7c9ea4d968354233f707d8f1105f7c29567dbfc7624122134685b61f41e2e() - { - $this->assertTrue(true); - fn() => ($test |= $test || $test); - } - function testd8053d07286319e3af2aa967dcdb764e8978c5929c7a9c147f32cf5044000c5f() - { - $this->assertTrue(true); - fn() => (!$test ^= $test); - } - function teste1319401cbb5b3ea49adb26f6bde97ea6f8bb65acda75190af3a4792d219bdcb() - { - $this->assertTrue(true); - fn() => ($test |= __CLASS__); - } - function teste247f450ddb36ae402c3c7b2686500ebe622b532049c7adc6ccb6731fa50de6a() - { - $this->assertTrue(true); - fn() => ($test & $test ^= $test); - } - function teste462114fb1b3ffd7f86685f04c2a342d987a6e5d151af9620c6d9308b4eb09d5() - { - $this->assertTrue(true); - fn() => ($test |= __DIR__); - } - function teste5a53675aa2a557ea24732bb138cda6a6045a94663ff2b14211c9da5b9430de0() - { - $this->assertTrue(true); - fn() => ($test |= $test + $test); - } - function testf005e5009a83ecd823ed9589dc5af229b187e289e42123a9d0a4c1edb09c1811() - { - $this->assertTrue(true); - fn() => ($test::${$test} ^= $test); - } - function testf092c092f92900ed0440534691dfe15cc80f1ecb1c94c57e7fecae101d69af9f() - { - $this->assertTrue(true); - fn() => ($test |= $test != $test); - } - function testf50112f170f45ddf633f973458738cd9fe6e126e2981fe654f75990a4a4d3b06() - { - $this->assertTrue(true); - fn() => ($test |= $test !== $test); - } - function testf5ee5e8b0871c80c0613ceabe2dfe113b0e517c0c38fc392dda278294a05eb52() - { - $this->assertTrue(true); - fn() => ($test |= 'test'); - } - function testf6a77929e8291ef90cb10ee541f33902a8dd0fd38c0149ca5bc82fb5a511e157() - { - $this->assertTrue(true); - fn() => (throw $test ^= $test); - } - function testf9333e93047da2b54aed3ae89ac57aced9cb8e500c03c660a23d1eec224d7f91() - { - $this->assertTrue(true); - fn() => ($test ^ $test ^= $test); - } - function testfb84ef6bbe94bba5b5397af9983103d389e22c2b554484e7f56ff4c1de321cdc() - { - $this->assertTrue(true); - fn() => ($test |= throw $test); - } - function testfd5bef4bb77dd924e29e9549ae54409ce18ef64ec51ffd0cc6311c507e8f400c() - { - $this->assertTrue(true); - fn() => ($test |= $test >> $test); - } - function testfdabfb502854f81822457611a0d2ebbcaf57fba966f515a8fb850002a5ca815e() - { - $this->assertTrue(true); - fn() => ($test == $test ^= $test); - } - function testff65a4b7581ade8be41d90914a35cb3aa6308e51706e621901757796e161eaf3() - { - $this->assertTrue(true); - fn() => ($test * $test ^= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest.php b/testsGenerated/Target/Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest.php deleted file mode 100644 index b89c424c1..000000000 --- a/testsGenerated/Target/Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest extends TestCase -{ - function test0206545b38b13f9eae447ba6c5ef776155ff38e5d98e11019582a70e6227c028() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test == $test})); - } - function test03009f83919a0aa7675750d9cd51ca561d009541b58ac26612918b59c92b1921() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test && $test})); - } - function test065256a3a4cd4be695ac67b4b8ccc62fc241646a0fb1612a0a8b656287ea8220() - { - $this->assertTrue(true); - fn() => $test?->{$test >= $test}; - } - function test076a41faf5a398c466a8c2589fc7145bc7785d7fc94255968daeeca57ac6a943() - { - $this->assertTrue(true); - fn() => $test?->{$test === $test}; - } - function test08c1bc95cb54fffc5cb982956676618819f5afb5de336f15f625bf11aec6ca89() - { - $this->assertTrue(true); - fn() => $test?->{(string) $test}; - } - function test0f6fb296e5c86ed9a74177ecb0e34477563c7cee9ac6fc3077cb1b020272dfa5() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test %= $test})); - } - function test1002c9133bc36562fa0bd64ea05e9daba5bc9e7d77d5fd234196be3e3e78d3a3() - { - $this->assertTrue(true); - fn() => $test?->{yield from $test}; - } - function test134bc5ec842555990085768a624678f2abd4638633793e380c7996eb8479d92a() - { - $this->assertTrue(true); - fn() => $test?->{$test != $test}; - } - function test1474e4238ce6402fb2502d52265d7cdee89c427b17603de446ef8d96ac3735b0() - { - $this->assertTrue(true); - fn() => $test?->{$test and $test}; - } - function test16d0755de70f8fbd64dd07eae1bb086cedcfb6f2e9126ab754b3056dccf9851c() - { - $this->assertTrue(true); - fn() => $test?->{$test < $test}; - } - function test18ee4af0c3f50b88760e5ad2e0a06fc78f7136c069818da034403cd9fa0be749() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test -= $test})); - } - function test2288dccdab36d6c140cd0fbb29ea193dc2cb6216ed1c9dafe4e33912938001c1() - { - $this->assertTrue(true); - fn() => $test?->{$test * $test}; - } - function test2b1904c77712bc525516711cd58f27456f3b95b244ea9c294bfdfeec778ae6a8() - { - $this->assertTrue(true); - fn() => (isset($test?->{0.0})); - } - function test3a09f897c622cb6ef5358f8fe659078c2288223d7d733daa2dd4d96d577e1f81() - { - $this->assertTrue(true); - fn() => $test?->{$test .= $test}; - } - function test3ab430b03b994d0cd6bb320b78c143217edcca03b4189102da57efd921897df9() - { - $this->assertTrue(true); - fn() => $test?->{$test !== $test}; - } - function test3bc1cfbc3ec89062ba1e5f44b118c8d9e23e743dd98347c5ec6f2ade9520a500() - { - $this->assertTrue(true); - fn() => $test?->{$test %= $test}; - } - function test4077e8601311e684f87c7c8f8047149ea5d970107bdd3771b38532e3627ff0cf() - { - $this->assertTrue(true); - fn() => $test?->{$test || $test}; - } - function test4730d88326e452c66ae5ee1cd510ebf1dae22039c01d14ad7fb720364649b9a2() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test ** $test})); - } - function test48c9331436e59934660ec4e0fb2c974434771ccb8ab25a6d903e34ebccaaab33() - { - $this->assertTrue(true); - fn() => $test?->{$test ^= $test}; - } - function test498267a6244016679cca30d39ad25e9a965117c42f504ab359a0dddcf4ebdfdf() - { - $this->assertTrue(true); - fn() => $test?->{(array) $test}; - } - function test49ceb28573d48d52b5605ca04c1ccc3a768839b51d6dfe5bb2d19bd8cd9a2000() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test ?? $test})); - } - function test4a5896f20789828fd2b63fc3c43033af82411bbb577806fe2e59f55d993fa374() - { - $this->assertTrue(true); - fn() => $test?->{$test - $test}; - } - function test4be9b545bd1d39c3427226a631bed2009c2029d108d715dded402ef87efc4249() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test &= $test})); - } - function test4e168637e5f664bcf5f1cd6522e160927fb0f328b5b5acd39a3100eccc680a23() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test >>= $test})); - } - function test50a498fffc57b59d69c10c6bf9fc835be6913ac1db840bb3109fe862f4cdc182() - { - $this->assertTrue(true); - fn() => $test?->{$test >>= $test}; - } - function test5236bfef56f3455d54ab1065f075611163fd0fd5e7426769e013863f9b3e57ea() - { - $this->assertTrue(true); - fn() => $test?->{(bool) $test}; - } - function test5299d08c5812aa894a017e950072e157f6ffa2791c45b16f2e4ee1f870247eb6() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test *= $test})); - } - function test5402dbbcfbfb1f3742581bb1216a0e22e6848b2e851a39e5e035403365950ee5() - { - $this->assertTrue(true); - fn() => $test?->{0.0}; - } - function test542ae98c336ed7169375ad28b2b6d43fcfc0e0f799e520e0240d323b7b01b320() - { - $this->assertTrue(true); - fn() => $test?->{$test << $test}; - } - function test54d4fdd6dfeebda1994aac17f8a6e5c4aa09fa205b4800dbeb1a98d853d854d2() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test & $test})); - } - function test57c6e775118d83dad5cd0bc269963ccef803e7be7be273895f9128fafb148cee() - { - $this->assertTrue(true); - fn() => $test?->{$test &= $test}; - } - function test5f9d76bc830264975bf02bb9233e30a3f5f054ef80438ee23b4ea3a868bd4b0f() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test === $test})); - } - function test64dda55e8be17137dbc9e268244c69643cbba04fc82aef3f71a5d5339f8d8516() - { - $this->assertTrue(true); - fn() => $test?->{$test & $test}; - } - function test6747c1a981ca06f40391f4b30a3f8248338065460fa7fedbf16d1e2c1e0d2bbf() - { - $this->assertTrue(true); - fn() => $test?->{$test *= $test}; - } - function test6a562b8e2562d2d23ef7325c865eac61e0089db7b2a427495441b5e76e40d6b9() - { - $this->assertTrue(true); - fn() => (isset($test?->{(int) $test})); - } - function test6d975a002b056b062f6a850fdbc845cc91e0805a35e937ba25064b9059109ec7() - { - $this->assertTrue(true); - fn() => (isset($test?->{(bool) $test})); - } - function test754e6ddd6c8d2a69699ebb2a6d1d418e07a74efd0d9960fd1e646bd4d0e4c02e() - { - $this->assertTrue(true); - fn() => $test?->{$test <= $test}; - } - function test790ffef0d24cd0a2a7db05ef4b304bfe2508afde9b345af78fa67c49daa1e77b() - { - $this->assertTrue(true); - fn() => $test?->{$test >> $test}; - } - function test7b1b20dd8093fbf8f77a61c4ee83a3f46d3795b60033feb7a2634221b8d95df9() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test | $test})); - } - function test7ca6b05c68ffa906e6cdfc22efb5a9465bbf13752bc26b74dcee2f09319c8e07() - { - $this->assertTrue(true); - fn() => $test?->{$test ^ $test}; - } - function test7eb0228f210d586b2df863f329dde741fa34e6fabe347391c53913a87031bf78() - { - $this->assertTrue(true); - fn() => $test?->{$test ** $test}; - } - function test7f1d0cd442c6c41d279fe55840d929ef1ed79de7cc986b2ede60d0d643719dcf() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test > $test})); - } - function test8121a4c617a46708d6ddaabe47d075724ea9b70b7d215be5b92a7ed33aeb3793() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test <=> $test})); - } - function test817595b8e1515059931a476aab5dad89e82591084f4757734fa8a8fef74f88d9() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test << $test})); - } - function test845061fdc8e490d927d503bd14bdd27d0452f7e8ec1fca5c61a04c78a1ed9271() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test < $test})); - } - function test8996b5c40e93a952d4e102684bb26de08b370ad6b0c9996f761b00205f0279ed() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test <= $test})); - } - function test8b4aef3daf91f77fd5e099c50795416d9049184538cef9a573addf76a2aaf437() - { - $this->assertTrue(true); - fn() => $test?->{(int) $test}; - } - function test8d78a2eb1c7761de1ff704cd3d3e80608c0fa296b793c3bac89af9330ef3c7e4() - { - $this->assertTrue(true); - fn() => (isset($test?->{"{$test}"})); - } - function test8ededd18cc35eef3730afa6b17939bd09614af1946e2c7dc7acb9b8edf71995d() - { - $this->assertTrue(true); - fn() => $test?->{(yield $test => $test)}; - } - function test8fb15b2b9aa016d33c447bd0d7664179bce403654c3e64ac0409e1b48bd970b3() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test += $test})); - } - function test954a639aa75a588928b2d3d951ef2f38a5e704ce9e690d421c8242c785971fe5() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test |= $test})); - } - function test95e9b00fb80bf425635f3dacb8b5568fc4eb7fe345d2001a741143bbbe1991bb() - { - $this->assertTrue(true); - fn() => (isset($test?->{yield from $test})); - } - function test95ea5db017c4864345054eb128f6575efae3e58a12af423b0d24df3444573000() - { - $this->assertTrue(true); - fn() => $test?->{"{$test}"}; - } - function test97332ab05f54ac98c19edd9eff2e004df41d78c2a5f73090e1fae5ad155df901() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test /= $test})); - } - function test9b9ea4060af5ff29052dc366f0688b9a7e42e747447a0c807acc3a824a542b41() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test * $test})); - } - function test9d24ead5a5a4ed6d644dfdf2fa9bfd7ebe6d78808950a72c526da62af41797c0() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test . $test})); - } - function testa0431d28b353ff510b384fa5f6e32942d3b55b86379960cbeaa28447a939b4ac() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test ^= $test})); - } - function testa2b1eede0b9506b17998c29b1e0a15f8af608336b8bcaaf323984358adee6653() - { - $this->assertTrue(true); - fn() => $test?->{$test + $test}; - } - function testa49293e69f0c2b83970f3045a71218c077b0e69a485159811394c1a1f1a27506() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test % $test})); - } - function testa4c015776d5a2260a699852bce4f2ffb4f89d623a4763d4111d5981684c39150() - { - $this->assertTrue(true); - fn() => $test?->{$test && $test}; - } - function testaa869c163c2c3c03595c5371d51f36ce8bef474b0f1416c579934eac72eb3eee() - { - $this->assertTrue(true); - fn() => (isset($test?->{(object) $test})); - } - function testabb0434e6ef5f45f808aa3e161852a3929153c8896fd7c167dffb72912404a43() - { - $this->assertTrue(true); - fn() => $test?->{$test += $test}; - } - function testac73d04323272d184658bb9d44adbf21bca50436ecb3357ef0bd025b544221c3() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test / $test})); - } - function testad9482280e3770ed27a71c68a6373e73e45aa4eb055cbeb881ce6d223ed382f7() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test .= $test})); - } - function testb166b2d708d8511d0f5c2d85550e76b49fcffd38cee5d8abb0e939fc00a486bf() - { - $this->assertTrue(true); - fn() => $test?->{$test . $test}; - } - function testb3b4195e0495ccffa6a79033a7009a80c8704d41cd69b59a74762b30a9024ad5() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test >= $test})); - } - function testb5000d1dfc7f79cd94812fc010e2fda668d32740736c0f39bdd0c1579985fd4b() - { - $this->assertTrue(true); - fn() => $test?->{$test /= $test}; - } - function testb6bdf60cd1799e3fdb61cafd2f841a5d34994a9ec874f0ec2b057aadf5c93548() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test ??= $test})); - } - function testb7b6cf9fc1bddcd437a2f45e9661845e858e9829a2497d9efedb8254b91f4733() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test <<= $test})); - } - function testb8ee1cdc079370b3b036387447ad4a9867b6b3551eb01a2f3e531fe9ffac457d() - { - $this->assertTrue(true); - fn() => $test?->{$test -= $test}; - } - function testbb0404560bdda292744914d13a953967100e7733fe42d9348f47c1d66af67f36() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test || $test})); - } - function testbd1e89363749c1f4c90ae62ea5be207d645083d99d1df7c83bb9067fa4864abe() - { - $this->assertTrue(true); - fn() => $test?->{$test == $test}; - } - function testbdfb6ef27522f2e448348f7ac86333cb8fbacf4d89ce412165d1292669c0b6a1() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test - $test})); - } - function testc17f9a7bcf844ca01f88a4f472b9f82964a195d214a63267e25ee5e27190ec0a() - { - $this->assertTrue(true); - fn() => $test?->{$test <<= $test}; - } - function testc28c51d6dd3d00567591343c43b62e0db2d4858b69228006e520db880a78bcf0() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test and $test})); - } - function testc85f6985076f8de45a7f2a7e3d0fbd3ded4f407d79d9feba24fe391e0b2087f1() - { - $this->assertTrue(true); - fn() => $test?->{$test > $test}; - } - function testc90ec0df092ad095d36260d9b6d4a1aee408983bb94e7b56183ffd0391c713ea() - { - $this->assertTrue(true); - fn() => $test?->{$test xor $test}; - } - function testcb461a20720c9f2514d38f045fafc52f83a6a581c771915a6629041900615244() - { - $this->assertTrue(true); - fn() => $test?->{$test or $test}; - } - function testcd7715f511fdc7f765ff2faa0ae794e404b201595453e7be501698cdf16ff32a() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test >> $test})); - } - function testceb992579ed84739371797d45e58813d81d38d9705899dbe0b08e0951ab6a677() - { - $this->assertTrue(true); - fn() => $test?->{$test / $test}; - } - function testd158d3c0c348227f5ed5925fa22ee2cba30d504dafdb616cc697c9067a8e84c7() - { - $this->assertTrue(true); - fn() => (isset($test?->{(yield $test => $test)})); - } - function testd1cff7be3b41151652c13668723434fd0e5edc8b0655b5aa1519f9a0c97e4d02() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test ^ $test})); - } - function testd21cf52512521814c22121d7992c947b21f08e708cee61a50eec3410f2cba110() - { - $this->assertTrue(true); - fn() => $test?->{$test **= $test}; - } - function testd6cd8553f2f2b3f0ea1e7c14eb800406b604e55d901b4ec2db192f84ed91e5a9() - { - $this->assertTrue(true); - fn() => $test?->{$test ??= $test}; - } - function testd73596004c0ce80845c5a4e1f8e97cfc56b50a519deac69a600f506fa6ff48e4() - { - $this->assertTrue(true); - fn() => (isset($test?->{(double) $test})); - } - function testdca42e6a1619fb6f80ba12463f32f8361d2d6f8e604f2aea1855a1e9a035de95() - { - $this->assertTrue(true); - fn() => $test?->{$test |= $test}; - } - function teste04b252de4c8f451405c1d81e6feda2b5e951730003e193fa9de290a070c1bb4() - { - $this->assertTrue(true); - fn() => $test?->{$test % $test}; - } - function teste4bf4b666955032f88b64a4cbe36451ef335fd171371e44bcf42cff0e404a410() - { - $this->assertTrue(true); - fn() => $test?->{$test | $test}; - } - function teste67be7a753ba58470975aafceb5cc34cffd278c61758a90dc9cbb5ec8933b637() - { - $this->assertTrue(true); - fn() => (isset($test?->{(array) $test})); - } - function teste81212064027b01ec44284ffddc5cb7fc9bf8bb210bc0c7d764fd5728da4787f() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test + $test})); - } - function teste973781f40742bf04b854262b373cd5abc5d79c64219809b1a11152a2db17aca() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test !== $test})); - } - function teste9fbb9d4e97d4c3fc2774488e26305669181442ea8392132494dc948585577c1() - { - $this->assertTrue(true); - fn() => $test?->{$test <=> $test}; - } - function tested53dbc9191e658356d1dfea8b1842d1a89cf482ed4a2cbc1fb9ce7286c3bc25() - { - $this->assertTrue(true); - fn() => $test?->{(object) $test}; - } - function testf13268867ba149f16cbf505d3811caeb087a3d328e0834c92cd94e2b4ff075e6() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test **= $test})); - } - function testf1b6edba81a2d2ecf72aec0a3e8759ad06654915565480e26c5b641abce2052b() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test or $test})); - } - function testf444b2c62a56cb27bf60c2481fb1b37746c62b268a5d66a3970a79a103917413() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test != $test})); - } - function testf61a78aa248a045a62beb0868ba6635456862d520cb4544ee93bbf7c9e3e4928() - { - $this->assertTrue(true); - fn() => (isset($test?->{(string) $test})); - } - function testf6fcaf13a1f309dd326bf63c11d6170715936fa595917c3e704a6a9edc3460ee() - { - $this->assertTrue(true); - fn() => $test?->{$test ?? $test}; - } - function testfaec5f63a22ff72dc620878a0906db47ec346580a3ab51e29f1c3d03307588ee() - { - $this->assertTrue(true); - fn() => $test?->{(double) $test}; - } - function testff0f20d30dfde21e434b4992acd414eddac3e6ccc6c4e32aada956b52156729d() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test xor $test})); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest.php b/testsGenerated/Target/Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest.php deleted file mode 100644 index 57baf0426..000000000 --- a/testsGenerated/Target/Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest extends TestCase -{ - function test000c753d5b7069960a166b292b455de9fa638300c5920beb2fb1ad17e35a0413() - { - $this->assertTrue(true); - fn() => (($test xor $test) === $test); - } - function test01cac80641d5334032e84506f2fa13f574c3f4856f8e8fa9e064a25c3f0804be() - { - $this->assertTrue(true); - fn() => ($test + $test === $test); - } - function test03a8e9e1946d418db49542c73e1f5a56c4b7894772c7e8f4be678aa44b93b82a() - { - $this->assertTrue(true); - fn() => ($test > $test === $test); - } - function test045d01693aa9f10b6127a87fb23dbeb6879ab17dedcda9a00b7fee74c5a8ca84() - { - $this->assertTrue(true); - fn() => ($test === function () { - }); - } - function test0c32ec2e063895ff06cd5ac63a4d1c126105a8b494870842834cea9ae82a2190() - { - $this->assertTrue(true); - fn() => (__DIR__ === $test); - } - function test0dcd7ccfe9d4fdb966cdd2491ea7f3b3aae541b641b179949d0b3800da7f58f2() - { - $this->assertTrue(true); - fn() => ($test === $test[$test]); - } - function test11137152e6f0915564dd0fe8788cabc80bd6fd31933c6b124ef236ebc48119e8() - { - $this->assertTrue(true); - fn() => (0 === $test); - } - function test1228747843946e9cfe12408d043f2c906524fd3bb33c47f7f696c5f1f4ae4bbe() - { - $this->assertTrue(true); - fn() => ($test === $test); - } - function test1312ab5c3e0e115759d3f0ce4e154d84bfabc31dbb7987716838c1208ac0b1b7() - { - $this->assertTrue(true); - fn() => ((object) $test === $test); - } - function test17c2ea5c659550934a8de71177681b124c4ba33fc34fd90fb530baefed648f54() - { - $this->assertTrue(true); - fn() => ($test === ($test ? $test : $test)); - } - function test18c5d4b1cb7a55e8e4b407640e23ed06f0513f76af33ea52c07743ea9f4b0b5a() - { - $this->assertTrue(true); - fn() => ($test === ($test %= $test)); - } - function test1d95bc2f728b3195fa496b81a15539d1fea833e47f2bf28627b5e91b94a7227c() - { - $this->assertTrue(true); - fn() => ($test === throw $test); - } - function test1e8af9978ceb20b581a04918fd3a8ea8e420078f3f18e6071f17959939c8a498() - { - $this->assertTrue(true); - fn() => (($test ^ $test) === $test); - } - function test1fcfeb66e34334b814c9636c69900676319e3595773b8651d52bd16212a92607() - { - $this->assertTrue(true); - fn() => ($test << $test === $test); - } - function test22a258e9a06672fcd75b3826a72efe51ae15cede5550b8e29f24dba17356843f() - { - $this->assertTrue(true); - fn() => ($test === ($test .= $test)); - } - function test29670b2ffad71c5b39fb47580b7c8c1fdd73f9b0bdf447851d80d90cf2d23bac() - { - $this->assertTrue(true); - fn() => ($test === clone $test); - } - function test2ad158595d5ae7c7b91dc0a4d0d91b60bada6108a978d646438fecdce7d17907() - { - $this->assertTrue(true); - fn() => ($test . $test === $test); - } - function test2affac7248c520ae63931d53add70c80fd0b67a581ed9a7a63d67329a7ff5588() - { - $this->assertTrue(true); - fn() => ((double) $test === $test); - } - function test2cfd94ac99cc2d43f3c165ab193976d894710d8cc3fd2703a485670533d00740() - { - $this->assertTrue(true); - fn() => ($test === +$test); - } - function test38fcc476494715d1d2618407ca51b718e1f9f4306ed92900956ddd61fa15c12a() - { - $this->assertTrue(true); - fn() => ($test <= $test === $test); - } - function test3e9488e2b13f8966ef6cfdaad27f61fde0b38a9e78c7b444d8775e064ad267bd() - { - $this->assertTrue(true); - fn() => ($test === ++$test); - } - function test42538167771105ed86fa5df820365c20ac39424df1604084d06e31877d085267() - { - $this->assertTrue(true); - fn() => ($test === --$test); - } - function test42616c8f7aacb5bc2191087c39f42f5746a593848442699448262aee098ae9f0() - { - $this->assertTrue(true); - fn() => ((bool) $test === $test); - } - function test44b86935db3162d65863a38907d7d5500af6534b5f0aeceb573c22bf6cdbd623() - { - $this->assertTrue(true); - fn() => ((int) $test === $test); - } - function test45a28eb9443fb55bc44f24d777409788a884aa91dec71113342070510bc6a86a() - { - $this->assertTrue(true); - fn() => (__CLASS__ === $test); - } - function test47d2a5cfb8f351b32a553ec872c2146c031d39407383c4223cf4a9c226db5692() - { - $this->assertTrue(true); - fn() => (__LINE__ === $test); - } - function test492079a6a0c35615877b01b034c7501173a31e02d2cd1c6315a31d1434d6e06d() - { - $this->assertTrue(true); - fn() => ($test >= $test === $test); - } - function test49d32d14acca675a0dd71dbce0dbf5c8b874448f77b2a8af7eaeb7ded011f70d() - { - $this->assertTrue(true); - fn() => (($test != $test) === $test); - } - function test4f86e7e15ad805bfb7a7d60ab932d8941caade55a54c7d3cfe080f822995a82d() - { - $this->assertTrue(true); - fn() => ($test === ($test |= $test)); - } - function test50309624e92c27bed12acbe58cc7d2592e4759e3167993f6e2e912cdd21a1a72() - { - $this->assertTrue(true); - fn() => ($test === ( $test)); - } - function test512c9887139d71ea759747c57fdc0576cd8bf342cb946b59727d2a0285b66b31() - { - $this->assertTrue(true); - fn() => (($test <=> $test) === $test); - } - function test532e9c4da71d0c9171f6d3f06df50a72c9f0cdfea7975941398cdd9427187269() - { - $this->assertTrue(true); - fn() => ($test === $test()); - } - function test53a9c901af04aa84c11d74f6adc05ff0753ded6267b00ca1b8d6fffe7e63f0b5() - { - $this->assertTrue(true); - fn() => ((array) $test === $test); - } - function test56e81cde0be53b765f2bf259e586dc0eacd6823699b6f950eac5b503ac49b1a2() - { - $this->assertTrue(true); - fn() => ($test === ($test **= $test)); - } - function test5856841d5a6739a6399735a4776500ad81f140ab29432a42ea8994d8495b42bd() - { - $this->assertTrue(true); - fn() => ($test * $test === $test); - } - function test585ee1525212a14f5915bf5d0ab0afbb8ebbf22151797b632e50993ff9337bc7() - { - $this->assertTrue(true); - fn() => ($test === ($test =& $test)); - } - function test5ae280edac687e0a56d4f9dd3066b3aa6151ec2748b11f168d0f7c59e21d0b95() - { - $this->assertTrue(true); - fn() => (($test ?? $test) === $test); - } - function test5df2dc15cc533b5fc5015a37eecf6a0b048a9af61340db71fde141858c7848c3() - { - $this->assertTrue(true); - fn() => ($test === ($test >>= $test)); - } - function test5ea38bb7aeeaac24aec775e6b59b19fa61fe1de31ed95dafb8b3c6bff51f1dbb() - { - $this->assertTrue(true); - fn() => ($test === @$test); - } - function test5ff642d9e22d708cabcbfc8dc388131b110d585148442353d284f8fbdfcdb3d0() - { - $this->assertTrue(true); - fn() => ($test === $test->{$test}); - } - function test6a2ae5692d4880e44da7d16b8129d9497dec1bae7fa915e8911c025975ced53f() - { - $this->assertTrue(true); - fn() => ($test === ($test -= $test)); - } - function test73fcc7f3e7ae9abd1475176ec607737c3f588a125cbc97eca1f5e06a0320b95e() - { - $this->assertTrue(true); - fn() => ($test === $test::$test()); - } - function test76828baee35b342d845a21acee33a35b7fbdc8b928dd413661dd3357c56f3208() - { - $this->assertTrue(true); - fn() => (($test !== $test) === $test); - } - function test801f368a4bd81f89103fadb0eee363546b3a675b2a97925d6f0980bba5bb6b4d() - { - $this->assertTrue(true); - fn() => ($test === ($test ^= $test)); - } - function test823524be339618822d265d47fbb86423b383c462533a155f39d528d09dfa557c() - { - $this->assertTrue(true); - fn() => ($test === (print $test)); - } - function test8341c7e2af70c5c1aab79d62ed5a54aa7f1fd547f3b73f6a6713911e16e20beb() - { - $this->assertTrue(true); - fn() => ($test === empty($test)); - } - function test859ab142df88e5a9e813059833cd6ba5c7dd0a10f5c2735689927dc07a95e890() - { - $this->assertTrue(true); - fn() => (($test and $test) === $test); - } - function test87fdbccb5255be66c4ea40daccd13caa120f5b92e2614e2b75fae1c37058abc7() - { - $this->assertTrue(true); - fn() => ($test === $test->{$test}()); - } - function test88a497be3cff372ebffd9b75e3772a6aeef9aae55e4541e13f030d24c7353c7d() - { - $this->assertTrue(true); - fn() => ($test === new $test()); - } - function test8a28517370f0aa908893d0a124714406a52d23416d5a5cd7cec2a4932e116c1d() - { - $this->assertTrue(true); - fn() => (($test >>= $test) === $test); - } - function test8aa591b9cb80304f3bf58199d8e2792f123d90454ff3012bed1df0996ca02efa() - { - $this->assertTrue(true); - fn() => (($test === $test) === $test); - } - function test8c294c77c616421f4b8ea2b8c86626fcc076890c5ca9cc1040f48ca0e6b2f1a2() - { - $this->assertTrue(true); - fn() => ($test === ($test ??= $test)); - } - function test8d0a83f4a16a95516591db9a3ac743d047df5dc73f7e21af66577bb77f96ebb2() - { - $this->assertTrue(true); - fn() => ((string) $test === $test); - } - function test8fb7c1242d25f9ae0d95b48a9983660dc2fd1ebed7278d7429f7f8b21eb46a4d() - { - $this->assertTrue(true); - fn() => ($test / $test === $test); - } - function test90e533be232924858013b15191fc2e6e8846a4faa9ba85b542c9f9a6e99282f3() - { - $this->assertTrue(true); - fn() => ($test === self); - } - function test9498ab52fc9973c5a83a96a5ab7256919ba5e4a58088375eca6799ae6debfa5f() - { - $this->assertTrue(true); - fn() => (($test & $test) === $test); - } - function test94ab7694c7e5a11a96a24fcbbb4e7da4062976677aaec39cdefad256aef9f4e3() - { - $this->assertTrue(true); - fn() => ($test ** $test === $test); - } - function test9a0b128ffc1c591ad132b513b5ef66697f8d0b98bbd73e30b2c9ffcdcceb6ffc() - { - $this->assertTrue(true); - fn() => (0.0 === $test); - } - function test9adba4911021301af5a9e1e25603c278e8c3651c8fd9528392862fdb97c75f2c() - { - $this->assertTrue(true); - fn() => (__METHOD__ === $test); - } - function test9b30966617a21cc2bea6c0a1276eaba4e36375a9230a8094c233fea647166f0e() - { - $this->assertTrue(true); - fn() => ($test === -$test); - } - function test9c9880787cad3482959e423a45a6409d5fdd2ee400b0acd7b70a006e9faa69c6() - { - $this->assertTrue(true); - fn() => (($test && $test) === $test); - } - function testa12a2024cd795bb508c9450bfc800e25b9bde5b4ac0632ed7c4bd7837c69f659() - { - $this->assertTrue(true); - fn() => ($test === ($test &= $test)); - } - function testa41c7d555c21fe0d989c7e2a43d50c73f37aab19cd8c552bf445ac4d1c3e3f8c() - { - $this->assertTrue(true); - fn() => ("{$test}" === $test); - } - function testa679d7753466590a580d37f387921a6bbd3e6ae0cf76084c9a77501d6d7c58ea() - { - $this->assertTrue(true); - fn() => (($test || $test) === $test); - } - function testa75d7069e026639c841351bd3664dc386cfc887c3b78a57cd8419e25d68c6704() - { - $this->assertTrue(true); - fn() => ($test === ($test *= $test)); - } - function testab17b259983b3f9a7a0844ff6cb2e9a49bee8cbf4246420aae70236c242b70b2() - { - $this->assertTrue(true); - fn() => ($test === ($test <<= $test)); - } - function testaf958d57f67d0600db6f25462ca6a8d3820f9af69090dfad7b71ac3f5d2d8c4f() - { - $this->assertTrue(true); - fn() => (($test | $test) === $test); - } - function testb3f00e94b009b74030cf84401dda3b7520b8b39ef607b4270bf8f35be920f900() - { - $this->assertTrue(true); - fn() => ($test === $test::$test); - } - function testb49127d4f7d4bc03c934fa0812cb64a7ab05dd7e1db8ae967716388a686c4d99() - { - $this->assertTrue(true); - fn() => ($test === !$test); - } - function testbbc30f683db57fa5c6fd34170c1f017138bf811e3f721d1a82fe99af55db9c95() - { - $this->assertTrue(true); - fn() => ($test === $test::${$test}); - } - function testc07782efa861fd792303395bcd302208cf6708814e2a32e14cab38bc3ba8fa5b() - { - $this->assertTrue(true); - fn() => (__TRAIT__ === $test); - } - function testc19584a3cfd2158e0d140fbe9661107ef30ee24fecf1d249ff53354103ede095() - { - $this->assertTrue(true); - fn() => ($test === match ($test) { - }); - } - function testc217f2664e807b4078b8696592b32dec8c93f129dcca518945a46d55bebcc3c0() - { - $this->assertTrue(true); - fn() => ('test' === $test); - } - function testc2fd78661a9608187413980496d7939fcecc045f9d3bee2569f328f297ea9621() - { - $this->assertTrue(true); - fn() => ($test === ($test = $test)); - } - function testc3956b432414380fc41c675591176ac3f1535a7eea2ecafef96a990c97609091() - { - $this->assertTrue(true); - fn() => (($test == $test) === $test); - } - function testc58bb33e9c4f2dfd4988f8fd78f1a557a4dbc4dc6ed04ec4e9309222347935cd() - { - $this->assertTrue(true); - fn() => ($test === $test instanceof $test); - } - function testc6d3831f64e95ec93dad86a0d07b2de01fb072c8060d7b5e7f18c3ee14b641f5() - { - $this->assertTrue(true); - fn() => ($test === $test--); - } - function testc85299a71eed9f695bc5f1b7252fa68a2f6da870a49f3235d1b2f61a13e64db1() - { - $this->assertTrue(true); - fn() => ($test === (yield $test => $test)); - } - function testc9b0b424403579781d7d1d1b782e1c93c09b8e8353167037d6ab63695e1a60c5() - { - $this->assertTrue(true); - fn() => ($test < $test === $test); - } - function testd03af67425d406613aa4a2f2b46fc29b47562be12fbc9d0c90f839663b0c7363() - { - $this->assertTrue(true); - fn() => ($test - $test === $test); - } - function testd0b723adfbaeb23a9b739f9435c1ca66cec336d768a0b92fedbe73a3db4994c4() - { - $this->assertTrue(true); - fn() => ($test === ~$test); - } - function testd4741bb9672d1af089090895ddb7035ed130930fe03b04bbca4ac3d980e96829() - { - $this->assertTrue(true); - fn() => ($test % $test === $test); - } - function testd685d3e5975852bd0a96ca7c9797ec4a454d6fbc2e753365f883c4f3de2be06d() - { - $this->assertTrue(true); - fn() => (__FILE__ === $test); - } - function testd9eeaaf250326cfc5e54eb3b5f16239dbbd90466fc9e3694c3e88cc22d769e57() - { - $this->assertTrue(true); - fn() => ($test === (yield from $test)); - } - function testd9fb2c8a06630258fc322650a41d31b098d5e346533787fe13e3eb1dcca7fb1f() - { - $this->assertTrue(true); - fn() => ($test === []); - } - function testda3b52a143dfee2d41e24da4d23b8d246c2d91331a2b0633fa7e5f62b4ef0cc4() - { - $this->assertTrue(true); - fn() => ($test === ($test & $test)); - } - function teste212cce72801debec12bef8d9f1036e28d017a4f4abe317bc4948bb7ce43b7d1() - { - $this->assertTrue(true); - fn() => ($test === isset($test)); - } - function teste374461219d9d68a01f6e21a65933e10e3dc8adce3bdd6a7ea801812b017a8c9() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ === $test); - } - function teste520a43e1226c3e71e5921d605f8e72c0452c38492d4bc19924240a180535541() - { - $this->assertTrue(true); - fn() => (($test <<= $test) === $test); - } - function teste90104803c1f64cebaf7b88acfb1c3f53f44b66441f7d8e3687935495b3ba387() - { - $this->assertTrue(true); - fn() => ($test === $test++); - } - function teste92e8cfdcffe7baf8ecf306be9e0ee4f5e53f1b2c058c44369931562dc7f14d9() - { - $this->assertTrue(true); - fn() => ($test === $test?->{$test}()); - } - function testec529eadb40f0a75d6f5c6e4937f12005f0179b75e7c6d79a9ba714966621ef5() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ === $test); - } - function tested81bdd3ac3c91ed3b2d06299ec4a2571bf2ac795b820fb2ff97965438d9b912() - { - $this->assertTrue(true); - fn() => ($test === eval($test)); - } - function tested84f393f88a74973496823d018bc36ad2c45d8451cdc3c699e0033b892d45c0() - { - $this->assertTrue(true); - fn() => (($test or $test) === $test); - } - function testee8ab3e5b2502b8d9f854b34c9275790b174e57ceadedb346471393adb943aa7() - { - $this->assertTrue(true); - fn() => ($test === ($test /= $test)); - } - function testf3a99a495a075de0559cef367dc9427d603f8abe3cac5a280ee0775ac71e2d76() - { - $this->assertTrue(true); - fn() => ($test === $test?->{$test}); - } - function testf92d3c3de4ac7ca22ff621e65d13e790269509445e95bb1eb6393f50a7482b58() - { - $this->assertTrue(true); - fn() => ($test === ${$test}); - } - function testf962f5650f1f280067e81fde8e9ceb70a4a191e87eee52bdb792807992e29638() - { - $this->assertTrue(true); - fn() => ($test >> $test === $test); - } - function testfc75f3a0217e4620997a6378e71ba425a7d2f0b2a0e3474a0559bea1e504de6f() - { - $this->assertTrue(true); - fn() => ($test === ``); - } - function testfd692a9900e8e85ef29d03929427cd74bbc43fa7477710bb2171b894d34ac46d() - { - $this->assertTrue(true); - fn() => ($test === ($test += $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test.php b/testsGenerated/Target/Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test.php deleted file mode 100644 index 4f94f7978..000000000 --- a/testsGenerated/Target/Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test extends TestCase -{ - function test01c06996b4d38fecffa83395e500e707b725f5b202b30b9958e4e53a6cf040e2() - { - $this->assertTrue(true); - fn() => ($test -= $test | $test); - } - function test02dd7a17e800fe8a5f75d9f4008f461459e3c461c12cd4f902efff0528a69bfc() - { - $this->assertTrue(true); - fn() => ($test === $test %= $test); - } - function test036a4dd43bcae5ef63cf58904a5ab05a6a0c3eea3e6186487fea30e6b06e6157() - { - $this->assertTrue(true); - fn() => ($test . $test %= $test); - } - function test04ed9e0f53344533e1d8026c330c99322084cfb142126cd5a516eb0f3728d233() - { - $this->assertTrue(true); - fn() => (!$test %= $test); - } - function test071f6a8f2bab6aa41186e5fdc5ee38936532ddef30da2adeb0c314b78106d1a9() - { - $this->assertTrue(true); - fn() => ($test -= (int) $test); - } - function test0845b6d82c27bf51d4987f14dd0d6ef648fd77c3f922fdfaed3b7154d4bfad6c() - { - $this->assertTrue(true); - fn() => ($test ?? $test %= $test); - } - function test0f49a42c215ec6e6e917da3b6fdcaa59a7f7a2f33ba0d934ef588f5b023c6e66() - { - $this->assertTrue(true); - fn() => ($test -= $test /= $test); - } - function test1313249b6d9419993c5b1c05d78269a9ed91101f5aee95c378d2f8cf0242de12() - { - $this->assertTrue(true); - fn() => ($test -= $test - $test); - } - function test1374618986b17c043e079e1ec3098c3d68c77079c9689a213feb995b4d065df4() - { - $this->assertTrue(true); - fn() => ($test -= $test >>= $test); - } - function test1375a640bda35eba64bc57e6d14639404e45b230073f5865ccbd25310f1d9f18() - { - $this->assertTrue(true); - fn() => ($test -= $test ** $test); - } - function test16955f786687b9f5e523aee5b10668f0635fe9b7cc8b9a0b148cc14c16d4bfcf() - { - $this->assertTrue(true); - fn() => ($test -= $test * $test); - } - function test18d8ad641c9315997f22188f23bab06406ab6ca3afb74758352ddff317fa3c56() - { - $this->assertTrue(true); - fn() => ($test -= (bool) $test); - } - function test1b9854d0ecefbbe0dbe64b7a93159287e21cf725f36bba44e8de1267e83c5205() - { - $this->assertTrue(true); - fn() => ($test -= $test == $test); - } - function test1f6b146e70e4df008da480af5e110da3218deb1622b0a62801e9cbf44bb0831c() - { - $this->assertTrue(true); - fn() => ($test - $test %= $test); - } - function test1f6fa2c93dd3dc2fe0da29cdcd636309cb660e16ece0b31d59e43cb8aba6c3c9() - { - $this->assertTrue(true); - fn() => ($test -= (print $test)); - } - function test21e194ae4e6bb0619eb139d59e6f7f7730887e7d52120de53d3972711a8f1fa7() - { - $this->assertTrue(true); - fn() => ($test -= "{$test}"); - } - function test23a062628a6440e70795f351ae534bb8895b96106d4ff9f4f94f4fa61a2e8301() - { - $this->assertTrue(true); - fn() => ($test -= __FILE__); - } - function test24534a66b249d5a774354a9ad266403a4c84ee61bb1fc810a226d0dfb7c67c4b() - { - $this->assertTrue(true); - fn() => ($test -= $test <<= $test); - } - function test2a0a1ca1ebfb09c38fdcb980cf1b25e5b12254cc13f2ef9706f43f93021d719e() - { - $this->assertTrue(true); - fn() => ($test -= (string) $test); - } - function test2ab6f4c963b9934c30a6891c80d70dd43a1755b5eac224257b690c065e610939() - { - $this->assertTrue(true); - fn() => ($test %= $test); - } - function test308c670ab964ec09ffaef581c4a0c681f8eadbf3394337f4b5556e191b30d370() - { - $this->assertTrue(true); - fn() => (~$test %= $test); - } - function test31a46fbe0d32699176d3b7c2810a4ac15fca66c4d59c9cab51a65065ff0051e6() - { - $this->assertTrue(true); - fn() => ($test -= $test && $test); - } - function test339aaf1293b3aa5e4819665a36875015ff7fa037cc87e9a1b6ea128cb7e1d18d() - { - $this->assertTrue(true); - fn() => ($test::$test %= $test); - } - function test348f7cc27c2e44216a97721b6d889197b57dc96e05d08f3d476e6aa24a809e16() - { - $this->assertTrue(true); - fn() => ($test -= $test -= $test); - } - function test372da5933bf91fe0d83dd9cc898b9872f7852563e36ad7ee062337d4e6e85d29() - { - $this->assertTrue(true); - fn() => ($test -= $test += $test); - } - function test39aa190f4afb78115ef16c511a38090d83c836d05f2e302be876edee8063480c() - { - $this->assertTrue(true); - fn() => ($test -= $test &= $test); - } - function test3c6eb38282cb4fb289c477d2b8d5086231dc7649a31de45557a6f9460a14d9b4() - { - $this->assertTrue(true); - fn() => ($test -= $test ? $test : $test); - } - function test3ef5cc11aa5e31cced4dffc957e6eb607b99c57f4b1f17a91abe606e9d0da61c() - { - $this->assertTrue(true); - fn() => (@$test %= $test); - } - function test418dfff064f736b8f2cf754a35a01533b750adcfae1bf037002f6b0938a645ee() - { - $this->assertTrue(true); - fn() => ($test -= (object) $test); - } - function test44d06c547bf1d738ad02b507b5e00af6153668c5112eea3d55eac535ed2bb8aa() - { - $this->assertTrue(true); - fn() => ($test -= __TRAIT__); - } - function test4919362496476857ab27419b6b361780472533e1c5dfde7101745bac237468ed() - { - $this->assertTrue(true); - fn() => ($test -= (double) $test); - } - function test4bff74c1355811261a4cf4bda841bd796ff58880dc11d3b9a07acb0007e03e2b() - { - $this->assertTrue(true); - fn() => ($test || $test %= $test); - } - function test4c395a91a9383aa90578d554914005f96efe605ef9e0e5c56f8d40f279c1893c() - { - $this->assertTrue(true); - fn() => ($test -= $test::${$test}); - } - function test4e2fcf01824a00b2b8e854f9c86e87953a711c8cdd18d5c62a6d1896d3c793cb() - { - $this->assertTrue(true); - fn() => ($test -= $test *= $test); - } - function test4e379951ec59b201a7e4372f3557c06a48b250ac8b7305f29accb5b90b86a511() - { - $this->assertTrue(true); - fn() => ($test -= $test ^ $test); - } - function test5766fb0b8e8d756a86128a781d768c92ce36091a95ae2b6d794918db39cba8e3() - { - $this->assertTrue(true); - fn() => ($test -= $test %= $test); - } - function test57dfb1f58965cf9ed74dad763712237fc321352e18f70b9b23c6ea2854e8e355() - { - $this->assertTrue(true); - fn() => ($test -= $test > $test); - } - function test58d1d847a59c6a6aa52544b1c6c90a7687a30829072e08542ed197cfc39469c3() - { - $this->assertTrue(true); - fn() => ($test -= $test >> $test); - } - function test5f0f766dafe17651714446ce5b79f317bf02fdb20349b76bca8907573db5aa22() - { - $this->assertTrue(true); - fn() => ($test -= __DIR__); - } - function test5f232dba56ad6e65d104c8e1e6f65d250d503ec9f0c24723a479efd46dd50889() - { - $this->assertTrue(true); - fn() => ($test -= $test .= $test); - } - function test6261d838b7b093cda62d35517c8e2ddbd8ec297e3dbcae9ea272463336306092() - { - $this->assertTrue(true); - fn() => ($test -= __FUNCTION__); - } - function test62b9a1fdd129ef8e1492f92b7ddd444e2728b0c133f53979aa932e6eaa4ae30a() - { - $this->assertTrue(true); - fn() => ($test && $test %= $test); - } - function test64385719125389e0322e19e0f775d8859622c9b803064fdb432010484e66756b() - { - $this->assertTrue(true); - fn() => ($test -= $test >= $test); - } - function test678d8ae095462f7c1144ad77a96e1074fa284f32fb66ef836787f95b6979a7bd() - { - $this->assertTrue(true); - fn() => ($test->{$test} %= $test); - } - function test6f9fc30f4eb6759c43928db1288cf16867078e65823db692df8af848a4f3a386() - { - $this->assertTrue(true); - fn() => ($test -= $test != $test); - } - function test717f06b4339227a053f1ca180ece36c0c9763bd3b2d0ccc9cbc3a2882cff375c() - { - $this->assertTrue(true); - fn() => ($test -= $test |= $test); - } - function test7752f43bd16ce296b1b1ab9e54ab26a781d39ddfad0c50039bf5dcfd24545771() - { - $this->assertTrue(true); - fn() => ($test ^ $test %= $test); - } - function test7b31b5c4437d0dda1b7086192138d6934c204ff867b8455ad8c2c068aa7c9412() - { - $this->assertTrue(true); - fn() => ($test / $test %= $test); - } - function test7c7e5c847fd38b53e42d67e24316f12c6b373a9b59b9d764e22713fdc0b0ee38() - { - $this->assertTrue(true); - fn() => ($test -= $test ?? $test); - } - function test7fb988cb1ffc9088544be65e124963031831496492ebe775959b6a4ab8e87330() - { - $this->assertTrue(true); - fn() => ($test -= (array) $test); - } - function test81283f41f5f8ae873d7e0486f726657e484b4b2d566046cb0e3290542f80d3ec() - { - $this->assertTrue(true); - fn() => ($test > $test %= $test); - } - function test830db9aed04c2b2bffa730ac314581ec2cbaf40c72a0499c183569f3f8b9a815() - { - $this->assertTrue(true); - fn() => ($test -= $test << $test); - } - function test8622ff0beb48bcf2daf20b79ba6e126177c73aeb7982c45f7e21823fbd0a1d3f() - { - $this->assertTrue(true); - fn() => ($test -= $test **= $test); - } - function test88443289d106918f67588516c5b8efca156c381790bc9f83986d8ecacc873924() - { - $this->assertTrue(true); - fn() => ($test -= __METHOD__); - } - function test887e6403f5490c68c6f490dd7664a3833715bbc28f172d161cc45f24d70abfa8() - { - $this->assertTrue(true); - fn() => ($test -= __LINE__); - } - function test8ac6cec57bf43758f8097df330e380ae8499fb57d413e34a7e1bffd778ee679a() - { - $this->assertTrue(true); - fn() => ($test -= $test === $test); - } - function test8bc6de23f57b4e5521aa2da768062d122f453a64824f93d503deb6b58e8bb61b() - { - $this->assertTrue(true); - fn() => ($test != $test %= $test); - } - function test8ddfd88e98ea126532122ebe2e103b4a2577c76faaad15f44d7093536f63fa76() - { - $this->assertTrue(true); - fn() => ($test -= $test + $test); - } - function test8f506e7a277f065f6736a7fc7bdfc2140b27fefb8dac87d086efb3998e6e84c1() - { - $this->assertTrue(true); - fn() => ($test | $test %= $test); - } - function test98355d7e1cce78c096123aa737c23cd86e80e080b62b6dadd8ff06c366819abc() - { - $this->assertTrue(true); - fn() => ($test -= throw $test); - } - function test9a1ccdf0769f3577a5a783e25e0f6ca721fdcc43e63fbb1ad392a48768ce6ff4() - { - $this->assertTrue(true); - fn() => ($test -= $test % $test); - } - function test9c09983570fbe01c8bc78b42731cc0208f52c02d2b5d77ff7d384b250f04f9a3() - { - $this->assertTrue(true); - fn() => ($test -= __CLASS__); - } - function testa2930dafdd2248bcdb8037e2e572ebe1d983e4a458aff5e1ea7f5cdf81042aa5() - { - $this->assertTrue(true); - fn() => ($test & $test %= $test); - } - function testa2cea4d27c06347a2407dd11a6aed6ff05027e8093676ff9e4f8234e81aa1dc9() - { - $this->assertTrue(true); - fn() => ($test -= $test / $test); - } - function testa3a7a3f4523d6ff7121c76a61f7cc7f1bc6d31e84f606562e74e4dc2897fb7d1() - { - $this->assertTrue(true); - fn() => ($test -= +$test); - } - function testa77503f3b54430f9c6a927b9fd51fdba262affde72d6285f471a395dba983c1a() - { - $this->assertTrue(true); - fn() => ($test -= 0); - } - function testa962b4c9005bbe96acf067f1f9f07c6862f3a8dcb4b86da0f523c758debe2332() - { - $this->assertTrue(true); - fn() => ($test -= -$test); - } - function testab1a25ec32ff537c87743d1ddda66573a74db2e265bb26ab47f93e46b620820a() - { - $this->assertTrue(true); - fn() => ($test == $test %= $test); - } - function testb2ab27b9f2edeca0f95f6bb129b5a1077cdab165e728688d94097bbd07c1a48e() - { - $this->assertTrue(true); - fn() => ($test -= $test . $test); - } - function testb5d61100ea56203437cac68c4d3173757ffd9ac1079778c324778703b1844484() - { - $this->assertTrue(true); - fn() => ($test -= 0.0); - } - function testb6e06e0c484765536ff3af1e6ec38f92840fc2824b760fc6dba5ef520c8df3bd() - { - $this->assertTrue(true); - fn() => (+$test %= $test); - } - function testb95a05eb20f849f54d3bf5e447c8034f81bd6f64c99a6787f6ffd7fc34ab6f2e() - { - $this->assertTrue(true); - fn() => ($test -= $test & $test); - } - function testb9dd853a1a3b406e1178841af9d6fd8b041ceb8af4a93aecea3f7a22e7d82d9f() - { - $this->assertTrue(true); - fn() => ($test -= $test < $test); - } - function testbb1f34f557aca982baa6b034963a05335c37929a0f83e7ac4ccab5df1a7fd2ad() - { - $this->assertTrue(true); - fn() => ($test -= $test::$test()); - } - function testbdb01fd685a97e49ff3df5ff2b3557020a8b592f9ea11d72efa0556e80729412() - { - $this->assertTrue(true); - fn() => ($test -= 'test'); - } - function testc0abadfa5daba4bfaea9b7c64720f031c232d453d32d5222e451bfea52244caa() - { - $this->assertTrue(true); - fn() => ($test -= ($test and $test)); - } - function testc15d5b65fc733ed6b1fed9d843ef188642e7f557800f8f49cc47134e14a6440d() - { - $this->assertTrue(true); - fn() => (${$test} %= $test); - } - function testc3f71bbec4224df0a742d4a861f1d934d16f89b5dd8e2dbcfde2d0d22838cf95() - { - $this->assertTrue(true); - fn() => ($test -= $test <=> $test); - } - function testc527e3604dc64edfb163178e1fa4c401741d2aacc4659ad470b440f82f55fe6a() - { - $this->assertTrue(true); - fn() => ($test -= (yield from $test)); - } - function testc9bfb4956ec3000f67d8b40597743530ae3300318da68667d70b23c4f23c069d() - { - $this->assertTrue(true); - fn() => ($test -= $test || $test); - } - function testcb3354a24feea4c5d54fd03b3e80f8b928c5f47ba700fbddea4cd6be062c75e4() - { - $this->assertTrue(true); - fn() => ($test -= $test ^= $test); - } - function testcc70012f870f6ea6e1d36038b24bf764fea9c985844d73234faa409845d628b0() - { - $this->assertTrue(true); - fn() => (clone $test %= $test); - } - function testccac92c41c4515732b62501c7b82aaef5ff6f47b0f601a8c09cafc5b8e449516() - { - $this->assertTrue(true); - fn() => ($test -= $test ??= $test); - } - function testce5f60659b361a4c59f3ebb67bf27fea88a79f3a5be48703e434d4eaab387292() - { - $this->assertTrue(true); - fn() => ($test >= $test %= $test); - } - function testd94228544fa7982479337d93e8df02214671b5a4585f6b209ae7a2769737dfa5() - { - $this->assertTrue(true); - fn() => (throw $test %= $test); - } - function testda13eca83eaa9a7ce52179ba477c903ad2541205a5d588f424c222f1140590c4() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test %= $test); - } - function testda83f342006c1c748e1ec024dd2e8bb38acd10a465d172daca6d0a29f54370d8() - { - $this->assertTrue(true); - fn() => ($test -= ($test or $test)); - } - function testdcb411d016d8defc905418b14d1a40357695db89f9cd359642c3ee19e73b7d48() - { - $this->assertTrue(true); - fn() => ($test * $test %= $test); - } - function teste4798a3f377971faf3b7ccaf56bb79e8eaaeddb22e835b108550d23eb97399f4() - { - $this->assertTrue(true); - fn() => ($test % $test %= $test); - } - function teste648f47ad95791057802187e410f2e7eefb0b0b2948bc6e29cbebcab666f1255() - { - $this->assertTrue(true); - fn() => ($test[$test] %= $test); - } - function teste6fce847d6dade9d3092cd442e1f50472f425f52b78de9690ac66ea554dbb811() - { - $this->assertTrue(true); - fn() => ($test -= ``); - } - function teste7474dd9bc0af0bf6ab037fa3fc853dd5e16248f72dc5e987738e2cc7d2bcd23() - { - $this->assertTrue(true); - fn() => ($test -= ($test xor $test)); - } - function teste7833e74145a8c703671e7a9f28b974d6140d0984cc0630a0e85d77bbe649d5d() - { - $this->assertTrue(true); - fn() => ($test -= (yield $test => $test)); - } - function teste87ae48401b69dedc28f0296c77b26faa6526e1706ed7ea226129c8dea2a9196() - { - $this->assertTrue(true); - fn() => ($test -= ${$test}); - } - function teste91bbd0f33456352dd6632c77724babb93bd13a34935c40bf646ecc1ed8b8b15() - { - $this->assertTrue(true); - fn() => ($test -= $test <= $test); - } - function testeb813b816c3c983a8c7a357cb757ef3c24f78bb26d9666c5605f4b2ee9d6aa4f() - { - $this->assertTrue(true); - fn() => ($test -= __NAMESPACE__); - } - function tested41724db63f682b904d170dd6a4f7e0a9f966da218f8431380372f01d1179ae() - { - $this->assertTrue(true); - fn() => ($test -= $test->{$test}); - } - function testf5d7493a0f2b6972963967dc2a523d1c975256970601de3651ffe20c82c27099() - { - $this->assertTrue(true); - fn() => ($test::${$test} %= $test); - } - function testf60eec7d6345fbe1975a9e62feeb588657712cef5a9eb6eb9d507c30022d5d13() - { - $this->assertTrue(true); - fn() => (-$test %= $test); - } - function testf74590b7afb0ee25ec115271a380a36a4cfc3851e9a66a0466d5531cfa971f60() - { - $this->assertTrue(true); - fn() => ($test -= $test !== $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest.php b/testsGenerated/Target/Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest.php deleted file mode 100644 index ada5c7a6b..000000000 --- a/testsGenerated/Target/Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest extends TestCase -{ - function test0470a1011bd6f29d631880734ce2b124ab9a0df3c2c9927a3a6e0b96b03bd77a() - { - $this->assertTrue(true); - fn() => ($test and $test ? $test : $test); - } - function test04d7ded854039e7848cc621e30c7974fb8fa29eade04161b1c517931a759dc35() - { - $this->assertTrue(true); - fn() => ($test and yield from $test); - } - function test099b18815a2fcfab5a53b1d9652088c4e275b1c0f8aa793b18651391660a8837() - { - $this->assertTrue(true); - fn() => ($test == $test and $test); - } - function test0bd1a664bdd0e1bf98ec4c30d26bfe2646d52811474d01ab027bf44afe702c31() - { - $this->assertTrue(true); - fn() => ($test - $test and $test); - } - function test0f63333de3c887980b5f8d713e3ab19095b20b1815a8e38a3b506032f2100710() - { - $this->assertTrue(true); - fn() => ($test and $test::$test()); - } - function test1392079c7c79face3aaadde54c1e5eb9afaa1a733ead7e5b1e280157c8d2249b() - { - $this->assertTrue(true); - fn() => ((int) $test and $test); - } - function test148879cc49d5aeae253e8ad9edf3bddea4b0298c299c7505c3d14a0d52a439b1() - { - $this->assertTrue(true); - fn() => (__FILE__ and $test); - } - function test1559d65dc1757a046ff195b98923275a7a2125e7cd28b3ff5adaa27a978ffcbf() - { - $this->assertTrue(true); - fn() => ($test and ++$test); - } - function test1978d75e3be42a9d6a836069249972ea525a7c7ae69fc1aef6bb5e1ad419b7c2() - { - $this->assertTrue(true); - fn() => ($test !== $test and $test); - } - function test1c63e9853fee67e486e177f8e563981f5bf290c9c63d79448444417308971e91() - { - $this->assertTrue(true); - fn() => ($test and $test[$test]); - } - function test1c9d37750fed1d5360dbdb1ea19f75968431b1b604e9dd26c25ab91a99d8e2f3() - { - $this->assertTrue(true); - fn() => ($test and $test && $test); - } - function test1ca7ffa8e69183cfa7928454e859398172213f41e538daa24321addbe8cb7cfe() - { - $this->assertTrue(true); - fn() => ($test and (yield $test => $test)); - } - function test1d6fce8ee84567fdb80944b5ad3470040f0161851b4d5c05e0299bb7e960e274() - { - $this->assertTrue(true); - fn() => ($test and $test ^= $test); - } - function test20637dbd1c2d356c1f1d88f4f6544ede22134d394b273236c5105eced239b77f() - { - $this->assertTrue(true); - fn() => ($test and $test *= $test); - } - function test261c5aad1c7845fd90baeb278f4c1d3a0a7658741fd054cdbbe77db8cbee38fa() - { - $this->assertTrue(true); - fn() => ($test >= $test and $test); - } - function test27589af8246f587c5180d933bc7f0a5dc3015d3813b90e431b77d29380729a24() - { - $this->assertTrue(true); - fn() => ($test and ~$test); - } - function test298a7c873af82e08b3739deb2da99e14f06bc9cd921e1fbee167a2e9c4c85603() - { - $this->assertTrue(true); - fn() => ($test and $test ^ $test); - } - function test2c0d008243d5eb0bb4b9c16ca120a0db46917afd67617de0d5f0bbb6b082f09e() - { - $this->assertTrue(true); - fn() => (__LINE__ and $test); - } - function test2ca59af1478ecbcbdff5785c599c0b97d5471c11cc04a6ee4d438b7b3e9b2923() - { - $this->assertTrue(true); - fn() => ($test and $test ?? $test); - } - function test31ef702ee83b860a417a8c8da9be72d4e612b105a2dc025d3469acb1db08f388() - { - $this->assertTrue(true); - fn() => ($test % $test and $test); - } - function test32b42824d160c26936cda279ac6dbd8474394a7fd4e5da904b5ba500110841b0() - { - $this->assertTrue(true); - fn() => (__TRAIT__ and $test); - } - function test35bad05b38e2ceb67df17daea7f58ab980f711108dc22f6c01f0ad3cf0c0044e() - { - $this->assertTrue(true); - fn() => ($test and new $test()); - } - function test388f0b78b7922b341fcf034ac88340b214ceb99d9606703969d81f8ca55e90a8() - { - $this->assertTrue(true); - fn() => ($test and clone $test); - } - function test3cfb2c783fc6ab0ae662f93471eedecde1cec7b2981b09a53f702393642df81c() - { - $this->assertTrue(true); - fn() => ($test and $test::${$test}); - } - function test3dfa088376386a7d5fbc09ee2e61d342ad0643f5f002cb43e2e5e8911d3f32f9() - { - $this->assertTrue(true); - fn() => ($test and print $test); - } - function test3f4330181a00ca2a01457147faf5088562e1c8ddd9125148a44805faa6b4c0ba() - { - $this->assertTrue(true); - fn() => ($test and $test()); - } - function test3f5060185f2ed6025fb945e0a3ae89e744ea9039905a6497ed34e5223b52088a() - { - $this->assertTrue(true); - fn() => ($test and $test += $test); - } - function test3f78bac5d01cb9b7e4b1a1306d55ffc13d5a864fb2dd3fd8022906a2265398ea() - { - $this->assertTrue(true); - fn() => ($test >> $test and $test); - } - function test4266366316be80ba1c162bc10d81f2d02256f0b8eb7b432d1cea3bbb60406817() - { - $this->assertTrue(true); - fn() => ($test and $test::$test); - } - function test455c673656b866b23f13410e08ce37f0c6edbd71663f2b7359a29eb5d62fc298() - { - $this->assertTrue(true); - fn() => ($test . $test and $test); - } - function test4bc8647ade433482a6887e2a41b526e53b64b21e8460b90a2741fbce428fb956() - { - $this->assertTrue(true); - fn() => ($test and []); - } - function test4d4492cc633e3af54e3de0e8525bb983b408be2a755b57b9c0c7e072bffb6bbb() - { - $this->assertTrue(true); - fn() => ($test and $test **= $test); - } - function test4eb515378ddde0ad40d045ab7b677359d12cc271fd3c27267ba0c50c2d84c11d() - { - $this->assertTrue(true); - fn() => ($test and $test--); - } - function test4f555adfa2a0fafdc4e9376cb6cad88dc70ce578d3c20c4d6f6f5347c2c2c439() - { - $this->assertTrue(true); - fn() => ($test and $test -= $test); - } - function test51e99361ea80743e54e0454c3c7c12e47264795d4871a53576bfa306a164dd8f() - { - $this->assertTrue(true); - fn() => ($test and ``); - } - function test57db62102ae66e2c322bc975421e390f7645a87517102329379bb70f2c6ac1bb() - { - $this->assertTrue(true); - fn() => ($test and !$test); - } - function test597ccd3f93f36ffc38197885a2c8e768334f829fd56956e1b750f7fae04e5a50() - { - $this->assertTrue(true); - fn() => ($test and $test >>= $test); - } - function test5a23bf159b4b71b5a859f4ae9e15d2e64222b5cd5ea2ce44f0e8ff17bba43628() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ and $test); - } - function test5e62502aaa6a360c3bb7b9baf1e90c55e90781e246e1ced46f8d0a4e8b0cf88c() - { - $this->assertTrue(true); - fn() => ($test and ${$test}); - } - function test5f5a40425eba7b3f891e725b96acaaefeed42f51d6a06ced5a81fbd605c2f4af() - { - $this->assertTrue(true); - fn() => ($test and function () { - }); - } - function test67efea3c6f9f830e34ac73816b32d8c3f5f427dcb26bb8f96fe65aa9412ac38b() - { - $this->assertTrue(true); - fn() => ($test and $test & $test); - } - function test6956f55fca428ced4ad7b205ea5a299520905302b56c38bb9422d41bfbf4adf6() - { - $this->assertTrue(true); - fn() => ($test and $test | $test); - } - function test69ea80af7bbb2d7b083a873d3c330018151e35b2a6ad47c0c278da822bcc6f01() - { - $this->assertTrue(true); - fn() => ($test and isset($test)); - } - function test6c784040416488c1afd3b3c0e9ba168c6a7f3c3e39889511434cb624a0dd89ed() - { - $this->assertTrue(true); - fn() => ($test <=> $test and $test); - } - function test6cb80dba9e7d7d6477c1657f8e590578325f3403bfee786d3c223d6a19b9794c() - { - $this->assertTrue(true); - fn() => ($test and $test <<= $test); - } - function test75b14a402ac1d3f1b14e6eb9e6003bf04bc7968aa9173f7ccf36a11262754103() - { - $this->assertTrue(true); - fn() => ($test ** $test and $test); - } - function test7674e3dbfa629c9ede2334c5056bf3dcf9f4a151cbe7d7b56d551ceb2b24b47f() - { - $this->assertTrue(true); - fn() => (__CLASS__ and $test); - } - function test82fbe918a10dde40c24a229167751e946a36733a1d68ef9b150fec9367e1873d() - { - $this->assertTrue(true); - fn() => ($test and throw $test); - } - function test842892d687144a933f84db956881fb010771d9d18c4d469365d2e4e309778ea0() - { - $this->assertTrue(true); - fn() => ($test and $test &= $test); - } - function test85a733e30cd9a2f5c2f50977f39248479d1fda5165dd30f53fef1675e870c49a() - { - $this->assertTrue(true); - fn() => ($test and $test?->{$test}()); - } - function test861a485f805fc3977f1235ff606aab848ab48ee1afb41af09bb9980aa370171a() - { - $this->assertTrue(true); - fn() => ($test and $test |= $test); - } - function test8d8cd2d06154fef5ccf72044faf814b905bf951b981a23ae3a054b5022779d65() - { - $this->assertTrue(true); - fn() => ($test and $test); - } - function test8e0363daae33e29f4de97fec8e2cf268c1b3f620520d361f95d1b23ea924a158() - { - $this->assertTrue(true); - fn() => (0.0 and $test); - } - function test8f7b910101f2f1479cc158215baed91cb5f26c0c62fcfe74a93f6cf45686e9eb() - { - $this->assertTrue(true); - fn() => ((bool) $test and $test); - } - function test96ce86e93df6c37f5379fdca094bcc5eb69d3ecc51e5fbcc66ea2ed2dfa0764f() - { - $this->assertTrue(true); - fn() => ($test and $test . $test); - } - function test97855079f7614f1b7e7e3861aca583c8b83793172c84004c60d9eb0630906881() - { - $this->assertTrue(true); - fn() => ((array) $test and $test); - } - function test98553b454c438acb4e6685395fd875520484f9af19b42680522e3e1bed9232bc() - { - $this->assertTrue(true); - fn() => (($test xor $test) and $test); - } - function testa5b86b46fb8ce5d2b650f8723435b39d8fc5b851e6a96cd1599e9e6800834350() - { - $this->assertTrue(true); - fn() => ((object) $test and $test); - } - function testa7e93da67d3e5e11a6690f59abf62140856364b6ba71c3c48fdacc5e27f76ae9() - { - $this->assertTrue(true); - fn() => ($test <= $test and $test); - } - function testa8207f14bb175260905a6b82927c686cbeb7e76111fc0d0a08eb7ea14ab79fbe() - { - $this->assertTrue(true); - fn() => ($test and eval($test)); - } - function testab04627657daf761a788839a037853f37126c3428f9b587dfa6ebaced9e35da0() - { - $this->assertTrue(true); - fn() => ($test and $test /= $test); - } - function testb05bc90e91ee5fcc4ac90874632b1809292ba81057c87830a0a2e61430560b9c() - { - $this->assertTrue(true); - fn() => ($test and $test .= $test); - } - function testb187298788b40c1890d28552ae8d3467d7cfd4c8f7f9153dd2502598bd72b47d() - { - $this->assertTrue(true); - fn() => ($test and --$test); - } - function testb4eb33b533511069ab82848393aa57369a60ffadb4fb0229db16ae19c3534cc3() - { - $this->assertTrue(true); - fn() => ((double) $test and $test); - } - function testbabf154d19fe490b929c9b642de3a0c189494f1233e0ce1bf6199da5bffa9463() - { - $this->assertTrue(true); - fn() => ((string) $test and $test); - } - function testbbdd69e5e443bf7c980d4fdbb00e50603e7592c28a717a42327305f2f2df1c16() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ and $test); - } - function testbd6fa749f95157abc73efa85003854987e8c74af9abf5c2b0b74b1292efa3d5d() - { - $this->assertTrue(true); - fn() => ($test and -$test); - } - function testbe3a5ece86729a1354e4dd2dccd50352b3f8fe506073e4cde5e174a6d6cff2a7() - { - $this->assertTrue(true); - fn() => ($test * $test and $test); - } - function testbe8fbca59fdaa7cab4601bd10e516c45f620116a391dedb3ef28f5f84498dc45() - { - $this->assertTrue(true); - fn() => ($test ?? $test and $test); - } - function testc22f2e62b28f89c85bfcf450b6db1152abd02497e66eabf5d72a129e9d1c3f71() - { - $this->assertTrue(true); - fn() => ($test and self); - } - function testc2324e5786959576a16baa05e24296f2ead26af5c0c3e0e47344ee44686120da() - { - $this->assertTrue(true); - fn() => ($test and $test instanceof $test); - } - function testc3b2091f45ba3decc991ce57cd2cedf29a0335134903d3e7cbf9a4386fa36d6b() - { - $this->assertTrue(true); - fn() => ($test + $test and $test); - } - function testc3e83bd75ab29a3b10ce142ffbb5427ca1fc1f9db2d358ab698be6c31d0edd5e() - { - $this->assertTrue(true); - fn() => (__METHOD__ and $test); - } - function testc7f64fad44f9a168db2298113723e04f10a6ff0db731da6ea591244f32f84ac0() - { - $this->assertTrue(true); - fn() => ($test and $test->{$test}); - } - function testc9fce61e213edb02b1866bef80bc3891fbf886ca0ebe64aa8c67250694eb1d4d() - { - $this->assertTrue(true); - fn() => ($test and +$test); - } - function testcbc8e2baa6795ba09f3a10cf11df8dedf69ad3d02f3e52bf36cf3287c372f6d8() - { - $this->assertTrue(true); - fn() => ($test and $test =& $test); - } - function testcc3744e655d10baf42a72481d3128d6c17344ef8e48a81a08401825cd111a147() - { - $this->assertTrue(true); - fn() => ($test and @$test); - } - function testceaf5296cc6ebe2219a473c4ec289ec6b9925dc2527a5b5585e4c283cc98226e() - { - $this->assertTrue(true); - fn() => ($test and $test and $test); - } - function testd02502c982b1e36106b65a68435ee351d5ae291e65740455d7756fb90d496a51() - { - $this->assertTrue(true); - fn() => ($test and empty($test)); - } - function testd062c81938b2e4cc1e5d0b2889223977373625cbaccf9ba1c1f8f09b2ba3dfe1() - { - $this->assertTrue(true); - fn() => ($test < $test and $test); - } - function testd11aaa6854b02a75363e3ff9a055b90339685312e1ea9de82fae15c9458bacba() - { - $this->assertTrue(true); - fn() => (__DIR__ and $test); - } - function testd1e37316131ee7982020f876e988a0a131dfd303a2a3b834b8feba83d4ee9d0b() - { - $this->assertTrue(true); - fn() => ($test and $test->{$test}()); - } - function testd23b72de2462b650933c51a7a0a28e84b325ed99f7bfb1fd86bce8af455b550e() - { - $this->assertTrue(true); - fn() => ($test and $test || $test); - } - function testd24941955f7d8427a694f777efda5e8af18ad8c724d5df9fdb779ec2e80a97df() - { - $this->assertTrue(true); - fn() => (($test or $test) and $test); - } - function testd40efdc5af1cec50c427f09129f83a4c7e8cb23933fbd764a5f3e2bdbc0d0694() - { - $this->assertTrue(true); - fn() => (0 and $test); - } - function testd4490521dba9c437d5960f5ac54f602d1fde736b6e946d98464d5d714ff16c15() - { - $this->assertTrue(true); - fn() => ($test > $test and $test); - } - function testd94651ae0e4cc62e0a6432157ed220d897c1e47b14c00bcdf9ddf85ec2809c32() - { - $this->assertTrue(true); - fn() => ($test and match ($test) { - }); - } - function testdcc0637f8d021636281d8473ffab7e29088cdf48462af7dfc524f0a227df26f2() - { - $this->assertTrue(true); - fn() => ($test and ( $test)); - } - function teste099be54e476beceea4e529e0babca4d5a5951b6c81f03b3e3a95afa2da639f2() - { - $this->assertTrue(true); - fn() => ('test' and $test); - } - function teste5dc9a01c9b562772ed75615802695de4c426550b1cbd6d2cadf3ef06fa17edf() - { - $this->assertTrue(true); - fn() => ($test and $test?->{$test}); - } - function teste69c15eb8fcc96dd2177b952d142cd059828890d16239be234d165e5d8f4b6f7() - { - $this->assertTrue(true); - fn() => ($test and $test = $test); - } - function teste6a6d5b1fad33edbcce621936b2b4dfaf9e8dea54b8bd90d527d6a41c280bcc5() - { - $this->assertTrue(true); - fn() => ($test === $test and $test); - } - function teste7148823296d0e454465d1366d55182e0bbe774586670e647b2ae0cdd48c20ed() - { - $this->assertTrue(true); - fn() => ("{$test}" and $test); - } - function testeded189490ab5afc775760faad91e4308ef7ae7eacca4b3bc7d455fc4cb3dc08() - { - $this->assertTrue(true); - fn() => ($test / $test and $test); - } - function testf46ef917f7c92abd093db91ae321f02aa7ee87a52bc798d0110dfa3072f7d564() - { - $this->assertTrue(true); - fn() => ($test || $test and $test); - } - function testf793523a75981dbf693869bac88c8c3cb247500fb1b67b1ec0b3562054a47800() - { - $this->assertTrue(true); - fn() => ($test and $test ??= $test); - } - function testf87b90c8b29c9f2fb695f2936d1ef2f2d99cd8c2b893304dad134de36be788a8() - { - $this->assertTrue(true); - fn() => ($test != $test and $test); - } - function testfb9bf04c85207cfba98313d10840a1a326c6913aa102ae3225c30cbb6bb06393() - { - $this->assertTrue(true); - fn() => ($test and $test++); - } - function testfd641bad59af2d2cd729d54a8fa123df0807dee9f097c153a521032f5f49da58() - { - $this->assertTrue(true); - fn() => ($test << $test and $test); - } - function testfec36b73fc09c38577b400dc6c0679c82bc8bd025d7180b0d4da64a97e8d17e0() - { - $this->assertTrue(true); - fn() => ($test and $test %= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test.php b/testsGenerated/Target/Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test.php deleted file mode 100644 index f91161239..000000000 --- a/testsGenerated/Target/Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test.php +++ /dev/null @@ -1,579 +0,0 @@ - - * @license MIT - */ -class Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test extends TestCase -{ - function test04cac53d8e2730d6ee27b7548d072522d7c8999e3251e5ebd7e652dbb6b63fd2() - { - $this->assertTrue(true); - fn() => (match (__DIR__) { - }); - } - function test052d3c524a20ecad32cbd7e32f69ef2e243a4e9e845310d299c07e693dba86c1() - { - $this->assertTrue(true); - fn() => (match ($test xor $test) { - }); - } - function test07ece7f485c22074767bcd136c129c917b73ac41270be1c6f987541ea2a3aebb() - { - $this->assertTrue(true); - fn() => (match ($test <<= $test) { - }); - } - function test0bb42b2b27bf101e7adfd0f3ec31757d1c377330a8c62a972b0c8ef7378a4189() - { - $this->assertTrue(true); - fn() => (throw $test)->{$test}(); - } - function test0f508a8962ccf03ff3fcc4f54611180f8d0a40e48f541b17bd7074a2d5e30ae4() - { - $this->assertTrue(true); - fn() => (print $test)->{$test}(); - } - function test13104a6bb31c7068406c7d7fe62f89a0a3c41346a5da5274503cdb6336218768() - { - $this->assertTrue(true); - fn() => (match ($test and $test) { - }); - } - function test14ffe1da8ac3baac390c361f34fd418ad6f0c72bf771dc005c83783d669b4c46() - { - $this->assertTrue(true); - fn() => (match ($test ? $test : $test) { - }); - } - function test154e52a7708ca0d7ecebee87e38b722c9c82f0abb58a87797a6f0728831f5d49() - { - $this->assertTrue(true); - fn() => (match ($test * $test) { - }); - } - function test19ea0d4681b284bbd56ed72037b02e9d57efc4e54da0b8011159f06964faa624() - { - $this->assertTrue(true); - fn() => (match ($test /= $test) { - }); - } - function test1b3b690e3ae9357162673ece50cce815cf3941e8680e1d6dbeb40ea9bb990c11() - { - $this->assertTrue(true); - fn() => (match (__CLASS__) { - }); - } - function test1b74499314200facd5110d3b44818754b79e88c684a7e7b88698993c0345f1ca() - { - $this->assertTrue(true); - fn() => (match ($test + $test) { - }); - } - function test1e2962a6f7eca332d903b6e5403f80c55e94b3576d225d0ab197c320cad75087() - { - $this->assertTrue(true); - fn() => (match ("{$test}") { - }); - } - function test26514b85dc3c99f36363d0ffaff5d89c48a0286ab254e1b92c7f67f47c33db86() - { - $this->assertTrue(true); - fn() => (match ($test &= $test) { - }); - } - function test2a38a44e1eee21da6b49cdb1f92e459e6b2ee230275b06ae8379388ac3755489() - { - $this->assertTrue(true); - fn() => []->{$test}(); - } - function test2f8d8a893733d5a9daff67acddb1fa5a7e3738c833d5c9f430e50c4da53f4a10() - { - $this->assertTrue(true); - fn() => (match ($test > $test) { - }); - } - function test2ff923806ca861b4a617d8615e7674090c52eca812d579c5ab1bbeb1041c02ea() - { - $this->assertTrue(true); - fn() => $test->{$test}()->{$test}(); - } - function test34b8bec142a45efc08b9236f7a5bfb3cf76180042b672830afdeec8096ce8e77() - { - $this->assertTrue(true); - fn() => (match (__NAMESPACE__) { - }); - } - function test355e2f135a689b29d3c6dac7fe8ededcd74c315f961418a955b4ea099481d7b3() - { - $this->assertTrue(true); - fn() => (match ($test) { - })->{$test}(); - } - function test35f0ffd4ada8ab470aa2f5c331b997292e4fd53f611aa5a11ecb1e9b91cef005() - { - $this->assertTrue(true); - fn() => (!$test)->{$test}(); - } - function test35fe1ffbd68a6bd1e450100f1b31366b5705ca136904fdf1446da2a1f5941c3e() - { - $this->assertTrue(true); - fn() => (match ($test .= $test) { - }); - } - function test36e049f93ba5f9013376eac7472e41f45690d98c114de3239caf964166fbb713() - { - $this->assertTrue(true); - fn() => ($test instanceof $test)->{$test}(); - } - function test3753a48b079468754e4ffa8ffec51aa41c8ef65020486bf85027f386090c777e() - { - $this->assertTrue(true); - fn() => ($test++)->{$test}(); - } - function test40b9bc0d3d9807ba7816bffdb28a184f7a4d0bb205bdc7d4a2a05f24510d0651() - { - $this->assertTrue(true); - fn() => (match ($test ^= $test) { - }); - } - function test42bf153f8cd5c822d140e41dadd8935300ac08fcf118785c0b2f36c587221f47() - { - $this->assertTrue(true); - fn() => (~$test)->{$test}(); - } - function test446f3c1cdfdb90112b0b53dac4ca6ebc900f220b2acb10d8a9510070499e712a() - { - $this->assertTrue(true); - fn() => (match ($test >= $test) { - }); - } - function test458c09899f8fb7ea63cb5f75e650153c4bb042573e2d1e0d1be7c5959a63a7e9() - { - $this->assertTrue(true); - fn() => (match ((yield $test => $test)) { - }); - } - function test4a1ada0e231c2bf6863b6e0ab65640076801336359365632f9f62ee4da326170() - { - $this->assertTrue(true); - fn() => (match ((double) $test) { - }); - } - function test4a72bd2ce111ba3000f56b52a86082f6c1d4b84bbc16ae04dff464cc0786f595() - { - $this->assertTrue(true); - fn() => (match ('test') { - }); - } - function test4b19fbf29ea04d2f68bd50369ec8a8883ae20c3d232cdaf2a31fca1eca6fc499() - { - $this->assertTrue(true); - fn() => (new $test())->{$test}(); - } - function test4ca17441bbd00f7ffaf23e0e223e0a236a8894680aca497f018f6ce99b487f66() - { - $this->assertTrue(true); - fn() => (match ($test += $test) { - }); - } - function test4d885470d8e1549c8cfbbf05ca658ec340974b49da87cb021bac5ef730b8e3d6() - { - $this->assertTrue(true); - fn() => (match ($test >> $test) { - }); - } - function test506d7a3e6ac811678b51600f8365080c27eedde48ad85c16a48d1de649ce5de4() - { - $this->assertTrue(true); - fn() => (match ($test <=> $test) { - }); - } - function test51fedb00919c0ca468217ab87aa9c65fd8eb9d26eac3288864cdb308c6c3c3a7() - { - $this->assertTrue(true); - fn() => (match ((string) $test) { - }); - } - function test52d9e2bc54fecc36e4701e02b0aac870914ed15b18ae219fc3a1fb425618f32c() - { - $this->assertTrue(true); - fn() => (match ($test . $test) { - }); - } - function test56b864fbbd6935b3d31a06217a23a319f53a2df6867a39d311ed24d5d6efe200() - { - $this->assertTrue(true); - fn() => (match (__TRAIT__) { - }); - } - function test56e1c836c2bc02f237c97067fc897f441d21f3d8df201fdc713b2bc0dfdb97a3() - { - $this->assertTrue(true); - fn() => (match ((array) $test) { - }); - } - function test57af623a6f5d62109547746728023bd9aa3bcd56df319b5ef83dd2c5c85a5cb8() - { - $this->assertTrue(true); - fn() => (match ($test |= $test) { - }); - } - function test58784664ab345da4768bd765b1e38a100c0730617aed5e83c517f7fee32c9df7() - { - $this->assertTrue(true); - fn() => (match (0.0) { - }); - } - function test59b77e325ee4a9efc4a55e20cc7e46523e63d5d1d5d1ffb2da073bd624ef6fe3() - { - $this->assertTrue(true); - fn() => (match ($test ?? $test) { - }); - } - function test5aa6d217c296cf72c2d0acc111f09943efb3b0575eeb45f102c3366eff5ad23f() - { - $this->assertTrue(true); - fn() => $test[$test]->{$test}(); - } - function test5fd59ed722c82bc7b15691f16e818d4c5911cdfb2d70832bb5be155334182308() - { - $this->assertTrue(true); - fn() => (match ($test ??= $test) { - }); - } - function test5fdeb7ce2408ed674f06194c9b4693cb5f86ac5f9bec44f02b0010925f70cc47() - { - $this->assertTrue(true); - fn() => (match ($test -= $test) { - }); - } - function test60d0887fa500264625e776ca233a2b86f95777f9145f9ab969ff96df8a5a4ef8() - { - $this->assertTrue(true); - fn() => (match ($test %= $test) { - }); - } - function test63a14d41a9df38fd39334c397772b9f278b2f1dade2a1f2a8613ee6a26dd21f0() - { - $this->assertTrue(true); - fn() => (match ($test ^ $test) { - }); - } - function test642c64e896b2af31d688f0eb948d04b47aed4ba425920ffd28af47e9a572746d() - { - $this->assertTrue(true); - fn() => ($test--)->{$test}(); - } - function test6568e5142badfc8c3b86b04dd51e8deb93385b880c0efad4672b2d23f136c753() - { - $this->assertTrue(true); - fn() => (match ((int) $test) { - }); - } - function test66eeb0fc8ab4cc4dca190f4c7e5e3a41e8b5bb3d19b7c6acdd3ca2322e000bed() - { - $this->assertTrue(true); - fn() => (match ($test - $test) { - }); - } - function test699cdd1f16ce22fb39a0b667afdc07b05044819d7785ba6510958a6098ddd5e2() - { - $this->assertTrue(true); - fn() => (match ($test != $test) { - }); - } - function test6a935cc15f30a3bfacc5f76eeb46192989d4bd74824fa51e0dcb1078ba68ed69() - { - $this->assertTrue(true); - fn() => (match (__METHOD__) { - }); - } - function test6bbea20af3c20a3430c5d803bc6c13ba00e71b7042092ae8cce85c66674f0425() - { - $this->assertTrue(true); - fn() => (match ($test or $test) { - }); - } - function test723a8562ca4c3d1161a4a9dc6f343477090ad3af84296ade995b38c02b35c5e4() - { - $this->assertTrue(true); - fn() => (match ($test === $test) { - }); - } - function test7455512898ea00514a3a7bdaef665c13998f8b0c334606a350e8cc8a14b56303() - { - $this->assertTrue(true); - fn() => (match ($test / $test) { - }); - } - function test7c81a596b0088f837419ec79ed44e4e4163745a4f3bc497f9ed2f2af81bbb1b1() - { - $this->assertTrue(true); - fn() => ($test)->{$test}(); - } - function test7ce3ad107caa06098d6b5aed3d709eb01fa1b5b490258d8bbc2fe99bf270f92e() - { - $this->assertTrue(true); - fn() => $test->{$test}->{$test}(); - } - function test7eadecb12b2d552b9bfa5a6cd25a17bd1de582014526a6db7ab6139faa55303d() - { - $this->assertTrue(true); - fn() => (match (${$test}) { - }); - } - function test7f7587e6ca6707ec4ee16b5590d246813ec4336e82c00401c30795daa3f39b7e() - { - $this->assertTrue(true); - fn() => (match (yield from $test) { - }); - } - function test82fe032fe333ce0f65cc181c5abd03016bd55edd1060e370898bfef37ec8fb31() - { - $this->assertTrue(true); - fn() => $test::${$test}->{$test}(); - } - function test83304045256f51f65b3364c15a9fcc696c06cd6b641e899a68cd1b5c7e18e231() - { - $this->assertTrue(true); - fn() => (match (0) { - }); - } - function test843eac97bff545908d5a98f2686847a26ed9bde11bd61fe1d004fe766187d2ba() - { - $this->assertTrue(true); - fn() => (eval($test))->{$test}(); - } - function test864c49f156d36fc612c9d1939ec93a92c897d50e07dfce8c2a7dc160c68b31e4() - { - $this->assertTrue(true); - fn() => (clone $test)->{$test}(); - } - function test87053c71d43de93feea4f4748bb4c38709717e51c3fc49d97f78cb4549d2c4cf() - { - $this->assertTrue(true); - fn() => (match ($test % $test) { - }); - } - function test8ec05d973f516424a86ba678ed165a68d75d19d08c15c1a981b880af3bcb0244() - { - $this->assertTrue(true); - fn() => $test()->{$test}(); - } - function test9b14169ce601627ae789efd218fb59b5b38095a457894009e909b57d9544601c() - { - $this->assertTrue(true); - fn() => (match ($test << $test) { - }); - } - function test9b96b30a91dcf7b6b3b0cc60b8dcdf826dda44ed1bd344a784f93a0d844ab2f4() - { - $this->assertTrue(true); - fn() => (match ($test **= $test) { - }); - } - function testa64f1d416979cc4077c64e856c0578ab5e92357b9fec7a1f04e4794414b18b79() - { - $this->assertTrue(true); - fn() => (@$test)->{$test}(); - } - function testa6609cb714163db9df70c0d8b24fae53cb46f223ef92ef785d5f85322f8f9c24() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test)->{$test}(); - } - function testa76b3185879abce0e8089f470fc210ec1af31a8acce6935cd75224e7199fbb1c() - { - $this->assertTrue(true); - fn() => (match ($test == $test) { - }); - } - function testa873d79c15fd1593fc5085aaf0f6ab49ec993b1d3bab8a22db624cecfbc0ee17() - { - $this->assertTrue(true); - fn() => (match ($test && $test) { - }); - } - function testb617ccf5bb312ab6f84eb2dff79b878c6d9340aff05245bc7c8c07f6bc83a722() - { - $this->assertTrue(true); - fn() => (-$test)->{$test}(); - } - function testb6528053cafd7f268ff61a9d0b5c9a3d2bd35c478bb0e0691e23140f422cff25() - { - $this->assertTrue(true); - fn() => $test?->{$test}->{$test}(); - } - function testb6ead69c15b6eb54dc8d0daf9f510d73ed7511c7a226c711f551474410d2cbd5() - { - $this->assertTrue(true); - fn() => (match ($test !== $test) { - }); - } - function testc29627f27d020a6afcdeac5bd80530e5506bcb87b61803a894781e055100170e() - { - $this->assertTrue(true); - fn() => self->{$test}(); - } - function testc31ad8eb4667e087e55d047d53a88c9228e26415d8c541f9570472e54ee5d66c() - { - $this->assertTrue(true); - fn() => (``)->{$test}(); - } - function testc4681b11aa9d4dba7635a55e8aad1fc100fb73d2761943a2e691e61d59082eed() - { - $this->assertTrue(true); - fn() => (match ($test ** $test) { - }); - } - function testc4704aa80fabb0107961441e0b3b8d7bc5dadd8966deaacf9def265b3615cb20() - { - $this->assertTrue(true); - fn() => (match (__FUNCTION__) { - }); - } - function testc58fcf91d4409d5b4d20f6ced202c4586991af2f79459ef883ce76307720009d() - { - $this->assertTrue(true); - fn() => (match ($test >>= $test) { - }); - } - function testc592310d6b6d01010982efb31b1c9f29da25a73c269296044b219ca2cd6874ee() - { - $this->assertTrue(true); - fn() => (match ((bool) $test) { - }); - } - function testc7bbbc2d989a8a45f2cf5c6130720bf9b60a9c8ef503372a646baabb7967ee52() - { - $this->assertTrue(true); - fn() => $test?->{$test}()->{$test}(); - } - function testc82eff9b255514ce8d0e856670c9b3142f1b5dbfcd7ed11152c29798aae7e89b() - { - $this->assertTrue(true); - fn() => (++$test)->{$test}(); - } - function testc99ece93a451ba9e7388a2ff32ae9b9408c0d457d57bfc0c53bf5c7b40988ade() - { - $this->assertTrue(true); - fn() => ( $test)->{$test}(); - } - function testcc20fd5f9ddac9c852982b0a01f2b0631dde56fca5cd99bd1eaf0835c5eb4f8d() - { - $this->assertTrue(true); - fn() => (match (+$test) { - }); - } - function testcd34585263d627efdca653e11887a053daffbf8d3149c4ab63f5595227c7c434() - { - $this->assertTrue(true); - fn() => (empty($test))->{$test}(); - } - function testd2bd4581828d4e41951cd06b02cf10f8239a67e56e352a5cb557cb3b4c9384a9() - { - $this->assertTrue(true); - fn() => (match (__LINE__) { - }); - } - function testd32d295df601df437b3b3a87aa6c5df16b07b972a0aafa55d24396e74942d48b() - { - $this->assertTrue(true); - fn() => (--$test)->{$test}(); - } - function testd3b7d86070fcff892cb0122d82a467debeda8566ec8633d1b0a4b69462e82a42() - { - $this->assertTrue(true); - fn() => (function () { - })->{$test}(); - } - function testd429523a736452d744eec6ca5c1500574dac89fbce83f4941268429be5bba6c3() - { - $this->assertTrue(true); - fn() => (match ($test < $test) { - }); - } - function testd656175a1ac03f3149e837fbc87166330f05d91569bbf0bc945f31aa4cffb386() - { - $this->assertTrue(true); - fn() => (isset($test))->{$test}(); - } - function testd9f6c972f03811546942129468457f83daa21fca9d2b2dcf52f1d29936b6bfb7() - { - $this->assertTrue(true); - fn() => (match (__FILE__) { - }); - } - function testda3f0e328fad59c9ac74234b6bb081fa5b824aaca644577cddfa30d3ceb4fb98() - { - $this->assertTrue(true); - fn() => ($test =& $test)->{$test}(); - } - function testda425027ddc11e9617fb55ebc83d1b1eff7987f4a23ba5eb360be6b45aa09136() - { - $this->assertTrue(true); - fn() => $test::$test->{$test}(); - } - function testdc526b23bd2c1b7641eff3d25b1d40df277f169a8a8dca4092a9bda8706286f8() - { - $this->assertTrue(true); - fn() => (match ((object) $test) { - }); - } - function testde57facfbc08381fc24806608533aac17dbcd577eaaa86c44a76f37fde423dd5() - { - $this->assertTrue(true); - fn() => $test::$test()->{$test}(); - } - function teste06f9bfcf9dffc2a4ea4c678f471b900a08b55f92690e18997275b66390edd87() - { - $this->assertTrue(true); - fn() => (match ($test & $test) { - }); - } - function teste353a6d8d359a0149ecbabdab5e1a03e6a0df1730a602796bb557232171a25f1() - { - $this->assertTrue(true); - fn() => (match (throw $test) { - }); - } - function testf7d85e6cf6c91fc8c48dc3cf5be36c7ad286bd731b06a11a66c78d78d922dc8e() - { - $this->assertTrue(true); - fn() => (match ($test || $test) { - }); - } - function testf885bbf2c7f16da1419d92314811b5074af1f183d537b586c3c7fbd45d20a643() - { - $this->assertTrue(true); - fn() => (match ($test <= $test) { - }); - } - function testf9c2f2467a381e7c39502030f821b47abb51042e66679ca916f527a769d9405b() - { - $this->assertTrue(true); - fn() => (match ($test *= $test) { - }); - } - function testfb46954b828d1c2e2efc3be39c5a2b3cc1f479b9e1cca1f5d2441715b619d792() - { - $this->assertTrue(true); - fn() => (match ($test | $test) { - }); - } - function testfbdac43c613a58a8d0bc15aafcf8a276c95af4fe430ee3f74cc474ccb6b38e6c() - { - $this->assertTrue(true); - fn() => (match (-$test) { - }); - } - function testfe45837269cf2a1f8c83b023b09d09b7bc746e85ee073ca08c293d2c5e2dc2f6() - { - $this->assertTrue(true); - fn() => ($test = $test)->{$test}(); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest.php b/testsGenerated/Target/Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest.php deleted file mode 100644 index c4b29ea92..000000000 --- a/testsGenerated/Target/Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest.php +++ /dev/null @@ -1,515 +0,0 @@ - - * @license MIT - */ -class Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest extends TestCase -{ - function test02e0163ec752a3c6bb4e12a2f230692271815e98275dc0080045d9f9b9d7f054() - { - $this->assertTrue(true); - fn() => ($test + ${$test}); - } - function test07972e8e642506a9df6d89d01a43a056fc1c820b41ae9c17f09e930ea18c1b88() - { - $this->assertTrue(true); - fn() => ($test + ($test += $test)); - } - function test07aa3ad1c90eacba1ddd45d8b5fa84ffda309889941e83e21bd3f93fdfe15c9a() - { - $this->assertTrue(true); - fn() => ($test + ($test != $test)); - } - function test07d1bea240c8ae01a01fa11755f50ec671f6cfaf0d46d9a46e7afc3dd9bf757a() - { - $this->assertTrue(true); - fn() => ($test + (yield $test => $test)); - } - function test0af2f62a221ae119b56c74aeb91c9c4192cd2bf5d795bca61910f53c21fb1327() - { - $this->assertTrue(true); - fn() => ($test[$test] ** $test); - } - function test17f1ec1fbb7b0bd6536f12cd0aaaeec846b967628d4a325a773d892d6c68aac7() - { - $this->assertTrue(true); - fn() => ($test + ($test or $test)); - } - function test1a630d876341e5ff454d580790c7e8777a313947e63fe27c10eea77421ea3c7d() - { - $this->assertTrue(true); - fn() => ($test + $test * $test); - } - function test1bd4bac45298dbe0ffa6778e3dc9c8c1747bdbac67d1168242d76052e4a5e089() - { - $this->assertTrue(true); - fn() => ($test + --$test); - } - function test1e27b87e1bf361e9b3c13f460b889c7c90bc62f9fa76986b0fa62af65cdcc46a() - { - $this->assertTrue(true); - fn() => ($test + ($test + $test)); - } - function test225d8075b6f9b6452cec8ceb817384e3fb14e2df583b4ff2d85f1d9166a2883a() - { - $this->assertTrue(true); - fn() => ($test + empty($test)); - } - function test23679f036342c53bb2f7377d3738a629aba9bbc24689ea0a4ff60a4c9691dccc() - { - $this->assertTrue(true); - fn() => ($test + 0); - } - function test240d69ab4f073cf200d30b89599dbf52b5e58ecb93ac7e96f1ed4934f9936ee4() - { - $this->assertTrue(true); - fn() => ($test + new $test()); - } - function test28cc81ec31576011bf7e39a27fc24791cc8a90bfd20c9331a3e769407da2be90() - { - $this->assertTrue(true); - fn() => ($test + __FUNCTION__); - } - function test2d95d5290d1f7489bcf2d85f886f132c211cebafe9e35a701443febb0c9a8a0f() - { - $this->assertTrue(true); - fn() => ($test + function () { - }); - } - function test30982d84f4977e0aca7298a7c809f9d3f04b3d2113b5bf473ead65ecac13d60b() - { - $this->assertTrue(true); - fn() => ($test + (bool) $test); - } - function test3594cba9d18128db11745b13d626d99fa96d7a608b953d0bf0673b08e16fda9d() - { - $this->assertTrue(true); - fn() => ($test + ($test ?? $test)); - } - function test3599d7d13c09025c6c15bf1f0aead917920eec592e7a86577cf210eda225c8dc() - { - $this->assertTrue(true); - fn() => ($test + ($test and $test)); - } - function test3752e8facfc09ef9788078e51397ec70bdcf8bda4bb038c014cc4ddaccdfc48c() - { - $this->assertTrue(true); - fn() => ($test + ($test <=> $test)); - } - function test3b3fab3c51e8ad77dde2415bb2f562a2e9778ac5bb7ab396ee6a8e85bf209588() - { - $this->assertTrue(true); - fn() => ($test + ($test **= $test)); - } - function test3db0a00940085a72ad99c2e30299d72f8e28e132ca304f63f3248f16f03bd74a() - { - $this->assertTrue(true); - fn() => ($test + ($test ^= $test)); - } - function test3fea1b779fb0d85f39b823dff64c63b392634f47e22e0ebde93d19dd41f609b0() - { - $this->assertTrue(true); - fn() => ($test + ($test < $test)); - } - function test43bb705cb938fc93743fe0d8476d83ad9ee09049e293edf3fef41a6aa8f11213() - { - $this->assertTrue(true); - fn() => ($test + __LINE__); - } - function test441c85e0403b1b332dc0e670d76d3c988bc4a9baf9569df1514bd2e90d9e2375() - { - $this->assertTrue(true); - fn() => ($test + (array) $test); - } - function test44cc1a609ecadca80f7ea49039fae7787ba3d2613e406d36556753cded8e6259() - { - $this->assertTrue(true); - fn() => ($test + __CLASS__); - } - function test4581ec5a4cf6187a5271a3d39ba0bd20abd17640f4953b58b792ae977006ee8f() - { - $this->assertTrue(true); - fn() => ($test + ($test >>= $test)); - } - function test47034ab1b81812fe7ad6ebd280420fcc868c676ffe0ecbcccc4cc6dee7314ed1() - { - $this->assertTrue(true); - fn() => ($test ** $test); - } - function test4706e273a278b5a221e3a3c2c6761653d90ba920cf2a7fb75b4f3879e52da021() - { - $this->assertTrue(true); - fn() => ($test + eval($test)); - } - function test4ac5a75ed5ebd124845bd73a587274ffea0dfe2676d8fb3fc26c6dbb031ae8c8() - { - $this->assertTrue(true); - fn() => ($test + ($test .= $test)); - } - function test4ca5f07aac1e1c35c710d55bbddab0418a200fd1c7775f826a2514574272cea5() - { - $this->assertTrue(true); - fn() => ($test + -$test); - } - function test4ca788ba223440bd2da3b10b4933e8342f468f3deef248a8c95b388dcca2ad43() - { - $this->assertTrue(true); - fn() => ($test + ($test == $test)); - } - function test4ccd6d568c92c2a0df9149c01c27b99236d54697239b77cb54d496953f94e61e() - { - $this->assertTrue(true); - fn() => ($test + @$test); - } - function test4f45d3ed0f8c789adf17201541b73f0220a56ceccc90ee0ba8fb7a4251a3d24b() - { - $this->assertTrue(true); - fn() => ($test + +$test); - } - function test57b8223379557a89ac5171746c252de84133e57e27f5205be11014b8c7b1a2fe() - { - $this->assertTrue(true); - fn() => ($test + (double) $test); - } - function test596618d94a3f3617c034d845a1dde1c011053cce1536fe4bb68bee0257297d28() - { - $this->assertTrue(true); - fn() => ($test + ++$test); - } - function test5e4b3afe0d47d880d75861af0123e3995926f640ff027c5ed6411e14d704d584() - { - $this->assertTrue(true); - fn() => ($test + ($test . $test)); - } - function test601e29e82bc0645a93518093dbfbea895d29a17d183a9e5b1bf752e0775b5fc3() - { - $this->assertTrue(true); - fn() => ($test + isset($test)); - } - function test624f845568d1f729163b44c00371c80cd5ae44ad25d3a173f70d9341fab39cd1() - { - $this->assertTrue(true); - fn() => ($test + $test--); - } - function test66a5fcfa09c331711c783200051a60fd3b010a058770611aba592928385ea445() - { - $this->assertTrue(true); - fn() => ($test + (yield from $test)); - } - function test6752e1389403ca1ef66ad2a59e462eb23aa6ae82582c917b69bd2bab9cad7e5c() - { - $this->assertTrue(true); - fn() => ($test + (int) $test); - } - function test68e0a3790f1629ccbda99c755bd55394b28edbb81134cda38e20380a7a56382c() - { - $this->assertTrue(true); - fn() => ($test + ($test !== $test)); - } - function test6d0a4d25f55860ee97de10e05e5230ba9f330824ae4a6c246566f8808e763a3c() - { - $this->assertTrue(true); - fn() => ($test + __METHOD__); - } - function test6fc5f593c73c05e8b1a20ea794dbd14b09b940cf951ebba896e4893f889a7da7() - { - $this->assertTrue(true); - fn() => ($test + __TRAIT__); - } - function test7023acf50ff7206ab82db6c083dc26b2f1dc6af886fd408cf4c88b7837b00e60() - { - $this->assertTrue(true); - fn() => ($test + $test ** $test); - } - function test74006fad20c70c794fb22fb16c1503c801f54c9e82f3a6d6959bead7d96b787e() - { - $this->assertTrue(true); - fn() => ($test + self); - } - function test746f30b968d3ce5ad6af26adebb35c775d34ba81e5b111014b73e19842e2a111() - { - $this->assertTrue(true); - fn() => ($test + __FILE__); - } - function test7a34c8695d43332e667314e8f85b93f7d6fa5b94dc87caa5c7b56ba327c0b14d() - { - $this->assertTrue(true); - fn() => ($test + ($test ? $test : $test)); - } - function test7a6dc96310cce3389f09568166bf015ef39aab16a55b5db5e397189dff0d7857() - { - $this->assertTrue(true); - fn() => ($test + match ($test) { - }); - } - function test7b37bea918bfd1eb38f35cc6467c90da8e07e9e47a9b8ba6e065c893f3ce45d0() - { - $this->assertTrue(true); - fn() => ($test + ($test /= $test)); - } - function test7e7ad18a49ea3542b05cd687bf8337f89128e55b6153a9b0138dd88f4f4dfa2f() - { - $this->assertTrue(true); - fn() => ($test + ( $test)); - } - function test811437c8940fe157c1016704bce9bc2f477f82b85fdbc92b5d7fa10f65afe28c() - { - $this->assertTrue(true); - fn() => ($test + $test?->{$test}); - } - function test86935c58f671fcc0029326f375695871ae9b8850b217143cd2c592d6c5847e1d() - { - $this->assertTrue(true); - fn() => ((!$test) ** $test); - } - function test89401806e571b2509571c42fce19452703c0342c63e253e517fdc316bcb228c1() - { - $this->assertTrue(true); - fn() => (clone $test ** $test); - } - function test8ca6fb4b3a818a6b9d6e32a074da9e6e405294d4436d6dfd89be8918caeb6446() - { - $this->assertTrue(true); - fn() => ((~$test) ** $test); - } - function test8e57e655e7150e1bc928c34e4e5b81d6fb56c2af789c88cea1d3eb98f4b89b8a() - { - $this->assertTrue(true); - fn() => (function () { - } ** $test); - } - function test8f3ba9ff7b350d00c1f57098a3c88e6815fcd5380deaf5fe5a4812942b876cdf() - { - $this->assertTrue(true); - fn() => ($test + (print $test)); - } - function test90f2c1592052920e1ee11b0f71770d12135d4fc726f11a576af42e790833e4a5() - { - $this->assertTrue(true); - fn() => ($test + $test / $test); - } - function test9558fd989fe52ffed8c69953e7bcfb085f797a6eec642b95eb6f81be3233c4ef() - { - $this->assertTrue(true); - fn() => ($test + $test?->{$test}()); - } - function test9bf4bba3dc4dc54476c54d73c6dae16481c4b9a45213dc4b6f39f3b8253db5a3() - { - $this->assertTrue(true); - fn() => (($test =& $test) ** $test); - } - function testa1622b276fd32734d2992b2a753400ac57f677da9bed16c36eee2c155101b7ec() - { - $this->assertTrue(true); - fn() => ($test + ($test *= $test)); - } - function testa31e662d60ba444a945774b04ff5b4da7dda507c98ff65dca09e4ef9b49e859b() - { - $this->assertTrue(true); - fn() => ($test + $test->{$test}); - } - function testa4b1b70a9859db6324c802c6f15ec32414c5b100c4283264be4ce86fd2c3c4ba() - { - $this->assertTrue(true); - fn() => ($test + $test::$test()); - } - function testa4f19906914eb8e9a530b4c15e1322ce70ea1aa81e01805f578b1ccdae84aedb() - { - $this->assertTrue(true); - fn() => ($test + ($test <<= $test)); - } - function testa549d45c8968bfe1f29dcf4502ba9e0736057c1fb52019124405adf578174aa7() - { - $this->assertTrue(true); - fn() => ($test + ($test -= $test)); - } - function testa6536c12a422b0dc8a3ac64b5bddd541597421514e489d6c20ceb403a4fba2aa() - { - $this->assertTrue(true); - fn() => ($test + (object) $test); - } - function testa6910795f6f0e0223fc99cbb2176fb036dcfbfcc8413383dab667c7619dffef2() - { - $this->assertTrue(true); - fn() => ($test + ($test ^ $test)); - } - function testad6b1efe831aa612507bfa0c1bd66b28f37aae419c033e21087d2192c9c1ae3b() - { - $this->assertTrue(true); - fn() => ($test + ($test xor $test)); - } - function testaf50ca3fec73d6d15ab6bfb756ef832e25c924fec22a99c4dbfef24393cb169d() - { - $this->assertTrue(true); - fn() => ($test + ($test |= $test)); - } - function testb1b1ed0095faeedcb00f9a7d3912394565385bbf6f8f8a51e86c9af36bba6d43() - { - $this->assertTrue(true); - fn() => ($test + ($test === $test)); - } - function testb3b33a472ae52db574b6bf0807c240f17d02f4f2855da44a50410e05ab191f75() - { - $this->assertTrue(true); - fn() => ($test + ($test && $test)); - } - function testb4b8c55cfd0d909fdde3fce1d3be17b01d102141b7120b81b6c8d4462582a859() - { - $this->assertTrue(true); - fn() => ($test + throw $test); - } - function testb886e4755389b487ff3229db9ec156a86711ec63661d8a66f86ddfd29f615379() - { - $this->assertTrue(true); - fn() => ($test + ($test | $test)); - } - function testbfaaf9936aeea6762fcf744571a504259f8d841c6e4ef5bbb41b94362fb32121() - { - $this->assertTrue(true); - fn() => ($test + 0.0); - } - function testc1abdd263734b2ca823a3d6b74d682024c02d443f909ac99cbdcbc3a9607d75f() - { - $this->assertTrue(true); - fn() => ($test + ($test ??= $test)); - } - function testc45e3eddb201de121ac844afd068afb3145d2ef406ba143ab875627c22cc7c1f() - { - $this->assertTrue(true); - fn() => (($test = $test) ** $test); - } - function testc4d52f386b692477834db404f840e48d3b28c92808f2134444ac6b8394647e8e() - { - $this->assertTrue(true); - fn() => ([] ** $test); - } - function testc785c1983c7ebcce3be97f6589daf4933cd488386c9e021c92ae6f4dee70a2e6() - { - $this->assertTrue(true); - fn() => ($test + $test->{$test}()); - } - function testcdc34486e746ef8d4139d874f07b146d82d47d9cbd2aca8082b1d6971f6c19aa() - { - $this->assertTrue(true); - fn() => ($test + ($test & $test)); - } - function testcebd1399619c738cc7a994503ab13087fcee60e1ea5b84e46210aed1116a74a7() - { - $this->assertTrue(true); - fn() => ($test + ($test &= $test)); - } - function testd0fbb87d66e49e77d07eafaca9886fda3d060be2c9c6b5e8835a9a87d82120b4() - { - $this->assertTrue(true); - fn() => ($test + (string) $test); - } - function testd270d97f21ed9208e7b15d8777d25f7c8164d58a752ab0aed5ff4d5d05e7ee8e() - { - $this->assertTrue(true); - fn() => ($test + ($test > $test)); - } - function testd4250133890f2cfa164428418f284da48e5f7fa07712f9dbd8764f37e7605f06() - { - $this->assertTrue(true); - fn() => ($test + ``); - } - function testda847ea9822f96b1df3184a497a9c1e0085ba3c39856b9df99956f872f374c27() - { - $this->assertTrue(true); - fn() => ($test + $test); - } - function testda8b98546bd38164984204444e8309a35776152423eb2a1449937f7ee57a527f() - { - $this->assertTrue(true); - fn() => ($test + ($test >= $test)); - } - function testdb17ae32e552d1afdf705e5cc2e50d21f50fecfa2ebf5385ad2b1be43b8b5e1f() - { - $this->assertTrue(true); - fn() => ($test + clone $test); - } - function testdb2782000ebc53068f3af47e8f7c1f9adbe05c4b3b21cdf0e161676353a14330() - { - $this->assertTrue(true); - fn() => ($test + 'test'); - } - function testdb51d90ea206f51a905c51e26d1e425eaa14119d50beee85ebad1490c5e48e88() - { - $this->assertTrue(true); - fn() => ($test + ($test %= $test)); - } - function testde503f2c1285f7f0d10a31d190a9b3246934b10e12c02082ec669f051d5ea6b4() - { - $this->assertTrue(true); - fn() => ($test + $test++); - } - function testdfcb6a3bdaea12c48cc214c95b8aa8190ddbec9a2844de0f37d56519c3814492() - { - $this->assertTrue(true); - fn() => ($test + ($test <= $test)); - } - function teste10f39674a8608cc04bff1092f1c5376d3b4351ed694bf7ffea886a672020d99() - { - $this->assertTrue(true); - fn() => ($test + $test::${$test}); - } - function teste33e0683928ad90a9fac5c7c13a4cc8fb0c26865bb07aab6a3243f81f9a6fc43() - { - $this->assertTrue(true); - fn() => ($test + __NAMESPACE__); - } - function teste40bee9b5cd43bdc30a6b91d3c86cdb47016cd64cd0f6c21eea698c66af47fc5() - { - $this->assertTrue(true); - fn() => ($test + $test instanceof $test); - } - function teste48cdebb617a896c82af8c3f8d126be35c2640da9f25faba3de7734e9e1fe713() - { - $this->assertTrue(true); - fn() => ($test + ($test || $test)); - } - function teste97a9b19985109ffb4d89c717f6201eb20d67dae7e2cb0d90f62b1bbe8a7f949() - { - $this->assertTrue(true); - fn() => ($test + $test % $test); - } - function testea70872b8d08445ec63e444b13a7460343dc738a0b9f81fd3d68082c36424d2c() - { - $this->assertTrue(true); - fn() => ($test::$test ** $test); - } - function testec044877cba1ec1d619312b263277356726a9c330622d420902037dad0137495() - { - $this->assertTrue(true); - fn() => ($test + "{$test}"); - } - function testec04c1da780309a6b274cdd2ffa1b2c35dd4d3afb8f10c4364bc010ff5f371fb() - { - $this->assertTrue(true); - fn() => ($test + ($test >> $test)); - } - function testf40a45dceb944c4d4e74b6003ebe8ecef94952f329bd157a951f8ace6841c2ce() - { - $this->assertTrue(true); - fn() => ($test + ($test - $test)); - } - function testf49c2e4186337895f4014899de25c3c5986cb5f711078cf840e47eaffa07b553() - { - $this->assertTrue(true); - fn() => ($test + $test()); - } - function testf643f10e32c4d15cf2f2eb8da9a982e3957b9044e04aa07ef109abc740b11137() - { - $this->assertTrue(true); - fn() => ($test + ($test << $test)); - } - function testfd8b7c48e9cb06dccd7f48328a5baf56901b9dcbefd3e6fc4c65d7c69f623d1b() - { - $this->assertTrue(true); - fn() => ($test + __DIR__); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest.php b/testsGenerated/Target/Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest.php deleted file mode 100644 index 7016185cf..000000000 --- a/testsGenerated/Target/Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest extends TestCase -{ - function test00221aa96688a338526053ce99e4d9e9e60837f2139ff04e8f3603bd91c8ebca() - { - $this->assertTrue(true); - fn() => ($test < (string) $test); - } - function test082adcf7a0c1705488d02902e5f5b969c2fd3a68c9324dbbf343973e1633046d() - { - $this->assertTrue(true); - fn() => ($test < ($test or $test)); - } - function test0c5dea455d01277df971ea66cfa5b38003cd6ea0eae6a37963569ae0694fd0c0() - { - $this->assertTrue(true); - fn() => (@$test <= $test); - } - function test0e6251d407190566af1d9fa07a322f5770e4f5cf68a9147230619ad0ba1f7252() - { - $this->assertTrue(true); - fn() => ($test++ <= $test); - } - function test13a6585106f281b643967f27e294ad20ae741ab1f63b69dbc4c080532633c3f1() - { - $this->assertTrue(true); - fn() => ($test < $test - $test); - } - function test1799d0afff5f5beee96bc2a638e2e5e3da7cede0969211cd44e341d7df8b8724() - { - $this->assertTrue(true); - fn() => ($test < ($test ^ $test)); - } - function test189bafe0c7c61fa702cc832d9c958938f4f35b2cc5e4eb7e82f970a403cd2cbd() - { - $this->assertTrue(true); - fn() => ($test < +$test); - } - function test18f620a9e867625dc68f474bbc0b1ef15a5a0164faa70c75513c966764b6a719() - { - $this->assertTrue(true); - fn() => ($test < (object) $test); - } - function test19a0ed8d0f880bbe5bbe19680a3a1fa7d67c640503aa0952d4d58fdeff53bd7a() - { - $this->assertTrue(true); - fn() => ($test < ($test /= $test)); - } - function test20081a9a851d075eac08afeba279c23b1aa696c29f926d2d31a098534749f2db() - { - $this->assertTrue(true); - fn() => ($test < ($test += $test)); - } - function test23a2a3a5f2f8405157609889850b3fe5802f0539ccf1fcdc7df9280e6488daa0() - { - $this->assertTrue(true); - fn() => ($test < __FILE__); - } - function test247e7fc877f219f2bf1a1737ee548d10c268a44c034e606d01a08a45751a4740() - { - $this->assertTrue(true); - fn() => ($test < (bool) $test); - } - function test248c211685781c00019558b698fe2df3a0b0e67eee3c4dad9536a83d4678c33a() - { - $this->assertTrue(true); - fn() => ($test < ($test **= $test)); - } - function test2763ba86a0bef03fb3e25348e1f2b0f781ed22c13c5364cc515a68c242f9b8b0() - { - $this->assertTrue(true); - fn() => ($test < ($test === $test)); - } - function test2f5d4fe59e1788b6ca15f270aa4458866aa110d3d3359b701dcf7d170e266ab9() - { - $this->assertTrue(true); - fn() => ($test::$test() <= $test); - } - function test3171bcd0a93c303dd98ee1c7a139e61b61df42102d7e5a915a1ba5f350daeb37() - { - $this->assertTrue(true); - fn() => ($test < (int) $test); - } - function test3184fbc2c2c5d8935b117f995da88365a62d063df100d5492a81bbff1a91f7f1() - { - $this->assertTrue(true); - fn() => ($test->{$test}() <= $test); - } - function test31b2dcf8866df93869c324310386c5f8635724434d1fe2503a307711248aa355() - { - $this->assertTrue(true); - fn() => ($test < __LINE__); - } - function test33a72d279c140fcf52bd759081af69ee5892b2ceeec6e10d4e1c94df5b63b9ed() - { - $this->assertTrue(true); - fn() => (match ($test) { - } <= $test); - } - function test3976091479f15f3709540f66ec9a744c719bd46a6072203b506bf1cb84f7ad40() - { - $this->assertTrue(true); - fn() => ($test < ($test !== $test)); - } - function test39894a0e9477a45f5175411063c8de104ef76ba414c1d78c501523109e437382() - { - $this->assertTrue(true); - fn() => ($test[$test] <= $test); - } - function test399848421a57e6135f15f486f60d18100aeebb7e1191b9118a533fede6ba5b93() - { - $this->assertTrue(true); - fn() => ($test < $test::${$test}); - } - function test3ba575ea8d031d11630c8861acb837dae35a17293a86e2f32ea4f8249e3a40c6() - { - $this->assertTrue(true); - fn() => (isset($test) <= $test); - } - function test3c21186b15ab3cac74b3feee475af6ccc0b674812a24e342b4ebac99e82ec0b6() - { - $this->assertTrue(true); - fn() => ($test < ($test *= $test)); - } - function test3e4329bad8432627ed411e3141734aeb09b30799ab36dce14ef42ec15d9fc4b0() - { - $this->assertTrue(true); - fn() => ($test < __TRAIT__); - } - function test3e9a82cf1bb68e1c3e2bf17f0fb1e7de628d0c301c5ff1f8298e43e155e6e9e6() - { - $this->assertTrue(true); - fn() => ($test < ($test < $test)); - } - function test43479d6002d6fdf85233aad709d7447db5f143acf383ab52c4c2855b902422ea() - { - $this->assertTrue(true); - fn() => ($test < ($test | $test)); - } - function test43b57148c9b09773bc0a19e576b3d0b95abcee8396f32c08d75cb8f264700fa7() - { - $this->assertTrue(true); - fn() => ($test < (yield from $test)); - } - function test43d748cf13ae79abaeeac660cf15d8ffa0317a843d6588dc2bdf0c5e50d9e5f4() - { - $this->assertTrue(true); - fn() => ($test < ($test == $test)); - } - function test4712b9b9af28a0723bdbef8e5cc908fd436aa755319a26dc39e456ed1eee4ca2() - { - $this->assertTrue(true); - fn() => (clone $test <= $test); - } - function test4d72452106facc1482d5452580ad97c0768d8fe2050f0133705072dceb9bfaec() - { - $this->assertTrue(true); - fn() => ($test < $test % $test); - } - function test4edab27e7d899e15b60c73289c3dcc4d180aec61d0da870ebe6c55a9615c34dd() - { - $this->assertTrue(true); - fn() => (~$test <= $test); - } - function test512cda6373c8077b68c722643cf0c729081254b67258d45e2d2daca8cb25a121() - { - $this->assertTrue(true); - fn() => ($test < ($test || $test)); - } - function test51d954b80ec8af5e4ffde7ee540866ef1fd650da900c28194d5b7ace79067a7e() - { - $this->assertTrue(true); - fn() => ($test-- <= $test); - } - function test52e544a21349e0f50afc5fe434f8c8a3359e50d48899af5e700d0d289d3a2f84() - { - $this->assertTrue(true); - fn() => ((print $test) <= $test); - } - function test582c018e85c95cd2205abefe37abbe4d50ac184ec7bfadbe3f1efbe45beaa2e1() - { - $this->assertTrue(true); - fn() => ($test < ($test ^= $test)); - } - function test5af58beececc69bda87da266ec429993d06a1c6b63489abc45bdb1c94341fa5f() - { - $this->assertTrue(true); - fn() => ($test < __FUNCTION__); - } - function test5b353415995d478255c4f4750b3f4150170145dfc6648dd8056d06f31864d296() - { - $this->assertTrue(true); - fn() => ($test < __CLASS__); - } - function test5babd555b9e881b3305f188c2743cafdef10c94efa62f2cf075cdecfa8691c06() - { - $this->assertTrue(true); - fn() => ($test < ($test & $test)); - } - function test62c93c0b0a8391b4b1b5327126f4ab0b3c58dbbfa3717ef677000297b6240ade() - { - $this->assertTrue(true); - fn() => ($test < __NAMESPACE__); - } - function test670cdcfd74c4f167b15509d02e8299911bc3bb832f98c777bdf6ae9131fd23f4() - { - $this->assertTrue(true); - fn() => (!$test <= $test); - } - function test6b40f6622c495cd94eb400b7c19fda48826e378395c75b4c077033a1cad097c6() - { - $this->assertTrue(true); - fn() => (empty($test) <= $test); - } - function test6bdbd9cd49d782098f6afb8e1e8c74d9dd14a80bc7de434fb1755414028f0ddb() - { - $this->assertTrue(true); - fn() => ($test <= $test); - } - function test6c03ddf9657b628a5be0521465051f9050e8aa8907e50019684e10c70ffb3983() - { - $this->assertTrue(true); - fn() => ($test < $test + $test); - } - function test6c0ac388f871d3bc34d35ae5ffc23bae9f7ed1e889a08241c11c32e27271117f() - { - $this->assertTrue(true); - fn() => ($test < ($test <<= $test)); - } - function test6c1bcf4bfdf313d9f57f87824b42e1b199e672e317a8b79e5efa4a7379eb94d9() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() <= $test); - } - function test73103c0f7e0cb827b233649bd0374a7dbaf568cc3c5c8cdef713fe34ce956b43() - { - $this->assertTrue(true); - fn() => (new $test() <= $test); - } - function test754261f345d28254ff61e21239222543bcf89937cd9bb62cde18f90136c69509() - { - $this->assertTrue(true); - fn() => ($test < "{$test}"); - } - function test781d87a0eb89abc75ec026afd38b78274c5173132cd02464b03d6e4644b63eee() - { - $this->assertTrue(true); - fn() => ($test::$test <= $test); - } - function test783cd9d7734865a886e80a9861b8dcb37b457bca4a094f7734f44548e34cdf9b() - { - $this->assertTrue(true); - fn() => ($test < throw $test); - } - function test7d83fdef36fdc2e9d6cf8a1a7879063ac893ac72cc3f32f9f1f959745e176479() - { - $this->assertTrue(true); - fn() => ($test < (array) $test); - } - function test7da336e509cafd24e62219aa2a366c23e4ef6acc7bb8c48153614c18e146391a() - { - $this->assertTrue(true); - fn() => ($test < ($test ??= $test)); - } - function test7f56c68b33f2a7d4ca7ff2051bb79a699cbe03f246ab84d0d15df2ca91fb5208() - { - $this->assertTrue(true); - fn() => ($test->{$test} <= $test); - } - function test810ec82743d8a98f0edd1f11795b3b48e61988daf635a32e439426f5c292da35() - { - $this->assertTrue(true); - fn() => ($test < $test << $test); - } - function test83a8858903ed6cb3c79436d777623fb9072bd99d1d972845679dfaca90cb48c6() - { - $this->assertTrue(true); - fn() => ($test < __METHOD__); - } - function test842b7e3cd6b4a519abae0ecbf8016c05a363f6bb8c3330dce35935a15e5d9db7() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) <= $test); - } - function test84f959a9c8e5ba203d10627d3ca60bb5daed428d6bd2ffd120d9a0f8b407f5cd() - { - $this->assertTrue(true); - fn() => (( $test) <= $test); - } - function test86e893b89fc16efe3ff4d53f41788788e0dcd1aacdcf4789d2b817174854d0bb() - { - $this->assertTrue(true); - fn() => ($test < ($test ? $test : $test)); - } - function test887f0b3814de17f2966893cd790e42c0c192bfd0aa12d58d95e1db1ae7818f5d() - { - $this->assertTrue(true); - fn() => ($test::${$test} <= $test); - } - function test89334b16971dd20b35a0e9d98829090a22d767ea7eee43ef76bad1626c6598cb() - { - $this->assertTrue(true); - fn() => ($test < ${$test}); - } - function test89648793311ca47ac3af3bbe0d308ac438f21273996ec137ae639c5b702722da() - { - $this->assertTrue(true); - fn() => ($test < ($test xor $test)); - } - function test89816a1b24172879e78170bee7efd59399c2862738eb53daaa50fcb14c6f14b2() - { - $this->assertTrue(true); - fn() => (self <= $test); - } - function test8bb95738e685aaf185f4d352e4dfec66eaa3604948b392888eeb68bed4c69b75() - { - $this->assertTrue(true); - fn() => ($test < $test / $test); - } - function test9050ed27512ee476af9afd057df3500779f8c5ff5856e81f3dee5d21ac3f1387() - { - $this->assertTrue(true); - fn() => ($test < ($test |= $test)); - } - function test9479ad94a712391f4ce02c661236fcdf5343cb0ad4688ee79f72f4721ff3ee50() - { - $this->assertTrue(true); - fn() => (`` <= $test); - } - function test96b1fd3b98dfc1f5d5593f03fe478f4e143b8fe214e528869f38cafa59852f6e() - { - $this->assertTrue(true); - fn() => ($test < $test >> $test); - } - function test9758c53d5a0c55cb57f2477c007bf8408041336f7e7ce14a954bc992466d2aa7() - { - $this->assertTrue(true); - fn() => ($test < ($test >= $test)); - } - function test9979221861b54b20e4e97e85d75da2a96bdf351ba507bf72586c4e69378d7ca9() - { - $this->assertTrue(true); - fn() => ($test < -$test); - } - function test9fdfa2868794190a3e6cd92a0290d6e1d3126674a42af8a0bd08519567829fcb() - { - $this->assertTrue(true); - fn() => ($test < __DIR__); - } - function testa26a890300a267b814af94ea482b0b0d61c72cd06ea7ea9cee145e2696b7956b() - { - $this->assertTrue(true); - fn() => ($test < (double) $test); - } - function testa74eda3865196132d3c542d46246ed20932827d6db441ca6cb008e37aa6dc53c() - { - $this->assertTrue(true); - fn() => (($test =& $test) <= $test); - } - function testaf06944b2630d0b06c4718445f198e149b67f0df08f1e284765a8b903dbc101c() - { - $this->assertTrue(true); - fn() => ($test < ($test and $test)); - } - function testb08b5fd617d48fe78e7eeb6212d1f7ffb6836326c2fbc212a9efc16c5037eec2() - { - $this->assertTrue(true); - fn() => (++$test <= $test); - } - function testb0f08e0cc20d1baade1e065d870c36b8661387344a86668bf1bb16cf19bb99b4() - { - $this->assertTrue(true); - fn() => ($test < ($test <= $test)); - } - function testba03528cd3a284a6a0b504ad9c270a2664b8ae6ac84924b65df34b9ce3c19925() - { - $this->assertTrue(true); - fn() => ($test < ($test .= $test)); - } - function testbac6c808496de6b01b42fcd9605067a27bd6820e0b642399d96ffbbeb2f36c29() - { - $this->assertTrue(true); - fn() => ($test?->{$test} <= $test); - } - function testbb75e6fe9d820b7502846aae2d572c3763fd76af13392b89bbe7d347b1f917f6() - { - $this->assertTrue(true); - fn() => (eval($test) <= $test); - } - function testbfaa0a103fe278b0447eaabc0beb6ad5bd6cad51236bcd94d170db38196823c9() - { - $this->assertTrue(true); - fn() => ($test() <= $test); - } - function testbfcaeeeea5718f8a25c7cfc7a2f32ca98c9ca902a4948252fcb9bec9c66f563c() - { - $this->assertTrue(true); - fn() => ($test < $test . $test); - } - function testc1d3ede3dfbd82fb02459cb36559bb0d134c95819c64d0f96ae1bb4ab649c052() - { - $this->assertTrue(true); - fn() => ($test < (yield $test => $test)); - } - function testcbc94d92e8a11e6199ec06fb8a0d46f4ae17bfa6726d157f633213f8dba8f8a2() - { - $this->assertTrue(true); - fn() => ($test < ($test != $test)); - } - function testccdfee0c4c2cc6d2514a9662e23d6208a9db23696b99f7b13e4d5ba93f9cde77() - { - $this->assertTrue(true); - fn() => ($test < ($test > $test)); - } - function testce150b736728c5a0a3a70000180b5ac8729489a57b439431051cfa616709cb2e() - { - $this->assertTrue(true); - fn() => ($test < ($test -= $test)); - } - function testce5fc61e32f63d33b53430e68322ea7106f5b51c962ed504b1780f17fbc31e49() - { - $this->assertTrue(true); - fn() => ($test < ($test &= $test)); - } - function testd03d4d650678f4d89c146c01d483e593c0a806734a012c6faea31a3123176951() - { - $this->assertTrue(true); - fn() => ($test < $test * $test); - } - function testd0cddf64c55914863b7e4c45b7fd0db15269f2f1e5d6722355565e90cef60450() - { - $this->assertTrue(true); - fn() => (--$test <= $test); - } - function testd48122b16eb9054a97da91a146669e41c6ad3d3a9cbe2be37fec8427dc6707f6() - { - $this->assertTrue(true); - fn() => ($test instanceof $test <= $test); - } - function testdafcdecbcebd0f0415c79f7a09e4227884012e862af339f02f4cf83434079b0e() - { - $this->assertTrue(true); - fn() => ($test < 0.0); - } - function testdc82e413c62395197cc4d41ebf290ebf186191595d3bb00160c7582f40796fed() - { - $this->assertTrue(true); - fn() => ($test < 'test'); - } - function testddb8a5127ba804622d4237f4b2174161a9d6e8947d4d2efa8848844c7d4bd333() - { - $this->assertTrue(true); - fn() => ($test < ($test <=> $test)); - } - function teste68a2594e7425254131c8702715e926507e880742504699c078aa8b37204db29() - { - $this->assertTrue(true); - fn() => ($test < $test ** $test); - } - function teste75dd53d432083827e9abf6a5b2ac6090aca22e303ce6079c1f9354c7da34bed() - { - $this->assertTrue(true); - fn() => ($test < ($test && $test)); - } - function teste93ccdef947af47d2c83c22ff8e0904f3e26655560ff07c1b861ace32792d801() - { - $this->assertTrue(true); - fn() => ([] <= $test); - } - function testea2dbd51b0ed675eae2efb0976de712658a5d398914e920061309647a984cad0() - { - $this->assertTrue(true); - fn() => ($test < ($test ?? $test)); - } - function testf104a8302831e2a6bc834b616e74c497bbb5d137610043a16407e4eca577a505() - { - $this->assertTrue(true); - fn() => ($test < 0); - } - function testf35c59562636dc2b6456d144f71a4ab316d7e49b325b780796db09ba3929378d() - { - $this->assertTrue(true); - fn() => (function () { - } <= $test); - } - function testf473f97f48899a6f9269427d7846602a231b60095ef39488a7ce2c1b3b6b1644() - { - $this->assertTrue(true); - fn() => ($test < ($test >>= $test)); - } - function testf5b64dc0f84cf7f6f5dc5549443a343c9cd2184df0869b16b9c7183645757163() - { - $this->assertTrue(true); - fn() => ($test < ($test %= $test)); - } - function testfcbb78be8dcae783ff216a025bb863342dbb3ce6125a9f08b76593b6b58be5a3() - { - $this->assertTrue(true); - fn() => (($test = $test) <= $test); - } - function testfce091fcbc739f1c1026f8d5dbad97069ffb8f9aa462d2d8fe59e725da623f7b() - { - $this->assertTrue(true); - fn() => (throw $test <= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test.php b/testsGenerated/Target/Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test.php deleted file mode 100644 index 6d9fa6edc..000000000 --- a/testsGenerated/Target/Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test.php +++ /dev/null @@ -1,508 +0,0 @@ - - * @license MIT - */ -class Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test extends TestCase -{ - function test013dc8faeec4346887d0ccb1b3b721db7e6a0a0ce0014e875a4e3bb19d5ffc69() - { - $this->assertTrue(true); - fn() => $test->test(); - } - function test02c597f1928d42e8cd71e8b1372c5c6c1ccd0b3c3ffd584ecf3c550c36c91336() - { - $this->assertTrue(true); - fn() => $test->{$test ? $test : $test}(); - } - function test02dfa08ac7229cf22c3fb6e652630a1c72e33828259c7dbea7ada464ef00656c() - { - $this->assertTrue(true); - fn() => (__CLASS__)->{$test}(); - } - function test06dec31b1e5a1d16d18e39b9c68b5829d2827dfe1ab9e2d734f11e1e1e7e24e9() - { - $this->assertTrue(true); - fn() => ($test !== $test)->{$test}(); - } - function test0ef223b71382cb3af0990c69de7eca19c805d39e7715e7cdf1f2ea014b2b57b3() - { - $this->assertTrue(true); - fn() => $test->{~$test}(); - } - function test15385e66815a81c0c361df33ef60241959e3255e7b2c49f63a29c4cb0ba94cc8() - { - $this->assertTrue(true); - fn() => $test->{${$test}}(); - } - function test16c6fe25a913c0261395d19cb556dce905f9d7442169934a0b9021241ddf5c6d() - { - $this->assertTrue(true); - fn() => ($test + $test)->{$test}(); - } - function test17d5c6333eb593734978f75c42612f34f4dae0d7ab3e3f8d8ac63a16c9c88b93() - { - $this->assertTrue(true); - fn() => (__FILE__)->{$test}(); - } - function test19760e1ec64dc24ab54dbd5cb0e5e24d05791fb20d001c2162b05651b3535ada() - { - $this->assertTrue(true); - fn() => ($test **= $test)->{$test}(); - } - function test1b0891a677c650abf895a5d762e82f4130365a0c383639a017a0726997b7a4f1() - { - $this->assertTrue(true); - fn() => ($test / $test)->{$test}(); - } - function test20570b029dcb6091476fb32e682d24318159c8e6cabacce5363aa2bbe80e8eee() - { - $this->assertTrue(true); - fn() => 'test'->{$test}(); - } - function test2373aa890d20c57577141b362a16e5bb8f3243a991c5eea2f074b226bc4dc0e5() - { - $this->assertTrue(true); - fn() => $test->{!$test}(); - } - function test2a9269d31aecc204669c299a4ea3ade10cb947d0313f777731f9caab2615b76a() - { - $this->assertTrue(true); - fn() => $test->{$test?->{$test}}(); - } - function test2cbe0b0414c566271f309f2ecd59d956b702e3b406f2873dd75e4ff3ed6f5818() - { - $this->assertTrue(true); - fn() => ($test or $test)->{$test}(); - } - function test2fb43a81defc9046ee1d6fe1a56445c4ca4c7e502336f2f8cf9533f08c4c41a4() - { - $this->assertTrue(true); - fn() => $test->{$test::${$test}}(); - } - function test35144abf73ddb313e4759f42be20997f27b9a3ab77f8234b34fbe11404c1385c() - { - $this->assertTrue(true); - fn() => ($test <<= $test)->{$test}(); - } - function test355658ec55abf89002e3eb84362e01a06e729858da630fbfe3207fc8edf2dee1() - { - $this->assertTrue(true); - fn() => ($test | $test)->{$test}(); - } - function test36263cd7187ed5a0b2b87d632851913bd25614d042ad088b422864d1aa7a8900() - { - $this->assertTrue(true); - fn() => ("{$test}")->{$test}(); - } - function test3f5aa6b685b8a53859e88d7f58a2551f1bbe20c2ca804da7f0987a5d8f96a4c9() - { - $this->assertTrue(true); - fn() => $test->{$test?->{$test}()}(); - } - function test403b6644e74e7339260ca10236fa61b0de60699feed34824ecd2a0f412368238() - { - $this->assertTrue(true); - fn() => $test->{yield from $test}(); - } - function test41bf42488e420f3e20bf731766a36a88144052ae2f04d8b90d78f38464ce0fd0() - { - $this->assertTrue(true); - fn() => $test->{function () { - }}(); - } - function test42253160d6b2629fab91b155f5d6bd336378fba1405cbc6cdefe1a6fe8d73289() - { - $this->assertTrue(true); - fn() => ($test += $test)->{$test}(); - } - function test4365df292b750e4486f4c0a74d0aee43ad6e7881a3231a3b0ac81e7cdd6e25fe() - { - $this->assertTrue(true); - fn() => ((double) $test)->{$test}(); - } - function test43a6597e140b376f734c0b3726f843e46038b3236124e4403e2d723445aa8f59() - { - $this->assertTrue(true); - fn() => ($test ^ $test)->{$test}(); - } - function test45b91c91c85988f80f284174f9d8f171d20646c041acccfef7a8ea0a699f1afe() - { - $this->assertTrue(true); - fn() => $test->{$test instanceof $test}(); - } - function test4c84ac21f12ade0e2eb1e077ce92b77ad55ac67d5d68716a44732abec887bb06() - { - $this->assertTrue(true); - fn() => $test->{++$test}(); - } - function test4dd8acb5aa55d95260f7efe9fdff94904a29e0de0275f0a7d5b366b9f6a767c8() - { - $this->assertTrue(true); - fn() => ($test >>= $test)->{$test}(); - } - function test4e0de85be217be1b6c1a257fa3c1e93cd365204712061a66b5505836818d533f() - { - $this->assertTrue(true); - fn() => $test->{self}(); - } - function test4e507009fed1a226a96fb8a1f34e6eee3d569cc27f00698d7905caa8a23c1099() - { - $this->assertTrue(true); - fn() => ((int) $test)->{$test}(); - } - function test4ff8bfa8ed0c994a235126c66b766da43b9e0f413d3b5cb19ffe033c757b3573() - { - $this->assertTrue(true); - fn() => $test->{isset($test)}(); - } - function test51438c0e6ca6725c43366bb41ff3e5ae92270ea7017d8f5d0d85d6724522a7b4() - { - $this->assertTrue(true); - fn() => ($test == $test)->{$test}(); - } - function test537f8d9e6f89cc0011cf50bcce029967b6d91be051131c3802be4f6abecf8b76() - { - $this->assertTrue(true); - fn() => ((yield $test => $test))->{$test}(); - } - function test5449eb8b35ec66525a6ca499ac5fd9cea2ccd6ddf773395752c48f0148a3e1a9() - { - $this->assertTrue(true); - fn() => ($test && $test)->{$test}(); - } - function test548e957d155cf247316c2547e86178893a65251aefec77efa1f844c2edbedc09() - { - $this->assertTrue(true); - fn() => ($test != $test)->{$test}(); - } - function test550daee148240f529f3a38c43b718c9aff24378d9fd7b070b4c803ca3469be6e() - { - $this->assertTrue(true); - fn() => (__METHOD__)->{$test}(); - } - function test577f461541605db17263ed05ff845f732e9746f4e0efde51dc941e6f627d5ac9() - { - $this->assertTrue(true); - fn() => ($test |= $test)->{$test}(); - } - function test600c230ce24f3d36ca2262fbfd0f630f211fcf8b70c329bc131b462c1833c283() - { - $this->assertTrue(true); - fn() => $test->{$test = $test}(); - } - function test62575d27497afd09cfefd792372b1d27e713a6a640e0a53fbf6ab1a86ae81875() - { - $this->assertTrue(true); - fn() => $test->{-$test}(); - } - function test6432693cd55dae5479c7b8f93e29930799c886fb51e0608b29ea5436b68d867e() - { - $this->assertTrue(true); - fn() => $test->{$test::$test}(); - } - function test653e9248a865f0c1d57751f6cefa415ab69f4c7fd4c1e7d26f3ac3a9a49c6f65() - { - $this->assertTrue(true); - fn() => $test->{eval($test)}(); - } - function test67b9458c8393a7d0aa42a1c8b7940e915e2860278c3b2420f179df79d146e1e9() - { - $this->assertTrue(true); - fn() => ($test === $test)->{$test}(); - } - function test6b38e212947ef97bc7a8e6001163f717b6da465a852edf7042e251ee742de5a1() - { - $this->assertTrue(true); - fn() => $test->{$test}(); - } - function test6fdec6d9185a8a7f3c4f00b331ac9d526ac2a3c1889939cbb2b7178b4478c0ad() - { - $this->assertTrue(true); - fn() => ($test < $test)->{$test}(); - } - function test7174f136ce462c87b07b5656eae915c08c6250515c7f1de5cb97866796ba2221() - { - $this->assertTrue(true); - fn() => ($test >= $test)->{$test}(); - } - function test7313643266dd600a0b7ad18b2ef2828c0d72b6946b9256bf6604a0f6477725c2() - { - $this->assertTrue(true); - fn() => ($test &= $test)->{$test}(); - } - function test752287c17ad5746614cfa2ac871df3685c33febada81ce991268cbd1e98d8ee4() - { - $this->assertTrue(true); - fn() => ${$test}->{$test}(); - } - function test75b09a72e3be8f5ceaf2dfc525aceeb4abe72bd342cd012b10ce94b5d359d158() - { - $this->assertTrue(true); - fn() => ($test ??= $test)->{$test}(); - } - function test766bbe6e80dee3c5503f09737e9d1fa8a1e38c433058437bcd4bb1133e89f0cd() - { - $this->assertTrue(true); - fn() => $test->{``}(); - } - function test7850971191568f2bca63cc444fce01d679be6954c58eb61e8a35e2c53dc42a8f() - { - $this->assertTrue(true); - fn() => $test->{empty($test)}(); - } - function test78705baa0a218d4b6b1539f48f91c5d916161a8105fdfc57ca8fb95818992159() - { - $this->assertTrue(true); - fn() => ($test << $test)->{$test}(); - } - function test7a50295a712dfcbf93e9fc9d6fe2184eba993be116f3f1199384069be7638f7b() - { - $this->assertTrue(true); - fn() => ($test *= $test)->{$test}(); - } - function test7c56e6466bcc9b094ce7311d4846b50c620e08bf316719b4894e7d89df6fd87c() - { - $this->assertTrue(true); - fn() => ((bool) $test)->{$test}(); - } - function test82223a821514bf7377bd279fd8aef3add8e24a67f9e43d6854964af601a41fc8() - { - $this->assertTrue(true); - fn() => $test->{new $test()}(); - } - function test84a5cfa91b921934db8d3d6c687d616798d7201463003dd85aa4d701645f2c9a() - { - $this->assertTrue(true); - fn() => ($test ?? $test)->{$test}(); - } - function test893b89a2cc18a67689b49d806426e55f6f0e5da32b33c0116e33d98c0b238ab5() - { - $this->assertTrue(true); - fn() => (+$test)->{$test}(); - } - function test8c73a7a01967858d50a606415f69de7a85fcac292009cfe69e0779f85695326b() - { - $this->assertTrue(true); - fn() => ($test ** $test)->{$test}(); - } - function test8e8134f19e708b0383ca540b6237bb376f940e8221545b1e0234d8a705df07a4() - { - $this->assertTrue(true); - fn() => $test->{--$test}(); - } - function test8effca65d42dd61cc5e3c1ad217b13fdfb71ec0cd815f4b960a92888a5961714() - { - $this->assertTrue(true); - fn() => ($test %= $test)->{$test}(); - } - function test9368876b8154c9f2369ae52218fcd22711c80be4eb158ff4e520108e1e050998() - { - $this->assertTrue(true); - fn() => $test->{clone $test}(); - } - function test94a9c5aade4c8a1a5bccbeeb9882522af45ea4d7e0e877e8c7c5369f0756b5cf() - { - $this->assertTrue(true); - fn() => $test->{$test--}(); - } - function test968b73c349dc916bdbc4e1046209a9a5126dd963b3151f1ebb384901a039527c() - { - $this->assertTrue(true); - fn() => (0)->{$test}(); - } - function test9794a5880777193ed0e176739a1078fd44f8bc5d8c8525ffb473d8bf349f6012() - { - $this->assertTrue(true); - fn() => (__LINE__)->{$test}(); - } - function test989bb6608f3b3eef6745c04d52e7641a9ac87eeca73665453a19bc53cbb00906() - { - $this->assertTrue(true); - fn() => (yield from $test)->{$test}(); - } - function test9bb74e27abfe6d17bec7792e4f1e3058a79a07437aa106f581f40d947f3637a8() - { - $this->assertTrue(true); - fn() => ($test and $test)->{$test}(); - } - function test9e2237bcc43877387fcd5fe138e5954cf07aa815e017cedcd1fdf0826e1a9eef() - { - $this->assertTrue(true); - fn() => $test->{$test::$test()}(); - } - function test9e42749805ef7d98499f7e986f98a648fa07a96574eeeeda216c84960265c888() - { - $this->assertTrue(true); - fn() => $test->{$test[$test]}(); - } - function testa593ca2f0c97036b9abe93c757706888cc85fe0ea0fc2347b2f26b5b9a6d1826() - { - $this->assertTrue(true); - fn() => $test->{$test++}(); - } - function testa7f3aa5e5527719e5b1777116af44360800a0c17364d574168ab2af3fcd3dd81() - { - $this->assertTrue(true); - fn() => $test->{$test->{$test}}(); - } - function testaae4f844ba7920ef96debea464dac578d2e467e181e2b040d7ff5b8e9d76bc9d() - { - $this->assertTrue(true); - fn() => ($test % $test)->{$test}(); - } - function testafb867e6f1bc50691c5e359b7ed72ae3d8b44738ac7d881577e37f8b48bb0dfa() - { - $this->assertTrue(true); - fn() => ((array) $test)->{$test}(); - } - function testb223d123a52bb45ef9706490e3450032c9fc69bf59d0e39c454c38dd5edda504() - { - $this->assertTrue(true); - fn() => ($test /= $test)->{$test}(); - } - function testb856dfcc1430665d26bb0e0e681f0db5bfd71806b5973597f5fbc9be24f1ee7b() - { - $this->assertTrue(true); - fn() => ($test * $test)->{$test}(); - } - function testb963366605089b614e1666ef7b77396e8a58a7c6a4088951eef440a051fd82c1() - { - $this->assertTrue(true); - fn() => ($test xor $test)->{$test}(); - } - function testbc783a7917648c312e37ad62f478e7f71e689102ff5fb0ab9def09ffbd90eae6() - { - $this->assertTrue(true); - fn() => $test->{+$test}(); - } - function testc05ad043982d574ae7c5c7262a9db7238c91a4e6b0cfb8bf9deab942c7ab3051() - { - $this->assertTrue(true); - fn() => $test->{$test =& $test}(); - } - function testc3da6a1be6a4ab6283867161f2723530ae8b7a3ce9c90a3460d005b25246395a() - { - $this->assertTrue(true); - fn() => $test->{$test &= $test}(); - } - function testc5f7e38b6557e85e8f6d248b1e78379e396b0eeeb36c226c37dfdfc475b57009() - { - $this->assertTrue(true); - fn() => ($test <=> $test)->{$test}(); - } - function testcc5f73db224b5ff784c6105aa970959c37b70bf9daf481f8cc90b3ef5c2cb423() - { - $this->assertTrue(true); - fn() => ($test ^= $test)->{$test}(); - } - function testcfc980ed41231892d9d14a1d3d7d0484fc25d3ce94a74a2bb94b6da4fdc04bf1() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__)->{$test}(); - } - function testd13264ddf46772d3cb294f3e659cb5c31d6e48574f5419b360da65920d935928() - { - $this->assertTrue(true); - fn() => ($test .= $test)->{$test}(); - } - function testd241cc21ca36a0712158c4c47c98cb745785595fef5a40a186655d370f18d8af() - { - $this->assertTrue(true); - fn() => ($test || $test)->{$test}(); - } - function testd7ab9dfd120cdf9d79f7914325e12d72bcc346d4bd70525a79daafecfd9e59e6() - { - $this->assertTrue(true); - fn() => ($test <= $test)->{$test}(); - } - function testd7f3256bbbd3272b1c49b0fb231295c14eb75098a8131b8ccb4ad0e06a4a468d() - { - $this->assertTrue(true); - fn() => $test->{$test()}(); - } - function testdc30af46d9b05b6b2a129eb1c40360ec0658f258f27edc7656e5212f9688c713() - { - $this->assertTrue(true); - fn() => ($test -= $test)->{$test}(); - } - function testdf928abb3d1e41465343fee224d8554e55f6fda024a096fdcc35e3b49ad6b120() - { - $this->assertTrue(true); - fn() => ($test > $test)->{$test}(); - } - function testdf999649d5c9ab3a7aada8925e0bb4d0341df35f18988f1ebd5d33e1258dd895() - { - $this->assertTrue(true); - fn() => $test->{(yield $test => $test)}(); - } - function teste22cc9255ee9c71c9043c1dfafd486b7234242ad5b9d3e5c9d5e64a3109d362b() - { - $this->assertTrue(true); - fn() => ($test & $test)->{$test}(); - } - function teste27ad423d0b02c583add24c89084a88af4b6a68791fbb1070842997a26d74eb8() - { - $this->assertTrue(true); - fn() => $test->{ $test}(); - } - function teste5a033e16984a6b4b0f71f5f78cc9c53216da532224aca2c737e363522ab2daa() - { - $this->assertTrue(true); - fn() => ($test >> $test)->{$test}(); - } - function teste631e32b1f60dbccb651571d30fb77e1ab9dd0b3d4e925f0bc26e672e8a7f864() - { - $this->assertTrue(true); - fn() => ($test . $test)->{$test}(); - } - function testea60b58ccf0f895101b9bb84edb22839d9e0c8e90d396e0a7765672230647f0d() - { - $this->assertTrue(true); - fn() => ((object) $test)->{$test}(); - } - function testede516e3b12b0fc4685540616b999b178ab68454203a4c1834ba4de6fa073949() - { - $this->assertTrue(true); - fn() => (0.0)->{$test}(); - } - function testee2e26a20d0d4d2f38f1ab8f1c42b4702fde2606e65e1389a1725c943fb73db4() - { - $this->assertTrue(true); - fn() => $test->{@$test}(); - } - function testf07e13b5ff6b5b8e6eaa643795a6082986b9ef853522d27dd3d85f50d5881388() - { - $this->assertTrue(true); - fn() => (__FUNCTION__)->{$test}(); - } - function testf11d4b1cddaccfe04c72a8ca89a6531cef0a65c2bbc2623ef91f87d034313edf() - { - $this->assertTrue(true); - fn() => ($test - $test)->{$test}(); - } - function testf2ac1052bc6cfb2e3f167b6be6a6a6635d6d49024fa3571e23ecac6c3d80137a() - { - $this->assertTrue(true); - fn() => ((string) $test)->{$test}(); - } - function testf732f5356d07e85a34a2ce8d662dd885468ad0c670066d2f7c71fcd668342950() - { - $this->assertTrue(true); - fn() => (__TRAIT__)->{$test}(); - } - function testf740afb4910b418e3a4267d03859c550124220c56da8d334a14621adef3fa427() - { - $this->assertTrue(true); - fn() => $test->{$test->{$test}()}(); - } - function testf87922426ae1ac8b51caf96fe3645a0cea6b6179a7f0943ed39b7d9c5be932a3() - { - $this->assertTrue(true); - fn() => (__DIR__)->{$test}(); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test.php b/testsGenerated/Target/Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test.php deleted file mode 100644 index 6e61b758b..000000000 --- a/testsGenerated/Target/Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test extends TestCase -{ - function test040197d395eff963f117d50c8557dc3f5a0dd05befe4731ffa05cea885ed293e() - { - $this->assertTrue(true); - fn() => ($test = $test::$test); - } - function test08276d09140bb9fdf1a6c0cdfd9038a496df38575e0c72ec3d6cd475616ec0bb() - { - $this->assertTrue(true); - fn() => ($test = $test::${$test}); - } - function test0877280728d3be3501b696c569ec5d5aced768cd3318f37f74f2ca1831ac64a8() - { - $this->assertTrue(true); - fn() => ($test ** $test = $test); - } - function test0d1d6a70ee0648d87de2cb830b16494a7ebb53fb26588295c94b1bb728015b1b() - { - $this->assertTrue(true); - fn() => ($test = --$test); - } - function test0d256f1e2a5e680f991b6d47d794d270ed5611d086d33989eac28e41642322ff() - { - $this->assertTrue(true); - fn() => ($test !== $test = $test); - } - function test0ecae5fe0a2f74881ee6cec3294a7d3cdfb6eb7cc01d36eac4ecc62e51a67ab6() - { - $this->assertTrue(true); - fn() => ($test || $test = $test); - } - function test124423f2cd086567d6c139a2435710dbc38f6113b95c2eacc4552d8216c15522() - { - $this->assertTrue(true); - fn() => ((string) $test = $test); - } - function test1aeee38cbb901ef749d7c0dfe9763785732fdd815908ac6411d57d61702d9eb7() - { - $this->assertTrue(true); - fn() => ($test = ($test and $test)); - } - function test1eb65f5e58db467f6cfc73cab64320ee06133b72dda82487f612a5c0b530ae76() - { - $this->assertTrue(true); - fn() => ($test = $test++); - } - function test21640187ddb4807dd21d6aedf77cffea2a01396ddcaf9676ab13eb20c9502f5c() - { - $this->assertTrue(true); - fn() => ($test ^ $test = $test); - } - function test2170397a9f57d38ce56d9dec92380e243bf68dc382ecd95e8d1575b37e54c1be() - { - $this->assertTrue(true); - fn() => ($test = $test?->{$test}); - } - function test23a7d311ecbd0b7944629566083d3792cefc7ed82f4f3c4f0588068e6e461c2e() - { - $this->assertTrue(true); - fn() => ($test >= $test = $test); - } - function test2625885d35bddea834a52e2d3053e9a555cc79b51948b779fc59db35441ef951() - { - $this->assertTrue(true); - fn() => ($test < $test = $test); - } - function test27202322b1352deae0db04bb6038bd3ea383e1e9c3b85b3656cea7fd49181a84() - { - $this->assertTrue(true); - fn() => ($test = $test()); - } - function test2a604acd65698ef9c702a0fe332b9c980dacc2b67c9c8adac6996999650fe291() - { - $this->assertTrue(true); - fn() => ($test = $test instanceof $test); - } - function test2d13cd649a465647a0f3db4288e9421ace2eb5855c35ebb386af8ec5da9e9c10() - { - $this->assertTrue(true); - fn() => ($test = $test->{$test}()); - } - function test2e10bd1eaa25e3a5a155bfb1b3f977ce2dc2c568d227404835f7c1aa1c404db6() - { - $this->assertTrue(true); - fn() => ($test * $test = $test); - } - function test366dfa754bc468fa707c9d85ee252922c20bcb5308caddc71142ad6610ce2776() - { - $this->assertTrue(true); - fn() => ($test = $test ??= $test); - } - function test3ace81737cc9539b05522ec6e78b02af84752bef9ef2ffd42cc0bcfd2ffcb698() - { - $this->assertTrue(true); - fn() => ($test = $test | $test); - } - function test3ae31b24e43e04426a1cdab92ba00696cfb6fea8145b39e4ba53a5b8139c0cfa() - { - $this->assertTrue(true); - fn() => ($test && $test = $test); - } - function test3ffa1416e8675085ec4bc926c417cd3313561b42c1dc123035e5b0d0ee4e558a() - { - $this->assertTrue(true); - fn() => ($test = isset($test)); - } - function test44dedc7ee06de436d170f115663e914bd60d1d8e5ed0a1a6552c27a76de51be6() - { - $this->assertTrue(true); - fn() => ($test = new $test()); - } - function test451afd34c553ce94c3a188145ea24113417805696faac8d20fecc366277291a8() - { - $this->assertTrue(true); - fn() => ($test = $test >>= $test); - } - function test47556abaaf64dcbc82a7127a03b70892d7946f7d946ae4cd6360f1363d28b138() - { - $this->assertTrue(true); - fn() => ($test = $test =& $test); - } - function test47c4fff0984d23651762d82617fc1da1a64a77f05dd466debf0cfa89e3ab5e83() - { - $this->assertTrue(true); - fn() => ($test = +$test); - } - function test485063934ffda3992076b18553a7796cfebd241f0c26dfd323bede9f434405f9() - { - $this->assertTrue(true); - fn() => ($test - $test = $test); - } - function test492bddab85b11d74ba2c7b759ee102ef2eebc9c88770e756ee0e9aa74d97257c() - { - $this->assertTrue(true); - fn() => ($test = @$test); - } - function test4946100271098fb020327f80bed6842180b4a9ee1d630357b187fba324a0b1f5() - { - $this->assertTrue(true); - fn() => ($test / $test = $test); - } - function test4c736487ad05faece9d94cd53690f19aa7873821a0ffd0fddd8214a5174b244f() - { - $this->assertTrue(true); - fn() => ($test = empty($test)); - } - function test4e4c88d5dd0ff227fee69238bb1cfcfb553ff7ee4000697f4fee5bfb1a24d8ad() - { - $this->assertTrue(true); - fn() => ($test = $test <<= $test); - } - function test54b87ed88498da7bcea8fb576da0c00155ef4300c7c9deae582eabd5da92201a() - { - $this->assertTrue(true); - fn() => ($test <= $test = $test); - } - function test56acde7241f36ab171c32cd1d69e10cfba36dd8c229439d295a17f3f45c8cd2d() - { - $this->assertTrue(true); - fn() => ($test . $test = $test); - } - function test5885d5aa29064af31b451a344325739b3d42fb747cb626f4d57d23103830a088() - { - $this->assertTrue(true); - fn() => ($test = ($test or $test)); - } - function test5b9d30391d411a672995d4b44d1d7d7d9620b15032dd9a7fcd3778549807ce49() - { - $this->assertTrue(true); - fn() => ($test > $test = $test); - } - function test601ffaf0632b1024210ad546875c7f5759dfcaa61e1d9d8d64a417f4ff0a5928() - { - $this->assertTrue(true); - fn() => ($test = ++$test); - } - function test60e2beb914e5d37e8e635dea63868b4f16ed8dc3094a1cd97881b82f35a78c9d() - { - $this->assertTrue(true); - fn() => ($test = -$test); - } - function test667ad8bc4a6b4d7a70bf3869be22b363ceba9c5ec3c0cb12b5f8778d9f3025cb() - { - $this->assertTrue(true); - fn() => ($test = $test -= $test); - } - function test68295bc394a857de964f6fde8665bc8d19e1de13caebd2be2fdbaa0a8702cd11() - { - $this->assertTrue(true); - fn() => ($test = $test & $test); - } - function test6d691f3f4bc56fcfb72d01828970407b86299103e7ab127ee692c5081b2d04b5() - { - $this->assertTrue(true); - fn() => ($test === $test = $test); - } - function test70a126c09c85420c5a0942ac6a100c5d8aadd14653924e7fafeaf9d3804dcc2c() - { - $this->assertTrue(true); - fn() => ($test = function () { - }); - } - function test70cfede6cd31d272cd967e6ac1fe7de1e631c7a4f33f86809145093d14d19bd6() - { - $this->assertTrue(true); - fn() => ($test = $test?->{$test}()); - } - function test714614d58fcdd8fcaefb05dd6f747a74727a86cf0511409e9cf622678cb7c785() - { - $this->assertTrue(true); - fn() => ($test = []); - } - function test722f9a71c50a63ac909d8ff7c46148aaf0a93b65dc948b6e15aa0615c2b422ab() - { - $this->assertTrue(true); - fn() => ($test = $test ^= $test); - } - function test74211e39282bcb43df2c5f4b6ae3f20fe7f07099e127652a1d808cfb57ba978c() - { - $this->assertTrue(true); - fn() => ($test >> $test = $test); - } - function test76b9ff28efca23d0dcf7bdbffadb92e363500624140a317e6ea5ad7fdb707fc4() - { - $this->assertTrue(true); - fn() => (+$test = $test); - } - function test7717949df10cd1805ec7e0b2e13ce4e603d9e8e557df475c23f7516449bf7c3e() - { - $this->assertTrue(true); - fn() => ($test = $test / $test); - } - function test7975b583644b46ad2b066c4f74329ad210b77cdadb68904abcbc0179dcf11fb2() - { - $this->assertTrue(true); - fn() => ((int) $test = $test); - } - function test7d68f13a3af3af31335081f999b13e933266c22b42fa3f5efedab480025c5a81() - { - $this->assertTrue(true); - fn() => ($test = ~$test); - } - function test8126e854bbef0a4684fab3b4ddba0d882a3e9c56c84d2c67c61e6101017421c2() - { - $this->assertTrue(true); - fn() => ($test = $test ? $test : $test); - } - function test892a660dc672fc741fd57dfd9d90a0e505f571c6f4f61497a6028a15b71d9d9e() - { - $this->assertTrue(true); - fn() => ($test = !$test); - } - function test8d497b926a1f480f73535432b35c10ae50d8164c2d0b0614e82d3c4dfc6415e5() - { - $this->assertTrue(true); - fn() => ($test = match ($test) { - }); - } - function test8e82c1e8f5c8bf48a1988eda32dd174a5e297355ac17f0f8bde0c1b9e9e9e01f() - { - $this->assertTrue(true); - fn() => ($test = ($test xor $test)); - } - function test91e6eacccf9b69f41dbdfebf3eaebe1ffaa2c784385ac02ad199645da2c743a4() - { - $this->assertTrue(true); - fn() => ($test = $test = $test); - } - function test948f104fb25985718a3935201ff5e07f4c1485831eb2f30c60b4d07f7909a64c() - { - $this->assertTrue(true); - fn() => ($test = (yield from $test)); - } - function test98e6eaea0163d66f7374ab4b9a8b55fdfd6d8e4c2da9d8fd71816c01117f4e64() - { - $this->assertTrue(true); - fn() => ($test = $test ?? $test); - } - function test99260025e5e70153368e201f6df4b6bab404cfe3239bf9799c3fa1d41b41590e() - { - $this->assertTrue(true); - fn() => ($test = $test === $test); - } - function test9a3220664483113eb690d58bdba0c7edff2438ccc46f810b3da1f3d25451b691() - { - $this->assertTrue(true); - fn() => ($test = $test > $test); - } - function test9a9eb108aa24a808576f7856c9d299ff68a24e6618167bfbf37e50781a49a75c() - { - $this->assertTrue(true); - fn() => ($test = throw $test); - } - function test9e93ac99f0f0cb368d9831c66af3e65e7a54651bea344756705616badc362186() - { - $this->assertTrue(true); - fn() => ((array) $test = $test); - } - function test9ec61ee5d5821e5f634373af23945600be369ecd1e112d7995c8d10c0eeb146a() - { - $this->assertTrue(true); - fn() => ($test | $test = $test); - } - function testa72b9c429673e7dcb0f6246725d306b792a29ea3d06eb9414ce226c617b28cc7() - { - $this->assertTrue(true); - fn() => ($test = $test == $test); - } - function testa8a4e3089c04ef8d120ce81c2197c99abf93665afcdd99d933fafba541790ec1() - { - $this->assertTrue(true); - fn() => ($test == $test = $test); - } - function testab307ecf26913e8db138a6eab93c6095f9bb49efa1bec3c1822b16a8b0d379a7() - { - $this->assertTrue(true); - fn() => ((double) $test = $test); - } - function testac6e70aea9d907ca6358230bd6438f7dcc599cbaed7e811eac09d5ef81903ab6() - { - $this->assertTrue(true); - fn() => ($test = $test->{$test}); - } - function testaf07216eff3b7e5a8f5ab25cd06299e01ad891e4eb0c5532cc61df520435441d() - { - $this->assertTrue(true); - fn() => ($test & $test = $test); - } - function testb007f60e2e265b7103b7b4609aed4086ce91359bd2505b9be2d995168c39d38c() - { - $this->assertTrue(true); - fn() => ((object) $test = $test); - } - function testb25f45631f1e75a78fedd986a4cb5a5cdf6ccf1624c531e592069968ff092251() - { - $this->assertTrue(true); - fn() => ($test <=> $test = $test); - } - function testb51d8736dfab4147e8c7dd2209f30e3e8e05f294bfb29e0bf734d5ff3faebcd0() - { - $this->assertTrue(true); - fn() => ($test = $test >= $test); - } - function testb62030b2112f30eca484c71977c2d60ed26fc274095d846dcd4bb8dd4308f7d6() - { - $this->assertTrue(true); - fn() => ($test = ( $test)); - } - function testba8c0624fe1986dbe9105c81c9ad1a0d900b3e6a0875eeeae69a30174816f35a() - { - $this->assertTrue(true); - fn() => ($test = $test::$test()); - } - function testbb2583b087ace351d6e68a133a194d6ca6df0970a52d471ebb67f0d2c2c6b902() - { - $this->assertTrue(true); - fn() => ($test = eval($test)); - } - function testbc0f1f5f41a7377bb9b73e1c9c3b511953c805de5f5f12621eade025386d2e26() - { - $this->assertTrue(true); - fn() => ($test = $test |= $test); - } - function testbd11a027c7d47b2010b99b8cb033dac9b4f3658ec5c713f0b6b756b98fb7dff6() - { - $this->assertTrue(true); - fn() => ($test = (print $test)); - } - function testbe166581de4d303e1530c304e1c738389f824453adc3649d57c1ad5552414e2a() - { - $this->assertTrue(true); - fn() => ($test = $test . $test); - } - function testbe7181f8396f34834dec417efb11110590996462da82fe17fc3ea664a026502c() - { - $this->assertTrue(true); - fn() => ($test = ${$test}); - } - function testbfbdbeb3b626a525323741b632b71383a554024084ea901aed3eacbb0b66ce78() - { - $this->assertTrue(true); - fn() => ($test = self); - } - function testc22dea0b19269eb948101d4ce866b4296dfa70b7de917ffc1bfef8d878367fef() - { - $this->assertTrue(true); - fn() => ($test = $test); - } - function testc3f566f3576deed169fb6e6d7a00ca0b0d7371b00851ab5ce36b882248d59429() - { - $this->assertTrue(true); - fn() => ($test = clone $test); - } - function testc46d9b982ca2aa560d9817ec1ff924101190f2713db3465d268c63151f62c672() - { - $this->assertTrue(true); - fn() => ($test = $test || $test); - } - function testcee27fc32bca57ff7a2bc4f2177b2aef008b98ca243f0f124661bdcc046eb507() - { - $this->assertTrue(true); - fn() => ($test % $test = $test); - } - function testcfa182b868091c449188b4c3d0b405a8408f621ed66e35c37001df6cba519ef0() - { - $this->assertTrue(true); - fn() => ($test = $test /= $test); - } - function testd063f81265e08d1d9a63b96698243eda063a53b628c391ad10e360afcefd7a19() - { - $this->assertTrue(true); - fn() => ($test + $test = $test); - } - function testd079cbee90a75da0eca0310b43086d861d913e6ba9c0f986293f106b97366589() - { - $this->assertTrue(true); - fn() => (${$test} = $test); - } - function testd193a0181c5490405c4eed11f51bd77e55239d21342b1de120eb7e78431d2a1c() - { - $this->assertTrue(true); - fn() => ($test = $test += $test); - } - function testd259fe1baf3e8327482ee7dccf9bb707380645a9b2cd3b2561a60e9bbb646518() - { - $this->assertTrue(true); - fn() => ($test = $test *= $test); - } - function testd3ca7cdfa2c4ca351812dee6c49fa7005b13a8ed108662a6407e9eecb1a13613() - { - $this->assertTrue(true); - fn() => ($test = $test--); - } - function testda39e30f2c2a6c2dfae1d7e479af7699c47f3353c9a80793ab72ce38f2860133() - { - $this->assertTrue(true); - fn() => ($test != $test = $test); - } - function testdb13b61cfb1bd105b9144a3f08c76d9fcb541a84180f417f3e459dc18e692e0c() - { - $this->assertTrue(true); - fn() => ($test = $test .= $test); - } - function testdb6e330cfbbc1888de224c46da11d3d775fed6d24833b5e8645c92c55d451dd3() - { - $this->assertTrue(true); - fn() => ($test << $test = $test); - } - function testdc760fb2385167ce745d1d628132273722058bb6536a04f1dcb099171c662259() - { - $this->assertTrue(true); - fn() => ($test = $test ^ $test); - } - function testdd21b66170ad77fa42f48c86e9f0d45e192fd18bf5aab0fcf5fdb77af22fb242() - { - $this->assertTrue(true); - fn() => ($test ?? $test = $test); - } - function testde58c609d98836436d4136f2cff5222eec077018d2e4bbcbc87a5d7429138ce5() - { - $this->assertTrue(true); - fn() => ((bool) $test = $test); - } - function teste0f45b2eb876b924ae880a58293468154536040693eb9b6ff0eb72ece44b003b() - { - $this->assertTrue(true); - fn() => ($test = $test **= $test); - } - function teste31fe019ff86c548a7297166a7edfe5ff47d57250b64225ab9fba6afb8dc60ab() - { - $this->assertTrue(true); - fn() => ($test = ``); - } - function testeb33498bbf8d351cff9c00e78b77853fd556a2abf5e909260b7e576560707c06() - { - $this->assertTrue(true); - fn() => ($test = (yield $test => $test)); - } - function testeb78628763f75133b0b2ae896c763659d2defd36ae4457f941832d64760bea55() - { - $this->assertTrue(true); - fn() => ($test = $test && $test); - } - function testef9e4692565051db81d2df69463a3e8c620f09d29fd5fe05c3fe8d62dfad4ebc() - { - $this->assertTrue(true); - fn() => ($test = $test &= $test); - } - function testf0056c3054a51b290be280f6e90b676245377a9b394dec9cfc5d53e272bd1180() - { - $this->assertTrue(true); - fn() => ($test = $test - $test); - } - function testf255f10ddac3349c7e20eb21d5e8273273244dc23b6fea086fb2f3f4f778a212() - { - $this->assertTrue(true); - fn() => ($test = $test %= $test); - } - function testfba2b0f50da2a5fda0e09793a7fd5f4765e1844fdbf7bbff75a40e8309831382() - { - $this->assertTrue(true); - fn() => ($test = $test[$test]); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test.php b/testsGenerated/Target/Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test.php deleted file mode 100644 index dbff662f6..000000000 --- a/testsGenerated/Target/Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test.php +++ /dev/null @@ -1,508 +0,0 @@ - - * @license MIT - */ -class Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test extends TestCase -{ - function test008f76009d1303daf503234d3fa5398f6cdf14b10e025889e342a56ae7a23d11() - { - $this->assertTrue(true); - fn() => $test?->{$test?->{$test}()}(); - } - function test0208811611e1e6ec10308cda8fdc9702ac4c0343790b8d03a8db5c1dd53d0b87() - { - $this->assertTrue(true); - fn() => $test?->{$test}(); - } - function test023be135f6f84797a04427d6edd10edb1b4c143716c84c0ad01087d387da8d5b() - { - $this->assertTrue(true); - fn() => (0)?->{$test}(); - } - function test032559ea203472dbf92105ec9a9e9f97afb948afadb5ff80ac5fe60598ddcd7d() - { - $this->assertTrue(true); - fn() => $test?->{--$test}(); - } - function test034a039c9b8377e9c41ebce5930e088b68762441ce9104c18da19c9d61b50cd8() - { - $this->assertTrue(true); - fn() => ($test > $test)?->{$test}(); - } - function test07939b023aa8d80bc4138b5b2ff2dee0c1efba0a213f3aa88245c204d4b96257() - { - $this->assertTrue(true); - fn() => ($test <=> $test)?->{$test}(); - } - function test099216abedf2035447359c9e65543b8aaf9b22165634470652b7194898576890() - { - $this->assertTrue(true); - fn() => $test?->{$test *= $test}(); - } - function test0d9833110ceed998dd0fbe189ac3ae7d24b94a9e2afff7469064cd653cd64421() - { - $this->assertTrue(true); - fn() => ($test == $test)?->{$test}(); - } - function test0f30facbdc0edea531c8bf24e704b76ed5c48e0846e517a95c4d10258b694486() - { - $this->assertTrue(true); - fn() => $test?->{$test += $test}(); - } - function test1049f12395580e905c99d5ba13d76fa2ed7760c32525f10f2cc478b3a57406c9() - { - $this->assertTrue(true); - fn() => $test?->{$test--}(); - } - function test10eb6cc92d8de8e0e60c3445b604d7bc4560484811e06695044a744236381838() - { - $this->assertTrue(true); - fn() => ((object) $test)?->{$test}(); - } - function test134720c6e66ac6866b431c49708cefaa63acce16861eaf82e8f073f041e7664f() - { - $this->assertTrue(true); - fn() => $test?->{isset($test)}(); - } - function test1ae857940fb1740d1166ea4115ab3d1f62351e0d52db706cd89b2ab2d2494c24() - { - $this->assertTrue(true); - fn() => (__CLASS__)?->{$test}(); - } - function test1b60fa60fe66f92cd3233052a2c6821daf921e0a8c51687c4b78208d22919374() - { - $this->assertTrue(true); - fn() => $test?->{$test == $test}(); - } - function test1f87c307b09b2a383150d9d96f1c5af9d75e145a2399852dc741bdf04d11dbeb() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__)?->{$test}(); - } - function test21b397b7f89a1e9cf5629db4f88a114a940c9f78be228013acf461e678aa9a63() - { - $this->assertTrue(true); - fn() => $test?->{$test | $test}(); - } - function test2666ff7ef96eccd3b723e48fb7e818d97f427cecef42007c3b6743fe7eb10809() - { - $this->assertTrue(true); - fn() => ($test or $test)?->{$test}(); - } - function test2876e19ac65b606972f21e3457baca56e3a1dc94774ecf74f24736191b86ee7b() - { - $this->assertTrue(true); - fn() => $test?->{$test?->{$test}}(); - } - function test288cfbdbb8884c66d8e74042bb3d9c2db4dab9c1fafe6532826b99e05e95db6e() - { - $this->assertTrue(true); - fn() => (__FILE__)?->{$test}(); - } - function test2b00d39c761a9ab1bd1ac2e856034b198d5bdbbbfffb28b4a7d3402ebb7248eb() - { - $this->assertTrue(true); - fn() => ($test <= $test)?->{$test}(); - } - function test30961f6fea6e95cfa535eabb67803a3b3e6ff97c148c2ea31726c6540244f8c9() - { - $this->assertTrue(true); - fn() => $test?->{self}(); - } - function test34ec9e15cd5d288e5e24f1d4e49a7cd678741bef89bdd0dbfe10046d721bc166() - { - $this->assertTrue(true); - fn() => $test?->{$test || $test}(); - } - function test35a0bd3c3d91f8ddff3461d5d3831cd6f734ae4a8cac585f391b50a9e60a5bc3() - { - $this->assertTrue(true); - fn() => (__LINE__)?->{$test}(); - } - function test38d3e2698a625f9a6257200381e74c98ca8863fdb9e769cc98376bd3c1f833f4() - { - $this->assertTrue(true); - fn() => $test?->{$test ^= $test}(); - } - function test400bcf2be3abdc486271da85b557510630e1e685c9974e4ef4f25d23e0f35ce5() - { - $this->assertTrue(true); - fn() => $test?->{new $test()}(); - } - function test44ff7d8ade12dfeceeb78660cf15fb1143e0e40dba355e9a8853cf0867b6cc74() - { - $this->assertTrue(true); - fn() => $test?->{$test && $test}(); - } - function test48f4c7af6d97535eb51d7394646db00f10403a91c4174cc56ea1478d6d8af09a() - { - $this->assertTrue(true); - fn() => ($test + $test)?->{$test}(); - } - function test48fbec87e70f0ae442731dd4c458b47b901b723a60c646394ab91b0d53d87c50() - { - $this->assertTrue(true); - fn() => $test?->{++$test}(); - } - function test4a16e2c19ea5a806a30cd0fffdda24eaaba46fcffc4cbce7f43aadc4ac43abb3() - { - $this->assertTrue(true); - fn() => $test?->{$test === $test}(); - } - function test4a5c71c4ba2043b86cf0428b519dcb564ee7beb57d74d0416ae000fd6c0d9da2() - { - $this->assertTrue(true); - fn() => ($test and $test)?->{$test}(); - } - function test4f74cdd38e2cde9da854b92b1011ffc68df381c1ce49e47df220ec0dc9b0e6e2() - { - $this->assertTrue(true); - fn() => ($test ** $test)?->{$test}(); - } - function test50b8231063939612e3f10b2370e18dd9576a0409c5582165135f415903553ae6() - { - $this->assertTrue(true); - fn() => ($test * $test)?->{$test}(); - } - function test50bf9078f0132689c59a717b47ba95487d8ebceb52c3fe0eb838451824f52bf3() - { - $this->assertTrue(true); - fn() => $test?->{$test %= $test}(); - } - function test5214d6dc4934be68aa8d84216eb66bb6cda4d0b27778d11d053dfc0c220b68aa() - { - $this->assertTrue(true); - fn() => (0.0)?->{$test}(); - } - function test536c1959398f0c6aef501effe4c352b7cd5710879119c0ede7d2a614ee7ea530() - { - $this->assertTrue(true); - fn() => $test?->{ $test}(); - } - function test53c9bfcec15025f8a3c6cb9d622fd6c2070a613287448a69f920fe0368390584() - { - $this->assertTrue(true); - fn() => $test?->{@$test}(); - } - function test552cdd4ae39cb0309798c621dc74992d1c8e7f08498b436653d8786eec9999a2() - { - $this->assertTrue(true); - fn() => ($test >> $test)?->{$test}(); - } - function test55363d531c2c4b6c61d44e7a11769546c07baf6d6d898cd1fe2e8713940853aa() - { - $this->assertTrue(true); - fn() => $test?->{$test **= $test}(); - } - function test5650b44105a610c1516ed629428a4457ea329a00fdc7f235eb71ff62e8533a0f() - { - $this->assertTrue(true); - fn() => $test?->{$test =& $test}(); - } - function test58e688462bff081f5e235a5c78bf934092c446c9e208f81e5c624aeaa42f8ad0() - { - $this->assertTrue(true); - fn() => $test?->{!$test}(); - } - function test5af861bccd92a280a1405449e1a059dde21c38da37f83618beb187501fb7115e() - { - $this->assertTrue(true); - fn() => $test?->{$test |= $test}(); - } - function test61a461827bb6c340569db5d9f6534fb57adb9eb5b044183c2bebcadce24bdbae() - { - $this->assertTrue(true); - fn() => $test?->test(); - } - function test636e6c2045307c0231f7163f9cd49263f57d7181a0d5b765f80c2dfec6a1d9ae() - { - $this->assertTrue(true); - fn() => $test?->{-$test}(); - } - function test68bb4116d6ff45e8974066355dbd3a20a0e5994375811c71989a4b4065d84f1b() - { - $this->assertTrue(true); - fn() => ((string) $test)?->{$test}(); - } - function test6c2e33d1002284cc1a646b14d8403d7dfd6cdb8bc078d6fddd0accab9e3d9382() - { - $this->assertTrue(true); - fn() => (__TRAIT__)?->{$test}(); - } - function test6d3d411310ba4b337545ab8ac2c0c73636cbbdccc0fd4a89665a051b46b9b676() - { - $this->assertTrue(true); - fn() => $test?->{~$test}(); - } - function test7074541f22dcb8fc88e19f35c9ca06d40bf7ef89551a3644ea4a4dd5f8ef53e4() - { - $this->assertTrue(true); - fn() => $test?->{function () { - }}(); - } - function test72003c8ce778587b2d26d7da27b3ec4301e407e36fe7abc18bd89fe303888d61() - { - $this->assertTrue(true); - fn() => $test?->{$test ? $test : $test}(); - } - function test72f5e43fd8f0a202e28273612df9015a68fe013009eec350735e1ef902b0386c() - { - $this->assertTrue(true); - fn() => $test?->{$test &= $test}(); - } - function test77b531b025a8391949a7bae77ecce768c37304799d9dfadb4b8ff27159e54022() - { - $this->assertTrue(true); - fn() => $test?->{eval($test)}(); - } - function test78867b021c484e8ab9b2bab1bcacfd92326d1655f82e35484ceb8cfe0cbed9f1() - { - $this->assertTrue(true); - fn() => $test?->{$test ^ $test}(); - } - function test79531b2b3472b180087b6c956aa007fc1545ff50c0a652bede89aa535f79a92f() - { - $this->assertTrue(true); - fn() => (__METHOD__)?->{$test}(); - } - function test7ae08d5e0930e117f862030d8634c74bea50ca3e4a6596a937dc36167dcaa05f() - { - $this->assertTrue(true); - fn() => $test?->{$test / $test}(); - } - function test7d294a8a95a7e6ca801a7a75df5ddc56a7877903e5e9c40d9cdea9e9453cafe0() - { - $this->assertTrue(true); - fn() => ($test % $test)?->{$test}(); - } - function test7f5cf3fdef6159f5dd62d66b4296a27b1a5adfecf0d2c294bc1735a005fd3bc1() - { - $this->assertTrue(true); - fn() => ($test != $test)?->{$test}(); - } - function test856fe7fed2c56b5fb8a8d4cfd947634a33d1f30a02370095288be6f349a6d09f() - { - $this->assertTrue(true); - fn() => $test?->{$test . $test}(); - } - function test85bfd76f5557860f0c9a7c58a78a56337e14062dd5bfc6048e213cfafe03a49f() - { - $this->assertTrue(true); - fn() => ($test === $test)?->{$test}(); - } - function test8772bcc173e86ab31157ad8419a54dadf584a56bea8e65fd08b25e764fed818f() - { - $this->assertTrue(true); - fn() => $test?->{$test[$test]}(); - } - function test8aa3916ce672653e29d332e3a3be4c2691be362740576923c0a6ab2c3c3a6b66() - { - $this->assertTrue(true); - fn() => $test?->{$test::$test()}(); - } - function test8bbbef78352672fca47540b039e6956516c2c131ea5efc0ed105be846a5acfb9() - { - $this->assertTrue(true); - fn() => $test?->{$test->{$test}()}(); - } - function test8c58ffa0662600d4490eb17f8c7a878445af2879b8b246ed5c405cad5e930c13() - { - $this->assertTrue(true); - fn() => ((bool) $test)?->{$test}(); - } - function test8fd777eca3564c2b3356557314f287983d01add0ce3e76563d1aa1a0176ba572() - { - $this->assertTrue(true); - fn() => $test?->{$test instanceof $test}(); - } - function test9337a95becdb4ef8f2df736c638ad128971abbe4e0b6660259c05e4e2478ab90() - { - $this->assertTrue(true); - fn() => ($test < $test)?->{$test}(); - } - function test95d45c11b19f54f4cf8add8aee1446fab131c83a082d360a1756a8158c5ae7da() - { - $this->assertTrue(true); - fn() => ($test !== $test)?->{$test}(); - } - function test96bb40f5078b2f0b169736ed5ab0264ace47321ca0f293fa37020d2851d93451() - { - $this->assertTrue(true); - fn() => $test?->{$test <<= $test}(); - } - function testa1ece6d47c8788b0528c6409e331f7cb5a027950f11ba16631855d04be9932e2() - { - $this->assertTrue(true); - fn() => $test?->{$test++}(); - } - function testa383fada74e047f569301c737dce55b149980905425c628adc17828c44796dad() - { - $this->assertTrue(true); - fn() => ($test / $test)?->{$test}(); - } - function testac2a13a8d0a871fda90509f13adfa3321c0e15fd13a77d5b087fbf08254d120f() - { - $this->assertTrue(true); - fn() => ("{$test}")?->{$test}(); - } - function testad5cfc17e6e4eb36f32a4213e0cac85d496836a04795f1572b2afc2fe12c676d() - { - $this->assertTrue(true); - fn() => ($test << $test)?->{$test}(); - } - function testaf6dd9d7e82f3056ae222e9d5f18f8288be124555c94460da3a4624894401883() - { - $this->assertTrue(true); - fn() => $test?->{$test >>= $test}(); - } - function testb28d310368f6c91e52ee473efff4973660f494f76d526efa489fc971cdabea88() - { - $this->assertTrue(true); - fn() => $test?->{$test > $test}(); - } - function testb3e2f7e3a28da4592040f68384536eeab6470f2dc4d18ebca7710d4a242625fa() - { - $this->assertTrue(true); - fn() => ((array) $test)?->{$test}(); - } - function testb3fe48de5e15bb88aafa43a518b66722f619822eb967f41adc26129e59c2f1f7() - { - $this->assertTrue(true); - fn() => $test?->{empty($test)}(); - } - function testb4f2dea0cda80698e2108abae5ad81cfd69d8c7da0be64a172fce946ec8a37dd() - { - $this->assertTrue(true); - fn() => $test?->{$test ??= $test}(); - } - function testbadfa497bfe8239ce23d5ff0b0a4e6652209b6b41494c9a841ab46590e1115a4() - { - $this->assertTrue(true); - fn() => ($test - $test)?->{$test}(); - } - function testbee71b63a5acd3fafdd2c133ef9f26c98b647147f33307ed196eb526d5911974() - { - $this->assertTrue(true); - fn() => $test?->{$test /= $test}(); - } - function testc1719ece6a00b889b17cea1ce0f2ff5c31797194ec93d54bda6c7d739155e86f() - { - $this->assertTrue(true); - fn() => ($test xor $test)?->{$test}(); - } - function testc52f5d9c8735c923995e468dcaf4e5e96b925e948ab3e61a464157cb2f94b243() - { - $this->assertTrue(true); - fn() => $test?->{$test >= $test}(); - } - function testccc55787c8883a15fa686c6b298fad2948301af8632f007802f41d11a68796c1() - { - $this->assertTrue(true); - fn() => $test?->{$test = $test}(); - } - function testd3464658989accf3e69f8aff1e5fe93adcb726fed5139ab89fb6541243982aa6() - { - $this->assertTrue(true); - fn() => $test?->{+$test}(); - } - function testd5753c0177fd90d58b0977bf0ff83c45024a6daa8d0ab15b283c68d417b18504() - { - $this->assertTrue(true); - fn() => 'test'?->{$test}(); - } - function testd78888f6ef7523b3b5725d3ce899a9a3f847873d4ffdcb7d373fd1cd37c7016d() - { - $this->assertTrue(true); - fn() => $test?->{$test & $test}(); - } - function testd83b910b68c9a2d73f24bc1ea9ca14a7ec8e1904433ce1d37471649b77980b6c() - { - $this->assertTrue(true); - fn() => $test?->{${$test}}(); - } - function testd9026d7e4dc74cf13876b19ef753b4635d7bbc58e334209265718047a8c0ec7f() - { - $this->assertTrue(true); - fn() => $test?->{$test::$test}(); - } - function testda0bddbc89d1082f28f463db226ee93d6b030ad2a84b6f1ebc0efcdca6783ecb() - { - $this->assertTrue(true); - fn() => $test?->{$test .= $test}(); - } - function testdaebf6ea2c640a9fb284d7852cd2eaa9f8e84554b1d7db8b89220f6eb8576770() - { - $this->assertTrue(true); - fn() => $test?->{$test -= $test}(); - } - function testdc3d8a2d7c32ba785e6eea8cffbbc158903f11157fd5b6b10f22b88b1eea6224() - { - $this->assertTrue(true); - fn() => $test?->{(yield $test => $test)}(); - } - function testde1974d4a3246df61d5566734403674c0dd3d575d069d971f6f839a1a9fba0c0() - { - $this->assertTrue(true); - fn() => ($test >= $test)?->{$test}(); - } - function testde603d4372a6d2c2403a7e8274b1ba3c853690ef1464c7e73ec336d6cc52697b() - { - $this->assertTrue(true); - fn() => ((double) $test)?->{$test}(); - } - function testdfaeabee75c79e37c2473907ce2a8cf88bbe84984d17d479d6e65d775241299c() - { - $this->assertTrue(true); - fn() => ((int) $test)?->{$test}(); - } - function teste25f5db052d228136e83fccaca64e7cb3b5e3d215909ffa5f18e3728a0763510() - { - $this->assertTrue(true); - fn() => (__DIR__)?->{$test}(); - } - function teste471d125c820382f051edee980daa8c56539c1897ee67a2edf7247b4fdb0bd55() - { - $this->assertTrue(true); - fn() => $test?->{$test()}(); - } - function testefb833c9630e38bbe4ca08c3e5ac2e412256a56bad6830c28baae462bb2f5fd7() - { - $this->assertTrue(true); - fn() => $test?->{$test ?? $test}(); - } - function testf1c2cf7e94bb181a5fae89f7a16f773a8cdbe8e56b47b8be3f8f10ab2eb12442() - { - $this->assertTrue(true); - fn() => $test?->{yield from $test}(); - } - function testf4db898b70151ad10652d7a3bd09254aa2cb4937bd0c6572ef444d8accaa9ed1() - { - $this->assertTrue(true); - fn() => (__FUNCTION__)?->{$test}(); - } - function testf7574a3fad409d252d13af987a86a54c3a982825c17efdca449bea9b5df85a89() - { - $this->assertTrue(true); - fn() => $test?->{clone $test}(); - } - function testfa736810bcb03a74168888eb1a50f1eee054eeebe84d6484736eee4954646825() - { - $this->assertTrue(true); - fn() => $test?->{``}(); - } - function testfad728a00ec0b6258d61bf024ab6cdcfa8863ff36dedefaf82f63113455e7264() - { - $this->assertTrue(true); - fn() => $test?->{$test::${$test}}(); - } - function testfd2c0845f5a73dc16b3f24261ca0da30a0dceec371db8331f415618b1898cfc2() - { - $this->assertTrue(true); - fn() => $test?->{$test->{$test}}(); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test.php b/testsGenerated/Target/Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test.php deleted file mode 100644 index 05efc734a..000000000 --- a/testsGenerated/Target/Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test extends TestCase -{ - function test06881bd5fd7b6b09002bc107c930e7613b3909d85a6132ac74c807d83a8b97d1() - { - $this->assertTrue(true); - fn() => ($test || $test += $test); - } - function test0715f3bb795f50caf7de5b83fe28b63d74c0db47210c24cf8b7d746608c54049() - { - $this->assertTrue(true); - fn() => ($test::$test += $test); - } - function test07539b3c790bed28889533c8f4a225463df1fe2ba3d6e8c844a370746c2b041d() - { - $this->assertTrue(true); - fn() => ($test . $test += $test); - } - function test09d59dbcf2213f3ec54d84921760d6ba5aefff7540dd7a8c1bb458d007156d82() - { - $this->assertTrue(true); - fn() => ($test % $test += $test); - } - function test0b8e4b67a37ef12eb5f8f0bd3a806cbd90ddf6161a786e2b4f1221746cd91560() - { - $this->assertTrue(true); - fn() => ($test ^ $test += $test); - } - function test0ef7020d44a1605afb88f2a0b5d7c9f023b09b0ee899ccd6d4f645f24a78617f() - { - $this->assertTrue(true); - fn() => ($test | $test += $test); - } - function test12def17991fe4edfaecce548a9d510889f15b74533ea04de46d62e8ab0ea5308() - { - $this->assertTrue(true); - fn() => ($test *= ($test xor $test)); - } - function test16f9a33cbdc965753f59919043cfa6afdcd0c82524fed309cac0966ddb312044() - { - $this->assertTrue(true); - fn() => ($test && $test += $test); - } - function test1970d7ccffd5317c82842e6d02a70c00d0ae901b033e2faa8f5ecf0e39951728() - { - $this->assertTrue(true); - fn() => ($test += $test =& $test); - } - function test1a2c784d6df771763e5ff2bd70d1f5fcd793cb8484f3f18a9ced5d3ba53a1fab() - { - $this->assertTrue(true); - fn() => ($test *= ($test or $test)); - } - function test1a5d2f809652a63e0aae512ad70dc42bec882b5e53f932e2de643bdb5acd3d72() - { - $this->assertTrue(true); - fn() => ($test *= $test & $test); - } - function test1a8e02bce41d29ce41b85818e4491352564c18b3d3c672cb7c31c0bcb5420d2f() - { - $this->assertTrue(true); - fn() => ((int) $test += $test); - } - function test1cd823d8ed1311385f71f3a85458de8ed1bb942c94730fb0a3253de48d4912d7() - { - $this->assertTrue(true); - fn() => ($test *= $test == $test); - } - function test1dc8d0b48782dd9d4d58660b17144efd168e78a9b4b45bd4f325263ed2b92719() - { - $this->assertTrue(true); - fn() => ($test *= $test >>= $test); - } - function test2766dd68662bcf310435d6b622c84482e76afffa220530b813323842f9511046() - { - $this->assertTrue(true); - fn() => ($test *= $test *= $test); - } - function test2796d0d248394101e90e15d965971c5b73160a2af5340d9fa7a4cb97e8f91c60() - { - $this->assertTrue(true); - fn() => ($test *= $test || $test); - } - function test2bf2536aaeaa720d887e55551346f07ec0b24709a8457d0a8316c94d382469b8() - { - $this->assertTrue(true); - fn() => ($test *= (bool) $test); - } - function test2f369efd8c259af5a7d54c710d291641b0ff623df721dabb61c9e33361c1bad0() - { - $this->assertTrue(true); - fn() => ($test *= __FILE__); - } - function test2fefc32eb70167e8083ee1a66418a785f066bca2e16ba282eda18916ad481f79() - { - $this->assertTrue(true); - fn() => (clone $test += $test); - } - function test2ffb2a810f45ec88ef8685c8ff143d0d8347a1d271eee30db8bfb219b1b0ec65() - { - $this->assertTrue(true); - fn() => ($test / $test += $test); - } - function test326ded6e3fb0e37680fec126e6bdb726bbd00771979a86ac75405f7adae040a2() - { - $this->assertTrue(true); - fn() => ((bool) $test += $test); - } - function test348d6bdc72c0e48d4913979d373eed7e7d0a918911846c937a0dcf1ff5a380cf() - { - $this->assertTrue(true); - fn() => ((array) $test += $test); - } - function test3ce0d11355a83a3ac022beb56580a6db650ec280b6d1e337d763951c2f644e24() - { - $this->assertTrue(true); - fn() => ($test += []); - } - function test3e3f10c6056dcbab8f8f719fe33ef9bb0f5746a5f338d17a69c721f5cedcc7e2() - { - $this->assertTrue(true); - fn() => ($test *= $test && $test); - } - function test400783296c1736081ab8de70ccd1a148252eddbaca0a6b5081635f27a11ab263() - { - $this->assertTrue(true); - fn() => (~$test += $test); - } - function test401ef85164a4a80ada0d09c665c79712d04536fa9e3b4e99cce5e6ec10c68905() - { - $this->assertTrue(true); - fn() => ($test *= $test * $test); - } - function test4170d7f655bace88a264e91d21e51407fc19d324cddada16a51958e7f7809a47() - { - $this->assertTrue(true); - fn() => ($test *= $test / $test); - } - function test41a730802b899be6a050371fb3e8245d5083b4be5b3a19ef83f86ffeee0fb35e() - { - $this->assertTrue(true); - fn() => ($test *= $test += $test); - } - function test42a15fd3951ae60419ee256bf1aa09434b6586fe14883fd8643d294055ff1ca0() - { - $this->assertTrue(true); - fn() => ($test ** $test += $test); - } - function test42df1043d9de979f2f7ee158cb24dbecf7132870740181f310d073ddcc6882e5() - { - $this->assertTrue(true); - fn() => ($test *= 0); - } - function test453c86293bb9d93dbf261719ccf6d08ffaeef9763770d7530395f1c296c69015() - { - $this->assertTrue(true); - fn() => ($test *= $test - $test); - } - function test472335f68bc87b1e5094352e90a884d961d425cfcbedd74332e81fff6de715fa() - { - $this->assertTrue(true); - fn() => ($test *= $test <<= $test); - } - function test48cd368e102a6869c1294f265763e86859d88d24c9cf924c6ceb831ec172bc3b() - { - $this->assertTrue(true); - fn() => ($test *= (object) $test); - } - function test4af1f6ad54b7df0354a45e714a68eb50a420419898a533e0cec48cecbc505506() - { - $this->assertTrue(true); - fn() => ($test *= $test >> $test); - } - function test4b04bf743658dd24ed78ef4da68591e25ac7434e7bfb7654f2adaf209578a595() - { - $this->assertTrue(true); - fn() => ($test *= $test . $test); - } - function test4c64a1bc4f3a76a3c8a41bf7d146c0d2d86758004e5d1c9337b95867ed61e16d() - { - $this->assertTrue(true); - fn() => ($test *= (int) $test); - } - function test4d84e27a1767234c1b57d96eeb12ad2137155683260f6199ce339e55f82dfca7() - { - $this->assertTrue(true); - fn() => ($test *= 'test'); - } - function test4db6f3fa3d02f29d282f2de91cf33d8d5ed1540f146d903a9c5121a195c2e91f() - { - $this->assertTrue(true); - fn() => ($test *= $test <= $test); - } - function test51ffda47f23dc12852a5ff941adee46b3482f7350a22d675dce608684d402a36() - { - $this->assertTrue(true); - fn() => (${$test} += $test); - } - function test53836c8f29914a3e99aa0054ce48de9fb95c2006c903cedfb8f4900df84e4493() - { - $this->assertTrue(true); - fn() => ($test *= $test ?? $test); - } - function test54b318a4058db792786591ff8e8f78ec50e640aa3106deb33c880973bc8b8e84() - { - $this->assertTrue(true); - fn() => ($test != $test += $test); - } - function test564b8ac25cbc0e0d6f41b57b694e32ed92052b74faa9ce4c42ebf7341d5550e1() - { - $this->assertTrue(true); - fn() => ($test *= $test + $test); - } - function test5700e8b2b9f22315a2d1d9a927aaabc9dc8e1768a05e31891648cb593256fcb9() - { - $this->assertTrue(true); - fn() => ((string) $test += $test); - } - function test5951470e82163ed827aa59c8ae5962110839a027b99258715fcaaf393189f2ac() - { - $this->assertTrue(true); - fn() => (+$test += $test); - } - function test6044f0213f394d24c14f5964d00de5010713b8d441de619ae9890f525ff181c2() - { - $this->assertTrue(true); - fn() => ($test *= $test **= $test); - } - function test63a879443d021dd2213db011ff2fb085276a11b0f0dc36dfcf67350078492a8e() - { - $this->assertTrue(true); - fn() => ($test *= $test === $test); - } - function test63f8494692ab99e7321d8009d8c3cd2b5a636ac0580460a8d46589ad10f256dd() - { - $this->assertTrue(true); - fn() => ($test *= __TRAIT__); - } - function test63fac81b9576098393a677ada531273391960bdc46a5ee6cde12c90538f55233() - { - $this->assertTrue(true); - fn() => ($test[$test] += $test); - } - function test66da8eb9550ca32fd254bdb4034d5ec772f6142fac968db1ab9181f4f5c5f33a() - { - $this->assertTrue(true); - fn() => ($test - $test += $test); - } - function test672e4fe5eee7e8bf2662d35aa9b391fb4758a86e4bf1b4d33b3c7fb96822ff05() - { - $this->assertTrue(true); - fn() => (@$test += $test); - } - function test67a47690724b36c430d5e8b83c4d535189442dc186373facbe209016759f996f() - { - $this->assertTrue(true); - fn() => ($test *= $test ** $test); - } - function test6876b5533de011d86efc64b0c9f5b0ae6e35ca1eaf47ff1d747234a5f874d205() - { - $this->assertTrue(true); - fn() => ($test *= $test % $test); - } - function test6a2ad04787d6436b5b85955e32167e3b9dae9c0630cfc6d6710397b703db8598() - { - $this->assertTrue(true); - fn() => ($test *= 0.0); - } - function test6b339aee02aab8ace4950cb2f521e2d67d1aa1dce2cc5c788b4eecc6bb2fc7b0() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test += $test); - } - function test6d12618c23df618f47c7173fc7c002602c63a0dc34c4528ec327fe78ebd7367b() - { - $this->assertTrue(true); - fn() => ($test->{$test} += $test); - } - function test6d6c0661f44335c190b514184860d84d0c98b90999986aa6705d836f08d6e55c() - { - $this->assertTrue(true); - fn() => ($test *= (double) $test); - } - function test6d8c8b9e9a3a6fb29a2ee210c8cff5f364554b396682ade068cd910cca6b28a9() - { - $this->assertTrue(true); - fn() => ($test < $test += $test); - } - function test6dea7cb9bb63ef6eb99af9424a42e6998f49d4da4a1c42479206436a6d064702() - { - $this->assertTrue(true); - fn() => ($test *= $test != $test); - } - function test6f05123c86d7bef8b9ed0825399d91337dc55b5a406743bb527ca643763d32aa() - { - $this->assertTrue(true); - fn() => ($test * $test += $test); - } - function test733680d20b14137338e90803664cc3186f7a87c70efd2ddc006dba0fe2dc9d25() - { - $this->assertTrue(true); - fn() => ($test *= $test !== $test); - } - function test752190b0ba9f3b30d4f83affb0b7a224e1a5b559051541d4ffd199296a312d82() - { - $this->assertTrue(true); - fn() => ($test *= __NAMESPACE__); - } - function test78a3c6c49fa8c0bf8cb1f32619dc65ad9b31181c017f72a6752e3337a9fea5e1() - { - $this->assertTrue(true); - fn() => ($test *= (array) $test); - } - function test7b7716161f48ae2dd54f8b911ff46dfe44804e06a8949fdc20f4963794a21aab() - { - $this->assertTrue(true); - fn() => ($test += $test[$test]); - } - function test7cb7e550c52a020a6ecef243bf4cd74503f6e8b0d0bc90ff6b5a2b2d38fb2a6d() - { - $this->assertTrue(true); - fn() => ($test + $test += $test); - } - function test7f4392eece09cc9fe005e6c7d510ad281541bd60bdfcdcb2fc09e216fd5e61fe() - { - $this->assertTrue(true); - fn() => ($test *= __DIR__); - } - function test809e9821aac0c74e47a6dc3edcc320506cbf142b64649ef4c333c486ba70d181() - { - $this->assertTrue(true); - fn() => ($test *= __CLASS__); - } - function test83d1f3bb950dfc4bfadf3e78f3ba95eabc9fb70b9be13c1de6407768ccd81422() - { - $this->assertTrue(true); - fn() => ($test *= $test ^ $test); - } - function test86e52c4c6f4ba3237261f4e1c7d056fbbc6d79154e621479e2303001bb3204fa() - { - $this->assertTrue(true); - fn() => ($test::${$test} += $test); - } - function test8d55638a94c36d3cf3950e351a0e0b3296a1d245ff18e6f950d0c8661a68eae3() - { - $this->assertTrue(true); - fn() => ($test *= ($test and $test)); - } - function test8f8923c55e0666b90760200ff02989e97303809995b7f0f09a8291ddfbe7391c() - { - $this->assertTrue(true); - fn() => ($test == $test += $test); - } - function test91b45e364d5b22f60946974539f507abf828ce40e54079e4a8b2e2626166be16() - { - $this->assertTrue(true); - fn() => (!$test += $test); - } - function test93a260dc009daf1b4fcd87a04976ff69665b33b39b2322a2cbd33e143854856b() - { - $this->assertTrue(true); - fn() => ($test ?? $test += $test); - } - function test947c05da9208103f9c7d56fa634db2e7ba75e197bff4867d47c816865ccb2fd9() - { - $this->assertTrue(true); - fn() => ($test *= $test >= $test); - } - function test95131875c6b2fa0a9e6191f42d03a1a1d79fa5ea944503731f4648079ec51858() - { - $this->assertTrue(true); - fn() => ((double) $test += $test); - } - function test989fefc40bbfb10a53abcb39c781b07ce288a9d24f3355482635f3334b7ad395() - { - $this->assertTrue(true); - fn() => ($test <= $test += $test); - } - function testa6a33548a7252cec8bebb788a766dc6ef5d76be824b969bdcac5b9daecb76246() - { - $this->assertTrue(true); - fn() => ($test > $test += $test); - } - function testadeb9dae0ae91ed1a39064ecafb6dc304e854cbc9ee0277560b77c160f42d23f() - { - $this->assertTrue(true); - fn() => ($test += $test = $test); - } - function testae2c63cbffb93dc5cf86f6c977530a3d013f6cf634f02771918a2e6205764784() - { - $this->assertTrue(true); - fn() => ($test *= __METHOD__); - } - function testaee201f1c007cd97e03258d96c714473dea1f4704c3aba5349b34822fccc6347() - { - $this->assertTrue(true); - fn() => ($test *= $test > $test); - } - function testb2ddbdb357a344448ede80188d308ae245b2529cc54bc48e0cb1bb07cc8b35ea() - { - $this->assertTrue(true); - fn() => ($test += $test); - } - function testb3f435d17d2f68cec7cfc4ac0a641a5b98f0c6d99b2590af86fe4e613ae9cb36() - { - $this->assertTrue(true); - fn() => ($test *= $test -= $test); - } - function testb83a75adf8b18256a82c376b1e5386d3e7bd98d6570faf54c58c8845d6deb6c8() - { - $this->assertTrue(true); - fn() => ($test << $test += $test); - } - function testb9a64eee73c066c74933babd0d9fd7afe410a856707f06fe5ef3100414dc5caf() - { - $this->assertTrue(true); - fn() => ($test *= "{$test}"); - } - function testbb86764d99d7efcffc17f9bd36d55cf6bc19bd0d4e046d101e8e26699f467797() - { - $this->assertTrue(true); - fn() => ($test *= $test | $test); - } - function testbc1fdea9ed03dd7f7ce7e284301527bf283c73c97cf08d5a008b7cdd1f00eb59() - { - $this->assertTrue(true); - fn() => ($test !== $test += $test); - } - function testbd81fb8d7f697d6a208dce093261be848bbd20a41f324d95f8ebce2b13101154() - { - $this->assertTrue(true); - fn() => ($test *= __FUNCTION__); - } - function testc26927f86c6d7a6ebb6a7f2c820d0ee51bb1d861cf1572fa040ded1e241f3853() - { - $this->assertTrue(true); - fn() => ($test *= __LINE__); - } - function testc3d6a93cf7a247fac199d00271ad6c2138bb658671212640d802b39e40178e32() - { - $this->assertTrue(true); - fn() => ($test <=> $test += $test); - } - function testc4677959affe49e3089c6d915bca523797c70faf2b5e9bfb583b0517f07d1ab9() - { - $this->assertTrue(true); - fn() => ($test & $test += $test); - } - function testc56462a3e035a702b35bea9c88c512daa173c1c624daa94b2f485197bc9c5713() - { - $this->assertTrue(true); - fn() => ($test >= $test += $test); - } - function testca8197c18f19d78d61e326c803c64a663f772de6fcd6c13aa32b39bc48161e9e() - { - $this->assertTrue(true); - fn() => ($test === $test += $test); - } - function testd25488a97e282900610580ab5086c104fba3e3cc7610a66a1cf83e208acbd354() - { - $this->assertTrue(true); - fn() => ($test >> $test += $test); - } - function testd8d80e73dcb9eb3878f9a03f780db5bd736f2494a5744266b18f8da7c9d58174() - { - $this->assertTrue(true); - fn() => (throw $test += $test); - } - function testdc60dc5554b8bff7f9a51a27046cb2f8488344c361bd6c8c6a69ccd02e9799e7() - { - $this->assertTrue(true); - fn() => ((object) $test += $test); - } - function teste55bbe9e9c0da82a0948bb90966a4d47ba6d6c18ad0c8e361b31a0ec151d79a3() - { - $this->assertTrue(true); - fn() => ($test *= $test %= $test); - } - function testeb99ccac1d9be836bf2f5ad593f140a4fddd6c45f5ed649469540b23f102ad3e() - { - $this->assertTrue(true); - fn() => (-$test += $test); - } - function testf0a174d39d6b5d8783b12aebf600cab82d34692520a7708a6f9f95167af6e75b() - { - $this->assertTrue(true); - fn() => ($test *= (string) $test); - } - function testfb953c35b33fc05bf28962418a2e0e65bf43707cd27a9541ec0363c13396f502() - { - $this->assertTrue(true); - fn() => ($test *= $test <=> $test); - } - function testfd9f24ac0da9141648f2edbdfa27d1d500bf08856b57a967ed379eb7adb2f621() - { - $this->assertTrue(true); - fn() => ($test *= $test << $test); - } - function testff3ca19805927f4155b39956dfa59f85012da2cf4bd328b3883d8aa7e4d5aa62() - { - $this->assertTrue(true); - fn() => ($test *= $test < $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest.php b/testsGenerated/Target/Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest.php deleted file mode 100644 index c5933d488..000000000 --- a/testsGenerated/Target/Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest.php +++ /dev/null @@ -1,507 +0,0 @@ - - * @license MIT - */ -class Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest extends TestCase -{ - function test014c1d91c6238a49b631cd02f47cbb8b46ed1f179e7235b15e52608f2a69ab75() - { - $this->assertTrue(true); - fn() => (${$test} =& $test); - } - function test02f671fabe7c72141883ffcc9a6cc95db225bcd4df092cd73fdf4d4a315b0d04() - { - $this->assertTrue(true); - fn() => ($test = __FILE__); - } - function test0391766147cbd282e8188551cdc46617d3c5c6409cf8fe51185be52924165d4d() - { - $this->assertTrue(true); - fn() => ($test = (double) $test); - } - function test0799a664c78fe7cdfc1f9d249ce444fece7dfa5a9e3426514535d9601d802151() - { - $this->assertTrue(true); - fn() => ((double) $test =& $test); - } - function test09d8c31c18c8b0ee24385b2e10503e0a14f0122160f3623ebd9aa1118cc9d7c6() - { - $this->assertTrue(true); - fn() => ($test * $test =& $test); - } - function test0cf473b638fcaad3adda51f06f5d7e4b0da1bb2d4811719702d23b37ff1564fb() - { - $this->assertTrue(true); - fn() => ($test = "{$test}"); - } - function test10bbfbd9f14de55244ca5e134f488519ff46c0f14dfad51b24b711f252d06ad7() - { - $this->assertTrue(true); - fn() => ($test =& $test); - } - function test17a8864b8eaf55838a41f5d7be65a46b965d1b462d244bee7e6af93b052f2bc7() - { - $this->assertTrue(true); - fn() => ($test && $test =& $test); - } - function test19d6e77a381973666cfdd9da949ee2474667a2fbed9282a180acc5b7e3b23425() - { - $this->assertTrue(true); - fn() => (@$test =& $test); - } - function test1d3304a900ea1ad8cb8edc8d72ac253038722da8e46a25540cf55d703e169c81() - { - $this->assertTrue(true); - fn() => ($test = $test + $test); - } - function test1dd1edf4b487239e9ccc5a8e052856edb779fe6408de038cd52d557e4fd31ad4() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test =& $test); - } - function test1deb2ae413a36a925b2042453c6c92c9bc90d3b7f35b0cdbf71d25abd59de8e5() - { - $this->assertTrue(true); - fn() => ($test->{$test} =& $test); - } - function test202dc0a371e5e0e9b5758384781df568108688c7659ee387ad390175d3aada26() - { - $this->assertTrue(true); - fn() => ($test ** $test =& $test); - } - function test214a7b8d31750078d0b4fbd3eaa698afe5b0b1284c3db8c10f1e41a92c53f1ae() - { - $this->assertTrue(true); - fn() => ($test = $test * $test); - } - function test215e195593790f2d09842940f684035bd4cdd3e90cfc1680ecdbcd20fae16d95() - { - $this->assertTrue(true); - fn() => ((object) $test =& $test); - } - function test264dc038d3b4f7a49e05ff39b899bee7ff6404eec29e49f277698e505058c31a() - { - $this->assertTrue(true); - fn() => ($test =& $test == $test); - } - function test2cbbaccc3849411c330f60c3d121faf5fd0f532a91bbcec41c3c199515289d98() - { - $this->assertTrue(true); - fn() => ($test =& $test->{$test}); - } - function test330d4862ba544595d619edd2a7e5c8b254c50ae338de9327c3c9b83f5311d374() - { - $this->assertTrue(true); - fn() => ($test = 'test'); - } - function test3762600f894f2023ca69fcf1b41295b1b51cfb55f886a8f8854c901b961699d9() - { - $this->assertTrue(true); - fn() => ($test =& $test > $test); - } - function test39c7ca0b22b509568604eb140882980e3243a95349c5da60cfeeacfe7ed954a7() - { - $this->assertTrue(true); - fn() => ($test + $test =& $test); - } - function test3b67f7661c870ae11b6e9ea4d8535adf6f401251d5acc51252f215ef395dfa33() - { - $this->assertTrue(true); - fn() => ($test =& $test >= $test); - } - function test3c558586e59b345b99b45f9aa8689ac0b907de936b996c2543d7ae8083856211() - { - $this->assertTrue(true); - fn() => ($test = $test <= $test); - } - function test3f64b551206427ff3b64843e5b696d056e8a528d7245cd927a1288b64875eac7() - { - $this->assertTrue(true); - fn() => ($test[$test] =& $test); - } - function test3fe224c004a7a134a9717f704a9bef428d7bb23ce9628657f21511b70393cc9b() - { - $this->assertTrue(true); - fn() => ($test =& $test instanceof $test); - } - function test42001db90fa2e11a86fee2146225548b8e70fc2305f8b157b3eef352770a7563() - { - $this->assertTrue(true); - fn() => ($test / $test =& $test); - } - function test49d7bf474405ecfacaa4d1104cd57fb8b3bb492f75199f3628b2c6b9c4033665() - { - $this->assertTrue(true); - fn() => ($test & $test =& $test); - } - function test5ad3af83b05798cef903baff56edeaa674ac8897a7a4a5b446a78af2daf01bee() - { - $this->assertTrue(true); - fn() => ($test = $test !== $test); - } - function test5cf42e1dc6d4cdf44bb81fc3430023d1c0ba790cf4943efe184ae2976f36eee0() - { - $this->assertTrue(true); - fn() => ($test =& $test->{$test}()); - } - function test5d2e6d726160301e2c10f8dd9c1f360e67343ba8b53510f9a692a5bfc2b8b071() - { - $this->assertTrue(true); - fn() => (!$test =& $test); - } - function test5eb96d8350f6f6fa90e45db3638aa0a56ed51be8bb0df78647cfa42b75dccf07() - { - $this->assertTrue(true); - fn() => ($test =& $test % $test); - } - function test62dedf03d2bf9ce9b44f93c85ce34dfd81b5fa936cdf23e45286d8b45110976a() - { - $this->assertTrue(true); - fn() => (-$test =& $test); - } - function test641677e96215fa0b1feae68fe1c03c66055a6fff4e6b405e5f727fdc01fca45d() - { - $this->assertTrue(true); - fn() => ($test = __LINE__); - } - function test64686633063b5475cb36e6f4b79d2514c8b950f5d52a96838a351f22bac8a28d() - { - $this->assertTrue(true); - fn() => ($test =& $test()); - } - function test65cad09cdb2acaccdd4cb62adb04fdfebc715b06b1f86a802084c08cea53aa41() - { - $this->assertTrue(true); - fn() => ($test = 0); - } - function test689bf864d2925012509adeb7732a66855b4b266db646072b5b9f8e2363991ba2() - { - $this->assertTrue(true); - fn() => ($test::$test =& $test); - } - function test6ac3fb87ce5e7e8d1d611783a4a3facc4f1ef19b4145a2ca0906cd25fef87e3f() - { - $this->assertTrue(true); - fn() => ($test = $test ** $test); - } - function test6c36c15a1daf1f622a2a266bc382a5d2754729aba098b68eeb3e2cfb144eae8f() - { - $this->assertTrue(true); - fn() => ($test === $test =& $test); - } - function test6f2381b2ad48bf6d64288a126f83acf22db8bc78e4ce6885423e1c6268f97922() - { - $this->assertTrue(true); - fn() => ($test <= $test =& $test); - } - function test71c70b45d8f7b329fde00ac98d59541547f268b1229352b240295b212379dc0e() - { - $this->assertTrue(true); - fn() => ($test = __NAMESPACE__); - } - function test720e194547b72198a325b1afec6699cdbad512e9aea996a3e7f67e1b10d5e934() - { - $this->assertTrue(true); - fn() => ($test ?? $test =& $test); - } - function test7313e1caeabab363fb168d62fd4f545bead05ad50de1b215c7615d33bd611c49() - { - $this->assertTrue(true); - fn() => ($test = (string) $test); - } - function test7a7b4031980b5039962d197cbf87a103efd34b5ee9076880587d307595ebb66a() - { - $this->assertTrue(true); - fn() => ($test == $test =& $test); - } - function test7bd79a5cf3747fdac6deb11fc71af4bec8fe81f4009d099cb1910593a14448c2() - { - $this->assertTrue(true); - fn() => (throw $test =& $test); - } - function test7bdd7efe4a69cdc5e1b31d52747a2e3331b93b7414ca457c9ad8c8606bf11493() - { - $this->assertTrue(true); - fn() => ((bool) $test =& $test); - } - function test7e9bb27f6fb24d5373fe02f257f92b4affaa2d040a69631703c552ff21d3a651() - { - $this->assertTrue(true); - fn() => ($test = $test >> $test); - } - function test80c68b301424a602508defb1b3f35237444b99043a50caab2f4f5424b318699c() - { - $this->assertTrue(true); - fn() => ($test =& $test::$test); - } - function test849436271d1d261c62c9835ba6f50cad8bea344a672cf10801d240b3b6f1da9c() - { - $this->assertTrue(true); - fn() => ($test < $test =& $test); - } - function test874b801b530f5e6a965391e02cbd976bcebe83d8cddc964212386f49f3c12257() - { - $this->assertTrue(true); - fn() => ($test =& $test || $test); - } - function test887e138e25a8a0afc31c78c5a1df5e8cd65e9131bc398c2facefb36472688b4d() - { - $this->assertTrue(true); - fn() => ($test > $test =& $test); - } - function test91c2571870a4b72c38c2b90e63e43e62352fe79e1852043ed41ac949895bd1d8() - { - $this->assertTrue(true); - fn() => ($test =& $test ^ $test); - } - function test91c393e58097d2ab5acc061d08589127f42e190931643fad5774bba0586279a7() - { - $this->assertTrue(true); - fn() => ((array) $test =& $test); - } - function test91c741ccabf51ceceaff87b274a8765455e2eb008f046a79bfdcbb1109f40d67() - { - $this->assertTrue(true); - fn() => ((int) $test =& $test); - } - function test94046b5654432751448b76891651ca92baf30652d20cab8541fff1125b49ec77() - { - $this->assertTrue(true); - fn() => ($test =& $test & $test); - } - function test95d1ca688c8da7a32f25d6f8e52aa2aaf4e27c08d3d9c8ec65f77d9dc737ffa4() - { - $this->assertTrue(true); - fn() => ($test | $test =& $test); - } - function test95f309c8c93b8818785dc106e0080b10a6e961d283e0e2e1ee970af0ee7260cb() - { - $this->assertTrue(true); - fn() => ($test = __CLASS__); - } - function test96e7da58536b833afd52806cca514430ba752d1419195d8787e2ac6c33363974() - { - $this->assertTrue(true); - fn() => ($test % $test =& $test); - } - function test99a02f7a274a7f204ce1cf747b13f33fc89a8de9f20890577f9e1ca024af0fa7() - { - $this->assertTrue(true); - fn() => ($test =& $test && $test); - } - function test9c021ef7ee1eea5b7727ca46ce8c58d87d19c2561952f187c1ec5856cdd09eea() - { - $this->assertTrue(true); - fn() => ($test = $test % $test); - } - function test9c05738f82c8d049f36ab1f7aa390cbf958d5300104ffabaca3ab077657d3e2c() - { - $this->assertTrue(true); - fn() => ($test =& $test . $test); - } - function test9e583758a0021f0b73d4fe20aa2cfca48c7b1431bfc3416fc0f8785791e04d2f() - { - $this->assertTrue(true); - fn() => ($test =& $test * $test); - } - function testa0818d5ad487bc30b190c11dc6bde1f33f7aa2ae53d41dc5027a6af51e654ac9() - { - $this->assertTrue(true); - fn() => (~$test =& $test); - } - function testa33adf7bf189ea97b005f11376c92552eb46d72bcdeaa5bbd06ba4ceb8c60ed0() - { - $this->assertTrue(true); - fn() => ($test =& $test - $test); - } - function testa5d23114d694decc2af5deb25a838527e7ef17384b2d454c6621d271b00c0e55() - { - $this->assertTrue(true); - fn() => ($test >= $test =& $test); - } - function testa7ee693696ff73454ddab064e037f9c71d5c19ba0fa509ed4c4a405c836e5a95() - { - $this->assertTrue(true); - fn() => ($test = (object) $test); - } - function testa95743ff89c33f450b5ee1875670d422fd321223abb9c7404f3ba98fa837b02e() - { - $this->assertTrue(true); - fn() => ($test = $test != $test); - } - function testabbb7d7601fbf610cbf4d07a0b6f84ba34463a58fbb0c58ef87e894cdb3f9df4() - { - $this->assertTrue(true); - fn() => ($test = $test < $test); - } - function testabd9f9fe5f6535805465d95a58b3bdd54f122e5cd917947756ab6de33bd5d1b7() - { - $this->assertTrue(true); - fn() => ($test =& $test::${$test}); - } - function testac1958da6060719813ed69a5e0596dede7d6fb8a5f5a8c514f05f06970a5f49d() - { - $this->assertTrue(true); - fn() => ($test >> $test =& $test); - } - function testb28e3fd3b7afac42cfb62bd19cda0d16b0e4eda31069fb517195e68e1e1987ec() - { - $this->assertTrue(true); - fn() => ($test =& $test::$test()); - } - function testb446095a3b464325dcfd3aa8a178dca3fcc9ba6200ff9037d020f8d39e8a0b5b() - { - $this->assertTrue(true); - fn() => ($test = __TRAIT__); - } - function testb97cb43027a4b5ffcc95896a6f79b20204d1c19d9586b9a5e1d0ca39e049549a() - { - $this->assertTrue(true); - fn() => (+$test =& $test); - } - function testb98b8995f613ffae58dd6465278c658eb504debb3517090b2b62c7bb65a723c9() - { - $this->assertTrue(true); - fn() => ($test = __DIR__); - } - function testba10d2900bddf6b0dede681eb99fa11a2dc4aae5c15efbdaeb642482cfd5b687() - { - $this->assertTrue(true); - fn() => ($test = 0.0); - } - function testbb007d4b7f61956f7f83b85cf299c30560aabaf858308edf7447ab3a5f9d2e64() - { - $this->assertTrue(true); - fn() => (clone $test =& $test); - } - function testbc6313ee4961968af956b5e95c8c165e20244c448f4d1c628f27dc7f104a2c0c() - { - $this->assertTrue(true); - fn() => ($test = (array) $test); - } - function testbced7b5b3e24c4b8b538c9fb259029b75cca9012ac109d9ae1eeef2bce2a3f82() - { - $this->assertTrue(true); - fn() => ($test = $test <=> $test); - } - function testbf8839e842a84454cd324bc38a23f6d8205f035fcefa84291a8366355e82bd5a() - { - $this->assertTrue(true); - fn() => ($test = (int) $test); - } - function testc3e56103e3817cf3a458023272a5c25f9274d966c6e6ac9ad9f9d03fa85b4761() - { - $this->assertTrue(true); - fn() => ($test =& $test[$test]); - } - function testc8dd2bda597ca89ec9e10e1e22bb3ec1241848a4269025e6bf06591f836eb297() - { - $this->assertTrue(true); - fn() => ($test ^ $test =& $test); - } - function testc904cdc6e5c2de1ab876b48972eb9d0541b0b76ab605d06a414dfe118502f09d() - { - $this->assertTrue(true); - fn() => ($test = __FUNCTION__); - } - function testcb90037072c6e2ef46c264054066dc9bb072bd66c521271f90676e42c2314e93() - { - $this->assertTrue(true); - fn() => ($test =& $test != $test); - } - function testcc3f306c53de6a9fc4e52b451fd14402d68b2463609ae64192ff33c175a5e377() - { - $this->assertTrue(true); - fn() => ($test =& ${$test}); - } - function testcd4a5aad3a9e868f19995eca2d3c4fc7ca1823c7668da67a57431e57392ce729() - { - $this->assertTrue(true); - fn() => ($test =& $test ? $test : $test); - } - function testd218c35ac7d25f4e40b7ca7e717b2faa14b35dc29afd55c396d83a27f85e6ea2() - { - $this->assertTrue(true); - fn() => ($test = (bool) $test); - } - function testd79cde27bac49f7a741d449ca524d48e9cec19bb79630eeedd6791cccee22cba() - { - $this->assertTrue(true); - fn() => ($test != $test =& $test); - } - function testdd0ed8e5a1eb3424cccbe937af0244cc93091a4f0c3b56d1555c23fd1927c862() - { - $this->assertTrue(true); - fn() => ($test = __METHOD__); - } - function testde54b0a58755a1541864894c6883160878592fbe4670b8b87a815b92d489262d() - { - $this->assertTrue(true); - fn() => ($test::${$test} =& $test); - } - function testde5afee6504997677ccca5888337bb82268b9f084d4085c46ab9c1ce6fdecc2e() - { - $this->assertTrue(true); - fn() => ($test =& $test ?? $test); - } - function testdf4eef9ed9df6f0fe9938e22e23697556b08773f36f0d33e01d12af784a235d0() - { - $this->assertTrue(true); - fn() => ($test - $test =& $test); - } - function teste54abb1fbdf43095c405262a3158100a586440403c922287ac9c7a8ba90f6351() - { - $this->assertTrue(true); - fn() => ($test =& $test / $test); - } - function teste5add2e7e4474c96598e8b46e33621d749b649bf740051c046450dbc048b4364() - { - $this->assertTrue(true); - fn() => ($test << $test =& $test); - } - function testeba62e7225cca796de37e570cf74e18c4984045b71ebbd3a60c7cc90125016e4() - { - $this->assertTrue(true); - fn() => ($test || $test =& $test); - } - function tested14d4f30158c413ef074a88d14b5b8e702c3bf61150cd9607f0840db1a5f5e3() - { - $this->assertTrue(true); - fn() => ($test =& $test === $test); - } - function tested16275df5fec39b15e5b7d89fa74dbcfba769f7ad6c494a8fcd6885f9ccd4c2() - { - $this->assertTrue(true); - fn() => ($test =& $test | $test); - } - function testee557edc13acf1a0519403389f7da427e789a93d9d903303e3a8641cad46008c() - { - $this->assertTrue(true); - fn() => ($test = $test << $test); - } - function testf0348f541a40e1b1d5fe5b6d54b740349d7770e632a187bd7749293a2647f315() - { - $this->assertTrue(true); - fn() => ($test !== $test =& $test); - } - function testf1017206e06714a968f166b22cabe3f9bf47b3c4be85bc71d7dddfa6d9989d90() - { - $this->assertTrue(true); - fn() => ($test . $test =& $test); - } - function testf568ff127ed6c176c6b2325037f0782fff1ab32d2e3efff79bcb39640a4ff709() - { - $this->assertTrue(true); - fn() => ((string) $test =& $test); - } - function testff2ae7a6e8aa0996c3fc62fa6692c0aea35937ae938166217fe9610354faf56d() - { - $this->assertTrue(true); - fn() => ($test <=> $test =& $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest.php b/testsGenerated/Target/Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest.php deleted file mode 100644 index 12e5d4f30..000000000 --- a/testsGenerated/Target/Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest.php +++ /dev/null @@ -1,509 +0,0 @@ - - * @license MIT - */ -class Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest extends TestCase -{ - function test009ca6107f7deb3ff75ad1aa41591498981c2698ad47520b90e5f9e53218917b() - { - $this->assertTrue(true); - fn() => ($test::${$test} -= $test); - } - function test010c3b68dca84c59208d43552a8adfd3e6c2ccdc98660090978df96a993cd4ec() - { - $this->assertTrue(true); - fn() => ($test /= $test % $test); - } - function test037af3d379e93afba45893677daace9acecd9331ceeb740ac97f18070a1e28be() - { - $this->assertTrue(true); - fn() => ($test /= __FILE__); - } - function test0811dd9b353aeb22eb63e45c7b8369a84d1e3724f1e491c1001a9be6515acfd7() - { - $this->assertTrue(true); - fn() => ($test -= ++$test); - } - function test087cba03b5ace8d7dacb9223f10a20cd7b680c41fe0dc5191fb98c7f179693d1() - { - $this->assertTrue(true); - fn() => (!$test -= $test); - } - function test09172494a1fd023b3b0692141e071ce7c9544859677d5f9d8c86198f8abe827e() - { - $this->assertTrue(true); - fn() => ($test /= __DIR__); - } - function test0952e1642e2e6f2b2f537eb2151e1ee2d8de5757d8de4c90c7b4441fff5eea5f() - { - $this->assertTrue(true); - fn() => ($test /= $test << $test); - } - function test11eb86fbdd24c9a2a3a944b8bf11f76e86f1fec3b0be9f4a90060becccfb40be() - { - $this->assertTrue(true); - fn() => ($test -= $test?->{$test}); - } - function test13bb94fe821e69718a1733322b70d923764a4d12c708788dc47e81d6e299b9a9() - { - $this->assertTrue(true); - fn() => ($test -= []); - } - function test167d2c5f7f237058e323bc1cfdc86f22f6c3fece69993b93bd6f7fdaee577fc5() - { - $this->assertTrue(true); - fn() => ($test -= $test); - } - function test1704c85b69cdcbe1a4b5877170a9b7de63d69ddeb10dfccb66809c9f324d13f6() - { - $this->assertTrue(true); - fn() => ($test -= $test = $test); - } - function test1952199df8108442d1af1bf8d6bf4ec969db9f14b3b01d66ae75234af239937f() - { - $this->assertTrue(true); - fn() => (${$test} -= $test); - } - function test1c7ae0c8333b0a92f0afa5d73bdd1cd9cc0ffe8b21bfb4583ce424ba7c85af78() - { - $this->assertTrue(true); - fn() => ($test /= $test >> $test); - } - function test1d037192d7f017839a4e50bded9b71219ad62b545daadd4d187ef23c0c052b3e() - { - $this->assertTrue(true); - fn() => ($test /= (bool) $test); - } - function test1d66eec4325677ce7e68cb746a9cf6db5ab0a803ac3f3012b78f0bf1f209ed7d() - { - $this->assertTrue(true); - fn() => ($test -= $test instanceof $test); - } - function test21a4ced45fba67abdd032d96bedba0b382cc5aa87f83d5f475a5b36176f13857() - { - $this->assertTrue(true); - fn() => ($test /= 0.0); - } - function test22f6add0caded7049e653d2fd97ccc82252480cfd5877e283ef3e53b3ebffd4f() - { - $this->assertTrue(true); - fn() => (@$test -= $test); - } - function test25d3096a6f01fc7d1db0fd3d4c74b84c213c71890da63a0a914b1d2a701c3fcc() - { - $this->assertTrue(true); - fn() => ($test /= (double) $test); - } - function test273de0cb3820b782dfd54c926945850058fefdee6bae462084b85fc9c65bb938() - { - $this->assertTrue(true); - fn() => ($test -= $test =& $test); - } - function test292eaa35bf34a3dd5fee0a2ee70ba5a194f7ffa8307170b0382701df52f739dc() - { - $this->assertTrue(true); - fn() => ($test /= (int) $test); - } - function test298172b696384c03f2830f2ea92321c087c24438ec7298ba1046629127f454ff() - { - $this->assertTrue(true); - fn() => ($test + $test -= $test); - } - function test2c2a27a584a1b31a793d6424a06ee4c278ba8198d66c0805e0b7fd0b67251fee() - { - $this->assertTrue(true); - fn() => ($test /= __NAMESPACE__); - } - function test302334df11ac5262522016f60e84839d70bace09b54602da50e692c59ba3f2be() - { - $this->assertTrue(true); - fn() => (throw $test -= $test); - } - function test30cabc0f21c08ec82151ad7e83221a3b5b2e1be76c1c483d57867a241d3f2d09() - { - $this->assertTrue(true); - fn() => ($test -= ( $test)); - } - function test33a85609ca829e6513cf1bc2ce30f729026cd978a6cdfb7e188842523868b97a() - { - $this->assertTrue(true); - fn() => (clone $test -= $test); - } - function test36592c17eb27077e1bff335a8a961804105dafb2093d1f00c687728948f70b19() - { - $this->assertTrue(true); - fn() => (-$test -= $test); - } - function test4084f3a21d025876aec737561bbd62882547a5390d515721eedd33f3dd94f573() - { - $this->assertTrue(true); - fn() => ($test /= (array) $test); - } - function test46045456dc9e9111d033dd1c888641b76794b9d34607494818412ce9297c136b() - { - $this->assertTrue(true); - fn() => ($test -= new $test()); - } - function test4d9767b509853b5917ec1a97324f674c3ac55ea037f66d5fbaf5fc0054b089a4() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test -= $test); - } - function test4f24eaddcb9bba12c259a23645a40c6343815ce1e873a7b70ee505a0667d3db3() - { - $this->assertTrue(true); - fn() => ($test -= isset($test)); - } - function test52ff9af229a8c500e8cac6c21b61da99a0cb6fccb1561c23f55202c6375fdfbe() - { - $this->assertTrue(true); - fn() => ($test::$test -= $test); - } - function test545eced2be81acacbb5f2d164db70c2c7ba9296a8e77a7987d24cf450014061c() - { - $this->assertTrue(true); - fn() => ($test -= eval($test)); - } - function test593283e8e4ef5dcfbbbd6f2e810505b41e57f8aed51c1b5bd2e810947862e7c0() - { - $this->assertTrue(true); - fn() => ($test /= __CLASS__); - } - function test5951eca12334b7449b7200debbfe6d60aeae2ae4c1245eb5c418376169b5164b() - { - $this->assertTrue(true); - fn() => ($test -= ~$test); - } - function test5a1aad9f17c00e4d2c17d4d35031faafa11d70b7d8347a5b205a8060de33b160() - { - $this->assertTrue(true); - fn() => ($test /= $test <= $test); - } - function test618ad9c9dd2a291b6e533e439b764dac3ae4f3263fccd5e95e9334580ecf5e25() - { - $this->assertTrue(true); - fn() => ($test * $test -= $test); - } - function test657f725fae7b1b00f26699d677376cd89b0a2ab3a7802574ffde1f0819ee2dae() - { - $this->assertTrue(true); - fn() => ($test /= __METHOD__); - } - function test65941618d0b87c400b9f5cc3678fd41ecb3c346dbc3a59c9589447f35bb029fc() - { - $this->assertTrue(true); - fn() => ($test ** $test -= $test); - } - function test65f36043cba76f31b76f46693b1012d33b3227cded94d94e98e08baaa912babb() - { - $this->assertTrue(true); - fn() => ($test /= $test * $test); - } - function test70f890442369fd99387870484bb14e7ff60b68250557668d2ee568ba30139f2d() - { - $this->assertTrue(true); - fn() => ($test /= (object) $test); - } - function test7201dbe1bba9d12e2c77bd0b0bd5e084231e59a44e81d738952fce5045ba2720() - { - $this->assertTrue(true); - fn() => ($test << $test -= $test); - } - function test7a6c3ccfcfadf644e4fc3f29220acfe8bbb2b28f9f9ea881f2bc63f3e0fc95b6() - { - $this->assertTrue(true); - fn() => (+$test -= $test); - } - function test7b12e287360911573eaa63b2a9cf70dd27d33d1593d55f8b08b320b6abfb7825() - { - $this->assertTrue(true); - fn() => ($test / $test -= $test); - } - function test7bef0972fb813cb96fcffb3f3091416eacb1a1f4bbfaf762277829e1b615bbbb() - { - $this->assertTrue(true); - fn() => ($test <= $test -= $test); - } - function test7c50f491421ecd046e2010ee80c8dec701e2b9e48ebb4f99f57fc3111eaa229b() - { - $this->assertTrue(true); - fn() => ($test !== $test -= $test); - } - function test80d44593c0cdbb909d6e9b6bdb6922153d246639da7c4bec6e7d4d428abe6db7() - { - $this->assertTrue(true); - fn() => ($test -= !$test); - } - function test83f8e5569504ef8fb81cfb42af6e3685f3fb9ec88efa0b0a5f2c0ba2e5699cc9() - { - $this->assertTrue(true); - fn() => ($test && $test -= $test); - } - function test86da48d12a2b7712ea328a289de66e849af44922d716fc0e5e4ffeb290fab64e() - { - $this->assertTrue(true); - fn() => ($test -= $test::$test); - } - function test87b61947816cd2dcb11b9b6343a3dd0f3e5072643014b9163988b7c4e34b1ac1() - { - $this->assertTrue(true); - fn() => ($test ^ $test -= $test); - } - function test893ddec614fe48083380cc74e29a1c04c3ff3bc407d14ce53f54ba99e1d810dd() - { - $this->assertTrue(true); - fn() => ($test /= $test + $test); - } - function test89bd043b1e20b2eed8f62820c5f27a1364efff8f9781b784e0946b1801d4c6d6() - { - $this->assertTrue(true); - fn() => ($test /= __FUNCTION__); - } - function test8ab5fd21c03bfad79b13f7c856538712cf56f00c5f88acb799e080e3a04282c1() - { - $this->assertTrue(true); - fn() => ($test < $test -= $test); - } - function test8df778d66245092f553b8bf19c752f762b7fd66f324e457cdbbbf4b1762df37a() - { - $this->assertTrue(true); - fn() => ($test /= __TRAIT__); - } - function test8e4cff6fcbc0a3767b2c7d23b06a78a65d984b4dd62e017000351f37adf55a96() - { - $this->assertTrue(true); - fn() => ($test || $test -= $test); - } - function test90c8a554be734afba18572484640db1567cd67236e3995ee4ea1a0af5fb12e07() - { - $this->assertTrue(true); - fn() => ((double) $test -= $test); - } - function test92cf833efe9cac35ca88b4585834322155b4d727da298747ec010d262e4afaad() - { - $this->assertTrue(true); - fn() => ($test -= clone $test); - } - function test9a0ae3ea34b22c465a09bd1b19f0308ff0977c3ccb2284d3d506ad36969a9cad() - { - $this->assertTrue(true); - fn() => ($test > $test -= $test); - } - function test9a2fc1b909363b7cff9d402d88ed1eabc05e006cce4b7f9066598038378077e0() - { - $this->assertTrue(true); - fn() => ($test ?? $test -= $test); - } - function testa1c5c75393e38f654707ffff6d080eba370e2a20b0ea2f418cd27891887a1727() - { - $this->assertTrue(true); - fn() => ($test /= $test !== $test); - } - function testa46fb83d6c5acac8f52dc57de8e37d6f022aa7bd8b2973bda693e88b4ef2cbce() - { - $this->assertTrue(true); - fn() => ((bool) $test -= $test); - } - function testa6a3cebb921d189cac19d42fc8d833c636e63ec59f61f867a89949d5111201f6() - { - $this->assertTrue(true); - fn() => ((array) $test -= $test); - } - function testa87d91272a40d8471a8e01fb829c9d9787e7025e2a554fa89cbb00e7e7f2d17f() - { - $this->assertTrue(true); - fn() => ($test . $test -= $test); - } - function testa89ff9464d2e60668c814f4c06d835e92cb69a261d188dc38c6c3b63d61364e0() - { - $this->assertTrue(true); - fn() => ((object) $test -= $test); - } - function testa9cc8cfc05132d1fbc14592df1aa92e430499127b394b662899edf439513730a() - { - $this->assertTrue(true); - fn() => ($test /= 0); - } - function testae5d9bb12ee866582fc55fe10e6ac1e1bf8ee24b36c0f1b906d7c1b59e3c85ed() - { - $this->assertTrue(true); - fn() => ($test /= $test != $test); - } - function testaeb58e4b962edb42e7f623a6cb68e9505acd4caee1de714f2c5344b6af3a87ee() - { - $this->assertTrue(true); - fn() => ($test -= @$test); - } - function testb02beb06ea82b08c7efb7b6f497fbcf623726e863a5fcfb5ed1ec2a512027cd9() - { - $this->assertTrue(true); - fn() => ($test /= $test ** $test); - } - function testb10bc04653488008767bef03d7c274b54cdc41057b9d433540df064cb2901e6e() - { - $this->assertTrue(true); - fn() => ($test /= "{$test}"); - } - function testb4622cab552772ab71e11224b8e6f8a1d0f89c8c869132b52e9c96e1782b632b() - { - $this->assertTrue(true); - fn() => ($test != $test -= $test); - } - function testb52e25d716483195af824198a76c61ccc06dcc5c68c651ac99bc3fd135bafa54() - { - $this->assertTrue(true); - fn() => ($test /= 'test'); - } - function testb95bc414249c8854ff2a4b0e8fcdf0e4e1409bdc1e81e25651690edb0b54e561() - { - $this->assertTrue(true); - fn() => ((int) $test -= $test); - } - function testb9b00ee55839cf9e07fd9ed16353c4a208b3d9b41d007d84d498f84417fc1f58() - { - $this->assertTrue(true); - fn() => ($test /= $test < $test); - } - function testb9cca09bc80d5a51e1a66044edb60caec9fb018ee2396878738deb18f174d1f7() - { - $this->assertTrue(true); - fn() => ($test->{$test} -= $test); - } - function testba37d531b108dd150ae539e67aaf77315758fff77d96e7c830f513a411bf91a6() - { - $this->assertTrue(true); - fn() => ($test -= $test--); - } - function testbc9c39e10bab170e6a262c0667178ba5553e7e09db850c74946ab048e1837371() - { - $this->assertTrue(true); - fn() => ($test & $test -= $test); - } - function testbe88a711e1eeb6a71ebb76832790907023fee7dbb25e5fc80fca1c4d33c5f28a() - { - $this->assertTrue(true); - fn() => ($test - $test -= $test); - } - function testc2e40631bb957592bcf49c545c5f6c200868fe691de71d4e97cbbf87ae555c08() - { - $this->assertTrue(true); - fn() => ($test /= __LINE__); - } - function testc3006b4e58f1f22c1bc26efcbafb8a4fcf09f8fa6023ab9b0f406e9609910d9e() - { - $this->assertTrue(true); - fn() => (~$test -= $test); - } - function testc7504e6d9c9cc4866c6ed510bf901c99784c88114daf92ff21dca4fadbfe20da() - { - $this->assertTrue(true); - fn() => ($test /= $test <=> $test); - } - function testc8ad61fc4b722aa8951bb7f5f4230c68ab12047f1adec6d4206fe54268ef7282() - { - $this->assertTrue(true); - fn() => ($test == $test -= $test); - } - function testc910ff73cb12dd26bf4e30778725ff18312ec5c5227894ad35eef7aed9d420d0() - { - $this->assertTrue(true); - fn() => ($test <=> $test -= $test); - } - function testcaa19b55aeda2814def77f8d6e415c977b9516c2f1e772fbda20733bed8ef78b() - { - $this->assertTrue(true); - fn() => ($test -= $test++); - } - function testccb3a80eac25d2831e9bac738b2243d04778000f2207e41152e2930c39b3bd8a() - { - $this->assertTrue(true); - fn() => ($test -= --$test); - } - function testcf31ff98b93ab4848a16e00596475e7b3acbd4759c6b350b0c843ba0f5aa67f3() - { - $this->assertTrue(true); - fn() => ($test -= function () { - }); - } - function testd051b9515a96cc78b6be556a77a099ea0b85ce1d4a57f044df5199357bd3dd80() - { - $this->assertTrue(true); - fn() => ($test -= $test[$test]); - } - function testd074321edd9ce6bbb991c3e65eb65513133421b3160dd76e028da9753271cefb() - { - $this->assertTrue(true); - fn() => ((string) $test -= $test); - } - function testd18877ecfeedc52c64e6c3fdeb51c8f173acad1e6794c2ef69a69a3c0402abff() - { - $this->assertTrue(true); - fn() => ($test -= $test()); - } - function teste2efc122999411951738b37c9032687afc86053a86b0c480183086299ebc1550() - { - $this->assertTrue(true); - fn() => ($test -= empty($test)); - } - function teste80dbc580444d141bd3f8f1c1e725776779b97ebc482ceee17097ef459e6c800() - { - $this->assertTrue(true); - fn() => ($test >= $test -= $test); - } - function teste87ef1c03b57b58ea5d7018a5a6cba45adf429953fad59c0e41c25ec965b4db3() - { - $this->assertTrue(true); - fn() => ($test -= $test?->{$test}()); - } - function testea39fee16bdf940d6e9dea02ac4741c8c00152c3327d7b2fb57b38ddb2bf9fa4() - { - $this->assertTrue(true); - fn() => ($test === $test -= $test); - } - function testefdb26a51f89a04482e6ef7548e771d893ad8d6e5ab953481c5cdeb3c6174f81() - { - $this->assertTrue(true); - fn() => ($test[$test] -= $test); - } - function testf29841c3d607e2ba0c933e936d670a37976dbcabd93080ba0e4ec5848d763327() - { - $this->assertTrue(true); - fn() => ($test >> $test -= $test); - } - function testf4c779d8e2f72525c58c8f6749b9cd6ee65aac823cfd758641e261518a3f9ca3() - { - $this->assertTrue(true); - fn() => ($test /= (string) $test); - } - function testf58dfa33bf69a6478560e6bd8c66df3ffc84c63003cc22b5c4e492e65ceaa190() - { - $this->assertTrue(true); - fn() => ($test -= self); - } - function testf9967b383f2d15bdb0626fc720b83186e4df5a76848b2f8b8e35915a5d4bae6e() - { - $this->assertTrue(true); - fn() => ($test % $test -= $test); - } - function testfc2a61545f9861c02cf09b1b877dfec0c9f125ecfe000437e01a3ca4f5ffb3ab() - { - $this->assertTrue(true); - fn() => ($test -= match ($test) { - }); - } - function testfecca37cdae2fa0cab0a183941ae7e20104fe9243f7e31f34891202eaf14745c() - { - $this->assertTrue(true); - fn() => ($test | $test -= $test); - } - function testff8f8b885ab0671151ff0e8c74e7ae9781e8250df34fca47785caaeb04f9248c() - { - $this->assertTrue(true); - fn() => ($test -= $test->{$test}()); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php b/testsGenerated/Target/Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php deleted file mode 100644 index 272e5bf2a..000000000 --- a/testsGenerated/Target/Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test extends TestCase -{ - function test0441009f9f40240edd912710b3e23196fce7a4c2323a0bc874a87ea66e6e3178() - { - $this->assertTrue(true); - fn() => (throw $test === $test); - } - function test06609755cadc3f4a7e1621becadd3053d3d176b987d5e05de67139225ddcfc28() - { - $this->assertTrue(true); - fn() => (throw $test = $test); - } - function test0956b72adc7a044e227f471f70622851f218e1f10bae8eeccfdd85f58c3ab4c2() - { - $this->assertTrue(true); - fn() => (throw $test |= $test); - } - function test0bf44b6115762bd8833753779bb8c9882c86d29eb886b38b71ab4fa4b081f634() - { - $this->assertTrue(true); - fn() => ($test ? $test : __LINE__); - } - function test0cfeaf2800a62be7a5b3e27713ab9265d8ccf239a505b025b0c0b3936a31306b() - { - $this->assertTrue(true); - fn() => (throw (int) $test); - } - function test0d96baad55cd50fa607430f75bb8bde90d4066db5643398370ef6a39a5084cdc() - { - $this->assertTrue(true); - fn() => (throw $test::$test); - } - function test0db6a83467c9402fa5bc282bc0853179941910a0a11432a5452534eab7c827fd() - { - $this->assertTrue(true); - fn() => ($test ? $test : 'test'); - } - function test0e40b63c48c343aa0cb09b02b645b0e28ae145dcad589ca10eeeec7f31e0b26d() - { - $this->assertTrue(true); - fn() => (throw $test ** $test); - } - function test0f2b7f7e6669b05103e3a8a0210f84db06a50e705333943972772ab2ecd5cb41() - { - $this->assertTrue(true); - fn() => (throw function () { - }); - } - function test0f9e511d1c880cb98099f87918ac4a68c84b22a2c9a109ef7af2d42b854ffa28() - { - $this->assertTrue(true); - fn() => ($test ? $test : __CLASS__); - } - function test107fd21d814c400857be214c92b72bfe7e78736119d2195d4c72f0883cc10632() - { - $this->assertTrue(true); - fn() => (throw match ($test) { - }); - } - function test10dce8e71037d428d18280fbf72608ea0ba866289a1c80cf103bf4e43b5f9b22() - { - $this->assertTrue(true); - fn() => (throw $test >> $test); - } - function test12acc7a6a8862474a7bfca88085fd663a1b0770ed01682cac63cb4505255ce74() - { - $this->assertTrue(true); - fn() => (throw (object) $test); - } - function test14d6f54a6f65ae1a7640fc4432fd3c922f1013fa4309949f0a4c5b4aa78be38d() - { - $this->assertTrue(true); - fn() => (throw --$test); - } - function test172648da82bdb7c225fb3c614c37fd4ac31c1fb1432e9c1f42e21ba4755819d9() - { - $this->assertTrue(true); - fn() => (throw eval($test)); - } - function test19975637f9ac2201838414917437259b663ad4b94e26eb4b95d61a53f99c290a() - { - $this->assertTrue(true); - fn() => (throw []); - } - function test19c566000cb24c181b36163996372f7a5527ed970e9ffb6a2c82a0e2c60a811d() - { - $this->assertTrue(true); - fn() => (throw $test .= $test); - } - function test1db220c78b27c956e00efd65237e85c08c24e13a346d28b17c5cdf6741fe5431() - { - $this->assertTrue(true); - fn() => (throw (yield $test => $test)); - } - function test2d03fb7448dad0042a6d99bf6bcc2c9738aa68a07326094cb4b4207d27c4889f() - { - $this->assertTrue(true); - fn() => (throw clone $test); - } - function test302334df11ac5262522016f60e84839d70bace09b54602da50e692c59ba3f2be() - { - $this->assertTrue(true); - fn() => (throw $test -= $test); - } - function test319b8e3858717f3116f4885c40dae0a78e91a49958f3e635173e6965d0a66e6b() - { - $this->assertTrue(true); - fn() => (throw yield from $test); - } - function test321742c7258148d5ed91dfe54b868ed45592e1c862e97e3cf8a29a99040ef523() - { - $this->assertTrue(true); - fn() => (throw $test ? $test : $test); - } - function test326dcbbbf49f031b82f2b1759ef0116c34c80474b481558e82b2e4e6ccf30221() - { - $this->assertTrue(true); - fn() => ($test ? $test : __TRAIT__); - } - function test352897241a356ad0065320359bd6378244af27abdb2b127bc3fc133aed676203() - { - $this->assertTrue(true); - fn() => (throw (bool) $test); - } - function test36631431a77d68269055f0b0586494bd66b14e2c5cf2b0fbc7c4f82984caff60() - { - $this->assertTrue(true); - fn() => (throw ~$test); - } - function test378a44e2e620155408ac5838a7a472d7ec0a0997bc6e14553df0cce2cdd1696e() - { - $this->assertTrue(true); - fn() => (throw isset($test)); - } - function test3a6ba6be217a77eaf26e0e547aa22df600a16dac20f14bd15dc1194e631b9a3d() - { - $this->assertTrue(true); - fn() => (throw $test != $test); - } - function test3ad7fd62b19aadeed7c4a8ad972c322856588f242cd3ce8086091bcd9732cd20() - { - $this->assertTrue(true); - fn() => (throw $test | $test); - } - function test3d01d86851071bbe855784cb8e4c71c279d2d7c8b26f44eb60ec2748b3061abc() - { - $this->assertTrue(true); - fn() => (throw $test || $test); - } - function test3d9415a37a0750dbe8ae986bde34c9c9201b8a5421c23828f0fb2cf75af21d9e() - { - $this->assertTrue(true); - fn() => (throw $test !== $test); - } - function test44dda1158ebf1a0cb65c15b96ab17390b137cd237c1769bbc6aa3338b68da3bc() - { - $this->assertTrue(true); - fn() => (throw $test?->{$test}()); - } - function test47b1ff33e8dc3b59daf3414a8c832466ff7625022eab58b7f1a0a0ed0edc0215() - { - $this->assertTrue(true); - fn() => (throw ``); - } - function test484af9d921357e919f146f35efd94311d606755237066c67997e86e985bcafa6() - { - $this->assertTrue(true); - fn() => (throw $test < $test); - } - function test49d16d018cc134b578b37a7997df62c0f4eee5e5d2c05c04a570043f5630f15b() - { - $this->assertTrue(true); - fn() => (throw $test->{$test}()); - } - function test4a1ac634590b2cf11ae82ce15def8fccac6c587c57464fe61d014ef793a4c45d() - { - $this->assertTrue(true); - fn() => (throw $test); - } - function test4d43c68a1bf295035af52594be43a6981e598bc5835de0d84914bb57842c9345() - { - $this->assertTrue(true); - fn() => (throw empty($test)); - } - function test506657cfa66232df9bfb8e7090c24206312c29a207c7ea8161af4bcda39175f6() - { - $this->assertTrue(true); - fn() => (throw $test++); - } - function test51b531d81abd305fdbe505b3b18932d5b97e87e201cfbefa14bbcf201624f6f0() - { - $this->assertTrue(true); - fn() => (throw $test **= $test); - } - function test52dac888a8dd8d85fdc89746cad11ba811ba1036279900c19ba3ffb50365b076() - { - $this->assertTrue(true); - fn() => (throw $test . $test); - } - function test58181516fd6ed371ce991c3c98fe71753c2c589d2ecd5481f7beb72fa4c75e45() - { - $this->assertTrue(true); - fn() => (throw "{$test}"); - } - function test589441f6d4c5af1680cb6c16270ffaf26eaa9d2ce901096ce85badde765edc95() - { - $this->assertTrue(true); - fn() => (throw 0); - } - function test5e62cdcf62286c4ffff5ba960b0e7dee37dad96082b752ae7cc475bb437b15fb() - { - $this->assertTrue(true); - fn() => (throw $test::$test()); - } - function test5f4c9d6cab00ea8691f1690c678cf5e1b6ddcaa6faa3c2ec33e95d7c8f9ba7aa() - { - $this->assertTrue(true); - fn() => (throw $test <=> $test); - } - function test607bbf6f91ffbd8f233beaa466f2a27b7c8742b55192f376e34c5e7b782bc83d() - { - $this->assertTrue(true); - fn() => (throw $test or $test); - } - function test6123d0b744644864037657e9549fdba2de55958488e87821c51f154595611180() - { - $this->assertTrue(true); - fn() => (throw $test / $test); - } - function test6263ca4eba719c4ac5941bdb4bf04c2c37d1efe28b1fe3745cf3f6978ea71448() - { - $this->assertTrue(true); - fn() => (throw $test >>= $test); - } - function test633d1c40774ed5d991aaf3e4113f0210fa6644942e16b5562eaaa1c48cf701b0() - { - $this->assertTrue(true); - fn() => ($test ? $test : 0); - } - function test6415117ef8338153e5f494dbf764f4f177e1d35fb89481a00a510c2855ab3502() - { - $this->assertTrue(true); - fn() => (throw $test + $test); - } - function test672e20b7aa37d5f2865955034f70f8476c4c3dc440ad254da99023947bd9da90() - { - $this->assertTrue(true); - fn() => (throw print $test); - } - function test683ffc51dc53b58501a5158fe77bd2a4094d37d36fd0098c057ef2e6fd9bd412() - { - $this->assertTrue(true); - fn() => (throw $test and $test); - } - function test69aed9dd7ba2047d7f83d54d97836ec6aad9754452f0d185e4155338821b4381() - { - $this->assertTrue(true); - fn() => (throw $test <<= $test); - } - function test6f31b03139c82845cad88f113f5b9097481730eed526dfd36175f60da7624fa6() - { - $this->assertTrue(true); - fn() => ($test ? $test : __NAMESPACE__); - } - function test78424bda74503b072a21fc9b6f3a8c04b17f215b82f55c558895c518718ceb50() - { - $this->assertTrue(true); - fn() => (throw $test &= $test); - } - function test7baf1a3a319fc3601068daeab591fcddd97070b5ce58e0eead69ef0903fcb3a1() - { - $this->assertTrue(true); - fn() => (throw $test >= $test); - } - function test7bd79a5cf3747fdac6deb11fc71af4bec8fe81f4009d099cb1910593a14448c2() - { - $this->assertTrue(true); - fn() => (throw $test =& $test); - } - function test813b914c484736941d519a160ebd540b72603c5b83bdd2998941e9f8c24fe27f() - { - $this->assertTrue(true); - fn() => (throw $test ?? $test); - } - function test8220596629d3a8c00e4c4c62aaacce6168c53f26575f2e2a2591ad24bc31da84() - { - $this->assertTrue(true); - fn() => (throw $test && $test); - } - function test824fef6a50be2cd544e7cf30f2fddba0f2d42ab70bc3207c56266a7b21513b87() - { - $this->assertTrue(true); - fn() => (throw $test--); - } - function test82a65185df4dc4fe796a08434fc7cd880a105751514901230f1cbe8c7a02b63d() - { - $this->assertTrue(true); - fn() => (throw 0.0); - } - function test834223a1f5df209776fe26759fdf5537286578305762914917507ce5fcf79e4a() - { - $this->assertTrue(true); - fn() => (throw (string) $test); - } - function test84f3d4c0629e445bb2cd0027645643e536d9381739a26664d4932931a7b76272() - { - $this->assertTrue(true); - fn() => (throw 'test'); - } - function test8669bb5552a5feda547afce41aded2bd8215ad73f2d7e1c92bd122914c1e67cd() - { - $this->assertTrue(true); - fn() => (throw $test - $test); - } - function test874e186c388f268bbead6bd4e02f47c59efc92f92d6e330771bcf25208417cab() - { - $this->assertTrue(true); - fn() => (throw $test << $test); - } - function test8753e114811735757aa8543ea7a06d6e2a878ba6e7bebbf7079a8b1fcd954e7e() - { - $this->assertTrue(true); - fn() => (throw __CLASS__); - } - function test88fa473649f0c6924848358d91655b6f90aa2bbeb70d1215995f2dc0d86d1b81() - { - $this->assertTrue(true); - fn() => (throw $test()); - } - function test8e6c14e3b498826b5daf7ae455a97f65d252e75bb1b5969fb2396a78c2de79ea() - { - $this->assertTrue(true); - fn() => (throw $test & $test); - } - function test9be145d9d04f0665c3bc6fcb10ce90b2e20c35c9b87a088aecb038fa5949d881() - { - $this->assertTrue(true); - fn() => (throw (double) $test); - } - function test9ce3bca2d5602b0ff4f4fb67e67cf327eecf6ce21a358221e658f83d517acf62() - { - $this->assertTrue(true); - fn() => ($test ? $test : __FILE__); - } - function testa12fa7b1edf708561073b820fb864c89a30a7d321fef9442116ebccecabaaae8() - { - $this->assertTrue(true); - fn() => (throw $test * $test); - } - function testa17817105156dc328dbbfeaad73c82a18b05a5f558d86da16cea8728fb16b308() - { - $this->assertTrue(true); - fn() => (throw +$test); - } - function testa1da06767fa4bb4f1e5c20c8c9236b0d18694bcb5d8ee491d05836726b3d817d() - { - $this->assertTrue(true); - fn() => (throw !$test); - } - function testa254f6dc4148f3697cbd6952068c81f791544635876d10df509b5298506fd926() - { - $this->assertTrue(true); - fn() => ($test ? $test : __METHOD__); - } - function testa35717b2ea30434de77d886122544ac429b6caaf8e5ced87148527899ecfa3c0() - { - $this->assertTrue(true); - fn() => (throw new $test()); - } - function testa4110e5edddaeac9a77553ef4edd72496325f9c16848074ca405ca0ae21eb9c8() - { - $this->assertTrue(true); - fn() => (throw -$test); - } - function testad7ad140b5cd03475a8fbee627b01c4188087247437dbb914f22c568f6cc4f66() - { - $this->assertTrue(true); - fn() => (throw $test::${$test}); - } - function testaf541d88483171366c87881a96c99c080858ea9913a914bd964228c5ad6133ef() - { - $this->assertTrue(true); - fn() => (throw $test > $test); - } - function testb59b701f7b1e01444645b871836c009f37cd815f6d7361b4caaaaf72297d3621() - { - $this->assertTrue(true); - fn() => (throw $test % $test); - } - function testbaa875faab2ea1b4f6025b1c3b75131b666022c210a2a5540ce7eab794b735e9() - { - $this->assertTrue(true); - fn() => (throw throw $test); - } - function testbb517ea8a26cdac2325955310e7e19b197460a890ac6f6ea016493e9978f4ee7() - { - $this->assertTrue(true); - fn() => (throw $test ??= $test); - } - function testbc4c8f609a9b5129ad81ed56ea4c4a29fe6d4000cd12606d4418cff00e959112() - { - $this->assertTrue(true); - fn() => (throw self); - } - function testbe6afe4e91c7ed904ada7b36e6367b9dd68652b65e982a96de7ba3cf787543fa() - { - $this->assertTrue(true); - fn() => (throw $test?->{$test}); - } - function testc0dad1fa5a5dc5e37ffb959648acf504af91208f0de766df985ead42cc223ace() - { - $this->assertTrue(true); - fn() => (throw @$test); - } - function testcdd0daad1a2dc14e7ec2f04d041d2439cfc7d838106ab247788322d8dee35839() - { - $this->assertTrue(true); - fn() => (throw ${$test}); - } - function testce04a3dc5a1052522f4e9fc74fcc1eb6e31f6a67ff7113dfc50c9502cacd3473() - { - $this->assertTrue(true); - fn() => (throw $test xor $test); - } - function testcf3a1aecc9d50f75009f3f5de5747c2becc44d1995ef5c36f392fcedbc21e67d() - { - $this->assertTrue(true); - fn() => (throw (array) $test); - } - function testd009238a468fe16495fe88631a8c6367b733a07b689741fc75491658293ea94d() - { - $this->assertTrue(true); - fn() => (throw $test == $test); - } - function testd49a1418dda27dbce53f6105f4b4b15832448547ad7e8e974683ba40ccc48cc1() - { - $this->assertTrue(true); - fn() => (throw $test instanceof $test); - } - function testd4d7eec4b9991638541c28fbd1769bbfc22bedbfe4812542266aa55729386a03() - { - $this->assertTrue(true); - fn() => (throw $test /= $test); - } - function testd8d80e73dcb9eb3878f9a03f780db5bd736f2494a5744266b18f8da7c9d58174() - { - $this->assertTrue(true); - fn() => (throw $test += $test); - } - function testd94228544fa7982479337d93e8df02214671b5a4585f6b209ae7a2769737dfa5() - { - $this->assertTrue(true); - fn() => (throw $test %= $test); - } - function testda90d1c7d052806cede70aa3e962bd3cdeecf69e85cf867a5017640b114a1a8f() - { - $this->assertTrue(true); - fn() => (throw $test *= $test); - } - function testde55d22816fc646ef079866bb527d3793930ff918bfe801ccf86c2fabd04fc31() - { - $this->assertTrue(true); - fn() => ($test ? $test : __DIR__); - } - function teste6508654c6385046fda63589e1a3915d2f14b52372c7c64c6368c015bfffa3f9() - { - $this->assertTrue(true); - fn() => (throw ++$test); - } - function teste7e3c18f7755b2ed65aa3295bc13897939b9c92a75d52110c59cac25087f0cdb() - { - $this->assertTrue(true); - fn() => (throw $test ^ $test); - } - function teste8299de4e3199f147edfbb045652490a7a7e59a600b8af67d1aa982cfe528e51() - { - $this->assertTrue(true); - fn() => ($test ? $test : __FUNCTION__); - } - function teste94a2ea64eeee604c7a80cb023574715d409fb5c410df385341edbe6f5a108e4() - { - $this->assertTrue(true); - fn() => (throw $test[$test]); - } - function testf6a77929e8291ef90cb10ee541f33902a8dd0fd38c0149ca5bc82fb5a511e157() - { - $this->assertTrue(true); - fn() => (throw $test ^= $test); - } - function testf84ca6a91c9c5bb1be414cde78ebd52feaeb6126f30251afc412be88a99e0bbf() - { - $this->assertTrue(true); - fn() => (throw $test->{$test}); - } - function testf9c035269282c895a8c9fafb0cfc6a00b701adc9e134c9cbaf3fdbb251f91202() - { - $this->assertTrue(true); - fn() => (throw $test); - } - function testfce091fcbc739f1c1026f8d5dbad97069ffb8f9aa462d2d8fe59e725da623f7b() - { - $this->assertTrue(true); - fn() => (throw $test <= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test.php b/testsGenerated/Target/Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test.php deleted file mode 100644 index 15f1f14f8..000000000 --- a/testsGenerated/Target/Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test extends TestCase -{ - function test00a3e1d6fb7b83d5d2d55a76c503709f0c803c79170d39c30e32b481c0de8126() - { - $this->assertTrue(true); - fn() => (eval($test) / $test); - } - function test058ee947596ba5887d32695f305a5130890aa94a631fc561040194c5c007801a() - { - $this->assertTrue(true); - fn() => ($test . ($test |= $test)); - } - function test07d34a1180b50e7336435fee371e533c0bd7693adc9a753cd35463e1f8062633() - { - $this->assertTrue(true); - fn() => ($test . __DIR__); - } - function test0ae97cd988ddba939cd2646621d3205c6274880a4dad993f0bc1b5b837e5a5b9() - { - $this->assertTrue(true); - fn() => ($test . ($test += $test)); - } - function test0bb78e536e48694f9f8e0627f500979cd4aa89521e1076540077756380062f57() - { - $this->assertTrue(true); - fn() => ($test . ($test ?? $test)); - } - function test0c3422ef41ded706c2d21add78be0a264e2fe236e312c2a9f88c045289ad85ee() - { - $this->assertTrue(true); - fn() => ($test . ($test < $test)); - } - function test0f138887dbe427665d1319c2eee524df735f1cced93a95d264acaa9fff281c68() - { - $this->assertTrue(true); - fn() => ($test . 0.0); - } - function test1344675dfec80014e2a32cf9cb9a8801b76abfea8f422afbd0bfc2355042229f() - { - $this->assertTrue(true); - fn() => ($test . ($test *= $test)); - } - function test1395b2f6637557a799400fd26039f185e703e61022b67d8103e12a9a752ea664() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() / $test); - } - function test13ea75c612b9b5071278488875330856aaa7d797d34acab8c49eaa558aa91baa() - { - $this->assertTrue(true); - fn() => (isset($test) / $test); - } - function test16920e4948a986dafc423441d983de7ae2fd9ba1def58a371ec60b9607abacd5() - { - $this->assertTrue(true); - fn() => ($test . (array) $test); - } - function test18f1c0f21949ca5fb283a698b775fb210f759abc2768d985c18923dbd08d2c81() - { - $this->assertTrue(true); - fn() => ($test . ($test <= $test)); - } - function test1982bc674cc1aa0aecbe1bce436903f6230f4ea39dca0e7625b79608b99296f0() - { - $this->assertTrue(true); - fn() => ($test . $test++); - } - function test1a822ce74a32751a849b8db6967a0d5fe77e316655e1e9284efb2ee5214a67c9() - { - $this->assertTrue(true); - fn() => ($test . ($test >>= $test)); - } - function test1bfe1c8696ba79a2389c5a1549844d92996e0314609543dfac4d4680ab6c4cee() - { - $this->assertTrue(true); - fn() => (@$test / $test); - } - function test1fe40233df78dd8b2cef5cf04ae43de9f2a982c20bf0e68fcce1c0beaee6b1b1() - { - $this->assertTrue(true); - fn() => ($test . ($test > $test)); - } - function test22f96172aba9d027681986fe8cce6dfc376209a8d3c7dc164750690528c3b58b() - { - $this->assertTrue(true); - fn() => ($test . (string) $test); - } - function test24d4650585a5a3cad093328a1b392fdc46eed8804b7a13b349b58c172c47cc46() - { - $this->assertTrue(true); - fn() => ($test . ($test . $test)); - } - function test25cd1b5b23887e604d55440541c305c0f7b748f8b3dff93b84f6f20f628d2571() - { - $this->assertTrue(true); - fn() => ($test . $test--); - } - function test282c540f91c06cf5a246f8678fa947fe69b6539543b9dce2c345e44c1dbbaa01() - { - $this->assertTrue(true); - fn() => (!$test / $test); - } - function test2b00c1082f2422a04fdaa68b04d62a5d004b83059109dfbd37d2e2b1f73f64bd() - { - $this->assertTrue(true); - fn() => ($test . ($test >= $test)); - } - function test2c5ac656bf4277bcf83188dbaea2ff043da6fe89c1398349dc8309ef75d9a0b7() - { - $this->assertTrue(true); - fn() => ($test . ($test <=> $test)); - } - function test2d22118a5fca26863f7c610e629bd33026674ff7a3474bb1646eeb6489a08eee() - { - $this->assertTrue(true); - fn() => ($test . (int) $test); - } - function test2d345a07346d36691bd21043eec5ffdd6491861c71a1f9f592fff01ad35910f1() - { - $this->assertTrue(true); - fn() => ($test . (yield from $test)); - } - function test2e0b7af4c36ed7c0baf67bd3bbc2bdf200b5dce5bf9708b645286dbfa810345f() - { - $this->assertTrue(true); - fn() => ([] / $test); - } - function test2fc176d25641c2ad34c0f94cb60f16c89f511f1dc9293fe72ce1badf012f7d7e() - { - $this->assertTrue(true); - fn() => ($test . "{$test}"); - } - function test32ce28ac9f2db0d604bc540ee15ff334e8a524d2f39fce46a1e3292bce8290a2() - { - $this->assertTrue(true); - fn() => ($test?->{$test} / $test); - } - function test345e6dc6e51c14566487a199bf7b8bc1fd712c5ffe528e28ecb8b938a0fc795a() - { - $this->assertTrue(true); - fn() => ($test . ($test && $test)); - } - function test3873ea48b6c9f6017d7ebea1c29842cb2bb75d507c5913433b73c149fb601152() - { - $this->assertTrue(true); - fn() => ($test . ($test **= $test)); - } - function test3916b2a966e0e50a06fd45bdc607d30c537cd7825e6f388fb7026f2db088605a() - { - $this->assertTrue(true); - fn() => ($test . $test % $test); - } - function test396b7a4b0cf9bbfd3589cc24858554b43d77a9d78265769d1a7206790c63640f() - { - $this->assertTrue(true); - fn() => ($test . $test->{$test}); - } - function test3c54be8065819e5bac2add7d56bf4ff64e019d81d61fb1250b22672141fcc0e0() - { - $this->assertTrue(true); - fn() => ($test . __FUNCTION__); - } - function test3dc7e7af5c819aeeaf8bd6fe1cfe34d9827821bb39474ca1a02976e32aea8aa0() - { - $this->assertTrue(true); - fn() => ($test . ($test >> $test)); - } - function test4194b6006e1ef69e733d64f60eafcea443852b1f06a2e754614434ffde37295d() - { - $this->assertTrue(true); - fn() => (~$test / $test); - } - function test41959e172e8aa233756ff1e5f2fd0a15763c4ffe0fc9b7ea40e971aab7a358c4() - { - $this->assertTrue(true); - fn() => ($test . ($test ??= $test)); - } - function test43afab8f5a607a282926b4029e992b356d139726f4caeddcda461445eb83230a() - { - $this->assertTrue(true); - fn() => ($test . ($test &= $test)); - } - function test446059e51f70585db956cca83499b8ccf157fb3a07100b1272d3b47662fa14e0() - { - $this->assertTrue(true); - fn() => ($test . __FILE__); - } - function test47a3ba12950d77648ddb39e5416a71f68cb3a86f9a9623bdf8c5651e25f21eda() - { - $this->assertTrue(true); - fn() => ($test . (double) $test); - } - function test4955fb1d1c92d65173b8fa7d782ca6dcfd5901a40bbafe1c8949b88ec407ddb1() - { - $this->assertTrue(true); - fn() => ($test . --$test); - } - function test4e1b5369356fef9aea6cb2dd07d91bf349ccc74995eb522e0d243eb7b3e48608() - { - $this->assertTrue(true); - fn() => ($test . ($test <<= $test)); - } - function test4e3fa674ff2a36fd52ea55b34a2b4cfc17dfe92694703f6b902f4e5de3c91434() - { - $this->assertTrue(true); - fn() => ($test . __LINE__); - } - function test4f7bb9645f48caf702d917abf3e1aef171afaccdfe2c126aef64aaae054cbce8() - { - $this->assertTrue(true); - fn() => ($test . ($test ^= $test)); - } - function test50ca2054dcb52d6cd87f0a2b721d594cd2d09b98988581a427a32a1abed54ad1() - { - $this->assertTrue(true); - fn() => ($test . ($test ^ $test)); - } - function test55bda07b890a66b5c6e35cca374f9418fe98f02fbbe6e86a8508ae2afd5fccfd() - { - $this->assertTrue(true); - fn() => ($test . __METHOD__); - } - function test572ee030def654d105ca1bf1742ee6747d9cdb05e02cb9d812a5e550dc5686bd() - { - $this->assertTrue(true); - fn() => (clone $test / $test); - } - function test588a329a77545c290e03fc26ff60bbb7c955e1771c6ef7d1bca814d0dda9c6b8() - { - $this->assertTrue(true); - fn() => ($test . $test ** $test); - } - function test5a4cd517d8f96b7cf0cb0e01adb3d5f459d94b126b3d4cffccde1ca5891fd136() - { - $this->assertTrue(true); - fn() => (( $test) / $test); - } - function test5c292bd2cf517358a5236f67273391c1edbe296af7b45b074571b5da0eef2616() - { - $this->assertTrue(true); - fn() => ($test . 'test'); - } - function test5c465f024832fae79d140368691be8c0c7d2e7666e231d06a72fc706934d6e33() - { - $this->assertTrue(true); - fn() => ($test-- / $test); - } - function test5e0a7796537b1a0f8641b18d3934e3e611b801fd318bed7285472d68364b15db() - { - $this->assertTrue(true); - fn() => (($test =& $test) / $test); - } - function test65c539af1abe6ff53ea0a879ec5c155aab1fc0f271fe53f655a6bf7dd502616c() - { - $this->assertTrue(true); - fn() => ($test . __NAMESPACE__); - } - function test6682c9102125fd27c79d715fe846820f9d2eba5b6bd52909554b2801756adb29() - { - $this->assertTrue(true); - fn() => ($test . $test * $test); - } - function test6933c3244411e4b65d426ffd6782b0f9e6fc5d7bf048b9a86cdffb26c7b3e2ad() - { - $this->assertTrue(true); - fn() => (self / $test); - } - function test717d4011b130d48ef88498c0df0d281077147f1e223b2454c0ffb0cd7aec469e() - { - $this->assertTrue(true); - fn() => ($test[$test] / $test); - } - function test7263943a971adb2024f10cbbd562f0e51b26a325affbeeb2ea008048a69bdee5() - { - $this->assertTrue(true); - fn() => ($test . +$test); - } - function test7852192a1ab37b17b16c44206b733ed98994f1bafee38c9c8fecc13064521e38() - { - $this->assertTrue(true); - fn() => ($test . ($test ? $test : $test)); - } - function test7add50121abef772043d102b861f698509f78abd8ad977cb1c24f1737bda9cc4() - { - $this->assertTrue(true); - fn() => ($test . $test / $test); - } - function test8826a7f293acaad569a41e30507c3a82376bf84eade9e55698bd356ad99bc553() - { - $this->assertTrue(true); - fn() => ($test . ++$test); - } - function test88d3ba689ea6706d9de21812ad3afdcba52aa4f92bc8dd84ed3d1d12e2fb209f() - { - $this->assertTrue(true); - fn() => ($test . ($test & $test)); - } - function test890cb4669abf075f5f0c3cd9a7faae5d0eb4bce7afb47ee252ac17fb1adc395f() - { - $this->assertTrue(true); - fn() => (function () { - } / $test); - } - function test8cda66a9231ba919079073aea86fe11704226f3e8380359c5fb6b1344fe42c69() - { - $this->assertTrue(true); - fn() => ($test . ($test << $test)); - } - function test8d892d2a8f8509f4dbe8bc5ee810cdafe7a45596c9c51f85a9335164a57ba7c5() - { - $this->assertTrue(true); - fn() => ($test . (bool) $test); - } - function test8dfc0314587ccf98e9991e4266a93c75e4d2f00d9717d613c6cfa230314fec1e() - { - $this->assertTrue(true); - fn() => ($test::$test / $test); - } - function test956ded35045daa3242b0f1da099e40915e6d07cf5e863aab2a32f27e6bd30964() - { - $this->assertTrue(true); - fn() => ($test . (yield $test => $test)); - } - function test9b709deb48ceee261a3bb36494a8764293a759901ac23cf95cfddfd3eb3c93d4() - { - $this->assertTrue(true); - fn() => ($test . ($test == $test)); - } - function test9c5ce568a3566c011e26eadea51f2074bd889a6d569c49a3fa0b2c64f67a0347() - { - $this->assertTrue(true); - fn() => (($test = $test) / $test); - } - function testa03eaf43d81e58cb7bbb2b224ea5db370da6be25ad04951af1f8766dae364478() - { - $this->assertTrue(true); - fn() => ($test . throw $test); - } - function testa396a85f605eea51a0cb3a1b489383d7327ed03b2fb54b5e52ff2e90dd9a3041() - { - $this->assertTrue(true); - fn() => (new $test() / $test); - } - function testa8406563b222a823dae9191395f51b3086a35a82950b6dd0780fb922406fba69() - { - $this->assertTrue(true); - fn() => ($test . ($test -= $test)); - } - function testaafff63fac874d64139d45ac533a9197e350f97d0d6e3e0e4acb900597b110ad() - { - $this->assertTrue(true); - fn() => ($test . ($test - $test)); - } - function testb5c734e4d062b9546212610770584627ec77f9977892830cec3c37d173fb3d9e() - { - $this->assertTrue(true); - fn() => ($test . ($test != $test)); - } - function testb92cfe211ef249849f78e876d778d2d36ebce9333820df5bc61e58e10f665bf6() - { - $this->assertTrue(true); - fn() => ($test . ($test || $test)); - } - function testbc60182255a017d73f7210241bf1e6d6278110e0e21b5e571ecbf0014f4990db() - { - $this->assertTrue(true); - fn() => ($test . ${$test}); - } - function testbf08b80dbab1d2d91cf8283d84e51df49ef69ff5c1627183416ebbc42f117bf7() - { - $this->assertTrue(true); - fn() => ($test() / $test); - } - function testc01cb1b3209cbadda73aaaaf03dd53f62b379af8d3d4e66145cae7e680cd3f5e() - { - $this->assertTrue(true); - fn() => ($test . $test::${$test}); - } - function testc6ac33de47d17a1eb4e2186e3ec3848c7c716d28f2cc77a6e8950ead0f8edc27() - { - $this->assertTrue(true); - fn() => ($test . __CLASS__); - } - function testc7e99090a852b3ca14b725b4f8b99b213f814b3c8d6630e8b55238b7f361f41c() - { - $this->assertTrue(true); - fn() => ($test . $test::$test()); - } - function testd12f4dbe9aa0316d5fe5e4632bfd769ee7fe53b4a8ce24041e38062d72f1fc31() - { - $this->assertTrue(true); - fn() => ($test / $test); - } - function testd32ce2bfc9677287fb8f63494af74efbcadc8a376889b3767f972e178dd05c3f() - { - $this->assertTrue(true); - fn() => ($test . -$test); - } - function testd47bb1838e6a11c60b8d33bed38071cc10ef865079482900db59c1cbf3af2ddf() - { - $this->assertTrue(true); - fn() => ($test . (object) $test); - } - function testd6eadb4b6b0761c0943f5637fdc8c8315a30440e67799121071e631708043106() - { - $this->assertTrue(true); - fn() => ($test . ``); - } - function testda2c3bc0fa36ebc926cdd06e8f2853e41d149e0fe164604099e2af483832f7f7() - { - $this->assertTrue(true); - fn() => ($test . 0); - } - function testdbb172819f8a14ca66fa0396316a3fc12517a8a0985f41693b3041eaa68c0d56() - { - $this->assertTrue(true); - fn() => ($test . ($test %= $test)); - } - function testdd0136098a810fe7baecbec95e771da0ec494d583440af2d7997ed26a8731def() - { - $this->assertTrue(true); - fn() => ($test . ($test | $test)); - } - function teste0e00eba30c10fda666a93cf0a835582dff670e0b56a7356906ec0e7cae7bc94() - { - $this->assertTrue(true); - fn() => ($test . ($test === $test)); - } - function teste2be12e8a558c5fdbfce8e2c82c6693903749bbaac807de3cc2dc8b66b5ddc82() - { - $this->assertTrue(true); - fn() => ($test->{$test}() / $test); - } - function teste7066aaa11a5c4a3c7645b8f59976046ea96c0bed38df0a459e4dc4d69332102() - { - $this->assertTrue(true); - fn() => ($test . (print $test)); - } - function teste8e4885ca19cdf04281b0dc812fba87096d285a631b15d81ab37427b82d8a1b4() - { - $this->assertTrue(true); - fn() => ($test . ($test /= $test)); - } - function testea751300d3a82f047d97b661e7129db06509756a49cfa85b705bf86f4e75f60d() - { - $this->assertTrue(true); - fn() => ($test . ($test .= $test)); - } - function testeb60940ac86b40399561d5dbb6460e42ccadb8694804b7718ca641668bd359db() - { - $this->assertTrue(true); - fn() => (empty($test) / $test); - } - function testec3517f5408f9ce4672b778bcd545a1fe3189a273770ad212059bf20624eac63() - { - $this->assertTrue(true); - fn() => ($test . __TRAIT__); - } - function testee7dd4327c5ce1f5476bcd262461774008c3af212802c11b992635e7564b982b() - { - $this->assertTrue(true); - fn() => ($test instanceof $test / $test); - } - function testf0f198c579aa07922a72a1fd2f310aee3a8dc330fb7d88cfd205026ad799f412() - { - $this->assertTrue(true); - fn() => ($test . ($test !== $test)); - } - function testf0f9e7c46e787e96a3780d408a533f7674ae3639038a05c5e89c44c881b5c270() - { - $this->assertTrue(true); - fn() => ($test . ($test xor $test)); - } - function testf5d5c4268c635b477e7e5196a2a742cd2d61442db2e976b755e1b742ea85a077() - { - $this->assertTrue(true); - fn() => ($test . ($test + $test)); - } - function testf70e22e304a2dd6d6885298dca41dc4ccd2ea69480cf78a06aaad4a96c5ee4ef() - { - $this->assertTrue(true); - fn() => ($test . ($test and $test)); - } - function testfaa4904d9b4f92c541174c2aab0a9b681d7c910db98169f85b83c7c6661a2fd6() - { - $this->assertTrue(true); - fn() => (match ($test) { - } / $test); - } - function testfc21e2405c60eb266fab05dab2cf2beed63de0a89842679ccba7152e08f5ffc9() - { - $this->assertTrue(true); - fn() => ($test++ / $test); - } - function testfc6236ba354b102bec5a4ee6a53233e1b554d1d74f2fea2a6ca28f8ff3f8dc30() - { - $this->assertTrue(true); - fn() => ($test . ($test or $test)); - } - function testfd92a6d03c2a5360d3507ab27df23a5cc57498aa0353586bfe6e814b2a838dd7() - { - $this->assertTrue(true); - fn() => (--$test / $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php b/testsGenerated/Target/Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php deleted file mode 100644 index 68c95392b..000000000 --- a/testsGenerated/Target/Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php +++ /dev/null @@ -1,513 +0,0 @@ - - * @license MIT - */ -class Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test extends TestCase -{ - function test006229d4900b16655b8e776283d918bac580720be60007d7f695f165a3b462a2() - { - $this->assertTrue(true); - fn() => ($test .= $test %= $test); - } - function test00772fbde4bfbc1f95e10c94726fae22c120a0bdc5cceb51ddae7a276baf970c() - { - $this->assertTrue(true); - fn() => ($test .= throw $test); - } - function test04fbc776ea30fd41370b2678aff42b530f492f7a15c67e841aa68435e2982d6c() - { - $this->assertTrue(true); - fn() => ($test .= $test <= $test); - } - function test08d43c73f38ab08901f6ed46ceaca3acc60b18ba5351522266b318b40054fa5f() - { - $this->assertTrue(true); - fn() => ($test .= new $test()); - } - function test0de69afbb6ee50d116c9556555acd5681ae536540c724b0e4fb365a8b683aab5() - { - $this->assertTrue(true); - fn() => ($test .= $test |= $test); - } - function test0e81bf71afed943eb0ad0ce9e114a0f92b7b9903c39d898faec722f7795364bf() - { - $this->assertTrue(true); - fn() => ($test .= $test == $test); - } - function test0fad5911dee8aad1b6c114c1da5e4b40175484eeed3534d958f976bd5fecce52() - { - $this->assertTrue(true); - fn() => ($test::${$test} /= $test); - } - function test0fb66d92462c48d07f5c574d45280a8d986855436eb1853601bfb22d22866c22() - { - $this->assertTrue(true); - fn() => ($test .= $test ??= $test); - } - function test19300c9ad7ac704a5c2aaa969eb93d1ad6e3a87b35865fb51e8c7f5e9708802b() - { - $this->assertTrue(true); - fn() => ($test .= $test); - } - function test19d3a5aad503dad2706a43a928491334b95d2b1c5e263d4d3848964e45a7767b() - { - $this->assertTrue(true); - fn() => (~$test /= $test); - } - function test1d66546c24b02141a55d23581849963447d59ed8f751a82dc937f371b1556ae4() - { - $this->assertTrue(true); - fn() => ($test .= $test < $test); - } - function test2275a6c2adb2a03cf6d8219554d4a856fac449d6c73fe46ff438a285cf6e774d() - { - $this->assertTrue(true); - fn() => ($test .= $test::${$test}); - } - function test2625e94637c01c26c2a7bfdb9e92870456d080207129a36eaf07fedb4ad3bf61() - { - $this->assertTrue(true); - fn() => ($test .= __FILE__); - } - function test29bea9f8546b6ba94392012d515e0fdf6b0ab9b3462f00d2d808cb6ebd331b4a() - { - $this->assertTrue(true); - fn() => ($test .= $test ?? $test); - } - function test2ddc3350dde1c41f0aec2452eecd5d621115c73a84345f14b8141f7ed43d88d1() - { - $this->assertTrue(true); - fn() => ($test .= (double) $test); - } - function test3122290605048214b665520508c0ed3b06b28cee3a92e1ae3bbcae8edbff68ab() - { - $this->assertTrue(true); - fn() => ($test .= __TRAIT__); - } - function test31a4631e51597c56da7ba512162af274c0d779d67524e6df0d6a25920150e602() - { - $this->assertTrue(true); - fn() => ($test .= $test != $test); - } - function test33b07089937b25c0e8bde6f53532ef9c33b3654374b5f27aa0d04d8155b44d4f() - { - $this->assertTrue(true); - fn() => ($test .= $test - $test); - } - function test3706a51fc748477256de02d03750606934cbc8865f470ccafc96da83f6aa55bc() - { - $this->assertTrue(true); - fn() => ($test .= (yield from $test)); - } - function test384c2a69f5f18639531d9f2de346131c0c05a7fe7d0fe6326d4832826c19d646() - { - $this->assertTrue(true); - fn() => ($test .= ++$test); - } - function test3b492908aa8e8b1e884cc35b398f0c838b97a9768a8eaa0517d1840b67024913() - { - $this->assertTrue(true); - fn() => ($test->{$test} /= $test); - } - function test3bddb9698181fe35883b1731d9c570a708c9338c12b08a1531026cb9e13f7c71() - { - $this->assertTrue(true); - fn() => ($test .= --$test); - } - function test3c1b93bd2d4fc1480d3c494b0fd43fb9358fea471c2d80143502d17b326b91aa() - { - $this->assertTrue(true); - fn() => ($test .= $test ** $test); - } - function test3d299ac9a7a4498c6cb57226a7847a27fa4ef88c710c1de98ec6f412e1feaf77() - { - $this->assertTrue(true); - fn() => ($test .= $test ^ $test); - } - function test406b01fd3502187b713c25c1574b17fbb6c254375341742f1f16ac20f6040034() - { - $this->assertTrue(true); - fn() => ($test .= $test /= $test); - } - function test42cba10eb4030cd412597daabb7adc8a8bcf2bc7f310d033796766b2ec70743e() - { - $this->assertTrue(true); - fn() => ($test .= ``); - } - function test48b14fb35d5d722bb3140c37e62f500ffa8f3b340bb98c9b19731ed3aece3800() - { - $this->assertTrue(true); - fn() => ($test .= $test >= $test); - } - function test4b1780a1f689c15cf9d857c6c355424a982fa1b3468c02a4bdcdcbfffa1b5952() - { - $this->assertTrue(true); - fn() => ($test .= match ($test) { - }); - } - function test4b58754ca50cbf223909fb1e9d34b6553ace80e8c52d00f4494da452b5b29904() - { - $this->assertTrue(true); - fn() => ($test .= $test::$test()); - } - function test518113caf73ee4785f1bdf38c9c2ff1be6d7bb972c6aad3622e064a506b043d5() - { - $this->assertTrue(true); - fn() => ($test .= $test && $test); - } - function test5189fb5a8392a767bc74d787e7803ef1608239cd36507e8c6b5bd11d2cefd44d() - { - $this->assertTrue(true); - fn() => ($test .= $test & $test); - } - function test56ac162cff2c3f437ccc7d24f3c159c1dfee5e83ebfdff39cf372dbf8e371782() - { - $this->assertTrue(true); - fn() => ($test .= __LINE__); - } - function test5a1d5c7b0fe59304768adf3071467af1a9b4a96c6ffdd98c10a48311e8bbe288() - { - $this->assertTrue(true); - fn() => ($test .= $test / $test); - } - function test5aad9d3a5ffff9c43da07fadd6f2c4230294fbe587c9cab488f11e0617d921ab() - { - $this->assertTrue(true); - fn() => ($test .= $test ? $test : $test); - } - function test5cfe153cae80d0dc3a6f3c4a0a0138eead33b6289b34e0171d9dc50fcd01361e() - { - $this->assertTrue(true); - fn() => ($test .= @$test); - } - function test63cc06fe89028451a7473b998959962b44a50fb78b20bf36b6285bc1335075fa() - { - $this->assertTrue(true); - fn() => ($test .= $test->{$test}); - } - function test65d81c29c3a1d2955db027f7607467b83af80765af7080f30cf24c32cc1e25d2() - { - $this->assertTrue(true); - fn() => ($test .= 0); - } - function test6854bd3107b56ac91b1904f5231081b05d2c89021a6b99e92a1e80398e7ce1c6() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test /= $test); - } - function test68d00d07b7de86f79fb329d5c5ed84559ebf2760c562ba7394ff5a62cf05094e() - { - $this->assertTrue(true); - fn() => ($test .= $test | $test); - } - function test697d5ad2088cca073d0ba0e98ab352d634ec2ae3e59d26504ed54d2b877f882c() - { - $this->assertTrue(true); - fn() => ($test .= ${$test}); - } - function test6bd5dbdd236c3f0d20f36d23662e8beab4d860fe29628319629b3bff58db8d53() - { - $this->assertTrue(true); - fn() => ($test .= empty($test)); - } - function test6bde304b76813e0ced100790cb7a6a2b118cf81e18c5eba742ea6d084defb596() - { - $this->assertTrue(true); - fn() => ($test .= $test->{$test}()); - } - function test6e9ce7c014bd2d83e83022ced43f778fc5941127eba30e453789cea69a514b1e() - { - $this->assertTrue(true); - fn() => ($test .= $test <=> $test); - } - function test753fa5b05e18341927a50b8c5e8f9c7de2927c84cafc670c661712d003cf604e() - { - $this->assertTrue(true); - fn() => ($test .= $test !== $test); - } - function test7d9334dba43467705e255aac84ba4a43ba83c6ce61cc71ba2b07ec8b54879aef() - { - $this->assertTrue(true); - fn() => ($test .= $test()); - } - function test7e5451760d67d2d846643ce7536405f8868aaf84f58fc7634df34568b2c38cfc() - { - $this->assertTrue(true); - fn() => (clone $test /= $test); - } - function test7ee676adc33f6562efd996aa270f6573618135cf9128f1e42a6155512319da3c() - { - $this->assertTrue(true); - fn() => ($test[$test] /= $test); - } - function test7f3ebf0612f6598f7886ed534531abaeca4f309fe1216ef5b71598dd464a0a53() - { - $this->assertTrue(true); - fn() => ($test .= $test >> $test); - } - function test820562fd19fc1c9a05edb6cda124754eb185d2a30d81bf255c5340ff40a054c1() - { - $this->assertTrue(true); - fn() => ($test /= $test); - } - function test827873e58288daa69063fbbf2fd801a3a0d899c498ae635191722b0e8da892fe() - { - $this->assertTrue(true); - fn() => ($test .= $test += $test); - } - function test86dd200a779e4a017f86c3fae929e3a66be0f67813f76e3ca83ec1ed91768cee() - { - $this->assertTrue(true); - fn() => ($test .= $test?->{$test}); - } - function test8979b1ec3fab6d7d5dd069d88b497ee7b827a88c91ba4ee4a772945a28a78a1f() - { - $this->assertTrue(true); - fn() => ($test .= __CLASS__); - } - function test8d3e451884d8f248d20aec880075227bca73a6825e2976c1b8c72358e4254fa9() - { - $this->assertTrue(true); - fn() => ($test .= ($test or $test)); - } - function test8fa0a70d6188e913650aab1c81cad09be2e62f9b269bc2e89368afdde0ed98ab() - { - $this->assertTrue(true); - fn() => ($test .= (int) $test); - } - function test91cc0f1e9f1ab9c92be3a476393adccc92b9663a87d82cf0e2103a7dc7f47d36() - { - $this->assertTrue(true); - fn() => ($test .= $test % $test); - } - function test94115fb6ee61caea198e0db1c1d5cf0221f8a9014c1451f5d72753fe3cf5500b() - { - $this->assertTrue(true); - fn() => ($test .= ($test and $test)); - } - function test947521018249aae28ae431cf24352d79e5b2a5f9f36e6b2d9bb73fd46fcd8ea5() - { - $this->assertTrue(true); - fn() => ($test::$test /= $test); - } - function test949a722e0d269abf5a6a0194623798bde17041cc0572f4c00c669dc4eb70a058() - { - $this->assertTrue(true); - fn() => ($test .= $test &= $test); - } - function test97eecb834830b3652b32329f6afbf75cbf59d98b363c52c9fe5c27aac501f384() - { - $this->assertTrue(true); - fn() => ($test .= 'test'); - } - function test9899e3329a8db17de79ac41aafdd8ea6bac9ad3150c73a0a54b130144a50004c() - { - $this->assertTrue(true); - fn() => ($test .= $test ^= $test); - } - function test997fbeb4a918d555288c68e4b620865678a41a55927f0ce21e3765f7e7cc0c56() - { - $this->assertTrue(true); - fn() => ($test .= (string) $test); - } - function test9caec1e17c1451ff80e9f91962786bd26e5db08c844aee1236ff005f1eafdbc2() - { - $this->assertTrue(true); - fn() => ($test .= $test === $test); - } - function test9cb6e82b7e8c473914704a015cebff3787e6744fe24410bac6d6d324be3969d8() - { - $this->assertTrue(true); - fn() => ($test .= (print $test)); - } - function test9da58e1ea5c30d60d54e3276e5a52b5a83057dc120fa840979c930979ac69bfe() - { - $this->assertTrue(true); - fn() => ($test .= $test?->{$test}()); - } - function test9ea7712264401d9b3d4a9de59f4c23e32274ccdb3d9cf66ca59d20d0bde8068d() - { - $this->assertTrue(true); - fn() => ($test .= $test << $test); - } - function testa1f654af9e1fb25bfa40d3b19686f3b0259febbab8c025ae0e774cfa099ecb3b() - { - $this->assertTrue(true); - fn() => ($test .= "{$test}"); - } - function testa4f70ab82e47b8eabe3952020ae70c210e886f6d5dd9176594821bccaa113a03() - { - $this->assertTrue(true); - fn() => ($test .= __DIR__); - } - function testa60ee32ee1642714c3185dbb351f4ab002b5e717141288a3bce00f7088b46b61() - { - $this->assertTrue(true); - fn() => ($test .= $test -= $test); - } - function testa6233a31d79779925753fe0d59357bb0add633d62d050454563a3a961840ba7e() - { - $this->assertTrue(true); - fn() => ($test .= self); - } - function testa7bf63d5166c9d8a949245f28f427dea823c31f8e6d4eca58e61e4ecae35dc24() - { - $this->assertTrue(true); - fn() => ($test .= $test++); - } - function testa80b02b6bb97329ba82c493fb473fe237e88239e8f15b5f55417cb2211e4b737() - { - $this->assertTrue(true); - fn() => (@$test /= $test); - } - function testab18f0db69917251db668dc19ce9f24cb41612160ebbb6e1efa2d98520b649a3() - { - $this->assertTrue(true); - fn() => ($test .= -$test); - } - function testb4ab51cfce4ba5ef388a4ec31269452fe9309e2af97b53729b138d91133571a0() - { - $this->assertTrue(true); - fn() => ($test .= isset($test)); - } - function testb65c714cd9d7998c0d41faac06c0e9f354bb2316a61143b4379adfa69b38b854() - { - $this->assertTrue(true); - fn() => ($test .= ( $test)); - } - function testb7a8b89b7037340750a21aea0cfb001fd8e0c6c266f249e7764f4671ac303e55() - { - $this->assertTrue(true); - fn() => ($test .= 0.0); - } - function testbd28e6a24b84b4834c14ff8e5c031a912125a747e5f07677d547129bfd86bcc1() - { - $this->assertTrue(true); - fn() => ($test .= __METHOD__); - } - function testc062a0046f8525ace2d4b27ea30cc81b31ad08f69bdb24d04a38f86789596332() - { - $this->assertTrue(true); - fn() => ($test .= $test * $test); - } - function testc0cb59d26df0bb027d9beb24c5c10171d7eb6153d7a1466cb45f5d35b5c8a327() - { - $this->assertTrue(true); - fn() => ($test .= $test **= $test); - } - function testc1fd376693813e8c4042dd0e5baa22c9c6dcba835a80f9e311e253ae697c0175() - { - $this->assertTrue(true); - fn() => ($test .= __NAMESPACE__); - } - function testc31a8d82134a7006140e37640b4459e0347888deddf96c011a1d73e1b688a294() - { - $this->assertTrue(true); - fn() => ($test .= (array) $test); - } - function testc44bc48b3275ea1ed374476d57c3a8467c3a7d49062a18ec2fbb83c9abcb5010() - { - $this->assertTrue(true); - fn() => ($test .= $test--); - } - function testc9e6f862607ca25faa96bb9e89a3e44caaf85481afa8a72cec4681d8aaeb0562() - { - $this->assertTrue(true); - fn() => ($test .= $test <<= $test); - } - function testca3d2109341ac51081cae0ba0e5b09283b761537b5a5d7c938153517fc77b60d() - { - $this->assertTrue(true); - fn() => ($test .= $test *= $test); - } - function testca3f940ed2a862ccaa2225776bf2c5683e8ff0520abf8ab49659a2666d0ff375() - { - $this->assertTrue(true); - fn() => ($test .= eval($test)); - } - function testd1c6a69316d847ca3e9842706a9823e696168ced9322927ff6e4ef18b03c39d2() - { - $this->assertTrue(true); - fn() => ($test .= $test >>= $test); - } - function testd4d7eec4b9991638541c28fbd1769bbfc22bedbfe4812542266aa55729386a03() - { - $this->assertTrue(true); - fn() => (throw $test /= $test); - } - function testd7bf06d022abad602fedd9c83da330075e5b8caee005c2539cff08b262392613() - { - $this->assertTrue(true); - fn() => ($test .= __FUNCTION__); - } - function testdbb3b247693b00a90e366fc2d02f5905dd1b2b230fd3a3408d4ab80006091fa3() - { - $this->assertTrue(true); - fn() => (-$test /= $test); - } - function testdc206464fde8cd2142e24c132093631c3c6336096e5c2e46a3af2a35eada97c7() - { - $this->assertTrue(true); - fn() => ($test .= (bool) $test); - } - function testdea39e256fc9009884b927c86dabe457a266f9ba3e8c7036f506579689249715() - { - $this->assertTrue(true); - fn() => ($test .= $test . $test); - } - function testdf6db266d7fc34e0121583defb52d4df6b955f99d30926d7fb08cddb693455ea() - { - $this->assertTrue(true); - fn() => ($test .= $test > $test); - } - function teste1617b8a4b59d1e3dbaf2075271de9cc658577836b63b6e943309609ccf0855a() - { - $this->assertTrue(true); - fn() => ($test .= (yield $test => $test)); - } - function teste227d13b78f6e666201709f35102bd07cb0370e9da5860cfb66f976a5ba1b1e6() - { - $this->assertTrue(true); - fn() => ($test .= ($test xor $test)); - } - function teste3473f91a28cc1f36e01cac6f677ac83888b84c6e9d156cd58fcc5fdced4bd66() - { - $this->assertTrue(true); - fn() => ($test .= $test instanceof $test); - } - function teste39f0e9480fe8ae237aeaf03eac9f61f00d4cd69d13a9c911a47b7c3097ac753() - { - $this->assertTrue(true); - fn() => ($test .= (object) $test); - } - function teste57da905a1f6834d9aa7497e7681efc04e06ece37896f02543bf6dcb09bb2bf1() - { - $this->assertTrue(true); - fn() => ($test .= $test .= $test); - } - function teste6c8b4ad556b6465cc408de9462e815201cbb48592c1280d6f610f1c6cf09ec9() - { - $this->assertTrue(true); - fn() => ($test .= $test || $test); - } - function teste9bac80fa7575134eb745aea55f70b479e08b9e3e547b858a15b93858c155d63() - { - $this->assertTrue(true); - fn() => ($test .= $test + $test); - } - function testf1f34c4906f07b6b02bc8167f6e3c5da03d555fc5cc443e10894c59fe186b320() - { - $this->assertTrue(true); - fn() => ($test .= +$test); - } - function testfe187b26d902df58471365a37f06c39d23bee1ec53543e8b5959928ed0014241() - { - $this->assertTrue(true); - fn() => (!$test /= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test.php b/testsGenerated/Target/Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test.php deleted file mode 100644 index dd2057ca1..000000000 --- a/testsGenerated/Target/Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test.php +++ /dev/null @@ -1,546 +0,0 @@ - - * @license MIT - */ -class Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test extends TestCase -{ - function test00b037dcef44c613bfa47a41bf1900e8496946dbd1d2226304a6c600ffc9cd4c() - { - $this->assertTrue(true); - fn() => (match ($test?->{$test}) { - }); - } - function test017a5f8b1f3eacfba5022a2032e0ed001a1e9a6340f80294c305c8c5d22aa157() - { - $this->assertTrue(true); - fn() => (match (clone $test) { - }); - } - function test03c9386dda65e26b4525376b2de76c5a75e63b821bd27ba1d31f40993c750aaa() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test ^= $test)); - } - function test044780fd2dc3e7c695f9b7aa65234c75caac913e3076c09ef9d1d129351661ab() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test * $test)); - } - function test0534e33a9a814bc125d4be28b65fb8b894a734ace2b790bcc8ebe1ab58153037() - { - $this->assertTrue(true); - fn() => ($test instanceof ((bool) $test)); - } - function test0631b2cbbf5164dfab23bd9138be0068074b8eed35d6133a3358085f612969fb() - { - $this->assertTrue(true); - fn() => ($test instanceof (__NAMESPACE__)); - } - function test0b10b9571075d6e30ad6d66bc412798503792351e2b7299c08c057e73d3db224() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test %= $test)); - } - function test0bd019cd00dab7ff1fddb59d84140c87ab4ac8ade900fbcc82e7a2a20d4d9b29() - { - $this->assertTrue(true); - fn() => ($test instanceof ((int) $test)); - } - function test0c0d52aaf34d9565fc0ef55318b4612e1b7b527ff320b12086156227e172d905() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test > $test)); - } - function test12684513945c2ad5f4e1e994aefbce9ca722283d25d24b3d54bc45505cfb2d7e() - { - $this->assertTrue(true); - fn() => (match ( $test) { - }); - } - function test1665101f48757954b386a33c4ae4afe58a40eac2d901e010414a19b53dbd9fd8() - { - $this->assertTrue(true); - fn() => (match (empty($test)) { - }); - } - function test1746b68abcc8e7dcb30c6a22020fb663e461df0ebc1838fa528deb57b4d67f27() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test or $test)); - } - function test185270849ce4f6d4da56ad980f4967ce11f61e82f00d614ba2423237e8d9da4d() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test /= $test)); - } - function test19784fc5eded40108b959f413e8b692432e4c6ed7c810490aaf2fc704b77a1a2() - { - $this->assertTrue(true); - fn() => (match (match ($test) { - }) { - }); - } - function test1b8fba08720d4ae6b458bc8e169ea008deef2cbe09e1f065d9bcd324b20f60ef() - { - $this->assertTrue(true); - fn() => (match (new $test()) { - }); - } - function test1ea78fca12b79349d1ba9ca05d9e07e7fea9c305a83643e1fe17c03c436ad3a2() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test **= $test)); - } - function test1eaebb86698acf358826982b41e9a421360efad9222d27093971baafd0fe1ba4() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test >>= $test)); - } - function test1f1482c4095c45c6cf77ab59410e713ca0b5a44677fab7581fe3a09e354a95cd() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test and $test)); - } - function test2372cc97a8e9fa57d03f58a4ab2f58e5e99689f75f824bb43ff09c3d67cbb450() - { - $this->assertTrue(true); - fn() => ($test instanceof ((array) $test)); - } - function test25e3e66596f639612d1a4402d1c7b72f595f13b205be3d71e8a08719a7c334a9() - { - $this->assertTrue(true); - fn() => ($test instanceof (__FILE__)); - } - function test2692400192cf11aa1ed3de82303fa06d56f48e137a841a3f78e76c2d58fb0090() - { - $this->assertTrue(true); - fn() => (match (@$test) { - }); - } - function test26cf2ec6066cbf5badde2eb40ce6bd738951ca6329fc64a54f9e48db583d648f() - { - $this->assertTrue(true); - fn() => ($test instanceof (-$test)); - } - function test29a233cee588cdf4cf5b1e577cf493dacaed5d77b62546a00625ef5fe09c96f7() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test | $test)); - } - function test2cf19cfe7e81a7d7fd43b12923b50280c5a3ab20f82fc8d8d8548d6d19962df5() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test - $test)); - } - function test35e487aa9c9c067f22b19df73ff008419bf4587fe4a3a3e027c63b4aac8bdd80() - { - $this->assertTrue(true); - fn() => ($test instanceof (+$test)); - } - function test393cfd011f2f5bc3ab630b302ca5107a247f9b67322fe8b7e7c1c52e98ff3ec5() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test ??= $test)); - } - function test3d15c808567c00feb79b1ef1842ddcde5c4528518dc8747c48d2e623c01ad6fa() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test ^ $test)); - } - function test3ddae4ae6c760624f1600094cc9d82b00c8139dd9ab2726d190909090c6b6250() - { - $this->assertTrue(true); - fn() => (match ($test--) { - }); - } - function test3f979b37a234e78ec1a4303cf4732d42912cc0ffc7f41886806f1a430ecdfbcd() - { - $this->assertTrue(true); - fn() => (isset($test->{$test})); - } - function test3fe7f5e7a08e7bf8ad56201b6eff90bfb3cd9768e4ebb7542948f2d47cbc2217() - { - $this->assertTrue(true); - fn() => (match ($test->{$test}()) { - }); - } - function test44b99041dd01792b2c553e0f4022556acf934353b64481f38b2b0bbf0b6d8359() - { - $this->assertTrue(true); - fn() => ($test instanceof ((object) $test)); - } - function test477aa4c24b6e113a2faa8e46ee817e29721acc335de39458f247aba3e676ce78() - { - $this->assertTrue(true); - fn() => (match (~$test) { - }); - } - function test4c893f01a0afc65e650a810836ac8c738fcbe9e130379c4ac801a6da815248c2() - { - $this->assertTrue(true); - fn() => ($test instanceof ((string) $test)); - } - function test4cf1cb8bcb121b0b220a72fdd2a4072c6c077980e246f6c990ecd09fb2fa5106() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test -= $test)); - } - function test4d469634455e67712188d90fed6a19b5167c576086b57ea72963322b3eb871f8() - { - $this->assertTrue(true); - fn() => ($test instanceof ("{$test}")); - } - function test507d26b251c6202caeda6208b8e702268f390d6ca1f0cf42db6f104bcf652c85() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test << $test)); - } - function test5292af76ff97a4e19956160cc75f5cf299e1ce914824ff642a0a506e493ebe1e() - { - $this->assertTrue(true); - fn() => (match (self) { - }); - } - function test558aad70689c24106184742492a2d9ffb4b77d1d0862920992d8e511f0253a06() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test == $test)); - } - function test57a5f32eb36532f9a62ed38183dfdf42753774e3595126bfba10314ed5fb5179() - { - $this->assertTrue(true); - fn() => (match ($test instanceof $test) { - }); - } - function test61e1dd32926579669fb298824ec0af2bee6b74bd1b96c996cc69052f62a306c7() - { - $this->assertTrue(true); - fn() => (match ($test =& $test) { - }); - } - function test69953b4cf09b496ebfbe180ef9fb4da86700f153dfa8ddf39ac1b95102ca7b35() - { - $this->assertTrue(true); - fn() => (match (print $test) { - }); - } - function test6c40db9701e46d0e94d544cfe1fee8c477e207b8f6ea900178e185879d378b9b() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test})); - } - function test6fa61dd5e77fa067996e6163e7e2d906682adb5991ec48287c4376093b90a875() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test *= $test)); - } - function test6fe183a6428e997dedbe1451570378c003583c5390c19e799365aae21f74979d() - { - $this->assertTrue(true); - fn() => (match (++$test) { - }); - } - function test702d864dd2a2313a7293dbf4623523ac5cb15d8e9c7a758b4f0ce55c4eef908b() - { - $this->assertTrue(true); - fn() => (match (!$test) { - }); - } - function test7033e030b7450200b73405f7d3bb6ebcecb3e8dedb9613a73dae64ab858ed00d() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test % $test)); - } - function test73f923940bf26079a3f50f11b6bd3cee793be94731c3d5b3530a0bcb0122a282() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test < $test)); - } - function test7429ed96d3b2a375b8ab8a520241e5b4150786982073eee2243c1ce5b7fc9a7f() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test + $test)); - } - function test78d1850a0affdb0cead60c594b55d0790bbaeb77f12499716002c4f632f3687e() - { - $this->assertTrue(true); - fn() => ($test instanceof ('test')); - } - function test7d4cbb3b96164c8672adbd88967e3c9c69e1278c1ae6be9b69fabf0cfbcd59d6() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test &= $test)); - } - function test7d67f99b67eaae0ead2895cafc657ba6e8429bebc4f87b44e6312bf8264961dd() - { - $this->assertTrue(true); - fn() => (match (--$test) { - }); - } - function test7dd1dadcc7c79826cbf1c1aeba0771826f6ec3de109c77a442832bafbe2200a8() - { - $this->assertTrue(true); - fn() => (match ($test) { - }); - } - function test807d43d1c7e8d6911ef0e1b4a7ebffdcf659d8ed00130e58fe4c9f1f9048a47e() - { - $this->assertTrue(true); - fn() => (isset($test::${$test})); - } - function test824b4ecb5876e2b5c612e4e2ff2ef01aaf9e03fa265ef21fa042b357026f4118() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test != $test)); - } - function test868dbefe8b4496d0ec1d1a9b9a62b3f4e96efe4f31ea62f53ae104a36fef6c15() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test >> $test)); - } - function test8e1efde6eb30f2768ca7e58f71cf5e4cd147f639b2e969872e48df3b1be1f40c() - { - $this->assertTrue(true); - fn() => (match ($test = $test) { - }); - } - function test8fb61a9248b1e26c5c75eb123a3082f53b5ec031b746eb144a967344cba72e08() - { - $this->assertTrue(true); - fn() => (match ($test::$test()) { - }); - } - function test9345e4a811f1725558a7a80cabe23289fc8ebc7d71b775c4ebd27c26b11847de() - { - $this->assertTrue(true); - fn() => (isset(${$test})); - } - function test95b73e2d95d42731146ca681e28029054f78093468a47f4468824aa86a08348b() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test <=> $test)); - } - function test9c4abb5954f16a5c5bf276201b51a2222238995502ea4e4cb8f6ec6c46f1cf07() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test ** $test)); - } - function testa5da4aac5ff53d03c34737ace940a996fb0393ef1a4a65198acfef2135093d72() - { - $this->assertTrue(true); - fn() => ($test instanceof (__DIR__)); - } - function testa6251d458559feb493e24d2e123f4800635e565b79037f2e68da297a93deca16() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test & $test)); - } - function testa74c3ca372fb8e4feeebd707bc5aa45da40fec93369bb8764ca2e88384f572da() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test ?? $test)); - } - function testa76bfcd77dbfa77caef5345ec805c9c1cb1aa2f5da48259ee219c69237077e14() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test . $test)); - } - function testaa39452e5944afa55cb0d8bdfec448deaf03ea64afcd43648525b2bfd49e3e43() - { - $this->assertTrue(true); - fn() => ($test instanceof (__TRAIT__)); - } - function testb0ee8e07618f0f0328db82ab2f7fada9f71ca9bd23fb4811e323b5cb5721f9a7() - { - $this->assertTrue(true); - fn() => (isset($test::$test)); - } - function testb296e283600bbd70ebae704d4df8ff00978c95f3fc606be05426732f4ec9b2eb() - { - $this->assertTrue(true); - fn() => (match (eval($test)) { - }); - } - function testb712736249baa9d62770c9f8917c4e33f01163cad12edbc23464d1373bc26fa3() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test !== $test)); - } - function testbc24635be64c2862d3fa34e72fbed275fa0e30131bcbd94b2ff705780e92d1dc() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test && $test)); - } - function testc0e92fcfe820195bedd2b0dccc5911c28a4fda22bbc90bb98801a12ff2d0fbff() - { - $this->assertTrue(true); - fn() => (match (isset($test)) { - }); - } - function testc2bb9cff69c3461077897577e44fb863964b790f5cd3b202b1faf8c43b1481b0() - { - $this->assertTrue(true); - fn() => ($test instanceof (yield from $test)); - } - function testc3975da6abafe916c0b5e6c70e23f20126a104c3d042c9da95ccb91cb45af76e() - { - $this->assertTrue(true); - fn() => ($test instanceof (__FUNCTION__)); - } - function testc46a364cc3c808a54dca66c83d6492c65715c3d543d28136000d1495f9607519() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test <= $test)); - } - function testc48eb6633d6d218b0bddb1fa155010b69a5ff22ca32290ec1d187b999bd9c930() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test >= $test)); - } - function testc51cf7a2b42516867d77b5e396c081b73485375f3752c2492ecbfeb27de7f11e() - { - $this->assertTrue(true); - fn() => (match ($test()) { - }); - } - function testca16c9ca966506e264c2f21f04554d1a1953ece8132f759a01b0bf392b69d165() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test <<= $test)); - } - function testcb5648fd2fba469d5313b92713751cd07d13696e3ae5fd99e848bb04165d348f() - { - $this->assertTrue(true); - fn() => (isset($test)); - } - function testcc62715da219dc3eb7c6e69780fc81b3653324334184549e635ced3a06734770() - { - $this->assertTrue(true); - fn() => (match (function () { - }) { - }); - } - function testcfe43cff25c6513418856e26c1357780f92a47fd39a0856e5537a2b14bf7dcbe() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test xor $test)); - } - function testd13fdf7d523ba18d5ca3e8bada8f3eef6b7bfa626483f00c41c7db960c75f8dd() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test / $test)); - } - function testd9fa75e52e0a851cb95a2c34f9bfbeb7deebb9f296720540558fbad3def6fa57() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test === $test)); - } - function testdb611ae54814bb5f22c5b1623a9481eeb8edf79555e616c3dbb4a5d408cbafcd() - { - $this->assertTrue(true); - fn() => ($test instanceof ${$test}); - } - function testdd685855693a19d6e432c85ebf469feb9a0002e5f6999016f651faaa84d45ee8() - { - $this->assertTrue(true); - fn() => (isset($test[$test])); - } - function testde2676381fa879ddfaa303d17c6f4da213cef18adb1dc8b9909a0debcc877dd5() - { - $this->assertTrue(true); - fn() => ($test instanceof (__METHOD__)); - } - function testde6aaba5cdc7d707af1088ba7550455788bda7734a79bb16625b37b2b5faf25e() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test += $test)); - } - function teste2bf28b2b0dec1ea08926322a08ed75484645a9f76036d98c98d17c025e9ccd3() - { - $this->assertTrue(true); - fn() => (match (``) { - }); - } - function teste32ea68e7c72aa157ec774ab18db6bb90c3d5987ac1d6a6028de969672892742() - { - $this->assertTrue(true); - fn() => (match ($test::$test) { - }); - } - function teste5f2293fa5f8434e248b9a3ae8f2b1a918b7c4b501dc8434f96a5d3af3a78cc6() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test |= $test)); - } - function teste6469314b5ae51adca318834a1c51dfbb7535783c83c2a9897baa3c5951ca40b() - { - $this->assertTrue(true); - fn() => ($test instanceof ((yield $test => $test))); - } - function teste6acac3bbaa70df834b87440e738e260a59691826e9592b8583bcc0064f19285() - { - $this->assertTrue(true); - fn() => (match ($test++) { - }); - } - function teste75b7ff5da9297518a414794ec3d74819b049caad1d7a3f525b775d2c426aacd() - { - $this->assertTrue(true); - fn() => ($test instanceof (__CLASS__)); - } - function teste94b2c086bc7848fe321578528d4c25ba9ac8cf791b4fc8f113346ddfffd302b() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test .= $test)); - } - function teste9eae7644e4e6c7132fe566e86b47acb2436e5d70838bc0dc08573fa0d45f314() - { - $this->assertTrue(true); - fn() => (match ($test[$test]) { - }); - } - function testeb92b41637d492ba53ba26837c67f3bff6cc8e84bb0fff626a737ce9bf385884() - { - $this->assertTrue(true); - fn() => (match ($test?->{$test}()) { - }); - } - function testedc91f6b9abc4128b0f639ba340f5935db19909c7ba12baf17a227d41fde939c() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test || $test)); - } - function testef3fa734326e035098806bad8ff43143e236d9c2685d299882c2f9391fd4e388() - { - $this->assertTrue(true); - fn() => (match ($test::${$test}) { - }); - } - function testf1e336f822fed73cd1c832d3cb1abd1454e93efe8d69d7163ce83462c12b865d() - { - $this->assertTrue(true); - fn() => ($test instanceof ((double) $test)); - } - function testf4c2825c173932b5b7e46147b36e41c1b68a5cf0351397d5cc9ed7889a49b614() - { - $this->assertTrue(true); - fn() => (match ([]) { - }); - } - function testf4e8b6996266f646f61d25691bdb0a25a866e9afa943762e5aab724a7e3c9ccf() - { - $this->assertTrue(true); - fn() => (match ($test->{$test}) { - }); - } - function testf77e82701d0ba78f6b4a465b6b1ae3e12be2aa51711451efbf3492377f86bfd7() - { - $this->assertTrue(true); - fn() => (isset( $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test.php b/testsGenerated/Target/Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test.php deleted file mode 100644 index ff8953363..000000000 --- a/testsGenerated/Target/Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test extends TestCase -{ - function test04874f2e675f770374a039d71b46dfc164dd116b4c3ae89842b4ba8973a53db1() - { - $this->assertTrue(true); - fn() => ($test & (bool) $test); - } - function test05a95138d48baa1f952540c6213c5ee3beb420ff5dbc3d037419ccb937149556() - { - $this->assertTrue(true); - fn() => ($test & (int) $test); - } - function test0998ba4c4e11edfa01812d2c189c75277162738a84d753156a895f26b61396a8() - { - $this->assertTrue(true); - fn() => ($test & ($test %= $test)); - } - function test0ea774f97c50610596c479d730766fcb449bbf25bff2cd8da03f44019d5b5b79() - { - $this->assertTrue(true); - fn() => ("{$test}" & $test); - } - function test0fc40229f2986275907f1ee6911126546d9857862d5ae480f3c41c66e0ff2a82() - { - $this->assertTrue(true); - fn() => (__CLASS__ & $test); - } - function test10f3b778de924473856ba0aa85624081334c96cc97832fa8f0d685170124c9cb() - { - $this->assertTrue(true); - fn() => ($test & []); - } - function test1153fe8549970ac0c47dafd693e408c52662b8514f18a478386d9b66a7c67f6e() - { - $this->assertTrue(true); - fn() => ($test & ($test *= $test)); - } - function test13e45a39ed9865a5a18b1de240a032e349c319c65e6f0f8e25ca2f7537b87302() - { - $this->assertTrue(true); - fn() => ($test & (yield $test => $test)); - } - function test17761f41731a2f981ee00842811f7b387eb492ef72c807c65f4badf72dc030ed() - { - $this->assertTrue(true); - fn() => ($test & 0.0); - } - function test1b1ca918d7269030467d81fddb75e3bc4fcbcc84b5faadd41a5f688135321080() - { - $this->assertTrue(true); - fn() => ($test & empty($test)); - } - function test1e999773a0d15bcd8403b1aa0c730cf2c9e3aeaee8371f75a8ade39520dd53e7() - { - $this->assertTrue(true); - fn() => ($test & ($test and $test)); - } - function test241df8560e8ff924fd2c89130565e99c45ccde4fcd5d9eec1f584dccb8c09345() - { - $this->assertTrue(true); - fn() => ($test & @$test); - } - function test2501ebb4a8333060ec4b261847abdee155bed413993825a6646f65e126d1d8d0() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ & $test); - } - function test285092fd254d0cd29af515cbacec0fa3ac887953f8ebbdadf5d9512e890c5e2d() - { - $this->assertTrue(true); - fn() => ($test & ($test += $test)); - } - function test29aa384b67605787cb6329efe34034d6f23bc68075acf409fd4ec6c90f41bfe0() - { - $this->assertTrue(true); - fn() => ($test & !$test); - } - function test2dac275de40a1b99ada91aff7805300e38a7466c8f5a897d7ce01574e27ac34f() - { - $this->assertTrue(true); - fn() => ($test & $test !== $test); - } - function test31851742f80eda3dbab0e88dfe0846b1a3946bd062ef3b24e4ee73f8ce5814eb() - { - $this->assertTrue(true); - fn() => ($test & $test <=> $test); - } - function test349ef767eaa64b35b9ad2e8445de7cb837d5c305b93ef3ec81d99312882f770b() - { - $this->assertTrue(true); - fn() => (__DIR__ & $test); - } - function test3679ffce1b71ea270c2672e292ab063b7b155c6d0ebc3763996ff0187ff06cc4() - { - $this->assertTrue(true); - fn() => ($test & ($test & $test)); - } - function test374326472e3ad33818818950ed3f595b67c05f7328537626a6728f7c00374f3b() - { - $this->assertTrue(true); - fn() => (__LINE__ & $test); - } - function test37d32a0091b4aa5bd3ab9f67838fe9beacf521bc7311a442213d40bec7911bda() - { - $this->assertTrue(true); - fn() => ($test & (array) $test); - } - function test384aae7361a5c395ed313d56a0e4ed44e48c699e74c34668dce1bc9787152154() - { - $this->assertTrue(true); - fn() => ($test & $test . $test); - } - function test3de6b4d2b6b73fd83ee0253ab60d0d382fd43a0ccc2d05d94d10c6893f611df6() - { - $this->assertTrue(true); - fn() => ($test & $test === $test); - } - function test40b32ee46d0046bbc50cb955c3bb99923f652ab0ee22603ee0f60ba9235fc13c() - { - $this->assertTrue(true); - fn() => ($test & $test << $test); - } - function test466a636351e5a8adff396e0a2683907a486d388d84fb4c3f8d5ae58f846ccbd5() - { - $this->assertTrue(true); - fn() => ($test & ($test =& $test)); - } - function test48797a8c516e5c1da1b52e82d245b4719a1892677e470465549c06b2d5f0361f() - { - $this->assertTrue(true); - fn() => ($test & match ($test) { - }); - } - function test48e892488202f3e8e889220ffa0a4dc03a1dc60f14a9e1718598de4d86b163af() - { - $this->assertTrue(true); - fn() => ($test & ($test = $test)); - } - function test4acb67904bf9d976c0eedd823fb648d9e5f623a481f1997aa682f5d5983d410c() - { - $this->assertTrue(true); - fn() => ($test & ($test <<= $test)); - } - function test4ec35586aca6b40ab498bd08964e66bdcebef74779904c09057a4f5168b614bb() - { - $this->assertTrue(true); - fn() => ($test & $test < $test); - } - function test52f9903af7bc8e1fe96c18a7b93a25735e85140fce8f8ff8319d1e4cd0923482() - { - $this->assertTrue(true); - fn() => (__TRAIT__ & $test); - } - function test539aec1da2523be7c157b56c4f46d3599eb4c12155657ec4c16e011d092c0172() - { - $this->assertTrue(true); - fn() => ($test & $test->{$test}); - } - function test53f26a4b56e4ab57111ef2825f9877bda49fb4c0abc54632e1f49a41b676b27b() - { - $this->assertTrue(true); - fn() => ($test & $test?->{$test}); - } - function test548ab8bb6af8dbe74c6e6fdbd1224f578bd4e385b26f45ab2da504dbe0e7a727() - { - $this->assertTrue(true); - fn() => ($test & ($test >>= $test)); - } - function test54918ed6bfea67ad1ae73499b5854083b88a5cbf9bf5e03eda15e68606258aa0() - { - $this->assertTrue(true); - fn() => ($test & $test / $test); - } - function test5585e1ab774218d57f0f1897b20061653177953e80c53406a40c88278e9ed301() - { - $this->assertTrue(true); - fn() => ($test & ($test ?? $test)); - } - function test55c0b3f80b27d1c93e5490af8f9fb9244ba155057f84b1c2e0631b26ca4d1bbd() - { - $this->assertTrue(true); - fn() => ($test & $test >= $test); - } - function test59e997f8525533cad846c79b6b68ecfe1c7aa316725f81313ea6dee75bf527e2() - { - $this->assertTrue(true); - fn() => ($test & ($test || $test)); - } - function test63d258c2ebedb6c75e23ce021c3ef87479b167488c73a7f93ee7cab9042a64ba() - { - $this->assertTrue(true); - fn() => ($test & $test != $test); - } - function test6558acfd3d11d3887235b2546906bc48dd765e152846d1a726331aeacfb18c1c() - { - $this->assertTrue(true); - fn() => ($test & $test > $test); - } - function test6bc98fa14e127c47ea80830d87a6e6d0d4ee1c070b7b5be7fadab456855f0237() - { - $this->assertTrue(true); - fn() => ('test' & $test); - } - function test73d6ec30af4ff52dc1ec22355741c31c6d3d0f28de2136f3c4edf8b2c83c9b87() - { - $this->assertTrue(true); - fn() => ($test & $test++); - } - function test7c1e94f2b154db0079e231d62edb0914d0557e7195947363eb54b71b57783b5f() - { - $this->assertTrue(true); - fn() => ($test & -$test); - } - function test7f071d8eea5603ee46b7c5e7d1435c2aa4c4dcbfdbdaa51ef8de2a75969cd911() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ & $test); - } - function test7f4e5b5cbfeb637b991706261f7079d47a52e0404cea484c0285be4e6663d6d8() - { - $this->assertTrue(true); - fn() => ($test & ($test -= $test)); - } - function test7faf6803faef646f0343c6defeff25b40b55b487bd2cb3c9c1eb5ff790f4a57b() - { - $this->assertTrue(true); - fn() => ($test & ($test ^= $test)); - } - function test8335f7525bbcc59ada9cb16bc0246f5ffe7219e781e9fd579d929cdc1b1527eb() - { - $this->assertTrue(true); - fn() => ($test & $test - $test); - } - function test83c6bdb9ddd073857428e1ec4eb35169d87e0e5fc89c1e88b2293552602a05ad() - { - $this->assertTrue(true); - fn() => ($test & (print $test)); - } - function test84dcaaee9cc2f97569fe70a239cb3e603f9194c8aa9634f854695d7af9db2912() - { - $this->assertTrue(true); - fn() => ($test & function () { - }); - } - function test87e4699c19532d010220db0c8b026102e9f8a10f9fe9b209f52f4a727301c398() - { - $this->assertTrue(true); - fn() => ($test & $test + $test); - } - function test89315c051fd92440330ea1d51fac9d3b59f9627aafd443009337bcfce02417ce() - { - $this->assertTrue(true); - fn() => ($test & ($test ^ $test)); - } - function test89a3f6f79238b4d92f8f032595cc60bcbdea19de300f09491bf92deb348d6492() - { - $this->assertTrue(true); - fn() => ($test & ++$test); - } - function test89b977b615a3c3916c1334783f6f6d34a9a7e73b2a5e9d3faee71c6774c35480() - { - $this->assertTrue(true); - fn() => ($test & ($test | $test)); - } - function test8ad0f572e3c6c7112c702671b0a745308cd86a9437b1d416f9f702c15878afa9() - { - $this->assertTrue(true); - fn() => ($test & $test >> $test); - } - function test8c503545196ac0d172987c481577b9962cf2a3dbf2cf23797e94f6a987ad3889() - { - $this->assertTrue(true); - fn() => ($test & $test->{$test}()); - } - function test8d054e404fe57db1bd16b94d90af0a46034b467c9d8727bc1872b934261ce8e4() - { - $this->assertTrue(true); - fn() => ($test & eval($test)); - } - function test8dea098d43b479952b44802fe94a767f6150558d7cce3b158268df5e3203dbd3() - { - $this->assertTrue(true); - fn() => ($test & clone $test); - } - function test931b6b3e25c74cd29c01c1c85642678c019b5a5aaacd764414fcc353938105b8() - { - $this->assertTrue(true); - fn() => (0 & $test); - } - function test939e449ffedac0ec37480df272a2d99286acd6f6e5a98ddfb28ae833e64e8fad() - { - $this->assertTrue(true); - fn() => ($test & $test % $test); - } - function test94deaab40d5a57321781e67f489f426dc4a286e8119929b2c56aa26eab677107() - { - $this->assertTrue(true); - fn() => ($test & (double) $test); - } - function test952a90dccbfa6621b44ef0b87078a39ef73575d46a81258fbfbe9c986f753081() - { - $this->assertTrue(true); - fn() => ($test & $test); - } - function test9a2ef10bedee54b8b72bbd31811d0b7a6d0356b7b1419cebcecc6d0892902875() - { - $this->assertTrue(true); - fn() => ($test & ~$test); - } - function test9a8195dcf1d71d3f1948fcf1f7600ef243937771dada099f92f8d050ac6022dc() - { - $this->assertTrue(true); - fn() => ($test & ($test xor $test)); - } - function test9b4a7ba1c5d5d89739759b86ddbf2651c0c64fc3d439af2c2e487c5a598618c3() - { - $this->assertTrue(true); - fn() => ($test & $test--); - } - function test9b89300c6a97e4833937eb0071a05f2e0ee3e217dbefbf2e67d22d5252996afe() - { - $this->assertTrue(true); - fn() => ($test & (yield from $test)); - } - function testa01659110d58e3865f29bce59804ed29827d381de3da6f28504a4a2e9813139c() - { - $this->assertTrue(true); - fn() => (0.0 & $test); - } - function testa02ba4c901c4af7ecb60d51281fe60924139f43da5162887c9404d2f5c825e00() - { - $this->assertTrue(true); - fn() => ($test & $test?->{$test}()); - } - function testa1595de897cb0a9be3ec5fe4a119f5e37ff249cf0e3c330215907cbaf30e9da4() - { - $this->assertTrue(true); - fn() => ($test & ($test && $test)); - } - function testa1c27d0332bdbd074463187a5ac63afc51a39f33becefa074bd621e2651da77b() - { - $this->assertTrue(true); - fn() => ($test & ($test &= $test)); - } - function testa3d1fa289a284492fa47d59c84de4139a5738f77a79b4be795ef6f4974cc3572() - { - $this->assertTrue(true); - fn() => (__METHOD__ & $test); - } - function testa5b0b94b5c106f50ad9e97ea1ee8387872e06cfd5432e9de1453b77f53bdbd49() - { - $this->assertTrue(true); - fn() => ($test & $test * $test); - } - function testa6eea67ba2d8f1a706c2fe0abc50eced60723e2ebcc767dc124ccb4cbffd3e58() - { - $this->assertTrue(true); - fn() => ($test & +$test); - } - function testa71c5696a50da0d49ce7e47d88233da217cb3338dae0401140c576dac60fcd40() - { - $this->assertTrue(true); - fn() => ($test & --$test); - } - function testa83cace859add5151e9ca0e65b3113252b066e52f8620dde9aa5dc35cb1829a0() - { - $this->assertTrue(true); - fn() => ($test & ($test /= $test)); - } - function testaa08047dd78033a1a3c781befb0d29f81164cf1624f7d02b63bca11c27e46b5f() - { - $this->assertTrue(true); - fn() => ($test & "{$test}"); - } - function testaa0e3ef010a8b48de205bd95bfb6bf9a7cc30596493095a315b2c4d6a68acd8e() - { - $this->assertTrue(true); - fn() => ($test & $test == $test); - } - function testb0493c4b57e899952a3c7e77f7dc172a3386092346d8689353e12a597c61bbce() - { - $this->assertTrue(true); - fn() => ($test & ($test ??= $test)); - } - function testb0a3dcba21b47f45586502ea77009e405fb4474bd669e290cc1ee39ef0424bb5() - { - $this->assertTrue(true); - fn() => ($test & throw $test); - } - function testb143cf664d08577a8ab5e3eb7798f0cf0843f4e75ee060d7d742720f75972aa5() - { - $this->assertTrue(true); - fn() => ($test & ${$test}); - } - function testb37b755d4ca14d8aac2293148537bdba7bd3c4f15e4ef43a856f805dac4e0bab() - { - $this->assertTrue(true); - fn() => ($test & $test[$test]); - } - function testc01b657bf2e457b6ea094db7977494d5f7515aed9bb107306e1f51f4cd885c42() - { - $this->assertTrue(true); - fn() => ($test & $test::${$test}); - } - function testc1214a65c1dc8bd201e8064fb3f7fa2bd5e68f8d56a0c3894d54b07a535188d4() - { - $this->assertTrue(true); - fn() => ($test & ($test **= $test)); - } - function testc8e618d51165175e7d482ae315acc61b635bbe3fc27752b7c88ed397523d9dff() - { - $this->assertTrue(true); - fn() => ($test & $test ** $test); - } - function testc9dc6fcbeb1f3e1cb2803fe171eeed2ef05b2a50bd18c9a6cf809bef2b25a64c() - { - $this->assertTrue(true); - fn() => ($test & $test::$test); - } - function testcae761550fa3e8a8a8f35a23b720304d9ba7fbcaa5b63cdeb0e7eb1911866243() - { - $this->assertTrue(true); - fn() => ($test & $test <= $test); - } - function testcafad96d7e13b4ba1f4b1d559f8f993383f5ae335cf468d9a5b99aeaaab73c41() - { - $this->assertTrue(true); - fn() => ($test & ($test .= $test)); - } - function testcbdfb6524409eab105707733c67452ab218a91cf744874696ea66b195d647488() - { - $this->assertTrue(true); - fn() => (__FILE__ & $test); - } - function testd521475748bc15c8457b7c8f17d0859b4c9b4dd2e35565ce3aa8a6571c94c9e4() - { - $this->assertTrue(true); - fn() => ($test & (string) $test); - } - function testd7fbc931689a279cb267e231e67ad7808a895603139c0035426bc6ddfecf16d1() - { - $this->assertTrue(true); - fn() => ($test & ( $test)); - } - function testda749fe87130867c3a1b1b7f9fa100eefbd65b7ef09ed7578554ebfc8a02e764() - { - $this->assertTrue(true); - fn() => ($test & isset($test)); - } - function testdaa4ca56cf9656634d7128fa15a4ffee5afb45030fefd9e579aa2b3dd8466968() - { - $this->assertTrue(true); - fn() => ($test & ($test |= $test)); - } - function teste3c938e8753fff7390063a5af534b3df7a75d10fda3118be91985cbb1f331699() - { - $this->assertTrue(true); - fn() => ($test & ($test or $test)); - } - function teste513a488b52e67843a93793eb53e6507bfad25140bd8b30d8ce468e6d4fe3bb6() - { - $this->assertTrue(true); - fn() => ($test & ($test ? $test : $test)); - } - function teste880e9c423279cc96619951924a11c6ce02514bbf0a70ded3d160ffb5534f8f3() - { - $this->assertTrue(true); - fn() => ($test & new $test()); - } - function testebc0a71f3ea7b424cab95d88fc7a18b2db7bfd4dcca508cc479f16196b0f655a() - { - $this->assertTrue(true); - fn() => ($test & ``); - } - function testee9989bf4c8d9518674b33655da409594635a57e7179517c7b6379e9c7b2d5f7() - { - $this->assertTrue(true); - fn() => ((string) $test & $test); - } - function testef2f74c21d994f50aacf7c940528ff76abfa4a097c05ff8327590543987aa91b() - { - $this->assertTrue(true); - fn() => ($test & (object) $test); - } - function testf14990fa96bcbc20650e4b825bdf44c63493dc75c3ddb87598851873c2964437() - { - $this->assertTrue(true); - fn() => ($test & $test()); - } - function testf9f982c59e5432dfabbdcc9fa5a0c2b4df9d264246ee490a345e51e13d9a82b8() - { - $this->assertTrue(true); - fn() => ($test & $test::$test()); - } - function testfbfadae2eba3b5508c5dcb7ac70e283b44ca7e09e689af4bd827d248b8c6e03a() - { - $this->assertTrue(true); - fn() => ($test & $test instanceof $test); - } - function testfd645418434d363eb6572b144e792c64f50cc28cadeea9e4677faa5365bc139b() - { - $this->assertTrue(true); - fn() => ($test & self); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest.php b/testsGenerated/Target/Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest.php deleted file mode 100644 index aeb150fe4..000000000 --- a/testsGenerated/Target/Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest extends TestCase -{ - function test013bb8a0b00e1892fc7ddcc6108f47f10a8e7ca8d34d856dbed9143ab71ced65() - { - $this->assertTrue(true); - fn() => (!($test ^= $test)); - } - function test038c2bf273379dbaffb26d1fe80acf12f4ee0a5b8d5bd88117f37bb757407ea7() - { - $this->assertTrue(true); - fn() => (!+$test); - } - function test04257ccb6049c7135bceee0c0cb7e571b7f64e214f53bf250d702e300a444d3c() - { - $this->assertTrue(true); - fn() => (!($test **= $test)); - } - function test0637035c5e5ddcf07dac0593313b0d0a1506a113e7299e877552c00b17bd538f() - { - $this->assertTrue(true); - fn() => (!($test .= $test)); - } - function test0763d8a8c1096f19661123305cc87b9f3267bbf9dc19738224667e7dac0e7233() - { - $this->assertTrue(true); - fn() => (!--$test); - } - function test0994fa67df7879ac9cfb63bf4710be2504beeb8075a3f27264f26b9294d2df11() - { - $this->assertTrue(true); - fn() => (!($test and $test)); - } - function test0da16db23cec562b731a8798baa4f255a90f388bb2f8b17a8947960400acdbbd() - { - $this->assertTrue(true); - fn() => (!$test->{$test}()); - } - function test0e054690124dbaa0630a428c7675a69190e71086d77f6e19c06c89cca1f2c3df() - { - $this->assertTrue(true); - fn() => (!$test->{$test}); - } - function test0ec51fd8ebfb22ee85bd67f2531c83d8edb3e88761c37fe4479fc2e16b212048() - { - $this->assertTrue(true); - fn() => (!($test < $test)); - } - function test118561e0f553be4999b9c39424bf689b05a6322ae2829acdb1f6315fda8d2eed() - { - $this->assertTrue(true); - fn() => (!($test == $test)); - } - function test1475fe74552731d0cf3808f97e59962a0d1bf6e4b42ed6abb51f48a0a401963b() - { - $this->assertTrue(true); - fn() => (!__DIR__); - } - function test155d222179a789b1fb010b2260056b692f2fa37d2f17f4e3a2b71ee8c67955d2() - { - $this->assertTrue(true); - fn() => (!__NAMESPACE__); - } - function test163e56c2d422df30bf4fa78be1cdf59d2536e3dc99bc98871c653b0607ad712c() - { - $this->assertTrue(true); - fn() => (!($test >= $test)); - } - function test16b56b196e96b8cfd0d895dcc454338534ab322e1e00eaa7d71d2d4aad7e42b3() - { - $this->assertTrue(true); - fn() => (![]); - } - function test177f4cd864cd04d424daf7380390a4499515f7336231532ac6109cc40d56598f() - { - $this->assertTrue(true); - fn() => (!($test === $test)); - } - function test19fef30c4b50e3c95d954ea726b0bc2092e53d1622cf8e15bbd5f5a6c0fd53bb() - { - $this->assertTrue(true); - fn() => (!$test?->{$test}); - } - function test1a3fbb78e4ee001805cbfca604c707273f6d543c5f3bc32197df3e311a016a32() - { - $this->assertTrue(true); - fn() => (!($test %= $test)); - } - function test1b830610098afbe51d9b53002576b42a8ff1f61f81c539ac678ce96d05412665() - { - $this->assertTrue(true); - fn() => (!clone $test); - } - function test1f1e95ac1c0143c5573a75b47c76ec807db2722a37576dea3806845b7ba14550() - { - $this->assertTrue(true); - fn() => (!( $test)); - } - function test2780baa80af2eb7613eb83f15e02aa611a3992d5e194ee16574ee2c38fded402() - { - $this->assertTrue(true); - fn() => (~__METHOD__); - } - function test2862a17b9a1391a6c2e51b5ba35da12234a076b310812f38de9f4f516e5644a6() - { - $this->assertTrue(true); - fn() => (!($test ? $test : $test)); - } - function test299afc2490364e78790b8b41f0171f1a4ba7c732d4c6b1ee9a4528ca6fa0e895() - { - $this->assertTrue(true); - fn() => (!($test /= $test)); - } - function test29d413333dc8625288ff8d56e36b3dc76bf655b5f83d04eaede9ca6edf4ac1d0() - { - $this->assertTrue(true); - fn() => (!($test >> $test)); - } - function test2a52bf26fdbb3b0d0b492a3995dd8ec9a94ad64295c43bc1698cafee84c76cd3() - { - $this->assertTrue(true); - fn() => (!($test & $test)); - } - function test2df45b424e737f2654a8bf6b93677bd29fc3155d36f125c6dbd82e53386516fe() - { - $this->assertTrue(true); - fn() => (!($test % $test)); - } - function test31265646a14010639c4f32c103f57ae3a8f790dcba7bb8bcc0ea6a2afcea653d() - { - $this->assertTrue(true); - fn() => (!(yield from $test)); - } - function test352b1afcf00a64a0549f903a50ea577a0d49e663908457fa5fadcd9bbdc90f1a() - { - $this->assertTrue(true); - fn() => (!($test <= $test)); - } - function test395c5c84bdbba2c64350858668a043ffbd397e949d89e16d3d0736bb45db301d() - { - $this->assertTrue(true); - fn() => (!($test | $test)); - } - function test3be794a0f8aeadc1f0dfcdd90bd826cc8392ea612850f739717a19c74dc1827b() - { - $this->assertTrue(true); - fn() => (!(array) $test); - } - function test3bf0ab0761d685c80b9c2be21b251cda496b8eea5d1437935cea55243d810ad3() - { - $this->assertTrue(true); - fn() => (!(yield $test => $test)); - } - function test3c26ac10a4f10f61f0437bd15bce26fecd068b3330e2da0d95e8546b9e7f4ba0() - { - $this->assertTrue(true); - fn() => (!0); - } - function test3dd16e4a3fbe8d7119e64e92a572d9a8e11333cc8d91a5886d363bc333f51b89() - { - $this->assertTrue(true); - fn() => (!($test += $test)); - } - function test40245d013c42a5a3dfc378fc22067747d838c4b26692f3aab31fb86f764b4a19() - { - $this->assertTrue(true); - fn() => (!function () { - }); - } - function test40c9548446741180320cbd6122475237edab4a70e93305ee7ae564bf40e7eb60() - { - $this->assertTrue(true); - fn() => (!($test . $test)); - } - function test44300b292c42a1de80fca2c210a970951ade227287eb7280dd71844e356a08fd() - { - $this->assertTrue(true); - fn() => (!__LINE__); - } - function test45f1ec8ebf4b88a8f9c88a01a8167e1719a9c5bb964a8708f2e7a04e09898467() - { - $this->assertTrue(true); - fn() => (!($test + $test)); - } - function test4769c9907948dd8f42e6240863c0a4b36272539e88c7b5e746534a5eace2c083() - { - $this->assertTrue(true); - fn() => (!``); - } - function test476dcac6e09e0e7b905954e98d4fa3653ef1b977a94bd6c6ed1c194fc6b1a5fd() - { - $this->assertTrue(true); - fn() => (!$test--); - } - function test480d62a0740bac1c703379ab51b8c1b68f3a24e4915bd241413ded1a5c0716fb() - { - $this->assertTrue(true); - fn() => (!0.0); - } - function test4a7e2147ff94db583bfbb172e1b6d7aa0aae17bd09565e14d73d89c32283bedc() - { - $this->assertTrue(true); - fn() => (!($test ??= $test)); - } - function test5053ce3143ba493267b69cd25b60709043544fb328a87203ebe62750b90c4f5a() - { - $this->assertTrue(true); - fn() => (!${$test}); - } - function test563f8ff1ca858d587effbdfa283b42684591e74f4dd9e57ce6bdfdf1d82fdd23() - { - $this->assertTrue(true); - fn() => (!$test[$test]); - } - function test5c1b7b15335a6fac7ecc18afc6b853ca35afbbb28c46c4503d977e66497587eb() - { - $this->assertTrue(true); - fn() => (!$test::$test()); - } - function test5c1c0d9ee0faa9d48f96dd5fce769981236b5815846963e9950e2aad79129e4c() - { - $this->assertTrue(true); - fn() => (!isset($test)); - } - function test676e43e41b793e29ef1a1d101ca90a4250c8f7dbd60fed07d1f118c00486f03d() - { - $this->assertTrue(true); - fn() => (!$test instanceof $test); - } - function test6b970bd5ab3ac33dbbc54dfabef3b1403cbbf1b5805a59ca25187e31bb2fe1b0() - { - $this->assertTrue(true); - fn() => (!empty($test)); - } - function test6c31632a87bfca877e729ef0ca616f421dd8c169f51a6c50520961414813840a() - { - $this->assertTrue(true); - fn() => (!__FUNCTION__); - } - function test6c7bcd63695bf431334291144b51390b838f861e88179257f765e95ad4a32ea5() - { - $this->assertTrue(true); - fn() => (!__CLASS__); - } - function test6f6526b37131d3b967157098c54aa95cf9e3aa8a0b6eff79b99491e005028575() - { - $this->assertTrue(true); - fn() => (!@$test); - } - function test6fa0558a50360ecb0e1b67d775de0598b8a926af2dc31cb9b112fd5ddf4b0180() - { - $this->assertTrue(true); - fn() => (!++$test); - } - function test72838a7ca5b07c4482a7db40a9594c0e199b8ebc28be0c030fe6e44ac97d8b2a() - { - $this->assertTrue(true); - fn() => (!(object) $test); - } - function test76faed54307ece49808eb0571a172a66b22f2b4e5f0746bd476148f97266cbe9() - { - $this->assertTrue(true); - fn() => (!$test::${$test}); - } - function test797f408f379cfe7471dc13656ec3daac14827f792e7094038a76e539d9f0b8e1() - { - $this->assertTrue(true); - fn() => (!($test <<= $test)); - } - function test79b105b06d7eb8923136e753d4a3b43c5412fd5e45da04b20803e18e9f4098ba() - { - $this->assertTrue(true); - fn() => (!self); - } - function test79dafb24f0582eb18e946771b7a3a840d4202034a1f4373696694e8b5463cef7() - { - $this->assertTrue(true); - fn() => (!($test =& $test)); - } - function test80fff0b3292687f2de17fe25c7a3f87fab197d06eb92d45e04087c6eed6ecbbf() - { - $this->assertTrue(true); - fn() => (!$test ** $test); - } - function test85af0b11e41ca28bbfd6040f6aec76f63afac45231ef3161e499391036ebb2a7() - { - $this->assertTrue(true); - fn() => (!($test << $test)); - } - function test8dd6d52013d7666089068e263b91b1ef333dbb0689f407df4fad028cd625c3e6() - { - $this->assertTrue(true); - fn() => (!eval($test)); - } - function test8fa51828fb96d35563a61fc936d39a54ef2638148f47b514978cc81f1d944dc9() - { - $this->assertTrue(true); - fn() => (!($test && $test)); - } - function test8fe41b58f093d73ff441bf83e08a120e61efce9053e8754457d3f32993cc067e() - { - $this->assertTrue(true); - fn() => (!($test -= $test)); - } - function test90ed23e9c059998f68c3e873747c4f49ef1bb33e975682b55a07a9ae74419b8c() - { - $this->assertTrue(true); - fn() => (!-$test); - } - function test9eebf2564489284124ceace1111b1a4cfec9512bd51fc74c4e55dfa63df40d66() - { - $this->assertTrue(true); - fn() => (!!$test); - } - function testa05ede4ff9e318b4765c81146f21991815bf3a3fe2899cbe38848a976a46338a() - { - $this->assertTrue(true); - fn() => (!($test *= $test)); - } - function testa06e3c7cfc6ebe2cbfb71d7e94e62506eb1cc6b865b785fe5bd0658c34c1da25() - { - $this->assertTrue(true); - fn() => (~__NAMESPACE__); - } - function testa1a25db92455cf2e519ed52be25aa0187668caff4f9f6afffdb7403f8585a83f() - { - $this->assertTrue(true); - fn() => (!(bool) $test); - } - function testa8eed7c869413a8ce8336fbf5317b7af89b3516034b2c6962b6140878b4bca7d() - { - $this->assertTrue(true); - fn() => (!match ($test) { - }); - } - function testa97cae4e47a4024f44ccf2e830077a63360df69bfbf8183add4eff37bef4baa4() - { - $this->assertTrue(true); - fn() => (!($test >>= $test)); - } - function testacce8d7831d2c094895b6fa4fc1ca20d9bdae853a3d4ee894422a1ac015c1a55() - { - $this->assertTrue(true); - fn() => (!($test || $test)); - } - function testadc3ae2823b22f6a9af769e5d9bbc6ef8ee491ddae3c185a997521597363806a() - { - $this->assertTrue(true); - fn() => (!(double) $test); - } - function testb326c538ede4aff1856e7edec1747c0fa7a71e5a9808cfa4d823813b061f3829() - { - $this->assertTrue(true); - fn() => (!$test); - } - function testb407bb92ad91e97d41e76ab9fc09e9c5307e1ee617afcf5003e58f4e27f33898() - { - $this->assertTrue(true); - fn() => (!($test xor $test)); - } - function testb90b522fe75ea3da9bbd3170d8d0791bc25c5bdd0ee35d8afcfed630f5d99b29() - { - $this->assertTrue(true); - fn() => (!$test++); - } - function testbb8045c63ab3c1a76053a30316d46f30de143a611c5ed1df4bc0926e3360772f() - { - $this->assertTrue(true); - fn() => (!($test - $test)); - } - function testbcf742db1b3f00c5e680b178e44adbf0b0d3744936c8788057d48508bb77fe43() - { - $this->assertTrue(true); - fn() => (!__METHOD__); - } - function testbd8a4ba566f898d98eb355681f1d6b9ef9d379d62603175e45d8de5f2cf456f1() - { - $this->assertTrue(true); - fn() => (~__LINE__); - } - function testc054024f793837448616d387dbb81f10218864e95a1a7804231ba7c7d33f02f7() - { - $this->assertTrue(true); - fn() => (!($test <=> $test)); - } - function testc0fd7ce181ca1704cd17a58f0e8e1e6d9b9cda75a4c5e7ac85773f734b8bb4e5() - { - $this->assertTrue(true); - fn() => (~__TRAIT__); - } - function testc641b8b4dff66b49c9baaab0f28f56ae764caeaec3673093be856c2c5afdb69c() - { - $this->assertTrue(true); - fn() => (!(print $test)); - } - function testc86e40cb902a7bbe3f19322e0a314d54346bd6e7efc676c7958c13bf2151450b() - { - $this->assertTrue(true); - fn() => (!new $test()); - } - function testcaaeda6a0920b20e48c4e1179996e5f6fc432f33c4382754610ef862be7c4099() - { - $this->assertTrue(true); - fn() => (!__FILE__); - } - function testcac1b18aeccd3ac505b82425cffc75f25cf05ef3b32fce24a8dc635f3b15c507() - { - $this->assertTrue(true); - fn() => (!($test * $test)); - } - function testcb833055b2ba6dfcc71be559a539e70c69e7200b312ba08d45f8894476497449() - { - $this->assertTrue(true); - fn() => (!($test != $test)); - } - function testce7a10825befd934fe64bd3c8ab058b2e1b56a2888f76d85fde299c733b78bc0() - { - $this->assertTrue(true); - fn() => (!($test > $test)); - } - function testcfd45818f70e306a8299685464e547d2acc901e2d92c1e7ba74a9caa78ff0856() - { - $this->assertTrue(true); - fn() => (!($test |= $test)); - } - function testcfe3f4f13e77c41ac00c38dcd93b806737aa51e7f8e4108c06398c835d69a8e4() - { - $this->assertTrue(true); - fn() => (!($test ^ $test)); - } - function testd02e055a12770ccbfd3e30f68d1942a0307ebb077df2a4fcc59abbb9b767c65c() - { - $this->assertTrue(true); - fn() => (!($test ?? $test)); - } - function testd3855e321c19a27209066d932a81c76d5d11f380f478564e021f916de94de949() - { - $this->assertTrue(true); - fn() => (!(int) $test); - } - function testd782ab0209b20f6edc7fad0798d12a515c8ab1e523f2840450540ff25d159721() - { - $this->assertTrue(true); - fn() => (!($test = $test)); - } - function testdaecb91c54e4e086d9eb25af50c4ce5daadf9d024c9f9f3639339ef536a2414b() - { - $this->assertTrue(true); - fn() => (!~$test); - } - function teste3d290afb708fb306f1b9022ab60e3766d6e77811a39fb6d7bbe7b40dff81fd5() - { - $this->assertTrue(true); - fn() => (!"{$test}"); - } - function teste4cf955e90c81ceffdcc6977b5c56897192a33b5348db7b45da9cca13a41005a() - { - $this->assertTrue(true); - fn() => (!$test?->{$test}()); - } - function teste6390573cac6732dbc735dc43cb744286d201f643e9c44bb64a9ccb8c5635c73() - { - $this->assertTrue(true); - fn() => (!(string) $test); - } - function testebadf06f0b33dda255f87b5230ffca43eb75952fb5ad3ced0ea15f433ffdc201() - { - $this->assertTrue(true); - fn() => (!'test'); - } - function testec9a1954bfe9da6c365753bed933b91839444932b2b8b3ae2a5abafc748a7f8c() - { - $this->assertTrue(true); - fn() => (!($test or $test)); - } - function testf1a40d1b9051b953e4cbcc357ce6584371cf1978752153d5b4c9d0b37ead508f() - { - $this->assertTrue(true); - fn() => (!($test &= $test)); - } - function testf34c492c6c0f8621c976c501c66dcac245f30920a9f10737915ee2bc9ecfdaf6() - { - $this->assertTrue(true); - fn() => (!$test::$test); - } - function testf74c2d7b18381e28412457cfc34ec8a32050822bfcbfba15497b1187501f692a() - { - $this->assertTrue(true); - fn() => (!throw $test); - } - function testf8188607217b2f7015d51dea81cc1d58fa547373b7a36a99635e62fb52d7cfed() - { - $this->assertTrue(true); - fn() => (!$test()); - } - function testf9dad0516a52f056bfb3577b137920100f4982f4d31380d581deec45d33a4ae6() - { - $this->assertTrue(true); - fn() => (!($test / $test)); - } - function testfa266e95d069b3a4294d4bf953759b68df85c4dccc80fc28d4fa276435f928fc() - { - $this->assertTrue(true); - fn() => (!($test !== $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test.php b/testsGenerated/Target/Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test.php deleted file mode 100644 index c5da13b01..000000000 --- a/testsGenerated/Target/Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test.php +++ /dev/null @@ -1,510 +0,0 @@ - - * @license MIT - */ -class Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test extends TestCase -{ - function test011181636e2d06f53b70df8bfdbaeb1cec1f28590cfadc5030e0faee526c0d16() - { - $this->assertTrue(true); - fn() => ($test * $test || $test); - } - function test044155a41cc2f7319631174e460cf24be03b7302f03b429b41ebfea019050658() - { - $this->assertTrue(true); - fn() => ($test || $test); - } - function test056caf00a9fde4fd13511228de74e90dbc2bd4930b0e84804ab5e82850433ab7() - { - $this->assertTrue(true); - fn() => (match ($test) { - } || $test); - } - function test0645b7f0c9ad15609ec2b5c19c009544ea8882e6c4e803afe7838134a2d01faa() - { - $this->assertTrue(true); - fn() => (${$test} || $test); - } - function test0cfe81289eccae72cac180dc726b7134d7acfbe04a2d1481724db3964021b11f() - { - $this->assertTrue(true); - fn() => ($test >> $test || $test); - } - function test0ddbf06140df03471e2f379b3675ef051260e5f2934248122d0ba33bb6ef1c15() - { - $this->assertTrue(true); - fn() => ($test % $test || $test); - } - function test1073c1309598c2e7754d9f978e0447a1911fa445f1626d06f2a7cde060ba1b9b() - { - $this->assertTrue(true); - fn() => ($test() || $test); - } - function test11c4f967659237548a9402c15eeff39797e2acd7934f149a431230a7442ae1c4() - { - $this->assertTrue(true); - fn() => (($test ??= $test) || $test); - } - function test154ea8aa8cb91408afcf402c7afd185a28858f768dead06c684d6c363ebf6f15() - { - $this->assertTrue(true); - fn() => (+$test || $test); - } - function test16b10195ea3c590f8fa7a58c650620c5cc3469709a7f2147db3991b7f4756bc7() - { - $this->assertTrue(true); - fn() => (++$test || $test); - } - function test19780710bb4db33590b1e59c2cffe42163e17dee837ef290791088c6539653bd() - { - $this->assertTrue(true); - fn() => ($test < $test || $test); - } - function test1a7773a14e17edaa3104475666c299e7e69fc044e31b32cfec8fd200a918883d() - { - $this->assertTrue(true); - fn() => (( $test) || $test); - } - function test1cdfedcf874b78608579b79a327be9830e9fa81ab85162b75bebe0fdc63e70f8() - { - $this->assertTrue(true); - fn() => ($test - $test || $test); - } - function test1e85e73ee2dd1ee08286961859d15b764c554c1ac8f22b571a0a7b11ac3a2387() - { - $this->assertTrue(true); - fn() => (0.0 || $test); - } - function test1f8209a3e0ccf4bbbbfba6867657d774334896ced4ce6fe66cba95e2b659b48e() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() || $test); - } - function test231be877a10c27d8ab6b79e3cb7fe08b5eead11bc419feffd5f23d2b8e5e1f9a() - { - $this->assertTrue(true); - fn() => (($test >>= $test) || $test); - } - function test23b0de3eb34e23f5d6b74b64161a240bacfcf5124d8f73ccb4480e56b7c7cf39() - { - $this->assertTrue(true); - fn() => (empty($test) || $test); - } - function test23ff94094bac5fd20048f1e7b70517b16e91ca6059f85a7993f4707d12fffa42() - { - $this->assertTrue(true); - fn() => (__FILE__ || $test); - } - function test28c3d634b53b0a55d32c4d981ed5715071d4e0d8c19f63710dcc043bf4ebef6e() - { - $this->assertTrue(true); - fn() => (($test and $test) || $test); - } - function test2b5cf15b402324b2d7afb4c327dd1080814556a57ee29335453a127e88bab6b2() - { - $this->assertTrue(true); - fn() => (new $test() || $test); - } - function test316763d0dab28cfb75493f77c30c9cd3ab5031d2ff1788761ab87d9b814edcd1() - { - $this->assertTrue(true); - fn() => ($test || $test::$test); - } - function test352ddf872c8710b3f7535ef76aeec3603d2cec309fae8b8831c381fc545692d4() - { - $this->assertTrue(true); - fn() => ($test | $test || $test); - } - function test3689701c58b2c8337d97686f1894c021cca08b96ecfd26683af6fbfec74c1145() - { - $this->assertTrue(true); - fn() => (0 || $test); - } - function test3a7c829924f7fc9228a26a2a3762a6f64a39c220af217af41d9282087c4159bb() - { - $this->assertTrue(true); - fn() => ($test || ($test = $test)); - } - function test3c8d8a1abd8c576690e4156268245730c7f894c3f4b2e4f379ebf3e9cf01d441() - { - $this->assertTrue(true); - fn() => (($test &= $test) || $test); - } - function test3d01d86851071bbe855784cb8e4c71c279d2d7c8b26f44eb60ec2748b3061abc() - { - $this->assertTrue(true); - fn() => (throw $test || $test); - } - function test407e77eb4b312218ad08639c6a44006a073a4a8185f6e70491bd601d14535f8b() - { - $this->assertTrue(true); - fn() => ($test ** $test || $test); - } - function test46a6b69390bebf3473023f88302a7cc93398a3fe457bb9d8aed132b2325a5f35() - { - $this->assertTrue(true); - fn() => ($test || self); - } - function test47551859792555cb372ab5f279eb8355fd3baaa33e52f75cc4811731e123dde5() - { - $this->assertTrue(true); - fn() => ($test >= $test || $test); - } - function test4a1cdf8496ff3c5f02fda52982f754453753291b444431a39b00b1ea2cdbc694() - { - $this->assertTrue(true); - fn() => ($test?->{$test} || $test); - } - function test4c74980c4c5c4caabf965cdd7d1c5c9d7a1e2cd9ce28fa3e29286b76db953e14() - { - $this->assertTrue(true); - fn() => (self || $test); - } - function test51e3dcd47fe80fa1a7d2494f6810705d953b11027e941af5e1e6e0a19223c14c() - { - $this->assertTrue(true); - fn() => (__LINE__ || $test); - } - function test52ec820355f01dba677fcec29305408428d1130891e6c0f4d183b4477b45c3a2() - { - $this->assertTrue(true); - fn() => (($test %= $test) || $test); - } - function test578a0de360ecf70b8042636b1967a2c4ffe09b2ae0e0eb44870f36abebaacede() - { - $this->assertTrue(true); - fn() => ((string) $test || $test); - } - function test58efaf43326971ba7587085b1c57e4d642b0d83590b3ffc4f0bddcc024b2719a() - { - $this->assertTrue(true); - fn() => (($test <<= $test) || $test); - } - function test5c88fa270685cf3169caa66ed53786cf4ddb7a0c0050662127b355b17efeed6d() - { - $this->assertTrue(true); - fn() => ($test->{$test} || $test); - } - function test5d62a7dd0bf582fe58f1730ccc55a27876cef1b3f6c5ac01877284e08fd3bf92() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ || $test); - } - function test61cf4b2b3b4ff31a801ba3b308aa77fff76b4b65c2cfccfa6ca7bda9afaa688f() - { - $this->assertTrue(true); - fn() => (eval($test) || $test); - } - function test654222a398ff471a6790542a8cbb8fcf3b8476fd703ddad6a3462d5ac8f2b0a2() - { - $this->assertTrue(true); - fn() => ($test || function () { - }); - } - function test66a367a52b795df85589e987e0c348492f02610efe946425120bcaf2890f37ce() - { - $this->assertTrue(true); - fn() => ($test->{$test}() || $test); - } - function test69730ebfabfa1dc4efbe9807d278146c44325a50bb0aa1138860b3b6eaa8e1e1() - { - $this->assertTrue(true); - fn() => ($test || ($test =& $test)); - } - function test6b632f010e4dd530ab438ae8ae2cde384d559c60d28d71f1bf2f81f806fe35bb() - { - $this->assertTrue(true); - fn() => ($test <= $test || $test); - } - function test6ba0861ba6a7c2cf9183df7aec0425fed8336ad84caf11e381d7998c34208365() - { - $this->assertTrue(true); - fn() => (--$test || $test); - } - function test6da51dac2001d23e452fd09f5d0f9b28d5c7ae27eb13493d48e2000e2feefdc5() - { - $this->assertTrue(true); - fn() => (__DIR__ || $test); - } - function test6e5a2c088846e2ea99a5e57600f02dc5ca07cbfa532d4319a77c92b39216bc35() - { - $this->assertTrue(true); - fn() => (($test *= $test) || $test); - } - function test738331eceb58d9bfd6f9f9e5690ea0a7f0b4decc9d9fdc111e437d2df1bbe843() - { - $this->assertTrue(true); - fn() => ($test + $test || $test); - } - function test73de7c6d965b8eecf503e1a36383746016e03465940797399c4c6e163196b04c() - { - $this->assertTrue(true); - fn() => ($test || $test || $test); - } - function test7411140bae9b5019ca5a753859971085ac22aaae606282c7211458e3bdb8b316() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) || $test); - } - function test754e1a531c9557d95ac0e5ccc0004f3ea13b85221e5d4bc0d8c34bd4069cae43() - { - $this->assertTrue(true); - fn() => ($test << $test || $test); - } - function test75c654cfd2c58e2ead825d5fc9dbd1a6df9feee5a98636a7715438318a81de8c() - { - $this->assertTrue(true); - fn() => ($test . $test || $test); - } - function test799621f370b0b3b027910bf6f1b1605e80d25f9372c2fcb67d3f35ba80eb5718() - { - $this->assertTrue(true); - fn() => (__TRAIT__ || $test); - } - function test896b9c4a484ecfda84d35132f44d7d1a01b2f9217efc7fbc5a0c516e079f2d99() - { - $this->assertTrue(true); - fn() => (($test .= $test) || $test); - } - function test8b48875b7a80e2b4dc1ff672b7a11507f04371368426a6c7d27f2e859618d856() - { - $this->assertTrue(true); - fn() => (`` || $test); - } - function test8bcba4a78a44f314c70da3e08b438d56566a1285fa62d053751a08e104fce5f1() - { - $this->assertTrue(true); - fn() => ($test::$test() || $test); - } - function test99565bec511e4012cb4c4ffda6705135572b82d7a967c2b52d508495e3f7e227() - { - $this->assertTrue(true); - fn() => ($test::${$test} || $test); - } - function test9cb7887d0c6dcada76ffa80e100cf9052edb965d7c553224cb8c48f2edb0969b() - { - $this->assertTrue(true); - fn() => ($test / $test || $test); - } - function test9f994e72b96ec0646784624f28eb236d27725ef32c170dcd13448ca2d22db60a() - { - $this->assertTrue(true); - fn() => ($test || $test[$test]); - } - function testa15ec8d72d7a7af1e7b622a117a824b3f4eb7b1467e9f099245f738e7b400d30() - { - $this->assertTrue(true); - fn() => ($test-- || $test); - } - function testa1ddfe07104daee8df8e5353ccad79daf8cd2f7a9075c99874de345d1be8c223() - { - $this->assertTrue(true); - fn() => ((array) $test || $test); - } - function testa3aca2d686fe7655eb6be50277cb6523a262d7908757ebe968704a273c765e52() - { - $this->assertTrue(true); - fn() => ((object) $test || $test); - } - function testa4c48d3e4b9343298e13d51b0d969f4ec40fb215d7907a4ab2da2b6203834610() - { - $this->assertTrue(true); - fn() => (($test -= $test) || $test); - } - function testa63bd4f47bd21f65e949ae64d1c4d54bf7e9b5bf26d1cc2c5c1e2dacb059724c() - { - $this->assertTrue(true); - fn() => ($test || clone $test); - } - function testa7c95d4db2387860e17e313d65c07df3fa09935d6c63d3f71e43a544cae5b903() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ || $test); - } - function testa7ea9aef61b7dc54f25f939432940572f673555372602650adde59ef7117f7f1() - { - $this->assertTrue(true); - fn() => (__CLASS__ || $test); - } - function testa9707c873048e33a613b79f770bd06370b89226248997b2ed7c5577d02ca9141() - { - $this->assertTrue(true); - fn() => (($test ?? $test) || $test); - } - function testaa7af519cafa8dfc37e9b8487117e3b0f9ae87da3529786c88b455069027651c() - { - $this->assertTrue(true); - fn() => (-$test || $test); - } - function testad73e5450f5ea56533eb255cdbd56f08e960b2261c97840ce096518cacd335a2() - { - $this->assertTrue(true); - fn() => ($test === $test || $test); - } - function testb00fb7b68b19172cd6574c4efd13e23322e58238aece4a6d9376d2c26d22f378() - { - $this->assertTrue(true); - fn() => (isset($test) || $test); - } - function testb09a36a0da122e382c0bb6e2ce3022d09bc11ea2154fc74369394933891b8a8c() - { - $this->assertTrue(true); - fn() => ('test' || $test); - } - function testb49885b3be7fb3a33482b5017c3c45a132bc918853e187d284aa6841c1cc382c() - { - $this->assertTrue(true); - fn() => ($test ^ $test || $test); - } - function testb6dd5424eb6a81a1787a0cb2c410b0ceea7205ccd7cad386085753d85daf65b9() - { - $this->assertTrue(true); - fn() => ($test instanceof $test || $test); - } - function testbbabc02fe6d3ee195279d498ddd7c50a73a7e9a373e0860a3f74d1dbb7d566df() - { - $this->assertTrue(true); - fn() => (($test |= $test) || $test); - } - function testbc0d1abc5fee153f11424629c42553eb93df29f920d6953052c8db73d3a2e87e() - { - $this->assertTrue(true); - fn() => ((yield from $test) || $test); - } - function testbd6af77f25910dcacb523e44f0ea71bfbf8e8a0657784a61d72565fb7ced0b05() - { - $this->assertTrue(true); - fn() => (($test /= $test) || $test); - } - function testc4c23d8001f9ac5c7ace56eba26563bb369ae92d972f1c5a2715bf54d0104aba() - { - $this->assertTrue(true); - fn() => ($test <=> $test || $test); - } - function testc5def639e05e81f126fd0e1d98c1644bcdf00e8e9f425c5ed652b61872cef30b() - { - $this->assertTrue(true); - fn() => (($test xor $test) || $test); - } - function testc67c3357b740588520b0e391370e21bdf0e06ed542af3219d12271f633fcf7b7() - { - $this->assertTrue(true); - fn() => (($test **= $test) || $test); - } - function testc75a50b176916dfbee178b7f50cc86409568e912832aaedbb0294b72498ae5bb() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) || $test); - } - function testce82bae1926a50aa0185893f354f5eb063580899a3db1a91364a20e37293bdf3() - { - $this->assertTrue(true); - fn() => (($test or $test) || $test); - } - function testd4edf4d99bbc5115a8086f13fc93b15b5b092abf7b86afbea0e347c60de45a38() - { - $this->assertTrue(true); - fn() => ($test || []); - } - function testd79d319c6e1805419c73fcfd42da25d5c607183a86547fddb712ef178a8ddadd() - { - $this->assertTrue(true); - fn() => ($test && $test || $test); - } - function testdb48d19e7909095848417249c655d5439377ba54e6cfe2b4fd731bc9c97203cd() - { - $this->assertTrue(true); - fn() => (function () { - } || $test); - } - function testdba7048541b66e7a01937e9032be91e96efb64b82603035f7c2382ab2b84eec0() - { - $this->assertTrue(true); - fn() => ($test > $test || $test); - } - function testde687a89772ceac099e1c79b0feb65be0dc8a3095b2d2abebcd2d928f6895543() - { - $this->assertTrue(true); - fn() => (__METHOD__ || $test); - } - function teste2d372c60c8a77cbf664e1ec09f220294fe2898a594d286db4044672c00f96e3() - { - $this->assertTrue(true); - fn() => (($test ^= $test) || $test); - } - function teste758e877ad4a384446170b4d5fc78226e97b9cc6668cf79fe7a83d8af5fe7f04() - { - $this->assertTrue(true); - fn() => ((double) $test || $test); - } - function testeac4670ba7e410db7a66257b793fea8ce82ca5fff3e3e9b2d0d96863e5f3c355() - { - $this->assertTrue(true); - fn() => ($test !== $test || $test); - } - function testeea43068f75b240a8a20ab30d4cc2a01d4612b154079dd316b4b0ee5146c629b() - { - $this->assertTrue(true); - fn() => ((print $test) || $test); - } - function testeec0fe264015dfdb84b655bbe1a8a175410b4364fde5ffbcf6d3a53e9461e0db() - { - $this->assertTrue(true); - fn() => ("{$test}" || $test); - } - function testf0221108bcb49fa24226713eccf71819bbe9d416dc7f3081b07b8524fb467bc1() - { - $this->assertTrue(true); - fn() => ($test == $test || $test); - } - function testf16ef2f321f6e32e96a9c66789e49aecd4514d05ac06d6731c6e209c4fd06287() - { - $this->assertTrue(true); - fn() => (($test += $test) || $test); - } - function testf1fa289e5a0dec601173b55a459248bb58f45bec03734ec42bc3daf0ab970fab() - { - $this->assertTrue(true); - fn() => ((bool) $test || $test); - } - function testf2b02a9755a0de356e296eeff654469a514e5c9e625a580ea2769a4e18edf0fa() - { - $this->assertTrue(true); - fn() => ($test != $test || $test); - } - function testf38af4245f627616496c6db11690af3620d5a09cc56e02f9098aff2661aa339b() - { - $this->assertTrue(true); - fn() => ((int) $test || $test); - } - function testf4d48dc423e659c8a1d66d35d20908ae3abcf9693c4090a07448bb894e54da6b() - { - $this->assertTrue(true); - fn() => ($test++ || $test); - } - function testfa1735d8f2e170df895797b87f331b17a05ec0bc9d2b90ae743d8b0d2814b4de() - { - $this->assertTrue(true); - fn() => ($test || !$test); - } - function testfc851fcf35499e78ed1eb1be3ec7145285a9e3f5d07f629e4de1850d00c3c1d7() - { - $this->assertTrue(true); - fn() => ($test & $test || $test); - } - function testff193aede2b43ea5e350b72ae48640ceb8f2204f321652b460ef78b4135e6e2c() - { - $this->assertTrue(true); - fn() => (@$test || $test); - } - function testff6b12617368d96364cebaaab11dd1139f53f9ed65676f196374bee62aa4ce11() - { - $this->assertTrue(true); - fn() => ($test || ~$test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest.php b/testsGenerated/Target/Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest.php deleted file mode 100644 index 3f6dd377c..000000000 --- a/testsGenerated/Target/Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest.php +++ /dev/null @@ -1,508 +0,0 @@ - - * @license MIT - */ -class Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest extends TestCase -{ - function test04b3b292bb2fabd92e071ccbd9cc9592de46974fec7f7f1851966cdb79fab92e() - { - $this->assertTrue(true); - fn() => (new (isset($test))()); - } - function test053e86c7dfd8feba2b79a8e9ca51f125df55dda585ef47dc4a0bacea937fb61b() - { - $this->assertTrue(true); - fn() => (new ($test)()); - } - function test07f2544cd407c2def32992624a2a4302dbc8fba71c45628880586cb003a82309() - { - $this->assertTrue(true); - fn() => (new (-$test)()); - } - function test13496d41641520ebd29354f11dc4a14909d0d00d94fe8e259d6e8c69795bd83b() - { - $this->assertTrue(true); - fn() => $test->{$test + $test}(); - } - function test1514daf32eeb6a2a37da19fcc9df049b61711a0f7ffbb7fde4bd54084d40a437() - { - $this->assertTrue(true); - fn() => $test->{(object) $test}(); - } - function test1868ce08423d9600c784ba8a0eed7282ac5520030312a9f70e09f1bc1764cd79() - { - $this->assertTrue(true); - fn() => $test->{__NAMESPACE__}(); - } - function test1f8c18f1e84e88f079a7d4da5679ae992ab14e79bef7e8f91467164fdd98478d() - { - $this->assertTrue(true); - fn() => (new $test[$test]()); - } - function test1fb2cf775c0fd9d45ce66203035375b037d38582eee078245906476b07ad4ce2() - { - $this->assertTrue(true); - fn() => (new ($test &= $test)()); - } - function test22a9ff3da5a6cc9928c2666fc62aa9f3833f2ae61d8b7ccecc34f4759beb446c() - { - $this->assertTrue(true); - fn() => $test->{(array) $test}(); - } - function test25877a04846f43b838a93c45ea8dff586815ac0bfc4ded727ecf0b0e6ce279fb() - { - $this->assertTrue(true); - fn() => $test->{$test || $test}(); - } - function test2823770b51d242aeecca34464fbffb4777e4b888c3f6d0f4268cd15f3307262d() - { - $this->assertTrue(true); - fn() => $test->{(int) $test}(); - } - function test2ad78258b934c5f879acbac5acc7526546a21aa63d4dc73381c20119d4c6a9b6() - { - $this->assertTrue(true); - fn() => (new ($test %= $test)()); - } - function test2f031d6f49f77d01371ae5f36d233131e155a9f1cd0d0054c817e2244adc86d9() - { - $this->assertTrue(true); - fn() => $test->{$test %= $test}(); - } - function test2fa4b88138a75ed5d5d223f0c2ee2505a865cb2d9b1940742f549b6839cb62c3() - { - $this->assertTrue(true); - fn() => (new ($test =& $test)()); - } - function test2faf09fd62355b6bf0de809f59fafee91332f0ce3959d71cb99d56f4bcbfeba3() - { - $this->assertTrue(true); - fn() => $test->{$test - $test}(); - } - function test30aebd2892bbe0144d7fab2508f55787b2aff705eb2ee62dda6fef9a6ffa9333() - { - $this->assertTrue(true); - fn() => $test->{$test -= $test}(); - } - function test35bff3c1afb5e1d6c8f2f7a178ed6b0057f416bed68a845c3e24cd13669b603f() - { - $this->assertTrue(true); - fn() => (new $test::${$test}()); - } - function test35fff66e34309bac2b44e88124e4932d8e2166b8ab7ef3a6f2467044ebfe97a6() - { - $this->assertTrue(true); - fn() => $test->{$test |= $test}(); - } - function test3618036bb1ddd0d58e51c613f335bece1bc02cbd121b637ea37c3d97df8f8796() - { - $this->assertTrue(true); - fn() => $test->{$test >= $test}(); - } - function test39da6647195ed89f0805161a10cb8d90f2f51ac7256b374b038bfa076a53a32b() - { - $this->assertTrue(true); - fn() => $test->{$test ^ $test}(); - } - function test3d4af0d53abf39fd86b7d52533e3c2808ce7a3aaaed4005f9f79a1b7353bc7c7() - { - $this->assertTrue(true); - fn() => (new ($test++)()); - } - function test40b37c9cdbe47ef6ec93c5cd4d4d954edb3e26e4f1c64eb2db35d50fff3f03a9() - { - $this->assertTrue(true); - fn() => (new self()); - } - function test462cc29461c40c70f3a51c549ee1d5471721739a13bcebc5ab70ef639d5b824e() - { - $this->assertTrue(true); - fn() => (new (``)()); - } - function test49b6ad82c71a31f334af6e62a1ef28bae2aadd92741f40a2555575967230c62e() - { - $this->assertTrue(true); - fn() => $test->{__CLASS__}(); - } - function test4a89f47644fa56c4353e5cc16b1fe23a3bb720092946ff20790fbab186aba6cb() - { - $this->assertTrue(true); - fn() => $test->{$test and $test}(); - } - function test4cdb961aab629885916a984b3cffc2442cef2d8d7b26f6a231fa1fda1e9f1527() - { - $this->assertTrue(true); - fn() => $test->{$test < $test}(); - } - function test4d969b77e39f666c9d7f04ee16c01240364dfe41ba480a2511ac61ccfc1d0f1d() - { - $this->assertTrue(true); - fn() => (new ($test **= $test)()); - } - function test4ee74effe2777c86049e772c423254a6d2006576f10a1bd71b851059574da45f() - { - $this->assertTrue(true); - fn() => (new ($test ? $test : $test)()); - } - function test546c402c0872bf8668cc810915d0a00a42d333a326843fa7172c164a0c542372() - { - $this->assertTrue(true); - fn() => (new ($test -= $test)()); - } - function test549167bc10becdcf9c85e962b1a4b1894ff582372545d43988abd1b049076281() - { - $this->assertTrue(true); - fn() => $test->{$test !== $test}(); - } - function test54d2379b1fbd2cf8854f40c08559d31bf5694f6a79e21d6bea03d837df4d5b8a() - { - $this->assertTrue(true); - fn() => $test->{$test * $test}(); - } - function test556592f3eca3eff6a8add6303286c99bfb973305064f7d194f2741a73344f919() - { - $this->assertTrue(true); - fn() => $test->{$test or $test}(); - } - function test5665c26734d40a516173f113c97dc74d3a4de1f28925adf29ebf6238cbf33756() - { - $this->assertTrue(true); - fn() => $test->{$test <=> $test}(); - } - function test5693a011d0dea13963aadcf7e9e8efea96d97cd57d0ef1c1288446cc1e10b6f3() - { - $this->assertTrue(true); - fn() => (new (new $test())()); - } - function test5757d5024414cb643fc14d63fde0f21cd12493d34f35978df045411a82d09444() - { - $this->assertTrue(true); - fn() => (new $test?->{$test}()); - } - function test5b64bf6445b7a5b1075e6244ed8303589ff6cf9ae1c53a486cba71fe466298b4() - { - $this->assertTrue(true); - fn() => (new (@$test)()); - } - function test5ebdde897c25fb3cc1d8a2ab4a06a42159f32961bb8ed1cad5ccef2b3a237d0f() - { - $this->assertTrue(true); - fn() => (new (+$test)()); - } - function test5ee0a73c5a1e850b75e506490c7f59d96d0ee3624bc5a3cc209bcf4e9187821d() - { - $this->assertTrue(true); - fn() => (new ($test |= $test)()); - } - function test61f802c3229fe3f4e9732dcff2c35c841682ce1ac9293c1b766a7fb0a09282bb() - { - $this->assertTrue(true); - fn() => $test->{$test % $test}(); - } - function test639a8f37bd08020f69b52b79ff5a99cfa6028801b8ad273a24caaf378b6d34bf() - { - $this->assertTrue(true); - fn() => $test->{$test ??= $test}(); - } - function test6498ce1f8154679d120c6514e1bbf07942f3b20da15e68a5851d6fdea40bec47() - { - $this->assertTrue(true); - fn() => (new (eval($test))()); - } - function test68751b69c38b9ab5c64a9f1ab6e608901c2173f11923a7f2ed6f2f7acf1638f8() - { - $this->assertTrue(true); - fn() => $test->{$test > $test}(); - } - function test6e7098cb73eb33f73037093f779d656e7f9c1ccab48129ab9c34d27cd59fc5e0() - { - $this->assertTrue(true); - fn() => (new ($test ??= $test)()); - } - function test71401b415ac7c1190050ef60313de8be95ced86d7c1638252f8c859ffa8a146f() - { - $this->assertTrue(true); - fn() => $test->{(bool) $test}(); - } - function test717e56f58514720eac89be8943d98bee76ee454cb4428926a9bd3b1d656251ae() - { - $this->assertTrue(true); - fn() => $test->{$test === $test}(); - } - function test74fe9a9220928a7e60cb5fc6d9b48958241df244882cb778a884eb45535bc7d6() - { - $this->assertTrue(true); - fn() => $test->{$test *= $test}(); - } - function test76b1378cdd4af9650a0463648de1fae7df68e34a657cc0a7b2c9781af90f9ac2() - { - $this->assertTrue(true); - fn() => $test->{$test / $test}(); - } - function test7899a1e6cdec0f84f8d4b78faabfccbee8ef2dc855108b930f2a80725bf5ff04() - { - $this->assertTrue(true); - fn() => $test->{$test <<= $test}(); - } - function test7b737f6eb2459c525abe4540ff943e27b9d777305d6d97181d7ab5c0209d050d() - { - $this->assertTrue(true); - fn() => $test->{$test <= $test}(); - } - function test80de74917ed53f06bf6cdb0924504ca17c889aec7d4f69ed902ed3368708cd41() - { - $this->assertTrue(true); - fn() => (new ($test <<= $test)()); - } - function test81e5a3a2c3cde5376a60d975fb9d2eb70ed29d195d34cd9abe83c32282de51cd() - { - $this->assertTrue(true); - fn() => (new (function () { - })()); - } - function test81e8d0ffdac79da1277806ffb284f80e77211827aaf6c68131fc48a920a74c3d() - { - $this->assertTrue(true); - fn() => $test->{$test xor $test}(); - } - function test820304dc1bb290e4ca0b4f6949fe825f834eb2d23ccb473aead221394b48a46b() - { - $this->assertTrue(true); - fn() => $test->{__FILE__}(); - } - function test83aaabca48d303ed7c604e7c14b779bae1a5934a17563d59143066c7b73d1998() - { - $this->assertTrue(true); - fn() => $test->{$test & $test}(); - } - function test87f5c895ea2e01f2333d3139ec8e6cbb523ad2354d3f46537269c681c14736b2() - { - $this->assertTrue(true); - fn() => (new (--$test)()); - } - function test8c0aa1f1a3a613992f93be6c1c5e81914bf218d33c58d7ac2e4b069c58b1cdc5() - { - $this->assertTrue(true); - fn() => (new ($test += $test)()); - } - function test8d4becfa7a8c801d79ff70ffdffdfa06c30983ccfcb67736cf78a37f09fb1396() - { - $this->assertTrue(true); - fn() => (new ($test instanceof $test)()); - } - function test8f408f4b61a23b65253536a11c4097487be93b7856ac82505f2869fa158c1a0d() - { - $this->assertTrue(true); - fn() => $test->{$test >> $test}(); - } - function test91069117794cc5ea764a809b3aaaffa502c02aed785d47fb56fdd81e132dc9fc() - { - $this->assertTrue(true); - fn() => (new (++$test)()); - } - function test9113ada20fd045e2795b8daaabfee77093a16897257ace4606abd3275eaebf27() - { - $this->assertTrue(true); - fn() => $test->{$test **= $test}(); - } - function test93e8a5d46d1012f4f7b7c358e7e58b6e53e59597a0b7fa08a1686ca45c22b058() - { - $this->assertTrue(true); - fn() => $test->{__FUNCTION__}(); - } - function test9ce59e4ac8cc6f777bf33edf45754453d8dda510370c6719466c69f5bdebee6e() - { - $this->assertTrue(true); - fn() => (new (empty($test))()); - } - function test9eb312077d928de0928e78cd7fe0e64642f152f41ad23bbafbeeb9b10f84212f() - { - $this->assertTrue(true); - fn() => $test->{$test != $test}(); - } - function testa3797c9bec5ea6ad003f9090c26c09c127ffbb7d9230e4fd43c2154092040baf() - { - $this->assertTrue(true); - fn() => (new ($test & $test)()); - } - function testa3a992782b520bda5adcc4e5b4428eff9c503720dc62f16b0024ce9a3b656cab() - { - $this->assertTrue(true); - fn() => $test->{$test << $test}(); - } - function testa4a71a80ed22b5113e003c7370b50a82fc15efb237060d3015b74354f8642511() - { - $this->assertTrue(true); - fn() => $test->{$test == $test}(); - } - function testa8eaba92274e954291a2b76972c0ab6254a572df9fb00d53a478b7acdc7b1235() - { - $this->assertTrue(true); - fn() => $test->{(string) $test}(); - } - function testb39a4862495d96d9c966724a3f9fea4608210bcd74c3642bfd35614022363719() - { - $this->assertTrue(true); - fn() => (new ${$test}()); - } - function testb58dea91bb8819f1914948c71e6264fb64b954719ff8f422c121a0110fab681a() - { - $this->assertTrue(true); - fn() => (new ($test ^= $test)()); - } - function testb6c993fe6335c91f89888fe1bf4f22fd1666c322efef3cc284aee8cf5581ce0d() - { - $this->assertTrue(true); - fn() => (new (yield from $test)()); - } - function testb77d35d80b23fdfb2314774b0173aee9452a6316c892a4e9eea8b93125611c67() - { - $this->assertTrue(true); - fn() => (new (!$test)()); - } - function testb857cf3c3bd92322515dfd49dafa93cb63c4019e4faa927839b869874c6c6962() - { - $this->assertTrue(true); - fn() => $test->{$test . $test}(); - } - function testbaa894db059d1f6a30365d43ae95a9cacb16e9225b8f592bacaf768ecac8c60b() - { - $this->assertTrue(true); - fn() => $test->{"{$test}"}(); - } - function testbe6e3976f594dfd3a236faaf7806596c1b9e2cbc377fa546f831a32f421276d0() - { - $this->assertTrue(true); - fn() => $test->{__TRAIT__}(); - } - function testc0b6f76d1f7c0c7fca1115fbefb5c64cf96407ef49fe775a28735f7e89ec2574() - { - $this->assertTrue(true); - fn() => $test->{$test ?? $test}(); - } - function testc6302ff00f34201d7d7cea3868dcd658bcd2ae2fa57ac2414fe6324c42c3a91c() - { - $this->assertTrue(true); - fn() => $test->{$test += $test}(); - } - function testca9c70865b6719882bc80796da2c82c7400cb54f9180c285b9b6d8486493f120() - { - $this->assertTrue(true); - fn() => $test->{$test ** $test}(); - } - function testcb95cd088857b161e99215854fa5b052db8968b81842d4eef876c48d256ab1b5() - { - $this->assertTrue(true); - fn() => (new ($test .= $test)()); - } - function testcffdf9dcef0027aff8e0915db5116850f0f60114f548c80c6617563d91aeea56() - { - $this->assertTrue(true); - fn() => $test->{__METHOD__}(); - } - function testd2d6385b94adb0fccfb91ad48fd7f66aa2d6d9afff6605c3c7d4eb257d4015b1() - { - $this->assertTrue(true); - fn() => (new (~$test)()); - } - function testd30ea37ccaef6a357d365fdc2eb8512fa0767ce7761ac30d7f2525c518bc460a() - { - $this->assertTrue(true); - fn() => (new (clone $test)()); - } - function testd6db09adbe5687309103e25ccfea54c2ad1fcfbd9760cd9bb3c58e1418aeb39f() - { - $this->assertTrue(true); - fn() => $test->{(double) $test}(); - } - function testd7f789bf4307f78d1d2419b918940897c03c5f5bb08ab3cff905fc7eeac49427() - { - $this->assertTrue(true); - fn() => (new $test->{$test}()); - } - function testd8d9d97e6c161ab68d64a94b2e257833ed1df3216eaef125421e9c782f454b6e() - { - $this->assertTrue(true); - fn() => $test->{'test'}(); - } - function testdef0eee28ec2787ed984859f14c62c8a811dc3476f96f66209e36f5b09c7412e() - { - $this->assertTrue(true); - fn() => $test->{__DIR__}(); - } - function testdf5564a6ca4bc731b3f11ad2bdbf476c0ea50f9b54ead776ff293d001cd0898a() - { - $this->assertTrue(true); - fn() => $test->{$test .= $test}(); - } - function teste31d8b7af3a6a798df462f4cbfcf80392b179944556ba1db685bd78ed7b4ff1a() - { - $this->assertTrue(true); - fn() => (new ($test >>= $test)()); - } - function teste4df56dd482a9246ebb5475a77b487196c6d6c910783dff5204115055ed19dbe() - { - $this->assertTrue(true); - fn() => $test->{$test >>= $test}(); - } - function teste83307fca2629998d3325a0b84623192962a3527bc337f317719031da66be0ad() - { - $this->assertTrue(true); - fn() => $test->{$test && $test}(); - } - function teste917028bd1babff77a65828c74b3a00d9420767ddae02784ce4670de61ce37dd() - { - $this->assertTrue(true); - fn() => (new ($test--)()); - } - function testeaaf8a8e7308ecd339515caf4c67e4987f025c02f2e91dbffac92be03db92182() - { - $this->assertTrue(true); - fn() => (new $test::$test()); - } - function testefd14db05567f18f7dabf112b255044d1c87f239eac4372d0329054efcebbaa3() - { - $this->assertTrue(true); - fn() => (new ( $test)()); - } - function testf0a480eb77204fb3b7a7f8b37afeba467e5eb67b150e5af2a4fa86ba12b3d3a7() - { - $this->assertTrue(true); - fn() => (new ($test *= $test)()); - } - function testf3365928bca12b7808e81c398fbf00ff47c016fb7ab942eb794155c96aeefbd5() - { - $this->assertTrue(true); - fn() => (new ($test = $test)()); - } - function testf74a8605db5b17f5d5337be81d4e9200fcdc7a4c4430765b13b8bc91bcaeda86() - { - $this->assertTrue(true); - fn() => $test->{$test ^= $test}(); - } - function testf84b51aa2b0ca1967dd7ab565fbf7486fffd1724d257b1f565c0606b76bc8f95() - { - $this->assertTrue(true); - fn() => (new ((yield $test => $test))()); - } - function testfce9eb1af17e96bc5702df9ca469d1d33bdf9fab1ca7a3ee3b4fe11f8140c395() - { - $this->assertTrue(true); - fn() => (new ($test /= $test)()); - } - function testfd379cdfe3532f45173e3750d0f64ee8e710f5c4b1acda8698bc1396db74df43() - { - $this->assertTrue(true); - fn() => $test->{$test | $test}(); - } - function testfd99ef86e709aa741e040236e8c76e0cb834705da064f7ffc32b9d7da65c0168() - { - $this->assertTrue(true); - fn() => $test->{$test /= $test}(); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest.php b/testsGenerated/Target/Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest.php deleted file mode 100644 index 2b686ce79..000000000 --- a/testsGenerated/Target/Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest extends TestCase -{ - function test013daf4a27995e1d648965131c05b7a1dd9ea63e4705576d3bc62f7e529163d8() - { - $this->assertTrue(true); - fn() => (__CLASS__ or $test); - } - function test04196550a50337b1cbbeedbfa1491e0ecef5206a298d366d8d2b539eed139e53() - { - $this->assertTrue(true); - fn() => ($test or $test::${$test}); - } - function test041f75af70cdebd3216f9d05fed5369021e6e7fb4af008c712aa443b98136c4c() - { - $this->assertTrue(true); - fn() => ($test or -$test); - } - function test0b04af36dd2086df6f6ecfd7f868d87933f22451ad3ea85a51530a53c3df5a99() - { - $this->assertTrue(true); - fn() => ((double) $test or $test); - } - function test0d338b77406b6bc813f48675e3f7861cca572090a5eca0f7dade98de2ce481fb() - { - $this->assertTrue(true); - fn() => ($test <=> $test or $test); - } - function test1417e2a6576fb5593429f32427f1f8c14b8bd9aea011fc8dde0fbd84997b910f() - { - $this->assertTrue(true); - fn() => ($test or $test %= $test); - } - function test14a16cf2e0739eafb1f33884d43db070a31de778696e410faa7cd73d012d5d3f() - { - $this->assertTrue(true); - fn() => ($test or $test &= $test); - } - function test16b8841a67c57bca6adfa78a7d7627fb8055736d4d688de26c0ff42a95b43778() - { - $this->assertTrue(true); - fn() => ($test or $test -= $test); - } - function test17d92afb7191751fcb61d1717d5852eab93ddd7d9015460e4ae2a9d914a36cc0() - { - $this->assertTrue(true); - fn() => ($test === $test or $test); - } - function test18c1d2db5edf683f475534628dbeadad8c4724fbd374cb751c551dda72dbc5ad() - { - $this->assertTrue(true); - fn() => ($test <= $test or $test); - } - function test1af4794a4993f4e925d1d63c7cb861c5075320bafa22d19f320f3ac9915f6b79() - { - $this->assertTrue(true); - fn() => ($test or $test or $test); - } - function test1eeaff90f93ed3e14768a005b53ad0a28a44bdffd48b43cd36efd440323e5169() - { - $this->assertTrue(true); - fn() => ($test >> $test or $test); - } - function test1f80a3b96a1d267ca10a71bf376232c3c148ba1fbe27066ec145eec2fcc6a636() - { - $this->assertTrue(true); - fn() => ($test or $test ^ $test); - } - function test20b58524e7f8173407b68c2e95da6be28e3a5f86e8f1a916fa553e42d4b5afb3() - { - $this->assertTrue(true); - fn() => ($test or eval($test)); - } - function test2498d889095136fb7de17b944634a154be9f4d01b8a813bdc7e9f37a2a09fd83() - { - $this->assertTrue(true); - fn() => ($test or $test and $test); - } - function test2983912855527aac69f4f30d4d860f3d09e24a06a4ad900012a7cee44a3f56ee() - { - $this->assertTrue(true); - fn() => ((bool) $test or $test); - } - function test2e53942d5e5025990bb31193807155d25d97a22ed40782ac7de8c7b0e993df52() - { - $this->assertTrue(true); - fn() => ($test or $test()); - } - function test353f93492ace9d4d5ef253c46cd3cf4d4e326318d93fbdfed3221740aabe1467() - { - $this->assertTrue(true); - fn() => ($test or isset($test)); - } - function test38c406bf1f1d29dfab23f661df4f802d21bb5df914f3c9ddfd42b3e41492b192() - { - $this->assertTrue(true); - fn() => ($test or print $test); - } - function test38efe0b3378d238051d7b08104a6a0a2d0ba6bfff7d5e8c1ad639d9e0e8d7a62() - { - $this->assertTrue(true); - fn() => ($test != $test or $test); - } - function test394d24fc2aa44f30dee546dbeef1493f4b65a0bc18b91d3d437b932f3ab6dc0a() - { - $this->assertTrue(true); - fn() => ($test % $test or $test); - } - function test3e2a12ca35eac4598c32237b11a0ae9f3b535ddb2b2838f801cec98900e70f66() - { - $this->assertTrue(true); - fn() => ($test or $test .= $test); - } - function test40b49744d19f7102a7d18a1dfe573ab8a73c23d66219f361e482c73e2e70341b() - { - $this->assertTrue(true); - fn() => (__DIR__ or $test); - } - function test448907adcd8221e3b32ac0a9924da65c29429ab42ef167dc394d4f0fca28bb4e() - { - $this->assertTrue(true); - fn() => ($test << $test or $test); - } - function test46104aa9469b518006c80056d2ab611caa21ab05d2d91a3818e0f201cf593cba() - { - $this->assertTrue(true); - fn() => ($test or $test . $test); - } - function test4a212dbbae45bb169ddef8982a102fcd770d7152cbad07942097f9d2c55b4c3b() - { - $this->assertTrue(true); - fn() => ($test or $test / $test); - } - function test4b173206e48a2a99ba0cf2cf3c24bc450a90e3adec9e9f612c9bb3e23e153433() - { - $this->assertTrue(true); - fn() => ($test or $test || $test); - } - function test55568ddde9daf58977676234ef12ac84f458be5504ead33808e60ce9295c5501() - { - $this->assertTrue(true); - fn() => ($test or $test--); - } - function test57730ca5037210a970400aafec82d7575c7504f9289027ec8d2603c27792d503() - { - $this->assertTrue(true); - fn() => (0 or $test); - } - function test583ec5b04dd3dbbc81e29a39a6b19b3ddcfbecdd9685229ea5b33cfcc7226a5b() - { - $this->assertTrue(true); - fn() => ("{$test}" or $test); - } - function test5934c329b7e315cf5f55dd1198a1cbece6c0e7a3a4a20f69b395c5e9a1af00d4() - { - $this->assertTrue(true); - fn() => ($test or $test |= $test); - } - function test5fa1c6e907a1611e3957af66c9d30bed3a223f00d6b482788a0b6e6fb35d091c() - { - $this->assertTrue(true); - fn() => ($test or $test **= $test); - } - function test665cc15f26e8831fdf2fab8ec28c443cc613fbf38939f61a95dcb36240e4e31c() - { - $this->assertTrue(true); - fn() => ($test or $test ? $test : $test); - } - function test66a3ec58d2dab80495e33eaef9d09dbe28d4dd46dd2727a8bb13f95ea32a0666() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ or $test); - } - function test6ba6c848bbd411d3f1e68bee6042c3de055b70a211eef6c28413886884911e43() - { - $this->assertTrue(true); - fn() => ((array) $test or $test); - } - function test6cc4e909199813c7f43f652eb8b65b071e889ecb860b6741dbe46e3735f6b317() - { - $this->assertTrue(true); - fn() => ($test or $test *= $test); - } - function test6d0bfb8314975d16c93f03c82f6295c59d7d7d88ccf21ea3fbf1b9e0418a8b8d() - { - $this->assertTrue(true); - fn() => ($test ** $test or $test); - } - function test7602ce895e42a9dd023a1be1f8debc32e67b6e5e343100875def45d2ede58714() - { - $this->assertTrue(true); - fn() => ($test or @$test); - } - function test77e2e43f78fecb3c7716f45d2bd6417a530d3e766edc92fba78c2d30d3421e8e() - { - $this->assertTrue(true); - fn() => ($test or ~$test); - } - function test78f9a21eb53d648c3b8882a511c5cfab0c69cfe5b8db5f635f6688a154a235ba() - { - $this->assertTrue(true); - fn() => ($test or $test->{$test}()); - } - function test7b922b5cfe7cd9b7ddc13e7316ddd53ea39726e48c7c4ff05cd4126f990d26e7() - { - $this->assertTrue(true); - fn() => ($test or $test ??= $test); - } - function test7c163af06f184da0137b52de9f816a630f316e389b0b54789173f8daeaf67604() - { - $this->assertTrue(true); - fn() => ($test or $test >>= $test); - } - function test7c267f33f404d594f2547437431ed47c18e65cef62b974d221002abeb51ea274() - { - $this->assertTrue(true); - fn() => (__FILE__ or $test); - } - function test80b07bc9cd83b7d33f432c16d35a99742145dfee78b52f5a459ef22bfd780441() - { - $this->assertTrue(true); - fn() => ($test or $test =& $test); - } - function test818f0065781855c48d189d83130b6dfc88976f993b08697785b5b94c57e5ea09() - { - $this->assertTrue(true); - fn() => ($test or $test /= $test); - } - function test869f313546f4afb9e673602f7d772375db570c2e379de1b5f0e9e4b7c41fa829() - { - $this->assertTrue(true); - fn() => ($test or $test); - } - function test881ca2a8326107190c3096ce08573b0f78a35d3bbcc55d40889eef6d1188ee9b() - { - $this->assertTrue(true); - fn() => ($test or []); - } - function test882d1e29d595da5e691e48d5cd7b23b2da96c7b36d755703d4ef320f5e53731e() - { - $this->assertTrue(true); - fn() => ($test or $test | $test); - } - function test89f6c3ff30c674f8730dfc6f51e2f44126d222a7e8e63f727c36c2ec9b49f404() - { - $this->assertTrue(true); - fn() => ($test or clone $test); - } - function test8ac4a3d8de97e0245cb1b6e2ba05ef880804799e0aad1ea99ae35940c06b81ca() - { - $this->assertTrue(true); - fn() => ($test or $test += $test); - } - function test95f3321289b43613ef05cae7497b978cc6de20a795e2ed54620b0ef10a9aac6d() - { - $this->assertTrue(true); - fn() => ($test !== $test or $test); - } - function test966c6e2842df1815ad7b45d21593bcd80068457f57952fc69a874469c29702e4() - { - $this->assertTrue(true); - fn() => ($test or --$test); - } - function test96d2515232d1a2415da73815748d6b95a41f94bb2074fe19e019c0390f10ae2e() - { - $this->assertTrue(true); - fn() => ($test * $test or $test); - } - function test9af1e4c268eb2371d94b9e01df9e082bd326f34484d42dd76d692b773e5d07b6() - { - $this->assertTrue(true); - fn() => ($test or $test[$test]); - } - function test9e9a2fa1bb62ca0d8fe9a2687a3b321a7f007b648d33d64a5a8024a9724c184e() - { - $this->assertTrue(true); - fn() => ($test - $test or $test); - } - function testa028eafd7df7944e87c099cc2aefce519c494e66fcc7b9a75de3e5d11b5cf33f() - { - $this->assertTrue(true); - fn() => ($test >= $test or $test); - } - function testa0f595018a36adbd3b02435c5ce158f8a4d194b3aa59a94d117b12f4cbffd7aa() - { - $this->assertTrue(true); - fn() => ($test or self); - } - function testa28c1569cbfd567847a22559c670cecb2d8e54aad147c12a5691ac2a52cc9bd2() - { - $this->assertTrue(true); - fn() => (0.0 or $test); - } - function testa505d4529f50722f0a18381e1cc20c665af0998f34d52c7b5f9b0de1c28b0545() - { - $this->assertTrue(true); - fn() => ($test and $test or $test); - } - function testa59a88978c739c531cadddcf1f5a482b989c5cd1729e1db64e0b89c18076465b() - { - $this->assertTrue(true); - fn() => ($test or $test === $test); - } - function testa74136a782f638fe2fa74a62137909ab9dbd045b8665b26c4d26ec26718f0a30() - { - $this->assertTrue(true); - fn() => ($test or $test <<= $test); - } - function testa95c27f5a3c0be8d8001be4d2d92354767ae95fa306cacaa098983536513bcb8() - { - $this->assertTrue(true); - fn() => ($test or $test?->{$test}); - } - function testa97441cfb1b5f34b4b084b147aea01149cdce17a3c326e25db433a95965c9e88() - { - $this->assertTrue(true); - fn() => ($test or $test && $test); - } - function testac970443a4d544685d182e3076939efe6cbe912a2937fba87fbfd1dd3a80e661() - { - $this->assertTrue(true); - fn() => ($test or ${$test}); - } - function testb0b91390dda5dec3c2d538cb667736d6c1f97f7c78e18eaeff5dd8bbefe5e86e() - { - $this->assertTrue(true); - fn() => ($test or $test = $test); - } - function testb26423d5ebb82065f6245ed53c34bb55e572b0a3e1ed32b2003d6345759aad88() - { - $this->assertTrue(true); - fn() => ($test or $test ?? $test); - } - function testb543e379aa943f34568fa25724ae84e65c1477a68cc1bda9301aae4e5f576e5a() - { - $this->assertTrue(true); - fn() => ($test or ( $test)); - } - function testb57e21b4f110785ec8538c2d20e1582994207128749cbb8ccd9f6bdea06eeccd() - { - $this->assertTrue(true); - fn() => ('test' or $test); - } - function testb5d68c8e660803b25754008ea17de4e68b21f8a9426cdac2e1b1d8d67a773318() - { - $this->assertTrue(true); - fn() => ($test or ++$test); - } - function testb6eb91acd9a744ddd3e4fadbb5d51499671c80ab53db2d058d0199f2ac397738() - { - $this->assertTrue(true); - fn() => ($test or $test instanceof $test); - } - function testbc65f5582f7c89c863f508faec5ad2dc08a2a84f1f9b5b1d6eee1739a85c2b5d() - { - $this->assertTrue(true); - fn() => ($test or function () { - }); - } - function testbd96e460fced4d8c9e044ce3091080eab8ae19f112ddc1f01cf262a4aaf0d20a() - { - $this->assertTrue(true); - fn() => ($test or empty($test)); - } - function testc2aa3c4c16a86bdd3bc119aa31bacc770dde41db974fd5d39fd350d557ab822e() - { - $this->assertTrue(true); - fn() => (__LINE__ or $test); - } - function testc2b21fcf35561ad837fcd3a9f0df51e4d56e2e1b0de0d9b55cd48e61d2c86639() - { - $this->assertTrue(true); - fn() => ($test xor $test or $test); - } - function testc7d3c427d35d7d782a74f63d99352e18ebbb690e8c436e2c7f0152637551d7c3() - { - $this->assertTrue(true); - fn() => ($test or $test::$test); - } - function testcd9cc264b95cf03e51980ac42ac4ee63e6fa377f180e6c1834325876bcc094ec() - { - $this->assertTrue(true); - fn() => ($test or match ($test) { - }); - } - function testcdb94078db18834f1d7d6548f39f56b8283cde40abb3fd916b37cf2656322047() - { - $this->assertTrue(true); - fn() => ($test or yield from $test); - } - function testcddc829a913a5df262b0ae741a363b245d52ae3351e6f02bda3b3aad2fbcd589() - { - $this->assertTrue(true); - fn() => ((string) $test or $test); - } - function testcdf00bcf94b03c19c190f0a4dc88e8ccb9513c2b9c236477d74f8fb2f4bef2de() - { - $this->assertTrue(true); - fn() => (__METHOD__ or $test); - } - function testd4f0eaa52b7ba40221301ac78298050ff4300cfcd590147763d41123b15f720e() - { - $this->assertTrue(true); - fn() => ($test or $test == $test); - } - function testd9d0f276a5b41291062cbe657ef318acb9e0dd80498449bbdc3fbdce21f125e5() - { - $this->assertTrue(true); - fn() => (__TRAIT__ or $test); - } - function testd9e5a8228ca01b91bb72873176a9077bec2091f77a2ee94cd9cf186945396114() - { - $this->assertTrue(true); - fn() => ((int) $test or $test); - } - function testdb7f55568ddc99c57b013497d3f65440a83cc281d765fd0120a78cab90a9c213() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ or $test); - } - function testdd36ffa00d3accce07d3f2451576253903eb5485ec5ab0dc9a05b7341bd55f9b() - { - $this->assertTrue(true); - fn() => ($test or (yield $test => $test)); - } - function testddc057a01cb0d17e9462d5b0975d425b2b7aa07fe858b3583876e7b234798e58() - { - $this->assertTrue(true); - fn() => ($test or !$test); - } - function testddcc9d175e527d70e5d85357779a06e1720d3863eebd03369ee6edaa4ce67196() - { - $this->assertTrue(true); - fn() => ($test or $test >= $test); - } - function testdf5e4b8d7bbcd5825df8d32f78eb0ae6e7e054c0cc9bab31723081d2f8a7bcf2() - { - $this->assertTrue(true); - fn() => ($test or $test > $test); - } - function teste56398cd58cb0571fe5a737017305f5f4bd3d612c0c269077a07cdbbd336723d() - { - $this->assertTrue(true); - fn() => ($test or $test & $test); - } - function teste8cdd5c0ea96f04e7bd60205fefb334ef0360319802a227df495360bd0f1888e() - { - $this->assertTrue(true); - fn() => ($test or ``); - } - function testea2c9b92c1d03dca844c03eda7c348a342053d9a27c46a4ae5580649eead08f6() - { - $this->assertTrue(true); - fn() => ($test or $test ^= $test); - } - function testea498309c42aea81764d889b145f3c7b452f6fbf4651565eaeca7b135de234f0() - { - $this->assertTrue(true); - fn() => ($test + $test or $test); - } - function testec568282d1f0c090854e2a35992bc0d09767973047d4eeacf5c0f4de8f52959b() - { - $this->assertTrue(true); - fn() => ($test or +$test); - } - function testec9fae7f489cbee39710276aef32127aa4fa4f0c6672150d9c5ffc1b59172e97() - { - $this->assertTrue(true); - fn() => ($test or $test++); - } - function testef934ff9b2fd7e2b2110635eca773a2f8a1144c300d874a2e36fe3316c3088f1() - { - $this->assertTrue(true); - fn() => ($test or new $test()); - } - function testf0c0ef9ef06e741edf70fdfafd547026ca9f026f5dd5223c36915cf294ee21c8() - { - $this->assertTrue(true); - fn() => ($test or throw $test); - } - function testf705d5584ae995c534b48da87715fc88ac3ce7d11fef94de771dd163afe0a3f3() - { - $this->assertTrue(true); - fn() => ($test or $test->{$test}); - } - function testf8640aad7ac9958d1d051db3b435b4eb75a70dddfe5cfaf8da348c7aeb945aa0() - { - $this->assertTrue(true); - fn() => ((object) $test or $test); - } - function testface41df17faad3c8034fdf55eb529e0d363f2c3a38eef2f20a8b2b33da5bd3e() - { - $this->assertTrue(true); - fn() => ($test or $test?->{$test}()); - } - function testfd76c746e1f70c1651c8336e6f2012c1dc460536a985195bf948b5646ab9be5f() - { - $this->assertTrue(true); - fn() => ($test or $test::$test()); - } - function testffe119e582a90f2ee38ceaa026bd894d91cf4069f365ac60e2672f1bed3f4b02() - { - $this->assertTrue(true); - fn() => ($test < $test or $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php b/testsGenerated/Target/Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php deleted file mode 100644 index d68094e66..000000000 --- a/testsGenerated/Target/Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest extends TestCase -{ - function test0031aaedfcdae49f1cae4fc0996a3ed796d754c409fb4b5a84d492817dfdbb57() - { - $this->assertTrue(true); - fn() => ($test->{$test} <=> $test); - } - function test01455ca549cb16eebf27852caffa8cb93b21164005458d9674be259f8836309a() - { - $this->assertTrue(true); - fn() => ($test <= ($test <= $test)); - } - function test036cf2197fbf4be16d2d04cd9336f91e433024892fbd2772be4c24f2ac04652d() - { - $this->assertTrue(true); - fn() => ($test <= ($test |= $test)); - } - function test05b05850953cbb8de63ee0642722dee73fbd95605820ddad23f0a42502e09423() - { - $this->assertTrue(true); - fn() => ($test <= ($test & $test)); - } - function test06d1db3e206676c6660496ffaca2c083e6c4ae48a8b1e9819af50c213d1661e7() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) <=> $test); - } - function test0b2fa74e8f5205a2a4edaafa0e7c0b5cd8e1360bcb42431709a5825387aba73e() - { - $this->assertTrue(true); - fn() => ($test <= $test % $test); - } - function test0eb38d354889147a532f7bba8ceb2c6695468e0cacb07189459efab75aeac4dc() - { - $this->assertTrue(true); - fn() => ($test <= ($test == $test)); - } - function test0ef01dc0fc13bf1c0d8fed908d64229f6a6c897792f2d49ca263913e45d8812e() - { - $this->assertTrue(true); - fn() => ($test <= ($test >>= $test)); - } - function test0f0ade965925acb5d49a2a701faf1636d25a43e5ca39d05d2247db650095750e() - { - $this->assertTrue(true); - fn() => ($test <= ($test %= $test)); - } - function test0f95abec920ca7168f7d8f7f4965d3b2a8ed09d4fe6320a2d6faf666507ca80a() - { - $this->assertTrue(true); - fn() => (($test =& $test) <=> $test); - } - function test0fe09c0fb38ee444a3c408b04f0f8e25c37da2c478a5cded8faec190214811c0() - { - $this->assertTrue(true); - fn() => ($test?->{$test} <=> $test); - } - function test11ff16a883c574b095f29c497febae2b61e7541df200f18ca10df60e7de199e5() - { - $this->assertTrue(true); - fn() => ($test <= (string) $test); - } - function test121c66f526abbe9da3dd992300ecb51d2629bcedd67e83dffd08c8ee99b80f8b() - { - $this->assertTrue(true); - fn() => ($test <= (array) $test); - } - function test1345ee963f63a0bc71ad2a548a7bb84cdc45423ee91f70d19a408d68945cef94() - { - $this->assertTrue(true); - fn() => ($test <= (int) $test); - } - function test17f18f16668c31eb750ae3d20e3db423278bee44eb94bc4cbf6d7ee1560c088e() - { - $this->assertTrue(true); - fn() => (@$test <=> $test); - } - function test1941a39da2100b7bfcba275d11eca861253c1d1ce50680fb740ea01fba8b1da8() - { - $this->assertTrue(true); - fn() => ($test <= $test + $test); - } - function test1959ab1875c77f894f3814cf3243a2d6542c79d37ebbff150317af283961b850() - { - $this->assertTrue(true); - fn() => ($test <= (object) $test); - } - function test1af89542f0b2cc58cdd4decb1073d4b55e3e5836bc5e49396897723d57df6cd3() - { - $this->assertTrue(true); - fn() => (eval($test) <=> $test); - } - function test22f7b83b8f3ee493a97e7bdb314cbeb4bb84b9afe3ac853d2bdc2b246d61c623() - { - $this->assertTrue(true); - fn() => ($test <= ($test < $test)); - } - function test231b543e2f1617632972648b7c73cf12d6ad0277ca839f62840e3ebc1708add2() - { - $this->assertTrue(true); - fn() => (match ($test) { - } <=> $test); - } - function test258f7afff3b6a6a6068c2a37a9b4d4b5d1804dfe8c88170b164d9fcd5c994ca9() - { - $this->assertTrue(true); - fn() => (~$test <=> $test); - } - function test25b3b69628ab6297cb93a192761287f4bc0228d81332acbed1943de1a434e07b() - { - $this->assertTrue(true); - fn() => ($test <= (yield from $test)); - } - function test29be2ac1977ded86b020261e98de1a99e9d74466b3e9e60934c5fb1a3b6e1a4f() - { - $this->assertTrue(true); - fn() => ($test::${$test} <=> $test); - } - function test2bc6c7ef0b3a8fa8251154b390d5f1b90bb4f3572f883d09ebd539a7ced30582() - { - $this->assertTrue(true); - fn() => (clone $test <=> $test); - } - function test2f55cfe6ded8502d96ed4a2c774b4dcd96c922bdcabc75bcee26e2d91378c4f1() - { - $this->assertTrue(true); - fn() => ($test <= ($test ^= $test)); - } - function test37e75aa14fef08ab45727ad6f1468c3e2b3d5728d28739b40b1e43a6287fbc9f() - { - $this->assertTrue(true); - fn() => ($test++ <=> $test); - } - function test37ff2b2844b7486dc2f4970eef2a22d8e11190a0c690d4af2bd003fa0ff9bf71() - { - $this->assertTrue(true); - fn() => ($test <= ($test xor $test)); - } - function test3a3461f96389c05cf0973ac8b7269aad4a7398d7902c7a5af0f22f834ba05683() - { - $this->assertTrue(true); - fn() => (function () { - } <=> $test); - } - function test3aa07b7ea2c7820ce61b0f2d486177b35f02d0d0bdd62ae3ad52b234c1c74338() - { - $this->assertTrue(true); - fn() => ($test <= ($test /= $test)); - } - function test3bcc967a00ca821d992d284c63f9e44ca895bdad09d54c1a53f3c1ce0bb3a409() - { - $this->assertTrue(true); - fn() => (!$test <=> $test); - } - function test3eb616a28b947840a8223a513bed0c6491b7d6d3e4025a4c13d71609158867e3() - { - $this->assertTrue(true); - fn() => ($test <= ($test && $test)); - } - function test477f42eef4ba7466e8864fb6b3d5af72a17b50a9d469c5c2a87d17f8eb534006() - { - $this->assertTrue(true); - fn() => ((yield from $test) <=> $test); - } - function test49d943bb36f4d5dfe1f32a099a6d14820bb663395091c48581016cbedbb6d765() - { - $this->assertTrue(true); - fn() => (+$test <=> $test); - } - function test4defb05bd6f95dfc2f22a014aa83a7ea9cc64f5eae47510cf66e2ddd7f610991() - { - $this->assertTrue(true); - fn() => ($test <= ($test *= $test)); - } - function test5185907334a228cca8c4b208c971efef3907de5c6cee6495cc36f57f3c3cdeb8() - { - $this->assertTrue(true); - fn() => ($test <= ($test and $test)); - } - function test52e3080a31f2cc465146f0d42332aa03bf8f5524c8777f565a55b81957bf9bab() - { - $this->assertTrue(true); - fn() => ($test <= ($test || $test)); - } - function test5556b58623d0c341eff2ed27809f6f3980cff8d72b5b78af2b5c40ae7ac7eb72() - { - $this->assertTrue(true); - fn() => ($test <= ($test ??= $test)); - } - function test57423bcc98254166e861f5c1a679bc43d52ae27247622e86dace5c19519ce317() - { - $this->assertTrue(true); - fn() => ($test <= ($test !== $test)); - } - function test5eaa6cc8e8295754f34b8693e80ed03a529f620004d1cbed07ec9ab70980739e() - { - $this->assertTrue(true); - fn() => ($test <= $test * $test); - } - function test5f4c9d6cab00ea8691f1690c678cf5e1b6ddcaa6faa3c2ec33e95d7c8f9ba7aa() - { - $this->assertTrue(true); - fn() => (throw $test <=> $test); - } - function test62dbfa7d3c9099e26e2ffd4ef710ecf019fca7499fb48d202e859804d8493ba2() - { - $this->assertTrue(true); - fn() => ($test instanceof $test <=> $test); - } - function test6813fd1ae4eb31bf46d62696b3ffa3f38e038fdfa977abe42c19e987197a147f() - { - $this->assertTrue(true); - fn() => (empty($test) <=> $test); - } - function test6a0241b63b36d86b0e9b277f820f8fc89fd3d1bb169e19ddb827fb329c342164() - { - $this->assertTrue(true); - fn() => ($test <= __METHOD__); - } - function test75366663fa898e4bd0f2d242b3bb401226d167229412eadc592935e9b92ebd95() - { - $this->assertTrue(true); - fn() => (($test = $test) <=> $test); - } - function test753ecce8a618f8c85dfde123415db3f5194af514aa4e12e6841943982c3dc669() - { - $this->assertTrue(true); - fn() => ($test <= ($test **= $test)); - } - function test778ca28760393074a57014c76c12fe55575cb7d5f9748b93c4b299ff41d9f622() - { - $this->assertTrue(true); - fn() => ($test <= $test ** $test); - } - function test78688d54ad5455e3959f21586c5e012c229c0646a7f5f4deca2c24a8dca84150() - { - $this->assertTrue(true); - fn() => ($test <= __CLASS__); - } - function test79edb776391f6aefa663b5922b841ed72d6049c3f3a2a3ef355c4b79756aa977() - { - $this->assertTrue(true); - fn() => ($test <= ($test <=> $test)); - } - function test7d3ebd6f5b8e4500579bbd779632af2c1b845dc38d14fc15e023c63ffa480c27() - { - $this->assertTrue(true); - fn() => ($test <= ($test &= $test)); - } - function test7e846709bdf3452e748e7a6431e658d8f80cb10365db1cdcacfa1be154e37477() - { - $this->assertTrue(true); - fn() => ((print $test) <=> $test); - } - function test7ff9736f5209ac6ec7358e1eb9c189d55bea41b867593f360680e0e763432968() - { - $this->assertTrue(true); - fn() => ($test <= ($test != $test)); - } - function test82ed396c112fffe4015cc4e0717b2ad89e78cc1a41a96f3103834f21e3e5df1b() - { - $this->assertTrue(true); - fn() => ($test::$test <=> $test); - } - function test8755da5e0b36ab1cdb3637a565a5f0f343365d77361053a1fae2a61d22ddb7d9() - { - $this->assertTrue(true); - fn() => ($test <= $test / $test); - } - function test8a12b3f2ead50ace46921bdaf3fe0405aac148ea0dc18fe18a36ab8ed256c1de() - { - $this->assertTrue(true); - fn() => (++$test <=> $test); - } - function test8e12ee6ced024bb2a72fd01db15828376ff87ce7c66c6b262a6c2dc48eacbc32() - { - $this->assertTrue(true); - fn() => ($test <= __LINE__); - } - function test91a9288d0e36632c6ec9ff7344d306be55de5541bf53240a00a5e69fcb18397d() - { - $this->assertTrue(true); - fn() => (--$test <=> $test); - } - function test95a6456af535eaeda1d293ea83d500946b42a0ac7496d29e35ae1aeb1c8867e9() - { - $this->assertTrue(true); - fn() => ($test <= $test . $test); - } - function test99f314824e3dee5bb9a934f86cd9df1c14b262bb2b23a78927014e7ea7fedd38() - { - $this->assertTrue(true); - fn() => (self <=> $test); - } - function test9a485ea9e6445b7e52c6af83e18cc77d3c7364f4018d2c5c0d3e171dd6c882e7() - { - $this->assertTrue(true); - fn() => ($test <= __DIR__); - } - function test9f0163d7a1d0b41e2a1c2c2dd08eb6a862a5a8cd2a76499385e06b3daf2ff363() - { - $this->assertTrue(true); - fn() => (( $test) <=> $test); - } - function testa0f1639ca478a50666af971d87e4f3171632c83077bda34ea8a21c7810fa1b1f() - { - $this->assertTrue(true); - fn() => ($test <= ($test += $test)); - } - function testa14a2e0eff00e03caa10e92f3dd646d54a61637e2c3ea84edebf9eda893a998c() - { - $this->assertTrue(true); - fn() => (new $test() <=> $test); - } - function testa15c355489188097757637b62980b74b8fd02b100a4e730a33fa545971995d5c() - { - $this->assertTrue(true); - fn() => ($test[$test] <=> $test); - } - function testa41964ef7d0cba829e3b373d54b3a71927ecf82aad989e4d41d24856ca7c4e63() - { - $this->assertTrue(true); - fn() => (($test &= $test) <=> $test); - } - function testa6170bc26d1151bb71e8644b28a1e5d683fd618df0708ca8b0cff33009cd0594() - { - $this->assertTrue(true); - fn() => (`` <=> $test); - } - function testa7f143188f17704776eee9f3241b0dc989577279862a62415e6af42e2a2ee3f6() - { - $this->assertTrue(true); - fn() => ($test <= ($test | $test)); - } - function testb06830cf35b99a45ea47bcf15bbaca5e3d494dc4ef8ced80621c161112798344() - { - $this->assertTrue(true); - fn() => ($test <= ($test -= $test)); - } - function testb48328d6679f1688bbaa80dc8b9c58018fd5ccf7020fe324593a538771ee3fb7() - { - $this->assertTrue(true); - fn() => ($test <= 0); - } - function testbaebf53c947d53c2c35c420e8050e6e25c08847396a2a20f8b5fabffd3bac9bf() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) <=> $test); - } - function testbb3d465d1439a430396260281ebd5bac3081e72c85a08c4aa9c5ea638a19d7b4() - { - $this->assertTrue(true); - fn() => ($test <= (bool) $test); - } - function testbba387ba070e5596371c34a38ef8263c81a8b3046fd5533272fef72f1b6fab04() - { - $this->assertTrue(true); - fn() => ($test <= ($test > $test)); - } - function testbde1ba046b2096609a935b069502db68103346720f7100d842167ec850de094e() - { - $this->assertTrue(true); - fn() => ($test <= ($test === $test)); - } - function testc16065343d523479c52146f57db895bc630ef95f64ac8077fb04fcae70584557() - { - $this->assertTrue(true); - fn() => ($test <= __TRAIT__); - } - function testc251698a34d829d1f0c59d10a1a338f47beb17515aaa0413fe3bbf14200a1116() - { - $this->assertTrue(true); - fn() => ($test <= $test - $test); - } - function testc39aca701a72a59794ae1d54f313450506ecb2cab17170212947dc9601f51fd3() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() <=> $test); - } - function testc717d059ebe766a46abfc51835b6792edea88ff668384bf9b8cccd5fbf5f2389() - { - $this->assertTrue(true); - fn() => ($test <= (double) $test); - } - function testc72c0336da5e4ff2791d4e48321e29c902c99786ee735ee50c41b8ad9d2b0a96() - { - $this->assertTrue(true); - fn() => ($test <= $test >> $test); - } - function testccd800f659118ebc02c4f2f8007551ba615821d987cce986223b844c70bb7c32() - { - $this->assertTrue(true); - fn() => ($test::$test() <=> $test); - } - function testcd42d21c7970ca0fb3fdb51989538551500ff42221275f7474f9f6f7c70b332d() - { - $this->assertTrue(true); - fn() => ($test <= 0.0); - } - function testcd7319d045d61a3015e3784bf8b5686ea44482883080448f59a4037d23b42b47() - { - $this->assertTrue(true); - fn() => ($test-- <=> $test); - } - function testce4ff49a3b84acdfea6503d7240380998b8e8c4e2b3b4443ea56c45680874b72() - { - $this->assertTrue(true); - fn() => ($test <=> $test); - } - function testd0c2f0ba0563273d9747fae72d4a6018ce1aef03b0e0a132b4fedf3bee7b6c09() - { - $this->assertTrue(true); - fn() => ($test->{$test}() <=> $test); - } - function testd0de12dc9fe89c6549ba67d6818a79f237dca00c16f3ce431001073a3d4cb878() - { - $this->assertTrue(true); - fn() => (isset($test) <=> $test); - } - function testd6077c252358097f2992abde8a4a39052a83b992c8d3fac4e67e0d492efa8d55() - { - $this->assertTrue(true); - fn() => ($test <= 'test'); - } - function testd738cbd8a5e3ee94e3936340b719ea5f94cbce552907b4a1cbc20c57d3f382cb() - { - $this->assertTrue(true); - fn() => ($test <= ($test .= $test)); - } - function testdc889b0ca2abfea93b76dbc9195cd70ec159f9d85671e203fb98cfa9d8c3d2e9() - { - $this->assertTrue(true); - fn() => ($test <= ($test or $test)); - } - function teste0afe40fdb16e268950bc3a73b1a568a3ca8624198af43d7fd2f97bf06ff7c83() - { - $this->assertTrue(true); - fn() => ($test <= ($test >= $test)); - } - function teste7762983f268d09d59d9f91ca02adf9e00e53c422cc340fa3bdd21750e1a5d37() - { - $this->assertTrue(true); - fn() => ($test <= __FUNCTION__); - } - function teste86307f59df1b8fd2edf6c5ab54dbe75fccbbd61a168e16cd616a16bce0816b9() - { - $this->assertTrue(true); - fn() => ($test <= ($test <<= $test)); - } - function testeb1f7df57203053458c70b9cb7d343464fe98ab42d646eead6833bdf07022534() - { - $this->assertTrue(true); - fn() => ($test <= ($test ?? $test)); - } - function testecd622e1fd7b13aaed3a1ae4ff9c4ac3e81780d3811f89df2acb2102753b8099() - { - $this->assertTrue(true); - fn() => (-$test <=> $test); - } - function testece8f0c8c04172f38715fb47b39ec58468368edca3b924415f7f34503aca9b80() - { - $this->assertTrue(true); - fn() => (${$test} <=> $test); - } - function testee29c35f2505b3b3efc413e5df3e6d9852179936fd9f738155df7e0ef0a2d9d2() - { - $this->assertTrue(true); - fn() => ($test <= (yield $test => $test)); - } - function testf1b3acdc1618d26585a5f09825722c342f58ece8e588c56cbf823e6ab36ece71() - { - $this->assertTrue(true); - fn() => ($test <= __FILE__); - } - function testf47fc6b3af73e9016c93a8b5f45e9092f2fabafeee17ec23a74694c8d979d099() - { - $this->assertTrue(true); - fn() => ([] <=> $test); - } - function testf663d2440f9a60d6b6df7cb282c3597895ad9d76334388a560fd1eb819d9ee5e() - { - $this->assertTrue(true); - fn() => ($test <= __NAMESPACE__); - } - function testf7f9263a04a55537c9a946ced485846696dfebd783aaaf1be90a718d12ed10b8() - { - $this->assertTrue(true); - fn() => ($test <= $test << $test); - } - function testfcbc85ec19abaf05ed7a15540f91d9e50c397d539cb0305427ddfeef1c63b7fc() - { - $this->assertTrue(true); - fn() => ($test() <=> $test); - } - function testfdb07bb2879546688007fc3540ceed3906b7a795b5b593a8d50e25757e718ae2() - { - $this->assertTrue(true); - fn() => ($test <= "{$test}"); - } - function testfe968055288eedf06ade8bd4e34bd7041966d08b9f247f62e12df951ac52bcd7() - { - $this->assertTrue(true); - fn() => ($test <= ($test ^ $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test.php b/testsGenerated/Target/Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test.php deleted file mode 100644 index 5be6e8677..000000000 --- a/testsGenerated/Target/Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test extends TestCase -{ - function test0059d596ba2616238811cdb6fda9f340a0ce572a0433d18c199722afb6e84937() - { - $this->assertTrue(true); - fn() => ($test / $test[$test]); - } - function test0145c3ef7eae77b2a4f3422c89afe1714b3e5174d1f77a795b53cbd690e5a5dc() - { - $this->assertTrue(true); - fn() => (__LINE__ / $test); - } - function test06f6bb9a1b8181dd70d1ed2232b43938d179223bbcd36d50abb76b8dbd0ccd24() - { - $this->assertTrue(true); - fn() => (++$test / $test); - } - function test0cbda68514158500ce58c59269480856559ea152c5c356e62ab3ee07d951bff1() - { - $this->assertTrue(true); - fn() => (($test |= $test) / $test); - } - function test11dc1992dddbbe98f03f9bc1963ea936a95bfd4900ba74270fb24f9d2f19ad7d() - { - $this->assertTrue(true); - fn() => ($test / @$test); - } - function test15224f1349a1d95b060f69fe451509ac7e915809b41e644a2fd82716fef89a5e() - { - $this->assertTrue(true); - fn() => ($test / isset($test)); - } - function test173b12ec6193a9983ba76e4f9da4106d402b743805cc16851592d52ffe9a09f4() - { - $this->assertTrue(true); - fn() => ((double) $test / $test); - } - function test184d2035878f16760fdbea49e8a47e8bb44f7620c4346961d4d567aacb973467() - { - $this->assertTrue(true); - fn() => ($test / []); - } - function test19f5226127d3f053c5f3a78898f0df2150c83918e89c92ff89db4e14aed9ddb4() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) / $test); - } - function test1b017f16fb4167d33cb3dcf65913d1fab503def842280e0b57050ebe31ea7391() - { - $this->assertTrue(true); - fn() => ($test % $test / $test); - } - function test1b4ffd9f33667ce56ca3f85b08bb12e88f1bea0f940131acb0497b927e4a217a() - { - $this->assertTrue(true); - fn() => (($test . $test) / $test); - } - function test1fa7a717a8449232a50e86cce18dd7d8e62c15b911c85023e6ef837b4bc527c9() - { - $this->assertTrue(true); - fn() => ($test / clone $test); - } - function test222201f04dfddda0456bc7d5f5605cbfd593be1a9e239077ffd99054546f403b() - { - $this->assertTrue(true); - fn() => ($test / $test?->{$test}()); - } - function test2399b5d5408fac8c33f26843dfbf2fa1d6128716e211a59a05d132436169da37() - { - $this->assertTrue(true); - fn() => (__DIR__ / $test); - } - function test2844b3912d51f3244d0b531326f8feed44080657e680ffb5e162964f316607eb() - { - $this->assertTrue(true); - fn() => ($test / match ($test) { - }); - } - function test2880eee8445e67aca819e6bff7f0c30712a8648352e86cd13b68b0a706db1768() - { - $this->assertTrue(true); - fn() => ($test / $test()); - } - function test2eb0b82add072f6048937c213dc82f279aff3c9651c6d5cf88ef9aaf543a4fcd() - { - $this->assertTrue(true); - fn() => (__METHOD__ / $test); - } - function test2fcae3c9de3873878b9a07396ef8c4aa9397bb8ce9980c5312e08a3ee2c150ac() - { - $this->assertTrue(true); - fn() => (($test /= $test) / $test); - } - function test310e3bbba9958bd2e5fada341e30392b29d9c58be0ec7454dd79f8c4c1365843() - { - $this->assertTrue(true); - fn() => (($test != $test) / $test); - } - function test3136faf57758d8915377d42dbbd6026babf0ef8163aa69ab8bb4fa13fe80e0f2() - { - $this->assertTrue(true); - fn() => ((array) $test / $test); - } - function test3276a98611de0141bef5892b89efb5a267f9396a401315e575f4a65d751892bc() - { - $this->assertTrue(true); - fn() => (__TRAIT__ / $test); - } - function test34f0adf9918c2bd49ebe97fb3611df514158330f726a54100763f91062b1ae3a() - { - $this->assertTrue(true); - fn() => (($test < $test) / $test); - } - function test353156f410c079cdc0af99c5385c412cb9ae9f2e4469959158d6e2740f52effb() - { - $this->assertTrue(true); - fn() => (($test %= $test) / $test); - } - function test39034d8b7fe71b276c55e49282776292f0cb81f32a6d32cd4f8774c18c272b81() - { - $this->assertTrue(true); - fn() => ($test / $test / $test); - } - function test3a0907ab105098fe6d7017ebe663e6c9557921a12144d64601241e74b4e496c2() - { - $this->assertTrue(true); - fn() => ((object) $test / $test); - } - function test3b412f86cfea1ee780d82c407f6d096bc354313004cadc322d04ab53cb7039f0() - { - $this->assertTrue(true); - fn() => (($test >>= $test) / $test); - } - function test3ccd6c3cd54c302115e85861491b47b6dd7777aa6de8c2f55ba8cc0db4b9ccfb() - { - $this->assertTrue(true); - fn() => ($test / $test++); - } - function test3cd87ee1b5eb4e16b8864b5fb9250715aca34f6f488bb5b1eb43a12af441bc87() - { - $this->assertTrue(true); - fn() => (($test << $test) / $test); - } - function test3ef02dddea1500da005a618755792fe938658b217c8bd0c9f92631a41e29af92() - { - $this->assertTrue(true); - fn() => ($test / ($test =& $test)); - } - function test4dd256ad7143e421834018e029700462b27cbf35abf81a8e140d04111dd915f8() - { - $this->assertTrue(true); - fn() => ($test::$test() / $test); - } - function test4ddc27c8eb7044ddccb2beb96b248b0efb737d4ad4c7ab3336d70ca4177051f7() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ / $test); - } - function test4e0bcc02a296c01619312adb00fc0c8b187a8d824ccaabbf9957f9ca1191fd79() - { - $this->assertTrue(true); - fn() => (($test !== $test) / $test); - } - function test51e9e487ecf9b0cbce8d49295f543a8ae53e2cd416a04d934d8655f06ad7efc0() - { - $this->assertTrue(true); - fn() => (($test -= $test) / $test); - } - function test55312e1b0224b5efe8b96b7a3678e90405b49db3eb67c67f18a8e656b4745691() - { - $this->assertTrue(true); - fn() => ($test / $test instanceof $test); - } - function test59b5c1d2bd9f65a273eb85b5e064edb99097ca2817da8b857163014a5227105f() - { - $this->assertTrue(true); - fn() => ($test / $test--); - } - function test5e0a92aac6ce67e9acba94ad03b276d37effa5a6048d1a627a0f29d1002a1a28() - { - $this->assertTrue(true); - fn() => (+$test / $test); - } - function test5f1b2c12ec99d145d6f6e54aae792db29ebe2155e44f4c29d169b95398067bd0() - { - $this->assertTrue(true); - fn() => (($test + $test) / $test); - } - function test6123d0b744644864037657e9549fdba2de55958488e87821c51f154595611180() - { - $this->assertTrue(true); - fn() => (throw $test / $test); - } - function test6611ae47c658b13e04de6ca5246436b2c5322d7949d8de1b7ffc86e208e9118b() - { - $this->assertTrue(true); - fn() => (($test || $test) / $test); - } - function test67b0089dafa860ed7e293947649bd0b6d0eb2bbfabff3393655754f71ba25645() - { - $this->assertTrue(true); - fn() => (($test ?? $test) / $test); - } - function test6bb99ad47f46c408c1632a4d744ae196029f1506b07018f24417e38b21ad8614() - { - $this->assertTrue(true); - fn() => (($test and $test) / $test); - } - function test710913be4d999706afcc47eaf5dc57ceed8d5373935f0ae13995cffd225748e6() - { - $this->assertTrue(true); - fn() => (($test == $test) / $test); - } - function test739962213a6610b8492a00c38b8d25cb9310e178f25bfe35673a66b14c7a0fc5() - { - $this->assertTrue(true); - fn() => ($test / ($test = $test)); - } - function test742f11c7709cc070a9a029dac5a6694576b231b2bfbe970599ca812f44db4656() - { - $this->assertTrue(true); - fn() => (($test >> $test) / $test); - } - function test79c8f68f7441f14c12a42efd42a3692a3025805f340a312af9b4746ffe9916b1() - { - $this->assertTrue(true); - fn() => (($test > $test) / $test); - } - function test7c1f25d3b7bf46c030e1db42eccf259178694355580265613e596d6d660009dd() - { - $this->assertTrue(true); - fn() => ((bool) $test / $test); - } - function test7d7d6b2b075d2334b64f3f8d9f07df3946f8e65e4f1f5a682147eb6dc720cb76() - { - $this->assertTrue(true); - fn() => (($test & $test) / $test); - } - function test7ff2f813e6342b2ccf0b878369b0e6e2f03dfc2c77b4b5932ceaa38f766884c5() - { - $this->assertTrue(true); - fn() => (($test <=> $test) / $test); - } - function test85d925ee9dfeafef3bb2f5116f5b901fddd3504e6169f25d2e0be985a29dcb71() - { - $this->assertTrue(true); - fn() => ($test / self); - } - function test86b05fe7ab38925ab61e2f7280f43b2f21facec99994f1d54369262aa7deb48b() - { - $this->assertTrue(true); - fn() => (0.0 / $test); - } - function test8a876ea65145fe14a79fb2c4e23d6c37fdccaaa052ad4477f80494904c8a8807() - { - $this->assertTrue(true); - fn() => (($test xor $test) / $test); - } - function test8ceb1da520c42d5e7516fd3eb561a0e52e5d2c7076e8ab07c8224c9eaaebb02c() - { - $this->assertTrue(true); - fn() => ("{$test}" / $test); - } - function test929ba67f017d16c303a1b73cca2fb7f866d48f43f44d667c56067bb0d6739644() - { - $this->assertTrue(true); - fn() => (($test ^ $test) / $test); - } - function test932e8b9b999caad447d0712482c4a6fe2a233353f90232043fa13dc6fd1962f5() - { - $this->assertTrue(true); - fn() => (`` / $test); - } - function test9563aa58e07b5d9b3dab31d847173050754dff7bf7b9080c994c5f56a64cacd8() - { - $this->assertTrue(true); - fn() => (__FILE__ / $test); - } - function test96cd17084ee25e93edb74d0f974cc3e59de75d271d5c880e1eb99f74d104b9ee() - { - $this->assertTrue(true); - fn() => ($test / --$test); - } - function test970c88bb35ffad0109c388ee40f66b5bcb99aad925dc2a007cb6dd6d820caa17() - { - $this->assertTrue(true); - fn() => ((int) $test / $test); - } - function test9b8fa22fd2c283372f26d102449e7c02c23d5d2589cae395b75aff67be1a35cb() - { - $this->assertTrue(true); - fn() => (-$test / $test); - } - function testa3ef6458a15ccd48e9553167c7f76698a6736f9d3c5be0f49da932a3b9f5220a() - { - $this->assertTrue(true); - fn() => (($test *= $test) / $test); - } - function testa4bb14ce361a2de4d0ca7e07a0503b715b6b7af0f77de6f704b136fd517a12cb() - { - $this->assertTrue(true); - fn() => ($test / !$test); - } - function testa6704bb6a3a2a191f77a4c708261a1fecb5609e4aac67796f4feb2dc9e7b7592() - { - $this->assertTrue(true); - fn() => ($test / eval($test)); - } - function testa9cbde6df4c5f66697c93a09f415f4dd86520720d5c28c829f604b6f644ad15a() - { - $this->assertTrue(true); - fn() => ($test / $test->{$test}()); - } - function testab2394dcc5839cfdf9681e15c12df642c3d2fccb6691943b72d63dbb9a01f5ee() - { - $this->assertTrue(true); - fn() => (($test ^= $test) / $test); - } - function testac521bbfc9969cdbb135ef9ebe8dd5d0c74f9ae8cd1d39f0081c0245174cbdc0() - { - $this->assertTrue(true); - fn() => ($test / ( $test)); - } - function testadb79260237f99630afadfeb313371fc1298c3922c8909b3a501f5ce298bfa27() - { - $this->assertTrue(true); - fn() => (($test ??= $test) / $test); - } - function testae7ec6622b32a47bfa52138feb6c12ee2d2536d3611dcbb7c4542414d5f37f43() - { - $this->assertTrue(true); - fn() => ((string) $test / $test); - } - function testaf679416e4cf654f71471e555f9de28d26c143c6c91f70fa030b46b64ce8b563() - { - $this->assertTrue(true); - fn() => (($test **= $test) / $test); - } - function testb078fdc17a88679a031232c345629956755f1137265076e73fde99f1c6c3d3bc() - { - $this->assertTrue(true); - fn() => ($test / $test->{$test}); - } - function testb44e66d8f1a9cffe073287228497604e26efb5b3c2615ad7a473f6f741b90cd8() - { - $this->assertTrue(true); - fn() => ($test / ~$test); - } - function testb89c9088620ba05c3196fa6d05ea771b47ab1d09a62c74257edff6e3c110bbbf() - { - $this->assertTrue(true); - fn() => (__CLASS__ / $test); - } - function testbe77d8be953856be1f6a03263667fda70a7f57f11e443bf8b95741dfa95d0c21() - { - $this->assertTrue(true); - fn() => ($test::${$test} / $test); - } - function testbf9ee098bafe9b590dac9776ff99b8751096a64b1c115dd10872718a4f7ed07a() - { - $this->assertTrue(true); - fn() => ('test' / $test); - } - function testc6840c4922b4f941f9cfac6a623a6b298eac223c2fa54e137989c3f9711089e9() - { - $this->assertTrue(true); - fn() => ($test ** $test / $test); - } - function testc773e12ca895a9bbed51fece68ed65a67fcde0adf81045b6acc3113eb896d3eb() - { - $this->assertTrue(true); - fn() => (($test .= $test) / $test); - } - function testca74df657b1b87abb7cc57e345eb49f7665fa15b7462867b8e2184ae9ee27087() - { - $this->assertTrue(true); - fn() => ($test / $test?->{$test}); - } - function testcb196bf8dcd36f7485f69a404b1d8309ffe14729c7a747fcc5a1a49195e9d88f() - { - $this->assertTrue(true); - fn() => (($test - $test) / $test); - } - function testcc5f5eafa670fc27a151482c1eb51e2136092700881c3908c56cb063d9958e0e() - { - $this->assertTrue(true); - fn() => ($test / ++$test); - } - function testcd4be3166db90b51dbd3d903fc851ddeb631bcae9adff5dcb7dafc7133bf806d() - { - $this->assertTrue(true); - fn() => ($test->{$test} / $test); - } - function testcebd3971b1185e099862ff99fea12fccaa041cef06380eb1f4fbb53274acb5f0() - { - $this->assertTrue(true); - fn() => ($test * $test / $test); - } - function testcf08c3922742981d06bdad3f822f9f3d6e3c4c7ddfd5976553831fbcb454f54b() - { - $this->assertTrue(true); - fn() => (($test >= $test) / $test); - } - function testd12f4dbe9aa0316d5fe5e4632bfd769ee7fe53b4a8ce24041e38062d72f1fc31() - { - $this->assertTrue(true); - fn() => ($test / $test); - } - function testd4be98f55be288c8d2fb0fbdfee734278a0b41a8f94585a3da8cf508209c7b39() - { - $this->assertTrue(true); - fn() => ($test / $test::$test); - } - function testda08314a6f513becc2a93f2639fedfb8fef2f0f6f873a4d1470f789020e58a6f() - { - $this->assertTrue(true); - fn() => (${$test} / $test); - } - function testdf66e685c413d55e9b87a4e140a3a9340bd6c225fd2592803308d7b3f676f6ae() - { - $this->assertTrue(true); - fn() => (($test && $test) / $test); - } - function teste07932f8656ee0b71820d5310de4a4f8b529b5a514a3be093faba084d782a6ef() - { - $this->assertTrue(true); - fn() => (($test &= $test) / $test); - } - function teste25ff42befe5c90dc6212ea042e1f74e9c04ac13369f118f09de2ff4720dc441() - { - $this->assertTrue(true); - fn() => ($test / function () { - }); - } - function teste72bfa81e956db783ba21f888414b9a91ef72f00bb534dd5cfde5ffe558e55e5() - { - $this->assertTrue(true); - fn() => ((yield from $test) / $test); - } - function testee1e57c9df1cb0488cc2bd8af811a05fc292983f7aa3213d7d16dfdf0b98d45f() - { - $this->assertTrue(true); - fn() => ($test / empty($test)); - } - function testeebc7e32ceba403568c7bd42d079a1cb87d3f4b45e92f5820203295f8e774102() - { - $this->assertTrue(true); - fn() => ((print $test) / $test); - } - function testef17151106bd3c86ee9b21a302c15330dae41e23f077b13bee4cc455486e8e74() - { - $this->assertTrue(true); - fn() => (0 / $test); - } - function testf0d483ec429f3f37ed03a00edb9b7fc9bc314c5285f402a2b601aba5df8d2c5c() - { - $this->assertTrue(true); - fn() => (($test += $test) / $test); - } - function testf1b72e70c0bd03276a1f648e3141cf0a2577d471600d77e8280d5fe9675dda0d() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) / $test); - } - function testf22e3a9068a3f7cf24ea9a79cc1a79d378cdd1b497684c12dbc5c2adb1678269() - { - $this->assertTrue(true); - fn() => (($test | $test) / $test); - } - function testf317500d5fda5b5d98e457703c9f0c16fa83e47503edd2516f0f98ddf3da2c04() - { - $this->assertTrue(true); - fn() => ($test / (print $test)); - } - function testf47f28e0b24c178ae2e0fce7eaaad27ef9cdae27d8bd5cc4a423928f024b3daf() - { - $this->assertTrue(true); - fn() => (($test === $test) / $test); - } - function testf78349edde3c9fa19f9f22d3f94f1928ca5be10921010c2f98ce3ec5c939fd4a() - { - $this->assertTrue(true); - fn() => (($test <= $test) / $test); - } - function testf826c08e34b29ca86c142e146588056c7e7774e163148df68fd79c751233e320() - { - $this->assertTrue(true); - fn() => (($test <<= $test) / $test); - } - function testfa8757533301571cf8af8844b721d701003ae34de31bf8f9e86b17226fe50930() - { - $this->assertTrue(true); - fn() => (($test or $test) / $test); - } - function testfd885aec53cad0bf8baf807ee60c1b815068fa77807f08366820c5257a4e3e7c() - { - $this->assertTrue(true); - fn() => ($test / new $test()); - } - function testffc1c6fdb7a2792e48a6472466155cd57a3814cfd0cedeb0a54aad4d653fd018() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ / $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest.php b/testsGenerated/Target/Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest.php deleted file mode 100644 index 936ce34ec..000000000 --- a/testsGenerated/Target/Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest.php +++ /dev/null @@ -1,509 +0,0 @@ - - * @license MIT - */ -class Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest extends TestCase -{ - function test01af9d35c83eb68ea29127b60cc5058debb61995fac023eb0c02048b467c8258() - { - $this->assertTrue(true); - fn() => ($test |= --$test); - } - function test041a723fd2d187947746c66a29acb48aff87724f4459709e31f2a0893b762afb() - { - $this->assertTrue(true); - fn() => ((array) $test |= $test); - } - function test04be3d377dc85e9e8ffe66c4b73349de3ae9080e5f1189370ec294a02f00339f() - { - $this->assertTrue(true); - fn() => ($test % $test |= $test); - } - function test05a9a6c54b6911cf32b8a2142f4d502fe03563b84e5894b0ca43d78c002408eb() - { - $this->assertTrue(true); - fn() => ($test === $test |= $test); - } - function test0956b72adc7a044e227f471f70622851f218e1f10bae8eeccfdd85f58c3ab4c2() - { - $this->assertTrue(true); - fn() => (throw $test |= $test); - } - function test14d805e783246bdb52a7502431740df23345d5a0a30f56055c7a2a0f4c9db988() - { - $this->assertTrue(true); - fn() => ((double) $test |= $test); - } - function test16375afff407ed49d43f0603f5b622e7bf8ccda4f8c319ad22aa5a29dcb4431d() - { - $this->assertTrue(true); - fn() => ($test |= clone $test); - } - function test169ccd0d5b97c90117187f1d1de79bfb17e96436152678062cf15fad71f68d31() - { - $this->assertTrue(true); - fn() => ((int) $test |= $test); - } - function test16aa9785b1ae1d2ff17e72eac8227c3a5c1ca632add2bbacfc330fac11ac4d01() - { - $this->assertTrue(true); - fn() => ($test / $test |= $test); - } - function test16f36771846279951919ca6467fc013345b7fcffaf80a65a87c8ff6a14a3b3d6() - { - $this->assertTrue(true); - fn() => ($test ** $test |= $test); - } - function test18547a9eabf5ad8ffc7cd4310a849dd4c4959dcbbb672a280766e68102f74304() - { - $this->assertTrue(true); - fn() => ($test |= $test::${$test}); - } - function test1b6f39f7cd61ad4c4692c2bfc6b54bf35984f05282db9e1d2dad5632c35bea59() - { - $this->assertTrue(true); - fn() => ($test &= $test << $test); - } - function test1c792d45758449d8827fed9a8ffb7c59fb1578108f442e6caeafa42ec014fe40() - { - $this->assertTrue(true); - fn() => ($test &= 0); - } - function test20a07cc2664d5ce3040c8b0de4acc36ada77caa1afdce853970a8bf0cba8bfe6() - { - $this->assertTrue(true); - fn() => ($test |= self); - } - function test2408bc00ae35a17ec34b64929c1f9ddf922098450b3f36729c5c2dbc80a67fe4() - { - $this->assertTrue(true); - fn() => (${$test} |= $test); - } - function test2e87b5ec8c57a945471253a8cc08d569fe5a5d739844102c71ce18f5a520db5b() - { - $this->assertTrue(true); - fn() => ($test |= @$test); - } - function test30353dfad98a190ce6ba71c67378d4e14ba9cfe9e54f4dc57b7fa57bb40f468c() - { - $this->assertTrue(true); - fn() => ($test &= (object) $test); - } - function test308c5cc600670196e6ecd4313c28a9d450811d1a5f94548a3b860f9a4863b754() - { - $this->assertTrue(true); - fn() => ($test |= !$test); - } - function test326b597c888de92e5b8ad582e31e27fd89ac65e79ec0c8b0c481511d4ed1ab9e() - { - $this->assertTrue(true); - fn() => ($test &= (array) $test); - } - function test36bb5dc9001c18a221e260b357d844a079790e932aefa8286f7c3968036f8385() - { - $this->assertTrue(true); - fn() => ($test::${$test} |= $test); - } - function test37c0e7111e7be4eeb0dea5e994317b896d6427950bbca0e90f94b2587180abe3() - { - $this->assertTrue(true); - fn() => ($test::$test |= $test); - } - function test38ed87673673e87475ee37c8fb3c7cac27f3db6956e73576103ff09b28402256() - { - $this->assertTrue(true); - fn() => ($test |= []); - } - function test3adf03bc5064c070fcd790c8bb2e58db0c76c51a2bd2e19633375e16ac5b70fb() - { - $this->assertTrue(true); - fn() => (~$test |= $test); - } - function test3b8367004c7beb9c4cecf6c134a1d4cadbee1d8b22faec83956563f5ea5b8a11() - { - $this->assertTrue(true); - fn() => ($test |= $test::$test); - } - function test3e4e04d1effd2b3eabc1eea54395ac0aaa12db118bdbe5e50cfd3532c6403287() - { - $this->assertTrue(true); - fn() => ($test &= (double) $test); - } - function test40bab7d0af8a16888feaf7095cae44bccd9b3617c9fae2c74955870f27c0ee57() - { - $this->assertTrue(true); - fn() => ((object) $test |= $test); - } - function test40c51708fb4e343a98c3da34afc53c8d2f6b6b9954ed1f146bd7a9e4874a3306() - { - $this->assertTrue(true); - fn() => ($test |= $test->{$test}()); - } - function test41795da9ba44e2c25da7e2feef7b46100041ad2e38c03514024fe45dd2790d29() - { - $this->assertTrue(true); - fn() => ($test &= __LINE__); - } - function test42bbdca930849f956361edd92bc4ef6cbd38c00295983dedf5102169606b3116() - { - $this->assertTrue(true); - fn() => ($test |= function () { - }); - } - function test44ce8d7e76a81d2d2b6fea1bbc6fffaf4f844e8d4f126cbb36802e6bce169621() - { - $this->assertTrue(true); - fn() => ($test |= new $test()); - } - function test504d233407f35e0d9cf9c69b223c4bfb1698a41f89136eb2365bb9a500990f55() - { - $this->assertTrue(true); - fn() => ($test |= $test instanceof $test); - } - function test56c277f641b4d5024705c5a369e89079ce312d1d2d277e61ed17d7690b8f5a9e() - { - $this->assertTrue(true); - fn() => ($test->{$test} |= $test); - } - function test581328893474f5f92c1a19913f8692f2532b5e500e145b901162be1dd0364dae() - { - $this->assertTrue(true); - fn() => ($test |= (print $test)); - } - function test5a15fbc59541d18ccf5ee59c62b25c05534c519b4b4d2114c40ded43765185ec() - { - $this->assertTrue(true); - fn() => ($test &= "{$test}"); - } - function test5e11fc47d4f36817b517744032f5952b71627a93d491cc6e2e5e7dfe7f713c79() - { - $this->assertTrue(true); - fn() => ($test &= __FUNCTION__); - } - function test5faf84419f7c7eab4b46dfe160f327e46d365f473b531dbd502b207ea9416645() - { - $this->assertTrue(true); - fn() => ($test |= $test = $test); - } - function test5fdd8b0957bad173353e0dada6c9f8fa8129312cc1a34926e8cb3ef0d4838a5f() - { - $this->assertTrue(true); - fn() => ($test |= $test()); - } - function test60bfc160f4bf0ecb2cdb8cfadc2225e7e610b25ee530b82fe6774e0f88e9cb71() - { - $this->assertTrue(true); - fn() => ($test !== $test |= $test); - } - function test6193a4c0032aa49cc99b25a31a599ac1c38ac4a2b31452c3a7dc43ac6f29ed77() - { - $this->assertTrue(true); - fn() => ($test &= __NAMESPACE__); - } - function test6204e05fcb03a3b9c9384622cffe95406a8c754c253a76f8c9230e5827f323b2() - { - $this->assertTrue(true); - fn() => ($test <=> $test |= $test); - } - function test6335ebd2dc7079437cecaafec18e00513ba233829f2132526452c2abe62d8376() - { - $this->assertTrue(true); - fn() => ($test >> $test |= $test); - } - function test6394a79eddf0994b78619a2ec2798020d1e5820716ebec7d328ed23c52939156() - { - $this->assertTrue(true); - fn() => ($test | $test |= $test); - } - function test63c155feba30180e04682255ce419261745f7dff5d83b2b4a71f79a7252321b7() - { - $this->assertTrue(true); - fn() => ($test |= $test[$test]); - } - function test655e5458261269b3df94a7903422bb0c764b9b947b323aefc6db7f8230aa972f() - { - $this->assertTrue(true); - fn() => ((bool) $test |= $test); - } - function test68d40fba6b0f83145e55c2b8ba6dba174ba18e05f855f0eb6dbe332855febc8d() - { - $this->assertTrue(true); - fn() => ($test < $test |= $test); - } - function test7545718c4e829368775259884c412c1d42e13fc2061a7f8968ade4ef5e25369b() - { - $this->assertTrue(true); - fn() => ($test &= (bool) $test); - } - function test75863aa2145ffaf920b00371d54b69642b330012226daaad4c57735ec06263be() - { - $this->assertTrue(true); - fn() => ($test &= __METHOD__); - } - function test764171768867e348e2ecc40b88301a2dbb1b9c89efc89124ca39e2beea29ff3c() - { - $this->assertTrue(true); - fn() => ($test &= (string) $test); - } - function test7c63638da9f9feb848f95ebd3fa5ba6aafb9dfbb5def584ad4c45668d5bf8578() - { - $this->assertTrue(true); - fn() => ($test |= $test?->{$test}()); - } - function test7c8f586aa18b1e7459b1631ceb9252ef16ea1054e198c11f129535b801d21ed0() - { - $this->assertTrue(true); - fn() => ($test |= $test::$test()); - } - function test7f22d11870add15aa0aa6959540db4a828a0f8e4de961fab0e1a04916dd1d7ae() - { - $this->assertTrue(true); - fn() => ($test |= ++$test); - } - function test825be4384947b00f8cce830517646283ff0285e769dc5f881a28729fdbda30a3() - { - $this->assertTrue(true); - fn() => ($test &= $test ** $test); - } - function test8290c06eacb3305084afb933c5b78df3b679e1b616911ca0b6ec3543dcf3b434() - { - $this->assertTrue(true); - fn() => ($test & $test |= $test); - } - function test85bfe31045fbdd306b49e851cec5e7471022514ba0d48b2590913e1d5bc48083() - { - $this->assertTrue(true); - fn() => ($test != $test |= $test); - } - function test8655f51951979b495b780dba347e33337d1c887e28252209bd57337214b69f38() - { - $this->assertTrue(true); - fn() => ($test << $test |= $test); - } - function test866e5e5a42b86d9f2b4b86ee8f8ead9721cb9028874bef108ec79798ae9cd2e0() - { - $this->assertTrue(true); - fn() => ($test &= $test <=> $test); - } - function test88986d98a3d4a3142eef0d7640521d8a17d2a40158379a96a5d988df99c13762() - { - $this->assertTrue(true); - fn() => ($test &= 0.0); - } - function test89599deb58084984bb78caf63ff47730bb0d941fba617b64920ae7e2c3300bad() - { - $this->assertTrue(true); - fn() => ($test |= $test); - } - function test8c6b29dde965ed6b243dd6bf0910e5066dc28db2469d26369450600154ea7a35() - { - $this->assertTrue(true); - fn() => (+$test |= $test); - } - function test8e927915b758c533b81c882df8a4aaca77be6da2780333b9c1045729d1f52623() - { - $this->assertTrue(true); - fn() => ($test |= empty($test)); - } - function test8f0e6ac3eaf64e1533380ec83e62f2ba592edd9a0fb21b58eff3cefab58e9cad() - { - $this->assertTrue(true); - fn() => ($test |= $test++); - } - function test91f6c4e77890b4565cfb597d9018e439daef7a837a587c9833dcf23fb400d81b() - { - $this->assertTrue(true); - fn() => ($test &= $test >> $test); - } - function test94b4083243efbf97dcfb66957ab0dafbd4ee96af03c887eb392a546134feec9e() - { - $this->assertTrue(true); - fn() => ($test |= $test->{$test}); - } - function test98bfc92d1a2cf5a875489b920cf5987b3ed99fe823188fd365f252d788bb4a97() - { - $this->assertTrue(true); - fn() => ($test |= ( $test)); - } - function test9a59d62ec4071cafa052b97b025740176f0f2e4c21a8285eafc327e07cd4f213() - { - $this->assertTrue(true); - fn() => ($test &= __DIR__); - } - function testa2af1ec3cdeac3540d72e26da23152555199f26be4eafbf1a42c643db9d196e8() - { - $this->assertTrue(true); - fn() => ($test >= $test |= $test); - } - function testa421bfa3fd2068b61a39400e851b5fffa76e961f024e1fbf7e60920e75630e9a() - { - $this->assertTrue(true); - fn() => ($test ?? $test |= $test); - } - function testa51d625383eb5e6ae5f1e678d3e6f9965a2eac0bb2fc1ee9987f9f2f8d15019f() - { - $this->assertTrue(true); - fn() => ($test &= $test < $test); - } - function testa7a7b40cf3fd22417b8af10197f120ef5311adf0b1b9195737b6573292565c33() - { - $this->assertTrue(true); - fn() => ($test == $test |= $test); - } - function testa990250bc0dd1034e807d4b8cf1ee7e3e73786c1db44bbfd6915a16b2d973d4e() - { - $this->assertTrue(true); - fn() => ($test ^ $test |= $test); - } - function testa9f8f1779eded39a25fe30c0a02796403b63bc7b5d99b6507d712cb4f2d06bc9() - { - $this->assertTrue(true); - fn() => ($test &= __TRAIT__); - } - function testafc016545d725a95f612c2cc949ff86cab2c78bf1cacb406f5ab11165ee24cd9() - { - $this->assertTrue(true); - fn() => (clone $test |= $test); - } - function testb124d41e9b5d266b49f341e1abf6b7886ff788e75d3d404b56ef1b7fd2ec398b() - { - $this->assertTrue(true); - fn() => ($test &= (int) $test); - } - function testb2f2ceb9934086211ecc5704e938fe272b2f8d2f3669b8ec9c34519388de53c7() - { - $this->assertTrue(true); - fn() => ($test |= isset($test)); - } - function testb5f21b91f94af2c25753977731937a3bfe93d6abe34464abdda6578c4d933abb() - { - $this->assertTrue(true); - fn() => ($test &= __CLASS__); - } - function testb761b0beb9f87a5da9f833e2dcaeb24bc7ec5796ed67173563292582854ec40a() - { - $this->assertTrue(true); - fn() => (-$test |= $test); - } - function testbc01983813e56c1c62d135a0144509b5157c257ee571f8e05e69d78ee4bbccff() - { - $this->assertTrue(true); - fn() => ($test |= ``); - } - function testbdd170297050071572055273c8bddd77a9ee5a5dec991ff00a291307822a8ab9() - { - $this->assertTrue(true); - fn() => ($test |= $test?->{$test}); - } - function testbf9cbfa0557053f11b8418417023139e28fa0fed2b48fc8ae786892bcd3a67ec() - { - $this->assertTrue(true); - fn() => ($test . $test |= $test); - } - function testc07e69383a8761cb726f87ecfb4539175cf6c617e50a4eba9d9410680e086646() - { - $this->assertTrue(true); - fn() => ($test * $test |= $test); - } - function testc8426f17acaff4c5c47bb6af6b8df04343d1de32b875db20280df13a7346363b() - { - $this->assertTrue(true); - fn() => ($test |= ~$test); - } - function testcc0b8b5d097fe1c2ef77d867bd9da01c8e808c1d09a0281f6ec66c5dc656bd6a() - { - $this->assertTrue(true); - fn() => ($test[$test] |= $test); - } - function testcebd1ffcd1d6f84fddcf0ccfd84a8a05778517750a6dc72f059336071d33f8f0() - { - $this->assertTrue(true); - fn() => (!$test |= $test); - } - function testcf9a621f2a454480250753f3ca31f4518b759838446eb664265f92dcc6c081c5() - { - $this->assertTrue(true); - fn() => ($test &= $test <= $test); - } - function testd3a410f4ada7f30aec0254dac106e757e4f803a8988d0558b469c0a1d7e4c4b2() - { - $this->assertTrue(true); - fn() => ($test <= $test |= $test); - } - function testd4d8c61558d961f3c2f8dc6006f3d30e3f537c100200553444f730c20376b018() - { - $this->assertTrue(true); - fn() => ($test - $test |= $test); - } - function testdc1df80d9690c65af77505c9f8f44bd933cef3fa4cf697e25863609d0164e8a3() - { - $this->assertTrue(true); - fn() => ((string) $test |= $test); - } - function testdde747174215d976839805bab3c047bca894845e15ca127c93d5efb4dd91cea9() - { - $this->assertTrue(true); - fn() => ($test + $test |= $test); - } - function teste60726df942e3a3212a2f920967552da90c7ebec628e7e94ee3fe1ff6de70d63() - { - $this->assertTrue(true); - fn() => ($test &= __FILE__); - } - function teste99498d040f79d2d9140e5b423fd7de51d7d19fdb335e05b04a9c515493f90e0() - { - $this->assertTrue(true); - fn() => ($test |= $test--); - } - function teste99c65a256ee67a373323fb98d93a429d4c80520472e0c265e0c2cd16634513b() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test |= $test); - } - function testec5d8f7e5e94c81fa1155c606402bcb17b0319a4b99f2a52c28080dc27206cec() - { - $this->assertTrue(true); - fn() => ($test || $test |= $test); - } - function tested11022bb57457c20edb67a4e8800d0c663e31c6782d4a230b7ac61bcbe259e5() - { - $this->assertTrue(true); - fn() => ($test > $test |= $test); - } - function testf0bbb7d2e3f1208ff360bf053cbb5d8cd15a7f0dec4e3076f19227778fe0246e() - { - $this->assertTrue(true); - fn() => (@$test |= $test); - } - function testf38f417456b7172829c6ac9314fac6c2ab902268a2a90405bbe2a2cd7d9a404d() - { - $this->assertTrue(true); - fn() => ($test &= 'test'); - } - function testf50e2992d4d7bb00fd7b994b6ba38e2cdfa6781c743adcdf0b7ce27aeea29918() - { - $this->assertTrue(true); - fn() => ($test |= match ($test) { - }); - } - function testf7829a93c345187b51cbd54a7142da4d2969ea502f10814a8fb9a483f7da8011() - { - $this->assertTrue(true); - fn() => ($test && $test |= $test); - } - function testf99b8ea8075c1eac2ce66ed0a5b8de2c794621f9c16e53f3c4db817c3c1c5d6d() - { - $this->assertTrue(true); - fn() => ($test |= $test =& $test); - } - function testfb0c12ed5278666d250c08e4fc04f292f5ee57a3ba0c085feb1a178d0e323932() - { - $this->assertTrue(true); - fn() => ($test |= eval($test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest.php b/testsGenerated/Target/Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest.php deleted file mode 100644 index c45b26383..000000000 --- a/testsGenerated/Target/Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest extends TestCase -{ - function test068f012f4f11a81132841ef468cb406d08e4b2eca92ef664d9679cba8482624c() - { - $this->assertTrue(true); - fn() => ($test >> __FILE__); - } - function test089b9adc57e68f24cabcb8a5e3053a2148c0286fe536b3805911c976f3b5916b() - { - $this->assertTrue(true); - fn() => ($test() < $test); - } - function test0e99e9a64e49b3146df3266c11864adf4dad4bbcddcf2efdfb0f2e6411bff40c() - { - $this->assertTrue(true); - fn() => ($test >> ($test || $test)); - } - function test11fc86dc19c37296bc906e435c1afc546ff8037497031ecf1bd4e13b483cf79e() - { - $this->assertTrue(true); - fn() => ($test >> ($test === $test)); - } - function test12055dfbb0bacab090ec3e2db70a10f1c8f0c8de35ece56ab07de069a2409ddb() - { - $this->assertTrue(true); - fn() => ($test >> 0); - } - function test14bf9816b0a7e716b4f3ae4e26d85de1b3d7cb545e3be5396cc8a0f7fe4e909a() - { - $this->assertTrue(true); - fn() => ($test >> ($test &= $test)); - } - function test15dcaf6f6fafd36957b9f41ce25e02843ba425e79dc3057a0d4978a5a3bed888() - { - $this->assertTrue(true); - fn() => ($test >> ($test << $test)); - } - function test16788275332f624f7167268a310158f16e1a0a421044860420745329124939d9() - { - $this->assertTrue(true); - fn() => ($test >> ($test !== $test)); - } - function test185a16a802c2552a10c2e0ef8104c1a9da25033266e5b27f14155e178510d855() - { - $this->assertTrue(true); - fn() => ($test >> ($test & $test)); - } - function test199c29b31157cd119b7549feb67483da19f3625bc8da289d1f49c8211e8c0d69() - { - $this->assertTrue(true); - fn() => ($test-- < $test); - } - function test235923db41640c27a34ddb810c70ef9936ae526f857708ac06e5060868d2f18a() - { - $this->assertTrue(true); - fn() => ($test >> ($test <= $test)); - } - function test24ee50852b65ce0ff76d5b1b8dd5dbb0b11e6fe6de7bf63a439ed20d8a535c3e() - { - $this->assertTrue(true); - fn() => ($test >> __FUNCTION__); - } - function test26122a3b7972a34d18fc96b4cd99c2995dfadf02814e09ec270af7d80dccef6c() - { - $this->assertTrue(true); - fn() => ($test >> __DIR__); - } - function test300ade80e2fb9c2eb51880b0151bb758d773eedad1946fffc0c4c738f653ef2e() - { - $this->assertTrue(true); - fn() => ($test++ < $test); - } - function test313de800363303e34e6ce0aeb728362ae8445ba642473afa5ea433cf71d1acec() - { - $this->assertTrue(true); - fn() => ($test >> ($test .= $test)); - } - function test366f071b0cec6cc7f06b2e606ded14cd98a8e5b47f33f288dc662518ede0b3b2() - { - $this->assertTrue(true); - fn() => ($test >> $test / $test); - } - function test36c5ad74ce51ea1e949cd80838a0a9641096254c7c445f0208f27f5337e5e167() - { - $this->assertTrue(true); - fn() => ($test >> ++$test); - } - function test3816464a181b4fbeae13798dd2875ba7e96edf564f91d97e36c7d26106754463() - { - $this->assertTrue(true); - fn() => (@$test < $test); - } - function test3912e4b6f2d99d89429f76e88f1db2e98defdfbcca49942937437279ce14ead0() - { - $this->assertTrue(true); - fn() => ($test[$test] < $test); - } - function test39ea1cee4f76b2d4fad51fab99d52b5af3fd846a08b04713b10fb245f010ec9c() - { - $this->assertTrue(true); - fn() => (eval($test) < $test); - } - function test3c982e69f8b4b07a2200580410ceb6e121b80015824e4a710ef49577283f75e8() - { - $this->assertTrue(true); - fn() => ($test >> (bool) $test); - } - function test3fab0ab33240f9c1910a71416a7c1244f06ed05f3ebd55de29b2283f1dcb10d7() - { - $this->assertTrue(true); - fn() => ($test >> $test . $test); - } - function test3fcba1be0ea172246988d48b64db87373f38abfa3681704d8ae9148b7695b918() - { - $this->assertTrue(true); - fn() => ($test >> --$test); - } - function test40d6be67085cf8baab8dcca51564154c63a3e908395de548accecaf66b9f4e00() - { - $this->assertTrue(true); - fn() => ($test >> ($test += $test)); - } - function test42e60496d2d4d02c343d30ed01ff45f040f844933a821acf9a8d056342b6e6a4() - { - $this->assertTrue(true); - fn() => ($test >> (array) $test); - } - function test45684f1c3e9a30397df83c8c950ec24d10745f68d550ffd5c33f089ff6e009b1() - { - $this->assertTrue(true); - fn() => ($test >> ($test -= $test)); - } - function test4785ad9131da9c0b347033d07c549a675454c6c3ce5ab07550addaf19c891b9b() - { - $this->assertTrue(true); - fn() => ($test >> 0.0); - } - function test4f81f3fee2b5389a791226146521bd1d5584e5a7d6bcc356b72c3c0efd041eba() - { - $this->assertTrue(true); - fn() => ($test >> 'test'); - } - function test5051321c69473de7a098864eec4f11ee38a8c0f7b696e8ff994578fb00c8021b() - { - $this->assertTrue(true); - fn() => ($test?->{$test} < $test); - } - function test5e2c711a8c4df1b0363dcb7030f3af1af63bd4093de91d3a30b32c405aa9f0ae() - { - $this->assertTrue(true); - fn() => ($test >> ($test != $test)); - } - function test60d2e6878a58d552ac737d83bce8221d0e539941ed4a704645dfcdd00d8e9bb5() - { - $this->assertTrue(true); - fn() => (++$test < $test); - } - function test6e57aaec41865e581f85fb83bf522bbd0928834492ab7469031702ebd214e7b3() - { - $this->assertTrue(true); - fn() => ($test >> ($test >>= $test)); - } - function test6f490832a9c1fecf8e7bad8bf04adf8f41331d0a11d5ef8140b38992d2116e0e() - { - $this->assertTrue(true); - fn() => ($test >> ($test ?? $test)); - } - function test7520126e3da60ce8494d8ba8dfa73203ca12e467a7a6274af8a701b67a3f435b() - { - $this->assertTrue(true); - fn() => (function () { - } < $test); - } - function test76003c1e4a65c9ff3785c8a76af62727e5e73d7abaf1e59a2012f1e093efecda() - { - $this->assertTrue(true); - fn() => ($test >> ($test %= $test)); - } - function test7817b8823f791e7dc6bebc1013c1fc8c846ad0b862ed9a9f0bb4570a33ff5b0b() - { - $this->assertTrue(true); - fn() => ($test >> ($test | $test)); - } - function test78a238c9a692fab39843716da722368f99ed201b7fdd3a18f5b93ae6794f3e07() - { - $this->assertTrue(true); - fn() => (match ($test) { - } < $test); - } - function test7a5bde5975828c214f51683645e8a2edf5fc1d4e85feed4a0f93fc98809fe8d4() - { - $this->assertTrue(true); - fn() => ($test >> ($test && $test)); - } - function test7ab84c6f1f464c40fc00041afe713630650a66f39c97cb9ffa11723545f731df() - { - $this->assertTrue(true); - fn() => ($test >> $test ** $test); - } - function test7b26d1fc62157e28c522e5e5634115b85d2d6e354ff02ec84ded053156d882c4() - { - $this->assertTrue(true); - fn() => ($test >> (yield $test => $test)); - } - function test80b543832748176faa38e82d48cd54eb0ceb22e7a9589e5f615d5f3c59042c78() - { - $this->assertTrue(true); - fn() => ($test >> $test * $test); - } - function test80b755cf2c62613e1efa5a7a26e36bb0199121e05bf79094b36828d0474f2a14() - { - $this->assertTrue(true); - fn() => ($test >> -$test); - } - function test82afb3d4ec9322fe742c5a937db6676f75a18944342f89ee7e04a8db409923df() - { - $this->assertTrue(true); - fn() => ($test >> (object) $test); - } - function test836f3263a739e47bb3a7c6aae6f6341ae8d82deb4dc788360cd2604ac06b3b30() - { - $this->assertTrue(true); - fn() => ($test >> ($test *= $test)); - } - function test8405160221f2a10bad701cc5bd37ec42f0c812ec8f6b77f84c62381ed8d494b5() - { - $this->assertTrue(true); - fn() => (isset($test) < $test); - } - function test843b7467744cf4826c83b117cbc564fbb83e8a63093d24c6f07030b068e24936() - { - $this->assertTrue(true); - fn() => ($test >> ($test or $test)); - } - function test848dc1b6c0bd11819634edb3dc416bf899eec70aa2e4e457921ae9baaea3eaa4() - { - $this->assertTrue(true); - fn() => ($test >> ($test ? $test : $test)); - } - function test85ac0b1b79babd280711464d9dd663ea6fb697d50317fade3497cc9487bf2470() - { - $this->assertTrue(true); - fn() => (~$test < $test); - } - function test8cfa36b53691898a147dbdda90c671032d117da308f2e6164dbcb679e632c9ab() - { - $this->assertTrue(true); - fn() => ($test >> (yield from $test)); - } - function test8d1369754579a5d0f755adc5b32a2ca552cc95ee4ea66b31ef6432a910d7b583() - { - $this->assertTrue(true); - fn() => ($test >> __TRAIT__); - } - function test8d34838900c28f83d1ae5897b01693b3430f6039a50c9a34f6513d01f69dc5e3() - { - $this->assertTrue(true); - fn() => ($test >> $test->{$test}); - } - function test8e8741d221cf7a262385f676ddf199b92576d0a9c277c2cb67e4c8e77cf5b367() - { - $this->assertTrue(true); - fn() => ($test >> $test - $test); - } - function test8f99276b0a0557c671b2c06aa0daa2cf084f2d172c1ebb3875ffa8cddb040edc() - { - $this->assertTrue(true); - fn() => ($test >> ($test |= $test)); - } - function test92ddfc3336445f74ff22396e422de07ee3319ee108cd12e83a1cf11a1e34e188() - { - $this->assertTrue(true); - fn() => ($test < $test); - } - function test942e94f584ea7c6a23707a503176144bcb9ae1b75570d3858a6aa7a220b79fb1() - { - $this->assertTrue(true); - fn() => ((print $test) < $test); - } - function test94bc1e6a574c82650e21e30b20f8dfe73a1ad2d177f38a6270ff78512fc7b996() - { - $this->assertTrue(true); - fn() => ($test >> ($test <=> $test)); - } - function test9762d4d731610a7b8dacffee2e41c6183514d998ea656cbea4bee698fd929d6d() - { - $this->assertTrue(true); - fn() => (clone $test < $test); - } - function test9768267dfbceb86ac88d5814c7303716d8a71a30676b27081fff9b0c0b0000c4() - { - $this->assertTrue(true); - fn() => ($test >> ($test < $test)); - } - function test997e5ee7e95b05827caa0d41e9b1b45fe2e25c009ad6c91b766c825c420249f1() - { - $this->assertTrue(true); - fn() => ($test >> (double) $test); - } - function test999f0142f17ef9627f9dab080db3e352afc9d034aaa1e17822b18e4c1f09f47b() - { - $this->assertTrue(true); - fn() => (--$test < $test); - } - function test9d3a877f0bd3e4ea1ebf632565d51fa64f02f603902817cdc7322121bf13c85f() - { - $this->assertTrue(true); - fn() => (( $test) < $test); - } - function test9d437571e472f1767a4194ad6320c81383d18dc1261ed669681c2875f6874fc7() - { - $this->assertTrue(true); - fn() => ($test >> ($test <<= $test)); - } - function test9d606e19de99b55c97e6e8d05eac6e8b8bf1184d7bd0e0a6e78224959a2d765a() - { - $this->assertTrue(true); - fn() => ($test >> ``); - } - function testa011bd65d692e0b6368f7971b923214333e1032f8949d034e3f66688efb1371f() - { - $this->assertTrue(true); - fn() => (($test = $test) < $test); - } - function testa18ce3d3ea6f7605b54d5c35f00820caac21e43e516b88980eda5d6de005baf3() - { - $this->assertTrue(true); - fn() => ($test >> "{$test}"); - } - function testa5d4e0ae8a51cc5633e18caed30f1eeed6832175ec319a078acbb598f7623248() - { - $this->assertTrue(true); - fn() => ($test >> +$test); - } - function testa64292c0aea90cace4cc5ab908796c6380d8c4644dacd3d804406df227e72f6c() - { - $this->assertTrue(true); - fn() => ($test >> ($test >> $test)); - } - function testa76708a462c9aa88a1ccc78844524363f2c4bcd51ff5003104fe89d4792d0f9c() - { - $this->assertTrue(true); - fn() => ($test >> throw $test); - } - function testa986f5e1cfb3e662295c3a1be0f44d9f80a7a877a4a5ae971ebc08a6f8f517a7() - { - $this->assertTrue(true); - fn() => ($test >> $test::$test()); - } - function testaa20c56f5c7ebe293669ab2a8a57bb888e3011cb7913cdd9331ba701da7f6b3b() - { - $this->assertTrue(true); - fn() => ($test >> ($test == $test)); - } - function testacae2ed87fbc998d2d3aeb0880a7ed4fdca90bd92002110bece7f73cf1778c83() - { - $this->assertTrue(true); - fn() => ($test >> $test::${$test}); - } - function testaccb958d27019bb1de49ffd7ff6aec314f91eb01cef06fec6a2d59c9b7b0a119() - { - $this->assertTrue(true); - fn() => ($test >> (string) $test); - } - function testb055e7818edf05480b788892c4138dff7a435565198b47dfe32864390c069689() - { - $this->assertTrue(true); - fn() => ($test >> ($test > $test)); - } - function testb421ef22bb195e784c29196156585203db4cc9d8dc52fd1f484645c795a95ce2() - { - $this->assertTrue(true); - fn() => ($test >> __LINE__); - } - function testb95973a9ffff062a6eb3aa00ebadabd7cc55bd5ceb19c7a8b513e47309d874ce() - { - $this->assertTrue(true); - fn() => ($test >> ($test /= $test)); - } - function testbaaa03df204252181ba0191d30ac95427ac007f5a96cec616800402319dde514() - { - $this->assertTrue(true); - fn() => ($test >> ($test **= $test)); - } - function testbaef0d5337489dc8b79e6197d486084ab9b0d7bb85ffa983c2ef6b27fb3133fb() - { - $this->assertTrue(true); - fn() => ($test >> ($test and $test)); - } - function testbf39db29d2f31723a96e7dacc5955ed1e8ef43a1d7a13ca1319103f41555f2ca() - { - $this->assertTrue(true); - fn() => (!$test < $test); - } - function testbf9f5d594aa6d770150b29728503cfba4fb8d258fd7e93e7632de7419590bd91() - { - $this->assertTrue(true); - fn() => ($test >> (int) $test); - } - function testc1775e5367bb16b5ca3581dd02bcbaa1d673d486e92d8bb80f7d1774b20ee674() - { - $this->assertTrue(true); - fn() => ($test::$test < $test); - } - function testc225a7c976ec4bb57bbe920b37e9706517d5b4b740eff17da61010b58be9a149() - { - $this->assertTrue(true); - fn() => ($test->{$test}() < $test); - } - function testc8a90ede217ecf2e9ed593023585006370adfb0ebea68337ad2118cda289e219() - { - $this->assertTrue(true); - fn() => ($test >> ($test ^= $test)); - } - function testca6ae965bacec83daa9bc9f92311426b46a37302673075b0e35025853cca9f05() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() < $test); - } - function testca8a3558460e366346209718efd55acf725cbec22991b574c1defce0e8e29912() - { - $this->assertTrue(true); - fn() => ($test >> $test % $test); - } - function testca912ad170173fc82edadb815eea3a25fb3fa71b978d9a4c1925995b1b631512() - { - $this->assertTrue(true); - fn() => (self < $test); - } - function testcea9807999414d764591bbb179aff51b733889d502ff767ee1c84fe73fab3a1c() - { - $this->assertTrue(true); - fn() => (($test =& $test) < $test); - } - function testd4630a84325c90412de6c25c4a4354faa2fda649228f5e25b40eb37842fa1cc8() - { - $this->assertTrue(true); - fn() => ($test >> __CLASS__); - } - function testd58643c8dbe0e0ece1bfc25ab28e1674b2c7faaf99a76002e5b2524e08c06f4b() - { - $this->assertTrue(true); - fn() => ($test >> ($test ??= $test)); - } - function testd75cf111f0fd442fa5408beb210366bbb6370cde9ebac760c4255018f2a7f630() - { - $this->assertTrue(true); - fn() => ($test >> $test + $test); - } - function testd7ea70bbaeb04f4673fb324654e0a453dd73508c5733041003530ac94af36378() - { - $this->assertTrue(true); - fn() => ($test >> __METHOD__); - } - function teste62dcb66e5fa9f20ec058a89f13e597eaaaad3d472fb319c23b96884d6a6b788() - { - $this->assertTrue(true); - fn() => ($test >> ${$test}); - } - function teste7aec2f12fa2d6c9e4ed8cca11861d61668bbd9784b36b3cd8a5363b96e5ed75() - { - $this->assertTrue(true); - fn() => ($test >> (print $test)); - } - function tested45c33797ae58e22da2258c3ca44438733a52cf4405400cd7fcef52e3c3af44() - { - $this->assertTrue(true); - fn() => ($test >> ($test ^ $test)); - } - function testedbe0e6d299318058fa8596a57d71f204465598b2706a9d7e7a6086b409c1970() - { - $this->assertTrue(true); - fn() => (new $test() < $test); - } - function testefb2ba704dbf29962dad9a6c36d5d598637872605190dfd895a0f811c895e2f4() - { - $this->assertTrue(true); - fn() => (empty($test) < $test); - } - function testf4aad7141f63df4180984ff2c260e4eda353d7ca5e19e140233534eea8fa6d62() - { - $this->assertTrue(true); - fn() => ($test >> __NAMESPACE__); - } - function testf647057d5e77138d7485df803db31e136c4a67be51e69fc6822e6ffd4b7edb6d() - { - $this->assertTrue(true); - fn() => ($test >> ($test xor $test)); - } - function testf7270298f4b05005029d0cc6807404f6afaf489ce5054859b3a02e91b51ddc35() - { - $this->assertTrue(true); - fn() => ([] < $test); - } - function testf7477a8b52fd0d1cacccb93fa47114ed51784e823807411d7d2796324981fc9e() - { - $this->assertTrue(true); - fn() => ($test instanceof $test < $test); - } - function testfd22f09479dfb0dfa82fab70eccc336efc98e269b4923764d75853116cffff10() - { - $this->assertTrue(true); - fn() => ($test >> ($test >= $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest.php b/testsGenerated/Target/Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest.php deleted file mode 100644 index d2a0ce714..000000000 --- a/testsGenerated/Target/Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest extends TestCase -{ - function test0347d38b95e0f3b7cf576ad7d57e0b5d49047f43b23bab3a4efa11941cd9b56c() - { - $this->assertTrue(true); - fn() => ($test?->{$test} or $test); - } - function test034df2f9ddcc6b59f5e7ef2b0e54f8518beaafbfcfa1d04af89ec35814878bbf() - { - $this->assertTrue(true); - fn() => ($test and $test <=> $test); - } - function test04a26194795f544a786b53ccafdacb0dfbe9d22f55a86be5d2596e769d71de91() - { - $this->assertTrue(true); - fn() => ($test-- or $test); - } - function test057567407b6b5bad6d67e8210e3d7476a5e4df110e272e6c3d265306795c4aad() - { - $this->assertTrue(true); - fn() => (function () { - } or $test); - } - function test066e1fcc151bb3b9a5bfc0a453edf8b1bfa2ee3d3b004a4a6681bf7a3fdf58ab() - { - $this->assertTrue(true); - fn() => (isset($test) or $test); - } - function test09805bee2844049a7e5c0cdd29027af6609aea54cbbbd4e9a9f4af526c7b2f46() - { - $this->assertTrue(true); - fn() => ($test and (string) $test); - } - function test0b545bf846f6ce62d27451dd72e7b5fc9bf41c8f5c2ecda3fb7efbc511b3e811() - { - $this->assertTrue(true); - fn() => ($test & $test or $test); - } - function test0e0f0d04b4ee1e0077de5469304b9b3723468034a0ccfedc91cf6c37a34abbab() - { - $this->assertTrue(true); - fn() => ($test->{$test} or $test); - } - function test127387cd92636c0447d2d8edc9f45d316cfd25886b68ecccdc12e785a109841d() - { - $this->assertTrue(true); - fn() => (`` or $test); - } - function test1476333d4666462a4e7186796499cdd45b0a383c42b1f6f677e0807af53ef927() - { - $this->assertTrue(true); - fn() => ($test |= $test or $test); - } - function test1a43338061e9c3e699aed06a29d9daf08819f7c4cdc92c5f2cdb15302b4e670e() - { - $this->assertTrue(true); - fn() => (-$test or $test); - } - function test1aff9aeae7692ec1bd0e2c1de73cea2cee07062e74f0291ee497ec60f975eb4b() - { - $this->assertTrue(true); - fn() => (!$test or $test); - } - function test1b7ab5cb8dd2ddf8b6bd95a3045172fd54a260dd7afbc6d7a6eb4788ea758e85() - { - $this->assertTrue(true); - fn() => ($test &= $test or $test); - } - function test1d50903138145e6beb081fd26a6c4c2a7cb5bdb239b1441f33adb17c1fe6611a() - { - $this->assertTrue(true); - fn() => (${$test} or $test); - } - function test217ca5790a7d28add931792e5716494b8d70793e73511667b89a1ae4ca505f2e() - { - $this->assertTrue(true); - fn() => ($test and $test % $test); - } - function test22a2af5ed4fdbe7c78ed42a01c5198b581ee4ea0628e53ae0d9afbd04bd9a67b() - { - $this->assertTrue(true); - fn() => ($test = $test or $test); - } - function test24f3f0dd0302b02cad89f4729fd1c7874c79f0a0c2842fa2c748a9a597cfc851() - { - $this->assertTrue(true); - fn() => ($test and $test !== $test); - } - function test2674596382e71964c28814946bb64fb4b079283308e1003304f4641dbb3e44b6() - { - $this->assertTrue(true); - fn() => ($test and 'test'); - } - function test28a70b8dabe1308e7de7ecdac08e8a8918002dd108b202dafac0119119c22041() - { - $this->assertTrue(true); - fn() => (@$test or $test); - } - function test2af2ddc1253a0a2357fa3bfd2a493435cfac2464b0207a703bc164e3c89a4f20() - { - $this->assertTrue(true); - fn() => ($test and ($test or $test)); - } - function test2cb0d8800ea1c17d05ba8db14c9e05377f49395eb0b5a09ea8acc4fec482e920() - { - $this->assertTrue(true); - fn() => (new $test() or $test); - } - function test2ea38a1c9ed4061d7b54cad1e158ef2e07c318ac1b60050372acd97495bfe5f2() - { - $this->assertTrue(true); - fn() => ($test++ or $test); - } - function test2eeeaad20c342c395aa72b638b6ba9796048f8c0df2f446f6157322a4a37ed7a() - { - $this->assertTrue(true); - fn() => ($test and $test << $test); - } - function test304f9593a8315010936c7be8f8b2376c527606a7e3de1d0832cbc28caa01dbc8() - { - $this->assertTrue(true); - fn() => ($test and $test == $test); - } - function test355bc05fa6889cdb5fd88d54fe5ecbb709ecf2eca888a55337b2c0adedfbacb2() - { - $this->assertTrue(true); - fn() => ($test and ($test and $test)); - } - function test36b9d5c7337dda50fc0451320adaa164b4997a2c4d8b909c30d257551af68c1f() - { - $this->assertTrue(true); - fn() => ($test->{$test}() or $test); - } - function test38c54c7f8e302a471af960410d9b6242d701071df13750afab453b731e2cb790() - { - $this->assertTrue(true); - fn() => ($test and $test - $test); - } - function test3924d43f5bfb12d19408459af52bca316ca8fab81368ff018099b76d66f03a03() - { - $this->assertTrue(true); - fn() => ($test and __METHOD__); - } - function test41dae0c98f4b2646c1ee3e473291bd832938da8b05d0c519c042b24eebcbc44d() - { - $this->assertTrue(true); - fn() => ($test and "{$test}"); - } - function test43f3aeb9bb234c42c897e327f81d338be31322dc2fe792a7fc39b18e39c8e5dd() - { - $this->assertTrue(true); - fn() => ($test and __NAMESPACE__); - } - function test447e54040605696cd16692be64e6c72c3e8c458870cf091715c064f4c207f6d1() - { - $this->assertTrue(true); - fn() => ($test and $test >> $test); - } - function test4bfa54afc0522e70723136a1c29c95939806fccc684543dc2dd7353a4dfbcb78() - { - $this->assertTrue(true); - fn() => ($test::${$test} or $test); - } - function test4c849bbd903cb5fbfaf36c7990ccb0570a7e67fd2d6cb8f44667c9c107767797() - { - $this->assertTrue(true); - fn() => ($test and 0.0); - } - function test4dd63d7e1e78255e5658002597730495d5cafd4f1cf7474c9b7b2ce866b043ae() - { - $this->assertTrue(true); - fn() => ($test and __TRAIT__); - } - function test52cb79d3f54056ef86163f10d47fa1070d2d368d1e478b3522950d3a3106c029() - { - $this->assertTrue(true); - fn() => ($test and $test < $test); - } - function test555e111d559187a906274c95c96aca93ba74a1353efd218b7d81dded92f955fe() - { - $this->assertTrue(true); - fn() => ($test and (object) $test); - } - function test55dc4b729c79da79db3d14b874bafcf7da4cf8729c5896da82e5f86e803a6fd3() - { - $this->assertTrue(true); - fn() => ($test and (bool) $test); - } - function test568f6abd40e28fa409c78c36ae0c863948328d6d16c0c2cb5ff12fe01d02bc62() - { - $this->assertTrue(true); - fn() => ($test **= $test or $test); - } - function test5d0ba1b810a526e37cc5169c6751368c8458e649a708c387d75350d12067989c() - { - $this->assertTrue(true); - fn() => ($test and (int) $test); - } - function test607bbf6f91ffbd8f233beaa466f2a27b7c8742b55192f376e34c5e7b782bc83d() - { - $this->assertTrue(true); - fn() => (throw $test or $test); - } - function test61bf9b1da0feb8c5341bdab037da73a372698f028fb82dea2a6513fbc0a8461b() - { - $this->assertTrue(true); - fn() => (--$test or $test); - } - function test65f3ff227a26908bfee834f3763ebaeb557056b90a112974ea21302421fad0fd() - { - $this->assertTrue(true); - fn() => (yield from $test or $test); - } - function test6794c567a63bce9494073a4860a5e042bff81be3852b1b2baf8a977008f27818() - { - $this->assertTrue(true); - fn() => ($test and __CLASS__); - } - function test6d1dfac4ac629fb12f584e078beb493a4e00de2060b13a35db5897f0f035d68a() - { - $this->assertTrue(true); - fn() => ([] or $test); - } - function test755341dcdb1670867d7ff5d4611c0297f2b361d4e057f50ec07f50f3d61980da() - { - $this->assertTrue(true); - fn() => ($test && $test or $test); - } - function test7916891b03073af78be56d3a33940f40310b3467cdc136497f932f263a32d9d7() - { - $this->assertTrue(true); - fn() => ($test > $test or $test); - } - function test7a31abe4e3ea53252f0c69bc28d02c47da9a0f9407e0164bd4894bbce2edcd55() - { - $this->assertTrue(true); - fn() => ($test >>= $test or $test); - } - function test7d8025a0a9eef2558cbd7fb5674556927f683a3b090cdc555d97387142cc9776() - { - $this->assertTrue(true); - fn() => ($test += $test or $test); - } - function test7e02cb0ae0bc5e7d8faf5734dde87bb5dea838c97f450fdb3c7a19f594d9ad00() - { - $this->assertTrue(true); - fn() => ($test and $test / $test); - } - function test848408000ae1cb2d83122b796e8368addd106a14dbaf04d83589b1b97efe1147() - { - $this->assertTrue(true); - fn() => (self or $test); - } - function test869f313546f4afb9e673602f7d772375db570c2e379de1b5f0e9e4b7c41fa829() - { - $this->assertTrue(true); - fn() => ($test or $test); - } - function test86a2f33b980720e726fe98991dfa2909c1644592d089839ee56554e9da6b974a() - { - $this->assertTrue(true); - fn() => (match ($test) { - } or $test); - } - function test875993a8498c2f756ff2860047658ae588f871d38db3673356fa0dcb2b04951f() - { - $this->assertTrue(true); - fn() => (empty($test) or $test); - } - function test882e2ed2d966869c3e0b0baf588dfd6ffcc884124f43c19737ba69ce25cb16c7() - { - $this->assertTrue(true); - fn() => ($test::$test() or $test); - } - function test8991c04e12eb39ab356f17ad6f31b1b5590061bbe42b9eac2b95e99cafee932c() - { - $this->assertTrue(true); - fn() => ($test and __FILE__); - } - function test8ce6c39f5d252b8bab0ea289df509f5a9a83241fe0731bec8aecb6468c75cfee() - { - $this->assertTrue(true); - fn() => ($test / $test or $test); - } - function test8e33dc5e5d91a9ece2f409af42ea0cad0cd9dc3748ec8bc407b6415f307016e1() - { - $this->assertTrue(true); - fn() => ($test <<= $test or $test); - } - function test8ef54160b2771ce3402ddc05e3cfe693ae1704e9ffa33170e6035b624539bb41() - { - $this->assertTrue(true); - fn() => ($test[$test] or $test); - } - function test91a484f977b4f82b0251bb841896f590b255a799bd50e9fce4af96e88d57e3fd() - { - $this->assertTrue(true); - fn() => ($test and $test > $test); - } - function test94238debde656279c21cfc14c502321d9e9e9b01b78f7973d20a4b01eddbbcb1() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test or $test); - } - function test9564dd8e79caeb8c91c374c0e36324778d531c7eb66f85d21c25c52625bdb40b() - { - $this->assertTrue(true); - fn() => ($test and $test >= $test); - } - function test9991c325898536d098036f48f742c6ffcbb84a763890e8244cc0f7fdbb8c9d88() - { - $this->assertTrue(true); - fn() => ($test and $test === $test); - } - function test99aa12358901a011436ba80d39bff25496823d1d5c08146654a1603eedebca8f() - { - $this->assertTrue(true); - fn() => ($test ^ $test or $test); - } - function test9b0ba31fc51dc3fef9f68e0fd82e63c08fee6cd3cac0caa46f0ddea13c52a6ef() - { - $this->assertTrue(true); - fn() => ($test and ($test xor $test)); - } - function test9b61da84912db74a57536c6b412a06b01af35aa4c5e4df1456bf6f8910f7c0d2() - { - $this->assertTrue(true); - fn() => ($test /= $test or $test); - } - function test9d8e4c6ec147d318a25706c090f2d5dbc9add15d816354a34dac21090aa6a7ba() - { - $this->assertTrue(true); - fn() => ($test ?? $test or $test); - } - function test9decbf5f04bdf5e7ab1d5ed5c330c504ea19439a86640efabcaffdf5af68d8af() - { - $this->assertTrue(true); - fn() => ($test::$test or $test); - } - function test9f1f96cb15a32def56b9a500a97c895328af2df3596225d763965b5f1c2f79a5() - { - $this->assertTrue(true); - fn() => ($test and $test <= $test); - } - function testa3d5e02a1a6cb984d6df83e7b3cec738a13dcb77344c729f601b7bd9db686fa0() - { - $this->assertTrue(true); - fn() => (++$test or $test); - } - function testa4ea8c759536247ae72ae85455401ca74cdc84590f0aa27f676c480911789c53() - { - $this->assertTrue(true); - fn() => ($test -= $test or $test); - } - function testa78a7ec376b3ee0d8ea7b04fc3e429cb62e7752d18bc506d72e01079ecbcb184() - { - $this->assertTrue(true); - fn() => (( $test) or $test); - } - function testae45a212f52f110cc3bd6a598ab4184287bcc83a2f2f01e7badf296fb496f80b() - { - $this->assertTrue(true); - fn() => (clone $test or $test); - } - function testaecca7603acf0fb19ba52e6010468622e53674b7f864483567c0dac41e3ba850() - { - $this->assertTrue(true); - fn() => ($test and __DIR__); - } - function testb01336e5537f604c93a2c1fe68ce5c08227ba9af504d8ec12b004be9d4ca5a03() - { - $this->assertTrue(true); - fn() => ($test .= $test or $test); - } - function testb039adacc3e887b0322d5346aa544ae5b60b3039a270b016f4ff61fcd2c78f53() - { - $this->assertTrue(true); - fn() => ($test =& $test or $test); - } - function testb1c4ea81a6ab6bd5e5568c0d59ff46cf5b311d9c3885ef1a71bc9c40f3a5b9d8() - { - $this->assertTrue(true); - fn() => (eval($test) or $test); - } - function testb4c2d9089a98409877c7ec10e98a545bb39da9ad390114390f196a62bb7500b5() - { - $this->assertTrue(true); - fn() => ($test and $test != $test); - } - function testb518f52622fa83611f1813c55df65802b632f4a769ce64c9c4513050ebc2517f() - { - $this->assertTrue(true); - fn() => ($test *= $test or $test); - } - function testc089d07bc11cebfd747f3e2844a6aa8db35a8f20f3ee01674911ef985cd70c39() - { - $this->assertTrue(true); - fn() => (print $test or $test); - } - function testc30dc6bbcaebf526a9355491487376c9e4210d952a4e6be74143a44cebf4c1ae() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) or $test); - } - function testc61a850bf5886b9e6affa012019de2b25288a8a68bf83195c5df8698e9729047() - { - $this->assertTrue(true); - fn() => ($test and __LINE__); - } - function testcab0243119b4a1983a2da6ce4600403299dd2fbc02cde810b1e576c86b9093de() - { - $this->assertTrue(true); - fn() => ($test and 0); - } - function testcb9d1beaaabd5909143588d9dcebc492c9a7f248a5965b6b0cba3b1aa2c09c90() - { - $this->assertTrue(true); - fn() => ($test ??= $test or $test); - } - function testcc00809bce99d47ea4d6f561333fdff18cf7e1d58fd0c261f5b6aab9dd9eeead() - { - $this->assertTrue(true); - fn() => ($test and $test * $test); - } - function testd451da894d84d7c0c8fa7106dc1487a6f7751d6c0086f02fecb243cf1c304943() - { - $this->assertTrue(true); - fn() => (+$test or $test); - } - function testd52f9c685b7807b150c9d9246fd3e786069513110efbe13fa6ca77891167ff92() - { - $this->assertTrue(true); - fn() => ($test and $test ** $test); - } - function testd71060d42e0e8b83d12f6b84e3fd8e62d7701f19633e87fd0ce8fe7ae2eefeed() - { - $this->assertTrue(true); - fn() => ($test() or $test); - } - function testd78cc5d5cc5e043c71ba0bad6d22727fb260703ad7945da7007573dd06ebf88e() - { - $this->assertTrue(true); - fn() => ($test %= $test or $test); - } - function teste56f0fd8b0858a857308b6837bcbbdc352ce479f6aeaf0180b36af2605c13a73() - { - $this->assertTrue(true); - fn() => ($test . $test or $test); - } - function teste6089418eb31e6a2083bb8e86bb8b4bf2fe00f3bcd99807f787389ff7385aa0b() - { - $this->assertTrue(true); - fn() => ($test instanceof $test or $test); - } - function testeb95fae076b349a78ccd135a49d9c8d23b141b3c6d59c05c22bdd925e772c666() - { - $this->assertTrue(true); - fn() => ($test and $test + $test); - } - function testedfcc585b39664b6fecb4b1951f46526873bfb247b2eb81881bd6cd6377d189b() - { - $this->assertTrue(true); - fn() => ($test and (double) $test); - } - function testee3247f64cfb113b858d2220d021827a620da739f0862cf74700b9e86126437a() - { - $this->assertTrue(true); - fn() => ($test and (array) $test); - } - function testefc2aeca62044e83d116d951413e1c0deddabb7cbcd843506e8b818c0ba409e6() - { - $this->assertTrue(true); - fn() => ($test ^= $test or $test); - } - function testf08f8f602faa0e88b9292a8a3b4f9bb3603136639c0712031298e44cd5aabcad() - { - $this->assertTrue(true); - fn() => ($test == $test or $test); - } - function testf0bb9e69f68884cb3a74ba7a3c2ca669b576bdea4f502e1c78fb1ee69fb41c72() - { - $this->assertTrue(true); - fn() => (~$test or $test); - } - function testf3c85710284a6aef7b035748d87eeae5befcf56ad92b7a3d25bde396454f3acc() - { - $this->assertTrue(true); - fn() => ($test | $test or $test); - } - function testf75e4f035424e3375db819ecba9f99393d5dc8fd435e011fdb024a638b42486f() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() or $test); - } - function testfdbd2e6c181e38a08b19dba74dff0b210e2d9473e2544da04b2b747739cbcfe1() - { - $this->assertTrue(true); - fn() => ($test || $test or $test); - } - function testff835b6c070b76fefb6777dcf6c43de28df6b2afd2ae1625193fe622e7e1bcc2() - { - $this->assertTrue(true); - fn() => ($test and __FUNCTION__); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test.php b/testsGenerated/Target/Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test.php deleted file mode 100644 index b70f04362..000000000 --- a/testsGenerated/Target/Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test extends TestCase -{ - function test00a99e93e1974a85cc2715872944beeb870949388a0d722215c33a694ba5ebe7() - { - $this->assertTrue(true); - fn() => (isset(($test < $test)[$test])); - } - function test01971a0a2aa1bf8135decdd3e7dd1fd7fe2421ec9ee0c0dbe60fc1ea76ee015d() - { - $this->assertTrue(true); - fn() => (isset(($test or $test)[$test])); - } - function test02f30de4ef88735a14af8b8430ad824ed5d96a2d408c03e194435f3c2f1c9468() - { - $this->assertTrue(true); - fn() => (isset(($test !== $test)[$test])); - } - function test0a252b7d58341da7f6a998808cc2648ff0461ef7caa20ec5a63c1bb824c10630() - { - $this->assertTrue(true); - fn() => (isset((__DIR__)[$test])); - } - function test0bcc25d593b6bbc74788bebbef58d6e5839c4a425faf5b00fdc1e29d0f52ffca() - { - $this->assertTrue(true); - fn() => (isset(($test >= $test)[$test])); - } - function test0c850db4941ab37caac89bf57bc0f59172550333cc8605245d2cf1337cbe52b1() - { - $this->assertTrue(true); - fn() => ($test << $test)[$test]; - } - function test0d52230b0c16f7926319552aca90b4293df4af0cbca387c33d5c150c6adbef66() - { - $this->assertTrue(true); - fn() => (__DIR__)[$test]; - } - function test11d634ebbbd68765eb1f3db572448c05ed9a2a7a4fa7bdb44f168562cd5f8073() - { - $this->assertTrue(true); - fn() => (isset(((string) $test)[$test])); - } - function test13d5dd4138a5d1de116641c71d280262d4fb5a1cd148786a13dd3cdc05600bbd() - { - $this->assertTrue(true); - fn() => ((array) $test)[$test]; - } - function test14a67b5e22f3f19f54ec606bb0eaeba8fa6bd2eb35b25a6c4118a04a4b5f307a() - { - $this->assertTrue(true); - fn() => (isset(((int) $test)[$test])); - } - function test153c30215d6778dbe78c5912ef17ef562a83df5911b4c3dc6d0a0896e808d203() - { - $this->assertTrue(true); - fn() => $test[$test[$test]]; - } - function test16cb2e0ea3d87664e17e900abb93f656d825ec1ed15e144aa62911365609c052() - { - $this->assertTrue(true); - fn() => ($test ** $test)[$test]; - } - function test1a33b25d5a9d46a0740ac19906f3212abf8d53f8a3101b473937592d9cbdcbd0() - { - $this->assertTrue(true); - fn() => (isset(($test * $test)[$test])); - } - function test1aa24ffb30053b163f183feb740e08c5cb0acd79d90d87cf9be4d292675e393c() - { - $this->assertTrue(true); - fn() => ($test >> $test)[$test]; - } - function test1de1eb2644ad6ef7ff9b5b1f18c00d5899c0e6605f090558ce857485c9bf8001() - { - $this->assertTrue(true); - fn() => (isset(((array) $test)[$test])); - } - function test2315728460b036fba4edd1690cbe4dff80e4006d4b37368f017acd99dd722b5b() - { - $this->assertTrue(true); - fn() => ($test * $test)[$test]; - } - function test249670e12327b1663c2051ace62fe45b33c66a70b759cc2f8abd4c934d63efbb() - { - $this->assertTrue(true); - fn() => (isset((__LINE__)[$test])); - } - function test254ad866e863e039e5284a51e24f4cd168c550a804f0cc399f0c6e5dda73986f() - { - $this->assertTrue(true); - fn() => ($test % $test)[$test]; - } - function test2619617d20095e7853121b40407b3240697313b794a0e17b7e60f411b6f82384() - { - $this->assertTrue(true); - fn() => ($test & $test)[$test]; - } - function test29fc1e82f5bac80e123bc4344752ffb768d03f54b43126705789d8c39aff35d0() - { - $this->assertTrue(true); - fn() => ($test < $test)[$test]; - } - function test2bc979e53281adbc3b9bf86462a2e6ca8b5d55b94fd4c457ba0689553403cad6() - { - $this->assertTrue(true); - fn() => ($test > $test)[$test]; - } - function test31d9b9becafa77531a821b85e6a7602919345f20752b4ea0a18933624e5257ec() - { - $this->assertTrue(true); - fn() => (isset(($test ^ $test)[$test])); - } - function test3376e2447c2ff622c26d42f8473efc5d702702f5c382c018c43998bca70f012f() - { - $this->assertTrue(true); - fn() => (__FUNCTION__)[$test]; - } - function test369d8b9eff8d843e0d2e1ca697b77de3ea860a47243bfc5ede83970de1219f6e() - { - $this->assertTrue(true); - fn() => ($test <<= $test)[$test]; - } - function test37404cb3dcde91e5c16f65c7595066030f34fa92fac6777ee70aa266d23b7a09() - { - $this->assertTrue(true); - fn() => (isset(($test xor $test)[$test])); - } - function test37b4178472e1f536441e65d78536a9683abb778da72c6656e7d376578553e57b() - { - $this->assertTrue(true); - fn() => ((int) $test)[$test]; - } - function test3c1d3ca32e0d70032f4fcc9dfc08b17f624b14e75003fe1acd63ec4652cd703d() - { - $this->assertTrue(true); - fn() => ($test | $test)[$test]; - } - function test3fd822e81dedc0822c0513b95025b40ef721e9297f481959a9af3d803a2fe9a7() - { - $this->assertTrue(true); - fn() => (isset(($test | $test)[$test])); - } - function test439f89a7d73339c52d6cb7cf2dcf1d85e84783c1fef7cf2c9a843126323ae35a() - { - $this->assertTrue(true); - fn() => ($test ?? $test)[$test]; - } - function test4503c6cb281ac396cf969788ca532f3bf3d3ab4c27f6f3306d73726965688b09() - { - $this->assertTrue(true); - fn() => $test[[]]; - } - function test4815f65627cafbbd035869934a88a165d331d7c9c353725e1dbdd594c9123a9a() - { - $this->assertTrue(true); - fn() => (isset(($test and $test)[$test])); - } - function test490b50407b30f95a618dfe67f2dabf39d58fd7bf89afddb0ffd2398a59c9669d() - { - $this->assertTrue(true); - fn() => ((object) $test)[$test]; - } - function test4c197f6fac7984af74b1380c393f0b2a3de04fb45b98cfd47b4f28611cedb7c3() - { - $this->assertTrue(true); - fn() => (isset(((double) $test)[$test])); - } - function test4f6bacf5ad5bd3ed82c1816d1ad8b11ca12644eee28280ed9bc7b5c50f2110e6() - { - $this->assertTrue(true); - fn() => (isset(($test && $test)[$test])); - } - function test552186378d98974db446fcdc74e7898766d3d115acc4f7e325b235060ca8c114() - { - $this->assertTrue(true); - fn() => ($test and $test)[$test]; - } - function test578532bd5834d5a68f654fc517959e80375775505d589353aff4dc1bb8bc73f4() - { - $this->assertTrue(true); - fn() => ($test . $test)[$test]; - } - function test5d20525e40ec7cc0d509358034d3e5607ce05e0f3971fc91e87132e90df04e44() - { - $this->assertTrue(true); - fn() => (isset(($test <=> $test)[$test])); - } - function test5e1dfaf928928272d1b51ade9cf8349a4d50c9aecfe737395ef7260feaf09bd4() - { - $this->assertTrue(true); - fn() => ($test && $test)[$test]; - } - function test5fc5eca6c02d50d340c12152f8e5f7391b064c674e0a6d1a23296bb34ee89b10() - { - $this->assertTrue(true); - fn() => ($test != $test)[$test]; - } - function test63463d015a5c4892e0a0014ea5d57c18dc2c8c64b1571e81f49319bf9d603f90() - { - $this->assertTrue(true); - fn() => ($test ^ $test)[$test]; - } - function test635aeb89bda8785ee7a7ed137c05035e4be709804d376ea5acd4ad189543157d() - { - $this->assertTrue(true); - fn() => (isset(($test <= $test)[$test])); - } - function test68ee27afe4a040ee5421a0275bc4f5677fce9c90ebfca6d8580a2a66e4a6b13a() - { - $this->assertTrue(true); - fn() => (isset(($test == $test)[$test])); - } - function test721cd8116bec111747ac46691e0a5655b77ab11dcd7102f892408cfd2d6bae41() - { - $this->assertTrue(true); - fn() => ($test >>= $test)[$test]; - } - function test7787e556aa3b1db613aaffebe6a036393f65f8594aad8cfb73335bfc50dbd816() - { - $this->assertTrue(true); - fn() => ($test - $test)[$test]; - } - function test7d55c292084c2ba87a525dace8a391cbf3cedad825a56c521472bb267db4d7c9() - { - $this->assertTrue(true); - fn() => (isset(((object) $test)[$test])); - } - function test7ed2a74bd8113d1c826a9591ccda20d748b6ceaeeac579c62c32e01b8f24c9ba() - { - $this->assertTrue(true); - fn() => (0)[$test]; - } - function test817fc5d3f92e2a31926ac672a276d2b00208bfe4bcf39d3a2c3959f6e2cb1c05() - { - $this->assertTrue(true); - fn() => (isset(($test === $test)[$test])); - } - function test819a002c2c348489c6b262aed1fd2b9faeff814d135d96c56a7b5d012b8bdcb1() - { - $this->assertTrue(true); - fn() => (isset($test[$test = $test])); - } - function test83cfdf41cbc97a57caf81290b0e632266407065748b21c146cdb28dbc8fff0fc() - { - $this->assertTrue(true); - fn() => ($test >= $test)[$test]; - } - function test8421da9a74d514b83c7fa3c00300d195e5d0e57d5bb14438e76b7fd431358b92() - { - $this->assertTrue(true); - fn() => (isset('test'[$test])); - } - function test8c01953e1f8e944d24c749fe9791489abf53d06cbf34b6927bae3a6a26761ba1() - { - $this->assertTrue(true); - fn() => ($test or $test)[$test]; - } - function test8c834f5a37bbdbe25bbde7c8487cf9f2ab859417913d2c7738f8d851a225d5da() - { - $this->assertTrue(true); - fn() => (isset((__METHOD__)[$test])); - } - function test907ffc74aa5a6047f98d7663d40def221415b25d6e1b63f7fe15d0c6b2fa5994() - { - $this->assertTrue(true); - fn() => (isset(($test ** $test)[$test])); - } - function test90c179d4cd03b7481183231aad10d2206e5cd35766071cb35eaea4a796794518() - { - $this->assertTrue(true); - fn() => (isset($test[[]])); - } - function test90e9a8a918c34253662cdf7d0a526011e6d246d980431a2e6c6896b4c0bcb1f2() - { - $this->assertTrue(true); - fn() => (isset((__FILE__)[$test])); - } - function test975f101cb20bd9796b8b0006a0909a83cedf377034f9c754a8b3148b545a1c57() - { - $this->assertTrue(true); - fn() => (isset(($test >> $test)[$test])); - } - function test9a45da5add55a3ea0db839d8af96b9ac3ca7969dd4875e23a492b295a2ea0369() - { - $this->assertTrue(true); - fn() => (isset(($test << $test)[$test])); - } - function test9c74c7e06b3574b0dd3bab16d0c37778a4d9e1a87d2d4f163da12d61f49d0df6() - { - $this->assertTrue(true); - fn() => ($test + $test)[$test]; - } - function testa56a6836910b0b37fb3519553821c4ee681fc9596b3ab7ffc46b0115490bfcd8() - { - $this->assertTrue(true); - fn() => (__TRAIT__)[$test]; - } - function testa6ef461b4a07d96f44d8689d2d5618fec9c19a967f68d365da8658e52f842bd4() - { - $this->assertTrue(true); - fn() => ($test <=> $test)[$test]; - } - function testa820fcc845a3992834a6bf2349e416affb09fb0b8f2a54a66daff584d3901f18() - { - $this->assertTrue(true); - fn() => ("{$test}")[$test]; - } - function testaad1a5e1d727263ed7a323e49484ab8c4a14ff514d96f967c0794886e8b95241() - { - $this->assertTrue(true); - fn() => ($test || $test)[$test]; - } - function testaebcc3a5030463442540019d66772e3e35498f994070e2e3ae1aef61686bdef3() - { - $this->assertTrue(true); - fn() => (0.0)[$test]; - } - function testb482fce48c141703cbe387945109756d39ab970efa2e71f1936960dc04ca72c9() - { - $this->assertTrue(true); - fn() => (isset((0.0)[$test])); - } - function testb5cef17af2888736dc692e2e817821f0838311f6c77a12a584cff1aa8cdb5558() - { - $this->assertTrue(true); - fn() => (isset((0)[$test])); - } - function testb7c04e71a7ec985344bcf6e652e510962536b25e5f8c84d6fe168ca7341dccbd() - { - $this->assertTrue(true); - fn() => (__CLASS__)[$test]; - } - function testb858ae5d4a907c3cfa688d031611dbd3a3f8f09a266a205ebb633d6306ead111() - { - $this->assertTrue(true); - fn() => (__LINE__)[$test]; - } - function testb90f628e13a97477f9a8766f9ad75572c953474888fc2d317a3f3a0b17de20cb() - { - $this->assertTrue(true); - fn() => (isset(((bool) $test)[$test])); - } - function testb957be1dbed3f1ddecd8ddf88fcb7468bd9f5bd1eacc2be237791ddea5c43fa5() - { - $this->assertTrue(true); - fn() => (isset(($test - $test)[$test])); - } - function testbda4ae6f8fdc4506fb2b0dd222b4c168d46fce76d5ed5912eca6553a3fb180cc() - { - $this->assertTrue(true); - fn() => (isset($test[$test[$test]])); - } - function testbf3741db5f04e39110d6c558c5b795be5f09ee159bf519101f37f0ef90b8c89a() - { - $this->assertTrue(true); - fn() => (isset(($test . $test)[$test])); - } - function testc083f254dcd0a613794a25f0860016c57c028096aab9d48a980380d2a7d77419() - { - $this->assertTrue(true); - fn() => (isset(($test <<= $test)[$test])); - } - function testc6898decff753a385c3626f51afd37c95cbb238dee923aacb1e2e28cd0f86862() - { - $this->assertTrue(true); - fn() => (isset(($test != $test)[$test])); - } - function testc72e4df84fbe1ba2dde8165f48aca3428c972f30e071fc01f336c6d58e312869() - { - $this->assertTrue(true); - fn() => ($test !== $test)[$test]; - } - function testc7c140b29aa893f2b3babac536db697011f3374e4baf52d3374c8e2f584c319e() - { - $this->assertTrue(true); - fn() => ((string) $test)[$test]; - } - function testcd39195d8488e056fadd11c7094283493a4d0b27822f08bfcddd179f9466e726() - { - $this->assertTrue(true); - fn() => (isset(($test + $test)[$test])); - } - function testcdb20df27f2219985b9c6d8cb6cfccefebf683aee15876a28a855499e8f86427() - { - $this->assertTrue(true); - fn() => ((bool) $test)[$test]; - } - function testce9e2ed5e3538cfcf5458273f94bb549cc20b8e8f50c16fe85a296b82f8b7f38() - { - $this->assertTrue(true); - fn() => (isset(($test > $test)[$test])); - } - function testcec49dfc11b1e4fb1b99426fd06f0cb3664e2151ca5448a41ec791182e2fc2d3() - { - $this->assertTrue(true); - fn() => (isset((__NAMESPACE__)[$test])); - } - function testcee267b7b0f50652b14ed141bb8802d37dd3ba0a6b3e2c409ef4b9847a98395e() - { - $this->assertTrue(true); - fn() => (isset(($test % $test)[$test])); - } - function testcfc726a4c76fa543b992566d15b5b7c913276868fef0eba2cf802444b1370388() - { - $this->assertTrue(true); - fn() => (isset((__TRAIT__)[$test])); - } - function testd38c2bbd95a33f018b4392a28efd75f5908c070ae8dd255b14e922a1de1b296a() - { - $this->assertTrue(true); - fn() => (isset((__CLASS__)[$test])); - } - function testd4b2c02b26ba69ab43b20431657041f493726852d2f716ff4fce64ba887ae20c() - { - $this->assertTrue(true); - fn() => 'test'[$test]; - } - function testd758af9c0dc1fef3c1cd4d3d539bc14d96be05897953103d97b540861cb1e26b() - { - $this->assertTrue(true); - fn() => $test[$test = $test]; - } - function testd7a070621a16257c07e6b9c60bd8d4eb31824330288910185c33cf677eeb017d() - { - $this->assertTrue(true); - fn() => (isset(($test ?? $test)[$test])); - } - function testd868a26f11d7677e106fc8b4091a8e2f77f64eb938737338da4813524b143be6() - { - $this->assertTrue(true); - fn() => ($test <= $test)[$test]; - } - function teste12340008487e2fc6efaaca610d3b25e91c4cb29af352d51e7070f681953de42() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__)[$test]; - } - function teste1f9cda60dec649319bb2d7b32bb11683424722e4f983821ec7c059c0133575e() - { - $this->assertTrue(true); - fn() => ($test / $test)[$test]; - } - function teste6364a96398e000ebb81cfd16cdf572a289b2801b70dcbb01b2732e8fe0dc72b() - { - $this->assertTrue(true); - fn() => ((double) $test)[$test]; - } - function teste846fd0695a45c82cc1556b5e3e175c90a5c2602f4085b3fcaa1716baab7e012() - { - $this->assertTrue(true); - fn() => (isset(($test & $test)[$test])); - } - function teste997e212428b25bd88021e373300d4bb1e5b74c0be10b3edf14e3932271a4192() - { - $this->assertTrue(true); - fn() => (__FILE__)[$test]; - } - function testec4695d1133433b6f9b70e96f700190591918a3fb62f1b8675cb6be7dde879a6() - { - $this->assertTrue(true); - fn() => (isset(($test / $test)[$test])); - } - function tested71d6017e9c9f1ab271f41fbb5009d6f3f74f71836e63f24787d84504f75f3f() - { - $this->assertTrue(true); - fn() => (isset(($test || $test)[$test])); - } - function testf31e56c5f6ab00215c98ee759fb688aa68fdceff8b04585569457a26891ec8b9() - { - $this->assertTrue(true); - fn() => ($test === $test)[$test]; - } - function testf5ce1c2585c9457267f2c2340bd84dddfffc9361ba3acc34237d74748e266406() - { - $this->assertTrue(true); - fn() => ($test xor $test)[$test]; - } - function testf6b7ecc17cfb7f6b5c3d4403a1b9d73c77057adaaf2a3f6017d509ac2149fa87() - { - $this->assertTrue(true); - fn() => (isset((__FUNCTION__)[$test])); - } - function testf73aac921c99690101cebc0a86698cfdb6fb02a082940f68af1a181776649f18() - { - $this->assertTrue(true); - fn() => (isset(($test >>= $test)[$test])); - } - function testfaef3f400f7d64d9a605e7a62cf2bdec5f2d59d345757e50b7832e8ef9b3e2cb() - { - $this->assertTrue(true); - fn() => (__METHOD__)[$test]; - } - function testfe9626ff5d29db09d5a2601e0324cbcd61593473aa45cc9b755bb5b001e63a37() - { - $this->assertTrue(true); - fn() => ($test == $test)[$test]; - } - function testffc943766d84015540a7d1f7a984d98fa9ab42f406959d01367846f590a1b9eb() - { - $this->assertTrue(true); - fn() => (isset(("{$test}")[$test])); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php b/testsGenerated/Target/Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php deleted file mode 100644 index daf1d990b..000000000 --- a/testsGenerated/Target/Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test extends TestCase -{ - function test01ca3558803a858e27e2d32374455bf8d759b6de7bdbbd12befe98a8bdc0e2ea() - { - $this->assertTrue(true); - fn() => ($test ^= ($test and $test)); - } - function test034054a6782f3cc4e457a4cedf61d5f1473e10887f9a8de589821e8f8418a33d() - { - $this->assertTrue(true); - fn() => ($test ^= (print $test)); - } - function test059384ac1960fb76e757dd746393d8167837481e1e9b3774ff11e9c4adbcdb7f() - { - $this->assertTrue(true); - fn() => ($test ^= $test->{$test}()); - } - function test074f70b9a6249c630c7dccd0af27d31424e16029b5d56b0d08e498616af31f55() - { - $this->assertTrue(true); - fn() => ($test ^= ${$test}); - } - function test08af9564554af3cc4510e843874a0697478b57f17eb86045580062df625d99d1() - { - $this->assertTrue(true); - fn() => ($test ^= $test::$test()); - } - function test096c01bbb66314f59b7a152a68aed095e7ef181529b9c56d4369d3d98ba35676() - { - $this->assertTrue(true); - fn() => ($test ^= $test::${$test}); - } - function test0c1aa5e7ae0b7bfe25a4d5ab0d861ae66429104641fe04ad2f1f4bdeeef2a25f() - { - $this->assertTrue(true); - fn() => ($test ^= $test ** $test); - } - function test13115bf5d95c1c6f881ef587b6dd68b27d0ea3431aa45f22890bb9809b731adb() - { - $this->assertTrue(true); - fn() => ($test ^= "{$test}"); - } - function test131302e94e6a341906974f7fb4cc3b8979852995448e83e3a034093bb6786f85() - { - $this->assertTrue(true); - fn() => ($test ^= (int) $test); - } - function test169146ea9f326885ef8b9bf63d0d4d24b6bece771fb5f9a86ef318c624c73033() - { - $this->assertTrue(true); - fn() => ($test ^= $test instanceof $test); - } - function test1ac087eaffd3b6d1487d28dfb6392124745750062360920edcc2a4bb40809e7c() - { - $this->assertTrue(true); - fn() => ($test ^= 0.0); - } - function test1cd6a1a939787c289fe7117a4fac02200a5ea551426a8066ec968a758e102264() - { - $this->assertTrue(true); - fn() => ($test ^= ++$test); - } - function test1faa799d9360fcf9ffed6bc644fe9b924ad20c588284ed815ceed08410dc6039() - { - $this->assertTrue(true); - fn() => ((array) $test ^= $test); - } - function test213e52a316107b7b7cfc22e68f0f704dba5dc7d18edb5efd6152ab6e8f0813c3() - { - $this->assertTrue(true); - fn() => ($test ^= $test / $test); - } - function test21e9e6a208a7645bba2e430a08cf52285b78c2c40dd02070d9a27840d1ca015b() - { - $this->assertTrue(true); - fn() => ($test ^= $test . $test); - } - function test232bee2d1239522430cd9f9bc239522929c40333653f41e65db1c98dadf9d848() - { - $this->assertTrue(true); - fn() => ($test ^= 0); - } - function test23f541a7c500c23c261dc0161e16e88668ab87e2db1f2e4011a85e0fde941d95() - { - $this->assertTrue(true); - fn() => ((bool) $test ^= $test); - } - function test2845af0db6e5ce53e91d83f9fce750b957f519fb12b6a59145f94c6a19ce6575() - { - $this->assertTrue(true); - fn() => ($test ^= (array) $test); - } - function test287ffa2d41a2262d53140e42f7b5c4e77d03cbf8c1d6454e86b9274932e28742() - { - $this->assertTrue(true); - fn() => ($test ^= empty($test)); - } - function test2cd41cb205e32e2dac359454191d177402de26819cd282025b3d88bf07257aba() - { - $this->assertTrue(true); - fn() => ($test ^= (string) $test); - } - function test2d1cb6ae46660b64f6d227b2ae7755594a9c97767665f7a621a2440f919c9afa() - { - $this->assertTrue(true); - fn() => ($test ^= $test * $test); - } - function test2f0694f8eb82b870d3dd38d3040ca01c302acc7c4c2a5e6efae9d60bf5a8e042() - { - $this->assertTrue(true); - fn() => ($test ^= $test &= $test); - } - function test33afe8f47cbfe1898a4fcbccf08fd1235b77995eceb42b352dd38bb74af125c3() - { - $this->assertTrue(true); - fn() => ($test ^= (yield $test => $test)); - } - function test367a40413b7fc2011d9715d82c17c790ff173e50c7e2962fe756ff138a3d54ee() - { - $this->assertTrue(true); - fn() => ($test ^= $test?->{$test}()); - } - function test36bfd23287a4ef595b7229838e6939ea7c3f5de9185266c222d537fa50eee4f0() - { - $this->assertTrue(true); - fn() => ($test ^= $test **= $test); - } - function test3757cd7ed5425d04684a3bd165322e91c15875eecb42e4804477e8be2311676e() - { - $this->assertTrue(true); - fn() => ($test ^= $test |= $test); - } - function test3853744bb1c0fae0c3c8ac853f82a73bc49c4765ccdb29fafa635f97bb9cc548() - { - $this->assertTrue(true); - fn() => ((int) $test ^= $test); - } - function test3a2f2162a4d8ebd3dfebbdd20f6d093b1004e16703090ec95629a34874bf07e8() - { - $this->assertTrue(true); - fn() => ($test ^= $test < $test); - } - function test3d9db8895c2cac67d5690d6f34a4466c90167b224a0afdf656258f5bf34de1dd() - { - $this->assertTrue(true); - fn() => ($test ^= $test -= $test); - } - function test402558e809f2d83224f4e5861e848591a5513cb932a68e163605c1f0b0d331d3() - { - $this->assertTrue(true); - fn() => ($test ^= ~$test); - } - function test418e40be8d1ab1fc3531046f47dac7cf7ca1ab814d51d527af7663712ad574a5() - { - $this->assertTrue(true); - fn() => ($test <=> $test ^= $test); - } - function test41a022b5fcaba7b49501c081fb38a292740a2d183fa18ae208f131b416535d76() - { - $this->assertTrue(true); - fn() => ($test ^= eval($test)); - } - function test421fd8c31d6aa335360b14d0949b9b65b5e4d2853e977a57c520e4276ff6987f() - { - $this->assertTrue(true); - fn() => ($test ^= function () { - }); - } - function test42cf2f646581090fd40441579bbf6859d60735ce25c2dae4a1ebb015d91c7069() - { - $this->assertTrue(true); - fn() => ($test ^= $test % $test); - } - function test444d0de02f02b1346de1432e18a4ab5d147751486821c63de0c07e0e3ecab5e3() - { - $this->assertTrue(true); - fn() => ($test ^= $test > $test); - } - function test46721301975459e6ca3346b299f4ebea0c339349aab5d57f91e41073be12cd82() - { - $this->assertTrue(true); - fn() => ($test ^= $test()); - } - function test47e4bd718e78af1da8472acb98fea88d8185e5b51dfd6f57888382a9c250b115() - { - $this->assertTrue(true); - fn() => ($test ^= $test /= $test); - } - function test49cf7a0db45b5ec45709cfbbbe8d46b650cb2198442e62953f917addef634bb8() - { - $this->assertTrue(true); - fn() => ($test ^= !$test); - } - function test49d68f0c4189072adbbe3d85921ef175e491ea95b1bf935aadf53f1059fb180d() - { - $this->assertTrue(true); - fn() => ($test ^= $test !== $test); - } - function test4c8c2f8152b20e659bf95daafb2365909015dcd2d930fba51d34e73e0d1cbbba() - { - $this->assertTrue(true); - fn() => ((string) $test ^= $test); - } - function test4ee1f8a9d05e994b59331810a0611f4a1289a97e691f50da6974933ca1cd0b26() - { - $this->assertTrue(true); - fn() => ($test ^= $test <<= $test); - } - function test4f77d5f3f7a12a6dc11a99b045765a37aae0a4a0c40fb6f2e73ba39683b98596() - { - $this->assertTrue(true); - fn() => ($test ^= $test %= $test); - } - function test50dbd24ca1a349a5fb4f1223882fe30dbc879fd3fce763c0f4b5ab7a8135134c() - { - $this->assertTrue(true); - fn() => ($test ^= $test--); - } - function test5333136c8e8afdc5ad0b62fb0a4dd4461a6038e6f30eb5c22fa0fa8aa8900098() - { - $this->assertTrue(true); - fn() => ($test ^= $test[$test]); - } - function test54368dc1c83e498064452e5b5da973dedc6901e3ce11c5e57ea265a1b98ddbde() - { - $this->assertTrue(true); - fn() => ($test ^= $test != $test); - } - function test549899d8b72dbfccb1601c2403fab98862cfa1d392c5c03f6835e5b1b024667c() - { - $this->assertTrue(true); - fn() => ($test ^= clone $test); - } - function test57b4ed056ac9ecd208e8a35a8c1c7b0adbd5be2a6fc5e10ab14ea72d8d793a47() - { - $this->assertTrue(true); - fn() => ($test ^= $test ? $test : $test); - } - function test5bbbd8438d2186715516dbb05ab2f683fbe9ccb9e2002d50cba7c129039b41e7() - { - $this->assertTrue(true); - fn() => ($test ^= @$test); - } - function test5cd893a0326bf3ea060762dc3ced3b41f2e3bb4e8a0e8a11e748653760e0bbb2() - { - $this->assertTrue(true); - fn() => ($test ^= (object) $test); - } - function test5dee15084e247b170fa85eee95173d81d0f4221ea3fa62811c3e58b258fc323d() - { - $this->assertTrue(true); - fn() => ($test ^= $test | $test); - } - function test644322046b39b08d62d487b980db1cc11dd24c4da5158f03a76452b46ba24a0d() - { - $this->assertTrue(true); - fn() => ($test ^= $test == $test); - } - function test68d4377e4f832cdfca748fb0bc260eb807f1ff1c22ecdb06eb650e1e2f7f9788() - { - $this->assertTrue(true); - fn() => ($test ^= $test - $test); - } - function test6ab7fae85452717f17638ec59defbaa5cc15c10ffa08e1a9a70849c9203ee42c() - { - $this->assertTrue(true); - fn() => ($test ^= $test <=> $test); - } - function test6b720b9d81a1416d6a6b3b75cc02830b4f70d526c4a529ed71bca28b2838e4f4() - { - $this->assertTrue(true); - fn() => ($test ^= __DIR__); - } - function test6ca059bd59e8f900732e969a8f3adfbe19c73692a3d0d9e9a43a631f057a914d() - { - $this->assertTrue(true); - fn() => ($test ^= -$test); - } - function test6d508b61c39e7e00b7c2cd3a9472758f718457809ddd90e926efec4259fa0d9c() - { - $this->assertTrue(true); - fn() => ($test ^= $test && $test); - } - function test6e421331b8fc833f7ea91def6c3fd162087f0debf70570b1b06f2f8830ac4eac() - { - $this->assertTrue(true); - fn() => ($test ^= $test++); - } - function test72c05935445340a940264bf865b99381fa2fafe0ad404a358beebfed60edaae3() - { - $this->assertTrue(true); - fn() => ($test ^= $test << $test); - } - function test7416dd71a514c92f2eea60d14fe6ebda41f9b40450ee75e23caa7b83aff54a7d() - { - $this->assertTrue(true); - fn() => ($test ^= self); - } - function test74a04432940844ce45bcc8b4e34a4f14268695c379d81a8641a9600a1f036868() - { - $this->assertTrue(true); - fn() => ($test ^= $test *= $test); - } - function test78e428a6bc3285eaf122ed98d33b3d887e007cd77ab76f55012a3c5dc680cb70() - { - $this->assertTrue(true); - fn() => ((object) $test ^= $test); - } - function test7b1c692b1bb2a8d64692a4230d38f4be898350950417934e3dd6f5399bdbf18a() - { - $this->assertTrue(true); - fn() => ($test ^= ( $test)); - } - function test7ce035a33f4795bbf7ec2c724084746aa8c41dd203aa2c19fdc8489cf56bc847() - { - $this->assertTrue(true); - fn() => ($test ^= $test += $test); - } - function test7eca54609075088748032aebff49a47ec2b3b1eaf2cae0490c71eaf396445b7d() - { - $this->assertTrue(true); - fn() => ($test ^= $test); - } - function test7fc127e9aec6be31924e8d9772217bebc4e564e9d44661f3bf2a435940bcb08f() - { - $this->assertTrue(true); - fn() => ($test ^= new $test()); - } - function test8898bf728857b814c961c857989ae7d3c60aa962c09604a2cb49c98e6ef129ba() - { - $this->assertTrue(true); - fn() => ($test ^= $test =& $test); - } - function test8d4e5d262e31ed4717a6a7dccf83af2870e88fe65cee48a4ad7b8c7da782c582() - { - $this->assertTrue(true); - fn() => ($test ^= $test ??= $test); - } - function test8e133347e9ebb0722fa7f41e53dd8367ff7dc6f91caad9ee4799f2abd9d98b3c() - { - $this->assertTrue(true); - fn() => ($test ^= ($test xor $test)); - } - function test8e69f71536af553b7eeaeadba38c5e80788a8dda468aec6af5ff5416cebcd8b1() - { - $this->assertTrue(true); - fn() => ($test ^= --$test); - } - function test98b506b05a0034be14b726d0f2c56edc65e6d72847c42572db381d4a7ae094ef() - { - $this->assertTrue(true); - fn() => ($test ^= 'test'); - } - function testa09756a562779cd896854e05213b05d448421e34eee941269d043061c212886b() - { - $this->assertTrue(true); - fn() => ($test ^= $test .= $test); - } - function testa35ab7fb52b01453aa1110147c584d5d7ebe81208b6a95f2ef11921873bd8cbf() - { - $this->assertTrue(true); - fn() => ($test ^= []); - } - function testaa95951fc5025a62bcdc92af9c6f57d5b848fb1bb8ac50690db5e30df50c8757() - { - $this->assertTrue(true); - fn() => ($test ^= $test & $test); - } - function testae30457d899ea74582e945be4dac9569f86c1cd54c161529576778b8e59a5ccf() - { - $this->assertTrue(true); - fn() => ($test ^= $test || $test); - } - function testb4987307f719de096a9d4b4fb07fd093c5ae8cb87242374d1bd974626cda7b6d() - { - $this->assertTrue(true); - fn() => ($test ^= $test === $test); - } - function testb512c391fa5e86dcefa0043e23b18d6629e249f260da569c624246acbc0c245a() - { - $this->assertTrue(true); - fn() => ($test ^= $test >= $test); - } - function testb6342951ba9d2415125df097786c3d48813b6a886a72c0fd35f1e7e9a1d57016() - { - $this->assertTrue(true); - fn() => ($test ^= match ($test) { - }); - } - function testb638b2c50a07f337d330fecefa5d74e40f3259328cb3ac6dc57c6197075e698c() - { - $this->assertTrue(true); - fn() => ($test < $test ^= $test); - } - function testb896881093b11a353e2097b5e4844d794c7799409f6af6d0275a6ebdcb6ccb77() - { - $this->assertTrue(true); - fn() => ($test ^= __CLASS__); - } - function testbf676607d9689af59d671348cfbf1b0d24922982df5964cc7f292c873aa3ed2f() - { - $this->assertTrue(true); - fn() => ($test ^= $test::$test); - } - function testc010d7e1eec677c3a4ca955610089995b69c730f83d0964396bb461ef3e5ab2d() - { - $this->assertTrue(true); - fn() => ($test ^= ($test or $test)); - } - function testc3ec189664f16674e379227e304adbf0f73dfaacd1c07a00dcd764d24cd3e737() - { - $this->assertTrue(true); - fn() => ($test ^= $test <= $test); - } - function testc4829c8c3b44aded0f1a93ac08bdbfa2de4cad8020939c6992d186ba8ebc7805() - { - $this->assertTrue(true); - fn() => ($test ^= $test = $test); - } - function testc48b443094edc441ab2ea0ea5f0d74b4679926454387e2fc6dda06bb3ea69829() - { - $this->assertTrue(true); - fn() => ($test ^= (double) $test); - } - function testc78dbd5c2079800905058c1ba1d51ba9252925b31fe77ac1f20ce2a685e40be1() - { - $this->assertTrue(true); - fn() => ($test ^= +$test); - } - function testc839b2969358a8138ff5ef43d933b17b35258f60ac86f9e899d3e90298d555ff() - { - $this->assertTrue(true); - fn() => ($test ^= $test?->{$test}); - } - function testcb4c21093569b1418a8d75a4ee29d842b48ca5f40b5447b4409bed472ea6a839() - { - $this->assertTrue(true); - fn() => ($test ^= $test ?? $test); - } - function testcbe9b69788aeba20dcbc398081655b1cd59bb12d74f14225824f3a63c0a7a9be() - { - $this->assertTrue(true); - fn() => ((double) $test ^= $test); - } - function testcdf00554f5cfd8cabde45beb90957cf17ea703c4fab5e851ee31766dcd2ae6d2() - { - $this->assertTrue(true); - fn() => ($test ^= (yield from $test)); - } - function testd1eeecbe8e0b92b238113782a2d5515e009f19602818a371e9c6206f502ddc1a() - { - $this->assertTrue(true); - fn() => ($test ^= ``); - } - function testd8f7944e27cd1d56b95de916250ce4cdcc230b20c828aa82042d6d10aa445fe9() - { - $this->assertTrue(true); - fn() => ($test ^= $test >> $test); - } - function teste345be1f993c21feec04466466149cc2ae277d95ed62399e9b5d7f54b7da4441() - { - $this->assertTrue(true); - fn() => ($test ^= isset($test)); - } - function teste5076970d7ae18791f4388d3aa19eaf74604e460178667fe1c41cbbf8c2c77b1() - { - $this->assertTrue(true); - fn() => ($test ^= throw $test); - } - function teste604909a78d1016dc59e04ec6ea358b75775f98cd1a9b391f46df0d1f23b4cb1() - { - $this->assertTrue(true); - fn() => ($test ^= (bool) $test); - } - function testefa79afe839d5e4dfb77e483f03a81c5c04f00d6d5dac6397a8c47390f6574e9() - { - $this->assertTrue(true); - fn() => ($test ^= $test + $test); - } - function testf1fbf95444f8be43e11f45a9d9bfdae1e96b0e3bdaee0963f0d51245d323d7c4() - { - $this->assertTrue(true); - fn() => ($test ^= $test->{$test}); - } - function testf8f88d0f356903fbefe1766af275068e398caf404233d30850a4f3481c8055f3() - { - $this->assertTrue(true); - fn() => ($test ^= $test ^= $test); - } - function testf9e5a55ee79b858cdf60954725773f57f5b59e0eba0f60e60e1957630da5cd3b() - { - $this->assertTrue(true); - fn() => ($test ^= $test ^ $test); - } - function testfc4a3385461ec51c2be1e920cdbe14a6bec88b1a6442c4b6a758adb339b7251b() - { - $this->assertTrue(true); - fn() => ($test ^= $test >>= $test); - } - function testfdb1831699237b3b8a7d2ed9b6d26f60bfef106bafa3dedd3dde279f81993e0b() - { - $this->assertTrue(true); - fn() => ($test <= $test ^= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test.php b/testsGenerated/Target/Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test.php deleted file mode 100644 index e08a2223d..000000000 --- a/testsGenerated/Target/Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test extends TestCase -{ - function test005d7789f2fadfb189bc6080c701510f9b3cbc5fbfaf6e88f0fdd9e6fefba9c3() - { - $this->assertTrue(true); - fn() => ((double) ($test ? $test : $test)); - } - function test017d72d57fe0c184ef5ef156d2947e038ddd77f2fec91ff2b02696ad5efebbf0() - { - $this->assertTrue(true); - fn() => ((double) ($test ??= $test)); - } - function test01f848d5d894eac03bd8b32b71afcda32c9583dfa830f4468b1121777d581902() - { - $this->assertTrue(true); - fn() => ((bool) __CLASS__); - } - function test0c77a397752f6a5bbfbac50e81ad4fcad390910e76e5eecb408c2f766eff71bd() - { - $this->assertTrue(true); - fn() => ((bool) __FUNCTION__); - } - function test0e811b2d8f274760e62b1136f77f590158e79a6c164ee031cc5fd554554faf89() - { - $this->assertTrue(true); - fn() => ((double) ${$test}); - } - function test0f48a1b6b1dca23cbc24fd4a4008e44bd914a44144246e3d221be280023c2b00() - { - $this->assertTrue(true); - fn() => ((double) +$test); - } - function test104d53eb537a19aa4b4a9fe25500c3c0fbeedaae3ffb4099ff7466ef2f85fd80() - { - $this->assertTrue(true); - fn() => ((double) (print $test)); - } - function test174400733679eb76cdefc3fc3576d38e93aa728a002a94558805533bd6835ba6() - { - $this->assertTrue(true); - fn() => ((bool) ($test <= $test)); - } - function test19f233ff2ec496c1253e94975c189a1f133725300ba868f072a4ee1ac7b1aa72() - { - $this->assertTrue(true); - fn() => ((double) clone $test); - } - function test1a0b6c326f343fa7c0970a4e312387ed4e99a1b82e1fdb90a8ccb980e5f5f9e3() - { - $this->assertTrue(true); - fn() => ((bool) 0); - } - function test1cd592a34a7b6ec8f948a2dd6d7d84261d1180236095e2ebbf0857eea0925788() - { - $this->assertTrue(true); - fn() => ((double) ($test %= $test)); - } - function test1f2a521a359f91d7b9ad0ed123517efec3c9881ad726f50dbbae01e9220985d4() - { - $this->assertTrue(true); - fn() => ((bool) ($test & $test)); - } - function test1f7c9a590893fed43d01b58cb7e42d5685314ef3b9e5c675cdd56784b5a6f18f() - { - $this->assertTrue(true); - fn() => ((bool) ($test === $test)); - } - function test23eac0a63fa67df551ae931811b7d08f52c0c3a053c689a7bb16c88904e2f60e() - { - $this->assertTrue(true); - fn() => ((bool) "{$test}"); - } - function test260c24e050987065c29b97b985bf255ec6bfd4d0069781de514b4dca7d2438f2() - { - $this->assertTrue(true); - fn() => ((double) throw $test); - } - function test295db244786f509689b82da5e22e2f9c1f6269e603aa99bbf28f315c39e16468() - { - $this->assertTrue(true); - fn() => ((bool) 'test'); - } - function test2c5ef7493bfc87fc8b435f874186aab984960ca9277f45349d756b39d9787f34() - { - $this->assertTrue(true); - fn() => ((bool) __METHOD__); - } - function test38eb23e8658ccebea605d485390dda5e4544859dd14bffec2e87138cb28276ea() - { - $this->assertTrue(true); - fn() => ((bool) ($test << $test)); - } - function test3ae63bd06682ab07b5d99b11292083191a9ff328a9d61cb0316106dc75d60cb6() - { - $this->assertTrue(true); - fn() => ((bool) (string) $test); - } - function test3c5239f2bb043d17be938f36edf9db052a341fc31db7951b78cf2db9669a9e71() - { - $this->assertTrue(true); - fn() => ((double) ($test &= $test)); - } - function test4575d6ad06b1f61e1000de71affabaa7e4d22124491fd1c9eefeffac03599900() - { - $this->assertTrue(true); - fn() => ((bool) ($test !== $test)); - } - function test46e98113331a4149eda4ddece366d72cba195c24766c52fb1de2d1a72288d736() - { - $this->assertTrue(true); - fn() => ((bool) ($test / $test)); - } - function test48976c234e9c2f45b26dd0fb4ee7f6c3f295ada700f69c9501cba3576598d488() - { - $this->assertTrue(true); - fn() => ((bool) $test ** $test); - } - function test4d2110cbeee191b9d8417ce700044edba77581097a6ab10693f22159182496dc() - { - $this->assertTrue(true); - fn() => ((double) match ($test) { - }); - } - function test4fe8112f734ff713318364cca0ae9b7c227e5a74dfe506174529c053c2f25bd0() - { - $this->assertTrue(true); - fn() => ((bool) ($test and $test)); - } - function test52903c7d9d79fef7b0125462cd8488cf4ffc49766b6c71a71e1200d87fe67579() - { - $this->assertTrue(true); - fn() => ((bool) ($test % $test)); - } - function test558cb7f2c92a2808aef67e80040f35cfde89a7eaf8935b9d47bce6ad36e70593() - { - $this->assertTrue(true); - fn() => ((double) ($test = $test)); - } - function test55fa3bf9d6e1ebfd99c46bf0119434eecded64dedba37f2a5a9f84aa4aa23db7() - { - $this->assertTrue(true); - fn() => ((bool) ($test or $test)); - } - function test5a724a18fd417a66d96ec423b8fb18cf7fc41a5d238d9b641e8300d2951003c0() - { - $this->assertTrue(true); - fn() => ((double) $test?->{$test}); - } - function test5d8a420bdf7fcb5b3664e74c7a46b406520514926a53adbcf49a3559d24eb6ee() - { - $this->assertTrue(true); - fn() => ((double) self); - } - function test5e695e382b1e95e7051408397ba6895099169f16b178cfec1ad65f3fa0bf5caf() - { - $this->assertTrue(true); - fn() => ((bool) ($test ?? $test)); - } - function test5ee11fb0edf3bc6a8807f95940447eddc744e5662673b6cadbc8054dbe886edb() - { - $this->assertTrue(true); - fn() => ((bool) ($test || $test)); - } - function test62bad6535e9869eb6f9b7ff5f5b95ac525037d6b2427334b0dd2b3eb4a25b942() - { - $this->assertTrue(true); - fn() => ((double) $test::$test()); - } - function test63589827e3b8ea667412ff9ead65c4926ec44cf957117f4a91a88aee51499bd7() - { - $this->assertTrue(true); - fn() => ((bool) ($test * $test)); - } - function test63d1364809805d6b62ea5f7691b1c7df607ee36149bb6224415da3a031ca8c57() - { - $this->assertTrue(true); - fn() => ((double) (yield $test => $test)); - } - function test65056fba5fc2f7d951be5ffbda87adef9901bb752ccd449ac0b8ffd561a7f796() - { - $this->assertTrue(true); - fn() => ((bool) ($test < $test)); - } - function test6a3ac9977d0725ec76f2bde996f03f4db16ee230b11ee535adb45d6c550c73e4() - { - $this->assertTrue(true); - fn() => ((bool) (object) $test); - } - function test6d332d5df044a6543a9d34aff5666b0b6f0b2e8d5beb19c7ae9956e596815ac1() - { - $this->assertTrue(true); - fn() => ((double) -$test); - } - function test6d3c66b4c431a88bfc44db1a8abc6bb0921917debfba83eb778cfe45dc067d98() - { - $this->assertTrue(true); - fn() => ((bool) ($test <=> $test)); - } - function test6d3feee5588b90e4066dfb7fcef80d53eb703349fb87c801f59da3690d4817c7() - { - $this->assertTrue(true); - fn() => ((double) ($test >>= $test)); - } - function test70be1971a263cb10adc0f36ae8dbdbb436a7fd05b332d8cc7fea1c3cc3f9636b() - { - $this->assertTrue(true); - fn() => ((bool) ($test != $test)); - } - function test72f00cf39841d0171664a71ccc5ffc9010e79f37666235bc888a57f4966212e3() - { - $this->assertTrue(true); - fn() => ((double) isset($test)); - } - function test7a463b696e5ae628f9d393a20e8707b61460ee8148f1fffbcaa5b7079f88807f() - { - $this->assertTrue(true); - fn() => ((double) ($test ^= $test)); - } - function test7b451706a700615a15a3b9228d22a0bd1f51937e043d733ab4e2a1ee80182ba5() - { - $this->assertTrue(true); - fn() => ((double) ++$test); - } - function test7f16a11bc91ac88d6049cb7aa2ee62beccdadff20357162c332d46a6b714ec7f() - { - $this->assertTrue(true); - fn() => ((double) function () { - }); - } - function test854163b16961b112872425326d3e68c4e833e76f6e8d1e23e60f0262869fd2b8() - { - $this->assertTrue(true); - fn() => ((double) (!$test)); - } - function test87ac7ef01d661f5a21ea4a9c17a5c5f31d8538629f136445514c29eb7782395e() - { - $this->assertTrue(true); - fn() => ((double) $test()); - } - function test87c3aca41968e5ce94ad083ea68477fabee652a28e2b4d57925180401f7ab2b4() - { - $this->assertTrue(true); - fn() => ((bool) ($test ^ $test)); - } - function test8a692f8480d93369a626c5c75a22ee4af728498898ae48ade7a06fac7ff2cc92() - { - $this->assertTrue(true); - fn() => ((double) $test->{$test}()); - } - function test8ea74af4a8ba5089619ed497ee729d607b36e5bbb343bffc90c4f1308fa279dd() - { - $this->assertTrue(true); - fn() => ((double) ($test |= $test)); - } - function test909666d2d891287354023c331c910cd5145e45dbcedd13cbb3493b20860c261c() - { - $this->assertTrue(true); - fn() => ((double) ~$test); - } - function test934b53f2476a8ee95912f41fbe0422d4e026df3a5ce371a782d5c1d991536083() - { - $this->assertTrue(true); - fn() => ((double) ( $test)); - } - function test95471d07d902eaa5aafe93421a09460b3abd31c7d8fed5a4884be809a453d7ca() - { - $this->assertTrue(true); - fn() => ((double) $test++); - } - function test9a8f0a1bada37001014c13d2da2f5ecda54a31b1e2512328d9060bb899a4bcf5() - { - $this->assertTrue(true); - fn() => ((bool) ($test <<= $test)); - } - function test9ea1ffa55579df9995d1468a74b43e0f324d1d67098fb667911c7dc3d1d3ff06() - { - $this->assertTrue(true); - fn() => ((bool) ($test >>= $test)); - } - function test9ed14ddb8dbb5eba9988cd441c4f54b7a3ac122ee30db515bab7da26daccd801() - { - $this->assertTrue(true); - fn() => ((bool) ($test > $test)); - } - function testa0645e8b473761808716f6b38aef069b97af8006ca99f7e239e450e08444f938() - { - $this->assertTrue(true); - fn() => ((bool) ($test xor $test)); - } - function testa23645c89373d3573edbfca28b09712b252017f78fa261d9ed0d843728b63808() - { - $this->assertTrue(true); - fn() => ((bool) (bool) $test); - } - function testa25bc3f1f13fb90e4f7086c064c0d62ad391559ad916b8e60835e67f44a7df98() - { - $this->assertTrue(true); - fn() => ((bool) __NAMESPACE__); - } - function testa29ecae4a4ead31b3e52ba32cdf41b1c357c42e32a74bade08aa9267496bcf09() - { - $this->assertTrue(true); - fn() => ((bool) __DIR__); - } - function testa4d23750cc7d7253ca67529141f9ba24883d8e39b675a7c8013d8a499ee0f9d1() - { - $this->assertTrue(true); - fn() => ((bool) 0.0); - } - function testa65e5d1e805a69f950deefcb75bb4c92245833e5fb1e42b2de90c8ce754d0244() - { - $this->assertTrue(true); - fn() => ((double) $test[$test]); - } - function testa75896c97c36835015204a8e14396a4b21eff614f59291ee0a6e9ae5de214918() - { - $this->assertTrue(true); - fn() => ((bool) __FILE__); - } - function testa96a4a3a86e475f150663e96a12935c4bda51c2937b058a1f56864f7b3cd8f33() - { - $this->assertTrue(true); - fn() => ((double) $test::${$test}); - } - function testa990c8a6a79e21aa8e4f618f4f23370aa1b4023af4746e6f18a236482c3993a8() - { - $this->assertTrue(true); - fn() => ((bool) (int) $test); - } - function testac119f0d35a99a5e98764d3f5b685b0e548e1144901a843b586c49800f0a7e4f() - { - $this->assertTrue(true); - fn() => ((double) ($test =& $test)); - } - function testaccf3361f694e8217323067471cae3c938301d90d8011fc66377181aabece153() - { - $this->assertTrue(true); - fn() => ((double) eval($test)); - } - function testb08c2b15f10f620a95f426d1cc07fde568655af5c84e17554bff9d344b692d96() - { - $this->assertTrue(true); - fn() => ((bool) ($test **= $test)); - } - function testb26ae741ae2261d04eb1142566e067f1524abd2b954af1986a4bbfa39f5ff615() - { - $this->assertTrue(true); - fn() => ((double) new $test()); - } - function testb35e3b6923917be302cdfc6e1b9f41d5dc66e6d1fd353c16344cad64bef5531e() - { - $this->assertTrue(true); - fn() => ((bool) ($test . $test)); - } - function testb547b2e1b7d0014543435a40942057221aaf516347f524f4472027ce83992670() - { - $this->assertTrue(true); - fn() => ((bool) ($test >> $test)); - } - function testb5b7f7397cbb09a6983fc209eb2f7041d7ab51209008578019be55627caae770() - { - $this->assertTrue(true); - fn() => ((double) ($test /= $test)); - } - function testb67123416727404db09f0d582b902422deb8d387615d85f824013b2cf08ff856() - { - $this->assertTrue(true); - fn() => ((bool) __TRAIT__); - } - function testb6b27755de968b81b8ea1a25454eca6205438dc6988d30042d4fa4c5683c1391() - { - $this->assertTrue(true); - fn() => ((double) (yield from $test)); - } - function testb719e63e08d629114bf9a20c3616eb4518eca73406b82f191f6e66587c5faf14() - { - $this->assertTrue(true); - fn() => ((bool) (array) $test); - } - function testbb15d0532896ba431d98db8e1389e7d6bb51fd4241b543c86b4ed71bdb918fcf() - { - $this->assertTrue(true); - fn() => ((bool) ($test - $test)); - } - function testbb5393262c6a5a3ec294a626bc7511d34946cc71319220a41bb1700ff19fd306() - { - $this->assertTrue(true); - fn() => ((double) []); - } - function testbeedd96fd3d0ae5ad7493c7554eea4ce5e008c9e02ce7d24fbed4c4d01eff52e() - { - $this->assertTrue(true); - fn() => ((double) --$test); - } - function testc4d67ed789acd5523d78b29118d28b2a97c64be33ed240feab0aaa54b7bce2dd() - { - $this->assertTrue(true); - fn() => ((double) ($test instanceof $test)); - } - function testc4e596576a325b66f0117752eba0dbe66efb53d7689189160d51efbfb0caa289() - { - $this->assertTrue(true); - fn() => ((bool) (double) $test); - } - function testcaaa00f0c14b1045f4b001e9bdc615026e50ec8adc351ff4c7d3fab59c5e69e9() - { - $this->assertTrue(true); - fn() => ((double) ($test += $test)); - } - function testce683a0127a6b43ec0db27108399c9b86558a3c6222de8dba6a258786047865f() - { - $this->assertTrue(true); - fn() => ((double) $test); - } - function testd299b90a3ebfb38a4c4938451ba3407ab4c30b7df9cbcf7c1e9de2dfdff181ac() - { - $this->assertTrue(true); - fn() => ((double) $test?->{$test}()); - } - function testd8ab0486451b4b02da64f86d91615fcf1cc83398fa00d92eb2169ef3642ceebe() - { - $this->assertTrue(true); - fn() => ((double) @$test); - } - function testd8ead083d47d568c7d3a2fc3afba5a118fec96365c298ba3c8d270888b494c9a() - { - $this->assertTrue(true); - fn() => ((bool) ($test == $test)); - } - function testd96c27cc14e9528355ed69a721212bc8c258aaf80ef94f6ee6626cdd2316368d() - { - $this->assertTrue(true); - fn() => ((bool) ($test + $test)); - } - function testdad56bbf2fa8529ded5db74019fe95ac518759ed372f4f3a8bca77b997345500() - { - $this->assertTrue(true); - fn() => ((double) $test::$test); - } - function testdb2e086f4be43e074a7d0000138655a8c48f92ab307e61f51fb421fdd38f895f() - { - $this->assertTrue(true); - fn() => ((bool) ($test | $test)); - } - function testdb965bdfe829192c8e1939e3529d6852d21fdb0e6e14c06df48e82b9c9145446() - { - $this->assertTrue(true); - fn() => ((double) ($test .= $test)); - } - function testdcb62854720f15440c85b9b356d1b78fe7bb13c63ec4a1f279129f651b6ac37c() - { - $this->assertTrue(true); - fn() => ((bool) __LINE__); - } - function testdeb5e9e595e0448c2b9e5d9d9d7c90d291670c8c5e3b134048c77a611f9bf0cf() - { - $this->assertTrue(true); - fn() => ((double) ($test <<= $test)); - } - function teste0567985f80d6769ae0c20f5df2ff501ed8d0a9a16a2a926783a9cb1c5eb40cf() - { - $this->assertTrue(true); - fn() => ((double) empty($test)); - } - function teste815b56e225a915aa3533c3246df3a8560c52b77fa5d6ec9c6955e5bd42c706d() - { - $this->assertTrue(true); - fn() => ((bool) ($test >= $test)); - } - function testec1cd9c37a45962cf08c4b06f15682f2948482182051158cbeb645db9a99a6a6() - { - $this->assertTrue(true); - fn() => ((double) ``); - } - function testef9962344e62f3e2b6e04135118271b2e1383efa138af4a80420ad15cbc10d7a() - { - $this->assertTrue(true); - fn() => ((double) ($test **= $test)); - } - function testefa32a9425bbede7b17d5a7027edf08f203c565439d971e5370655fb8332eb53() - { - $this->assertTrue(true); - fn() => ((bool) ($test && $test)); - } - function testf4b687e558e4dc24b59494af0c876c08d59e08b84650a6d61a697d78234868c3() - { - $this->assertTrue(true); - fn() => ((double) ($test -= $test)); - } - function testf513cf3680b3b3b1aa91a3f230c1ac66a4645865f276f86ff35082ad0e8efc68() - { - $this->assertTrue(true); - fn() => ((double) ($test *= $test)); - } - function testf75b34444e3aefd613dd901ceae95ed8f032e737f910b4e6ade1d769b9713d5a() - { - $this->assertTrue(true); - fn() => ((double) $test->{$test}); - } - function testff9f3892d8342b8b121315bfd0570ad95000b8434e4b2c407030050e11f5ec57() - { - $this->assertTrue(true); - fn() => ((double) $test--); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test.php b/testsGenerated/Target/Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test.php deleted file mode 100644 index 5d982fa82..000000000 --- a/testsGenerated/Target/Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test extends TestCase -{ - function test053d6b01d0d2ee09865d2d134f8b2efd83b05ef71d65ba8d0c161daa04682c70() - { - $this->assertTrue(true); - fn() => ($test !== $test)::${$test}; - } - function test0568c6cfcdbb385004c8b669909f017ec9741977a14acac8aaa1a45fc7a6267d() - { - $this->assertTrue(true); - fn() => ($test |= $test)::${$test}; - } - function test0c6fd5c2db91f2cedcf12d0cfa72967fcef40f5b71091b8635d4aabe0f97daf8() - { - $this->assertTrue(true); - fn() => ((yield $test => $test))::${$test}; - } - function test0cf75a36f1c2a7460cd6afcfde6aa9c3f22cc6323da3b4af8883567bbf4f0ef2() - { - $this->assertTrue(true); - fn() => (-$test)::${$test}; - } - function test10ce2b5e2f25d024ab9749cc09d95f896ace7a2afa3907298f3c23d6b377276b() - { - $this->assertTrue(true); - fn() => ($test == $test)::${$test}; - } - function test13ad236e0b9859f1d7aa958b43149df1c866967a6112c7ae210aa26f1aa259c4() - { - $this->assertTrue(true); - fn() => ($test % $test)::${$test}; - } - function test153a5b39185d65ca77820f3f8fe9f19dd8ff527d1f4399cb85bec6662d3919a8() - { - $this->assertTrue(true); - fn() => ($test . $test)::${$test}; - } - function test15421527e4b85c05b4fd1487469319ee23b64871474e10848d495d83d95a1360() - { - $this->assertTrue(true); - fn() => ($test or $test)::${$test}; - } - function test16ef44bb136204f35960f59e16328342450e04f88621bb300758ab0a5ce2e848() - { - $this->assertTrue(true); - fn() => (isset(($test .= $test)::${$test})); - } - function test1bda5f17de8f9c254bbb999de6754ba959ade3e3669a26c8978c5779b3e80a45() - { - $this->assertTrue(true); - fn() => (isset(($test || $test)::${$test})); - } - function test1bfce33da3732bf58d54cb342568eb175d01aa00259ea056fb32bb560f8cd15e() - { - $this->assertTrue(true); - fn() => ($test / $test)::${$test}; - } - function test24b22674555130c9b6feb41c678ffe408d879ea8485b583fbe0fee61be68684a() - { - $this->assertTrue(true); - fn() => (isset(($test | $test)::${$test})); - } - function test24f4a9d2540c85ed33648fc065578e5d0d5dd6c6b760cb25f5aa2dd578edeb25() - { - $this->assertTrue(true); - fn() => (isset(($test += $test)::${$test})); - } - function test2983d66883ea8b5cb3c34d5bc2f3c8f5eb360845722d69fbdbdb74c6f8a4b387() - { - $this->assertTrue(true); - fn() => (isset(($test &= $test)::${$test})); - } - function test325a4ab45b143f1bfdbbf9044b5f7ac839ea4c3598f7ca6b6574b9739a06c638() - { - $this->assertTrue(true); - fn() => (isset(($test **= $test)::${$test})); - } - function test33d3652bac48082170ba4c319624a2631d53f15b87c17b48377dd0c329dc1ef3() - { - $this->assertTrue(true); - fn() => ((double) $test)::${$test}; - } - function test34c7a3525616dc2919fc7ce842b6d48c752e1feee8e29c41fb281123ffdd5d2f() - { - $this->assertTrue(true); - fn() => ($test *= $test)::${$test}; - } - function test3625aec7665a39410d3a78981259ce85c45efa979794e231765a05c3905dfc6e() - { - $this->assertTrue(true); - fn() => ($test < $test)::${$test}; - } - function test36e5ef0ec828987dc0198e9b5b8b24c96a1942408efa36cddc6c23897c67854a() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test)::${$test}; - } - function test3d6bbbb565144823f8e2809a40e264b405511454191cd51eb4295fe3965de615() - { - $this->assertTrue(true); - fn() => (isset(($test <<= $test)::${$test})); - } - function test4021605811f69a8916097f833b1124d051cc19c384fe408d54bae680a0bc6f7b() - { - $this->assertTrue(true); - fn() => ((array) $test)::${$test}; - } - function test40af7bb23d06e2c30389b9ee6022bcc8c6486d6349c404ca79bf76d5c7b7088d() - { - $this->assertTrue(true); - fn() => ($test + $test)::${$test}; - } - function test446254728be88ab6f52c910c7e55bddc72417337b5adf80156eed71a4f5457ad() - { - $this->assertTrue(true); - fn() => (isset(($test != $test)::${$test})); - } - function test452cecb40fb0ee12c24813007b84be7438f9c0d64d4b75218ce834196cd2a8f4() - { - $this->assertTrue(true); - fn() => ($test and $test)::${$test}; - } - function test466f1ccc4c670d73b1664484a21c70f8fed5d94abf846c25caf6fefebf6ef453() - { - $this->assertTrue(true); - fn() => (isset((-$test)::${$test})); - } - function test493b4cfe5a3eab5ad2a98135808bbb42505e8f86d5fcfb43177c2a0257d844aa() - { - $this->assertTrue(true); - fn() => (isset((yield from $test)::${$test})); - } - function test503ffd40cd2ca6de3bfdac604b865e250ef6d7c3591bc29051874cb2fda1636e() - { - $this->assertTrue(true); - fn() => ($test xor $test)::${$test}; - } - function test5656b5858ffaa6e21e7400a503859d0c46002fbf01c1a3871d5a0600faf3cb60() - { - $this->assertTrue(true); - fn() => (isset((+$test)::${$test})); - } - function test597134b8b8931e34dc16131899d6f32a6cd3811fc7acd76ca219382d8ea07d83() - { - $this->assertTrue(true); - fn() => (isset(((array) $test)::${$test})); - } - function test5b953047a866a93e9831aded7cbd0692891f5afc98d069eb28e071cfb2444a15() - { - $this->assertTrue(true); - fn() => ($test **= $test)::${$test}; - } - function test5ddba5becf99fc51c6e4bdd34fbc698740776a1b654000599ab7dce165fd0777() - { - $this->assertTrue(true); - fn() => (isset(($test & $test)::${$test})); - } - function test62c394042aee17904a98bf0c8d70f766327a0f6f76686956e9c2cd6293365f6a() - { - $this->assertTrue(true); - fn() => (isset(($test && $test)::${$test})); - } - function test69862551c00bf6d5aa912cbd2e7aaea5c9eabf2be3c55a83e3de606c9511c0be() - { - $this->assertTrue(true); - fn() => (isset(($test >>= $test)::${$test})); - } - function test6edbc0699be557fdc5ce8cdb1d06c213877da3703df675b97c4e6cf34858349d() - { - $this->assertTrue(true); - fn() => ($test ^ $test)::${$test}; - } - function test711cc2ff508b3a6d7c893f678d9751791dd2d362a1a40b5b0293a7ef9d0ce926() - { - $this->assertTrue(true); - fn() => (isset(($test !== $test)::${$test})); - } - function test7bf412cd5e5a511c94184365e2aa210a38f3d426800462437429b9921d59c07e() - { - $this->assertTrue(true); - fn() => ($test ?? $test)::${$test}; - } - function test7ed9cf7d452f49c69057ce0b3bfe976a96d79dec6be4b8385a07b553ec01fe58() - { - $this->assertTrue(true); - fn() => (isset(($test and $test)::${$test})); - } - function test7f1f5bb597a397037397e91556d5a376276a6702aa46266102eb00f6897d7e72() - { - $this->assertTrue(true); - fn() => ($test || $test)::${$test}; - } - function test7f2a59beea80db44a4557689c207956c30a9c5015c7af44af0f06d6eedb3f53f() - { - $this->assertTrue(true); - fn() => (isset(((double) $test)::${$test})); - } - function test81d47115c933856ecba3dce72ffe5d30f01e71296c24aeb724878df41ccb90fc() - { - $this->assertTrue(true); - fn() => (isset(${$test}::${$test})); - } - function test87092ec86458b2d44ebfe16fe58c550c7f733bdb57060ca3c7f34007687ae832() - { - $this->assertTrue(true); - fn() => (isset(($test + $test)::${$test})); - } - function test87de0feb1f887b9cde3204fe8a00cb742eea9eac4f636df816a59e2c41e5aa53() - { - $this->assertTrue(true); - fn() => (isset(($test ** $test)::${$test})); - } - function test88242007c345f0702d6e78a2f6801765bc819391387315c569c21863cea07fd8() - { - $this->assertTrue(true); - fn() => ($test >> $test)::${$test}; - } - function test892c0b97f7ec208ce3bb35ebf28d2927718b3a06353bd54470a5ad1a15165234() - { - $this->assertTrue(true); - fn() => ($test .= $test)::${$test}; - } - function test8c0a8d3cdfe72052c6fa5d2bfb02ecdbfce16ee6274950bdbbca31795fd2d71d() - { - $this->assertTrue(true); - fn() => (isset(($test ?? $test)::${$test})); - } - function test8d159c4367f716049e5a41933befef92ea32d3cc57b5c972f61947e0d486e890() - { - $this->assertTrue(true); - fn() => (isset(($test ^ $test)::${$test})); - } - function test8da5c89422030571b6c811f307778f9bb5197b6b18b79889314539ce1d9fb447() - { - $this->assertTrue(true); - fn() => ($test === $test)::${$test}; - } - function test95b4fc595b7eeaded74e719159598cb05ff3dd10967f61469266518cf7caf8c3() - { - $this->assertTrue(true); - fn() => (isset(((yield $test => $test))::${$test})); - } - function test9b02f49a7e05c5936cd451126e18e157d0b0d667742e2e1e15c5d5bc199e4531() - { - $this->assertTrue(true); - fn() => ($test -= $test)::${$test}; - } - function test9f824ca244e66adc7e0ac35c489cb0ff1ba3cfb7e5e306cbf7a902abd32daf95() - { - $this->assertTrue(true); - fn() => (isset(($test << $test)::${$test})); - } - function testa182721e54c3703f99c0f52b2418057b397c77d3c21ea0f7b284b314bfe070d0() - { - $this->assertTrue(true); - fn() => (isset(($test xor $test)::${$test})); - } - function testaabd7b0ef63e616a850e79e038e1f02c7ed81cbf11c6ee8df06833be69bf6d4b() - { - $this->assertTrue(true); - fn() => (+$test)::${$test}; - } - function testab352e4dade675ffde230fa18b19a766078cdee8f4f29e8e456667e4efea0d0e() - { - $this->assertTrue(true); - fn() => ($test ** $test)::${$test}; - } - function testae48914ccfdc855d0b4360b92766550531724281565954ed97b25672220b5955() - { - $this->assertTrue(true); - fn() => ($test >>= $test)::${$test}; - } - function testb2da3e8de9dbc7cc1f927c9cb04f2fac154de813a1cae399aecfca8d7e9bbb30() - { - $this->assertTrue(true); - fn() => ($test | $test)::${$test}; - } - function testb31ba2d69aecfa45fec21712254cdd6e3ae8e57ca6bddc0a9400706d3fc41f3b() - { - $this->assertTrue(true); - fn() => (isset(($test / $test)::${$test})); - } - function testb3a911e9278bd03c72270333db4ef0687460753a716d8c0e5b637584355c495a() - { - $this->assertTrue(true); - fn() => (isset(($test %= $test)::${$test})); - } - function testb3bfc64268fbc366ebfe6a1256800bebb204d21ad23ac61a1befe07f84c99227() - { - $this->assertTrue(true); - fn() => (isset(($test *= $test)::${$test})); - } - function testb448947d63c477fa486a57a56098ebded277d9a1d65bad745729bd7fb74efd65() - { - $this->assertTrue(true); - fn() => (isset(($test ^= $test)::${$test})); - } - function testb59767449fbb12f8c3568a0f1dd52fa8c8a919c6c5d00dd5f531e811f8b17214() - { - $this->assertTrue(true); - fn() => ($test << $test)::${$test}; - } - function testb5c0d13c88d6d23fcf12a1009fc3f60e9f4984981ed543a56cde18511d17ede4() - { - $this->assertTrue(true); - fn() => ($test ??= $test)::${$test}; - } - function testb5fe7e8fb1eb5fd801a20d277ed5ba760cfa816e1c00faab31e1d4c610ef59ce() - { - $this->assertTrue(true); - fn() => ($test <= $test)::${$test}; - } - function testb6141dd9347387f7207e107fb50cbbe009517d46c1024d5f2ceafac2ffe805de() - { - $this->assertTrue(true); - fn() => (isset(($test * $test)::${$test})); - } - function testb9b19cc9d69ee8efe4dec87b8e2e8f8f8c9886e45c1045e631ac11b4dc46605b() - { - $this->assertTrue(true); - fn() => ((int) $test)::${$test}; - } - function testbbea101665fda25582861aecf6272e978e899c47e063ac18b645d0f8b458ce6c() - { - $this->assertTrue(true); - fn() => ($test >= $test)::${$test}; - } - function testc0b4f7a0e25cb861114daae740c89171e4d01e9fda71e458021aede5e791482e() - { - $this->assertTrue(true); - fn() => ((bool) $test)::${$test}; - } - function testc3a3a6f96bd3ae7b4977e4f2485e04a11b8c50091b8efeb4e34bd44f6d4d10da() - { - $this->assertTrue(true); - fn() => (isset(($test <=> $test)::${$test})); - } - function testc580e7bb53b6bf6d532abbc2e1d81adcbc6f5270f6a3c5e05615098d20c5d355() - { - $this->assertTrue(true); - fn() => (isset(($test - $test)::${$test})); - } - function testc83d91c70ec09cbdec53cdb80395b7f24c70086092c87ac1c85eb2532cd74d60() - { - $this->assertTrue(true); - fn() => (isset(((int) $test)::${$test})); - } - function testc89c6162b36a20cfb26167ab385a6f9c3c743c328017843e40243ea2363c03c9() - { - $this->assertTrue(true); - fn() => (isset(($test == $test)::${$test})); - } - function testcad9585c218ace936e717edd90535a116284e734cc0298ac012030fdfdd8e107() - { - $this->assertTrue(true); - fn() => (isset(($test ??= $test)::${$test})); - } - function testcc6029cb656ba4144b5ced6fdb97632f982520eac819ab9be9f8817b8a6fc3b9() - { - $this->assertTrue(true); - fn() => ($test != $test)::${$test}; - } - function testccf4ecb424becbcc22ac4b3edcdbc2f0d864c5ee08c39683ef69553f3896e93a() - { - $this->assertTrue(true); - fn() => ($test %= $test)::${$test}; - } - function testceac74a4960967eb8ea7b0c9c0ceeab06bf2c8bf88a3a826df111f71879d936d() - { - $this->assertTrue(true); - fn() => ($test += $test)::${$test}; - } - function testd0b7e91abf3c2b095b2d0338bd7b3ea66f67a5aad1db218e79b47378250cd959() - { - $this->assertTrue(true); - fn() => ($test && $test)::${$test}; - } - function testd22bc2f256e6bdfed9dbc5f73d22bf16f7ad04a93b150a5a404a77e0f9832a5b() - { - $this->assertTrue(true); - fn() => ($test ^= $test)::${$test}; - } - function testd363d19ff9e5c50a8227116e7476a7348431226af46a20b66babe24b99d938b9() - { - $this->assertTrue(true); - fn() => (isset(($test . $test)::${$test})); - } - function testdcf48f876fdd455f5fef5e166803821ea1af7dfcd4a648c78e2f4a8af76c5a67() - { - $this->assertTrue(true); - fn() => (yield from $test)::${$test}; - } - function testdda7bc9afe4b1cceedae2b658da7ea59e563eba80215bc33df15bac442e2ccb3() - { - $this->assertTrue(true); - fn() => ($test > $test)::${$test}; - } - function testdf3954deeb834b5f3a825072740e1d344ab773eb9e5ac6a55432044b257a356b() - { - $this->assertTrue(true); - fn() => ${$test}::${$test}; - } - function teste023cd3c04b8d1e5962401dfb80471b1768dd345b49888632216459c8d6d3d3b() - { - $this->assertTrue(true); - fn() => (isset(($test > $test)::${$test})); - } - function teste06618660750ac0ac2917320697f0d8f9a274418610735d5164837d20a07d89a() - { - $this->assertTrue(true); - fn() => (isset(($test === $test)::${$test})); - } - function teste1247d6d4e9b1ebcff3d57e0fafc2780276c2a67db7cf673137c150d513aa3e3() - { - $this->assertTrue(true); - fn() => (isset(($test ? $test : $test)::${$test})); - } - function teste24725607142979c45db3517e56b791f21b5712e41e60e2cd4deae62c994c2b6() - { - $this->assertTrue(true); - fn() => ($test &= $test)::${$test}; - } - function teste2521b8e088a1e80dbfe18bb9ca6137907ba56a516e8c7554f83d48e538ec793() - { - $this->assertTrue(true); - fn() => (isset(($test >> $test)::${$test})); - } - function teste47f59015fc6c0dd00283bd2edd3f103b866804bfbb849292502a9611aed761a() - { - $this->assertTrue(true); - fn() => (isset(($test |= $test)::${$test})); - } - function teste575c89e8765600a65ca53a3a6f541234bdb9027aa5156f752d2be12ce7f5dd8() - { - $this->assertTrue(true); - fn() => ($test <<= $test)::${$test}; - } - function testf15f84af38463309a6996209b8bad3d39649f8ce8580c75c0c9a8b68684dd6ab() - { - $this->assertTrue(true); - fn() => (isset(($test or $test)::${$test})); - } - function testf2682bab178d46de97acb7c798e82bc651e47677f85d921e368e6d1a6c3fd383() - { - $this->assertTrue(true); - fn() => ($test <=> $test)::${$test}; - } - function testf3a168103405f10b46e11a5733f779896575654f35b0e30a64f61036f4e79443() - { - $this->assertTrue(true); - fn() => (isset(($test /= $test)::${$test})); - } - function testf4eeeee3ddbe400eb04b767db0ca024ed68a7cf8e3f80aa6c62e04668837900d() - { - $this->assertTrue(true); - fn() => ($test * $test)::${$test}; - } - function testf53c9cb0336d6822a8dd877aed0d35ce288d45d6ba50aa60ca8382792ccc530f() - { - $this->assertTrue(true); - fn() => (isset(((bool) $test)::${$test})); - } - function testf56af486a3797452bac5433a062438d42ff33e16d7064e8d1005ea00c82f4b53() - { - $this->assertTrue(true); - fn() => ($test & $test)::${$test}; - } - function testf9b1679f0490dedf6f8fbb69a3f066cdb9f6acb0d8186f9ab162e95b4e8f0132() - { - $this->assertTrue(true); - fn() => (isset(($test -= $test)::${$test})); - } - function testf9c88daca92e51b18616819c8faa932ba6a04516ea5194d8d98dca8d1ebb115a() - { - $this->assertTrue(true); - fn() => (isset(($test < $test)::${$test})); - } - function testfb7e6b20019fcafe2448dd9e54e24bf995705321bd07ce03cf49829fb003c1a1() - { - $this->assertTrue(true); - fn() => ($test - $test)::${$test}; - } - function testfc2bc88824cc5cc3020672d4e62081cd14f1c8ed1fb78113c03ebbb5f55c8d0e() - { - $this->assertTrue(true); - fn() => (isset(($test >= $test)::${$test})); - } - function testfd195ffdd2b9960bf6a0a23c38c71fb4d5bd2d9acf0c932ebfa53ffaaa7eb77f() - { - $this->assertTrue(true); - fn() => (isset(($test % $test)::${$test})); - } - function testfd6ad5e9b752d8d80c32b74299d03021cac33cf9c9e81941b97ec8d266294dfd() - { - $this->assertTrue(true); - fn() => ($test /= $test)::${$test}; - } - function testfe49c5e25b3dd997896b801226386e54b42dcda83d59d9f715d9d9c7ceda40ea() - { - $this->assertTrue(true); - fn() => (isset(($test <= $test)::${$test})); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test.php b/testsGenerated/Target/Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test.php deleted file mode 100644 index 80238421f..000000000 --- a/testsGenerated/Target/Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test extends TestCase -{ - function test019bc160056b3e07a19f17906366dccc21ef89ae967d966597d5edd043577365() - { - $this->assertTrue(true); - fn() => ((int) $test); - } - function test0265b57473442c6425a0533684b694ebc3b209fd05d9f6b32db18ecd6586d8a5() - { - $this->assertTrue(true); - fn() => ((int) ($test & $test)); - } - function test053161fe3c95389cc90847db82a97207aa2296916e8c3f6bece2b1bf193e211b() - { - $this->assertTrue(true); - fn() => ((double) ($test % $test)); - } - function test05afdead8581b8d402a31e552dd5e9ff3916d61a95074ab54654d4016bf61ac7() - { - $this->assertTrue(true); - fn() => ((int) match ($test) { - }); - } - function test0c868b6e9c3780655967653bcdd925dcf71988de96a769cb0eed5cd11e1580f8() - { - $this->assertTrue(true); - fn() => ((double) __DIR__); - } - function test0e9accee1e6128d44e971976e5145e996e941661db1d5416a2330eafc3857cf6() - { - $this->assertTrue(true); - fn() => ((int) ($test .= $test)); - } - function test11ce4215902ef828307507bc6a450b2be67b5d2517f1219dbd05c382c666e3cd() - { - $this->assertTrue(true); - fn() => ((double) __METHOD__); - } - function test13f708e39e2bc78d78ad6b3ddf526294e9d62656162979a1de1b9bba3d447062() - { - $this->assertTrue(true); - fn() => ((double) ($test xor $test)); - } - function test1db99d3d32aa5f83182d8559be5d696fb4df0d4be7b21f2030b41e1b4abaf7ea() - { - $this->assertTrue(true); - fn() => ((double) ($test && $test)); - } - function test23edf09d322db00a0c0f7cbb3b4b181330428da68a936b45b3e6ad9ff2354751() - { - $this->assertTrue(true); - fn() => ((double) ($test * $test)); - } - function test2cf3c7725d1dec11f5d86d51dadb7a081c0acad3e89d20872bbfe30ebf7b8225() - { - $this->assertTrue(true); - fn() => ((int) @$test); - } - function test2d53aef530687503f9439391497939aee701ec5fbedfc473dae0221da68d4302() - { - $this->assertTrue(true); - fn() => ((double) __LINE__); - } - function test315afa7456cd1d2ca29fdf3f3293b875aa61067628d64cb0d6e0681374a4612b() - { - $this->assertTrue(true); - fn() => ((double) (double) $test); - } - function test3388496e323849e2bf76acfb1a7cc18cdb0a8b05e259f359f457c43273953a2b() - { - $this->assertTrue(true); - fn() => ((int) $test[$test]); - } - function test443d6f8f58d858424a337fab6b89629767d34254a2d7e55aa5bd15bff41180e3() - { - $this->assertTrue(true); - fn() => ((int) $test::${$test}); - } - function test444dab715d6228ef69aa4c17a50f22bfc6035e1676cf17ee4f3337bab36442ce() - { - $this->assertTrue(true); - fn() => ((int) ($test ^= $test)); - } - function test45c8509a1b3e0909158d18f0cba064624cf3ed2b67d41ce1029ab71e6673e142() - { - $this->assertTrue(true); - fn() => ((int) $test?->{$test}()); - } - function test4d75316a5a31f6eaaad5087f586d9f389ddfaaa2901f8119c3084f5ceb25f006() - { - $this->assertTrue(true); - fn() => ((int) ($test /= $test)); - } - function test4e6fd33e68b6e73692874914466dbf63627322d59ccd5dfa1a748c69f60d72c3() - { - $this->assertTrue(true); - fn() => ((int) ${$test}); - } - function test50157b7d7d46f32ca3444770f5fece0dce40c96cc730d08299d64e4c55f8fba9() - { - $this->assertTrue(true); - fn() => ((double) 0); - } - function test508573c1b7e38a8b272b50ec73175e757d51b852d2450b847ee251a6bccb642e() - { - $this->assertTrue(true); - fn() => ((double) ($test & $test)); - } - function test51ddc7248a69037aec80f22cc61e7504232ab729023f04d0a4b6f0148f13a602() - { - $this->assertTrue(true); - fn() => ((int) ~$test); - } - function test52c6c03711b266e7671fa7342b141bebb812604bca634e89bfd9c56b1a7801c8() - { - $this->assertTrue(true); - fn() => ((int) ($test &= $test)); - } - function test56e1d81a16281cc69579e38a241bd93aed2da39ee14c5a2093b7b1eee8e93fb9() - { - $this->assertTrue(true); - fn() => ((double) ($test >= $test)); - } - function test57e1033f89e3f4e03ca7e7503ad8331f6b4820459f01f617e9c25a46f8a14143() - { - $this->assertTrue(true); - fn() => ((int) (yield from $test)); - } - function test58aa5e097bb58c2423264ed45144a1699f3c99943df07bab28935190192ba3a4() - { - $this->assertTrue(true); - fn() => ((int) $test::$test()); - } - function test592806376270d7e6730bd64bf4a4a616085ec9987329878fdf45c8507ff3e66f() - { - $this->assertTrue(true); - fn() => ((double) ($test <= $test)); - } - function test60731ddcbbc3e0383f4b55e6cdd4dcf9958180960a9b51e339228f6e00ecf7a3() - { - $this->assertTrue(true); - fn() => ((int) $test::$test); - } - function test6177fcf518e759076f865f7cf1559c8afc92a21db5286115b2a82d3b631c63e3() - { - $this->assertTrue(true); - fn() => ((double) ($test + $test)); - } - function test6628a10292158fbe305fd38251982c159f1d2363ba490acb6b4c97d4efa19ba7() - { - $this->assertTrue(true); - fn() => ((double) ($test and $test)); - } - function test683b1be1af5e220625307ca96ddf034617555359c1722ba13c8bea5cccd28e12() - { - $this->assertTrue(true); - fn() => ((int) function () { - }); - } - function test6a5d0407d3608552be9c02f2f6003a6c4668ae3b07f0afef37c289693cc8861d() - { - $this->assertTrue(true); - fn() => ((double) 'test'); - } - function test6fb94eb6160b6e1c2f6feb216878651e7cd4ad33a74399ce8467488f593c0bd1() - { - $this->assertTrue(true); - fn() => ((int) ($test ^ $test)); - } - function test74dd2f64e67b1a69bf60f549c1e898d884813c232ec3cb8e080b6870efdc5750() - { - $this->assertTrue(true); - fn() => ((int) ($test ??= $test)); - } - function test756df2a9a989bd21e894ea2dad093423786368086103ae164eddf7b0f48bcc7a() - { - $this->assertTrue(true); - fn() => ((double) __TRAIT__); - } - function test78ef1f9fabf09c8866b715380ae0e3a258129181f7b471c58360edacab9dd68c() - { - $this->assertTrue(true); - fn() => ((int) empty($test)); - } - function test79777d82990a970fea65452a663474af6a1763c13a49d24734bcbba4f58b0d4c() - { - $this->assertTrue(true); - fn() => ((int) (!$test)); - } - function test797ccecbd384f37193a958d594e85d725b0169751f3b9d23fd63a239902baa99() - { - $this->assertTrue(true); - fn() => ((double) ($test - $test)); - } - function test79e956e7f7697a96ef0189c870bbeb86e0f0deb7851f0b0c3112b2d371ee27cb() - { - $this->assertTrue(true); - fn() => ((double) ($test | $test)); - } - function test7bd9329c49b06d2a38e8227172dfbded6500daeb4290640af9fb16d046464f3a() - { - $this->assertTrue(true); - fn() => ((int) (print $test)); - } - function test7d8b66a63af146171da859c6383cd82e571cd06b0d0353cba40c0cd95f893565() - { - $this->assertTrue(true); - fn() => ((double) "{$test}"); - } - function test8174136928f6f5c23ebd086286bc9e14c0baf197e370cb976ce4a3ddb5c6772e() - { - $this->assertTrue(true); - fn() => ((int) ++$test); - } - function test846855fe4a48afaad1990480af8cd6c25851dcd77ac669ad657fc56489eb4da9() - { - $this->assertTrue(true); - fn() => ((int) ($test = $test)); - } - function test8522f186663b02ed0d362280ffba7b8fcbdfb5c3cf6edf004f0d40c9bf28b755() - { - $this->assertTrue(true); - fn() => ((int) []); - } - function test8bd613f0a394976d9644a76a959bcaf5aa3c980cea8f078b4d91dce4e87d13da() - { - $this->assertTrue(true); - fn() => ((int) +$test); - } - function test8bfc46dc3c11a7488ddffff90d9f41667270acf50716417f13b318e7285168dc() - { - $this->assertTrue(true); - fn() => ((int) eval($test)); - } - function test8d95b3857efd2608e17bf3f0273b13b8c424a960fc7630c852b9de0b275dcf5d() - { - $this->assertTrue(true); - fn() => ((double) ($test or $test)); - } - function test90b16820eb9aa9e4f25249821d814566684d19c8efce9b8d6dd09bc8c3b7b350() - { - $this->assertTrue(true); - fn() => ((double) __NAMESPACE__); - } - function test923f4e6cad6c928369984d826751da030cd5d064b5b6d8ec0415d253b540b347() - { - $this->assertTrue(true); - fn() => ((double) ($test . $test)); - } - function test9419c97c9cccb6ad939e89b4aebe3cf2003c84995b0bd51a2c83d804988ef9d6() - { - $this->assertTrue(true); - fn() => ((double) ($test ^ $test)); - } - function test958cd4d2330569476b3dfd29c23b4259757afb904fb2420d58d0544dcf1734fd() - { - $this->assertTrue(true); - fn() => ((int) ( $test)); - } - function test9694efd818faf665c6cde7a78a203c2d03a825bb212c3c5486e7302f25a6f465() - { - $this->assertTrue(true); - fn() => ((double) (array) $test); - } - function test99b8930d78d8f1eefed96060923677c1ed0166841a23c5775017ab11af38cc1e() - { - $this->assertTrue(true); - fn() => ((int) self); - } - function test9a0badd78037ab40590d301a53216a623e0464390393e9503bda6ba5b598448a() - { - $this->assertTrue(true); - fn() => ((double) ($test / $test)); - } - function test9e0b413ea85a8d725a7e221901959768e41fa3f0516d492b8c7c0ce49cbcd0db() - { - $this->assertTrue(true); - fn() => ((int) $test()); - } - function test9fd0592aa10e04358b4717faac84961f122c871824f4adedbd47af50e412a8a8() - { - $this->assertTrue(true); - fn() => ((double) (string) $test); - } - function testa08b1a5d17ba8db662144100cfb50e9e6d4cfbf5f521626482697727d2932a97() - { - $this->assertTrue(true); - fn() => ((double) __FILE__); - } - function testa0e4c038136a9dcf6599473e02b3c21bc080eaf0237488191f2aec83ee7a7f44() - { - $this->assertTrue(true); - fn() => ((int) ($test ? $test : $test)); - } - function testa84bc4ed51131e3e8456b0ed3454fced5fc61edcdf84fc39e20df4b7cbc5a00c() - { - $this->assertTrue(true); - fn() => ((int) ``); - } - function testaa28bbdab876f48b32d9c90fa584df7fd157bccf4f4a19591abbb265efc6344c() - { - $this->assertTrue(true); - fn() => ((int) ($test | $test)); - } - function testabfef6be760ef1abb1f766f17761f632f693a72ba81c75ec59f533365b0ce712() - { - $this->assertTrue(true); - fn() => ((double) ($test === $test)); - } - function testad2c1f87523facfa4c4b8d06f56456bb4021a29fc832b7103c6f95b4a72ebd4a() - { - $this->assertTrue(true); - fn() => ((int) ($test >>= $test)); - } - function testadbd8649b83dc496a120b49c277d46ff9d74d43adc0e85187d11a454be7c946e() - { - $this->assertTrue(true); - fn() => ((double) ($test < $test)); - } - function testaf888c2ff81a19d2c20f9f2fcf3c060c36041c837585f2f53e66500033ef2852() - { - $this->assertTrue(true); - fn() => ((int) ($test *= $test)); - } - function testb574c507d9eb8f4b664c69929d1d909ab0753dadb9d30d573ec9490c42d1d7da() - { - $this->assertTrue(true); - fn() => ((double) (object) $test); - } - function testb5feca0c129a49b12315fb14aa8c136383b667926ea4280fb456e5636280705e() - { - $this->assertTrue(true); - fn() => ((int) clone $test); - } - function testb68bf28651fdc971bf8d084454d98ead8a3eb9d3ddd460ed18c4ae4137ac18b8() - { - $this->assertTrue(true); - fn() => ((int) ($test += $test)); - } - function testb75d2380be09b03ab75e870eca7c051e2a05b978a095b40d060ccdc8a9be8c5e() - { - $this->assertTrue(true); - fn() => ((int) new $test()); - } - function testb75fd5637d22b5d38d1d3afaa46abec711200a97c3b5ab99c2d677caad2aca60() - { - $this->assertTrue(true); - fn() => ((double) 0.0); - } - function testb99eefe13f50cdf2de0968c6267e8c1c8122a1c62386a392761dac2820bf6466() - { - $this->assertTrue(true); - fn() => ((double) ($test != $test)); - } - function testbdbcd217c38c6af15cd6bd59619c4d9a8292cdfed148e232f3f24daca93d4492() - { - $this->assertTrue(true); - fn() => ((int) ($test **= $test)); - } - function testbf8eaceac6d95334ca18e59ffe3e71548546e4d09c9f80c7c40dff317aea5482() - { - $this->assertTrue(true); - fn() => ((int) throw $test); - } - function testc084b0ee670ce74386e80a134a214d313734be57a3ee595f668511213d750ea7() - { - $this->assertTrue(true); - fn() => ((double) ($test <=> $test)); - } - function testc5ae723fbcfdd0555427eefc5e5d8882cd50a2589478ea7c148047d4063cc3db() - { - $this->assertTrue(true); - fn() => ((int) $test->{$test}()); - } - function testc714cd47aff21a896eaa448d8089e4cca297b4e4aed00deac8ef6b6791fed026() - { - $this->assertTrue(true); - fn() => ((int) ($test %= $test)); - } - function testceac7f43e4be37f24012ad1f115499a640043d1a6510a6ca5b895851c5ebbdd3() - { - $this->assertTrue(true); - fn() => ((int) --$test); - } - function testd28fa04acf404ed59032d7cc0c28734be18567d541f481cc2b48f837a3f5e4df() - { - $this->assertTrue(true); - fn() => ((int) $test?->{$test}); - } - function testd58e14c27e1f891d6921a3c16f5ad8269791b133348effb1005bd130e9bfe198() - { - $this->assertTrue(true); - fn() => ((double) ($test << $test)); - } - function testd5978cccf3fe4e4ed2e1bf2b33db990c02478305c896fa70dace44f1c82341e3() - { - $this->assertTrue(true); - fn() => ((double) $test ** $test); - } - function testd661c244c8380a1b9e712d552d32fb1828d2eb5b960063f945f59631aa824343() - { - $this->assertTrue(true); - fn() => ((double) ($test > $test)); - } - function testd9344e8e273e36abb308559f078049d5adb3abeff4adb07b785614a061330e6c() - { - $this->assertTrue(true); - fn() => ((double) __FUNCTION__); - } - function testd9ed262731717f7352d864cb2cb39bceab08a1bf4bb4cb12e61751740c20af9d() - { - $this->assertTrue(true); - fn() => ((int) ($test =& $test)); - } - function testdbd9d7201edc7a00e2d0fc87d407cb2a4085c032e6baf5392aab4d495a0a870f() - { - $this->assertTrue(true); - fn() => ((int) ($test instanceof $test)); - } - function testdc104ed931d5f1bdae0ddb66fcb8e0d815bc3f29d36256305896f17c79ebf9d0() - { - $this->assertTrue(true); - fn() => ((int) $test->{$test}); - } - function testdd5e97a98b692f44e87cf572eedeaa924e6723ba276593df43684f4ea2fc7895() - { - $this->assertTrue(true); - fn() => ((double) ($test !== $test)); - } - function testdfc54619eac2807af6c741968ea3914399cf63aa0452fcfd5a17e95866e78612() - { - $this->assertTrue(true); - fn() => ((double) ($test == $test)); - } - function teste49209d792c8b039a4e86ba5f1c0447e4ba37afa926ac420bc1098ffe6727cfc() - { - $this->assertTrue(true); - fn() => ((int) $test++); - } - function teste6499a21c2d57021e895573e95c198787b3b1cd42c535d666b27556f0dea8c59() - { - $this->assertTrue(true); - fn() => ((int) ($test |= $test)); - } - function teste72dde883298c2e864709a5d9bbf4d0dbd365ef0b38b27fe93391d0384dc2e68() - { - $this->assertTrue(true); - fn() => ((int) ($test -= $test)); - } - function teste7653102e731387a4f9ad2354ce7bb345e3f80636f255a9c6e9807d65c42de0b() - { - $this->assertTrue(true); - fn() => ((int) isset($test)); - } - function testeb4509e5c5c6f0ee41094cdfc4588a410a51be474939461091d9ca8d96355065() - { - $this->assertTrue(true); - fn() => ((double) __CLASS__); - } - function tested40068ff8090941477b1fd66032df27d4aaf8cc8bd7c337d4808adb62f36660() - { - $this->assertTrue(true); - fn() => ((int) (yield $test => $test)); - } - function tested51047e518c1ee8e79cd1f9ba6e513a998d38faad2b3dd3c8f4f66265951993() - { - $this->assertTrue(true); - fn() => ((double) (bool) $test); - } - function testf50fcacd967afe60f358297b3990601b8b5bcc87ed422cf11c17248a8856a915() - { - $this->assertTrue(true); - fn() => ((double) ($test >> $test)); - } - function testf52c55e7fc126089bf0a74e893122793d9f61ccb9097402c4b90d77d42b4565b() - { - $this->assertTrue(true); - fn() => ((double) ($test || $test)); - } - function testf76421051bbefd7dbdcf7bcc14897128a8a7d31b2a51d54b0c7ee35883c8cc62() - { - $this->assertTrue(true); - fn() => ((int) -$test); - } - function testf81b4d86ed6375f974b3ce714872018cf02bb96feefcd25abb9ebe951dbbc12f() - { - $this->assertTrue(true); - fn() => ((int) $test--); - } - function testfda4a66305321347e54016701f4ae7eebec42f5da1c02d64dc5d277316f44670() - { - $this->assertTrue(true); - fn() => ((int) ($test <<= $test)); - } - function testfded7b6a4fc02ba3011bd7d69fc7edc646b25637bb3a81710b7b82dee73b4ee0() - { - $this->assertTrue(true); - fn() => ((double) ($test ?? $test)); - } - function testfeed25349db86f406c3e1ac8504c36eca087e54253fa9a7b91780f2b97320793() - { - $this->assertTrue(true); - fn() => ((double) (int) $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest.php b/testsGenerated/Target/Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest.php deleted file mode 100644 index 864673690..000000000 --- a/testsGenerated/Target/Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest extends TestCase -{ - function test00e22b5d3184acc1f196444bf1cdf5696fdfc9e767c15a41db5b85c5b3f622d4() - { - $this->assertTrue(true); - fn() => ((yield from $test) ^ $test); - } - function test0131297a9e41be04466e25a3aa862bd10f3d87d9f98ff6b110a95fed7ef15f8d() - { - $this->assertTrue(true); - fn() => (0 ^ $test); - } - function test019e7b18f50d185bd727871acbec693f2218d8588bacb96cf76d06d0c2745139() - { - $this->assertTrue(true); - fn() => ((print $test) ^ $test); - } - function test01ce05cbc19c7d03d44ece0b4dfe0d25632f53656c586b4bca039e401d6f10a9() - { - $this->assertTrue(true); - fn() => ($test::$test ^ $test); - } - function test07582c24bf9f68d46b92ab824325a059d365786e361a859c60be7125b385661c() - { - $this->assertTrue(true); - fn() => ($test->{$test}() ^ $test); - } - function test078f9d005dde0d9bed22f4a409afdc8f7de4945b750a55e996a908f831a91225() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() ^ $test); - } - function test0a82edbd71729bf4c776c466197bfef01cdbd4085e48b28f96cd12766fdd17de() - { - $this->assertTrue(true); - fn() => ($test != $test ^ $test); - } - function test0aa5cd8f2a6d289024243a13b6c8c59d1ed226320d096b370ddaf1823a7c0f00() - { - $this->assertTrue(true); - fn() => (eval($test) ^ $test); - } - function test0c4ccdc06193a05ea358d814334cbb38488bb05208cc97ef023e2ccef91ae401() - { - $this->assertTrue(true); - fn() => (($test *= $test) ^ $test); - } - function test0cbccd1dd652d7c74a5038c507af1fc9424ccd8e7cff19ae491eb845ea29abad() - { - $this->assertTrue(true); - fn() => (( $test) ^ $test); - } - function test14a4e37e38a4892a1e16e51490d97f93dbea0f852072e2236184b005e41e4b5b() - { - $this->assertTrue(true); - fn() => (__LINE__ ^ $test); - } - function test1615dcb1c74aab08af359ba51b6fd2e78feacc63d80f6744bcaee1d497ae1da7() - { - $this->assertTrue(true); - fn() => (function () { - } ^ $test); - } - function test1febcfe48f580ec045c5a790730420b21a7aee9437ed44c4abb952cc33f085a7() - { - $this->assertTrue(true); - fn() => (__FILE__ ^ $test); - } - function test1ffd238ff3df4de10502057277e73088d0b34e596a7e3c7ea88712aa367543ff() - { - $this->assertTrue(true); - fn() => ($test::${$test} ^ $test); - } - function test2034a6793f75afc7595c4b4f7baf10788fcc4a405b2e2fa73c20f4aae696b854() - { - $this->assertTrue(true); - fn() => (+$test ^ $test); - } - function test211899c16392a74e20b7ffb0439785ad89fc18b79b37b895b6a744ad19cb5dc0() - { - $this->assertTrue(true); - fn() => ($test | __METHOD__); - } - function test213ccee033b0649dbdf9b0b2ef189304958e2dcfebe6f9abed188af691bc02fb() - { - $this->assertTrue(true); - fn() => ($test << $test ^ $test); - } - function test22a3d46b1597b1d0d4dbe4ab6b7a1e21abaee2d96e2005282d60981e3bf1c311() - { - $this->assertTrue(true); - fn() => (isset($test) ^ $test); - } - function test2ca6720bcc75b09c7e6cda48b37dec451da55733710aa43c8ea590e60e1c223c() - { - $this->assertTrue(true); - fn() => (($test **= $test) ^ $test); - } - function test2d1b44802db21cdca53a689586d03cadffeaa33427aa132b82d972c70ed3de60() - { - $this->assertTrue(true); - fn() => (($test ?? $test) ^ $test); - } - function test2edf56906c460e2b29b8c2e5548364c7c32426125283ac677a8aefd0d2eeb844() - { - $this->assertTrue(true); - fn() => ('test' ^ $test); - } - function test3103baffd657b07a38507d7389de652957573e11cc9c5e228620c1217306d4c2() - { - $this->assertTrue(true); - fn() => (($test %= $test) ^ $test); - } - function test35e1c33e02133412641b28ca0944046ff485d930be9fe1607b99f849f6efbd86() - { - $this->assertTrue(true); - fn() => (${$test} ^ $test); - } - function test36afcdd2f4e378c9ed76691324310b1c6cab8818e97debd304f964daa2c69236() - { - $this->assertTrue(true); - fn() => ($test->{$test} ^ $test); - } - function test3810d79640cd41c737f4b43bf6c137517c27cfe0ead799e6c287cea693f4a85e() - { - $this->assertTrue(true); - fn() => (--$test ^ $test); - } - function test3bde5d9d4ef9e25ceb1f198e3b55d37c691e2cf78ebd1fc73222ebf4beba5a96() - { - $this->assertTrue(true); - fn() => ($test?->{$test} ^ $test); - } - function test3c0b6e5faedc49aa2fc581d4d73ace0384867385bdd5ca15df4581579598836d() - { - $this->assertTrue(true); - fn() => (($test || $test) ^ $test); - } - function test3c9e17a2579e525fc83fe3fc48c6d1c8ce9d370f0b68ccd883fbae47f6f22924() - { - $this->assertTrue(true); - fn() => ([] ^ $test); - } - function test43354d682882f92f32e2f912d26dd2fbb145c6bdc0a88a7ae451b523634d0e58() - { - $this->assertTrue(true); - fn() => (($test /= $test) ^ $test); - } - function test43ac74d7193417e9fa88dbd4378a8c3dc1033388a070f97bcb868c4cadd6e5c8() - { - $this->assertTrue(true); - fn() => ($test <=> $test ^ $test); - } - function test47faf43123429fd686d6dae788adfb5f36e0464e7521ed148ba71c7295abc751() - { - $this->assertTrue(true); - fn() => ($test ^ $test ^ $test); - } - function test4dade4e60fc24b109f983f294da1594e280dbe34cc2b323ec3032559fe112a4b() - { - $this->assertTrue(true); - fn() => (empty($test) ^ $test); - } - function test5222a38a6409f3d17d572f40f21cdf1c1fee337bdfcf816d73dc261a98f04361() - { - $this->assertTrue(true); - fn() => ($test[$test] ^ $test); - } - function test52d26e2ad954d36fe6dbd75fa96a909ce745fced74e28a86dc1eeec18a088c67() - { - $this->assertTrue(true); - fn() => ($test !== $test ^ $test); - } - function test565d89d1618509c06a555a7e23875d6c1678fe1068e0ad728f8c71a6524f313e() - { - $this->assertTrue(true); - fn() => (@$test ^ $test); - } - function test5a60c2d690f8adb24e163930159ccc69ee5c0257e27ec1941208b4d838dddf9c() - { - $this->assertTrue(true); - fn() => ($test() ^ $test); - } - function test5e3a4b38242b41ff18382f74ea34e349adafce2a0305d7ec320a88e0cae46207() - { - $this->assertTrue(true); - fn() => ($test ** $test ^ $test); - } - function test6349e431e6b565d644a7ac6597a4f2f0ab9375647a53aa8d02eb20ec2406a201() - { - $this->assertTrue(true); - fn() => ($test | __NAMESPACE__); - } - function test663d940a2e59d318eb26d1b4a1850a5b324500ee0a5cedff34da5129eaaa45ed() - { - $this->assertTrue(true); - fn() => (($test xor $test) ^ $test); - } - function test67a930bde6db5bed50dff42520b7cf069e6b03762a73d00dbdc000a9c09680d2() - { - $this->assertTrue(true); - fn() => (0.0 ^ $test); - } - function test67af956004a3c977956408fe602aab32d7b74a6300e0cf2e481963a77457fc4e() - { - $this->assertTrue(true); - fn() => (self ^ $test); - } - function test67daab4eca646da3b6df68e7431bb3d16a93e4d9d4f205b56e55736f5e6d485d() - { - $this->assertTrue(true); - fn() => ($test | __LINE__); - } - function test681eeb42912e8e8270417fdb04e46df9acb1081c4c46d00694379ce5d7e38559() - { - $this->assertTrue(true); - fn() => ((bool) $test ^ $test); - } - function test69a3557e4d54dac698e5c1e2d043885add3b7cb51ff2fbb01a0f9dd7bf229330() - { - $this->assertTrue(true); - fn() => ((int) $test ^ $test); - } - function test6c831326f52a6bbf44209c0e9c7071f1b59f2fffe3d0619a1e2924864acde72e() - { - $this->assertTrue(true); - fn() => (__CLASS__ ^ $test); - } - function test7163f28f59bf70d60912a9e8c778c69ed36b94de29748c9605246ccf1fb264ad() - { - $this->assertTrue(true); - fn() => (($test and $test) ^ $test); - } - function test72589c1a6fbc5fcad98ba5cb8bab9acd818152d3dbc76ad04ab1853d95ce4175() - { - $this->assertTrue(true); - fn() => (__DIR__ ^ $test); - } - function test75f7ca8144d43961ba1ce3b6fb9737093d4291a5a8c7ba060d256a3f52c3b3c8() - { - $this->assertTrue(true); - fn() => ($test == $test ^ $test); - } - function test80a33684186c561497c6448c968bfb66a5ec856e353568ad1eb12478d274fb38() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ ^ $test); - } - function test82de55f4f526fb70c6b2045e4f957d848b8f8e431bdab7f26bfa4284825ba632() - { - $this->assertTrue(true); - fn() => ($test & $test ^ $test); - } - function test844a0793dacc0cc9dcae81e0590d4fb55b57c913139e801dbcab140efcc227c3() - { - $this->assertTrue(true); - fn() => ($test * $test ^ $test); - } - function test889f7de6ee11250320fb47b0b561f6269f0ae9d9bd4362f907bb78545b58f804() - { - $this->assertTrue(true); - fn() => ($test >= $test ^ $test); - } - function test88a7d42f7bf6a1d46fb718540db129ec49c2113e13631f8b5ece24f45fbc3a3d() - { - $this->assertTrue(true); - fn() => (clone $test ^ $test); - } - function test8a11360a5e9010bbf329cfbcd8240ae5f5d74dff29e59352b121c8887fb6abb7() - { - $this->assertTrue(true); - fn() => ($test ^ $test); - } - function test905f9c994c5ea38f247f6df9942dc7cdb563fda2727a6398818d627d73ba9ee6() - { - $this->assertTrue(true); - fn() => (~$test ^ $test); - } - function test91902e3937ab00cc5b203637f74b6e032da4d2bd13bfa6c924fed5b05a555adc() - { - $this->assertTrue(true); - fn() => (($test && $test) ^ $test); - } - function test990367dba026162864b83da58b9a7d15b6b77636c55129cea7131dfb28678f35() - { - $this->assertTrue(true); - fn() => (($test &= $test) ^ $test); - } - function test9f2aedba0fc1cc49cef8bff46f0260b94f678dae991f93d03d84975db1d59e1d() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) ^ $test); - } - function testa854a0430e517b396ec8515f28192e642a9ec141123bb1327a62ce90e1632d92() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ ^ $test); - } - function testaa2a338d0e4995b0a61cea813b11935ec2b0cbc8796148a5336cbb01b06ffc2e() - { - $this->assertTrue(true); - fn() => (-$test ^ $test); - } - function testaa7005dfcd9cfbf809220fc801746ee5d56909a27045ff1d335259a6777f3cfc() - { - $this->assertTrue(true); - fn() => ("{$test}" ^ $test); - } - function testaace43c7a94f74a92804994f55923f059e5602d6500ce97eb56ffd3aafec9c4a() - { - $this->assertTrue(true); - fn() => (!$test ^ $test); - } - function testab34bb09796aaaa5c74904c06d852b89ebe241603e825acd2ea225389596a44d() - { - $this->assertTrue(true); - fn() => ((array) $test ^ $test); - } - function testabbb59c62ae71122127fc9482b5d453040ff25f4d76261c7472d808d99af743f() - { - $this->assertTrue(true); - fn() => ((double) $test ^ $test); - } - function testac06a76e0669a8caab630a9e97d21a1fc90e7721a379f1ef82bf185b4ae2af2b() - { - $this->assertTrue(true); - fn() => (($test ??= $test) ^ $test); - } - function testac4d96fb20cdc4854c0dedc46dd929b4a748087bbb9c1819303bf2aa9b46caf2() - { - $this->assertTrue(true); - fn() => (($test | $test) ^ $test); - } - function testaeb376e88b6f57df3b57d2b8d68c7ab2604f81782429132235e6b990d1cb9f0c() - { - $this->assertTrue(true); - fn() => (($test >>= $test) ^ $test); - } - function testaf656cd06304b5040db6fbfc8b63c6d5e13019bd35099358935a1f2ac7f7b6b0() - { - $this->assertTrue(true); - fn() => ($test::$test() ^ $test); - } - function testb01b3d745d0a2ef26c0706bb3a7a5f3e197904f706f89267587e42fa4e52c993() - { - $this->assertTrue(true); - fn() => (($test <<= $test) ^ $test); - } - function testb068061423eff154bcaf526bab4872b04724df8dd5d147e63f132181c4e83a00() - { - $this->assertTrue(true); - fn() => ($test > $test ^ $test); - } - function testb0fbac78e67fb479f46bcab42b47b65e2adef607687b55c01f51c78fcb8bcb86() - { - $this->assertTrue(true); - fn() => (new $test() ^ $test); - } - function testb3a7df2ea61399abf20464b55d3023c10a3f839af23679c0518905409f51e62f() - { - $this->assertTrue(true); - fn() => ($test | __TRAIT__); - } - function testb4a4b9628ee8bbed52f7555f998c1f13faf7cc83cacdddaaf142f0e925ee7a54() - { - $this->assertTrue(true); - fn() => (($test |= $test) ^ $test); - } - function testb8309cddcca5811da136cbc57be2a3419e08663b2b90cccb3425c2898e93e1b5() - { - $this->assertTrue(true); - fn() => ($test instanceof $test ^ $test); - } - function testb9545ce8fa72fd7f7296da8e35607d4d35fe517d2e9ffb795821eccf58d43638() - { - $this->assertTrue(true); - fn() => ($test === $test ^ $test); - } - function testbedaa935db48ae755a0d72e3ad0be5705de3ae933fb08d0fa0012e9050d7bd05() - { - $this->assertTrue(true); - fn() => (`` ^ $test); - } - function testc157d048553707d5ed0441132a0154bc70934ce0610d622eb3934c0d1303495f() - { - $this->assertTrue(true); - fn() => (($test .= $test) ^ $test); - } - function testc294977f937ede095e77f15fdd32e9c12f0632b2bd95a8b4df841601f800b2e1() - { - $this->assertTrue(true); - fn() => ($test / $test ^ $test); - } - function testc33c2723b755f492fc5f76e3794ceed5649408b398729ea4d089616627164a18() - { - $this->assertTrue(true); - fn() => ($test - $test ^ $test); - } - function testc64495e50b422d8c9fce233d17b095a0a91c22a34d96524fbf6510ec11e60e30() - { - $this->assertTrue(true); - fn() => ($test < $test ^ $test); - } - function testd47aa593275594baef8c8c7baf96e003a5c5ed583723ac85907857c312377df2() - { - $this->assertTrue(true); - fn() => (($test += $test) ^ $test); - } - function testd864b736ae5179d663084dfb0f0d7e66a5df784d23d5020bab83571ebad70431() - { - $this->assertTrue(true); - fn() => ($test <= $test ^ $test); - } - function testdac5be840e783b297f76dd48611ad014fc43ae65158439c6703b720cbec20173() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) ^ $test); - } - function testdbf0cb6c02f41da4d72e0811b08c7e91103cd987259a4544971547bbddd5058c() - { - $this->assertTrue(true); - fn() => ($test++ ^ $test); - } - function teste2d6dc63c0510ae491184068c0b32ff0124a402065780406e8a7cd936a969b2c() - { - $this->assertTrue(true); - fn() => ($test-- ^ $test); - } - function teste79f576f3b606b47e07c2a579bc0ed6035627e1550514a11b17d7a47515723b2() - { - $this->assertTrue(true); - fn() => (($test = $test) ^ $test); - } - function teste7e3c18f7755b2ed65aa3295bc13897939b9c92a75d52110c59cac25087f0cdb() - { - $this->assertTrue(true); - fn() => (throw $test ^ $test); - } - function testea0e05b06eaa9e5a99b913d57b955a367e488a5d5662c30a4d355ef856113046() - { - $this->assertTrue(true); - fn() => (match ($test) { - } ^ $test); - } - function testea7579ec3fe2661c922e2917bc7bd20f2f3d10218ab748c858ceff01a5d2144e() - { - $this->assertTrue(true); - fn() => (++$test ^ $test); - } - function testeab0c9dbdef414580ec12b8c3ef43234038dac759367d396c40c31baf02ba855() - { - $this->assertTrue(true); - fn() => ($test % $test ^ $test); - } - function testeaddfcef2aa91b366c0c750e56dc059b81f2410d0f3e2da3d6bb53e7fea7d2a9() - { - $this->assertTrue(true); - fn() => ((object) $test ^ $test); - } - function testeb6ab5db2fe0cd7d705e6cb61c3eafebf381a791e0a5835baf4901dd1744cd73() - { - $this->assertTrue(true); - fn() => (($test -= $test) ^ $test); - } - function testef05b644c974f7c9fa4fb8034fc8a074fb53542fb1d989de6bd4ddc877224a45() - { - $this->assertTrue(true); - fn() => ((string) $test ^ $test); - } - function testef079372d169845fcd26c775553bfcfc7792b6733186c8b60badf6f063dc2ea4() - { - $this->assertTrue(true); - fn() => ($test >> $test ^ $test); - } - function testef60be3cc6df953e2d5ebf32e36b2d19429ec552c751f184a49fe654b44a293b() - { - $this->assertTrue(true); - fn() => ($test + $test ^ $test); - } - function testef850bba054028e82f7abfc3f9fdd57ebde6965777e8e93dfdd94419ce4dc4f2() - { - $this->assertTrue(true); - fn() => ($test . $test ^ $test); - } - function testf0dd88cf0691fcb9e4b8fc82a40dc97bd41133294dbe18d1d5b90729c1a9efb5() - { - $this->assertTrue(true); - fn() => (__METHOD__ ^ $test); - } - function testf6974a2587130ece11c881619168c82501e5536cb8066f0c7e29747f66ec8748() - { - $this->assertTrue(true); - fn() => (($test =& $test) ^ $test); - } - function testf855d50e5bf0b81132c873052cbef825bf4e143f1bc039b8bc3bc3386243db0b() - { - $this->assertTrue(true); - fn() => (($test or $test) ^ $test); - } - function testfaacaccb0ddce59eb5211bda6e405850e9ab480f69bcde85fe04309552194e97() - { - $this->assertTrue(true); - fn() => (($test ^= $test) ^ $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test.php b/testsGenerated/Target/Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test.php deleted file mode 100644 index d586dcd1f..000000000 --- a/testsGenerated/Target/Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test extends TestCase -{ - function test013f7be2f1bdd231c97ba55e765cbbe66aae529d21f5cf97e8f82920c228b762() - { - $this->assertTrue(true); - fn() => ($test > self); - } - function test0162b70bca9e488d331efb19a00d59f9358c18faa69468fdeb4aa0c4c0dff589() - { - $this->assertTrue(true); - fn() => (($test .= $test) > $test); - } - function test03377940c06fb5d15eecbae62bb5367b54d831fcaad34d2ccda1b1aecd056b52() - { - $this->assertTrue(true); - fn() => ($test > -$test); - } - function test048bf25e103b8a0388fc55319d8a7e80b942109572173ee95ba89507b9a9bcc9() - { - $this->assertTrue(true); - fn() => (($test != $test) > $test); - } - function test04bd5bf84a24dd5a0b26a6add1f64e276b43a427153ba273116011eeef361244() - { - $this->assertTrue(true); - fn() => ($test >> $test > $test); - } - function test04d980fa95d3a60d2f61717aea14c8aa43cd45611997e2eb6b63c6db7dca08c8() - { - $this->assertTrue(true); - fn() => ($test > $test?->{$test}); - } - function test0cf88af09b7ced62313d6dd35e723765e1d643d869f133e92d78eec204d2514f() - { - $this->assertTrue(true); - fn() => ($test << $test > $test); - } - function test0d3cac1f466a4abe60dc60f077140734db1912207f33ab5f3d14d248a40b3437() - { - $this->assertTrue(true); - fn() => (($test <<= $test) > $test); - } - function test0dc38423bd96ce5e79aefe41576b7f34b8d7ba1fdbe4f7f0eb700ee99b8135e3() - { - $this->assertTrue(true); - fn() => (($test >>= $test) > $test); - } - function test0f2a661bfa302c332440c935de6ccc3b92b287b612afacbd5bef8797ed9856dc() - { - $this->assertTrue(true); - fn() => ($test > (print $test)); - } - function test0ff36f8af06195f2acd9248f01d0155b86cdc52c8447ed8bad9ce057133c5e64() - { - $this->assertTrue(true); - fn() => ($test ** $test > $test); - } - function test138f21069a867a6da0f9381de4e2764e72c7d4fca3cd265a6d1423c0f3845bc8() - { - $this->assertTrue(true); - fn() => ($test > $test[$test]); - } - function test14a9918b93b95cd6918d15f661179e01ef6133bc5b9d25c9d19bbd76d56b9310() - { - $this->assertTrue(true); - fn() => ($test > $test::$test()); - } - function test1719194ac4b68845f89cbdf559ccdc252336bd7c03ceaad17df2462610814c42() - { - $this->assertTrue(true); - fn() => ("{$test}" > $test); - } - function test1d9b704c7899806fd885ff7e9b88b4676eac5f1784c409d1f9e725f034cf3b09() - { - $this->assertTrue(true); - fn() => ($test > $test?->{$test}()); - } - function test216d5fb4cd23d01261ab326171147418e6de89bf8d38d1387f3248a6e856a087() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ > $test); - } - function test236c53f9a9e9f1fac8670a2a76e5523746c09a0b93d0ad1664869c31d097a107() - { - $this->assertTrue(true); - fn() => ($test . $test > $test); - } - function test25f16c90049299437179e8fb55cc8c2d0b05e519ea4657d9465943c82cc08d45() - { - $this->assertTrue(true); - fn() => ($test > $test::${$test}); - } - function test26a7c130b149131408e5626ade3e86dba2936c7233e0aa7409410f1308ba1332() - { - $this->assertTrue(true); - fn() => ($test > $test->{$test}()); - } - function test28e02bbaf32949625139de4461647661d2d8b3a354661ea17ebd3318039f8738() - { - $this->assertTrue(true); - fn() => ($test > $test instanceof $test); - } - function test2906dea4865c36a34a0a0923bfd7ca14e30cda4649ea1ff317ffef8091be7880() - { - $this->assertTrue(true); - fn() => ($test > @$test); - } - function test31333ba45a81ab4ceb784b36120900dbc5dfc2f864d5022d46e8500fc014f084() - { - $this->assertTrue(true); - fn() => (($test |= $test) > $test); - } - function test32d079b23e47d8084d0c527f983e889e2a6cbeaa91a80280f53701bf7f39ca33() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ > $test); - } - function test36a0943df046b5bfeec95dc526fd7ec3f97dac307903e4c8e259fc45e90be9b0() - { - $this->assertTrue(true); - fn() => ($test > $test()); - } - function test36aec36f0c527a8bf5bb2e19bb4516873076a6f4878016994b03dba58377d9f3() - { - $this->assertTrue(true); - fn() => ($test > --$test); - } - function test3821a390c14467370cad45ac1026df6bea54b931798f0219d6f466b7cd7c4625() - { - $this->assertTrue(true); - fn() => ($test > $test--); - } - function test3844f731e4cdb1c2536e947bcb9c5075343961cd35198abfce1292b4e0ee2f85() - { - $this->assertTrue(true); - fn() => ($test > empty($test)); - } - function test395392932be0cf13b24b86f2013a16f4273e95d719b8c88adbe8a5df6799b622() - { - $this->assertTrue(true); - fn() => (($test ??= $test) > $test); - } - function test3a504f1b7a6455ebca9adfa4d963758a4f0b6b383e42607cbb0ddc9887cdff49() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) > $test); - } - function test3ded9b3164f02952322908dfc7101d3c1584635ee73160bbcd4ea09bdc641d65() - { - $this->assertTrue(true); - fn() => ($test % $test > $test); - } - function test448019629bf8e12907a99e15847ff321df35530f2e61459fd0291df264b0b95e() - { - $this->assertTrue(true); - fn() => (__CLASS__ > $test); - } - function test4cf8d0944ea24008a13d67a6eb2115ea0ed9492e8333ba2c07f4cf67d7092fa3() - { - $this->assertTrue(true); - fn() => (($test -= $test) > $test); - } - function test4da0485d7382c027a98a97e8de2ba11b30756768f9c21ad3014d033e65954050() - { - $this->assertTrue(true); - fn() => (__DIR__ > $test); - } - function test4e98801ebab9b5937f581be7d4aa451f56920202b87ef7b02ed98e176a6a9028() - { - $this->assertTrue(true); - fn() => ($test > ++$test); - } - function test534b9c902795e1cace1f1e9fab0530b260cee691bbdd4033541769096b03fa85() - { - $this->assertTrue(true); - fn() => ($test > $test); - } - function test585931ee86329339a260d630cd500165b92ff207b4047492622cafa256346855() - { - $this->assertTrue(true); - fn() => ($test > $test::$test); - } - function test597aac32bf681506bf830c3c15c37791358e748527595d6272c976cd1ad6b960() - { - $this->assertTrue(true); - fn() => (($test *= $test) > $test); - } - function test5b82cf2aa98f7894cfb822039fbdca3419a2a4fc01753e2958cfe227eea5c515() - { - $this->assertTrue(true); - fn() => (($test || $test) > $test); - } - function test5e40f5fb2012675aa5f99ba75dc39bb91e78bc9e1a8ae3c6b85779ed836b9d79() - { - $this->assertTrue(true); - fn() => ((object) $test > $test); - } - function test61891b8980f1a13a078e7dae74360e2bab4abeee487cdfb510a0d28428a6d33f() - { - $this->assertTrue(true); - fn() => (($test **= $test) > $test); - } - function test65cae41730a62df0a07dc81782fd963437e6d016a8750a1083a86f33cd677b26() - { - $this->assertTrue(true); - fn() => ($test > ($test ? $test : $test)); - } - function test6b911dad1012502230a6be5f9aad5f259d3b6a714793a6374f2dfbf03ac0a07d() - { - $this->assertTrue(true); - fn() => ($test / $test > $test); - } - function test6c3fe306099f9ff2baae39a33249d46a6b40b833043bf6aacf91e7cdb847d09a() - { - $this->assertTrue(true); - fn() => ($test - $test > $test); - } - function test7202ac0a1ea24c3cad70afbd7082ce6a9f1e3eac933fd600f480ef2fa7be5564() - { - $this->assertTrue(true); - fn() => (($test %= $test) > $test); - } - function test78e17b68862efde18bc04d063690d16a21589ce3b9358b5de238ad62313edad3() - { - $this->assertTrue(true); - fn() => ($test > !$test); - } - function test7bbcc8983e7a99c97a92ed702e520444c04f19ca12867d85c2b57e1db480b263() - { - $this->assertTrue(true); - fn() => ($test + $test > $test); - } - function test7db3876f6d3f4a1ea54ab8f8329a4aa852e1537f28f7402a05173c244ad09297() - { - $this->assertTrue(true); - fn() => ($test > ($test &= $test)); - } - function test7f0d3ec790c58dd4d126d0b6d6c44074eeaf809974000f1a9a788cb5093cdf64() - { - $this->assertTrue(true); - fn() => (($test >= $test) > $test); - } - function test8bfa88b9304042f0a103b080540bd763b42c7dc4098333eae6ab88de3b264861() - { - $this->assertTrue(true); - fn() => (0 > $test); - } - function test8cad0f5b8558d5c3476979be7e56a99dbce3ad04a1cbf403e4799f5fb8ec283a() - { - $this->assertTrue(true); - fn() => ($test * $test > $test); - } - function test901654dd38cb5bfffaaf5b43ad6ef4c7203940be955ffc8979ccfac415731002() - { - $this->assertTrue(true); - fn() => ($test > eval($test)); - } - function test9044b8c8a6ce70cda368f9f6202232d3afaf5f08ac2485d8599eac25e2b87ade() - { - $this->assertTrue(true); - fn() => ((bool) $test > $test); - } - function test93a77a7a65bd5e4801c679e8ccb50aa2ef69813997189f255943a37145e05bdf() - { - $this->assertTrue(true); - fn() => (($test < $test) > $test); - } - function test948049da1a2f44232b421137b595fbbf980765aa60d4098d53971c2b89204aaf() - { - $this->assertTrue(true); - fn() => ($test > (yield from $test)); - } - function test98b168420de6c3d11c864057396cad3b7b9c8077d9770cdae337bce5103e4002() - { - $this->assertTrue(true); - fn() => ((int) $test > $test); - } - function testa36a0040ee979deb0de67100084d1c5816c4a68668a6ad8c40753b232840c883() - { - $this->assertTrue(true); - fn() => (($test & $test) > $test); - } - function testa3fd173ea93b30c37589b81aa79a30f8ab6d030f14758d2c3e779163cae3d81a() - { - $this->assertTrue(true); - fn() => (__METHOD__ > $test); - } - function testa46644dd12636d2a51c5981998b60657434499dc4647c3077f01cfc4c5d02a1f() - { - $this->assertTrue(true); - fn() => ($test > ~$test); - } - function testa4c16227a7044c5bb863c2c05044f1d3ee6e05a21c6ce48994858d81a2ae1fe7() - { - $this->assertTrue(true); - fn() => ((string) $test > $test); - } - function testa7add5b52cc08107c33a714f995c51522af6f16f8af8c8a5407e08b8f2804a32() - { - $this->assertTrue(true); - fn() => (__TRAIT__ > $test); - } - function testa843683b6905c114cad2b437fe662baa3454c3dbf0afd3ab7de3e4540a6f3044() - { - $this->assertTrue(true); - fn() => ($test > new $test()); - } - function testad85183f6f1bd6bbac27cb0ab8caefa88dc6469cf66215c9a27ef64c957fed81() - { - $this->assertTrue(true); - fn() => ($test > +$test); - } - function testaf7a9b0abb74cb6f336cc59e6c914393906c6de4794f8decfd889924517c5101() - { - $this->assertTrue(true); - fn() => ($test > function () { - }); - } - function testb159fc99674efe668f62a115dfbab4f8b8d290fa18f6d90aa854987b770d1434() - { - $this->assertTrue(true); - fn() => (($test ^= $test) > $test); - } - function testb2917a0605a350e7e9d2943fd51eee38d0b37b41b9a93bdf695b53a032284cd0() - { - $this->assertTrue(true); - fn() => (($test ?? $test) > $test); - } - function testb5f1fe8f25d17810bb6286c056dbae7c691b3f8666c2d65d9d82a62560a91cda() - { - $this->assertTrue(true); - fn() => ($test > ${$test}); - } - function testb67c57fb600eb84b08855f061b0e50e6c4f8c871a5230d57ed21c3a5bf883871() - { - $this->assertTrue(true); - fn() => ($test > $test++); - } - function testb8be59086664179ee276dca0793fc650716874abf1866a504b24926caedae182() - { - $this->assertTrue(true); - fn() => ($test > isset($test)); - } - function testbd8a4f9845b58b37583f284fef4d521e0551d7630bc7429ef65cdacd7c50519d() - { - $this->assertTrue(true); - fn() => ($test > ($test |= $test)); - } - function testc05701e3740d044474a2fcdd12584b16bf94c0994dc5164adb34f6701f043921() - { - $this->assertTrue(true); - fn() => ($test > ($test =& $test)); - } - function testc0a53cfc55f06b0ff9fb6dc7696142ff94d57751582d65be397f1fbb62aab026() - { - $this->assertTrue(true); - fn() => (($test && $test) > $test); - } - function testc272c1a93ecbb1e88c4a6b1f293fd514112f4e216655ab27447c6fd4db0a09f7() - { - $this->assertTrue(true); - fn() => (($test and $test) > $test); - } - function testc50d23256df46c63869cbab8c0f7fe57761dd4f3d3029f12169f570825856050() - { - $this->assertTrue(true); - fn() => (__FILE__ > $test); - } - function testc71a72ab4106e735ffef2ac09a1dad7d2dbb00304616fe4d1a4e549d90485448() - { - $this->assertTrue(true); - fn() => (($test === $test) > $test); - } - function testc7e688d78aac474a4d775a19f385df49f43c4d3b0495aa64bf0a2a74b52466c1() - { - $this->assertTrue(true); - fn() => (($test or $test) > $test); - } - function testc950d4cccb796a0f7dd7140e518c2502b3964f7b887e04096634c8e83242501a() - { - $this->assertTrue(true); - fn() => (($test == $test) > $test); - } - function testcb7e11b11f55e09f7ad9de312a56b43d5a6fef8a809446ff13122eeb7d2b4d75() - { - $this->assertTrue(true); - fn() => ($test > ($test = $test)); - } - function testccd288ba6c5a40dc3a23e76191b1a23bb5cb437f283392ea6ba5aadd0175dfb4() - { - $this->assertTrue(true); - fn() => ($test > throw $test); - } - function testcd3e9bc9070162fa56f67678003d6f070557dd029e9f701ecd4ff4799236cdc4() - { - $this->assertTrue(true); - fn() => (($test <= $test) > $test); - } - function testcd4554e09cd7961311b0ae908cd34a8ab9cbb59de620cf4568dc7d77372da706() - { - $this->assertTrue(true); - fn() => ($test > match ($test) { - }); - } - function testcdc1ccb812cc92073b771900ece8775ecf06023e67a4301c481e025fb5581dfa() - { - $this->assertTrue(true); - fn() => ($test > (yield $test => $test)); - } - function testcdd4625c89a04ff6f960212acaee7ceffda55d0bdaaf2a2db88295ceeeae6ce7() - { - $this->assertTrue(true); - fn() => (0.0 > $test); - } - function testd36502931410ddad3783e7730427134fd19df5b728b3963e078e31f7206d77ed() - { - $this->assertTrue(true); - fn() => (($test &= $test) > $test); - } - function testd4f7722b867eb42160ebec5ece94f16366c4068de379222f76ef64286a45aa7b() - { - $this->assertTrue(true); - fn() => ((double) $test > $test); - } - function testd6ea6cf7e9aab7c89559d64817f7ef906fdb05a3154fc8b76437f7ba63cf163e() - { - $this->assertTrue(true); - fn() => ($test > $test->{$test}); - } - function testd8455581bfc0d40f9b4f350b739738ac1be372771e8a240f469cbefd0e603e2c() - { - $this->assertTrue(true); - fn() => ($test > ``); - } - function testd90f132f5c16ac53cba3f6012c1c612b84f7102cc0d4d35294cc288b3ed6fe6c() - { - $this->assertTrue(true); - fn() => ($test > []); - } - function testdd431e3ff3b6efaac6b2e7f9f0f8726144b6c1519158e400b3118740381db8c5() - { - $this->assertTrue(true); - fn() => (($test !== $test) > $test); - } - function testdd522c538b9dac60c3939fe9975a68549310a329c19ca2510ecca504b9a168d4() - { - $this->assertTrue(true); - fn() => ($test > ( $test)); - } - function testdeb3a13ee0e2e2b2e8ac5da2978aab91021cfef9d1e1f92b332f96f70b5a8c5e() - { - $this->assertTrue(true); - fn() => (($test += $test) > $test); - } - function teste22ddc10b477a6ce3755d39f7998b9eb8078f581de183661a7b75dc5e1532698() - { - $this->assertTrue(true); - fn() => ('test' > $test); - } - function teste708a4997026756ed6ef8b71de7279a10a884b2db7289df7c8b3407757662180() - { - $this->assertTrue(true); - fn() => (($test | $test) > $test); - } - function teste90c6bc92e8cc2588ff41b47b445be3078da2836b3149f9d91b6d96628631e6c() - { - $this->assertTrue(true); - fn() => (($test /= $test) > $test); - } - function teste965f0db6a2f563dcb7fe7f26ff2f1ccabb7c7148e326e9a1f60a8a2b662fb59() - { - $this->assertTrue(true); - fn() => (($test > $test) > $test); - } - function testeea79716baf76a96ebecfbc9942081d5998e9f058cbaae76e5c67f3434f3aab2() - { - $this->assertTrue(true); - fn() => (($test xor $test) > $test); - } - function testf366fa12f8ce6eb3598511501ae4095e657937db886f717eb8a7a25cab9411c1() - { - $this->assertTrue(true); - fn() => (($test <=> $test) > $test); - } - function testf45899adaf39727e182ed7390d88abc5e02e8d9ce1611db164772f14fe577bc0() - { - $this->assertTrue(true); - fn() => ($test > clone $test); - } - function testf58af5c5909fa6e07ba7b528a32702e3a7b77b8b6b078e8c54623a8778eaba3a() - { - $this->assertTrue(true); - fn() => (($test ^ $test) > $test); - } - function testf651e31b6e0976feb3ac95cf59c793962d8db839589b0f964687966b84e185e9() - { - $this->assertTrue(true); - fn() => ((array) $test > $test); - } - function testf9da00d3e4a55c8956ebbf194deea25118b30a2b6878516a4b9d96474bc11afa() - { - $this->assertTrue(true); - fn() => (__LINE__ > $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest.php b/testsGenerated/Target/Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest.php deleted file mode 100644 index 0fcd8fa71..000000000 --- a/testsGenerated/Target/Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest.php +++ /dev/null @@ -1,508 +0,0 @@ - - * @license MIT - */ -class Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest extends TestCase -{ - function test024f974bd9c6f01258a33b70b5e5b29c0290aa5ed776bb39985b45a7bf7cf9c7() - { - $this->assertTrue(true); - fn() => (($test - $test) instanceof $test); - } - function test03bed1057eda3a1633c5c29e776a75f72177cc839099c34bc5033144878dbc0e() - { - $this->assertTrue(true); - fn() => ((print $test) instanceof $test); - } - function test0570564d18caa4454efad98a301d11f8de4cb435c128c9ee7b3ca3886d884187() - { - $this->assertTrue(true); - fn() => (($test ?? $test) instanceof $test); - } - function test0828fa61a58b87fd463b474fac7f9dc90241b3b8759bfbfc2ba13d445d12fff7() - { - $this->assertTrue(true); - fn() => (($test xor $test) instanceof $test); - } - function test0897565c36b7a9dac260119beb1b406e52332e0322da3cf98aed24f7911c498f() - { - $this->assertTrue(true); - fn() => (($test or $test) instanceof $test); - } - function test1022d0a7fc5bec841bfca66db3928be9429de0dfd67324e2dda6d1a65681ee5b() - { - $this->assertTrue(true); - fn() => (($test ??= $test) instanceof $test); - } - function test11a90d9b811a4bf06e8662dbb8d2391955561e2fa111389a29f6aa97e2e50210() - { - $this->assertTrue(true); - fn() => (($test <<= $test) instanceof $test); - } - function test1cb46e52b4e2aef6eaaa3c818736783091360e5070a3cb1aa8168559b6db5055() - { - $this->assertTrue(true); - fn() => ((bool) $test instanceof $test); - } - function test1ded0e1a339d9cea11b4c317bbd6477e889b0d16e972450b387ff61ff242dc8a() - { - $this->assertTrue(true); - fn() => ('test' instanceof $test); - } - function test2038a101f486402063b209f1679f808f9f0321b54ecaa74f2219f4921a0c92a1() - { - $this->assertTrue(true); - fn() => (++$test instanceof $test); - } - function test2197ed10e0c05a57889f28f5c70a94a59d64ba9d8c7e657a4b43fe8842c24538() - { - $this->assertTrue(true); - fn() => (($test + $test) instanceof $test); - } - function test2245eb38e54d015cf161b141b83b20ae0e669a1a8b3c80c2730df5bfbef550cb() - { - $this->assertTrue(true); - fn() => (($test **= $test) instanceof $test); - } - function test293eebfde57587115481744844d0c3a2cf04aea12943563f533cb71ef1e7a3ff() - { - $this->assertTrue(true); - fn() => ($test->{$test} instanceof $test); - } - function test2e4df66ab7623e9b714daf719a759654364f08f4740130bc73144750721a48f8() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) instanceof $test); - } - function test3217daef5d0d45b88c872f2edb7ff69483b75bca62d9c99137a04494262ce680() - { - $this->assertTrue(true); - fn() => ($test instanceof $test::$test); - } - function test39b2407a189b88630d2af8d150e5dd8720f578e3467a6e8f2dae1f05cafc3755() - { - $this->assertTrue(true); - fn() => ((int) $test instanceof $test); - } - function test40a194eb97664a808dd4b6b4e952673c96b3da4b9978d27704043ea33621046f() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test instanceof $test)); - } - function test4894d9f90bf270f30b89942ab2e76c08f585002611eccc6f1d3123719d9777ce() - { - $this->assertTrue(true); - fn() => (($test <= $test) instanceof $test); - } - function test4adc2fca7dbe5c1c52bc08dca0d75551d2997c776318706fbe67ca357896a043() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ instanceof $test); - } - function test4eace7ab09d9038a4787d216c717bbf9a9c6bb8ded9968be9d5d41ac35436220() - { - $this->assertTrue(true); - fn() => (($test !== $test) instanceof $test); - } - function test5416fe1804769c23fab2cb4a59d23b1556d280500bd3c395533776a0f84dd51e() - { - $this->assertTrue(true); - fn() => (($test &= $test) instanceof $test); - } - function test55f8c4b662b6267773312ee48948fea9409d7187fcf7794cf02f8fe2bbcccb12() - { - $this->assertTrue(true); - fn() => (__LINE__ instanceof $test); - } - function test561a4f2383dc98f6c729c65fda8efe5ac7eb8cbdbb02d2a233214bbf22b25afa() - { - $this->assertTrue(true); - fn() => ($test instanceof (++$test)); - } - function test5950b4c5df7fb42b842b1ff89faa2c0255fa4477d0b059053076abff30009334() - { - $this->assertTrue(true); - fn() => ((array) $test instanceof $test); - } - function test5a1fdb70e3aad7cf04e5276466675169c28de3296083ee3aacb50c2ff62d6b91() - { - $this->assertTrue(true); - fn() => (($test || $test) instanceof $test); - } - function test5b6f2a5b6e2c3dfaf18b25a0012e9bc3f953a23e406c705ab8369f7c7869ba95() - { - $this->assertTrue(true); - fn() => (($test / $test) instanceof $test); - } - function test5fa2270111bc2823dee1b943b0ffa49d0b456c8ab015064c01179f53afdf3182() - { - $this->assertTrue(true); - fn() => (`` instanceof $test); - } - function test6107931692ac8f147615a3373de16de0cf9a554485504ad58a6ede54f3408293() - { - $this->assertTrue(true); - fn() => (($test & $test) instanceof $test); - } - function test639a51666fe4c7e49c9c61fe1b74f2211c0a9209df74cb327a13bef42aeaa787() - { - $this->assertTrue(true); - fn() => (0.0 instanceof $test); - } - function test6400437ef9e9b37c3dab10831d99a6292fedb2959f8116a2c16eb965546eee03() - { - $this->assertTrue(true); - fn() => ($test instanceof (``)); - } - function test6527899a377f0494da60213c81642c435d7ebb7ef8200c54874d4828f862a699() - { - $this->assertTrue(true); - fn() => ($test instanceof (clone $test)); - } - function test669d9a5a8ba7e5cf847b26704d30023c2d945652ab3d7eac5b9c3cfa9361b6a6() - { - $this->assertTrue(true); - fn() => (($test %= $test) instanceof $test); - } - function test6776a68e7ec9db22b21963b9889db9bb8e61435b93ced2e8d9ce5a92a108df2e() - { - $this->assertTrue(true); - fn() => ($test instanceof (empty($test))); - } - function test68f8c9fdf3bf13b06b77c26ab3f114cc10188d4450326f471c9e78326306e44e() - { - $this->assertTrue(true); - fn() => (($test . $test) instanceof $test); - } - function test6960cbeabf2e94ad0cc7207d028d4fc55387a7e794bb508eb413025d6db0e293() - { - $this->assertTrue(true); - fn() => (($test |= $test) instanceof $test); - } - function test6d1f63c460665a7637201145e0dc537eefb895be40b4750ee89c2df08de7289d() - { - $this->assertTrue(true); - fn() => (($test | $test) instanceof $test); - } - function test6f3df786879c61545fa981a1a938616d0a45760d49942d3cd60cd5a99ad907fb() - { - $this->assertTrue(true); - fn() => ($test instanceof ( $test)); - } - function test6f77f56cb7fad08c81791794d21b4b17bef513fa3713f3a66f91c9537c9b03c6() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test =& $test)); - } - function test70b226fcdbf6c007ef6336fdcf66e0f3c0ad50ea9b5d60449f6b01e848c8b772() - { - $this->assertTrue(true); - fn() => (__METHOD__ instanceof $test); - } - function test725ff87f0f6909fd5531f39d860a199246d339ad720773a5099096b56b1bb4b5() - { - $this->assertTrue(true); - fn() => (($test != $test) instanceof $test); - } - function test7403274ad6b1efb56a57ef4593809d563049b7a12daf180e013bd83fa5cf004a() - { - $this->assertTrue(true); - fn() => ($test instanceof self); - } - function test744ea679d3788979433d933394301e6fdf9974ed7be8417765ed779bca7a17fa() - { - $this->assertTrue(true); - fn() => (($test >> $test) instanceof $test); - } - function test78d1a955c40ba867fe22e3d4278e05487542487f2de5ddd8a2e13cf83916a868() - { - $this->assertTrue(true); - fn() => (($test % $test) instanceof $test); - } - function test7a11e78db4264c3131dc1f043ad0ecf5ed64e3fcb31d84042be26e164575f09c() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test++)); - } - function test808ec038e16644e13155b7471d51af1c20bf4cb4b4f9434702de8c1e36ed9cce() - { - $this->assertTrue(true); - fn() => (${$test} instanceof $test); - } - function test828855da1cdd30469cb3552e1f398e28a3565d3d3c40f2f3af81f56dc37be94a() - { - $this->assertTrue(true); - fn() => (--$test instanceof $test); - } - function test83b02c339705f7586ee862153fd896c83ea697b9ec468299c1e5239bd50b8209() - { - $this->assertTrue(true); - fn() => (($test && $test) instanceof $test); - } - function test89f4aea282577c25ee50eaabacc9b0a0560659f619046bbfccb150cf26a9c33c() - { - $this->assertTrue(true); - fn() => ($test instanceof (function () { - })); - } - function test8aceeff18ee9c9ae4e806f08fbc10e09bf1895900f9fd8f9b8446008b5191949() - { - $this->assertTrue(true); - fn() => ((object) $test instanceof $test); - } - function test8bd5f7918c7823ff9589cf984f1dc04eb8e39a7b77353251c65070fcf496dd54() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test--)); - } - function test8fe29a67d6fdc6735e4a6d171a1ed3559bcdd64db546a654aa1f88345db6b105() - { - $this->assertTrue(true); - fn() => ($test instanceof (--$test)); - } - function test9735716f5ede34c5a128eacd903ef644938b6d5276307af5b7b90c44eb3bda2f() - { - $this->assertTrue(true); - fn() => ((yield from $test) instanceof $test); - } - function test97b1dbb9a8354c1f6ca23d4040ef1d4c7534ecbea7632aa24395d4d01152ae38() - { - $this->assertTrue(true); - fn() => (($test >= $test) instanceof $test); - } - function test987c80f0fbeccda3f8729d1a1f703c6f9e50206286015dc9315cec6b663f7857() - { - $this->assertTrue(true); - fn() => (__DIR__ instanceof $test); - } - function test99ea61281099fc2f1552beb44c8703095ae9074d57bb33eece7e7c8952da619a() - { - $this->assertTrue(true); - fn() => ("{$test}" instanceof $test); - } - function test9be5fd772fd7e78246752e32a0c9b166fe637beff7110cb53d25f4e07218a206() - { - $this->assertTrue(true); - fn() => (($test ^= $test) instanceof $test); - } - function test9f32fc7cf26c89c8db9b796f4587cb67eda5d0de254566ed14098b1a55df997e() - { - $this->assertTrue(true); - fn() => ($test++ instanceof $test); - } - function testa158e33c78fa93cbb2fe86502fd1b46dc303a87d9e3fd10e3f6dce4e2446bb1c() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test = $test)); - } - function testad054ff8fb65f0f810ba33a4585edf05e6959004277871df502c17277e81fbc9() - { - $this->assertTrue(true); - fn() => (0 instanceof $test); - } - function testad4694bb5b5963109cf3a30c4f5c9cbe34ed4e7919c037472ee91cf92d0e97df() - { - $this->assertTrue(true); - fn() => (($test and $test) instanceof $test); - } - function testadecc1479ac000db3eea0018f70f3bcba261766bdf0515e40b2a5e7c9693b969() - { - $this->assertTrue(true); - fn() => ($test::$test() instanceof $test); - } - function testae320eca1542d931ed032f1de460ea08210363e88c012bdda5b798d021ad6c66() - { - $this->assertTrue(true); - fn() => (($test /= $test) instanceof $test); - } - function testb0257c0a00c02c546f823745c5084eff3ae3ebeb9fb5310eeb8a512d231e23e1() - { - $this->assertTrue(true); - fn() => ($test ** $test instanceof $test); - } - function testb35bd367e982bd6ed447b02d7d18912dc434449737135b65904d3934580568d7() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) instanceof $test); - } - function testb9d0bcd2d30ddbb3a6ae6e9e78e0f14ce45e0177a6286319cd1c479e9dd47ada() - { - $this->assertTrue(true); - fn() => ((string) $test instanceof $test); - } - function testba58e5b2d14b32784b14081c687886e87b21ebc2d78eb1249128c0b1a741c887() - { - $this->assertTrue(true); - fn() => (__CLASS__ instanceof $test); - } - function testbc21535f8732eedc50e83b298361cea324a4930a4b363408c348b523a4c590f3() - { - $this->assertTrue(true); - fn() => ((double) $test instanceof $test); - } - function testbc537a53ce1a4b529da014c856ed953f9f11596a1431b5953476f4e3e3c73312() - { - $this->assertTrue(true); - fn() => (($test *= $test) instanceof $test); - } - function testbdac308b3decd695dbd6cdc56a126c8d5fb0c3fae914cab4e21dce1cfc0d23af() - { - $this->assertTrue(true); - fn() => ($test instanceof (!$test)); - } - function testc0fc5f27c3dfe1ddfda35843592fc39049b59a8ba688b216043233783c96234e() - { - $this->assertTrue(true); - fn() => ($test instanceof (new $test())); - } - function testc1357f857db9e3b3e7452d0ebe149231a98a2f56d7ea2a0f0691b69ccdd22ab1() - { - $this->assertTrue(true); - fn() => (($test < $test) instanceof $test); - } - function testc650e27f55237623bb3b8cd67fe3ac2fc8dcfbb70d7974e343b7537e66accdf8() - { - $this->assertTrue(true); - fn() => (__FILE__ instanceof $test); - } - function testc7ae235a1d298f63ae0c806ef344f3b6a6e35458f79207e21959ed6054fb4b06() - { - $this->assertTrue(true); - fn() => ($test instanceof (isset($test))); - } - function testcb0f13d6dbabe1f91dd140ec187843d2a3aa2e04710241239d72b7660c411f01() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test ? $test : $test)); - } - function testcd20a066b539bde53f4ec0fde361b8976d5f6543c48f42a303030f95abedf87b() - { - $this->assertTrue(true); - fn() => ($test instanceof $test?->{$test}); - } - function testd0c6e47569920fac5e8bde47548f5b24d761a38b48c11a404dcc25299c1c09ba() - { - $this->assertTrue(true); - fn() => ($test instanceof $test::${$test}); - } - function testd4594c277cec2fce4d08b20eb09d5a357551dd450be17c2fe404cd36500f5810() - { - $this->assertTrue(true); - fn() => (($test == $test) instanceof $test); - } - function testd49a1418dda27dbce53f6105f4b4b15832448547ad7e8e974683ba40ccc48cc1() - { - $this->assertTrue(true); - fn() => (throw $test instanceof $test); - } - function testd4b1a9b0b8a8e72916cba4692a5f3626a11f98b662b4f704c960854b00c36055() - { - $this->assertTrue(true); - fn() => ($test instanceof $test->{$test}); - } - function testd5406416aeaefd02177fc8d3dd6b8c17f0a2c51dd347b988b74e076f8df429d9() - { - $this->assertTrue(true); - fn() => ($test instanceof ($test)); - } - function testd5711d88373ea32df4751d5bf37ee23d1edd3d75e639323611b4d1c73f483cd5() - { - $this->assertTrue(true); - fn() => (($test .= $test) instanceof $test); - } - function testd7746c089533a2dfd601c7a08f147eac908e1f2b965bcfd0bd15d37520fcbe0a() - { - $this->assertTrue(true); - fn() => (+$test instanceof $test); - } - function testdb1195ebf2f274e02933a96583ec5c4640f6809f345c63422e2b23d34e5748a3() - { - $this->assertTrue(true); - fn() => (-$test instanceof $test); - } - function testde8ca71cba6732e13a88689ecdf684aca9f9face41efa0a6fe74229d8df0f9a7() - { - $this->assertTrue(true); - fn() => (($test === $test) instanceof $test); - } - function testdec520361772514e2455c8c8c4eeae4212d399d136a08b6a94766dd673741a0e() - { - $this->assertTrue(true); - fn() => (__TRAIT__ instanceof $test); - } - function testdf446ab2fea5baa2bdcee6a6c30b6287b149412d704a0fe7287fd4375f973867() - { - $this->assertTrue(true); - fn() => (($test <=> $test) instanceof $test); - } - function teste0b6e340b1538f7ceb612b20f381c8ef0e03a4a510d0db8bc664a7595b3f328a() - { - $this->assertTrue(true); - fn() => ($test instanceof (@$test)); - } - function teste1cfb4763675d32c7b4aaf5605e4427d5dec881066ea9515344abf8f645a1eab() - { - $this->assertTrue(true); - fn() => ($test instanceof $test[$test]); - } - function teste5c705c7fd899a225efe07269d16ad64e8a89ab58e3b4455d22581e812304245() - { - $this->assertTrue(true); - fn() => (($test * $test) instanceof $test); - } - function teste75de30efd9fc01bb4a20b64591a2fd09ed1d7496785553c27e3e8898da411d6() - { - $this->assertTrue(true); - fn() => (($test >>= $test) instanceof $test); - } - function testea7cae0145b283376d9179569ab73850069eced12492e13443eb70f8c83a18cc() - { - $this->assertTrue(true); - fn() => ($test::${$test} instanceof $test); - } - function testecde94d7f6953f332d4bcadaf545bafbf9b5cd499583bd428974cb94cd6b4518() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ instanceof $test); - } - function testee39512db80813a0e45ea54cc60af50c76382ccb697b9c5d4101f4a40a4c9bc3() - { - $this->assertTrue(true); - fn() => (($test << $test) instanceof $test); - } - function testf10013c0a57963819f8a6baae5562ad3bf1eb341e815cfd174ca328c5ac6c932() - { - $this->assertTrue(true); - fn() => (($test += $test) instanceof $test); - } - function testf531f00f37ad762092028a29c833519d06187e53af5e5d04252e84a9352181be() - { - $this->assertTrue(true); - fn() => ($test instanceof (~$test)); - } - function testf90924e750f95b4997c2ca171634984d2aa795efbcb3432021ab7e07c6aa5005() - { - $this->assertTrue(true); - fn() => (($test ^ $test) instanceof $test); - } - function testfc44380468801f3395cfbdfa61fe94b76c3219dedb3b5f210f6ec00c5ddc98f4() - { - $this->assertTrue(true); - fn() => ($test instanceof (eval($test))); - } - function testfd6aab955f456039cc4400305e43d6dbd173f2de2e0d6a1accab44e14974e36f() - { - $this->assertTrue(true); - fn() => (($test -= $test) instanceof $test); - } - function testfea3596a0258628ed7fe59c25db5a2bdad4930e339e1c1f129ec271f83cdfb08() - { - $this->assertTrue(true); - fn() => (($test > $test) instanceof $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test.php b/testsGenerated/Target/Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test.php deleted file mode 100644 index 18c780b41..000000000 --- a/testsGenerated/Target/Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test.php +++ /dev/null @@ -1,515 +0,0 @@ - - * @license MIT - */ -class Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test extends TestCase -{ - function test015c89a5a57a47ef04708f79d054b6072e64fce83e7cbcc38d9dea2c7086e32b() - { - $this->assertTrue(true); - fn() => (empty($test /= $test)); - } - function test094728e0aac2f244e8aa5c591b7ba084cf9a814695f4e3460c59b5c2dc4136a2() - { - $this->assertTrue(true); - fn() => (empty(throw $test)); - } - function test0b2653c8ad02c2f3f1b3078cdc86c0c279e99fa88065ef8a791ae0e052f6c5de() - { - $this->assertTrue(true); - fn() => (empty(++$test)); - } - function test0d84a3f6d8bd8ef9f8ae89971e7b1c6f8e4bf21c6d4eee94b5b010e83e7a58b7() - { - $this->assertTrue(true); - fn() => (empty(__FUNCTION__)); - } - function test0f925fcf8ef0368e35ce17097f61575a51777aa6c2a81c3dff2a5e58039c588d() - { - $this->assertTrue(true); - fn() => (empty($test++)); - } - function test0fab1f17d1e1f008720acc9e578c27d7cdecf2783282fe69cdd7f20b17a9e1ac() - { - $this->assertTrue(true); - fn() => (empty($test <= $test)); - } - function test12d498b4967dbcafe7d68f337d84d1a948755cc5758153cd9b9eea3eadfebbdc() - { - $this->assertTrue(true); - fn() => (empty(+$test)); - } - function test18b15e508e06f0911993713bbd510d5d427fe5c2e5870d70fa444289957484dd() - { - $this->assertTrue(true); - fn() => (empty($test ** $test)); - } - function test1abdb8b93a1274cd6019a05081ab10b14d87855369839259f8cae87ba6512410() - { - $this->assertTrue(true); - fn() => (@$test()); - } - function test1e7a08ba090f12e51228d5ab9ca6c87807991dd9ec6e8cc581e953af590b961f() - { - $this->assertTrue(true); - fn() => (@$test->{$test}()); - } - function test1f8d28d939fe1dc48774e15e8989ddea22cfc103e878d733a7fee036c656bb9c() - { - $this->assertTrue(true); - fn() => (empty($test?->{$test})); - } - function test1fcc027592e6336569a99b643d46691ae24b557db355407d28cd88f29df4c3f1() - { - $this->assertTrue(true); - fn() => (@[]); - } - function test21aae739f8d5baeb113b22ec3ab5415e84dc665bca7f151cb74c55b8337e416c() - { - $this->assertTrue(true); - fn() => (@function () { - }); - } - function test21e945e059dd6d06c8e98cb2c32ef9dfb7b96c1251b94cc8d9583c740b33649b() - { - $this->assertTrue(true); - fn() => (empty(match ($test) { - })); - } - function test2335358c8a55a4746a99aedef5e969352d66dc95bb5f434aa41af400923f93bc() - { - $this->assertTrue(true); - fn() => (empty($test != $test)); - } - function test2401b5279a524ab2494bab4448a613d95cfcf95d652e9868551de7ad0d1a4de5() - { - $this->assertTrue(true); - fn() => (empty($test >= $test)); - } - function test26eb1e7edba2cb9a14ce2bf1e10d87aa354c7a9b58244db0809ad5c39f9142fc() - { - $this->assertTrue(true); - fn() => (empty(yield from $test)); - } - function test273f67244b2aca379fee42b5db86d8d6c24031df0e17833eed8aa02aa19e3edc() - { - $this->assertTrue(true); - fn() => (@($test = $test)); - } - function test31aa745283e917b771b4d828919e22926ac229d7666fd04b4eb31958394acbe2() - { - $this->assertTrue(true); - fn() => (empty($test <=> $test)); - } - function test347d3e0219ffa055894f7ea03077d2620e922eb524b01f5cdc9aa82748c1febc() - { - $this->assertTrue(true); - fn() => (empty($test == $test)); - } - function test35be7dffd7a6f9ea0af9fca18ad76e98bf41880f3568e2522426f2943c0296ee() - { - $this->assertTrue(true); - fn() => (empty((array) $test)); - } - function test35c25a6dc755a47ad79e1564b2d62517a18defb214644a76d3a2b89d1b639a60() - { - $this->assertTrue(true); - fn() => (empty($test -= $test)); - } - function test3c616becf16c6e01ddd026d8fdb5bf57f2c9beace93e633ca4770e3688188e2b() - { - $this->assertTrue(true); - fn() => (empty($test--)); - } - function test3c76478f59c4555eb9b0e8bd70e8b89812c58bd9bdd27070544c122dba82a914() - { - $this->assertTrue(true); - fn() => (empty($test ? $test : $test)); - } - function test3e54f68b403c9cac99d9205d0955370cccab3583591811b6e463eed8e9ac0af5() - { - $this->assertTrue(true); - fn() => (empty(${$test})); - } - function test41a2d9d343344866346134a290a55b5129c36a8357d5ed72259430b949f3a2f4() - { - $this->assertTrue(true); - fn() => (@isset($test)); - } - function test4211833ed8053323ae7be82391cb8be21cf392296dc26297672ad02a32279340() - { - $this->assertTrue(true); - fn() => (empty($test->{$test})); - } - function test4259e82ca32ee87c0acaf759b3394a1463e3ef7004235f632f19e7b714f7f38b() - { - $this->assertTrue(true); - fn() => (@eval($test)); - } - function test44f2da76c2cfd21c96a41c06dc4b0a82479471ce504a951ac077443eef376c08() - { - $this->assertTrue(true); - fn() => (empty($test !== $test)); - } - function test458115c77c62c67de10e56465f4ec410f73f0b600c3445c28ac934d5a25a6c9c() - { - $this->assertTrue(true); - fn() => (empty((object) $test)); - } - function test4643af66956ff9ee53dee44772f77f00f3bb013934a99e1337d6e5e7c8b7b322() - { - $this->assertTrue(true); - fn() => (empty($test >>= $test)); - } - function test4ccba2a908aec9d6a03fa0a0b7076a4ad88b7566e0a7124d7471cddd3dd41b8b() - { - $this->assertTrue(true); - fn() => (empty($test <<= $test)); - } - function test4f5c4fe5a0736b6b02c8ad2e4fb1493304c1d0b92b7708f1058d65c1ae3f8642() - { - $this->assertTrue(true); - fn() => (empty($test ??= $test)); - } - function test50158b4ed9f9167719a567bb56b53dd434f5fb0a46730ee0b996d06a0319fbfd() - { - $this->assertTrue(true); - fn() => (empty(--$test)); - } - function test592f23dc2f78dfc4482ae5716389fb916ff291e824ff4d178ac6efb2fdfa6c2b() - { - $this->assertTrue(true); - fn() => (empty($test - $test)); - } - function test59f99a75ee8f71190529bb1bdbff417aaa85b0c55f0144d75ef5df86696ce75c() - { - $this->assertTrue(true); - fn() => (empty($test & $test)); - } - function test5b4a51563e6b02aa117e65f64ad556232c8d9bb95c06720704fd98ef1fb26bf9() - { - $this->assertTrue(true); - fn() => (empty($test ?? $test)); - } - function test62bdbe278d1e7fcfa16d4d8ed85db6a02ded7ef52cb88f0b53323472e6c8f923() - { - $this->assertTrue(true); - fn() => (empty($test / $test)); - } - function test64dfcb11edd4c9080e40a1fe880f67541a07b7106452c108303065f89b7e295c() - { - $this->assertTrue(true); - fn() => (@self); - } - function test67ac2f013ac8826eeb2be89494304e5dfa446c7896f4385abd3c83ad8c8d4916() - { - $this->assertTrue(true); - fn() => (empty($test .= $test)); - } - function test686c6eea71a2802a6a02a524a81499667165f8bf935a6522cdc7eb57e9c55fc0() - { - $this->assertTrue(true); - fn() => (empty("{$test}")); - } - function test6909d13939c4e0c096b5ae1db2c0a6c4279761bb62f582b9e250e933d0d44249() - { - $this->assertTrue(true); - fn() => (@match ($test) { - }); - } - function test6c3a431ec99e986db81562961fa2f1e9ab0b539688f7f879eb7f9609398f5267() - { - $this->assertTrue(true); - fn() => (empty($test || $test)); - } - function test7b388aa7b6989432e23afccd495ec3614e444d383a727723326ec211e2fe03da() - { - $this->assertTrue(true); - fn() => (empty(new $test())); - } - function test7c3ed5a15d496d0dee2a28b17972b748fd847ccda789d4bcf620f30d669de484() - { - $this->assertTrue(true); - fn() => (@@$test); - } - function test7c555d750f26b6d5056ce018524cb9e1195665e7e95b3a90d190a049d4302a81() - { - $this->assertTrue(true); - fn() => (@clone $test); - } - function test7cace0b0bdacd8f892131d30204ade7a09727d2ec56598ef63c12100386f7387() - { - $this->assertTrue(true); - fn() => (empty($test?->{$test}())); - } - function test7f9742a6ad776f9ba00737903af7e9dfcd9e67ba03bf8b1606aaa52dc1847d79() - { - $this->assertTrue(true); - fn() => (empty($test *= $test)); - } - function test7ff195378b1170aa885ea532430d019641e9117c36fd61728c538eae69bd4b66() - { - $this->assertTrue(true); - fn() => (empty(``)); - } - function test80c993083cd39e24cd4588df93675041e1e33b105c115463a6f828dc624f9f00() - { - $this->assertTrue(true); - fn() => (empty($test . $test)); - } - function test80e4ff09806ecc2a3efa4876cb01a96212163709a02283ec5598f3213d9f5cfb() - { - $this->assertTrue(true); - fn() => (empty($test === $test)); - } - function test8159bd1d3fb472a4fba456a4f4472c5b27cec32a276f31cb417a363d0f172a11() - { - $this->assertTrue(true); - fn() => (empty($test << $test)); - } - function test8379e63d5177d4ba14776e597099b3e16734a6ae1b16ecc2e6bbf05bf1f557eb() - { - $this->assertTrue(true); - fn() => (empty($test ^ $test)); - } - function test87d7777db70954c9e0aaf4429d79ecb2dac3d803f2f3537e371059b3e446d733() - { - $this->assertTrue(true); - fn() => (empty($test % $test)); - } - function test888fc47adb43f6db6d67dad822033dc36dff2cd43508805885552c5a1373e56a() - { - $this->assertTrue(true); - fn() => (@(!$test)); - } - function test906e53f68e90c4efd9377040d1c962b432da724f9915d94cfe908d13813f9963() - { - $this->assertTrue(true); - fn() => (empty($test ^= $test)); - } - function test943b26fc4aa53bc602711676fca32cfca24d59a5b5a498294b968c273e133364() - { - $this->assertTrue(true); - fn() => (empty($test %= $test)); - } - function test96e035374972f6fb780b9df16f1b2796e54c2b3d83b207e320f8603a56416bc7() - { - $this->assertTrue(true); - fn() => (empty((yield $test => $test))); - } - function test97a7598759d00d492d54dbf6a174e3d865cfb60e78548087dfa94a9e3b71c24f() - { - $this->assertTrue(true); - fn() => (empty($test &= $test)); - } - function test9f0c3647a823d936e972f8ffa6848d3e3d5729d668ea8c503ca8ee10044787f5() - { - $this->assertTrue(true); - fn() => (empty($test |= $test)); - } - function testa0420264f5fccd7ddb8eaa138ea28ae54a22dccf5db77f2af3384bdf6fe0361e() - { - $this->assertTrue(true); - fn() => (@new $test()); - } - function testa2b71d1f432027e2fc9af6d09fe9c2b1afc8bc960a6359e3e0671af75dc5bd11() - { - $this->assertTrue(true); - fn() => (empty(0)); - } - function testa37a3018de258a099b3f59cd58e1caf091a122611d35e9088c7d03b176d86860() - { - $this->assertTrue(true); - fn() => (empty($test->{$test}())); - } - function testa591c367af98c48292601b81a46a6941330b13ea2ac93378cdb88f098a1e3259() - { - $this->assertTrue(true); - fn() => (@($test =& $test)); - } - function testa5eaa25c4afd574854d41d2889115ef4a1e9e136378d1c1da2aea2bb02bb0110() - { - $this->assertTrue(true); - fn() => (empty($test::$test())); - } - function testa6c61a4ee61673899694936dfc093b6d0496b9cdb2c58293b01c70fe096b3b42() - { - $this->assertTrue(true); - fn() => (empty(__TRAIT__)); - } - function testac70d61955de153d437d57ff1ddd82487384a335ccf55e358ad4a07b75375eb7() - { - $this->assertTrue(true); - fn() => (empty(print $test)); - } - function testafb38049d4b32f24f3be497d458abdfbabd49623b888cb148a64069b24add866() - { - $this->assertTrue(true); - fn() => (empty($test > $test)); - } - function testb11e5da346a1f025e63e8cf35721e70ea9897ec3820511dbbcc9016ac8ee8d0d() - { - $this->assertTrue(true); - fn() => (empty($test **= $test)); - } - function testb2ce7f8304580cd298fb7226d36e74ec18dd137d5dfe601c4dc03ac8e43d63a0() - { - $this->assertTrue(true); - fn() => (empty($test or $test)); - } - function testb9cb152211c3d0be71986ece4051418817291b6471b23de430757a6b78706941() - { - $this->assertTrue(true); - fn() => (empty(-$test)); - } - function testb9d2029f68e0213f555e7e58b88083443639bba645dd4683caf89416accf4bb4() - { - $this->assertTrue(true); - fn() => (empty($test xor $test)); - } - function testbf395faadf3c799e3b33cc487977177b30e126f3132e0475bf87aa8fe7ba7fce() - { - $this->assertTrue(true); - fn() => (@$test[$test]); - } - function testbfe5f4fd46a356bef0f2e5d692d0754280f43d92852f020d534bff0871291f08() - { - $this->assertTrue(true); - fn() => (empty($test and $test)); - } - function testc2df55b7a30afd4684bfb7d55312a85c0267dedf22bbcdcb4e9c72a3b64b9167() - { - $this->assertTrue(true); - fn() => (@$test); - } - function testc66cba8a671cc572efd99880bd531117d38d8ca8ccff92291d797d6f15171031() - { - $this->assertTrue(true); - fn() => (empty((string) $test)); - } - function testc815c8fd086b548a087a28b58341c20af453141bbe97229eb30fb9ed98051d5f() - { - $this->assertTrue(true); - fn() => (empty((bool) $test)); - } - function testc93c2e6d747f28a80251deb63979b05b0c3da5273556f3f40713b392be17001e() - { - $this->assertTrue(true); - fn() => (empty($test && $test)); - } - function testcacef60e3790435ccd239c630d20758a8feab2cd96e5f197ff7e775e4e5a33e6() - { - $this->assertTrue(true); - fn() => (empty($test * $test)); - } - function testcb10ddea5d33830b90e66dac3c19f5d77cd791e724a966ec2a7a3f002b0d167d() - { - $this->assertTrue(true); - fn() => (@$test::$test); - } - function testcf97c63a16b8f96947ec4150acefbab83931b20cf88e029ed326d5f6919cc192() - { - $this->assertTrue(true); - fn() => (empty(__METHOD__)); - } - function testd2d5df0535a317a88aefdb26613fbd1429c97b5b3cc510eb9dc6b97b2eaeeb17() - { - $this->assertTrue(true); - fn() => (empty('test')); - } - function testd7e81b506f5838bd810629520a65a84386e8f9a26813139d24f642b82c66ab54() - { - $this->assertTrue(true); - fn() => (empty(__CLASS__)); - } - function testd7feae096df7792661257ad90cafbc2bff2c884d3e14b8bb544d889bce18a22e() - { - $this->assertTrue(true); - fn() => (@~$test); - } - function testdb0c2bf0e6b765ad4f5fc85e9f7b133df294ff56e31fa24897906c159aa79562() - { - $this->assertTrue(true); - fn() => (@( $test)); - } - function testdc7d6320841034e4068ce1de3502d508973d4bba2ae1883001886336cc33f07f() - { - $this->assertTrue(true); - fn() => (empty(0.0)); - } - function teste2c18b0de33ccfee964fecf547caf6da4c224c922dc3b7bfa45eb3a40de14805() - { - $this->assertTrue(true); - fn() => (@($test instanceof $test)); - } - function teste3b97aa550cd4c0766eface1e3277f4ae2101b6219814863ebc899fc0fec0d38() - { - $this->assertTrue(true); - fn() => (empty($test::${$test})); - } - function teste5d24bf9a048cfb4a75bd29ef97a38dcc3071cde8293e28ec366d3af63123738() - { - $this->assertTrue(true); - fn() => (empty((int) $test)); - } - function teste7a57edd48ac9c89fbccef100db0c5dbb10cdc8fb2abc5b9558071a08fa93c96() - { - $this->assertTrue(true); - fn() => (empty(__FILE__)); - } - function teste9c3dabb3f887da695d02f442919e8a0fe808e7d45da3304f29453b13f4a8605() - { - $this->assertTrue(true); - fn() => (empty($test | $test)); - } - function testea66b7ae71ee9daf255ea65d7cae4708ea8484641ec87276253a50e64e3c8ac5() - { - $this->assertTrue(true); - fn() => (empty((double) $test)); - } - function testf3787f20edfadf2d32076c2f885c36d5ce6f384e32fd4727aee2d5ed6592163b() - { - $this->assertTrue(true); - fn() => (empty(__NAMESPACE__)); - } - function testf73d9b94aa10940bb224b56ea9c552daf8617df8a272267260daf61c43ae1204() - { - $this->assertTrue(true); - fn() => (empty($test + $test)); - } - function testf74ac41ead81a8c0993bf8a96a89480ce135925a96c159ba2ed2784b53a88f49() - { - $this->assertTrue(true); - fn() => (empty(__DIR__)); - } - function testf82d0cc0101bb3e446ae0b0e8d69b0cb1119e5ab1bf3851257109271b08f7ba8() - { - $this->assertTrue(true); - fn() => (empty(__LINE__)); - } - function testf9d92a630d7e8af7adec4d6581a5544d3e8db92873e2f5c607d3257f10671dee() - { - $this->assertTrue(true); - fn() => (empty($test >> $test)); - } - function testfb2d576b174907d592bfa31d9fcbabc8e7c02aa6ea91469933f8194f33230115() - { - $this->assertTrue(true); - fn() => (empty($test += $test)); - } - function testfe3f1b64c887a53494a2079467ce5bbe4e10f45121665419cc13f9cf7db14ac9() - { - $this->assertTrue(true); - fn() => (@empty($test)); - } - function testff7986971f5eecd62e3945f2398d4950556b1a05f162c4270c1d25d186072ec1() - { - $this->assertTrue(true); - fn() => (empty($test < $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test.php b/testsGenerated/Target/Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test.php deleted file mode 100644 index a2531d5b2..000000000 --- a/testsGenerated/Target/Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test extends TestCase -{ - function test0125976db556b534a01dc6b8ec6f116db8e930163b7cb70b3a3a5b18a603d8b5() - { - $this->assertTrue(true); - fn() => (--$test >> $test); - } - function test0487057703da14511e9154289e9748f59a9aa0d3870b9dcac96f51f8c9452882() - { - $this->assertTrue(true); - fn() => ($test >> isset($test)); - } - function test071b3b66b68bdfacdd3af22232ff80ab444832db06cd68e2dd18036e84fd1b6a() - { - $this->assertTrue(true); - fn() => (($test -= $test) >> $test); - } - function test09e51b32b81e0e7faeb3252de546cd5571bebccc5658628aaaf2f86ed5539eb7() - { - $this->assertTrue(true); - fn() => ($test / $test >> $test); - } - function test0aeda4b9519bd665dc4e2f4ab41a220507939ee4230429268b141c0e41d20dd8() - { - $this->assertTrue(true); - fn() => (${$test} >> $test); - } - function test10dce8e71037d428d18280fbf72608ea0ba866289a1c80cf103bf4e43b5f9b22() - { - $this->assertTrue(true); - fn() => (throw $test >> $test); - } - function test10e35c377e53cf86bd472cd62e554d450424444ee172e0ece1dd02ee27583538() - { - $this->assertTrue(true); - fn() => ($test >> $test::$test); - } - function test1371cdf27a697bf088c52258565ff1507ce6c30369a52d3d136e11ba077f1964() - { - $this->assertTrue(true); - fn() => (($test < $test) >> $test); - } - function test23ce021809e2ef6d2236632fc92957e42e94cc5d366acf4ec0e9ad6196e5f14a() - { - $this->assertTrue(true); - fn() => ($test::$test() >> $test); - } - function test255e9a76e39ce237e89bce1ea28ea0d4ef6d63b60d542a8bf7d3e3d05ec43d72() - { - $this->assertTrue(true); - fn() => ((string) $test >> $test); - } - function test279a340b158a93e8ce8699e502f4004c1da65af387ad5c83357c5b4364452a67() - { - $this->assertTrue(true); - fn() => (($test xor $test) >> $test); - } - function test2c53ae89c98ac5cf5e9a74d592a5aa6ff8b75b1c916a482a01bdc83336b52d4f() - { - $this->assertTrue(true); - fn() => (($test += $test) >> $test); - } - function test2c61b813f3587794debe3f84e9b13fe20e72ecbe577583783d11638db0aeac51() - { - $this->assertTrue(true); - fn() => (($test != $test) >> $test); - } - function test2c82f00da5270bf6161d11ed8f3df0bc178b1bdc77791b877a9e9e5a282cf447() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) >> $test); - } - function test2e19ccaef0a0df2d05dd43333e287cd5d09faaeebfe9d8798a3b768bfc95544a() - { - $this->assertTrue(true); - fn() => (($test or $test) >> $test); - } - function test2feb7fac8ab784741cdc4431d87f05d9d96f55d14efd458c8290db16b049eb6a() - { - $this->assertTrue(true); - fn() => (+$test >> $test); - } - function test31da4e25060a17b8300292b4f174f4f518833c801e4a0e0946af975faa2646a9() - { - $this->assertTrue(true); - fn() => (-$test >> $test); - } - function test331891c661c8240fe0bb5d4b86f17258a2017ae031265fd1fa60cb46f1c79381() - { - $this->assertTrue(true); - fn() => (__TRAIT__ >> $test); - } - function test351f7904827b389ea7a10d91136fcc92efdeaf1ab58217d900fc4cf58934a074() - { - $this->assertTrue(true); - fn() => ($test >> $test()); - } - function test3926abb3a40ee1af086c99089a15c80a8343e9f8a0a8542710b9ac7f74d834d3() - { - $this->assertTrue(true); - fn() => ($test::${$test} >> $test); - } - function test399f12b8b2a7973e881f4a6bf9e886c229419deeb62114b45e37a6d43ceedaf7() - { - $this->assertTrue(true); - fn() => (__METHOD__ >> $test); - } - function test3a5ae8ca0386ba8487d817bb29b27ff4f98db96078e57a666bd35d945832fd52() - { - $this->assertTrue(true); - fn() => ($test >> $test--); - } - function test40d7e2da4eb0d69598ede3f854dca3b4d5317871a4c72207144ad7dca244dada() - { - $this->assertTrue(true); - fn() => (++$test >> $test); - } - function test417aa961e2cac8032769744ff0cf7f2225fb9f06f76a608c641b3eb1cc003764() - { - $this->assertTrue(true); - fn() => ($test >> function () { - }); - } - function test41eb9e24081d78b3bde4b4eef7b075e39a676c47256dcf4082728741a0907909() - { - $this->assertTrue(true); - fn() => ($test >> ($test =& $test)); - } - function test4255fed2622192fc798f6b0bbe73b6aa5e2acadb36bddde5a89ef0a5f9317649() - { - $this->assertTrue(true); - fn() => (__DIR__ >> $test); - } - function test4acd1458d7effaace7725228c0c77a651c45c053e3481f853d82cba8c7f294b6() - { - $this->assertTrue(true); - fn() => ($test >> []); - } - function test4dc58e93b78a6e0ac78e1258541bbd14606c29d45c5558dadee21b7f60839028() - { - $this->assertTrue(true); - fn() => ($test * $test >> $test); - } - function test4e6ce11429f7d2fa4c4c3de3ccfa5259ad639ce0c07eeb84f730c43ace88370c() - { - $this->assertTrue(true); - fn() => (__LINE__ >> $test); - } - function test517fa5a3ead874e218576d590f030450a2b973c98fd6f9bd4c58ef8f24eb2443() - { - $this->assertTrue(true); - fn() => ($test->{$test} >> $test); - } - function test55a909bcb9915890ff5fbf4a7277a095c54cde1271613dc09dba0acd20b8efa3() - { - $this->assertTrue(true); - fn() => ($test >> self); - } - function test57743f8071c8e63a0ed8a3ecca4b310719cf9a32cbbe65eb3e708c8d238d29e7() - { - $this->assertTrue(true); - fn() => ($test % $test >> $test); - } - function test5d1fbb019b92a12ac509def10b1e97a6b274d28a7fb7fe4cbdbc9882c6be48d4() - { - $this->assertTrue(true); - fn() => ("{$test}" >> $test); - } - function test5de1dc5ba3cc97e8f6dcda360e30d3c6494384e734c2d4dd4f610b6f46a7f701() - { - $this->assertTrue(true); - fn() => ($test + $test >> $test); - } - function test5fa84b3cb03c519696fc3bd3768a167fc1a69852646ea9fd0ffd909338ade276() - { - $this->assertTrue(true); - fn() => ($test >> new $test()); - } - function test5fb922cc8aafef6e6241ff1434fd16d552896031265a8070f63b4a793715c271() - { - $this->assertTrue(true); - fn() => ($test ** $test >> $test); - } - function test620de0da27fde65bbb792d4b8ea17cf209a6fbbbdc2751dd81795fea3543bf90() - { - $this->assertTrue(true); - fn() => ($test-- >> $test); - } - function test6493b768dded2eb8f30fb5d5542cf81b2a825f0f8af80a48c91d2427d07c3d45() - { - $this->assertTrue(true); - fn() => ((array) $test >> $test); - } - function test6930bf0c6e25b09bd8b9f32d5e580d1c0a361d1efbce1f187efd9de260d1eb65() - { - $this->assertTrue(true); - fn() => (($test ^= $test) >> $test); - } - function test6c15dd26a1bb18300c9f848c50782f30f8a4c795e3191e91fecafa89cde239b1() - { - $this->assertTrue(true); - fn() => ((print $test) >> $test); - } - function test6d7b5154e0c9eea9df8abc370a3295d3ae869894cff9be689e16161e26f66af5() - { - $this->assertTrue(true); - fn() => (($test && $test) >> $test); - } - function test714f9c6ba32d3a121884ea541a5d52139666f86a299b4a17307bcfeefcc1cbb0() - { - $this->assertTrue(true); - fn() => ($test - $test >> $test); - } - function test74e3cc45ca4de6d3ddf3c8860ce05c27adb3ba251916137d1a81e802bab6cc17() - { - $this->assertTrue(true); - fn() => (($test >= $test) >> $test); - } - function test789037c8fa590c71d36675e58baa2db3f91de31b1c714f7b2173ebe6ff9c923c() - { - $this->assertTrue(true); - fn() => (__FILE__ >> $test); - } - function test7e6e89152d8ca0124736b222312c0f8333ad89ac0b503cc9ce0e4e19e6d5bd9b() - { - $this->assertTrue(true); - fn() => (($test >>= $test) >> $test); - } - function test828d19ce5cac6222506cb92915222f4bc726d61dd4cd2639464c3a36c5598619() - { - $this->assertTrue(true); - fn() => (($test ??= $test) >> $test); - } - function test82e9001588f649f585be36f5af3b9bb5b3f0fd8cad0832558c01b0e9656ca5fd() - { - $this->assertTrue(true); - fn() => (`` >> $test); - } - function test8374304a8654e9a79710277a67f3a6dffc12f3dfbbea7f9b7b082412272c194b() - { - $this->assertTrue(true); - fn() => ($test >> @$test); - } - function test8428a99827f3435b177d37079b671ab350c0537cff72328bc3223a914bb929c8() - { - $this->assertTrue(true); - fn() => (($test | $test) >> $test); - } - function test8653a977a1bb35771bf5b412f25b96c607c359e3229031809325fece1023387d() - { - $this->assertTrue(true); - fn() => ($test++ >> $test); - } - function test8cdbabeb7aaa76884df04c0df80654dd5ebba13e0c0c28fe4ef24009f31459f6() - { - $this->assertTrue(true); - fn() => (($test === $test) >> $test); - } - function test8f1b7ef499fd0bd1f23913cf403509b69144dc123b386c98a48c27dced0ad022() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) >> $test); - } - function test9155c3253bdb95b2ffb6f1141e5b3209dd09475749f98d5611d7bd00f9c468ff() - { - $this->assertTrue(true); - fn() => (($test ?? $test) >> $test); - } - function test91fbc65ef0b1e5f6196b4482b3257b0bedb2e2586f7be37376618c86943da746() - { - $this->assertTrue(true); - fn() => ($test >> match ($test) { - }); - } - function test94d3eb76262dceca72e79be163f11992bf9cfb1ac1aa92c0f4aa3079b172528e() - { - $this->assertTrue(true); - fn() => ($test >> eval($test)); - } - function test957dea061f4cc1b9e82acca1d6a6fc0ca278fcdb8898c81503cf2f72108a136e() - { - $this->assertTrue(true); - fn() => ((bool) $test >> $test); - } - function test98068c37ddeae234ef6ba46d06df2808bab7449c75751403fb99795e10cf2b6d() - { - $this->assertTrue(true); - fn() => ($test >> ($test = $test)); - } - function test982f4443b75d2d70c9640800e5ab2e3134edd62d7dd129af8241cbc7ff1d9a0f() - { - $this->assertTrue(true); - fn() => ($test >> $test instanceof $test); - } - function test9945e6bf1e063282a766b144317c4d48aa3dc5b14abe13c74b4efe6fc1e5150f() - { - $this->assertTrue(true); - fn() => ($test >> empty($test)); - } - function test99b46a632193d6b0008cca5340466a7bd429f7b5c9596666acd9a0728ba47a9d() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ >> $test); - } - function test9a6486c630e157a2ea3b8185ba04e19cd84569f233d7e329a6a5a32c2d16fbeb() - { - $this->assertTrue(true); - fn() => ($test >> ( $test)); - } - function testab222413ed5cc81e239530e116f2996bb6ac273ea4e10f484a93a190366709ac() - { - $this->assertTrue(true); - fn() => ($test >> $test[$test]); - } - function testabb024d391a285f1485352f9afac4563ec1a2200e277b872f0a2e726776a3ec1() - { - $this->assertTrue(true); - fn() => ((double) $test >> $test); - } - function testac07da629fc2dc21d089d679f5be660532028f71bfca502537ca63adaf586e4e() - { - $this->assertTrue(true); - fn() => ((int) $test >> $test); - } - function testac6f665e049e2daaf33eb773744d806789843b4f7d83f0b5f78f729bd27b7525() - { - $this->assertTrue(true); - fn() => (($test <=> $test) >> $test); - } - function testaca456aa4353227bc172ceef3777beaf4136aab14afe8d2608ba24f8f490c262() - { - $this->assertTrue(true); - fn() => (($test ^ $test) >> $test); - } - function testb50c0d3d487ed5498841bc765964a6a4af8c592e5fb732d081e0c14cf1923686() - { - $this->assertTrue(true); - fn() => ($test >> !$test); - } - function testb5effe387f4039a482c1cb4930ef5f26082c3e037cd9846292c12d1a002217b8() - { - $this->assertTrue(true); - fn() => (0 >> $test); - } - function testbe577adb20d3317337c78fa441fcf8c0daa608d377554424811236a9f18d0316() - { - $this->assertTrue(true); - fn() => (($test &= $test) >> $test); - } - function testbf1703fdc9daf378786e3e3569eb216299d5910ae20a8b142fb1a0bf16a4bfb5() - { - $this->assertTrue(true); - fn() => ($test . $test >> $test); - } - function testbfa3d25757285ca1a91c0f2d135d337b1f76393ec4d4509b152f35f070284ce8() - { - $this->assertTrue(true); - fn() => ($test >> $test >> $test); - } - function testc1d9debaf931ae8ea62849f9c72dcb7b419596c38e2727d5666adeb76b0cd594() - { - $this->assertTrue(true); - fn() => (($test > $test) >> $test); - } - function testc3bbc34fcd616537348633b66f0723c3823e8237467b9f18446ceea10996486c() - { - $this->assertTrue(true); - fn() => (($test <= $test) >> $test); - } - function testca4572c39ba9c4635bcd17776bd0b26d57ff8692c0a2e00ff4f1dd80bb90f27f() - { - $this->assertTrue(true); - fn() => ($test >> $test++); - } - function testcc802c4ec3fe87df7d484dae0d7e83177866cf3b810e3fc1c9724653425eeecc() - { - $this->assertTrue(true); - fn() => ('test' >> $test); - } - function testce25b83f76141265e07f4ca3eba2f49dda5f2e661708fe999bc3b7134cc283a7() - { - $this->assertTrue(true); - fn() => (($test !== $test) >> $test); - } - function testd1f9f916aa91140544df5caf229d193d4d0507e17a2c9f3a00e5852dcc60c095() - { - $this->assertTrue(true); - fn() => (($test <<= $test) >> $test); - } - function testd24ca0c9b86a98cf45e8a7aac8de3bb45f3fc01da70c37ba32ae004f67d55491() - { - $this->assertTrue(true); - fn() => (($test *= $test) >> $test); - } - function testd2e60907b2f6fa50f166095cab6a38b59892fb19f74af01f52ec0ff1c6ed6f1b() - { - $this->assertTrue(true); - fn() => ($test >> clone $test); - } - function testd3de6c4d4a6aa2c79dcad5e4d50822f3d425536fa0a572d87064b3a0d9922af6() - { - $this->assertTrue(true); - fn() => ($test?->{$test} >> $test); - } - function testd44770e5442b46e6a4885ef68683cf4f1bae7ef8b71e4306c9195993995651f5() - { - $this->assertTrue(true); - fn() => ((object) $test >> $test); - } - function testd5cad87858c8de68c6cf7fb4438192e0bb35bb6130db205adac01e4d798e40d0() - { - $this->assertTrue(true); - fn() => ($test >> $test?->{$test}()); - } - function testd7353675ba229c55fe888a96cd33f5c09c6e7ab547517955915d7c1b2b6ec5ff() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ >> $test); - } - function testd9742c0d72a83c168fa8370abe54623b0a289d6dc5adbd827b9c769504d3dcc2() - { - $this->assertTrue(true); - fn() => (($test /= $test) >> $test); - } - function testdd584c320c160116034858cae15f9c0f99d0656bc81425997efa7e6c963575af() - { - $this->assertTrue(true); - fn() => (($test || $test) >> $test); - } - function testdf2989f4d7902ea5fd176879d09719dd111a9678597439a45d25e10accca9fa3() - { - $this->assertTrue(true); - fn() => (__CLASS__ >> $test); - } - function testdf91c5a576de3f1b3d5057bb5135b2bff4c73032663a5ae0df44d94bdc3acafa() - { - $this->assertTrue(true); - fn() => (($test and $test) >> $test); - } - function teste0ceb742b4a22af0c5675b5e89ba7af0b964fdc7d74dfaa996ec03998a89e8ec() - { - $this->assertTrue(true); - fn() => ($test >> $test?->{$test}); - } - function teste12baaa665f7ccfa64f2a0f027df2229f47d868b224b05086c98c467941d1e64() - { - $this->assertTrue(true); - fn() => (($test %= $test) >> $test); - } - function teste1b33c135ddc0341b73c630940dc29e7e88bd30678f1b1421d334f0321d7b423() - { - $this->assertTrue(true); - fn() => (0.0 >> $test); - } - function teste1ec18a116a1c18227efc59ce08b6e1b03f30f2a1fdc15dcf2d372da96abdab6() - { - $this->assertTrue(true); - fn() => (($test & $test) >> $test); - } - function teste247be11842c30ffa06360df9f26fceecfa6d8b4c1e56ac6cfa19aa59d16c2e2() - { - $this->assertTrue(true); - fn() => (($test == $test) >> $test); - } - function teste66aa9de05769190d7c0bc3f9ee87f52b06acc589ac5461b0fb6d272ddeff144() - { - $this->assertTrue(true); - fn() => (($test **= $test) >> $test); - } - function teste78695967514b1241ab53434bba54867b278ff2c1cf9b27d7c04beb726c1f331() - { - $this->assertTrue(true); - fn() => ($test >> $test->{$test}()); - } - function testebd3a5aa448d632f27b319fa409f0ea9901e699a6e1820b7dafe9417e456e302() - { - $this->assertTrue(true); - fn() => ((yield from $test) >> $test); - } - function testf13dc0f9e2bcbbc6b6b2d04ecfcb547e71f902a00158b5d66409f7df479639fd() - { - $this->assertTrue(true); - fn() => ($test >> $test); - } - function testf55dbebfc2b0c97c5084028a638ebc78c50e5ec68be093c78ca6b5912d4f8912() - { - $this->assertTrue(true); - fn() => ($test << $test >> $test); - } - function testf7430f743bac46a5f6223f1f7302b96181b2da69d09a5ff027f3d95dea895824() - { - $this->assertTrue(true); - fn() => ($test >> ~$test); - } - function testff2681c0637761e2db588b724d765aa1c7f9c375fe2ac789a8b41dcaac7822a0() - { - $this->assertTrue(true); - fn() => (($test .= $test) >> $test); - } - function testff735597fcd9173ffcb8165c63832abc8fc2a904ffd011e9583eeee3ad5e3906() - { - $this->assertTrue(true); - fn() => (($test |= $test) >> $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test.php b/testsGenerated/Target/Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test.php deleted file mode 100644 index 447de007c..000000000 --- a/testsGenerated/Target/Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test.php +++ /dev/null @@ -1,516 +0,0 @@ - - * @license MIT - */ -class Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test extends TestCase -{ - function test021a880c05a54118c97ad1f32ba9b264404f2395bbcbb2a3ee00f28b05fd513f() - { - $this->assertTrue(true); - fn() => (isset((function () { - })?->{$test})); - } - function test038357a8edce04b208982bb86231af60869c2859dde9cb41637b351a26fbf385() - { - $this->assertTrue(true); - fn() => (isset(( $test)?->{$test})); - } - function test054e22420e5a220c95fa6f7c8124d7bff6055d7b787d849210a9c555d26b19d9() - { - $this->assertTrue(true); - fn() => $test?->{__FILE__}(); - } - function test0609c7a50f0a3af8bbd14dc664ed7a044d4d52b9a34a5bb4c6fd77bb719b3196() - { - $this->assertTrue(true); - fn() => $test?->{$test or $test}(); - } - function test0672653d8c57624e331f91df7056282e76639b514fcbbede279d0f8f655c0acd() - { - $this->assertTrue(true); - fn() => ($test = $test)?->{$test}; - } - function test06dc578d9d8c233e02e306bfca868dde0be64ad6295a50d09840c4a810c29e33() - { - $this->assertTrue(true); - fn() => $test?->{$test != $test}(); - } - function test11db589e30559a67d26a8173d42ac52aae4cce027f25f73103ac5cde647e19ef() - { - $this->assertTrue(true); - fn() => $test?->{__CLASS__}(); - } - function test12b0254873d6b305b3c0ddaf62bf63df77aaf65103917e64b412b0a91252d389() - { - $this->assertTrue(true); - fn() => (new $test())?->{$test}; - } - function test16d4533256fa3de2a1565a924a288368162173c7560b5af7c285fd9043093671() - { - $this->assertTrue(true); - fn() => (isset($test::$test?->{$test})); - } - function test18454296a4cb3e393168d4cc38d2104d4079967ffe1df252b4ae8113f0f208c6() - { - $this->assertTrue(true); - fn() => (function () { - })?->{$test}; - } - function test186333ff8aaf03f3c6443bf9018e7e632646189ccff4fa085703b39097f7c6d9() - { - $this->assertTrue(true); - fn() => (throw $test)?->{$test}; - } - function test1a5c180ec778b5c139ba87126677c2ecead2bb40562a412c936cfaa9399842bd() - { - $this->assertTrue(true); - fn() => $test?->{$test + $test}(); - } - function test1afc0613c530b255a7e0421fd75b5c860db90013f108461f5c96cd52a74122eb() - { - $this->assertTrue(true); - fn() => $test?->{$test - $test}(); - } - function test1df2809e170e4ab149d41c31ff4ab1b5dc43fe475b1d3c523fa150d7044e9e24() - { - $this->assertTrue(true); - fn() => ($test instanceof $test)?->{$test}; - } - function test2588ff21eeb26901ac4fc17092d414270e8201987edb1f44738c570860239606() - { - $this->assertTrue(true); - fn() => (print $test)?->{$test}; - } - function test29f57c1f0f861b4be08712188c1c549ce2ecde81a5028d49a0317bb48dc8a4cc() - { - $this->assertTrue(true); - fn() => (isset((``)?->{$test})); - } - function test2ac5fe8ab469b825ac22c19445fc183aee0b0e6aa3a8af49af666f1ae32d042e() - { - $this->assertTrue(true); - fn() => (``)?->{$test}; - } - function test30ce5d797f5911c037e7bdcb7542eaf2318e70e26cd01141677ca94779292cf2() - { - $this->assertTrue(true); - fn() => $test::${$test}?->{$test}; - } - function test3217cfffde0cc4c64527bbc446e34ac6fa555e1458a695cd719a3627e9883a22() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}()?->{$test})); - } - function test3293f411f033eb495378ad0ed74510c6517f74bd4e6940e885b590954894c4c9() - { - $this->assertTrue(true); - fn() => (isset($test::$test()?->{$test})); - } - function test336942764d1467e7743a4722c2a0072748ee3eac1a9b98b6b0391d60d0b79e91() - { - $this->assertTrue(true); - fn() => (-$test)?->{$test}; - } - function test342c61cac5d7c0c1cc21582f752e87ee3e8fb6d54a3927c529d7503050a9a3f8() - { - $this->assertTrue(true); - fn() => (++$test)?->{$test}; - } - function test350f4429f3a419d1a6f11c4e9e4ead98080d119a5380bd01df1bb9289b78fe03() - { - $this->assertTrue(true); - fn() => (match ($test) { - })?->{$test}; - } - function test353ac00a4de13949529809e273c47b63caacabbc264be073adc7b0aeadf9fe6c() - { - $this->assertTrue(true); - fn() => (!$test)?->{$test}; - } - function test3a70de9a0f6fd0098199d9748214e353612a0b990ca216459a58a1301e57d72d() - { - $this->assertTrue(true); - fn() => (isset($test::${$test}?->{$test})); - } - function test3d00b9c14d99f2ce078eee08e2ded86ea5067cbadffd4ada272bed21850c05b9() - { - $this->assertTrue(true); - fn() => (isset((throw $test)?->{$test})); - } - function test40ff5dc13c902606146e34c20478c90dbbd6729fd58abac556f603885055d843() - { - $this->assertTrue(true); - fn() => (isset((print $test)?->{$test})); - } - function test4c5d639b9f57b6aeee5c6d879d46934965af631dcb912fe095b3aafd36086355() - { - $this->assertTrue(true); - fn() => $test::$test()?->{$test}; - } - function test5400e0f2314d7eab7726689a785f4fbf151d9c791b9526f37fabb025053fcc88() - { - $this->assertTrue(true); - fn() => $test?->{__NAMESPACE__}(); - } - function test5707302d2ab97639ccb199e6c8275a77daa849b955b714046cd623abf3c86766() - { - $this->assertTrue(true); - fn() => ($test++)?->{$test}; - } - function test5941bca2ceecc4b400eaeb04e27218c7d5eb00282c865ccbe1c151182184fca7() - { - $this->assertTrue(true); - fn() => (isset(($test = $test)?->{$test})); - } - function test59888e8eee38dc8ccf0b4b7ed34f9c36acd62fc6836421fd66799e0858b87dc9() - { - $this->assertTrue(true); - fn() => (@$test)?->{$test}; - } - function test5a3560edc4fdefcf3531bb553cedac876f8a1aee8fdd32c063de62f69b6833ed() - { - $this->assertTrue(true); - fn() => $test?->{$test < $test}(); - } - function test5f967c5c6dd7f0a351abda516bf572610d8c84eda96bc67554a1bb679e03d2dc() - { - $this->assertTrue(true); - fn() => (isset((-$test)?->{$test})); - } - function test6523c4b741121133bd80835e54a4e6644402158acb74bc0b2dbc9b3e56cf8bca() - { - $this->assertTrue(true); - fn() => (empty($test))?->{$test}; - } - function test6573753ae13e8ad333464a6780316e50d9cec6a686ffe292653b04b5abf9a503() - { - $this->assertTrue(true); - fn() => (isset(($test--)?->{$test})); - } - function test6be23ff206758ddd69fc1a793f4ff8533fd39929472a2fca52eb7d17e7604029() - { - $this->assertTrue(true); - fn() => (isset((eval($test))?->{$test})); - } - function test6e9f85d842a135e64b1605c4dd43d31c0a6296a362ae69cb828efa1ab69799b7() - { - $this->assertTrue(true); - fn() => (--$test)?->{$test}; - } - function test7227297da9e1fedcead945db5012ea918bf1733b9ee5ad0804246c7696849038() - { - $this->assertTrue(true); - fn() => $test?->{$test xor $test}(); - } - function test729752b6bf79df1f71b5b5dd5db88f5efb015a15ee3ee904941a934a7c03d35f() - { - $this->assertTrue(true); - fn() => (isset((@$test)?->{$test})); - } - function test74499204a0eae47a22e6ee355c7b0c2ea56a5e0e606d9aa4aa4148d1de515612() - { - $this->assertTrue(true); - fn() => $test?->{__DIR__}(); - } - function test756b64a65814b1ca70680a1e40c337d54c2d7b6013f10d554f857ec06932c1b3() - { - $this->assertTrue(true); - fn() => (isset((--$test)?->{$test})); - } - function test76ab8efb93c8d03881babc1715f878d9a2254f0349bf63eb6f07f70a7d52afc2() - { - $this->assertTrue(true); - fn() => []?->{$test}; - } - function test7ac61c72cdab6bafb4b84cfc8127df22dd9a46a744db418de754547ef265f95c() - { - $this->assertTrue(true); - fn() => $test?->{__FUNCTION__}(); - } - function test7bc3ae0a816c33a39fa63e512af8834d35e1b2a8beb7cf7fab384cc34f8eba77() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test)?->{$test}; - } - function test7d29493c8abab804f38a34c2b16f0eb9f39b4adf117fbee50100938385c05810() - { - $this->assertTrue(true); - fn() => $test?->{$test << $test}(); - } - function test7de6a99fc083fca89233663b8e65d3cc000aaf1af0dd0fd84c7a32342b9f315f() - { - $this->assertTrue(true); - fn() => (isset((++$test)?->{$test})); - } - function test7eab0e46380d6f86940ca03e0afa95184745d39ed342a8cecc04723cf2adee65() - { - $this->assertTrue(true); - fn() => (isset(($test instanceof $test)?->{$test})); - } - function test7ec413c53452e2faeeb80232d0d74404547c4466641a43e7d8bcd61178c20019() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}()?->{$test})); - } - function test84fb58fbacf187f7ed4184ebc740bf642623f6eb36f249ec2a95b33e0af95ae2() - { - $this->assertTrue(true); - fn() => (clone $test)?->{$test}; - } - function test87730a7beed75328b1349fc120fca0573acd3a730d09aa5ac59d12a271bc5acc() - { - $this->assertTrue(true); - fn() => (isset((empty($test))?->{$test})); - } - function test8aee2e1795b27e5679d6ef1fef0e3a55d9f48846305d91777d8b59956537d047() - { - $this->assertTrue(true); - fn() => $test->{$test}?->{$test}; - } - function test91407d0a2c79e57e341f093c91b31b2b5e44aabd44ed926bd53054f978dedc51() - { - $this->assertTrue(true); - fn() => (isset($test()?->{$test})); - } - function test930c6ef3e186ddcc031510f627c36560874f9bdda1aa00cb6fd0c033eb1f1129() - { - $this->assertTrue(true); - fn() => $test?->{"{$test}"}(); - } - function test94d76b6ee4805f49766ddf1f84238e493de9466b2c5bb6da272c05e19a9267c0() - { - $this->assertTrue(true); - fn() => $test?->{(array) $test}(); - } - function test98245904f4d1d9898c42845be35c7038e72568345538576e1a47fe68a973e57a() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}?->{$test})); - } - function test988e24c15c5d897b5178aa6b9e5a1a4a52e4b950f3e65973237a9afd9d7e400b() - { - $this->assertTrue(true); - fn() => $test?->{__METHOD__}(); - } - function test9be949299ab9cc73caeb37efe1f8fbdbfb68b2f6ea8417c78ffb94ee6a2c1437() - { - $this->assertTrue(true); - fn() => (isset(($test)?->{$test})); - } - function test9bf2879c7f3a0e10d3e49427d67fb0bb9b2881e22ab8a1e7bc6d8da4537df945() - { - $this->assertTrue(true); - fn() => $test?->{$test}()?->{$test}; - } - function test9f39c5ea5342ef3cb6593536bdac778075458b8b30cee5add2e52d770a55e66d() - { - $this->assertTrue(true); - fn() => (isset((~$test)?->{$test})); - } - function testa0b42515d18575026da82945aa5ffbcf0232bcecaf414f6936db3b71677f8b96() - { - $this->assertTrue(true); - fn() => (isset(($test++)?->{$test})); - } - function testa17c45c16ce4243345546b57308308836a4d992cf17ccba1c3f486589208402d() - { - $this->assertTrue(true); - fn() => ($test--)?->{$test}; - } - function testa96f9bb3f07e1749addf1d3edc9324c072cfdd70d74f5b66454d5553ee4581f7() - { - $this->assertTrue(true); - fn() => $test?->{$test ** $test}(); - } - function testad2f059efb2a5f3c5f2d3fa4ddf499b37cebc142773f8d4710ddf638e77cc7f1() - { - $this->assertTrue(true); - fn() => (isset((!$test)?->{$test})); - } - function testb287d04d715b7fb43a10e3c6116249417bbd89ff44ccbd59fdb849d32982b89b() - { - $this->assertTrue(true); - fn() => (~$test)?->{$test}; - } - function testb4b11332b217638b97d027bc82f3db31e4219c3a3cfcc854c28995610144727f() - { - $this->assertTrue(true); - fn() => $test?->{(bool) $test}(); - } - function testb5052cdf90ae30272e2d0b2daba734b3247f3991f221c01bd18f18916c1b5c5c() - { - $this->assertTrue(true); - fn() => $test?->{'test'}(); - } - function testb5109b40fa30c1c97d283b3610ab718d5f0f2c91cd5f184eb86b7628cbaf5150() - { - $this->assertTrue(true); - fn() => ( $test)?->{$test}; - } - function testb56d864aef68c75186462c2f40df015318a5fd291d15bbfec83228b356d4711d() - { - $this->assertTrue(true); - fn() => (isset(($test =& $test)?->{$test})); - } - function testb8bb9ce8ac0d0ed38e318ed70dc7760621f1d4fad41e28f24b116900dc402055() - { - $this->assertTrue(true); - fn() => (isset(($test ? $test : $test)?->{$test})); - } - function testba734fa37e7f4ef46ce568a083d478b443023d0e1733a72405b728d73d132fe4() - { - $this->assertTrue(true); - fn() => $test->{$test}()?->{$test}; - } - function testbac918e5ac64cba1bd529ce0048688ba53d4b9f0c6cd542c99729b27cef2328e() - { - $this->assertTrue(true); - fn() => (eval($test))?->{$test}; - } - function testbb07f845771a5d81dca78dce791c589afa5ed3ef7bde46c0b91b82cf3cd1175a() - { - $this->assertTrue(true); - fn() => $test?->{__TRAIT__}(); - } - function testbc20f737236f01b8260aae2ad8e5c9ad2cfa2164404597c3606f63b1c078adf9() - { - $this->assertTrue(true); - fn() => $test?->{$test >> $test}(); - } - function testbd4bf3e35b99b734c3936e9b5b314bfdec5afa02d1c325d0e3c0e3e6d7d36a9f() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}?->{$test})); - } - function testc2127f4990c768964544c0e913403d9773e6e50970bb4da648a55a67eb8afd5d() - { - $this->assertTrue(true); - fn() => self?->{$test}; - } - function testc247dc8f33cda7f6331e44c6f8621b4504ae8e5df520b21e8f1ae9d5bb514dfe() - { - $this->assertTrue(true); - fn() => ($test)?->{$test}; - } - function testc9cc5744c5a4c55fa487ab1b06a9295795023dfb6a6cb41945544015edb0c96c() - { - $this->assertTrue(true); - fn() => $test?->{(int) $test}(); - } - function testcc36e9f0604cd5664d16e6394cccb3367e4e4d66eac17627580edd05f993f52b() - { - $this->assertTrue(true); - fn() => (isset((new $test())?->{$test})); - } - function testcec742d69941cf9c7b3cf5b4befd456f4d2a979e9b05fadb1a6d7e5874957540() - { - $this->assertTrue(true); - fn() => (isset($test[$test]?->{$test})); - } - function testcf3e5cc258c4b9e743478f1e39995a5764b7e11c071066c97cb6222721f24f7c() - { - $this->assertTrue(true); - fn() => $test?->{$test !== $test}(); - } - function testd50715187d66db2ea93cf51ce04655e341fb99540cff99ba08d1c746fe02d1c2() - { - $this->assertTrue(true); - fn() => (isset($test))?->{$test}; - } - function testd5efc4e5f8219c4a7f594fda5e7444f284bdbf50b7dcfe27cf7c61892b18a280() - { - $this->assertTrue(true); - fn() => $test?->{$test <=> $test}(); - } - function testd6c2f003e2f0959e8d1b56cf7bf5697c234391fa46fbc014ce5192c0f4db2904() - { - $this->assertTrue(true); - fn() => ($test =& $test)?->{$test}; - } - function testdab0a8dc1b55a260fa5b7350ca5e31dbb427afbcb409718ee484e73a18c73c1e() - { - $this->assertTrue(true); - fn() => $test()?->{$test}; - } - function testdada05e11fa8405e14bae22ac0eb12860ed4218c64f108e27f465b13d53ac4c3() - { - $this->assertTrue(true); - fn() => $test::$test?->{$test}; - } - function testdb5299a97bc4c3105c5008fa824112e2e6bdf4874f1a6de68a3e61afa724d92d() - { - $this->assertTrue(true); - fn() => $test?->{$test}?->{$test}; - } - function testdc1c634eef965c07d85bee36fc624dec826c6114860d645f1e827f2f1f92730b() - { - $this->assertTrue(true); - fn() => $test?->{$test % $test}(); - } - function teste88362bc6d4d452d35443bacf1323f08052f2518f3d6a4d6b7b1844810bf491c() - { - $this->assertTrue(true); - fn() => (isset(self?->{$test})); - } - function teste8f316437bea758d8eba535bfd5f0049be5d58c79b6ddf9851ff67f611f8338b() - { - $this->assertTrue(true); - fn() => (isset((match ($test) { - })?->{$test})); - } - function testebb87f855d85e3b0069406e80afc722e27baa4c4b80e3513c45425b9ac6c4580() - { - $this->assertTrue(true); - fn() => (isset((clone $test)?->{$test})); - } - function testecfbe5185f1fe5c8dd42054974c41df93ffc83609ff1f3509f77ad7808b359dd() - { - $this->assertTrue(true); - fn() => $test?->{(double) $test}(); - } - function testeea09d5a290dfda31db439f7921a973531ddb61674847d20c7a38b3a6e98c0eb() - { - $this->assertTrue(true); - fn() => $test?->{$test * $test}(); - } - function testf2b64245c69089186385b9bc0afe0b2d03a22e50e406e2c29a0f370ea9c66c99() - { - $this->assertTrue(true); - fn() => $test?->{(object) $test}(); - } - function testf3685f4c24168ce6ba497a57f7d8289255476ec8de310b85aa846f564a587628() - { - $this->assertTrue(true); - fn() => $test?->{$test and $test}(); - } - function testf5f353b2e5b8fefe8316c7a430ad99192e8874a64ada51cc387bd16093b64ca2() - { - $this->assertTrue(true); - fn() => (isset((isset($test))?->{$test})); - } - function testf69607f01965667f7152c24c69d0ef9c3e13e054e31817b9c18f31765523e78b() - { - $this->assertTrue(true); - fn() => $test?->{$test <= $test}(); - } - function testfbcd42b424f9ce901cc8a6a055555b62f7c76e5e06e87041e68d2a57a0d74197() - { - $this->assertTrue(true); - fn() => $test[$test]?->{$test}; - } - function testfd3e789221a920d847563952158016321e3a815cc9abf49b3c87a2a0b2bb3900() - { - $this->assertTrue(true); - fn() => $test?->{(string) $test}(); - } - function testfe0ca8a97b472e7721a4ed1d142fea443ea5444fad99d39fa80933555207da16() - { - $this->assertTrue(true); - fn() => (isset([]?->{$test})); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest.php b/testsGenerated/Target/Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest.php deleted file mode 100644 index a8342f14e..000000000 --- a/testsGenerated/Target/Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest extends TestCase -{ - function test00efae06f493eecbf181821db68883ca3ce73602c0891887fc4e48340d1c2078() - { - $this->assertTrue(true); - fn() => ("{$test}" < $test); - } - function test043a35c888d6b8d0ec4bbcf0bca615527079b92849576f668a8fceaa09818260() - { - $this->assertTrue(true); - fn() => ((bool) $test < $test); - } - function test06c7efc61f02a39d726964abc0c9c160c7b0d81a744ad8af05749d55bfa2482a() - { - $this->assertTrue(true); - fn() => (($test == $test) < $test); - } - function test07c07638151e6f55f645bd22effbec5a4f5aa9ee45d51c84022875fb4f0a4ace() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ < $test); - } - function test0ab9bb58a8e4dbcb30a509d4e3ce21f0e82da0de258cd905e3a54eccd7be83e6() - { - $this->assertTrue(true); - fn() => ($test < function () { - }); - } - function test0bb53cea48cd1d05287c3545c5dd814bb3b9ee3227692bd3308ca1c1dceb0bc3() - { - $this->assertTrue(true); - fn() => ($test < (print $test)); - } - function test0dad9ac81027d01233228eeff45116582748a2a96ceea1ddd381d8575b0d1092() - { - $this->assertTrue(true); - fn() => (0 < $test); - } - function test0e269b8fce4cb1561fc5e96715c24ff008e955bdbc833dc0fe0ddd1a2eb42871() - { - $this->assertTrue(true); - fn() => ($test::$test() < $test); - } - function test10f6c4fa4dc1b57fa54383a67d92f0acea0c60af573044a652d0913f586aa50a() - { - $this->assertTrue(true); - fn() => (($test -= $test) < $test); - } - function test1e7f32ce77cb233b514f8bcf8f60b91cb96d7e90bf7ae2f477155e2dba739b6a() - { - $this->assertTrue(true); - fn() => ($test . $test < $test); - } - function test22915e985c7858e7f07913dec7f48c3b72f11c62e84bfeb040f5df3ac6c33e29() - { - $this->assertTrue(true); - fn() => (0.0 < $test); - } - function test24ae5b4a3d738a52ed3dd0a6dca3fd31fc519617c81e5457b0a2a49a0c58a4ff() - { - $this->assertTrue(true); - fn() => (($test ??= $test) < $test); - } - function test2536cf1851466a9bb282f18991e815b9def5035472f651f370621ae69dcfac46() - { - $this->assertTrue(true); - fn() => (($test xor $test) < $test); - } - function test259ba390d399ed1e27134ae42fac11600cd3637ed973f48f213c651c6d6eca96() - { - $this->assertTrue(true); - fn() => ($test - $test < $test); - } - function test2872f40121faadd551e82a13a426b7d4b8b8c1d047cc5d1a14e59bce5b4320a9() - { - $this->assertTrue(true); - fn() => (($test !== $test) < $test); - } - function test2a96e99fe9addc0c5b381a5687c4dc8352e66cc5f33357fea5471c39795ecb6c() - { - $this->assertTrue(true); - fn() => (($test || $test) < $test); - } - function test2c72075deebe2ab29eb2df277ee3933fc1103037ecef6d1e516e2395c19577a9() - { - $this->assertTrue(true); - fn() => (($test *= $test) < $test); - } - function test2ea161b9307ddd498ba35336766052abc355cce1ca2331289534b616ff5bd7e1() - { - $this->assertTrue(true); - fn() => ($test < $test?->{$test}); - } - function test2eca56858f4a852ad3375c905c6780006df336205c0230d7bff8c7fc1f9f0261() - { - $this->assertTrue(true); - fn() => (($test ^ $test) < $test); - } - function test2eed2e1e76487deb92b9dd2928f8a055deb63d44d17186b57647168afe779ad0() - { - $this->assertTrue(true); - fn() => ($test < $test++); - } - function test34cc44c5b9b42115554661211a02377a3e65be60e833a1b528b7896470077084() - { - $this->assertTrue(true); - fn() => ($test < $test->{$test}); - } - function test44f6769abe72595598d12372cc56378829ffba672ef34a2953f2143b33492d1b() - { - $this->assertTrue(true); - fn() => ($test < $test::$test); - } - function test484af9d921357e919f146f35efd94311d606755237066c67997e86e985bcafa6() - { - $this->assertTrue(true); - fn() => (throw $test < $test); - } - function test491b9edbe18a296c5052e630e719bf6d433d7575c66526f90278ebfe33e01df3() - { - $this->assertTrue(true); - fn() => ($test < ``); - } - function test4b69a5a18d5ee0d78b77ecb13727fc9ffb07434bd7f392970a76a9086ffecb7f() - { - $this->assertTrue(true); - fn() => ($test < $test instanceof $test); - } - function test4e61334d0682f4a5478c6a858bb9d0ba7c23a75bc82ae5ab7bd9074ad7848b89() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) < $test); - } - function test522d0027cecbd485539593bef7ed24af28afe1a7c2b0ff8666b8a68e1ca6d08c() - { - $this->assertTrue(true); - fn() => (($test &= $test) < $test); - } - function test5250b5fe3b95c49c809bd3261c792329858a464d8eaa37ddf4a9bcb42689f263() - { - $this->assertTrue(true); - fn() => (($test === $test) < $test); - } - function test58385ec22c288f24c9b65685e4dbcbbeaa0ac1c36e85a9211923f9e3750704fc() - { - $this->assertTrue(true); - fn() => (($test <=> $test) < $test); - } - function test5a532e65a52f1dff572a7baf470e1d74d1ba2de4f93048bc36ac1581af432844() - { - $this->assertTrue(true); - fn() => ($test < eval($test)); - } - function test5d81de2292591f420bc849d92a6ea768a1569287f2bee464f227efb484497216() - { - $this->assertTrue(true); - fn() => ($test < $test->{$test}()); - } - function test6368ba302e5868c4251dd9c9d8c8646627f1dd2a42e458270770d51e24d391ee() - { - $this->assertTrue(true); - fn() => (($test > $test) < $test); - } - function test65f5bc1d4774e5ca7f83e8cbcc767e518659ef07ae1f720356cd494722869b07() - { - $this->assertTrue(true); - fn() => (`` < $test); - } - function test66548763792bcf406e888f095f6846b15da2eb73106a717d3bdeba14720c56e1() - { - $this->assertTrue(true); - fn() => ('test' < $test); - } - function test684aea1a8e7912593b2596ce4578199375a9cf2b50494abb0ec5a84dee509d3c() - { - $this->assertTrue(true); - fn() => (${$test} < $test); - } - function test6881cdfc08683661347482a2fb915a9495207cb4637baeeecf7c5d9211fe6fdb() - { - $this->assertTrue(true); - fn() => ($test->{$test} < $test); - } - function test6ed71a7590cf61d01cabb2e7c80ea8528037d1ce26adf3e252ea1b521536eb9d() - { - $this->assertTrue(true); - fn() => (__METHOD__ < $test); - } - function test70d4121d2bfce6be7b6c29faa2444f1a4751f1dadfa641e72878d5da755f905e() - { - $this->assertTrue(true); - fn() => (($test <<= $test) < $test); - } - function test725f7bdf57312c11f842c3503451e6dff12a7d6653186969a0c125c6fcf21618() - { - $this->assertTrue(true); - fn() => ($test / $test < $test); - } - function test769b22188b26685d641fbf76f67892544843415cbfa18b51059c78c181a1119c() - { - $this->assertTrue(true); - fn() => ($test < $test[$test]); - } - function test77e255a2859a520a9426fea8f91ebe18377e80ae6f2c320503d6685377c58a36() - { - $this->assertTrue(true); - fn() => ($test < --$test); - } - function test786d1402f241d6d8522f84f16296c85d0a40afa3b2e168c04161069acb9debcf() - { - $this->assertTrue(true); - fn() => (($test < $test) < $test); - } - function test7966c87ed5b8a2e756b931ffb73545799c097bd2ee038ce5734bf2810abdd3fa() - { - $this->assertTrue(true); - fn() => (($test | $test) < $test); - } - function test7b77135ef43fdcdba9ce2ca7b78fd2d6618d1a4c302f1720c80ca2df448d832a() - { - $this->assertTrue(true); - fn() => ($test < isset($test)); - } - function test7eb3bbb416df64f002af4a1725b0d9b0a8d17c996316f755b1a09a116ad82e85() - { - $this->assertTrue(true); - fn() => (($test and $test) < $test); - } - function test868d2a73301798a702bb6eba24aa5f727a0b80a4664c1bbdff94a744f92ab6a8() - { - $this->assertTrue(true); - fn() => ($test < empty($test)); - } - function test8714cadc3a426c995350a0e58be343dbdb368cf132bae32af1923b323f844ba5() - { - $this->assertTrue(true); - fn() => (($test & $test) < $test); - } - function test882ae1d117de6f9919ed4a0b93a52eecbf586f257bcff1a4516fa6678cb1e2e2() - { - $this->assertTrue(true); - fn() => ($test < ~$test); - } - function test8bcb29367e78462007e76a1780fa4056f08fa4b4eed90b6e14ee6fc483518054() - { - $this->assertTrue(true); - fn() => ($test < !$test); - } - function test8d59ade1f00c583abdc9b1b0e4395391e16c8e5d9aedd32fc86753c1635288a6() - { - $this->assertTrue(true); - fn() => ($test < ($test =& $test)); - } - function test92ddfc3336445f74ff22396e422de07ee3319ee108cd12e83a1cf11a1e34e188() - { - $this->assertTrue(true); - fn() => ($test < $test); - } - function test935d314b33009f98449387ac5b88f978bafe06e49b9304dd52f3c49e725e7a1a() - { - $this->assertTrue(true); - fn() => ($test < $test::$test()); - } - function test953297d2a0d430d26f9976783c11870da37aefc5a8956222414ed25165c5ca44() - { - $this->assertTrue(true); - fn() => ($test << $test < $test); - } - function test9559530ac1e1ba73cfae1be5bd5891b7c0d40137e1164b7030b12e3aa1913565() - { - $this->assertTrue(true); - fn() => ($test < $test--); - } - function test9a2eb39f7b104b84d8d21f8509b30a965ddd47b193e94dfc81ca61a82688a9c1() - { - $this->assertTrue(true); - fn() => ((double) $test < $test); - } - function test9aa4ee914fbc5c945ee41eae2819ebc25b2945400bf43b42ece255ac042c2730() - { - $this->assertTrue(true); - fn() => (($test /= $test) < $test); - } - function test9c28fb3eb2fc38aec497b228afd983207efd3598f65b8664496dbc9233c88823() - { - $this->assertTrue(true); - fn() => ($test < []); - } - function testa27f3208ea3d8432b675b133c4dcaca00af94dbc3d8c2602ca4e3cf48bdb9dd0() - { - $this->assertTrue(true); - fn() => (__DIR__ < $test); - } - function testa2dacb3dc9611de6367b4af784538bdf81fc7608c660baf5a986e2a428cb8af5() - { - $this->assertTrue(true); - fn() => ($test < self); - } - function testa38fd07a959ca5ad1004a87fb910da0f34bd0d907026e4f1cd9beef6071f5ac7() - { - $this->assertTrue(true); - fn() => ($test::${$test} < $test); - } - function testa3dc521f137dd03d8e2f2837c14fd669e335e4da1047050d3152ec1d4cc66a65() - { - $this->assertTrue(true); - fn() => ((string) $test < $test); - } - function testa5e08a50864688927fb0d7b4d8cbc1327e60217c5105a4085fbf8f0eaae37f0b() - { - $this->assertTrue(true); - fn() => ($test < ++$test); - } - function testa9f1f4b76e05de99106ae6bed5a0b28671acc621a5ca7117034e6af113f8153f() - { - $this->assertTrue(true); - fn() => (__LINE__ < $test); - } - function testab64a5fb45fd65b780f6130a157fd81aa238ddee52506be44c2fa91eb6dd9b71() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ < $test); - } - function testac6f7ebd3fcbf02b2062650a2f15cf979a178672483befb69636bfbc40e1a23d() - { - $this->assertTrue(true); - fn() => ((yield from $test) < $test); - } - function testae190947d555b5d9055ef169b6358677512ff1f9f39f2a46580bf871dd2acd24() - { - $this->assertTrue(true); - fn() => ($test ** $test < $test); - } - function testaf61a76e55330b316b164acd7fbe9be58176137861f09e1c24b7d28a7b733984() - { - $this->assertTrue(true); - fn() => ($test < new $test()); - } - function testaf878f28d7ecb5a6ee8c63a291af499c42fe4529e9437064a5ff7edfde0e9e44() - { - $this->assertTrue(true); - fn() => (__TRAIT__ < $test); - } - function testb73b0ce926b9bfa63ce424d30385db3c6ab388f98daa1265dbe605e6968cb359() - { - $this->assertTrue(true); - fn() => (($test %= $test) < $test); - } - function testb86aa06ead8093530dac208be90815b4c4287c0cb2fbcef2602d04c8228be017() - { - $this->assertTrue(true); - fn() => ((int) $test < $test); - } - function testb94995fb4f93776cc834017bc330459825e06b91ab15cf8386425f0847d27a2e() - { - $this->assertTrue(true); - fn() => ($test < ( $test)); - } - function testbdd70d933de11f1c50404adc4f358d4f6d6da61315a93db3967dc1e670f70811() - { - $this->assertTrue(true); - fn() => (($test >>= $test) < $test); - } - function testbdd9a7332f6733734eaa03de6eeb9364181c7628ef22df95539a3d29f2df3875() - { - $this->assertTrue(true); - fn() => ($test * $test < $test); - } - function testbef9fbf3636bbc84ca9031cd79ca4e78590ad39b54de9750bf74e020cfe47bdf() - { - $this->assertTrue(true); - fn() => (($test **= $test) < $test); - } - function testbf811f961fcec5586ce7e8d53075402979274c30e9502502486ec794d27589cd() - { - $this->assertTrue(true); - fn() => (($test .= $test) < $test); - } - function testc488ac184d5dfff9c75c33f479014876715f4705dab48871ac5bd7f3a1385f06() - { - $this->assertTrue(true); - fn() => ($test < @$test); - } - function testc65529e4c03e2380c00b7701a8e687193ac62d6f5f361a767a7737e73d079b10() - { - $this->assertTrue(true); - fn() => (($test >= $test) < $test); - } - function testd18964aa4085a33b2a51108c217ad4508aec472811522df83f9b1f3283c768f0() - { - $this->assertTrue(true); - fn() => (__FILE__ < $test); - } - function testd36db42368f865892158aa11d1189a9545441ae5b448c5f14f0f631d18dd0dc2() - { - $this->assertTrue(true); - fn() => (($test <= $test) < $test); - } - function testd515276025713774c34f58243cb7545273479787a9bb86e9b4c72a1ab30b188d() - { - $this->assertTrue(true); - fn() => (($test or $test) < $test); - } - function testd57165111f6019517b7d335c969d9560d867cb25f6e61cfba724e03a3e88a0fb() - { - $this->assertTrue(true); - fn() => ((array) $test < $test); - } - function testd6820100b3998740420272f1e4c2236e1dce523328e7fedd7ac8c29fa83be1d3() - { - $this->assertTrue(true); - fn() => ($test < match ($test) { - }); - } - function testda71db54e5ba286a198cd8437d99364aec56dd1a0f6f902141080d24ca6b06fc() - { - $this->assertTrue(true); - fn() => (($test != $test) < $test); - } - function testdae2a123fe13c928a494e67e156062e2ab6950104f38f74488856c3a1e938419() - { - $this->assertTrue(true); - fn() => (($test |= $test) < $test); - } - function testdc2c8424f60906f2864351f1ef7f464411274be6ebbbe1fa9e6f92e477a6cee3() - { - $this->assertTrue(true); - fn() => (($test += $test) < $test); - } - function testde4e24dacf58bb6d72d1a4031fe5b998a5fe08f69de2ed252ab1d8b9cf623edb() - { - $this->assertTrue(true); - fn() => (($test ^= $test) < $test); - } - function teste37e7ad13985bed8c6c70be84308118ba35c5489255d35e866ef7ec2e3e5b0a9() - { - $this->assertTrue(true); - fn() => (($test && $test) < $test); - } - function teste37fad7abf38abcbd61b57df35bd7690ccf97731e4e88fb0e88432f132f3256b() - { - $this->assertTrue(true); - fn() => (+$test < $test); - } - function teste6a16620ac9e2767b388d984b1bc4a7b4c366dfa692f7de85f9e97b77642f641() - { - $this->assertTrue(true); - fn() => ($test >> $test < $test); - } - function teste8607614e6b612e5acd95b8e9d475dbc10520ce22028acab295c974826f51006() - { - $this->assertTrue(true); - fn() => ($test < clone $test); - } - function testea17f40e9da29373f446cb3e139e12276cd3efc58ef470d7adc74bc48cebb827() - { - $this->assertTrue(true); - fn() => (__CLASS__ < $test); - } - function testeb10453319ea356eb281e05e16fa214c96772071180b1fd2cff3a79443536276() - { - $this->assertTrue(true); - fn() => (($test ?? $test) < $test); - } - function testeb39301ce1108c8a9a926d6f7f684216ef30f66ae376230bbb3e95a681442d8a() - { - $this->assertTrue(true); - fn() => ($test < $test?->{$test}()); - } - function testec3514b15ce1943f0c419372beb1346dd003fa2645fc5180a56a3e979434cc2e() - { - $this->assertTrue(true); - fn() => ($test + $test < $test); - } - function testec3c1c84f0c533d2c9a8d1c4dd681496d7b26f4e8255d157effe623a97338231() - { - $this->assertTrue(true); - fn() => ($test < ($test = $test)); - } - function testecdaebf605e14e07dedeee3afaa07dec99d4eb881b30c91c55e9d0825e434ef5() - { - $this->assertTrue(true); - fn() => ((object) $test < $test); - } - function testf3b1592de1bb5e605f60e9d445d6651badf1d968281ba9d5c968c031b638ac35() - { - $this->assertTrue(true); - fn() => ($test < $test()); - } - function testfdfa5c05ecb9f0159a1649940339016193c82f00acec212927b1f883fd4239c2() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) < $test); - } - function testfe09ebe3e24b6190cc97889722e3a8dd5b65b0ccfe74108da0eca1dd0a25aa17() - { - $this->assertTrue(true); - fn() => (-$test < $test); - } - function testfe94c5c75c14b60ac1d772a55da1970c4b4422b2ea93e1d0bbcbe7dfdc1cf08d() - { - $this->assertTrue(true); - fn() => ($test % $test < $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest.php b/testsGenerated/Target/Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest.php deleted file mode 100644 index 312aa1393..000000000 --- a/testsGenerated/Target/Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest.php +++ /dev/null @@ -1,508 +0,0 @@ - - * @license MIT - */ -class Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest extends TestCase -{ - function test00b9409b7b31f205ed5993df343c29e77099bba352bdfdbf1f459fedf751ce31() - { - $this->assertTrue(true); - fn() => (isset(($test > $test)::$test)); - } - function test04d88af989af4758b56ab4765fe38041eed061b0f80f98e4f03544ff1f8f3e84() - { - $this->assertTrue(true); - fn() => (isset(($test | $test)::$test)); - } - function test0747436bf04e061cd965cb80b0d9b1a5e251fa565e90ff075797ff8ed10f67cc() - { - $this->assertTrue(true); - fn() => (isset(($test >> $test)::$test)); - } - function test099c1d1ce87eeed571717abd0ac3367b3a50876b72235657b293165318c4e001() - { - $this->assertTrue(true); - fn() => (clone self); - } - function test0d390399ac31df6837436b2ac5efca7f84c0bce30f7115ec7c40a3efa8d70609() - { - $this->assertTrue(true); - fn() => (__FUNCTION__)::$test; - } - function test114b51b4fd2b6ac79bde007ba9ac099e05280d48eb3fc258ba50897e33833cb8() - { - $this->assertTrue(true); - fn() => ("{$test}")::$test; - } - function test12f4a6754a8d13d675db8159388f2864e2cd55ad22f983933d23988b28dd5a2e() - { - $this->assertTrue(true); - fn() => (isset(($test ** $test)::$test)); - } - function test13bccb58da536e6d149065dddf04e2c0c2ff703359b0701e81d73bc0d47b7827() - { - $this->assertTrue(true); - fn() => ($test - $test)::$test; - } - function test198d49d64767b5714aafef910595f6d769077a7a1d79259fd3325c013029d54b() - { - $this->assertTrue(true); - fn() => ($test % $test)::$test; - } - function test19967ba26fe08ec842ae59f143a03336680b039d3133f088174eecf149cc5588() - { - $this->assertTrue(true); - fn() => (isset((__NAMESPACE__)::$test)); - } - function test19f68e5a65c6138a1c4b89e2f74946d2f1b6228a5313899aeb0b171d05b84f51() - { - $this->assertTrue(true); - fn() => (clone $test()); - } - function test1bad3c57cc568aec44fbdfa2a161150a9a80260ee84e5b629a9dce04a001693f() - { - $this->assertTrue(true); - fn() => ($test ** $test)::$test; - } - function test1c0c52389c89c0359e87950d2ab33fcfa6a247e4e54bbef4c4fff08cb51c24cf() - { - $this->assertTrue(true); - fn() => (isset((__TRAIT__)::$test)); - } - function test1e0ea3877753187772a88bc5231a5823a974a6984324904c3ccbd3534d06fe03() - { - $this->assertTrue(true); - fn() => 'test'::$test; - } - function test1fa936e1536a2501df4cd379330ac93c748a6ef622d6d1bcbd989ffae00bf32e() - { - $this->assertTrue(true); - fn() => ($test + $test)::$test; - } - function test240711ac651430244ac04b9fe122d923a2b6e8d2d8c6036ab1bfeb35f92dd8a5() - { - $this->assertTrue(true); - fn() => (isset(((int) $test)::$test)); - } - function test26220cf0d600a2379769361631ca59ace2faec9372f97c35ba41e81181ba8ebe() - { - $this->assertTrue(true); - fn() => (isset(((object) $test)::$test)); - } - function test2a698a11ef5f387164b884c449146a3e514f0be8c5cb64af0739ae9b57602ab5() - { - $this->assertTrue(true); - fn() => (isset(($test % $test)::$test)); - } - function test2f4952c5621386aa1bcd97cfc64854b0a712338cd639507811e9037077daa08c() - { - $this->assertTrue(true); - fn() => (isset(($test != $test)::$test)); - } - function test300967e4fb0d64a7f34c05b000a743d4d35b4420c821ebe392d0bea7d40a49e0() - { - $this->assertTrue(true); - fn() => (isset(($test . $test)::$test)); - } - function test308a70218e4cb08958467dc50e686aa26882213ed3aba5893f839934dd735f00() - { - $this->assertTrue(true); - fn() => ((double) $test)::$test; - } - function test314d2fbbad1311585315ce0e63159c015d70ee92b59504a4ae8190371b18de0a() - { - $this->assertTrue(true); - fn() => (isset((__FILE__)::$test)); - } - function test34d7ff9142ab4c395560effb888fbaf569985412c65b63f4005bc6d296904818() - { - $this->assertTrue(true); - fn() => (isset((__FUNCTION__)::$test)); - } - function test395455e1528220438c02c6000c28dd5b751d0415e26f705e8098d39bc0e2acab() - { - $this->assertTrue(true); - fn() => (isset(((double) $test)::$test)); - } - function test3a20488197e9828095f860b4b9428a06654e468ee1821e08161398075b6351a1() - { - $this->assertTrue(true); - fn() => ((object) $test)::$test; - } - function test3b0862456fea7938459f04cff8063a7533dab0f65a8ac34c5ffbd345f9c79d12() - { - $this->assertTrue(true); - fn() => (isset(($test ^ $test)::$test)); - } - function test3ba3ec7fa83d1b6fc6c39b61b9b68abd307623581550b0b525ebeb50f0c4d297() - { - $this->assertTrue(true); - fn() => (isset(($test !== $test)::$test)); - } - function test3c659eb8f17c4ca29dd7fdc27cbc8b9f8ab8cbb37afc286e5c828f422074a2a8() - { - $this->assertTrue(true); - fn() => (__TRAIT__)::$test; - } - function test3e2679cc8296abb7ca8ab695f7b28336ac6bddba263e3fb927e2e592c473b1ef() - { - $this->assertTrue(true); - fn() => (isset(($test ?? $test)::$test)); - } - function test3f9e03d29b00c046d2a29b84aa95682c6ae3f5dde91d969f89c2d4b2d2758f29() - { - $this->assertTrue(true); - fn() => (clone $test); - } - function test454d45cd7f747cd88275a8b14dac4c975ad51bc8dea538369598d483249ddf5d() - { - $this->assertTrue(true); - fn() => (isset(($test & $test)::$test)); - } - function test48235d9bbfa7343c8aa91264b4cc65612682d00280d008b0ef6b277d8a6b6593() - { - $this->assertTrue(true); - fn() => (clone clone $test); - } - function test483b51c6b9bc70bf73a61ec52d8c7f9727cd765a427d7897a2b3b3f0cd5f1ba5() - { - $this->assertTrue(true); - fn() => (isset((__DIR__)::$test)); - } - function test49e70d6f1aa4aea6365a0ddf39a2cb71220ac1ad7b2a4dbceeeb211d3485941a() - { - $this->assertTrue(true); - fn() => (clone !$test); - } - function test4a939863eb044f253f23918a2f99295a46b6c3ae6e47f9fe256880f7c7b082b5() - { - $this->assertTrue(true); - fn() => (clone @$test); - } - function test4f5db3ed535e936e24bd17fe51137cfe41081a013a05e9e99386940dd1d7e766() - { - $this->assertTrue(true); - fn() => (clone $test[$test]); - } - function test4f8d1ba6a61961cac1eafa5ba3968e5ffb118a592a89b942c8a6bf26048a07d3() - { - $this->assertTrue(true); - fn() => ($test / $test)::$test; - } - function test55a8f2d2dbaaf8435a4993c47cf4ae647d30d94ad446743bb4c0a0d4430eaea9() - { - $this->assertTrue(true); - fn() => ($test !== $test)::$test; - } - function test59d351059e8e4a4cf1df82928334a6b1cb343c01c2ebb5968a9b1cfa29af1fa4() - { - $this->assertTrue(true); - fn() => ($test || $test)::$test; - } - function test5d450e548bc09de8e8f0daee657d103470c33e2f4c1b24b77142bf3859119e4c() - { - $this->assertTrue(true); - fn() => ($test and $test)::$test; - } - function test5e10da241a5b4532d7a3306725fa471040af5548ea9d46214c1be461196da234() - { - $this->assertTrue(true); - fn() => (isset(($test << $test)::$test)); - } - function test5f32888d2035f768661580a7d58db1ef6e59dcf543461b7e7acde0b6cfdc8b24() - { - $this->assertTrue(true); - fn() => (isset(((array) $test)::$test)); - } - function test66db98098fe9824ddf510ee1858255fe0414e407daf5257d431ccaf30fac17ec() - { - $this->assertTrue(true); - fn() => ($test xor $test)::$test; - } - function test68221a08941052b7908d2f48c71ca0849a3edc4732eef9f61d6b33b36a0e30e3() - { - $this->assertTrue(true); - fn() => (clone $test::$test); - } - function test6c9476af0ccf6514280515d2bda259360a5e66787b993c73fd00385e468ca287() - { - $this->assertTrue(true); - fn() => ((string) $test)::$test; - } - function test6ce519ea77554701048e3c88371a64e9c10fda273b61d3abd46848bd58c22af7() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__)::$test; - } - function test6dfc3f99402a4ad6bb0067cdf80c1ced948d518ec3f585321641e1ac0f337d2c() - { - $this->assertTrue(true); - fn() => (isset(($test or $test)::$test)); - } - function test71a0a725a139685e9580d60e823c5be108c8d2e00f40a114cd0bbbc852c3672e() - { - $this->assertTrue(true); - fn() => (isset((__METHOD__)::$test)); - } - function test71a866fdae17964cf6bb434e4bbfd1e12fd4ae0291aa14d77232ed9495f6dc6c() - { - $this->assertTrue(true); - fn() => ((int) $test)::$test; - } - function test74460eb43e2a8c83f7441909e926dabaed46d7471a8026e1a5f309e285199049() - { - $this->assertTrue(true); - fn() => ((array) $test)::$test; - } - function test76965e475c7fd3acc27c07451ef22dad7939cfae28c02ad1ac313f8cc7682129() - { - $this->assertTrue(true); - fn() => (isset(($test || $test)::$test)); - } - function test79a90bfde451839d554df568afc523316d89c55336cef8fd6719951bcd714b39() - { - $this->assertTrue(true); - fn() => ($test >> $test)::$test; - } - function test7b40498003921feedaaf570e0df8659e3a480fc9fe06162859e7baa0e8281643() - { - $this->assertTrue(true); - fn() => (__FILE__)::$test; - } - function test7c23cc7e214fbaaf36bb7033097c2dcf5344cb6b266f6e608038767242625c20() - { - $this->assertTrue(true); - fn() => ($test > $test)::$test; - } - function test7c65680e108d4482ad5fd0a339b3d17bbc1c37942aee337c7e622fd6806c8c1e() - { - $this->assertTrue(true); - fn() => (isset(($test <= $test)::$test)); - } - function test7d1db9cb44d0b2786813202f115de3aceea9d2de83bea1c3ef34e8b338fa8f62() - { - $this->assertTrue(true); - fn() => $test::test; - } - function test886cacaadcfcd85137b0c32ff9d401cade0a00085934561ac6eb3f659bdc5a65() - { - $this->assertTrue(true); - fn() => ($test or $test)::$test; - } - function test88d8b09f01a91c9bf2d361fcbc894178e45637e77414cee59754b8dbbe07c343() - { - $this->assertTrue(true); - fn() => (clone eval($test)); - } - function test8c126dae3660e8a674a021174e49965eac1596bad890a292340012bb2446d927() - { - $this->assertTrue(true); - fn() => ((bool) $test)::$test; - } - function test8fc0544bf9ad457f2a4c6d053f9627488cb331bfa89ade7c498f490c93a77991() - { - $this->assertTrue(true); - fn() => (isset((__CLASS__)::$test)); - } - function test8ff0ef72faa7de8ad99b243b14114ac4c0d6d3d97b2aa973df1835b26acf6d64() - { - $this->assertTrue(true); - fn() => ($test ?? $test)::$test; - } - function test9261d84e5f46b4949cbe0e086e0eb2599884988c9810704b7ded0236a12c8f29() - { - $this->assertTrue(true); - fn() => (clone empty($test)); - } - function test93fa71f932e08f2678132838efd9f95540d6f20548216bc27df9671507324fb1() - { - $this->assertTrue(true); - fn() => ($test * $test)::$test; - } - function test93fb2c2d2c32cc09426a4bd3fe60621b9e94ddcbc3adecb3f888b0961116e128() - { - $this->assertTrue(true); - fn() => ($test ^ $test)::$test; - } - function test96c931acd2d917f3d8dcd9e355a6eb5d17ef4797342818643121e797a5e2bde2() - { - $this->assertTrue(true); - fn() => (isset(((bool) $test)::$test)); - } - function testa299e5115c8fe99bec1ea2884a9e82f87ec891d83b72feaf24a1fdbbf9e2e555() - { - $this->assertTrue(true); - fn() => ($test | $test)::$test; - } - function testa37d968076f05b821926dab1be1ff032a61e011dc741afd2d8ca6177db238a73() - { - $this->assertTrue(true); - fn() => ($test >= $test)::$test; - } - function testa38189a7b4c2cd466cd8696ecdb4ab3f2c6465a87cb53a2fe8485bc07c33ce7f() - { - $this->assertTrue(true); - fn() => ($test === $test)::$test; - } - function testad2b110645a056fdda6db2c730768ad4f559dc3326ba327096226ba3e921fdbd() - { - $this->assertTrue(true); - fn() => ($test << $test)::$test; - } - function testb7bf1b0444edc3c46f228c96328f931230203e3afd9391d78512c797331a08bd() - { - $this->assertTrue(true); - fn() => ($test < $test)::$test; - } - function testbb007d4b7f61956f7f83b85cf299c30560aabaf858308edf7447ab3a5f9d2e64() - { - $this->assertTrue(true); - fn() => (clone $test =& $test); - } - function testbbbbce76ca65a335202ea4104bece36d4a20816c64a28adc71a41430283e78bc() - { - $this->assertTrue(true); - fn() => (isset(($test == $test)::$test)); - } - function testbcfd308d3874d1768b8eea2040b9ed03e5a4da51503769210704a94b342b3370() - { - $this->assertTrue(true); - fn() => ($test == $test)::$test; - } - function testc0e3061ea4aeafcf47f6795708f88f1aacbd6d865770e68ff341d6c706117591() - { - $this->assertTrue(true); - fn() => (isset(($test && $test)::$test)); - } - function testc2b942866a4dc02e721a290305991a9717db4b15bb7f1bb74df192855b49b642() - { - $this->assertTrue(true); - fn() => ($test <=> $test)::$test; - } - function testc36b3108485368487b028984d6481879f8d754ebef33c2f55b1300043e4acdb1() - { - $this->assertTrue(true); - fn() => (isset(($test and $test)::$test)); - } - function testc65225138343f625570b26573dcf89e1f2ff4ade1b3742d0f2abf2785fb5888d() - { - $this->assertTrue(true); - fn() => (isset(($test <=> $test)::$test)); - } - function testc67dd1ae7c1ef63a08df667059b8f1e3bb0b65b3b812841f654be143ed5a50f9() - { - $this->assertTrue(true); - fn() => (isset(((string) $test)::$test)); - } - function testcb38d752d24c6710b8d5e4512dbbe8cf6e2fb193c6426ffbcd04ee8c6b356820() - { - $this->assertTrue(true); - fn() => ($test && $test)::$test; - } - function testcd55c378c54eba116e6137ce3e2cf8dcdaf46393ced763dc4ab31c191504deba() - { - $this->assertTrue(true); - fn() => (isset(($test xor $test)::$test)); - } - function testcded56a95886b0f84959a95dc187e783759864b8f99b3850cff9aa0115244a1f() - { - $this->assertTrue(true); - fn() => (isset(($test + $test)::$test)); - } - function testce294b95fe3cf8d3d2931c88a3c738e97b92c0985fe1e073ebe1949991eb33a9() - { - $this->assertTrue(true); - fn() => (__METHOD__)::$test; - } - function testcfc0510713b782fd1d52a99a673dbb878d6b907aa6b1d098605eb474e7c4b16b() - { - $this->assertTrue(true); - fn() => ($test != $test)::$test; - } - function testd760607b5aab13b1f77b5ca50e1427762e0cc469e04236462e02e22d77a7d024() - { - $this->assertTrue(true); - fn() => (__CLASS__)::$test; - } - function testd7c99bcbcf9fd805b2f0e817a24751d984977ae58127e7a0249addf4162a1ab6() - { - $this->assertTrue(true); - fn() => (clone $test = $test); - } - function teste05ad4a67f272dbf166e4b7df6a0647189369bfb1f203222b46d10354794bd9c() - { - $this->assertTrue(true); - fn() => (isset(($test - $test)::$test)); - } - function teste0e0f567876a583d053c4c94fdb7205a2fc70323551504d2eaba9a95e52d5d85() - { - $this->assertTrue(true); - fn() => (clone ~$test); - } - function teste39e82fd9e6bdfe7efbc3b8fab37c2b357e33139ed9bdf05545d7038263cc824() - { - $this->assertTrue(true); - fn() => ($test <= $test)::$test; - } - function testea17cc9266e6c973ae4aa90f2c044d787a5bab6d43ed91cc9ccd00e27ba9be2f() - { - $this->assertTrue(true); - fn() => (clone function () { - }); - } - function testea6a87dd015baea5120e80f456f2c4d896415c35ba392bcebcd5be14342469e6() - { - $this->assertTrue(true); - fn() => (isset('test'::$test)); - } - function testedb1f23d34f19145a46018a9f07d79ed72931119a41e733766a6b73add044527() - { - $this->assertTrue(true); - fn() => (isset(($test / $test)::$test)); - } - function testf2323d463a5fc0e8660ae47249b7537b1caa4df2441cb2aa10dc950aa3d1d2ee() - { - $this->assertTrue(true); - fn() => ($test . $test)::$test; - } - function testf2c9326e12be1ac22eff6151502bab0bff844329d62b11eda82289754cbe960f() - { - $this->assertTrue(true); - fn() => (__DIR__)::$test; - } - function testf75540eb31e91ac1b8bdf0cc7eeb52a15655b2857cb01d214e4943862410777f() - { - $this->assertTrue(true); - fn() => (isset(($test * $test)::$test)); - } - function testf922f7c4d0e34e1b4f4dc8ee6bff34689670a89bec9fe4477db9e38b1af37497() - { - $this->assertTrue(true); - fn() => (isset(("{$test}")::$test)); - } - function testfa4bee5ccb75109378fa6cd2fe13688a9eeedb0d3d3fb762f7549f8b9628f18f() - { - $this->assertTrue(true); - fn() => (isset(($test >= $test)::$test)); - } - function testfc7f717f277f94129d9db6b03588ebd6a789e9aa0e44a10727a60835417ab90c() - { - $this->assertTrue(true); - fn() => (clone []); - } - function testfedef8da7834f6a7e92fbe95f8cc93cb87589901c4bacbe3f6f60bbbc0ac3fa2() - { - $this->assertTrue(true); - fn() => (isset(($test < $test)::$test)); - } - function testffd3ceedee075387bf0a213135ebb9c3acebcc88789c57f432c0974bcc041894() - { - $this->assertTrue(true); - fn() => (isset(($test === $test)::$test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test.php b/testsGenerated/Target/Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test.php deleted file mode 100644 index 50e3910c2..000000000 --- a/testsGenerated/Target/Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test extends TestCase -{ - function test00d8ee3df5fd4bafcb1fb5c6af25abf66286d547bcf541fc1eaf240bf52afaa1() - { - $this->assertTrue(true); - fn() => (!$test + $test); - } - function test053e59587952fed748506164f8ada482bad07e90dc72e82e0af5eececbd9ac6f() - { - $this->assertTrue(true); - fn() => (($test <<= $test) + $test); - } - function test0b0aa52128baf8a9770a4e7bee3a9299414f7eda94dd197b095bf32084935abd() - { - $this->assertTrue(true); - fn() => (`` + $test); - } - function test0c0db5b043c8f292c1614a635cd2c476b7ebeea42d763b1b2915745e61b9a974() - { - $this->assertTrue(true); - fn() => ((double) $test + $test); - } - function test107f46225dda401589bd6919449011635769b03008b97810c15b7c2316695f35() - { - $this->assertTrue(true); - fn() => ($test::${$test} + $test); - } - function test11fb7e0e806bffa03d5d9ef39840aa5c5822b9e635a49bf317d16bd0468a6f1d() - { - $this->assertTrue(true); - fn() => ($test + !$test); - } - function test121865eb6778cabd6c25f87ba1257130c8525666779a659eeb7fde33d4bce5e0() - { - $this->assertTrue(true); - fn() => (($test | $test) + $test); - } - function test16e14c8e398dd453747535810a4bc2dc4e437fa291141a7594781a9659ffc6a1() - { - $this->assertTrue(true); - fn() => ((bool) $test + $test); - } - function test19703e798ebfae2e075322d546c027d87d6916d4f5be5b33c0cad59daa931169() - { - $this->assertTrue(true); - fn() => (--$test + $test); - } - function test1a4e99163eb9b1ea8c9f5596974059bf017b8d081d2a46c5d9b879448861e0a1() - { - $this->assertTrue(true); - fn() => ((yield from $test) + $test); - } - function test1b4f594e0078b6059f8b7f13841c5ab40b6d1d44f7935480b1a44dc208242931() - { - $this->assertTrue(true); - fn() => (function () { - } + $test); - } - function test1c2779f885bc5d3b9b86d4c32afa6df6fd842fdf821176b566b3b2ae768d15bf() - { - $this->assertTrue(true); - fn() => (($test >>= $test) + $test); - } - function test1f24d563b61399b7370e13995f0499416463e0e1334cc9b884fb936bc09ee9a5() - { - $this->assertTrue(true); - fn() => (@$test + $test); - } - function test217ee043738f6b6986a959c813bbf9d2ea8e1b96d54b7354ad7465a404071265() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ + $test); - } - function test24ce143a81b4f0328ecad7711cc5bed50347a1e4aaf78eb6e591912ff04d27c9() - { - $this->assertTrue(true); - fn() => (($test << $test) + $test); - } - function test25485fde5249dcf01eb83a4cef9a3a38124e54d50bae7064578c9b1332ec93ee() - { - $this->assertTrue(true); - fn() => ("{$test}" + $test); - } - function test29f0e4cf6c6838f2de41c81fc1b6e2ce141cb8631dd54e390bd901e0539b08c5() - { - $this->assertTrue(true); - fn() => (~$test + $test); - } - function test2b8fa28afee642b58f9c8bf109af618bda4f3862b49ca4a5d1095bd96e166462() - { - $this->assertTrue(true); - fn() => ($test ** $test + $test); - } - function test2d8c6bbe148c097dc2644b3ee8713199196c80b6f253698ca169c2af247379af() - { - $this->assertTrue(true); - fn() => (+$test + $test); - } - function test2daa80fb0b37666efbae812675a62f0bbb52779d8f75acf1fcead5cfab7a5092() - { - $this->assertTrue(true); - fn() => (($test *= $test) + $test); - } - function test2f1646a815ed56f9f188b69e50a4a3ebd43a2f4feee3e1800f752ccdea784a37() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ + $test); - } - function test34abceee401985c0e6df93a6e79468fd1a99a630683820153935148f15c5d415() - { - $this->assertTrue(true); - fn() => ((string) $test + $test); - } - function test374cf4baaa04fd680795d0c71dc823ad6ca2040757f125fc823fc6b1d5e8a952() - { - $this->assertTrue(true); - fn() => ($test + ($test = $test)); - } - function test3830456cef16f3af75a22baa64b1c606044d1b208c4a1a99606981d44528637c() - { - $this->assertTrue(true); - fn() => (($test <=> $test) + $test); - } - function test3847068a6c426d056c118133da18ffe6fb991df83ffa5a8e250e3adad9ffeae5() - { - $this->assertTrue(true); - fn() => (__TRAIT__ + $test); - } - function test3c00a9ec0fb91216cd83deaf4fa2df71f490421adddb7443a1dd42f66268b492() - { - $this->assertTrue(true); - fn() => (($test > $test) + $test); - } - function test3eb92b81537bfd43232211c902b800905c1ab51701557d2aacd5ed5528b11939() - { - $this->assertTrue(true); - fn() => (clone $test + $test); - } - function test4430badec4c032aea531cb1427fa95480ac12c8f24ed0187b4c2f748699bef94() - { - $this->assertTrue(true); - fn() => ($test / $test + $test); - } - function test4725d728f579108f231b7d2566d02cec8e4812cb41a19cfe62172bf70717b2b2() - { - $this->assertTrue(true); - fn() => ($test + ($test =& $test)); - } - function test4a80e98fca19b9fd7d9741e952f938c8f4ee7f205ffa5386876f15f637b28bfa() - { - $this->assertTrue(true); - fn() => (self + $test); - } - function test4e9c96c905d3543cb144b8f06a67ee3cb8fad847ffbd58f0664e8e41aa54770c() - { - $this->assertTrue(true); - fn() => (${$test} + $test); - } - function test53b95cf4cbd00dcff409829d24cd10f26d8c65998562f8ccff15728960e63a11() - { - $this->assertTrue(true); - fn() => (($test -= $test) + $test); - } - function test5438573b5c0138b1bc608c5631d488955366f43605a2606ba97f97c678e1ced4() - { - $this->assertTrue(true); - fn() => (($test < $test) + $test); - } - function test550a39c2822f2c6e5b9ca878a4cc17825faeb35377b0795059b819cd2b547028() - { - $this->assertTrue(true); - fn() => (($test ^ $test) + $test); - } - function test56284d0a83fbaf22af43b54aa23b452527bd0b9140e5cd01bb2005ae28ecdba0() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() + $test); - } - function test5e10b6df8637cabf76721250ae83f5a8bf0950138d15795856867c7267c9f67d() - { - $this->assertTrue(true); - fn() => ((print $test) + $test); - } - function test6007e7327e317a6aacc3c44966c471787f442d06fed60b875931619b8ab3bfd0() - { - $this->assertTrue(true); - fn() => (__DIR__ + $test); - } - function test6415117ef8338153e5f494dbf764f4f177e1d35fb89481a00a510c2855ab3502() - { - $this->assertTrue(true); - fn() => (throw $test + $test); - } - function test6c7ee5fa97fae330addf01262f81742a8d58d1f7b5712c12698801e1af5d946c() - { - $this->assertTrue(true); - fn() => ((int) $test + $test); - } - function test6f1fc5af1400f90537b18235c06742cde1bd5fb0c7d90eb4d2dd0367b0767f05() - { - $this->assertTrue(true); - fn() => (($test &= $test) + $test); - } - function test705a2e80054054c42d8cd2f9035f0f115ae78777c3c517d873082b107124be86() - { - $this->assertTrue(true); - fn() => (($test xor $test) + $test); - } - function test72fdeaec3a78216ae931631d6002c09680c17d6138d70df1910ba0314c445166() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) + $test); - } - function test75c9b67e063a793e1422b9907b0d417b70b172bccc384e7ba36ce51b46c630b7() - { - $this->assertTrue(true); - fn() => (__LINE__ + $test); - } - function test76039e34d942590c86a8b4bc63680c090943d1806773a9b08c596450dfad9208() - { - $this->assertTrue(true); - fn() => ((array) $test + $test); - } - function test7703a9a1790631838326b31b5388ce99ae5ac73ffd587710c93d7be475b8688e() - { - $this->assertTrue(true); - fn() => ('test' + $test); - } - function test77c8d4b97c1ce309b71d066c1b74d006eb70b011bfb64f24b34db7bfca8ac5a2() - { - $this->assertTrue(true); - fn() => (($test >= $test) + $test); - } - function test7a8ca7df4f440f38b1bdb6cf4b365b45b222bf48eb88d3090c45effd7cc249c3() - { - $this->assertTrue(true); - fn() => (($test ?? $test) + $test); - } - function test7d7acdfd13b209cfc8d5a7826b6519a12971a0f7c5aff829a6a9e70fe4914ed6() - { - $this->assertTrue(true); - fn() => ($test + []); - } - function test81f0776706a787290dd8df4c82d443070d2e7127c7e2850a4e1230e2b685a4e4() - { - $this->assertTrue(true); - fn() => (__FILE__ + $test); - } - function test82362d228eaf7e0a5d3e123ce86941eaa26c45c09f992e1dd111bf128690d79c() - { - $this->assertTrue(true); - fn() => (-$test + $test); - } - function test892bd2755d01119878ab340d8565093b69a51d78107fd25fc90ef0fd9594d127() - { - $this->assertTrue(true); - fn() => ($test instanceof $test + $test); - } - function test8c99e16f99fc8e5be0e03321e2ddc0e797a75cc6c39b1fe5dd025d0842c7d4ef() - { - $this->assertTrue(true); - fn() => (($test ??= $test) + $test); - } - function test8c9ae7db43b0723cec1bc08300268aa30c73cdc4c8ca7eef85dda29b3607d977() - { - $this->assertTrue(true); - fn() => (($test != $test) + $test); - } - function test8f025c99a4a5cd938e02772f86a7758da30be89c074db5d09120b1e913c2ff6c() - { - $this->assertTrue(true); - fn() => ($test::$test() + $test); - } - function test92a31c35085b38d1d2637cf4b4fe95423384254831f192fffe07adb455cd7d0e() - { - $this->assertTrue(true); - fn() => (isset($test) + $test); - } - function test938bcf604d1184ba29a15e7725cadb0de8648d6c39d2e8a8b0a6e6a937e0c6eb() - { - $this->assertTrue(true); - fn() => (($test & $test) + $test); - } - function test957402157de98eb4a38d8fb3e427643e44f3b8a62efcb816f7ad4a979c969553() - { - $this->assertTrue(true); - fn() => ($test * $test + $test); - } - function test96886d79186c845a9708196401ef6d206474302d6a00bf31f5a38af5a3ad0461() - { - $this->assertTrue(true); - fn() => (__CLASS__ + $test); - } - function test992a15f1c6085fd45bec09f64d0215f06681fd817b8b8074ea597c5666b2c9c1() - { - $this->assertTrue(true); - fn() => (($test %= $test) + $test); - } - function test99b605ea48925f370c503c0da16ab327e5e476c58113eb9049ee37098ea152f1() - { - $this->assertTrue(true); - fn() => ($test++ + $test); - } - function test9cf641ef30a9cc8a1ef7e580cd8c17c2bcb28073811eaf60c48c4d6cabef538d() - { - $this->assertTrue(true); - fn() => (($test and $test) + $test); - } - function test9df0561fb345644a9878d097dd8ca3d9d8105ec1281a082ee14377b8e3d451a0() - { - $this->assertTrue(true); - fn() => (($test >> $test) + $test); - } - function testa115d0f547a0bc61b964f875eb4e2db87b9e6b0736ab553e2002e45eba80d462() - { - $this->assertTrue(true); - fn() => (($test **= $test) + $test); - } - function testa614d4987917d6854c12880df43a4d315875f4242e442fe10f427af4373f8a2b() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) + $test); - } - function testa6e798c714db6f24e84e135444859f18a7ba0d40d1bd81f24433a3f04d5be30a() - { - $this->assertTrue(true); - fn() => (match ($test) { - } + $test); - } - function testa756bcf5082a04d529577bde959edf9576e8d893e1a9095dd3e3b64a1c78b166() - { - $this->assertTrue(true); - fn() => (($test <= $test) + $test); - } - function testa79fd1aeb5f684540d784c60d284ad0ca7f208612f03e739be6ebdcf681359b4() - { - $this->assertTrue(true); - fn() => (($test += $test) + $test); - } - function testaf226535155db6ef1ac0bc7698365bd47549b4e760c3da3e931a4dc67eeb2e1c() - { - $this->assertTrue(true); - fn() => ($test::$test + $test); - } - function testaf333ac7d6d6360719485949f96b40c8ef4456e3c822e876db3d2fd417793293() - { - $this->assertTrue(true); - fn() => (($test === $test) + $test); - } - function testb216afa0b6f23b232b10e3d2df8a9a1a3633139f99ff4a97b893c8ca82ea6f8b() - { - $this->assertTrue(true); - fn() => ($test() + $test); - } - function testb3b2cbd1ce8dcd1bbd129cfe4fbeafd43cde7c4d45248c4de6bcbd24a3103869() - { - $this->assertTrue(true); - fn() => (( $test) + $test); - } - function testb69abd7bb80ef8b7121017cbe3ba382a71cbebe57f91661821146075eadee88f() - { - $this->assertTrue(true); - fn() => ($test % $test + $test); - } - function testbfedeb9ae336a81541ed5b3e0e6a3367035130978d8d98ca6e8d7616dfa5c435() - { - $this->assertTrue(true); - fn() => (new $test() + $test); - } - function testc34289a55188cc3b699f9496f84fddc3305aafbeb0baf80ee11ab3dfa57a4f47() - { - $this->assertTrue(true); - fn() => ($test + $test[$test]); - } - function testc4a3efd46d304c531a2296377eb314bee3cff843eea564d73814480089074e3f() - { - $this->assertTrue(true); - fn() => (($test /= $test) + $test); - } - function testc85da18c90039c266c7c7014222966474c85ea37753eca785f33837ff1813db5() - { - $this->assertTrue(true); - fn() => ($test + ~$test); - } - function testc8bffbe7ac1bb38c041dd93f6db45a1cf3efd8f67981b9a2778ed2382a6f7772() - { - $this->assertTrue(true); - fn() => (($test || $test) + $test); - } - function testcb3419d563f01d356a17a5d549b754ad8a61dc6239b2acf3cfd0f9a37a7d0ee4() - { - $this->assertTrue(true); - fn() => (__METHOD__ + $test); - } - function testd465b1485e71d84024850c0ffca3d4e41aa3ee44c10be3d48ba1e4526fb6e164() - { - $this->assertTrue(true); - fn() => (++$test + $test); - } - function testd95ac3343d056c6527983c57e800bab559ff9aca70f6dc6218de825457dd083f() - { - $this->assertTrue(true); - fn() => (0 + $test); - } - function testda847ea9822f96b1df3184a497a9c1e0085ba3c39856b9df99956f872f374c27() - { - $this->assertTrue(true); - fn() => ($test + $test); - } - function testdbacf350b5b2f018586a0e4f8d8e41399ba393a731c15fd26cddf66a04bbd5cf() - { - $this->assertTrue(true); - fn() => ($test-- + $test); - } - function testdd143fa8d5c836fc0cb42372311a9ee834363bbfa1e62d647029c88ae51f823a() - { - $this->assertTrue(true); - fn() => (($test ^= $test) + $test); - } - function testdec043dd0a654b64a14126153603715608a1bb3450c95f98d1e52b5d6f228ade() - { - $this->assertTrue(true); - fn() => (eval($test) + $test); - } - function teste0ba6fa5d55397c548a191b9c8e79c1444952a67749d6c15924c595f0100cfeb() - { - $this->assertTrue(true); - fn() => (($test !== $test) + $test); - } - function teste20475a4ae5838ac2ae7c6b08aa7c33ac0994c50f1a0a92ef8e11dcb9284a277() - { - $this->assertTrue(true); - fn() => ($test?->{$test} + $test); - } - function teste23dd604d9f078be95d955fda81ade8714dc483dbe471546357ceb0be138d5f0() - { - $this->assertTrue(true); - fn() => (($test && $test) + $test); - } - function teste4ef2d67fb10ddd727ab06f90f39b1e8206bd387a5c8f597afa6b1497b30269e() - { - $this->assertTrue(true); - fn() => ($test->{$test} + $test); - } - function teste61536ee68b208d76b33f4046499709dcadc402acc57ef6aceda5d355481b938() - { - $this->assertTrue(true); - fn() => (($test |= $test) + $test); - } - function teste67c1345467519887a420359c3de979dd8e1b5872582b356a6d7be6f4db099aa() - { - $this->assertTrue(true); - fn() => (0.0 + $test); - } - function teste69ece8c7330d6267101998c081b2b807b4c30c3a93367848d17bea034989147() - { - $this->assertTrue(true); - fn() => (($test .= $test) + $test); - } - function teste7429093cf8799180c2b2517fb26c78ee8c2302238b12434099f0063324f52c5() - { - $this->assertTrue(true); - fn() => ((object) $test + $test); - } - function testee0ee1eb2db13f6b18e6d7e8cdb403cf201bba34cabf70682cacfbcfdb22d7f5() - { - $this->assertTrue(true); - fn() => ($test + $test + $test); - } - function testeee1406f9271eb3a79dd944abc67174d1f5bcfac6c46f83bf6a292aed6c52e9d() - { - $this->assertTrue(true); - fn() => ($test + $test::$test); - } - function testf2c59606fa388fe9a7a1cb205a2b863f8d2052cd45ad249d655ff5e9a3b375c4() - { - $this->assertTrue(true); - fn() => ($test . $test + $test); - } - function testf6165659ebf928d812f8dcfb71b647c08197e8242afd1ab668de14d27e05176f() - { - $this->assertTrue(true); - fn() => (empty($test) + $test); - } - function testfa0574a2aa300b56237290f0d9681b1c97c63ec5243ac57ffa8d6f1cea563e45() - { - $this->assertTrue(true); - fn() => (($test == $test) + $test); - } - function testfd1dee68ac146125d9a50130ad86b29f0017467ad1f54d2eec297875b1c08220() - { - $this->assertTrue(true); - fn() => (($test or $test) + $test); - } - function testfdf1929fc5a10a44ec28619e7a19e886b69ea2134522309c8a91f5da51d1df93() - { - $this->assertTrue(true); - fn() => ($test - $test + $test); - } - function testffcca8070c06fd3b304bfbf39433dc80490429f90214947cc7fb465233a5f3af() - { - $this->assertTrue(true); - fn() => ($test->{$test}() + $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest.php b/testsGenerated/Target/Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest.php deleted file mode 100644 index 115d9e1f9..000000000 --- a/testsGenerated/Target/Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest extends TestCase -{ - function test01a94d9136d46bcb5563529101eaa716a03188ee784b2be88062b2ec5683ed16() - { - $this->assertTrue(true); - fn() => (print __NAMESPACE__); - } - function test0376610399e4a41f4172ccc72ab8db5801822c1e3483e536ba9efe752d04c163() - { - $this->assertTrue(true); - fn() => (print (double) $test); - } - function test065b3da442c8d7eb01418ce35ce061ebb2257d7956962c725d0e0be12b72d4fe() - { - $this->assertTrue(true); - fn() => ($test = $test)->{$test}; - } - function test081ffb09496b48ceb54f326a5b9c9f60413322800ce1d54aece48c5bab9c03b9() - { - $this->assertTrue(true); - fn() => (print $test <=> $test); - } - function test11d1bf19b52547576ce913294a091a37137a6a67e9c9b9de19fa67d7e11eb932() - { - $this->assertTrue(true); - fn() => (print $test *= $test); - } - function test12551a2bbe97e886d87a306684b194ab65ea06bf9760642714debdd6fa22e5b3() - { - $this->assertTrue(true); - fn() => self->{$test}; - } - function test16bb78d23ed009e8ce504a66c3f95a1230ad44c2d6322c97b926476cce140791() - { - $this->assertTrue(true); - fn() => (print $test | $test); - } - function test170b51f0d3a2b22dc19d8b5058f096a006e248922cac743f382f21dc6193e037() - { - $this->assertTrue(true); - fn() => (print +$test); - } - function test1ccaf1a18e7f4f4736433406f136c5dff2b3de5bc4da23f657c75ba6285ea2fb() - { - $this->assertTrue(true); - fn() => (~$test)->{$test}; - } - function test1f475929d475decd61d72f77876f4e59fb97d24159c42923b2c16507263aae2b() - { - $this->assertTrue(true); - fn() => (print $test ** $test); - } - function test226f76c26b9f9b7b34294ceef34b818a9d239d7563e524bf313f36503cda913e() - { - $this->assertTrue(true); - fn() => (print $test -= $test); - } - function test2439c2df713a688159e59cae2b6715ba0affa4145f04890fa297868dc433e42a() - { - $this->assertTrue(true); - fn() => (print (object) $test); - } - function test24578de0dacb248370b7191c10c781e257ca21be8b22d60fb2a63dcdfd792405() - { - $this->assertTrue(true); - fn() => (print $test && $test); - } - function test257959183c961ffff95a4ab5d3670ab016b0841fb8597a1c31bcd980f1a92d45() - { - $this->assertTrue(true); - fn() => (print ${$test}); - } - function test29a11c37a52476d60ff658321a0611c4f2f44712a59720fb47cf1c40e90584ea() - { - $this->assertTrue(true); - fn() => (print ($test and $test)); - } - function test2b6f5b2fa883bc30e3753858b51d0f5fa50137f77a378b604e887698ea995024() - { - $this->assertTrue(true); - fn() => (print (string) $test); - } - function test2d0f461834370eb8b698a0bf6f4b1086e999e784d3dff99fcd3e1e6d7d4f95ab() - { - $this->assertTrue(true); - fn() => (print $test ?? $test); - } - function test2d383e3f02bae996d7098f9680d9070734f0992b4278b8f90fdd7b5b1e8ffd42() - { - $this->assertTrue(true); - fn() => (print (int) $test); - } - function test3491dfca90ce5f7e26dd3dcd8c35db757abb475b5757a7b58ac8c8bc2dc4d999() - { - $this->assertTrue(true); - fn() => (empty($test))->{$test}; - } - function test34ee7f8d8ec66240ea1b599d44615e2a1b9dc2044a91668b689ef3806139d9ca() - { - $this->assertTrue(true); - fn() => (isset(( $test)->{$test})); - } - function test3583cb4d08f3ef5923fe20c81f6e6c341e0bf0117a560abd9fc8f2269a464d05() - { - $this->assertTrue(true); - fn() => (print 0); - } - function test36567a2c2716ef34c591c479b096b606f593ef90ee2ed5c7815fd49d08245def() - { - $this->assertTrue(true); - fn() => (print $test ? $test : $test); - } - function test385f0756148b76303b20a10706b076a5f2e60abab2dd876a263eea6579e05415() - { - $this->assertTrue(true); - fn() => (print $test %= $test); - } - function test42c2c56c4079ecad8af97b0bef19771919a7d625e49c4618cd8e8ff183c449c1() - { - $this->assertTrue(true); - fn() => $test::$test->{$test}; - } - function test42e869432f15c0fd3cc668e46546f8ba5283f38e57ac9f3122095fd8375246c5() - { - $this->assertTrue(true); - fn() => (print $test->{$test}); - } - function test4598a2812cc1505c075bd93c3ae1fc3e3f295cbca5fcd03b4fa3a7877772e064() - { - $this->assertTrue(true); - fn() => (print 'test'); - } - function test49987712118fa82ee4151952be22d474b3c255f8a28c143efc3ac9ac7acbf2bd() - { - $this->assertTrue(true); - fn() => (print $test::$test()); - } - function test49d2b967618a4644782275513394e25ca6e402de9cc6b7d00e8e7f5572171d7c() - { - $this->assertTrue(true); - fn() => (print $test /= $test); - } - function test4aa5bd5edadaadaa3073f2fff39c202bef6366c1add903262e0d4f67aaad9fcb() - { - $this->assertTrue(true); - fn() => (print $test **= $test); - } - function test4b449f19a271f7e505d874b1520137ef62df7af38b524bfd9035e269f3043b27() - { - $this->assertTrue(true); - fn() => (print $test |= $test); - } - function test4c2dbc3dc17de75c8c3696385cf1b62b52fe199026f9bf72f885558de99fa458() - { - $this->assertTrue(true); - fn() => (print $test <<= $test); - } - function test658569709de9c8fcb2e9ba0be73550f220a48144cc72bb6a556bf5b1dedbb8d5() - { - $this->assertTrue(true); - fn() => (print $test != $test); - } - function test66a9f661ff921819a6792f4bef831b288e7bd540655badef98b242596515da96() - { - $this->assertTrue(true); - fn() => (print (yield $test => $test)); - } - function test686d044bf6a59cee3a8790e0f73246b8776554cfa21619dd57004e14b22d0b21() - { - $this->assertTrue(true); - fn() => (isset((@$test)->{$test})); - } - function test69f92bf10e27c05f347fc3412933734b225a3f9f83e6186299b9d61c712b639d() - { - $this->assertTrue(true); - fn() => (function () { - })->{$test}; - } - function test6d89d945d66cde280ac77024a89a88ebed8819bf1dbae76431839db003b553df() - { - $this->assertTrue(true); - fn() => (clone $test)->{$test}; - } - function test70b7bf8ee4315368e4468faf1e97a56a6b401a45a9ba99180bed80c978bbcdc4() - { - $this->assertTrue(true); - fn() => ($test =& $test)->{$test}; - } - function test73d7ef4b4c93a34a6441d956af1bcc10d9fddfef31e1c660780bede54e0a3d46() - { - $this->assertTrue(true); - fn() => (print $test || $test); - } - function test7c05d001e85a81f2e374219189fe5c378100ed93f942825e625781bc877c5a01() - { - $this->assertTrue(true); - fn() => (print __FILE__); - } - function test7f1fc142064a4ca8321987462644dad882377c5a4d1d6d71ab77e0c7aff10484() - { - $this->assertTrue(true); - fn() => (isset(self->{$test})); - } - function test800726d5e5fbd4b743718d451e8a81c44d350338e08d3156e73195fb5c30dee2() - { - $this->assertTrue(true); - fn() => (print $test ^= $test); - } - function test82075a25e7d1cf94995369b7eec38ed6c849ac0f52b0a510d6345ed4f35e58cc() - { - $this->assertTrue(true); - fn() => (print $test < $test); - } - function test831f42e4db1bf64343d48416cbca49a62c733cb1a11bdf46d236d56354d31732() - { - $this->assertTrue(true); - fn() => (print (bool) $test); - } - function test841a98ddf90b137709f7478c0cd675b946a985c0e61c3f4afadbfee05ae0bbb3() - { - $this->assertTrue(true); - fn() => (eval($test))->{$test}; - } - function test866d0cf37971f282774ad95d338d6f3bce8e8e359e399c0b2d4d519b0d1d6787() - { - $this->assertTrue(true); - fn() => (print ($test or $test)); - } - function test8a058c06627f7f4672486afd32db770363f2595012fee32d0c44d9e16c72a434() - { - $this->assertTrue(true); - fn() => (!$test)->{$test}; - } - function test8bdaa22ec95a751ba9ea82b6c60a2e03dba6df68e17f5d16237c5b956cfdbc05() - { - $this->assertTrue(true); - fn() => $test()->{$test}; - } - function test8de8c1f6297adbfebdddf50e87f2a9f0bd62bf77e5f086241ed3a3217f48ad35() - { - $this->assertTrue(true); - fn() => (print throw $test); - } - function test95b321e39aee937f8c32dfb45225b340cda064075944d8df9fd31e07ec2cd433() - { - $this->assertTrue(true); - fn() => (print ($test xor $test)); - } - function test9ac37c10f1065618dce4ba938da8ec629021e055ce3fb6fd48d427eee680d284() - { - $this->assertTrue(true); - fn() => (print $test >>= $test); - } - function test9c0b801b95c656f063afddd20d1c1d2e8786e9300965c08b53295ad95f25ef21() - { - $this->assertTrue(true); - fn() => (isset($test()->{$test})); - } - function test9cb308df5f4a4a2808a47a324575111860abc2465800446ff01f9cf44663d9c7() - { - $this->assertTrue(true); - fn() => (print -$test); - } - function testa02d26342b1df99350044134a90fcc9235c9a9066b1b32d5b03df097048ae95a() - { - $this->assertTrue(true); - fn() => (print $test .= $test); - } - function testa05c207d9a337268f902aa2a9661c8177c1e984cac0616b2100839b410f5af57() - { - $this->assertTrue(true); - fn() => (isset(($test =& $test)->{$test})); - } - function testa3b63a30308a7fb8a4424f3474020900dccfc91c317705d04ba40769b59afaef() - { - $this->assertTrue(true); - fn() => (print __DIR__); - } - function testa664e19f333ed8b801a551b9031e943c4cdaacd6b8a30209451ac627c9247429() - { - $this->assertTrue(true); - fn() => ( $test)->{$test}; - } - function testaaf9b1bf7c9ec9f4107816ec25b8a72049401892f2b562c58a1475acb153e87b() - { - $this->assertTrue(true); - fn() => (isset($test[$test]->{$test})); - } - function testaefc46dd276662a92ad2f9afbddace5f57554737212a5640614d25ff0a6c21fc() - { - $this->assertTrue(true); - fn() => (print __FUNCTION__); - } - function testb17baadfa2962820368aeb8ab74013779b90fbaeb471d60b32a67f3e199255d6() - { - $this->assertTrue(true); - fn() => (print __TRAIT__); - } - function testb5db4c762d9c6e96fe9b368d314b507a40772c6a10c8d71eec217b623a427299() - { - $this->assertTrue(true); - fn() => (print $test * $test); - } - function testb62fa922b0a4e22ea43646ef304cb6937873257657bc64ce94c569a2e0cc9e20() - { - $this->assertTrue(true); - fn() => $test[$test]->{$test}; - } - function testb8dc738b6e9eba41ab0cb3d1d32e26e0b449963dbd733d504ca82bd1ae2254cd() - { - $this->assertTrue(true); - fn() => (print $test <= $test); - } - function testb9a143cabb1a58cffc000e80eb78d0b2ee661e944b4c6d42a3d86f55ea741c3c() - { - $this->assertTrue(true); - fn() => (print $test == $test); - } - function testb9e6c94f7b849d94de40636d974201407c12da782fa9bd1ef2c79195932bd811() - { - $this->assertTrue(true); - fn() => ($test)->{$test}; - } - function testc0d5f6db02348da1983b833fd73443f31950771d0411af8104b8b61da780fb17() - { - $this->assertTrue(true); - fn() => (print $test & $test); - } - function testc139d3edafb1d35c4000bce3d96b9e7e4d8030f129ffed13a76758a3f120c72f() - { - $this->assertTrue(true); - fn() => (print $test::${$test}); - } - function testc20eaecbb240702ec7ede83ebb3b8fdd3cc0604805741590de4e0b7448f754e9() - { - $this->assertTrue(true); - fn() => (isset((function () { - })->{$test})); - } - function testc24a8f07bf32cc876abc0fc958c81869d70ded25860e7fdfb0ac3506f3258331() - { - $this->assertTrue(true); - fn() => (print $test > $test); - } - function testc4cb7eafe0ddca4c0a62815223f48efcb9b428c500355359b3cfe82b4316451c() - { - $this->assertTrue(true); - fn() => (print $test + $test); - } - function testc7cd3eecff6ac25bd14b95aa141bba7147efdc51c24f82de7d017a3815593dd1() - { - $this->assertTrue(true); - fn() => (print $test >= $test); - } - function testc7fdc096904ff494f9ab3f480c67530594ade191178da688d87741224bd7dffa() - { - $this->assertTrue(true); - fn() => (isset((~$test)->{$test})); - } - function testc839c6e0fbe9c310626b5600a1b453f817f365b909f8f0687db3e4a552237449() - { - $this->assertTrue(true); - fn() => (print (array) $test); - } - function testc90cb081c4340e45689759a849b6be8d4ef8915c05b1b657fe2ec6f9c034170d() - { - $this->assertTrue(true); - fn() => (isset((empty($test))->{$test})); - } - function testca67a819f5d403ae0f6e9504cfab01b905317d54448aee3185ee23f18cb5e81f() - { - $this->assertTrue(true); - fn() => (print $test % $test); - } - function testcd1febddb1367d3a6af2dcb79ad411cd29058550c1aa17d1d995a4267ee092da() - { - $this->assertTrue(true); - fn() => (print $test ^ $test); - } - function testce3f7bd7e91c5ec7d4aedccae60b552f27ba1201555eb7aafcefa58415762da0() - { - $this->assertTrue(true); - fn() => (print yield from $test); - } - function testcee1d4e36c97fba6e2d9acef38328a9781c08cd470951b1de5c8dbe3dad8452e() - { - $this->assertTrue(true); - fn() => (print $test >> $test); - } - function testd01a9d82654941f511b7c80bb9ed362cb109001e61a3c59c246f5021033afcf6() - { - $this->assertTrue(true); - fn() => (print __CLASS__); - } - function testd28b03b14ea54503d3dc35603800f0f56599e04288def9def92dc99ab2be499d() - { - $this->assertTrue(true); - fn() => (print $test . $test); - } - function testd3f035e0147e2f5763da7b7e8570351cf66298ead4e28b568993f87c59370847() - { - $this->assertTrue(true); - fn() => (isset($test::$test->{$test})); - } - function testd63704f21d6951fb6d7dfaa90d50fad60c314578cf637598b29497db42a01482() - { - $this->assertTrue(true); - fn() => (print __METHOD__); - } - function testdce9facb982244e7a98736e596c566bda3badd94e5ccddb65174f7ba85d077ec() - { - $this->assertTrue(true); - fn() => (print ``); - } - function teste1fe28904c520992ab2de9ada9dcf279017a182ee836e6d1db2f96bbb951f62d() - { - $this->assertTrue(true); - fn() => (print 0.0); - } - function teste49fd517bc0bcc4ee3052efcd11451fc95871ccc408cd12fe2f4615a53bf8cec() - { - $this->assertTrue(true); - fn() => (print $test - $test); - } - function teste8b4d872152384a2547f9b559165f9618f924fe66175995c87d62c2e14ce5773() - { - $this->assertTrue(true); - fn() => (isset(($test = $test)->{$test})); - } - function testea406a4a86191f15f7a8ce9ded56bc5ddc9c8ac1a7fd3ad804ccbd6cdf59386a() - { - $this->assertTrue(true); - fn() => (print $test / $test); - } - function testecd51c8f8e84b3198e0dab205e8c585e3a84effe33a827058257522057b445ad() - { - $this->assertTrue(true); - fn() => (isset((!$test)->{$test})); - } - function tested1b755ec8e6a52aa5d4693c8a53407928812947cd3b88d9157fc8bde4f15343() - { - $this->assertTrue(true); - fn() => (print $test !== $test); - } - function tested322d1132fd3dfd430332342a8fb8bb78d77fa1a51272ef630f248c832ccc90() - { - $this->assertTrue(true); - fn() => (print "{$test}"); - } - function testee12813e0a30a39889c0b6325b8a63e3c757062126b2b11f03c1d8193aee77b0() - { - $this->assertTrue(true); - fn() => (print $test &= $test); - } - function testee70468d6477e666e4bd90e2b2994a4a4ceb67b09a9b5e34bfb5fa71ecba84ae() - { - $this->assertTrue(true); - fn() => ($test instanceof $test)->{$test}; - } - function testeecc81fef11c37c909e97292e10184fe8764eb548173a7ae408a5d89f3bed02f() - { - $this->assertTrue(true); - fn() => (print __LINE__); - } - function testeee4438310b8ccb97ce0125759a86f8ee89ca76d805a89fb9d2e4bc9efb29028() - { - $this->assertTrue(true); - fn() => (print $test << $test); - } - function testef4d3391104b000dbbe80dede19180f5c4d93db0d97a9439a1cc736ecd74393c() - { - $this->assertTrue(true); - fn() => (isset((clone $test)->{$test})); - } - function testf2cc83a9be7c6f38b37f0ef09b749bdbb32e5a2932e2086e32e62790c1535480() - { - $this->assertTrue(true); - fn() => (isset(($test)->{$test})); - } - function testf866069dec64088964fd4792b061571ddf03c6010d40bc454a0096706eec5010() - { - $this->assertTrue(true); - fn() => (print $test ??= $test); - } - function testf8e61c013846b02938c8901eaa4249115acd4ccedf0c07342d118b968413bbae() - { - $this->assertTrue(true); - fn() => (@$test)->{$test}; - } - function testfa1fcacbf50b835736084d36aa10037905a15041db4f256c0c3aee1fee595630() - { - $this->assertTrue(true); - fn() => (print $test === $test); - } - function testfc0cf2d2b063030c8e5159acd4e1316f724f2ac53c4a69e1a62059508a087e22() - { - $this->assertTrue(true); - fn() => (isset((eval($test))->{$test})); - } - function testfd186cd10966e515edab0182d58f1a1723f07227207f46d6dc4253b3a8051894() - { - $this->assertTrue(true); - fn() => (print $test += $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test.php b/testsGenerated/Target/Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test.php deleted file mode 100644 index 654fb919a..000000000 --- a/testsGenerated/Target/Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test.php +++ /dev/null @@ -1,515 +0,0 @@ - - * @license MIT - */ -class Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test extends TestCase -{ - function test01e80e9aaaecdb90137c9fe93bd02332912b17ec92396de41b4b9f5f15d5efde() - { - $this->assertTrue(true); - fn() => (yield from (bool) $test); - } - function test073cb4595d32acaef85286ef02d037fec5702edab97b8d2505025b7028b20881() - { - $this->assertTrue(true); - fn() => (yield from empty($test)); - } - function test083f4228bcaddbe828d5c2a1f0e355230a0d0ff8ff22af3222a6b5506d242411() - { - $this->assertTrue(true); - fn() => (yield from eval($test)); - } - function test0c2615993a069c679ac1938043fafbe4e41014c1037785917efd1b8d1987be9e() - { - $this->assertTrue(true); - fn() => (yield from $test instanceof $test); - } - function test10751b76834e7aff9a4165cda7c815e1d748b88db1565963b4f00ea4448fb178() - { - $this->assertTrue(true); - fn() => (yield from $test()); - } - function test123bf0853eeb307b95368eb2f47e1c5004c816dccb217c5cef835b1ed5400777() - { - $this->assertTrue(true); - fn() => (yield); - } - function test17d00d53be67998c1e596dd0fcf3eb25528835124399cf60c416d3445017d4c4() - { - $this->assertTrue(true); - fn() => (yield from $test *= $test); - } - function test1a138e01d1f2b8dc334b421a07c12d40faf47795878e3061eb02f3cabd216484() - { - $this->assertTrue(true); - fn() => (yield from $test >= $test); - } - function test21db9f47eed0b3686d91e52b70221368df10dfae158a00b4c251cbad0f8d3a14() - { - $this->assertTrue(true); - fn() => (yield from ++$test); - } - function test22a5ed99e24d2355d31bba3aadee5c1f465130c941d8f385d4cc9ebc0db3ef00() - { - $this->assertTrue(true); - fn() => (yield from $test->{$test}); - } - function test24c1ec01dbc0a96b155eddb28d38dab425cb7f5bd22714b8c141aa9df866d44c() - { - $this->assertTrue(true); - fn() => ((yield $test => $test::$test)); - } - function test2a04a86cdb912af7eda10d7041edf0372423c12297318b8e21d9705a34a7f596() - { - $this->assertTrue(true); - fn() => (yield from ( $test)); - } - function test2bd56f7c7ff7ac554e9f36756ca269dbe971055b99eff217050396293fa7b99d() - { - $this->assertTrue(true); - fn() => ((yield $test => !$test)); - } - function test2c2b1d213bb797e75c7ba7989175e52f208214a4e1bd48505387d9a1efc1f62d() - { - $this->assertTrue(true); - fn() => (yield from $test::${$test}); - } - function test2ef34e06a46e6d2f13a3fa4d3b61629e65831ed6bd03ec847da96530b4c10e57() - { - $this->assertTrue(true); - fn() => (yield from $test < $test); - } - function test305f63b87e00bc70f04e355120af36dc80dfb5ac9a29b07141ef33bfe72e4cd1() - { - $this->assertTrue(true); - fn() => (yield from clone $test); - } - function test346644b0d6380e9884fca878548fee239bdcb0b7a3c37a81a40bbb16d5589b91() - { - $this->assertTrue(true); - fn() => (yield from $test && $test); - } - function test398fa1e3ceee5db18ab7232a779e110b87fcd88b977ba06547e8a7a36322248e() - { - $this->assertTrue(true); - fn() => (yield from $test > $test); - } - function test3aab4982ffd151ae525bb7107f5973426806c9d9d3ac00ced1e811a32319ad2f() - { - $this->assertTrue(true); - fn() => (yield from $test **= $test); - } - function test3b93a0b84217e16e396e90c677f4414cae78645e35555d550914b4b4fc0214e8() - { - $this->assertTrue(true); - fn() => (yield from $test >> $test); - } - function test3d2908b85b5a14154c8ed0e3b3740c4bd4854575fb3d15fcbabd00b5be709cde() - { - $this->assertTrue(true); - fn() => (yield from $test ^ $test); - } - function test3d5cf32703d0f0417e9e0d8b5e6b855a4d010c58731fb4bedd3927a8693a447b() - { - $this->assertTrue(true); - fn() => (yield from ($test or $test)); - } - function test3e7a53330ef93ce6fa1d2f6fdb27c22c921ca2a2928ba24ecefc0600b3374173() - { - $this->assertTrue(true); - fn() => (yield from $test || $test); - } - function test44742d46175eb09b416999f24d48aa490239e80469d4c9d2258b5ac0c798250a() - { - $this->assertTrue(true); - fn() => (yield from $test %= $test); - } - function test460aaf89be70d59d42944b1ed33b3a4e25ee1a953c573d8bfaf17489d2d86624() - { - $this->assertTrue(true); - fn() => (yield from (string) $test); - } - function test471440835fde034f3760f09f872ff435443a6c6d0a7ef030be3f33f1126b40a8() - { - $this->assertTrue(true); - fn() => (yield from function () { - }); - } - function test488705dd6cbc575e169def8b54ac81ff15ebccc03abc8888f5970571a6c76ad7() - { - $this->assertTrue(true); - fn() => (yield from $test += $test); - } - function test494cc51105f6831e5aeaeace8f93a1942c1a976679cddb074e0513bd5e1fa610() - { - $this->assertTrue(true); - fn() => (yield from $test == $test); - } - function test4c0b7a330fc1b6dc06f55ee3446af53bb2d5d00c05f276752e12d6aa815976cb() - { - $this->assertTrue(true); - fn() => (yield from $test ^= $test); - } - function test5324cc6a137b301a46a743c341d3cc00fb9a65e06bb401359f4be2e6f9661ab5() - { - $this->assertTrue(true); - fn() => (yield from $test::$test()); - } - function test5693c669fb91683f4675256073e0510abedb979767a5fd9d2e630436414eb784() - { - $this->assertTrue(true); - fn() => (yield from $test <<= $test); - } - function test56e2f2d4739a48a2a83346b0f2052edceeccbf4999b958974bfa208c170fd4b1() - { - $this->assertTrue(true); - fn() => (yield from $test != $test); - } - function test578621ad1c2870fac596f37fe2703d5e5cfe1aa0ded4165faeeb700384d98df1() - { - $this->assertTrue(true); - fn() => (yield from __DIR__); - } - function test5815b5fefadcbe75fe5c4c6ae5d49ce4d825b62cada58f73d5fa2e1c1cd0fd75() - { - $this->assertTrue(true); - fn() => (yield from (int) $test); - } - function test5dfa486b28ff635cc784eafb3c3159e3013ba249f05aa79dcf073cd9f82b7545() - { - $this->assertTrue(true); - fn() => (yield from match ($test) { - }); - } - function test64c7b7651dd89a00da9bc15fe553dd7d742486aa1ac324fe69923013551d093f() - { - $this->assertTrue(true); - fn() => (yield from __NAMESPACE__); - } - function test687430e7c03227719830af4ec71ddfabf3e25d64f063b823e2c21e85729eda82() - { - $this->assertTrue(true); - fn() => (yield from +$test); - } - function test6b6b8a8fd2d571c4246d6f41717d02688a614ef81d97e362d310e09f75218619() - { - $this->assertTrue(true); - fn() => (yield from new $test()); - } - function test6bdd77452901775b454a0a1ceddced3e9d446ee118f34dde740fc4116b8ab2f0() - { - $this->assertTrue(true); - fn() => (yield from $test ?? $test); - } - function test71e2795c515c77405fcb462be33951f1f8d296e1d622677ad2d72ec3d7d2d8f5() - { - $this->assertTrue(true); - fn() => (yield from 'test'); - } - function test736594e0adc51cd615e20b533445dcfe8eba38e0e6ce55fdc7f6cae8cbba773a() - { - $this->assertTrue(true); - fn() => ((yield $test => $test = $test)); - } - function test7da92429e1d3494319c61cc9a5df1fe7811a97a19d1789942923e26f0e4ffa2f() - { - $this->assertTrue(true); - fn() => (yield from ``); - } - function test804863c40cd2308f4277e77d2c361231948589042b57e7915e506125bf940e21() - { - $this->assertTrue(true); - fn() => (yield from $test |= $test); - } - function test80992a359fc4c6b9e32e3b021d34c831f767b8b7aa39f1949710c727f1f82f26() - { - $this->assertTrue(true); - fn() => (yield from __FUNCTION__); - } - function test80a2065e9d4a1a4ec815223dd9c8a51ca9f5812dfdb92d7da25700866e22bd09() - { - $this->assertTrue(true); - fn() => (yield from $test << $test); - } - function test8139de6e1052ddce28e59b5a818545dc578d48e799d01fde243f673e60f69c47() - { - $this->assertTrue(true); - fn() => (yield from $test - $test); - } - function test81b8b796eb6539cf88d9549762210e3067a85349c9a5507722923f4e46e3d19e() - { - $this->assertTrue(true); - fn() => (yield from -$test); - } - function test82b266fa7626f0f10d2616849457a1f703f9b1bc9be4d12debe9dc36c843183c() - { - $this->assertTrue(true); - fn() => (yield from $test / $test); - } - function test89e9bf782b7d91c13c5c5b9bd4941e501b4c1dbfe20f7293ece05058b235c3aa() - { - $this->assertTrue(true); - fn() => (yield from $test /= $test); - } - function test8a0456d2da3a7f40a9789a2af3324d8ef0a71439eea6565b2c2e5761ea802311() - { - $this->assertTrue(true); - fn() => (yield from $test <=> $test); - } - function test8b2375d7cd209938c74d637dab6c941582283fe378c9bdbc24ed767548dfa533() - { - $this->assertTrue(true); - fn() => (yield from $test ** $test); - } - function test93b694ec98708404b3bcdbcf8e3d1668fc16f8cd24aea65a472c0f6eb1596227() - { - $this->assertTrue(true); - fn() => (yield from --$test); - } - function test96e4f1b919aa527cad3541adb23547586d35eba99800af8fdfee922be3f34b21() - { - $this->assertTrue(true); - fn() => (yield from ${$test}); - } - function test976c3ab1369c74c84032d017a9b4e02b3582234ad7d0493576838dd5f2cc561e() - { - $this->assertTrue(true); - fn() => (yield from $test . $test); - } - function test98410e1f31c65255e2b726395ed3af75900f50c44432e944f900149f704081ea() - { - $this->assertTrue(true); - fn() => (yield from $test >>= $test); - } - function test9b45db672e8827d71e313b712bb23291460454040773b8e3fd6049d9c56da31c() - { - $this->assertTrue(true); - fn() => (yield from (print $test)); - } - function test9e2ca980f1584cf805de38b01fd68d17273f78198bcda91dfe35f2aa5e39afea() - { - $this->assertTrue(true); - fn() => (yield from $test -= $test); - } - function test9ea013ec31ccc45ac5edd2d8c94f8aef4910da2107bff7eba6beeb79bd9149c3() - { - $this->assertTrue(true); - fn() => (yield from $test === $test); - } - function test9f6594e07b902cefb3ed746aecb3e517ed6f19c98a19f32fac609eadb2c11097() - { - $this->assertTrue(true); - fn() => (yield from $test * $test); - } - function testa21f245fa9a1a17a49d75c89373848bdeec53f49a194afadd226a1e71d20c143() - { - $this->assertTrue(true); - fn() => (yield from yield from $test); - } - function testa50e19a4235258d791941a844c04ee02291136677a34de7b69757070d36092bc() - { - $this->assertTrue(true); - fn() => (yield from @$test); - } - function testa8556c1f7ade83b8d41cabbfeb57e047b82e28150353d1ffd1ba17d756b8ed03() - { - $this->assertTrue(true); - fn() => (yield from 0); - } - function testabd54435b9011716831b0ffc6b0dd36028198f5b866993684289f746ba6ecf41() - { - $this->assertTrue(true); - fn() => ((yield $test => $test[$test])); - } - function testafa47e3fd923f644365b2b0236b85a3b41217e167128e260c40158ffb330f41a() - { - $this->assertTrue(true); - fn() => (yield from (array) $test); - } - function testb1fa47b7d0cb799bde1eca34bae78ddaf4c8e8e9207572f2b16035fe11552fce() - { - $this->assertTrue(true); - fn() => (yield from $test &= $test); - } - function testb58d002020aa6c785ee6e61105e7fdffe6e611d93ab927dd6ed49325deba7526() - { - $this->assertTrue(true); - fn() => ((yield $test => function () { - })); - } - function testb7474c6e84f9b4b413d4a9d43456a0a83a9786f863bf3d4824855536c8b3b15b() - { - $this->assertTrue(true); - fn() => (yield from self); - } - function testb80e908bdb26bfd8bb750f4bc4cc90723b01f07447590b3a42ac72d13561a72b() - { - $this->assertTrue(true); - fn() => (yield from $test?->{$test}); - } - function testba8601fc6f784fda5a77200edc27ded179e2435dac043d990874767357721b0f() - { - $this->assertTrue(true); - fn() => (yield from (object) $test); - } - function testbacf15af3c79ce3389d7bc7e467fb281b8078384e940a0d096932f5cf4b425a4() - { - $this->assertTrue(true); - fn() => (yield from __FILE__); - } - function testbd25e6e82bb14ec8c3fb62159baece0fd5688b1c8ec8b21bfd3d46fe3c706645() - { - $this->assertTrue(true); - fn() => (yield from $test !== $test); - } - function testbfe0144d30d26458e91fb225ce9c6a68a162da34ff137a764582b3cd7c95cc72() - { - $this->assertTrue(true); - fn() => (yield from isset($test)); - } - function testc1041ad977736efc1e1b5d62a7d48ae8738d5d0d3a4ea15aade8691ca578f1f6() - { - $this->assertTrue(true); - fn() => (yield from throw $test); - } - function testc32e900739ee5efeb6e89842df8b9ff568b70fa66bdd7f9e4fc5b1e860e49c5d() - { - $this->assertTrue(true); - fn() => (yield from __LINE__); - } - function testc55b607682da460e318f394cf65a24d268cbc2b8cec695e48997f5f2f0b08493() - { - $this->assertTrue(true); - fn() => (yield from ($test and $test)); - } - function testc5a73c6acaa2c910bd4cdead9f233879aa41c222b4c2414327ea7acb303c6c4d() - { - $this->assertTrue(true); - fn() => (yield from __TRAIT__); - } - function testc62c8f2bf8a66273e207936131cdbfc9b7fcf4c09cb659cb94b6a860ea0a67ce() - { - $this->assertTrue(true); - fn() => (yield from $test & $test); - } - function testc9a2e22f014b694c63ec67db003cc8f7f0aeea972179b88ee5155864b9fcb155() - { - $this->assertTrue(true); - fn() => (yield from $test?->{$test}()); - } - function testcad5384a4ce5bcd812fcd132a541d4d3ab25da901d69b7f82dd6c3a66b117821() - { - $this->assertTrue(true); - fn() => (yield from ($test xor $test)); - } - function testcb732753de9a97520a49362f603ab493c91e3ed6b56190fa417cb2afc26e0480() - { - $this->assertTrue(true); - fn() => (yield from __METHOD__); - } - function testcbb5413b740a244ede80d2073e3dc8ab5ab711e4670f90187d594f71f7a67578() - { - $this->assertTrue(true); - fn() => ((yield $test => clone $test)); - } - function testccf1ea087580f964c40f8028398928a8eb28822632892a6f5c9053b352f8d482() - { - $this->assertTrue(true); - fn() => ((yield $test => [])); - } - function testcf15580ccd8393769d1b1e2abfef093c549adb657314a38e860facd7bd476d71() - { - $this->assertTrue(true); - fn() => (yield from 0.0); - } - function testd08353b5a5faa59cb8a89b9e4939336436bcc98768bf2eb508264f1b8238e4ca() - { - $this->assertTrue(true); - fn() => ((yield $test => ~$test)); - } - function testd1e154af637730cc9203e5c673f46f47eac2996eb9b6d926988dd19ba1e66b9d() - { - $this->assertTrue(true); - fn() => (yield from "{$test}"); - } - function testd465188d936c096ea6d1b560eaefa0b8886b1476c14e78ff8e0d7347ee42da06() - { - $this->assertTrue(true); - fn() => (yield from $test ? $test : $test); - } - function testd5b028b7b5ccceea0d226ba461f2a46649c5fe0e9d6954457e9e7a6721fb2bba() - { - $this->assertTrue(true); - fn() => (yield from __CLASS__); - } - function testd9d0a01210baa1608eceae75e5a7b13bb7ce7eb28e8bdebdc9ba04d21eea3769() - { - $this->assertTrue(true); - fn() => ((yield $test => $test =& $test)); - } - function testdbcb238d486320dae683793e9a687dd47a96cebdd0ef51e3953abe69aa5df6cc() - { - $this->assertTrue(true); - fn() => (yield from $test ??= $test); - } - function testdd274755b152d4fd34be63730c624b01a50b3950c024c504ef58cad284d67b3e() - { - $this->assertTrue(true); - fn() => (yield from $test | $test); - } - function testdd8f54fad0294dcd95f7d362dca7bd90d9877653b715f70cbb830b9e116d406f() - { - $this->assertTrue(true); - fn() => (yield from $test % $test); - } - function teste2deb71de3f33960d511646d62f15c479187dfedf85be0d4aecf59741469d29f() - { - $this->assertTrue(true); - fn() => (yield from $test->{$test}()); - } - function teste833bb69497ea97d675202d3b517a95c68e324b30d650b8cc651c6d12205b853() - { - $this->assertTrue(true); - fn() => (yield from $test--); - } - function testef95f93fbed7ade97401de203142786a207490dac937e84eaaccd9d79f47b8e2() - { - $this->assertTrue(true); - fn() => (yield from $test++); - } - function testefa9a07040bce5b39a050dcc6f78c9170d78f8818883e1ef8c294121c8546856() - { - $this->assertTrue(true); - fn() => (yield from $test); - } - function testf2ef48048e80ea0f87d6b324a461b5f258444a8329ce931ce4e1ff900e530fba() - { - $this->assertTrue(true); - fn() => (yield from $test <= $test); - } - function testf343dc082388229593d245c60d5683ac76dc9fe01d1c3dd712de6dffa164084b() - { - $this->assertTrue(true); - fn() => (yield from (yield $test => $test)); - } - function testf5ac7acaa9ebe1ba9b3151e6e7d88408da71eeab0366fe7197c6473e686dea54() - { - $this->assertTrue(true); - fn() => (yield from $test .= $test); - } - function testf8cc56bfd9815b92526448473598cc1416d94760638ea742eb719b46507590a4() - { - $this->assertTrue(true); - fn() => (yield from $test + $test); - } - function testfcb6b4eba62514677ae3ba6d366ba656fbdf98eb09871c8cb52225fabc5b5e61() - { - $this->assertTrue(true); - fn() => (yield from (double) $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest.php b/testsGenerated/Target/Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest.php deleted file mode 100644 index 3de2eed45..000000000 --- a/testsGenerated/Target/Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest.php +++ /dev/null @@ -1,508 +0,0 @@ - - * @license MIT - */ -class Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest extends TestCase -{ - function test03f39cbcebb5dd8cb1353451758e27e633bd799f8542ebb12f09be5f0205ec1e() - { - $this->assertTrue(true); - fn() => ($test -= $test)::$test(); - } - function test09daf2f751b2213a9b03adfdfb39a5c149b3ce1978b292a2c3279cccfe08e7ec() - { - $this->assertTrue(true); - fn() => (isset($test->{$test != $test})); - } - function test0be02621f58bfc0686a461f579e9a0d15989325a5120b5c7900ebc4c72c9edc6() - { - $this->assertTrue(true); - fn() => $test->{$test}()::$test(); - } - function test0f1c880a361f3f4ac3cabf6b45185e60db9d6110f84c1082c5bd884130982d14() - { - $this->assertTrue(true); - fn() => (isset($test->{$test <= $test})); - } - function test12f3c9c7f8327023ae7b9308652cc75793f9f9f1677a2c6614638c8813783ad8() - { - $this->assertTrue(true); - fn() => (new $test())::$test(); - } - function test1398aebcdaf1e66a325fcd506b68fa8e70e3aa25f08097492f32072ed1d6e2a4() - { - $this->assertTrue(true); - fn() => $test?->{$test}()::$test(); - } - function test1f322bb9bf8428bb76f533231fffee814fef9bfe59c47f64274904bde1fbf8d7() - { - $this->assertTrue(true); - fn() => $test->{(double) $test}; - } - function test205d73eeb78ad99d72fb32240b15f80311c26942c9546892baf52cd18c80f640() - { - $this->assertTrue(true); - fn() => ($test &= $test)::$test(); - } - function test220998cabbf8941d3bd3dd7dd6d06c8076bd6707c318fd6d093b36f6bd2effc4() - { - $this->assertTrue(true); - fn() => ($test instanceof $test)::$test(); - } - function test2241985f240dfb409ec6eb4ab35aedcd3d160dfba66104b3de137df2648275e7() - { - $this->assertTrue(true); - fn() => (empty($test))::$test(); - } - function test22766f2b5f9cfb2332205c6203a3a2e050c3fb0c22ea3dfc0bba8e858ce5b9f0() - { - $this->assertTrue(true); - fn() => $test->{(array) $test}; - } - function test260c81c12ede440d8ff52a5133f2f7963b38e8372603c2764faddb0d45a6ea5e() - { - $this->assertTrue(true); - fn() => $test->{"{$test}"}; - } - function test2b6d066c3f4d77ac27d073e3c77369fa6f543fa3ea95ef9eba541290527c1ab5() - { - $this->assertTrue(true); - fn() => $test->{$test <=> $test}; - } - function test2d163b0d9b7b37efb12a4c003ab1efd4744d068d338dccf69c176f20ce0f8238() - { - $this->assertTrue(true); - fn() => ($test |= $test)::$test(); - } - function test2e48f77b569d332bc312562fcd5d6ba562868002a6e42436c654cacb2074c326() - { - $this->assertTrue(true); - fn() => $test->{__FILE__}; - } - function test32b694c5db1cb7cbcf94713f540ffd64ca6f25e6afd8ea1ff12f52c4a3581ee5() - { - $this->assertTrue(true); - fn() => $test->{0}; - } - function test33a7dd0229b56ca3cd2a15076a09e6db689654c1d8b7dee64bec4cd9fe5770ce() - { - $this->assertTrue(true); - fn() => ($test /= $test)::$test(); - } - function test3486ac095d69d60acb304a459df38945d7a825896668774f1020b443cc598333() - { - $this->assertTrue(true); - fn() => (isset($test->{$test < $test})); - } - function test3a17907b31b95626390e14d93efc505f5b5509a4d667d27ee13d76c690aa167f() - { - $this->assertTrue(true); - fn() => $test->{(object) $test}; - } - function test3b245eb0941fb16c3fe3804d33200fa1eb256ad4c7ca0d3ec72b06ea3d82d7a7() - { - $this->assertTrue(true); - fn() => $test->{$test < $test}; - } - function test3b70d35bc97125b457984f5811f4edf51f68136d0a8982a146657d870cab6906() - { - $this->assertTrue(true); - fn() => (isset($test->{(double) $test})); - } - function test3c7906d6c3ee7f2cc6321e0d3d96a74b52b482bd82d91d18fc52955c84c4a599() - { - $this->assertTrue(true); - fn() => (isset($test->{__LINE__})); - } - function test3fa7f71726fe495ad32e10897dc8ff57647b7c30fdc3a31bc9797050b5649bef() - { - $this->assertTrue(true); - fn() => (isset($test->{0.0})); - } - function test42bd8b08872a9567e77333c3fa3a7b9559d5d60a124f45b17eb5ae6e2c1e20da() - { - $this->assertTrue(true); - fn() => (isset($test->{$test << $test})); - } - function test44e329cdd96f0118380dd98fcda5a7e2d2ef66d14c3b3db6acf2e792338a5d41() - { - $this->assertTrue(true); - fn() => (isset($test->{$test % $test})); - } - function test45102c1730b33703c6c151859f50cfc5bfddb905a3a6b60ce228171cbbd2628c() - { - $this->assertTrue(true); - fn() => (``)::$test(); - } - function test4772b38753c785b23af0aa5926b6e605746f4e07a54a896509ebf6fc38742b06() - { - $this->assertTrue(true); - fn() => (clone $test)::$test(); - } - function test4bf36241a85470fa00997ab16c2bdc54b07e2c0ddf5b05c2323d186feea2dd68() - { - $this->assertTrue(true); - fn() => $test->{$test}::$test(); - } - function test4e7d3d54d0e4726dad7522e183b0dc8017d2728ee8ffeba7c9393540adf6cdc1() - { - $this->assertTrue(true); - fn() => $test->{$test !== $test}; - } - function test53ddeb4f1ee82f1a40e7b2a86c14aaaba2d3819cc0b623caf90ddd569b948cbb() - { - $this->assertTrue(true); - fn() => ($test ??= $test)::$test(); - } - function test54825b365988a114f1efe3552bc2ad537a8075526ca088cd44449c2bf1b7faa0() - { - $this->assertTrue(true); - fn() => $test->{$test ** $test}; - } - function test5c2fec94336926da4c08ed4fac4bb7b7f4e261fe49bedaf64a689a599a9aaaa0() - { - $this->assertTrue(true); - fn() => (--$test)::$test(); - } - function test5d300786d4ad06f6ab470a5a3661e1e13d047d2946e29403e8abacaca4ae22a1() - { - $this->assertTrue(true); - fn() => ${$test}::$test(); - } - function test5f8f91e91d72a9c121ca600004af47b990b35766f6eb2b7f112f531f0a3ec45d() - { - $this->assertTrue(true); - fn() => $test->{$test != $test}; - } - function test6145601133be0772c3bc90fe1e615dc48cc2381027d070911cb8cf39feb793ff() - { - $this->assertTrue(true); - fn() => $test::${$test}::$test(); - } - function test6227e51417f6f5a99f5f8dffb2207626ad9dc6215d44da365763aea074dcc8ac() - { - $this->assertTrue(true); - fn() => $test->{__TRAIT__}; - } - function test6477b54a355152e4920d83f2fd4214ca96e5af529d757c94349b46f540bdde47() - { - $this->assertTrue(true); - fn() => (isset($test->{__TRAIT__})); - } - function test658a862df791cce3b2e43563c8d45c87ffc74d722d0c8586f85f01fc275a2570() - { - $this->assertTrue(true); - fn() => (isset($test->{(array) $test})); - } - function test6a9480875001770b2abd385ca11d7ea209c83ab2da616fad8c5062e11cfd6fe8() - { - $this->assertTrue(true); - fn() => (isset($test->{__METHOD__})); - } - function test6c2f2542575afbbec184b79d433332811c48da3f1af45e1b181a2d5ddcc147a5() - { - $this->assertTrue(true); - fn() => (+$test)::$test(); - } - function test6e08475de9a5da33148d33aeedc292e62073f9d94aa74672cc93fd477a322f50() - { - $this->assertTrue(true); - fn() => $test::$test::$test(); - } - function test6f2604493fd0afb610a8821e3f851022f6b3ffa94a1b4026b93ab1d5a968cf5b() - { - $this->assertTrue(true); - fn() => ($test--)::$test(); - } - function test6f449ae7575d05ce2e78c7d175accf71c71b0e2bf8ef01b3cbed05af0dda38f8() - { - $this->assertTrue(true); - fn() => (isset($test->{"{$test}"})); - } - function test7265a8993025fae7d42ab21175801d34034c14decdfd85c431b755929518d305() - { - $this->assertTrue(true); - fn() => $test->{0.0}; - } - function test770b354bf89331efb9ed99eb7d0f6953c1acb22ebf0ed367f0ae78d8900527b7() - { - $this->assertTrue(true); - fn() => $test->{__CLASS__}; - } - function test7c713f79dc3b935ec9a7a17f79a122722ab1d69ca152f8c4f76542a42c7f3139() - { - $this->assertTrue(true); - fn() => (@$test)::$test(); - } - function test7f2a4077aaca905d6a46a78a44a23bf9a7ddaa8d8b550ea9de8835f437634fa3() - { - $this->assertTrue(true); - fn() => (isset($test->{$test * $test})); - } - function test7fb65810f525a1e1aa009200be740c6327b23ec3c2b83699dbaeb546ca3a6054() - { - $this->assertTrue(true); - fn() => $test->{__NAMESPACE__}; - } - function test826e7ed911d823b6f303fb614fad8636d26654e447d8ae2e0d2cdb8cf6191a28() - { - $this->assertTrue(true); - fn() => $test->{$test << $test}; - } - function test82d5a3a75407451afcc07119ed5549f07315142864d3dfa5944617e7886ca792() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test)::$test(); - } - function test8591fcbc2951e0a689fe77714791687ff84276519f3ebe2ed4df43b0eb6af328() - { - $this->assertTrue(true); - fn() => (~$test)::$test(); - } - function test8913b59bcd0cd7af6ce886f71fd5e1dd8be7f503e824fdeb62d765f64e8ff8fc() - { - $this->assertTrue(true); - fn() => ($test =& $test)::$test(); - } - function test90d021a853401e51ba81aa2dd86e2973bfe2c6670415d46e212899f8fe9be022() - { - $this->assertTrue(true); - fn() => (yield from $test)::$test(); - } - function test9277475a732467401efa2300852ab141ecfb0b288b74903080e37197fe01749f() - { - $this->assertTrue(true); - fn() => (isset($test->{__FUNCTION__})); - } - function test94dfcec43f893072e41ace88599e2d654b255bf2f934729f008cd1b598e1579c() - { - $this->assertTrue(true); - fn() => (isset($test->{(string) $test})); - } - function test9536bb428adec1bbddb4370e1c02672da0de809df14d96a0cd59a1391f0e633f() - { - $this->assertTrue(true); - fn() => (++$test)::$test(); - } - function test95c375bbc1a5d40d69fb441f1c7009a55d6bd9de78491d029a21d41fb8ba92af() - { - $this->assertTrue(true); - fn() => (isset($test->{$test <=> $test})); - } - function test9671189bedebc0bab432dfeeea0f6a7aa834a0fda694011d3da1f964d5d218fc() - { - $this->assertTrue(true); - fn() => $test->{$test * $test}; - } - function test96e7559cb9164461b7b175465fe1c7af52e805c93bc901e3dcd159658f5f5cdb() - { - $this->assertTrue(true); - fn() => ($test .= $test)::$test(); - } - function test975d27aba35c661cfbe0a34ec035bb84a916af3ed3882057a568cb6c479bcdf0() - { - $this->assertTrue(true); - fn() => ( $test)::$test(); - } - function test9a62a0a241fef2d2b2703fb67abf64882a2d770c5145d47e077485801d5882e3() - { - $this->assertTrue(true); - fn() => (isset($test->{$test ** $test})); - } - function test9c4614bb34d90a4fb21638334a8bea22877e48827dd8e6f90fcbb39caa246f99() - { - $this->assertTrue(true); - fn() => ($test ^= $test)::$test(); - } - function test9c8d66403b8fa7bde8d6010f196ccd4b3a3b2c07dfb8aba10b6918387bd2820a() - { - $this->assertTrue(true); - fn() => (isset($test->{$test + $test})); - } - function test9d3eb64cee22ceb8f3126e390a00f229e4c616165eb6733ddc544fe0ed7a6c11() - { - $this->assertTrue(true); - fn() => (isset($test->{(int) $test})); - } - function testa1c4d177706b07a7b0f5274a33948fa91eb8669febf97d17d597d3b8b3501851() - { - $this->assertTrue(true); - fn() => $test->{__DIR__}; - } - function testa446c04a09e53b0698976cf201ae0fc7cc42632b10675e322f5f2f1ea09232d3() - { - $this->assertTrue(true); - fn() => $test->{__LINE__}; - } - function testa495cc14c34668d0f414d3c5cb6a7eb5778b465a64b751f964fbf68218f043dd() - { - $this->assertTrue(true); - fn() => self::$test(); - } - function testa4fb94ce8a4786bf0299090964131d1c9b1cdd92b0d63a3cf04cd4e333b7926a() - { - $this->assertTrue(true); - fn() => ((yield $test => $test))::$test(); - } - function testa598c939353eaa65cea1d9ecb5accbda8d471cea7bade6689a3f1ead9de7c292() - { - $this->assertTrue(true); - fn() => (function () { - })::$test(); - } - function testa607631c38bc643b8c82d42c48df8defa9e98fa9dafaf5241d47889b693d5bd1() - { - $this->assertTrue(true); - fn() => (-$test)::$test(); - } - function testa6bcd0d8e076d837d57240981974abb52ee67a49eaceeb41d23eb32d32927252() - { - $this->assertTrue(true); - fn() => (isset($test->{(bool) $test})); - } - function testb11891e3c0a415147204e6c57b26704f51ae9942fb028230477592fda769b93d() - { - $this->assertTrue(true); - fn() => $test->{(bool) $test}; - } - function testb4c5a88b5fd303922dec0b8457cab83064ca16785bec0ab9918d5dc2e7a70bf1() - { - $this->assertTrue(true); - fn() => $test->{'test'}; - } - function testb5e765abb48bbe731ad31c33b89e4335f266d1cecc8f2ac42d0a0ccb69b4d36f() - { - $this->assertTrue(true); - fn() => $test->{(int) $test}; - } - function testb72db6f0f3eef3329931f9fc9bdce020f3fbb3de39d91cf77c15df897edfa23c() - { - $this->assertTrue(true); - fn() => (isset($test->{__NAMESPACE__})); - } - function testb817f557bc90b98575f1446c920eeea3116e2f6cd72241a28176749dd93fc3be() - { - $this->assertTrue(true); - fn() => $test::$test()::$test(); - } - function testb935ae158aaba1612749439e080c33081254372af5b0e0f3a837485c29ea6eb0() - { - $this->assertTrue(true); - fn() => $test()::$test(); - } - function testba0c1188e2bad466978f132f837b6a8b9582f5c25b489ff96af20dccd37fb5bc() - { - $this->assertTrue(true); - fn() => (isset($test->{(object) $test})); - } - function testbc6bf2451f6a7eeefbd2df4aa9545e0b5785b49df0cb10c99b3e5a8abc367891() - { - $this->assertTrue(true); - fn() => (isset($test->{'test'})); - } - function testbedde7498fb05f7f348d75c8b92333006c4fc82c64852ad8d7e02bd8fe1d57cf() - { - $this->assertTrue(true); - fn() => (isset($test))::$test(); - } - function testc7b8916d29035b5abeda24bcff46e6c657c983333363d93d6012302ba3f8c7a4() - { - $this->assertTrue(true); - fn() => ($test)::$test(); - } - function testce315857baa063f00d26b3bb6c2b5e2194d7c3f9903390b6ff116eb7471e5e32() - { - $this->assertTrue(true); - fn() => (isset($test->{$test !== $test})); - } - function testd03630a294cd88b39b23a92121986d7b7e013ced0eb6ee87020d3aaebd8936ff() - { - $this->assertTrue(true); - fn() => (isset($test->{$test >> $test})); - } - function testd17b2bf6da24c2a5948c7e59dba66986fb18561410c223441590f3249f237b1f() - { - $this->assertTrue(true); - fn() => $test->{__FUNCTION__}; - } - function testd4e648b1400f6f56c9d3ed9ca05d6aa682aee576a0cfec430eebf1b4f256eec0() - { - $this->assertTrue(true); - fn() => $test->{$test <= $test}; - } - function testd7ec8a8bffb55dc03ab2fb96c0c886cdbb614e51b8c46858680a1a51c276b484() - { - $this->assertTrue(true); - fn() => (isset($test->{__CLASS__})); - } - function testdcbc690f8cbd1a95cbcff512798b74dca57cda84aa23b30fd88e1e1ee437d292() - { - $this->assertTrue(true); - fn() => (isset($test->{0})); - } - function testddc2356099e60a5ced8bfbdf2d84130a5dec5158276a9e389ce5cf703318797e() - { - $this->assertTrue(true); - fn() => (eval($test))::$test(); - } - function teste10eab39021fc2c04fa4b689989075a156e34b5b99f1e8397937bb430e092c0b() - { - $this->assertTrue(true); - fn() => ($test++)::$test(); - } - function testecb8390d78f7e71832ca0ae3c927a82dae9099982717db8284665e0dc0e331fc() - { - $this->assertTrue(true); - fn() => (isset($test->{__FILE__})); - } - function testeced07db2e3a86dca9ad7baa2d65b3b6db8e8737712a6a642f3ad8a76632509d() - { - $this->assertTrue(true); - fn() => (isset($test->{__DIR__})); - } - function testee8c996c096d1229e8c70ecbb9b294900ff451bc32bc594eee7ffb165ad422f1() - { - $this->assertTrue(true); - fn() => (!$test)::$test(); - } - function testee975ecd0bd8a2505fa80364e8e36a5aa55c4274d572f8b6839aca360a74e8f8() - { - $this->assertTrue(true); - fn() => $test?->{$test}::$test(); - } - function testf1e787cd1b16acce0ba1a9a0e3694b0ebd50327fa5afd2fa29c85f15d2c4c985() - { - $this->assertTrue(true); - fn() => $test->{(string) $test}; - } - function testf2768e6b9b8109832d47836b755333da1b5cd553355487364f2674ca4bba5a58() - { - $this->assertTrue(true); - fn() => $test[$test]::$test(); - } - function testf40553a7ee6a7db1e5da44796edb4b727b1fb0ac4e5ae3c26706d6fd57de164f() - { - $this->assertTrue(true); - fn() => ($test = $test)::$test(); - } - function testf72c619209558d9d14b192f7dc748130448d0745fde284c418fa76c8c304ed21() - { - $this->assertTrue(true); - fn() => $test->{$test + $test}; - } - function testfd9611e0ff7bbaafd960ff5af30eca242238fbeb34b326cfaba230266769c775() - { - $this->assertTrue(true); - fn() => $test->{$test >> $test}; - } - function testfdd16ca8421e0d6ee5415298a2e6652ea8acd7057714fc3e42484b564819a23c() - { - $this->assertTrue(true); - fn() => $test->{__METHOD__}; - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test.php b/testsGenerated/Target/Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test.php deleted file mode 100644 index 02b166ee7..000000000 --- a/testsGenerated/Target/Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test extends TestCase -{ - function test05544173d44450e93db2ab7fd049ef1399362c8c762da2e83a7a977330127388() - { - $this->assertTrue(true); - fn() => ($test === (array) $test); - } - function test172e275f8bb325b6f5dffc59419d8b59c531a02db000d0332135de2769674f93() - { - $this->assertTrue(true); - fn() => (match ($test) { - } and $test); - } - function test19b6e7c289b093b0ef5ec7df4d378eda36378c76b9eec79d02020341e1043a29() - { - $this->assertTrue(true); - fn() => ([] and $test); - } - function test26342b99897c3ae7ec5bbef6414d20aeb80c63b8a0fa52890acb5bbce49d1329() - { - $this->assertTrue(true); - fn() => ($test === __CLASS__); - } - function test2724d5535796efcf59f9ba021651ed35ca8afe2b46050a3e318ba832da3e985b() - { - $this->assertTrue(true); - fn() => ($test === $test + $test); - } - function test281fca21b4485fd9431383b30b3824a312a891c7c403fd76a3ca92b1c776dd55() - { - $this->assertTrue(true); - fn() => (!$test and $test); - } - function test2e15071aba9e091dbf1d875eed50233592052ff4e122361a912d9e04c05bb737() - { - $this->assertTrue(true); - fn() => ($test === __TRAIT__); - } - function test2f2292d509d2a7fa13a6d2b9ad46a79ca7756b780262f56d3ee70d78d63c162e() - { - $this->assertTrue(true); - fn() => ($test .= $test and $test); - } - function test326be07de1cb0f245851749eb5327fd6bbb274974e21e0196d9d39732fda950b() - { - $this->assertTrue(true); - fn() => ($test === ($test !== $test)); - } - function test343779e07e902d424b87b0743cfc2f730b53560515621b7a3e02c11ea8cdd5c5() - { - $this->assertTrue(true); - fn() => (isset($test) and $test); - } - function test353779446bd7bb53c10efd5e778b4027949b18bbc75365bf115391da7ec0440f() - { - $this->assertTrue(true); - fn() => ($test &= $test and $test); - } - function test375eeaccf4c562a64fd05a72418e9f6662ab0b87c7adf6ca1b7085f105f8b857() - { - $this->assertTrue(true); - fn() => (self and $test); - } - function test38250628719e3ad21c9f070811beb582e662fd1a2cd096ef0d1f60e7d54b65ad() - { - $this->assertTrue(true); - fn() => (( $test) and $test); - } - function test3a4e48db67fa1b74ec5944b4a900717e564b23997aa4d9032dbc024fccfd6aa5() - { - $this->assertTrue(true); - fn() => ($test === ($test === $test)); - } - function test3eefcc53ffd7274ec70102b334c307a71c8a840e57e5e72bfce293a7da79eb49() - { - $this->assertTrue(true); - fn() => ($test === $test % $test); - } - function test42a083c8bdd5777228ddaedf368c54f7b8bfde4051badc1dd275291da6bafe8b() - { - $this->assertTrue(true); - fn() => ($test & $test and $test); - } - function test43744e546e0dd131b7ec3ff345940c8cfc45239a208b8d04ce1abb1902445a7a() - { - $this->assertTrue(true); - fn() => ($test === $test >= $test); - } - function test447333f1d703909a68ef2b2acdc76de76a714b28b3a58f852209a1e3615348e3() - { - $this->assertTrue(true); - fn() => ($test === $test > $test); - } - function test45cc45272d3b3c470f4f58d2719a7f93640080bcecdda4669e1402c6a2827041() - { - $this->assertTrue(true); - fn() => (+$test and $test); - } - function test45d18756e42610e4f459398f864f81a7164c23e821e1552b44c6cad581520cd9() - { - $this->assertTrue(true); - fn() => (--$test and $test); - } - function test487921a900ef79db398e6e76e3d71d648a6f1face2fd848437a962eff6d54394() - { - $this->assertTrue(true); - fn() => ($test instanceof $test and $test); - } - function test4b5a0d58f569b88aa784401a1302a0f923824b7d1122e04f648210ed8fcc71dd() - { - $this->assertTrue(true); - fn() => ($test === $test << $test); - } - function test4d7b52b337efa7fa474a10d30c42ea29f5ade830cc89aaa181c43b275d3b1866() - { - $this->assertTrue(true); - fn() => ($test === __DIR__); - } - function test4f719eb8afe4f911d3e8cd54babdabbe33754dbc0f3f10e2c075fbcc02032591() - { - $this->assertTrue(true); - fn() => ($test::$test() and $test); - } - function test5197879a40fa17f914f811089009c55352f30abfaaabe19849d3eae1e18f85ca() - { - $this->assertTrue(true); - fn() => ($test === (int) $test); - } - function test5589a79d70efc074fe1dc83340243c78de719d7f718103f8603b01fc1ca9d01c() - { - $this->assertTrue(true); - fn() => (new $test() and $test); - } - function test5925378b3eb4b0706480a58286654df34d319ade494dd830e9b7ebb895bd9a0d() - { - $this->assertTrue(true); - fn() => ($test === 'test'); - } - function test5f5d4023a4af8181002eda06580bd3607711172a5494047b8617894c55a15dda() - { - $this->assertTrue(true); - fn() => ($test?->{$test} and $test); - } - function test62d1befe2475f10f78442ec3b28ccfc6c381f3d75aab62d456c3ab05fd79061b() - { - $this->assertTrue(true); - fn() => ($test === ($test or $test)); - } - function test62e56b0fe3113b156146697a85a91cea461d76da88a6b19834595aef8e083c49() - { - $this->assertTrue(true); - fn() => ($test =& $test and $test); - } - function test660a68937cb3bc6dfe32ad21f4552b7079cdd75966810d65bfbcec1f8fd59980() - { - $this->assertTrue(true); - fn() => ($test === $test . $test); - } - function test683ffc51dc53b58501a5158fe77bd2a4094d37d36fd0098c057ef2e6fd9bd412() - { - $this->assertTrue(true); - fn() => (throw $test and $test); - } - function test68d2760781726a5f66b6fc26723a33fe0f59f5421e830cf785ce09e0f6a23baa() - { - $this->assertTrue(true); - fn() => (-$test and $test); - } - function test6fa3ca936519f8edb8c358a4d54354b3d2c87308bd978cb1f8356f7fd5f7e13d() - { - $this->assertTrue(true); - fn() => ($test >>= $test and $test); - } - function test72c7fa423d0627848b460dd62367035a6e064cb0ec6d770ea8d8aed30a857e66() - { - $this->assertTrue(true); - fn() => ($test **= $test and $test); - } - function test730dffdcf29a52e9a03f9bd37840f476b93e5af1402b2195f603ca85897937bb() - { - $this->assertTrue(true); - fn() => (empty($test) and $test); - } - function test768fc21103f18a5666ac5c720d40143c9fc560c98956bcb1b756334a9eacb414() - { - $this->assertTrue(true); - fn() => (${$test} and $test); - } - function test7d155c09ef9d1d3dab02f4ba0331bcd77a901570ef79d61a28eea34a806b31e0() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test and $test); - } - function test7f563d5dbc84d298a80ed46107cd98ae65d613771287b965e388c4e7d99ea844() - { - $this->assertTrue(true); - fn() => ($test === __NAMESPACE__); - } - function test8057853f22847ce2df7833061112b06a7ffe9db1efd103143a5a287d799c6ba0() - { - $this->assertTrue(true); - fn() => ($test === (string) $test); - } - function test808562accf916c36fdffd6caab399da7e53bcbc288534068bc013779da04d2db() - { - $this->assertTrue(true); - fn() => ($test === ($test != $test)); - } - function test851cf57b6309fd9433fc44c63589cd48456609fa43bb454dcc256a61bd4ba459() - { - $this->assertTrue(true); - fn() => ($test | $test and $test); - } - function test877aacc990a7cadb4900a3560a3d283d000d5cd6e506ceebf6abf6423a6f3eed() - { - $this->assertTrue(true); - fn() => ($test-- and $test); - } - function test881118997160d833066a2ddd76cf2bef6a429fcf581874407ef791ec1cf1a6f9() - { - $this->assertTrue(true); - fn() => ($test === __FUNCTION__); - } - function test8907c34ea4f93d6600f2a374f4da90966f38a7d5cc5f22524147022d141de1bc() - { - $this->assertTrue(true); - fn() => ($test === $test / $test); - } - function test8a786c78d66af9df53d16d472a2499ce4663e6e92255f5fa7ce19d0a7e901398() - { - $this->assertTrue(true); - fn() => ($test === 0); - } - function test8c7f3f91b6509c1d606611237f9f1b9b75107355a1f4848524adabc200f9ffe8() - { - $this->assertTrue(true); - fn() => ($test === __FILE__); - } - function test8d8cd2d06154fef5ccf72044faf814b905bf951b981a23ae3a054b5022779d65() - { - $this->assertTrue(true); - fn() => ($test and $test); - } - function test91518d733be7823f9d4f46aa8c7a9b53a6ad0f33286b3762b3c0695b40f499c8() - { - $this->assertTrue(true); - fn() => ($test === $test < $test); - } - function test921e43be401241eef66cb06c44f7da78d14787ed3fc80cb6568f8a03bd6f7f03() - { - $this->assertTrue(true); - fn() => ($test = $test and $test); - } - function test951004f5b35f79cf419066ba444fbda447f8e93f7a2f1dbfb11e026ee40f9c60() - { - $this->assertTrue(true); - fn() => ($test::${$test} and $test); - } - function test991b7a7bc14c6782ee26ce2a3538f25f636a99732f89abec79244b11686e4dc0() - { - $this->assertTrue(true); - fn() => ($test === ($test and $test)); - } - function test9d66b97da39255ef5c574dac448b05070867aad861957698833424cad9b641dd() - { - $this->assertTrue(true); - fn() => ($test *= $test and $test); - } - function test9fa4f3e4b479177b2473d155c50affa7120739bd95c866db0891bf39dc906c16() - { - $this->assertTrue(true); - fn() => ($test === $test <= $test); - } - function testa205cf30979eb24f14e424083bf2c93030b854f4596724c58160263207ee0877() - { - $this->assertTrue(true); - fn() => ($test && $test and $test); - } - function testa22c2d6111fb288cdf314898f88ecf84e6d884370fc6ee9675ddf75f17a765be() - { - $this->assertTrue(true); - fn() => ($test === (bool) $test); - } - function testa3702af592afe383fdb3fa506838efddde4a3da5d3746fcc73c59c60bb9570d2() - { - $this->assertTrue(true); - fn() => ($test === ($test ^ $test)); - } - function testa373d58944cff5ec03eea3c994f3251cea320a8791648be0b1a2e231da27120a() - { - $this->assertTrue(true); - fn() => ($test[$test] and $test); - } - function testa4555c91c6ea469003557c124e6a2cb4803366ddea0c90a1f18729661bd266f6() - { - $this->assertTrue(true); - fn() => (++$test and $test); - } - function testa50aa241c48df9dff16503f731ef74e446310637ef7f05171eef897c97dcb181() - { - $this->assertTrue(true); - fn() => ($test->{$test}() and $test); - } - function testa585c0e908b422ae91a9054a018adf86325ac15ad858d14d2df81d1830f491a3() - { - $this->assertTrue(true); - fn() => ($test === "{$test}"); - } - function testa6e045e17c74af9064f56a2c8cbc5f153e149969fa72f02c6bc1446d83be372e() - { - $this->assertTrue(true); - fn() => ($test ^= $test and $test); - } - function testa8439d2b38e327f1e24669624bb63d9e7a4998fbbd8818e6ad7b00d84cabc4d7() - { - $this->assertTrue(true); - fn() => ($test |= $test and $test); - } - function testab2d0a4cd62b7382503b5233d4a61902d8d7b331e3dde06d3ea53eaa0822586f() - { - $this->assertTrue(true); - fn() => ($test -= $test and $test); - } - function testac2a4247bc8273d0e0381b18fc8670a802ce6ac09995351563ad3f54b99fa378() - { - $this->assertTrue(true); - fn() => ($test /= $test and $test); - } - function testaf15b2d4465c64c473b0ffeb30f70dbfe9764a958fd249b7428116b18327f32b() - { - $this->assertTrue(true); - fn() => (function () { - } and $test); - } - function testb03ca6559b42100bc58733f509b3a3a7739b6660f791c67238aa38a8fab9ea18() - { - $this->assertTrue(true); - fn() => ($test += $test and $test); - } - function testb0d69ea392acdfb382e87e8dd98b26490116e02a4a582d8b2b8edda1fda6f5f2() - { - $this->assertTrue(true); - fn() => (clone $test and $test); - } - function testb2abe9b1b1ab2b5653df24fe5cb02a02ead8dc94448c2dd96bae1d66b3711b47() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) and $test); - } - function testb39d2cb9852edf7a334ffad6a2d68f24efc3affb9381cf66ab4eff74a1cd8189() - { - $this->assertTrue(true); - fn() => ($test === ($test <=> $test)); - } - function testb5f28206457769d99c40d84f4e7da48b81851c39ca6156d7fe24e774adce14e4() - { - $this->assertTrue(true); - fn() => ($test === ($test && $test)); - } - function testb85e10a1c2895b27edc4b09fb6ba743cddd8f5863ac2bbb3addd62a8ae6c5133() - { - $this->assertTrue(true); - fn() => ($test === 0.0); - } - function testb8be3bb4be604957dde22f7da9ed43b8cae3fe1f6d288e302a186bb4c2715f70() - { - $this->assertTrue(true); - fn() => ($test === (double) $test); - } - function testbd3244c321370717c1b8937a1f18fd264e74175a99a36347a0cecce9be5cabd6() - { - $this->assertTrue(true); - fn() => ($test::$test and $test); - } - function testbd58ae45a79764522e2684f3be8377257fcbf7a52cd6f7d7771ec66b27005b29() - { - $this->assertTrue(true); - fn() => ($test ^ $test and $test); - } - function testc07b6aee8e25ece0512fdab0be7f32ae8b316595678635ad8d09d68034fa0c52() - { - $this->assertTrue(true); - fn() => (yield from $test and $test); - } - function testc0b113d85afe6735da5f2ed7d5567699e8c44e3001416682116a45b5f6c861f9() - { - $this->assertTrue(true); - fn() => ($test === (object) $test); - } - function testc633c440f538792ac2bd6900bf9a644e61e226f12e90d78abee4b10d78fa6346() - { - $this->assertTrue(true); - fn() => ($test === $test - $test); - } - function testc73065fd0060cf933f8ee79fbe528d5caad5957253e06b35e6ea3c23ca53bfa7() - { - $this->assertTrue(true); - fn() => ($test ??= $test and $test); - } - function testc83356a7928cd98194133787696adce3eec4a0b82c131bc236bb39bbe5e065cf() - { - $this->assertTrue(true); - fn() => (@$test and $test); - } - function testc8d57a008e5f0c06d834875b27cdd554698455b178c515e2ef43df37159bc96c() - { - $this->assertTrue(true); - fn() => (eval($test) and $test); - } - function testcd87bef6433edae5c9ee382f9059b2bf82328c10543a6c6f1882a1cf7da7cde1() - { - $this->assertTrue(true); - fn() => ($test %= $test and $test); - } - function testd07664084e49c77c58c07b8a60cbf1ccf79994cfa3efd6fbdf713828c198f7a9() - { - $this->assertTrue(true); - fn() => ($test === __METHOD__); - } - function testd46f938bbcf20b59e077ea0eae4331ec8b3cc0acb8436793d9f00d344c46e559() - { - $this->assertTrue(true); - fn() => ($test->{$test} and $test); - } - function testdaa89bde952b6c685fd69763092121e137acd6987ee0a1df04f57ca28819e205() - { - $this->assertTrue(true); - fn() => ($test === __LINE__); - } - function testdc77c3d520571125d951f2dc338494ebc32041cac2a83d47fe3409fd7abc6281() - { - $this->assertTrue(true); - fn() => ($test <<= $test and $test); - } - function testdff07648ec23d89c1d572551c69332fe441a5c083634f1bb9b85ab70086a7b55() - { - $this->assertTrue(true); - fn() => (print $test and $test); - } - function testdff3f5570653aabcdb31bbc61f0fedd2970c73e8086916bb00338576f17c1686() - { - $this->assertTrue(true); - fn() => ($test === $test >> $test); - } - function teste02c56ffb33e67b214c96a47bc07858c171b8566d4c669a54a0e11fa12815751() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() and $test); - } - function teste2eea2973351c50345723d9ccb81966faa5ca6f92679bd15389a88ddfc556b3a() - { - $this->assertTrue(true); - fn() => ($test++ and $test); - } - function teste5caf1f166e02b70894e25ce4a4081ca7ad493061893a2b21136a6191674e88c() - { - $this->assertTrue(true); - fn() => ($test === ($test xor $test)); - } - function teste72e58c72bae4a4c48a47198335ed295bb553e4aab4ff7641686db3636a72114() - { - $this->assertTrue(true); - fn() => (`` and $test); - } - function teste969c082c3e9c5a1da2835d319a713ce6c2d1887fdd9c361d55879ca74ccf145() - { - $this->assertTrue(true); - fn() => ($test === $test ** $test); - } - function testea09766ded9f6696f296af17eedcac46b58b4b2692f70971229cd9501b3e7100() - { - $this->assertTrue(true); - fn() => ($test() and $test); - } - function testebb06d672b7f2988e6546726fd93405278366625b8a4f53bce877355b6489e30() - { - $this->assertTrue(true); - fn() => ($test === $test * $test); - } - function testec4bc7613f03f5043b05d6c251ec1094a48bcee67c2b14d275af56987f1c0368() - { - $this->assertTrue(true); - fn() => (~$test and $test); - } - function testeeb2f47745b9b6ee069fd5fb66fc5b02244f60d3f4c6e5570f02e617938bc613() - { - $this->assertTrue(true); - fn() => ($test === ($test == $test)); - } - function testf8b7cee7e81e621e86db283525605c0987f90da7a56b0a0cf1cb80c10e917cca() - { - $this->assertTrue(true); - fn() => ($test === ($test ?? $test)); - } - function testfbee5dafc8f1d7fb0b5c45f097bff3e83eefed226efa6b0fcd32f140d5e416e6() - { - $this->assertTrue(true); - fn() => ($test === ($test | $test)); - } - function testff78c3adab56a3fd312b425f1ac751958a20dea9f15ce5eb94d37a09f3337338() - { - $this->assertTrue(true); - fn() => ($test === ($test || $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php b/testsGenerated/Target/Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php deleted file mode 100644 index 8e735f384..000000000 --- a/testsGenerated/Target/Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php +++ /dev/null @@ -1,504 +0,0 @@ - - * @license MIT - */ -class Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test extends TestCase -{ - function test013e932b08c5ea0e779b3ea7c7215d2766c65546cc8e63701786574105bb140e() - { - $this->assertTrue(true); - fn() => (isset((yield from $test)::$test)); - } - function test046515cc5295adfff5593260a27e79dc02768152d81a81d628efdab854a26e1a() - { - $this->assertTrue(true); - fn() => (isset((function () { - })::$test)); - } - function test068dcd12b2b75dd12e0f58e141872e026508bd3459fc257c5fa30ce4be558373() - { - $this->assertTrue(true); - fn() => ($test & $test)::$test; - } - function test0d8c43a9a99dde5bcedd8e48d5ce7bbfefe1dea7fcc7c867d5a443d0af40d7b1() - { - $this->assertTrue(true); - fn() => (isset(($test ^= $test)::$test)); - } - function test0f49d9b56d61486a643ef2909a87d8f769a7d169f88dfb8d2d1608d799d81f0f() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}()::$test)); - } - function test107b52abda9f83f6ea564b5da6c91eb92e783cd8b6b8cf90eff829da8604a001() - { - $this->assertTrue(true); - fn() => ${$test}::$test; - } - function test11832f7915fe667d8f3d7592cf77760d89b98f1d35459c0cf2c3439abf794d2d() - { - $this->assertTrue(true); - fn() => (isset(${$test}::$test)); - } - function test135418a3cf8bb70f5f43f0643ac01cb493056464c78bfefcc9da3bd986854214() - { - $this->assertTrue(true); - fn() => ($test .= $test)::$test; - } - function test15e29b4e87f1e40555b523ad00be5d32b2c8f8206d95f420cd2b74943df7f422() - { - $this->assertTrue(true); - fn() => (yield from $test)::$test; - } - function test1759f203ef04404c602acdc7bf995e464680cf12fdbfcef713a2653c8f4c9f90() - { - $this->assertTrue(true); - fn() => $test->{$test}()::$test; - } - function test177bc5f8cd3a36804b231ad4c3f7eca0d293f4cb56f28608a5948a6c16a3e366() - { - $this->assertTrue(true); - fn() => (empty($test))::$test; - } - function test1c89673f1ff5b9852c27c5eba882711b11f9eca4323544fd468da933a04f6bc0() - { - $this->assertTrue(true); - fn() => $test()::$test; - } - function test209017ecf1e57a52407fc0f0528b990b478be34fca54e9d90fb8947601e8e345() - { - $this->assertTrue(true); - fn() => (isset($test::$test::$test)); - } - function test230d99c5f93d71d3e364fbf4760e2672dcf507b4a9175b7aac696e6c08384be9() - { - $this->assertTrue(true); - fn() => (isset((@$test)::$test)); - } - function test235ebadca56cb183a66b1feb1e5e2270089cd4fcb80536ac4db21f42dfa51429() - { - $this->assertTrue(true); - fn() => ((yield $test => $test))::$test; - } - function test24ceefe1f696a3950fd2b7878dbbf61e0db2c4a094b3eb51684531b815c1f12c() - { - $this->assertTrue(true); - fn() => (isset($test::$test()::$test)); - } - function test279adcb02a676a264fb99777a4ee984faf1289478f8e2014015746fbc978e955() - { - $this->assertTrue(true); - fn() => (+$test)::$test; - } - function test27a31245ce649a9743cfc88f27ad7fb6cb8da84bdcea63215b73b212a1475e1f() - { - $this->assertTrue(true); - fn() => (isset((``)::$test)); - } - function test2a1246200f71758bf09506835ef07be8e22c770a2a9f10359500eb9fbf3778dc() - { - $this->assertTrue(true); - fn() => ($test /= $test)::$test; - } - function test31d769cd5d1edb2f8dd038ba2d283f6876ab43fd1642e11d2def3e60dd1e8048() - { - $this->assertTrue(true); - fn() => ($test++)::$test; - } - function test34e50b99bcd08daf58b2f6d151b6a8896d13d03c692eb5d417791a2ee57b4fec() - { - $this->assertTrue(true); - fn() => (isset(($test /= $test)::$test)); - } - function test383bbef49386fe2831f4d0126b7ef996e730ddf513e10056f709317623db9b76() - { - $this->assertTrue(true); - fn() => (++$test)::$test; - } - function test384b7d305e9befcf968dc0876e26e2f11fc71185305cf0f5ad180c09f9cf6ed5() - { - $this->assertTrue(true); - fn() => ($test |= $test)::$test; - } - function test385fe92dc6e2d5002f8468bc9fd61fac9cc9f00d3a856581b55554ef4097c5f6() - { - $this->assertTrue(true); - fn() => (isset(($test .= $test)::$test)); - } - function test3e91b76e6f9834e4dc03fa4c1572e309b91c8d8f4b575853f785d648355e9e82() - { - $this->assertTrue(true); - fn() => (new $test())::$test; - } - function test44205ae668ba5833b6b527d92503c77de8e5ef4c31d4a7a14a88c176199eb329() - { - $this->assertTrue(true); - fn() => self::$test; - } - function test4af4719fe86dfd54c501ff71a4a0de06cbb1e755aaaec10e8719d07855e7523a() - { - $this->assertTrue(true); - fn() => (isset(($test &= $test)::$test)); - } - function test4d8fe27e656957f901b0dda29bd84f777427dae9e127ba9a83e5580a51568a38() - { - $this->assertTrue(true); - fn() => (eval($test))::$test; - } - function test4dfda8723e335d8dbb58dee408b2f08871f24f2807e5290a8699e3aa746b86d4() - { - $this->assertTrue(true); - fn() => (function () { - })::$test; - } - function test4e6f267339978be99fc9af3f61703bf11e9202f658a3b802fa79b4276d900810() - { - $this->assertTrue(true); - fn() => (isset(($test >>= $test)::$test)); - } - function test5021037a6bff8118c6944266083727ead6d5f8bc02f6747f5d2603edd72090f5() - { - $this->assertTrue(true); - fn() => (isset(($test <<= $test)::$test)); - } - function test5030c738f1120d4b5db844ce0bd4d318b8fbaf395626e603e2ed38f60272d4e2() - { - $this->assertTrue(true); - fn() => (@$test)::$test; - } - function test50fd9552d4b4bb0ab0859e21f0f080927b9f55f24cfa81fcfabbcc2b253df9bc() - { - $this->assertTrue(true); - fn() => (!$test)::$test; - } - function test54608ac588e859785a29798bb7df66d17e50e603061b2a63ef5a100ed6069e13() - { - $this->assertTrue(true); - fn() => (isset($test::${$test}::$test)); - } - function test5496e05df79dada9d317f35b56b512ff9968ca809bdee4167763e080c5a58c4e() - { - $this->assertTrue(true); - fn() => (isset((--$test)::$test)); - } - function test55fdcfe0207c45929084f07f2709496003c85c46e934e6c1ff1a65f5c9e0e0b3() - { - $this->assertTrue(true); - fn() => (isset((clone $test)::$test)); - } - function test599c5acf89862b243f4fb5d32fbd34c1b08b7b948b15f88eb3e3486a9893d3ce() - { - $this->assertTrue(true); - fn() => (isset($test()::$test)); - } - function test5f2fa6c71b81dd988623819bc0ca52e0350d72cc0550845cae57a51153e5ec09() - { - $this->assertTrue(true); - fn() => (isset((+$test)::$test)); - } - function test60495a64944192aecbaf5b2f664076e70a02e621a703d8596cf231aa64e00843() - { - $this->assertTrue(true); - fn() => (isset((~$test)::$test)); - } - function test6a9cfe8da4229887e0e326fa14e7730f31f3cc51133edc334a83b407b1f35ac1() - { - $this->assertTrue(true); - fn() => (isset(( $test)::$test)); - } - function test6f780e9442f4cd6d338a927551a7618386917eee5daf91afb405a121a7554e8a() - { - $this->assertTrue(true); - fn() => $test?->{$test}::$test; - } - function test7596ce697a5417189ea32156cc415169c27bfc84877e68b822b524ac93197dc5() - { - $this->assertTrue(true); - fn() => $test->{$test}::$test; - } - function test7839956c28929aa4fb765599d6e92300c45fbd5e5ac4c58f0640b5ffc2c6e43a() - { - $this->assertTrue(true); - fn() => (isset(($test -= $test)::$test)); - } - function test7b1ba5f8c5f0dd9428c27e7f13bb555798bd1e3d2d2b8bffaf9511f5bcbdb632() - { - $this->assertTrue(true); - fn() => (isset((eval($test))::$test)); - } - function test822ab284bd546e20e5c646f871c4f15d0e00b48bbc030aaabd58d4aea766dbf1() - { - $this->assertTrue(true); - fn() => (--$test)::$test; - } - function test85e996c50726b962143afe7201f2599cac2910851a37a33772f3e70a802f83e8() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}::$test)); - } - function test880990fe237d58107880ffc939aa41970d7cd452a23ca1cdfe32daef94fff2d7() - { - $this->assertTrue(true); - fn() => ($test >>= $test)::$test; - } - function test896c0588114f09e25aeb0a0d0fac76f2f4ad6feb12902e00b2cb8eec7cff2fa1() - { - $this->assertTrue(true); - fn() => (isset((new $test())::$test)); - } - function test89ad8c0c6ec9bcc30d1f4715b9bb9c7f5ed60611d2ba91dd164f4e46c0943cae() - { - $this->assertTrue(true); - fn() => (isset(($test =& $test)::$test)); - } - function test8bcf57a61c1dad06166c088e45a1ad151cad9b26dfd62135d94eb05f3eac8d69() - { - $this->assertTrue(true); - fn() => ($test **= $test)::$test; - } - function test8c20f2aa1c0502623614b4932b671d9efda1f4dee8687d83c4a909d465db52b4() - { - $this->assertTrue(true); - fn() => (isset($test))::$test; - } - function test8f5dd52bdeb6eb34a8bf94e6a745425c5003c6c7878c8af3e7c778b2489c3c63() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}::$test)); - } - function test914e6aa204353e657cded22b4f83ad8cdb7d6615f578f37448274e62c2f0d8c3() - { - $this->assertTrue(true); - fn() => ($test += $test)::$test; - } - function test92c0675840ab95427b5553e3447775fa07d3663e580423868f7cf82028e94746() - { - $this->assertTrue(true); - fn() => (isset(self::$test)); - } - function test9d609eb5b2ddae9ff26d1f4edc780b87d126a8562e6c3673802027025584adad() - { - $this->assertTrue(true); - fn() => ($test instanceof $test)::$test; - } - function test9e38dd7941e6167590bbabfc86ef006f432d152b92a3f84d68bed4b443c5237d() - { - $this->assertTrue(true); - fn() => ($test &= $test)::$test; - } - function testa1870f63e9659ca44a62593193c061cb00dac03563eb3f4d46965698ae49e68e() - { - $this->assertTrue(true); - fn() => (isset($test[$test]::$test)); - } - function testa1f0aa9e5eecacb568d31e24458b419998f4bf868104a9fb86d26bbe13ac25b6() - { - $this->assertTrue(true); - fn() => (isset((-$test)::$test)); - } - function testa2788d590cd974067fb0e61d620a0fec8869af1dc66df65c12c254b0ecd21903() - { - $this->assertTrue(true); - fn() => (isset(($test += $test)::$test)); - } - function testa2fa061b11fd8ef71fbc1af1459112c0371ccd0b59d8136cf4e115b6cacc75d3() - { - $this->assertTrue(true); - fn() => ($test ??= $test)::$test; - } - function testa6478cd5e90cdccc17cd777c925a76802c1c73fdd359e79424495605b079c168() - { - $this->assertTrue(true); - fn() => (-$test)::$test; - } - function testa7def32c563334cd7f1f69baa83209c13d87a3af935243a9f306f72ff4e7cb21() - { - $this->assertTrue(true); - fn() => (isset(($test)::$test)); - } - function testa885ddca3120b5fcd7137af9fc01e20ccad3a3eeafa28e3b04ae3d308c8add7c() - { - $this->assertTrue(true); - fn() => ($test ^= $test)::$test; - } - function testa8f9fa0b9e55d701700c9d13e421e55612ced44dadfe796b17628ae7425d4944() - { - $this->assertTrue(true); - fn() => ($test)::$test; - } - function testa94349a53722fd8172ed9c0c47f8a356403eca63104ad256c564e14185df4a70() - { - $this->assertTrue(true); - fn() => (!__TRAIT__); - } - function testab0788efa3d933213ba93ecebb0a01fcdeb3a4e5405cd358b6ce9a9c60a65e4a() - { - $this->assertTrue(true); - fn() => (isset((++$test)::$test)); - } - function testacd02530259c4e613fa24c184b20f71dfe372841a64c574159e09a857aa637a3() - { - $this->assertTrue(true); - fn() => (isset(($test instanceof $test)::$test)); - } - function testb1e18b9b250a0e91626e9b8f984101f04a79429cdfd46934717fc36ee13197a0() - { - $this->assertTrue(true); - fn() => (``)::$test; - } - function testb3b3e1b5c6f4e46a5ce5ef1c74932199f2909a86f211fcbecd4ce5ee2b37c1c8() - { - $this->assertTrue(true); - fn() => (isset(($test **= $test)::$test)); - } - function testb73c758966f212e7726ff3345e7343f4cea29e00907272fc195d44cfdf0ecfb7() - { - $this->assertTrue(true); - fn() => ($test *= $test)::$test; - } - function testbcc93bd6f54401d7039df852e6a18c289f48d0c649e4a242e53e3238583d6bd0() - { - $this->assertTrue(true); - fn() => (isset((!$test)::$test)); - } - function testc031d55ce1659e9fbc2aa7df2ce7aa33cc52a6a345d228fa5bab72dde0267d6e() - { - $this->assertTrue(true); - fn() => $test[$test]::$test; - } - function testc15267fb550500ab0a83e113f92f3430cefee17dc3a6746d98c35d52a66ab0a3() - { - $this->assertTrue(true); - fn() => (clone $test)::$test; - } - function testc2510e8f19f0f6b00f54aa3fb9157ba505d0e02d8b3cc3effe67566378b69e18() - { - $this->assertTrue(true); - fn() => ($test--)::$test; - } - function testc264a22c08cabaa3873dfc22cbeeaf15bb389b885d12d209ea2b083a51c9db1f() - { - $this->assertTrue(true); - fn() => (isset((isset($test))::$test)); - } - function testc2ccf74f65b6ef48bcc63d284ca19960d99e95d62ce524ec2d5ad5123fd83af1() - { - $this->assertTrue(true); - fn() => (~$test)::$test; - } - function testc2f5ea26d288976eb1d9d89b23eb7f24c674a4e89f0ea083d9e940eb57f37e7a() - { - $this->assertTrue(true); - fn() => ($test %= $test)::$test; - } - function testc3942eecce436165418efec9c71b40f580e1bd2367e2acdec82de24c34c55b75() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test)::$test; - } - function testc4538c989deced6909686215b995c96c9a971e0d4563d366102e5040e4bc6a03() - { - $this->assertTrue(true); - fn() => ( $test)::$test; - } - function testcdd19993bb6956e3a7bbcd16d500f4303c935b2da8d2dcbeac3aba278dc14719() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}()::$test)); - } - function testd175116ac7daf19a690c4ff6d61d4e4bbee9a350e6f604aa034af627c6f6996c() - { - $this->assertTrue(true); - fn() => (isset((empty($test))::$test)); - } - function testd1a2ac4ed112668d25fb771f83f7d8ffec27fc365d18619d3e20b6e05fe74692() - { - $this->assertTrue(true); - fn() => (isset(($test++)::$test)); - } - function testd52456930e1418d3d19ff582fe1a8070190851c13e045b5a30acaadb687197d9() - { - $this->assertTrue(true); - fn() => $test::$test::$test; - } - function testda79313b3016e7ff2469f8c25953e756d1a40d5625fc4df6a00a0ded82346c24() - { - $this->assertTrue(true); - fn() => $test::$test()::$test; - } - function testdb67db6f49012563e8aaeeff3ede91f0ecdb87237177c7fdfff4ea1a876a22fb() - { - $this->assertTrue(true); - fn() => ($test =& $test)::$test; - } - function testdb7ad093e13569c86b33920e6aed7b6089da30bf514f6593bc05dfa14e9deda5() - { - $this->assertTrue(true); - fn() => (isset(($test %= $test)::$test)); - } - function testddcc717003c6aa34a37948d79693158f7ec09b2b2dd6d95d29d6400f1e8aaee9() - { - $this->assertTrue(true); - fn() => (isset(($test *= $test)::$test)); - } - function testdeaa32902f036505d110be4b2971d22f08b561050c23ccdfa5dffaa3c76933e4() - { - $this->assertTrue(true); - fn() => $test::${$test}::$test; - } - function teste46b535080712a9fbd6b30cda3da8c3522a334c998559b6d0aa3abb0f015b60c() - { - $this->assertTrue(true); - fn() => ($test -= $test)::$test; - } - function teste669898c3a2ac2ac7d56b795f8ea233bf160ccb1afeaad903b102fd9e85d06a6() - { - $this->assertTrue(true); - fn() => $test?->{$test}()::$test; - } - function teste697c4cc1d6932f89348974bcdd437c74d1a648425099d399dc4d086b3be7b81() - { - $this->assertTrue(true); - fn() => (isset(($test |= $test)::$test)); - } - function testeaa7f80b8175f33baa51eb0840e33b81373f35134673ce532394a2a1566f6364() - { - $this->assertTrue(true); - fn() => (isset(($test = $test)::$test)); - } - function testeb03714508864e6ebe1531bb3f1b1c0f81c8290819724bc9b735b528bc4854fe() - { - $this->assertTrue(true); - fn() => (isset(($test ? $test : $test)::$test)); - } - function testecc807ee57ead0492b6ea2bfb8de6a7de90d7b486ddfc4d7630df0f7cb1ee4a5() - { - $this->assertTrue(true); - fn() => (isset(((yield $test => $test))::$test)); - } - function testee1d35cbd704b8c5b33330b95d7e4c250a3273776a60233a72e62027924b7976() - { - $this->assertTrue(true); - fn() => (isset(($test--)::$test)); - } - function testf2bd9afd0533f13cba8905d1bf0aa93df60cfda86ad8d9a7a56541b431175c3a() - { - $this->assertTrue(true); - fn() => ($test = $test)::$test; - } - function testfd4e3a139aca161ad54025450bcbf8b7a4319a03712f37d3c9c684da541d75f5() - { - $this->assertTrue(true); - fn() => (isset(($test ??= $test)::$test)); - } - function testfddb23cc4e2ca9b03d15264d28bb0692c23d60d60e62244da519d3b53b04c83a() - { - $this->assertTrue(true); - fn() => ($test <<= $test)::$test; - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest.php b/testsGenerated/Target/Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest.php deleted file mode 100644 index 7b7aba213..000000000 --- a/testsGenerated/Target/Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest extends TestCase -{ - function test0193faa97d25e7817c179889782e04b7e524d4a347b3e14192d80642be082bc5() - { - $this->assertTrue(true); - fn() => (($test === $test) !== $test); - } - function test05d1dde776d42154cf5615c048e8a77cc4a3fcf2a321f03d907d5fc3be3fe941() - { - $this->assertTrue(true); - fn() => (0 !== $test); - } - function test062464e9d90e679eb294c68918d9a28b4cbeaca2a0e6f0376fde1a0e766f4d4d() - { - $this->assertTrue(true); - fn() => ($test > $test !== $test); - } - function test075824077c4cb97ccabf5956a19d1b45b1a2ecaeb500d9ea9c182b2898e5ce51() - { - $this->assertTrue(true); - fn() => ($test < $test !== $test); - } - function test08f571dab25b71ecb5eac667737e2cee1ce059d6241273d5a092818f2c89c746() - { - $this->assertTrue(true); - fn() => (__FILE__ !== $test); - } - function test0cdbdfbbab1e77d9ff0f587c5be22f0cc383001a1ec6c3e4f09ee0e409fc1d59() - { - $this->assertTrue(true); - fn() => ($test - $test !== $test); - } - function test0d1c6d33014cbba7b30f693e03c52d2b52f4a5af8ed4d678e6d8b0372974df82() - { - $this->assertTrue(true); - fn() => (($test /= $test) !== $test); - } - function test0e7ba34bc7a3f4c62317fc65ae54013ab70aceedb4a85fcf382ba599d7d878cc() - { - $this->assertTrue(true); - fn() => ((array) $test !== $test); - } - function test0f401d071232647400e9d7652e86ffdd7b8a493d88dc5194aa9d7a3a3fecfec2() - { - $this->assertTrue(true); - fn() => ([] !== $test); - } - function test109129e19a4bcb3920aedd836863f84c20aa8f5c12aacd83630ee6233e8ab2c0() - { - $this->assertTrue(true); - fn() => (($test %= $test) !== $test); - } - function test12f82ca985dece30546c0e53f5ed0d8babadd24c3dd9cb37fff530871226c274() - { - $this->assertTrue(true); - fn() => ($test?->{$test} !== $test); - } - function test165e8a5242b8ef2c7933321bc83ddaebc029c4930f8662f1532aed62371a8a20() - { - $this->assertTrue(true); - fn() => (new $test() !== $test); - } - function test17ef445d1f1d160646ff88ba82749ee3e5857ff47bbc2906a8c47839ed47d366() - { - $this->assertTrue(true); - fn() => (($test & $test) !== $test); - } - function test24169f382cf38f8fa6f53708f4d1388e670565d43394ef5ea1a05cecb3cc932b() - { - $this->assertTrue(true); - fn() => (+$test !== $test); - } - function test29a26858a86a4bb9b825c225bc03e34202e7c4d7f78bcfaa9e792c5aa8bc8b2d() - { - $this->assertTrue(true); - fn() => (($test or $test) !== $test); - } - function test35c680e5b60d756e803285b94932390a9d069baa778d1847a38461e70d666fe3() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() !== $test); - } - function test36de14257f4d8a299b8a56df89bd1035d68fa651e272adc71e93c0c5c0ca39f6() - { - $this->assertTrue(true); - fn() => (clone $test !== $test); - } - function test3d9415a37a0750dbe8ae986bde34c9c9201b8a5421c23828f0fb2cf75af21d9e() - { - $this->assertTrue(true); - fn() => (throw $test !== $test); - } - function test3f4ee2f1176dd21ac7b6a51e3ce88553cd1b65382316a998904378b0892ad219() - { - $this->assertTrue(true); - fn() => (__METHOD__ !== $test); - } - function test4263f8a4e373b53d8f00f357e277e0f5fb4e7437de9bf879638a981ba424938f() - { - $this->assertTrue(true); - fn() => ('test' !== $test); - } - function test4408187b7c70728ac658dddd367b2b3dfa1f4c56c720fdc76a60ff68b7abee3f() - { - $this->assertTrue(true); - fn() => ($test::$test !== $test); - } - function test44d5c08dfa5f229bdf7bf0aa74d03b12a44e5c26f85979e98046cd71c3e1740e() - { - $this->assertTrue(true); - fn() => (self !== $test); - } - function test4e06378d90268f98e102cd6b0f615dcdf1d6e0883a9114bdb1a8d8fb93d75e51() - { - $this->assertTrue(true); - fn() => (($test | $test) !== $test); - } - function test4e8c57ccbd0cbf99c6000dc8207e14f43edf4fcf9ed14e3654cb81e0e51a8ebe() - { - $this->assertTrue(true); - fn() => (($test &= $test) !== $test); - } - function test4f27e1e4d3a3a93d70a61f5de70d7aa8763b8af05488b10e734b042180201fe2() - { - $this->assertTrue(true); - fn() => ((yield from $test) !== $test); - } - function test4f8c56c1c344ff6ed6f4b95752cbc370d1c39ea974725060edd3eac813aa16e4() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ !== $test); - } - function test50e9d51ccdad65e21777ce23344ee3f1586dba5840a779db8bfb3b7790528adb() - { - $this->assertTrue(true); - fn() => ((int) $test !== $test); - } - function test5363175c5dd82756ebe25d50f03dbe3ef25bfaa0823760d0434af9cfc3e190cf() - { - $this->assertTrue(true); - fn() => ($test->{$test} !== $test); - } - function test556234926e6071fe61271e64c816c58d585f76f7217dc2319ba1f0b741d43351() - { - $this->assertTrue(true); - fn() => (($test **= $test) !== $test); - } - function test56ee9ed4a4f8e4797cea3d2ad3eaebaf53573d27b10bc485da69ac659bc3ffe0() - { - $this->assertTrue(true); - fn() => (function () { - } !== $test); - } - function test57634eb5e53153da4b71f5b2529ccdfce84060f40b43ad7d7f3c47af2e0a5392() - { - $this->assertTrue(true); - fn() => (__CLASS__ !== $test); - } - function test5ad42519a494ec5d1e697b917b70ba075c2635c82a2be2749d433a1051d93b43() - { - $this->assertTrue(true); - fn() => ("{$test}" !== $test); - } - function test5d9e1a996ebd641e49da3531f997b46785403a36bfb4ba0addbcab10863a6ae7() - { - $this->assertTrue(true); - fn() => (__LINE__ !== $test); - } - function test649cbc9c7260993363053540a410eaca7307e23a6ceb997324756ffbdac1f5f6() - { - $this->assertTrue(true); - fn() => (($test *= $test) !== $test); - } - function test671a58c56dbef701e5c2095c2b20b9f91cfeb467d92d57c8b3056bbb023a16d6() - { - $this->assertTrue(true); - fn() => (($test ^= $test) !== $test); - } - function test69ac643742aedbf6dc0f13673526b3908d10ace975d13f01e36e64ef3631c3d8() - { - $this->assertTrue(true); - fn() => (__DIR__ !== $test); - } - function test6ca6036e5f512d98ad091bbb2e70dd811d604df62e309d5a7f372ed775fc5307() - { - $this->assertTrue(true); - fn() => ($test::$test() !== $test); - } - function test6e1dd316ae2838821fafc77efa96e65af00c16200e14182a0851434aa2519779() - { - $this->assertTrue(true); - fn() => (($test == $test) !== $test); - } - function test6f851b622ee5f49f567c89c821dc5da1e45d3ced3f03db872eb9b6e1b03f2564() - { - $this->assertTrue(true); - fn() => ($test + $test !== $test); - } - function test7183d7b276d7a937d5b87d7115571c39e1d47ce381a1f4934dc1c987e9de9848() - { - $this->assertTrue(true); - fn() => ($test ** $test !== $test); - } - function test76f441dbf7cc9e26dfedde6dfd4d0f3067766ce42b542f327f228d81e048b10f() - { - $this->assertTrue(true); - fn() => ((double) $test !== $test); - } - function test7aa27567db4b876557326c081aa7299957713a64402c0a735eeba319ff534724() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) !== $test); - } - function test7cd41ce7d749d671bd8a18edb83bd82807937625c247f741534fad889a504260() - { - $this->assertTrue(true); - fn() => ($test->{$test}() !== $test); - } - function test7d8fbae93565d3b0463680b4b7aca37810fe24331bdd1b90cda3895432cd8da6() - { - $this->assertTrue(true); - fn() => (($test += $test) !== $test); - } - function test81493526d00b1375039f15f1badbf9dd620c4771489f453434cf7a43e8438096() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) !== $test); - } - function test8395c7f20a2db769ead6e36efbebdd04502528a9698814c0afaea0839eab001c() - { - $this->assertTrue(true); - fn() => ((print $test) !== $test); - } - function test83f7d005468249b1b9c1c4940b3942815e45e8d604315914fea3ec2bafaed544() - { - $this->assertTrue(true); - fn() => ($test >= $test !== $test); - } - function test8415e6a6eaa9b7794a445444139e4a0f6a5a1e9b7bf679291143f6423f5d52be() - { - $this->assertTrue(true); - fn() => ($test >> $test !== $test); - } - function test85bb928fc5d8d1a9aa949128ed37e0044492dca639c04dc2e8fd019456af4de7() - { - $this->assertTrue(true); - fn() => (${$test} !== $test); - } - function test8619af7c8b34b830fbd0ff2fa43e037fbee6788c059630b2bade7813cd6e8002() - { - $this->assertTrue(true); - fn() => ($test << $test !== $test); - } - function test87a6032415258789e7ea08a36265eb4dd6e40c1ecc119501a8592e8be7c8e718() - { - $this->assertTrue(true); - fn() => (($test <<= $test) !== $test); - } - function test87f04d88d75e5fcef166a6f3d8a29b9470932273e0b6c80e12f4c830ccd667d2() - { - $this->assertTrue(true); - fn() => (($test .= $test) !== $test); - } - function test8994b3125bedca76f94394179b67031e87ce54d460cdc8e63e95d23fcbe1f368() - { - $this->assertTrue(true); - fn() => (($test |= $test) !== $test); - } - function test8ab98af13052934780dbdf921c6f31119b415a87f7817014c20146de1d124327() - { - $this->assertTrue(true); - fn() => (0.0 !== $test); - } - function test8d26cd62d54f822aeddaba94efd15bbe42231d76db0b0eb0162a0b75fc6fc5a5() - { - $this->assertTrue(true); - fn() => (($test <=> $test) !== $test); - } - function test9242714720619b5004adc836e233d91094ea90a6396f64b6f90ff4afc8b9a624() - { - $this->assertTrue(true); - fn() => ($test <= $test !== $test); - } - function test92fadd227ed6678a07ab972bde12a7b4b60cc894f1bd99f838b61dccffb96745() - { - $this->assertTrue(true); - fn() => (($test =& $test) !== $test); - } - function test942c88196ddb0b53698262683ee919794b267a84cb36966ffff38ddd70c4453f() - { - $this->assertTrue(true); - fn() => (match ($test) { - } !== $test); - } - function test99357aa68e28487dbb9978907758cc330d292a1b0e3279b66d25f9ca70954137() - { - $this->assertTrue(true); - fn() => (($test ?? $test) !== $test); - } - function test99bd3f187b1cd3419ea1e7c82788bb9d5942bbcb254d94938ae922a39f6cfcf4() - { - $this->assertTrue(true); - fn() => ($test instanceof $test !== $test); - } - function test9caee27646ae85f00fdbb79d5fbaae13611dc4406e043ee06b22db7db33a68d4() - { - $this->assertTrue(true); - fn() => ($test % $test !== $test); - } - function test9ed965f7acb5af188e388a45d8975d90aaac7340d32d65fb889306c961a0db5e() - { - $this->assertTrue(true); - fn() => (-$test !== $test); - } - function testa35dbdacc4986ebb616768e407f64f2168010e81bb4912757dd61f5a0e75e390() - { - $this->assertTrue(true); - fn() => (isset($test) !== $test); - } - function testa8c8f0074b3d9ca039c1b262a727ad51a8f122e9a413534c669c309700f46b16() - { - $this->assertTrue(true); - fn() => (empty($test) !== $test); - } - function testa9f3eeed8ed884d84627aaf980a9868412d12dde96f7c33f6fd136be5157e4f0() - { - $this->assertTrue(true); - fn() => (--$test !== $test); - } - function testabbe5a6a4e2018abe68b7eb0a38579cf07a56beec615e94211e9b60f53e74e80() - { - $this->assertTrue(true); - fn() => (eval($test) !== $test); - } - function testabf44ab6d0b2b1ca72934047730458dd068cfe5fd9327ce4f143b3b1ad020ec4() - { - $this->assertTrue(true); - fn() => ($test !== $test[$test]); - } - function testad7917178daea2e4e9500aaf8392cf202b13780a7b60d8461318b1fa03b9cc3c() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ !== $test); - } - function testadabca7247a5a4736b73093463d7329a6ead5b196e191c1e345d9cf7e26a4bab() - { - $this->assertTrue(true); - fn() => ($test . $test !== $test); - } - function testae2037b7fed6bf38e1b4c4c62375134511e04befa00ba9f974e7beefadca53b2() - { - $this->assertTrue(true); - fn() => ($test-- !== $test); - } - function testb399e983a82f6feb03522bf79d42e41831324b1654ab2d6ded2179bc5a8e1f8c() - { - $this->assertTrue(true); - fn() => (($test != $test) !== $test); - } - function testb3f162d660138f4c156fd9a3896a928b34c82f500d724d9a55ac0e1f0726a24b() - { - $this->assertTrue(true); - fn() => ((string) $test !== $test); - } - function testb4a9fa11ce9044973079e199ca164f7492f49fbcd8505a93002a29e15f27d1f5() - { - $this->assertTrue(true); - fn() => ($test != __TRAIT__); - } - function testb54da7892ebcc3bbdb512f85d31774e2825d182d655b65a8a07bd1ec4e81c4b9() - { - $this->assertTrue(true); - fn() => ($test++ !== $test); - } - function testb6eb313fd270bcfd3d3f52cf512b1fbac45482993f96122e43c3c2f394394906() - { - $this->assertTrue(true); - fn() => ((bool) $test !== $test); - } - function testb73d5a552a28e27b957f7f677c183b1810f566066882b2882ea2836e1995aac1() - { - $this->assertTrue(true); - fn() => (~$test !== $test); - } - function testbd94cb316c7fa55ae319688fa9720c74adfece3f3879b71ab63e43bec4124640() - { - $this->assertTrue(true); - fn() => (__TRAIT__ !== $test); - } - function testc25501be2d3b2b7c19ed13575e28369a8390ff6ae27ee9d024e5b9521109103f() - { - $this->assertTrue(true); - fn() => (($test -= $test) !== $test); - } - function testc808fdb980e62a3f420c104330ac6d4c6d2d84165ec9384057cac1cfef841980() - { - $this->assertTrue(true); - fn() => (`` !== $test); - } - function testc954eadd529128f5453fb3f5437e8477aebaf3526f3af1fce2e3de9441a33901() - { - $this->assertTrue(true); - fn() => ($test / $test !== $test); - } - function testcb17a9743db63d48856767ed5af5b1227dadde16ec62e079b9fa08538bd268bd() - { - $this->assertTrue(true); - fn() => ($test() !== $test); - } - function testce3319913d02aa3175fbdd078f6359307a17bed52ac0df95ff1424d75d88d11e() - { - $this->assertTrue(true); - fn() => (($test && $test) !== $test); - } - function testd62e551ed48867d9c6d5f3796f186a3aba183fd275f5cd8ab82938b79932828e() - { - $this->assertTrue(true); - fn() => (!$test !== $test); - } - function testd655f820e6d09a209a86b326f77378ab34fd5360042ee35269061d0c3ac5f93b() - { - $this->assertTrue(true); - fn() => (($test !== $test) !== $test); - } - function testd8f690f44c09aedb058deb293bb789af13ee9ba1b5c3b3e45de39451bd4e61b8() - { - $this->assertTrue(true); - fn() => (( $test) !== $test); - } - function teste3b55c5fa9f0b6daff6432aedc34606759ffecc30af548c6cf6250ef5f5ef9b5() - { - $this->assertTrue(true); - fn() => ((object) $test !== $test); - } - function teste42a8f19ba44ce5ee8726081337a2d148f44312e8aecc8563dbcf19e34c24f12() - { - $this->assertTrue(true); - fn() => (($test ^ $test) !== $test); - } - function teste73566fd512b7a27a5538c013db5e83b6005abe342c3de672a513d18e79670cf() - { - $this->assertTrue(true); - fn() => (($test xor $test) !== $test); - } - function teste90d3dcd090fd384ff4e0329e64f8c24bfa63c295da643967a8d6648898e63fd() - { - $this->assertTrue(true); - fn() => (($test and $test) !== $test); - } - function teste99b1b58b36071bef67f104791703e37e5136ebf1c06aab5859fb088389db16e() - { - $this->assertTrue(true); - fn() => (($test = $test) !== $test); - } - function testeb3a34c7a7dcd41419ce062c8ae27190aa2d044f0a99c86e6eb69246518bbb00() - { - $this->assertTrue(true); - fn() => (@$test !== $test); - } - function testf25e2bcfad0d387919bb06f718776c4388b2399988a7d526ec712daec3df395a() - { - $this->assertTrue(true); - fn() => ($test * $test !== $test); - } - function testf2884f61ac7835708b7d9755d2a302bba9c4eb169f0370b54fcd543a31c76a4b() - { - $this->assertTrue(true); - fn() => (($test >>= $test) !== $test); - } - function testf2a5fb6a0c35551905bdbe61bd6557c6ee2a1dfeb6421fce1d56a0380c25b650() - { - $this->assertTrue(true); - fn() => (++$test !== $test); - } - function testf67f046b49fed71ffa49aab834b7b7fd0f962872fa6f36e93e45663943c40a30() - { - $this->assertTrue(true); - fn() => (($test || $test) !== $test); - } - function testf9881b26122b46ecac4f06c5ec3136b7c0a5e7a1925e66fb0313ba06fd7c1606() - { - $this->assertTrue(true); - fn() => (($test ??= $test) !== $test); - } - function testfb3c04a77fc963a99eb83a4f51585288a88b61e55042d86db39f8dfa9b3fb252() - { - $this->assertTrue(true); - fn() => ($test != __NAMESPACE__); - } - function testfc29d9a0c153f1452d9416b664a49f4d89334c8e8992bf62f47efc02d35fa984() - { - $this->assertTrue(true); - fn() => ($test::${$test} !== $test); - } - function testfc8029a55f6f2d054d92b1b8b2a5927e334aac260961432ba6f2e42c48e47de8() - { - $this->assertTrue(true); - fn() => ($test !== $test); - } - function testfe0a7a8eb9b654026fd1ce8323e304564146ff0d188124ba16f8d558ebd8b4df() - { - $this->assertTrue(true); - fn() => ($test[$test] !== $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test.php b/testsGenerated/Target/Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test.php deleted file mode 100644 index 5ce2fad57..000000000 --- a/testsGenerated/Target/Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test extends TestCase -{ - function test00df8c4a894658c2a6936db2786975dcae42704b0f9f8cab65499b5abe6a1436() - { - $this->assertTrue(true); - fn() => ($test ** (++$test)); - } - function test01a7a40c2a5974f4753bc9c126a7111ee68e3395a48fca0257072f67f6253892() - { - $this->assertTrue(true); - fn() => ($test ** ($test ^ $test)); - } - function test0250d082baebe4831705b2e051c5b9127e3a4bd6942781d4a2ba0fcad611426b() - { - $this->assertTrue(true); - fn() => ($test ** 0); - } - function test039ae0484fa143bd93d70c5f95a3496b813ba46c4db70d79201fda2ada2af218() - { - $this->assertTrue(true); - fn() => ($test ** $test::${$test}); - } - function test045adb2c76773e2161dd8a8902ed7377cc1a43b46ad089a8371c8e12bae4cf39() - { - $this->assertTrue(true); - fn() => ($test ** ($test & $test)); - } - function test060d03e839b686870e87c42e19d6bcbdf3111d83f8bdf50eb8f3ddf962b59b6b() - { - $this->assertTrue(true); - fn() => (( $test) << $test); - } - function test0756dcd7aff8cb68d31906129cb43e3c9a2268625171a78fb37b8e96f141c263() - { - $this->assertTrue(true); - fn() => ([] << $test); - } - function test0c07e33445abbc8aac9c18fd2bd3c83150da648f012a3ca379bb30547b90cd5f() - { - $this->assertTrue(true); - fn() => ($test ** ((double) $test)); - } - function test0dfdffbbb0856232fc7a495966a54df7efe36415a0f339d58597e7cfffc12fe2() - { - $this->assertTrue(true); - fn() => ($test ** ($test **= $test)); - } - function test138dbf5d6cf5a002978d0567cd393354c94c2bcef5e040f0625895b3ec0273e4() - { - $this->assertTrue(true); - fn() => (function () { - } << $test); - } - function test19525a7ae3408f1384dbe265f6e5e5b6766817c6aab43f62d7be0f218e8ef732() - { - $this->assertTrue(true); - fn() => ($test ** ($test .= $test)); - } - function test1aba47956f0e72de9a4ee77892cde4b651b804b623302c293777e50eaee4f7e0() - { - $this->assertTrue(true); - fn() => ($test ** ($test < $test)); - } - function test1ad083692d46189f24c802b4b523766c75a1c773ca8bb8a4b7e88f6adaf62662() - { - $this->assertTrue(true); - fn() => ($test ** $test?->{$test}); - } - function test1b2f1d475680164e74f4ec5ac1f54790ac0893e1329a0ec6e8547e9d11959471() - { - $this->assertTrue(true); - fn() => ($test ** ( $test)); - } - function test1bcf3edb3b8002390e4ee4ec1a4afbfa753d0d71620e721810b510f82dc88fcf() - { - $this->assertTrue(true); - fn() => ($test ** ($test <<= $test)); - } - function test1bda912440fdaedc176295e7324282fa5f99543e3dc48669c8c642aa1868dfb7() - { - $this->assertTrue(true); - fn() => ($test ** ($test << $test)); - } - function test1bebd0b91909021bb38898bf993e1878835440d024da1633fe95c7fbc762a1ac() - { - $this->assertTrue(true); - fn() => ($test ** ((array) $test)); - } - function test1e3159372e30ec8d76ae38c2a586b93e5d423be77c49beabfae3e7a588fcc0cf() - { - $this->assertTrue(true); - fn() => ($test ** ($test !== $test)); - } - function test1ffd33d0e80aa3c79dccd6b082ad57d2fee6d7cc1b40696fe1dff2211a3b82bb() - { - $this->assertTrue(true); - fn() => ($test ** match ($test) { - }); - } - function test1ffffb5046bdf2b6cdeb096ab9ae8319cbf40563729241eb9ac807e4531685fd() - { - $this->assertTrue(true); - fn() => (@$test << $test); - } - function test240e0a7aa6d82e3d341af0686f91f4e3d3618650efe0832a53db044ed667e471() - { - $this->assertTrue(true); - fn() => ($test ** ($test ^= $test)); - } - function test24167160d2c4084dd22572ca3478522f0d9e69ea83b8245f3c6cb4b93deb8c62() - { - $this->assertTrue(true); - fn() => ($test ** ($test and $test)); - } - function test2734e567e3309e6619e3a243a8d260e15dbd75aee04a479153fe7e6385176231() - { - $this->assertTrue(true); - fn() => ($test ** isset($test)); - } - function test297b711883cac7fa660c3d7f6a525e5364819101c5c8c1b0271aeab6361b2c44() - { - $this->assertTrue(true); - fn() => (!$test << $test); - } - function test328ce2f72daf2a94d771fe7d20cc16ea6453e6ad3d77b16817db94a1ce9aa8b9() - { - $this->assertTrue(true); - fn() => ($test ** $test->{$test}); - } - function test343dea94b47b30e49f2c42716714ab473c4207f755db018aa0223035678e78bc() - { - $this->assertTrue(true); - fn() => (empty($test) << $test); - } - function test34becce7e0f01e47e3d2159908d223e0ccda8c7c072d16773995201c145e22c1() - { - $this->assertTrue(true); - fn() => ($test ** (-$test)); - } - function test37b66c3be639c1ec5810a563f4452078357f1c2459a8c85b175b5fe8892f9821() - { - $this->assertTrue(true); - fn() => ($test ** ($test >= $test)); - } - function test3ca3a1e508083beb3f5ac32689be79efeab3a4f81bef98434ceb0c846afaab57() - { - $this->assertTrue(true); - fn() => ($test ** __METHOD__); - } - function test446291f40082345379f8f4eb23bf3124dd64f65809a555faaeec4f0b8e93c7e7() - { - $this->assertTrue(true); - fn() => ($test[$test] << $test); - } - function test447566756732f7230f368ff6fbf48b0bbb96e9f8aa228eb48107d69c6e9eed84() - { - $this->assertTrue(true); - fn() => ($test ** (yield $test => $test)); - } - function test45dc87740596d47eb31292f3e5f9f8dd9dde9944db00763d68a72ff2cf1fd69a() - { - $this->assertTrue(true); - fn() => (clone $test << $test); - } - function test46d76c9f001d34a3542d9a880f53e44955a0f5f1d05f8437265899f93a69d202() - { - $this->assertTrue(true); - fn() => ($test ** __CLASS__); - } - function test48b9ca8e94f61f6b350a659cfb57689c6305a5b0744a59f78a369d12ec8b7426() - { - $this->assertTrue(true); - fn() => ($test ** ($test / $test)); - } - function test4b4d2bc39e0adbf34f6e5ad3b0cbe84b0c116bb32d449de1abef3411e8df7dc1() - { - $this->assertTrue(true); - fn() => ($test ** ($test &= $test)); - } - function test523a79e8a12cfbacccf6b36aae4e748b502a25e2101c9eb485d2e4acecf22163() - { - $this->assertTrue(true); - fn() => ($test ** 0.0); - } - function test530dd30c99e26f6255b10a60acd7c8339eea9a5518ffc3ce60d80681dbb300f9() - { - $this->assertTrue(true); - fn() => ($test ** ($test === $test)); - } - function test539c0da964151a6bc77b548c4ce6e1d75fed2b5869bd6738743aa97668308b28() - { - $this->assertTrue(true); - fn() => ($test ** ($test . $test)); - } - function test55058ccba9e2642f41f591bed88e2cb7c24f3919b855327bdf703a5e2148337d() - { - $this->assertTrue(true); - fn() => ($test ** ($test > $test)); - } - function test5737e98c877ca6cfa7c3d8851c034d9b7c3709c3eb2c9cd813c08c17c27e843d() - { - $this->assertTrue(true); - fn() => ($test ** ($test *= $test)); - } - function test5739bde1ba83c4af22798067e208fd94afdea26ebb2c83c59ac91c40df3ad2c2() - { - $this->assertTrue(true); - fn() => ($test ** __NAMESPACE__); - } - function test5b1c011f15d13dd64239ffccc33bd9d699accc1efd5bf7766faff0b28b054b04() - { - $this->assertTrue(true); - fn() => ($test ** 'test'); - } - function test5b70106467590e8b8d0e0ee813cae248b024f9c5d8a4c69be6e05373b369b00a() - { - $this->assertTrue(true); - fn() => ($test ** $test->{$test}()); - } - function test5cb4cf21c35b48a6f5107fa6f419a2cb1c0312c1c69cd0371ed7aa8118af9be0() - { - $this->assertTrue(true); - fn() => ($test ** ($test + $test)); - } - function test64f6d7795480e58a9d9f1553552f073dfa3f1ae8c864dea7d21be2e408d9d635() - { - $this->assertTrue(true); - fn() => ($test ** ($test && $test)); - } - function test658f32acf2f3b86e109587bd48fb7436caf333eb5fe41c14c0c1440fe7e3211a() - { - $this->assertTrue(true); - fn() => ($test ** throw $test); - } - function test6988a071fe0ba2b8d31cdcf0c4adfb27a61544f0abc1cf3388cf5f17c8262a51() - { - $this->assertTrue(true); - fn() => ($test ** ((string) $test)); - } - function test6ed363f8a4d0de41f17c8ce7abeec8c1f03e9b8d71857382a41cdb90392c7fdb() - { - $this->assertTrue(true); - fn() => (($test = $test) << $test); - } - function test6fe9fe880188dd295b60b3d6c539798e29bf132f985b353b5d4edf4910b51d0e() - { - $this->assertTrue(true); - fn() => ($test ** ((bool) $test)); - } - function test7275fc93c3341871a79de4734793d1e93de2c774d345176e0672b427145aa266() - { - $this->assertTrue(true); - fn() => ($test ** ($test * $test)); - } - function test77645380ea2c6c596d594c3c55bc83976968ebc2788f20ef744f4920b346eb0a() - { - $this->assertTrue(true); - fn() => ($test ** ($test++)); - } - function test77c747be56f29bb5a83946872d3605721d3f5111a219feee38861a6c5da588ba() - { - $this->assertTrue(true); - fn() => ($test ** ($test != $test)); - } - function test77d251bd3ae4b20a02670cadb83101e1a44b131b1c865c00e8151070b2dea45d() - { - $this->assertTrue(true); - fn() => ($test ** ($test -= $test)); - } - function test7d6608cf25ed21e1735a0b883126cc37b79ef6ec33376dcd07a61ec96e634442() - { - $this->assertTrue(true); - fn() => ($test ** (yield from $test)); - } - function test7dc9e68f2fb24d00219bdda627195cc4181ad90b4608160f8ba78f0b6131f92f() - { - $this->assertTrue(true); - fn() => ($test ** (+$test)); - } - function test7ece83c21f3a807aa895270b139b8d16e1b077464b0fedaf462e3e1a0bce641e() - { - $this->assertTrue(true); - fn() => ($test ** "{$test}"); - } - function test83c6557ef0ee14604dbc82cb4a871ba25e39d273f4b377ca62d1d32fa16c38de() - { - $this->assertTrue(true); - fn() => ($test ** ($test xor $test)); - } - function test884b2e89d4d6e761c80a4ad2bb9b53c6610f629be35daa8c9a8e4979f48eb811() - { - $this->assertTrue(true); - fn() => ($test ** ($test ? $test : $test)); - } - function test8951beaa8941496d8c18c275e5b40784db720b07e3eeb14271786f6a00d1924b() - { - $this->assertTrue(true); - fn() => ($test ** ($test or $test)); - } - function test8a4e1d693ea3f6c9c9b7b9a6af5be0e448881aa624b0d7d6f3b03b07f96e07cf() - { - $this->assertTrue(true); - fn() => ($test ** ($test >> $test)); - } - function test8df49aa4cf9f66d13b1d208e09e89f0cd2f3aa7f6bf8365e2ef0dbf847c0e877() - { - $this->assertTrue(true); - fn() => (self << $test); - } - function test8f03d925d55cbf59cbe5e2df75cfa1691db8790483c82943edddf6661305f73d() - { - $this->assertTrue(true); - fn() => ($test ** __TRAIT__); - } - function test95b10688ab38dc7215839288f27e030968e31c60593424fe6a6ae78d81b95c79() - { - $this->assertTrue(true); - fn() => (eval($test) << $test); - } - function test979b824e3d4c6accf67442c87f57ccaa7a69110341d1ea15f46e02e7770b2621() - { - $this->assertTrue(true); - fn() => ($test ** ($test += $test)); - } - function test97b3e222180bd6563e8d4e0ecc3d5bc213075ddbd5df58f28e37fcdc3f4301d8() - { - $this->assertTrue(true); - fn() => ($test ** eval($test)); - } - function test9f60d77d40600dd1ad1badf06662e999896b8435b249b4dbe317c091e1d14dd8() - { - $this->assertTrue(true); - fn() => ($test ** ((object) $test)); - } - function testa2e29039e3d4ad7d1d5de72e155421daa161b1fca81065de009f6fd4cabecd30() - { - $this->assertTrue(true); - fn() => ($test ** ($test == $test)); - } - function testa2e38197bdd451ad4669c5e325c3f9cedb82717a8d6900ae0bf4f441c4c57937() - { - $this->assertTrue(true); - fn() => (($test =& $test) << $test); - } - function testa69e105c0dc7c3690018acbb6a0ba62dedca19e8e7673169bd834b34409ecc47() - { - $this->assertTrue(true); - fn() => ($test ** ($test /= $test)); - } - function testa76d2eceba6404f119183304dd4fbade368e56bad12892490c5e4c7d6a33f200() - { - $this->assertTrue(true); - fn() => ($test ** ${$test}); - } - function testab9fbf3b411e6be0628842763f5bdfbc9b1cc55553c2cf4b71fe47798d1b7904() - { - $this->assertTrue(true); - fn() => ($test ** __FILE__); - } - function testad941e5dc9cd29b9980ed8d77f0f40c9de83a9465e31816bbd37fd92be83d57e() - { - $this->assertTrue(true); - fn() => ($test ** ($test >>= $test)); - } - function testaeda7abe32b9699ca015025726f7b21e4ec05ad055e579c1083d3a8599aa7ed4() - { - $this->assertTrue(true); - fn() => ($test::$test << $test); - } - function testb0a4804af187a9c6a0a31d8a8fbccc685e735ad2f83dae7a1aa4690b8ec6dfdb() - { - $this->assertTrue(true); - fn() => ($test << $test); - } - function testb0efa8fd1212c4b909050d207a3ec17e5d59992511bbb886279f71f7faf90f75() - { - $this->assertTrue(true); - fn() => ($test ** ``); - } - function testb300fcd718d0e6ba86a268aac4c64b9decfd693ad7520880bd817b1e5caf897e() - { - $this->assertTrue(true); - fn() => ($test ** ($test ?? $test)); - } - function testb466ed97eaa055ae128b2898b9828a6d9b2dbbfba5ea1e645b0b85ee311b3b69() - { - $this->assertTrue(true); - fn() => ($test ** (print $test)); - } - function testb5f2914eca1b92a2845abc27899aeb468b195a4c6932844e3a08634c74629f17() - { - $this->assertTrue(true); - fn() => ($test ** $test()); - } - function testb869c04c3ef76cb29c005ceb7104a361d367c8e6ca57be83d7b1235bdcdb6399() - { - $this->assertTrue(true); - fn() => ($test ** ($test--)); - } - function testb994e46a7981d96a2c1529c11057bcf820bd6c62608b38d3631bcd92518b1084() - { - $this->assertTrue(true); - fn() => ($test ** ($test ??= $test)); - } - function testbeae51c0539bc0c53de87236493116783c506ed4f42bab9733d212762ae15cec() - { - $this->assertTrue(true); - fn() => (~$test << $test); - } - function testc00370a7f51aa8c75994a97f3e222fff1f0d5f69ed558d7eedef85160912d3d7() - { - $this->assertTrue(true); - fn() => ($test ** ($test % $test)); - } - function testc3504a843175b57bbc444bb5123f5a7cc91343db791fb21e8ad595745e8a1acb() - { - $this->assertTrue(true); - fn() => ($test ** (--$test)); - } - function testc94129a43ec1463b9d5db72c8d2e8262914f6a9c21e7c7fa0d9e9caab1348d00() - { - $this->assertTrue(true); - fn() => ($test ** ($test || $test)); - } - function testcaa320e9dbe9e074a17ad391729e7c3b769e2fc21f1f1385920c842b79a252dc() - { - $this->assertTrue(true); - fn() => ($test ** ($test %= $test)); - } - function testd0c34928f5bf910dede075ede58643d7a99af97f4cfdbf0f3ee3f46e4fb330b7() - { - $this->assertTrue(true); - fn() => ($test() << $test); - } - function testd21f06b7e8e22f987529f4a7610cbcc8b36e9f16dd53dd2098af1267169b0cca() - { - $this->assertTrue(true); - fn() => ($test ** ($test |= $test)); - } - function testd3d99f67cb29730f30876db40a8dce9eaa31fac83dd77b22ca6e6fc645bea26c() - { - $this->assertTrue(true); - fn() => ($test ** ((int) $test)); - } - function testd4538b971adb7a2c50a2de63a155e07bde7e8abba92c15f94bbf771a911ba470() - { - $this->assertTrue(true); - fn() => ($test ** ($test <=> $test)); - } - function testd5100746fbad0a44f2634a2098e7f8c2e4ec27a7392420101eca6021d295eaaa() - { - $this->assertTrue(true); - fn() => ($test ** ($test <= $test)); - } - function testd766c846f28549d31e0fc775e552a6fabc09736523c488c0f3c620a899173e0b() - { - $this->assertTrue(true); - fn() => ($test ** __DIR__); - } - function testd85013c89a5909214a1957c20405cc3bc9299d7b55f40c4af7054894463a6a2d() - { - $this->assertTrue(true); - fn() => ($test ** ($test | $test)); - } - function testdbca7c947f5542c28e45e3a8165dc867d31d183f084dbf66d26a53d6a0f92a9e() - { - $this->assertTrue(true); - fn() => ($test ** $test::$test()); - } - function teste3575c7a2397bf0bbb8e97effc59eb3341bc1bfd2e9d0073b1fe346ca236b14f() - { - $this->assertTrue(true); - fn() => ($test ** __FUNCTION__); - } - function teste46f06555b059467342c3774a26cb1c66af469aba2624e6e5016d6327fa98a94() - { - $this->assertTrue(true); - fn() => ($test ** __LINE__); - } - function teste5c126b0b9ddc2ed122ee64cbf1199f4c3c64624337788fcaf39f8c5eb6ed387() - { - $this->assertTrue(true); - fn() => ($test ** $test ** $test); - } - function testec2e3cf2b2efe1b53278461e120968cbad3d24ea6588ac59267b6ae4fe7c44f9() - { - $this->assertTrue(true); - fn() => ($test ** ($test instanceof $test)); - } - function testf50250bcfcd13336613cf6a2be461074a58ac9792361030f6ef0d288612bcbe5() - { - $this->assertTrue(true); - fn() => ($test ** new $test()); - } - function testf807e5297f7e87f53522db3e4d2a03e0325b6dbf74eef50f6b161e50f80bd098() - { - $this->assertTrue(true); - fn() => ($test ** ($test - $test)); - } - function testf9b6e9bc38a4ecfb51c41eb4a16f714ab0b78a59de4582a782eb0325a3cc5885() - { - $this->assertTrue(true); - fn() => ($test ** $test?->{$test}()); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest.php b/testsGenerated/Target/Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest.php deleted file mode 100644 index c95552432..000000000 --- a/testsGenerated/Target/Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest.php +++ /dev/null @@ -1,515 +0,0 @@ - - * @license MIT - */ -class Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest extends TestCase -{ - function test01d1bdf6b4b24377ac45939df019ea18e382fc6e4273338662c96427fca80bf5() - { - $this->assertTrue(true); - fn() => ($test ?? $test === $test); - } - function test025660332d0aa1af27c3157520562e8ecb7498a3ce4894415710e26480d1b52a() - { - $this->assertTrue(true); - fn() => ([] . $test); - } - function test03d99ebcb6ee7b712027bec29da2706d481f05db4488db3cc7a6cdea1621d2cb() - { - $this->assertTrue(true); - fn() => ($test ?? $test?->{$test}()); - } - function test046f9d84d77e71623302ecb992e9581dfda334b507c868ab7b358327dc047c64() - { - $this->assertTrue(true); - fn() => ($test ?? $test + $test); - } - function test09f0a18373e0d797ae57859ab2b19e79261b62ae01f1ea58f5cbb45666ed751e() - { - $this->assertTrue(true); - fn() => ($test ?? $test !== $test); - } - function test0d48d3d72bda23286badc8e8be22430ea428ead8fee4e6094c8ea90ff4528bb8() - { - $this->assertTrue(true); - fn() => ($test ?? ($test &= $test)); - } - function test0d9d0ce6ad682e4cb8583c6fa7958bfd03d7cf33b442a9e996c07285e923e4b8() - { - $this->assertTrue(true); - fn() => ($test ?? ($test or $test)); - } - function test0da8ecc2ec12f8b5d9e42461778d6c1f19b7193f25c5a2a60aede2311b81f4e0() - { - $this->assertTrue(true); - fn() => ($test ?? __FILE__); - } - function test1010ca250f8d4daced54bc8623b406f9cb56a4eb620c44711749bb5ee508fa7f() - { - $this->assertTrue(true); - fn() => (~$test . $test); - } - function test1035f0ef1c8abee0b2400fe948066de490b3342d756bd20a0230cbd52e3d95ce() - { - $this->assertTrue(true); - fn() => ($test ?? ($test and $test)); - } - function test11b4cf8892cf4dc6b205345803e8c9ffeaa8b1c300e2b7f8ec700a5519e75736() - { - $this->assertTrue(true); - fn() => ($test ?? (double) $test); - } - function test11e6d30084199a808d51d9d5e817b3c91da185b8ea847c750fbe3d7b096df6c4() - { - $this->assertTrue(true); - fn() => ($test ?? isset($test)); - } - function test1477c2804890d8733ffa05f41b7e1a9c264e8a046b6685fc9bbe914595389f36() - { - $this->assertTrue(true); - fn() => ($test ?? ($test **= $test)); - } - function test186d57562d1a134b7b81f9710c70a5a59720d1dc2173a69a89ef453444222e59() - { - $this->assertTrue(true); - fn() => ($test ?? +$test); - } - function test197c8b717c58425f3765dccfd4ab86f2940434277f97d8e6dfd6dc42cf9437d3() - { - $this->assertTrue(true); - fn() => ($test ?? (yield $test => $test)); - } - function test2161f0ab933440375b354084be4a4f3cadb07dc3e7beaf34b7bf43f0f8d8479b() - { - $this->assertTrue(true); - fn() => ($test ?? __METHOD__); - } - function test22ce55285bd8a37e4a33fa69dda2cb5f0d20ecb34a92a3dd1efe2e71581752a7() - { - $this->assertTrue(true); - fn() => (match ($test) { - } . $test); - } - function test23c0de70dc95ec78826caaae311958122599c59c4e75b231cb7332a938925e97() - { - $this->assertTrue(true); - fn() => ($test ?? ($test ^= $test)); - } - function test247bb59a53fd6aff3d89536b1a08cd6c15f99ac72eec866f966e8d2027492010() - { - $this->assertTrue(true); - fn() => ($test ?? $test::${$test}); - } - function test2745e6383a80eddb9bc3011c6596888016a8771d22bde6f8a5c3040f6d3cbb78() - { - $this->assertTrue(true); - fn() => ($test ?? (object) $test); - } - function test2e33e17402a09818a60b21524994c26e222b3cca6b9cbfde934ad6a3419d7730() - { - $this->assertTrue(true); - fn() => ($test ?? $test <=> $test); - } - function test3696570aaeed122f231a845ec4dca38408864bc434710ec0f83acb4ba7cd3b10() - { - $this->assertTrue(true); - fn() => ($test ?? ($test -= $test)); - } - function test3926372fd20c1eeb640fa76fabf1438b6fdf458e05b0d2a948952244a8ff03ec() - { - $this->assertTrue(true); - fn() => ($test ?? $test || $test); - } - function test3c304ae38406f07858fe02110c396f75fb6ef030b3e8c030fb7b7f719c07e5c8() - { - $this->assertTrue(true); - fn() => ($test ?? 0); - } - function test40eabf6d7d2b60d4caf4a7c1563a69f74beff57b318268b6bfae00385dd35999() - { - $this->assertTrue(true); - fn() => ($test ?? $test != $test); - } - function test446c79fbfb0c9006903b95b32ef28f5cb018df3e61715970fb13a373fa078723() - { - $this->assertTrue(true); - fn() => (@$test . $test); - } - function test4e497a2f7ed27ad44f6b2a2317639bff309aafd699994802c673e3c0d9af937f() - { - $this->assertTrue(true); - fn() => ($test ?? $test::$test()); - } - function test4e7c23a6d60f82de4374195c298af25e041a9a2f7e9dab19cbcdcc5ca2ebeb63() - { - $this->assertTrue(true); - fn() => ($test ?? $test << $test); - } - function test4efcd7a7f559e92ae43f8579f148318edaac20d0fd107c58930d2f2288394d36() - { - $this->assertTrue(true); - fn() => ($test ?? (yield from $test)); - } - function test50886a89a25cbf5d3af1712e5aaa33dd1389f8d4bbc10073b8f63b84a1a611e3() - { - $this->assertTrue(true); - fn() => ($test ?? $test & $test); - } - function test50e6d63b9f10ff24e038df4670facb0a8f052850cc26b3f1040ce01b73f76a2f() - { - $this->assertTrue(true); - fn() => ($test ?? ($test |= $test)); - } - function test52de44d46b34ec8cbb5d86573c1311f25513fe2ed915041b7339d30fa934f65d() - { - $this->assertTrue(true); - fn() => (function () { - } . $test); - } - function test5cb7737d6e767ac0115c7a0840e50dfdc7ae775a45c0089380dbd470bcd15052() - { - $this->assertTrue(true); - fn() => ($test ?? __CLASS__); - } - function test63afd26b1fe0384ed7a7f53dd69a0b6579b938e7f70d9290c823ab030c8fa870() - { - $this->assertTrue(true); - fn() => (!$test . $test); - } - function test63fa19dafa6967f2d9a3615c4ca6eeb3580ac216e83c457ecf4441c3fad71ced() - { - $this->assertTrue(true); - fn() => ($test ?? 0.0); - } - function test665842a5dcf690d0a90ec7705f9a48d42e0ef159b4a85aad500f8565a40d44d2() - { - $this->assertTrue(true); - fn() => ($test ?? __LINE__); - } - function test665a85b9f9e14b08c49448e975bfd63a13acffac8c44e57191f1f864d2cb17ee() - { - $this->assertTrue(true); - fn() => (($test =& $test) . $test); - } - function test6d49a32b069b1c649c0d4093e5fed69155db9f74f877237c29ada9a2763ae926() - { - $this->assertTrue(true); - fn() => ($test ?? 'test'); - } - function test72a92e5b83a9053d1bae75d01cd395f11a255379fdcaa31fb7321b0df27ef791() - { - $this->assertTrue(true); - fn() => (empty($test) . $test); - } - function test72ea333522d0d61c811423ed53c241b14d63862c7fb01d657bb2c5ed43523e6d() - { - $this->assertTrue(true); - fn() => ($test ?? $test | $test); - } - function test799e9a4754142adf4d4b7a0efedb5f9952331612f27399a2d4157de67cd91f63() - { - $this->assertTrue(true); - fn() => (isset($test) . $test); - } - function test7e77bff81e20bf124c3d899972c1ae83e497852a5e2cd4eedd3b0b7df938dfc9() - { - $this->assertTrue(true); - fn() => ($test ?? $test--); - } - function test83fff456e95c368923a898e13b0fb5eb5719e6265b29bd25f8ede1108ccbc3ce() - { - $this->assertTrue(true); - fn() => ($test ?? (int) $test); - } - function test855517170d57f67805f3b5aa05db8b0d3d6fa1442e5c86e10b974ec6c1bd7c26() - { - $this->assertTrue(true); - fn() => ($test ?? ($test ??= $test)); - } - function test860ef9b313da386351ff6ce59290208638de95373bfa96b951587919ca0dce30() - { - $this->assertTrue(true); - fn() => ($test ?? -$test); - } - function test861bcff84c9cb0b8006847dfe7cd7398ea5a023db8edee81fadb49adabec47b8() - { - $this->assertTrue(true); - fn() => ($test ?? $test * $test); - } - function test8c1b877a3c576bb88fa7dc16fe6fb7ad7557cdddc8f884a62b43fca5780b46c4() - { - $this->assertTrue(true); - fn() => ($test ?? (string) $test); - } - function test8c8776c392e54d4fcd140fc2959801cffd252ebc35523b40330f8f94a33d4203() - { - $this->assertTrue(true); - fn() => ($test ?? $test->{$test}()); - } - function test8d2e0a4ad78bb76558a903c343cef1b36cde18825b9fccf321ede4515408371b() - { - $this->assertTrue(true); - fn() => ($test ?? match ($test) { - }); - } - function test8e20afeedef1e45bf7c1fe0bfeac38443d8c9e76bf4137a4577be832e528daa7() - { - $this->assertTrue(true); - fn() => ($test ?? $test - $test); - } - function test909e31768d29e6d9eec1a6d0824358f6857c0fdff93b18e4bbf009442618b1bd() - { - $this->assertTrue(true); - fn() => ($test ?? __TRAIT__); - } - function test91d37da920f16a952126a28a18b3c1c98806d67616e1c8774ff5efb6ca39da9b() - { - $this->assertTrue(true); - fn() => ($test ?? ($test *= $test)); - } - function test92ad60aef575ea837b56e0114c6afdc950922a1fa2b0906dbe1b99f3deef05b6() - { - $this->assertTrue(true); - fn() => ($test ?? --$test); - } - function test930811078c9cd623159c3808b1a9a141eca02bdcef6d9b89e8b332bf686e9a77() - { - $this->assertTrue(true); - fn() => ($test ?? ($test += $test)); - } - function test93eef9258bf69f0c3c8a852971602c3bc6241d03e85366e443304ac497b94424() - { - $this->assertTrue(true); - fn() => ($test ?? $test?->{$test}); - } - function test95099f50b1808e7e01b66fb3e2f3c403d688399c1cc65ace0a2344bfeaec1c05() - { - $this->assertTrue(true); - fn() => ($test ?? ``); - } - function test964cdf97853747c8b72e64b9429c0df06a5088379d199e36649cc712ffffbefc() - { - $this->assertTrue(true); - fn() => ($test ?? $test >> $test); - } - function test98950f5b899c595c56b939f61450f925ea672e427f59ec28faca3a2dd763a981() - { - $this->assertTrue(true); - fn() => ($test ?? (array) $test); - } - function test98b386cab84170311b39fd6f29f16800630c68f52a96a830b13f82360dc8a0fc() - { - $this->assertTrue(true); - fn() => ($test ?? ${$test}); - } - function test9ad079e9e9105a563fd97954a5af8d7bcb3f27fe34e15f29676d9e475bebd71f() - { - $this->assertTrue(true); - fn() => ($test ?? ($test %= $test)); - } - function test9e4a95358836a4ec9e40ecf6ad0d3dfa3ee83a03af99d3c15daeaf9f272b46d5() - { - $this->assertTrue(true); - fn() => ($test ?? ($test <<= $test)); - } - function test9e708c85147b851257ebe9bcef022dff991e79349ecd0c8d9458568e7d56f0da() - { - $this->assertTrue(true); - fn() => ($test ?? __FUNCTION__); - } - function testa5861495323030e6eca9f1774c81ae67d77f71c2c7b78fc1bd43328d5e9b4461() - { - $this->assertTrue(true); - fn() => ($test ?? (bool) $test); - } - function testa6643b32b8166a6f476b8cad4b2d62a70a4e3f43d82d366beff013a2823e49ca() - { - $this->assertTrue(true); - fn() => ($test->{$test}() . $test); - } - function testa80c3412e498b479040fd26835af994ec96bafc779f61d10a9fcc9b00bada71f() - { - $this->assertTrue(true); - fn() => ($test ?? $test >= $test); - } - function testa93cba3c7e64a2375434791c8da9bc49c084f4b82328b64b492e98e6422f4c2a() - { - $this->assertTrue(true); - fn() => ($test ?? $test ** $test); - } - function testaa367fe72b55c5a4b10b97c255d3309f390cd886fdc47f7f8e9c5be39dd8f007() - { - $this->assertTrue(true); - fn() => ($test ?? ($test /= $test)); - } - function testaf81872e526ddffe3484c02e0ba03c8eddef35c882736ab38d38bd75131ab922() - { - $this->assertTrue(true); - fn() => ($test ?? $test / $test); - } - function testb2bbec48271823d22a222d399780f4429ee3a861a7acf23ee992b64b743250b7() - { - $this->assertTrue(true); - fn() => ($test ?? $test > $test); - } - function testb5e433b701c847c853509fb631ff462102d48a301fa94b64b08bd6f6016d616b() - { - $this->assertTrue(true); - fn() => ($test ?? $test == $test); - } - function testb6a6da47b92f4b923b11376e825157bc462ec39c2c376c27466283feffd0ee6c() - { - $this->assertTrue(true); - fn() => ($test ?? ($test >>= $test)); - } - function testb7673b8560afc6ba4dfd7db147a2874b10f20bc2c5c3b018307937260071e24b() - { - $this->assertTrue(true); - fn() => ($test ?? ($test .= $test)); - } - function testb98dc4e841155890d5f8ad92ebd4c0ff77ff4b1d37721ba90cb737b1f7938d0f() - { - $this->assertTrue(true); - fn() => ($test ?? "{$test}"); - } - function testbaa520c9351ceab7f4460441f5f4d4a73a8f9fda6742595d6b974572722b7b83() - { - $this->assertTrue(true); - fn() => (self . $test); - } - function testbb4b6db4353543352cfc1e1d8d2461138b7016e514640dd461d2c3dd67a1bd30() - { - $this->assertTrue(true); - fn() => ($test ?? ($test ? $test : $test)); - } - function testbc9e6b606fb8d13afd2c040f17514aa69ff945730a811acb0b578d7315e3088e() - { - $this->assertTrue(true); - fn() => ($test ?? new $test()); - } - function testc467cd9791be4e1d7720fccf03e69cd7e1a018945187b969aa42b3b7c879cde3() - { - $this->assertTrue(true); - fn() => ($test ?? ($test xor $test)); - } - function testc5fb534c22e754d5c10aeadd6027bbef5b52499a3057607e13695dc51cb670c5() - { - $this->assertTrue(true); - fn() => (($test = $test) . $test); - } - function testc62e4b52227e7c372c9a9ef6310b3db043948087333b98766c6571fae2e1a446() - { - $this->assertTrue(true); - fn() => ($test ?? $test % $test); - } - function testc92f326032aca05c18b5d6b22de93454f15ff116bab0f2e3911ab59fbafd43a4() - { - $this->assertTrue(true); - fn() => ($test[$test] . $test); - } - function testc956ff21f27414dd87141f1cced8687d6a1abfdd1f1c853c21287915358990f5() - { - $this->assertTrue(true); - fn() => ($test::$test . $test); - } - function testccd73a4797dd86c9d39e4dae9914b612a83099989f7d8091d27d9216252ccaf4() - { - $this->assertTrue(true); - fn() => ($test ?? $test <= $test); - } - function testccdff6e0bcc45c2ef4330cc8bb967e929de7675152d8b24b116685d1c4bfb557() - { - $this->assertTrue(true); - fn() => ($test ?? throw $test); - } - function testcdd1282df04f673738ba1ae4f1807d5617fa31279289c71e4e28704b6f0b699f() - { - $this->assertTrue(true); - fn() => (clone $test . $test); - } - function testd0df7b1887a1b4c26d9a0fabfde59493d1d2bb7f6fd906c0106132a6e56f7edb() - { - $this->assertTrue(true); - fn() => (( $test) . $test); - } - function testd109618a98c0ac8a140be93dda11a7585c35aac02aded64ba761e2c4141cab3d() - { - $this->assertTrue(true); - fn() => ($test . $test); - } - function testd315a47a2090fd85a2dc8437f6b60c8916d66fbdf1f4cf1292f64d78086db5e6() - { - $this->assertTrue(true); - fn() => ($test ?? $test ^ $test); - } - function testd5b852aa88b44dfb1e634b7c31479067a09b2ba40e6efaf2c8b1f3b2c2ad00e3() - { - $this->assertTrue(true); - fn() => ($test ?? $test . $test); - } - function testd712cbbf859c030649df68c86448b6745e5cc396c7f01b94f8f89fb6ab310afc() - { - $this->assertTrue(true); - fn() => ($test ?? $test ?? $test); - } - function testd7495f15b35d9c75bc1a8cdf89f2ba1c81f0cc71f0a99d219e972fe9cfb8fe44() - { - $this->assertTrue(true); - fn() => ($test ?? __NAMESPACE__); - } - function testd7bcfc89466f0073deb47045fcf3600df551d4a9fdb4e2edee3c7651a5e1f2cd() - { - $this->assertTrue(true); - fn() => ($test ?? ++$test); - } - function testdc21d4ac34893826f203658979a8e6bb6afd9aeb93771c62d17d5407a9603a65() - { - $this->assertTrue(true); - fn() => (eval($test) . $test); - } - function testdd5ac4a04483c8439ff4a944d746693adfbb75e73828f6d04648370f3acf13be() - { - $this->assertTrue(true); - fn() => ($test ?? $test++); - } - function testddc497aaa2f289f9374403fc50aec87f1320bdbaeaa36e29c7041ee380bc122e() - { - $this->assertTrue(true); - fn() => ($test ?? __DIR__); - } - function teste028bd8cb939d87c29ee93f3799a74c3cbbd476974e0e738729b7439742a2262() - { - $this->assertTrue(true); - fn() => ($test instanceof $test . $test); - } - function testeaccf1d829e4d9ef6bb53dbf4011fb77754c03f8b48cd80e645a86e55d6cc8ab() - { - $this->assertTrue(true); - fn() => ($test ?? (print $test)); - } - function testeb865b510362f5ddcd12bfc19ef4170e7f0081121fb0362cbdb1bbf211faf39f() - { - $this->assertTrue(true); - fn() => ($test ?? $test->{$test}); - } - function testfa940e6ded3fc8ac73943abc03549e9827c2c69e39a363e415b03f88c8d84302() - { - $this->assertTrue(true); - fn() => ($test ?? $test < $test); - } - function testfcaa1db4915bdc3b3815708ea5cf52cb072bdfe40d370e6d6352a2b2400b93bd() - { - $this->assertTrue(true); - fn() => ($test() . $test); - } - function testfd75ffaba18564e12b90c23b7c90d94b83b501531e1c6bda651a1af20ef3ac2e() - { - $this->assertTrue(true); - fn() => ($test ?? $test && $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test.php b/testsGenerated/Target/Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test.php deleted file mode 100644 index 04009e81d..000000000 --- a/testsGenerated/Target/Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test extends TestCase -{ - function test0704558b119a8e015ac395c24198b5db8c3936816b5438234e0bcdbd2eb5dbdb() - { - $this->assertTrue(true); - fn() => (($test /= $test) * $test); - } - function test07326bccf9f3ff129a38416d45f4552c5d3d8c27c1d649db398d3d0ec2ca0ce1() - { - $this->assertTrue(true); - fn() => ($test % __DIR__); - } - function test081909503e7985c1ccda37831733ba99a51259b59290a967d48a8187785c1f74() - { - $this->assertTrue(true); - fn() => (0.0 * $test); - } - function test0907388587f69b4cba394930fe15c8d9b263c1d0665f966a369327e578fc54af() - { - $this->assertTrue(true); - fn() => (++$test * $test); - } - function test0b310c157747412856bea58b9db514ec1288a276b74302e023f12978393e2167() - { - $this->assertTrue(true); - fn() => ($test % __NAMESPACE__); - } - function test0f1688f9970005d5ea8515d20b9babd4c37185af8a4d8bd1d6174394b7063a01() - { - $this->assertTrue(true); - fn() => (($test = $test) * $test); - } - function test0fa70889f48f30bfdf60f38356340603a2ae341a23cb1be2c65470c602e52d4c() - { - $this->assertTrue(true); - fn() => ((object) $test * $test); - } - function test11e4b31c12ddd3c8d56296f82eca38d23429340c49a89bc4e52cb1cb6194dce0() - { - $this->assertTrue(true); - fn() => ($test % 0.0); - } - function test14b874b466f11644e3a1154d1f521d156224f7c54b35812dae4b0cfb2f657f02() - { - $this->assertTrue(true); - fn() => (($test *= $test) * $test); - } - function test16b01b3c2d958b2195c3bca71682f8f5b71346d3aeef03235e31dd29c9f8a9ee() - { - $this->assertTrue(true); - fn() => (($test | $test) * $test); - } - function test17c3f833a053874e15ab2156a8818c17f637e14d9f2c1ac5f72e54d647aed41d() - { - $this->assertTrue(true); - fn() => ($test % __LINE__); - } - function test1b01a6deb5498ab4288cb8bb48ac915133b3c825f28e34d7a0363188b49f8394() - { - $this->assertTrue(true); - fn() => (($test ?? $test) * $test); - } - function test1d4bc8ea926c6ea19d49b7b6be2edb54134bae0a742a45555f3406daa716f1b7() - { - $this->assertTrue(true); - fn() => (($test and $test) * $test); - } - function test20cfc17beecd27b2aa754c2540a7d0d95e0d5fd4ed6b2754c5647ecf7b9c739a() - { - $this->assertTrue(true); - fn() => ((double) $test * $test); - } - function test20e087211ff904b806f8cfb05df10ac0972f0742eb65f94af3e3612cbcb3f249() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() * $test); - } - function test20f4eabaf4d4cd56149246404cc9a475c7f62853f7415190031f081653620357() - { - $this->assertTrue(true); - fn() => (($test &= $test) * $test); - } - function test21493561a2d7850bfa6fa07c8e31f19e47ee47560637441775424730f091e8d2() - { - $this->assertTrue(true); - fn() => (clone $test * $test); - } - function test21949454d6538009f3b6d34c7605b79d129b188575ac4add0d21664c68076366() - { - $this->assertTrue(true); - fn() => ($test::$test * $test); - } - function test22f83934eab8dc3e2896c1662e718906fcef1aea97754bca9d0374cb4ec7d3bd() - { - $this->assertTrue(true); - fn() => ($test::${$test} * $test); - } - function test254e6a485baf4bdc4c8063427b336000652b7dfb7989b97c76377789ab2ddb2c() - { - $this->assertTrue(true); - fn() => (($test >> $test) * $test); - } - function test266543a1c3c5ece017ff38ddcde4975e5b86cbacd83641477e8d5d61b6f142c7() - { - $this->assertTrue(true); - fn() => ($test % __FUNCTION__); - } - function test27a9bc8bc47b5449aaef674274011ca701cb93608edc9d70cb4663d852cdd5fd() - { - $this->assertTrue(true); - fn() => ($test::$test() * $test); - } - function test2dbdf6ee0a91dafd026adea62efe0f681110b41bc2ca0a050da10e90b06c3f11() - { - $this->assertTrue(true); - fn() => ($test * $test * $test); - } - function test2ddd1ac7849247f8136c1df6cf1731aa947b934713789f0dc62a574c4d1f2c29() - { - $this->assertTrue(true); - fn() => (($test == $test) * $test); - } - function test30cfa24c87ba58c229767883d23947c582ef0629c9951e9b2422f46421d9f74c() - { - $this->assertTrue(true); - fn() => (($test or $test) * $test); - } - function test329e6e70943afe02f8a31b7d0088944601c5f064ee67fc6607c066d3e80e57dd() - { - $this->assertTrue(true); - fn() => (($test <= $test) * $test); - } - function test32bc75782cfc07c74e1b4054a77601789fb416ebcc443f326e70c15a827259db() - { - $this->assertTrue(true); - fn() => (($test - $test) * $test); - } - function test346d0cf5a2143b148cace70134448606209f5bf13af6b5b823eae9b7920cb7e4() - { - $this->assertTrue(true); - fn() => (($test > $test) * $test); - } - function test3e9122d543daca324f3f9195908f5fa1bd69018bdff1f6cd613d15ad5d7096cb() - { - $this->assertTrue(true); - fn() => (($test >>= $test) * $test); - } - function test3ea08833cf4e3e4cee790fd8c0b550ebedc20b8b3ea835d78853126140dfcd37() - { - $this->assertTrue(true); - fn() => (-$test * $test); - } - function test433f708e8a79c00bc56ff3fed4a4a06e01daa4e47a978faaa0226c6350f942ca() - { - $this->assertTrue(true); - fn() => ($test % (string) $test); - } - function test453d31550cb03365e5e48c9bb681867c05fae1d8e11bf7f52fe650edcfb6176e() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) * $test); - } - function test4678ee0836f2b159bb71324a54b99633e1d84733c592f94bb7890d1c75523bc5() - { - $this->assertTrue(true); - fn() => (${$test} * $test); - } - function test46e7d2031b5cf7947c72ddb73c100f5a92b95dc145a09d763947e0f217849637() - { - $this->assertTrue(true); - fn() => (isset($test) * $test); - } - function test47d2674b5e18e4a092280245d528e55f2f136ed99a2a860e67cf45a14bdb99b4() - { - $this->assertTrue(true); - fn() => (function () { - } * $test); - } - function test480f262d82e7010fca4eb5221325a48ed63f07e32f41104a2b0e9f3af10b42bb() - { - $this->assertTrue(true); - fn() => ($test % "{$test}"); - } - function test489d0909bf6100aef011c4519a7bab77d0ee8772beb08d9e121199b492d51009() - { - $this->assertTrue(true); - fn() => (($test ^ $test) * $test); - } - function test4c2d913e68c0849ae75c1f371383281f02edb267a5b4fd0c2fe54fbea37a34f3() - { - $this->assertTrue(true); - fn() => (($test <=> $test) * $test); - } - function test50be4a3822a198bedf6d3ff55c51ca2212ef526c22add9e33eb8d0d909a31b6b() - { - $this->assertTrue(true); - fn() => ($test % __CLASS__); - } - function test51edeacd6ec6e348a033ed338f5a4c4679aefabe8d2394f4b5f4806ea79b7348() - { - $this->assertTrue(true); - fn() => (($test xor $test) * $test); - } - function test53ffd2e4131025498e69e71b361e5b6ea7a4f3e945a2b93772d2023e9b63c7b9() - { - $this->assertTrue(true); - fn() => (@$test * $test); - } - function test553196f69c28e1fc2c780e33b147160231aa69813840b3772bc2c08593e49cc3() - { - $this->assertTrue(true); - fn() => (+$test * $test); - } - function test555f410fc936cd57bce8ac465bf3adca730e2d9dba9a7039b8475a6639100960() - { - $this->assertTrue(true); - fn() => ($test % __METHOD__); - } - function test56457cc4a502958a1f4986c05e31e602967e3abf61cdc1ce07adfca37f9e0904() - { - $this->assertTrue(true); - fn() => (self * $test); - } - function test572ccba2ac2bb2b5043a3d60c1f35adbd321d5a0ea144481e6535c9135367f27() - { - $this->assertTrue(true); - fn() => (match ($test) { - } * $test); - } - function test58115755ecebde69ebaa434184fefa4c011126d7ac0ff8b1ef5a2898860f073c() - { - $this->assertTrue(true); - fn() => (($test << $test) * $test); - } - function test58295423fa5cb6f16ec438521a211a429e82d0db540128910e7c6d28e97f120c() - { - $this->assertTrue(true); - fn() => ($test->{$test} * $test); - } - function test5f7e325a85f0f213af737bcbc9d30952e8672a6a093655a309256bc29f89cfc1() - { - $this->assertTrue(true); - fn() => (($test =& $test) * $test); - } - function test61bc3ce0b8f5197537d3bdcdd8519a07ad755ced72cd633acbeef174b1a240e8() - { - $this->assertTrue(true); - fn() => ($test?->{$test} * $test); - } - function test65abe7434730624d1984365e825fd604264cf7129dc8caad5a265662771bb339() - { - $this->assertTrue(true); - fn() => ((print $test) * $test); - } - function test66efb210302fce3a1de56befa7281d5b4bb4f28a19e329111d3208e820ef5796() - { - $this->assertTrue(true); - fn() => (($test **= $test) * $test); - } - function test68fea800641e0bbe185d5b0acf607bf9e74b507f8ecc87c241ea2054acedbc5b() - { - $this->assertTrue(true); - fn() => ($test[$test] * $test); - } - function test69de36d8a3eeb31a75043a96d7b287d4080906f9493ea47050dc1939802f710b() - { - $this->assertTrue(true); - fn() => ($test-- * $test); - } - function test6ca825ce875a2054dcfd163c600a58ffa813cad2728ad91d9f3af8bd9fc1eba1() - { - $this->assertTrue(true); - fn() => (($test === $test) * $test); - } - function test71cfbefa5a62b9cbf285fd8771a6c59de299eba73e056a14e9a64e51f604ae62() - { - $this->assertTrue(true); - fn() => (($test + $test) * $test); - } - function test7214a261fb428b750fd768850d85cc42f6aacfee741b3bdcc282c65612ba32c5() - { - $this->assertTrue(true); - fn() => (($test < $test) * $test); - } - function test7a08883beafd1fac3918a5c495d3788942a22206d98fc0a7c9aed0979ac17bc4() - { - $this->assertTrue(true); - fn() => (($test <<= $test) * $test); - } - function test7ccfd2d4fbb5ed111b0173fdcb8943d360b3602602f86627b53c17e7e394b265() - { - $this->assertTrue(true); - fn() => ((array) $test * $test); - } - function test810d86c6a995435d9769320df93824beaa0f115b46ee3b51bf9c00a8d83a4125() - { - $this->assertTrue(true); - fn() => ((yield from $test) * $test); - } - function test81387d72250a4069ce661410ec5520dcdca1b375c9f07c8e436daf53e5246446() - { - $this->assertTrue(true); - fn() => ((bool) $test * $test); - } - function test82051f810ffabb7f4f80f9296fdb697d156069f3e3fff3ed5c5ee6e6150a6f6a() - { - $this->assertTrue(true); - fn() => (($test . $test) * $test); - } - function test83c5493cb1debc3b2d8578e9849abae333fab6721cbf2c63eccbeea32761f5ee() - { - $this->assertTrue(true); - fn() => ($test++ * $test); - } - function test83d5674fdd9d7aee7936895c0315ac5377a5b09d75b42a0f3c9a5a7ebc781e99() - { - $this->assertTrue(true); - fn() => (($test %= $test) * $test); - } - function test8baab8d2f8139afe6d8f3716bdd733872a7b3ee5bd49b7dadbae4b4e457397ed() - { - $this->assertTrue(true); - fn() => (--$test * $test); - } - function test8bc277cb8ef0e54b4d7ecc51b6997c35f8e9b226ee3e4a2012f361de328c0b53() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) * $test); - } - function test8d994379f3acaabf5a353abf97ac24fbb91a9685e2165991f800ce5085c639be() - { - $this->assertTrue(true); - fn() => (($test & $test) * $test); - } - function test8e44f3903dcf6f1efd673b74d1980d7443c9786703739ef29f7ab39afbcab63c() - { - $this->assertTrue(true); - fn() => ($test % (object) $test); - } - function test90ffbec42bae9fd3dbdbcafbfbdb3a5adbd14f659925d458061cf738cb3a92cf() - { - $this->assertTrue(true); - fn() => (($test != $test) * $test); - } - function test9184852068cb80cb666fe88327311cfbd44b40cb0f9d5a1c86cba561cd830aaa() - { - $this->assertTrue(true); - fn() => (($test && $test) * $test); - } - function test991fa31cc9ffa1c6542db806e55ddb6709b384f97df3af35375e260bebc9c491() - { - $this->assertTrue(true); - fn() => (`` * $test); - } - function test9b7a2b98bbf919c65bccee1ef6b9749e2396e51ca01541068d19a2d7171d533f() - { - $this->assertTrue(true); - fn() => (($test >= $test) * $test); - } - function testa12fa7b1edf708561073b820fb864c89a30a7d321fef9442116ebccecabaaae8() - { - $this->assertTrue(true); - fn() => (throw $test * $test); - } - function testa5f6e8e2409357db1f0f81a65f1490777c1fd6d0a3b844362bed2351324330be() - { - $this->assertTrue(true); - fn() => ($test * $test); - } - function testa65410aa0acf0af375bf3444123a37cb87982892b2aa21bb758fbfaaf971be1c() - { - $this->assertTrue(true); - fn() => ((string) $test * $test); - } - function testaced9a2250249b2ebd4ae73d6918cfadc96de119864436166777050a734d2dc4() - { - $this->assertTrue(true); - fn() => (($test ??= $test) * $test); - } - function testad68edcf6516e06647a13a3d70fd3a6bbc808676ffad529210847c7dccaab40f() - { - $this->assertTrue(true); - fn() => (~$test * $test); - } - function testad721d4e0d68feec316173d025796efbba229a0c8ada351d55f8106afb38e446() - { - $this->assertTrue(true); - fn() => (($test += $test) * $test); - } - function testadf4577fb6d9408dd2f5551ef8666c8245219d45e24d1ff6d35cc2f36ad6c3ba() - { - $this->assertTrue(true); - fn() => ($test instanceof $test * $test); - } - function testb0155bf406e567ea69f0c7449a8374d560a663520eac9daf56caa65a0ac151b3() - { - $this->assertTrue(true); - fn() => ($test % __FILE__); - } - function testb16c00ab66c2eadab310e9b21afdc8cc248b02e60a9f07538dd271d52e569d1a() - { - $this->assertTrue(true); - fn() => (($test .= $test) * $test); - } - function testb40f6090ae30a11819e7725049bc903f54a63995cd8e413a1978ff7277c1f152() - { - $this->assertTrue(true); - fn() => ($test / $test * $test); - } - function testb46f0426fa7ff00a2faa4f07ed2fc04b0c09f405326874e38cf1ea9ccdeb7965() - { - $this->assertTrue(true); - fn() => ($test % __TRAIT__); - } - function testbb4654a5db7ed591863aa591f7ea69bc17530edd709baff4cc31a416a38a11c2() - { - $this->assertTrue(true); - fn() => (new $test() * $test); - } - function testbf3775b59b4e8e4cb8f0f994b702d8bd4f4d54c8b7a60b193045f3b9925d6135() - { - $this->assertTrue(true); - fn() => ($test() * $test); - } - function testc1169ac0369c60a9e6fd1da760df8727c71dc49d7ba27e53b713f2de72e4d62c() - { - $this->assertTrue(true); - fn() => (($test ^= $test) * $test); - } - function testc6d4ffef6f5211f782bbf7afd4af8fb0da1e4356901d6a2f483b145674ae078d() - { - $this->assertTrue(true); - fn() => ((int) $test * $test); - } - function testca73530e2d06162f8f294d1ad157cb8414fa8573702d924d6be70df67c0e1352() - { - $this->assertTrue(true); - fn() => (empty($test) * $test); - } - function testcd9f21416963e588922c249c61f9e4fb9d9dbe27c16a524b9a29ada4da898a41() - { - $this->assertTrue(true); - fn() => (( $test) * $test); - } - function testcef46c04b8ed4ad8a120e974ec5cf17ad77e65d9b93e6bd2fba4763bad0d18b0() - { - $this->assertTrue(true); - fn() => ([] * $test); - } - function testcf3dc4df92395c4323f0d49a39e893dcb47fbe700188713e93f6e0d561e53cbc() - { - $this->assertTrue(true); - fn() => (eval($test) * $test); - } - function testdfdc90de6b5408c617af189f2c241d6bf1c4641dfbecf470637f6061b47906d5() - { - $this->assertTrue(true); - fn() => ($test->{$test}() * $test); - } - function teste1f271940945e49d003cdbbdf1024728b6efb90596d530b5804b0505955d2d55() - { - $this->assertTrue(true); - fn() => ($test ** $test * $test); - } - function teste30f72f9a41024bd0048a0080e6eea586ca4e462e71bfe49c9a1bd6871db7098() - { - $this->assertTrue(true); - fn() => (($test -= $test) * $test); - } - function testefaa588345c6314229ce01f4243c576047cfd0a8a2cfa7287c724b34a9ab1d7b() - { - $this->assertTrue(true); - fn() => (!$test * $test); - } - function testf70edcdc67e7107a28deb186d4e745b4a3b47e216c1665cf3b70865c07da4101() - { - $this->assertTrue(true); - fn() => ($test % 'test'); - } - function testf9dd54ca218d55d009706ab50e1290903b77f86703cafcccd469bb78974e1310() - { - $this->assertTrue(true); - fn() => (($test |= $test) * $test); - } - function testfa8329dd26000d0a11d1b3101aa94e10c9dd42e37f76f3068f370024b99159be() - { - $this->assertTrue(true); - fn() => ($test % 0); - } - function testfb6f0e6bbcddea6dc250799a4342acb8e15677723b8ef580a4becd5502be1e39() - { - $this->assertTrue(true); - fn() => ($test % $test * $test); - } - function testfd71b814a39c918d85c06e0fb2e226b6a951ad2b99c9a19eca5826359951fcd7() - { - $this->assertTrue(true); - fn() => (($test || $test) * $test); - } - function testff4674cc69ead23d653f6e0677c27d5e186739c2b941877b1b211bbe7a997af6() - { - $this->assertTrue(true); - fn() => (($test !== $test) * $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test.php b/testsGenerated/Target/Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test.php deleted file mode 100644 index 7c72774a5..000000000 --- a/testsGenerated/Target/Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test.php +++ /dev/null @@ -1,444 +0,0 @@ - - * @license MIT - */ -class Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test extends TestCase -{ - function test01056872858ca5b0e3ae7917950a18040b1be408b5f362f51c2ef149e433ce7b() - { - $this->assertTrue(true); - fn() => ("{throw $test}"); - } - function test01359c3a4d936cebb0b975df9f7d627392e3cf423242d47d4b06da13d529536f() - { - $this->assertTrue(true); - fn() => ((string) ($test >> $test)); - } - function test03b7c07c2e1edeb2fdd5242380992eca3e057a86580b3096ebee45eb4a0d3691() - { - $this->assertTrue(true); - fn() => ("{0}"); - } - function test043481fdae7575529076085ff21022c913f08b487f55f67466f347b76ce07b90() - { - $this->assertTrue(true); - fn() => ("{ $test}"); - } - function test04c7c1581e4e0f9393fc8cd7aa8f191d54323d23b57958950e8cae4a06ff2357() - { - $this->assertTrue(true); - fn() => ((string) (int) $test); - } - function test08009bbc9ba5170ba333bf82e216cfecb28f91b9ac150d646a55ca312697a9cc() - { - $this->assertTrue(true); - fn() => ((string) (object) $test); - } - function test08b8b4078888ef485e7507d99adca6f8b62e90dfdcd0ff27f7cbb5643bf55880() - { - $this->assertTrue(true); - fn() => ((string) ($test and $test)); - } - function test0ae5ae2159b6de55cbe44be7aa9bb564f5a44c70ce8a596462bf41b24c9d5870() - { - $this->assertTrue(true); - fn() => ((string) ($test <= $test)); - } - function test0d89c86dfa31c98e56f0c8d1a0b70caae898521dcd88bb752ced6ce94f2cdab6() - { - $this->assertTrue(true); - fn() => ((string) __CLASS__); - } - function test1108b209e5747068f91296593c3f5c5b0c5dad63dc227e91fda535f7caba50e4() - { - $this->assertTrue(true); - fn() => ("{(bool) $test}"); - } - function test17f3c86ee576b2944e902c9e51d123e0f08f03664b43f5e976f4b473731e4410() - { - $this->assertTrue(true); - fn() => ("{$test::${$test}}"); - } - function test190a63516b7674d26cad9f10552c9e3dce31ad599656d4b566b898e64d7a55ac() - { - $this->assertTrue(true); - fn() => ("{function () { - }}"); - } - function test1df85260b2acb5e316a7465d52587e52eee2763ec694e35d3be1e007713f88d7() - { - $this->assertTrue(true); - fn() => ("{$test()}"); - } - function test1eefb45c98444a6a6f25bfbc8cdf60c424ce5a597b31162ddb6b77da7d448fa0() - { - $this->assertTrue(true); - fn() => ("{clone $test}"); - } - function test1efcf2c67e8b26a68632a0419241d59f300f63d7d5939eb876f6c841daf46a12() - { - $this->assertTrue(true); - fn() => ((string) __METHOD__); - } - function test1fc7851cb4c7c6de10f901be69016c66902ac52209828f8b5ff0cd7c6cfafa97() - { - $this->assertTrue(true); - fn() => ((string) ($test >= $test)); - } - function test25c3afc650bf2dde722edce71842ee2f8baa292193b9f592d90b7f936d79104c() - { - $this->assertTrue(true); - fn() => ((string) __FILE__); - } - function test2d8efc7b0e09d56870114876756619e092d12c885ebb356be11d24e66975a1fc() - { - $this->assertTrue(true); - fn() => ("{__NAMESPACE__}"); - } - function test304cc764ed1d647bd528786a0c6b567a56789b9ff799d7d36a67aa4c693d3f04() - { - $this->assertTrue(true); - fn() => ("{--$test}"); - } - function test3057343dee0ea4b22b8733f662858e7b40ef96941f7c384f443cf8eeec374bc1() - { - $this->assertTrue(true); - fn() => ("{__LINE__}"); - } - function test387a3115c5482ed8f5fd8b07d6a7929a8b6137cfdc39f3c43233224d32333de3() - { - $this->assertTrue(true); - fn() => ((string) ($test << $test)); - } - function test395331659857cc4db83f68123f7ae6ef394ed019be78d527654957605eaff7e5() - { - $this->assertTrue(true); - fn() => ("{__FUNCTION__}"); - } - function test3b59fd81374e63ec559c7783b56014fb492e080d876995bd3096f8fa47bcc46a() - { - $this->assertTrue(true); - fn() => ("{0.0}"); - } - function test3b69e37b49cf15089b4692f42a456bd46fd5277574f0d4b7a579f7e2bb614efa() - { - $this->assertTrue(true); - fn() => ("{+$test}"); - } - function test3b98dd95f42a327896c34ea63e68363f34052d479affe837a36147d46346a324() - { - $this->assertTrue(true); - fn() => ("{@$test}"); - } - function test3f9ed031b4350e5ad689ed9bfb2bc0c90a8659486afffbc50a11d27a7228a050() - { - $this->assertTrue(true); - fn() => ((string) ($test + $test)); - } - function test4ce4fd14adb8c8464337d4ce0466ffe706506b396fac3a6efc8e64e92210ec38() - { - $this->assertTrue(true); - fn() => ("{self}"); - } - function test4ee739ee8974a6ef0064f18d3592d9f57deefdced8004ebd1b463528df19dca4() - { - $this->assertTrue(true); - fn() => ("{(yield $test => $test)}"); - } - function test50d3e636436ebb45f4b39454a88cf76cd4306e2a0b477d0dda22e6b88c806522() - { - $this->assertTrue(true); - fn() => ((string) 0.0); - } - function test5518dd53f66cce30f44d816139f3eebb228ee25db8eeba08790e3d5a80e0b607() - { - $this->assertTrue(true); - fn() => ("{~$test}"); - } - function test6ec3de7416becc31694ae3c71bf29d5af967b852c4e9e079b6d4cb6120eb8f88() - { - $this->assertTrue(true); - fn() => ("{match ($test) { - }}"); - } - function test78c6d41c9427741628c9aa94eaade4c28ce22cc5174a6cd081e1e4d95f02e759() - { - $this->assertTrue(true); - fn() => ("{$test?->{$test}}"); - } - function test79f40a685063e9c92a4470ad03de1cdcde551b7aec6940639c5e7c441630d6d8() - { - $this->assertTrue(true); - fn() => ("{-$test}"); - } - function test7c37209f99c686119984f868839ab43312156c4c7482f27087b170f12c4a4b09() - { - $this->assertTrue(true); - fn() => ((string) ($test > $test)); - } - function test7ce9aed24ae62dd702269e44d1a14ad0829b2643becb630c14e6a959570547d4() - { - $this->assertTrue(true); - fn() => ((string) (array) $test); - } - function test844b468bdbca78b2082b4dc4b9d969f674cf4da7ac992e06bf86e862190b004a() - { - $this->assertTrue(true); - fn() => ("{(array) $test}"); - } - function test89f20dc1d430fe8e67fce058de58a509ebaae70de73217925479c00532789a5c() - { - $this->assertTrue(true); - fn() => ("{yield from $test}"); - } - function test8b6fb7e3ada30265ad26c8248a0ba4b3972cce077e25695414b5fa0b6173ed6e() - { - $this->assertTrue(true); - fn() => ((string) __DIR__); - } - function test909e4b0e45ec239093d1126af326d1b12735a3d3b466754f9423926ece6bc338() - { - $this->assertTrue(true); - fn() => ("{__TRAIT__}"); - } - function test9115c4a625b450f71f17589b9d0c997242d8d5d3315c95af76e81ea1cebaf344() - { - $this->assertTrue(true); - fn() => ("{$test?->{$test}()}"); - } - function test912155d38047e6701929837293ed96d1201aec1e4cc36cd8e78770216c4f554b() - { - $this->assertTrue(true); - fn() => ("{(int) $test}"); - } - function test91d5e39e14fc15d995714fc727056e49d123942ecc5e6d6b5bb66539f44a542d() - { - $this->assertTrue(true); - fn() => ("{$test::$test()}"); - } - function test91e78cd2c9f4c0618015a251c83f2dd8d97bb6bdc792e93cd2eef8fa13033198() - { - $this->assertTrue(true); - fn() => ((string) ($test % $test)); - } - function test92c3b134d5e9bbefd69b86ad33c2e62e06af19c7b85bb87d5043a39912915b83() - { - $this->assertTrue(true); - fn() => ((string) 'test'); - } - function test9547b04b43abc2db6424782c88d744395971ecfe7d3d179369b861634ebe13f4() - { - $this->assertTrue(true); - fn() => ("{$test::$test}"); - } - function test95ef2316d156c8c079091ad76b39cbec3edb5770ea0fd06b857c96399f5a2c9d() - { - $this->assertTrue(true); - fn() => ("{(double) $test}"); - } - function test9cf756522d1ba0dcfa6c69107399352674cc55fdffdf635dea8a2ec2ff184b63() - { - $this->assertTrue(true); - fn() => ((string) __FUNCTION__); - } - function testa088391a0c3c2f79b8082adbdfe9a243f4203814531495c168d73c2e489a9b3d() - { - $this->assertTrue(true); - fn() => ((string) (string) $test); - } - function testa36031d8a1b059f33a87801a07b0e139ece1c3c6a7bc0ff867e9db086fd48502() - { - $this->assertTrue(true); - fn() => ("{``}"); - } - function testa48c880cef04f8419c0572194465502d60deced9f2efb5bc36ee5522fc709040() - { - $this->assertTrue(true); - fn() => ((string) (double) $test); - } - function testa4f0956a87f7a5216c086742648543e003d3c25303e76ed82af29bf6eabaa0ef() - { - $this->assertTrue(true); - fn() => ((string) ($test !== $test)); - } - function testa563c0f8fb309dfcc20be13adc09d7e27c7d7a8eaeee77c59adf7fb21f73d33b() - { - $this->assertTrue(true); - fn() => ((string) "{$test}"); - } - function testa5ae5acfbf142d825d4ffcccad9ce3aace2b19bae3d1531fdf97d217cec81567() - { - $this->assertTrue(true); - fn() => ((string) ($test xor $test)); - } - function testa63e4aa3f183c1a294996bb80b38a23b1357d6545dfcae07d74615ba554429ce() - { - $this->assertTrue(true); - fn() => ((string) (bool) $test); - } - function testaecf28ba5985e348cfe9b0fd503280dbfb2f76ff8819ae025ad118f16735d1fb() - { - $this->assertTrue(true); - fn() => ((string) ($test or $test)); - } - function testb00e1cf7780bdc67a910171ca57834ddf22e0185cb2b1e1cc1b0fcbdd7bdc463() - { - $this->assertTrue(true); - fn() => ((string) ($test <=> $test)); - } - function testb3fb7c57cdf5d9bf0a093f87bc7513023249919af42ed32d8e8531d65d55c870() - { - $this->assertTrue(true); - fn() => ("{isset($test)}"); - } - function testb6f4b21c1fa024469bb5f79da02e110f8f9da2331e6d4b90ab592e3ba0f6c618() - { - $this->assertTrue(true); - fn() => ((string) ($test - $test)); - } - function testb96194a3608cf22b92bcc6638771b8083f490980322c8be19253c02c30e40020() - { - $this->assertTrue(true); - fn() => ("{${$test}}"); - } - function testbcc17e623526ced2a42b88741e7a2979bbe8b0233f52d50f866458e57daedea0() - { - $this->assertTrue(true); - fn() => ("{[]}"); - } - function testbe5606b8caf2628d2b2f19f6b240751cea91678b267ff04bc7b650f8dc0b11a3() - { - $this->assertTrue(true); - fn() => ("{(string) $test}"); - } - function testc01eebb389783dfb1dde095e4a5813524afa1a0cd03ec5685afcdd6b39e99b73() - { - $this->assertTrue(true); - fn() => ((string) __TRAIT__); - } - function testc0dc6420d33a0e60131873a4c2e77680546f067dbd726de77dfea93a9faa4d95() - { - $this->assertTrue(true); - fn() => ("{__METHOD__}"); - } - function testc52652f7a0ed7310857e46262215a423851de6e40494906d02607c89b2a4b965() - { - $this->assertTrue(true); - fn() => ("{eval($test)}"); - } - function testc6529ae13cd4a7b206b325a22c06e7444177b2d069425f44c9a56cb809eec92b() - { - $this->assertTrue(true); - fn() => ((string) ($test < $test)); - } - function testc7cd3d6342e5b34de115c2ee2d309858d6d3b1e4739fcf26646b76f72b449ae8() - { - $this->assertTrue(true); - fn() => ("{__FILE__}"); - } - function testc814f4fe057f8a677fd5b379c59f7667cd4ba9bc9178cabcd4b044265d2eec16() - { - $this->assertTrue(true); - fn() => ((string) __NAMESPACE__); - } - function testc8d5bc1b6ed26eccfd8d834e304bb916d9054e18a80bd319355f457b00d4e55f() - { - $this->assertTrue(true); - fn() => ((string) ($test != $test)); - } - function testc928a583c48c56150eebe054204f71f6c89e2d00578960bb6aec309ac1500cbc() - { - $this->assertTrue(true); - fn() => ((string) __LINE__); - } - function testc9d8fdf17978dc92876ea1e699bede328adb07c466c703dee7ad4ae5bafe0b81() - { - $this->assertTrue(true); - fn() => ((string) ($test === $test)); - } - function testcce97aeff9982cf6a78e5cfe02a47886d6c89106ae7a88b1201aad13bf3caaea() - { - $this->assertTrue(true); - fn() => ("{!$test}"); - } - function testcfac6e1e873e7dd97c8d500392dbe17e8bb0cd9b723838e69a260ff4e954cb4b() - { - $this->assertTrue(true); - fn() => ("{$test}"); - } - function testd297540b5a4dcd9679f55b37d1c6a15dba2e9019b837290f0194a975a7a9d059() - { - $this->assertTrue(true); - fn() => ("{'test'}"); - } - function testd41da91f1c4ee4013209494709aa6d909583f3d375fae93c8222dc65a3759880() - { - $this->assertTrue(true); - fn() => ((string) 0); - } - function testd77ab5e416203cb60b885f14e03fb57139140b9c3965bf2452bd5754e2bcdbd1() - { - $this->assertTrue(true); - fn() => ((string) $test ** $test); - } - function testdab5f74759caf2d2912629e3b862deff9df00d986c82872481beec8247f7b227() - { - $this->assertTrue(true); - fn() => ("{++$test}"); - } - function teste34ce909fadc6f9869314c693a1002b2ab7457ae1521dfad91db73b5798dea6e() - { - $this->assertTrue(true); - fn() => ("{$test->{$test}()}"); - } - function teste6caafd90a63aebaeb9e4a7d86363f6de5dc0338a7477e699490a499bdb82158() - { - $this->assertTrue(true); - fn() => ("{__DIR__}"); - } - function teste8889a7e67e0a47a1fbc21e24815919f91fb8c4f8aa9bf8b851e8a0c6210ac22() - { - $this->assertTrue(true); - fn() => ("{$test->{$test}}"); - } - function testf0105c016c3b8ce4010c9fe148817fcb3144167f5d81e9d75969e0b1dca70bcc() - { - $this->assertTrue(true); - fn() => ("{(object) $test}"); - } - function testf0677225951f49b30e9c372e0191378fc086a886487f551e5ad1f1bde2374cbf() - { - $this->assertTrue(true); - fn() => ("{empty($test)}"); - } - function testf4094c510a0850a2a0e59aebc3496d19c149f56950ffb7be685f52400595fc7a() - { - $this->assertTrue(true); - fn() => ("{$test[$test]}"); - } - function testf9d6e29d49464b10f27fa26faeec930e93c666f437c8503a16bbc6784e27866f() - { - $this->assertTrue(true); - fn() => ("{__CLASS__}"); - } - function testfbe60f8f77c95a4fa056da7d01d97ca3c05678bd91493569bca9273c29174505() - { - $this->assertTrue(true); - fn() => ("{print $test}"); - } - function testfc19f6b10926857d463b6f61588902c42078574ae802eb185c394fed8b683ff4() - { - $this->assertTrue(true); - fn() => ("{new $test()}"); - } - function testfd6f0fd116683ee08d1a55c4936bbb7b4733e02ea364cc1408cba5e8eabfb1f8() - { - $this->assertTrue(true); - fn() => ((string) ($test * $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest.php b/testsGenerated/Target/Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest.php deleted file mode 100644 index b9dafabf1..000000000 --- a/testsGenerated/Target/Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest extends TestCase -{ - function test015bcfd0c1068cabc1b08ba76411805d6e552c27402845a8081e19ce3473aa7d() - { - $this->assertTrue(true); - fn() => (isset($test[$test / $test])); - } - function test054cbe9dc30f2d48160f67dc2587d47efc560a8c1b8723de0ab6aecb9f23b496() - { - $this->assertTrue(true); - fn() => ($test[$test] = $test); - } - function test06609755cadc3f4a7e1621becadd3053d3d176b987d5e05de67139225ddcfc28() - { - $this->assertTrue(true); - fn() => (throw $test = $test); - } - function test07036895bfdbd00fb884a6de03663fef54da58d4f0d35645fa81c1f9012135e8() - { - $this->assertTrue(true); - fn() => $test[$test / $test]; - } - function test086188ea59492a51e96526fe2d1a5ccd384faa7b4d9160c02f62b36a5240c127() - { - $this->assertTrue(true); - fn() => $test[$test <= $test]; - } - function test091158f97e34ff92e692a38538ee8d1ffad90632c0e002260e82823e0197c995() - { - $this->assertTrue(true); - fn() => (isset($test[__FILE__])); - } - function test09dd996346107c8b4f31de10eeaabfd6786a11c04b3ed125a01228bb9f9a20d0() - { - $this->assertTrue(true); - fn() => (isset($test[(string) $test])); - } - function test0a7246eff374e627fc4488b2e959ed96a74e3cb6c8605c64c92716c4bbd1ef23() - { - $this->assertTrue(true); - fn() => (isset($test['test'])); - } - function test0ae9079a389c8edfe4e4cd0e30b3f0c2286ebf1b1f02e5cf4504a01e3cf31947() - { - $this->assertTrue(true); - fn() => (isset($test[$test ^ $test])); - } - function test0cd5f718522b8c70cdd2e88be14e2fbbe26696c22ecc00e441b8dd98e5fce602() - { - $this->assertTrue(true); - fn() => (isset($test[$test . $test])); - } - function test0e53592d26014dea915470da3e1473ff35e085b1d109b167af07bf536ccc53f4() - { - $this->assertTrue(true); - fn() => $test[$test - $test]; - } - function test11acfc78908136e25022bace57dede672c7108e8dd47cbe7db5f5a39acfd1780() - { - $this->assertTrue(true); - fn() => (isset($test[$test * $test])); - } - function test1215a426cc31a51dfdf5a6e81c11333f77e9186c55bd38a91a7de697d2e2bbee() - { - $this->assertTrue(true); - fn() => $test[$test > $test]; - } - function test13d8d49eed10f9a183927ce3db3f993fed9ae7096647556df76b2f68caef4495() - { - $this->assertTrue(true); - fn() => (isset($test[$test << $test])); - } - function test1415008c4692d04951f132298a2e8e3172bf29a0a37d71c4acac3bb0d69e313e() - { - $this->assertTrue(true); - fn() => (isset($test[$test + $test])); - } - function test1643e9e31d3a9d69837443a1d91e7926c3b4147bbbaf0cea293609754ce087d3() - { - $this->assertTrue(true); - fn() => (isset($test[(object) $test])); - } - function test1716eaeec596a79b8486f09cfee8e3e6edddaf73298d6b22d8d207b15c35b842() - { - $this->assertTrue(true); - fn() => $test[$test < $test]; - } - function test1cdb04565e7d2b5be68452413684f0e27f6d7a4fe978f26e8eda3247007d0ddb() - { - $this->assertTrue(true); - fn() => $test[$test ** $test]; - } - function test227822b78d0f2bc115063d31df06d03888001cfc6d64ad7825f9f1ae6b2a6a79() - { - $this->assertTrue(true); - fn() => (~$test = $test); - } - function test2374fddc66ee641dc2e77e8594d6406fb5acf36e58db4d0dcdb49fc2c7924afb() - { - $this->assertTrue(true); - fn() => (isset($test[$test % $test])); - } - function test25084350068b6a6ab0e47842380e437c736574047ced6fec31db0c9d547a59ed() - { - $this->assertTrue(true); - fn() => $test[$test | $test]; - } - function test26e3067933ee6782adcda1bcc3f6101b33671cda329de5d78bb6a09752a7dcff() - { - $this->assertTrue(true); - fn() => $test[$test != $test]; - } - function test2b7ecfa632bc10feefc1a95fb08068050c7a227b75bfe4532731e7ae90d117c2() - { - $this->assertTrue(true); - fn() => (isset($test[$test < $test])); - } - function test2c0bf2ba52bcecc89e0e46b291ae8570e7048416c70ed15426b47a31ed339c41() - { - $this->assertTrue(true); - fn() => $test[$test + $test]; - } - function test2d63aa493732b8c58a49a421ac7bb1887d5fbcb687470767371e264c94fb32a5() - { - $this->assertTrue(true); - fn() => $test[$test || $test]; - } - function test30c954070675b2011861b1ba92d1276d9b5aee2ecd06c2a2319ba448f851f623() - { - $this->assertTrue(true); - fn() => (isset($test[(bool) $test])); - } - function test35934702d48a96e57f4150ad7f3866061b819c80e3165c679998024d866d066d() - { - $this->assertTrue(true); - fn() => $test[__FUNCTION__]; - } - function test390b3b32106942524c2567f7eafb1c1f3373c71fd8281ab8cd7ebaa71034500a() - { - $this->assertTrue(true); - fn() => $test[$test ^ $test]; - } - function test3d519df6fda0c39a7421bbab88f7de3c3f4a728d452252bf824b64e0d097dbbf() - { - $this->assertTrue(true); - fn() => (isset($test[$test !== $test])); - } - function test3edeebe60cd3bafa6a4f24d724c36c7225641fd4f86b417d993352fd5f2677a5() - { - $this->assertTrue(true); - fn() => (isset($test[$test <=> $test])); - } - function test424efa3cde54e4a3bdffe7c4196c81aac5ed72259e25ec43fefba6c21fd3ac37() - { - $this->assertTrue(true); - fn() => (isset($test[__DIR__])); - } - function test42fb3fc91c9856b59896205477c54323350550c752f976b71affb146b27adbac() - { - $this->assertTrue(true); - fn() => (isset($test[$test and $test])); - } - function test465b58029bcd99b75b0b8c1f661892af6af55be81418af4b74067f69f40b35d5() - { - $this->assertTrue(true); - fn() => (isset($test[$test - $test])); - } - function test498d3458df3c83c2d7f972fffc1d78d9429b8dd101a160960e73d5aa0e46cca9() - { - $this->assertTrue(true); - fn() => (isset($test[$test >= $test])); - } - function test50f6618fb71531cdb341cbc317595426d35d090589fa981169791797086cecca() - { - $this->assertTrue(true); - fn() => (isset($test[(array) $test])); - } - function test51bde7ac7ea212a7d90639fd0e5d3a78ed031735987f29eb785db300e798b282() - { - $this->assertTrue(true); - fn() => (isset($test[$test && $test])); - } - function test51c64153135fd9ac360bd06410b1c99737654c20afa5fee0846e2d49c9ded5ed() - { - $this->assertTrue(true); - fn() => (isset($test[$test xor $test])); - } - function test542be749caf9d7c49a53a94e07723f731420e2135b41047bdca3df56b0e26ada() - { - $this->assertTrue(true); - fn() => (isset($test[0.0])); - } - function test54936dcdfd0c3f406cfe7746de6417bc671820de531389da659cb94b6dd62f69() - { - $this->assertTrue(true); - fn() => (!$test = $test); - } - function test54bf44b77a14ecdfa37ff6bef0d1f6efbfddbe819d1d444dc98ee40cf14b5fb7() - { - $this->assertTrue(true); - fn() => $test[$test == $test]; - } - function test592f8adb10a51281079fe829b262fcdcf09edcbcc719830624b59eefc983d747() - { - $this->assertTrue(true); - fn() => $test["{$test}"]; - } - function test5aac14d361ee8a64be1c940e927669ea36f611d53ca0fbb6b2d043d66cd7f968() - { - $this->assertTrue(true); - fn() => (isset($test[__CLASS__])); - } - function test5c06b414d12aee3df02bc9f189be6b6d8ef53256dbfdf84495fde05590bf2409() - { - $this->assertTrue(true); - fn() => $test['test']; - } - function test612001e8068866be58e6891399a9b1cf663122018c2982374a7d403b587d4607() - { - $this->assertTrue(true); - fn() => $test[$test << $test]; - } - function test62253ff4526b52a7fd74915697fa781b3f9fe2fbf37ebe0d709fcb5b730cc379() - { - $this->assertTrue(true); - fn() => (isset($test[$test >> $test])); - } - function test65e340387f39aa103c50ee32191145cf5f365b23d291fecca798f19fa7f6dd20() - { - $this->assertTrue(true); - fn() => $test[$test or $test]; - } - function test682000c774ffefac5d2f210fd713d48337120cbb48a3264445119f86fb81b7a3() - { - $this->assertTrue(true); - fn() => (isset($test[__TRAIT__])); - } - function test68551f172fa33d72cca735507d6782e073b79dd448a2f3cb6e780e01276de5fd() - { - $this->assertTrue(true); - fn() => (isset($test[$test || $test])); - } - function test691b5af4cd219aad68bf47539bc4fb702a21baafa1c036d82cafb57e6d4250b7() - { - $this->assertTrue(true); - fn() => $test[$test and $test]; - } - function test6ea2443a3c97f6ef2cdea6edb3039cf38975294a434dfadc4e3af8c9b70129b9() - { - $this->assertTrue(true); - fn() => $test[0.0]; - } - function test6ebb4d8463685d667d0cc69c61ea798ab42839f40db81f1f984d2475c21b8470() - { - $this->assertTrue(true); - fn() => $test[(double) $test]; - } - function test72e32e8a50dfbe730e3fbae25b0114e4fa4e69f9144ebc3cf6d868d26319a85d() - { - $this->assertTrue(true); - fn() => (isset($test[(double) $test])); - } - function test7d4fa63fb45c86faa07e0496acaebae6dca93e8575068f54286f7a5329af1c66() - { - $this->assertTrue(true); - fn() => $test[__METHOD__]; - } - function test7f3bd867cec0b09cd395b91ea2749c2aa900e1d6f2a1b5081e3a241bdc413f02() - { - $this->assertTrue(true); - fn() => (isset($test[(int) $test])); - } - function test7fa60f363b348684291019b34d07a6762adf66823f092a0f44ca306a8b2cd861() - { - $this->assertTrue(true); - fn() => $test[$test % $test]; - } - function test844aa0405fbbdb4f6fb3db754d44156da2981b9147a19d2f3cc1f41da475127c() - { - $this->assertTrue(true); - fn() => $test[__FILE__]; - } - function test88b7f42f9491e8b765cfb7908d947bcc0f6a7da9d073e3c119c0cdbadb610b27() - { - $this->assertTrue(true); - fn() => (isset($test[$test === $test])); - } - function test8a6ed5a1c2cc008bea23f7553e061af63d34d0b4160f9e252771e362666b842f() - { - $this->assertTrue(true); - fn() => ($test::${$test} = $test); - } - function test8c7d132d43d40b7ee45c96005cdcd47a5fafaea2a9b4383dec26c6f6839cdadc() - { - $this->assertTrue(true); - fn() => $test[__LINE__]; - } - function test8cd5f008aa46e8a36475f29f91474dbea7521bdfc964a885ca76954b5a7c412e() - { - $this->assertTrue(true); - fn() => $test[__TRAIT__]; - } - function test8d104d8dddbdbd5d7389c3e427249596b0aa344ae736fd1b8810e11c8f1d0b64() - { - $this->assertTrue(true); - fn() => (isset($test[__LINE__])); - } - function test8d893b6e5b47960b62ae69d6339890da4783046286fc7bc31c6863e4b86bdd3d() - { - $this->assertTrue(true); - fn() => (isset($test[$test == $test])); - } - function test8edad22c5b196c3a62194e24b1e1ca50966e73e859cf87dee6658fb8719b8c6c() - { - $this->assertTrue(true); - fn() => (isset($test[$test ** $test])); - } - function test8ee1f7e5ed5976c6d5ccd83e663073767870d0457758d4ca7f0a8f88b462a045() - { - $this->assertTrue(true); - fn() => (-$test = $test); - } - function test908341484e78da7c315b53f577275587cf152bdb445354b61483b007d314960a() - { - $this->assertTrue(true); - fn() => $test[__DIR__]; - } - function test924772873e4cdb305a61a17615a5939e789f194fc6f91d338ee1b2fda37f3872() - { - $this->assertTrue(true); - fn() => $test[(object) $test]; - } - function test958db7660751115b248fa492275a2454845aad23403d85e8b9714667e209fe18() - { - $this->assertTrue(true); - fn() => (isset($test[$test <= $test])); - } - function test9610ac5582185fed390cdeb67cda926000f51053e16a814534342d473fc75648() - { - $this->assertTrue(true); - fn() => $test[(bool) $test]; - } - function test967e114812f5903f977119b6fc00da51f25f8fc80a09a318a84918b7f63c29d9() - { - $this->assertTrue(true); - fn() => $test[$test >= $test]; - } - function test97c9dd50d4542a9a5316f5d289c95384257dd1aca0663a3f75dd0e2b967b910e() - { - $this->assertTrue(true); - fn() => $test[__NAMESPACE__]; - } - function test9c042f906f912f081ac266ec53e56693feea0182893b743f1e76e5fb5e8451d7() - { - $this->assertTrue(true); - fn() => $test[$test === $test]; - } - function testa2095ef499efd4d8bb42129e377bd8521e8a0edcae9d64599e307b2803f5fad7() - { - $this->assertTrue(true); - fn() => (isset($test[$test | $test])); - } - function testa9ffd92d4466767b207909dd29de44146bed9dd4ea97430dd1293cf859914f5f() - { - $this->assertTrue(true); - fn() => (isset($test[__NAMESPACE__])); - } - function testada2d19106a059e0d7ca65af0c4ee72eec489e0500bbe3c469fc74558e4196f0() - { - $this->assertTrue(true); - fn() => ($test->{$test} = $test); - } - function testae255559aee4c94e669e844cabcf017b25bf67cc7f8488bd7e17fa1b736d7c6a() - { - $this->assertTrue(true); - fn() => $test[__CLASS__]; - } - function testaea785e9247c8dff54b1e5f71d843e44e4fbaf0c1a9a98d7a5e6103e34158606() - { - $this->assertTrue(true); - fn() => $test[(array) $test]; - } - function testaf15a9bb4fc01ae1905e2486132dd391700dee86edf4f6227fd4055fc49ec395() - { - $this->assertTrue(true); - fn() => $test[$test !== $test]; - } - function testb317b5da5d8f23a3973644a826b6967ddd297bdd85ec9742b72200c109b9eab6() - { - $this->assertTrue(true); - fn() => (isset($test[__METHOD__])); - } - function testba3540f4664389b1ee87cf10f9d741fe341881842613b1b665b0292617364631() - { - $this->assertTrue(true); - fn() => $test[$test >> $test]; - } - function testc22dea0b19269eb948101d4ce866b4296dfa70b7de917ffc1bfef8d878367fef() - { - $this->assertTrue(true); - fn() => ($test = $test); - } - function testc4d94132e96037abd998f21e60545ae1910d393f43cf7740897751e036f71d6d() - { - $this->assertTrue(true); - fn() => $test[(string) $test]; - } - function testc5b9c6b0ee958cc53cb51064c6d759d3fd0fe8b04ccf351aa2485bce582dfb45() - { - $this->assertTrue(true); - fn() => $test[$test && $test]; - } - function testc87bb00704d5915b2ede24af5e9dea69f08a78e315f83513d46f1754e67980fc() - { - $this->assertTrue(true); - fn() => $test[$test * $test]; - } - function testcb0f11f31f1943e7531199cff728536d35942c3f9e1c40643f179e7c7cf33092() - { - $this->assertTrue(true); - fn() => ($test::$test = $test); - } - function testced6457b37389b5653fdd5c7075c1fff2ad1ad50ad50344a0892f8474be030d0() - { - $this->assertTrue(true); - fn() => $test[$test <=> $test]; - } - function testd47fd842d58f0bd61af5391d297ac5cb19ca712ff67ea4e406419b6d28450f7a() - { - $this->assertTrue(true); - fn() => $test[$test ?? $test]; - } - function testd637ed7b12d6938a107c23de2b567ac688cc19b8700e132d5d5294f072d45f44() - { - $this->assertTrue(true); - fn() => (isset($test[0])); - } - function testd7c99bcbcf9fd805b2f0e817a24751d984977ae58127e7a0249addf4162a1ab6() - { - $this->assertTrue(true); - fn() => (clone $test = $test); - } - function testdf39ee55cae52f2049f1dad7becd4a3b82ec5391ced2c1123b8d762bc82d75c9() - { - $this->assertTrue(true); - fn() => (isset($test[__FUNCTION__])); - } - function teste10ae0c6cca90fe6738311e00289fe68d924ba9b410b4f846a2d59a203905137() - { - $this->assertTrue(true); - fn() => (isset($test[$test ?? $test])); - } - function teste3d85c49d41223b48a01d470b9cd812de3757a3a4f02ddaffaccc8a27d175fea() - { - $this->assertTrue(true); - fn() => (@$test = $test); - } - function teste928348f8d5b192ff02bf6ff50c7cc920fb3870d6ae98a5870658c723a7e2046() - { - $this->assertTrue(true); - fn() => (isset($test[$test != $test])); - } - function testeb1d9bb493adf04de69d88cf82b44d978b3e0047114058fedadd221b080dfb50() - { - $this->assertTrue(true); - fn() => (isset($test[$test > $test])); - } - function tested830b2c4560d233aca71d449094c31daeda06a7af2b1ec6c692441f4ad2f8fe() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test = $test); - } - function testf22352b8d759d081da9f590452b5f489999512462c7f73290ccbbb119283a2ba() - { - $this->assertTrue(true); - fn() => $test[(int) $test]; - } - function testf5dbbb0d9b9b79b0743beb8c50599c17e6d0f277bd3aca9810f1533993c2050a() - { - $this->assertTrue(true); - fn() => $test[$test xor $test]; - } - function testf9dde47c279a4f5026db422ca1093b843d60482488773cd8811c5dbc7d766019() - { - $this->assertTrue(true); - fn() => $test[0]; - } - function testfa036c5a909a92ec2f6f972a93930d396b5524eb2ac18f30c4ef7fe7f47a7a58() - { - $this->assertTrue(true); - fn() => (isset($test["{$test}"])); - } - function testfb526c8cb88fe98943fb377944638db373e3e2a30f1e05d105a484a9e169426f() - { - $this->assertTrue(true); - fn() => $test[$test . $test]; - } - function testfbbf5172b6f34895352f0ffa99c82a4136d775e91cfc1fb54c4c9c004374571b() - { - $this->assertTrue(true); - fn() => (isset($test[$test or $test])); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test.php b/testsGenerated/Target/Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test.php deleted file mode 100644 index 0092db485..000000000 --- a/testsGenerated/Target/Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test extends TestCase -{ - function test020cc1df8183c5c31767cc9576cafa2b55b56612740ffab5bfc30519b1ba132d() - { - $this->assertTrue(true); - fn() => ($test xor $test + $test); - } - function test07b720878de20f49eee2daa714510028247500add985d8a3ca39266085afa721() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) - $test); - } - function test082be7578937410530eab9aa5adf2b65feb608b074506c61279f7d274ad17c5f() - { - $this->assertTrue(true); - fn() => ($test xor (bool) $test); - } - function test08c8b9bc73cb6b4b66830e58841396bf9229335a81a1dc7b62d04056a997cc80() - { - $this->assertTrue(true); - fn() => (empty($test) - $test); - } - function test0e5620177e68ca1bdfdabff1e68fc8293f59c612ba0cf514036cd5beed73eb9f() - { - $this->assertTrue(true); - fn() => (self - $test); - } - function test14bbe67fb0a1382decd5423d721af830bb32d69475fa061c118b97c52315a0cb() - { - $this->assertTrue(true); - fn() => (${$test} - $test); - } - function test154f03da48a6745d1cb6b91cfed1b3ea1529bba44f0aad72c345d90de2e18727() - { - $this->assertTrue(true); - fn() => (($test <<= $test) - $test); - } - function test1561d51936bc7c573b4d106a327e723191bedcdbc3f2b2133fe9fe5827a4eb10() - { - $this->assertTrue(true); - fn() => ($test-- - $test); - } - function test1640617a9f09fe462913a97a2e2d1907b22105734ba53a55ce7ab2f91937a40e() - { - $this->assertTrue(true); - fn() => ($test xor $test <=> $test); - } - function test177d6466b354869578889638863b800a260859efc378d65608d5b2fb3d875e48() - { - $this->assertTrue(true); - fn() => (($test === $test) - $test); - } - function test199bd4e2386341c12a6d9a6a4a76984ce84ca7bdfaba006be268d3ee892bbf6e() - { - $this->assertTrue(true); - fn() => ($test?->{$test} - $test); - } - function test19e5e31cdc6b3241b2d00f9aa4b12833493190667ca6e7e943b1f77fb484bfcc() - { - $this->assertTrue(true); - fn() => (-$test - $test); - } - function test1a0263830e49ea4dad65051ae6c28f7335954388c6f08ae6ab096a53928acce2() - { - $this->assertTrue(true); - fn() => ($test::$test() - $test); - } - function test1be71da85cdd7aa71999cd02579f6d4fdfb2afe2a482df42f6e95ce71b872239() - { - $this->assertTrue(true); - fn() => (($test != $test) - $test); - } - function test1c579c1f690794f1c64e339036f1a7660d102a388247ecd35ca9892d27de5399() - { - $this->assertTrue(true); - fn() => ((yield from $test) - $test); - } - function test1c7986a7c95ae2f064faa99feb8517731e6a7ab9d56f58eda2bb3770b439fe98() - { - $this->assertTrue(true); - fn() => ($test xor (string) $test); - } - function test1f4507a46771110a9a3efd8b693afc0b481504e535aa9bf37926d244ffb6097f() - { - $this->assertTrue(true); - fn() => ($test instanceof $test - $test); - } - function test21e3a061b52fb74acc886885a421e25bde12f91f638150e2f2837cd7bb000dbf() - { - $this->assertTrue(true); - fn() => ($test xor __METHOD__); - } - function test24e8ae59211b16dcbed4826e77cd49d8cd405bd906fcbbc786f9553c7d84e6ff() - { - $this->assertTrue(true); - fn() => ($test->{$test}() - $test); - } - function test299d7ed2b5f565a606085862f58495baafea1c514a017ca933b75c9bca35c836() - { - $this->assertTrue(true); - fn() => ((print $test) - $test); - } - function test2a803bac2f55b9192212e3bf39cba9f399fc29dff6f81b75ad4f2236adf47c03() - { - $this->assertTrue(true); - fn() => (($test > $test) - $test); - } - function test2f45a5d62eb41a4fc3e1351f711a5955d70da9a1da120ff9b88d9186a71754c2() - { - $this->assertTrue(true); - fn() => (($test & $test) - $test); - } - function test332f2514adcb274615a3c648e6284a55042b9724f3988c9b5224f021ae656e0f() - { - $this->assertTrue(true); - fn() => (($test ^ $test) - $test); - } - function test3521b3530a48ae8fb31b69e062b52b60f9ef32d56e0fa55654d46d87f0a5993c() - { - $this->assertTrue(true); - fn() => (($test && $test) - $test); - } - function test35e1cf0058829f5cadb9bb2a35ae898314ad9bc03cff7ba7fc33fd255f75beff() - { - $this->assertTrue(true); - fn() => ($test xor __LINE__); - } - function test3718674a3e40cb7130af079cb2bc33f4ea030cf678329e03ee503b13e8926112() - { - $this->assertTrue(true); - fn() => (match ($test) { - } - $test); - } - function test398f0d797ff97d09ac540557fdbb4ed9294f48078efe7667c1c603d8e18c2534() - { - $this->assertTrue(true); - fn() => (($test !== $test) - $test); - } - function test3aa84171a65b76a3364baa0b58b4ea68ee1f2f8e3493141af1e2e5f91ed9a4bc() - { - $this->assertTrue(true); - fn() => (eval($test) - $test); - } - function test3dcb9d9e9a9c1a310499dcfd6a5463be322435982b586b0d55f9f67c40c847fe() - { - $this->assertTrue(true); - fn() => (($test and $test) - $test); - } - function test3df6bf7ea59a1a44dca5920dfe264886e37c5e6755d33923f214d57dac5beccb() - { - $this->assertTrue(true); - fn() => ($test xor $test ** $test); - } - function test3ea01382802bec48d3d126df910e513d69df3108bf9ca26e55df8df76d810531() - { - $this->assertTrue(true); - fn() => (($test |= $test) - $test); - } - function test45481cae50d2cede361f0851908f4e33908355400e3e8239536b3ec4185f800e() - { - $this->assertTrue(true); - fn() => ($test++ - $test); - } - function test45a827f12f7e0cde5150315aba1e257e15cfd4772e8c52b24a018f4f6a860f1a() - { - $this->assertTrue(true); - fn() => ($test . $test - $test); - } - function test496f947ed7d720412af9770834c583dfdf03aaea84f277b1ded798ee228c3916() - { - $this->assertTrue(true); - fn() => ($test xor __FUNCTION__); - } - function test4c6b866b90063056abecd2810926da8f490899a6ab8fa076fcfe40a13418107d() - { - $this->assertTrue(true); - fn() => (++$test - $test); - } - function test4cc837a23ed560e70e64796a1802bbf61bf991416264e48110600b8da89938e4() - { - $this->assertTrue(true); - fn() => ($test xor (double) $test); - } - function test4e10dd53e488f03556f69c03a71dd2668f9a993813519e5d07e6271c2a4b81b7() - { - $this->assertTrue(true); - fn() => ($test xor __NAMESPACE__); - } - function test4e5bfce7f88d2e6fc90a96235b52d0757152fc4a3f971fb9ee6311abcbbcbfe8() - { - $this->assertTrue(true); - fn() => ($test + $test - $test); - } - function test515dc376c84fd73b7c0f8cfde7e8520b647024a42db415548811fc801d7d5495() - { - $this->assertTrue(true); - fn() => ($test xor __FILE__); - } - function test51b1e6f6959300348504182ac02333883989f4a7137bc72c31c17a6c838188e0() - { - $this->assertTrue(true); - fn() => (($test =& $test) - $test); - } - function test53590971bb882ed1334671ed6b6254abd8947b1a840587ace5547b02824d75bf() - { - $this->assertTrue(true); - fn() => ($test xor "{$test}"); - } - function test59e5301dbbc35431fd54eb6857dfd16363a8b8d16ebd0194b1285178178eabdb() - { - $this->assertTrue(true); - fn() => ($test / $test - $test); - } - function test5bccc5a6e0e3cd71cfc800ba5623acb8bb7b8c98e8cc891b4187618ff433a4f0() - { - $this->assertTrue(true); - fn() => (($test xor $test) - $test); - } - function test5bec5316008751dbc884942b3f0f10fb06066b15177e987f0b094253a864a013() - { - $this->assertTrue(true); - fn() => ($test xor 0.0); - } - function test5c6d852946af9bfa69ec237ef86aaa63207f1da04fb5cda6165892f4a134c39a() - { - $this->assertTrue(true); - fn() => ($test xor $test >> $test); - } - function test63569627e42ab13c45ac24e1ab9bb5dd59d9c1fc503d0fa5a3ea339a8d9d7591() - { - $this->assertTrue(true); - fn() => ($test::$test - $test); - } - function test6551f9a6d1cdc1fed2fa16d301561cd2c19706e94a998190d6682104fa725e63() - { - $this->assertTrue(true); - fn() => ($test xor __TRAIT__); - } - function test6b3093689245354940e777465a7fc4f31e297a6e5c51c70066c3e2ffb166e2d4() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() - $test); - } - function test6b7fc98bece9e2f9fb3505201125812419f6ddfa0f0dd24c217f426ee98d9bea() - { - $this->assertTrue(true); - fn() => (~$test - $test); - } - function test6f7e1851a2b3cf7cde451f687ace2a32973f038eb6099fbd96467cade09b10ad() - { - $this->assertTrue(true); - fn() => (@$test - $test); - } - function test700d890e26f7801b641ce9db19f7fb424166845d2b5c8dc64d16f8422a0e942b() - { - $this->assertTrue(true); - fn() => (($test **= $test) - $test); - } - function test7076899f14c6f99cb356a7d823efb48aba27c8446c6f2a24639ef7a8aed491c6() - { - $this->assertTrue(true); - fn() => (($test >= $test) - $test); - } - function test71705cb7020853d7fe5d43d376fbe52ca49ca20589a4414aabfba4a60646dc15() - { - $this->assertTrue(true); - fn() => (($test .= $test) - $test); - } - function test7553b0e1aa12d6f796cd8bbee8fcc0023245ca32b3822fec8f8a54dd245c3336() - { - $this->assertTrue(true); - fn() => (function () { - } - $test); - } - function test7b6aa9cb02d75e5d511ffb9e9a0cc3b82beba811e9b8191fb50f17688ceca812() - { - $this->assertTrue(true); - fn() => ($test xor 'test'); - } - function test7dfd38bc185124f3c1e4129031346f2bb96379b7c863e534b8ef30d673961bea() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) - $test); - } - function test809fd808fec16791007a0922a3aa96cfc47705f97680013ac5f7317991bff685() - { - $this->assertTrue(true); - fn() => ($test * $test - $test); - } - function test8669bb5552a5feda547afce41aded2bd8215ad73f2d7e1c92bd122914c1e67cd() - { - $this->assertTrue(true); - fn() => (throw $test - $test); - } - function test86766d0370723be0ae5cb96dfb3795dd50f7218909dccff8c058c13ea7bb2600() - { - $this->assertTrue(true); - fn() => ($test xor $test < $test); - } - function test88df08caf8d82de262edda4dc79db93da8cd1cfcdcdc57be85caae6a7a90413c() - { - $this->assertTrue(true); - fn() => (($test >>= $test) - $test); - } - function test8bff4da44f3f4ed9aa1c47b3b783f991526e1b0ca56178494c9188450f5a3384() - { - $this->assertTrue(true); - fn() => (($test ??= $test) - $test); - } - function test8e3f2d414546224f234f23e211259651e75ca6860103e2331121908df099defe() - { - $this->assertTrue(true); - fn() => (($test | $test) - $test); - } - function test959b8154cb3e5c8de1b251c4804c671886fcacfd97f328ff4f89eec1b372fd6e() - { - $this->assertTrue(true); - fn() => (($test ^= $test) - $test); - } - function test9b9298bcfe6cee7ca8f8db9b7db8ad896893bd299247aed5fd16cbecbcfc296c() - { - $this->assertTrue(true); - fn() => (($test == $test) - $test); - } - function test9ce063837d82784c525872d7f5395e38476ed754154fc459c8f4026cd97a5d5b() - { - $this->assertTrue(true); - fn() => ($test xor (array) $test); - } - function test9f53bb9c23aa2a216378d3980c2ef450e15e490e8af6d086bea10821d092ccf1() - { - $this->assertTrue(true); - fn() => (($test ?? $test) - $test); - } - function testa0f4c54e2a986d2f98cc4400d38c8b5bc55816583f6c09f841e02fed4cf965f8() - { - $this->assertTrue(true); - fn() => ($test xor __DIR__); - } - function testa43aa15e8fbe8ba638e73257f03c50d7a0a52e1f8fce974a7e48ec45c038a0d0() - { - $this->assertTrue(true); - fn() => ($test->{$test} - $test); - } - function testaaab279b319872e69968f457469d8e6c4bb47f80c894d3b252556ff7fdf08b0e() - { - $this->assertTrue(true); - fn() => (--$test - $test); - } - function testaf0196e1f428625a102aa7290c81776c67ef745879fb0c92618fdb0f9a2b87c7() - { - $this->assertTrue(true); - fn() => (new $test() - $test); - } - function testb0a0262efc8bf61673bbe64fdd9dd8e8aafb8c078a5c0a40a05fc1443209df52() - { - $this->assertTrue(true); - fn() => ($test xor 0); - } - function testb129d7b42bf98f9abf71bc606ddba833a8649d455c2d4e84c3ba2ad84034fb21() - { - $this->assertTrue(true); - fn() => ($test xor $test <= $test); - } - function testb4b08566505674a96ffbef0b11ee06dd6176acf0a13aed1fa62a5b5c49581697() - { - $this->assertTrue(true); - fn() => ($test() - $test); - } - function testbb364eda651e71143b367e8ba2e48ce9fc93aff0feb465f37946b4bd76e2f849() - { - $this->assertTrue(true); - fn() => (($test += $test) - $test); - } - function testbc7b58a52688ecad1767c5b8218c105696ae9d79098ff8dbc56f1c58e3d94c75() - { - $this->assertTrue(true); - fn() => (($test = $test) - $test); - } - function testc47f503a3db2573143e1190436316d6edff063a962483309ec90cc3ea25fd753() - { - $this->assertTrue(true); - fn() => ($test xor $test !== $test); - } - function testc7e5a337d769eabd62216d4af23dfe704b1dc6dab5f9d9c1527b43a35aad0630() - { - $this->assertTrue(true); - fn() => ($test - $test); - } - function testc93472945e85a7f36cb55c688a0d026c6d29d8a486d8775bb73b86534b66a061() - { - $this->assertTrue(true); - fn() => (+$test - $test); - } - function testca76efe51c92c62ebcc3c70314a7d4541877c6f584ec34ba41ef94ab813881d1() - { - $this->assertTrue(true); - fn() => (clone $test - $test); - } - function testcb831dffab5a4e2bfdd4efe367b90ab7847c417f1a8395a96972229227288c05() - { - $this->assertTrue(true); - fn() => ($test ** $test - $test); - } - function testcd122469aff0f7544ceec8dbb0de1ba933d55799e7fb46ab20a1b548c77ccfe8() - { - $this->assertTrue(true); - fn() => (($test -= $test) - $test); - } - function testcf2fb3b2e3d6e73c807deb852f1b0a98e3fe503c750f624220a70c21c658549d() - { - $this->assertTrue(true); - fn() => ($test - $test - $test); - } - function testcf668b9509ee337bb5480eeb0f23d49b8400cfadd5935bd546ad9e4dded85bd4() - { - $this->assertTrue(true); - fn() => ($test % $test - $test); - } - function testd077665bcea0ac2c2420c989317c148abe9a62fb6046bf1f55bfabdefeee0b0f() - { - $this->assertTrue(true); - fn() => (`` - $test); - } - function testd7e3d6a3dda842cd387815fce337f8834c74ffeb9fc27d260710a54559cbbd44() - { - $this->assertTrue(true); - fn() => (($test or $test) - $test); - } - function testdc9d3a057e7c4f013efa769d5ee1b230b4f96e3728032fbaf4241525b0e6dccc() - { - $this->assertTrue(true); - fn() => ($test xor (int) $test); - } - function testde5cfb536a12ca59d6aa3bcc8a116dda49dc5265290e86005518460409589eab() - { - $this->assertTrue(true); - fn() => ($test xor $test << $test); - } - function testde7efb764c1591d0b8ea4ce484155046d00894fadc72ed4b766d4c812219a8ce() - { - $this->assertTrue(true); - fn() => (($test &= $test) - $test); - } - function teste190db1e27d7dd5a6bc3f734ca7109c8939e90937911eec305e7691effaf1953() - { - $this->assertTrue(true); - fn() => (!$test - $test); - } - function teste375c93e77f9af76ef6c43051ee0c355423c459184aa2e3b11f088bfd46408b3() - { - $this->assertTrue(true); - fn() => ($test::${$test} - $test); - } - function teste7a8a8106a8252d9e8f5915460670b28c4975462c0d8ce293e2a6d67ba97e7a8() - { - $this->assertTrue(true); - fn() => ([] - $test); - } - function testea311aaca322b4109a37ec37dbebfd34f4af880ab1db48049463de451b7ce8d9() - { - $this->assertTrue(true); - fn() => ($test[$test] - $test); - } - function tested0b945f725982413f65f714c2f9714fdf2ea854f5b1dca452c54677e01a7b7c() - { - $this->assertTrue(true); - fn() => (( $test) - $test); - } - function testee9da4dbacdcafec3b0f1731cfa768cc83f24825c9658f1ef0ba953297dc0e63() - { - $this->assertTrue(true); - fn() => (($test || $test) - $test); - } - function testef014192471492696614bfa017ed59f9c31133d6a71e4d857e754117f03893f0() - { - $this->assertTrue(true); - fn() => ($test xor __CLASS__); - } - function testefd07869caac9e6566338e3234c9b9ab3d4339e5042489937c93c60092a39455() - { - $this->assertTrue(true); - fn() => ($test xor (object) $test); - } - function testf0106038d32ff3f90396e930a5535869840af83ab6691b5a7d85300808f162bd() - { - $this->assertTrue(true); - fn() => (($test /= $test) - $test); - } - function testf4f421e4431c73204d581f7335181ea53a7810055026d8468d837bbfd8becefe() - { - $this->assertTrue(true); - fn() => (($test %= $test) - $test); - } - function testfa0627462488157caeab6e0c375c4215808aa99ea5d4b48619bfa6f59bd50f1a() - { - $this->assertTrue(true); - fn() => (($test *= $test) - $test); - } - function testfacd00f33a8c1246d48c5e377b856c282b42bda5f8e8e16995d84a63196fb0de() - { - $this->assertTrue(true); - fn() => (isset($test) - $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test.php b/testsGenerated/Target/Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test.php deleted file mode 100644 index ff4a7691c..000000000 --- a/testsGenerated/Target/Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test.php +++ /dev/null @@ -1,513 +0,0 @@ - - * @license MIT - */ -class Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test extends TestCase -{ - function test021f173707728540be3493c293b428013141b8e7e8c674a259ad4ce41baf70ce() - { - $this->assertTrue(true); - fn() => $test->{$test ^= $test}; - } - function test06cce853bd19a26dfaa79b678cd4ce14570b05dd2a88dd0f920071f15719ad9f() - { - $this->assertTrue(true); - fn() => $test->{$test xor $test}; - } - function test0e06cad5d97a6b703582c8c0a452f698eca97b46e8eba2ec55f1ecb892557fec() - { - $this->assertTrue(true); - fn() => $test->{$test->{$test}()}; - } - function test12c018b17c38720f8c095090dded2a0b4f5182864788795b5a575589d727bbb8() - { - $this->assertTrue(true); - fn() => $test->{$test::${$test}}; - } - function test1605b9629b1d9262b4b4c1d64bb539092fda9afb69cf228e0c041ab4d5f6e489() - { - $this->assertTrue(true); - fn() => $test->{$test || $test}; - } - function test178703e66c50817c2a71c4e1523dc67fec0f1867ef1c5e68e067bd0873a0d6f9() - { - $this->assertTrue(true); - fn() => $test->{-$test}; - } - function test1df2ea90dc22f9fbea3641e5b749aa638db0dcc2bdcea35193ac50369281e3e5() - { - $this->assertTrue(true); - fn() => (isset($test->{$test <<= $test})); - } - function test21a45b296f3416d8d0410918415a20297b57b77dadc8d39be3405280ce4fb31d() - { - $this->assertTrue(true); - fn() => (isset($test->{$test > $test})); - } - function test21f541c098caa967db5dea9d464e6a990ccde0ff46aee782b178c6a6ca546ec5() - { - $this->assertTrue(true); - fn() => (isset($test->{$test xor $test})); - } - function test223c78bb069bc18cffc0773740fd5c5271954ce69191711756e88e062ec2ab65() - { - $this->assertTrue(true); - fn() => (isset($test->{$test . $test})); - } - function test227ebce9ff66f18ef511d16af3abf0f19c8100e1aa35a1ce94d90ba66abf23c3() - { - $this->assertTrue(true); - fn() => (isset($test->{$test--})); - } - function test26484812db8b8163bd832248f8c0e77bf2200794ecf7610641d8e266b9af7c90() - { - $this->assertTrue(true); - fn() => (isset($test->{$test %= $test})); - } - function test284ce444f5084c7286a06f9e3d109b5423c69d13a6b91cfed0c8856ee1dab5c2() - { - $this->assertTrue(true); - fn() => (isset($test->{$test++})); - } - function test2b024ad627339e8118236207793b5236c4f80354b0ff366119cb9385b697c77a() - { - $this->assertTrue(true); - fn() => (isset($test->{$test |= $test})); - } - function test2c6c480ed38a5910ae3cd214b62d6bb5b3f423c69b73356e193e605e2cf0e2d1() - { - $this->assertTrue(true); - fn() => (isset($test->{$test?->{$test}()})); - } - function test2ea5788e4331b2f8d4e730681475f8a561854f0cafcb5217479cc6ef13e69fa0() - { - $this->assertTrue(true); - fn() => $test->{$test::$test()}; - } - function test32e27b886b080c4e7b79587efc2dd8811108cc315f9d5cd3e549b0e0789f7b50() - { - $this->assertTrue(true); - fn() => (isset($test->{$test ?? $test})); - } - function test338bd0f128334f327af858f7a831a8d8e5571033c25c71b8968f4dcabc55f4db() - { - $this->assertTrue(true); - fn() => (isset($test->{$test & $test})); - } - function test3686b2136d1a15dcf577258521e2be4124436e2aba9aefab20f5924b49dd0ad1() - { - $this->assertTrue(true); - fn() => $test->{$test or $test}; - } - function test3d5183e704c54487a22cc95442a472b2a3c8026daa1d69e79588b94d49b8c541() - { - $this->assertTrue(true); - fn() => (isset($test->{$test or $test})); - } - function test420cf704b710fa4d5af5e5a13c907c1c6c768ddbfeb8b4f047558ba1ccbba7e0() - { - $this->assertTrue(true); - fn() => $test->{$test > $test}; - } - function test455bbc2de98947da887501c33aedc37b9e3fa7f226e387e66c890bff46867445() - { - $this->assertTrue(true); - fn() => $test->{+$test}; - } - function test455f620bea694047fac5301ab4eafb57d1cb700e73ada1ee009bf763553c345d() - { - $this->assertTrue(true); - fn() => $test->{$test ? $test : $test}; - } - function test48d1bd24445965bb97806d4768e75b04a0be2b7753435792c794f442662fd36d() - { - $this->assertTrue(true); - fn() => $test->{$test & $test}; - } - function test490919ca53ae8b8747b39f715323fece1fb0d58c3af8299adfa4201a1a328096() - { - $this->assertTrue(true); - fn() => (isset($test->{$test += $test})); - } - function test4bbfe1e5679746f94ed12d1492df893fe057de9be0a5021f3ef2c45fc5c8a417() - { - $this->assertTrue(true); - fn() => $test->{${$test}}; - } - function test4e2b689f8231f6140f02111ae4cb9174774823cc35db95c2315d06fbfc9cedbb() - { - $this->assertTrue(true); - fn() => (isset($test->{$test *= $test})); - } - function test5159cb29edd266450de78c625398535d19e54dfac82f17ee5d14a8873b646a56() - { - $this->assertTrue(true); - fn() => (isset($test->{${$test}})); - } - function test517625f990fd8e070e25df132c336f82ea92e906f60716cf5ba07b004b967644() - { - $this->assertTrue(true); - fn() => $test->{$test == $test}; - } - function test54a03f8c8203c4ec64090f0cdb662590cb940fad9d41b2b4c65114737c436261() - { - $this->assertTrue(true); - fn() => $test->{new $test()}; - } - function test5752b579e79c6fc1e9b7c0414e5a2dea26f6b12bfbd85bbe389b3112fc102332() - { - $this->assertTrue(true); - fn() => (isset($test->{$test || $test})); - } - function test59b6503fa38adc62daf873d38c66dd2f5abd969a2096f45be6f8f39f37d839b8() - { - $this->assertTrue(true); - fn() => (isset($test->{$test / $test})); - } - function test5a982d2a2f432c3bbf21cba37fe884a4d67e29aa9ebaa6f33abf20a512c8c015() - { - $this->assertTrue(true); - fn() => $test->{$test /= $test}; - } - function test5dbbcb9d0e1335589a6d45896b449ff9d49a1aba32e87a208d4a6bbd7b527ed6() - { - $this->assertTrue(true); - fn() => (isset($test->{-$test})); - } - function test5e0a1a002dee20e460858bf09b4dedb3b12e6a3a1de3d8c75404a6091a1e1d62() - { - $this->assertTrue(true); - fn() => $test->{$test ?? $test}; - } - function test614d4447b3c19e5ca48a28bd4f0785a28811e6a734564562cdebedbca7cd4527() - { - $this->assertTrue(true); - fn() => (isset($test->{++$test})); - } - function test646cfee434a33d3828b2a31665de135a4c84d75d800887e40b13d24b44098a32() - { - $this->assertTrue(true); - fn() => $test->{$test ^ $test}; - } - function test6485b014844931bbb2188b1fcdee851305dfc80b0370281ccc4e1c718f3f1c2f() - { - $this->assertTrue(true); - fn() => (isset($test->{$test::${$test}})); - } - function test65e5c21568127cd680304bedb947e5ed6f88c2ce4fbee59a4e33eb609fed3f68() - { - $this->assertTrue(true); - fn() => (isset($test->{throw $test})); - } - function test69d547dd10e559a13024a002cb196faf6e4912e0ae6526874b2a62a0f9418b98() - { - $this->assertTrue(true); - fn() => (isset($test->{--$test})); - } - function test6c2fbeb84cbc8b96e8a0c578b0b60fd8f300080ba43242aa3084c6f5e67cc41e() - { - $this->assertTrue(true); - fn() => $test->{(yield $test => $test)}; - } - function test73111998883e715551fcbc3e1ce744707addc468324890b6b81410db74ce798c() - { - $this->assertTrue(true); - fn() => $test->{$test **= $test}; - } - function test751fc58bfadff19a666501f6e2e4b21bf0aeb8ef425b3a9b4b342c08b2105ce3() - { - $this->assertTrue(true); - fn() => $test->{$test %= $test}; - } - function test785cad574697ab27e7bf031aff57c116aefc6e9c7152ea99e054cde7c76ee8e4() - { - $this->assertTrue(true); - fn() => $test->{throw $test}; - } - function test7ab2edf7a266b4d343ab5d0060f0f82aedc70961ec0905aebc7ab6b40356a45b() - { - $this->assertTrue(true); - fn() => $test->{$test % $test}; - } - function test7de005a4d0285b2367f8e50662664a45ba96c29cde661733339ba61e9deb48f8() - { - $this->assertTrue(true); - fn() => $test->{$test ??= $test}; - } - function test7e70128f91164b630e7d5cdc00e38553504e2119e147ce5419fb062d0d0c2535() - { - $this->assertTrue(true); - fn() => $test->{$test and $test}; - } - function test7fc4e9827668f3bc06dbf5d6d26466a40c9bb5243f1b14c6dc7e0c1e05229041() - { - $this->assertTrue(true); - fn() => (isset($test->{(yield $test => $test)})); - } - function test804deb6ae3ff6cc714ed66e5164ba451c3ec6c3238f14195fb415d665646ef90() - { - $this->assertTrue(true); - fn() => (isset($test->{$test === $test})); - } - function test80fcb7a39c8d4bf63c0f8afed5c7f1136f85f5eb420910d01ec964014121ec15() - { - $this->assertTrue(true); - fn() => (isset($test->{$test ??= $test})); - } - function test8174daa37eda5a061fa2e0f62011d07e120fd4ffa6fda0b68ad018d8a85498fe() - { - $this->assertTrue(true); - fn() => (isset($test->{$test **= $test})); - } - function test831a45a3acdf9e678afcb09ec8c9f6971e2a9cee84e12b2f79d6a307a1b74d45() - { - $this->assertTrue(true); - fn() => (isset($test->{$test /= $test})); - } - function test857d30a2f75d591762569887767afefdcf819af7cb62c76c3ea142c006a9945f() - { - $this->assertTrue(true); - fn() => (isset($test->{$test | $test})); - } - function test89b75512b78d4184b0704413e56cf3b4c8356140b835fd791dd0f547a32b3bc2() - { - $this->assertTrue(true); - fn() => (isset($test->{$test->{$test}()})); - } - function test8b2896107803e2ae51d2d03b3ada294f602909a837bfd85ed9073249fadfd26a() - { - $this->assertTrue(true); - fn() => $test->{$test += $test}; - } - function test8bca585b6c78feed769adb3426757f4fcff1fd533deada287115430cf295c876() - { - $this->assertTrue(true); - fn() => $test->{$test / $test}; - } - function test8bd09823bf1dce4198f96df683a2e1ad1624acb7019b65a64652f9228006288c() - { - $this->assertTrue(true); - fn() => $test->{$test .= $test}; - } - function test8d22bc8606d400269b03ec30757bfc082a503259180e30b76a1b04cfb981796a() - { - $this->assertTrue(true); - fn() => (isset($test->{$test?->{$test}})); - } - function test90a6652e20811bcb943b23f570150af4c387df2f91fb4eed715c3c1de5387974() - { - $this->assertTrue(true); - fn() => $test->{++$test}; - } - function test932e82e4feaacf6cb676ed4508050cef14644d455c74c6b30348a5f3e3101bd7() - { - $this->assertTrue(true); - fn() => (isset($test->{$test >= $test})); - } - function test9a973531c1a329c2b72c631eadd2acfe7ec1712228dd1e2b4bb1901fac10e33b() - { - $this->assertTrue(true); - fn() => (isset($test->{+$test})); - } - function test9c1c8849b1bbb3b090738090e21404d842f90d52ae8aacd5fa1bb280dbfacee8() - { - $this->assertTrue(true); - fn() => (isset($test->{yield from $test})); - } - function test9dfa264207d40a7db623a6e01135ce188427c256cfea627e8ff405191a549633() - { - $this->assertTrue(true); - fn() => $test->{$test -= $test}; - } - function test9f023ade72b588a1b337983c44a49e90dc56fce61859f2db4d60fc35d363534e() - { - $this->assertTrue(true); - fn() => $test->{yield from $test}; - } - function testa9f31bcd7b123a8ca81addbb1e5ce610249af18d5bb0f2d45ddac9a570f81c0d() - { - $this->assertTrue(true); - fn() => $test->{$test >>= $test}; - } - function testabcfabb209f0340e83ff1c37cdd928e0e6eab272117ea92ab1771c91dae0725b() - { - $this->assertTrue(true); - fn() => (isset($test->{$test - $test})); - } - function testabf83d5735603b4b9616d3c7b50ecc90f135e985e88128c934b5f2d7bc330073() - { - $this->assertTrue(true); - fn() => $test->{$test >= $test}; - } - function testacb99042c1414c99643a9f45152b760e54aaa94c1e75d441e08ccb530b456b13() - { - $this->assertTrue(true); - fn() => (isset($test->{$test &= $test})); - } - function testaf4020d9076a73aefc61200f7982687c1b1fe1b4d5db931e6f66c9b527eda494() - { - $this->assertTrue(true); - fn() => $test->{$test++}; - } - function testb2776e35e3218db0c7ebdce984378ba4407c0e9ad5b7a0353c866c8cd983d0b7() - { - $this->assertTrue(true); - fn() => $test->{``}; - } - function testb3c254e3b8bee2a464aa8a0697f1fb7b04d519d6c215710974c450cea6b46d91() - { - $this->assertTrue(true); - fn() => $test->{$test?->{$test}}; - } - function testb80f663be6d8baabde9727f539d354e8d830d02fee201daf8b18a77ae31c0b7d() - { - $this->assertTrue(true); - fn() => $test->{$test?->{$test}()}; - } - function testb96612921d93cc52092ff3355405933af3666dc1e4b6c9d723c203791f429e58() - { - $this->assertTrue(true); - fn() => (isset($test->{new $test()})); - } - function testba36787f76da54f386c1e989eb88784239b69cd8cd171475685e147986d1f864() - { - $this->assertTrue(true); - fn() => (isset($test->{$test && $test})); - } - function testbaf9f0e35097c6e3506ca4370703951bc9ab9db28b451b30d55f61b5f0f51399() - { - $this->assertTrue(true); - fn() => $test->{--$test}; - } - function testbcbbc045cd98cfe19ff16d3dfa53d0ea9e97547c3d650c369f672c74ed35ee3d() - { - $this->assertTrue(true); - fn() => (isset($test->{``})); - } - function testbe0f83420b20ddc7089206b027b4c0c03b6595d059913ea68a979ae48647c7a9() - { - $this->assertTrue(true); - fn() => (isset($test->{$test::$test()})); - } - function testbea2a298e63ee1133aa1c7641b7c63c56ecd7e551f99b81353ea3c1c063792c5() - { - $this->assertTrue(true); - fn() => $test->{$test <<= $test}; - } - function testc0d59ae715edcd380274b9de5e5cbbe10d8da61663c60ad14c099ad4a73aacef() - { - $this->assertTrue(true); - fn() => $test->{$test . $test}; - } - function testc1109dd4fd92340fc6991dcca022639d81c98ac9974b4752e52dcb54cc00771c() - { - $this->assertTrue(true); - fn() => (isset($test->{print $test})); - } - function testc29383f836226473d1582404b0b18fb66f2bc8f1acf8cc1ae3a5a209e3a4d2dd() - { - $this->assertTrue(true); - fn() => (isset($test->{match ($test) { - }})); - } - function testc3684bf209fb9c09e5a68aedad781b80342958d60f9af0f2410370d55e751d0b() - { - $this->assertTrue(true); - fn() => (isset($test->{$test and $test})); - } - function testc69cc6ac210fd0e58ade32903cf6dabd02a6342c6ae38e8f3580656e9561208a() - { - $this->assertTrue(true); - fn() => (isset($test->{$test ^ $test})); - } - function testce42fe205ec9ea3e9895d5024258dd643647ff092945073982670f1ecc5df266() - { - $this->assertTrue(true); - fn() => $test->{$test--}; - } - function testd1e3d1bc464236318a70baec574f05da5467ba6fa345fb818b395cdbc564ab97() - { - $this->assertTrue(true); - fn() => $test->{$test === $test}; - } - function testd387d596e5190d8052f94ad1864c20b05b9a150c871cbc2231ea6dfb4c672635() - { - $this->assertTrue(true); - fn() => $test->{$test->{$test}}; - } - function testd4f742ba0f9569e1014e560f8e37e1045b25838687181745dd997f1ff8b900f7() - { - $this->assertTrue(true); - fn() => (isset($test->{$test .= $test})); - } - function testd70306ce1165c820fe9825e9f9014b341ac34a52f9a52f3e9a887836ad5ba8db() - { - $this->assertTrue(true); - fn() => $test->{$test && $test}; - } - function testd7fc6b43bf45b23af867df3eadeec7a10c4f366e1237b94025d211eed1f9c97c() - { - $this->assertTrue(true); - fn() => $test->{$test *= $test}; - } - function testdb59cb6d2e00d6a1d3f628cd4e4d2417734f0b9db378b429bb01899afca879ea() - { - $this->assertTrue(true); - fn() => (isset($test->{$test ? $test : $test})); - } - function testddc2aae8236c53584570018497ff6aac67b6ccc61a709e3c02c542653fa7412e() - { - $this->assertTrue(true); - fn() => $test->{$test | $test}; - } - function testde82feaa067ac8d00a95d3a3c891ab7a9989a0d79e7642a35bc7f05f4a91c653() - { - $this->assertTrue(true); - fn() => (isset($test->{$test->{$test}})); - } - function teste352437141dc9916160de4fd4a4add840ddc10948b72538bdd9caafe5499d11c() - { - $this->assertTrue(true); - fn() => $test->{print $test}; - } - function teste49a94115508b4adf34217a729f58c4cdbb240c675bf8516d9feb032641227ea() - { - $this->assertTrue(true); - fn() => (isset($test->{$test == $test})); - } - function teste948c281f838ed626b4a38a139193b158144b939a326f94f930e3377d8a72ba9() - { - $this->assertTrue(true); - fn() => (isset($test->{$test ^= $test})); - } - function testf23d357adfc826d1d8dc3384fa4a8a4e77b64ebde2ed909ae2dbd39f4f9fb3eb() - { - $this->assertTrue(true); - fn() => $test->{$test &= $test}; - } - function testf377a7373b7ba6e8d0d7d79cdf9f9a91177857b4d25a9e015e13df3493c7a475() - { - $this->assertTrue(true); - fn() => (isset($test->{$test >>= $test})); - } - function testf6ee71ebed69d37185a3f61b5061a402e9d481d364dae53b85f8cad019596914() - { - $this->assertTrue(true); - fn() => $test->{$test - $test}; - } - function testfcfa8157b3c60e1697a90cd697ebedbffd4aefd8c5af0fb889a31f56dc8f3209() - { - $this->assertTrue(true); - fn() => (isset($test->{$test -= $test})); - } - function testff991ff3408c3cebcd7848f45842877f0f8768eb7127dbb6d2d4697821350ce3() - { - $this->assertTrue(true); - fn() => $test->{$test |= $test}; - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest.php b/testsGenerated/Target/Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest.php deleted file mode 100644 index 48363e11a..000000000 --- a/testsGenerated/Target/Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest extends TestCase -{ - function test02a6aa94d2f58f97104e9c85f43e3db429d5261734d461a5440c6c63f96fece8() - { - $this->assertTrue(true); - fn() => (empty(function () { - })); - } - function test0b1542c9a08f38da06291d60e95e0c283dce19e3864f0f1399093edac492c0f7() - { - $this->assertTrue(true); - fn() => (clone $test **= $test); - } - function test0d13ea5b10237f10bde97ffa994f1fb385b9cbb3a3c35c23770bf21c4e137cf1() - { - $this->assertTrue(true); - fn() => (clone $test >= $test); - } - function test0dd2ab960556eb8e347fa85e0285d16aa502fcd3841fc3e761fe8fbc01fc6e7d() - { - $this->assertTrue(true); - fn() => (clone __TRAIT__); - } - function test16d3fb10a1d5d63367ad4d4e7e0d00c48e0fbd324ba05e45d6013c8c281fd284() - { - $this->assertTrue(true); - fn() => (clone $test &= $test); - } - function test1871fa65aff6f5663803abdbe1648695aab56524c47b7eaf8eae1d4500c73a16() - { - $this->assertTrue(true); - fn() => (clone $test ^= $test); - } - function test196c706559ddef6054688daf45303477c78b7567febd442257b53420a2005833() - { - $this->assertTrue(true); - fn() => (clone $test || $test); - } - function test1f465fbe9e446cc5f77407d6d46d25304c2ff97b215dc8d460b489f7c042d50b() - { - $this->assertTrue(true); - fn() => (clone $test++); - } - function test211e3c4eaaed9d3d3efb5d47a1929719f6f205662921cfb5af5b9dde71485f98() - { - $this->assertTrue(true); - fn() => (clone yield from $test); - } - function test21493561a2d7850bfa6fa07c8e31f19e47ee47560637441775424730f091e8d2() - { - $this->assertTrue(true); - fn() => (clone $test * $test); - } - function test24048a78822fae71df12c95429550ada2dd83b965caaaf86dca8b735cd3ffc95() - { - $this->assertTrue(true); - fn() => (clone $test?->{$test}()); - } - function test241a7a6ddd9cc4631fe47ccdcccd22690694d09d6408ab06d658ac1204000404() - { - $this->assertTrue(true); - fn() => (clone __FUNCTION__); - } - function test24b8c30ac5d2d6fdf3702c888338855f97d7fb0701e39223b94395423f524fb5() - { - $this->assertTrue(true); - fn() => (empty($test)); - } - function test276d8ed8ed7fb953c4ae1982cb9ad38325ad850075ec8c19296309092195f5e8() - { - $this->assertTrue(true); - fn() => (clone $test >>= $test); - } - function test2bc6c7ef0b3a8fa8251154b390d5f1b90bb4f3572f883d09ebd539a7ced30582() - { - $this->assertTrue(true); - fn() => (clone $test <=> $test); - } - function test2d22bd947b4812a4a00e593b466e246cef753d96f44903841cbf4406ddc15f78() - { - $this->assertTrue(true); - fn() => (clone match ($test) { - }); - } - function test2f4ef31876b772db07249deceb9b08a54182a08463bb3a5efee4b464e93d89f3() - { - $this->assertTrue(true); - fn() => (clone print $test); - } - function test2fefc32eb70167e8083ee1a66418a785f066bca2e16ba282eda18916ad481f79() - { - $this->assertTrue(true); - fn() => (clone $test += $test); - } - function test3205d7b143811593d484fdabc29292378b2568f6d034be6e7c9b9da296051e30() - { - $this->assertTrue(true); - fn() => (clone -$test); - } - function test337cd502a3f3d0f19fcb31643d4daeae95630cff30d31800efc88acb3090e767() - { - $this->assertTrue(true); - fn() => (clone $test === $test); - } - function test33a85609ca829e6513cf1bc2ce30f729026cd978a6cdfb7e188842523868b97a() - { - $this->assertTrue(true); - fn() => (clone $test -= $test); - } - function test36177785d5f7ca76b61624ca69c4bca51d97db2239b0c62afc68d3389f1b1199() - { - $this->assertTrue(true); - fn() => (empty(empty($test))); - } - function test36de14257f4d8a299b8a56df89bd1035d68fa651e272adc71e93c0c5c0ca39f6() - { - $this->assertTrue(true); - fn() => (clone $test !== $test); - } - function test3dbed8967641107086ffe5ba5eaac0b0e063431b9f3cd7d8a260b8b9d8727341() - { - $this->assertTrue(true); - fn() => (clone $test xor $test); - } - function test3e188c3a3f3bc91d417beed5c52c378e0d5d31c30898f2cdc2811139bf23c430() - { - $this->assertTrue(true); - fn() => (clone $test & $test); - } - function test3eb92b81537bfd43232211c902b800905c1ab51701557d2aacd5ed5528b11939() - { - $this->assertTrue(true); - fn() => (clone $test + $test); - } - function test45dc87740596d47eb31292f3e5f9f8dd9dde9944db00763d68a72ff2cf1fd69a() - { - $this->assertTrue(true); - fn() => (clone $test << $test); - } - function test4712b9b9af28a0723bdbef8e5cc908fd436aa755319a26dc39e456ed1eee4ca2() - { - $this->assertTrue(true); - fn() => (clone $test <= $test); - } - function test4cdaf58af624b681db41b24eabfbb89ab0f8f37045aaa0f58901609b9b2308b7() - { - $this->assertTrue(true); - fn() => (empty(isset($test))); - } - function test4fae67d9ec2b748839c5a13f2d92c1e035c0c5897e22fd15e1ae627f07d25353() - { - $this->assertTrue(true); - fn() => (empty(eval($test))); - } - function test4faefcada02d0b89dc3e40d51191d36b43f121ba1da25418fcb70e83aadd59bc() - { - $this->assertTrue(true); - fn() => (clone $test); - } - function test50bdb72f5d357e26fee13eaf703d4debdf60fe05e992b8baa8312b9d159dc3d5() - { - $this->assertTrue(true); - fn() => (clone $test == $test); - } - function test52903af96bab61ebeca74775701682203e932ec49497f9d8e61d1093a874e907() - { - $this->assertTrue(true); - fn() => (clone $test != $test); - } - function test572ee030def654d105ca1bf1742ee6747d9cdb05e02cb9d812a5e550dc5686bd() - { - $this->assertTrue(true); - fn() => (clone $test / $test); - } - function test575ab02406b57565d80df3167934acddf50fd7e61cad57f42cfcc2b2ce381b7b() - { - $this->assertTrue(true); - fn() => (clone ``); - } - function test5a7633424fef19dca6427bde63dcb921644fd74bb96cc94f77c89659614072db() - { - $this->assertTrue(true); - fn() => (clone (string) $test); - } - function test5b141f092781219f61dd4d034f8bd1ba16c0f02bfa85d56e82580b1e73831048() - { - $this->assertTrue(true); - fn() => (clone throw $test); - } - function test60357f4173e8ad5d44bb29abae9416b7931bcd1bfa116812349c0bf4e7e560de() - { - $this->assertTrue(true); - fn() => (clone (double) $test); - } - function test605b89838455d63f70880eff5cefe6936da59c73c296ec754957cafd05fc3cb4() - { - $this->assertTrue(true); - fn() => (empty(self)); - } - function test60cb76e1cfb2736049710f70d22f86f91c8005e198ade163f42d1ba67856b777() - { - $this->assertTrue(true); - fn() => (clone $test *= $test); - } - function test6516eab464aa942dfd7bf191a62778beb9d977d323b0cfa820ac75190e79527c() - { - $this->assertTrue(true); - fn() => (clone (bool) $test); - } - function test661b5494d7545c519ef9f5640e6ed37139f069285d65fe471f9134996e35c551() - { - $this->assertTrue(true); - fn() => (clone $test % $test); - } - function test695b684d39c372e445107aacb5496f7861ba2dca5333898701ce91102d950871() - { - $this->assertTrue(true); - fn() => (clone $test ?? $test); - } - function test69927f0ed648cdfc31dea4968c8812e02441f07e2df5dbca5da4ba783b03cd04() - { - $this->assertTrue(true); - fn() => (empty($test = $test)); - } - function test6ac3465a06afcdecc657627ba53f7b7352b083b3fa69a3be299158c7d1af112f() - { - $this->assertTrue(true); - fn() => (clone isset($test)); - } - function test6d29598ca92c2f4cd78e885971c685f0b9e86067c1640adcb3cc021b3b0947e0() - { - $this->assertTrue(true); - fn() => (clone $test >> $test); - } - function test731849f038f84db15171c413b6b12a9596642ac492cf38f14c946349a372c216() - { - $this->assertTrue(true); - fn() => (empty($test::$test)); - } - function test76542e352fe6c3563d457a54c17c24c2d9d1de5e5d817a5953f094404e8adfa0() - { - $this->assertTrue(true); - fn() => (empty([])); - } - function test7903b04f6a5a56e9ee50f8cfc12be3738a74677f6aaa4e411cc69288a8da116a() - { - $this->assertTrue(true); - fn() => (clone __NAMESPACE__); - } - function test7acdaa41d1ea6e32e7846b61694bb56398484f7482e0246494195a19a1db3a0e() - { - $this->assertTrue(true); - fn() => (clone $test ? $test : $test); - } - function test7c2167cd57baa52fdd4827a3591671568da79e054acbe592d73caf43c192f82f() - { - $this->assertTrue(true); - fn() => (clone __CLASS__); - } - function test7dbbca6b9ff8a726c4c2cc4d5cdfdbb1c86bb7df649007921573a35f346ec6a6() - { - $this->assertTrue(true); - fn() => (empty($test[$test])); - } - function test7e5451760d67d2d846643ce7536405f8868aaf84f58fc7634df34568b2c38cfc() - { - $this->assertTrue(true); - fn() => (clone $test /= $test); - } - function test7e59284ff0e7dc1629f957ec88e19db21c96ecdbdc24e7b9e2dd27de1c89d018() - { - $this->assertTrue(true); - fn() => (empty($test =& $test)); - } - function test7ef04ff81a3374d1d89877f06f712d460a79a89ac2a5d570032beaf1aded935f() - { - $this->assertTrue(true); - fn() => (clone 0); - } - function test81160c2d797e6187fa79013a6034e968abd37bc05af1ea57ef3863727453be16() - { - $this->assertTrue(true); - fn() => (clone $test && $test); - } - function test820fd3d9fcd8ab1ae6ccfce37ac0eba7e67758820762b367961031c8061ca868() - { - $this->assertTrue(true); - fn() => (clone new $test()); - } - function test8393210efb66b6129b681cb4c666fd38c61409bbacb074076f1367801bad2296() - { - $this->assertTrue(true); - fn() => (clone ++$test); - } - function test8749e41997b8d1b86e6cb0e0c78154c9513102292397ad1edb4604a62dfaef50() - { - $this->assertTrue(true); - fn() => (clone (yield $test => $test)); - } - function test88a7d42f7bf6a1d46fb718540db129ec49c2113e13631f8b5ece24f45fbc3a3d() - { - $this->assertTrue(true); - fn() => (clone $test ^ $test); - } - function test89401806e571b2509571c42fce19452703c0342c63e253e517fdc316bcb228c1() - { - $this->assertTrue(true); - fn() => (clone $test ** $test); - } - function test8a7e828e70d17f1451a47fb23e7eb6f0e9c6a096eca770647c46f8e7d51e3948() - { - $this->assertTrue(true); - fn() => (clone $test ??= $test); - } - function test905159f84a4431e878907110c414c3bdcb5162383047f2f1cfdc3ddaae961bbb() - { - $this->assertTrue(true); - fn() => (empty($test instanceof $test)); - } - function test90e314dacbb1f8e45b5e35617e6aea7cb4efffd6f5a1b461c9c6e4312a8cf57e() - { - $this->assertTrue(true); - fn() => (clone __DIR__); - } - function test914df6e3cf9cdbdf7b2e816b27c85c6e264c0f36d25c53678ab1bbcd4ab8d799() - { - $this->assertTrue(true); - fn() => (clone $test?->{$test}); - } - function test91baf82e545581eb75565390cc12d1b54e5ae6797842691f4354c21e7925ecb6() - { - $this->assertTrue(true); - fn() => (empty( $test)); - } - function test91d6f5489f8a4e6a9330d02dbd98032ce310992edcc86fa2c1357b6d4fbaa723() - { - $this->assertTrue(true); - fn() => (clone --$test); - } - function test95817b1549b8803b7e148cea856540fa872885b3dabbf4801d143b6d6cc74f66() - { - $this->assertTrue(true); - fn() => (clone $test::$test()); - } - function test96f7a2ad52f06b599e12134fcfb961e36b9839e8b62c245636a8baec05e3d31f() - { - $this->assertTrue(true); - fn() => (clone $test instanceof $test); - } - function test9762d4d731610a7b8dacffee2e41c6183514d998ea656cbea4bee698fd929d6d() - { - $this->assertTrue(true); - fn() => (clone $test < $test); - } - function testa70dcb1e95bf8d109ab5edcdf8731afc2a9c7361ecd1856f8b8a433aa7ef8aa4() - { - $this->assertTrue(true); - fn() => (clone $test > $test); - } - function testa8f0330f163aebd687421b98deccb094acdae2648aba659f17196c3a98efb0ae() - { - $this->assertTrue(true); - fn() => (clone $test::${$test}); - } - function testabf7a0bf6811aedaf406110dd7dde7a12ff23280fd654fca67a5299b8b4177d5() - { - $this->assertTrue(true); - fn() => (clone $test .= $test); - } - function testae45a212f52f110cc3bd6a598ab4184287bcc83a2f2f01e7badf296fb496f80b() - { - $this->assertTrue(true); - fn() => (clone $test or $test); - } - function testafc016545d725a95f612c2cc949ff86cab2c78bf1cacb406f5ab11165ee24cd9() - { - $this->assertTrue(true); - fn() => (clone $test |= $test); - } - function testb08be790469f2b353182bacd7c5601a86787d3c413e3f1fc61f250cb58549d9a() - { - $this->assertTrue(true); - fn() => (empty(!$test)); - } - function testb0d69ea392acdfb382e87e8dd98b26490116e02a4a582d8b2b8edda1fda6f5f2() - { - $this->assertTrue(true); - fn() => (clone $test and $test); - } - function testb20ac8c8d86bb5999ddab3c4e6ecbaa6b86e6ae7a288a33523b96628389c72cc() - { - $this->assertTrue(true); - fn() => (clone __LINE__); - } - function testb80935fe6a08c9ffda0fc3422bf12d4204b9221cc4c70d3f856f41213cfbe4e7() - { - $this->assertTrue(true); - fn() => (clone __FILE__); - } - function testb856eb547ad126355818e6cdb8d7cf14b9642ed03c76eb36d43cafc8a4c00b78() - { - $this->assertTrue(true); - fn() => (clone 'test'); - } - function testbb18e34f862d96e7a13394cdc1c466fa4fca93b80d6363a041774b2121f2c69a() - { - $this->assertTrue(true); - fn() => (clone 0.0); - } - function testc4baaf8cace732565968132844c89c9b0e2c60a6d102c4d797f456a46b419e6c() - { - $this->assertTrue(true); - fn() => (clone (object) $test); - } - function testc976a01b14ff65cbc4ff5e891c136d0d76db9038fc015dabf7be73d5c56aae7d() - { - $this->assertTrue(true); - fn() => (clone $test | $test); - } - function testca2d986eb6e02ba21fc99977109ccb044977ef0666eb4fb1cb049769266091f4() - { - $this->assertTrue(true); - fn() => (clone (int) $test); - } - function testca76efe51c92c62ebcc3c70314a7d4541877c6f584ec34ba41ef94ab813881d1() - { - $this->assertTrue(true); - fn() => (clone $test - $test); - } - function testcc70012f870f6ea6e1d36038b24bf764fea9c985844d73234faa409845d628b0() - { - $this->assertTrue(true); - fn() => (clone $test %= $test); - } - function testcca71edbe77d14eeef20cefa3e696c8e175e24e8d167cc0eb6689549b0617fa3() - { - $this->assertTrue(true); - fn() => (clone ${$test}); - } - function testcdd1282df04f673738ba1ae4f1807d5617fa31279289c71e4e28704b6f0b699f() - { - $this->assertTrue(true); - fn() => (clone $test . $test); - } - function testce5fb03a45f928f7c5a066a4f8cf51fcdb35f1c7634ed5a3b82b9403a99e7d60() - { - $this->assertTrue(true); - fn() => (clone $test->{$test}()); - } - function testcfebabdbac5e2553c5a11293e64749262259e75a0f993fa155646947d246622c() - { - $this->assertTrue(true); - fn() => (empty($test())); - } - function testd4b981c973aee2e73e9a858d6bc1b520bc2623ed9391bb35906622cb6b4b8321() - { - $this->assertTrue(true); - fn() => (clone $test--); - } - function teste133f87a1146fe79f812972662333685ed6e3b2d6266cd2fadd1de6b5ddcbd1a() - { - $this->assertTrue(true); - fn() => (clone $test <<= $test); - } - function teste1d309ed87aee697d005b8d59bc2cee8ce91fbff9439f1bb2d59fe817a3d8632() - { - $this->assertTrue(true); - fn() => (clone (array) $test); - } - function teste1e709a98960251109182189607cf89da175039e1bc06ed67544b571f5f0b5dc() - { - $this->assertTrue(true); - fn() => (clone $test->{$test}); - } - function teste7f7b1eb7779b035364bc2b38885c24cb8764e8e647fa501390438913bd4c757() - { - $this->assertTrue(true); - fn() => (empty(~$test)); - } - function testee4498e9317071741c769f23878131ab58d2c4db4cabedf44b82921b0324065a() - { - $this->assertTrue(true); - fn() => (clone __METHOD__); - } - function testf2ba5c9f355a9df11bebf480cbfc2fdc36954a96253162f185e881c13386dcf7() - { - $this->assertTrue(true); - fn() => (empty(@$test)); - } - function testf443ab329c0751848cae3add71d051b4d63ea39cd4a36d5534174daeeac80b3a() - { - $this->assertTrue(true); - fn() => (clone +$test); - } - function testf527a42144e2c3fe9758f9dc155531e5d79f1d8282492db6622b2ecdebccf25f() - { - $this->assertTrue(true); - fn() => (empty(clone $test)); - } - function testfb2daf6d579945f2ef1a17367c00bd388218ef8787a8a406c76f819d8a0b4fbc() - { - $this->assertTrue(true); - fn() => (clone "{$test}"); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test.php b/testsGenerated/Target/Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test.php deleted file mode 100644 index e1aa6a4b5..000000000 --- a/testsGenerated/Target/Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test.php +++ /dev/null @@ -1,504 +0,0 @@ - - * @license MIT - */ -class Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test extends TestCase -{ - function test00e4a0b24495c564db351b903ca628c6ec679d1096ec2a2bc79eac6999608c4d() - { - $this->assertTrue(true); - fn() => (isset(($test instanceof $test)::${$test})); - } - function test01d093da14bd77a3eb9e9454757c80c3e3f01257ef2f96e714d87e1c028ccd02() - { - $this->assertTrue(true); - fn() => $test::{$test && $test}(); - } - function test054e9dc99e43d7fcc74d8b6e811e49148d8d447265b81119012e61d06d5fcdd3() - { - $this->assertTrue(true); - fn() => (isset((isset($test))::${$test})); - } - function test0726d9ec7bc6d59885c1512c05b9356cc892800f7f534cea90667d237491212e() - { - $this->assertTrue(true); - fn() => ($test instanceof $test)::${$test}; - } - function test0962be7fadc4ee6fb09a1de2f2155a5c8ddd3b0645cea227e07c7e826b905dfd() - { - $this->assertTrue(true); - fn() => $test::{$test >> $test}(); - } - function test195f434de2180db9073e9e3d9442dc77e79ce032c89032f9e1a50eb4580bed53() - { - $this->assertTrue(true); - fn() => $test::{__FILE__}(); - } - function test19f3756ed0a0e7aa0173d4eda957d682343bbc92672ad9919562a0e9dfefbd04() - { - $this->assertTrue(true); - fn() => $test::{(string) $test}(); - } - function test1bf45a76863b75c4337693e8c9cd77b049fa801337d171e5fbcaffdcccb666f6() - { - $this->assertTrue(true); - fn() => $test::{(int) $test}(); - } - function test202ec577b4956b119288f16691b0d5ed6fee77fe195c98713e9e28d920997623() - { - $this->assertTrue(true); - fn() => $test::{$test || $test}(); - } - function test275c0bfe56753fddf584a78cf6d434a632aa977c7f21596a32a56277d51f0c59() - { - $this->assertTrue(true); - fn() => $test::{$test + $test}(); - } - function test29ed3898c4ab6262487e52f6acf2b486c4b3ef00b51b4f885beac0daabcd5652() - { - $this->assertTrue(true); - fn() => $test::{'test'}(); - } - function test2db6e4fd1a7a4419bd72852bdafe97f5890ad64ea322f389fd5a487e6fd8c8cb() - { - $this->assertTrue(true); - fn() => ($test)::${$test}; - } - function test2f2055f91ac4f4c88dc7641307e94a28ad79f18053daebfe2650557413f06ced() - { - $this->assertTrue(true); - fn() => $test::{$test or $test}(); - } - function test2fd240f8faf9a2fbec0040ef756647b6cd3488c2df9475f51aa25c26a5e67f5e() - { - $this->assertTrue(true); - fn() => $test::{(bool) $test}(); - } - function test32158c43f8f648c995190a743499a4213b077ae7722ddee2a52dbdd4ee432278() - { - $this->assertTrue(true); - fn() => (isset((@$test)::${$test})); - } - function test35245db7ba3142bd9d707ebeeea93c8da96e73952fee767ca0c06fdc6ec0283f() - { - $this->assertTrue(true); - fn() => $test::{__METHOD__}(); - } - function test36a13688b74fbe855cff2757f338fa1e166c3164a6cea41b1375d6fd57cd7f58() - { - $this->assertTrue(true); - fn() => $test?->{$test}::${$test}; - } - function test36ea08bef6cc6d68f2d4363e73b944360cf78a7e33d63c89ffffd47a951229cc() - { - $this->assertTrue(true); - fn() => (function () { - })::${$test}; - } - function test3946df59616750ea951dcaf39dbfdc04bbd969192abe96d09e6f323af3fc099f() - { - $this->assertTrue(true); - fn() => (isset(( $test)::${$test})); - } - function test44c2ec37b762737090206dcfa76ac4e9de6df94cff690c823e532b0b76a0c34b() - { - $this->assertTrue(true); - fn() => (isset($test::$test()::${$test})); - } - function test46b7d1a18100baf7fa33ffb617406d73ab77dac0cfc1f06de4273cce2893d390() - { - $this->assertTrue(true); - fn() => (isset(($test++)::${$test})); - } - function test49ed1d5b957fdcb9a30ca9251db2e1a7d2fc852b4fc90882edfb4ab2587dd86b() - { - $this->assertTrue(true); - fn() => ($test =& $test)::${$test}; - } - function test4ad9d76f5a0a9073ee56c9f53e4169118a549e714774bf11ff1713d5a30c36fc() - { - $this->assertTrue(true); - fn() => (isset(($test =& $test)::${$test})); - } - function test4dd4332b3097ea6ecb4e005ebc2a5d78a5acc5f22d71a6a9f6af10ba2547ea35() - { - $this->assertTrue(true); - fn() => (++$test)::${$test}; - } - function test4ee34f4f48bbfb5a10b95e8d2137c12f59c48dc1cf43690027d4406e612f8d8f() - { - $this->assertTrue(true); - fn() => $test::{$test . $test}(); - } - function test51dcc01b09035376db179893ca1e7c55fd14d417a5332ae628b8ef649d26cd5d() - { - $this->assertTrue(true); - fn() => ($test--)::${$test}; - } - function test532fba018234265b7548c8b3450d79885104838980df5086a72c7574a9fa8ac8() - { - $this->assertTrue(true); - fn() => (isset((++$test)::${$test})); - } - function test53765ed0bd553345e67421c502c9512026445669e153839807c3badae1c6e883() - { - $this->assertTrue(true); - fn() => (isset($test::${$test}::${$test})); - } - function test572e2c0c2f9a2a86197b2c9262814888314e6c16bf3dc316062ae7da6146c3c4() - { - $this->assertTrue(true); - fn() => ($test++)::${$test}; - } - function test57b0b88991c8b2cf3208ebfe0e01021c2f7d55509e5ecf3b42ee21871dddc457() - { - $this->assertTrue(true); - fn() => $test::{$test === $test}(); - } - function test5ace668a5e3c66ad667c1e4266358d62ce6f0826e24fa22b7fa8f6a3c3f62cfb() - { - $this->assertTrue(true); - fn() => $test->{$test}::${$test}; - } - function test5bc8a8a63eff70eb9920bf81f8130269eae7ae28e94c85b5e167c409afed198b() - { - $this->assertTrue(true); - fn() => (isset((clone $test)::${$test})); - } - function test5c82e98761ac166f07d77c5616a1da128b55db54d72f81e7c8d177e2844c761b() - { - $this->assertTrue(true); - fn() => $test::{$test and $test}(); - } - function test6286c49eb45b3c4db6fc27589900ff6bf8a015354f02a16c3b9128e816aadf0e() - { - $this->assertTrue(true); - fn() => (!$test)::${$test}; - } - function test64a5f78ba01ab169b2bac53fd28dc737e378585080f6a6671858dfad2a4f3ffb() - { - $this->assertTrue(true); - fn() => (~$test)::${$test}; - } - function test65081c8fefa1f03484e3b52bd970a782183ecc577283945821afadc5dadaaaf0() - { - $this->assertTrue(true); - fn() => (@$test)::${$test}; - } - function test66651514b89bc8949b1d967d3155ad5d49c16cd412b7a1cceb2829d586d7e239() - { - $this->assertTrue(true); - fn() => (isset((~$test)::${$test})); - } - function test66b98233568723f461499b557c11f6c05041aca9e94cf690d47b123a76b0f564() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}()::${$test})); - } - function test67008f15ae14f6c648c4e4b18ecfa10200ddf67c48d50fd48b1b593a2c30eead() - { - $this->assertTrue(true); - fn() => $test::{$test <=> $test}(); - } - function test6a98bd00ac2e8eb19c140e2ed2a1253c16e60dcafe10f82fd322112b6052a932() - { - $this->assertTrue(true); - fn() => (isset(self::${$test})); - } - function test6b58597ed231e5f6414245f49bed414c0eee6e52b2f05d0d83ae74e39292111d() - { - $this->assertTrue(true); - fn() => $test::{$test << $test}(); - } - function test6c9138315a4c57b1bb93de503cfa3cc951ca1747d7c47da4d30c9bcc896caeb8() - { - $this->assertTrue(true); - fn() => (empty($test))::${$test}; - } - function test6e28758faadece8cc6b171d5274107b16acc80d67debaafeffeaeb1a99c92dd6() - { - $this->assertTrue(true); - fn() => (isset($test()::${$test})); - } - function test6f452e69e6e8f48e27a70055e01d8a58eb129504422f202d6c2d7d3bed0970ce() - { - $this->assertTrue(true); - fn() => $test::$test::${$test}; - } - function test70e964cf6aaa92dd0e2d2e430f6a7c5c12ab7ab2180e3d3582eac41f6081a2f3() - { - $this->assertTrue(true); - fn() => (isset($test[$test]::${$test})); - } - function test71982c0c4c3a8e7fc0872fa6347bceb8124c6173d244df25140dbcbfcc052538() - { - $this->assertTrue(true); - fn() => $test?->{$test}()::${$test}; - } - function test750acb9dca7afaf1217e85eb9dc50c237d56a002a0810cbacb7591d05cb9d65c() - { - $this->assertTrue(true); - fn() => $test::{__TRAIT__}(); - } - function test77f7a42e2e375ec99b59994c02c7849a66afa05bc6c0ffa65815c60cf3f2c57a() - { - $this->assertTrue(true); - fn() => $test[$test]::${$test}; - } - function test80fcb57f1505c1bc52f9dc1b1226a2e1a68a616867248a735ecd1fa3c6e77c7a() - { - $this->assertTrue(true); - fn() => $test::{$test >= $test}(); - } - function test820b4b7fe1b4d4ab9e26b805054537b893b85190079dc9f90cb2019f83049450() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}::${$test})); - } - function test82701e70fdeae260a03b8566373ef4d20848114da961f6873654829b261ffdb6() - { - $this->assertTrue(true); - fn() => $test::{$test xor $test}(); - } - function test87e6f896546c69984bd0438a4b03081002cacd21b081deefa6345b404b9b22e1() - { - $this->assertTrue(true); - fn() => (--$test)::${$test}; - } - function test8891ef7a0e14ba1daf38c2f73601bc10e2b47c34a0df7efd5a37415f7c2040c5() - { - $this->assertTrue(true); - fn() => (isset(($test)::${$test})); - } - function test8e3e3b306313b3e7042390ee725842e367952a71fe5ff64c635086a64a62e43f() - { - $this->assertTrue(true); - fn() => $test::{$test ** $test}(); - } - function test8ec06502bf22ecda300ec9874f8932f6537bf63ff1a4ce3371b76adb53cfa25d() - { - $this->assertTrue(true); - fn() => (isset($test::$test::${$test})); - } - function test8f39e229bbbb86d634ac6399049436b9fb5235d3b6c1c832fb552dce26609516() - { - $this->assertTrue(true); - fn() => $test::{$test !== $test}(); - } - function test902695c39856a4ec564ae5f9e730af27b17134ea263ab024c8c85b6dfa77768d() - { - $this->assertTrue(true); - fn() => (isset((function () { - })::${$test})); - } - function test975b3d2248427aaae36c729226baeda37b4774e0d249e2be3434ab38f2a93056() - { - $this->assertTrue(true); - fn() => $test::{__NAMESPACE__}(); - } - function test97b7411abe2a9bc484794d178a82112b863425816accb3426ac9cceaf9bcca3a() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}::${$test})); - } - function test989ddf814f153a767718497596de767ab92c053b00c7feb35728e30d0bca5e6c() - { - $this->assertTrue(true); - fn() => (isset((eval($test))::${$test})); - } - function test9bd561e407eb7f1b68870a5ce01727242d5a8350570783f3b877bab012ddbb07() - { - $this->assertTrue(true); - fn() => (isset((``)::${$test})); - } - function testa229d2ecf3ca4c9d9925c0073e589f869f147368a5f918ce81ba3191b722845f() - { - $this->assertTrue(true); - fn() => $test::{$test > $test}(); - } - function testa5a86a30f586f1d35b5843bdd8823fd080792d4de8689afee7944b835ba6ec97() - { - $this->assertTrue(true); - fn() => $test::{$test - $test}(); - } - function testa74aed464c119e808e1ea6ca168877b526239eba3d90032d79d742c365b6da61() - { - $this->assertTrue(true); - fn() => $test::{(object) $test}(); - } - function testa8a60a2e391ff53f41b80b8c1c06e3a2b820d79118e638b21ca955db68b46657() - { - $this->assertTrue(true); - fn() => $test->{$test}()::${$test}; - } - function testaf354511f9543013f68d850c8e9104f232e527e692fd16099dd762c549c68b15() - { - $this->assertTrue(true); - fn() => $test::{(double) $test}(); - } - function testafc7b4ef273808a25c41a96f4b125128e751e058fe8e49f0f0f3341ff6bfe07f() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}()::${$test})); - } - function testb3478c46c26bbd5b2d75264ee7c036715aebe83e843cbc083ba20ae2bde3cd2d() - { - $this->assertTrue(true); - fn() => (isset($test))::${$test}; - } - function testb3b05ed6e467986420ddc8a72bcf6c687999b783198430c081e02fdd702e7e72() - { - $this->assertTrue(true); - fn() => $test::{$test * $test}(); - } - function testb5acf87759788db21280b8d4a70f09b90094eca973a2d02dd2778a7ec03b0ad4() - { - $this->assertTrue(true); - fn() => (clone $test)::${$test}; - } - function testb7df5016be93c01892db3af3b909529c33372d97cd00dfb575f3e4fb5a672b6e() - { - $this->assertTrue(true); - fn() => $test::{__CLASS__}(); - } - function testb8545cf3a4a05dc7e2438c8581790b227fba5d9dede98429a7454b4b9ac794aa() - { - $this->assertTrue(true); - fn() => $test::$test()::${$test}; - } - function testbac7b5a79907d9a0634dffe50e039a482c04a4f5db122b0d65868767f69b11ea() - { - $this->assertTrue(true); - fn() => (eval($test))::${$test}; - } - function testbc1c7e362d2123de19d2c90b4049c1b1ff95db64aefd80abd5fd6e3778b96600() - { - $this->assertTrue(true); - fn() => $test::{$test != $test}(); - } - function testbfdad26fa4e0e30d012cbac1efc839e12268cf858ca8ee6d698de85cdb5f1144() - { - $this->assertTrue(true); - fn() => (isset((!$test)::${$test})); - } - function testc103f45570000443b1c43c464b700255c300ed7a632a30e886e86177edc33b89() - { - $this->assertTrue(true); - fn() => $test::{$test / $test}(); - } - function testc4bbba9e73951d0e441c0e67444c5da0680a25b7f6e0b684f4c036c7c32e1a10() - { - $this->assertTrue(true); - fn() => $test::{$test <= $test}(); - } - function testc7b9fa69f44b9775130d2aaaf33b9d8dea9e283b1cdf30fdee811080df9b4304() - { - $this->assertTrue(true); - fn() => $test::{$test ^ $test}(); - } - function testca64569bd0e263a5bdcdfbc7c019e842f47450c3d9a56beea92e9812d2f5071b() - { - $this->assertTrue(true); - fn() => ($test = $test)::${$test}; - } - function testcff6103df7bc20c0093aaf6bbbe18289c13a00ab443eff9bed423004e6dad423() - { - $this->assertTrue(true); - fn() => $test()::${$test}; - } - function testd02f29cd77b5edef7d79c2d2a44ffa8e13390497c9682aa81c58362e9571ee92() - { - $this->assertTrue(true); - fn() => (new $test())::${$test}; - } - function testd2550ba066bd47c337246dd7190e6b96fc62720c4468ab66b6571fe16f264980() - { - $this->assertTrue(true); - fn() => (``)::${$test}; - } - function testd4fcd4452d1e75afaf0ad2cee40d27818288ce1d58a5b8d8885cf61ec077c698() - { - $this->assertTrue(true); - fn() => self::${$test}; - } - function testd504efbceab6c0486401ad1e2ce76e2763006300b9271dde0cdcc6692a964aac() - { - $this->assertTrue(true); - fn() => $test::{__DIR__}(); - } - function testd9587de0f5820c9044881daabc2e5243b2418b38107a035b9da367ff23ce90eb() - { - $this->assertTrue(true); - fn() => $test::${$test}::${$test}; - } - function testdd2ab5e50bff94da93d40a181a530325a0eeab254060ae9cf56228f549d6995d() - { - $this->assertTrue(true); - fn() => $test::{__FUNCTION__}(); - } - function teste331dd333cd115b72e62e451797ed834bc7ecbb8e0487a7c70f0947ebf868fda() - { - $this->assertTrue(true); - fn() => $test::{$test % $test}(); - } - function testef03b99405dac6f61ad5d0eab9daba1e6f59f7638fa3c64aa910a95b4c19ce34() - { - $this->assertTrue(true); - fn() => $test::{$test < $test}(); - } - function testef6b1656c4a6eb094fa56fffc96ca5b3dfa9bcea5bcc6aacc0fe687d66598303() - { - $this->assertTrue(true); - fn() => (isset((new $test())::${$test})); - } - function testf4f5fb73f536341f6484805851883875595991591ed5a3ca8ad57b26e04985f3() - { - $this->assertTrue(true); - fn() => (isset(($test = $test)::${$test})); - } - function testf7671d8da7f75c7e5c1361e1109f922128d7998b6ef6a344065554603960d763() - { - $this->assertTrue(true); - fn() => $test::{(array) $test}(); - } - function testfabdf6589873547ac5a26ac9857b162c792b030f868d5b01e44282a141b3f3d8() - { - $this->assertTrue(true); - fn() => $test::{$test == $test}(); - } - function testfaf38f9a5c3281e3f66198ecb5ead19190ada9b50eef887a2f9da1bfcaad207f() - { - $this->assertTrue(true); - fn() => (isset((--$test)::${$test})); - } - function testfbbfd28bddf22e0d37308c4366bbb039d779a7936dc9a3867b00cc0f35f77c9c() - { - $this->assertTrue(true); - fn() => (isset((empty($test))::${$test})); - } - function testfbcf0a8a4f33142c9e61497715d57454a20c370f976a79fafaf6da1ab9d10d91() - { - $this->assertTrue(true); - fn() => $test::{$test ?? $test}(); - } - function testfe1a5339d28f507c59286fd8f28339868f72fd348ef4c106e0d4ce984da173c6() - { - $this->assertTrue(true); - fn() => (isset(($test--)::${$test})); - } - function testff398aabc16d9c4ce5b939844a79599ead6450fbe41624fe536d3229f3315947() - { - $this->assertTrue(true); - fn() => $test::{"{$test}"}(); - } - function testffe8f7ae4a5cdf657efdcdeec3d6c7b55a0d9e69609785d1bd2f4188ea2051a3() - { - $this->assertTrue(true); - fn() => ( $test)::${$test}; - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test.php b/testsGenerated/Target/Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test.php deleted file mode 100644 index 309d1ff55..000000000 --- a/testsGenerated/Target/Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test.php +++ /dev/null @@ -1,505 +0,0 @@ - - * @license MIT - */ -class Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test extends TestCase -{ - function test007c470f9a69cd8026ec21fdd229f9ddc725c0e22ae35756e34d1c3a476b4098() - { - $this->assertTrue(true); - fn() => $test->{$test::$test}; - } - function test03242534529c3d993a79c6ba2b4094ef080c3463b45ee12557c95a01145c4457() - { - $this->assertTrue(true); - fn() => (isset((__LINE__)->{$test})); - } - function test0669254530eae1c40b132e1bba1c8e061380ab0c4765b4bf5be1265c3c6e7154() - { - $this->assertTrue(true); - fn() => (isset($test->{empty($test)})); - } - function test090bb8605f76f503bc5247beb2b2e46eac12a8874f917ef2247741abba4f0dc2() - { - $this->assertTrue(true); - fn() => $test->{~$test}; - } - function test0c066b84181305e12e5942f0650f118b02bb059a8779f4473e860255f216fdf1() - { - $this->assertTrue(true); - fn() => (isset($test->{self})); - } - function test0ff8742bcf1d210cedb175be1be6d56690fc58bfc7632bdfcdaaf4d946864017() - { - $this->assertTrue(true); - fn() => (isset(($test - $test)->{$test})); - } - function test1216222978d0c2687fa2654b3158c79c04027b0e61f776ca1984000e2fc42769() - { - $this->assertTrue(true); - fn() => $test->{$test =& $test}; - } - function test1a2d0fcd62c81c0ff5c9765212dbe485a7fdd0ad308440453bc39957acfd6e17() - { - $this->assertTrue(true); - fn() => ("{$test}")->{$test}; - } - function test21f42e6fb5d6f00deabde7fe509069a80a60a7b51c74c467c0ead9c50cf3e8ab() - { - $this->assertTrue(true); - fn() => (isset(($test != $test)->{$test})); - } - function test256c6e31f965065eee3c54f3fa55fea58ee58635fc333e73a8e35baa48a4b8b7() - { - $this->assertTrue(true); - fn() => $test->{match ($test) { - }}; - } - function test310defcbe61252581a4289a5562331c042c19f9ee5230287431d15a6a545a4d1() - { - $this->assertTrue(true); - fn() => ($test - $test)->{$test}; - } - function test3152460d1d45fa7028471c664c1984b75c1bd22184af34f7bd1c9b2894a14d15() - { - $this->assertTrue(true); - fn() => (isset($test->{$test()})); - } - function test315b3cee0618b25099cea2b589c01707fe48b757969a2af9bfc068f14ef41d2a() - { - $this->assertTrue(true); - fn() => (isset($test->{$test =& $test})); - } - function test3489b75d07b7488f2ab748ebea9dc2248c6797d933f002080863566751617c61() - { - $this->assertTrue(true); - fn() => (isset((0)->{$test})); - } - function test34fc2ac4118de78e5d5fbf758e6319b968f43443a40bf472779dccc3c0c5b930() - { - $this->assertTrue(true); - fn() => (isset((__FUNCTION__)->{$test})); - } - function test358087789011ef714be02a8746f9d9622d15afb928ccfb19008b9cdd6de71994() - { - $this->assertTrue(true); - fn() => ((int) $test)->{$test}; - } - function test3626f178377a52c67371b12892ad3732c51af469c0532f2ea6816e004339383d() - { - $this->assertTrue(true); - fn() => ($test * $test)->{$test}; - } - function test36a972e6fea62ed816760fb727f8ab46c5df800f07cd1979dd767927b9d3e1cb() - { - $this->assertTrue(true); - fn() => (isset((__TRAIT__)->{$test})); - } - function test3cbd0c650c73663f9ff24909bdc8d6e1d6d709149c8c718a66e7e59d410b0262() - { - $this->assertTrue(true); - fn() => (isset($test->test)); - } - function test3f979b37a234e78ec1a4303cf4732d42912cc0ffc7f41886806f1a430ecdfbcd() - { - $this->assertTrue(true); - fn() => (isset($test->{$test})); - } - function test41c4569231d35a8a8ea50c460a109a1412172a5624169a34c8238f8ee239c1d4() - { - $this->assertTrue(true); - fn() => $test->test; - } - function test44f8a2ae1a5a5f9605221aa48f35d0641e75eab1ac7583dbf9eb0fceb83e418b() - { - $this->assertTrue(true); - fn() => $test->{$test instanceof $test}; - } - function test4721f3ddaf6b1e447579b9af93ab14c90b0423bd75bd74072f4352c47d1f37a0() - { - $this->assertTrue(true); - fn() => $test->{$test[$test]}; - } - function test47e9d5241bed1ded0eaba206a6f3f96287c6337f3f6b141a08c1db00e2431bc2() - { - $this->assertTrue(true); - fn() => ($test << $test)->{$test}; - } - function test4acc18533bc5b74777466d8e6213a2da19098dbeb790664c9a7642cd589e50a2() - { - $this->assertTrue(true); - fn() => (isset(((string) $test)->{$test})); - } - function test4b82a685780a345c528cba928d486317eb3f55738a4a052b25cdf7aa7dfd9955() - { - $this->assertTrue(true); - fn() => $test->{isset($test)}; - } - function test4c935f2e27a8eb3bd24263d3ea3accb2502eb2d5b635ed9b8c40ba405ffb3365() - { - $this->assertTrue(true); - fn() => (isset(($test !== $test)->{$test})); - } - function test4d2aa545fc58efa02345929f56cb6a73ad011ac686fec872de0163923a762019() - { - $this->assertTrue(true); - fn() => (isset((__METHOD__)->{$test})); - } - function test51b441b11fff9e2b99da870bffa92f00736988afa9e9784c746b9b00a9e0d27d() - { - $this->assertTrue(true); - fn() => (__DIR__)->{$test}; - } - function test531773ed60a2ba9a1145c8c9518303ad3fd394a69ad95ec10ce8c2d7b3f8fdc3() - { - $this->assertTrue(true); - fn() => (isset($test->{$test::$test})); - } - function test589b63a0757894ccf49fccfe6ed3fe63ffed97daf6fd21904ad10c3d600c1cab() - { - $this->assertTrue(true); - fn() => ($test < $test)->{$test}; - } - function test58d7b9750bc521255a1eddf4ea68b5d348a5666cb9dccc4753090921eafed68b() - { - $this->assertTrue(true); - fn() => (isset($test->{@$test})); - } - function test5aaa74141866286e1ccbd6602d35420cb41d8b38b2c60f88b37804b90ede8daa() - { - $this->assertTrue(true); - fn() => (isset((__FILE__)->{$test})); - } - function test5bcac079036b68b21d6dfdeb937b4734704645ae0d51756502d547d4737d23b2() - { - $this->assertTrue(true); - fn() => (isset(($test + $test)->{$test})); - } - function test5bf0548ee2cbd50eb672af509dccbcf98371b1b06e97cb906923f6679d8c37ef() - { - $this->assertTrue(true); - fn() => $test->{eval($test)}; - } - function test62bf55e59b1bc465b6641e8d1c360df6aae182f39a7c9d7f4cc19e7b202a3258() - { - $this->assertTrue(true); - fn() => (isset(("{$test}")->{$test})); - } - function test64ac94b7a81c9a27e83ed68ba30b536515b59e3449c17bc3e2d0b80c1695feb6() - { - $this->assertTrue(true); - fn() => ((object) $test)->{$test}; - } - function test688a813c7e76a8e991880d81b7e796c5f200c05b700215a53709bbea858c508a() - { - $this->assertTrue(true); - fn() => (__CLASS__)->{$test}; - } - function test6b6bc9e2462a4ad9761e59a7b52bb438e727cedf2ffea9dae0b1d15dcbef62ca() - { - $this->assertTrue(true); - fn() => (isset(($test * $test)->{$test})); - } - function test6cb8bafaf007ccc732f33a8482fd1e6dbae2ef00ca76bf1986e449663d01ab38() - { - $this->assertTrue(true); - fn() => $test->{clone $test}; - } - function test6cc01ff5a0fb44b617b221763feff0415a16ef0855447913fc8b09ca9679445d() - { - $this->assertTrue(true); - fn() => (isset(($test % $test)->{$test})); - } - function test6d2f92ac7b7299ca875c4fdf62eabc46c104b65d07953e3e67d5e3a6685e74dd() - { - $this->assertTrue(true); - fn() => ($test != $test)->{$test}; - } - function test6dfa21aee09994cd79228cd16c87825c2e6a915685f04fa0e647ff5c7e1e9e69() - { - $this->assertTrue(true); - fn() => $test->{!$test}; - } - function test6eaa7bc0ec4cb55dcb59c5d201e1a75803d1ba275bb425e0bad6b394f8f191f0() - { - $this->assertTrue(true); - fn() => (__LINE__)->{$test}; - } - function test6fbe8fcc8247d351a8accb433c1385978daa26e0ccb9b3f8694f649ff599e2be() - { - $this->assertTrue(true); - fn() => (isset($test->{!$test})); - } - function test7183f2fcb2fd6c709b3b612ecd626a039597c22b535a6f35f1ac887a5e780010() - { - $this->assertTrue(true); - fn() => $test->{@$test}; - } - function test78a0f4dfa75a77b27746b0f5e86df661d0ef3aedc07ed52e6a6091941c04e30a() - { - $this->assertTrue(true); - fn() => (isset(((bool) $test)->{$test})); - } - function test7e8e354dd71e82541df408737bf2175752251a23405c8655738d283ac93e107e() - { - $this->assertTrue(true); - fn() => (isset(($test << $test)->{$test})); - } - function test7e97c9ea2ce3e3d27415979492b3b5cfe5d664aada985069648a98f79e6cac36() - { - $this->assertTrue(true); - fn() => (isset(($test <=> $test)->{$test})); - } - function test7ec0cb11671e26ca072618c29b170719a7d0b13f59b7b7c1d0c19de745f89d3b() - { - $this->assertTrue(true); - fn() => (isset((__NAMESPACE__)->{$test})); - } - function test827b077883e14548c226c5764a1a5cc2f2c9ddb347113b36b4c84c33df6f42c9() - { - $this->assertTrue(true); - fn() => (0)->{$test}; - } - function test849dca7e857aff75ca086c295555975448b15d7464fa224ac80ed78608c90c48() - { - $this->assertTrue(true); - fn() => ($test <=> $test)->{$test}; - } - function test8f5629ffaa4c43a0e5e777a4cd9d42b672021955afcfc5a14a92ed44acb5eeb9() - { - $this->assertTrue(true); - fn() => $test->{$test()}; - } - function test90469dab086493260af2f5535b27f99ce8fd69188de5630026a810383918ab94() - { - $this->assertTrue(true); - fn() => ((bool) $test)->{$test}; - } - function test90ae7dad828b1d4f71021534373dafe763d3e8e9673ea6f18a8d263eeee89f05() - { - $this->assertTrue(true); - fn() => (isset($test->{isset($test)})); - } - function test96f2d918cc7c387c077992c119a7ae1e6ac9f36ec368cd6b986d67fe9f755866() - { - $this->assertTrue(true); - fn() => ($test !== $test)->{$test}; - } - function test97e53951efcf0bd350f61a303289f041c95df239311c2e4f8a33300a69ae448a() - { - $this->assertTrue(true); - fn() => (isset(($test < $test)->{$test})); - } - function test9b2ace203b9032ab14c1f8e2cde197a05095f29877753de4a110f63a8086e65b() - { - $this->assertTrue(true); - fn() => (isset('test'->{$test})); - } - function testa2e96b20f1a87323c6497d93377c5a94beb4aa2cd07cf9b45eabec66867467fc() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__)->{$test}; - } - function testa36f28e12c08a7315e6fe605e191356777d7ae4b07e1d41dbb66ff30c23eb410() - { - $this->assertTrue(true); - fn() => $test->{self}; - } - function testa8a0b2a15cef6ca358f6ea09b9afec2cc3e6e043e249f3a8296afa686afb5d90() - { - $this->assertTrue(true); - fn() => (isset($test->{$test = $test})); - } - function testa94a1ae665d4a7f64c6d804aa90d015645a1c59f6275d412f3f7186b8f8b6f6c() - { - $this->assertTrue(true); - fn() => ($test >> $test)->{$test}; - } - function testadf5a60061373c4c1bbff90870f769f562dbe7840533bf2803468677b9b0a572() - { - $this->assertTrue(true); - fn() => (isset($test->{eval($test)})); - } - function testafd901f2ae5ab1f5c3b8ce159abffe57e6453df666d56c6d5696e783ae7886e5() - { - $this->assertTrue(true); - fn() => (isset($test->{ $test})); - } - function testb2231ed2aa2315eb7e7a77049202fb3bfca85c8674d0bf65b9cbd9c74dc08816() - { - $this->assertTrue(true); - fn() => ($test <= $test)->{$test}; - } - function testb46828a85792469c9caa71a2f71bf36978d6f7b7029eb1fcade8e72a538a1e8a() - { - $this->assertTrue(true); - fn() => (isset(((int) $test)->{$test})); - } - function testb50db17343c11d2795311fc338a6dec8fcdf09248e6c1212d1f14f4907eb4d39() - { - $this->assertTrue(true); - fn() => ($test + $test)->{$test}; - } - function testb612dd260e403e4c24c53be7fbdabcd055827b3db2d659c7503ca6f7a5a9597e() - { - $this->assertTrue(true); - fn() => $test->{function () { - }}; - } - function testb643f9063f438fcf500c5dccd3e5747bfbe3efeaa6eba5a6ac4c333669522a57() - { - $this->assertTrue(true); - fn() => (isset(((object) $test)->{$test})); - } - function testb80b67170d8be8077ac604db9c2ad75e20e7871f133d51d6d2d7a85ba296dbaf() - { - $this->assertTrue(true); - fn() => (isset(((double) $test)->{$test})); - } - function testb89487e601e8cc793f1575ccc0cff2eb0b182e05324d3a92f8bf52939b56677a() - { - $this->assertTrue(true); - fn() => $test->{$test}; - } - function testbb0b3dc35549acb8b6d54997899a946fad21547e0861a2a6f7272bb8f67002f6() - { - $this->assertTrue(true); - fn() => (__FILE__)->{$test}; - } - function testbc1cfffd129a0e62bfe5a63e6091f33ae917730348e59f79c593b83cc8c14a5e() - { - $this->assertTrue(true); - fn() => (isset($test->{function () { - }})); - } - function testc30e8e775e91ef17c7f98d0806b602ca1b4e941cced38f6b37c62051ac327c19() - { - $this->assertTrue(true); - fn() => ((array) $test)->{$test}; - } - function testc41ffb119718f82d9a6ce70d3fb5e7324bc21f08267a542d9439931a74a4aa80() - { - $this->assertTrue(true); - fn() => (isset((__CLASS__)->{$test})); - } - function testc4438c655e424a8a2af380e77449fae2087749ce506cc123bdbae7fb42f2da03() - { - $this->assertTrue(true); - fn() => (0.0)->{$test}; - } - function testc5f151ff5d872e849c75313981b8390c725b38cc9693049e90781a469ffcc5be() - { - $this->assertTrue(true); - fn() => $test->{$test = $test}; - } - function testc913236a7f9cea6b063a9a084dc2c450598225fa6b353950d238d8abce80cc85() - { - $this->assertTrue(true); - fn() => (isset(((array) $test)->{$test})); - } - function testcc00fbc9fbac4c59cd41452342bd87b6aef326ca816d189b09671a28128c75b3() - { - $this->assertTrue(true); - fn() => (isset($test->{$test[$test]})); - } - function testcf7057a13eb2a379411a1afde178a34c402dad4e7cb370f8c563cc4b72798ec9() - { - $this->assertTrue(true); - fn() => (isset($test->{clone $test})); - } - function testd8025ff6f5275586facf4b7e15f568bda15e7b13fa7d6fdf7917c4da2d8564e2() - { - $this->assertTrue(true); - fn() => (isset(($test >> $test)->{$test})); - } - function testdffb681d2106c9ff6e904f9ab9b72c7bd67cc3b9275c28bc403dabcbbb7d7c7c() - { - $this->assertTrue(true); - fn() => (isset($test->{~$test})); - } - function teste17c2466250e4832add421a7a5656dd0310b896215266d80db46c82e68a11b4d() - { - $this->assertTrue(true); - fn() => ($test ** $test)->{$test}; - } - function teste59286a3ab6cda7ebe45a27f655bbff55dec349a21f0391e2b707db26bf14300() - { - $this->assertTrue(true); - fn() => (__TRAIT__)->{$test}; - } - function teste5c25af44f708227a542f37752d23812786a78094dc43414a446c4f3126a341f() - { - $this->assertTrue(true); - fn() => (isset(($test <= $test)->{$test})); - } - function teste5d40fb773877ea9fe8e39bc3653f80ae0071edb3751fbb5d8a8719d71cf8a83() - { - $this->assertTrue(true); - fn() => (isset(($test ** $test)->{$test})); - } - function testef1ea70540e0e5738e49a40a5b3905f4951afc9f82485a7a8e34694ef90a4d82() - { - $this->assertTrue(true); - fn() => ((double) $test)->{$test}; - } - function testefbb65a360337896c51d0b259e7d56eed09a2b89d7586260a8e6e146de62c440() - { - $this->assertTrue(true); - fn() => (isset((__DIR__)->{$test})); - } - function testefc20b0392e1a748e56ffc35f4ebdac4ab3a5dc83efabdefd94f2cfb38a8c054() - { - $this->assertTrue(true); - fn() => (isset($test->{$test instanceof $test})); - } - function testefc318c87e5222a0c9940adbc24c96815951dd4a4943bf91db888e700c510f6d() - { - $this->assertTrue(true); - fn() => (__FUNCTION__)->{$test}; - } - function testf2c1c3255f7512308fd84f73db1f2b55e3dce72b7a9add7619dbacb8e03ed8c6() - { - $this->assertTrue(true); - fn() => ($test % $test)->{$test}; - } - function testf3d7dea2093c0c812520dc8e9ab9cc142e4804535f10a30dc65b34dac27167ea() - { - $this->assertTrue(true); - fn() => (__METHOD__)->{$test}; - } - function testf41ebff2aaf818138af9970c240ca45400ca9909ed962f0f7786772272f785b0() - { - $this->assertTrue(true); - fn() => (isset(($test xor $test)->{$test})); - } - function testf653c96aaf5de57e1923040108362e2e77e19f1e53cef6e4144f46aadf77ffef() - { - $this->assertTrue(true); - fn() => (isset((0.0)->{$test})); - } - function testfc08843aa965f595dccd5c64af7c9c6a171ab4c820ad3c6b724dd07b218c05f5() - { - $this->assertTrue(true); - fn() => ((string) $test)->{$test}; - } - function testfc0c98949724bbeeeda9e11310aada9e9e3ccfe57533f61533feca7e838d5522() - { - $this->assertTrue(true); - fn() => $test->{empty($test)}; - } - function testfc62f91c9fc949668908709c123fa3c1454a0c9d8783f61c9bd0844e42076fc1() - { - $this->assertTrue(true); - fn() => 'test'->{$test}; - } - function testfeac04d5d62d4867522c0061c0ef26dbab7fdfda6b8b5f34dc1914e42bf2c0a7() - { - $this->assertTrue(true); - fn() => $test->{ $test}; - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest.php b/testsGenerated/Target/Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest.php deleted file mode 100644 index 51a13f255..000000000 --- a/testsGenerated/Target/Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest extends TestCase -{ - function test00933cd14cf120243af0dfd3ad7bb8378f0edaeeb0b04b068970b4d476503bb0() - { - $this->assertTrue(true); - fn() => (__DIR__ != $test); - } - function test04a2b6e1dc36b04346572a8d45a8d9618263911c88b0d124aba596bc6a042d0a() - { - $this->assertTrue(true); - fn() => (match ($test) { - } != $test); - } - function test0c782785bc6b3e88a4def5b4613ed6ce820a473a583b26da36635e1ebfed0459() - { - $this->assertTrue(true); - fn() => ($test ** $test != $test); - } - function test10699520f92eb4652036630bd7557964f4245bf5ff427696d8d3955b5fdf77fe() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() != $test); - } - function test18bdfae96e9accb5d68f19ffeb547887766aa18ef259b3a94975d2762eaa0504() - { - $this->assertTrue(true); - fn() => (($test <<= $test) != $test); - } - function test1ac4e1f231517e9186eccaafee35c44fe10e8193d922fffcd0b582bb97b1b8d8() - { - $this->assertTrue(true); - fn() => ((array) $test != $test); - } - function test1c4442cba2da021baa4b567c1505a001ef5321a7258248c6bb08472daf565d7f() - { - $this->assertTrue(true); - fn() => ($test-- != $test); - } - function test1ed583b0f3ee805fa33b20c8a430e50b19c29eed8ea0e303f80f7f4f35bd6187() - { - $this->assertTrue(true); - fn() => (($test xor $test) != $test); - } - function test25f6a5c82a6c2a3e4e8a5fb96d1be8fa51f785003cd5db8e0b40228cc7bd14b0() - { - $this->assertTrue(true); - fn() => ($test::${$test} != $test); - } - function test265b8ab173f0e2071ec652537c9f17ac5909bd06cf30a384f0f28ae599f00e29() - { - $this->assertTrue(true); - fn() => ($test * __NAMESPACE__); - } - function test26719a6ee8341200d21dc113cbe5ba2a58426fb67aa0429374dcbd92b33cf4c3() - { - $this->assertTrue(true); - fn() => ($test?->{$test} != $test); - } - function test2acefd07738a3ce6996d82ca71de9f5cf577a4a18c1524945bba0990707d8e47() - { - $this->assertTrue(true); - fn() => ($test - $test != $test); - } - function test2d0262b4892cc51d647fa16298382f7532cfd651ed670fc90a0c340bce64a19d() - { - $this->assertTrue(true); - fn() => (`` != $test); - } - function test2f221b39d65e5d42c310aabb2d16afb2cc1d59411f47a0e66b2baef253f22880() - { - $this->assertTrue(true); - fn() => ($test >= $test != $test); - } - function test30b204ce6103034e87e4ad5471c7442cc615b6ab540c3ee4f16cdbcebb3e9d5f() - { - $this->assertTrue(true); - fn() => (($test | $test) != $test); - } - function test32548b16f4a79f8afc80ee5a389f8f89c6b84851580e8ef9de639670f8b4faa4() - { - $this->assertTrue(true); - fn() => (self != $test); - } - function test3a6ba6be217a77eaf26e0e547aa22df600a16dac20f14bd15dc1194e631b9a3d() - { - $this->assertTrue(true); - fn() => (throw $test != $test); - } - function test3aa292b69cd131bb6af460cdbfee47163ed96c1f806698ac624a545251a82ebc() - { - $this->assertTrue(true); - fn() => ($test / $test != $test); - } - function test3abec132e5e5ffd2cd94baaf198c973a6923e3a0a04598ece11162c814a0d9ed() - { - $this->assertTrue(true); - fn() => (($test |= $test) != $test); - } - function test3b52c92aac253149e1ab188327b05883a28779eb1cf030f1e5f62914e3e12127() - { - $this->assertTrue(true); - fn() => ($test != $test); - } - function test3c04637ba713f287f8dd99a9269e04ac014c5dc94d682ef3978beeddcd8af32d() - { - $this->assertTrue(true); - fn() => (${$test} != $test); - } - function test3df2c13e2c44705684390412d5d62e111476ca016fd908cd0f712c309a8ad3ff() - { - $this->assertTrue(true); - fn() => ($test++ != $test); - } - function test409695838864255b4b51dd5132fe68e6a4f9d233bcdcac5f88ad733323eda36d() - { - $this->assertTrue(true); - fn() => (~$test != $test); - } - function test4199acca88859965fe6f199e68ec27204851681a80f5ef12f10a78c29145d49f() - { - $this->assertTrue(true); - fn() => (__FILE__ != $test); - } - function test43a406fa64b64c14e3e0e1a81926514934cfc9a5ce7a1000acc156b4129bca8c() - { - $this->assertTrue(true); - fn() => (($test ^ $test) != $test); - } - function test46eb58e391acb728a1ac4c65fdebb1c8053d43779f4774b57c1c4fd3f9165050() - { - $this->assertTrue(true); - fn() => (($test %= $test) != $test); - } - function test47a111279212f9d6827ac802995493279751e5203eb6e00f7397a5e3fe735d7e() - { - $this->assertTrue(true); - fn() => ($test[$test] != $test); - } - function test48413afa8826fa0246ecddd76b2b17f7eda787b889e15e5efa0f60a86e746eb7() - { - $this->assertTrue(true); - fn() => ($test * $test != $test); - } - function test4a48ff716a1e06f9fd213f3c89dccfa584f8e6bb74ed9c89efa54e7b406ee823() - { - $this->assertTrue(true); - fn() => ("{$test}" != $test); - } - function test4c290debc3bfab55aca000491de1f4acd5519bd132bc0a7c86d53a7a538be98d() - { - $this->assertTrue(true); - fn() => (($test and $test) != $test); - } - function test4ea92dddf84e8ac5922f2941f2e69859c5357afdf45fb641181adb9e32ddeb30() - { - $this->assertTrue(true); - fn() => ($test * __METHOD__); - } - function test4eb57c847024f3aa09220fe675cef1b2c4e1a767e01348d8acd56c86ca5f4eb7() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) != $test); - } - function test51052096835924742c165d3e3ef5e28a09643a52e56cd54622e125b139c53d46() - { - $this->assertTrue(true); - fn() => ($test > $test != $test); - } - function test51534290357460e7e59426260cdc10bb9fd951b244685eaf72752dc20bb8c8ce() - { - $this->assertTrue(true); - fn() => (($test === $test) != $test); - } - function test52903af96bab61ebeca74775701682203e932ec49497f9d8e61d1093a874e907() - { - $this->assertTrue(true); - fn() => (clone $test != $test); - } - function test5477a4dba6147a95dcc6b199f7b4a88461aa59b8a05408913149d10c242e4115() - { - $this->assertTrue(true); - fn() => ($test->{$test} != $test); - } - function test55d9ab140c5f70abb5bbdbd5e153637bf62195be344fee5342ea8ffbddd036fc() - { - $this->assertTrue(true); - fn() => (isset($test) != $test); - } - function test55f1b9b740dc39d68e042a44a673eea8bbaa0b045c9b8de65df140fdb6b84b7b() - { - $this->assertTrue(true); - fn() => ($test::$test != $test); - } - function test5672ba618fcadc56fcd7e9f90d02b467438a17a49bc8bae067500372fcd7b9bc() - { - $this->assertTrue(true); - fn() => (++$test != $test); - } - function test5f0acde929264cf49f68ab115894df2a22db643a251b70f82d1b4cdb7f0f30a2() - { - $this->assertTrue(true); - fn() => (($test ?? $test) != $test); - } - function test604191b02d0f421928f316fa4dc346984997bf45d81e6dcfcb1f1701bbd37790() - { - $this->assertTrue(true); - fn() => (($test or $test) != $test); - } - function test61f3b0eada49a5a990dbcb5d3f35c76d8c79f410636aa7615a55595270396581() - { - $this->assertTrue(true); - fn() => ($test instanceof $test != $test); - } - function test678b3d3180a09412259148e1ec8956f5dcbeb69fe0865c1b97b699dbb8c2bd47() - { - $this->assertTrue(true); - fn() => (($test &= $test) != $test); - } - function test6a8a71fbc8ee8d1051f840a055157c55b508e9c66e9a366c1293df0b29b565ff() - { - $this->assertTrue(true); - fn() => (+$test != $test); - } - function test6b9396a787ab2120faeada2199f6aab2e22ad3a3472d210e00076f2665939e0c() - { - $this->assertTrue(true); - fn() => (eval($test) != $test); - } - function test6be6acd4f5cf41eeb1c98d9fe38e80661fc2a2b960d69cffa11018e9a9fdb311() - { - $this->assertTrue(true); - fn() => (new $test() != $test); - } - function test6ec113646b8510c4242ac7280dc3f0378e611303fa0a865bc924d0158f0958e5() - { - $this->assertTrue(true); - fn() => ((bool) $test != $test); - } - function test71b4f5d2c969fbcf0fa6f91aa40810ef2b2da341be25bfba9354116d8fa35647() - { - $this->assertTrue(true); - fn() => (0.0 != $test); - } - function test7310dbfb4c311786b25a6f13e8e7ca521e024cfb81e7427e52961c0926c055d7() - { - $this->assertTrue(true); - fn() => ($test * __CLASS__); - } - function test74d96fe77cd4cc0653101038a4e4e6dd96ec866aa687234cd1af4828ea399bb7() - { - $this->assertTrue(true); - fn() => (__CLASS__ != $test); - } - function test762812c8de572778c4c7c3cbcf99ab7a1bb6ad086633f2ddeadbd8cddf6f5210() - { - $this->assertTrue(true); - fn() => ($test::$test() != $test); - } - function test79652fc5f2359c025924235c2ce120e8bc3ed0a7d56b5df405de03dcf7b40acc() - { - $this->assertTrue(true); - fn() => (($test == $test) != $test); - } - function test7e259f60ff34f495c0f8a1a363807ca7c79d57cd832a5e1a821a4be5573875ef() - { - $this->assertTrue(true); - fn() => ((print $test) != $test); - } - function test800e73802df908a770c478fae330599031e9d470bd7c93cda80b379dccac05e7() - { - $this->assertTrue(true); - fn() => ([] != $test); - } - function test828ee3c48f2facaf6f732af39f8666a3dd5b77cc32fadce048ffdd46246cf7d0() - { - $this->assertTrue(true); - fn() => ($test % $test != $test); - } - function test83081868c4d24ff52e79422e97b4b74e51af81b3b0d75531f8c8694c3e227e3f() - { - $this->assertTrue(true); - fn() => (($test >>= $test) != $test); - } - function test833de7ba7f9bdf2784a222cd6ccb0b48777b60601b6e0a80029b8ebac00f88f8() - { - $this->assertTrue(true); - fn() => ((string) $test != $test); - } - function test836c8c1335d70f68cc74f4670c03dd05e41fb3452314aaed2f97c04e2442980d() - { - $this->assertTrue(true); - fn() => (($test /= $test) != $test); - } - function test854125b2a44f570c040944e261833950cab0083b8bb5494bf36ed7bc336a6da4() - { - $this->assertTrue(true); - fn() => (($test ^= $test) != $test); - } - function test87ea97ede0f39ff80db38ce24492bd7e78aa0c34830741c435b55f98f51ba3c8() - { - $this->assertTrue(true); - fn() => (($test += $test) != $test); - } - function test88d5b6c2221850d538fe9d0ca07c150537e4db4458eb3701709756998babd7b6() - { - $this->assertTrue(true); - fn() => ($test * __LINE__); - } - function test8c9ccdc7ef265effcbef594cc5a7570c30060db499e28a6c910ba86e52fbf03f() - { - $this->assertTrue(true); - fn() => ($test * __FUNCTION__); - } - function test9359c23e9f0e02a6697fc03691e874b165669cd1b6ff7949062cdd6e4f25b641() - { - $this->assertTrue(true); - fn() => (($test !== $test) != $test); - } - function test95338ec333b2e0d82fe04b247c4ccaa724444bdf63684a6d3030965be12e6b75() - { - $this->assertTrue(true); - fn() => ($test * __DIR__); - } - function test95d72f309b52363ba6482811ee788ba622ca597c66df07a03cec62b8e03e6981() - { - $this->assertTrue(true); - fn() => (($test **= $test) != $test); - } - function test984168b5c27334938717ef3eda005cf339897093949bcef48a09ddfc88f3561b() - { - $this->assertTrue(true); - fn() => ((object) $test != $test); - } - function test984d183802fa644fb0d0d37789d7a094dc85b5696577a675276370a7a7424245() - { - $this->assertTrue(true); - fn() => ((int) $test != $test); - } - function testa34b3b2f6a7df54d4e2af89412d0ced75d28d834c954559c55ad8e85896405bd() - { - $this->assertTrue(true); - fn() => ($test * __FILE__); - } - function testa3db964cb47e1c43f6dca9790fc24ea0acf99672129e7fef28a3df805b2b3b72() - { - $this->assertTrue(true); - fn() => (($test || $test) != $test); - } - function testa603406fda105d70ff4f3ad2b380da75c64a853ad0c1aea39efb1baa6f2fe64f() - { - $this->assertTrue(true); - fn() => ('test' != $test); - } - function testac53b6f4a541cd3e69dddb693d8d357e22f8176b51df0643cf5cd3c59fa6aca4() - { - $this->assertTrue(true); - fn() => (@$test != $test); - } - function testadcb9745c84c7757faae6309d35923c9e7ffdfcdda6d2d3398a2282c4bb1ac90() - { - $this->assertTrue(true); - fn() => (--$test != $test); - } - function testae37b2c01cc7ff5f2b1e51dd7f6b4d02d1dd2113c96e6e99e2afb2820cd15574() - { - $this->assertTrue(true); - fn() => (0 != $test); - } - function testb0dc9f7aeddcfb2c7120216f9cfdaf23900412fe9d4d3389ef618f5ddb791e2a() - { - $this->assertTrue(true); - fn() => ($test <= $test != $test); - } - function testb57c5edfb7de7e240f4d996e20b2ea23dc19411e75ef8f95f697477c4ade2772() - { - $this->assertTrue(true); - fn() => (($test != $test) != $test); - } - function testb76a8e483bbcf490e2de67b99a6e74d4508cc8d59baaf41036d2e8f30aa93908() - { - $this->assertTrue(true); - fn() => ((double) $test != $test); - } - function testbc448450c88b4e537d42ce1bf90d85fa059e74a7f89012e396e41b29adb54d1f() - { - $this->assertTrue(true); - fn() => (($test & $test) != $test); - } - function testbc576eebe6aa7785bcedea90caf2919c754692b16bd99e0e883f8f58013b2a5b() - { - $this->assertTrue(true); - fn() => (($test =& $test) != $test); - } - function testbca11d6c20eefe42dc3650c8902453a115b5c749d3474275438bc4ac50655e68() - { - $this->assertTrue(true); - fn() => ($test->{$test}() != $test); - } - function testc1bb2707d6f5dc6ac754526818a97a3524fc6df3bbbec87ddd9e42a8484773da() - { - $this->assertTrue(true); - fn() => (($test .= $test) != $test); - } - function testc5afa44f28b08f65a6503804a266fe0bdc56d114aac14f53e82c63fd3efcaac5() - { - $this->assertTrue(true); - fn() => (empty($test) != $test); - } - function testc6bf32e9dbd03a1cdfdea90753b374a28bc2745957e7d8cdb6f8a89154fd06c1() - { - $this->assertTrue(true); - fn() => ($test * __TRAIT__); - } - function testc72951e9dc1c99d9c759c11eac99d46e8834e1e597ecc526ee0e4fa64309c055() - { - $this->assertTrue(true); - fn() => (($test = $test) != $test); - } - function testcb6ebcd2a67a514a5c4659ef2cf259bcd85b502e8d6db172a25b1b60c413bee9() - { - $this->assertTrue(true); - fn() => (( $test) != $test); - } - function testcb97aba151c5307e1a52aab7b50d8b053c811a241c1e30a0ab34a9a96fd05a82() - { - $this->assertTrue(true); - fn() => (!$test != $test); - } - function testcf10fb4947901245c486e2fe445bb16c5bca0b5dd5b83efe1ff4984ed754f4d4() - { - $this->assertTrue(true); - fn() => ($test . $test != $test); - } - function testd0b9029d6097c9275faaa05ff67141d14a5b60df1086802586ecf44f6e3b9c41() - { - $this->assertTrue(true); - fn() => (($test ??= $test) != $test); - } - function testd17123ff42f63ae97a4fd5077f547a48b45cdc3a789710442b2ef9af44dfa8a4() - { - $this->assertTrue(true); - fn() => (-$test != $test); - } - function testd1d4b2d7613cc6d3cfcc0dd22675c93168f990fa8c50b90af4855caa20677eb1() - { - $this->assertTrue(true); - fn() => (function () { - } != $test); - } - function testd23cfd1edc0b15c8157f663ca424e0a491c76d4333eb1d48e961bc14ebf66c19() - { - $this->assertTrue(true); - fn() => (($test && $test) != $test); - } - function testd552ae489f8e364687986050ffcb4f1e21ce3a3bd4cfe9c4b60f6130aa5d2dc4() - { - $this->assertTrue(true); - fn() => (($test -= $test) != $test); - } - function testdbea055d8b3b0e5ecd6b62031cb92231fdc73ccb686713f602f1c0853f264e99() - { - $this->assertTrue(true); - fn() => ($test() != $test); - } - function teste7418d50903f1f9934a2aaddd73f0914369ce9a3165722d91a218db027daa704() - { - $this->assertTrue(true); - fn() => ($test + $test != $test); - } - function testeac925b318f7c2ba2a14ee2715be044e4b03d99969f66225402d9b6d243b7f3d() - { - $this->assertTrue(true); - fn() => ((yield from $test) != $test); - } - function testece79e6bede5cff1ae506e1a6825f1e93a556f58590db135c3b2d15b968eafe2() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) != $test); - } - function testf3b315dc2018f660c7ff2fa5b81ce2d512f2ee02c58775e64f3359cfcaa39046() - { - $this->assertTrue(true); - fn() => ($test < $test != $test); - } - function testf4d3c2fd30f4804d4a1910ec2f0ddf6137c4fc84ca802632c16f21081d8702ff() - { - $this->assertTrue(true); - fn() => ($test >> $test != $test); - } - function testf5e7706fedfbdc45e9858c862933938a63fbe7ac888fca6a5171a989fc737a39() - { - $this->assertTrue(true); - fn() => (($test <=> $test) != $test); - } - function testf93eae667110421380a87202437b9520a52faf57e35aa161560a4a2e6bd469ac() - { - $this->assertTrue(true); - fn() => (($test *= $test) != $test); - } - function testfccf920554c08ca2d47e964ef3775136fdadc0622cdab1910f261bc52886e37c() - { - $this->assertTrue(true); - fn() => ($test << $test != $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest.php b/testsGenerated/Target/Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest.php deleted file mode 100644 index 1744bbb8c..000000000 --- a/testsGenerated/Target/Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest extends TestCase -{ - function test01b84eba6541b370c0810e86d23230e957ea011f473c75010ba80bb553fe5949() - { - $this->assertTrue(true); - fn() => (($test xor $test) % $test); - } - function test05f987329ecde4fde1cfd934623d3e2a8b129eafe3e9251b219989e724e74ede() - { - $this->assertTrue(true); - fn() => (($test && $test) % $test); - } - function test0da3c0934455b6201fbc223631ba647e574656b84e962ce644edd7fa37b94bb3() - { - $this->assertTrue(true); - fn() => (${$test} % $test); - } - function test15f6d6045a1a5ac22e33eb01a3060307e47d934a942b45fe05458f3f5040e8a9() - { - $this->assertTrue(true); - fn() => ($test % $test % $test); - } - function test1673ec0211ba8061acf786d491a525c1ef18cc56d919ad0f866d3724bfbcb496() - { - $this->assertTrue(true); - fn() => (--$test % $test); - } - function test16e545a8ba1b15a3f6f7dc9dd910d01c34585d9b92de4025b9301cc777ecf3ca() - { - $this->assertTrue(true); - fn() => ($test::$test() % $test); - } - function test1739d686d72e1c3f1c53d8bdf44bff56693c7018f051503c0e51fa4899774acd() - { - $this->assertTrue(true); - fn() => ($test instanceof $test % $test); - } - function test187f84ff13b66058727f0eb15c4c9ae2ab44bd2f91a12c726bd8967f98fec4e5() - { - $this->assertTrue(true); - fn() => ((print $test) % $test); - } - function test1c78cf31ebbccc8c506984956fcf17d23f5044ca01f052cef7c81e6a0fbe4dbf() - { - $this->assertTrue(true); - fn() => (($test |= $test) % $test); - } - function test1d39f7c1cd013ab9d70bac39460a566edf6e6089fdfbb7f31268c810bff59e1c() - { - $this->assertTrue(true); - fn() => (($test <= $test) % $test); - } - function test1ddf717f745226f1a4babd3a57ca98442b1eb5349b621133c015959765de0092() - { - $this->assertTrue(true); - fn() => (($test = $test) % $test); - } - function test1e6921801b9f91c9cba148968e2ab3d692d9447f2627c133bb3bd9d4e91abd24() - { - $this->assertTrue(true); - fn() => (($test += $test) % $test); - } - function test2175a1de8d8e4a48addba153e9f222b3176c3112b862adc6b4339cf61c66e117() - { - $this->assertTrue(true); - fn() => (($test .= $test) % $test); - } - function test233f7439bda97afa1715efca71c7a4a59b183a9a90cc54ffe6f2c7ba99fc57d4() - { - $this->assertTrue(true); - fn() => (($test > $test) % $test); - } - function test25da8cf8814093f68baa7b0b5b0c0c1819996b72e6698533527acfe1fe1e2295() - { - $this->assertTrue(true); - fn() => ($test - 0.0); - } - function test292f5467cbbea686665e8abd446349801f4c01bc5414524e760748cbc4f14e38() - { - $this->assertTrue(true); - fn() => ($test - (string) $test); - } - function test33b45903e8e3cc78a59580d4a18a821c9af27a139086c50cf5b2032992d5bb5c() - { - $this->assertTrue(true); - fn() => ($test - 0); - } - function test3652eb761f51859dffc8225b06f0f05fd69e55c5dc99a1d332d308a11d433f17() - { - $this->assertTrue(true); - fn() => (($test <=> $test) % $test); - } - function test39c750a91f9d575f95505e2729d155e733da976926fbb30357f77218113a2ce5() - { - $this->assertTrue(true); - fn() => ($test - (int) $test); - } - function test3dc32bd5f478301d1eb6dfbe3489121b8b0b75afc9772a6ac5ec8113d363d836() - { - $this->assertTrue(true); - fn() => (($test & $test) % $test); - } - function test4089df1ee4638a04756f66afeca69fd7c649b7a23f5feb0a60f3287095a5d569() - { - $this->assertTrue(true); - fn() => ($test / $test % $test); - } - function test41849e4f2708ede316903f9cc88755b75b937858f4495ccc7bad381f9d4a1588() - { - $this->assertTrue(true); - fn() => ($test - __FILE__); - } - function test41d9fe99463674b711500c3390729319ae8bd1fa6ccf69ee4e69a8dadfc7033e() - { - $this->assertTrue(true); - fn() => (+$test % $test); - } - function test422522c35999352a4e793afda64d3e766ee5e6ff39d8e6f8e478205dc07ce7ab() - { - $this->assertTrue(true); - fn() => ($test - __TRAIT__); - } - function test45d1df6bbe362b43171662cd974981212922df938022bce1303f3eee46027ccd() - { - $this->assertTrue(true); - fn() => ($test - (object) $test); - } - function test4b7aaaf7b7da0584419f832222403c5359b3e8e0452a26d4cdc546d702451ed9() - { - $this->assertTrue(true); - fn() => (isset($test) % $test); - } - function test4c30ec9b1af5fb411634fb78f32843a0fe36ffaad5d94ab8408100ad87680edc() - { - $this->assertTrue(true); - fn() => ($test - __FUNCTION__); - } - function test4cb7581ed784b3a1ceb06242d3974468fb4cd74127cc4f1fd5aebb8fac9c8a2d() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) % $test); - } - function test4ccdea09bff87616a1b29fc6aeccfd6cda9351a70eac57b4a314b7bb8e0d9d95() - { - $this->assertTrue(true); - fn() => ($test++ % $test); - } - function test4dceae4b279abd55623bbbf09583add56544e4a216b2e90ed52ce38369896875() - { - $this->assertTrue(true); - fn() => (($test /= $test) % $test); - } - function test4de9499d4423d79367ec83f5a4a66914d88038e44604998cb2a54e0d18265101() - { - $this->assertTrue(true); - fn() => (($test >= $test) % $test); - } - function test4f318b02cb419bf29063cdfaaee0eedee801a22f3de194ef6d288a28f6f1c573() - { - $this->assertTrue(true); - fn() => ($test[$test] % $test); - } - function test65ab98fc7c887763766d186831a95fb9f4fecbc4cb24d9c4b465d70dc100f674() - { - $this->assertTrue(true); - fn() => (~$test % $test); - } - function test661b5494d7545c519ef9f5640e6ed37139f069285d65fe471f9134996e35c551() - { - $this->assertTrue(true); - fn() => (clone $test % $test); - } - function test6732fbe58b2a27e3b64da7db2d95f1f4b4169e3c87793d3483afb49e6bb8ecf9() - { - $this->assertTrue(true); - fn() => ((array) $test % $test); - } - function test6d06c00de3d49e18880cdc15f4c71ac194472f00d7ba74f09196713c9462c6d8() - { - $this->assertTrue(true); - fn() => (!$test % $test); - } - function test704bf3839c612245d10fcfa3d77c4ded25e75d6ef17e83e5b2e87c5aa36ed019() - { - $this->assertTrue(true); - fn() => (self % $test); - } - function test724d364e4b44fcfa37e06ea62ccffa92ce96cb3c7849f758789379c0849adbab() - { - $this->assertTrue(true); - fn() => (function () { - } % $test); - } - function test7292866fc1fe6af7444c54bab844a877e316cbd7c500cee86bac7c4d742a9152() - { - $this->assertTrue(true); - fn() => ($test - __CLASS__); - } - function test730b98258fdd42a5230ca0d34106ebb342dfa39da76b25c116e356d7630deaba() - { - $this->assertTrue(true); - fn() => (($test ^ $test) % $test); - } - function test7567ab42c35ce3b97f2edf5d47e7d16f32c04fe3d9152477a63499cfeb33ae2c() - { - $this->assertTrue(true); - fn() => (($test | $test) % $test); - } - function test762441a216a80fa9626d5375c85b66bc6828c9fc636c1677185aaf13a3c016b3() - { - $this->assertTrue(true); - fn() => (empty($test) % $test); - } - function test768ee7f4a09d25ad3974e237364f839b4d53116b5250203b5b89da22939d957b() - { - $this->assertTrue(true); - fn() => (($test . $test) % $test); - } - function test76ff620c451f1ff0be94ca080309e072ca88e7c59d3c422b25cb0edc537098cd() - { - $this->assertTrue(true); - fn() => ($test->{$test} % $test); - } - function test7864f8b4f64a95b91674d39a9ef90a842dd4df9a3388a50f04c3d7662f68501f() - { - $this->assertTrue(true); - fn() => ($test - __METHOD__); - } - function test7a73770bba2bba93e4c84e2af9528a932b6f5368aee67e630e8b6fcf0da6a685() - { - $this->assertTrue(true); - fn() => (($test || $test) % $test); - } - function test7b33b498f48500cd92ee403867856cc7096511503f30f4941597ca8e60fc459a() - { - $this->assertTrue(true); - fn() => (($test and $test) % $test); - } - function test7d73c5e360da6dd88429331882a8428c0e327e12faeedf3d553b4ca38e5d9028() - { - $this->assertTrue(true); - fn() => (($test **= $test) % $test); - } - function test8110b9b71b38cbf470834e5e0d9a29b126553e57477503af2176a69694d9b114() - { - $this->assertTrue(true); - fn() => (eval($test) % $test); - } - function test81ae32103951e3bb2a65950f842a823793fe2c03cc49118b6f2ff235dc7c64b6() - { - $this->assertTrue(true); - fn() => (`` % $test); - } - function test82b087c650e02db4017b1a6cb8134f92bbe48723f706c3936b2aacebb0661fdf() - { - $this->assertTrue(true); - fn() => (($test == $test) % $test); - } - function test836e2ee849909319d92d8b5ad118b30bc537ddcec5ee68d0b52717a0564a0894() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() % $test); - } - function test8c01a705af0ea749f6d1b908c202c6e5639e7d78676ac3ce942519b355c4bced() - { - $this->assertTrue(true); - fn() => (($test - $test) % $test); - } - function test8d22ae51fee26fa4c78cfcd1a418edaaebe1e675144311bbc74145a59c1390bf() - { - $this->assertTrue(true); - fn() => (($test + $test) % $test); - } - function test8d72c188ed131ab6271257590d14bdbd03e68e948c2d40bfd07fa3ddb9fd5c97() - { - $this->assertTrue(true); - fn() => ($test - 'test'); - } - function test8de05b3770947a8c881de81fec28a3db84e3d67e88e04ed38dba253b40f51a9f() - { - $this->assertTrue(true); - fn() => ($test % $test); - } - function test8e6bc5841d6088c37940fd2f663672ec8bfe73fb73a15cfd92dcdd2a47e2fd88() - { - $this->assertTrue(true); - fn() => ($test - ($test <= $test)); - } - function test92fcf00311d326bc6e6daf436e0ee96c794d5d18a4e59ee510e005ff47b45b31() - { - $this->assertTrue(true); - fn() => (match ($test) { - } % $test); - } - function test95638918b8d2d3aa07de1d340e0845cf3623d1a719dbf0ff45de0d8403aef3bf() - { - $this->assertTrue(true); - fn() => (++$test % $test); - } - function test96055fec6d51b23450affd778cf73f53653b8947739104e50da45bbe193b7e41() - { - $this->assertTrue(true); - fn() => ($test() % $test); - } - function test9bbd5c33bb7d7b4b311982ea75862d451cb5eb561a9910e3198b59ae0f32647e() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) % $test); - } - function testa12a47a78f39f57c926d8908091d4dfd9d542983282aa2c283fa3bfee452e162() - { - $this->assertTrue(true); - fn() => (($test <<= $test) % $test); - } - function testa5e1f4fc4bc311ade5bde21916a4e8e0d3bacba141b37199ec280b431b6ee49b() - { - $this->assertTrue(true); - fn() => ($test * $test % $test); - } - function testa677aec0c78c86f7add1f31c849f1ff6e014664ecf48ec544f6d24db5c86ed41() - { - $this->assertTrue(true); - fn() => (($test *= $test) % $test); - } - function testa8186d3e5a6e77deaab81c2c73d5555d88147218840df1808d125d692043ae31() - { - $this->assertTrue(true); - fn() => (($test >> $test) % $test); - } - function testa9b20333a47e2d6b42380f3232f9185db22d64696d40c9b8785d334de067467e() - { - $this->assertTrue(true); - fn() => ($test::$test % $test); - } - function testa9c4459c04ac395efe5318ff12a86b7dead25e00804350b71288286a7f20c24c() - { - $this->assertTrue(true); - fn() => ($test-- % $test); - } - function testa9db87ff3b517d481745650793bda4c13c599722f7188bcd840b7e5d794d58db() - { - $this->assertTrue(true); - fn() => ($test::${$test} % $test); - } - function testb0f420980291156f852c8bb255352f729c9fe0553a499152c42ddf6c2e4d0711() - { - $this->assertTrue(true); - fn() => ($test - __DIR__); - } - function testb2a2c0e28d7c838bd07a6b4fc5c5d92cb1e4e3af08bc47d00f7932b4b0e531c5() - { - $this->assertTrue(true); - fn() => (($test >>= $test) % $test); - } - function testb3bb80b7b4d0edb92e222f9be64cf481926c3db2cee378272dc6a26ddaa7b074() - { - $this->assertTrue(true); - fn() => (($test ??= $test) % $test); - } - function testb3bca54e5f72a58b0770eeef71ae945de865cc48db2531cf1f43ecfe4f18d704() - { - $this->assertTrue(true); - fn() => ([] % $test); - } - function testb59b701f7b1e01444645b871836c009f37cd815f6d7361b4caaaaf72297d3621() - { - $this->assertTrue(true); - fn() => (throw $test % $test); - } - function testb6f8c408b6da87b1a56772ac21433ceb65e827ea0cca70460a41657146a8f9fb() - { - $this->assertTrue(true); - fn() => ($test ** $test % $test); - } - function testb8c562cde0b9385b059206fd9780ef857bc9fa2f0e96dd5d33fec58b1232d3e7() - { - $this->assertTrue(true); - fn() => (($test === $test) % $test); - } - function testbc74540f364d6421afb3de255d34f491285a850af2a37214bb455dd1fec21faa() - { - $this->assertTrue(true); - fn() => (($test != $test) % $test); - } - function testbc85488b25790a57d69327ee15fadbffc4e885b2388710fbc62213edb346f84f() - { - $this->assertTrue(true); - fn() => (($test =& $test) % $test); - } - function testbed7e614c22300c22f529e43fadee6e45a1ed11c2c39d2c83617f5166663bc15() - { - $this->assertTrue(true); - fn() => ($test - (array) $test); - } - function testbedb17bb8ef8528a4961d86cd363e0389a1b62c70ac8fae2697257afe751b27e() - { - $this->assertTrue(true); - fn() => (($test or $test) % $test); - } - function testbf8316586534eaa0c611dc76f35775f923975f288a57cdf94425425d643c6925() - { - $this->assertTrue(true); - fn() => (($test -= $test) % $test); - } - function testc0ea9fc915a1dfcf604d6b33114751ea6d76aa01a5e2b276dff2cec19afa27d8() - { - $this->assertTrue(true); - fn() => (($test ?? $test) % $test); - } - function testc170384a8e1261967a2c46b633d2c4aa42779433bca9606228c0a471b334333a() - { - $this->assertTrue(true); - fn() => ($test?->{$test} % $test); - } - function testc4ca239bd7075fc516b7d071d25cc7b328567f4a70edfcf9d2b4efa2a75e88c5() - { - $this->assertTrue(true); - fn() => (($test < $test) % $test); - } - function testc909e81d390f1d6042e7d7ce658b5ff82b3353b2573199dc0b21d64548d6315b() - { - $this->assertTrue(true); - fn() => ((yield from $test) % $test); - } - function testca1d37973482b2ee055b8adda6b3c52dc15f7be1f5d86329dbfe4ad1d9ec1f28() - { - $this->assertTrue(true); - fn() => (($test << $test) % $test); - } - function testd79f1523c9bf5c6154cf9373787d73312f45178950ad9586f51f0c22207b8aa1() - { - $this->assertTrue(true); - fn() => ($test - __LINE__); - } - function testda0802ffc14311cfe3ab7d134e479e71515de4eb2c5ad6548a6d3cf6e8877124() - { - $this->assertTrue(true); - fn() => ($test - ($test <=> $test)); - } - function teste070f9527c0f9fb93983a580a70cbbf951cdba1635a225804babcef7b2289ea2() - { - $this->assertTrue(true); - fn() => (new $test() % $test); - } - function teste5a8fb0c1a71558d89d64f2b8a4b11a5eccff639131f4d9f848764b0a488fec7() - { - $this->assertTrue(true); - fn() => ($test->{$test}() % $test); - } - function testebdb94c839b413f52c38603d61a07d12bcfd5df73d7eba2ba774dfacbc6d9676() - { - $this->assertTrue(true); - fn() => (@$test % $test); - } - function testf3c40ed7589d31826527581a50a269c1573ba6489f881e14e8931c0fa55afdeb() - { - $this->assertTrue(true); - fn() => (($test %= $test) % $test); - } - function testf4101292d857f5f0ce4bd06011bb427c1a1cd724ca1e606a2ca2a60516444248() - { - $this->assertTrue(true); - fn() => (($test ^= $test) % $test); - } - function testf4b60ad65ab018b93b34a8d5751138b5cd81c5468e2edc2ae32d6aad1b35168e() - { - $this->assertTrue(true); - fn() => (($test !== $test) % $test); - } - function testf54772d5247f065f4f51590f9985f79e064b07dd326ca863ddc51f766bcf8277() - { - $this->assertTrue(true); - fn() => ($test - __NAMESPACE__); - } - function testf6f8a6dbb054e574cb8b4fb0e053b05a3db0dfdc44b7cef6528cf5511cae81b5() - { - $this->assertTrue(true); - fn() => ($test - (double) $test); - } - function testf72dcad0b80669f9e68e737562f351048cf1fca7078db240496c74d853ace2ff() - { - $this->assertTrue(true); - fn() => ($test - "{$test}"); - } - function testf7aa63ed3f74fdd707f35824ac8935f2111da3989c2f52abd04cbcaa447f8c45() - { - $this->assertTrue(true); - fn() => ($test - (bool) $test); - } - function testfbb86ba1d761c226ece7ba1e70883404868914111cde01794432b380f8c9d621() - { - $this->assertTrue(true); - fn() => (($test &= $test) % $test); - } - function testfd9ace7995beb5ff371e69755e356f3a052d0bdf890f31600d76aff477c79181() - { - $this->assertTrue(true); - fn() => (( $test) % $test); - } - function testfea794ef7726bedca0eed29d52ccec062a38621e8bc434f0516dfe53ee12c46d() - { - $this->assertTrue(true); - fn() => (-$test % $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest.php b/testsGenerated/Target/Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest.php deleted file mode 100644 index 2687ba214..000000000 --- a/testsGenerated/Target/Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest extends TestCase -{ - function test010de25ed0c54b8dc187442dbe70e40f04837db6fa7d73df4d28e2122eaa047e() - { - $this->assertTrue(true); - fn() => (new ($test - $test)()); - } - function test0129dabba4caf4d82b1e8e2f303709eae1b175edef50b74809af9711e146fcce() - { - $this->assertTrue(true); - fn() => ($test & $test)?->{$test}(); - } - function test0292776f5a4d499c3d76e3ea2161a1cde77b561a51f580860d37745079e493b8() - { - $this->assertTrue(true); - fn() => (isset($test))?->{$test}(); - } - function test04cf2d01dd3958328e0ffc58b4c7418d27e984a9c4d79cee4920f416fff7ff0a() - { - $this->assertTrue(true); - fn() => ($test /= $test)?->{$test}(); - } - function test056dd37544aaef8f9e5bd02aed1bc4a537392e1186580380a0ada9ad9456660d() - { - $this->assertTrue(true); - fn() => ($test--)?->{$test}(); - } - function test060280bca05d4c27fa73af61774940803e54cd741754255ab9eb60f163377ded() - { - $this->assertTrue(true); - fn() => (print $test)?->{$test}(); - } - function test07fad94906fa4b488aa79ec1e2caaf6a11f2a5e79c4e3953db40ba8b82d6e046() - { - $this->assertTrue(true); - fn() => ($test += $test)?->{$test}(); - } - function test0bda6a80fa7e2db9db0174a56f3482b8c5d23ffc1a7bfbaef0127a93bace3f6c() - { - $this->assertTrue(true); - fn() => (eval($test))?->{$test}(); - } - function test0fc1574e6421eea306d904421d8e44688ed43364d1459720705db483e0f9ee12() - { - $this->assertTrue(true); - fn() => $test()?->{$test}(); - } - function test1a50d6e105edbdd16e72497429347e54d2dcc9a6772b73bb6c73b4462880c52e() - { - $this->assertTrue(true); - fn() => ($test ^ $test)?->{$test}(); - } - function test202f97627cae655ef5e20da0905bbdca0b4b94ffa36b0d08eef30a0e4b437ea9() - { - $this->assertTrue(true); - fn() => $test[$test]?->{$test}(); - } - function test21feb2a4a44fa0b543a41c8f581c102e60a05a1038fad5e636fc6263c3706b92() - { - $this->assertTrue(true); - fn() => (new (__FILE__)()); - } - function test28973e1aaaadee61b189f0e2d5f2b8f94d6185bf4daae32cb386ded78551985a() - { - $this->assertTrue(true); - fn() => (new ($test != $test)()); - } - function test29648c03fe42b41deffca849114ae23f25ab690957382cc9fdd45cec3ebb989f() - { - $this->assertTrue(true); - fn() => ($test | $test)?->{$test}(); - } - function test29f19c23a4be2b92a7d9f85b2d6b135ed5f8995d3d0f3537a6a5c0be3f7896dc() - { - $this->assertTrue(true); - fn() => (new ($test !== $test)()); - } - function test2c3d98fa500a5c756c7a8eb1b20d35ba66a32ea8132c771290db64e9091095bf() - { - $this->assertTrue(true); - fn() => (new ($test + $test)()); - } - function test2f5275765d5a5c380d9052a303abd9d91fda5f6b8e87fddf7d9bc0450f0e1380() - { - $this->assertTrue(true); - fn() => (``)?->{$test}(); - } - function test3013fc4d98b1bad28ccc781d95f806a029b39600713f5722e6435d3317a23ddc() - { - $this->assertTrue(true); - fn() => (new ((object) $test)()); - } - function test33053b5274f124b5031822f4adb2eea59c0f017a961a18ef5ccbb18a64b932b5() - { - $this->assertTrue(true); - fn() => (new ($test > $test)()); - } - function test346f15bc2bc909e93ee10c484f9eecbe048b849bb2eabe65bc7ce4ca54d800c1() - { - $this->assertTrue(true); - fn() => (new ($test ?? $test)()); - } - function test35096acaea64b6489e93e8b533103d0dc8d89b8ac56ae48688c6b55d335c625b() - { - $this->assertTrue(true); - fn() => $test::$test?->{$test}(); - } - function test3998a8a2b43161a7c7a278cf05456760f36e3cabad9225aeaa7c9a6c2d3e9ecd() - { - $this->assertTrue(true); - fn() => ($test . $test)?->{$test}(); - } - function test3e751336dd1ffd3de4eae3d106d3a610aed49dc5218f70a0f46f20333bab69e1() - { - $this->assertTrue(true); - fn() => (new ("{$test}")()); - } - function test3ef2f31cb2c75a5d483b1ecb52e05bade3d5b9d300ce3551c2d9482105c33cac() - { - $this->assertTrue(true); - fn() => (function () { - })?->{$test}(); - } - function test42468f12038c0c5b0cb36afcef118485c39082237efdbb0b586812ffaf801b62() - { - $this->assertTrue(true); - fn() => $test->{$test}?->{$test}(); - } - function test427b17be5ff8aa95e5e3ec0e0d8776fcf875a4d98ceaa0523eea8c583efe048e() - { - $this->assertTrue(true); - fn() => (new ($test / $test)()); - } - function test4410f3ccad669256186568bec639226d018533467d667b52739860aa115c8273() - { - $this->assertTrue(true); - fn() => (!$test)?->{$test}(); - } - function test480b719964b9405288007ab2dc16f6d823be0e15546111f63983199a5169a51e() - { - $this->assertTrue(true); - fn() => ($test **= $test)?->{$test}(); - } - function test4cfdc5aade85a08c9b22caf928e0013fb0f58a32acf2638e22c8d4898ee63db1() - { - $this->assertTrue(true); - fn() => ($test |= $test)?->{$test}(); - } - function test4d4e7873be5717275ce103eb8b032bccb9ba3180a7c77e66547abb95d8f8e4f7() - { - $this->assertTrue(true); - fn() => (throw $test)?->{$test}(); - } - function test4db5b6a3f3e5979ab8a815dae04e48728938a5671ff9453ec28bc550c2fcbfd3() - { - $this->assertTrue(true); - fn() => (~$test)?->{$test}(); - } - function test54f79a0c11c9111691aa6f3ff3f2c14c81cd46bf3b9ee4a76de7ca3c44b8f956() - { - $this->assertTrue(true); - fn() => (new (__NAMESPACE__)()); - } - function test5a254ef04c8c2a4ac36b88fe7861afd07df1a6a095a73056ff7c3fd25f2400c0() - { - $this->assertTrue(true); - fn() => ($test =& $test)?->{$test}(); - } - function test5a966f2571c0e0b8b55a568f08652ed2e456de63d0fa779731c4c2b96cf37941() - { - $this->assertTrue(true); - fn() => (new ($test >= $test)()); - } - function test5b8e1087b168088fbc75aec78af3656b9260024cac9b662c41ddf9bc1e19808a() - { - $this->assertTrue(true); - fn() => (clone $test)?->{$test}(); - } - function test5ca503615d92925165f6921a2c9976b6ad7c554a56b573fb6c439ccb5de5ca8b() - { - $this->assertTrue(true); - fn() => (new $test())?->{$test}(); - } - function test622164a57c7bb041e1b27053285d33923f9e1e1209decb3a1787a1775edfc4f7() - { - $this->assertTrue(true); - fn() => ($test %= $test)?->{$test}(); - } - function test623d9983988e05f243a8e3002d0937f4d71438a97caa47f8c13d0db1643e54e9() - { - $this->assertTrue(true); - fn() => (new ($test and $test)()); - } - function test6333bc454243b78d033b0eea149966459fe2281dcc07b376ffd6020a86b1e82e() - { - $this->assertTrue(true); - fn() => (new (__METHOD__)()); - } - function test6615853320092d95b6dd589df4e87a806ae2a7b2fe013e02b776a27fcfdbee34() - { - $this->assertTrue(true); - fn() => (new (__DIR__)()); - } - function test66b21042e5a49a8ec396d5ad154138de529ea949606f847f1918fdc1255a2c64() - { - $this->assertTrue(true); - fn() => ($test &= $test)?->{$test}(); - } - function test671d1466c3acde8611b2c81bfdda0cdacf72d3922f69b8a53dd0a5d2c11980dc() - { - $this->assertTrue(true); - fn() => (new ($test == $test)()); - } - function test6b9e370d19b99cd7be73c78b5da0c2872260f3519b20f78893f572ade464cfbc() - { - $this->assertTrue(true); - fn() => (new ($test && $test)()); - } - function test6d7b6020abaf19df167f5cae0a3913cacda6466dbb9a518a642348224694886d() - { - $this->assertTrue(true); - fn() => ($test *= $test)?->{$test}(); - } - function test6ea028558fd81ae9cc0ab49268cb6235892cad38a0fdc75594f438372d4f49e2() - { - $this->assertTrue(true); - fn() => (new ((string) $test)()); - } - function test6eff5cd02a0a2293e815e4d69f8877695e24d5df8f2447b3fcfd6b64806885d0() - { - $this->assertTrue(true); - fn() => (new (__CLASS__)()); - } - function test6f45efd32f13ef41793e2d007f07bc98d5378108761ed08a5a0eba0b4dd82ba5() - { - $this->assertTrue(true); - fn() => ($test ?? $test)?->{$test}(); - } - function test72bcedc67365303472f027c57949721e571f9571a41c9976a0029aedf07efdd4() - { - $this->assertTrue(true); - fn() => (new (__FUNCTION__)()); - } - function test734dbcd536bd2b44d4fcf43a665110c759cab5fe69d3b25abd38d3645e7b6e16() - { - $this->assertTrue(true); - fn() => (new ($test or $test)()); - } - function test74a5e4dc31fa53e176ae7b91c1830e5794590a2fa25767869509241c1be77d21() - { - $this->assertTrue(true); - fn() => ((yield $test => $test))?->{$test}(); - } - function test7592932000bced861b3fb3af2097707f3fb84cd53a229384fe85ab99fdebba6c() - { - $this->assertTrue(true); - fn() => (new ($test % $test)()); - } - function test7f1717d0e715a5d75178cb28a69975e4c8028e2f6c31a53aff002b036f894e76() - { - $this->assertTrue(true); - fn() => (new ((double) $test)()); - } - function test802a174273942388413f95c13ff83ea4c8251cec41a6a613eec541c8170aa639() - { - $this->assertTrue(true); - fn() => (new ('test')()); - } - function test82d0aa4f1544de2e2df568431946da0689cf1de6fd6a2ef75fbc0a0cbde187cc() - { - $this->assertTrue(true); - fn() => ($test && $test)?->{$test}(); - } - function test8666a6c5ff0aca5dc6347c2c6a4852746f4c076b1b24dc1f51a8c902c0c996c3() - { - $this->assertTrue(true); - fn() => (new ($test <=> $test)()); - } - function test86e5bc3136c7d01f55a53bf54ee8a7f00dcbd6d579f02808aeafcc1aa51b731b() - { - $this->assertTrue(true); - fn() => (new ($test xor $test)()); - } - function test8bdcee081fcf2ac99850acf2467ec209bca05223a690ca6e3b1c3caac0b38b60() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test)?->{$test}(); - } - function test8f426a8323ca1c36e5d68988598cf1d9f3bae561fdbbebc6206468031c761375() - { - $this->assertTrue(true); - fn() => ($test instanceof $test)?->{$test}(); - } - function test8faae3c56e0d38bf869cc34fec8edf973d61d0f4348046909922904e57222b25() - { - $this->assertTrue(true); - fn() => $test?->{$test}?->{$test}(); - } - function test90f530fbca4b025ee7c9506b9c4028108f4c6685ca0efce73547ce4efd85b4e8() - { - $this->assertTrue(true); - fn() => ($test <<= $test)?->{$test}(); - } - function test91b9ccd6b005d2b166f1c89516adcadccb1218536dfa86a751ecbad49f1b9ba2() - { - $this->assertTrue(true); - fn() => (new ($test ** $test)()); - } - function test926c56c0cb7cf969fec0a31e2a97ea3de451608a9547cc11a0642e0c178fe7eb() - { - $this->assertTrue(true); - fn() => self?->{$test}(); - } - function test96a9545455563c00163f64494fa0dd06f93b27db878005631743eca168666aa8() - { - $this->assertTrue(true); - fn() => (new ($test >> $test)()); - } - function test9aa6c15417289a31812d26f5d0419406457eb00ba46348421f68be2b740c67e7() - { - $this->assertTrue(true); - fn() => (new ($test <= $test)()); - } - function test9d78f95fa5b6c01017b6f66c17d874044db70352d3171f6315d2fcd05d2a61aa() - { - $this->assertTrue(true); - fn() => (new ($test < $test)()); - } - function test9dea62ab905cf3dc12070b5dd45d8a6c1445d4ee8ab2a68dad462ac1c9608d9b() - { - $this->assertTrue(true); - fn() => ($test = $test)?->{$test}(); - } - function test9e0031a54137da7958cecd74b0f197b868b5d88c1810dfb35d81138cf81dfb1a() - { - $this->assertTrue(true); - fn() => ($test ^= $test)?->{$test}(); - } - function testa35e9a84f661f5d2b8877c2b5a8e700654e3564a2d204872774348b254c43f08() - { - $this->assertTrue(true); - fn() => (new ((bool) $test)()); - } - function testab19347b4dbf7eac6c04429bf5d3ba2661500b70ff01834582473541e2ea1ba0() - { - $this->assertTrue(true); - fn() => ($test >>= $test)?->{$test}(); - } - function testac4540ec8ee3fc398d062fc608afc8a1e0fee5c941c77093deefc72ad98b82ea() - { - $this->assertTrue(true); - fn() => (new ($test ^ $test)()); - } - function testad750458693f7f443ecea789a517b2a5be8059411a9042035bffe0be31514cf8() - { - $this->assertTrue(true); - fn() => (new ($test || $test)()); - } - function testafa741f61a2f19226eb2d378756a25d97b452438beea57bc8ab3ef737c8aba7a() - { - $this->assertTrue(true); - fn() => $test?->{$test}()?->{$test}(); - } - function testafdc6063c78b0f71f8ad7ec0ab28f893c5ef98dc9082ed16931ea20e2b911259() - { - $this->assertTrue(true); - fn() => $test->{$test}()?->{$test}(); - } - function testb2087770e09d9a38860eec7ed6f399db31a4e5b96b697a929c611f2bb51d0180() - { - $this->assertTrue(true); - fn() => (++$test)?->{$test}(); - } - function testb33fe4f257a296ec7d748a38fd61ad9b108255fd0f7972643d8aafba49be39a1() - { - $this->assertTrue(true); - fn() => (@$test)?->{$test}(); - } - function testb9af5eec782d465f1909d52639aed951443e5e4ec7f7faf1819031d8f5ffd05c() - { - $this->assertTrue(true); - fn() => ($test++)?->{$test}(); - } - function testc2ebeffbb1c8bc856cb4c5f6474eb1c2e6a7c319d01249092be852d3982e4579() - { - $this->assertTrue(true); - fn() => (empty($test))?->{$test}(); - } - function testc826454609c1409a3d034f74c5ec9acf974d15a30324b75d2d73888479b53933() - { - $this->assertTrue(true); - fn() => ($test -= $test)?->{$test}(); - } - function testc9456f5579e22f520a03f0d0692343e9efd42b791ef8b36fe96dced4dbf959fb() - { - $this->assertTrue(true); - fn() => ($test || $test)?->{$test}(); - } - function testd177aceebec14abbaefb39482ad29d4ca4e6ee1c68f25b3680602f5f02506634() - { - $this->assertTrue(true); - fn() => (-$test)?->{$test}(); - } - function testd3f82abb4320e77bcaced485711eeba598718c337b60a213acd5072cf333d869() - { - $this->assertTrue(true); - fn() => (--$test)?->{$test}(); - } - function testd467e8482a1290e811c8b22d5db667653abaa5ddf08e294960fee5b47ac9c126() - { - $this->assertTrue(true); - fn() => []?->{$test}(); - } - function testd6d8e4fdd24536a7a1df6c87e2f2522bc953207c26f4ff45f6a92d7a00ebf66f() - { - $this->assertTrue(true); - fn() => (new ($test | $test)()); - } - function testdb2f35003da5fbca35d7addb73051f242ff2b4832046b5031dad1470e711d899() - { - $this->assertTrue(true); - fn() => ${$test}?->{$test}(); - } - function testde72d029e9ae012441705a1ba19b8ab0a3afe8efd1de6691d4dbda0819bce3df() - { - $this->assertTrue(true); - fn() => (yield from $test)?->{$test}(); - } - function teste077fd64cd62913e4774ed497686a2cde2d1b4327eb2499fd442c14fa8bf1aab() - { - $this->assertTrue(true); - fn() => (+$test)?->{$test}(); - } - function teste0cf87f4e0a84f959e9cbf7327c6529e362aa448fba1d5b558adf1e654ce8f1e() - { - $this->assertTrue(true); - fn() => ($test .= $test)?->{$test}(); - } - function teste11fc119ee3fe8b1aefe0180cf402658547d284eee7dd4664ae26353f0033186() - { - $this->assertTrue(true); - fn() => (new ($test * $test)()); - } - function teste13a819cbf2d15d7b72dfce00f3d43f44e9206cdd6e8fc6ac1d3bbdc74e426e8() - { - $this->assertTrue(true); - fn() => (new ($test === $test)()); - } - function teste23495dacabd5b0f7b79f2cb6623ec4c85889cc1723d748a4317af13382440a9() - { - $this->assertTrue(true); - fn() => ($test)?->{$test}(); - } - function teste43728192fe4426a56b76e1a637e903c2538ec3ec189a40746c847568fc45614() - { - $this->assertTrue(true); - fn() => ($test ??= $test)?->{$test}(); - } - function teste607637e166d11b9e737ee1ec93494b9df0f9308fc8c216ad7b8cf7eb6efb191() - { - $this->assertTrue(true); - fn() => (new ($test << $test)()); - } - function teste764b1f6503361c86cdb0fc4bc92e377cfec82bd6a61d02fcfa2f76bf20cc696() - { - $this->assertTrue(true); - fn() => ( $test)?->{$test}(); - } - function teste7d1c9832270416ba9501baf0988a476c91265b0a98bd4cc6fcf8a36e58df598() - { - $this->assertTrue(true); - fn() => $test::$test()?->{$test}(); - } - function teste8edf75a5dcd5f99b0850a2c187208cbee6312761ad3965d11b2b3b0b6b07377() - { - $this->assertTrue(true); - fn() => (new ($test . $test)()); - } - function testf5426c01ae9872c5824daa9547707621f4d81a33153b7f0405891f907c131262() - { - $this->assertTrue(true); - fn() => (new ((int) $test)()); - } - function testf5b1bd73eaaad138e60966e634a74448167d20ba132bc5da465de0aa5ef3fbb8() - { - $this->assertTrue(true); - fn() => (new ((array) $test)()); - } - function testf5b2a12951b99c119023a75aa9841fa0378399b4cc2c9bccc0bc1a34800f0e7a() - { - $this->assertTrue(true); - fn() => (match ($test) { - })?->{$test}(); - } - function testfc1bd8aedc554bb239dafbb2a7ce74e3b01b28f9007168a99bf832aa4cd9b699() - { - $this->assertTrue(true); - fn() => (new (__TRAIT__)()); - } - function testfe85f371df3392665db8c8ac2b9e4b5d92d95d15b7ec6e0696b4bca754f55288() - { - $this->assertTrue(true); - fn() => $test::${$test}?->{$test}(); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test.php b/testsGenerated/Target/Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test.php deleted file mode 100644 index bcc7dd0c5..000000000 --- a/testsGenerated/Target/Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test extends TestCase -{ - function test01f0e7fb55057333feda9f6a51b0430bfeeda746f7332903f63311200b06331d() - { - $this->assertTrue(true); - fn() => ($test > (double) $test); - } - function test02660319804a614c6e43f20fca4c86c4839eacb79e99bde88e755a65f7ea4603() - { - $this->assertTrue(true); - fn() => ($test > ($test ^= $test)); - } - function test0546c24a16122edaa9db34da62d200967bbe8031772a1ed89021e1cb2909b08c() - { - $this->assertTrue(true); - fn() => ($test > ($test -= $test)); - } - function test0b4df4bf40975c38c5e52431fd292dc62652408459a3db069cbcaf90b97d1ac3() - { - $this->assertTrue(true); - fn() => ($test > __LINE__); - } - function test0d13ea5b10237f10bde97ffa994f1fb385b9cbb3a3c35c23770bf21c4e137cf1() - { - $this->assertTrue(true); - fn() => (clone $test >= $test); - } - function test0da50c3adb621ac26294367663d1e0e3ee4cd081af03f0b4c3cd5272671b8db5() - { - $this->assertTrue(true); - fn() => ($test() >= $test); - } - function test0e0b0cd7f52ad1e2619f7e5833e67871831cd5c2164fc029f8cbb856be75a2bd() - { - $this->assertTrue(true); - fn() => (($test |= $test) >= $test); - } - function test1310d78f080227c98bac7ff5820266f5d2666d6b1eb2262ce29a9961a39b8c96() - { - $this->assertTrue(true); - fn() => ($test > __DIR__); - } - function test15664ddaf7c2dfc6d77f43e198b6f0ddf6d1e63b5370b1e561bf5ecb3f63f6aa() - { - $this->assertTrue(true); - fn() => ($test?->{$test} >= $test); - } - function test1c2849ca42fc7a27901e1fdcf49923d67058205edde8f1ca3c8288f90349132e() - { - $this->assertTrue(true); - fn() => ($test > __CLASS__); - } - function test1e84613487b13008a69a05390fd3d67a51bd61ae284f78d1d01e04a8732eba27() - { - $this->assertTrue(true); - fn() => ($test instanceof $test >= $test); - } - function test259f292f9be448e8ca86d53742a939e1ee97c715cd0bd21e9f30cc7db21c6a3b() - { - $this->assertTrue(true); - fn() => ($test > ($test xor $test)); - } - function test26026c2138c303180519c7888cd638e587fa751400dc8b14d14dfffb0659c31f() - { - $this->assertTrue(true); - fn() => (new $test() >= $test); - } - function test265b35c81e221fa4d3ccbb2afb8bbfefc3ddfca473b4c04e2bfefa96ae59366f() - { - $this->assertTrue(true); - fn() => ((print $test) >= $test); - } - function test29985d5ab94f5a8ae08f3dcb17f81f6179f533d86bcfe4d32bbd3ad11cb1951d() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() >= $test); - } - function test299d0af813248d35b449644339a2bd40e2cc6acad2ae35c302c482c55266bc91() - { - $this->assertTrue(true); - fn() => ($test > $test + $test); - } - function test29b450bf09a5dce149e09acf1f1044aa554d0b0c44a313725889663eeadfabd2() - { - $this->assertTrue(true); - fn() => ($test > __FILE__); - } - function test29cafd7f0c59abe4f88ec65a37dce596b3a9e2364be37a1ca7e07c5638bda50f() - { - $this->assertTrue(true); - fn() => ($test->{$test}() >= $test); - } - function test2dd129b8609853dfb11cea3fc4c4ca8a56e630f703faac50946f244f8e77d309() - { - $this->assertTrue(true); - fn() => ($test::${$test} >= $test); - } - function test31540ec81170d811b7b06680d68252444aba5552a1e356889fcbbafeab1d08bc() - { - $this->assertTrue(true); - fn() => (($test = $test) >= $test); - } - function test34b3d8130cc4ed7c2d4efc9f128191a23be2d0eaab7e7fe4b288037befacc036() - { - $this->assertTrue(true); - fn() => ($test > ($test <<= $test)); - } - function test3503e8aa40fbf95a090ddec8cdbff9cf8f95415a7994cc68634d28eb614932af() - { - $this->assertTrue(true); - fn() => ($test > $test % $test); - } - function test39f353b27230c4070969755d6cb009af094f8a6a8781ce2216c5ad46e17eea45() - { - $this->assertTrue(true); - fn() => ($test > $test / $test); - } - function test3a912fb8e8d980fbf7bf6431fe729bcc9250937cffe7c440999320e8fda12365() - { - $this->assertTrue(true); - fn() => ($test > ($test !== $test)); - } - function test3f8e5b3adb3f36982f736dba64af861e0b4b081a61458e9d6eee3390392de96c() - { - $this->assertTrue(true); - fn() => (@$test >= $test); - } - function test3ff733f521344544a59674a9258fb77e748fca23ab335369c7aae62d6ea632db() - { - $this->assertTrue(true); - fn() => ($test > ($test ??= $test)); - } - function test40dbbc377750e321a515f4fcda6639cdf689e6e315d88f7cc63c14a5a325e3a7() - { - $this->assertTrue(true); - fn() => ($test > ($test == $test)); - } - function test4d5b584f1a0fd64b96e03029917bd2a2b553e903f5bf2b749151ebe94a302190() - { - $this->assertTrue(true); - fn() => ($test > ($test **= $test)); - } - function test4df5e1a2df78cd6e73992578c871fa3a983bf5896d0917b4bccd62ca7497eb3b() - { - $this->assertTrue(true); - fn() => ($test::$test() >= $test); - } - function test4f94d3d32b739e50c44a0ca9c133b6510701591bf54e95e508c684fad22fba0a() - { - $this->assertTrue(true); - fn() => ($test > (int) $test); - } - function test5023e69dc48e40b929f7f542aa4ba46efa0f65c133c47a183211073d0cb0700b() - { - $this->assertTrue(true); - fn() => ($test > ($test .= $test)); - } - function test55f18fef16315fcb064681c4566c29009609b7e8963a002604bf940178a2ec8f() - { - $this->assertTrue(true); - fn() => (empty($test) >= $test); - } - function test56f2da9500e66f49f2188ebc43b650cd78a317da418d30d2f3b27788b3a73584() - { - $this->assertTrue(true); - fn() => ($test > ($test < $test)); - } - function test57c5c83ea665b8ac767b8ec085a78a9823b6777ba61c3be38ce418dd55238c90() - { - $this->assertTrue(true); - fn() => ($test > __TRAIT__); - } - function test5af78faa3cd41409c2bd1e40290fe456744d4d66ba4e37c94cd6cff06b6910b8() - { - $this->assertTrue(true); - fn() => ($test > 0.0); - } - function test5fe6a2569202f57737e5a181ef15256daff8dc287232eb297e5cf944fc5ed4bb() - { - $this->assertTrue(true); - fn() => ($test > 0); - } - function test60969aa96a2cc331a6bdfdda1a55959816cd80d126f9341eee4a0bc7649123d3() - { - $this->assertTrue(true); - fn() => ($test++ >= $test); - } - function test6476b7711fccf1439e2dfb8b05dd3a1e24b29023bfdcddaf40b7e2508fead427() - { - $this->assertTrue(true); - fn() => (+$test >= $test); - } - function test668f01fbd20245948d971442a664de7d9defb6dd1d57b9ad207c0d2e939d7ead() - { - $this->assertTrue(true); - fn() => (isset($test) >= $test); - } - function test68132eeaeb5c95e1caabe66e14d6b3cc079f7880c4ba0859a5bbbf519187a04f() - { - $this->assertTrue(true); - fn() => (${$test} >= $test); - } - function test6b3ff392f2931aa227942c85d6e656ef07dd68a094ede360f0045302bc28cce1() - { - $this->assertTrue(true); - fn() => (~$test >= $test); - } - function test7230ce89ee137ce57f1a4ed4e8d257f166421d51820c4a367ec644f889fa12da() - { - $this->assertTrue(true); - fn() => ($test > ($test <=> $test)); - } - function test73fdc55af09345b6b812c01e9a5646b80acee979c229314ee853403659333b59() - { - $this->assertTrue(true); - fn() => ($test > ($test >= $test)); - } - function test74cf6a430afd4b431e0668442425fe54ddaa937bdbaed881a8f9145903cf8737() - { - $this->assertTrue(true); - fn() => ((yield from $test) >= $test); - } - function test74ed19ab36f48f2bb0806c539700a204400b101c27c9b78895b0bba043d3f767() - { - $this->assertTrue(true); - fn() => ($test > $test . $test); - } - function test7777b5026a0c84eddb76e6a2484777a53affac5524d53b2ac171336c6cf338ff() - { - $this->assertTrue(true); - fn() => ($test > ($test <= $test)); - } - function test7783f3f98993a8243628e80b386ba686d979a4ea99d010b674febac30b3ac1ea() - { - $this->assertTrue(true); - fn() => ($test > ($test === $test)); - } - function test7baf1a3a319fc3601068daeab591fcddd97070b5ce58e0eead69ef0903fcb3a1() - { - $this->assertTrue(true); - fn() => (throw $test >= $test); - } - function test7cbe3675dd76ca54f0ad2dd1b3a6c621ee12aa9970208cd42087e72eb2c306d4() - { - $this->assertTrue(true); - fn() => (!$test >= $test); - } - function test7e8e94e4c7d7a5f4ef39806cc59f1d98c3cbbca737aaa0b8c50ccc42b274806c() - { - $this->assertTrue(true); - fn() => ($test > 'test'); - } - function test82e8da1fc5381f3b065a033be0e30c52fa23384fc46778d7a71a10538bd2b482() - { - $this->assertTrue(true); - fn() => ($test > ($test or $test)); - } - function test83a53195bd4efc72c0081bae322376fe31fd241f436d4ce3cd29aae5b9c8f9e9() - { - $this->assertTrue(true); - fn() => (($test &= $test) >= $test); - } - function test85b179ab5784250f9412cad07bc483b1242ee1ec1518d71ddc3e0a92b777f79e() - { - $this->assertTrue(true); - fn() => ($test > ($test | $test)); - } - function test8702d75676ecad98fb74831e8b0bcd11768b48072e4bcf81ef7602fb5470845c() - { - $this->assertTrue(true); - fn() => ($test::$test >= $test); - } - function test8734f4d1234fa0b1844b6e4f4a9e17e95f00a8b9d89b94abac1ca768980aa999() - { - $this->assertTrue(true); - fn() => ($test > ($test %= $test)); - } - function test897606f74327725cadbdd6b44d2bd37aff6276771d2aaeba31a80c1f56b005d3() - { - $this->assertTrue(true); - fn() => ($test > ($test || $test)); - } - function test8a5c6c51bcd4fec6a7b7033a0e613abdef923ef063c56be5caf616541565323f() - { - $this->assertTrue(true); - fn() => (($test ??= $test) >= $test); - } - function test8a9b8da0336078b2afc4806debaadf851d16d8377c2bda8366a9460db5db42dd() - { - $this->assertTrue(true); - fn() => ($test >= $test); - } - function test8d3c4d322ead45a54fe7cf0841bbc8efc0b217fa48a5e95ea97e7bd92bfff1a7() - { - $this->assertTrue(true); - fn() => ([] >= $test); - } - function test92ac70eecdcb9edf5e9568a24cb81507592bb80d2f155d49c5f17237f1b9850b() - { - $this->assertTrue(true); - fn() => ($test > ($test += $test)); - } - function test948e0af5a52ce1d3fa52fbfc3fec0be167cbe287950e9044bb347432e763bc87() - { - $this->assertTrue(true); - fn() => ($test > ($test and $test)); - } - function test95f4f4aae8f413cb044982a29d8e23d9bf6a6299d5a4846e5b5798d6ab3f7f8b() - { - $this->assertTrue(true); - fn() => ($test > (bool) $test); - } - function test976d70c05b4145755be52588e930c9cd4605e187a1478f03b9acefc771de6609() - { - $this->assertTrue(true); - fn() => ($test > __METHOD__); - } - function test9c9cca7aeb8eb2793376f8241a50cf6216c358a84f0a283e6b1a0f727a80171a() - { - $this->assertTrue(true); - fn() => (eval($test) >= $test); - } - function testa2c91e0c75763b182749ad32d38b28f119cdc51bf2271f581a7069f540878bb6() - { - $this->assertTrue(true); - fn() => ($test > $test * $test); - } - function testa3363ebf41e5b4876879af33bd0d866d5f4001fc9cd6e8b0177d85b4b1a8bb63() - { - $this->assertTrue(true); - fn() => ($test > $test >> $test); - } - function testa46e0a7263232c716e6c85fefc3b0d234cf214b35735ce46720f396e5f42f10f() - { - $this->assertTrue(true); - fn() => ($test > (string) $test); - } - function testa8001b75d91e0628b8b5ef2db088eb31db5a73fa60ca90b5a8d6d89178e5256a() - { - $this->assertTrue(true); - fn() => (--$test >= $test); - } - function testa9d703d2af7352f0c328243ea395930e7266123aa6fb228c5e39dcde03d35e21() - { - $this->assertTrue(true); - fn() => ($test > $test ** $test); - } - function testaaf918642fd5749df5257bd5b26ca4b6cce68876e7294bcee27ec0f062d2fa2c() - { - $this->assertTrue(true); - fn() => (($test =& $test) >= $test); - } - function testab82fdfb65ea181576421fe36ae7ab3c9a57bec8fd57a45fcc2ff5133f32b683() - { - $this->assertTrue(true); - fn() => (-$test >= $test); - } - function testacd59e65080d2a5d3a079392c663ee7c016b19d3e26234d512018d1e5077d07c() - { - $this->assertTrue(true); - fn() => ($test > (object) $test); - } - function testade8b928f9cd775ca04ff8521bf7260964b372aa2200f2eea3b3c12116bb5f94() - { - $this->assertTrue(true); - fn() => (( $test) >= $test); - } - function testb041bd620dcf276b7ef8d67de9dddb30f22c6255d00347c8518963a090b2454c() - { - $this->assertTrue(true); - fn() => ($test > ($test > $test)); - } - function testb1c5cee096c0ceaf5dfcd82e4dd06b8bf74f71174b9820f2cd6aa566519bdcdb() - { - $this->assertTrue(true); - fn() => (self >= $test); - } - function testb283c59f745329fdd929103be805c9ea8ccfec912510688ce14887a1233801e0() - { - $this->assertTrue(true); - fn() => ($test > ($test ^ $test)); - } - function testb6837812e0505b43abc1a6990f163845c64a50307e5ca9e980ca124d27b0d02d() - { - $this->assertTrue(true); - fn() => (++$test >= $test); - } - function testc0b9b51ea5beaf18a6f06611c070c1644f6e834c7af7ce3334ff6e9922f9ab27() - { - $this->assertTrue(true); - fn() => ($test-- >= $test); - } - function testc2aababaf0e6f75dafe12477924a9bf3e3433e0e47aaa5f87e62a70ea2601567() - { - $this->assertTrue(true); - fn() => ($test > ($test >>= $test)); - } - function testc4c8afc21f9226d0a5826cec47f3b054f8d7e66f03e8008f25e92fa0cd23a66d() - { - $this->assertTrue(true); - fn() => ($test > ($test && $test)); - } - function testc95776475b34d09e1e8be6d5a0c55732412dc122f0d8709d0b3f09b5fcb19ec2() - { - $this->assertTrue(true); - fn() => ($test > ($test != $test)); - } - function testcb04359440173a2c1e0e32174215a979c50ac160ddc45d9085500aeccef52c2a() - { - $this->assertTrue(true); - fn() => ($test > __FUNCTION__); - } - function testd080c6416a3277a875c0e8ecaa48be3c58692d8b6ebd90ba79c27c81ae4e06ab() - { - $this->assertTrue(true); - fn() => (match ($test) { - } >= $test); - } - function testd346e5d1f5b5dea470f68373e99972fd51b341d75bd198b20a5123d85e591d97() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) >= $test); - } - function testd53391272afcd8d932ce1d14508cbbcc22a3f093ee69d41f8d578afb4e8eb309() - { - $this->assertTrue(true); - fn() => (`` >= $test); - } - function testd63cded2473f1c6a210e3e3ccb90ce70d4d9b4276dccdd7623f9e014ffc676a5() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) >= $test); - } - function testd790b65bb50d9a21be5b400b82a5ebfb0db6ff1be16b24024e4426079716a33a() - { - $this->assertTrue(true); - fn() => ($test[$test] >= $test); - } - function testd9853e674dc7a52aae8086a5f2bdbe80f55b06afe60a9d577fad18a05e3290a9() - { - $this->assertTrue(true); - fn() => ($test > ($test *= $test)); - } - function testdb3261d661a7a5ff03b264f1854bc1fc04e2a326bbaa8ff042e07ccc71fccbb6() - { - $this->assertTrue(true); - fn() => ($test > "{$test}"); - } - function teste2be1003905375f63414262ffd2613e79777886d53a612333398a22c654b0bdd() - { - $this->assertTrue(true); - fn() => ($test->{$test} >= $test); - } - function teste69377a8af10fc2644f69e4d3e33b03c750cb2d6cbbe1c743d5549882d83b9eb() - { - $this->assertTrue(true); - fn() => ($test > ($test /= $test)); - } - function testea4610ac9559749f4c79f7978acff24bd62bc372f7ab0ba77fe28667ee8ab107() - { - $this->assertTrue(true); - fn() => ($test > ($test ?? $test)); - } - function tested36462abc0cf8d9a2325ec1d034f284ae94f3430fd711b55132d5d88e93cc61() - { - $this->assertTrue(true); - fn() => ($test > $test - $test); - } - function tested5212f58b238fcdb1872cc42922849353bb17c4044e791d451f1008ce018e77() - { - $this->assertTrue(true); - fn() => (($test ^= $test) >= $test); - } - function tested717d441cfa380e46921cfe453fecdef4c2320a2a435ec10d1f28ca43100f3e() - { - $this->assertTrue(true); - fn() => (($test .= $test) >= $test); - } - function testef70b75ce64ce8d7862a95f27398d62818c70c2a0ce25cd0e11c5d58672af51c() - { - $this->assertTrue(true); - fn() => ($test > $test << $test); - } - function testf13c946dc527437ad929e545cbd26db4a744c2bbba837c334561c96f86d22c35() - { - $this->assertTrue(true); - fn() => ($test > __NAMESPACE__); - } - function testf74eafa10db338cbd314d4abd0f978c48e6496db6267a2529deef1e75d2933ca() - { - $this->assertTrue(true); - fn() => ($test > (array) $test); - } - function testf9db3a915c0a88ba7ce0d069698d1141218e8b4c02a5800b8901f507609f4ce3() - { - $this->assertTrue(true); - fn() => (function () { - } >= $test); - } - function testfc3dd37d2af455bf83d0ea90d975f6237ceb9b9d0ec0c0847606a066f41c3c93() - { - $this->assertTrue(true); - fn() => ($test > ($test & $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test.php b/testsGenerated/Target/Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test.php deleted file mode 100644 index 2b581cb02..000000000 --- a/testsGenerated/Target/Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test extends TestCase -{ - function test00d4f527063a5b3e9ea894b6b222953fb973ebd13bca899247f56cfbdf59495d() - { - $this->assertTrue(true); - fn() => ($test >= ($test ??= $test)); - } - function test052571d2e8b10cd9abd9ff5fe04f2b5d091a6cf85cc5543894abe4a42d63dd37() - { - $this->assertTrue(true); - fn() => ("{$test}" >= $test); - } - function test09930ccdb2767700631189b28d7338a1a33708dcad03bf832add2048b715494a() - { - $this->assertTrue(true); - fn() => ($test >= $test?->{$test}); - } - function test0ebb5feb9636f246663b194eca543cb6e123650d6e495ea6e82b4eb1435209c6() - { - $this->assertTrue(true); - fn() => (__DIR__ >= $test); - } - function test140d8eb2e9991d19549d3c36e7718cdf6f0d9b4a2d9f0e183294874eee72b0d7() - { - $this->assertTrue(true); - fn() => (($test /= $test) >= $test); - } - function test172446826af96df67d2a002dfedd928777370120234cc081d53fbdfaa2ffff0b() - { - $this->assertTrue(true); - fn() => (($test %= $test) >= $test); - } - function test17d20571d53c7c672b3964a700c419a9b416bd78f97dcebfd4b7aa4f219b843c() - { - $this->assertTrue(true); - fn() => ($test >= []); - } - function test184fb64c660baad1b9c3fa0b43b86fe4e8dbfb4f495de1e4e9bc0fecb53c5f82() - { - $this->assertTrue(true); - fn() => (($test && $test) >= $test); - } - function test18b81d343376f40d3e4bd3a3678d15287d902d5e59449d8bcee913b9dac145d5() - { - $this->assertTrue(true); - fn() => ($test >= (yield $test => $test)); - } - function test190ca0570bba0954b0cb53305318c75f6403501f6dfb18ee997872eff406f442() - { - $this->assertTrue(true); - fn() => ($test >= ($test /= $test)); - } - function test1944eccb76b1d2f1639bea2ab4152cc3f70b14bb5a9d4d7eae20c313376c6893() - { - $this->assertTrue(true); - fn() => (($test ^ $test) >= $test); - } - function test196531934544acd37be8d6d932d63a0e9dc7179f14f94bb7142d491ec75ca767() - { - $this->assertTrue(true); - fn() => ((array) $test >= $test); - } - function test289454503f93884b72ddb5c36a61dd92048a4424bb8a9aec8b713398a8380019() - { - $this->assertTrue(true); - fn() => ($test / $test >= $test); - } - function test2c788c364a746e89db851eb22ac35df472e8e3aa3f2be2620d60fb5a7b3dc099() - { - $this->assertTrue(true); - fn() => ($test + $test >= $test); - } - function test2ca0a2763c7947438bcdd36e89c26858af9231995b5f99eb9fc4c0705defaf8f() - { - $this->assertTrue(true); - fn() => ($test >= ($test .= $test)); - } - function test2e83828283f6cc892546807b0ed71935fb0d3afec5e7952a41452a91e6d272a2() - { - $this->assertTrue(true); - fn() => (($test += $test) >= $test); - } - function test30035a0571446617875e5a2da6419c7b747edb5c05c798fb11c54939b3f940cf() - { - $this->assertTrue(true); - fn() => (__FILE__ >= $test); - } - function test319d4296297f7bb8d630987bae1a0c25a4433ab69e2d6ca805b17e47e0158aa3() - { - $this->assertTrue(true); - fn() => ($test >= -$test); - } - function test331ce547edec0a61547377e87a37551b07d345c1e2294f9165edfe31d692fcc5() - { - $this->assertTrue(true); - fn() => ($test >= $test[$test]); - } - function test385e5f485d8f2d8cd5072fc63f77d0dcb8fe22750f16708fe7deb25eea9e381a() - { - $this->assertTrue(true); - fn() => ($test >= ($test %= $test)); - } - function test3e5da7aff76f056ca959a19f9e31ff31b8d387e445de66b3480a3a8fe79d5ea8() - { - $this->assertTrue(true); - fn() => ($test >= ($test =& $test)); - } - function test416ebcb75fada8f3fe1f7ea8ee7859b698d7f893d18e85d47f5e4119c6f4fa45() - { - $this->assertTrue(true); - fn() => ($test >= $test::$test()); - } - function test477c1605de9aa5bb9ce880c814894f2856f246498ccb3d690d58ddaeaeaa4a8b() - { - $this->assertTrue(true); - fn() => ((object) $test >= $test); - } - function test4e3a61c4253a23af6969f800bebc05f56e687d0cda61debf20265195f9f7ead4() - { - $this->assertTrue(true); - fn() => ('test' >= $test); - } - function test5047a991d11c9c82aaef037c8482ab30fa8f2dac4afbdf266a116f3cad1fcc30() - { - $this->assertTrue(true); - fn() => ((string) $test >= $test); - } - function test507821f8029330427414b7ce85d08a744a9a4b2b7ef5aada07c13b936bfbe1c5() - { - $this->assertTrue(true); - fn() => ($test >= eval($test)); - } - function test5753cd6fe0f5ccb06a00efe77b734f9d3706cd1336699f9ffa1e93cbe95bda3a() - { - $this->assertTrue(true); - fn() => (($test === $test) >= $test); - } - function test57d2b5f003a5eac5bebf0fad7c9e880da0faf533b4d3241e603d3d3866e0516f() - { - $this->assertTrue(true); - fn() => (($test or $test) >= $test); - } - function test59b6c4fb5a7a5e954c9e54268965f0e507fde629dc43e8bc6ee406ad1856ce83() - { - $this->assertTrue(true); - fn() => ($test - $test >= $test); - } - function test59e8fc2483e66a336cfd5925083566bc39a6511d8674a973c9ff62ebe0ca2f70() - { - $this->assertTrue(true); - fn() => (0.0 >= $test); - } - function test5ca1f990dfd5377185f5ce50c1ed0efba602e12cfe598b8d54a2c586bce89d20() - { - $this->assertTrue(true); - fn() => (($test **= $test) >= $test); - } - function test6753b2a1c487ff768800ed0612fd50084459d7fa032e419586f958768fbfa1c1() - { - $this->assertTrue(true); - fn() => ($test >= ($test -= $test)); - } - function test6f764956107b1be882b1b5a9ea9556bbfc9614d37f24fc93517f62a417f56e39() - { - $this->assertTrue(true); - fn() => ($test >> $test >= $test); - } - function test7001cfd2c4fe8a00075c5ff684202bcaedf88c5a355883e71ccce964afdc5576() - { - $this->assertTrue(true); - fn() => ($test >= $test?->{$test}()); - } - function test70a7e680b9d8c55a1c5ea9abf0dd955661329ef6f56fbff98d81b98b8f6979f2() - { - $this->assertTrue(true); - fn() => (($test >= $test) >= $test); - } - function test7320da53390325be56b81f7fadbf925dfdcf4e9fee6686d8ebabe0bffcbf9889() - { - $this->assertTrue(true); - fn() => ($test >= isset($test)); - } - function test785f45125cb58414871d54b5d54e383e9c6f9dc242f104bd741c23883ef32bb6() - { - $this->assertTrue(true); - fn() => ($test >= ($test ^= $test)); - } - function test79e3f80d7a3ba351d6ab4a5eba2d719142c020e327c9013079b90758eeb8b7a8() - { - $this->assertTrue(true); - fn() => ($test >= throw $test); - } - function test7a3b2b87260e3390f35edce1e9d343abfce14f24ea2883a73ec5820e1727060b() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ >= $test); - } - function test7cf889061a374d833ffb65b24364de2a1395f654c462f63fe8e9c81cd3e1c882() - { - $this->assertTrue(true); - fn() => (($test != $test) >= $test); - } - function test7e8f96cf136d8a2b7f0bd19305ef9653c0726b6eb6c1640aeabb4090f78e1054() - { - $this->assertTrue(true); - fn() => (($test ?? $test) >= $test); - } - function test7f44e563f78504eddfdd0b3afc7473deb0cd63c0761033a2faf2322280f3280d() - { - $this->assertTrue(true); - fn() => (($test <<= $test) >= $test); - } - function test7f5c7c692f654be5005c6cc967947e1b3e7a67c5db6a4107596705269a2b0344() - { - $this->assertTrue(true); - fn() => (($test || $test) >= $test); - } - function test7fd4babbc63e1f35b1a6cb0312a2bb4fc8b92865f33c23654c3962bfaee519e2() - { - $this->assertTrue(true); - fn() => ($test >= (yield from $test)); - } - function test8423e5a8818a159671211cc619e1ad0ca6355422cb866f0b700815dd623243ce() - { - $this->assertTrue(true); - fn() => ($test >= $test->{$test}()); - } - function test853e2c6bc8ed896faba6a7620b6daa1c8fc954b0ce45cba10a3db1c0b92e6e5a() - { - $this->assertTrue(true); - fn() => ((double) $test >= $test); - } - function test85a41fb9558dafd3d3f62f5b3fccf0140a24afde22807c54265eaeec2e813d5a() - { - $this->assertTrue(true); - fn() => (__METHOD__ >= $test); - } - function test86357c6015d93f826ae61940ee63c860948dbcf34c774f194d4153a0cabd6b28() - { - $this->assertTrue(true); - fn() => (__LINE__ >= $test); - } - function test878847b3cac60fe390cd956cd6da13d1ec5781953dd27942bf9c2d94abbc8ad2() - { - $this->assertTrue(true); - fn() => ($test >= clone $test); - } - function test889e0de8b89fcde47de0a370531df0b5936d09332557b49e7eef7b8f3f6dbbbb() - { - $this->assertTrue(true); - fn() => ($test >= $test++); - } - function test8a08e3992bd7848415469dfc3316012658bb84c934aec47818ec40a9efcdf153() - { - $this->assertTrue(true); - fn() => ($test >= ``); - } - function test8a9b8da0336078b2afc4806debaadf851d16d8377c2bda8366a9460db5db42dd() - { - $this->assertTrue(true); - fn() => ($test >= $test); - } - function test8b117825d88910679dc3e6a02b664fbc013109ae2dc8bd2a69e82766ee59f8c8() - { - $this->assertTrue(true); - fn() => ($test >= !$test); - } - function test8c13886acdaa8622c959549b80cf147ea73b14fb9f704a42fa55ea3c711fcbab() - { - $this->assertTrue(true); - fn() => (($test -= $test) >= $test); - } - function test8d44c8c31d35669adbf5f0cff949677fbb3e2b2c978bb97025119faa27a20035() - { - $this->assertTrue(true); - fn() => (($test <=> $test) >= $test); - } - function test8d4f25c5f777358af189b8e73bb99c92f5f52e50e9b54ba459e67fcc2823ce67() - { - $this->assertTrue(true); - fn() => ($test >= $test::${$test}); - } - function test926d2eccac39f6b62186e06ef5600b0c327bebbecc163b8b6d80e48a25eac8d3() - { - $this->assertTrue(true); - fn() => ($test >= ${$test}); - } - function test9723e154e08af05abdeafda199d0042813f6b2ab219bfbe2da2d38db6d485027() - { - $this->assertTrue(true); - fn() => ((bool) $test >= $test); - } - function test9743a69af6c3e100a34fd3f3380293b3c5acb701a9fcee3e1b6832b1ab339add() - { - $this->assertTrue(true); - fn() => (__TRAIT__ >= $test); - } - function test9cd4e0d5488d2396b2786caba7c8a8dddf95aa1b445dc99cb5919fd730fbc531() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ >= $test); - } - function test9e06c5d2d1cda8af28927c52641600a8b7a95e32f4d49540c56f726936481fb1() - { - $this->assertTrue(true); - fn() => ($test >= $test()); - } - function testa030cb81755ad7b3a6b2fce20fe015490a453810026d99e2958ad5d5611ced31() - { - $this->assertTrue(true); - fn() => ($test . $test >= $test); - } - function testa19e41ed06f1757458ab2ab4ec2247ab7c5efea080a1700da622d3a7f1ab8303() - { - $this->assertTrue(true); - fn() => (0 >= $test); - } - function testa25c94ad17756f3fd0dd86b87c79f6f08b88260d82ada2049fe44b2be7609c4a() - { - $this->assertTrue(true); - fn() => (($test & $test) >= $test); - } - function testa51f939150143c45abce33bbb491bd9451de678048e4efd80011117e18c4abbe() - { - $this->assertTrue(true); - fn() => ($test >= empty($test)); - } - function testa62d6e75d2b7491ec3e9a61cd672201728a1f09309555ffb66ac50ff57aa5060() - { - $this->assertTrue(true); - fn() => (($test == $test) >= $test); - } - function testa6f2fdadfd376f03b798c21fce752e8aeeaed2097cbb5af028cf3d84ef4c485b() - { - $this->assertTrue(true); - fn() => ($test >= ($test |= $test)); - } - function testa911be0d1295152f6436e5693aaced2a7ba37d54690f4b725cd93d30a2b8496b() - { - $this->assertTrue(true); - fn() => (__CLASS__ >= $test); - } - function testae23c8ab9d9fab2331d492018d1537f9f1da43e1983da7d11e8890817599b7d9() - { - $this->assertTrue(true); - fn() => ($test >= match ($test) { - }); - } - function testb2ccac2480cdf2d2d909fcbffebb3f2ddabc7159d3484da0a3aa2b0dc2bd2c0d() - { - $this->assertTrue(true); - fn() => ($test >= self); - } - function testbacd1c02975507bcd82ea328034a88eaac765eac6d927de20786470ee38147a1() - { - $this->assertTrue(true); - fn() => ($test >= ($test &= $test)); - } - function testbadccafac7d33aafeaa2b170f8eea4d6498c23cbc7019731eca0efca02168a26() - { - $this->assertTrue(true); - fn() => ($test >= ( $test)); - } - function testbb3baa2b031f0f8caa477061d92f9b1fad456de9ada2046727dc48cd149e098d() - { - $this->assertTrue(true); - fn() => ($test >= @$test); - } - function testbeaf5b0974fe8d7f5532e97f93a9847e8fad8d1d340d4fb9a0eedf695b4764c0() - { - $this->assertTrue(true); - fn() => ($test >= ($test = $test)); - } - function testbfdeceab0ff6b741985a7d0292edb6119810eb8ae803763ff3a63d365d5f7542() - { - $this->assertTrue(true); - fn() => ($test >= $test instanceof $test); - } - function testc0a28b6b16960042979a5f43138b32970e9ddc20a4a16262edcfa36d0c9f0a24() - { - $this->assertTrue(true); - fn() => ($test * $test >= $test); - } - function testc300aa5b10456a0570febe61e73243ec4f506490e74d89ad1d59f8ed5c589759() - { - $this->assertTrue(true); - fn() => (($test !== $test) >= $test); - } - function testc42703ca23f30890a632cc7a1f6203811303d5bf44e9cd47f6088eeb74eb7f6f() - { - $this->assertTrue(true); - fn() => ($test >= new $test()); - } - function testc6dff5295b200f7c65a5e5470bc42d1a6e18a8ebea64798f9b950e6e0df7263b() - { - $this->assertTrue(true); - fn() => ($test >= $test--); - } - function testc9930ec50ecf6554cb002c26343c04bff2bbfd0ae0ac33e5a1e3e5c693067e0d() - { - $this->assertTrue(true); - fn() => ($test >= function () { - }); - } - function testcb6a45639fc91f8bd9d3dfa6b6855bd4de86f4aafa26760dbe2e69bf7f6e40ea() - { - $this->assertTrue(true); - fn() => ($test >= --$test); - } - function testd15390169b300a0cd9534e8347aa2c89a5c584d1cf4c95fca91149ca26729e50() - { - $this->assertTrue(true); - fn() => (($test xor $test) >= $test); - } - function testd2baebad003496310ad4604faadd081c798b455dfd8bddde3b5ce7671c0c892f() - { - $this->assertTrue(true); - fn() => (($test > $test) >= $test); - } - function testd5f999a51a0f3593012c15d1bd2cf59f4e375be01909ef754b15deae3f08d344() - { - $this->assertTrue(true); - fn() => ($test ** $test >= $test); - } - function testd6aca0f8b4f40ca1483b3f42885ece6fc0c819591f95ed23c28c42941809a7f3() - { - $this->assertTrue(true); - fn() => ($test >= $test->{$test}); - } - function testd6df24fb4197ae3b198a6547830eb0165828d685e04804fc11436486d402bd08() - { - $this->assertTrue(true); - fn() => ($test % $test >= $test); - } - function testd7a508bea2b83fbe460fa2909935d608992ec2279772df31bb5d4cb38caea960() - { - $this->assertTrue(true); - fn() => ($test >= +$test); - } - function testd8290af180bd116976281b03d14fbc73198010049c103116a54dbf891c429f58() - { - $this->assertTrue(true); - fn() => ($test >= ~$test); - } - function testdd757e9c7a96dce6b3497ebfe5c43a47a445eb3c4fdc833fc2e42259d75b855f() - { - $this->assertTrue(true); - fn() => (($test < $test) >= $test); - } - function testde23828001a9f97e29cb2b4d3c77ba4274934d6686babf18e30ab24e9d92ace7() - { - $this->assertTrue(true); - fn() => ($test >= ++$test); - } - function testdf3b8b6447acff720129b31748ae3d286f8b5f14359fafb7b21e1295e1956374() - { - $this->assertTrue(true); - fn() => (($test and $test) >= $test); - } - function teste22b7ec703db8427e61c5b184d5de40356e563e16bec2ea347b1783df0afbb29() - { - $this->assertTrue(true); - fn() => ($test >= ($test ? $test : $test)); - } - function teste7b54c7c7018c9f88ac49a0d1efd93e14974773439ad8516f8e67efd1b3349e1() - { - $this->assertTrue(true); - fn() => ($test << $test >= $test); - } - function teste9fdad57869ed604002b894cba57640de535f1108be77c50e8317679474e369b() - { - $this->assertTrue(true); - fn() => (($test *= $test) >= $test); - } - function testf14385ce762fb955a3cb718965e203109ed6f83bb78751aa37f5e7f4133e90fd() - { - $this->assertTrue(true); - fn() => ((int) $test >= $test); - } - function testf24f4661bda2d1b7aad2a38a79f4d2c1b6bd0073141ec728d3e65a7e0f0038ce() - { - $this->assertTrue(true); - fn() => (($test <= $test) >= $test); - } - function testf5407101840ac72ff66b252d48fb66e3ef2c97f7ffe6849d8107d8ef5dacf33f() - { - $this->assertTrue(true); - fn() => ($test >= $test::$test); - } - function testf88e9f4fbe47200066b2493ce5a0c6691b9da70f7054a19b5ac688919d67908e() - { - $this->assertTrue(true); - fn() => (($test | $test) >= $test); - } - function testf9189dda7fb02a9857604b1084b35390fcdb5c50f228d192a764f00f672557eb() - { - $this->assertTrue(true); - fn() => ($test >= (print $test)); - } - function testfe520c85c528581d2dc013e4808818d7b74d640a773c86d339cb165f0498391b() - { - $this->assertTrue(true); - fn() => (($test >>= $test) >= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test.php b/testsGenerated/Target/Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test.php deleted file mode 100644 index f793a299e..000000000 --- a/testsGenerated/Target/Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test extends TestCase -{ - function test0722744c05d79cb9301664762d85a8c88e8e03ac3571f2cd8a3655e816ddd16e() - { - $this->assertTrue(true); - fn() => ((object) $test()); - } - function test07bc2986d328361ff0040726307242e2fe26491f64261d16f2c04b5635db3d40() - { - $this->assertTrue(true); - fn() => ((object) eval($test)); - } - function test0ed2ae2ef9af6a4acc5ca6d050a98ba2d0e021163ca97c2196726ee94c267890() - { - $this->assertTrue(true); - fn() => ((object) (!$test)); - } - function test0feb848162336ac136b3f64bea2e174a60a9932dd141ac1757a1f905f7af08be() - { - $this->assertTrue(true); - fn() => ((int) "{$test}"); - } - function test10be607fe768b04611168ffcfb9ead8290da987c6c317fb3db2ad68b1cb8aa57() - { - $this->assertTrue(true); - fn() => ((int) __TRAIT__); - } - function test127d6af5f609e0710e975460189a0548c3ff1b4b2e22dba11dab41394e315b65() - { - $this->assertTrue(true); - fn() => ((object) ($test | $test)); - } - function test14667559ee9478fd93fa0e8ba343f3442197878926ec679e3f023487f92c9dea() - { - $this->assertTrue(true); - fn() => ((int) __DIR__); - } - function test15c8f57290bcd4f4c4968ace4d4e14cf00b33b2e1515bc234f49717e25442f12() - { - $this->assertTrue(true); - fn() => ((object) +$test); - } - function test1e6de97620f665a07c0ed89d0c936ec79a13ddc6067a9615c328b9e66f9c2a10() - { - $this->assertTrue(true); - fn() => ((int) ($test xor $test)); - } - function test22538654c70892c3bc307f6c69ec6da1806b532a30ef6f7f4b02b3a5506a0d11() - { - $this->assertTrue(true); - fn() => ((object) ($test && $test)); - } - function test22a410a7ad900823ab63a4ba94e7c4d78fca858534e8c562a104b23f8b5550d1() - { - $this->assertTrue(true); - fn() => ((int) ($test >= $test)); - } - function test2500255dd97b094a00da7d60196774e9052a7a86352ac3abe07bed5f64a44e20() - { - $this->assertTrue(true); - fn() => ((int) __LINE__); - } - function test274998c440e2f83bab645b56b40b81312983663cf7d5eeedb3bf1724e0946fa3() - { - $this->assertTrue(true); - fn() => ((int) ($test != $test)); - } - function test28e7698fdf8020475658010b26e79c101642fbcdc7c46cf43ddaa97397a2a28a() - { - $this->assertTrue(true); - fn() => ((object) $test?->{$test}()); - } - function test2be6aa51df144a4fa47eb2ffa065cf43b87262f0a029030e62077fbc1d4e43aa() - { - $this->assertTrue(true); - fn() => ((object) $test->{$test}); - } - function test2d8685dafadcfa32fd563c4fe2469bf621588e474b91e9b56f374ace083836a0() - { - $this->assertTrue(true); - fn() => ((int) ($test !== $test)); - } - function test303023e0a56100c52d78168d602e135ec8183436e36106407bc77d124b8713d6() - { - $this->assertTrue(true); - fn() => ((object) (print $test)); - } - function test30e79b629672189ea35d6599c9f35d737f9596ad0a792cc596502b217850f3e6() - { - $this->assertTrue(true); - fn() => ((object) ($test |= $test)); - } - function test350e38182d0e35dc6fb8cf71af6d469825481096755ac914b591a69a35646b69() - { - $this->assertTrue(true); - fn() => ((object) $test?->{$test}); - } - function test37cadc8f5c876de30c2010cd5f150a6e4aded3543c2069d133f731e00182f996() - { - $this->assertTrue(true); - fn() => ((int) ($test % $test)); - } - function test38e4b0549b5d13ea44c7af5676afcc1afe7b7811c3fead0f3182a0665c77ece7() - { - $this->assertTrue(true); - fn() => ((int) ($test and $test)); - } - function test3965653932466aa57ef25dbd9aacd14d58e5de68de8500747a1889d5469f33a0() - { - $this->assertTrue(true); - fn() => ((object) @$test); - } - function test3bb2a26d86b92c1f637a0a10daeef7102b95e1bed2f3febb31e5e7cf802ad6eb() - { - $this->assertTrue(true); - fn() => ((object) ~$test); - } - function test3be8c9f812cd062e60d6a18811e1a314d347a1c9c4cee8e86c9b4e62c4169597() - { - $this->assertTrue(true); - fn() => ((object) ($test .= $test)); - } - function test3c1d962c6100b6f4882dace56673f999f10126f81ee77fa1f6abf4ef21559830() - { - $this->assertTrue(true); - fn() => ((object) (yield $test => $test)); - } - function test408ca139166c1ac09245fc140fc1a05f2ecc3e56c524acff0a00f085f76bdd04() - { - $this->assertTrue(true); - fn() => ((object) match ($test) { - }); - } - function test4568b4aee7fca8702d09599110c127cb538cc3e04d583e751984dbc9c7a6d129() - { - $this->assertTrue(true); - fn() => ((object) ($test ^= $test)); - } - function test4db57262479f9842d047f4b6f109af796af89f5c861436347eb7dde9e2d68b65() - { - $this->assertTrue(true); - fn() => ((int) ($test == $test)); - } - function test5054423c0e1d0475a3b0a3adae931d7af10105d0d9d6cc3d0a13c8d54def44ee() - { - $this->assertTrue(true); - fn() => ((object) $test--); - } - function test58acd2af7f861af3e6595c51459c3b82a16f15e1568ed1e2837d14de7b0dd425() - { - $this->assertTrue(true); - fn() => ((object) ($test || $test)); - } - function test58d77b3b468a93ac03325528373a670f46ac43eb327a9a492e409aa849a201c2() - { - $this->assertTrue(true); - fn() => ((int) ($test <=> $test)); - } - function test5a0e2e3a2fcf1ba4fb19d95f1159c30ad12fd27f6a2500c779e91bcf713fc1aa() - { - $this->assertTrue(true); - fn() => ((object) ($test & $test)); - } - function test5ddbd88f62500e6e184cacffe26e4c4e086ac07f33d7904bc630d82feffb57d6() - { - $this->assertTrue(true); - fn() => ((int) 'test'); - } - function test5ece31122c964853967c359db14cc919d74b7deb7a8c0966ce599eaa49f7fb71() - { - $this->assertTrue(true); - fn() => ((int) ($test - $test)); - } - function test62beb25b0cb11da1577cda2b9b817aaeabe4383794b64dc6b99327a4286a6b6c() - { - $this->assertTrue(true); - fn() => ((object) $test); - } - function test63a10511aecb047a4608e01a7bb40f8ced556beb8d645b147a59b5d3d4d6cbca() - { - $this->assertTrue(true); - fn() => ((int) 0.0); - } - function test666e71dddbb083cd35aeb930d18eb549a8c21a0efc1da31103c4800fdae7acd2() - { - $this->assertTrue(true); - fn() => ((object) function () { - }); - } - function test6c76a11c530c4b00f05afba01ce569fbfc594ba4872d0ebac6f028952865730a() - { - $this->assertTrue(true); - fn() => ((object) clone $test); - } - function test6d4fa28c29ac4a695c563a1a6b741443a5bade5326e953407896c74b25ab44d3() - { - $this->assertTrue(true); - fn() => ((object) ( $test)); - } - function test6f9fb915612c2237b6385c1a3f5c2a04aa5887c48c1419ef015284ce40ec295e() - { - $this->assertTrue(true); - fn() => ((object) ($test ??= $test)); - } - function test71386b155e018a6ad0fb77b3b9040654077b60e3e7ea50633ddca183efd5c7a6() - { - $this->assertTrue(true); - fn() => ((int) 0); - } - function test739aa00e98a0bc380ad7e13236969f338e49505f4a6e336ac35ed23296384da3() - { - $this->assertTrue(true); - fn() => ((int) $test ** $test); - } - function test74f36e1c17c478d99fe12d934ea9cbeb3ee740d967c9ca8873a171a23fb9347d() - { - $this->assertTrue(true); - fn() => ((object) ($test **= $test)); - } - function test75b093249421405705a24dccd683e9d4e21228e59d9d5d79d817bc0bb7828ec1() - { - $this->assertTrue(true); - fn() => ((object) self); - } - function test783c2d2ac4089695d2e396c6becf62df7db585b385e1dd4b6e399544b69165bf() - { - $this->assertTrue(true); - fn() => ((object) ($test instanceof $test)); - } - function test809dda5a0e3665736fb68c79922b1d606f0b56933a572a40ea2a53b0a4ec96ae() - { - $this->assertTrue(true); - fn() => ((int) ($test === $test)); - } - function test82187a36a730777907a71e28d169ab9f1bd660e80b290c792ee1e4c5e4d19d9f() - { - $this->assertTrue(true); - fn() => ((int) __CLASS__); - } - function test8e3bf601b7adee155c5465af70b3dcdce0cbb092e7baa3db1f770bd4aef2a08e() - { - $this->assertTrue(true); - fn() => ((object) ($test += $test)); - } - function test8f2b2528b6db5bf6dcbe0ddbe0bb00b015f9e2f9f52bb7d9c43e766546741f78() - { - $this->assertTrue(true); - fn() => ((object) ($test ^ $test)); - } - function test8fb5ab94967993db5f5fef37f7271f4312d91a6dc5568335d8de8b150438d06e() - { - $this->assertTrue(true); - fn() => ((object) throw $test); - } - function test9169e7b1b2b5f2655c7247a47f185c6749e568e5f92362681b6fd3ea9e1ea5ca() - { - $this->assertTrue(true); - fn() => ((object) isset($test)); - } - function test9267d0bfcdd8ddbf9879ef57fd67aeb5bcdd9558f877d1b2a0a14855123acb44() - { - $this->assertTrue(true); - fn() => ((int) ($test / $test)); - } - function test97ab236cb088fd8455d4a39a405a620af5c70a9875df4cb3e3a5f258933b56e5() - { - $this->assertTrue(true); - fn() => ((object) empty($test)); - } - function test9920386b744510c67ba4c7598a3bc8cb656118ed1bba7ac35f22196606d1231a() - { - $this->assertTrue(true); - fn() => ((object) ($test <<= $test)); - } - function test995dcc3aa446407e3f97dc057e4ebedf508c76e48036ab8b5f46aa1abc927b44() - { - $this->assertTrue(true); - fn() => ((object) $test[$test]); - } - function test999ed377456732800483f4553866f5ef23fd650503ff74889d62d3699fcee2ce() - { - $this->assertTrue(true); - fn() => ((object) ($test %= $test)); - } - function test9c89c05173f859c760af252bf1a122e313813b0b6e2c8c6d5050732b4ea04970() - { - $this->assertTrue(true); - fn() => ((int) ($test or $test)); - } - function test9e92abf557492708a545fc36351e8900f8197a81aac01a2ca66a4e3b0d89d3a1() - { - $this->assertTrue(true); - fn() => ((object) ($test /= $test)); - } - function testa1518e1f45e48edab5b205b107bbdb7096d4707ca6cc6f28e0243bb8fd8dc192() - { - $this->assertTrue(true); - fn() => ((object) ($test &= $test)); - } - function testa25119b6b9a2c3f56d0287a39fecdd52828bafd917ab4c3ce04136ca4609b5bc() - { - $this->assertTrue(true); - fn() => ((object) ``); - } - function testa5b062e46021878f5a6a9b3645da3199af6ca7caac6e87ac3cc99127fb3d7c64() - { - $this->assertTrue(true); - fn() => ((object) ($test =& $test)); - } - function testa5e54cc6a8b7c990356964f3576a77c757b2bfc841d56871c1ea680561dce33e() - { - $this->assertTrue(true); - fn() => ((object) $test++); - } - function testa716ebc7cff353a535971302ca9fcc437ae5744a3c567e1c99af7373c194fa54() - { - $this->assertTrue(true); - fn() => ((int) ($test << $test)); - } - function testa76fb3e9cfa8f9808202577c9141395953a01b55a4700733e07c7a45ef5c7bd9() - { - $this->assertTrue(true); - fn() => ((object) ($test ? $test : $test)); - } - function testa7e43b2b605b84d1ca4f0151112f6997184d07dd3652c1b9a435a354906b2d02() - { - $this->assertTrue(true); - fn() => ((int) ($test < $test)); - } - function testa88f8612e2a5fec18b520df046bff959acd48a69e887c20daf402c4b3ce40f1f() - { - $this->assertTrue(true); - fn() => ((object) $test->{$test}()); - } - function testa8defeed52ac5f21de10c0fbbe7543166b15b7f425261626667b9b277d387e03() - { - $this->assertTrue(true); - fn() => ((object) ++$test); - } - function testa8f5a44790e102cdeab28f602f08c1ee4f5703b86a946c77d141176a5ccdcfe6() - { - $this->assertTrue(true); - fn() => ((int) __NAMESPACE__); - } - function testaacda819a60fb5c97b0f9835c2eaefc3e1e8c00bddf9e78ae281e5b94b84676e() - { - $this->assertTrue(true); - fn() => ((object) []); - } - function testab90e80c460566917d2a7f54466c3ed3279b7604babef91554b57f22ee19fb88() - { - $this->assertTrue(true); - fn() => ((int) ($test . $test)); - } - function testad6d99a30ec614b5ea00888748c8baba2cc33faa4e62df166184246ac9579396() - { - $this->assertTrue(true); - fn() => ((int) __FILE__); - } - function testb10c548bad7a9e203705c3aea3dacc6323827384466e2bfc05116b2800e08977() - { - $this->assertTrue(true); - fn() => ((int) (string) $test); - } - function testb492f1879d9bd86ef4a069bdf9104cc9984d8aab64f993a4f07eb77fcba5f594() - { - $this->assertTrue(true); - fn() => ((int) ($test > $test)); - } - function testb4b61d4f0850c5f7537877182d23f885a85f60e05484aad0a7e23006d2ffd948() - { - $this->assertTrue(true); - fn() => ((int) ($test >> $test)); - } - function testb506ca104dabe3ed1eb8b82782706911e49db8089cafa6269b1408c97ad2b9e1() - { - $this->assertTrue(true); - fn() => ((object) -$test); - } - function testba00dcee4eec8b9fa0e03c655a9259f8ef1b74d7e85806542657285236542422() - { - $this->assertTrue(true); - fn() => ((object) $test::$test); - } - function testbc6b7431271f3287d7dfb0be8734f5686713d16ba92580c758efd896764d0af4() - { - $this->assertTrue(true); - fn() => ((object) ($test >>= $test)); - } - function testbf488a1f4634898173fdb06868f22da0d6a84181e91f3e88a305a48ef5c9b346() - { - $this->assertTrue(true); - fn() => ((object) $test::${$test}); - } - function testc03f71fd86a02485c3a26536d89a8e8abf0ecb2985671293fbfcdcbd445604d8() - { - $this->assertTrue(true); - fn() => ((int) ($test + $test)); - } - function testc14e9f3429c512472394d5211fc22bcd355cff824a79623db42a9b7ae24d4e13() - { - $this->assertTrue(true); - fn() => ((object) ($test *= $test)); - } - function testccfb75c92b3ed509ee4f395865017fc5acc7deea4c83cbdc82aae85f43e05117() - { - $this->assertTrue(true); - fn() => ((int) ($test ?? $test)); - } - function testcd360dc630e9f8987e433461042a3c0d0a8ceccde21b74b968d399d9b593e126() - { - $this->assertTrue(true); - fn() => ((int) __FUNCTION__); - } - function testcd6d6f77e79f0e6ebac364862cd3093ee40e07c800629af6817dc47362cd196d() - { - $this->assertTrue(true); - fn() => ((int) (int) $test); - } - function testce9569091a363cb405eaf06772b9eadf74b7040c432fdea7009a4729e9ebe14d() - { - $this->assertTrue(true); - fn() => ((object) ${$test}); - } - function testceb36efa12dda8cec3829a2c5fa1ee0ea9715db4f8f3c0e768afb73fd061dcae() - { - $this->assertTrue(true); - fn() => ((int) __METHOD__); - } - function testd2507ad6570b78a7084a8b1d13e01f7c3d842bc5b489f50d1b1dc90da2e42422() - { - $this->assertTrue(true); - fn() => ((object) --$test); - } - function testd3f544f1338e48066ea6ff5ac745293f6ed4170f644b2fa7b8fd02e5f521fabe() - { - $this->assertTrue(true); - fn() => ((object) (yield from $test)); - } - function testda9e89ca37f1f11d29ca3aa049078a585a6574af955c338684f9ace95fcebbd6() - { - $this->assertTrue(true); - fn() => ((int) ($test && $test)); - } - function testdf3f9d52c6a627ad15c7869f42033213e9034c7c8a0ae899caab71138a857177() - { - $this->assertTrue(true); - fn() => ((int) ($test || $test)); - } - function testdfe8636e654adcb59082d6380730795386187d5777ccf588c64943b5ee665077() - { - $this->assertTrue(true); - fn() => ((int) ($test <= $test)); - } - function teste2453011200a8c3ed49bd837ee3a2e7515fab2cf9b0455bb3a8fbd0a0a7eebf5() - { - $this->assertTrue(true); - fn() => ((int) (object) $test); - } - function teste4aa14f5f06865dc4ca33febf2ce547422fca4e48d2a4e6fa4c189e8db71e57a() - { - $this->assertTrue(true); - fn() => ((object) ($test = $test)); - } - function teste918854ec1e18d1c94ef7886bd312913b73d4d906af473f68c657051f6125094() - { - $this->assertTrue(true); - fn() => ((object) ($test -= $test)); - } - function testebf5038d5e1114db066fae066d7a290ead7b5c318bb72df97ae356802a87ad92() - { - $this->assertTrue(true); - fn() => ((object) ($test ?? $test)); - } - function testedfa7e0d371e382242245a493ced43025d2eb1eb6082b76ed87f3df927e6eb5c() - { - $this->assertTrue(true); - fn() => ((object) $test::$test()); - } - function testf5db6443ba9886d1f30533bc311e75c2c60533890fa72b965019506b839e020d() - { - $this->assertTrue(true); - fn() => ((int) (double) $test); - } - function testf8f76e7c4d8311ff7b716415260a81ff633fdcd3ac80100fc07a1807f5c3f075() - { - $this->assertTrue(true); - fn() => ((int) ($test * $test)); - } - function testf9c10ef323c0b6dda5bc36e9bfb2367af6c6335934b4d2daf2b717bc80405cc2() - { - $this->assertTrue(true); - fn() => ((int) (array) $test); - } - function testfadffd9f4d73eeef99f764c9a78d07ae794b1160b6c32d70f1eeb16b367418ba() - { - $this->assertTrue(true); - fn() => ((int) (bool) $test); - } - function testfb4857625cc95d43b1592bc224099955ba37463fb6e977c8078a4ab58a86b721() - { - $this->assertTrue(true); - fn() => ((object) new $test()); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test.php b/testsGenerated/Target/Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test.php deleted file mode 100644 index 65f9f7045..000000000 --- a/testsGenerated/Target/Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test.php +++ /dev/null @@ -1,509 +0,0 @@ - - * @license MIT - */ -class Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test extends TestCase -{ - function test0bb8c6fca086b40c353d5c0cd015e8356eeb39731615b2fc9973d5ffe4b8597d() - { - $this->assertTrue(true); - fn() => (!$test *= $test); - } - function test0c2bb756f237ac81c10c3fc243ea1c8d0f438a670dcda350686fa79ff090bb9d() - { - $this->assertTrue(true); - fn() => ($test *= $test++); - } - function test0c9368c24e06bcd7508d5ed915daf170ffe1d1f436d880f27b5247f93810efcc() - { - $this->assertTrue(true); - fn() => ($test *= $test |= $test); - } - function test0d131714739524585a215e4b5f23595b8793c081c6757b100afee3cdce3a57df() - { - $this->assertTrue(true); - fn() => ($test *= self); - } - function test0e17b4987b531422387128759e59d79400d38c24b5a7a1bd361199619014479f() - { - $this->assertTrue(true); - fn() => ($test %= __NAMESPACE__); - } - function test0fa4fb0c3f3749e3c6d8fce6bfbf530c989d5d85f81f8466a24aa6b0e67b04b3() - { - $this->assertTrue(true); - fn() => ($test *= $test ? $test : $test); - } - function test124b8821accdbd4e807daab60c9b4a99ee72d858a900b8627c2506839542074c() - { - $this->assertTrue(true); - fn() => ($test . $test *= $test); - } - function test13dd79138bf2ffaa4da764f4b26bdb2cb09cced5f9d8d654b264d92350baa74a() - { - $this->assertTrue(true); - fn() => ((string) $test *= $test); - } - function test152ca5f27245119aa5dce783e194aba4c36e2a2e3eb771bfe05dd52b3f0339e5() - { - $this->assertTrue(true); - fn() => ($test *= $test?->{$test}()); - } - function test1a746834a90af465bc1a20f6ba33129174f38ee2b669041ebf58cb493b0915fa() - { - $this->assertTrue(true); - fn() => ($test - $test *= $test); - } - function test1a93c167fa2572e6e58c031499cb7f9172f7631df53c2c09c494c6fd55ffd250() - { - $this->assertTrue(true); - fn() => ($test *= (print $test)); - } - function test1b9636d2f078733f37509bf27a38ca0d088cdbc11d75f79a63bc80821b0ba57d() - { - $this->assertTrue(true); - fn() => ($test *= function () { - }); - } - function test1bae193f3c8ba7ebbac9e3faf2ce4d5380eabe0aaed82e3eafdb476c2a3affa2() - { - $this->assertTrue(true); - fn() => ($test *= empty($test)); - } - function test1c9c4a34579b20f1b8a5c96d93904902c4b8355e89a65fceb165440481e1f8e4() - { - $this->assertTrue(true); - fn() => ($test *= ${$test}); - } - function test1defd3be90b632cb5b8f070ec8560033d39380525bcce7d72206b5e97b7d181f() - { - $this->assertTrue(true); - fn() => ($test !== $test *= $test); - } - function test2a520168b73be6f599ae4a3ad7b821337c98a9b0e03e39d9c0244625b1ef6d82() - { - $this->assertTrue(true); - fn() => ($test *= $test &= $test); - } - function test2ab449057389b55890625b4c83ea4b15aacbc15601f6754878ec4167b3005ead() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test *= $test); - } - function test2e57d8a8fd0077d0815dfbf3c87e48f9ebff5d6ce2a9c42b0e7be368c79cd947() - { - $this->assertTrue(true); - fn() => ($test *= clone $test); - } - function test2e74a0bf5e8cd5467deab4c0cc5c844b874b313e7d21198409a1f5c02888cd84() - { - $this->assertTrue(true); - fn() => ($test *= match ($test) { - }); - } - function test326c4c70d41cedffe5a929f7cc0d300d5db3aa9be4ef03b6a1647ced246fdd30() - { - $this->assertTrue(true); - fn() => ($test ** $test *= $test); - } - function test39aab11b9913ff3241dd2d6c1d42000dc5de5ea69dfc7463adf999c7c213922f() - { - $this->assertTrue(true); - fn() => ($test %= __TRAIT__); - } - function test3d46685fc3b0772af9d3d45201c96bfdb5a3bacdb48ecdd012aebda70b09805d() - { - $this->assertTrue(true); - fn() => ($test *= ~$test); - } - function test431475730fc9a9fead09486a2ab606d6e3884ec9200abb2cfd4f40f7298b8fe7() - { - $this->assertTrue(true); - fn() => ($test << $test *= $test); - } - function test497dde1b01aef028621a490b44cfc9a67d9c43c760d040bae3551c8bc516ba31() - { - $this->assertTrue(true); - fn() => ($test *= $test = $test); - } - function test4e6333ac7caf771e0f10211ea38cbd6df39a18e33acf12d13134d99ed8c7cfcc() - { - $this->assertTrue(true); - fn() => ($test *= $test?->{$test}); - } - function test51b334f4e10b2bf3895782b7a8ebe0315fd66e629646b116836ff64e65e85aae() - { - $this->assertTrue(true); - fn() => ($test >> $test *= $test); - } - function test52d296295d6169d93129379318c790370d304c2cf81c7bc6180aebddb5f14967() - { - $this->assertTrue(true); - fn() => ($test / $test *= $test); - } - function test52da7c9043973860811012acabbdfb645406dc360efef2d39115dd96b4e80b2a() - { - $this->assertTrue(true); - fn() => ($test *= !$test); - } - function test548a2b2aa579d84f7edec4f9a146428cfebf9892833aca49bbab22db667c8134() - { - $this->assertTrue(true); - fn() => ((int) $test *= $test); - } - function test56016462389ffb97c143f7a78a705eb2b760be545b5969233ce8ee5810e27f30() - { - $this->assertTrue(true); - fn() => ($test *= --$test); - } - function test5784ee85f379dcf626e85055d509fcfffe2ba7e184c91303f2f0fbc54cc72a0f() - { - $this->assertTrue(true); - fn() => ($test | $test *= $test); - } - function test5d0d98525f63996630b5c7f616bb620cf2e4c9533d57188e75b44e7cccce06b5() - { - $this->assertTrue(true); - fn() => ($test[$test] *= $test); - } - function test5e92643a0a10d5a7b66c06e7203b27b0f03f51a0e6e0672bc76c9b8824449322() - { - $this->assertTrue(true); - fn() => ($test + $test *= $test); - } - function test608a04038295d27c30b495bfb7a55001674eaa9a7e67ee0a691f9aa26d6b80ae() - { - $this->assertTrue(true); - fn() => ($test == $test *= $test); - } - function test60cb76e1cfb2736049710f70d22f86f91c8005e198ade163f42d1ba67856b777() - { - $this->assertTrue(true); - fn() => (clone $test *= $test); - } - function test625fa2230a8da1f25e7a28caf175da7c44276ac48c9a5017645408608f75506f() - { - $this->assertTrue(true); - fn() => ((double) $test *= $test); - } - function test691991268bc144255bd50abfdd5dab53997ae836c832cc5f943154aacc851bec() - { - $this->assertTrue(true); - fn() => ($test <=> $test *= $test); - } - function test6959638d7a822d1ebe4930b1ab6b076623fa6514f6214ed2814f9163857b5e1b() - { - $this->assertTrue(true); - fn() => ((array) $test *= $test); - } - function test69d0bcd885a48e7429907020e1b4ba3e969f949d7f2ce1312caa82bbd4fd236a() - { - $this->assertTrue(true); - fn() => ($test <= $test *= $test); - } - function test6c842508a7333fb4e7fef27ed2c82372eefd6285087301c10f4d89f2b801f99a() - { - $this->assertTrue(true); - fn() => ($test *= ``); - } - function test725f8701eb2e4f11a7f9f92362a87f0c7b86faf872f3802539eb203f41aa8252() - { - $this->assertTrue(true); - fn() => ($test *= $test::${$test}); - } - function test72b4da875d8be3417197ac1d2a939569370681a6a5ccd9413070e491532330a1() - { - $this->assertTrue(true); - fn() => ($test >= $test *= $test); - } - function test74697b0cde556f3e69f386a4c654066cdbbde6c70543a4e0dce643693c1657ff() - { - $this->assertTrue(true); - fn() => ($test::${$test} *= $test); - } - function test7580b3915217532d1450debfb629e5a39aa7cbb13c15a30c3fffe8c418c35133() - { - $this->assertTrue(true); - fn() => ((object) $test *= $test); - } - function test78bfbfec3e647fb94f0a5b4e7763488d205a1ef586846d59dc1231af4046a4e5() - { - $this->assertTrue(true); - fn() => ($test %= __FUNCTION__); - } - function test7dab28b3cb545491b53fe088d0c646c5d195f2fedc0b22919f41850b030b6f1b() - { - $this->assertTrue(true); - fn() => ($test *= $test--); - } - function test822374a4a8a5196a8ee67e42396f84855dc47636972690a23c0c5421ffa0b841() - { - $this->assertTrue(true); - fn() => ($test === $test *= $test); - } - function test83a12ddaee8b1d2ae966620f47525e6cccb4c934a6f1d9a4ffe0fd14b535bfd1() - { - $this->assertTrue(true); - fn() => ($test *= $test instanceof $test); - } - function test849414f47a6d76fe8e2e2a75bfb526dcb0f4abae024a0026adc459051e6c001b() - { - $this->assertTrue(true); - fn() => ($test::$test *= $test); - } - function test84c10684244ce2424b95b7d2d5c75240658181ad6cfa70c8663a61b81318a753() - { - $this->assertTrue(true); - fn() => ($test *= $test /= $test); - } - function test852a9c21e7817bf2cda0a864c4e8b362a1e2bf8e5899eefdaaa28892f91492be() - { - $this->assertTrue(true); - fn() => ($test *= -$test); - } - function test85ead9d98bac392985364c0475d0414aa784fcb0a62fecbbdb1f505c377f416d() - { - $this->assertTrue(true); - fn() => ($test *= ++$test); - } - function test8a30c99be69c2cbe2fc0f72006b4eb0fedc59993d7e89fb2b74f560037a63826() - { - $this->assertTrue(true); - fn() => ($test %= 0); - } - function test8f1c491e7d08aff7f2d0439519e6a6e3b6e162d3e141b71e90bec0398a95613c() - { - $this->assertTrue(true); - fn() => ($test *= $test()); - } - function test969439b27ebaebea4424deb873766f6a7e2560af9acee465d1eeefd937c0b667() - { - $this->assertTrue(true); - fn() => ($test %= __CLASS__); - } - function test98b1bc26ea0782b75fc5fd7ea320f1ffecbc64c7f7b0f68ee1a49ede4bd60610() - { - $this->assertTrue(true); - fn() => ($test *= $test ^= $test); - } - function test9b9c34fcfe8ec50c76198829da8ee272c666679f9cd7460e77e7dc0e10ddbed5() - { - $this->assertTrue(true); - fn() => ($test *= (yield from $test)); - } - function testa216cde778bff072ca236ad928de5a7193d51d66548256889671eccfa7303e85() - { - $this->assertTrue(true); - fn() => ($test *= (yield $test => $test)); - } - function testa460c9dce065620013c2461c84374e612ea1b3c419660c1a95e13495dc27252b() - { - $this->assertTrue(true); - fn() => ($test %= __FILE__); - } - function testa9074a059f6cb72416171c53f17f44e1358a68c32f8b58faa77ef51271dab10a() - { - $this->assertTrue(true); - fn() => ($test *= $test =& $test); - } - function testac3c368178fa2c68c35940980998ecd87a83c6f46b81bb93a09308180e8e421e() - { - $this->assertTrue(true); - fn() => ($test ^ $test *= $test); - } - function testb6739e41e7b1f49e1ba00a671d928a41262d8e9be3de8171ba0c0773c711d535() - { - $this->assertTrue(true); - fn() => ($test %= 'test'); - } - function testb80e98c302cf79b830f18680774249768d152e73e35f235790011010efe097df() - { - $this->assertTrue(true); - fn() => ($test *= $test[$test]); - } - function testb8f2d3a2a20e8de3b2b77128371543464c0711a3f4cf698b03e7dc7810551b36() - { - $this->assertTrue(true); - fn() => ($test *= throw $test); - } - function testb91942c8a28ee68d3c7739b945bd9939e0eab0335bf6d2b8fc59510e679d8aef() - { - $this->assertTrue(true); - fn() => ($test & $test *= $test); - } - function testb9615965a88ad0aac2106582f31f1f98148012ef36cadeaf3881962d7e1d94f7() - { - $this->assertTrue(true); - fn() => ($test %= __METHOD__); - } - function testbae29d9b18c963fecc8ffb8215d5f04e5881a4367fd7a3d1176931c264c9b73a() - { - $this->assertTrue(true); - fn() => ($test %= __DIR__); - } - function testc2521a236fd99bef51d402ded0ce950b23875d3071581d413b48ce4b3d76d2ff() - { - $this->assertTrue(true); - fn() => ($test *= $test::$test); - } - function testc2786f237d34c2bd8213e89eeb8803a8841055aca4d5aa62a337d7bc97b99d25() - { - $this->assertTrue(true); - fn() => ($test *= $test->{$test}); - } - function testc34fcf8edb78f876767537d7fd2631deb5b15f33831e77c37063ca9c3ab6cba5() - { - $this->assertTrue(true); - fn() => (@$test *= $test); - } - function testc3fb7dd265079d4f1ecea9c6c2c1f0b2b644f8ece7f294287e05f27e9eb3e881() - { - $this->assertTrue(true); - fn() => (+$test *= $test); - } - function testc487aa3aaf34e6631a86fa8a0dc99753e78ee3941a3abee2718c161d47b6f6f9() - { - $this->assertTrue(true); - fn() => (${$test} *= $test); - } - function testc55b51bedffd0e9cccd6907b1ecaa2568d971a5efd14fa05fd700bf3eecbfefb() - { - $this->assertTrue(true); - fn() => ($test %= __LINE__); - } - function testc57ae7edfdcbb755adcabe01c4b58c98ff60c5c2a615b47327c71a0a501e851f() - { - $this->assertTrue(true); - fn() => ($test ?? $test *= $test); - } - function testcc66bcaceed13522bd4b208dc540f45cbd19df8b8ee680787b5ed474ece619fb() - { - $this->assertTrue(true); - fn() => (-$test *= $test); - } - function testccd1e9122322aa485501dd7852638a88308928495154b4c283f1adcf856034f7() - { - $this->assertTrue(true); - fn() => ($test *= $test->{$test}()); - } - function testcd8be3c71693fed198acc092629ca3cde0f5dea4c32dbfa983edfde4a704fb87() - { - $this->assertTrue(true); - fn() => ($test *= +$test); - } - function testceaef979976e7a5e8c0a80a220c54cd48ec7cb5146f1beef450e8cd5301794ed() - { - $this->assertTrue(true); - fn() => ($test *= @$test); - } - function testceed727672a26c918aeecd30ec37c311d0e6aa39726816759afcc1c477675b9e() - { - $this->assertTrue(true); - fn() => ($test *= eval($test)); - } - function testd3798728d5869d0309ae7688f594efd33cdbf8b4ac60f6828826810469be12f5() - { - $this->assertTrue(true); - fn() => ($test *= $test::$test()); - } - function testd599bee780ac574f4be444316d4caeef95762a1287075cc10226efd6e457dead() - { - $this->assertTrue(true); - fn() => ($test && $test *= $test); - } - function testd6e6c3c0c68155a0cfc73644f57e8408fb26daab28d47d1ef79fd97bb81247c1() - { - $this->assertTrue(true); - fn() => ($test->{$test} *= $test); - } - function testd6f8a362242d5db982f9a0282f0f6eb3d4a58b984586b3ce611da92ed80cd20a() - { - $this->assertTrue(true); - fn() => ($test *= new $test()); - } - function testd8a0ee18be65b628dfc64711e9bb2a788b414829ce23272e0be5fd344746c1c4() - { - $this->assertTrue(true); - fn() => ((bool) $test *= $test); - } - function testda90d1c7d052806cede70aa3e962bd3cdeecf69e85cf867a5017640b114a1a8f() - { - $this->assertTrue(true); - fn() => (throw $test *= $test); - } - function testdc588be7333a9ec87dd2702d9c29a692301b27dc726025d143596410062ef63c() - { - $this->assertTrue(true); - fn() => ($test *= isset($test)); - } - function testde06453775aa3f6c5ea23a69e11da6a3ced869158318adf64f55af1392476a99() - { - $this->assertTrue(true); - fn() => ($test < $test *= $test); - } - function testdeb33f7cd7cf2451669b8f3257143644254e8a5efff98565b505df54fe36aad0() - { - $this->assertTrue(true); - fn() => ($test *= $test .= $test); - } - function teste399335a222a18b290dd56d63531ed493b58d8a88479e710d31172dce78b10a9() - { - $this->assertTrue(true); - fn() => ($test > $test *= $test); - } - function teste4570675fa32b6c2d148516139997aca5b92b723c0d6cebdc15f4201b298097c() - { - $this->assertTrue(true); - fn() => ($test || $test *= $test); - } - function testeba16de414f3bec835f7064667865e29a3f7e89740ba4172613680cdb55cb9e7() - { - $this->assertTrue(true); - fn() => ($test != $test *= $test); - } - function testee18d10bf06af6f603ef9e43efd528fbacacec19cf8d47f885a43f1236a92b92() - { - $this->assertTrue(true); - fn() => (~$test *= $test); - } - function testf0331fd2e1424c70d6428f489db45fe75539251defbb39774de6a49c571a3fd9() - { - $this->assertTrue(true); - fn() => ($test *= []); - } - function testf112f13b6216e596db6b92a0ca96ebfac49ad7a8ebc020e1084dca7c38fa90ba() - { - $this->assertTrue(true); - fn() => ($test *= $test); - } - function testf6a11eaa9ce2f9e5458425fc99b00ce62b80125eea8ffa7d29754e9786434b8d() - { - $this->assertTrue(true); - fn() => ($test * $test *= $test); - } - function testf84b49fd46b7f0e923d670d997f929ff4ca253f1b7818b6125426393c5a8346f() - { - $this->assertTrue(true); - fn() => ($test %= "{$test}"); - } - function testf8be698e92bb55cbee571142cdf84110a7a595a91a3f42685c80dd4716b2faed() - { - $this->assertTrue(true); - fn() => ($test *= ( $test)); - } - function testfbc9874d9bae1dbf4260ab1ff10b2007f78be81b74f8c132e819885e57a0fe78() - { - $this->assertTrue(true); - fn() => ($test % $test *= $test); - } - function testfe4ceed21b220057724d72f6113a49c03bb569d80bd4ffaddf4416765094f796() - { - $this->assertTrue(true); - fn() => ($test *= $test ??= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest.php b/testsGenerated/Target/Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest.php deleted file mode 100644 index 7dde381e4..000000000 --- a/testsGenerated/Target/Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest extends TestCase -{ - function test0273bf6f883f25807f2ac27b5e1a9b4b03f97ef0bbf875a475f684312fab4fa3() - { - $this->assertTrue(true); - fn() => ($test xor $test::$test); - } - function test11109e64cb86dfb077b9436198ff9c666e37eb403c4b9b5fe03f1cebc20deb9b() - { - $this->assertTrue(true); - fn() => ($test xor $test .= $test); - } - function test1151e928430fe44ae134cecf23c0a41ad836f74dccc2d381723e872870bc3fc7() - { - $this->assertTrue(true); - fn() => ($test xor $test **= $test); - } - function test153569948435dee7d08a5ffad5f02d9102e73e171ea632d7d088fc02b0c94df6() - { - $this->assertTrue(true); - fn() => ($test !== $test xor $test); - } - function test15b83e46a76e48daff8ba0f9ff5dca6ce93b125c8c57fbd8435e793c72f065e2() - { - $this->assertTrue(true); - fn() => ($test <= $test xor $test); - } - function test1805d50ec27e8daa496735b03838daac3f71684dabe1950fcd1f5eaba70e2f1a() - { - $this->assertTrue(true); - fn() => ($test xor (yield $test => $test)); - } - function test207fe1d7a9d5516a1923c37590fefaea51f85fe13ad9adb8e77d4df5f250c4c2() - { - $this->assertTrue(true); - fn() => ($test xor ++$test); - } - function test22e84839547f9b7b04d66a37ddf8d2ac4137d7526f57a1e721f3100f70ccf110() - { - $this->assertTrue(true); - fn() => ($test xor $test and $test); - } - function test258a9e7217d7464b64dcf6ed68bf191dc60a816d6492117f214e3adfe38a5e02() - { - $this->assertTrue(true); - fn() => ($test xor $test ?? $test); - } - function test29249e7b2760826125f55ad5794fca3f69939a7ec82a42d28978d9cc839eb3ad() - { - $this->assertTrue(true); - fn() => ($test xor $test &= $test); - } - function test2996d97b8d74f877c7a15673e5bf96935daa83dafe6e15828f5cc1fc5d2893de() - { - $this->assertTrue(true); - fn() => (__FILE__ xor $test); - } - function test2a20665c871deb68ec4909474f088b69a349c1725d11ae63fc42e2cba9497639() - { - $this->assertTrue(true); - fn() => ($test xor $test / $test); - } - function test2dc7bee19d54950ac2d4394c6751219914e582e4a7798ebd2ef210e5774c190f() - { - $this->assertTrue(true); - fn() => ($test xor function () { - }); - } - function test2f3483e6a3bf8bb5453a133e05a4d0f541620a41ac54998e8776ee1c79db3fd0() - { - $this->assertTrue(true); - fn() => (__DIR__ xor $test); - } - function test304a30fb1d50ce17bb0ec5722a18216fe3b6fe754186145f09e7f2f5ca042d82() - { - $this->assertTrue(true); - fn() => ($test xor $test::$test()); - } - function test312ae8d9712dc201c761624f7553ae2d1fe72642c744d828b4d194ab6ad881f6() - { - $this->assertTrue(true); - fn() => ($test xor self); - } - function test3281c26edc715a1bb3e13093ec73f0d5c430d4d2cc4748c41b71d7b749359375() - { - $this->assertTrue(true); - fn() => ($test + $test xor $test); - } - function test3713d68b08c42ac81ee0befe86cd941ad7ebd86f683664f552f9112d4438affd() - { - $this->assertTrue(true); - fn() => ($test xor $test[$test]); - } - function test3882754198ede8611b4fd552290166952b6887835af52e7ccbb7aebde7fe1b1e() - { - $this->assertTrue(true); - fn() => ($test xor --$test); - } - function test3d7266926b79efb72bd451e80fab746abbcd7df41a242cc7e9e8d00c454e3051() - { - $this->assertTrue(true); - fn() => ($test xor $test - $test); - } - function test420612029df74ebade5aa6ac4d239b6d8daaff0cda851a95c11d497c9b21576c() - { - $this->assertTrue(true); - fn() => ((array) $test xor $test); - } - function test430df5251389a9950b02eb1bc5180d063bc6171cede5afd36fe6ffd8b3136ba3() - { - $this->assertTrue(true); - fn() => ($test xor $test--); - } - function test4824efb81fcd9a46aedcce8ca0aa42e8fdf1cad937e9603ab2fa44f77bcc8389() - { - $this->assertTrue(true); - fn() => ($test xor $test /= $test); - } - function test49a81d302344ced64336b0b388ecb51d423c517d8197f386eb2ac7ecb00273af() - { - $this->assertTrue(true); - fn() => ($test != $test xor $test); - } - function test49a90c35486fcf935617397f61549cf43513e5875b615951a3bd47970011c88d() - { - $this->assertTrue(true); - fn() => ($test xor $test | $test); - } - function test50726acdef16e8d4179fe6e1fdb2ddf2b28277edc727263dd9f6c4923a907551() - { - $this->assertTrue(true); - fn() => ($test xor $test . $test); - } - function test54982419a00a8f26770096dd3ff8431d4c71d3b08369b7f041fc28d9d7913ea4() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ xor $test); - } - function test58ed1538b4bba281533f48fa4f8076117b0520ee53d5e78cd9e796181a832133() - { - $this->assertTrue(true); - fn() => ((string) $test xor $test); - } - function test599de51bb3ee2221b890f140ec6a514aa3370ddecee6fb53cd7e7d31b46bd678() - { - $this->assertTrue(true); - fn() => ($test xor yield from $test); - } - function test5f22906161093cc2e44e77b10301a9fdde3be013544859406d9d102a9330d808() - { - $this->assertTrue(true); - fn() => ($test << $test xor $test); - } - function test65a011c9d23162e95a8b387b66c6abf1d59e28d1ab6f82a2a8f6f0d4222a6f59() - { - $this->assertTrue(true); - fn() => ($test xor $test ^= $test); - } - function test76e11674df69585e22378c0dfa8ce0ac36b9cea1fbecbe0b5f07bc5218628402() - { - $this->assertTrue(true); - fn() => ((int) $test xor $test); - } - function test7bcdcf23288f7d6b0ce018ca89bb9b673713907d4e9dca0fc71385ce69777055() - { - $this->assertTrue(true); - fn() => ($test xor $test ^ $test); - } - function test7e30191a0d045b73310a4fb60d83b921405559af6fe89f6ff7339a5ccb15b53c() - { - $this->assertTrue(true); - fn() => ($test xor $test ??= $test); - } - function test7f9ec4d1f6ba0ff4bd2671b88f474bdaaa7e037728a47a70ad8723dcbb625647() - { - $this->assertTrue(true); - fn() => (0.0 xor $test); - } - function test82d8c3b278ab6708ff48dc210e5b11327426766fd366e53cbdaec258321b2993() - { - $this->assertTrue(true); - fn() => ($test xor $test <<= $test); - } - function test83aada69a113acc2df4a4612290b0a955689bbba00a9934ae21d324da44530a2() - { - $this->assertTrue(true); - fn() => ($test xor $test -= $test); - } - function test83cd4d00074f6a3740550e6913ce01975bde93ebac461991f9ea3c87af1bc33b() - { - $this->assertTrue(true); - fn() => ($test xor $test++); - } - function test8641d325f348d99ea04904f351052a84cdc4d87f29323251db7acccbe64ee673() - { - $this->assertTrue(true); - fn() => ($test xor $test >= $test); - } - function test86ae18293b647d7c77b5ba4e34694cf260045474325888f5a9a6a963ecf3fbed() - { - $this->assertTrue(true); - fn() => (__TRAIT__ xor $test); - } - function test884998f0262718638f09e1a1d2c8a92b23af34cbb24315e096d4e3ebab4d3db9() - { - $this->assertTrue(true); - fn() => ($test xor match ($test) { - }); - } - function test891750744d2f13a6261821452db38c69027fa7e8a7e2cbbc306bc465dfdab36a() - { - $this->assertTrue(true); - fn() => ($test % $test xor $test); - } - function test8d4f6417ba8ceb000d5dc52a0a45df9fed3fbe8fbc637a3a26d4ec680702f6e2() - { - $this->assertTrue(true); - fn() => ($test xor $test ? $test : $test); - } - function test8f54f21b282b0a472ca47c8e946522e2113110c2c6e46578f208c140140e0eec() - { - $this->assertTrue(true); - fn() => ($test >> $test xor $test); - } - function test90f3cb9e9ee5a6c8485e68b43794e4036268ce5e4bccfe1a20ab768d6cd32734() - { - $this->assertTrue(true); - fn() => ((double) $test xor $test); - } - function test9334c465f10ef6dbc64907bb423ce66b89d8df5766778a9b59ae7fc06bcd86d0() - { - $this->assertTrue(true); - fn() => ($test xor $test % $test); - } - function test94283c2f3c93dc692e9e31465b1cf9c6ffe0fd6a224fbab0d4ba0d2aa17a4df6() - { - $this->assertTrue(true); - fn() => ($test <=> $test xor $test); - } - function test976218ef496552a89b45572e988441207982d1f47498caec531ba7a5ba3edd7c() - { - $this->assertTrue(true); - fn() => ($test xor $test *= $test); - } - function test98737e5742ace38b8496b8d32cbd0d1edb594ab08ea4c4809ac3555107237f71() - { - $this->assertTrue(true); - fn() => ((bool) $test xor $test); - } - function test9936a60468c0cbddfd98edc8a7cbb6a0441d2430509167e701395d52a31b6cb2() - { - $this->assertTrue(true); - fn() => ($test xor $test %= $test); - } - function test99ca613ead698a0ee64b936faf50a02845f2349f9bec2e22cb7cbef1bb2a155d() - { - $this->assertTrue(true); - fn() => ($test xor $test instanceof $test); - } - function test9b854bd48ff48aca6de0d6c00a7f6b5453897a7fdd467bae71221016bee31b88() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ xor $test); - } - function test9c09e4acf24b868b5d9e2ec224a552c534e956ee7d0a9fcf020b702eb844b3ca() - { - $this->assertTrue(true); - fn() => ($test xor clone $test); - } - function testa209c187842956ac537b98018d4f65665c85056361a2c9aa20a77cd52b2f50d2() - { - $this->assertTrue(true); - fn() => ($test xor isset($test)); - } - function testa2bfe3d00191ca7b28612a08708309f484b33dc85af83b41219c147979b42861() - { - $this->assertTrue(true); - fn() => ($test xor print $test); - } - function testa4180203f6c6b10c54c1f5c3e378764e641cca675c289d568074981b7dd0ec1d() - { - $this->assertTrue(true); - fn() => ($test xor $test >>= $test); - } - function testa819fd7a316e8b603cac3588aa371e7500ae5756cd33e4f50dc544ab990a19a6() - { - $this->assertTrue(true); - fn() => ($test xor $test); - } - function testa93fed41d09c90060b24270572bb49894a08d57ff4b96107b9865ddf7fabc68d() - { - $this->assertTrue(true); - fn() => ($test xor $test?->{$test}()); - } - function testa9878e2612c75a16297235772a9bc56bc7b88660559a31c6d30499902bc649eb() - { - $this->assertTrue(true); - fn() => ($test xor $test && $test); - } - function testaa515831f71d20377a38f26efacf3bc9d8b8bc3267dd136bf7afb27690db8d25() - { - $this->assertTrue(true); - fn() => ($test xor -$test); - } - function testb128cce87ed02910d8e80ea942dabeecc7183129af17c6399fa39b233ef03f9f() - { - $this->assertTrue(true); - fn() => ($test ** $test xor $test); - } - function testb2a928ba6f86327fce05c07ecd7171c5e36204ed89b7c6db10f430da315eebb2() - { - $this->assertTrue(true); - fn() => ($test xor $test::${$test}); - } - function testb61817cf350f3124a5e95068bb9d3dd33ffdecd91ac5df2baa2e48e91ad297c2() - { - $this->assertTrue(true); - fn() => ($test xor $test |= $test); - } - function testb85705a6ebef24c16c5582152562131be77b431c33543e63a05828c8f916a4bf() - { - $this->assertTrue(true); - fn() => ('test' xor $test); - } - function testbd21af5ca0162e9bb3c6d63ea7406a933ea4a90356088e745a418a506607b7c9() - { - $this->assertTrue(true); - fn() => ($test xor throw $test); - } - function testbfadd19668d765d099feee1a49c54269669a2b7ebdb64e91caccb3706c1d3b2f() - { - $this->assertTrue(true); - fn() => ($test xor empty($test)); - } - function testc0e0d2ffbf220bedbbc25b8a75146a8cee777bdf718338158b7d88a1a8695d55() - { - $this->assertTrue(true); - fn() => ($test * $test xor $test); - } - function testc12d2738fcf36848a941dc7114bca5dd051873d08d335eb54bb29112b304945d() - { - $this->assertTrue(true); - fn() => (__LINE__ xor $test); - } - function testc415c5c442870eb7ce9f22c1b66be14e5d7e6a1f275adad540c5d819786e7247() - { - $this->assertTrue(true); - fn() => ($test xor $test += $test); - } - function testc50d6d9ec21f6b610be16333038df07c6e67afc87e9dff483e04f02ff7b8b30b() - { - $this->assertTrue(true); - fn() => ($test < $test xor $test); - } - function testc5904a912bb29b7eae27afb26441b168d5babb7f4cb2b4b44bdaeb075def5bdf() - { - $this->assertTrue(true); - fn() => (0 xor $test); - } - function testc9395629441ce2ac774111fd3801215924387975e3e7b778bc8681a139da5ad7() - { - $this->assertTrue(true); - fn() => ($test xor ( $test)); - } - function testcb4efd84d88742df6b0bd64f230748f6149efe76ffd389e8a15fcbe1f5b27030() - { - $this->assertTrue(true); - fn() => ($test xor @$test); - } - function testd08cc3a1e9a0d7abe5c076433c38f8bee226c3c79e2fed581411f39190fc07c6() - { - $this->assertTrue(true); - fn() => ($test xor []); - } - function testd307b62ebca48d8e9f7bc3a48f6600c1d55ed486fee7e1d68e2de81d22a022ae() - { - $this->assertTrue(true); - fn() => ((object) $test xor $test); - } - function testd829449d0decb1bda6d868a928cc9236d3dc1b1854f025189ec20b331e76a3cd() - { - $this->assertTrue(true); - fn() => ($test xor $test || $test); - } - function testda1ae5548489ede9d21f91604f70651337bbb2d671ed41facfc0c29a86f79d54() - { - $this->assertTrue(true); - fn() => ($test xor $test =& $test); - } - function testdac92b08cf5a75d807c99a1944e12b528b4d6ac5276afc7db228295891a0a725() - { - $this->assertTrue(true); - fn() => ($test xor ($test or $test)); - } - function testdba14378c7ce3864a280f229db8ebe083f413f0cc393867c7c343d28887b7665() - { - $this->assertTrue(true); - fn() => ($test xor $test != $test); - } - function testddedab0afc06cf87ab5ab39cd772bb32be82dcfb054055909786dbe12dc3f07e() - { - $this->assertTrue(true); - fn() => ($test xor $test()); - } - function testddfbc95870e0b4e41ff6defef96918e044a6ee01709ff2e922b415194fc06c1a() - { - $this->assertTrue(true); - fn() => ($test xor $test * $test); - } - function testdf54383457577f99402f850303eb2c21e3e053e5d989f83f3bd70fbbc47e69ce() - { - $this->assertTrue(true); - fn() => ("{$test}" xor $test); - } - function teste0d37a80f0ce63afff3f89053d55c2aaff5e95a10c561b0e804c1fb52835396b() - { - $this->assertTrue(true); - fn() => ($test xor $test?->{$test}); - } - function teste1ada7120569c1c82e78f6ee4d3db19004a10f38a7de8269156f145828f147e2() - { - $this->assertTrue(true); - fn() => (__METHOD__ xor $test); - } - function teste3870daeff349a35c0002afca314d0ff71d591cf9bb3e6524a986aaaf5d3c6ef() - { - $this->assertTrue(true); - fn() => (__CLASS__ xor $test); - } - function teste3c5ebe6e5ffbfed655d177372900adc2d6801c3e5178aa1836499b6bb95903f() - { - $this->assertTrue(true); - fn() => ($test xor ${$test}); - } - function teste3dcf505c6e1249f86fddc6b626301b2fa9a347a3c20b44b1b5ad5604428f085() - { - $this->assertTrue(true); - fn() => ($test xor !$test); - } - function teste458da3ca1eceb6d16e79c278403c34f5a3ae0998942475e86b2aefea58ecf64() - { - $this->assertTrue(true); - fn() => ($test xor ``); - } - function teste491030e86ccf70d58757e21975ad0b1d86120fc2f2b45ca57bab12fb282ddc2() - { - $this->assertTrue(true); - fn() => ($test xor $test->{$test}()); - } - function teste924523dc2565060eb8225415ae461ce0b8a097cdb3be4b6614f25cc04f841bd() - { - $this->assertTrue(true); - fn() => ($test xor ($test xor $test)); - } - function teste9d35ef303797b5858b83f8e359649b2911427ee397e9a26688705366e2b03b3() - { - $this->assertTrue(true); - fn() => ($test xor $test->{$test}); - } - function testebf5c95e8990b6e3f96709e9343fd444b14e5bef105de470d72361cd34d4f87f() - { - $this->assertTrue(true); - fn() => ($test xor ~$test); - } - function testecfbe02130a2198e1b9a2b2e8aed6f4dc0fd05557240e69fcfbe2c5132157488() - { - $this->assertTrue(true); - fn() => ($test xor new $test()); - } - function testedb810d44f0e041b5cbe8318f8af75fbc70f01d321903435099ca93e0ed31e37() - { - $this->assertTrue(true); - fn() => ($test xor $test == $test); - } - function testee91b8bb747052ec507697629ad3ee982f2a4a146cf32a68eb8ba3ba9b22b59a() - { - $this->assertTrue(true); - fn() => ($test xor $test > $test); - } - function testf4b04179d3ef6c275f56608b01efc62201c39ed1c2a755e7b26a2e979f43bca4() - { - $this->assertTrue(true); - fn() => ($test xor eval($test)); - } - function testf72c9f7e4bcee006c0873a7b5c15bd908f165947fd038e833221dcf956d4d47e() - { - $this->assertTrue(true); - fn() => ($test xor +$test); - } - function testfb059428c806ba51bd7f535f3fc9b97e38cd3b922770d5e51c4429518ca4cd32() - { - $this->assertTrue(true); - fn() => ($test xor $test = $test); - } - function testfc4e4bdd89c07d24b325fba69c1dbd81c5923673da1b32364449a862636d4d94() - { - $this->assertTrue(true); - fn() => ($test xor $test & $test); - } - function testfe9fa5afbe38b6959247d7ee0015a2199fc5c989e1d21482156a7e178e67641f() - { - $this->assertTrue(true); - fn() => ($test xor $test === $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test.php b/testsGenerated/Target/Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test.php deleted file mode 100644 index 8c402d826..000000000 --- a/testsGenerated/Target/Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test extends TestCase -{ - function test043cb472fbc85f5eb88ae8a1faedbccd2875f4226e58cf220e2f212b52550077() - { - $this->assertTrue(true); - fn() => ((bool) --$test); - } - function test0468b8c68592598b830f24d1cb02e4118bcf79c701aa8b37b21a49f09f1480ba() - { - $this->assertTrue(true); - fn() => ((array) "{$test}"); - } - function test0519bf23b4bb3e4a846394dc89b0e5477a19c00a7ddf39f5c4753e5eaeb4b911() - { - $this->assertTrue(true); - fn() => ((bool) ($test ??= $test)); - } - function test05cf170d565002f447bd2a8681c5bc15234cf4878e6d1815064a22c00214cfa7() - { - $this->assertTrue(true); - fn() => ((bool) function () { - }); - } - function test07ede4c9acdb58b22f1f2df34429a14707d85fab5c40d262191c7fea73bbcbef() - { - $this->assertTrue(true); - fn() => ((array) ($test * $test)); - } - function test095eb46fa1bbaeddd890fb95388b5253d30743a1932398d5307b35fb6356ccbc() - { - $this->assertTrue(true); - fn() => ((bool) ($test += $test)); - } - function test10bc2775ec328e408ac801cff18b8c1da3e8815ad2f639959af0ee012ff2a19d() - { - $this->assertTrue(true); - fn() => ((bool) ($test /= $test)); - } - function test16b54bba1360c31d7ec4c89ba96a421f1dbb63b6a905bd9b9d72e0492400cc9c() - { - $this->assertTrue(true); - fn() => ((bool) ($test = $test)); - } - function test18d65923879d07bde500a78fcaecf72c6f99cc33dc9953010c2dbcb2262dccec() - { - $this->assertTrue(true); - fn() => ((array) ($test %= $test)); - } - function test1b236c4b72181ad847048615ae51e97a55bcaa6b8e33ef27c63cbc81690ec178() - { - $this->assertTrue(true); - fn() => ((bool) self); - } - function test22506e4a1a81e38c7bb42ff162a9ed9d7e089eaae25fa7d29397e6b9ef272c6c() - { - $this->assertTrue(true); - fn() => ((bool) ($test ? $test : $test)); - } - function test24bdd80e02fd169ddde8ae22c7d96bdc7cfdd132b1af0de2d2d9c2bc6494457b() - { - $this->assertTrue(true); - fn() => ((array) ($test += $test)); - } - function test260fabc3c89f5d78125822692ffe0978b447af7668b304e5006de2a37eeeaa2a() - { - $this->assertTrue(true); - fn() => ((array) __FUNCTION__); - } - function test29b9e9796e600710122e8b1ad301dbf087ddf3617109d1f9f6c7b8ceaaf8179a() - { - $this->assertTrue(true); - fn() => ((array) __NAMESPACE__); - } - function test29f89a9e1cb764e247e839e594b43b789f5d5ab6163e200c3cabec444116071c() - { - $this->assertTrue(true); - fn() => ((array) $test ** $test); - } - function test300af3982a0765090bac4eab6f5c03410c9c7a7d2b19c5b7d6a6ab119839ce6a() - { - $this->assertTrue(true); - fn() => ((bool) -$test); - } - function test331f694c9c77bc6a47795dabf81585e1093696f7172cf32383048958da681dcf() - { - $this->assertTrue(true); - fn() => ((bool) $test?->{$test}()); - } - function test33a7cd63f1d949a6a1befcfdc7fd71e3e50d64bb53a07066f72314e25f4c61b8() - { - $this->assertTrue(true); - fn() => ((bool) (print $test)); - } - function test3a2065224debc183a81ff810e8117f8b6fb83209373760c94554bc0b120faad6() - { - $this->assertTrue(true); - fn() => ((array) (int) $test); - } - function test3d113e7d9cd889ebb57ff1ded66475aa57d574353e04778600c074b358d88809() - { - $this->assertTrue(true); - fn() => ((array) 0); - } - function test3f1c7e93eb1a1381ef7c99cfc791a08c9f369ea11975d7d2987d0f5940a3a771() - { - $this->assertTrue(true); - fn() => ((array) ($test % $test)); - } - function test411a88ef11ad5262ff3932b721cb16810db9541b051dff20f9ab790d870c8c5b() - { - $this->assertTrue(true); - fn() => ((array) ($test <= $test)); - } - function test421a341c541dc4ee80c871cd94444c834db89d19eeb1b5082e71fc0bb3bccde1() - { - $this->assertTrue(true); - fn() => ((array) ($test **= $test)); - } - function test4693d0ceb1747cb0d32df51d32abbfd2c3ced02087a562b66e9e67c8dbbdb75b() - { - $this->assertTrue(true); - fn() => ((bool) eval($test)); - } - function test47693f326ae9f67a34fea6266bcccf6c1b4dd4e325ea5be5cb1d9cad26562ce4() - { - $this->assertTrue(true); - fn() => ((bool) $test::$test); - } - function test4f5088b1e8d931d3373b0bbb873ed11240b466e3d69fc1701e1675095155598d() - { - $this->assertTrue(true); - fn() => ((array) ($test != $test)); - } - function test53c8f5bbea594ecc0d2e5c9ee524dd74c8835ed0e6c68bae4449445d3c75729d() - { - $this->assertTrue(true); - fn() => ((bool) $test?->{$test}); - } - function test5714304b63851577da41920730f0eb5a6b57bad582a5c419acee3bbee653abbb() - { - $this->assertTrue(true); - fn() => ((array) ($test or $test)); - } - function test58e12c27837b5ad9840fa7009b3b3bde03c50def3afe2fa6f088240a169dbf2f() - { - $this->assertTrue(true); - fn() => ((array) ($test || $test)); - } - function test5b8391025162bff615027fd2fd3129e3b86e72c92aec03e57d3acd68c7d8b334() - { - $this->assertTrue(true); - fn() => ((bool) ~$test); - } - function test5ea8c750cf7e03265c807857608fadf68ba54acb4fc98bc19dc66e2059c5c31e() - { - $this->assertTrue(true); - fn() => ((bool) $test); - } - function test6170185112c6589f95a37a8d653ee3efcee8ed862c07fe789217c82df8e3a0c9() - { - $this->assertTrue(true); - fn() => ((bool) ($test ^= $test)); - } - function test618bec95d4978d95b6fbc62266c13896924218c3952a22a5fec8786589ab35a6() - { - $this->assertTrue(true); - fn() => ((bool) ($test instanceof $test)); - } - function test6210e044dac3fc3ab40c9fd9d038445bb5f7b967577b1961bf288cbad2569fc7() - { - $this->assertTrue(true); - fn() => ((bool) ${$test}); - } - function test65aba863971d7cd992dbd4876963b75dfa5fbcb4ba86c0d32d9457639f1e3cf5() - { - $this->assertTrue(true); - fn() => ((array) ($test <<= $test)); - } - function test6a3dfaea5e5208701b11a64a89422ce8814aef99f10ae663a3e27a11a33b3517() - { - $this->assertTrue(true); - fn() => ((bool) (yield from $test)); - } - function test6c2768585fd3609f0fc93e9659467b354302f61cb9cee984638c5f5ae7c00184() - { - $this->assertTrue(true); - fn() => ((array) __METHOD__); - } - function test6c7b4b4d7f52f2504518397c8111d5fa39b5339950377aac37c390a4929136b4() - { - $this->assertTrue(true); - fn() => ((bool) $test->{$test}()); - } - function test6ce9524e9f834bbd162cbe293834ad745885e0b52386df7739cd5549a97495dc() - { - $this->assertTrue(true); - fn() => ((bool) ($test *= $test)); - } - function test6ecdd9f56152d3a07f8e78a875ddb85aaf0dc40351e9493237593140ecb6ecdc() - { - $this->assertTrue(true); - fn() => ((bool) ($test &= $test)); - } - function test744a0c8a8b1bca93055da7466fad46a789b08e1a988dbdd5be07a68cc2048532() - { - $this->assertTrue(true); - fn() => ((array) ($test == $test)); - } - function test74e769b9ce5a4cdeaead70574b0f7ee8f7384ad40feeeb9a88154345ce9f85da() - { - $this->assertTrue(true); - fn() => ((bool) clone $test); - } - function test7507868f34eb92229876ad0159a491196e08b88eed56a44077c51c0e9e1b20e1() - { - $this->assertTrue(true); - fn() => ((bool) match ($test) { - }); - } - function test7ab3edf0aa93e7b080dde5993512bda53ab1691d85cb0a7bbac7e13498a4627c() - { - $this->assertTrue(true); - fn() => ((array) ($test and $test)); - } - function test7ae71733ad2614a24cd366d7b352f97a1de1ed9fe9912379723787bbfb2e89d2() - { - $this->assertTrue(true); - fn() => ((array) ($test ^ $test)); - } - function test7b6a5a5f4d6962f2a643061ae9eafd1d973187971919d7f05d934440376d394a() - { - $this->assertTrue(true); - fn() => ((bool) @$test); - } - function test7bcd4d134f9e5379cb5ee2c0821184f6c4fb68149e2a9e3f296f1685984ca963() - { - $this->assertTrue(true); - fn() => ((bool) empty($test)); - } - function test7dba9be74a014cf489fb2c04c495e72cea4b89259929a17d8d0493b14abef9cc() - { - $this->assertTrue(true); - fn() => ((bool) ($test %= $test)); - } - function test805b1ffe4e8089b0342e0bdbbaa127fb573be023b9e1e0daff9555aaf0221341() - { - $this->assertTrue(true); - fn() => ((bool) $test--); - } - function test82d4260ae7775feb86460b78052a33cd6651f650d1dfa8f37f9129f72d6587b5() - { - $this->assertTrue(true); - fn() => ((bool) ``); - } - function test89e9d0d7f63fc66156ba8523b81c837ba84ffe6484adf5fdddff3b51f74cfe1c() - { - $this->assertTrue(true); - fn() => ((bool) ++$test); - } - function test944dfd249112e90467ea012b99518af455c67d282bb55c8004d4242f078291be() - { - $this->assertTrue(true); - fn() => ((array) (string) $test); - } - function test949d166e861f8d8ce2a6766a0a9c59b718ffe03bc84ba6ccec849cf2208d85cd() - { - $this->assertTrue(true); - fn() => ((array) ($test xor $test)); - } - function test98b1b20b75a0ada9be4c267c7ac67b02f41f1b74c34d2594be75c5f0247608d3() - { - $this->assertTrue(true); - fn() => ((array) ($test < $test)); - } - function test9a20af7f6940405515110fb11910b0ffee249a898d07a0978bd2017dd1da901c() - { - $this->assertTrue(true); - fn() => ((array) (double) $test); - } - function test9fb81d0dc2e5f7d55ccdbfe080290c1df2576224451992d9464e6f3c0eaafd60() - { - $this->assertTrue(true); - fn() => ((bool) new $test()); - } - function testa03ed65faad9c1779e4463cdd3816ba8f07f89d1f9b6d195af0d62c27583f0ea() - { - $this->assertTrue(true); - fn() => ((array) __LINE__); - } - function testa1578b116940eda36ea55ddf03dddfde28d1e93829125e5027fafd246f5bb528() - { - $this->assertTrue(true); - fn() => ((array) ($test & $test)); - } - function testa580d583be0b84f9b40096de37c4c94c765474ec8366ac07f2f4cb79f7193aae() - { - $this->assertTrue(true); - fn() => ((bool) ($test .= $test)); - } - function testa68c91076af9492e987afe532fa8800463e72175b2df61b72f290961ea1fcc80() - { - $this->assertTrue(true); - fn() => ((bool) $test::$test()); - } - function testa747578e97865c6029e9677267e71e00ba48e2c1650fc2eedb477cf143491ad6() - { - $this->assertTrue(true); - fn() => ((bool) []); - } - function testa80882139a96702bebc7bfd0bf7ca49fc25ade0d1d53e9bc32cb6017384af2b2() - { - $this->assertTrue(true); - fn() => ((bool) (yield $test => $test)); - } - function testaa64692b9add3234832eef1f3bd1f5c34a18e861da0050fe1ee625a0117d057b() - { - $this->assertTrue(true); - fn() => ((bool) (!$test)); - } - function testaaae70e911296c69d25b5519f6e243be42692cd67b5b7946c1c24a5c85074e38() - { - $this->assertTrue(true); - fn() => ((array) ($test ?? $test)); - } - function testaad8c6740955af990aae825ee9d371919b31c7d940bb542b00202db5fbbef59e() - { - $this->assertTrue(true); - fn() => ((bool) $test::${$test}); - } - function testae1339ba5741c9c222ea5dbb547bc49578377771edf12af14b77f6162ac1de3c() - { - $this->assertTrue(true); - fn() => ((array) ($test !== $test)); - } - function testafd02e3a1711d3970ab7742c0b228faccaf2893eab4a619167bed98a16bfc3e9() - { - $this->assertTrue(true); - fn() => ((bool) $test++); - } - function testafd32af1a0ee61f7ae2787a93b6afa4b7b2df15300e244fea93894fe2aaaed9f() - { - $this->assertTrue(true); - fn() => ((array) (array) $test); - } - function testb17b79b0eb7097861702f2ec7fd5794704e6952566d26d28a7e5766c7f424905() - { - $this->assertTrue(true); - fn() => ((array) ($test === $test)); - } - function testb330255fb3ee32943e7af110c084eaf54ecb527f8871a645d6905f48c9ea6e11() - { - $this->assertTrue(true); - fn() => ((bool) isset($test)); - } - function testb525b13b2efd279c0d39969fc4b950392e9ee7b05ac007662f14b6fa3bc6e830() - { - $this->assertTrue(true); - fn() => ((array) ($test <=> $test)); - } - function testb69f7489e6fe6e444c5e78cf0af12abe2e730ec5d34051acbde35dea56dc6729() - { - $this->assertTrue(true); - fn() => ((array) ($test - $test)); - } - function testb85584bcab53207025020ac9eb0bdaeb9c68f5b4656dec4f8762ee94f0d2686f() - { - $this->assertTrue(true); - fn() => ((array) 'test'); - } - function testbccd8b9ba536ec1c0ad49a84635ddff20c4893304239e4b5d689862785bcad60() - { - $this->assertTrue(true); - fn() => ((array) ($test && $test)); - } - function testc015b316235234a9bd1b52831918a40e9d3468e7843f7b2081d0e7fce5adbd35() - { - $this->assertTrue(true); - fn() => ((bool) ($test =& $test)); - } - function testc16399900454bf2c7f960df59f8758595e6cc7b24cb828451217289231e37c80() - { - $this->assertTrue(true); - fn() => ((array) ($test >= $test)); - } - function testc34c1a1a24a94e4ae3e0ecae354ed9ef6983e9552b89c209b780709c96fe59b9() - { - $this->assertTrue(true); - fn() => ((array) (object) $test); - } - function testc8dd31bef28887ec657d920565ef120078fa912abea3a19c9e3339c202f20a0f() - { - $this->assertTrue(true); - fn() => ((array) __DIR__); - } - function testc991f8ac907b9afc1e9f455671ec71291d6c7af1f338cc2526046b30d7e84183() - { - $this->assertTrue(true); - fn() => ((bool) $test()); - } - function testcab08329ccfed259e5ff43252f53195b0958df720671c3e5d6d4b9536a984b11() - { - $this->assertTrue(true); - fn() => ((bool) $test[$test]); - } - function testcd4f1525142cfc9cc63f582b4acc6de9acbb91882cf461ee8af393176fae4b61() - { - $this->assertTrue(true); - fn() => ((array) (bool) $test); - } - function testcd7f47d8a25b0900f6ef124685044dd13189c5daa2ce76e10c3a68ab4c4586d3() - { - $this->assertTrue(true); - fn() => ((array) ($test >>= $test)); - } - function testd16e3c6766518a22aacc3fd2ab1affc84a76b5e2c1d7e37bb9ba430d546374a6() - { - $this->assertTrue(true); - fn() => ((bool) ($test |= $test)); - } - function testd250ce10312c80d1c1640cb7077154dfa266b17baf4bcc91adcc384f34224fe2() - { - $this->assertTrue(true); - fn() => ((array) 0.0); - } - function testd2bade779498e16380e56a547c6309faad48cb1334203c8de6947bbd0d08bbbb() - { - $this->assertTrue(true); - fn() => ((array) ($test >> $test)); - } - function testd3f80cb504749343f668236d70fef103669a26097cd8f66b490cfcb780f56b1f() - { - $this->assertTrue(true); - fn() => ((array) __CLASS__); - } - function testd5b5e5c7b75ab242569bdb697b790bd9bae5e9e87d7a8a3caa9b4d42632f54be() - { - $this->assertTrue(true); - fn() => ((array) __TRAIT__); - } - function testd8b6a69daaf52d866910254a4acf9c565e2e2eebbb65bd3b612f3aa0b5ef2db4() - { - $this->assertTrue(true); - fn() => ((bool) +$test); - } - function teste32ea918630533cb5e86e2ece566c586305c9174d3734fe83be81363f380eb8a() - { - $this->assertTrue(true); - fn() => ((bool) throw $test); - } - function teste3842257227c8286916ee2f33783cb8b914b78bbd12cca8502f4ed4fdeba66f0() - { - $this->assertTrue(true); - fn() => ((array) ($test + $test)); - } - function teste4188d918b7a4fe915f146f046420c3653ab32483c363ac7e554f0cfc2f038ba() - { - $this->assertTrue(true); - fn() => ((array) ($test | $test)); - } - function teste6797745abad1d9d784aefaa0b37bf8db3e11daa400aab50b92cb7c351906a9d() - { - $this->assertTrue(true); - fn() => ((array) ($test > $test)); - } - function teste6ccde4e1bf54c53c3ae52c31d363cd0687b2925697185039ab08717a8e5a994() - { - $this->assertTrue(true); - fn() => ((array) __FILE__); - } - function teste9dbfbfe2fa3db41c39c7e93493bdc19dfad88644a7b35a249ff3e53a80a6a49() - { - $this->assertTrue(true); - fn() => ((array) ($test << $test)); - } - function testf53041c624ec9d23d9ae0063d0b930fe6058e7c3a4015f4db10ecafd23b794f2() - { - $this->assertTrue(true); - fn() => ((bool) ($test -= $test)); - } - function testf804574937cc0b0491bfd592f3dd83753fe7deda7a4cc899cc854138431cc396() - { - $this->assertTrue(true); - fn() => ((bool) $test->{$test}); - } - function testfa13b9c26181cfc02af5ec02bd3bcbf01738a0af88e3a9a3f0204ae43dad4526() - { - $this->assertTrue(true); - fn() => ((bool) ( $test)); - } - function testfb53d8812fa08000f154b7e2936c90819d3209c4dd190dcd84e4b3a1cdb05905() - { - $this->assertTrue(true); - fn() => ((array) ($test *= $test)); - } - function testfcebc6558a265d08bd34ad0a14effc619da9d05c98aa7bad4dcad21c9f0faa0f() - { - $this->assertTrue(true); - fn() => ((array) ($test . $test)); - } - function testfd268e58d60be755005af5a01ad4bf6c4012f3a8e905ad6da8ead51d790f1316() - { - $this->assertTrue(true); - fn() => ((array) ($test / $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test.php b/testsGenerated/Target/Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test.php deleted file mode 100644 index 414ab63d4..000000000 --- a/testsGenerated/Target/Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test extends TestCase -{ - function test0026e14add06125eb6997adeb0169f4efbddd4a23cdf6c88bd470cf368c2ba1a() - { - $this->assertTrue(true); - fn() => (print $test =& $test); - } - function test020b881b717a1e573fa6889462d85e07c603688bfa9770f5a252ee96e5206af3() - { - $this->assertTrue(true); - fn() => (--$test[$test]); - } - function test027721f1f55393827a24f131167cf39a74a707c96bfec22e01164cefcfcfda2f() - { - $this->assertTrue(true); - fn() => (+$test++); - } - function test092b12213e65d4de5e6d0cd60cd5c1f70e91a1c6e846a9d45cda14f94d0a87fd() - { - $this->assertTrue(true); - fn() => $test?->{0}; - } - function test0ba6216cc926072b8b300a05ff64a75851e96be7eb94e7ff18397118656bbf5a() - { - $this->assertTrue(true); - fn() => ($test++); - } - function test0c0a20de202f415cb975ebac03ad9d1660fadd0e617cdd8727d045eefc7276f6() - { - $this->assertTrue(true); - fn() => (print !$test); - } - function test0eae7c00b0f2a8c16271564fcd189b5d7de1b045eaea49e83a988d541fba7f03() - { - $this->assertTrue(true); - fn() => (print @$test); - } - function test0f30e8213e10b0414ba44c8e6afc9ff6a1542dc24ee32ef52449073161d11f5a() - { - $this->assertTrue(true); - fn() => (isset($test?->{'test'})); - } - function test131181f5ff28e7645815987e9597312ad4123222868deef598ae6c965014995d() - { - $this->assertTrue(true); - fn() => ($test--); - } - function test13d26155e8dab3745bf93d6b24ae4f332c89d8fe5b6aaa5ac43fbd8173734d56() - { - $this->assertTrue(true); - fn() => (isset($test?->{__FUNCTION__})); - } - function test19d838313da5db6f5b1e4a915482fa6f4b1e87606ea6fe145589797e8fc07311() - { - $this->assertTrue(true); - fn() => ($test->{$test}--); - } - function test1ab86760dfe4ffe9d6d69a86982eead6e4435c215c6c9be569164cff77b5a12d() - { - $this->assertTrue(true); - fn() => (print ++$test); - } - function test1bf83e955e80f78db43521ca2554ff877705334ab962a67529044780fb86c42c() - { - $this->assertTrue(true); - fn() => (print ( $test)); - } - function test1f465fbe9e446cc5f77407d6d46d25304c2ff97b215dc8d460b489f7c042d50b() - { - $this->assertTrue(true); - fn() => (clone $test++); - } - function test231ce5cab5d45bf818955307c155aca7b55b75864cb0272547b530f9520feaf2() - { - $this->assertTrue(true); - fn() => (@$test++); - } - function test2977ce700b11350dd3fcf16bf649bb98d2c8501843051b28179845b2a3764460() - { - $this->assertTrue(true); - fn() => (print print $test); - } - function test2a67cc5d5225ec3214d052b9e412f3939ec619647c2c3cdcc0f06a91d3561a90() - { - $this->assertTrue(true); - fn() => (${$test}--); - } - function test2b209a7c96fa36ad0e572e736a8af0ca941ae2aca0870cfeceb0beb679386caf() - { - $this->assertTrue(true); - fn() => (print eval($test)); - } - function test3caec2bcc87952ad78dec72ce524c49c38ef56946c657148f77d6d2f6dc20beb() - { - $this->assertTrue(true); - fn() => (~$test--); - } - function test3f5d328569dec973fb7ed55251b811914952230b9cdb7eefc8cc35bf03c70d3e() - { - $this->assertTrue(true); - fn() => (--${$test}); - } - function test40b0d8738875a1542a05802cea8ca0d9b0a7cb0627bd44c88f69e4afa541ebd2() - { - $this->assertTrue(true); - fn() => (print isset($test)); - } - function test41db526ba6b395a95322c394c686e40e7b86a55f30f99d25364f7e74b09ec4ef() - { - $this->assertTrue(true); - fn() => (isset($test?->{__CLASS__})); - } - function test44464289a074e8dd7a3ce64921f7841ae16a81a9fb7ca15cfb7ae05c47b2aff1() - { - $this->assertTrue(true); - fn() => (print match ($test) { - }); - } - function test446c0be77c1458d6844eae33c747553c5f26596830734ede4c33bdbacb5f7374() - { - $this->assertTrue(true); - fn() => (print ~$test); - } - function test44b8de336643415b9f215b4ac986b9d3de504663ab851df695b938b452aec5d7() - { - $this->assertTrue(true); - fn() => (print function () { - }); - } - function test47f96e97b61bd55b76d5be78adb447e03beae197fdda85cbd9b33612f8971271() - { - $this->assertTrue(true); - fn() => (print $test instanceof $test); - } - function test4927253922f8d7dc2979c1f7364213fb49c7e323310283f8a0b1582b1b25b075() - { - $this->assertTrue(true); - fn() => (print []); - } - function test4c1017989d79dc928cd79af7277d44ec55cbad4346dd6f78cf1955c911d173f2() - { - $this->assertTrue(true); - fn() => (print clone $test); - } - function test4c9d317c1461fedf087b17e41caae1644672c6f27f0dc47ecc076acf1b476fe2() - { - $this->assertTrue(true); - fn() => (++$test::$test); - } - function test4e702e98d66d2c502246de94f6a3cb59743ad093767f3e76bb985355d9bd606a() - { - $this->assertTrue(true); - fn() => $test?->{__METHOD__}; - } - function test5054423c0e1d0475a3b0a3adae931d7af10105d0d9d6cc3d0a13c8d54def44ee() - { - $this->assertTrue(true); - fn() => ((object) $test--); - } - function test506657cfa66232df9bfb8e7090c24206312c29a207c7ea8161af4bcda39175f6() - { - $this->assertTrue(true); - fn() => (throw $test++); - } - function test54ab83e7a4c7d2323004ac22651a44a183cd8b048e864ba78b190042a660baba() - { - $this->assertTrue(true); - fn() => (isset($test?->{__NAMESPACE__})); - } - function test5776fc44b5566496254a9a90ecef740b296797bbfd2056cfb4368db306771d75() - { - $this->assertTrue(true); - fn() => ((array) $test++); - } - function test5a3460b4423667794b4973e60254715d3ff592f690c11aa4a8223f1e22dd5cf7() - { - $this->assertTrue(true); - fn() => (--$test->{$test}); - } - function test5db85431d37288f1695cbe2e23fc729bf0c21e22e1e9bdbedb997c761cd86183() - { - $this->assertTrue(true); - fn() => (++$test::${$test}); - } - function test612dd3b730b60c83f27ef6b6a9cc35facf97de85e68abc2ad5e48b4b752d43c7() - { - $this->assertTrue(true); - fn() => (-$test--); - } - function test6ac4c3a1bfdba7044fb4e25ac67a9b53ecea8569a27f719b7d83fd2274deab0c() - { - $this->assertTrue(true); - fn() => (~$test++); - } - function test6b7a197e90f0f00227a378943f1214b6d2ab6110b6d65be8a394cc3c391c91ee() - { - $this->assertTrue(true); - fn() => $test?->{__LINE__}; - } - function test6e3ada4a5ff103f693110cf8292ce20deaf0bc07dbe614547ca2d6f65cddea62() - { - $this->assertTrue(true); - fn() => ((string) $test++); - } - function test7329913df9043933a317195b685eeef82ca44f611d262ff4549a3a5b0747658d() - { - $this->assertTrue(true); - fn() => (@$test--); - } - function test751cdd63c99cb9afe3f606a5fcffa4e5f6dc53db5df7aab014a5a00e7e373190() - { - $this->assertTrue(true); - fn() => (-$test++); - } - function test78c1620ad8d07c7f1e13bee3c786063a0d8744a5fd7b974388683d27f3a9faca() - { - $this->assertTrue(true); - fn() => (print $test++); - } - function test795128a523521edadb349804ad0c4e7c444ba67edb5f6c446d9e4c02c2ec08de() - { - $this->assertTrue(true); - fn() => (isset($test?->{__TRAIT__})); - } - function test79b09ea80128e48e908ab0abaf7addc27796eb8975f41d214ee52cbf15a9d305() - { - $this->assertTrue(true); - fn() => $test?->{__FILE__}; - } - function test805b1ffe4e8089b0342e0bdbbaa127fb573be023b9e1e0daff9555aaf0221341() - { - $this->assertTrue(true); - fn() => ((bool) $test--); - } - function test80c76a86863b598948ce16024a768119d0f16c46ab2cb828d66e8e270c250503() - { - $this->assertTrue(true); - fn() => ($test[$test]++); - } - function test824fef6a50be2cd544e7cf30f2fddba0f2d42ab70bc3207c56266a7b21513b87() - { - $this->assertTrue(true); - fn() => (throw $test--); - } - function test87f17772b9bebf43c9d206df28dbdc8874a7d2a605798656fe7104fa3b20d088() - { - $this->assertTrue(true); - fn() => $test?->{__FUNCTION__}; - } - function test8af6a212941905dfb0b374f568d7a833aa537463e3c614e00c46d69cb21ec2b8() - { - $this->assertTrue(true); - fn() => (--$test ** $test); - } - function test8c6080ec552afc4df076d2a2082d13feb37d92aa29ecb76b6f8971e08e1ddeae() - { - $this->assertTrue(true); - fn() => (print $test[$test]); - } - function test8cd092020ef6dbfd74e24df421f02ad083fa8b570d970306a400b7a21d66dbc3() - { - $this->assertTrue(true); - fn() => ($test::$test--); - } - function test9000389ad0b28e38006984efca4f19a8afa2be95a63c8ba31cbe073732229315() - { - $this->assertTrue(true); - fn() => (print $test()); - } - function test912209761c151aa1416d5e7aa937465eee37da3444445fdbfff9e57ca0e73ce4() - { - $this->assertTrue(true); - fn() => (print $test?->{$test}()); - } - function test95471d07d902eaa5aafe93421a09460b3abd31c7d8fed5a4884be809a453d7ca() - { - $this->assertTrue(true); - fn() => ((double) $test++); - } - function test95e537132203302f368ea3ea3322ced6dc66af4615e85025035c00fc4c6f0db6() - { - $this->assertTrue(true); - fn() => (isset($test?->{__DIR__})); - } - function test97f4ea423e65386583510cf9eb0feb167c4eeaff72f8d1193c735a35b628559f() - { - $this->assertTrue(true); - fn() => (isset($test?->{0})); - } - function test9d15b1a3655093e1a22140362b59f778b0ed3c7ea7ce60196262a78b692b3073() - { - $this->assertTrue(true); - fn() => ($test::$test++); - } - function test9d30099b8ae4166e89a6a722381c44dfa930ab6d7fa278959039e4086b16acf6() - { - $this->assertTrue(true); - fn() => (--$test::$test); - } - function test9fb67c02b2da034370edc123dbd42a97aa12d27ba1d9a70d4a07eada622ee4f7() - { - $this->assertTrue(true); - fn() => (++$test); - } - function testa2a7b2e6095ce4a99c8d884075ea7d5e63eb79ddba72e13bfdc3dc1b28d1349d() - { - $this->assertTrue(true); - fn() => $test?->{__DIR__}; - } - function testa2bb476f47dacd76f44aa3fec799ed914a166fb9d64358208f019d7a5eaafd5b() - { - $this->assertTrue(true); - fn() => (print $test::$test); - } - function testa5e54cc6a8b7c990356964f3576a77c757b2bfc841d56871c1ea680561dce33e() - { - $this->assertTrue(true); - fn() => ((object) $test++); - } - function testaa0a83f061ddb2e6d45410ec8079224f75bbe6c6a8dbd292ae9f72fe6bf83696() - { - $this->assertTrue(true); - fn() => $test?->{__NAMESPACE__}; - } - function testaa64e3cdd02be14e486c5bed69c77b58db4af46fd441a9af4dab1843b9e4699c() - { - $this->assertTrue(true); - fn() => (++$test[$test]); - } - function testae58513207bd1a5927d2241642ed49e62f6980a8e5c4c5458093a4802bf0a663() - { - $this->assertTrue(true); - fn() => (--$test::${$test}); - } - function testafc64df476e662645224670963d776f4867e7b53601094b19d05c8d5e7023078() - { - $this->assertTrue(true); - fn() => (print new $test()); - } - function testafd02e3a1711d3970ab7742c0b228faccaf2893eab4a619167bed98a16bfc3e9() - { - $this->assertTrue(true); - fn() => ((bool) $test++); - } - function testb4f7e737e7a96d2c18fd92ede9d033667586082da5088c30f4b8b38bc7d5256a() - { - $this->assertTrue(true); - fn() => (print $test->{$test}()); - } - function testb668eebc2502f410cb59232cbc22b3cbdc7b96f80055644a3ad0d2799bdf98b3() - { - $this->assertTrue(true); - fn() => ((array) $test--); - } - function testbdc516fb0f1877b876161bdb2037dc2619f52e13a27d9ed12f5d6b99d4a2f992() - { - $this->assertTrue(true); - fn() => (${$test}++); - } - function testbf48b3c0bc642b3f326c3f0150f2e8d8da1e6f17f1d5cb67807c50980b132166() - { - $this->assertTrue(true); - fn() => ($test::${$test}--); - } - function testc079326e1e4439c924706c9968177f79978250a9d6be636d2b59de954f61b4cc() - { - $this->assertTrue(true); - fn() => (isset($test?->{__FILE__})); - } - function testc6b86ffaa12dfce76855fecde49f6af8add1116698525d1bce8cd3c03a62cca5() - { - $this->assertTrue(true); - fn() => (print empty($test)); - } - function testc6feb4f2d561f907802dfd20f68b02ebf0e366ef777da0015d0a93b144539d72() - { - $this->assertTrue(true); - fn() => ($test->{$test}++); - } - function testc83859bae909adcdbbb9138b011ee25655a250a2964532167828f06d0934d776() - { - $this->assertTrue(true); - fn() => (print self); - } - function testc9e48d1a84a4617db8af1854277da66af98e85568dedded2ad4a74b8fe495c6a() - { - $this->assertTrue(true); - fn() => ($test ** $test--); - } - function testcb010b3891859a1ac4af5d4a4c2f797f4996e3b3376cf04d575f7c9aadeb8947() - { - $this->assertTrue(true); - fn() => ($test::${$test}++); - } - function testd34cbf90434cbd021cb6cffac270f3de4f0e62c77a59769ca422597331159bbf() - { - $this->assertTrue(true); - fn() => $test?->{'test'}; - } - function testd4b981c973aee2e73e9a858d6bc1b520bc2623ed9391bb35906622cb6b4b8321() - { - $this->assertTrue(true); - fn() => (clone $test--); - } - function testd8ae5c64dd3060dda96c5d3675f8864fbd2c0f418cf77e2d91e6f0cef5d893f8() - { - $this->assertTrue(true); - fn() => (++$test ** $test); - } - function testdbad3686367786730840a2259335721d8031936cd93b8789507fb832eff0944a() - { - $this->assertTrue(true); - fn() => ($test[$test]--); - } - function testdd38f4508d396d221dd83d0490c05133ff6addf7656397655a44164987b2adee() - { - $this->assertTrue(true); - fn() => $test?->{__TRAIT__}; - } - function teste07db4eeec9e3c16413ab66f7fafacd7b8f9aa4810283f86e334f81f13ed1853() - { - $this->assertTrue(true); - fn() => (--$test); - } - function teste252859eb2b927300728a6b57aa8905fcccc9a480efb6b5b7b2ef44251b5a167() - { - $this->assertTrue(true); - fn() => $test?->{__CLASS__}; - } - function teste49209d792c8b039a4e86ba5f1c0447e4ba37afa926ac420bc1098ffe6727cfc() - { - $this->assertTrue(true); - fn() => ((int) $test++); - } - function teste646bf4e32972dec986fe3ab73faa029d60add622a829c9b5c0b522004e98c03() - { - $this->assertTrue(true); - fn() => (++${$test}); - } - function teste674f89701b4f5f56f53803f7025c21e403b87d23c88af5032adbc86f7b62d41() - { - $this->assertTrue(true); - fn() => (isset($test?->{__LINE__})); - } - function teste7f351bf29540ac924b481b9b8c2140a43b7d7745f64aebf1f8324c0d8cafbf6() - { - $this->assertTrue(true); - fn() => ((string) $test--); - } - function testeee241810bcbcdde3209968389d6832b5002a7d17f5bc34ae7ec940fdc148c32() - { - $this->assertTrue(true); - fn() => (print $test); - } - function testf0675a0038a10c4df9ca850c0333b7e9f04fc8174a72f8cb1b885180b2bd7ed2() - { - $this->assertTrue(true); - fn() => (+$test--); - } - function testf0ecc8f33eb19b7c8bbdcff12cf718012556dc61f8d1283f93604197f6412230() - { - $this->assertTrue(true); - fn() => (print --$test); - } - function testf47cb3441d891fdc106d0f9681e6c66eec9e883e4e555b15e99845dce512ea32() - { - $this->assertTrue(true); - fn() => (++$test->{$test}); - } - function testf5cbac592aa388b8e3d317ca22264d4182e3241e487e17f622c472eaee1a5aa7() - { - $this->assertTrue(true); - fn() => (print $test?->{$test}); - } - function testf81b4d86ed6375f974b3ce714872018cf02bb96feefcd25abb9ebe951dbbc12f() - { - $this->assertTrue(true); - fn() => ((int) $test--); - } - function testf851fa197ca4cfcf37d13a2ab4ac5d4f61d052939bcc8b47d416c9b2eb0c0c62() - { - $this->assertTrue(true); - fn() => (isset($test?->{__METHOD__})); - } - function testf8f8e7ed263540d65d1de0a3ac885591bc7c3fddb7b5cb31de9673f1a7ee8cec() - { - $this->assertTrue(true); - fn() => (print $test--); - } - function testfa39f614deb79df4be804d0fed1d34798585b6e46419a0f30a451c28e6749e60() - { - $this->assertTrue(true); - fn() => ($test ** $test++); - } - function testff9f3892d8342b8b121315bfd0570ad95000b8434e4b2c407030050e11f5ec57() - { - $this->assertTrue(true); - fn() => ((double) $test--); - } - function testffa8b8fa70f1d3260e6284ad6d47750a884054c262724dd39612086bc0e3c4cd() - { - $this->assertTrue(true); - fn() => (print $test = $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test.php b/testsGenerated/Target/Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test.php deleted file mode 100644 index d2cd0074f..000000000 --- a/testsGenerated/Target/Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test.php +++ /dev/null @@ -1,509 +0,0 @@ - - * @license MIT - */ -class Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test extends TestCase -{ - function test00d5b26fd41ad440d3414c7a780e2bd45867cfbbe85315ca1de88f99b52b1121() - { - $this->assertTrue(true); - fn() => ((yield $test => $test <<= $test)); - } - function test088a0f5e7803bcd668c9cd54bfab5763306afe2bfa44c68adafd7c9443d3483a() - { - $this->assertTrue(true); - fn() => ((yield $test => print $test)); - } - function test0be060c418ced4595edaee8385fc1483d1b14431a464a43dcad62894a2743e07() - { - $this->assertTrue(true); - fn() => ((yield $test => $test += $test)); - } - function test0da4701418495a55e428dd9171431bcdaaedde2bd6dd958e6c293669d7a37abd() - { - $this->assertTrue(true); - fn() => ((yield $test => $test::$test())); - } - function test10e250ee181b75fc57439a3296d853000d8f0f85d0f52127dae426bbc44c4766() - { - $this->assertTrue(true); - fn() => ((yield [] => $test)); - } - function test12b34ac0ad6942c19aafd34cc0146a1c40b41f692b3c33ab2453d1d86399ffaf() - { - $this->assertTrue(true); - fn() => ((yield $test => __CLASS__)); - } - function test13da705f0ef288f0b45a7baeec11da68e11ca07bee144c8d1463d9644d9feac0() - { - $this->assertTrue(true); - fn() => ((yield $test => (string) $test)); - } - function test152858c777414d65b9300b4d8d5a0106136ca8ec08d853695b7a57ac05a8dc88() - { - $this->assertTrue(true); - fn() => ((yield $test => $test or $test)); - } - function test161b489b40d12bf1db0a84187fb77160f22b9ee31a21e44e980b0a942a03887e() - { - $this->assertTrue(true); - fn() => ((yield $test => +$test)); - } - function test1c0f55a4d6b1f3151fdc68e9cc9781829c2d0c3b8edce0b8aa0fe30187b71b37() - { - $this->assertTrue(true); - fn() => ((yield $test => $test ^ $test)); - } - function test1d0c6a3dc958a5519f66bc6679f5d6a09c151646d31fe9e3eb4bc6b4dae4ae8a() - { - $this->assertTrue(true); - fn() => ((yield $test => throw $test)); - } - function test1d39bb9670e31e7e8d0fa7ef87dca2262a40b4bdacedb13dea1d7a8d3bc60300() - { - $this->assertTrue(true); - fn() => ((yield ~$test => $test)); - } - function test1e31f9314a4ca2dfcdca8244a7f3ee5232c1dd536b48393935de582f255d6d8a() - { - $this->assertTrue(true); - fn() => ((yield $test => (double) $test)); - } - function test200243def1f4ed071c3d7604bf9aa2a9ed3df189c991ed8c89db8958c7711442() - { - $this->assertTrue(true); - fn() => ((yield function () { - } => $test)); - } - function test2045bed2cf341263b52b5cc538bbc09bc9ccb8dbcbea60af49b87c599b06b464() - { - $this->assertTrue(true); - fn() => ((yield $test => $test .= $test)); - } - function test23f497d019fe8b1711f771631e41991181b41aa3b984d13ea405fa44b3aaeb82() - { - $this->assertTrue(true); - fn() => ((yield $test => $test++)); - } - function test25c7e321c528c22a85409ee774f224ff28977daf0a3b961eab77c07e2201ed18() - { - $this->assertTrue(true); - fn() => ((yield $test => $test |= $test)); - } - function test2ad812052e0bcdbd243ee6c6af2fc07c4b02783e260b164ea63d3bc6175098e2() - { - $this->assertTrue(true); - fn() => ((yield $test => $test >> $test)); - } - function test2b0da689646869ca7ba1911dfbf5d06d261f4732b7037667ca5da3f3c57f3c46() - { - $this->assertTrue(true); - fn() => ((yield $test => self)); - } - function test2c5bd18f87ee6c5d457407cdbeb3a9926897891f47552205b5ddfc4abf1a0ede() - { - $this->assertTrue(true); - fn() => ((yield $test => (bool) $test)); - } - function test2cf184e808165ce23d625e17bdfb31517f14ea2131d371f7c11e8d62ed302a07() - { - $this->assertTrue(true); - fn() => ((yield $test => yield from $test)); - } - function test2d8fbe0db72f632e550de20ee004999f48483fc20000b50daaab716d4d8fea91() - { - $this->assertTrue(true); - fn() => ((yield !$test => $test)); - } - function test3040775087e886410f0cc31abc92aa7841252c068c90a228b72afc7db1927e2b() - { - $this->assertTrue(true); - fn() => ((yield $test => $test())); - } - function test32270f234bd9032870e7956d3356a724930ab2fcb05b18f58cb02f7cc1862ab1() - { - $this->assertTrue(true); - fn() => ((yield $test => $test >= $test)); - } - function test34f3d0b4af3402b8530dc19cbe1725d64eb16a3aa7ba8a0c836315bf29aa1803() - { - $this->assertTrue(true); - fn() => ((yield $test)); - } - function test34f94bc18d5a5e84966244da27e038d5296a296e4e1ca2723eb9ec6af460d480() - { - $this->assertTrue(true); - fn() => ((yield $test => $test)); - } - function test364aec1fb080fcce5cf5bd2a65a2e5a5abb3851abbc5dce698ac0e5abda1257f() - { - $this->assertTrue(true); - fn() => ((yield $test => $test->{$test})); - } - function test3ec24de15ab45387aa12a52891cb26a496e97f85c87f62ba3a255163de5d810f() - { - $this->assertTrue(true); - fn() => ((yield $test => __LINE__)); - } - function test40dc1c3c0d0f5e26e70164340f9bd45bab30c3fdad7b496f9054411b8607c5d4() - { - $this->assertTrue(true); - fn() => ((yield $test => $test?->{$test}())); - } - function test527536f2e9e69514847b87b81d37d54d3939d4fe10641b922f8e78e4f7d14ee6() - { - $this->assertTrue(true); - fn() => ((yield $test =& $test => $test)); - } - function test52b376a7519ff580402e0c499f986df7e20a81ef3e5ca81426b3ea04652de9f1() - { - $this->assertTrue(true); - fn() => ((yield $test::$test => $test)); - } - function test55b4928ca6ba5cadc1fc136c9449ab76b7ea580e44bf486a88caf5961388ee2f() - { - $this->assertTrue(true); - fn() => ((yield $test => $test *= $test)); - } - function test5abb251506ef7defd37e0c4319fdd5f7a75b1454ef167c48f5111427df2a6f98() - { - $this->assertTrue(true); - fn() => ((yield $test[$test] => $test)); - } - function test5fcf4adf3e6877dafad9150de30a4cb92f40ed59af56f618285aaeacb7484ce0() - { - $this->assertTrue(true); - fn() => ((yield $test => __TRAIT__)); - } - function test622c3295b5a915ccd28e690ca3db8160d0c36d5a2513f95b25207e4dff609f4c() - { - $this->assertTrue(true); - fn() => ((yield $test => $test ? $test : $test)); - } - function test62bc33070b72fbab338cd9a22e40840e3ff1c0a4235e7fbdee9e0b9d545d5c85() - { - $this->assertTrue(true); - fn() => ((yield $test => $test || $test)); - } - function test62d1164b1909423ec192c2abd048b71fa7a768cb27667fe2f99d9d132779f172() - { - $this->assertTrue(true); - fn() => ((yield $test => $test != $test)); - } - function test654a60cedb89f11d88eebc87338cf8d8e59a92b621dd8a3e3a4474464a98a23a() - { - $this->assertTrue(true); - fn() => ((yield $test => __FUNCTION__)); - } - function test67575d7e2eff9bede792e9b49524c1bbab2313ab441fb1ae6a3ffd58fa364b95() - { - $this->assertTrue(true); - fn() => ((yield $test => $test < $test)); - } - function test692dd373113d557064b00bd4cd71dc67ec7e9205bee21d49ce080db1f658d055() - { - $this->assertTrue(true); - fn() => ((yield $test => $test ** $test)); - } - function test6a24e45887a2679e144ad73dcae0a37fb74ff8b391d41e4054956e8e1cea641c() - { - $this->assertTrue(true); - fn() => ((yield $test => $test === $test)); - } - function test6a53f193523f2583fc13287acdbc9d86628aa5d547d617a854efe8717aa8053a() - { - $this->assertTrue(true); - fn() => ((yield $test => @$test)); - } - function test6de4ecbcea9145f27e9c85810f1f2bc40c37b7f52e7e464c2db0f9b641018c00() - { - $this->assertTrue(true); - fn() => ((yield $test => empty($test))); - } - function test6efc14437e4114a00289ee0c914b2999098aafa18f867e71cd7a5f4bf64e51fa() - { - $this->assertTrue(true); - fn() => ((yield $test => $test instanceof $test)); - } - function test705a085168aa0dbcbe317040898cd0e3e57171079b2b54277fe8321fd12889d3() - { - $this->assertTrue(true); - fn() => ((yield $test => $test ??= $test)); - } - function test71606f391110c481ecdc9c0bd0e451643f9d5ca8b01576ada8f6330e04015aad() - { - $this->assertTrue(true); - fn() => ((yield $test => $test &= $test)); - } - function test71a8726bf756f162b5682721fac65110f20938b1790ba2451e1d69da5366c456() - { - $this->assertTrue(true); - fn() => ((yield $test => $test - $test)); - } - function test78c69bb62bbfe518f637322b8ba060e5cdbc7e4e5817b9030fa9af33998ee986() - { - $this->assertTrue(true); - fn() => ((yield $test => $test::${$test})); - } - function test799d7f309fd44f056d785d068f3681a361caf446947ab3c74fc3fe673bc83c8f() - { - $this->assertTrue(true); - fn() => ((yield $test => $test %= $test)); - } - function test7eb9779ae9cc5d756becc305f43e40b5d12bc40603e691e64df785625f94fe3a() - { - $this->assertTrue(true); - fn() => ((yield $test => $test?->{$test})); - } - function test830e78fd0e812f4c0cdcf00533459fc071d49620a3484c81be68afd69f4f036d() - { - $this->assertTrue(true); - fn() => ((yield $test => $test * $test)); - } - function test83c527664f1f3127b04ac216df899201c49ee10187b76822559b7dfe6a74d77d() - { - $this->assertTrue(true); - fn() => ((yield $test => $test <= $test)); - } - function test84bfcf36ae3be558384d39d3b192cdecf261d2e6a21d0f5e1c84af99814760ea() - { - $this->assertTrue(true); - fn() => ((yield $test => "{$test}")); - } - function test854fe9d8cdfd1d91e42fa70d8af161168a759e721f4109f6d42b4b18a60046ec() - { - $this->assertTrue(true); - fn() => ((yield $test => $test)); - } - function test891d77be6c102004066ca5300ba34f83ca422c686f2402acf97122eb56ac605e() - { - $this->assertTrue(true); - fn() => ((yield $test => $test >>= $test)); - } - function test8b66ac2929d96d29ef5ead4a0548a9ba3264d1cca7c1e9885594154139b4a55c() - { - $this->assertTrue(true); - fn() => ((yield $test => ${$test})); - } - function test8fa8b4ac4021938463a4d27af8a20e139357053015b9a26cc9f13b8b11cd81aa() - { - $this->assertTrue(true); - fn() => ((yield $test => ++$test)); - } - function test906417ec8977c87744a7d3c72c5b300a9ed8866b6bf524ceba138c96f95147c2() - { - $this->assertTrue(true); - fn() => ((yield self => $test)); - } - function test91f4c8926b95e64b8962e0a02fd86173050b3399c0f44716ea20afa4d35dba47() - { - $this->assertTrue(true); - fn() => ((yield $test => new $test())); - } - function test928955067ba6ac67df91259f8327b6bca72c619dd9ed34cf63d4dddb8573e847() - { - $this->assertTrue(true); - fn() => ((yield $test => $test | $test)); - } - function test978721fe5b7d872b7b420ca98f6e157cd74573ec973e7e80dd8335f1be566855() - { - $this->assertTrue(true); - fn() => ((yield $test => (array) $test)); - } - function test9a1d902171795e7223b7ca7f6d8b1320795a65da25bac0bcf7ed68be6cd8dfd1() - { - $this->assertTrue(true); - fn() => ((yield $test => $test & $test)); - } - function testa0220e86f65950ec0fac6eb1a6be95724c45d9b541d1113200d23266978406b6() - { - $this->assertTrue(true); - fn() => ((yield $test = $test => $test)); - } - function testa06a27fab45151c3f7c69f7526a82efa2156b5b5a74ef6eec615cfb187fcde9b() - { - $this->assertTrue(true); - fn() => ((yield $test => $test ^= $test)); - } - function testa1d27be3d4372e419ff9454bf24d3922d17e269b360224479a1dfb9390e02588() - { - $this->assertTrue(true); - fn() => ((yield $test => __FILE__)); - } - function testa32953b0492a2aeb80354d7b06ce6cb7dbb0b6d98128b4e8a0bb62308bf2c451() - { - $this->assertTrue(true); - fn() => ((yield $test => $test / $test)); - } - function testa37efb73aee92b7538b6306be3d27438b2c9b1f454da923b38302c763559369f() - { - $this->assertTrue(true); - fn() => ((yield $test => ``)); - } - function testae98846372c6fa6158e1b399a4722a32cf5715e799eca366e01b8839fc697c9d() - { - $this->assertTrue(true); - fn() => ((yield $test => $test !== $test)); - } - function testaf47b1e61848132567e5dbc806c6e2d6d8d5f69146738791d02ed184359617c9() - { - $this->assertTrue(true); - fn() => ((yield clone $test => $test)); - } - function testb43dd0bad0ea54e9d9df687554d0e908fc953d629ccec7b79cb1cffff591bdf8() - { - $this->assertTrue(true); - fn() => ((yield $test => $test && $test)); - } - function testb58313d521521097147793cb2f3bd7683fd85e682e6863b5ff3f5d32252956c3() - { - $this->assertTrue(true); - fn() => ((yield $test => $test + $test)); - } - function testb782b19b248776e4f7834ca15e860a4c224c2373454117e6d4721c93ddb49dac() - { - $this->assertTrue(true); - fn() => ((yield $test => (object) $test)); - } - function testb8f0f3df07e806ac2f955e04cdf7130ef3347bb9696891a646b0f95027b22cdc() - { - $this->assertTrue(true); - fn() => ((yield $test => $test /= $test)); - } - function testc3f0cff97d05bdbcb5ccb6e9e093276db04b68dfa3c4f5a1f3b5341d737cf742() - { - $this->assertTrue(true); - fn() => ((yield $test => $test == $test)); - } - function testc6dfe189ebf8eb02b2394b8951cfe272026340d95b0166789493393be49fb795() - { - $this->assertTrue(true); - fn() => ((yield $test => match ($test) { - })); - } - function testc774778030b1f9ec7fb4a3ce7cef986234a2b984f5e8b6f1edd721e74a4c3c65() - { - $this->assertTrue(true); - fn() => ((yield $test => 0)); - } - function testc9235ec16928f940dad2a77319c235105262542ec0fee7e6e0839e7a4ee1fda7() - { - $this->assertTrue(true); - fn() => ((yield $test => 0.0)); - } - function testc95ff333ba6552041b2c6b8912297ee35c70900c6ce6530459e51a7eed50f214() - { - $this->assertTrue(true); - fn() => ((yield $test => $test <=> $test)); - } - function testcc5f7a90bb5f98a5e5ab4464da9011b26f2d42744b23b899fe095be84fe0df57() - { - $this->assertTrue(true); - fn() => ((yield $test => $test **= $test)); - } - function testcec0a274afeab30d22a2392b9c10ed2413f2088409818d9f5b4b59aee6b80f31() - { - $this->assertTrue(true); - fn() => ((yield $test => 'test')); - } - function testcf08471d8cc19a9d69e5ca54708a6aa470c6a6c3ff592eb0c919afb6ae41bccc() - { - $this->assertTrue(true); - fn() => ((yield $test => isset($test))); - } - function testd266fac63ada4a4202f9c6f387e0cdba4bb328ac65dfe1e1f5ffa26f631547a8() - { - $this->assertTrue(true); - fn() => ((yield $test => $test and $test)); - } - function testd433c9475ea88a7c3b4b7688eb1c28c723120a487aadf2c4db83728112fd4b44() - { - $this->assertTrue(true); - fn() => ((yield $test => $test . $test)); - } - function testd76b0ce53ef351e9ebf171946a777a16daae84654cb7d47e436a5170dbf8f280() - { - $this->assertTrue(true); - fn() => ((yield $test => __DIR__)); - } - function testd783e9c6fd549c489af6b124c55d47b943efc80a28431df7f8ec9c4c476b1942() - { - $this->assertTrue(true); - fn() => ((yield $test => (yield $test => $test))); - } - function testdc369ff2ddef03be6c60c6bbc64acf45facbef692bf2951c4508a22cbfb61b50() - { - $this->assertTrue(true); - fn() => ((yield $test => $test--)); - } - function testdcfd93f04a2f30e94c281d1759b0e8edaeb83d9182a45859cada6d4263098d4d() - { - $this->assertTrue(true); - fn() => ((yield $test => --$test)); - } - function teste0136c93c220d6dc46fcb0ec303542566905ca32749adf1494b6d7067ba04fde() - { - $this->assertTrue(true); - fn() => ((yield $test => -$test)); - } - function teste1183512f852f5566afca76aff729108552f7943cde880c654b2c0ca810f21bf() - { - $this->assertTrue(true); - fn() => ((yield $test => $test->{$test}())); - } - function teste1ed493c9f2c1a062d2d6a7abbc453f6a3f5b6250d8da32903dc927a51b367c0() - { - $this->assertTrue(true); - fn() => ((yield $test => $test -= $test)); - } - function teste20d5caf3644c05ee6c21b2aa4d08dd968631963e3734bcfccf3863599639855() - { - $this->assertTrue(true); - fn() => ((yield $test => (int) $test)); - } - function teste2842f551381abd93eb88b43c8d92b40d1075e6ae47dd1e02eb12af73a2b4555() - { - $this->assertTrue(true); - fn() => ((yield $test => __METHOD__)); - } - function teste540a0596ffe212727e83b582693cc6614ecae04824ddb46582f2bb8de5cab01() - { - $this->assertTrue(true); - fn() => ((yield $test => $test << $test)); - } - function testeb775e625d39ef75e2dbbed2eaffff3d11558a30c36bd13f5cd2cb716eb27d35() - { - $this->assertTrue(true); - fn() => ((yield $test => $test ?? $test)); - } - function testeba91bc38f747e7befae85fc5c492b2ce30408b38e0fb38a7f403e9db98ad0db() - { - $this->assertTrue(true); - fn() => ((yield $test => __NAMESPACE__)); - } - function testec08307b2968eac4a41935000fabcda3d00e6e5e2e2a772607002681efcd67e2() - { - $this->assertTrue(true); - fn() => ((yield $test => $test > $test)); - } - function testf8ebdddb6e63104db7929606ab838f170cc0f1f6f6fedf667b28becfa9098765() - { - $this->assertTrue(true); - fn() => ((yield $test => $test % $test)); - } - function testfc0c4d79c11c6aa00a1ba81eef3244536e69c63a7e3d1a35443b91f1c5c0296d() - { - $this->assertTrue(true); - fn() => ((yield $test => $test xor $test)); - } - function testfd49e72f95cb0d619d1bb43ff7aac8c3a09d71654fa7cdf9a1ef25b4b1ad0856() - { - $this->assertTrue(true); - fn() => ((yield $test => eval($test))); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test.php b/testsGenerated/Target/Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test.php deleted file mode 100644 index e9c09ee05..000000000 --- a/testsGenerated/Target/Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test extends TestCase -{ - function test03f1fc10ce7d955a480994a70c45959870ed5507644c29344714806b32238c8e() - { - $this->assertTrue(true); - fn() => (($test or $test) ** $test); - } - function test09f7679c6b3b0a2b6eca64e83ed187f7377e0c61971d57dc723e1920dafbc1e4() - { - $this->assertTrue(true); - fn() => ((-$test) ** $test); - } - function test0c663c2207323e8ae446b912945003585246398f8c9266c6421b9ceba52c3529() - { - $this->assertTrue(true); - fn() => (`` ** $test); - } - function test0e40b63c48c343aa0cb09b02b645b0e28ae145dcad589ca10eeeec7f31e0b26d() - { - $this->assertTrue(true); - fn() => (throw $test ** $test); - } - function test0f290fb9ebe1d87f469cbebbcb7660570ab38b55bf8395de245fdca088ec462c() - { - $this->assertTrue(true); - fn() => (0.0 ** $test); - } - function test12bed85fa5ce533dc12a284a50ab9c9b11759d56232fe4c98354dc7b2f2bc3ca() - { - $this->assertTrue(true); - fn() => ($test ** (!$test)); - } - function test135a4ba02525cd7f48064517f3809d730d2d0d4912a074feb29139417e0c7534() - { - $this->assertTrue(true); - fn() => ($test ** []); - } - function test13f0d7048d6e8289ac922f432634940a44b0cb57e42986882e09f6e1edfd3df5() - { - $this->assertTrue(true); - fn() => (($test += $test) ** $test); - } - function test148770a76cc48a3e0b3001d78cc6338414b97c6eda6bfa841fa229558985317e() - { - $this->assertTrue(true); - fn() => (__FILE__ ** $test); - } - function test18314c4204c90973ae6cacc4de6e700c925e0bcfce71c26cc596bf590d10bd54() - { - $this->assertTrue(true); - fn() => (__TRAIT__ ** $test); - } - function test1cf3b26aa3a05683834d76b8284959be222f7cef9b0257e22734484a62547f3c() - { - $this->assertTrue(true); - fn() => (($test - $test) ** $test); - } - function test1e1e2fd7657cf8808052914a057b3f072fa73beabf811905df323ff1c7a57573() - { - $this->assertTrue(true); - fn() => ((--$test) ** $test); - } - function test1e58ed33f291a593a8cd330a7f20ca1765c7e8cc5cbae4d8728f6ca959f3a64f() - { - $this->assertTrue(true); - fn() => (($test <=> $test) ** $test); - } - function test1fed0ac32d785b37bf264f408ecf48a2dc07cc863896f9b04f88b7c49e1a6ef2() - { - $this->assertTrue(true); - fn() => (($test &= $test) ** $test); - } - function test2079b979eb0a8a3a19b781b5060366c871a6bae244f37ed79b41859100260c6d() - { - $this->assertTrue(true); - fn() => (($test <= $test) ** $test); - } - function test3123401a7c9c650a046e98439c904389cfb520b59c4074adcbcd0a0f0917732b() - { - $this->assertTrue(true); - fn() => (($test === $test) ** $test); - } - function test33b00decf402c12f4674f1e357810920c4a8abd022eb77a958187978da7919ad() - { - $this->assertTrue(true); - fn() => ($test ** clone $test); - } - function test33b18290f60eb8a3b4f4f56acc608e692bb28d4533d4feb0ceb4c4f6cc6ba3fe() - { - $this->assertTrue(true); - fn() => ($test ** ($test = $test)); - } - function test34c4b3aff2e7c15f1834ecbbaf4fb24ca92b3e2d3de5bdba34345d988d9ab549() - { - $this->assertTrue(true); - fn() => ($test->{$test}() ** $test); - } - function test35266a232d7903becf93c4fcb5a07ac140f83e6ad33c4ca29183775f5f4a832a() - { - $this->assertTrue(true); - fn() => (( $test) ** $test); - } - function test3aa010ddf1108af390156f140c6f2215cdf6c8ab16f329f45ce7752abd72a385() - { - $this->assertTrue(true); - fn() => (($test < $test) ** $test); - } - function test4345fc48b2c183e82615ff26d18ebac5c81be6db152917c547fd5464abc564c0() - { - $this->assertTrue(true); - fn() => ($test ** (@$test)); - } - function test46127a38e0e3d036f172e4cb6335fba64a652138bb8725c35ba6c0b68f69ab54() - { - $this->assertTrue(true); - fn() => ('test' ** $test); - } - function test47034ab1b81812fe7ad6ebd280420fcc868c676ffe0ecbcccc4cc6dee7314ed1() - { - $this->assertTrue(true); - fn() => ($test ** $test); - } - function test48fb03fdfde99d46e9798df94f6a939e0608fab68920421372b40129dd66848f() - { - $this->assertTrue(true); - fn() => ($test ** ($test =& $test)); - } - function test4a98741a15e49afa8ef116b69ff5dc844c5d5b636a8ac9ba2f413f22cd62cb66() - { - $this->assertTrue(true); - fn() => (new $test() ** $test); - } - function test4bcc365771d1396b2ee7817b880003098f54bed30f80cf2aceb1b519e1be13a9() - { - $this->assertTrue(true); - fn() => ($test() ** $test); - } - function test50812107ec418b219355dfe68e5e133cd1729070d114bad86d34f97562e8c031() - { - $this->assertTrue(true); - fn() => ((print $test) ** $test); - } - function test538d8482e3faf0f4f9566229bb0e0d605ba6293afc026e216910493aa293c53b() - { - $this->assertTrue(true); - fn() => (($test . $test) ** $test); - } - function test53deebcf8bda2b3260691e1926c1a82d0abca067010ed584374f23fc064b31fb() - { - $this->assertTrue(true); - fn() => (__DIR__ ** $test); - } - function test5bd44ecd964ede2b55436966b8eea4066eb4a9b2f1923fe4631d15e9b6f153c7() - { - $this->assertTrue(true); - fn() => ("{$test}" ** $test); - } - function test5cb9b00b654b9751ad333ed1736d9060055d0b7b70dc65d7fc60580c814c03e4() - { - $this->assertTrue(true); - fn() => (match ($test) { - } ** $test); - } - function test5dafc50020d19f38fe24ebe15a4a548900109b12c10465956632171b8ad534b1() - { - $this->assertTrue(true); - fn() => (0 ** $test); - } - function test5ff3d07899e9505a4715e9ca9c439de4c0b358f587841d040440d8afca092b72() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) ** $test); - } - function test601f2abcad48a2872a6861275bc97b2d457e0b8ce758fd60674c40ee89608ba1() - { - $this->assertTrue(true); - fn() => ((@$test) ** $test); - } - function test6033818cb3932ccab1219697639a2670fd49226fc17aa428b742744755ba47df() - { - $this->assertTrue(true); - fn() => (((double) $test) ** $test); - } - function test61e43af0feebcc648da087099f57c53f74a7226161a8b065fb5fe588f39fbb5a() - { - $this->assertTrue(true); - fn() => (($test and $test) ** $test); - } - function test6555c2636eeffe67e8f4be19c56859155568566aae1c39e7907676ffe12e4c5a() - { - $this->assertTrue(true); - fn() => (($test && $test) ** $test); - } - function test68ab81cc8bccf06b4d8b4fec5e5d8955950706a539cac50a380ed2583f8d121e() - { - $this->assertTrue(true); - fn() => (($test & $test) ** $test); - } - function test6c048bfada6dbe55154f5dbcab5e3fb51c25fde054d58e4b6e094412dd3b4e29() - { - $this->assertTrue(true); - fn() => (($test **= $test) ** $test); - } - function test6d76f44c8a2cb61f6a032d486ca05b2a89d7f4e8c01f9a97e49dd1ca704afb36() - { - $this->assertTrue(true); - fn() => ($test ** self); - } - function test700999f665e6ba00b417203bddabe7b8462d4749596afddf8da3c43c3af620e7() - { - $this->assertTrue(true); - fn() => (isset($test) ** $test); - } - function test7070bebe52c6cfd679630c06b7e7bf450bb92cd2e5b99737ba3655273dd9f65c() - { - $this->assertTrue(true); - fn() => (($test || $test) ** $test); - } - function test70e382e3666e8d184e00e93ea5ac0f6197b79fa60cab6174ddc1bffbb6d0a082() - { - $this->assertTrue(true); - fn() => (($test--) ** $test); - } - function test71b4c50d25eb7d2b39a8ada188e2dfcf0d671b41566399bfc5431242f0a0d0b0() - { - $this->assertTrue(true); - fn() => (($test >= $test) ** $test); - } - function test749e30e7d87595910cbae9ce37b084c7c8ea61fc255ac2d75edc4ddd1a547ecf() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ ** $test); - } - function test7d0981e89e2650058a8837d13f86fc1f2838f7ed2def05549ae51fc1d9795453() - { - $this->assertTrue(true); - fn() => ($test ** $test::$test); - } - function test82d10698edf8c6e1769a15273fc07ff15c3df3477202e85856065c9ddb8a4753() - { - $this->assertTrue(true); - fn() => (__CLASS__ ** $test); - } - function test8326648c537dd80cd724368e13e57063d9cbe3b1b2c087d4129da94741db07cd() - { - $this->assertTrue(true); - fn() => (($test ** $test) ** $test); - } - function test8437bab1bd845362b9fe4fdfa2e300ddf2ab3ced7bcb3182ab25b3aa35d66fbc() - { - $this->assertTrue(true); - fn() => (($test == $test) ** $test); - } - function test8706db3e6d6653122708a69987130d12b9bdfae2e0364a9ca0a86c644e2e6542() - { - $this->assertTrue(true); - fn() => (($test ?? $test) ** $test); - } - function test88431dc51645ef9bc38d32b52f7a34c8cb3929e5e8d570a856e2e11bfa8840cf() - { - $this->assertTrue(true); - fn() => (($test -= $test) ** $test); - } - function test8b2d6a5436b8a6631768c35a94b296cf6462e2780cc1228ee8c1360244667f99() - { - $this->assertTrue(true); - fn() => ($test ** $test[$test]); - } - function test8cc03e85c67d679b8043d1317cef615f3f6b67170d0c060c59e107d9763ed935() - { - $this->assertTrue(true); - fn() => (($test << $test) ** $test); - } - function test8e250b93e333801cb9d13212d795f99c630a99c195b858405d71b556c3df30fd() - { - $this->assertTrue(true); - fn() => ($test->{$test} ** $test); - } - function test8ee2c9c655c2d64b1ed23b4fe76d93fcb64e0a13634c72592726bc8f262eef9a() - { - $this->assertTrue(true); - fn() => (self ** $test); - } - function test94c4b7e36a2d1f10f22862f62a97d405926d07521fd8aa8ce05f9d4e1e620299() - { - $this->assertTrue(true); - fn() => (($test |= $test) ** $test); - } - function test955762fd455daedea7c8375f877296cdb43ea14ff0d2e33f3f7fbc28e0b2ad1b() - { - $this->assertTrue(true); - fn() => (($test + $test) ** $test); - } - function test9aecfbc5ef34f2e9db8d856704585c8ceee286189c2f9ac8bb1b9c190fadd333() - { - $this->assertTrue(true); - fn() => (((object) $test) ** $test); - } - function test9afb11048b099d51d0f199395af464add30b5c5867dcdd7cb2ff3ddc3e427090() - { - $this->assertTrue(true); - fn() => (empty($test) ** $test); - } - function test9daae75363a96942f9268251db28f869076041451b5cab925d157d089621529e() - { - $this->assertTrue(true); - fn() => (($test ^= $test) ** $test); - } - function testa01aab73d291225374d1230a657aff798b1cd269542e87e8ddca73cc5285f1aa() - { - $this->assertTrue(true); - fn() => (($test %= $test) ** $test); - } - function testa08ff221edac69b7acd90650b2537281ba45352a3b1a7cf1734291d6be07ec29() - { - $this->assertTrue(true); - fn() => (($test % $test) ** $test); - } - function testa5a3ae4ed3554397d3c1eff1b1683885854723209e2f19fe2e5a352ca60821bf() - { - $this->assertTrue(true); - fn() => ($test?->{$test} ** $test); - } - function testa6604e495a50926366daf122b89a59e4c593ead9c938232b395eabdd11a1a140() - { - $this->assertTrue(true); - fn() => (($test *= $test) ** $test); - } - function testa7254044b061c10f39bfc0b563aaab136bd65fc7985b014fcdebb506294a195e() - { - $this->assertTrue(true); - fn() => (($test / $test) ** $test); - } - function testaecaefd25e9e6791f2307e15fba96aea2f02e4059cb229399731910c8a6f9bda() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) ** $test); - } - function testb7d8ee8857ed261d27518b8dc1335d0c744f9e8bbc6c14f13918e47fd8e7f127() - { - $this->assertTrue(true); - fn() => (($test /= $test) ** $test); - } - function testb882bb9296a42816bb36f01edea822dbb30813636a1ad5eed488dd238636c9ab() - { - $this->assertTrue(true); - fn() => (${$test} ** $test); - } - function testb9750c4ae3ca4176f3941069dfc2ee260e1f590a3e399a9eca0d1644bd12eb91() - { - $this->assertTrue(true); - fn() => (($test * $test) ** $test); - } - function testbc1b2ac23dc2704dc93a6665aa7808113877abbc32d7e7abf784353cfd085342() - { - $this->assertTrue(true); - fn() => (((bool) $test) ** $test); - } - function testbe570077477d8fe1c78f545abd1f1be38e2fd3f26793caaf1d0ce8358dc604a1() - { - $this->assertTrue(true); - fn() => (($test | $test) ** $test); - } - function testbff598f6993a1dcee3dd75c6f144d23a409ea2fb4289fc6a1734f1797b6df0ed() - { - $this->assertTrue(true); - fn() => ($test ** (~$test)); - } - function testc33d3142b0cb96ceb87115421d3117f8b46ec5cdcd696034c51e6f32b70ebeaa() - { - $this->assertTrue(true); - fn() => (($test !== $test) ** $test); - } - function testc3af084d428d1a6161d30c134141719a828b456baef308e504628280e865891d() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ ** $test); - } - function testc4b5222e89de1075a0ce6f6494c3f9296ee04aa13253b6730f978ac4e614a9c1() - { - $this->assertTrue(true); - fn() => (($test++) ** $test); - } - function testc4bc880c39ec77ee3246e459aac388cbf90155c958a198d3f3a5d2cb1af3a758() - { - $this->assertTrue(true); - fn() => (((int) $test) ** $test); - } - function testc5d861e1d598a3c65a265fa081203d6230f5ceee2c6a6f6e3a7c768f2d917bcb() - { - $this->assertTrue(true); - fn() => ((+$test) ** $test); - } - function testd03e123e3ba4cc597f76081959ce5123e1821cb5364f3f64329da46f7f785a15() - { - $this->assertTrue(true); - fn() => (($test xor $test) ** $test); - } - function testd16cef268f32862408fe0c8085170b8476bf5f813899c7f63ac864a96c83e889() - { - $this->assertTrue(true); - fn() => (($test != $test) ** $test); - } - function testd219698d320439bae7df594a0a6e9fecf7cad7557cae5e4f22b6aa8b759b624f() - { - $this->assertTrue(true); - fn() => (($test > $test) ** $test); - } - function testd489adff4fc5dc7515259634095ca2c717f04cb56485dd73d6b73bba6d47d881() - { - $this->assertTrue(true); - fn() => (__METHOD__ ** $test); - } - function testd57ba577c525fed5ab6aeca08be2793cbd83e58d0c88bff4223cf66b79c58d64() - { - $this->assertTrue(true); - fn() => (($test ??= $test) ** $test); - } - function testd6758350b6eeb184a72617992162972c893bb3af211565279cd303de0aebb4d8() - { - $this->assertTrue(true); - fn() => (__LINE__ ** $test); - } - function testd686fbc19c0af908e190fd02474a41957692b2afb8d560d382663894f64f1ae6() - { - $this->assertTrue(true); - fn() => (((string) $test) ** $test); - } - function testd6f8ab0cb69bf39aaa2f0a397e7db2f0d19f584b4b40846fe0fb30c88a613092() - { - $this->assertTrue(true); - fn() => (($test <<= $test) ** $test); - } - function testd7d988dc0cd7d232891059a375738a9fd2a8ad004d5bed5fdabdefe2695819af() - { - $this->assertTrue(true); - fn() => (($test >>= $test) ** $test); - } - function testd9ea9876f3ac6c29a5868fdad8bf3492623073abb71e31cb79f666572af48a9d() - { - $this->assertTrue(true); - fn() => ($test ** function () { - }); - } - function teste02a1033866909177b6b66762a96450dc447fe6b7dd011b46a43e40959452a9b() - { - $this->assertTrue(true); - fn() => (($test instanceof $test) ** $test); - } - function teste1e8080cc8ae5598e9b5226d87e62a9d28a0441f1189c6a8807c41c93d727875() - { - $this->assertTrue(true); - fn() => (($test .= $test) ** $test); - } - function teste55a99f177865eb5c0f87f3733d63fdb36da33e86f9391edf91490196d8970d3() - { - $this->assertTrue(true); - fn() => ((yield from $test) ** $test); - } - function teste7ce9b32e31ca3bd4a1378c06e8836c35f31fec3e6c3469effc61d56532aad37() - { - $this->assertTrue(true); - fn() => ($test::${$test} ** $test); - } - function testecad79835867d6d381b4b01450f1c9bfa61422f4c7a240a88262704d4ef5d8bc() - { - $this->assertTrue(true); - fn() => (($test ^ $test) ** $test); - } - function tested2df405b18ab88735b9d4cecf99011efcdbf3cea7651e481d500bad15e05ab1() - { - $this->assertTrue(true); - fn() => (eval($test) ** $test); - } - function testee184e590050cb33e82c02e83c87db84390a099130e0b1f08ce88ef9714b0ab2() - { - $this->assertTrue(true); - fn() => (((array) $test) ** $test); - } - function testf351b6865e7783815eb55ca6ca6dba4dd21a0152dbeb55f0d98c0131e2bccd26() - { - $this->assertTrue(true); - fn() => ($test::$test() ** $test); - } - function testf390b991e22e1e22024782fb2b8c8ef25b9e0280d04d06021428ea353fb41b10() - { - $this->assertTrue(true); - fn() => ($test ** empty($test)); - } - function testf858d364f0e04873f82ac32bad922d128cdb08f32812a648143f09d684602aa0() - { - $this->assertTrue(true); - fn() => (($test >> $test) ** $test); - } - function testfa0a40c0314157f0f9d59ed4f4c40aa921797a4fe2dcf518b152e02daf9b932d() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() ** $test); - } - function testfc1e20a11b6c3a49a71b6c68c2969e1ac4634b994dff2f52f829108b90cac737() - { - $this->assertTrue(true); - fn() => ((++$test) ** $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest.php b/testsGenerated/Target/Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest.php deleted file mode 100644 index d09474cf8..000000000 --- a/testsGenerated/Target/Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest extends TestCase -{ - function test034abb4a840c8dede10ef1a94755574547624d3d6992416492917a9c7b88c4ef() - { - $this->assertTrue(true); - fn() => (($test === $test) <=> $test); - } - function test043737736fb6c930a960e6c064bb631dd85fda264c6aa7bc05fd58952c38553f() - { - $this->assertTrue(true); - fn() => ($test <=> (yield from $test)); - } - function test071a27e57a97a2ee1c5f5f0128e66109ca31147c51b8aa5097e7378c5f14bec6() - { - $this->assertTrue(true); - fn() => (($test ??= $test) <=> $test); - } - function test079a212c3525c7129aec2a8802aaf54e10ac79a775b9c379726bb6f2b5b902cb() - { - $this->assertTrue(true); - fn() => ($test <=> function () { - }); - } - function test0b75ccd0b27fb1d8ad48795a7f98db616b647f78df6cddde9ca8bfa3fd35e0ea() - { - $this->assertTrue(true); - fn() => ($test <=> ($test ??= $test)); - } - function test0c8a8cd6de7887c8765e1355afdc3ea4d6bef20fb13787992e7a564693403190() - { - $this->assertTrue(true); - fn() => (($test ^= $test) <=> $test); - } - function test0d429302ca1191d8f68b2a3b66354d1c77076b1c40afc7273efd33bd38ce84f7() - { - $this->assertTrue(true); - fn() => ($test <=> isset($test)); - } - function test0ef21e6cccd11e609f37335589c557880f0e149c321de454ab37acd81618b0a9() - { - $this->assertTrue(true); - fn() => ($test <=> eval($test)); - } - function test0ef9c92cb201db7f821f0d3899cd4013c0f09987692c9453ecb963909c3badac() - { - $this->assertTrue(true); - fn() => ($test ** $test <=> $test); - } - function test122a156c2c19d34200409a6aacb8355b2c786a4112f2ad132eebaa857d28f5e8() - { - $this->assertTrue(true); - fn() => (($test >>= $test) <=> $test); - } - function test133c2dcb6f684f63e4d901443ccc5e1ae3c97a8b111aad43a39827e51f13b41b() - { - $this->assertTrue(true); - fn() => ($test <=> ($test |= $test)); - } - function test145400be9058f7237316fda59f7eedefff2b91b02c42d48bbb65a9ba32b33741() - { - $this->assertTrue(true); - fn() => ($test <=> ($test = $test)); - } - function test1897fcf29ac5682f326992330d0d397eaec4af1198bb90496d0b76e794e5f44b() - { - $this->assertTrue(true); - fn() => ($test <=> +$test); - } - function test20e9391b8eaa029a8c15baba69cf62e46e398945d0b8b1d4ef4146d592dec696() - { - $this->assertTrue(true); - fn() => (($test ?? $test) <=> $test); - } - function test25ab0a4de3dadbb7df2f0e1dffa710f4fae5b3ecd847b249fdb48d7c2fe3731c() - { - $this->assertTrue(true); - fn() => ($test <=> $test++); - } - function test2859dc47db1847b1daa5c3a6512879fc47b095874ad12749898bdafd810ab628() - { - $this->assertTrue(true); - fn() => ("{$test}" <=> $test); - } - function test29bf7e802185482e6ba4ca23cab17bd0bd51e2f6a48cbeaada921a8dc4e20236() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ <=> $test); - } - function test2b53c49cedcc4d5dcb7c77d6e91e6cd9c3e49005814678ffc479221334f6de9a() - { - $this->assertTrue(true); - fn() => ($test >> $test <=> $test); - } - function test2e029e1ad9f6569d4a52bc64fe62ee4c2fbc9617a1b1b8f8c50bef02f5949a81() - { - $this->assertTrue(true); - fn() => ($test <=> throw $test); - } - function test306dbece61deee35a7392d26b17ec5e6e803d150e2327d913e3974563191b83e() - { - $this->assertTrue(true); - fn() => ($test <=> !$test); - } - function test3691dfc38ee8361e2ce8ddd5a2980822231ca84bb0a62868a419f61253a27f94() - { - $this->assertTrue(true); - fn() => ($test <=> -$test); - } - function test379c0c797664a01453f20585f36f4096353d6fb541afe4dc5ddc019207f3cf18() - { - $this->assertTrue(true); - fn() => (($test %= $test) <=> $test); - } - function test37bd974f6607d572afee9ab2b6945d9e3532127e62a034cae3cb2db6b88b2133() - { - $this->assertTrue(true); - fn() => ((array) $test <=> $test); - } - function test388fe608300af94a0438a190f078d9465ec1f6948bba17aebf9f55f0daf20961() - { - $this->assertTrue(true); - fn() => (($test <=> $test) <=> $test); - } - function test3bb12c5501212405cf4ebed8345c4d358fea30851dc2b52274035a7dad28a446() - { - $this->assertTrue(true); - fn() => ($test <=> $test[$test]); - } - function test3c41e0b95c88a80434cfba46b42cc7f0f3e4f6811b78e78573a395a6937af836() - { - $this->assertTrue(true); - fn() => (0 <=> $test); - } - function test4078b06a3213dda6a0f66cf1191a76fa6297ef2b6d5685b200ad0584dd80dbc2() - { - $this->assertTrue(true); - fn() => ('test' <=> $test); - } - function test4a949584f842bdfff46e608c898c62d3a4b314126f9b3425cdd39d0dd64481a4() - { - $this->assertTrue(true); - fn() => (($test && $test) <=> $test); - } - function test4e60204c8ed5e59b3493f66589e08282ffb2f091af829bfb280f2a651ab029fb() - { - $this->assertTrue(true); - fn() => (($test /= $test) <=> $test); - } - function test50787da7c0c08486bac86df6c542f0f68df2ed9afae6012d8d128105ad64451a() - { - $this->assertTrue(true); - fn() => (__FILE__ <=> $test); - } - function test52d5054ad6fa80f8ffb69708d016bc6c998a3ea949e5566b71c5a591656fecb7() - { - $this->assertTrue(true); - fn() => ($test <=> ($test ^= $test)); - } - function test56b875eff83ec2fd16ecf09553d098c8cbab829929dc442497fb5f94e72395ec() - { - $this->assertTrue(true); - fn() => ($test <=> ( $test)); - } - function test5ac08c01be58a2e0f11653af8c6bdbb7978995bc964b8c4056df1be69b29b4e5() - { - $this->assertTrue(true); - fn() => (($test || $test) <=> $test); - } - function test5d442effb4d6ba499069de9d9477fa9d386e863b5027d669d5d0af1b9fdced15() - { - $this->assertTrue(true); - fn() => ($test <= $test <=> $test); - } - function test5dfee7e007e825520bf955fbcfec899ae2f62f5026c959c211bbe959ab1b88f3() - { - $this->assertTrue(true); - fn() => ($test % $test <=> $test); - } - function test5e1f24ae083e8c20483ab30268e90cf47fcf9adb3f56609e353ecbdabe0c4046() - { - $this->assertTrue(true); - fn() => (($test !== $test) <=> $test); - } - function test5f0bccd92ef8607ba520e92c8328f1d0af9cbfc095ee3401870af9f3484a02b4() - { - $this->assertTrue(true); - fn() => (($test or $test) <=> $test); - } - function test5fdf2d9e1cfb57e5758b5a596a9cc4e5af944502c6eb9e429535e643c7975136() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ <=> $test); - } - function test68d274b4e425d7cfc867d5cb764fc53de8d24aa6cee13d8d838af509d4dabe9d() - { - $this->assertTrue(true); - fn() => ($test <=> $test::$test); - } - function test6bc6bba59551479922973f74d22bb678b29a9d7c1cde6a910f489c0fb0687b21() - { - $this->assertTrue(true); - fn() => (($test | $test) <=> $test); - } - function test7324f5cfb03c2e24147877d79424966a85558a0ad31f4922fe9ea5f23d6e2693() - { - $this->assertTrue(true); - fn() => ($test <=> $test::$test()); - } - function test7584f9dc12fa4fd3a55cd362b83c6bba8131c9eb56920cf41c3e7b881e27f118() - { - $this->assertTrue(true); - fn() => ((int) $test <=> $test); - } - function test76cc946e106c3c0b0d9a075a130f8defd33832ca31de6933bf189f3cebaaa9f3() - { - $this->assertTrue(true); - fn() => ($test - $test <=> $test); - } - function test7744805cae1f6ca424a5678a123f83b1a7f59ecaee5233e5ce8e8696a5ecf397() - { - $this->assertTrue(true); - fn() => ($test <=> ++$test); - } - function test80b849cde307dd5ec7f8cddb54b0723554be50f20a43b838c8263becc21cb422() - { - $this->assertTrue(true); - fn() => (($test != $test) <=> $test); - } - function test82995d7ef770c4ef54d8646ff340f2cf708c650c6ab032319c93eaa0e768988f() - { - $this->assertTrue(true); - fn() => ($test <=> $test?->{$test}()); - } - function test83df49c6ca1665affa34cd190b7ae5ddcf5a0a603f97bd49c9f08a9fa9b714cd() - { - $this->assertTrue(true); - fn() => ($test <=> ``); - } - function test856d26ded73f4633b68d60431e8c9aba977d59c3b7a18668b0f52cb952bda238() - { - $this->assertTrue(true); - fn() => ($test <=> $test->{$test}()); - } - function test8605fd90d72ab2281cee7c852a8255d16b297bdc4007c51857255df4f7a30ec2() - { - $this->assertTrue(true); - fn() => (($test .= $test) <=> $test); - } - function test86e2131222a249d5de234454a2864838b04e22117f13baf954ac267434da7870() - { - $this->assertTrue(true); - fn() => ($test <=> $test?->{$test}); - } - function test8c6d78cbc6c3cbe9119e2a11c93dcc4997b94af5bbc637f481edd371d0be4fec() - { - $this->assertTrue(true); - fn() => (($test += $test) <=> $test); - } - function test90350fe94bc11084731b99369431c87e6c788634de660edd0384801f4f6389ac() - { - $this->assertTrue(true); - fn() => (($test **= $test) <=> $test); - } - function test9577f2944e327a7f92b0b807ff2b73e909d042f40443de2c2f5676b0eaf7acdb() - { - $this->assertTrue(true); - fn() => (($test *= $test) <=> $test); - } - function test991e23a134f8cc9e11fbc9d26ce9eda783a00a94a4ff3482660b975b90ff681c() - { - $this->assertTrue(true); - fn() => ($test <=> self); - } - function test9bc4245ecba14740dc581eebef6b18f16d55f957b23c6ed4a46a3ec318845051() - { - $this->assertTrue(true); - fn() => ($test <=> ($test ? $test : $test)); - } - function test9c0c35b5e76c4f3f1142a772d169c4a0b7779caf56fc9ac3b0a84974abebb61a() - { - $this->assertTrue(true); - fn() => ($test <=> $test()); - } - function test9edd2e7204690fa929118b4399b8161a8e6554d04f04e015e0915b2bf3ab320e() - { - $this->assertTrue(true); - fn() => ($test <=> $test::${$test}); - } - function test9f5e1d01c1212327a4c468075451ca45a30e4912f85d899c95dbea02fe9e6d8c() - { - $this->assertTrue(true); - fn() => ($test / $test <=> $test); - } - function testa18aff53643744cbdc8f55adc8013168b398b7548d7c6fd027c0eaeb198d4f0e() - { - $this->assertTrue(true); - fn() => ((string) $test <=> $test); - } - function testa28bed67f1021d0b4bda972793ec4892f6368b367fa097fcabdd5894b372f70d() - { - $this->assertTrue(true); - fn() => (($test <<= $test) <=> $test); - } - function testa42e14b9c18dccaad19e3f67c41a4f6f91bf0bc9fe98df5cddd9a4b7716c21f0() - { - $this->assertTrue(true); - fn() => ((object) $test <=> $test); - } - function testa522e5a4f0e75e4e77568fe5b88d08b6889b84d01b4f3209d456b95ed25659b0() - { - $this->assertTrue(true); - fn() => ($test < $test <=> $test); - } - function testa5b46630560b671445919d96bba1ad7db82802398deb5b3fdf4bdf3b2bf02eec() - { - $this->assertTrue(true); - fn() => ($test . $test <=> $test); - } - function testa99fee6bf0481b92b74ca8710cdde43c80f3247fa76d7b691dc5eeb7408d11ec() - { - $this->assertTrue(true); - fn() => ($test <=> (print $test)); - } - function testabc467d03cbd558dc06e1d237f20230a932775b190f888f174a10aa590620736() - { - $this->assertTrue(true); - fn() => ($test <=> []); - } - function testaddc9f405d0a498257e24453171a10410d846e51022352ffdd1c33f1112167f5() - { - $this->assertTrue(true); - fn() => ($test * $test <=> $test); - } - function testb03e2bc5453cc0c047ad6b14791bfc8f8742cecbab4de4b5bc4b2da44dd5bf5c() - { - $this->assertTrue(true); - fn() => (0.0 <=> $test); - } - function testb4222e46c20b99beb4fa921d9d2cbefe6fc81adb95a923018b494c81167f069b() - { - $this->assertTrue(true); - fn() => ($test <=> clone $test); - } - function testbcf218af631e5d98e0cc91ad5bafb3319be8c636700ae53187c154fcbbb8da6e() - { - $this->assertTrue(true); - fn() => (($test & $test) <=> $test); - } - function testbf917c37b63459bcfed03489c48edd3bba15e332b28c7e34dc9981cf6e33b90c() - { - $this->assertTrue(true); - fn() => ($test >= $test <=> $test); - } - function testc08977a37b18468e2ca67f07070a0a34cd30bb5c3345394e999e89d6a0ec14cf() - { - $this->assertTrue(true); - fn() => ($test << $test <=> $test); - } - function testc1132d1ca620dbe127d4a23c61e7455d057ca08f3ff5bcd929f1924672ff3c0c() - { - $this->assertTrue(true); - fn() => (__CLASS__ <=> $test); - } - function testc2b0942514471d033466a4aa56af953ba1aa4d02ed6cd558a448a5e62e7bfa21() - { - $this->assertTrue(true); - fn() => ($test <=> ($test =& $test)); - } - function testc4962831ae0aa64477f8fb9ec3d45c28f5feba7c9d17d3b82ca8b0ec95f130b5() - { - $this->assertTrue(true); - fn() => (($test -= $test) <=> $test); - } - function testc750acaf115c7990def7930c70526f7db84871815d1998606f836d874a131816() - { - $this->assertTrue(true); - fn() => ($test <=> match ($test) { - }); - } - function testc782aa72836d9af089a1b00d52a4bbc3ea282193ad7a30a3771023f45b36b5bc() - { - $this->assertTrue(true); - fn() => (($test |= $test) <=> $test); - } - function testc8de37aabc4fa34017ebbe61c5bc1c0462a5cb91532afb9a6f4800eacff22581() - { - $this->assertTrue(true); - fn() => ($test + $test <=> $test); - } - function testcd05ffddd0e1c4dcd03c07761559df156abf4d01c5d5aa03b98ecc76c025be25() - { - $this->assertTrue(true); - fn() => ($test <=> --$test); - } - function testce4ff49a3b84acdfea6503d7240380998b8e8c4e2b3b4443ea56c45680874b72() - { - $this->assertTrue(true); - fn() => ($test <=> $test); - } - function testce70376f6366dd165fbf68a56db8eea4b8ea0dfafbe4bfe36b7fa5ab2b9efdd3() - { - $this->assertTrue(true); - fn() => ($test <=> (yield $test => $test)); - } - function testce87a2c5d78ab970c4dc1b5f086c79374ff9bad48e591b60ddab63d3051b6522() - { - $this->assertTrue(true); - fn() => (__METHOD__ <=> $test); - } - function testcf652f97596b94479d8d162b41ca6b8da3dbd2fe80516ac4d4ae26cc15b761b3() - { - $this->assertTrue(true); - fn() => ($test <=> ~$test); - } - function testd87b087898e49eb6fade1bdca60035a96499174b03ad19ccfafd5795cc394f97() - { - $this->assertTrue(true); - fn() => ($test <=> $test->{$test}); - } - function testdbcfb64d8f41f449d11ac43aeb82588a55614670966a795469b0b22ab934ffb6() - { - $this->assertTrue(true); - fn() => (($test xor $test) <=> $test); - } - function testdc32c51756d4be402faebaa94a9d4f2a20f272bca47b647ac558ad2d2e796187() - { - $this->assertTrue(true); - fn() => ((double) $test <=> $test); - } - function testdc9f7c036d267fc682570f2d7dcfc2139c71ee2d657f9594f72ec25be087f57d() - { - $this->assertTrue(true); - fn() => (__LINE__ <=> $test); - } - function teste2f32241943a3f975e659e234adedc7ee9c4fbab20bce5a3bd0905003b2a77be() - { - $this->assertTrue(true); - fn() => (($test ^ $test) <=> $test); - } - function teste30b54a41d0ec5505e31e5e125d461d08a002d08b566cf68b4bcf4523f337f8f() - { - $this->assertTrue(true); - fn() => (($test and $test) <=> $test); - } - function teste36f2d4bfed5c3dc9f3070cff975b54b2f615b336ecf324c0a782fdc1f7bc057() - { - $this->assertTrue(true); - fn() => (($test == $test) <=> $test); - } - function teste4a27882d26933e68298a3b87e0e8ccf910f9cc9ac9591c9e2c06ecd02902889() - { - $this->assertTrue(true); - fn() => ($test > $test <=> $test); - } - function teste7c263e3264a0f621d003551226c4c0efd7c1ebd1758f7fd441827bb0d5aa1a7() - { - $this->assertTrue(true); - fn() => ($test <=> @$test); - } - function teste82d8888af838332d454704dbeacc31ffa300861faaed288ad53602ae7fd8306() - { - $this->assertTrue(true); - fn() => ($test <=> empty($test)); - } - function teste9ed73895fe97b9d1bbc87ea9d255e7da531f059055befc5d555582ef5e81e72() - { - $this->assertTrue(true); - fn() => (__TRAIT__ <=> $test); - } - function testeb7eadda4fc521eaea03eafd702fd0b2fc262b56f3f2850af94140d4e689f124() - { - $this->assertTrue(true); - fn() => ($test <=> $test--); - } - function testf6391215966e2e06fc0e515faa68dbb624e9458c369caa911170566c7f424dd6() - { - $this->assertTrue(true); - fn() => ($test <=> ${$test}); - } - function testfb1d2fcf8412a3e66dcd94b0d7a562f5d434959a9ad07eec4361e221229a1f2e() - { - $this->assertTrue(true); - fn() => ($test <=> $test instanceof $test); - } - function testfb92a9db1291064af4c021d3eded92fb48006c62ca70cc207c65c1e7ffaf936d() - { - $this->assertTrue(true); - fn() => ($test <=> ($test &= $test)); - } - function testfd495578d2be5d1aa761dd6b996a1d4c11f475157eadf7fb25df14b29d7b025f() - { - $this->assertTrue(true); - fn() => ($test <=> new $test()); - } - function testfdbfb20edc7c3fcc805992b29e326861ae72dbecea125ff89c11c4dfb87ca881() - { - $this->assertTrue(true); - fn() => (__DIR__ <=> $test); - } - function testfdcb5b0efaf832bb059dff3010611b3d70224e0eaf1d1c976e69b4ff1f70bf2e() - { - $this->assertTrue(true); - fn() => ((bool) $test <=> $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test.php b/testsGenerated/Target/Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test.php deleted file mode 100644 index 458d358cc..000000000 --- a/testsGenerated/Target/Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test extends TestCase -{ - function test06f21bbd96807e6f97dfaef26a8c1d662b467877c2c0923fc7a41b1100ad4998() - { - $this->assertTrue(true); - fn() => ($test == (int) $test); - } - function test083d0b8f0b9265b607af8f9e7b97dd7e837a23a2a02a0ee4572f2e3999847c4f() - { - $this->assertTrue(true); - fn() => ($test == ($test || $test)); - } - function test0be3c9ce3a08ad1410fe498e081c483cf637988c8773ea84d939623b47690e96() - { - $this->assertTrue(true); - fn() => ($test == ($test != $test)); - } - function test0c63bf635e8dbe7c46ba5fc4fb461cd24ae5d262bcff0710e2b199eddfe8924f() - { - $this->assertTrue(true); - fn() => ($test == $test > $test); - } - function test145d7dcbafb94fa8e58abd3c8f053dc3e20cd60323539e071f6d928e0e304065() - { - $this->assertTrue(true); - fn() => ($test == __NAMESPACE__); - } - function test15823df3947a8315d5259e9f0be3861a6ac32a813bad2e49ee805ebde19528ca() - { - $this->assertTrue(true); - fn() => ($test == $test . $test); - } - function test181d9133bc11fe49318fae25e8e0dbc6e049980d1bb59f323c4ae9f66f311150() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() > $test); - } - function test1a26886e65b0120938d427bac8b4ad098672b69e8d6bf0d20d77e7b469d58d61() - { - $this->assertTrue(true); - fn() => ($test == __DIR__); - } - function test1b7899714a3907dfd3589132d7cbc7fbd0cccff6b4d0fe8eea77c1d89b85d4fa() - { - $this->assertTrue(true); - fn() => ($test == 'test'); - } - function test22f3a7d39139b0b67744800ea0b89ac6d35ceb3f8c74dec431b415f6e27f893d() - { - $this->assertTrue(true); - fn() => ($test == __FILE__); - } - function test254d8fa613f31c19e34da092ce95480e397801639c71b22e54a5528a775ac603() - { - $this->assertTrue(true); - fn() => ($test == ($test *= $test)); - } - function test257e7698d39500ab22b65f626f8408b47733b0716f9af8825885f9bcce4e282f() - { - $this->assertTrue(true); - fn() => ($test == (string) $test); - } - function test25b5d130a5b95da1c6101160c1884a6bc43efb4a28560acfb7c8ba163de06118() - { - $this->assertTrue(true); - fn() => ($test == ($test .= $test)); - } - function test26ea6a1bd744e4df9ef29b133c480b578c135d82001166faa3af9a489d1100c6() - { - $this->assertTrue(true); - fn() => ($test == ($test += $test)); - } - function test2835519be8c950582c9a41eb3996b8904ba7164a2d074470c67de5292eefd6c2() - { - $this->assertTrue(true); - fn() => ($test == (array) $test); - } - function test291d8c7c9b623a95153ab04ee05bc26332476347dc0aa7c9e95290f8ea4499c3() - { - $this->assertTrue(true); - fn() => ($test == (yield $test => $test)); - } - function test33cb5d74be79a8096cc4e31ec17a8c27c6b2fbe0d89fa2637a79dadd0e0de956() - { - $this->assertTrue(true); - fn() => ($test == ($test >>= $test)); - } - function test3843433f6c3af68ffff46ba888b9ce8f60a6a87d44edfff5d591a111226bcbda() - { - $this->assertTrue(true); - fn() => ($test == $test < $test); - } - function test3bfaf9515b9647dd45ee97fa32c1b711e11078bac94128daf9d6c03db723b300() - { - $this->assertTrue(true); - fn() => ($test == __METHOD__); - } - function test3eb1ef0979dc431baca040675707132bef2488467a60c5eb6c50f96c0d172b7b() - { - $this->assertTrue(true); - fn() => ($test == ($test -= $test)); - } - function test41816eada82879d25273dde789103601c66fdd5d9bc67079520e7f6743bc0f76() - { - $this->assertTrue(true); - fn() => ($test == 0.0); - } - function test46b6c8a7c869cd7591c91dcdb73a50ce36df48bf15359efaf85339ab34179ea2() - { - $this->assertTrue(true); - fn() => (~$test > $test); - } - function test4712e7d9e892f67549ec6408590d2977174b744e73fedb782f2b74c178cfb930() - { - $this->assertTrue(true); - fn() => ($test++ > $test); - } - function test47304d4bdc592c39233fa844c4e0bb703a530dc2d93c034208044911bce9d593() - { - $this->assertTrue(true); - fn() => (${$test} > $test); - } - function test4a35a221efb4357f4e555f0405ddcc5206110012417eb7df784730a6e7d786ea() - { - $this->assertTrue(true); - fn() => (match ($test) { - } > $test); - } - function test4d8bfc1e0a51cb033fe58cdf94e40f0840912a2fa027fcd475a74d4cffa05a7b() - { - $this->assertTrue(true); - fn() => ($test == (double) $test); - } - function test4f0a8230365e904bfd9c0072b4ba69ab2c9c624be0d4b7f8cd7a23e14c6a90a8() - { - $this->assertTrue(true); - fn() => ($test == $test % $test); - } - function test51ec2055bc7a384c9066b54847ed94ac6b28227705a3d819db71bc805bc06dfc() - { - $this->assertTrue(true); - fn() => ($test == ($test or $test)); - } - function test53407ff7687a59baf3c3de93283c0ff3a2e3e52195a627d3bad5cc1d63d0c53b() - { - $this->assertTrue(true); - fn() => ($test == $test <= $test); - } - function test534b9c902795e1cace1f1e9fab0530b260cee691bbdd4033541769096b03fa85() - { - $this->assertTrue(true); - fn() => ($test > $test); - } - function test560a1ae914b592e657dff45e1cebb5a91417bbb6f15aceb2b4e2adbf64462a17() - { - $this->assertTrue(true); - fn() => ($test == ($test && $test)); - } - function test5b064b2892f373dddd6dda52521a096ba82d5574a32251798d99a618b04d063f() - { - $this->assertTrue(true); - fn() => ($test == $test << $test); - } - function test5c0e02fdf4c432eab2d09d33deee6ac2162e00493e70dd263599896bc01dabc1() - { - $this->assertTrue(true); - fn() => ((yield from $test) > $test); - } - function test5e3d703a255154ce239e30fd7493d33ee7f39e6dcee170ff439c4054ced7df00() - { - $this->assertTrue(true); - fn() => (new $test() > $test); - } - function test5e51a3c0756616bde1fb24212648aadab238deb8da3d36d0e256412d82c56b42() - { - $this->assertTrue(true); - fn() => ($test?->{$test} > $test); - } - function test60c0c9533ef5a97df7a48fa05528ec301ccead44b709924acd7af8740aba42b7() - { - $this->assertTrue(true); - fn() => ($test == 0); - } - function test6229f08a93251b47c866fe26231bd4c4ace61ee0415e75b966f3cb6bf3296d56() - { - $this->assertTrue(true); - fn() => ($test == ($test !== $test)); - } - function test625aadf69fa6cfb00490032e4fbdb67ac3965e4cf3a670384227a87588aa3411() - { - $this->assertTrue(true); - fn() => ($test instanceof $test > $test); - } - function test6343190148ff19a9e4478aa55c414ab4ae2ee782c9ae856ea2612114686f96e0() - { - $this->assertTrue(true); - fn() => (isset($test) > $test); - } - function test63fd9bf5cbea47d4a272915e56283b0238860b3f4e88851a0308a2de42c8cbb4() - { - $this->assertTrue(true); - fn() => ($test == ($test === $test)); - } - function test678017ed21743bf7f013da43424e712c052cd6abdde3931dfd401459826a6afa() - { - $this->assertTrue(true); - fn() => ($test == ($test /= $test)); - } - function test67d30250199128eeaca781b48cf0f80fa1a0bcb7465eddf0cebd3f012d9cc970() - { - $this->assertTrue(true); - fn() => ($test() > $test); - } - function test68b8165dfc44a257397daad5b5d83da819b9d24d579507af4b9aaa3bab90f536() - { - $this->assertTrue(true); - fn() => ($test == $test + $test); - } - function test6b6fc662c18b74db10a7464738da1ab0a2ac71c0c1ed8906114429c35915e1df() - { - $this->assertTrue(true); - fn() => ($test == ($test ^= $test)); - } - function test6e32c70d574763a06c055f0700201a703e71540421b34a901f0f8119979427bf() - { - $this->assertTrue(true); - fn() => ($test == ($test **= $test)); - } - function test6ef4afe05a59da6f43f7f38e1b052b9c85f311ec06c3debf9b3520ad43dfd13e() - { - $this->assertTrue(true); - fn() => ($test == $test >> $test); - } - function test7671b794ff69dd4ffb77086874f0e91896cffb2b696cc3390c3c8b562ae54b4d() - { - $this->assertTrue(true); - fn() => ($test == "{$test}"); - } - function test7b4bc215fd2d3bcefa1ec5c4b54ec196329ad6f50c25b3ddbe38868eac1b12bf() - { - $this->assertTrue(true); - fn() => ($test == ($test ??= $test)); - } - function test7cb9b4c58c6eab3cdf3fc47780fe34fa2a34f7dd6de07fadba373b8c94815b7d() - { - $this->assertTrue(true); - fn() => (`` > $test); - } - function test7d9e517402bbd15beebd4e357051e6fadf1b15cf62e39b4c5d3ea0b68dfc08ca() - { - $this->assertTrue(true); - fn() => ($test == ($test |= $test)); - } - function test7eb2dbabe8a82db7032c3b41b4251ec5c400815b5b792ad5ae7d7a923d1aeadd() - { - $this->assertTrue(true); - fn() => ($test == __FUNCTION__); - } - function test84d782b409497a8a14757399b8d0eafae10727fb73343132d5f3ffa19903ad39() - { - $this->assertTrue(true); - fn() => (--$test > $test); - } - function test88c3539a9ec3bf9e4c529be56a7ffb0d4f85217295e02167fadf3cbd6d65c7e5() - { - $this->assertTrue(true); - fn() => ($test-- > $test); - } - function test8a0d676bb3b2e2fae5f76c98f30fd8d25fd2672af4fa74904d8a8ca236a99d3e() - { - $this->assertTrue(true); - fn() => ($test == ($test <<= $test)); - } - function test8b3a64d8e6b9db43704a2c2f99b7d6b9e5ef2c51e5455e2ed907d7169e05ee74() - { - $this->assertTrue(true); - fn() => ($test->{$test}() > $test); - } - function test8f38d32160a740c70615ba9b6cdff00fed7bd6401f39d1200e386c3b1d744e24() - { - $this->assertTrue(true); - fn() => ($test == ($test xor $test)); - } - function test8f9528e2917c1df94edd41094963f47907fd6cb0c7c67b61cc0e307063b35c6b() - { - $this->assertTrue(true); - fn() => (empty($test) > $test); - } - function test967cd7ed1a2a45a1eae7a73f33adc26b6297dad80a4d763f36198b784cf6960f() - { - $this->assertTrue(true); - fn() => ($test == ($test | $test)); - } - function test9a8dc1fdf12e357da551a0c5397a05c45e5b57807c616c0f510716a04a6dce6d() - { - $this->assertTrue(true); - fn() => (($test =& $test) > $test); - } - function testa5c8f5cec939d4d7d8ec6da3f2000a49d55104403a22d4e8bb0d511696789c3a() - { - $this->assertTrue(true); - fn() => ($test == ($test == $test)); - } - function testa70dcb1e95bf8d109ab5edcdf8731afc2a9c7361ecd1856f8b8a433aa7ef8aa4() - { - $this->assertTrue(true); - fn() => (clone $test > $test); - } - function testacbc5b366ae17d7e96c4c9c01a0143e163936c6475f1787f8e73ac21144d1b42() - { - $this->assertTrue(true); - fn() => (!$test > $test); - } - function testaf541d88483171366c87881a96c99c080858ea9913a914bd964228c5ad6133ef() - { - $this->assertTrue(true); - fn() => (throw $test > $test); - } - function testaf8dc7b2bc0db8175a0d2fc4b5106edf65b5398ebeeb6ad0c6fd57223421eb4d() - { - $this->assertTrue(true); - fn() => ($test == +$test); - } - function testb19f6ceedfa8540bcac03d0d74789d3e621da17b9c7c7b1aa912f3fc1b7bdf07() - { - $this->assertTrue(true); - fn() => (++$test > $test); - } - function testb80f1d61d0493980188b04127dc7dae69583eaf1488191938a1ac047d6d722e6() - { - $this->assertTrue(true); - fn() => ($test == $test ** $test); - } - function testb92226a8791bce30742097f8aa7840e8c40688750de872adba22490b2335b321() - { - $this->assertTrue(true); - fn() => ($test == (object) $test); - } - function testbe1cf9a3294f1df61d542e63e117fc97bbebef82f891ada278385e6daab27831() - { - $this->assertTrue(true); - fn() => ($test == __TRAIT__); - } - function testbebe5311e2dd179347d77a58009c3aa72a3e123673502586f1a3aa1d9a30d556() - { - $this->assertTrue(true); - fn() => ($test == ($test &= $test)); - } - function testbf0d73513986c39c2df55b327a356d5b7f4d35f785cb801b0b46f6db528b7e1b() - { - $this->assertTrue(true); - fn() => ($test->{$test} > $test); - } - function testc010fca2b8c72d78dd32a054f0d2b386bcd8034230e65420d0137394c0046d02() - { - $this->assertTrue(true); - fn() => ($test == __LINE__); - } - function testc015d139c8be60578a23629fd001c819118c744be16acf3b31770c46b91f7886() - { - $this->assertTrue(true); - fn() => (function () { - } > $test); - } - function testc16792fe62194254426167d37f084b2cda028cd4af81ccb7ec2b09964c62f43a() - { - $this->assertTrue(true); - fn() => ($test::${$test} > $test); - } - function testc41531d0e2b7feec84ee5d888419352f7f0c60603c1187bac9bdb6f93b0eadac() - { - $this->assertTrue(true); - fn() => (self > $test); - } - function testc4fe367e3f2f3a92db4d965f0eb51100eaad2f6bb02e9ac08480e914ca25bfa6() - { - $this->assertTrue(true); - fn() => (+$test > $test); - } - function testc5742021aac1cce70dd469a5464d9f4ef8ac13a1b259e7279c5169087f523aac() - { - $this->assertTrue(true); - fn() => ($test == ${$test}); - } - function testca84ec56568aa856d0bfd072dce68b9f26446ec201477227d3e00667ce36573d() - { - $this->assertTrue(true); - fn() => ($test == (bool) $test); - } - function testcc0cdcd29ac2f5d0b90bbc2bb414321a29f8a3c34ca553f00af6d34d94c8a1ca() - { - $this->assertTrue(true); - fn() => (-$test > $test); - } - function testcc3509b43f86727d1b46a4f6c8c54da48fe17f266ce7df418fbeb083ddd03c51() - { - $this->assertTrue(true); - fn() => ((print $test) > $test); - } - function testd59e332cf0cb8d95f23e119c8a5166ea59dd05091423371c3d632a8077d7f387() - { - $this->assertTrue(true); - fn() => (@$test > $test); - } - function testd5a65ac5a58c29fdc88e06e291cc41db41de8e36ed80889b28b45b095768b00d() - { - $this->assertTrue(true); - fn() => ($test == ($test & $test)); - } - function testd5c12d9bbb388e064c1846eb1ee3fc04fa7336975a1b77e3aef0fe82f3c43f90() - { - $this->assertTrue(true); - fn() => ($test == ($test <=> $test)); - } - function testd7541ed275f2589dfb2a85a3807f9c7fa126fe38fdbfc72a5388992d7f3e74f7() - { - $this->assertTrue(true); - fn() => (($test = $test) > $test); - } - function testdc32a245d67d0ba46d3503fdd561d88a96f6037ee83adf0f4d0fdcf6a3be414e() - { - $this->assertTrue(true); - fn() => ($test == $test * $test); - } - function teste3ed5fd91259bf5d550f3eadc30aab859ef6a623ae7f3b39dbd9e36b936030ab() - { - $this->assertTrue(true); - fn() => ($test::$test > $test); - } - function teste5f3fb4b0c2cb333e3c2eef08d13c05e03e1d41ff0e854e5f8366bf1806971e6() - { - $this->assertTrue(true); - fn() => (( $test) > $test); - } - function teste99774e1cc79f75c4da0399f8dba011aeb44df9ebe0aab1d58a5bf725e2ee048() - { - $this->assertTrue(true); - fn() => ([] > $test); - } - function teste9caad45c185775a8df6cf6dc705640f1304782e3cf5e5a01dcabe44452e840d() - { - $this->assertTrue(true); - fn() => ($test == (yield from $test)); - } - function testea6a2c5b77d22f94fd4db6bc8b40fa91d16ef8ed5c9b26f706ed91b39021a6f5() - { - $this->assertTrue(true); - fn() => ($test::$test() > $test); - } - function testead8a96ebf92c436216ffc5df9cd98eb356fbf85332aad0d892ba02914ebaa08() - { - $this->assertTrue(true); - fn() => ($test == $test / $test); - } - function tested78658dba3637204dde5a2ed826665a7a6e9a99b02f4c6e4e1bfe2c89a31d14() - { - $this->assertTrue(true); - fn() => ($test == ($test ^ $test)); - } - function testedd057d053705999b73e71acc0960b29a88259d235247fbbfd50530fca18abaf() - { - $this->assertTrue(true); - fn() => ($test == ($test %= $test)); - } - function testee6c29c4015e48fc8781eb8001c6d684b098633df1e1f2ba35a66c64d6b1715f() - { - $this->assertTrue(true); - fn() => ($test == __CLASS__); - } - function testefcfd18c83e17335c363aad32f0ffcf886274b4fa05df3c27df2c7027a82040c() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) > $test); - } - function testf03d55e14f4189d2465817c8bcd80c650de5880f3e799578e6d8f4cb7b1e7b35() - { - $this->assertTrue(true); - fn() => ($test == ($test ?? $test)); - } - function testf11d8ef397069849ec7a32c856704a4cd4319d8deb2d8fb5709766985ab130a0() - { - $this->assertTrue(true); - fn() => ($test == $test - $test); - } - function testf4762ac90777cd1ab7ffbe7054e3f1d97e3b6aec5f301b8ac38b0573a3895d43() - { - $this->assertTrue(true); - fn() => (eval($test) > $test); - } - function testf7ba5d7b0ca6d7b35815bb52afdb4655720903b79215d88bbfebe10442a95827() - { - $this->assertTrue(true); - fn() => ($test == $test >= $test); - } - function testfc411b2c9fffcd1a824e8319a68c5680cef6c0749daf20f308d2ff056b5170d9() - { - $this->assertTrue(true); - fn() => ($test[$test] > $test); - } - function testfcb17f9ab3f3505788508ac1cf6952389446ce9523d459e34de45ee5c0e7f76a() - { - $this->assertTrue(true); - fn() => ($test == ($test and $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest.php b/testsGenerated/Target/Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest.php deleted file mode 100644 index 5b3244d89..000000000 --- a/testsGenerated/Target/Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest extends TestCase -{ - function test02e6c667d4ad4d1ab0d7a18b3ab58b827af85344fec5ecac0f868cd790b73c02() - { - $this->assertTrue(true); - fn() => ($test ^ ($test |= $test)); - } - function test0728c1f270a8b323eb1d41977d694e72a9001bea9e08374ee4f055e5db787d71() - { - $this->assertTrue(true); - fn() => ($test ^ ($test **= $test)); - } - function test0ce05330f664f13620c26ef4913bfec2cac61435b1bb3ffaa0f064fcb596d23e() - { - $this->assertTrue(true); - fn() => ($test ^ throw $test); - } - function test0cee29b28b78f388eb95ab1d3330d63b8956746998ca0ad0efd6100edf199434() - { - $this->assertTrue(true); - fn() => ($test ^ (bool) $test); - } - function test0d72cc5b03d4356e54c797203d494031a5ada0f5cea247cf5de0499401d80651() - { - $this->assertTrue(true); - fn() => ($test ^ ($test *= $test)); - } - function test0e72bd2f64da29b0a52781366308df8c9a3616e48c43830072f4505a1c4f4179() - { - $this->assertTrue(true); - fn() => ($test ^ ($test .= $test)); - } - function test10b827a667e7f2c35738a40c283d6fa78dca453947d276afc9662858a2a912a6() - { - $this->assertTrue(true); - fn() => ($test ^ $test()); - } - function test134edbf73cf6014c685ccdf54ea1246c3161e067eb14ccb241d4b22d99128c0c() - { - $this->assertTrue(true); - fn() => ($test ^ self); - } - function test15ac3acbf19b1d5a1beb61054296eb258952fe007cfd1679a2c132bfc5f99f08() - { - $this->assertTrue(true); - fn() => ($test ^ clone $test); - } - function test19cfabc103f7013053cd65b407b0f4e9e40a5618e7983813b6c38fc21a4c6c02() - { - $this->assertTrue(true); - fn() => ($test ^ ($test /= $test)); - } - function test1a08490c667f141bbb363a1ccc27c83805cc770158cf897192bf17724b814e3b() - { - $this->assertTrue(true); - fn() => ($test ^ ++$test); - } - function test1a6203f1add37236ea39e6a75764485ac554d41f088c78403612d93015947212() - { - $this->assertTrue(true); - fn() => ($test ^ $test < $test); - } - function test1b29adf00ca4a0113042c2fc131146b42f9d6fbfd1f94c0c0627ea3903680334() - { - $this->assertTrue(true); - fn() => ($test ^ $test++); - } - function test1c16653df9e1b28a19afa7f1df11b07bae1b7060db2d524f119cda195da6bf36() - { - $this->assertTrue(true); - fn() => ($test ^ ($test or $test)); - } - function test1e86033dd5c74dd41d5cb3908a8e138dd99abf15ca1570eae4188423c21dc93b() - { - $this->assertTrue(true); - fn() => ($test ^ ($test %= $test)); - } - function test1e89c004666eb63790641dbf38c39925b9a7f1a16576c85c500b9dcaa5580957() - { - $this->assertTrue(true); - fn() => ($test ^ ($test || $test)); - } - function test20547f167cfc3e14f75f6b925ecba60241b99f8e126c2967415be949fea1da60() - { - $this->assertTrue(true); - fn() => ($test ^ $test::$test); - } - function test214cf0f73fc0462fef872a2a21b698e16d2f24eb7b9fc1281ef7d2007d54d8e5() - { - $this->assertTrue(true); - fn() => ($test ^ ($test ^ $test)); - } - function test2344b281904440e10cad0324c64f6942123bd9c91c229234edcd2b6c3637719e() - { - $this->assertTrue(true); - fn() => ($test ^ ($test = $test)); - } - function test254c33667282dde66f47695742736523ec570a9ab588013b4ca516f9f2f81f86() - { - $this->assertTrue(true); - fn() => ($test ^ __DIR__); - } - function test2704ecd00802e891ea0a5ec9e947e278982f9190e1d31691415658c6fb74be50() - { - $this->assertTrue(true); - fn() => ($test ^ ($test | $test)); - } - function test272f7b1b5747acf135a13485e4fa3fd3505186d854f0ca4a6a71dd42a878111b() - { - $this->assertTrue(true); - fn() => ($test ^ $test . $test); - } - function test2b49d495932fe296e4bedf62c4087057c4853b7ab7db752c44a76f39f9b7d692() - { - $this->assertTrue(true); - fn() => ($test ^ !$test); - } - function test2cc00a6dbc71fe10aefa23ca23af7ca1e5bed76739fcdcea231311dda6803731() - { - $this->assertTrue(true); - fn() => ($test ^ $test <=> $test); - } - function test2e5a8d5b17fc5cee781cfdba8e8dffa0cbdfe80334ede69a6c31e6a8fd624ac0() - { - $this->assertTrue(true); - fn() => ($test ^ (print $test)); - } - function test2f7358970ea3a94a865b58bc4917a8af8990daecb1ce881a8ef7e2c0ad92d658() - { - $this->assertTrue(true); - fn() => ($test ^ $test::${$test}); - } - function test3346f2d6082fb4a2aeda1d2741214f78fadf3b3fde57763b4461b3e00a29035f() - { - $this->assertTrue(true); - fn() => ($test ^ $test - $test); - } - function test37c418a4c0caf953812f82c92b03037113b8ace658e388add0feb1976f17c2e5() - { - $this->assertTrue(true); - fn() => ($test ^ 'test'); - } - function test3e3b4352b50be0e8001a7c64a53e9b8aac84b473ec3c516a5ec860d2984fc7c2() - { - $this->assertTrue(true); - fn() => ($test ^ ($test -= $test)); - } - function test3e3e06b48b2ac2077ce97b15c35d0e4607f1df833dd101a921a5e143beef1263() - { - $this->assertTrue(true); - fn() => ($test ^ $test?->{$test}); - } - function test41d951452a44e3c56f48a3839be38df8e2ff8209e1f425013ce22a5ffa2a6b90() - { - $this->assertTrue(true); - fn() => ($test ^ (string) $test); - } - function test46b19ceaf107dbfe83a2dda675bcedbc0695a412deb604c5dd4ba278149c395a() - { - $this->assertTrue(true); - fn() => ($test ^ ( $test)); - } - function test47fcaa011f3bc6b3d2c36109df0fce39a193b0cef3a5db61d035178e641fa224() - { - $this->assertTrue(true); - fn() => ($test ^ ($test =& $test)); - } - function test49dc3a5a429dab0710a1ba3f4f2f05b001a21fd948e6218d2bdca38e6de207a4() - { - $this->assertTrue(true); - fn() => ($test ^ $test >> $test); - } - function test508b61ade7c461d929bd81380f4beb5a858c9950c4d656e7c84f29b7bcb6ecd1() - { - $this->assertTrue(true); - fn() => ($test ^ ($test ?? $test)); - } - function test545e63f08b2d93d2f06adfa1721963ac68e1c136613733447d44d82648a4948b() - { - $this->assertTrue(true); - fn() => ($test ^ $test instanceof $test); - } - function test55d64f150d60f7ebd4674cc7ef28a78d6fd519e438c27acd3b896d16eef43f97() - { - $this->assertTrue(true); - fn() => ($test ^ ($test ^= $test)); - } - function test5e2c052e4ea9aa31d6e548b53576f6980622a3ed92e1ab3befe160ae24d7b733() - { - $this->assertTrue(true); - fn() => ($test ^ $test >= $test); - } - function test5f4eee826543f9da1a303c26d5d830f9da484134cfa67806b8b6a9d4b990fc25() - { - $this->assertTrue(true); - fn() => ($test ^ $test::$test()); - } - function test6426c723e95ff086453360599e709f3fa4b0c9afca3b1d9a34b1cbfaa73cc145() - { - $this->assertTrue(true); - fn() => ($test ^ __NAMESPACE__); - } - function test653e41ee99ca93390c8fea94d49d399ab9f4952d4b3d9eac1f2c6d6439ca9743() - { - $this->assertTrue(true); - fn() => ($test ^ match ($test) { - }); - } - function test65a6fb673305e26597ac7fb4b44f397c3d81acef456c543dc96c3f09c2c1ab41() - { - $this->assertTrue(true); - fn() => ($test ^ empty($test)); - } - function test69db701c1b79cc618a30d1ef024ab7c8f3111ee5c7cd35a46cc4f25fa5bca19c() - { - $this->assertTrue(true); - fn() => ($test ^ (object) $test); - } - function test6e7907cdb214d2948870ab5d423337b52a714575970c451cb890ce217cc08e6a() - { - $this->assertTrue(true); - fn() => ($test ^ ($test ? $test : $test)); - } - function test6edd27041294fc0cf7dd5096a5de0b366f9f55ef7dd57906ffdaa966019af006() - { - $this->assertTrue(true); - fn() => ($test ^ ($test <<= $test)); - } - function test716dca89a2fd2c77af2a2c768cf889a7837d4898a846564bff362cd829daffa5() - { - $this->assertTrue(true); - fn() => ($test ^ eval($test)); - } - function test71f61294de44af09a8c5f86f7a0a67b24ef3120aac2daeb32e9fdee4c02bada8() - { - $this->assertTrue(true); - fn() => ($test ^ __FILE__); - } - function test73b73908efd758312ece5b8ae683ca6dab49ac4c634bceff51c09db8e8b4e310() - { - $this->assertTrue(true); - fn() => ($test ^ -$test); - } - function test7db4ff3651bf508b60618cc6812aa2fdfe263fb29807820461344209262a1d67() - { - $this->assertTrue(true); - fn() => ($test ^ $test == $test); - } - function test7e519b31873c2cbb22b3c9739d12d9ff4cb985dee313294c23a5bf3254e45e4c() - { - $this->assertTrue(true); - fn() => ($test ^ $test !== $test); - } - function test7ecce9a02e5d4c846e91a4555a2a734699eaea8502d893a6debf32a42a2eeef4() - { - $this->assertTrue(true); - fn() => ($test ^ $test[$test]); - } - function test7f9bf5895a1e021ee51edd189f9c50048855282c8ac10aaee9e6cd6502017d85() - { - $this->assertTrue(true); - fn() => ($test ^ (yield $test => $test)); - } - function test85e917cecbb6ca826586285c0069a160e0cd43548f7c2d1f61a89be715749985() - { - $this->assertTrue(true); - fn() => ($test ^ --$test); - } - function test8644c64cd421f4d8ffcd3cf0858ca8d7ae984e8011ebeb6420f4b2c2a79cdb2d() - { - $this->assertTrue(true); - fn() => ($test ^ ($test >>= $test)); - } - function test877b88292231d4cd729e3727256db0d3fd98a179e11fff63dcab796f38e76ad9() - { - $this->assertTrue(true); - fn() => ($test ^ ($test &= $test)); - } - function test89e06c7c4ab808125dbe90d0b276630461b5767961abe6cd4f425ba57b2c5dae() - { - $this->assertTrue(true); - fn() => ($test ^ __TRAIT__); - } - function test8a11360a5e9010bbf329cfbcd8240ae5f5d74dff29e59352b121c8887fb6abb7() - { - $this->assertTrue(true); - fn() => ($test ^ $test); - } - function test8c8e4a0cd00972603e415755837aa18f22d23fdf20c211f6860b801aba2f70e1() - { - $this->assertTrue(true); - fn() => ($test ^ __CLASS__); - } - function test9455e0d9cd701abc03fc25cccf0f36bcb351a9e4ee9849ae1377207f608ef956() - { - $this->assertTrue(true); - fn() => ($test ^ (array) $test); - } - function test96252d11e0ff279f9a551f457f40a926c632b663a36788815fc4082f4c1b3144() - { - $this->assertTrue(true); - fn() => ($test ^ function () { - }); - } - function test99e582e7d6298d078e370fe53e6443feed0552683a226278310831dd1b2712a4() - { - $this->assertTrue(true); - fn() => ($test ^ 0.0); - } - function test9b8feb2a99491d87cc91aaea0a6747179cce7eb9c7fe063f25d1f483545d7d41() - { - $this->assertTrue(true); - fn() => ($test ^ $test->{$test}()); - } - function testa45d1c50780fbcdb4e3fd1e79dbbf0176d2d1b12b59d73846843abe70eaaf14f() - { - $this->assertTrue(true); - fn() => ($test ^ $test != $test); - } - function testa47b90a4afd577dd737c863c7620de366f945d70ecd395d1de0d79c170d445b3() - { - $this->assertTrue(true); - fn() => ($test ^ $test->{$test}); - } - function testa8af8a2765d1bd6095b659a07b48bbac7e94d3add00b0c15bb97526746276745() - { - $this->assertTrue(true); - fn() => ($test ^ $test ** $test); - } - function testa8b439f0ba8d78ff2d01e6783b7b620cbb92100d5296bc9f73626b3bedb1a3c9() - { - $this->assertTrue(true); - fn() => ($test ^ $test?->{$test}()); - } - function testa8b680194258503b1dcdef09aaa09d82d58be1a89cb1591e5c2e6a8c65dce742() - { - $this->assertTrue(true); - fn() => ($test ^ "{$test}"); - } - function testa91edcfb474e77a7182e28218c7211f460e3f69a375a0b3ccd039bcfdc20030b() - { - $this->assertTrue(true); - fn() => ($test ^ (double) $test); - } - function testaae71ceaacf5d14c751416f8ffc630d489999fe16cfd89f31f60717b7c4dca7a() - { - $this->assertTrue(true); - fn() => ($test ^ $test + $test); - } - function testabcdff29e380c5da53037a92ed990a353696be8a872e1ca8db360cea5b339f53() - { - $this->assertTrue(true); - fn() => ($test ^ ($test and $test)); - } - function testaec51dd6fbed0650195de6460a314bf4660a4154ae66ee60bf94fb5fdb49991d() - { - $this->assertTrue(true); - fn() => ($test ^ $test % $test); - } - function testb41bc82205512fa334c2b54f68bf620283e7e4001f888f0f52afb23d4474435f() - { - $this->assertTrue(true); - fn() => ($test ^ $test === $test); - } - function testb6481b666cccdd5ab5db24a1fc194650340a514a5bfba319fade8a298544ae56() - { - $this->assertTrue(true); - fn() => ($test ^ +$test); - } - function testb76a9f15783ffed560b531773a210ba096c4d602697a05d530147f982a252606() - { - $this->assertTrue(true); - fn() => ($test ^ $test << $test); - } - function testba999fb3ed9bb16d8fcf73100a5b16e254eadd210af74ef9522c0d88cdeb9fd0() - { - $this->assertTrue(true); - fn() => ($test ^ ``); - } - function testc44372f4ae751f3fdf96fc4b5bfce510c4ad5666134f60c3e84150201d4bc4fc() - { - $this->assertTrue(true); - fn() => ($test ^ ${$test}); - } - function testc4c7e19e714c9b1bf7931b1d0aa5b408d50106f051c2b08ca216b2cd90a7fabd() - { - $this->assertTrue(true); - fn() => ($test ^ (yield from $test)); - } - function testc5ee9dcd4877d477d96924b622289c18d044b9a28ba3adbd6a70e903ad6cc0fb() - { - $this->assertTrue(true); - fn() => ($test ^ (int) $test); - } - function testc864319251298e1c1b1c5de597e52793e885461df76186d739ff4a5bb580bd84() - { - $this->assertTrue(true); - fn() => ($test ^ @$test); - } - function testcab252863f5ef569f2c761eb45a739b090cb813975282fe93e4d3fbbf38bb9f5() - { - $this->assertTrue(true); - fn() => ($test ^ 0); - } - function testcac6ae9fcccbe3dcfdafd3ccdc6a891f40f13bb3ea05c0378adee204555b4a25() - { - $this->assertTrue(true); - fn() => ($test ^ ~$test); - } - function testcb42e19ee357fc896cb96fc014e46be7746bc0770de98ac14e4c37b3372e492d() - { - $this->assertTrue(true); - fn() => ($test ^ __LINE__); - } - function testd06fbd69f86ae859828c6dbd064770c6d1fae3c857961daa3bc54c48fbc66ad5() - { - $this->assertTrue(true); - fn() => ($test ^ ($test += $test)); - } - function testd355696602b3e2dfb9f44e93d75ccd8a81b9290debb980cc305dfd4d0cca65e7() - { - $this->assertTrue(true); - fn() => ($test ^ $test & $test); - } - function testdf39c68fddf938abe3f5fbfc22c546d01bc0d2438a8faec85283df4b7c5fe472() - { - $this->assertTrue(true); - fn() => ($test ^ []); - } - function teste726aaedb799e4af757556e6c502f2455670e03230d481ed68dc367ad19cdf4e() - { - $this->assertTrue(true); - fn() => ($test[$test] && $test); - } - function teste82959eeb5fdcbeb2751408c2ee0117defa8221ce664cdd5e40df97000328342() - { - $this->assertTrue(true); - fn() => ($test ^ $test > $test); - } - function testea57f9f3836cdecd14b53c03c4daa953d8bb8a274c57df59159d176fe560363e() - { - $this->assertTrue(true); - fn() => ($test ^ ($test xor $test)); - } - function testedda29454503c574cc217b7b1b2b35bba0d02cf14089ef27438db2ff4a5e78a7() - { - $this->assertTrue(true); - fn() => ($test ^ new $test()); - } - function testee24ceadb047c6084015c474ce33f39251042c402cfdb0b95a987a3889cd4c74() - { - $this->assertTrue(true); - fn() => ($test ^ $test <= $test); - } - function testf2bc690b263683440bf71b677b3ed63be854e7e003bc309a5f37f485d955cea3() - { - $this->assertTrue(true); - fn() => ($test ^ __METHOD__); - } - function testf423e8889b7ec77c151ab4287db86f2368465ac1baf8cd583b4baa22d2c11884() - { - $this->assertTrue(true); - fn() => ([] && $test); - } - function testf4ea2e129a7bddd00620df6d818d78e654589732f88886cc6a296b95af8aed1a() - { - $this->assertTrue(true); - fn() => ($test ^ $test--); - } - function testf52e56fc67b3cbe2ecbd47d3a4320ec4c299317bdd52265234dcb3eaa075dc61() - { - $this->assertTrue(true); - fn() => ($test ^ __FUNCTION__); - } - function testf838616d670d9075d95f5959e2c107fa32adc046dc41421a87521a04bffe3c11() - { - $this->assertTrue(true); - fn() => (__TRAIT__ ^ $test); - } - function testf858f61e9a4849e65b03a65940a169bb8b61de5211ad58412422f102045dbcfb() - { - $this->assertTrue(true); - fn() => ($test ^ ($test && $test)); - } - function testf9239c2667edb67e3f3c9041eac38f0ea4cf4abd8b498ae076bf985028a96533() - { - $this->assertTrue(true); - fn() => ($test ^ ($test ??= $test)); - } - function testfa3740bcccadc07be596e1a540d0fcb5ded775444bd7912e7094486f23c306ce() - { - $this->assertTrue(true); - fn() => ($test ^ $test * $test); - } - function testfc4da680b3b790c8be9f001136bb21c836983c9c712708397ffb15860bb20326() - { - $this->assertTrue(true); - fn() => ($test ^ $test / $test); - } - function testfce88c93606deb28db3178d944b3c4c718c2374c60adda29b712e1390b37b630() - { - $this->assertTrue(true); - fn() => ($test ^ isset($test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test.php b/testsGenerated/Target/Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test.php deleted file mode 100644 index 9c814e292..000000000 --- a/testsGenerated/Target/Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test extends TestCase -{ - function test04d19329d1f3712c664cc699296af00730746d0ba05602b160d1d428c732f29f() - { - $this->assertTrue(true); - fn() => (__METHOD__ | $test); - } - function test0600a186eac8740a86f313b7db3cb8222bcc3026d1e57a811b0688c2d40a0f3f() - { - $this->assertTrue(true); - fn() => ($test | 'test'); - } - function test075b37f8e9a8b762bba331ecb317db3a07b7baff7c9ebede1308010fc38f5418() - { - $this->assertTrue(true); - fn() => ($test | "{$test}"); - } - function test07d14937f8c43ee17c6c08e390cf52ba60fead3053ba94b9ad9c4817e1df7bf3() - { - $this->assertTrue(true); - fn() => ($test | ($test && $test)); - } - function test07d8badcb2a9f7769c693694ec6489e69d5ca147d437ddd0dad86df1c7b993f9() - { - $this->assertTrue(true); - fn() => ($test | ($test &= $test)); - } - function test0871a0e0cb495216c2c6a55e02ca6011a53cdad8e50689cae07ed8de848526a2() - { - $this->assertTrue(true); - fn() => (__TRAIT__ | $test); - } - function test090f4cb5685fda17ae2f126c9c165eb1fde14f46f5c2afad2e19931e18a25557() - { - $this->assertTrue(true); - fn() => ($test | isset($test)); - } - function test099a787418e5120da8d6473e666b86ec36c86413f3a2adc2ae776cd312a69d7d() - { - $this->assertTrue(true); - fn() => ($test | $test <=> $test); - } - function test0bbdafd8b2eb638ab61a305e18c4610c4577f9c474776a357c13ced7f2911070() - { - $this->assertTrue(true); - fn() => ($test | function () { - }); - } - function test0e75e09bce736ec112f2c2738ce8faf967ce0c748d3c3a4354c265ef6cf0bec6() - { - $this->assertTrue(true); - fn() => ($test | ($test >>= $test)); - } - function test121f0c67329cd5ae3782e39c276853b966e0246c6349095ce850acf9c2bf65f1() - { - $this->assertTrue(true); - fn() => ($test | $test . $test); - } - function test15faec3e8e3b7ea03eab5e451befe4add7dff1bfdcb12a0087f6941d1a50606f() - { - $this->assertTrue(true); - fn() => ($test | ``); - } - function test18cac1e38b4549b17d35f48ca3d8cffd44b613bc62101035ae07039c2eb9ca15() - { - $this->assertTrue(true); - fn() => ($test | ~$test); - } - function test1a0722296a15ffda047368d708f4d017b86da889b26782039b7258180986f018() - { - $this->assertTrue(true); - fn() => ($test | ($test **= $test)); - } - function test1d83f59bfdbf897102ef7cdb5d223b25a82c2339fd07d511894394214bfb7d5a() - { - $this->assertTrue(true); - fn() => ($test | throw $test); - } - function test1eab9b8425ee17147959b0bba9493fb98287ba8a38cceba9c7079547c8ce913b() - { - $this->assertTrue(true); - fn() => ($test | $test); - } - function test200708c848303848ec1188f3bd2dd9c81cd0a760a18166e13a8fcdb84ad7f8ea() - { - $this->assertTrue(true); - fn() => ($test | (array) $test); - } - function test2045dfab5969e15f0147dd770799bbe49499b68d0c87706c25f83083347c88fd() - { - $this->assertTrue(true); - fn() => ($test | !$test); - } - function test20cc5511046426f0370faa71ce759e830eb1860d529611498730f58719c5e52d() - { - $this->assertTrue(true); - fn() => ($test | 0.0); - } - function test210d4cbcc246c7e2d0988dec64562c83e7facbca07fc5582e4309907b69a6d8a() - { - $this->assertTrue(true); - fn() => ($test | $test > $test); - } - function test22052d6a2c35aa396fd245b030cd95f4d2a9d4fdfd9c0bd5864830159c4076b3() - { - $this->assertTrue(true); - fn() => ($test | ($test and $test)); - } - function test222d95ea633b4a6384ed981fd0dac336f94e8b5ee7828840fcbf5aad31b60c1e() - { - $this->assertTrue(true); - fn() => ($test | ${$test}); - } - function test2809c5998da64521240d15cdc3cd7cf26fac55e8be72888098ae1ebf973ed781() - { - $this->assertTrue(true); - fn() => ($test | match ($test) { - }); - } - function test28746573caa60b6be605313b80191490a96fa1ae1aa3cfe71657492e980543b7() - { - $this->assertTrue(true); - fn() => ($test | $test === $test); - } - function test28b94f7c381cadc31192d815936175ad7204d2203a6873a4e889faf914fe2ae2() - { - $this->assertTrue(true); - fn() => ($test | $test?->{$test}); - } - function test2a878e1197d9667bca4691cfa64b00e331c51a43eda9ed40605caa91bfa10410() - { - $this->assertTrue(true); - fn() => ($test | $test << $test); - } - function test2af1f73a0cd30e391769a36d716758c10a05b819ce1e77ca3e4a2b645b62fa12() - { - $this->assertTrue(true); - fn() => ($test | ($test .= $test)); - } - function test32ad2b40a7519b0ac7833439e36728c92098632457ecb286737960f13daadf8a() - { - $this->assertTrue(true); - fn() => ($test | $test::${$test}); - } - function test33147be5b7e9a829d2f136a98953f709975d9fbb157507e3bd4c7d0343bd3ba3() - { - $this->assertTrue(true); - fn() => ($test | +$test); - } - function test3431b08e0276d6a199e5de6bd480ecd04c198fe53eaa1812e8f7be16b054ea06() - { - $this->assertTrue(true); - fn() => ($test | ($test = $test)); - } - function test356620e58397efd9fb0307125c1219577b2d259c754f0952078ea349f8a9529f() - { - $this->assertTrue(true); - fn() => (__DIR__ | $test); - } - function test359458410a6af207e1d4b263cba251d80b59c18b66cc2af95faa093eab2f8ee5() - { - $this->assertTrue(true); - fn() => ($test | $test--); - } - function test394d07358e5ba4b162185bf3aaca4737bec49151add32f3b3bced0b21b77602c() - { - $this->assertTrue(true); - fn() => ($test | $test?->{$test}()); - } - function test39d0bfaa368ee2b74b7966bc5adb9a1cd523b445de5b9d9714ae61311a28302b() - { - $this->assertTrue(true); - fn() => ($test | []); - } - function test3c9b97d8eaf0f391d8e49d51c548048434ae9fa95af611e0a8ec4b9ae65c6bfb() - { - $this->assertTrue(true); - fn() => ($test | ++$test); - } - function test3e8e0cebb9cc19af3e350fc73e6e13735ea4b995c1475cd6b9ffcf0732764cc2() - { - $this->assertTrue(true); - fn() => ($test | ($test ^= $test)); - } - function test3f753952f30ea1b177289714897b4f63958025ec17281bb344100dab599fbfd5() - { - $this->assertTrue(true); - fn() => ($test | $test & $test); - } - function test40a50411bce721a605828471a96b957375412390e5f16f0903e563e14f5fa2cf() - { - $this->assertTrue(true); - fn() => ($test | self); - } - function test42a3a951576d5c51e8a8d9c1f9682d982ec39d03d9e29051705bfd17808253c2() - { - $this->assertTrue(true); - fn() => ($test | ($test xor $test)); - } - function test459a37fd6e2275c4251c0b368e37bc2cb4cb40bcc903ef1da9065d18e341fceb() - { - $this->assertTrue(true); - fn() => ($test | (yield from $test)); - } - function test4dc8ebac702fd7f4b322265187817d74a50906a298d9fd76af82b7dcb13755e8() - { - $this->assertTrue(true); - fn() => ($test | --$test); - } - function test4e229036ea495f5f9b63a845400b12e931f5c2077830d0ada4b965065d0e730b() - { - $this->assertTrue(true); - fn() => ($test | new $test()); - } - function test5081e39c9cbba186f06b828ab0d3a1cfaebbc6d3cdb9b387812813c757a9c5f8() - { - $this->assertTrue(true); - fn() => ($test | $test != $test); - } - function test5353980d37b3fafc64f838b654b0a177a482968846e8670b248e1280aa62a35e() - { - $this->assertTrue(true); - fn() => ($test | eval($test)); - } - function test57bf79d485290e43c15f707376d681037d92fc85371777717829a63b29c0e959() - { - $this->assertTrue(true); - fn() => ($test | ($test or $test)); - } - function test59f9fb72920b73abc6d9ecf54cfeec9140eae6e1d98c66534cf01ed7ede9173a() - { - $this->assertTrue(true); - fn() => ($test | ($test ?? $test)); - } - function test5b48f6adede45d566c60efe3c6042672f53f694e8f89b6b4c0930160d7273113() - { - $this->assertTrue(true); - fn() => ($test | ($test -= $test)); - } - function test5b597825b9253e2678ed5cff3b3064dcb80dfef8d08115836b89ac474627fdcd() - { - $this->assertTrue(true); - fn() => ($test | $test instanceof $test); - } - function test5cadf7ee7b61b48d8b380fc22f222f21cb8791cff1310f8e331ba4e837663c47() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ | $test); - } - function test5f7f8dcd5f47d2bb97d439e31dcd8a4b2b447aa03f561b778f16ba0cbcab0952() - { - $this->assertTrue(true); - fn() => ($test | $test + $test); - } - function test606072c70eaaa21f4398bc75936ce5e5d5aa5ce329bd66e84ad05fd0d4ef329e() - { - $this->assertTrue(true); - fn() => ($test | $test - $test); - } - function test609d71d36c18a399c570bf951eaa2b02c6b9f6ea7ca9ac09052aebce007a91e4() - { - $this->assertTrue(true); - fn() => ($test | ($test || $test)); - } - function test611d2fcde6ab6e1ea3eb78be5caa9be2a6111d2b1566b2359bada62f7c2a9ca7() - { - $this->assertTrue(true); - fn() => ($test | __FUNCTION__); - } - function test698199163052fce703c65d4111e624ae20434f3fbebb1113800417644d6555d5() - { - $this->assertTrue(true); - fn() => ($test | empty($test)); - } - function test70289328e845cf8e174237516f22839c508f49fe7ce41213365c3640e607b9b6() - { - $this->assertTrue(true); - fn() => ($test | $test[$test]); - } - function test72070e1a3c56ca624c4d58593c70cce1ec5a6d298823c9a7ed33fddec90e0daf() - { - $this->assertTrue(true); - fn() => ($test | __DIR__); - } - function test73405704c4572f80a4eeb10551f7021349b84e7f87453a6645be49bd7d964e0b() - { - $this->assertTrue(true); - fn() => ($test | ($test | $test)); - } - function test7bf25b1829cdd5761e8a7902c791de73cb4e90e8a295b76de70e6efa738ea5fd() - { - $this->assertTrue(true); - fn() => ($test | $test * $test); - } - function test7ee160e4783c279be2f445351346b47b384bacb8516693ca510dc59599c8d994() - { - $this->assertTrue(true); - fn() => ($test | __FILE__); - } - function test7eeca6a9d2e2b8640a2cdd07980c4e424c5ca0a43b5a62644a72090ce5d38293() - { - $this->assertTrue(true); - fn() => ($test | ($test =& $test)); - } - function test82b3bbacdc3334150ec6b81c752906d65c215c8444b3a76ba1b5ae634fb2e3bc() - { - $this->assertTrue(true); - fn() => ($test | (bool) $test); - } - function test8569dc9d86ea89fb08e613e152fa712061aba56e9cc1e04b4e5aa6b4c539f358() - { - $this->assertTrue(true); - fn() => ($test | (print $test)); - } - function test8627941a6c67e431fdf640c4a150a25150810a6291400dd004906781989868aa() - { - $this->assertTrue(true); - fn() => ($test | $test->{$test}()); - } - function test8995c6a6098b7e88cd010d46346fc331e970894319ab440ffc6e76c5edba50be() - { - $this->assertTrue(true); - fn() => ($test | $test ** $test); - } - function test8e36462ed8b6bb0597fc3db2c7df5f0b4b7eae39ec6dffcffa3d4cdc4ffe09a1() - { - $this->assertTrue(true); - fn() => ($test | $test % $test); - } - function test902541b4b9622527946f7841dca95da220aa31cbd689b691f2ed7a9fab3a0bec() - { - $this->assertTrue(true); - fn() => ($test | ($test ? $test : $test)); - } - function test916ed0d979d1d44f9c1c0ebe2cb166ccfcf5e0572ded2f394dfd533655abdf5c() - { - $this->assertTrue(true); - fn() => ($test | __CLASS__); - } - function test947669ee4dd7bd53facb342c6f6e1fad96c1b48a465748210ada19c998d0503d() - { - $this->assertTrue(true); - fn() => ($test | (string) $test); - } - function test9a9a3031b150f4dc562101c076448041b9d34c2fc70e962d1997221754853dfc() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ | $test); - } - function test9b3e2aa089993d0898ebf32fc640fcc585121fb917e065d9d89b47978ca38a85() - { - $this->assertTrue(true); - fn() => ($test | ($test %= $test)); - } - function testa084866ac622b19cb18ddf5bd754be8f2fd55279d1b45ac97a9ba32326bfab53() - { - $this->assertTrue(true); - fn() => ($test | ($test /= $test)); - } - function testa4ea0030f0a3219647f0768b6788bdbec56482961d4d375e4a4dc9487f048357() - { - $this->assertTrue(true); - fn() => ($test | ($test ??= $test)); - } - function testae2c71dbde2858059b06cc625a26e9c6d2b9d5c996adbd5244219107076c4ff7() - { - $this->assertTrue(true); - fn() => ($test | ( $test)); - } - function testbb2b8745edd2bb1864106ac4972624e5547c1abaacd582f9fb7c33c23f225b5a() - { - $this->assertTrue(true); - fn() => (__LINE__ | $test); - } - function testbc1fc23519bd76822cf6fb1e60744766f6fc4baedd419556b5158f5017a09e92() - { - $this->assertTrue(true); - fn() => ($test | $test++); - } - function testbcc727b66570cbc8f22904d405081ac6c6759a0a6c1ee3a128638e470bcdd3bb() - { - $this->assertTrue(true); - fn() => ($test | $test()); - } - function testbd684fe88622a7c5c28e4feec724dfb5ac5b3843a095aa65c7e5d88d1bdb5749() - { - $this->assertTrue(true); - fn() => ($test | $test < $test); - } - function testbf03e048d6ca5bae90f2d7b4e305589e6ffb352eb89f5562948bf56d78d341cc() - { - $this->assertTrue(true); - fn() => (__FILE__ | $test); - } - function testc59711d1b46e9661334e5a55bda88c1fbd40da51122a6700bfb3a6b93725c58a() - { - $this->assertTrue(true); - fn() => ($test | ($test <<= $test)); - } - function testc69273156dc15a77e4144bf56a9e71e705bb67869c01ccd53c379f646e0b0b9f() - { - $this->assertTrue(true); - fn() => ($test | ($test *= $test)); - } - function testc80cdbd685e410e8b0673bd6265cbac3df922ee7ac67359cdc0291eb23c38e3a() - { - $this->assertTrue(true); - fn() => ($test | (int) $test); - } - function testc8baaa6ad0c91a4a42ee68b1712101bd28695520fce6f526ef467bd5455bcbc4() - { - $this->assertTrue(true); - fn() => ($test | $test->{$test}); - } - function testcdee5d7783f6b380a573f6f74e6b4b7a8338f016c039a3f59bad60c3d6238250() - { - $this->assertTrue(true); - fn() => ($test | $test >> $test); - } - function testd17edb7da030eca604cdd191d29ccd2531c068c15bd5c55663db4baff0f4d87f() - { - $this->assertTrue(true); - fn() => ($test | $test !== $test); - } - function testdc4522ccb40d3551ceb13993da00fad6bc3b73d303bae4856bd260888ee8ebce() - { - $this->assertTrue(true); - fn() => ($test | clone $test); - } - function teste1992d332621c69ce1a5af7c5d682c5b7b0e4d11b6609ef4823a8fb343429ff8() - { - $this->assertTrue(true); - fn() => ($test | -$test); - } - function teste2604abf8171407dc26f444b27be20fe3bf0756b936bf6bfcba9e2ffde8d9adb() - { - $this->assertTrue(true); - fn() => ($test | ($test += $test)); - } - function teste691432c4d57f1dd582adcd8f331345cdbf841078770bb7951c077698dd44cd8() - { - $this->assertTrue(true); - fn() => ($test | $test / $test); - } - function teste74b0877d498833fb3dbfbc29d2fee1e9942e79c975bbd54bda4426967f99d4b() - { - $this->assertTrue(true); - fn() => ($test | $test >= $test); - } - function teste7593f2fb3d8fe88269969b27239426d095dc98e09677b70096e029018662acb() - { - $this->assertTrue(true); - fn() => ($test | (double) $test); - } - function testeb0539f19cac4fbd8bb21fed7029ad7f9f1f5228cc7c8c8d2edcf26aa37b6fad() - { - $this->assertTrue(true); - fn() => ($test | (object) $test); - } - function testec3d4c73b54d465b2b0b34045a2e49a6a5ca62194c91b5116263083e287b69bb() - { - $this->assertTrue(true); - fn() => ($test | (yield $test => $test)); - } - function testec80a7789f6da6a00c55b4850a85ffd1279afabf83de91a93ed01334d5cc9c40() - { - $this->assertTrue(true); - fn() => ($test | ($test |= $test)); - } - function testee7e3194dd55fcb878791f305811c332bcbcd03025f1fad6ee1492b0e1d1c202() - { - $this->assertTrue(true); - fn() => ($test | @$test); - } - function testf423432942b72d2fafcb756d8b86dd1649a7acf4ea26329a1885b8aaf93bcc1d() - { - $this->assertTrue(true); - fn() => ($test | 0); - } - function testf629af319387621ef9e88f81d0c7ca2861e711f057078e71cc7091a5439c6861() - { - $this->assertTrue(true); - fn() => ($test | $test::$test); - } - function testfa4618e6592d1eb8d925672d6aec601a03f673e167067b9804bb93924f5156f5() - { - $this->assertTrue(true); - fn() => ($test | $test::$test()); - } - function testfbda66f83c28d75483898d01fbd33c22758af5e3e3a18754fd9ed605fe07292b() - { - $this->assertTrue(true); - fn() => ($test | $test ^ $test); - } - function testfbf7afb8d1461772f946209f580e857c869d30b99f10325128eab12d033e7a88() - { - $this->assertTrue(true); - fn() => ($test | $test == $test); - } - function testfcf3840809a5018fc68480ab706cd5f006fd60b39ac57889ddb218aa4af6f4e9() - { - $this->assertTrue(true); - fn() => ($test | $test <= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest.php b/testsGenerated/Target/Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest.php deleted file mode 100644 index 5ada2c078..000000000 --- a/testsGenerated/Target/Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest.php +++ /dev/null @@ -1,506 +0,0 @@ - - * @license MIT - */ -class Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest extends TestCase -{ - function test08ca267371a1f55a2aa6fc2f895b752c1cad2d08b8cecebaae792b7b94720fe8() - { - $this->assertTrue(true); - fn() => (isset($test::${$test->{$test}()})); - } - function test09e796b3da01dd58d29752c69a99148fe68c2eb9b147d4892a993cf040c6eab1() - { - $this->assertTrue(true); - fn() => ((string) $test)::${$test}; - } - function test0a91e0f9f3c90026d9f8bfdcbfdad077970b78df5b37a0c8c67db2e900e4489b() - { - $this->assertTrue(true); - fn() => $test::${+$test}; - } - function test0d0b1c1a3fc8838a7de2ee12733de65c9200e2c474b8dd4c975b0ac02a58313e() - { - $this->assertTrue(true); - fn() => (isset($test::${throw $test})); - } - function test0d2dd10591390c514c522da89555bb4763d73fa2bb26f8bc83791e181d9b2435() - { - $this->assertTrue(true); - fn() => (__FILE__)::${$test}; - } - function test0edaf067f8ce0969c534a3a3d5c80f41f6820a7f81a8246489f27b2525f688c6() - { - $this->assertTrue(true); - fn() => (isset($test::${$test?->{$test}})); - } - function test11c6d49b35cbc480edcff2688491b3c20d42cbde533f1d6e2a924ab519b56b15() - { - $this->assertTrue(true); - fn() => $test::${$test->{$test}}; - } - function test1200cf3e101261f1d05a31c9d170298ae2e329a0880657149c93f45190f60789() - { - $this->assertTrue(true); - fn() => 'test'::${$test}; - } - function test16a916e5bcd9933ece5d8f69ece55278b619b39208ee957bfeacb3a9e674f5ca() - { - $this->assertTrue(true); - fn() => (isset(((object) $test)::${$test})); - } - function test1e3f4056ff22aa018d2748615ce6d2a9ec84601e2fe25f7b20276cf8ea98971d() - { - $this->assertTrue(true); - fn() => $test::$test; - } - function test230250950c684e9179bb2731b89df68e2ce6593d8e2669439772aef8c68c0aad() - { - $this->assertTrue(true); - fn() => $test::${$test--}; - } - function test24b24114f5f8c867873b1745150e0f4de2dc30ac4dabbad21cef3042924e0565() - { - $this->assertTrue(true); - fn() => $test::${yield from $test}; - } - function test24ff188aff349ef4117544ab3cd44f36c7858dbd48b602c893807f4064be45df() - { - $this->assertTrue(true); - fn() => (isset($test::${match ($test) { - }})); - } - function test28b27e29420fb672a7db4c61a6836032e2e73b0eee38efe30c875b599caa137e() - { - $this->assertTrue(true); - fn() => $test::${ $test}; - } - function test30ebbc40893bd481c1b311bb3b13746666af4322f8d5c27af748cea798a7dbce() - { - $this->assertTrue(true); - fn() => $test::${$test = $test}; - } - function test3139672e26f079538d1a1e6f3baf4f363b583e186342901279186a3ef35d402a() - { - $this->assertTrue(true); - fn() => $test::${``}; - } - function test31d5341eae66420c3804247474a545f3ada87ddf2f42de4bde9ba385e8b7b9d2() - { - $this->assertTrue(true); - fn() => $test::${@$test}; - } - function test331c6ae5b40f6082ef8aaa19784f415784b373dedd9026e31fceb7e09f107210() - { - $this->assertTrue(true); - fn() => (isset($test::${$test::$test})); - } - function test33bca4af8069e5b482f399252285703cc81a36a8ea08ef5fd37a51a4348830c6() - { - $this->assertTrue(true); - fn() => (isset((__NAMESPACE__)::${$test})); - } - function test35a1154487df894904721916fa8aeb5a40defdc82186733835decd377165964d() - { - $this->assertTrue(true); - fn() => (isset((__DIR__)::${$test})); - } - function test3760c2df85bc8bfc5bce6f273ecb23107afd3973dce92f47dc58c9e63392dce0() - { - $this->assertTrue(true); - fn() => ((object) $test)::${$test}; - } - function test37cf30b1bc05b636c7335bdbd6a23db5f4661d9db66f462eff20c2eac1603576() - { - $this->assertTrue(true); - fn() => (isset((__FILE__)::${$test})); - } - function test37d18ee42e2929c8884fc6363b2942c68f5af4f54cbcdbe7bde2d764482e79a4() - { - $this->assertTrue(true); - fn() => $test::${$test::$test}; - } - function test3b5325c43c7ac575d0ea68f4f41360de118c10c95a102dc38ad40db74353c52e() - { - $this->assertTrue(true); - fn() => $test::${new $test()}; - } - function test3ce329fdc505c8470187d368f4c6d3e6f83b5b98f0a1fb414004e5b472d21ee9() - { - $this->assertTrue(true); - fn() => (isset($test::${$test?->{$test}()})); - } - function test3e1f53f1d435e9aa336fac9838958491d827b2f3f537554c895433700f1fbe1d() - { - $this->assertTrue(true); - fn() => (isset($test::${print $test})); - } - function test3f9086eb2bc103162981a14d44bac68ab4db9e71441cffd198dbf5fe5fbb0fcc() - { - $this->assertTrue(true); - fn() => (isset($test::${+$test})); - } - function test40f9da78ca292beaae42bcbba179a655e296413d907913123f94bf139cf861b5() - { - $this->assertTrue(true); - fn() => ("{$test}")::${$test}; - } - function test419da22da7628765790eb9c685c2abc29e27360923360e683f8df7cb893f5010() - { - $this->assertTrue(true); - fn() => $test::${$test::$test()}; - } - function test449c8d767ed74f6723d77c70ee235265f5ac7fa4cedb2bd5dc04082ea79c62a7() - { - $this->assertTrue(true); - fn() => (isset($test::${yield from $test})); - } - function test47303155792140298c4bc45a7a3c1f0c8c25481e6c24c8c4c3537e0bb03a9718() - { - $this->assertTrue(true); - fn() => $test::${$test}; - } - function test47ca3b5ae41bfde8dec806e802fed503d799d9768d150beb7813fac05ad3d2be() - { - $this->assertTrue(true); - fn() => (__CLASS__)::${$test}; - } - function test4e00a4c178a4f7d039071a077aaf79385a095696cd64881eb9ff7826169821c9() - { - $this->assertTrue(true); - fn() => $test::${${$test}}; - } - function test522329e02a13741274263dcfb1a11b24ab0d649d9d65d80388cacaa8d0cd481d() - { - $this->assertTrue(true); - fn() => (isset($test::${clone $test})); - } - function test5372cae677f292dbeb07990e10c8dfd43b26e731590974b952a50cb97776382a() - { - $this->assertTrue(true); - fn() => (isset($test::${$test()})); - } - function test55dbd7ee3741373e324358aaf55b8daf9814a5bc6b66b782efd9ed88276d75b8() - { - $this->assertTrue(true); - fn() => $test::${print $test}; - } - function test59c4b01f481194cd2260ee88183282735215870f15e15ee69ae3c32bb1d556a3() - { - $this->assertTrue(true); - fn() => $test::${--$test}; - } - function test5b108a6540813be2a24d50c0a9ca5eb3f25f24759a0b89181cfe05d34291390c() - { - $this->assertTrue(true); - fn() => $test::${empty($test)}; - } - function test5bf88969979c135b9c3b2c06ade066e07f55c2732f5c322374891b692a265d1d() - { - $this->assertTrue(true); - fn() => (isset($test::${!$test})); - } - function test5d800cd7b4eafc2a0120b8a2546101b6cb20c4c37573f4415dbbd42fdd937473() - { - $this->assertTrue(true); - fn() => (isset($test::${self})); - } - function test5eacab443d1ab08e97a3470f640ccb242fa48dfe59837db00e585dc6a15f0d3c() - { - $this->assertTrue(true); - fn() => $test::${$test =& $test}; - } - function test60bf03e452e22aca7530b6e30f6f2a828a9d3523476f779743054500e3189638() - { - $this->assertTrue(true); - fn() => (isset(((string) $test)::${$test})); - } - function test69923f9ed16fd2414557042414abff960e6e20ff7d5706ac87ed5eb0c84152a2() - { - $this->assertTrue(true); - fn() => (isset($test::${${$test}})); - } - function test6a5120995da6cca413c2a4d675a1eac30c829520cc071acd5b4ac29410107d81() - { - $this->assertTrue(true); - fn() => (isset($test::${@$test})); - } - function test6d0208b3e3de26f7f8455af617316c05e343e51f73188cd0b4e4d27b2ce939bc() - { - $this->assertTrue(true); - fn() => (isset($test::${function () { - }})); - } - function test6d9d73275e6b1519231dbe7e9aae2f9a8eae98460ba82e6957f98d2bef2a7c67() - { - $this->assertTrue(true); - fn() => (__FUNCTION__)::${$test}; - } - function test6dc4fb6cb57b6281676b43648d682d32df123f9c6e502a2fd67b36487946f4d5() - { - $this->assertTrue(true); - fn() => $test::${!$test}; - } - function test6ffa6b57c597708c923b1551b60ef79980c140ae8eb5cec37f01de38d26a03b7() - { - $this->assertTrue(true); - fn() => $test::${self}; - } - function test72b8bd051049f3216990146781016135b97e48cd0a2eec490ac4430ad4ce55ac() - { - $this->assertTrue(true); - fn() => (isset((__FUNCTION__)::${$test})); - } - function test742778fdd765a5443621d47ce74712c72ab0420ab910f8bcf90eef3f851ee580() - { - $this->assertTrue(true); - fn() => (isset($test::${++$test})); - } - function test7622fe5876f17068f1499770fbd308f69745b7f6dcd03b3d6723e6776ea5f265() - { - $this->assertTrue(true); - fn() => (__DIR__)::${$test}; - } - function test780d98e2e631530af8c2d37f5a1edb2dc845385676d1031cc912a504c88783fa() - { - $this->assertTrue(true); - fn() => (isset($test::${$test ? $test : $test})); - } - function test7adbba38452d6fe97818b77f5e138029055ed6420a069faf7773141e0cb06c33() - { - $this->assertTrue(true); - fn() => $test::${isset($test)}; - } - function test7afad05e2738ad8206371e59cd4c431789b9e131c6b974ab4e850a8d21c53913() - { - $this->assertTrue(true); - fn() => (isset($test::${$test = $test})); - } - function test7afcc685837d8897b40993a01c51733ea5399087e391b9482d8536da56ead3b8() - { - $this->assertTrue(true); - fn() => $test::${$test[$test]}; - } - function test7c1a86fc5bbb3b8523ec0a699d830274b028c7bedc1db272159e0a60b794e78d() - { - $this->assertTrue(true); - fn() => (isset($test::${-$test})); - } - function test7c57b22896d93b062872363dd967ab9334a78e07f07b7636bd04e48110908a39() - { - $this->assertTrue(true); - fn() => $test::${++$test}; - } - function test7eb72cc6836f516a968ce42278083ac5d1150b225c2e570f8c12617a776f795d() - { - $this->assertTrue(true); - fn() => $test::${function () { - }}; - } - function test7f7a65a60394aa4e06fc970d9988c78ec27f9d5dcd9fd179378f77efb95e9615() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__)::${$test}; - } - function test80484389794210fe03af7696056388437b02a8b3d2164140a733f55ab625fa97() - { - $this->assertTrue(true); - fn() => $test::${-$test}; - } - function test807d43d1c7e8d6911ef0e1b4a7ebffdcf659d8ed00130e58fe4c9f1f9048a47e() - { - $this->assertTrue(true); - fn() => (isset($test::${$test})); - } - function test8581c29036c282025df2daeb81f8213186c9c83055968e956eb206c0d6a2ea04() - { - $this->assertTrue(true); - fn() => (isset($test::${eval($test)})); - } - function test8875dd3241b8d0274c02de635eb4ab2202bb02b199339357917555f1d61013b6() - { - $this->assertTrue(true); - fn() => (isset((__CLASS__)::${$test})); - } - function test8dc075ec0abcc6df373122cdb451165933afe747ff0a985166dbd3b19491a3c0() - { - $this->assertTrue(true); - fn() => $test::${match ($test) { - }}; - } - function test8e3feea6b4b4bacc271ada33759bc36b075246d3100c05f9e0646e8ed354bf9e() - { - $this->assertTrue(true); - fn() => (isset($test::${ $test})); - } - function test8ee6be8d37a01ac0e04528f4c58410ab697a0b4194addce315dd9ae59ef0bf23() - { - $this->assertTrue(true); - fn() => (__TRAIT__)::${$test}; - } - function test992ca6665f6ccea771045384e09393941c6a0aa19a8e4148217e289bb2a71b05() - { - $this->assertTrue(true); - fn() => (isset('test'::${$test})); - } - function test9aec4d8136c3d408264617c7b9a94804e78f256a46f1b090f19a53bb186675d0() - { - $this->assertTrue(true); - fn() => (isset($test::${$test =& $test})); - } - function test9c2eb9c965b52e22d34e0acb34994f34e7539fc3da378d6712bb1cf51086ffc1() - { - $this->assertTrue(true); - fn() => $test::${~$test}; - } - function testa035299b4639a2736f2143bd6466034f5ff659391faba86d339c07757be38fa2() - { - $this->assertTrue(true); - fn() => (isset($test::${--$test})); - } - function testb0ee8e07618f0f0328db82ab2f7fada9f71ca9bd23fb4811e323b5cb5721f9a7() - { - $this->assertTrue(true); - fn() => (isset($test::$test)); - } - function testb26f0ad45cfa68de8b4b177c7e4a3a504f4ec07a00bdab86e81ae6809237fbbf() - { - $this->assertTrue(true); - fn() => (isset(("{$test}")::${$test})); - } - function testbb0153878c5bcfd8c32b9677d864c4054970b2a14a27a0ff5104a8229217ebb7() - { - $this->assertTrue(true); - fn() => $test::${$test++}; - } - function testbb3bdbef271f297d86271f96874e574dc0fd8a36fba441dc0687a4e76957d267() - { - $this->assertTrue(true); - fn() => $test::${$test instanceof $test}; - } - function testbc3e7a9c3a93fb4ce03b3a49eed56a49d39d5fa5ffb6723946c740a0fbebd2de() - { - $this->assertTrue(true); - fn() => (isset($test::${$test[$test]})); - } - function testbcbb0f4fd8b1d3313d6eafe8b7884b8bd12deb095b2509411eb70f7f9bf9c2de() - { - $this->assertTrue(true); - fn() => $test::${$test::${$test}}; - } - function testbcd4f6fb4e956be49037a19204aa3b7f612f832ddf1ba379feb491e37c972f1e() - { - $this->assertTrue(true); - fn() => (isset($test::${empty($test)})); - } - function testc0c6e93eef3e1fcd744ea25a4abb11c76f55539d18c74ff9fd5b06a4ef2f67ba() - { - $this->assertTrue(true); - fn() => (isset((__METHOD__)::${$test})); - } - function testc39b27512bd149b6bcea3c21ba7aa79c52a883ab121d1fdb8a195cd0b9a42b81() - { - $this->assertTrue(true); - fn() => (isset($test::${$test::${$test}})); - } - function testc608a47f115d735cc2b6c7ac22a4a63586201e167488c51f3bcc9fe9f80c5a4c() - { - $this->assertTrue(true); - fn() => (isset($test::${$test instanceof $test})); - } - function testc90e06639983c1d7df231b3e2ded06c151240bbb921cf4800c445200bd221c7f() - { - $this->assertTrue(true); - fn() => (isset($test::${new $test()})); - } - function testcdc0a0ed10f712a3ac47283e91e75843d822ea01ea4c40d8e9db121a61b3dc56() - { - $this->assertTrue(true); - fn() => $test::${$test()}; - } - function testce975498443399897d975b1e978ee4e2702da0134e26b1eb0cc5cab7d97210c7() - { - $this->assertTrue(true); - fn() => $test::${$test ? $test : $test}; - } - function testd00b045c279270add086adc62e08c1d8f15429b39cfef6da509cbd2c681890e8() - { - $this->assertTrue(true); - fn() => (isset($test::${$test::$test()})); - } - function testd21cae64e2094717c554839fd750226f46ef840757fba5260fb609e52a69dd3d() - { - $this->assertTrue(true); - fn() => $test::${$test->{$test}()}; - } - function testd2eed69199772a3278f841e52a95f24ce3ea63d07572fb90becfac60f5793f39() - { - $this->assertTrue(true); - fn() => (isset((__TRAIT__)::${$test})); - } - function testd3cc734e7c96baf3b5032e1bfca5a0efcd95b5bb32ca2b776a3f585965cf859c() - { - $this->assertTrue(true); - fn() => (isset($test::${$test++})); - } - function testd47ea16875a6b13ccbeb7ff9b60d0082e7ef369343215c7aefbc03482ac7475f() - { - $this->assertTrue(true); - fn() => (isset($test::${isset($test)})); - } - function testd81064d3bc15a4b7388bf747a5820d92831a65d6d7d92ae30ff8a431a57c18bf() - { - $this->assertTrue(true); - fn() => (__METHOD__)::${$test}; - } - function testdbbe2b5d7f2770661e44e52889efc6848c16bd3d3cbb09bdcdcb4dd512599a74() - { - $this->assertTrue(true); - fn() => (isset($test::${~$test})); - } - function testdfd0913bc0353caac81ab433251eeb04c00bb846341e060f05d7f725eeee5d7e() - { - $this->assertTrue(true); - fn() => (isset($test::${``})); - } - function teste03b8a850d907e2e79ce9446bb8a65c783f0094e81382f35498f34922905c98d() - { - $this->assertTrue(true); - fn() => $test::${$test?->{$test}()}; - } - function teste4cde4df19d7630fd020bf4b9d9679752e21afd0ec8a7f545caf22820ccab57b() - { - $this->assertTrue(true); - fn() => $test::${$test?->{$test}}; - } - function tested773b0e03e5702d097f82584feb261a917237002134fa27f129cf7757d1ae1a() - { - $this->assertTrue(true); - fn() => (isset($test::${$test--})); - } - function testee03a04229c6051a2589779144031e08ea9fe786875350e039c27a20f181ddf3() - { - $this->assertTrue(true); - fn() => $test::${throw $test}; - } - function testf1f5cb53036c4bb3bc69c5b2671f00e488b0d90a2de7fb65e041bfa3216d9257() - { - $this->assertTrue(true); - fn() => $test::${eval($test)}; - } - function testfa4f889aa7b90643fe202c662c9ab9b288dce67fbdd1d032a2b5e9b485eea2c8() - { - $this->assertTrue(true); - fn() => (isset($test::${$test->{$test}})); - } - function testfdcb5c70bda86febab7295e7b2559b682b7f8531eba49145dc42177e79df6990() - { - $this->assertTrue(true); - fn() => $test::${clone $test}; - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest.php b/testsGenerated/Target/Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest.php deleted file mode 100644 index 8487ad183..000000000 --- a/testsGenerated/Target/Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest.php +++ /dev/null @@ -1,509 +0,0 @@ - - * @license MIT - */ -class Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest extends TestCase -{ - function test0004eb001fec4d96feb50c00af802b8304d695dc9af4ed24dfda03bc07100e7a() - { - $this->assertTrue(true); - fn() => ($test ??= $test += $test); - } - function test029c422cca2561966821d60f4aff1c09cde6fb44cbb700c374e4487919b0679d() - { - $this->assertTrue(true); - fn() => ((object) $test ??= $test); - } - function test03f1d246f81c6e97e66e44792c8bb7a526a76c6e8a05e1c4017a4978b08605d4() - { - $this->assertTrue(true); - fn() => ($test ??= $test = $test); - } - function test05fd186c23db37ca68c897d6b5937e2e727b5da7b832e0e897e20ba9d64dcc89() - { - $this->assertTrue(true); - fn() => ($test ??= match ($test) { - }); - } - function test06787290662a0732874145e6f8c13dad8d7a017c3ddcb2ae60a320e70a84ee49() - { - $this->assertTrue(true); - fn() => ($test ??= $test::$test()); - } - function test070ba9ae110840b7eaae8d45c5e352f2707dfd184427b911fa014e7637831526() - { - $this->assertTrue(true); - fn() => ($test ??= (yield $test => $test)); - } - function test09c8c52165302ffd7a155e0184dcd4037623867ece66549beb44c89441f4d7d8() - { - $this->assertTrue(true); - fn() => ($test << $test ??= $test); - } - function test0a8140e5344d7d2a73b2d42457e80c6a98f6de27e8087868f6d8c6d235279bfb() - { - $this->assertTrue(true); - fn() => ($test ??= $test |= $test); - } - function test0ce2a788462ebb0c737c2e4a38e30bd174f0158a09cfde59d23db7b7c8636c11() - { - $this->assertTrue(true); - fn() => (@$test ??= $test); - } - function test0d87fd3d4c90236deeb42698d3be6bb3d976a83dce63a68a5b95b11c7a116a8d() - { - $this->assertTrue(true); - fn() => ($test ??= +$test); - } - function test11f4480dc21940109068b8ee0b59ad8bc142d2a8a0725abe8cd0fe4a0ab2a022() - { - $this->assertTrue(true); - fn() => ($test ??= $test->{$test}()); - } - function test12c177fe46f97882e9d71b0527062e78a0abd26945f6e99b960c0d9274938042() - { - $this->assertTrue(true); - fn() => ($test & $test ??= $test); - } - function test16817dcb865c9ef2b297e2d201eaaadcd64ef1068b3880d33ab1ec048b0eae78() - { - $this->assertTrue(true); - fn() => ($test . $test ??= $test); - } - function test16ca97e844ffde9374910f107497dfa3fdb7323fe4e4d49f9d4683544155b9fa() - { - $this->assertTrue(true); - fn() => ($test ??= $test?->{$test}); - } - function test1b7cc08c432323fd5b4b47a22f6119d7f916602a2cf6d2d2f289847aaac165a0() - { - $this->assertTrue(true); - fn() => ($test ??= $test %= $test); - } - function test1c06d363cc1f0d485c44454e49dcf4d97bf4f8f1afaaa24148f95d338541782b() - { - $this->assertTrue(true); - fn() => ($test <=> $test ??= $test); - } - function test22530e32f75df269d2541da4d1118f1bc16077cde23df6db2bfb3b14228059b6() - { - $this->assertTrue(true); - fn() => ($test ??= $test++); - } - function test2448fc2e805dd7afa8b42777c6c6f27b2456d1ae539cdabcfa616c34f5cd8e99() - { - $this->assertTrue(true); - fn() => ($test ??= $test instanceof $test); - } - function test28872e790452f5c1d117cd327293ad5f097322aa484b961e8d035e282b3ab2ff() - { - $this->assertTrue(true); - fn() => ($test ** $test ??= $test); - } - function test2b982e0b1cce3a729a28e334bba7bfd86ff02b3ffee5b369d3d47a26fc69fff0() - { - $this->assertTrue(true); - fn() => ((bool) $test ??= $test); - } - function test2bf20fa92ebe9d2d6bab9813317e183e237a0ccf905949b36c6371275a89fd45() - { - $this->assertTrue(true); - fn() => ($test ?? $test ??= $test); - } - function test2c49712d60b430d05c119c4413718064fe540bf3b6fbd61bc4d6c3a1b7c9109b() - { - $this->assertTrue(true); - fn() => ($test ??= $test /= $test); - } - function test2dc41311e5e74ea1436fd8b2a686be10d0e8599ce4469b56ed48d97cdacba645() - { - $this->assertTrue(true); - fn() => ($test ^= __NAMESPACE__); - } - function test308b87843351cec9e2886c7bf623e4426b926280202885407e6c612579780408() - { - $this->assertTrue(true); - fn() => ($test ??= $test ? $test : $test); - } - function test3134f6e17a70618e580837d31f04af1b092f77d50a18c809409891223f8f9130() - { - $this->assertTrue(true); - fn() => ($test >= $test ??= $test); - } - function test321404d67e283802310c19c17773a90a1af9c03ea0094573e156f089ca8d3ded() - { - $this->assertTrue(true); - fn() => ($test ??= clone $test); - } - function test3298d62177d0692add6aaa3358e2388d1cef802e438104d627cb95b8f2822fc9() - { - $this->assertTrue(true); - fn() => ($test ^= __METHOD__); - } - function test3c1b008d9fe944a1d3fa203cde71d7317c301594eec7217468eb14fb1464ce6c() - { - $this->assertTrue(true); - fn() => ($test ??= $test::$test); - } - function test3c48d0a695a818e62ffb15c5940a5772cf6b10353e8e555bb1d72045c13b9994() - { - $this->assertTrue(true); - fn() => ($test ??= $test =& $test); - } - function test4197ca472c4ca815b8d33b3703906919d99038c220ee2ad95afe7236b31739dd() - { - $this->assertTrue(true); - fn() => ($test ??= --$test); - } - function test43b0d44bf16313be66443da860817c115ea0faa0737a579c45513b6231987fad() - { - $this->assertTrue(true); - fn() => ($test ??= eval($test)); - } - function test45a7d6a8b1da7fbca0c6e74d8f46b4882663d356f76e89a99df7420bc37f486e() - { - $this->assertTrue(true); - fn() => ($test ??= ${$test}); - } - function test472c9415700238666e7c6db1434620932f3e3059ca1816f3d5577d01c045e7df() - { - $this->assertTrue(true); - fn() => ($test + $test ??= $test); - } - function test49621427b6fbef3204da7b9c7202cafa13515ed8ebe18559ff92aaf7abd4f084() - { - $this->assertTrue(true); - fn() => ($test ??= isset($test)); - } - function test4b739b13ca37bac8b28ce96f7c0ca086178afb279caa2eae6871511e0c44562b() - { - $this->assertTrue(true); - fn() => ($test | $test ??= $test); - } - function test4d9a114d04fd9b601e65d961cd6bb5a378e2a2d329c80396afabb1e3337ebfc7() - { - $this->assertTrue(true); - fn() => (+$test ??= $test); - } - function test4fae769c56d601121d4b579a6330a998582352f48acc2d964e9857c11f8c8fdf() - { - $this->assertTrue(true); - fn() => ($test[$test] ??= $test); - } - function test5252f5b077026dd2096d9b94603318a2cf10ed2e47db20e4739fa1bc15447359() - { - $this->assertTrue(true); - fn() => ($test ??= $test &= $test); - } - function test53d1aa548a433555afa383e6276c6d974336735969401e06ee805b1906702ce0() - { - $this->assertTrue(true); - fn() => ($test != $test ??= $test); - } - function test58153b058ebd07da0aa942d6b87450d24ad00cc67a56d0e728d1ee4bc165ee16() - { - $this->assertTrue(true); - fn() => ($test * $test ??= $test); - } - function test58cde4218132432d2a7f6220e9f2d272313ba9b7bb2a70aa7569436c04ae27ed() - { - $this->assertTrue(true); - fn() => ($test == $test ??= $test); - } - function test5a9e8d07559a120245c5dd76ebafd88386d7c7870d0830126b5d15dab96a57ee() - { - $this->assertTrue(true); - fn() => ($test ??= ``); - } - function test5abb2e053667d14030c516dde96085f298989f014b11905f03ed27aa68ddd1fb() - { - $this->assertTrue(true); - fn() => ($test >> $test ??= $test); - } - function test5cf2e534ba9ad9b7f8a294dd29c94cb995cf4b6e67afcd66c1c5b31d678fc546() - { - $this->assertTrue(true); - fn() => ($test ??= ( $test)); - } - function test5e163fc3b1c171898604280de0b3c701e6cc2705bb22836f1f685fcd21771035() - { - $this->assertTrue(true); - fn() => ($test ??= (print $test)); - } - function test616acfd004a54813afda30cefb943a669e1015972202d235e1b1d0b5af7f392c() - { - $this->assertTrue(true); - fn() => ($test ^= __FILE__); - } - function test61b9f4b3307a9e17d39e9071cd593aa0bf7aaea488604d1e5dc81e8dc54fb27f() - { - $this->assertTrue(true); - fn() => (~$test ??= $test); - } - function test629b7d8e0d4632edca5abcde7a391d8d7e2aa62e73dd2943fdb707ce130528c7() - { - $this->assertTrue(true); - fn() => ($test === $test ??= $test); - } - function test67373d56680e935b79c6553750bb8dc878d806f8db13071bfd358b304ca6445e() - { - $this->assertTrue(true); - fn() => (-$test ??= $test); - } - function test6a515ad3ab55cef1185d8de9cf9df049bb8fd70685efe96c508a15e7741932e4() - { - $this->assertTrue(true); - fn() => ($test ^= __LINE__); - } - function test6a5c38b594a6cdf1ab4716b05bf3b3b7c3832561ec2609fa768994a31377912b() - { - $this->assertTrue(true); - fn() => ($test ??= (yield from $test)); - } - function test6a95b7f0a54469518b4bdf1e90db6bc498b4d057e786ba35bcb71f577508a5c6() - { - $this->assertTrue(true); - fn() => ($test ??= -$test); - } - function test6b98313b83518822814d773420f585e66cd35a4954de6a15d364b12907b8cda3() - { - $this->assertTrue(true); - fn() => ($test && $test ??= $test); - } - function test6df7b56882d2b68eee23618de9db6029cebef5a8cb4c554c9fae7cf3f531c40f() - { - $this->assertTrue(true); - fn() => ($test ??= function () { - }); - } - function test6e2b6440c65af0bcca39ef5bd4761c0b9930e4dd3387a5239e8a1aa9daf22983() - { - $this->assertTrue(true); - fn() => ($test ??= $test); - } - function test71f651ced8687bf5f684b352665db963072221c9ffd05ac24af6bb67d96bd380() - { - $this->assertTrue(true); - fn() => ($test ??= $test->{$test}); - } - function test780acaed479de3b04cf6ecdb86a19d42e4db793de72920cc4772f719d74feab9() - { - $this->assertTrue(true); - fn() => ($test ??= !$test); - } - function test78ea52fd0d611e36139c02085f49622e3371ec758463f9d24206f35a70c40b48() - { - $this->assertTrue(true); - fn() => ($test !== $test ??= $test); - } - function test7e500de650e767d17b05465e75c23367db56024824221437a0fd26bdf4fdcc56() - { - $this->assertTrue(true); - fn() => ($test ??= $test[$test]); - } - function test7ea4a9372da59434b2372638b255c91b6fc294360d5068a59b93e081903a3d1e() - { - $this->assertTrue(true); - fn() => ($test ??= $test *= $test); - } - function test85f0c47edd99b8abb9fd6f89956e2ecd9c94c73d570b8eb4195316028358abb6() - { - $this->assertTrue(true); - fn() => ($test ??= []); - } - function test890ef8bb4176ba7298c9dd18c9f283ba89570303402e22851afee8bd3ac4e09a() - { - $this->assertTrue(true); - fn() => ((int) $test ??= $test); - } - function test89a8e0aa16fbe78c019651c9228e04d3801bc45c292a643cf5f3cf62865a4e12() - { - $this->assertTrue(true); - fn() => ($test ^= __TRAIT__); - } - function test8a7e828e70d17f1451a47fb23e7eb6f0e9c6a096eca770647c46f8e7d51e3948() - { - $this->assertTrue(true); - fn() => (clone $test ??= $test); - } - function test8b0e94613c5a1f30f8b8cf658fbd7d1b7e715892725c0362b42689f5a9e2eea3() - { - $this->assertTrue(true); - fn() => ($test <= $test ??= $test); - } - function test8c72b15dac158294451220a7ee2183f5113e783a4ec5c4b577588ae7bc8a3e29() - { - $this->assertTrue(true); - fn() => ($test ??= $test ??= $test); - } - function test8e230d21b95552abbb4068ef597c8d59cbb23c9c6988fde46e9efb6606c7b2fc() - { - $this->assertTrue(true); - fn() => ($test::$test ??= $test); - } - function test911de74cdce80d72c8de5b9f58fad2bedf9a13b4648b1b268f82aa1e01234d60() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test ??= $test); - } - function test91e63baf09729fb072876f685710bd0f30da4f40ce3b88abe0376fe97001eb6b() - { - $this->assertTrue(true); - fn() => ((array) $test ??= $test); - } - function test935898fd0a8406d6468851569a0f4de852a7d12fca6649e6503e44ab377210cb() - { - $this->assertTrue(true); - fn() => ($test || $test ??= $test); - } - function test9a18afa37e4a746d3c0840b125cb708cc403787a91ad46f165f4699ce9dfe414() - { - $this->assertTrue(true); - fn() => ($test ??= ~$test); - } - function test9c87e8816db6405484c8bb6342145aba7191c16c614d8fb16081fa55d9a55ad1() - { - $this->assertTrue(true); - fn() => ($test ??= $test?->{$test}()); - } - function test9da3828561b14392249cd06acdecfab90e17d86e7fd786643a2264eaa48ade5d() - { - $this->assertTrue(true); - fn() => ((double) $test ??= $test); - } - function test9f5b1e36b7ef329578e80d2dc82becb2a1b5196cd17d9f75a12c25c3993d9df1() - { - $this->assertTrue(true); - fn() => ($test ^ $test ??= $test); - } - function testa22bb5d641330af08595a787b097c92c4aa448547f52a5ef7fb7bf03c19d350b() - { - $this->assertTrue(true); - fn() => ($test ??= ++$test); - } - function testb2c1bb62dccffbdfb34a01a1d2d68e1c2b115841e87d2bbf1b78605c1e65723e() - { - $this->assertTrue(true); - fn() => ($test > $test ??= $test); - } - function testb7038098ede9692328126771c2176afacd01f7e027cc9f6e26fae47c0f8352d7() - { - $this->assertTrue(true); - fn() => ($test ??= empty($test)); - } - function testb90d92293c6495ff613e65cd130988a074f355db80497d962d90da9f582904f9() - { - $this->assertTrue(true); - fn() => ($test - $test ??= $test); - } - function testb979a869cc0676842aaf63d7fc8b7be2512798e8aad60bd2380e69d961a74561() - { - $this->assertTrue(true); - fn() => ($test ??= $test::${$test}); - } - function testbb517ea8a26cdac2325955310e7e19b197460a890ac6f6ea016493e9978f4ee7() - { - $this->assertTrue(true); - fn() => (throw $test ??= $test); - } - function testc022a3e9415e9cfeed7e50a76af37c66ee53042750d42b8a2adcc51378ba7af7() - { - $this->assertTrue(true); - fn() => ($test ??= $test **= $test); - } - function testc0f569c0cfd4181190c238b6bf25310e3c82feb2d4ae6656c6af56882b7c39ef() - { - $this->assertTrue(true); - fn() => ($test ^= __FUNCTION__); - } - function testc6213b6004f659a0ff14bf87917fda4c602c8a85e83776bbdb76c49c926b9a27() - { - $this->assertTrue(true); - fn() => ($test ??= self); - } - function testcc3d0332861ca87ddaea7f605cf7c78ba6a574ce3c2bcaffb3efb704cf7957ee() - { - $this->assertTrue(true); - fn() => ($test < $test ??= $test); - } - function testd2ab9d338e0a84d6e61e03dfd7f9fa98766a578385a53c340f8c63f850e1553b() - { - $this->assertTrue(true); - fn() => ($test::${$test} ??= $test); - } - function testd338f5120b750bce59f97949fb1d26c52e035efbd2316c5e564e936ee2176b92() - { - $this->assertTrue(true); - fn() => (${$test} ??= $test); - } - function testd4380fb08593086ba18885e2a30fa2ce05a65eef3acb89fa9a82a85faa9e7198() - { - $this->assertTrue(true); - fn() => (!$test ??= $test); - } - function testd88ed90feeefb8ab686a38b84746c0b9f0ac88ee5ca5b0cf7704a1e422cb5268() - { - $this->assertTrue(true); - fn() => ($test ??= $test ^= $test); - } - function testdb3e39e7aa6c583667e88a20de8509b6c329974e11f5a138290e33039747ac2b() - { - $this->assertTrue(true); - fn() => ($test ??= $test .= $test); - } - function teste0a3dbecc461fe1af9b81fdd9baa63fc59fc8ebcba281af7d26a11d8d6a64274() - { - $this->assertTrue(true); - fn() => ($test->{$test} ??= $test); - } - function teste13d7cbeed12325bb7d91b67afb15233bc4245f074faf3a8b3b1fde52e249798() - { - $this->assertTrue(true); - fn() => ($test ??= new $test()); - } - function teste2ad7d95ebf74f4b4af56a18b42aaaf4086395db830ffd64ec8348acb5257776() - { - $this->assertTrue(true); - fn() => ($test ??= $test()); - } - function teste3f2af960c9f021e4d42c5dba451330f4a9130dec17411d309e29076bebb071e() - { - $this->assertTrue(true); - fn() => ($test ??= $test -= $test); - } - function teste470be1feb0c58e6b9f2d0c261cb5f2173c59e6519f3de8c63c77bf8bc6a5e5a() - { - $this->assertTrue(true); - fn() => ($test ??= $test--); - } - function testeafc03f16f909108fcae470afa5da1dbbc524aeadae39ba3e7f9614cec293cd3() - { - $this->assertTrue(true); - fn() => ($test / $test ??= $test); - } - function testf1e24d6a35d4c041c3743d36c926b8816517eadbf1e9b85c8a6eb2750fa531fa() - { - $this->assertTrue(true); - fn() => ($test ??= throw $test); - } - function testf2268273b7103aebdf8aeb706b2aca182f91d7308dd21c63378134e46a4f83aa() - { - $this->assertTrue(true); - fn() => ((string) $test ??= $test); - } - function testf7dbb41f046248fa43ff4a85db0d69498e63bf98b26251aa623d36009c7a6799() - { - $this->assertTrue(true); - fn() => ($test % $test ??= $test); - } - function testf9fc1da8b3ec1c7f86f2b34c6ad942bc0a500f020c12312571b5cc73b7c9ebaa() - { - $this->assertTrue(true); - fn() => ($test ??= @$test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test.php b/testsGenerated/Target/Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test.php deleted file mode 100644 index 4373ca77e..000000000 --- a/testsGenerated/Target/Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test extends TestCase -{ - function test0044319f6667a348641cc72bc7c67f38c8cb7ba6ae39d03e9437c6ebf44f7e4d() - { - $this->assertTrue(true); - fn() => ($test++)(); - } - function test054203a4fc2f14f9b4f38cc2fd6d1bc5618c95987e1049a7f96226373b775f44() - { - $this->assertTrue(true); - fn() => (eval(__FILE__)); - } - function test059e7fdc02badb13da1285f62e3fe8f87d032a067a7cedef49fae525bebb462b() - { - $this->assertTrue(true); - fn() => (new $test())(); - } - function test0813df9de94e442a6d8b9d9e58cbf1bd7555e610dfa5557dae59e71f1f62022a() - { - $this->assertTrue(true); - fn() => ( $test)(); - } - function test08df6063ee54ec72d360154c333b3c9f9783ee8b5fdae0407a1b6b7275f49886() - { - $this->assertTrue(true); - fn() => (eval(++$test)); - } - function test095cd272fcaebdded8ae6a07d197bcc4826efa65d6ac89e7a6e82cc9ef28b251() - { - $this->assertTrue(true); - fn() => (eval($test ??= $test)); - } - function test0bd672fdaedadde622eded0ca9be13d1f42e0307585f471d3f0b0c1e4004cfa5() - { - $this->assertTrue(true); - fn() => (eval($test >>= $test)); - } - function test0ef09426b410bd4f2482099f7d82eeb1ac5c1bcdf9c135d18fb1175ecb18d71c() - { - $this->assertTrue(true); - fn() => (eval(yield from $test)); - } - function test0f408ce1bb6fbdbb4a3711294eb6b84eebdb6d42e3b30c43a7b3d0c43b2599cd() - { - $this->assertTrue(true); - fn() => ($test?->{$test})(); - } - function test1509290ca5288abea4678bf7312a99ddb454f53acd095c57ca3c4f1f4c5a3c35() - { - $this->assertTrue(true); - fn() => (clone $test)(); - } - function test15aec29207672915e2d497fcb4658720c3c0c22321a89e467ac4fd7d63f9cdc0() - { - $this->assertTrue(true); - fn() => (eval($test &= $test)); - } - function test165f83c18bf5283cab98d5b2f40cffc9dc46c3d0ce6024efa31e49bf7dc66467() - { - $this->assertTrue(true); - fn() => (function () { - })(); - } - function test16662a41be632d4eaa28ef9bf4ef3d705d60dd534428ebaef36e892dbd9c95f3() - { - $this->assertTrue(true); - fn() => (eval($test %= $test)); - } - function test1e742dae190eabba37ea4c88c756cd42c2926e6d28d6d6d2451b83a772e666ed() - { - $this->assertTrue(true); - fn() => (eval($test->{$test})); - } - function test20446ce1090848776c8fed654f1d81809ad613b21044d1096fbcf4d0704389a7() - { - $this->assertTrue(true); - fn() => (eval(__FUNCTION__)); - } - function test267a7b7d0316f5101bfec7c8996ec6cbc4ee37a0535c7e67c3d4095b9bc6105b() - { - $this->assertTrue(true); - fn() => (eval((int) $test)); - } - function test271209e5fd06356607ccda32d8fcb1bc5cad7aeb101f1aeb3b29e22ed5a949ea() - { - $this->assertTrue(true); - fn() => (isset($test))(); - } - function test2c24156762b988ddfbe9cc1d94bf750f33f00a9909e273c2f67fccffee85c8b2() - { - $this->assertTrue(true); - fn() => ($test =& $test)(); - } - function test2fd8b2c79a0657b2adc74b2baf80e62397a4d7d7e8069db8a17fd42853d253ea() - { - $this->assertTrue(true); - fn() => (eval($test === $test)); - } - function test352d784f10d298d783a9d3446f1540db6c39f214e926b8cb7b3a1ec054005862() - { - $this->assertTrue(true); - fn() => (eval($test ^ $test)); - } - function test35953698c5e4758b3be23e63426db06b14870df96c2f5e44ec93b3f9376ffa96() - { - $this->assertTrue(true); - fn() => (eval($test::${$test})); - } - function test35cd49bf24f91dc575b59bbbbcda31a4a934ef12c6d5f302a6073485465fb7e4() - { - $this->assertTrue(true); - fn() => (@$test)(); - } - function test36c1388074b0dd192e972cbe51282d554432f311c78837c1d48795c51f1c58ec() - { - $this->assertTrue(true); - fn() => (eval((bool) $test)); - } - function test39f5331a660d3998ccf9606a36f8b69ab83d1d3e178f9ed91954442baafd12b8() - { - $this->assertTrue(true); - fn() => (eval(print $test)); - } - function test3d61cae5265982dcef474a82a11ee696afc005a6c3aef84ff9a8abc1caede6b6() - { - $this->assertTrue(true); - fn() => (eval(__DIR__)); - } - function test3e332a0200813529085cf1e9920eb6511e7db5d7c17186d3955fb89de26e41a6() - { - $this->assertTrue(true); - fn() => (eval($test ** $test)); - } - function test445e01bf9f2a3dea244bf09de2711f15f6d968883f709cc5ce0c4a98dff7ca04() - { - $this->assertTrue(true); - fn() => $test->{$test}()(); - } - function test45b8e35286520896da284bc2061b39b6f3801893a8ed2c51d6b4498d1c3096f9() - { - $this->assertTrue(true); - fn() => (eval($test /= $test)); - } - function test4c211bb765dcfca1c165d66e55ac0ae1ed6a885f1be8a498c572b74ed0254998() - { - $this->assertTrue(true); - fn() => (eval($test or $test)); - } - function test4d82dd712ffc236a301f9b9b0816a9c84fedb50f833adf1e7b36aab5e10e30e4() - { - $this->assertTrue(true); - fn() => (eval($test & $test)); - } - function test4e16087430f50e1bfeb5c15214adc095517be3374c3766aa41de9aa4184e8c80() - { - $this->assertTrue(true); - fn() => (empty($test))(); - } - function test5413ea3d5e160c69ae7299bcc95d0e70e342b903fbb582c80f95dd5f1d103e61() - { - $this->assertTrue(true); - fn() => $test()(); - } - function test552a067dad2e2842b9e94d4b4d5582c40636219ddfdfb03590c9d3e2d352420c() - { - $this->assertTrue(true); - fn() => (eval(__METHOD__)); - } - function test5724396f7399a45f30a315f12f92df4191b09213262ad5d291d32b0a784e29bb() - { - $this->assertTrue(true); - fn() => (eval($test < $test)); - } - function test5bfdc599470a43581522f34d12404c3aec03c2f356dda1e27854b1261692f834() - { - $this->assertTrue(true); - fn() => (eval($test ? $test : $test)); - } - function test5e6ef4e2ce4237029485fdc51df46c5e8680fc52b499d123753df6654c6d7b2b() - { - $this->assertTrue(true); - fn() => (eval($test * $test)); - } - function test5e913f2267a0506f830a4281e8676e604495e7aa1795c6f2bc4a3df51e95a71e() - { - $this->assertTrue(true); - fn() => (eval(throw $test)); - } - function test65ad18ed5aee4fa430810248ecfc09553bab4b7f4614694596860c4e827ebb54() - { - $this->assertTrue(true); - fn() => (eval(__TRAIT__)); - } - function test65c2019880864bcd650786f61556050b0a7e59bc62ac265c68b331b5ab97daa6() - { - $this->assertTrue(true); - fn() => (eval($test - $test)); - } - function test6a4a1ffadb05789519ef6807f7e217c4b83284b8f62550f708d3e207e8ca740b() - { - $this->assertTrue(true); - fn() => (eval(${$test})); - } - function test6fc0b356be651cf91935e1815d9e37a7c776021329ad2508e8a0e89e471c23b6() - { - $this->assertTrue(true); - fn() => (eval((object) $test)); - } - function test74c5799b42418f3b1bb599cb68d715b8d0090c0131a8e3751a32207ae260d19b() - { - $this->assertTrue(true); - fn() => ($test::$test)(); - } - function test76d998d4b1515d5b9396c99f5a6dbf7b04981cb53f5c1ef087a340cf681c1c05() - { - $this->assertTrue(true); - fn() => ($test)(); - } - function test76e451ab6f0af0aa58a76c30d5f2346974848757120e5ab50b8d05fa8ea9eebf() - { - $this->assertTrue(true); - fn() => ($test instanceof $test)(); - } - function test770671c21393913a87097b82b377221955b57f565a35ebeb2cf45edd68197b05() - { - $this->assertTrue(true); - fn() => [](); - } - function test7706809c260c019e3b5e80af933185f44e39c4aa2ae9bb3397e4e1f7a91f0c75() - { - $this->assertTrue(true); - fn() => (eval($test <<= $test)); - } - function test791b482f226ad7bbe64976ef9f503e7a296f3f5bfcf564cd220013903056a885() - { - $this->assertTrue(true); - fn() => (eval($test >> $test)); - } - function test7b1332e81408448f7d97fd06facfecee26af7ea16c0076f1c8eef8a506e5babc() - { - $this->assertTrue(true); - fn() => (eval($test != $test)); - } - function test7d76bf88f13d74a24cea0a17c3ed70a1b054a2b62d79f4c7f84f5252014c87ec() - { - $this->assertTrue(true); - fn() => (eval($test <= $test)); - } - function test80b381571ea00c0c5f557ae7b74b92472d7245525913df4d8b86945fa9e7eeea() - { - $this->assertTrue(true); - fn() => (eval(__LINE__)); - } - function test86dba57240461050ad27b05b9f903de70860a3bb8126a717d1a83edd4d6b9ec6() - { - $this->assertTrue(true); - fn() => (eval((array) $test)); - } - function test884f636917573671d4245d40f5df9ad65f3e3650c867f3d6767289092bc61d26() - { - $this->assertTrue(true); - fn() => (!$test)(); - } - function test88faef1d383dde5fc321c2dc60b793282efafc76a8a6f77ecd337e4698cad98a() - { - $this->assertTrue(true); - fn() => self(); - } - function test89c7a24c4441300227d50105ab8b0135ccf94f4f0f6e20c96fa78f9d1af65a21() - { - $this->assertTrue(true); - fn() => (eval($test || $test)); - } - function test8cf1a9ee3c815b29cc84eb46694b681fcd0af10e85acbc1a68ef9405dc36c331() - { - $this->assertTrue(true); - fn() => (eval($test && $test)); - } - function test912dbac6a74a03d0808ea9c2b70c9d4e4b50a10265aec49bdada89f1ce833f4d() - { - $this->assertTrue(true); - fn() => (eval($test | $test)); - } - function test916e583f55a83bcfe17fe773ea3d91fb7a45915b0f067750cf524383dd732b10() - { - $this->assertTrue(true); - fn() => (eval($test << $test)); - } - function test932f77c4fef70aee7e78ffd0b078f65a0b9f20cb9e2c869833918ae101e04d85() - { - $this->assertTrue(true); - fn() => (eval($test / $test)); - } - function test9664a5294dc5013de23786a75b3904bfef4c439f07d488695f18c5f8e9a3a2f3() - { - $this->assertTrue(true); - fn() => (eval($test == $test)); - } - function test96ba994f6ee475490b7fbca27708bce2eba464b4b7ef22b4a665d50724cdf2b2() - { - $this->assertTrue(true); - fn() => $test[$test](); - } - function test9a5206c760ea08757644a6fd35169565f29e289f690096ba9ee70dcfbd157da5() - { - $this->assertTrue(true); - fn() => (eval("{$test}")); - } - function test9b1b7e8110ce61e9cb3fb884b8c673420bb5023b64000c9a6763089f56b33a40() - { - $this->assertTrue(true); - fn() => (eval($test ^= $test)); - } - function test9ca71b2d4185a8ca9b7d314481344f7ce63423d5524a6b0a5732d4cc5a0904f5() - { - $this->assertTrue(true); - fn() => (eval($test xor $test)); - } - function test9cde1c44830bc204fcfad157b05d9e30a7a5e8f53d5af120b806168599bc0e24() - { - $this->assertTrue(true); - fn() => (eval((yield $test => $test))); - } - function test9ec5970969e8c4180b0ca232423efcbd20547788e9cecd8171ee58c095bdd2ba() - { - $this->assertTrue(true); - fn() => (~$test)(); - } - function testa0ebb6d22db51e8baabd9842b66d91e42fc2cbf85944070752fe96c17a87eba8() - { - $this->assertTrue(true); - fn() => (eval($test <=> $test)); - } - function testa27da51a47dc0de7a4d2d1f1b43c4391258d4c4a784dc948a734d03b7506bd1b() - { - $this->assertTrue(true); - fn() => (eval($test >= $test)); - } - function testa39bb47ef4554d7708e57262ff2615a43422337d5105580f94505149d478f7dc() - { - $this->assertTrue(true); - fn() => (eval(``)); - } - function testa4a81e9285934370900251ce3c1fb440d9d092dfbb32d12fb394c24241ab1d0d() - { - $this->assertTrue(true); - fn() => (eval($test . $test)); - } - function testa74864588f5cc4206bc410d65ffc4b3a6a19ea146cbe9a2d0d357302de76518f() - { - $this->assertTrue(true); - fn() => (eval($test .= $test)); - } - function testa7c8f0f7cf64369b4b137a4904cdcd2ecc2a4a2ce7d1a1d8aa719ac4c5803cab() - { - $this->assertTrue(true); - fn() => (eval($test -= $test)); - } - function testabfb2bb94c71951f02e96a38ae488edff397161956fff14eab4356bbe730ae46() - { - $this->assertTrue(true); - fn() => (eval(__CLASS__)); - } - function testb2b93fb3555f5edc33c0791adf780f79eec9b21fac811a397858dfdee07f343a() - { - $this->assertTrue(true); - fn() => (eval('test')); - } - function testba1b4ee2e87ca1046983c346ea2a111888566fad85edcb11d0681130fc14a704() - { - $this->assertTrue(true); - fn() => (eval(0)); - } - function testbac9143baaca3f14bdcaf80a5e6d49bd3c20d288979aa799e38e08ec70394111() - { - $this->assertTrue(true); - fn() => (--$test)(); - } - function testbb0254bbaa03ae9674390e36ed1274f3fd23e10e44808059398f759fb117cf65() - { - $this->assertTrue(true); - fn() => (eval($test + $test)); - } - function testbe17ed456121c5ad01a3299cdcc9a729227456aefbd4b0b6af346d7424bed8f0() - { - $this->assertTrue(true); - fn() => $test?->{$test}()(); - } - function testbefe4637ffeaa994c09ee15a0c72118b0654c96bd4cf5535973c8099278313c2() - { - $this->assertTrue(true); - fn() => (eval($test++)); - } - function testbf5b654decccdb3bee655736e4e48ad0252e392a380394c3088fc3de07718209() - { - $this->assertTrue(true); - fn() => (eval($test += $test)); - } - function testc48c438e69ee8f302c49bb3f1397ceec916805c0ea2ec1c23a52345a38361a1e() - { - $this->assertTrue(true); - fn() => (eval(-$test)); - } - function testd4462861f25b35659cf6d6d2e666f1b42bb77d2ca863cc2604f11af3d905de1f() - { - $this->assertTrue(true); - fn() => (eval((string) $test)); - } - function testd494e30a44e9fff64badb90777eb8150f8e312b464276eb4c6938d59f6df6c50() - { - $this->assertTrue(true); - fn() => (eval($test::$test())); - } - function testda60501c6efbdd9340867336e7b59abebdb1deb520cf7b38d9788142a38b38a6() - { - $this->assertTrue(true); - fn() => (eval($test))(); - } - function testdc6fa76caacfd12e3682baa53661d02a1e0ccc36787327eccd880b1158f1f768() - { - $this->assertTrue(true); - fn() => (eval($test |= $test)); - } - function testde929a2b8f617f61dc75a40a7cf1c58ac0f8c6757eea87e61c7b8833b1c2c402() - { - $this->assertTrue(true); - fn() => (eval($test **= $test)); - } - function teste35b9cd1e3a6c4132f8a950a36145873c23e15347ef2af47cdff7ba1e78cb872() - { - $this->assertTrue(true); - fn() => (eval(--$test)); - } - function teste6f8c87b89d7cb4c4ec43b4940f29f5d4d34ae62a4bc20ac1b4e41d99523841d() - { - $this->assertTrue(true); - fn() => (match ($test) { - })(); - } - function teste87f8ccbe038909a1a52d781e1805fee5ac02678d327a8957a3704a086bfbc9e() - { - $this->assertTrue(true); - fn() => (eval(+$test)); - } - function teste9868b525a1e33f5af42b1e4a5f4ec2d6d9ffcffb5e34dd83f0f78cafcf47c09() - { - $this->assertTrue(true); - fn() => (eval(__NAMESPACE__)); - } - function teste9d3de80ca26f0b1857043d164e44d19877d97131724e19a17e211165e966313() - { - $this->assertTrue(true); - fn() => (self)(); - } - function testea6aa781b199a5caddc171416c7357ed28f8a0cf59289246c6c00de527fdf1e2() - { - $this->assertTrue(true); - fn() => (eval($test % $test)); - } - function testefcdad4dd6baaa236d1dc69a1501c1fdeca29c91ff6d17eda3d21714c60807c4() - { - $this->assertTrue(true); - fn() => (eval($test and $test)); - } - function testf5dbba273687c644aab335675afa3dd315577378b3b30dabe3d67199447af520() - { - $this->assertTrue(true); - fn() => (eval(0.0)); - } - function testf6aa6864298893681d39b5d84462e1e97c30f4fde77292c43776a701493c8359() - { - $this->assertTrue(true); - fn() => (eval($test !== $test)); - } - function testf8eabda8613d242c53d054139be9f30028f3fb0c4fbf9ab6a6d3ec8b4b2aa0d6() - { - $this->assertTrue(true); - fn() => ($test = $test)(); - } - function testfa4dde43715b8bbba0326564f9a7d52941874f58b0ab556acec7971af2f5d5d6() - { - $this->assertTrue(true); - fn() => ($test--)(); - } - function testfb525231b6b02b385f87ca4b93c32c6bbcf56bb6b6b909c156c689915fb4c829() - { - $this->assertTrue(true); - fn() => (eval($test > $test)); - } - function testfbf87de868f1565046bb40a394082f7fe9d91184cf421106ebf07f261f18ab64() - { - $this->assertTrue(true); - fn() => (eval($test ?? $test)); - } - function testfc69d2fa77d57f38bd7fe20896dc30b8d40d190f0e8a0e2dba025ef0e58dab61() - { - $this->assertTrue(true); - fn() => (eval((double) $test)); - } - function testfc9e85e95948b1305b92ae5b256deeff11080487c78d6dcd1f9bd3c3e5a32f83() - { - $this->assertTrue(true); - fn() => (eval($test *= $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest.php b/testsGenerated/Target/Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest.php deleted file mode 100644 index b2870d284..000000000 --- a/testsGenerated/Target/Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest.php +++ /dev/null @@ -1,509 +0,0 @@ - - * @license MIT - */ -class Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest extends TestCase -{ - function test0638a10326cb2fd94a2fcab6535eeaab0c96c7922d451663b32262ee135fd918() - { - $this->assertTrue(true); - fn() => ($test **= (string) $test); - } - function test0661353678e8fef5acce798d119f25c4b337fe121fe4b6e25b84eb0fedb344a8() - { - $this->assertTrue(true); - fn() => (+$test <<= $test); - } - function test1a8c0e1668d52bea70176a21597464aa96d58382f592f986959a3d7c2275ad77() - { - $this->assertTrue(true); - fn() => ($test **= (array) $test); - } - function test1fa18009af9292c92b5da11802ead35ed97927634c7ae82dd40b1034ed8b0f24() - { - $this->assertTrue(true); - fn() => ($test **= $test < $test); - } - function test2342e13b9fc573d6b4a081e4b50f6de49cc200b7d6bcdd4f31688b4984021e77() - { - $this->assertTrue(true); - fn() => ((array) $test <<= $test); - } - function test246e78440cdf0246662d21736d5950b7a943ef2f8c0a5a01e336f4412603e994() - { - $this->assertTrue(true); - fn() => ($test[$test] <<= $test); - } - function test274fc01049a07528a923d4a6b08b55a6b31681570962bc124a762649c3d871c5() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test <<= $test); - } - function test2c2d5c9ddcdad7e1c0f6a28b9a810dbaa074ef3ed7f43c8864453dc0b00cce5e() - { - $this->assertTrue(true); - fn() => ($test **= ($test or $test)); - } - function test2d9a1d1b09be4cd50d48277b5c00fe91e682545a7c9bbea3ec10ff3a52fa829c() - { - $this->assertTrue(true); - fn() => ($test **= $test << $test); - } - function test2f9f57ab7e6c74cf0ff0f2f1f3951ccd82c995a69cd522208d92249b3bc0024b() - { - $this->assertTrue(true); - fn() => ($test::$test <<= $test); - } - function test345e0a7d34cb3fb8765b04028d21b705875a289fab04c4e6e91551d9c9a6bb22() - { - $this->assertTrue(true); - fn() => ($test **= $test + $test); - } - function test362a72f779e896fc796e47dca42be29bdba67acd7126fb16eb1dd67a20c5e04f() - { - $this->assertTrue(true); - fn() => ($test <<= match ($test) { - }); - } - function test37580ca9fd21921bf31cc9c84097a59a04372c15f33ec7132c03b72fe96d84a0() - { - $this->assertTrue(true); - fn() => ($test / $test <<= $test); - } - function test37677bfac4950993512b1269170fc07968685154f7422c12a2e11f39a9c91a22() - { - $this->assertTrue(true); - fn() => ($test ?? $test <<= $test); - } - function test38e92a879a6b296255115ca840ad2c27d8b1e4708d8aa81f466063bce2a209e6() - { - $this->assertTrue(true); - fn() => ($test === $test <<= $test); - } - function test3c4058df48142e664b96e47ce53e41a877b7e59b33f99442a1554191de5e5d5f() - { - $this->assertTrue(true); - fn() => ($test <<= $test::$test); - } - function test3f071cd47302d659d90868ff772d1e3af81fd16b3a158c1e03a1a5c765a330d1() - { - $this->assertTrue(true); - fn() => ((string) $test <<= $test); - } - function test3f5b29c44eccb8dbad10af2e1dc5a18c01a9a78c9e560a7990887e7121ad77c3() - { - $this->assertTrue(true); - fn() => ($test <<= self); - } - function test4c89b948d734014aff9835f4600d36b85b4198fab1396a648b7897f580da3460() - { - $this->assertTrue(true); - fn() => (!$test <<= $test); - } - function test4cbaa2bba5658c84c30993f6a428d3b2c4cded5cfa55d9f0db1d9648b24453e8() - { - $this->assertTrue(true); - fn() => ($test <<= $test = $test); - } - function test4f2c361dff7d564255ae72d918d520103b3ae4ea5f6b425b2d77f636d8438dd2() - { - $this->assertTrue(true); - fn() => ($test **= __DIR__); - } - function test542d8c1131451bb97c52ba660f81090cf1221266279ed242a0f9015fa9a432ea() - { - $this->assertTrue(true); - fn() => ($test <<= ( $test)); - } - function test56db6111bde47d0b272f0a542652bcdbed3a20e6b181b26b901f99f915e7b8c2() - { - $this->assertTrue(true); - fn() => ($test **= (int) $test); - } - function test5845fcbaa6f96834ae94bffc69cebe85b8b37267ca495368e23464cca9e3ed70() - { - $this->assertTrue(true); - fn() => ($test <<= $test[$test]); - } - function test590ad71c4b2b15a47f5d2fa869d2e9574182f29df39597c9426a5a3c088b676e() - { - $this->assertTrue(true); - fn() => ($test & $test <<= $test); - } - function test5dbb19cb5611add02adebc509eb2e91824a43a0ca3dedf5cadffa3fcddd6573e() - { - $this->assertTrue(true); - fn() => ($test **= $test - $test); - } - function test659b3c0eb99261af73b1f2be8790176bbc57c54555e615227021bda904c6ad6d() - { - $this->assertTrue(true); - fn() => ($test **= $test <= $test); - } - function test678e3c0aee97c1e09e435f483e8a18d17165902bbbedf512b6aa143a8674895b() - { - $this->assertTrue(true); - fn() => ($test **= 0.0); - } - function test687b53e5508c6adeeb9f54f0bb566d4c83324aa07bea8dfeac5c21e9cc12cb44() - { - $this->assertTrue(true); - fn() => ($test + $test <<= $test); - } - function test6892941eeeffcd2a236a31d5b178d771f521cc6bf6d57c8e91b0f87be55dcf0c() - { - $this->assertTrue(true); - fn() => ($test **= __FILE__); - } - function test69aed9dd7ba2047d7f83d54d97836ec6aad9754452f0d185e4155338821b4381() - { - $this->assertTrue(true); - fn() => (throw $test <<= $test); - } - function test6a3810e1cac9863b2b532b2bb31cd950275065b7f0cbaf213b4acccfcd547b4e() - { - $this->assertTrue(true); - fn() => ($test **= (bool) $test); - } - function test6d6410549b821df9bc25824c4362e13e1aba38fe22547782da1278ba1ce3efd6() - { - $this->assertTrue(true); - fn() => ($test <<= $test?->{$test}()); - } - function test6f9126560c770c5bef593ac593df82f7e4002749aa552fc7de469c5d2d62d74f() - { - $this->assertTrue(true); - fn() => ($test **= 'test'); - } - function test7326dfa96e695db31fcb7d877c6cf22564e0eeeb8194720dff479beb23954f00() - { - $this->assertTrue(true); - fn() => ($test % $test <<= $test); - } - function test73fd77848c8b7e87e53820e3de0b57cc2dd5b0eedc3899a5383ecb33a061f900() - { - $this->assertTrue(true); - fn() => ($test <=> $test <<= $test); - } - function test7c9645316ac541bafe8ad037a92ca26138990dea923bc87c8fac97755cb2dde4() - { - $this->assertTrue(true); - fn() => ($test == $test <<= $test); - } - function test7f8ec24997fc15b37106ddc165dd651632f0438c7f5eb9b8d116c795ad947946() - { - $this->assertTrue(true); - fn() => ($test **= $test % $test); - } - function test804f491204936e8119de516240e96decc5a34474fea50e7c6343ea9bbd39b322() - { - $this->assertTrue(true); - fn() => ($test >= $test <<= $test); - } - function test81e7569e9e0ceef8ebfa4edd25ada28eb432813fa31c00dd2c42168773ffa752() - { - $this->assertTrue(true); - fn() => ((bool) $test <<= $test); - } - function test8329b214e1e32a05dc4c999cff007d882fcdbfed28d0b407da777d57443be42f() - { - $this->assertTrue(true); - fn() => ($test <<= empty($test)); - } - function test8441c9645111c57dd6c7e9d477c37f1544e84e5ffa58766103df82a0f108525a() - { - $this->assertTrue(true); - fn() => ($test * $test <<= $test); - } - function test84e635c5042484ecb6130252211bec0390134303ac64e097f57a8c8fff4c6398() - { - $this->assertTrue(true); - fn() => ($test || $test <<= $test); - } - function test898de58c9770b09bd2286e9d91eea68154e4f8bc4d698a07d6eec0229d4bdb2f() - { - $this->assertTrue(true); - fn() => ($test **= __FUNCTION__); - } - function test8ae63668aa2073448ee2d121697283cfc22ff407a1f87776c23c0b063b03bb25() - { - $this->assertTrue(true); - fn() => ($test **= $test === $test); - } - function test8c9f5eacf316503d957bb184c6728008dbd071033c340ee302354b25c9751b48() - { - $this->assertTrue(true); - fn() => ($test **= $test >> $test); - } - function test8e7f98d631557a5a486315b4789a4dd68a67b459407e6b608571e82f120df93e() - { - $this->assertTrue(true); - fn() => ($test **= "{$test}"); - } - function test91320692e8cd4f5cc61066d6c0c5f4199c3d08118bf42d4fe97350389ad3de37() - { - $this->assertTrue(true); - fn() => ((double) $test <<= $test); - } - function test9367490b31da4796ed32b6251f70fe2d2315db4c8a2731f11e8ae496a545a2e5() - { - $this->assertTrue(true); - fn() => ($test <<= !$test); - } - function test93b75ab03783493b7a6720f5af92ce36fef48dfb5c7cf20a996c11e916a61c56() - { - $this->assertTrue(true); - fn() => ($test <<= $test()); - } - function test951f7c7e988c08fd8abcb6739428f428d70a642165ff1d6591af8bdd6da140dc() - { - $this->assertTrue(true); - fn() => ($test <<= ~$test); - } - function test9695364d1e098afe8b08144e59c394d720d822f2efec6ca76555f204bad05b0a() - { - $this->assertTrue(true); - fn() => ($test != $test <<= $test); - } - function test9b8d9c2112060ad30d433532b7b439f3d0bc81cb979e3d6c4aee62a3d2f016a1() - { - $this->assertTrue(true); - fn() => ($test - $test <<= $test); - } - function test9c0eb6b782b8e59450469700469c011dbb28e66b46b8f3146a3335e1df693e22() - { - $this->assertTrue(true); - fn() => ($test **= __CLASS__); - } - function test9e2da387b6998db5aa89778b13df1b4c742230c03709c3d73efc0767ece4c696() - { - $this->assertTrue(true); - fn() => (@$test <<= $test); - } - function test9fe55aa6a50b602d8ae09aa9b99a4aee00839f212fd17dbd1ff654fbcb98b542() - { - $this->assertTrue(true); - fn() => ($test <<= @$test); - } - function testa12ff0921fa1d423c116d9ac81e85516317fe9a5a33d61ba25fd4b1d2d7ff813() - { - $this->assertTrue(true); - fn() => ($test **= ($test xor $test)); - } - function testa185e1f77a8c7b2d16766b72ce68f2ee372f6ce8bb04456b17f6bd599a47deb5() - { - $this->assertTrue(true); - fn() => ($test <<= eval($test)); - } - function testa322fb1f386706785e52f967039166f5c7db35c9cc2f6e2f877212794f623f2e() - { - $this->assertTrue(true); - fn() => ($test **= __METHOD__); - } - function testa3d13930cd328e915e03a6fbd6eedcaed8c9ee1f4edfdd29ca74c8abcf543659() - { - $this->assertTrue(true); - fn() => ($test <<= $test); - } - function testa42762fe8582ce592b4f10205695a8120e9862758c3e249b264dfa235247e795() - { - $this->assertTrue(true); - fn() => ($test && $test <<= $test); - } - function testa5cbafe05b50aad2837c6e25160d8e43c2389c82018d6d215fedf128aed8302c() - { - $this->assertTrue(true); - fn() => ($test ^ $test <<= $test); - } - function testab0938799873c5417a2aff248577f430c97e3bcabc4340248c241d4cd0a248f5() - { - $this->assertTrue(true); - fn() => (${$test} <<= $test); - } - function testb040df647bc85f34d9e79b897b44f24a8d3c60e64ad0d30198d668d62f8dbac8() - { - $this->assertTrue(true); - fn() => ($test **= ($test and $test)); - } - function testb071fe55330e1c54b83144a54022b192ab251ce9f20ce6ea05fd7f50a78ef486() - { - $this->assertTrue(true); - fn() => ($test **= $test <=> $test); - } - function testb441f610533b59c5af9e187c1d31d2b4e55a3fe87be28c39673e2313604a4335() - { - $this->assertTrue(true); - fn() => ($test <<= $test instanceof $test); - } - function testb46c37b2b002b68c4fecdbd9a800b908770a732144ae904e9a9eb6494e5e8833() - { - $this->assertTrue(true); - fn() => ($test **= __LINE__); - } - function testb6eaaeb8f1159b51f2b154e3e6357c59084279732c429fe80b5c25c7de18b0bb() - { - $this->assertTrue(true); - fn() => ($test **= __NAMESPACE__); - } - function testb84f7b3db6d852ad726ea38246aa5d43adf0be7fa77790fce727027643ebfa6b() - { - $this->assertTrue(true); - fn() => ($test **= 0); - } - function testbe2ac312f7e39241046c30af128dc6e2ab3937905987dded3998fbd972465c14() - { - $this->assertTrue(true); - fn() => ($test << $test <<= $test); - } - function testbe41c18a8f6d02783ff6dba4ee58f0cf0a91a75d0eb546a28e45d1d4b6b81cdd() - { - $this->assertTrue(true); - fn() => ($test < $test <<= $test); - } - function testc091e71d8dea8f74a37c00f5d1721f5a07a55260b7d776d6379de7c55e2a7c69() - { - $this->assertTrue(true); - fn() => ($test <<= $test =& $test); - } - function testc2adefa1f8556d0b6bb0f313730d7d9cf69666eb41551e573748d71a6b5c1705() - { - $this->assertTrue(true); - fn() => ($test | $test <<= $test); - } - function testc44809960a8bbb47056d302a71b1cb8172f7252e9b19eef0dc3fc698d4abd386() - { - $this->assertTrue(true); - fn() => (~$test <<= $test); - } - function testc5d1ab69596c7476888d88d69c6eab1dc891e87efe084cef9eb3e8d06d198ef0() - { - $this->assertTrue(true); - fn() => ($test **= (double) $test); - } - function testc6e4ae703c266aa6004913e89c7bae73377258b4a58b858012f20da1f86e8072() - { - $this->assertTrue(true); - fn() => ($test **= $test !== $test); - } - function testc8ae04a71f9636cad27cce0089bb3782ebba216aad8bd16081d7ef44db3b1075() - { - $this->assertTrue(true); - fn() => ($test **= $test * $test); - } - function testd431b44e1baa86e25673283a5895d91f4224de43f3dda0ca50f011908f5b34d9() - { - $this->assertTrue(true); - fn() => ($test **= $test != $test); - } - function testd74770558a91fb5d9bcaea28eab1943118b7f1d1a1b37139e8b20f8be19839ba() - { - $this->assertTrue(true); - fn() => ($test **= __TRAIT__); - } - function testd97423c133bec44edcc681bc1112eddb3a33f9bbf9c80870ceb6bd1f24829907() - { - $this->assertTrue(true); - fn() => ($test **= (object) $test); - } - function testda24d4d41f9b4c8fdc0f1d42a103ecf30146dd0c6765611e0142c4f60bcf3cb8() - { - $this->assertTrue(true); - fn() => ($test <<= new $test()); - } - function testdcc196789661cbfe8205d96cf5becdb048ca0c445d246da93fb0f05b24ce1f2b() - { - $this->assertTrue(true); - fn() => ($test <<= isset($test)); - } - function teste004fae39e3b58053b5aca2b0ac01b3512a6973a9b3e7d0d4d3e008c97c45386() - { - $this->assertTrue(true); - fn() => ($test <<= clone $test); - } - function teste133f87a1146fe79f812972662333685ed6e3b2d6266cd2fadd1de6b5ddcbd1a() - { - $this->assertTrue(true); - fn() => (clone $test <<= $test); - } - function teste3695d9c6f0c2ec7e3176a46795d334c27d96d3fe583cd47e730e53effb5b19a() - { - $this->assertTrue(true); - fn() => ($test **= $test ** $test); - } - function teste4087edd3b12a8e5d18a25e4aa1f35184f0db6d3b84ff035bfd9ffd31d9eb44c() - { - $this->assertTrue(true); - fn() => ($test <<= $test->{$test}()); - } - function teste4b229ba5738ae3e9f06ff4ed311346f86df404a1f6903aacc2c021a9c41deb8() - { - $this->assertTrue(true); - fn() => ((object) $test <<= $test); - } - function teste52ecf64dbf5762f19b603fd6850b880865ead08f54df500986d5e409d4cffee() - { - $this->assertTrue(true); - fn() => ($test->{$test} <<= $test); - } - function teste756e9ddd2a5a12f18b51388214a8d9792af614af54400f99f56396912106e47() - { - $this->assertTrue(true); - fn() => ($test ** $test <<= $test); - } - function teste801c19ded34c26b378580859b629ab8b007f2fab650ce632dd0411c1a643feb() - { - $this->assertTrue(true); - fn() => ((int) $test <<= $test); - } - function testea699dc6452e7bb56c71e501a483a3b9d23ef1fee5f86f184e45236e187e5a5f() - { - $this->assertTrue(true); - fn() => ($test <<= function () { - }); - } - function testec253387a3f481eb2d04756257e80439986b173069df3b001bb6b49c060d71b8() - { - $this->assertTrue(true); - fn() => ($test::${$test} <<= $test); - } - function testec4017c41c52512eaba5f8c3466853e2068921041d9bf9fdba7cdb31600fe25e() - { - $this->assertTrue(true); - fn() => ($test >> $test <<= $test); - } - function testee80e84b3de7bd96f3a38cb548e04ff0be8b8a7aeb2c714a644f40d02b5dea72() - { - $this->assertTrue(true); - fn() => ($test . $test <<= $test); - } - function testf54f2db5b316750b72ab70ffe3ab6a65fd01d380bbd2e2991af9d5eac0b81180() - { - $this->assertTrue(true); - fn() => ($test <<= []); - } - function testf594bdce3d8d11af12d2a99506687e96e6bdf26dc5cd164d67024f95f08a530d() - { - $this->assertTrue(true); - fn() => ($test <= $test <<= $test); - } - function testf749737396d21351cda04141f8a71629ddb6676bf578657a6be0c4dd84d9ac22() - { - $this->assertTrue(true); - fn() => ($test > $test <<= $test); - } - function testfcb6cde504f87892b5d939df6978593376637fb733c6b255cf5575f790afcf70() - { - $this->assertTrue(true); - fn() => ($test !== $test <<= $test); - } - function testffa4e4bc348e2a33ba56421b08b70080ad2d88c99d4775617de3399dcf0d5019() - { - $this->assertTrue(true); - fn() => (-$test <<= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test.php b/testsGenerated/Target/Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test.php deleted file mode 100644 index 93776d1b0..000000000 --- a/testsGenerated/Target/Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test.php +++ /dev/null @@ -1,513 +0,0 @@ - - * @license MIT - */ -class Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test extends TestCase -{ - function test01dc943c0b42f62a15470b7d8480bbc2313d2890d075f1782f9b43b8e12309c1() - { - $this->assertTrue(true); - fn() => ($test ??= __DIR__); - } - function test03237b90058800c7f440652831b46eefa6c0bcfead0ab030ddeb24b1fdc7128e() - { - $this->assertTrue(true); - fn() => ($test ??= $test << $test); - } - function test0530bc0c91071b59a95249bb45243753f29a8fda09b394431bcadeec397678f5() - { - $this->assertTrue(true); - fn() => ($test ??= 0); - } - function test08a32b90fcc3503e0ea819f16eb677e3ce4cea56d8b06820bab3d28bd11ac25f() - { - $this->assertTrue(true); - fn() => ($test .= $test::$test); - } - function test0949ae2d86c3822dad37f834ca2993940ba2c92e046645f04400b8f1bf546977() - { - $this->assertTrue(true); - fn() => ($test ** $test .= $test); - } - function test146dfec78497809c19fbb2ba9ba5f79ca759d7c3725e3d36041df2bbb50a60d1() - { - $this->assertTrue(true); - fn() => (~$test .= $test); - } - function test19300c9ad7ac704a5c2aaa969eb93d1ad6e3a87b35865fb51e8c7f5e9708802b() - { - $this->assertTrue(true); - fn() => ($test .= $test); - } - function test19c566000cb24c181b36163996372f7a5527ed970e9ffb6a2c82a0e2c60a811d() - { - $this->assertTrue(true); - fn() => (throw $test .= $test); - } - function test1e55352f3550144bbbfe2bc076bf564c25e639b0aa7c2ea72817b51c9c367b34() - { - $this->assertTrue(true); - fn() => ($test .= $test = $test); - } - function test202a89399e0ae05b1d065ec2bd5feb83bd756c0b3bc18cdaa77d3fd2ef430911() - { - $this->assertTrue(true); - fn() => ($test ??= (object) $test); - } - function test2033461c72f4c3dbe6236c11e528f927e45608fb1622e9760da6dd6b0588424c() - { - $this->assertTrue(true); - fn() => ((string) $test .= $test); - } - function test2277a974eab56dfc1fcedf31499977b4578b6cab942c6f27bd0bee9872756f03() - { - $this->assertTrue(true); - fn() => ($test & $test .= $test); - } - function test24561f8c965a1bc80690fb0587e148d0894aba9f27afa3792bee8e68672d7c70() - { - $this->assertTrue(true); - fn() => ($test ??= $test <=> $test); - } - function test2726334adc2e2ed9a65c256b1ef8e3cd7e000ff4da9e5e36e024ba939294eaec() - { - $this->assertTrue(true); - fn() => ($test ??= $test <= $test); - } - function test28255f641a13b8719a95b397c56fc233996fcaad187df2790a03cab56f7e99f7() - { - $this->assertTrue(true); - fn() => ($test ^ $test .= $test); - } - function test2ab2ae8cd69e2de260af5d5ec698e698fcb91708361754e1c61a49aab48fd811() - { - $this->assertTrue(true); - fn() => ($test ??= "{$test}"); - } - function test2b97174b96359b388f39f5ad452addcebb6b558ce9b792b77aa1151ccb6d11a3() - { - $this->assertTrue(true); - fn() => ($test ??= (double) $test); - } - function test317e738109f4dd1324545ab68908d52e35d6cd827fafab4d7fa2559d70fcb1bf() - { - $this->assertTrue(true); - fn() => ($test .= !$test); - } - function test344b262aa5e3e95943e8f35ef3abfe0c72d2e34bcc5a922f96753735127391c2() - { - $this->assertTrue(true); - fn() => ($test::$test .= $test); - } - function test34a397f3dca17b017e39924f7a18b9e8a91f8b728e3f19d3dc92602cc3673cee() - { - $this->assertTrue(true); - fn() => ($test ??= 'test'); - } - function test378c46f038b1c213ee9ba56a178de5734f94109ed1fd2ed808886e998f262351() - { - $this->assertTrue(true); - fn() => ($test .= []); - } - function test37c8bc561be164df0b61dea3e69fc520494ebdf3b6f3a6efe351f567e1182c51() - { - $this->assertTrue(true); - fn() => ($test - $test .= $test); - } - function test38a0971dadf205c11714a7f844df3bd18351955d638031a16666cb295bf9a24a() - { - $this->assertTrue(true); - fn() => ($test->{$test} .= $test); - } - function test38a5de9ccc482b03e5f253bda3ca26582f5d32a5c5321e2ba67ca1cca43f241e() - { - $this->assertTrue(true); - fn() => ((object) $test .= $test); - } - function test3955c148be282ab72855994a464579f88c3aaf3bbd41f74e581c9440c2069166() - { - $this->assertTrue(true); - fn() => ($test ??= $test ^ $test); - } - function test39f77c96ff0cbde36e73cb694b60ad4c2d6baabd97579a2834d894d6a5c930a5() - { - $this->assertTrue(true); - fn() => ($test || $test .= $test); - } - function test3c0b1a971dc64f5756d2ebaaeea9ecb6d59a4f95f1020fe25db165cb20bafdea() - { - $this->assertTrue(true); - fn() => ($test < $test .= $test); - } - function test3f502ec9e7e01113f531a5e60e81aada180bca2a5edae8a7115cfcfcafe92f7f() - { - $this->assertTrue(true); - fn() => ($test | $test .= $test); - } - function test423d1c2a30ce6ca30d4698cf56e4060c287d52e74aa348317870622d44452d76() - { - $this->assertTrue(true); - fn() => ($test ??= $test !== $test); - } - function test42b9a6fef2d90a615c24dcc0129fc98bc6eabd4a3ab541b346caafd04ce1b998() - { - $this->assertTrue(true); - fn() => ($test ??= $test . $test); - } - function test440e27805eb5503c4d975b32fe0507e90599cb432af26ac7243eb23dc8e98ca1() - { - $this->assertTrue(true); - fn() => ($test ??= $test == $test); - } - function test47dd81d6781ae9103e500913cf85a7f00b362eeb7fa1108805aec3aad8008d4e() - { - $this->assertTrue(true); - fn() => ($test ??= $test - $test); - } - function test493872b6de1f05d76813f6ac94fb3aa5b4f586df7d646c2d6984d56da02c7792() - { - $this->assertTrue(true); - fn() => ($test + $test .= $test); - } - function test5143733f1507e897a811ec7b4f2ac80a4589321e4e94cf5d249144e48b8f7984() - { - $this->assertTrue(true); - fn() => ($test ??= $test === $test); - } - function test54564faf761ab0540d35675a0d8c2a92813dd4eb42487ac05703b6c2786b80eb() - { - $this->assertTrue(true); - fn() => ($test ??= $test != $test); - } - function test570139aeffece588852856f98555042f8098c37d4d5e1a8433e36e42891c84a4() - { - $this->assertTrue(true); - fn() => ($test .= clone $test); - } - function test5dd043d4f730a4cd7c84f9f3965e6576865a7a9872453d2c32e698d9325f466f() - { - $this->assertTrue(true); - fn() => ($test ??= ($test xor $test)); - } - function test634acaac0f682ca7294edfee831fe846b7b128e7cc09a31f4d9e6f1f1a750735() - { - $this->assertTrue(true); - fn() => ($test .= ~$test); - } - function test689a10b91087a90f0e90dfc517d1606754446a184423f3523d62629b56306446() - { - $this->assertTrue(true); - fn() => ($test !== $test .= $test); - } - function test68b760cd5b20360dae8b0c011877da97b21db6282d79ecff22d783100c36a264() - { - $this->assertTrue(true); - fn() => ($test ??= (int) $test); - } - function test6a47f970aebd8484cc74125b273d723964b1b6479043cb1d11eb11dd388f615a() - { - $this->assertTrue(true); - fn() => ($test >> $test .= $test); - } - function test6f687967c42733dfac17c29780e974337278d4b5cedd8ae7460f10ce36b40ef4() - { - $this->assertTrue(true); - fn() => ($test && $test .= $test); - } - function test7021cf7686247a7f5965e549790982c9f523822d5b96d88b3ee9674758297bc9() - { - $this->assertTrue(true); - fn() => ($test::${$test} .= $test); - } - function test763048b5151f2ced121ad4da14916fad47f8e3c5d04b3cabcb05d436526123d7() - { - $this->assertTrue(true); - fn() => ($test ??= 0.0); - } - function test7e2640b749b1d85691474a6282a07bf37ee564a56dd440baa62d02487894540e() - { - $this->assertTrue(true); - fn() => ($test ??= $test & $test); - } - function test80db26ed38543904e26073469a1371ea8218bfa3529918f86169274c8120d78f() - { - $this->assertTrue(true); - fn() => ((int) $test .= $test); - } - function test8350ba00832fb4dd5413d5acb9aedb82c6bcf4ace52da65a0ae543e5f7a0cbf4() - { - $this->assertTrue(true); - fn() => ($test ??= (array) $test); - } - function test84d68041696f52561d6780d2b70ef7f9a18a9aa775267d284c6114393bb48527() - { - $this->assertTrue(true); - fn() => ($test ??= (string) $test); - } - function test8a2e2a2b0ef18c5df35a7fa532a6cf8c08ba8b404e4181da7f4178c130d6396a() - { - $this->assertTrue(true); - fn() => ((array) $test .= $test); - } - function test8b7a74a8573ae0e7cdfa464f80abbdd7092c2c937dcbbcf6343d8ee7beab3120() - { - $this->assertTrue(true); - fn() => ($test ??= $test * $test); - } - function test8ba698c9eeca5c07d6730e9ba4f8cba17fef1403eca29adfe66031c00791873f() - { - $this->assertTrue(true); - fn() => ($test ??= $test >> $test); - } - function test8bc0bc59ab67d86c0a73228ccbdc753176fb93dd82649c99c29467ecf5b41c62() - { - $this->assertTrue(true); - fn() => (${$test} .= $test); - } - function test91f0aa2ee28d7248d206cd0cee3927569f78275c7e059f7a221fa99d62e7ec7c() - { - $this->assertTrue(true); - fn() => ($test ??= __TRAIT__); - } - function test92df17020fe582d7d45ef4aad1f4e3e6da44ac02f2a43df6f830344effc4bbeb() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test .= $test); - } - function test949e58e8db9bc42f6d3c143a4e703ed5ed7957bcf3d4097a436fadacd3ddd0f9() - { - $this->assertTrue(true); - fn() => ($test ??= ($test or $test)); - } - function test96330cfe56a4d157d6d5e6a69be4c329c2fea4ac0e8ab8b2302b3db88340cf9c() - { - $this->assertTrue(true); - fn() => ($test ??= $test || $test); - } - function test981e1875df6ff3a34252245b62802eeb0eaea30bd3a24ecb5149a76aee3276e9() - { - $this->assertTrue(true); - fn() => (@$test .= $test); - } - function test985ef278d900a316d1a387ffd5d0bf99acd82186abdb08771ae699def4351eb4() - { - $this->assertTrue(true); - fn() => (!$test .= $test); - } - function test98da8307b4b7cc9736415c3c9d5bb4b41f560036bf78fed19f714964ce5df780() - { - $this->assertTrue(true); - fn() => ($test ??= __LINE__); - } - function test9d038580afb5f37364ec1389c56a747844c4f29e3ea7725b0ef06d7847f2a094() - { - $this->assertTrue(true); - fn() => ($test === $test .= $test); - } - function test9fb091f241cfe302ed04749846257fca08f5f7b471e5665ddf6ed44301aa52dc() - { - $this->assertTrue(true); - fn() => ($test ??= ($test and $test)); - } - function testa10e2a208b6167d9999380334e2f8ea79de27b3084fdad255e52f1c5e639e3dc() - { - $this->assertTrue(true); - fn() => ($test ??= $test >= $test); - } - function testa1d724c2b39d386438c83bcd49a5d7e0549e08a3b6fd1bda46d3334c86b2130e() - { - $this->assertTrue(true); - fn() => ($test ??= $test ?? $test); - } - function testa1dd9f24ebf36eea90f7fcc5c574fef2e578dd78c4b743aeab1c09592c607b5e() - { - $this->assertTrue(true); - fn() => ($test ??= $test ** $test); - } - function testa29a4386c55d9a292de74b2e043287b66299c36a95a3e6a8be1c05a2e2775feb() - { - $this->assertTrue(true); - fn() => ($test / $test .= $test); - } - function testa2a07435c8dbe64de08056f024eac57b617ae17b9783d69b2a8ca2a2d48a09eb() - { - $this->assertTrue(true); - fn() => ($test ??= $test < $test); - } - function testa39d51415f8ea7b28a8896adee786a0438e27c2a08b053de944579777be9540d() - { - $this->assertTrue(true); - fn() => ($test % $test .= $test); - } - function testa6803ad6815d0d5750c5ef46ef18e7e9ce8e8864b779e454c8c3ba075f439d06() - { - $this->assertTrue(true); - fn() => ($test <=> $test .= $test); - } - function testa8c3140c83470e87f869cacc20df2dc29f5bb1f48e54cd7feb2cfe7192706c22() - { - $this->assertTrue(true); - fn() => ($test ??= __NAMESPACE__); - } - function testabf7a0bf6811aedaf406110dd7dde7a12ff23280fd654fca67a5299b8b4177d5() - { - $this->assertTrue(true); - fn() => (clone $test .= $test); - } - function testae152d714eccf38a08623c051648139524cd743fc605aeb1ab25fa841983db22() - { - $this->assertTrue(true); - fn() => ($test ??= __FUNCTION__); - } - function testb527fd8a81e8d75f5c6c7f609eb601478bc9ba852c48bb626aca2a3926af439b() - { - $this->assertTrue(true); - fn() => ($test ??= $test + $test); - } - function testb669cb55d5494c8110f391e19139554d02424ec36bb71916c2ec059a7af0969d() - { - $this->assertTrue(true); - fn() => ((bool) $test .= $test); - } - function testb71d53a4822ffd335cb4dd200e79850c0ff482259f3d5adb234ecd36bb2b4026() - { - $this->assertTrue(true); - fn() => ($test * $test .= $test); - } - function testbd2948679dfa1a9d01946a545861de72428450ab70a4a54b892e3e9336d8b9bf() - { - $this->assertTrue(true); - fn() => ($test <= $test .= $test); - } - function testbf8a1b8798b23c3dc966d7294b30b2114a6220290f26e64c743117de1593c193() - { - $this->assertTrue(true); - fn() => ($test .= function () { - }); - } - function testbfa914609b482bc67f3701d46b9b655ffc13aad83693e9fd34e7eea84e200be3() - { - $this->assertTrue(true); - fn() => ($test ??= $test > $test); - } - function testc0444454faffb2eae5df7ffa20a4d25e4ccea11431a7d31ac82d6ec560120cfc() - { - $this->assertTrue(true); - fn() => ($test .= $test =& $test); - } - function testc2210bd6b041c645931828bef4a9bd4ce0fd5af3dc6edcc17a30f6abca3380d9() - { - $this->assertTrue(true); - fn() => ($test ??= $test % $test); - } - function testcb9229fc6e46b3510463cd888bc4102595e65900372c4b2eafea80be2e3dd264() - { - $this->assertTrue(true); - fn() => ($test >= $test .= $test); - } - function testce91ee2468894ae7996c4d2630efc6cfe335f130014f5d25182363b9fed7b188() - { - $this->assertTrue(true); - fn() => ($test ??= $test / $test); - } - function testcfbb831b628a26140b18d6b1a989f59a48821490899f9b779d3c29e884fdfe1f() - { - $this->assertTrue(true); - fn() => ($test ??= $test <<= $test); - } - function testcff8b7c45c833864c27b9e209fbee30e6071502a9560337fc1a0c88931e2565e() - { - $this->assertTrue(true); - fn() => ($test ??= $test && $test); - } - function testd0b6f022f64d3b877687d66ba07160a91dfab6c2a11c2cbea95896f684e64f81() - { - $this->assertTrue(true); - fn() => ($test ??= __CLASS__); - } - function testd21b960e08a340367eab935834cb026e4903c7a1995f7038c71769c1738e47e1() - { - $this->assertTrue(true); - fn() => ((double) $test .= $test); - } - function testd3e94d04636a618e3a7ee35284dfa0f9fea6ab539f7477081380fe48e346c78a() - { - $this->assertTrue(true); - fn() => ($test ??= (bool) $test); - } - function testd43bb632368f10177dd55a2482ef5730ea3d1c10ef9074cd297e644ef8d9ef08() - { - $this->assertTrue(true); - fn() => (+$test .= $test); - } - function testdc992c004a8a6436d1661ca2233a9b69c225493ad4ab6a273313d63028926448() - { - $this->assertTrue(true); - fn() => ($test . $test .= $test); - } - function teste1bd73d1a658383b96d836677cf5271f4775d32c4ae485b57cc0c29b06e8fa05() - { - $this->assertTrue(true); - fn() => ($test ??= $test >>= $test); - } - function teste21995b657eb7c068509c1c305dc8dccd59f7c5a8fafcb212ba7de11088f69c6() - { - $this->assertTrue(true); - fn() => ($test > $test .= $test); - } - function teste273b3f7508d9f4511393c563c390f88ec103ad79910f248d358bbe5b82de731() - { - $this->assertTrue(true); - fn() => ($test << $test .= $test); - } - function teste5655b2bcda5e24ca5adcde407bd3f1eef93d599a055ed21aab807cbe0a8b870() - { - $this->assertTrue(true); - fn() => ($test ??= $test | $test); - } - function teste7a41263243aa7dd2302b3d566c915c52937c996dcfb9816c1eea3b471c9139f() - { - $this->assertTrue(true); - fn() => ($test != $test .= $test); - } - function testea69ee528ba4fb917ce7380425585eeeca1f99e9232123904a1ae7d28b537a5b() - { - $this->assertTrue(true); - fn() => (-$test .= $test); - } - function tested4be9abcae89c7dfdee252c9a2c7ebc311bb93b150aacd71f0a5665108abb13() - { - $this->assertTrue(true); - fn() => ($test ??= __METHOD__); - } - function testef2b3672e3c9ee74d2bd24696a81942a819643d80c3fd906833c4bab3d131316() - { - $this->assertTrue(true); - fn() => ($test ?? $test .= $test); - } - function testf020f705cc5eac923ffaced4323624944399da59591944bb35d20a5956a8b9d8() - { - $this->assertTrue(true); - fn() => ($test[$test] .= $test); - } - function testf134b4aeeb902038784a6c37adbc6bb4b27a5c08bfb54e693bfbf166a4e1b122() - { - $this->assertTrue(true); - fn() => ($test == $test .= $test); - } - function testf5dcfba0fffca6edbd00b1899b500c8045328b7959ca26a2213fe95539094f7e() - { - $this->assertTrue(true); - fn() => ($test ??= __FILE__); - } - function testfc6b02ffd77637feb983b33959e22bd14f4613ec4f9de06e9ef152f3c8cf555b() - { - $this->assertTrue(true); - fn() => ($test .= $test[$test]); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test.php b/testsGenerated/Target/Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test.php deleted file mode 100644 index 6961b43e7..000000000 --- a/testsGenerated/Target/Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test extends TestCase -{ - function test04bcdc0548a5fb0803beb101c11c312469ef0940cdfc379ad254aa9208fd36e5() - { - $this->assertTrue(true); - fn() => ((string) isset($test)); - } - function test062eea67ea2859c50bb6793235fcc2e9bcceb63b5413498e618298c3f5a36cf7() - { - $this->assertTrue(true); - fn() => ((string) (!$test)); - } - function test06519f44ff53cd13a5a57ce10ed90a15b78663f60a0a72d22c5e2d8e772d9994() - { - $this->assertTrue(true); - fn() => ((object) ($test or $test)); - } - function test0b9d5e274b79404a107bb03b57fd714ca02fbb231251e7bd56ad6d122a26ffff() - { - $this->assertTrue(true); - fn() => ((string) ( $test)); - } - function test10194a8e973f699b9a077e631c2ec331282cd077bfb4d5753ab622fa9d01dcab() - { - $this->assertTrue(true); - fn() => ((object) (array) $test); - } - function test11198795c098c78519e35613d21ade235ecccda57ce2eec86a0121435f4670fa() - { - $this->assertTrue(true); - fn() => ((object) ($test != $test)); - } - function test1209b58e0c1fb23df50aa8ca594af4ecc884fa524c28213d1b4924fb681f5e6b() - { - $this->assertTrue(true); - fn() => ((string) ++$test); - } - function test121497e802704bfb96c1498a11e74fa9a34338b458c8845451b676a79580ad1f() - { - $this->assertTrue(true); - fn() => ((object) __CLASS__); - } - function test12f2f753fe98a95b76231a041b645ea5fb9d4137ba7540bab493f2dbfa319573() - { - $this->assertTrue(true); - fn() => ((string) ($test ? $test : $test)); - } - function test149ab73cdc545e1e24340efab44f8ed0d58be35c9fe153ea5558a592235b5cf1() - { - $this->assertTrue(true); - fn() => ((object) ($test - $test)); - } - function test1797672c75a1b66015a6b4eeb62edd41eb561dc152c16b894fd369cac1f5ce48() - { - $this->assertTrue(true); - fn() => ((object) __LINE__); - } - function test1e3b431c92800251025c78adc7d19d2107e055f624bef7d30e5a60a150220158() - { - $this->assertTrue(true); - fn() => ((object) ($test >> $test)); - } - function test272ea90e262efbe7e23e0e05f34b3cfa6e83b49f2f8a4c7038b7662fe07bc242() - { - $this->assertTrue(true); - fn() => ((string) ($test | $test)); - } - function test27ba08e7cfb468c53200c254a2aae692ac9b5e4a742b9074ad0d959e8e15470c() - { - $this->assertTrue(true); - fn() => ((string) ($test && $test)); - } - function test287321015d80e127aa8fbce6ae70956b3fee2a25c3989f6172a24c9f642ee22a() - { - $this->assertTrue(true); - fn() => ((string) ``); - } - function test28dee391d7f913c268d8e81bfcba56de322dae40d0475721ed5869ef1d135c9b() - { - $this->assertTrue(true); - fn() => ((string) @$test); - } - function test295fad0f8561d747edc82eb6896c54af4d68b7e5a687f24c4bb02db54ca5e2b7() - { - $this->assertTrue(true); - fn() => ((string) ${$test}); - } - function test2b5947d692facc846f912a4ebd02eb47afa11406690adaaaa3299a0288e2e7df() - { - $this->assertTrue(true); - fn() => ((object) ($test >= $test)); - } - function test2e981bcd148a15c61d0e0809b2eb262e1473863e33a523181967ffd1971caad5() - { - $this->assertTrue(true); - fn() => ((string) ($test -= $test)); - } - function test30547f236322b8c74de08847542eaad4ff71928ff6481acf26da47c3c186623d() - { - $this->assertTrue(true); - fn() => ((string) ($test =& $test)); - } - function test30a0ab167d29f624a1a01c21f7dd4df00ec92d8dbd362a34cc5fbd18ed73e06e() - { - $this->assertTrue(true); - fn() => ((string) ~$test); - } - function test339b34282257549bfae5857befba5a918fcf237f9422faeeb9e8a4bc81c946fd() - { - $this->assertTrue(true); - fn() => ((object) ($test . $test)); - } - function test34b2d63a59e3b0e38a0fb368e86f2e3bbb6b65e357c18f92edd066fa0ef099b9() - { - $this->assertTrue(true); - fn() => ((string) $test::$test); - } - function test3be7e83add7a94d3198ed529275f48d3026db9d8c70f0e83d7a9a66bc5c8ded8() - { - $this->assertTrue(true); - fn() => ((object) ($test xor $test)); - } - function test4050439596cb7da86f2ce771485ca78dbea2454f4e9cc4693d2389dc007aa4f6() - { - $this->assertTrue(true); - fn() => ((string) ($test **= $test)); - } - function test42e5a329a69091e7cda2e82794bfd391b405897963d4a3d7557bdcec305691a3() - { - $this->assertTrue(true); - fn() => ((string) (yield $test => $test)); - } - function test473d41d230b693730cd4ec0ad2b9abb480415cce48e2d511f26c543aa656faf5() - { - $this->assertTrue(true); - fn() => ((string) $test?->{$test}); - } - function test4b6dcff976f7e3ae78c06dc2e46f49847331cb0894dfb02a4785773544e4ec20() - { - $this->assertTrue(true); - fn() => ((object) ($test << $test)); - } - function test50907c8035a9fdb9b7b372ec6dd883fe88607cc46d31130d1bf01efea5fce18e() - { - $this->assertTrue(true); - fn() => ((string) --$test); - } - function test5294a1fcf7904440f88b178ab06024680cefffa463706f6d5d3d7881cc5b0316() - { - $this->assertTrue(true); - fn() => ((string) ($test |= $test)); - } - function test52d6e8aaeae57f9732c6bcd53cd26c65f50fd40f6dc5562b74a7b67daae1c2f7() - { - $this->assertTrue(true); - fn() => ((object) ($test == $test)); - } - function test5715b1043c33812919b5181645effa5636713767665344497027a679e6fd2386() - { - $this->assertTrue(true); - fn() => ((object) "{$test}"); - } - function test58456cde18ec6157be0f3ce9003194288aada724e67a32c5e582aef91c505f12() - { - $this->assertTrue(true); - fn() => ((object) 0); - } - function test5939644ee2c30885249ca35bcb44af72f12361d62eb25e9d70ceded6fe8db5f4() - { - $this->assertTrue(true); - fn() => ((string) ($test instanceof $test)); - } - function test61dd9694314901bf0aa6ea0b58e32031f898bafafe2a51d3fae3334f2c6319de() - { - $this->assertTrue(true); - fn() => ((string) $test()); - } - function test625e39897f0a30c885cd2cfa96fc2fcbdd546502764ccaa884737a7e2bdcf1f8() - { - $this->assertTrue(true); - fn() => ((string) ($test >>= $test)); - } - function test6475349c57b7b21817e95e75ee50e0936628da72ec3f27c58f0155a6fcf59a78() - { - $this->assertTrue(true); - fn() => ((string) $test->{$test}()); - } - function test64be1054d2fdb0aae9bc7ca61fd6355a6bd264bec42946f6d279377f057f2d89() - { - $this->assertTrue(true); - fn() => ((string) $test::${$test}); - } - function test6aaebb997141eedea4d3260f3edda018c6c64248a69bf4aa8fbe8bc4c780056f() - { - $this->assertTrue(true); - fn() => ((string) $test->{$test}); - } - function test6e3ada4a5ff103f693110cf8292ce20deaf0bc07dbe614547ca2d6f65cddea62() - { - $this->assertTrue(true); - fn() => ((string) $test++); - } - function test6fdb45862361aee0551f4639be5d093b4ed41b642143b86752d13c7a92c1a784() - { - $this->assertTrue(true); - fn() => ((string) clone $test); - } - function test70adf16189d121e24a72beeec037ca8a3ea349c0a4e7daaa8c363eacf4555f7d() - { - $this->assertTrue(true); - fn() => ((object) ($test === $test)); - } - function test756a9ad42936792934ccf954f20541457ec9a8a00b01eb495b931b47e568e08f() - { - $this->assertTrue(true); - fn() => ((object) ($test < $test)); - } - function test780599d237ae1b9677bacb280bafbdf7e04fc6fe923d38652dfa5e28c8c696b7() - { - $this->assertTrue(true); - fn() => ((object) 'test'); - } - function test79b51b43503f69ed36178fe4fb5ca81e98cdb12ca80aadf06eca36bc317c8d7b() - { - $this->assertTrue(true); - fn() => ((string) +$test); - } - function test847ce4162a486569574fdc6fd2951a5a59216d84010e549eca434d4e7134f667() - { - $this->assertTrue(true); - fn() => ((string) ($test += $test)); - } - function test887fcadf906f9d7ce36afb92ec6475cb3b4638b6f3d8766fbe54f38d65fab9ef() - { - $this->assertTrue(true); - fn() => ((string) ($test %= $test)); - } - function test8cb1dafbc4ee044ec778be42045a0357d5f8cf958397c6615faf0bc56c973b81() - { - $this->assertTrue(true); - fn() => ((string) ($test .= $test)); - } - function test8cc55c636b1961efb5de8d47fa69950c84040ca689ae0edf442541327f7bf3dd() - { - $this->assertTrue(true); - fn() => ((object) ($test + $test)); - } - function test8cca728dd9dedc7f323708efcafc27f5d5953159e25d1edb2f2da47f9955f460() - { - $this->assertTrue(true); - fn() => ((object) ($test <=> $test)); - } - function test8d3193c8a33fbfcbaca729e1f00eee13e2797dbd891797416fecb5e020899202() - { - $this->assertTrue(true); - fn() => ((object) __FUNCTION__); - } - function test8ef565f157c3e049269a099022a6770e2b3186287bbc32cd8307a42f802a7e09() - { - $this->assertTrue(true); - fn() => ((object) __NAMESPACE__); - } - function test901cc129a15e418d346d6f3a2657cebb182fe8c4d77b5d4a85e75d2b49298e3e() - { - $this->assertTrue(true); - fn() => ((string) new $test()); - } - function test904a69857ec5c33dc9771921d624d539df8363b4b630e894a0c930ac1c6f0207() - { - $this->assertTrue(true); - fn() => ((string) ($test ^ $test)); - } - function test94237cc6d8b0f60a80a81770c10047fdb00fb9897b6d61c5f492507eb4d820f5() - { - $this->assertTrue(true); - fn() => ((object) ($test <= $test)); - } - function test952195e6e9e59229f499d96e83164036dbfd91c0795399cb4c8fe08cab6da08c() - { - $this->assertTrue(true); - fn() => ((string) ($test *= $test)); - } - function test9711936bdae5a460abf690bcf15f81afc9a371dd7bf76b73217267b079d47628() - { - $this->assertTrue(true); - fn() => ((object) $test ** $test); - } - function test9cf4c2a3cd5db0a8735159337fde48bc310700f3bd0001bbd35682573c0bd711() - { - $this->assertTrue(true); - fn() => ((string) ($test ??= $test)); - } - function testa1259556539db456e6bbb1431a1f78cdc0aa6370409839cdb339cf91ea5088e8() - { - $this->assertTrue(true); - fn() => ((string) self); - } - function testa31148d636162af6e88e5959f512cc8d99425c490864785032a7bf625521a53d() - { - $this->assertTrue(true); - fn() => ((object) ($test and $test)); - } - function testa3b2df0c12e341bd249412bee36de4dd8f8a31bf18f6009dea752a486d2fb3e4() - { - $this->assertTrue(true); - fn() => ((object) __DIR__); - } - function testa65d30e235e64b533ec3306dcf5453ae621e4cc69850e14d4058b2d19f23b7f2() - { - $this->assertTrue(true); - fn() => ((string) ($test . $test)); - } - function testa72e6cdf68e711133bc960cda3f72645df12c6ff3e50594b7f7f465c3df694c6() - { - $this->assertTrue(true); - fn() => ((string) -$test); - } - function testab578b304f2e9fa7f550fc1b9763cef0dd4d85c78052e205b072942a7bf023b6() - { - $this->assertTrue(true); - fn() => ((string) ($test ^= $test)); - } - function testadb02d48d718e4ca8b5409c722509cf753a090e535d89862ed5c7657ce10c11e() - { - $this->assertTrue(true); - fn() => ((string) ($test &= $test)); - } - function testb17f8c3f2465f57cf6251555e34147b7a973bf114b2dfc844d773cd3f944b2e7() - { - $this->assertTrue(true); - fn() => ((string) empty($test)); - } - function testb404d686842012cbe9f7b13fa74e226263bc13bc574cc5a06d35c90fdee5108e() - { - $this->assertTrue(true); - fn() => ((string) $test[$test]); - } - function testb97b9cd4ec0301da34fd12533253759bee5362b4de6f3dbef31221f94b69cf33() - { - $this->assertTrue(true); - fn() => ((string) ($test == $test)); - } - function testba8deffe2fb722ed43daa2d75004e6d8714cc739225b7e32a8ecc4c26f8a4c1b() - { - $this->assertTrue(true); - fn() => ((string) eval($test)); - } - function testbac0b0b52a04807da490ba46a649ee1a1b857cf4558343c5dd93eb978cd12282() - { - $this->assertTrue(true); - fn() => ((string) ($test / $test)); - } - function testbb0452dce14323cbf89f33bf1d8117445637cfa04794fa1914c982545d55d1f6() - { - $this->assertTrue(true); - fn() => ((object) ($test % $test)); - } - function testbb4fc221e39ca68929d736beaba2a765e4c100a416bc5dcaa1afa1e2eca802cd() - { - $this->assertTrue(true); - fn() => ((string) (yield from $test)); - } - function testbc83f692ff277add455d8132fe2cc35257c223bee5d71251b4d6219844203907() - { - $this->assertTrue(true); - fn() => ((string) ($test <<= $test)); - } - function testbee72b7dea82e292777ad6b818187ced9cad8520238c3c8fe18e784c11b5a213() - { - $this->assertTrue(true); - fn() => ((string) ($test /= $test)); - } - function testbfb1b3dcf85515d026d461112e39c8b264671b089bde24b5c6841e5f0f7aa783() - { - $this->assertTrue(true); - fn() => ((object) (bool) $test); - } - function testc0b4ab3af238b4b20f64afd1794fc478adb66619454165dcf008f1bf57244e42() - { - $this->assertTrue(true); - fn() => ((string) ($test = $test)); - } - function testc77d99369ad477b87a4e9331a1080fd8b08dc387a5c0f69f63a7aea6f0be5a48() - { - $this->assertTrue(true); - fn() => ((string) match ($test) { - }); - } - function testc8bef29fe22b4309c7d4c910ca50cf032668c499175e7f46fec55f3705f13628() - { - $this->assertTrue(true); - fn() => ((string) (print $test)); - } - function testcb7d402091b128276590311b261725523f0023b6f93e597a71f026236bfef7a5() - { - $this->assertTrue(true); - fn() => ((object) __TRAIT__); - } - function testcc0a456fb039b1622a138f3610963383072452b088fefc208f5d63cf10613ad8() - { - $this->assertTrue(true); - fn() => ((string) ($test || $test)); - } - function testcd851ccab1def3b9e0ef483ff9e184db373be100109e075ff70491b3ea4820d7() - { - $this->assertTrue(true); - fn() => ((object) (double) $test); - } - function testcf3d74414535f196f3678fe21c7efc00e39ff93f510db4e8cbe8a9597afc8e47() - { - $this->assertTrue(true); - fn() => ((object) ($test !== $test)); - } - function testd8b6719905b571c4c81a6da45ff6953a7c75ccd9699ae56527766946c137389d() - { - $this->assertTrue(true); - fn() => ((string) ($test ?? $test)); - } - function testdcfb19c99dd0f1dec1d49a563936c58009d5187fee503c27ca2e2bc5c02b3ca1() - { - $this->assertTrue(true); - fn() => ((object) 0.0); - } - function teste0334d17b6c8015c98da059c4ed91996a8fcb47bb2e44455da14693cf319d3a8() - { - $this->assertTrue(true); - fn() => ((string) $test?->{$test}()); - } - function teste0f22785bc6b3f9c3bddd261a36734f3e60d65d749837abe694ceae49ed8a502() - { - $this->assertTrue(true); - fn() => ((object) (int) $test); - } - function teste252fe9c62c8224cd703ea497fbcd7ec2a1c029a6ffc75d365caee30f29552f8() - { - $this->assertTrue(true); - fn() => ((string) $test); - } - function teste467e2f9025ba19e2006785e0777970e79e05a09684bf0e615da02c2d36915b0() - { - $this->assertTrue(true); - fn() => ((string) []); - } - function teste71a0572aceb4ef3db71a6d8e8eca67517c1ab520f40b28f3c6badebe706c4db() - { - $this->assertTrue(true); - fn() => ((object) (object) $test); - } - function teste7f351bf29540ac924b481b9b8c2140a43b7d7745f64aebf1f8324c0d8cafbf6() - { - $this->assertTrue(true); - fn() => ((string) $test--); - } - function testeb3d2a2a0a0b772428470a30786b7d262fb8b97dc634071d3647b41607dea481() - { - $this->assertTrue(true); - fn() => ((string) throw $test); - } - function testef778b2efb3bc07dcbec41416be4a5d2db08a483b9417816b6b8c2dc7ce27465() - { - $this->assertTrue(true); - fn() => ((object) ($test / $test)); - } - function testf288917ccb41a3b88fbf7dacaf0d3479fbadb5330fffbefbbe7d0072fa5eb2ee() - { - $this->assertTrue(true); - fn() => ((string) $test::$test()); - } - function testf3b322d4bba05145f9b25fa14e40296788e2966e116b2fb1dac31398b1828437() - { - $this->assertTrue(true); - fn() => ((string) function () { - }); - } - function testf3d1a91ef865a2b15d14d107416d256ffa77f73c6b4c8fec4c2ca3cec19f98cd() - { - $this->assertTrue(true); - fn() => ((string) ($test & $test)); - } - function testf3fb8a2fea057071fa64c8fe6bcdd76ce31d8cbb88bff28a4e2fbcf6afd0edea() - { - $this->assertTrue(true); - fn() => ((object) ($test * $test)); - } - function testf53de706ee42f065dababac8d8a9fccdecb17d9dedc4d765cd8819680b4e29aa() - { - $this->assertTrue(true); - fn() => ((object) ($test > $test)); - } - function testfa96663c1c07dcd09ff074fdf153a1aca28881b671965a0974136799a82b9b94() - { - $this->assertTrue(true); - fn() => ((object) (string) $test); - } - function testfad00e1b204f2a5ab3db0a9480ebcd870aa7ecec8e62c4a6906ea43103b8cae4() - { - $this->assertTrue(true); - fn() => ((object) __METHOD__); - } - function testfb508d2967166f28c2f60bd4170672dc1f8645fe912fe1ff80fce51900eb0902() - { - $this->assertTrue(true); - fn() => ((object) __FILE__); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest.php b/testsGenerated/Target/Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest.php deleted file mode 100644 index 928bdf94a..000000000 --- a/testsGenerated/Target/Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest extends TestCase -{ - function test03ec608b9297f0f838295d3926c8d2af884fcf41aafbe2db178d811a14989afa() - { - $this->assertTrue(true); - fn() => (isset($test::${$test !== $test})); - } - function test0535e993ff7e09a8e31afd20cf0bf199629e42c17e7e476221208c0677ca3fef() - { - $this->assertTrue(true); - fn() => (isset($test::${$test -= $test})); - } - function test07b2b41bd03c64adec1bec196c919b6a1ecc07bb8626dc71344a84c2f30b13d0() - { - $this->assertTrue(true); - fn() => (isset($test::${$test /= $test})); - } - function test08863d3ee1bc8341dd2d1e5fa47ea3c8ba98deeb4f0ca085ebd7c33718c97fa8() - { - $this->assertTrue(true); - fn() => $test::${0}; - } - function test0ae96e869544f50877d657b6ca7b8c7e133226bf9f63f18576175cc1ce8c267a() - { - $this->assertTrue(true); - fn() => (isset($test::${0})); - } - function test10a94d512dc69c5cf3fc56fc2ae13c3c178ca9a33536a7bb05b8f8aa922fd68f() - { - $this->assertTrue(true); - fn() => $test::${$test <=> $test}; - } - function test1144dfd7f250ec03705aa313efdf1706b9fe3e90e10a12473ef1bfe8d8e50908() - { - $this->assertTrue(true); - fn() => $test::${$test + $test}; - } - function test14eb81513e29082ef93113ead16a3e234ee44473ed56523ceb7fdd25b9f7bd68() - { - $this->assertTrue(true); - fn() => (isset($test::${$test / $test})); - } - function test18f97301f1831d7d49f344595d22489c06d499d2530443317acc37bedd774f48() - { - $this->assertTrue(true); - fn() => (isset($test::${$test . $test})); - } - function test1b86e6a2057471b987b7de49f0aef4feb0eba73ce2f04d945c5bfe5ebb6bdc19() - { - $this->assertTrue(true); - fn() => (isset($test::${(int) $test})); - } - function test1be9eb60b0426f6ac4dc1a61754382ff591a326b01a069e6f1dffcd5f0cdc2b1() - { - $this->assertTrue(true); - fn() => (isset($test::${"{$test}"})); - } - function test1e01c707a36e3c130f1aca00348a4b9ad5f874da10d43ee8485e619b5e36099d() - { - $this->assertTrue(true); - fn() => $test::${(array) $test}; - } - function test1fe2679c605efdb8e7703364b7a69285db573b4066fa6494b2c74415e37f1716() - { - $this->assertTrue(true); - fn() => (isset($test::${(object) $test})); - } - function test2437ba923d02a0324eb1693240e0337b7ee49559fdfa2ac28ec5debd9e79e121() - { - $this->assertTrue(true); - fn() => $test::${$test > $test}; - } - function test2538049e50acef7d184780b67b443bd27684da8e7d3a35871c82a6e91fe253d8() - { - $this->assertTrue(true); - fn() => (isset($test::${$test << $test})); - } - function test29082563af03a6512d3e4866546ec3a53723abb5f0bcba86a25b8b94b87216b5() - { - $this->assertTrue(true); - fn() => $test::${$test .= $test}; - } - function test2a01572bb5fc2e046aba3314de03810a3a3ac6c5a91a72293dadf7232ea038fe() - { - $this->assertTrue(true); - fn() => $test::${$test & $test}; - } - function test2d41a9c289fc1a14da79ddcc5789cfd091673772e65af5892f426fea12226599() - { - $this->assertTrue(true); - fn() => $test::${0.0}; - } - function test2f882faca0fbe429c7e5bbdc1cf202f85898c2689e6dd7937dd97a76dfe7bba2() - { - $this->assertTrue(true); - fn() => (isset($test::${$test >= $test})); - } - function test2ff605bc566e11a9a5bda253c29b731d1ddacd9a69a640fb6431415d240409b1() - { - $this->assertTrue(true); - fn() => (isset($test::${$test xor $test})); - } - function test325a93564251ee0b697e6c2df8fe69aedf4f08cd787d466f0b548a5e7e2ef25c() - { - $this->assertTrue(true); - fn() => $test::${(yield $test => $test)}; - } - function test3414c5048be417bc4dbd008d1300852ebe619eac3ac25637bac137b914d2e99a() - { - $this->assertTrue(true); - fn() => (isset($test::${$test == $test})); - } - function test36983a09cffb672df2678852e9ad67a8ec25a0cff6008272c621ef1a74f4e383() - { - $this->assertTrue(true); - fn() => (isset($test::${$test .= $test})); - } - function test3cce474da58d87d59f6e9d6995ba9807a3ce7d189c7fc3e8a11add64b039337b() - { - $this->assertTrue(true); - fn() => (isset($test::${$test and $test})); - } - function test3d2f798141db0646927847d267e44674ef5ee24d3cc79cd954cf62b348d7558b() - { - $this->assertTrue(true); - fn() => (isset($test::${(string) $test})); - } - function test3de5193a978e1b123c7de00fa30c2a81c89db5609f83436052d316eef20ac0d2() - { - $this->assertTrue(true); - fn() => $test::${$test or $test}; - } - function test3e496c110d7cf536803230723840baf11373419215bc69fddc18359c50d4262c() - { - $this->assertTrue(true); - fn() => (isset($test::${$test % $test})); - } - function test4033603fbb034042e21cd70554ccb10a13490534c68429c9913dc9273d04c0c6() - { - $this->assertTrue(true); - fn() => (isset($test::${$test <=> $test})); - } - function test428a8be75eaa81f9758b6ab503f5b65e32276235dc642d9146120e5c66c4658c() - { - $this->assertTrue(true); - fn() => $test::${$test >= $test}; - } - function test4786f90641527eb93a239aab9f8cf378ebb26fbcf2fa21adabc8845cebf76c01() - { - $this->assertTrue(true); - fn() => (isset($test::${$test |= $test})); - } - function test4d804dc9c249b81d28b8d68541ae14be84804271ce3f10be12743ab8e0a899c8() - { - $this->assertTrue(true); - fn() => (isset($test::${$test < $test})); - } - function test4ff97f9d9ed5c8fbba90b3ef061a5c8cfcbd6e9d30509fa7e3cc68fd8ee52b71() - { - $this->assertTrue(true); - fn() => $test::${"{$test}"}; - } - function test50877778794c102b760a4d3ff17d01416425c3f7bfb15cbcc87c427e4f697e92() - { - $this->assertTrue(true); - fn() => $test::${$test ?? $test}; - } - function test51c0cb2f5ec60bcffc44ef92a02a992101dea323deb1d414bedd0fe51cc17428() - { - $this->assertTrue(true); - fn() => (isset($test::${$test >>= $test})); - } - function test5575933f020afc3e430f7852700aa2dfa00fa430c54aa11405b4d2bd221ec726() - { - $this->assertTrue(true); - fn() => (isset($test::${$test | $test})); - } - function test56191939db6d5081dbde408f93f917acc9daa2b478669749692ad98fc19b02c6() - { - $this->assertTrue(true); - fn() => $test::${(double) $test}; - } - function test5653e9aa53e8c5d8bdc3b1cd5fc102155ce88206714590ed34a560a2358890dd() - { - $this->assertTrue(true); - fn() => $test::${$test ** $test}; - } - function test5675e6b5098b954daaafc324ca96d318098c021fd709048392850f2f1a65dcc5() - { - $this->assertTrue(true); - fn() => $test::${$test | $test}; - } - function test56de9972251272923fc134248dfe8f7344feb2a8be3fbeec8dede4feb55e74d7() - { - $this->assertTrue(true); - fn() => $test::${$test <<= $test}; - } - function test5859f3441cda54ca1df344cc89da1be5be1bced2b62a1c70587dee792933aeec() - { - $this->assertTrue(true); - fn() => (isset($test::${$test **= $test})); - } - function test5985522cfcd00bb9ab32f141e76b7b7b15fb397167e7cdf3ad978dcddc38be48() - { - $this->assertTrue(true); - fn() => $test::${$test -= $test}; - } - function test59a2247f303643d101ece03f4c36580737259dfc1201bd032747b77d7b76bdbe() - { - $this->assertTrue(true); - fn() => $test::${(object) $test}; - } - function test5a0cf00e8e8d0bd3f657686d1d87c6aa6a02316557b84e02bc804e9c4bb2ab7e() - { - $this->assertTrue(true); - fn() => (isset($test::${$test > $test})); - } - function test5b3ec2cf1b37c38afe4ba98b52cabfc02dbaa5678ea751c008cf28c7e78622ba() - { - $this->assertTrue(true); - fn() => $test::${$test * $test}; - } - function test5c4cbb8807748703ad7c74f2e07b7247b64f6c2d1edf57ac4e5769efac36b09c() - { - $this->assertTrue(true); - fn() => (isset($test::${$test + $test})); - } - function test5cb469498cb04e13513b899d621baf51e635fa35c75139d2c080829ec7e1004b() - { - $this->assertTrue(true); - fn() => (isset($test::${$test && $test})); - } - function test687acb44dba46f0976d50f2a4e3451c73113da1345521b007a8320ba10fec0d5() - { - $this->assertTrue(true); - fn() => (isset($test::${$test ??= $test})); - } - function test7190fe55b11ad062c3e922d7300747a906df49981ea1a321c77347e0e07221c5() - { - $this->assertTrue(true); - fn() => $test::${$test / $test}; - } - function test74ab2ad4d9028014c50f901c1c2f38a3f582680a534314f5978c50369d48a0cd() - { - $this->assertTrue(true); - fn() => $test::${$test %= $test}; - } - function test7e85564388553fefd20e17f6fa744230583d346be1c2ee5bc0812fda4ea01ce1() - { - $this->assertTrue(true); - fn() => (isset($test::${$test >> $test})); - } - function test7ea0b1616168dfc56d7395eff658e1f553eb74c4e2f692791a146a8396c268bd() - { - $this->assertTrue(true); - fn() => (isset($test::${(bool) $test})); - } - function test874fd772e6bb27d30eccd5bbcd1e862476e421e321841a8d5f557a74c7b83dc3() - { - $this->assertTrue(true); - fn() => (isset($test::${(array) $test})); - } - function test8968e0b04bd08e71e23a45268bd38d828d8d8bc772b3e1b97246cf31a0fd598f() - { - $this->assertTrue(true); - fn() => $test::${$test != $test}; - } - function test8a378da83ab348577764b14ba20e4f4c1e0138e6fc6f83af738f66ad4d798ba3() - { - $this->assertTrue(true); - fn() => $test::${(string) $test}; - } - function test90cf84b5831d0fedcb27e7bd72c142268dd39ff4afed5c390a7710da3cf2e717() - { - $this->assertTrue(true); - fn() => $test::${$test ^= $test}; - } - function test92ff3cf12addb525d2d934a540cf88758439b6c501ee993b9cf47d728d269b95() - { - $this->assertTrue(true); - fn() => (isset($test::${(yield $test => $test)})); - } - function test947a38e3a73ef63e90f3fc0f50e24db9a8e0415b8d815d978576d0412332157b() - { - $this->assertTrue(true); - fn() => (isset($test::${$test %= $test})); - } - function test951fd5522bd8043511a64ddfeab4ad16e5f463b6d781516ea229d3eae4f01136() - { - $this->assertTrue(true); - fn() => $test::${$test ^ $test}; - } - function test9623296f049ef1eaaf039890af73a6298f71b3f4d87aaf31cba06cb15926a5c0() - { - $this->assertTrue(true); - fn() => (isset($test::${$test - $test})); - } - function test9ba1705340d949cff06949501c4ab27bb34db1aa23474d6431e4a8098ddf1e39() - { - $this->assertTrue(true); - fn() => $test::${$test /= $test}; - } - function test9dabdcf3a86a46483baa4591cdb9db2506bac23abb3bdcb1fd6a5996f516ad26() - { - $this->assertTrue(true); - fn() => (isset($test::${$test &= $test})); - } - function test9efa69bb9dbd651edb66a2285b0a68891e5dec7344d99d9dfafe478d93cfd94e() - { - $this->assertTrue(true); - fn() => $test::${$test |= $test}; - } - function testa3277c615c4da170468daa02148b95018abdd3602a7b435d1b073c605a93d1b9() - { - $this->assertTrue(true); - fn() => $test::${$test &= $test}; - } - function testa75ae832bdd8606b995889d8778cb089d0c60e185bf392d586d93097e4c6c375() - { - $this->assertTrue(true); - fn() => $test::${$test >> $test}; - } - function testa7ed249814398e1e989450675949062551be50d6fff91c1fff9659dead6e31d2() - { - $this->assertTrue(true); - fn() => (isset($test::${$test <= $test})); - } - function testb005e0de671fc372e8d03166d3e92991be1c04f6a1879ac766fd732da4bb0168() - { - $this->assertTrue(true); - fn() => $test::${$test == $test}; - } - function testb536b7d33ebb3e9d9603957df99dc4579f44038cdc8e1bebd41bea52ee84d658() - { - $this->assertTrue(true); - fn() => $test::${$test . $test}; - } - function testb58bcddefafb0132cf1eef063e6120d28042415c11964341deb2bd3c27b344b8() - { - $this->assertTrue(true); - fn() => $test::${$test - $test}; - } - function testbafeb4a47762f13f76af52dd6c18ec6457106e368be01913f0cbd2b923d1372f() - { - $this->assertTrue(true); - fn() => (isset($test::${$test ** $test})); - } - function testbd459e5a574cdb8ac84f07057a6c128ce030659775f20f190236957d9b608608() - { - $this->assertTrue(true); - fn() => (isset($test::${$test or $test})); - } - function testbe463050cb6a3b7a8caf4c22cb076661660b0de3c26cfa31162057a8b23274fc() - { - $this->assertTrue(true); - fn() => $test::${$test && $test}; - } - function testbeccff977e1976e194cc4c52678d000bd00844abe9762c75154f3f6c426ec704() - { - $this->assertTrue(true); - fn() => (isset($test::${$test <<= $test})); - } - function testbf0cb8ef1a361a946048e84e7d9cd1c201148bb13c82be7a687a2dde6c727143() - { - $this->assertTrue(true); - fn() => (isset($test::${$test || $test})); - } - function testbf1ee0374eb81d316fb1b2c5197a3cea74f712bb8f2f29fa46ccc7f84dd2b800() - { - $this->assertTrue(true); - fn() => $test::${$test += $test}; - } - function testc6d497b238427c83b0c9d694daa9e2a2627603556612f8da786c78586fa94280() - { - $this->assertTrue(true); - fn() => (isset($test::${0.0})); - } - function testc76af3882bf9162e7cf971f354b22f05dabdd6d213b8e7b32685dad707057db7() - { - $this->assertTrue(true); - fn() => (isset($test::${(double) $test})); - } - function testc76bf500d0a8cbbf622ba75f5aa5117e162b99bb57e4eef6791d91a71c2e92ef() - { - $this->assertTrue(true); - fn() => $test::${(bool) $test}; - } - function testcabe6e484aaf0fd0327c5c8f68249bb4e1bb49e049b3d44200dfd5d2d0f00627() - { - $this->assertTrue(true); - fn() => (isset($test::${$test & $test})); - } - function testcfe0c50680d5cf6fc38574a6fd90ebfc5a0829b8ea8ac848b7587816b6b51432() - { - $this->assertTrue(true); - fn() => (isset($test::${$test * $test})); - } - function testd00568986ea53867a37c37de7fb2c2e215a91aeb337d9b5d5154b67391005945() - { - $this->assertTrue(true); - fn() => $test::${$test << $test}; - } - function testd2ef85414d3dd9c08e127b2496b0c32294cfd81ab93aebb071614bddc65d8ef6() - { - $this->assertTrue(true); - fn() => (isset($test::${$test != $test})); - } - function testd47a7e86d12a93309a85bfd6881b78ac830e0edaabf42dceb5d4aa2a37dabd1a() - { - $this->assertTrue(true); - fn() => $test::${$test xor $test}; - } - function testd5edcf34e77f41ee2e6f19e0bb3fc24ec3166ef1c4a932b32cfaa00fb80c35a4() - { - $this->assertTrue(true); - fn() => $test::${$test >>= $test}; - } - function testd6649282ebae82ba52fd1c80ee6c4f912ccf5e384694bc70d76297b7a081ab8d() - { - $this->assertTrue(true); - fn() => (isset($test::${$test += $test})); - } - function testd6e294c98f0096d939eb88eee5fd5947b78741d391e3247b19f3fae8a504f161() - { - $this->assertTrue(true); - fn() => (isset($test::${$test ^ $test})); - } - function testd7b65ee42cdbc3853df76b6fad19c9c05ba97382603008b933d642c38a5a197b() - { - $this->assertTrue(true); - fn() => $test::${$test < $test}; - } - function testda89548e5e266bfb6c0af7a4f305f1b3227a6503d02f4e4c12b4fa98e68544dc() - { - $this->assertTrue(true); - fn() => $test::${$test ??= $test}; - } - function testdb4ee0f371cddfea31534f689c3e6b6181aa960b585b905052699ab4af563348() - { - $this->assertTrue(true); - fn() => $test::${$test and $test}; - } - function testdc540ae36bb74bd079fa0d4e6c35c7f4d48cf382833ea2b684405253b781bb5f() - { - $this->assertTrue(true); - fn() => $test::${$test !== $test}; - } - function testdf51cdb3461bf5b0c73ab79584c123e8f2349eb977c25d0e2bec0b5e2cb49319() - { - $this->assertTrue(true); - fn() => (isset($test::${$test === $test})); - } - function testdf7b4378d66e211476295d4af729049b71e3e9f42485d7c46ce4a412f1688e0b() - { - $this->assertTrue(true); - fn() => $test::${$test % $test}; - } - function teste1035e794a3e6c0eaa29f30f945072e8c9d2df65e6577f30425c0d75e3131ed7() - { - $this->assertTrue(true); - fn() => (isset($test::${$test *= $test})); - } - function testea4dbec10e20fc573d7d4827f7349d022cc062014433837dd60c12c332fd9247() - { - $this->assertTrue(true); - fn() => (isset($test::${$test ?? $test})); - } - function testece11950c9d1008ffb8facc631c88befdcaf770da52d4924accbbf8f70623a99() - { - $this->assertTrue(true); - fn() => $test::${$test === $test}; - } - function testef9680205bc87180f0be0ac370201e8c588d8f315abca9e395575f7ca548836c() - { - $this->assertTrue(true); - fn() => (isset($test::${$test ^= $test})); - } - function testf121aac41e6140bd0c616a2d974edf0350e1bfc00a912259608a468e820ce8a4() - { - $this->assertTrue(true); - fn() => $test::${$test <= $test}; - } - function testf8029295dcf88f668edc9b3c489cabea3098275a2986b46c06c2e61005a51ed4() - { - $this->assertTrue(true); - fn() => $test::${$test **= $test}; - } - function testf98809d5786d17305fde7e2819a122135d0406ca576845f79d309cae8e764da6() - { - $this->assertTrue(true); - fn() => $test::${$test *= $test}; - } - function testfb959ea903c4492d9ef6ea099e63495a4486a320a6656c8e3330933072bee2c6() - { - $this->assertTrue(true); - fn() => $test::${(int) $test}; - } - function testfdbee93d3681bc42b4645d304c1a7c6c8174c594fa4e63fc884076de419c93be() - { - $this->assertTrue(true); - fn() => $test::${$test || $test}; - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php b/testsGenerated/Target/Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php deleted file mode 100644 index 6cb31494a..000000000 --- a/testsGenerated/Target/Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest extends TestCase -{ - function test077f6ce7903f9e688b23cf0ecff5174130f72f759bae6596c4fc00f149d3139d() - { - $this->assertTrue(true); - fn() => (($test ^ $test) & $test); - } - function test0fb190eb5d172cb69841aceac2eeffd951eca09b7503b6837df45265b08354ef() - { - $this->assertTrue(true); - fn() => ((object) $test & $test); - } - function test123208a09ceda6152286d0c2ecbd5d326eededd23be5383da3290edc176da4bd() - { - $this->assertTrue(true); - fn() => (($test and $test) & $test); - } - function test131a1e6200b007034ba2dfbabfc3ee8cc185cd2a5f5fa4bf0b41ad99d045142d() - { - $this->assertTrue(true); - fn() => ($test >>= (object) $test); - } - function test132ed1c087c20b628abbb5d0024e9839edd9db808d4f6794f313e8704ca25555() - { - $this->assertTrue(true); - fn() => ($test >>= (string) $test); - } - function test1400f391e9431f08016e66f3246450415d2da7b2134d463898f24ce8536c5c3b() - { - $this->assertTrue(true); - fn() => ($test++ & $test); - } - function test140a71b6667fc73d25994ba05910fc6e81244f3e2a6fef95a74bfb45eb2afd31() - { - $this->assertTrue(true); - fn() => ($test >>= "{$test}"); - } - function test1a32d01df911cc23af4fbc6a206893a6354985b078db56794b7a3136017b31c3() - { - $this->assertTrue(true); - fn() => ($test instanceof $test & $test); - } - function test1db3e80b5599cb19dbb92e7619b347e7c20208f6ad10aaf3d10f37c2df97c466() - { - $this->assertTrue(true); - fn() => ($test >> $test & $test); - } - function test1f7877c75b07e4aa4006ebb68a5868d831f7309466aac339b5d4f01dc6b4c3af() - { - $this->assertTrue(true); - fn() => (($test >>= $test) & $test); - } - function test20bbee7c5dc28450fc3734d4fb84c0c6077386336fc2d863208bbea227c302eb() - { - $this->assertTrue(true); - fn() => (isset($test) & $test); - } - function test210c7ccac28beb10c668157bb42fa256629ef8e3177088b1f1999c49ebaeb6fb() - { - $this->assertTrue(true); - fn() => ($test <= $test & $test); - } - function test220271e411086645c30986ddafa1b8f525e9f4e39c9a4ac42cd94eaadc5e7959() - { - $this->assertTrue(true); - fn() => ($test * $test & $test); - } - function test2488f6abb908b1c2e76a205823da19977eaebf7066632bf4e1f5711eca02aca8() - { - $this->assertTrue(true); - fn() => ($test >>= 'test'); - } - function test298067e7c0929dc6dd86face03e22620a2788352eea9763e2bdcf9adff6d9c86() - { - $this->assertTrue(true); - fn() => ($test >>= __LINE__); - } - function test2eff2bead0787fe7b9265cb0cc3f079cc5785732fe0f3c19f6153b47fcacce86() - { - $this->assertTrue(true); - fn() => ($test >>= __DIR__); - } - function test311da93f38764c5df1af8062a0153d22f03247ed83b0fd82c5d09befeebc0b36() - { - $this->assertTrue(true); - fn() => ($test::${$test} & $test); - } - function test330dae3984b45fc179db54ea580868d0e4f095c4576db7936a16e2e08244886c() - { - $this->assertTrue(true); - fn() => ($test - $test & $test); - } - function test34f824bac1bd43d3ebc4fd3f71f099bc60e041c181e77abea7bc2e0c884f48f5() - { - $this->assertTrue(true); - fn() => ($test & $test & $test); - } - function test3586ca8cde04e84f289f9aa8d7be8510382aee58fcd43d7c606ac17e8eff1355() - { - $this->assertTrue(true); - fn() => ($test >>= 0.0); - } - function test361206844ef929c1a3ebe6b22016c21b31a6da633782346b9f5964cbee6edb4f() - { - $this->assertTrue(true); - fn() => ($test >>= (double) $test); - } - function test369fb3ac120d7bce6de5374a6708d1096156963d6193becd8328ed6f14c3b912() - { - $this->assertTrue(true); - fn() => ($test?->{$test} & $test); - } - function test373493fe3047a941d100213ccbba55185fb011f8390fd602504ebabcd9ac7143() - { - $this->assertTrue(true); - fn() => (($test =& $test) & $test); - } - function test3e188c3a3f3bc91d417beed5c52c378e0d5d31c30898f2cdc2811139bf23c430() - { - $this->assertTrue(true); - fn() => (clone $test & $test); - } - function test3e9c36a54e1c63d45f07872737e2c9330ff00b8705e6d590d981aee8a8c9d507() - { - $this->assertTrue(true); - fn() => (($test <<= $test) & $test); - } - function test40e96bc8a4d027cba548f455915c5176007fb866ccd9d34edf74c63a8c3dd990() - { - $this->assertTrue(true); - fn() => ($test <=> $test & $test); - } - function test43466e0a3996467fb33cdc9e66d197bb4254480b881834441d42ddb790777064() - { - $this->assertTrue(true); - fn() => (($test += $test) & $test); - } - function test4983a7b865274d40261a9dbf84761d917283a2e8a91be4d4ac85df26607be7f3() - { - $this->assertTrue(true); - fn() => (++$test & $test); - } - function test4b21c8e842ebb43f9fc7d22631de91cb1497b990fc162ccac08b097f41e375b1() - { - $this->assertTrue(true); - fn() => (($test && $test) & $test); - } - function test4c9a6054b9cb2049ba152576bc09a983c84df4b5e06ed2b0b21f738b42416fb4() - { - $this->assertTrue(true); - fn() => (($test | $test) & $test); - } - function test52a3807fa9d10680ce569f2d7040c79800b37cf918eba81e9bb254b66830755e() - { - $this->assertTrue(true); - fn() => ($test >>= __FILE__); - } - function test56de47cd8ca2a7a7b194300c50ed4f578320ae2b186c67af9fd269b1d3728099() - { - $this->assertTrue(true); - fn() => ((bool) $test & $test); - } - function test5a23600969bab4dbb4241e7947bdb9a56ba739970e0e09e241c502d59d3ad8ce() - { - $this->assertTrue(true); - fn() => (~$test & $test); - } - function test5a570294af0d1d4c1546a5cb612f8ed0482d1fbf50709e3cbdc83cf3d409773d() - { - $this->assertTrue(true); - fn() => ($test ** $test & $test); - } - function test5a5b198c57ac1417b33f3024805cb95e7fc35a21b0e5df8a31aa74dfb5a9a010() - { - $this->assertTrue(true); - fn() => (( $test) & $test); - } - function test66fb9c939613268b32e3de01ed58c4cf548f58e141683d3d492bfb313d9541b7() - { - $this->assertTrue(true); - fn() => ($test + $test & $test); - } - function test6cc96029b63620f14694fa95a1670a2be7fd66a001a17e8a94c5f571d84a46c3() - { - $this->assertTrue(true); - fn() => (!$test & $test); - } - function test6eacfea70aa03014aeb7c00728857c7c4802737c5efd3e89c39af00454e8c4f4() - { - $this->assertTrue(true); - fn() => ($test > $test & $test); - } - function test6f8e35db57e6d155c44ca4159435776c075514c2d9a93f87845a1c301f9f720f() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) & $test); - } - function test720b74b7ba053c703ef1d8c3ab81fd007b3f7781a92a3a6d96a52d6111458a3b() - { - $this->assertTrue(true); - fn() => (--$test & $test); - } - function test724be0a24d4de95119f6f3dfc45fd83f16322f15231adce6d96c399caa358e4f() - { - $this->assertTrue(true); - fn() => (($test ??= $test) & $test); - } - function test72dd3a4ef434082ee1b1cea7c43488298cfa57492a2f8d2c96343c87b4e9322b() - { - $this->assertTrue(true); - fn() => ($test << $test & $test); - } - function test7d7a03b84b4391d1b1ee6f8d2c462d133b00eb8e3917e38276b5761e27675eca() - { - $this->assertTrue(true); - fn() => (self & $test); - } - function test801b8f04fb0b217916b80d224a34bdeadec5d54bb72e9db91798425ebdc68b3e() - { - $this->assertTrue(true); - fn() => ($test < $test & $test); - } - function test80d0d213575d81efb726e21eb45fabd7cddddd36082b08ee22fa3462e9b51584() - { - $this->assertTrue(true); - fn() => (($test xor $test) & $test); - } - function test86c41f4b52c9611684e6b22fa3d00fcb6022f9a7c4c07be5df788e17bdd07c1e() - { - $this->assertTrue(true); - fn() => ($test >>= __FUNCTION__); - } - function test8ad6065943e47847501ab5779a83b64f02b1aa17ed35a8c2758d9a824750b6f5() - { - $this->assertTrue(true); - fn() => (($test %= $test) & $test); - } - function test8c0ddbd33778ac8857ba36305585df26b8bb80b9292a87333e6258486dc3f62c() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() & $test); - } - function test8d7b4f67b84c360248747f1c1b26aa88791b724c11e14078a330b7dfea0c9023() - { - $this->assertTrue(true); - fn() => ($test % $test & $test); - } - function test8e6c14e3b498826b5daf7ae455a97f65d252e75bb1b5969fb2396a78c2de79ea() - { - $this->assertTrue(true); - fn() => (throw $test & $test); - } - function test92e413518e6e35b88e93a18d7be8457392752305b3fb2971a2400f25c6166dfe() - { - $this->assertTrue(true); - fn() => ((double) $test & $test); - } - function test937af2651964a91d729e8da760bfcb58834f006b5cb5ce7493114e154ccae709() - { - $this->assertTrue(true); - fn() => (($test ?? $test) & $test); - } - function test952a90dccbfa6621b44ef0b87078a39ef73575d46a81258fbfbe9c986f753081() - { - $this->assertTrue(true); - fn() => ($test & $test); - } - function test977a71fa9a0c47c9cdb3ffcdc851b57509947916ec4dbbd9cc8287c2266593ac() - { - $this->assertTrue(true); - fn() => ($test-- & $test); - } - function test991ce8715b73fba6d01d8e5e9f401f0f0b317333dec4e541821a8e4a9c956c10() - { - $this->assertTrue(true); - fn() => ($test >>= (int) $test); - } - function test9d022502857d51d272ff2d68b83d3b25c57ce3482ca4afe75576bf7ac1c8ccfd() - { - $this->assertTrue(true); - fn() => (($test /= $test) & $test); - } - function test9fb03354ca53840053112fd89f528e10ddea7ff28188a58d0f7db77cd9502a6b() - { - $this->assertTrue(true); - fn() => (@$test & $test); - } - function testa2e85eb72f8288a3814f8576686e9c10484c431f3a2ef63944c1de21f6976e77() - { - $this->assertTrue(true); - fn() => ($test() & $test); - } - function testa3b5d1282c28ba436952cc4757117f5b7b169e81414085c0c902850cf110889c() - { - $this->assertTrue(true); - fn() => ($test . $test & $test); - } - function testa51dd4e4e8fa579743f43e3c0a1680ef8240e0a14de4c96e8f378c8afc58c210() - { - $this->assertTrue(true); - fn() => ($test->{$test}() & $test); - } - function testa9bed3d936b523ffe5878b98e433535a629e59897bdcdff12f1b683499bd1d74() - { - $this->assertTrue(true); - fn() => ($test >>= __NAMESPACE__); - } - function testaa45736411061f34c5ec97301f088244ca6e8e75eb3754602dfba81e4f3c5ffa() - { - $this->assertTrue(true); - fn() => (+$test & $test); - } - function testab21074988fc16236c05b2f470c4e2b44a12ce2058aae3037bc92f0b535de2b2() - { - $this->assertTrue(true); - fn() => ($test == $test & $test); - } - function testb30637ecb977d2799abfe6162b20c31f09f8a84a2b24db349b4c068baee7bb97() - { - $this->assertTrue(true); - fn() => (eval($test) & $test); - } - function testb39aa05d6df1ad1e45413e0bb97e0316d921a7cb847d16c679ac7521eb55f8f6() - { - $this->assertTrue(true); - fn() => ((int) $test & $test); - } - function testb7aa3baee284b6b142e19c46cdc39705da189426d0cb32e23f58dfaa14ced361() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) & $test); - } - function testbc43c50516f234b69fca03f8dbf9ba09f8c57b645c44391f5fc44007ee94caea() - { - $this->assertTrue(true); - fn() => ($test !== $test & $test); - } - function testbc55795033aa0a25858e621b000c7b940a91a1eb53846a56fda03da5245a3d83() - { - $this->assertTrue(true); - fn() => ($test::$test() & $test); - } - function testc12814bc71c017333ee0346da5a59aff7d0eade46c624216c93e2ffb094ee3f5() - { - $this->assertTrue(true); - fn() => (($test *= $test) & $test); - } - function testc4207cfb8babf526e5726fb05bde757bbfca0f3eae29393e4d1437a14a77d6ce() - { - $this->assertTrue(true); - fn() => (`` & $test); - } - function testc71d13c8e0fe71691dcfcfd443c473a97c9f7b6c8750ddff0cebb5073ab27724() - { - $this->assertTrue(true); - fn() => (($test -= $test) & $test); - } - function testc820716792873703d16417e7158912dc2b9ef0a16714c19b36a84d68dd6d21c1() - { - $this->assertTrue(true); - fn() => (match ($test) { - } & $test); - } - function testca3a2405522d16815e9ddb7794af1e523826a642e79a500779897295fbc8d87c() - { - $this->assertTrue(true); - fn() => (empty($test) & $test); - } - function testcf61c34957e2801c4bee7f4732c23c0f85a59ae35bd6b18232c0ef57d5064743() - { - $this->assertTrue(true); - fn() => ($test >>= 0); - } - function testd068881a02860e3af0bc38f9a449af92e8a0bf8f2dc96b36f1006ebf5676ad70() - { - $this->assertTrue(true); - fn() => ([] & $test); - } - function testd1693179a4e92953c4838896445c5fb57b09b376eddede7d38677114876745c2() - { - $this->assertTrue(true); - fn() => ($test >>= __CLASS__); - } - function testd20b5b77c8eae37407bde9dc62c801a78c02dd69d38271d24334d78c01f85815() - { - $this->assertTrue(true); - fn() => (($test &= $test) & $test); - } - function testd5abf36c5b14c9f68768c5bc4d0041103ddbe57bead55d297e0ad7a00416ea35() - { - $this->assertTrue(true); - fn() => ((print $test) & $test); - } - function testd60305bbacd153b94f2192e1bfd5a3dd4177510aa03ccba78c39398005b30473() - { - $this->assertTrue(true); - fn() => ($test::$test & $test); - } - function testd691171c1bf18b884ead3205baf9a1590a2d7be106c522f1b0b607442ef3e2b7() - { - $this->assertTrue(true); - fn() => ($test >>= __TRAIT__); - } - function testd760d3d1a09d799cac2a8d8dc9c4fed2e6eb5f7570c7bf24fc5e317e0afb3756() - { - $this->assertTrue(true); - fn() => ($test[$test] & $test); - } - function testd81e7c68e2a9db9386aeea89f183f951d2db785ddc120497f3b4c925c426dd32() - { - $this->assertTrue(true); - fn() => (($test .= $test) & $test); - } - function testda1c4ff6be390014859addde1fd2372d0358c3a01492c21bfc8cc6bc22efd00b() - { - $this->assertTrue(true); - fn() => ($test >>= __METHOD__); - } - function testdaf0041fc748a4790ac2f86eccf9f1164e684768b67d2833387771c9e6160c1d() - { - $this->assertTrue(true); - fn() => ($test->{$test} & $test); - } - function testdfa63a73751f9863307ab41b4b8b019b969a049ab8bf3a5141b079bb5482cdfd() - { - $this->assertTrue(true); - fn() => (${$test} & $test); - } - function teste08c6e00d18185eb93e7d7f37b1f556d5dd3b384d635ee5d5e6b8098126c0c32() - { - $this->assertTrue(true); - fn() => (($test |= $test) & $test); - } - function teste121444332966a759b63eebe39cad1157d3d65f1480418de49599535fade2f18() - { - $this->assertTrue(true); - fn() => (($test || $test) & $test); - } - function teste4b96fdafc01a0642fece6eed6888011df34144f7a2834967afa65f02800f5eb() - { - $this->assertTrue(true); - fn() => (($test = $test) & $test); - } - function teste6fc36017b8985610d5c16b7dca7eb32cca283941f958d71508db90755130843() - { - $this->assertTrue(true); - fn() => ($test / $test & $test); - } - function teste8ce449446779aa955806ed40b7c5025b5df9d1ce721c4880188cd39920b1fc3() - { - $this->assertTrue(true); - fn() => (($test or $test) & $test); - } - function testeb5235a2c733654e29c773413432a1bcdf98bc424355b57d608351ae60a45a6f() - { - $this->assertTrue(true); - fn() => ($test != $test & $test); - } - function tested8f41e4585db4f68fffcecb1abc342a957523bed0a60dc25fccf1dfa59ae7a9() - { - $this->assertTrue(true); - fn() => ((array) $test & $test); - } - function testf0145527b87d7a452bc2d563efc910a5bd9769f02bea7ff3d96c1af6cffba93b() - { - $this->assertTrue(true); - fn() => ($test === $test & $test); - } - function testf2dd1a7e5cb3347dd68b81f70bdc18fc2c8b673e69941383815aca264ef1b8be() - { - $this->assertTrue(true); - fn() => (function () { - } & $test); - } - function testf34b9997b52f3c35b50da19a9f9d29ffc401871514918b87093723e61fc24e49() - { - $this->assertTrue(true); - fn() => (($test ^= $test) & $test); - } - function testf45a6709f59e73b60c64f1495322ab82a38671547c3e264ab9d7dd14d4b28e54() - { - $this->assertTrue(true); - fn() => ($test >= $test & $test); - } - function testf84d77fdc68c3f5c3367a1d5db92f068bb28a9117ce5c405ee35e1b3f858808f() - { - $this->assertTrue(true); - fn() => ((yield from $test) & $test); - } - function testfa54934cbcd0422b8f5661df8881da34db08f04b23b16bd9021070598389cd33() - { - $this->assertTrue(true); - fn() => (($test **= $test) & $test); - } - function testfba88e2738ffb0369b4912dcc8cb819b915842252d755021f22ac7466c25f896() - { - $this->assertTrue(true); - fn() => (new $test() & $test); - } - function testfdb6fdddc4afe2451362eaaa24b75b72952f245e65874102c49cc7b79b5fa767() - { - $this->assertTrue(true); - fn() => (-$test & $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test.php b/testsGenerated/Target/Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test.php deleted file mode 100644 index b5108d943..000000000 --- a/testsGenerated/Target/Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test extends TestCase -{ - function test00f17f55b6d6543cf7ba8c9b17c804d7012fe3714ffda751537e6d044d6076c0() - { - $this->assertTrue(true); - fn() => ($test - $test xor $test); - } - function test03852d0bc7d4bfd1c9fc9a82fd283df90fc708e05081520e8037f016e0125dad() - { - $this->assertTrue(true); - fn() => ($test <<= $test xor $test); - } - function test07967136259a6d4b7a777d190a5d2c83fb0509c14bcefcaf6facd546f77d7824() - { - $this->assertTrue(true); - fn() => ($test -= $test xor $test); - } - function test0c2c4d21b1d1bed7606cf073be792e0880fda8369a728b38d9a9a32e4d054280() - { - $this->assertTrue(true); - fn() => ($test::${$test} xor $test); - } - function test0c4c91857f67150af764bf13ed395ca2df9749c8e45def11a827be8eec39e3f0() - { - $this->assertTrue(true); - fn() => ($test++ xor $test); - } - function test0d8e7a9953d67bacc1bd7b74f7f1a54012acf26efdab594d6797dd4126af086d() - { - $this->assertTrue(true); - fn() => ($test === $test xor $test); - } - function test0fde512819f21c5f9d652f05332246b0843e887cf5147b49365dc973369ece22() - { - $this->assertTrue(true); - fn() => (match ($test) { - } xor $test); - } - function test10191c166c9bf4399e188da09d8656c68234ee89e0c364f0b11ba7f2fa7e0fa7() - { - $this->assertTrue(true); - fn() => ($test ^ $test xor $test); - } - function test108398df81e385c224f03f3b448974e7bfed79e709ae864da7584420de78eece() - { - $this->assertTrue(true); - fn() => (print $test xor $test); - } - function test1130a2f048e9c60777a657c88225e4f8bccdcf78633fb89ee0645226f79d31f9() - { - $this->assertTrue(true); - fn() => ($test or $test % $test); - } - function test12a89f209d65057d1752df8e41bc0cfe35f467846f9a477dc789331cb890f511() - { - $this->assertTrue(true); - fn() => ($test || $test xor $test); - } - function test13b36835922a25c9c08bbae2dac31c814ed2352042f6cae48b2cc9c5ef59a573() - { - $this->assertTrue(true); - fn() => ($test >>= $test xor $test); - } - function test18595f99c7f0f57a12f4855ccc45a493d684ee766fff84c67f945870223df80d() - { - $this->assertTrue(true); - fn() => ($test . $test xor $test); - } - function test1a4ae5d72196a6486c356b2a9d1c037fbfa44f9158c0f1bbc23d89976c8ba18f() - { - $this->assertTrue(true); - fn() => (empty($test) xor $test); - } - function test1a6efc935aaed17951ccd3eeb1de2e63d23c0a5d306255c5c62c6e6d7018a23e() - { - $this->assertTrue(true); - fn() => ($test *= $test xor $test); - } - function test1f6425ed58f7d4b271f6b15a9d9cae910fc465300fc7c030af32eb264e098a5c() - { - $this->assertTrue(true); - fn() => ($test or (double) $test); - } - function test20dcc0c806536e790fee3824ba0b7636c91767a2e4eb2414ce35c7092a07b803() - { - $this->assertTrue(true); - fn() => ($test .= $test xor $test); - } - function test21545c0a28b3cf9f97bf0394271ee08b780cca9c0d57ea3d754b725c312ca920() - { - $this->assertTrue(true); - fn() => ($test or __DIR__); - } - function test21dd2a6c6f7f474b01d562e5ac6ea059d67bdaf2c0bad017e7c1433e143b74ee() - { - $this->assertTrue(true); - fn() => ($test & $test xor $test); - } - function test24c20a0a5324d7fa812ab41499880669157ec704574d5640820322bdd7e082e5() - { - $this->assertTrue(true); - fn() => (~$test xor $test); - } - function test26350c707625e4b4b17a53d2c89d050d3d54d5277da1445ba3b26835ac78ca99() - { - $this->assertTrue(true); - fn() => ($test->{$test} xor $test); - } - function test26b6b08e03e6d2c9a5ef036e96cec178a8b91d37463df95a546b14db670a99ca() - { - $this->assertTrue(true); - fn() => (($test or $test) xor $test); - } - function test28ec002cdefeb17189cb480fb9edaa5d27c869311f279e3c0605c241cb504e4d() - { - $this->assertTrue(true); - fn() => ($test or $test != $test); - } - function test2ce95fea68fca2e52e278dc66a7209669585b6f9c0c62e687edd14eda9f8775e() - { - $this->assertTrue(true); - fn() => ($test or $test <= $test); - } - function test3384f2c92d4ffb95725a952d3635412a4902f45cb1f3903a0239ccdd01b4f2ee() - { - $this->assertTrue(true); - fn() => ($test or (object) $test); - } - function test34630d98415e18335ba086e46860c0cdc86aa5a8a512ecda45881f655450c226() - { - $this->assertTrue(true); - fn() => ($test or (bool) $test); - } - function test360d15c7e4f958b3aad79f3840be9ed8ca07f5b3e22e673408a2ab91caa0aa7c() - { - $this->assertTrue(true); - fn() => ($test[$test] xor $test); - } - function test367c4b17552f24a68c9ddab030df97f3f57909f724126fd8c64242489adc083e() - { - $this->assertTrue(true); - fn() => ($test && $test xor $test); - } - function test36b39a626845a09546fa76f6c4418bd99192569832bce9dd512dc8f0d1c32435() - { - $this->assertTrue(true); - fn() => ($test **= $test xor $test); - } - function test3757b9d10441e728bd1efcf575dbd5ada2108d60686e42ddc4c921f189f46d33() - { - $this->assertTrue(true); - fn() => ($test or $test - $test); - } - function test394e02fe98181c6f8b9fcaad72d3a9a31d93865a80b3210f04df9e0d83f44cbf() - { - $this->assertTrue(true); - fn() => ($test() xor $test); - } - function test3ca479c45794820e97966c1725c6b9eb1ea31d8b0e3b1023a8995eb6a08e18db() - { - $this->assertTrue(true); - fn() => (--$test xor $test); - } - function test3dbed8967641107086ffe5ba5eaac0b0e063431b9f3cd7d8a260b8b9d8727341() - { - $this->assertTrue(true); - fn() => (clone $test xor $test); - } - function test3e98ccc03aac5bb7bf3dd849515bb87a1ae914775260808f44b76a382b00f182() - { - $this->assertTrue(true); - fn() => ($test = $test xor $test); - } - function test433eb614d8ec18136c4dca1c8a08868d61b25f03790d8e10dd93d708161427b0() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test xor $test); - } - function test43b00b1790fe34407989ee9540f839cbe93c30ebe226adc80c550e2ff66fcd16() - { - $this->assertTrue(true); - fn() => ($test::$test() xor $test); - } - function test48c6af887ef6e66215588573afa4b30b2a157c342118f0ac169c5eb6d94264f4() - { - $this->assertTrue(true); - fn() => ($test or $test !== $test); - } - function test4f734386dd011ccee80d162fcbbe65c427aa9205d4a41c7835b718c524c3198c() - { - $this->assertTrue(true); - fn() => ([] xor $test); - } - function test50cd25edf8d8643badfc03d561b660c83b8a37461d6429e4b1fe38b6dcf584b3() - { - $this->assertTrue(true); - fn() => ($test &= $test xor $test); - } - function test538465609e7b26bc46e5d5fb026d1fc0236da86e52f6f4a66cd63462fef45043() - { - $this->assertTrue(true); - fn() => ($test->{$test}() xor $test); - } - function test577a58d3ed8bda76a5c3d2d74d3d19993487464c28da325c697fe442e99f4bfb() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() xor $test); - } - function test5972c848c238747d142e84d9a6c8ef69281be8cf122cda43f160d450bb5adb79() - { - $this->assertTrue(true); - fn() => (@$test xor $test); - } - function test5abacc466d8d6e196d12589190de61f14961f469fbc68c3ae3e3c2a49b00ed60() - { - $this->assertTrue(true); - fn() => ($test / $test xor $test); - } - function test5f572c3cf1e4753c585b83866fc9a186af293ed3c7b680203be70391ccd865b1() - { - $this->assertTrue(true); - fn() => (self xor $test); - } - function test5f8c279885bee5fe7b89524a6beffe82677d322d0aa34fa596076f81064703b9() - { - $this->assertTrue(true); - fn() => ($test or $test >> $test); - } - function test5fac302311e4b368bb92ff7f4596652dfd89fb01213db472998e08883c0c85f0() - { - $this->assertTrue(true); - fn() => ($test or 0); - } - function test629fc843a090b30b69637528282557754906aa942a253b981cbacf42f11278a8() - { - $this->assertTrue(true); - fn() => ($test == $test xor $test); - } - function test65007725a9e0eaccfc6b4f577464ccc1cf264cf800798bd5196bc9ab77a1d4cf() - { - $this->assertTrue(true); - fn() => ($test or 0.0); - } - function test68933fb66dbea11d8c67c6239b6f6266da88fd36a8a68c4fb855d607c661de27() - { - $this->assertTrue(true); - fn() => (eval($test) xor $test); - } - function test69136bea8ceeb30471a076d2edb7ae6e83b15e95291bd6fa443827c6d61dbab6() - { - $this->assertTrue(true); - fn() => ($test-- xor $test); - } - function test69f7f68fc3e385629287e0cde4a777f2914a5eeaad474a26050d69a2871453f7() - { - $this->assertTrue(true); - fn() => ($test instanceof $test xor $test); - } - function test6b307ffa5e6a038fad2e608e8afd5667bd3a0d18801072dc0f798214c2c04413() - { - $this->assertTrue(true); - fn() => (yield from $test xor $test); - } - function test6c38f167cc4c699b1bd2db3538520c8863c4239e2df7bfa3a7f64f62adbbc316() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) xor $test); - } - function test6e2386c7317ceb18f1e288b28a1936f24e1243c468e6fc912b16be2ab0bd7d32() - { - $this->assertTrue(true); - fn() => ($test or __NAMESPACE__); - } - function test73aa8284183f78c2c42012c46eba00cb21d674d6b6134a9e12235b1caeda366e() - { - $this->assertTrue(true); - fn() => ($test =& $test xor $test); - } - function test746fbb9a2ccfc8ace5950788f67cbd2e8a2c145302e6aac521b81b9f9b717893() - { - $this->assertTrue(true); - fn() => ($test or (string) $test); - } - function test7b40e7ca07d3291d23671ac74e5171d7460c3643876dcad94aa398595a350c5d() - { - $this->assertTrue(true); - fn() => (new $test() xor $test); - } - function test7ecdd84e2775d284b2594a078aad6e61d0141c6ec2057806a593c62bb354ae0a() - { - $this->assertTrue(true); - fn() => ($test += $test xor $test); - } - function test7f409ff7e465af73a6363999fb34e9aaae1f6cef44fcbe92518926d2fe34831a() - { - $this->assertTrue(true); - fn() => ($test and $test xor $test); - } - function test82a58531a659a0f195015014a8bad7872b558e149a3c74777352240a7f9e3c64() - { - $this->assertTrue(true); - fn() => (++$test xor $test); - } - function test82ce79d6b259dadaa4572de52529f43e99bdcdcf8459a58fa40083c221337903() - { - $this->assertTrue(true); - fn() => ($test::$test xor $test); - } - function test839325201d529cb56c97812d94611023ff1204e848e8932a913640b0dc1eb8cb() - { - $this->assertTrue(true); - fn() => ($test >= $test xor $test); - } - function test840056e5e8a4fc1da5f62a6f8b55d3591a8efe6ed312a40c5f13c1e289aaf295() - { - $this->assertTrue(true); - fn() => ($test or $test ** $test); - } - function test8f517e8beae5ac1d3e59a056c7dbedb4529914ba4162296890370ad9bc054a8f() - { - $this->assertTrue(true); - fn() => ($test or $test + $test); - } - function test9effd91345dae9092046cbc4c0430dc5c4e1d0de9e43c7c3767a12a6638025e6() - { - $this->assertTrue(true); - fn() => (!$test xor $test); - } - function testa0acb74a6f73094d17ef1b177f804d1f6d85aa1b9bcfad308a3da0d9156abd9c() - { - $this->assertTrue(true); - fn() => ($test or $test xor $test); - } - function testa2e798556173040ea9facc76a31ca0f2f9fea7856755d7be5b94d9854551fae4() - { - $this->assertTrue(true); - fn() => (+$test xor $test); - } - function testa482676f5e2d5d13efccf2bce1d46753f23b5ddf56d8fb781807138d985dc135() - { - $this->assertTrue(true); - fn() => ($test xor $test xor $test); - } - function testa7c43ef9ee9ead1921508edb308fcd0eccd08b9a67a2a355145f7884adb5db01() - { - $this->assertTrue(true); - fn() => (isset($test) xor $test); - } - function testa819fd7a316e8b603cac3588aa371e7500ae5756cd33e4f50dc544ab990a19a6() - { - $this->assertTrue(true); - fn() => ($test xor $test); - } - function testabb3d04c1a6bd55c6e1c7186a00b0c6062fc283b102094e9e3c793d2bc73ae15() - { - $this->assertTrue(true); - fn() => ($test or (int) $test); - } - function testaedcbfd8bc464d134efd315870e5488e5957b45da037966aeb0d170523f2882e() - { - $this->assertTrue(true); - fn() => ($test?->{$test} xor $test); - } - function testb24eb76129745c03db25e99fd0d716d8bc12bb67b60c985d86b1dd5f36ba0a52() - { - $this->assertTrue(true); - fn() => ($test |= $test xor $test); - } - function testbaa9fb4739b1d574d2ca5d8bf07e0866f1bd2c5389e13796e5d8b0411de114d9() - { - $this->assertTrue(true); - fn() => (function () { - } xor $test); - } - function testbca90882a9e4a01ba534812fa82b30d614bb5058a9bbc3cf003ce3ef5e5687b4() - { - $this->assertTrue(true); - fn() => ($test or $test * $test); - } - function testbd6c5cad605446465222dc842425f8c274fca39bb424584c9a83845bd6d0ce9f() - { - $this->assertTrue(true); - fn() => ($test or __TRAIT__); - } - function testc2d978f69f12b1526aee174c9c9602496128e55538daf881ca2360b87516a59a() - { - $this->assertTrue(true); - fn() => ($test or __LINE__); - } - function testc6b1e9148506cd304c1888cfc52bd6f132600d867c96fd09fc73ee882bec6222() - { - $this->assertTrue(true); - fn() => ($test ?? $test xor $test); - } - function testc74b1763ddd317aa44bd173181720781a5a2e90f0a86ef24b03fd65109c22cb0() - { - $this->assertTrue(true); - fn() => ($test %= $test xor $test); - } - function testc782f383ea9faef9b70ed44b95fa56c1f722088c6072a9340c12eca5ab82b51b() - { - $this->assertTrue(true); - fn() => ($test or "{$test}"); - } - function testcdbaa626164962e7a54eb3e4b3d193e1b292d8d23dfa488384fe32ee33880549() - { - $this->assertTrue(true); - fn() => (-$test xor $test); - } - function testce04a3dc5a1052522f4e9fc74fcc1eb6e31f6a67ff7113dfc50c9502cacd3473() - { - $this->assertTrue(true); - fn() => (throw $test xor $test); - } - function testcf84b79f9630a8fbcc53c2e2927f5692a0d9f13b8d46de7227edd8cd8823e335() - { - $this->assertTrue(true); - fn() => ($test or $test <=> $test); - } - function testcfe3e268668471ea757b2842da24880c812558eb4cf032b2994d42ba70ccc610() - { - $this->assertTrue(true); - fn() => ($test or __FUNCTION__); - } - function testd25baa6d25362d1554a611a8bc832526e59c737dcb3d2687f7a825a7678d3901() - { - $this->assertTrue(true); - fn() => (`` xor $test); - } - function testd30dc89bdc288ee83adc59c70df5c84afe2206d5d9d6db8c7ffcb715470d40ec() - { - $this->assertTrue(true); - fn() => ($test or (array) $test); - } - function testd3acee056518b80e07dc30f024e74f29c3b5b510b0e1b77fa06859a7c0773b3c() - { - $this->assertTrue(true); - fn() => ($test or $test < $test); - } - function testda5312581aa68a9bcacdd45245cefdae29f9a02d555a5cdaec995758f897d547() - { - $this->assertTrue(true); - fn() => ($test ??= $test xor $test); - } - function testdaddba0bab273abbc8fbdaea462064fa1fdfc1244cb4c7589209b1bb71d258a2() - { - $this->assertTrue(true); - fn() => ($test /= $test xor $test); - } - function testdbfba6471057759288d1c04ee0053f69d6982383dbe9c24d7d6b4c67dc055f3a() - { - $this->assertTrue(true); - fn() => ($test or __FILE__); - } - function teste027087fde9ad4be6f8d9096252a3c315af573a576c966ead61d9d9270b362a1() - { - $this->assertTrue(true); - fn() => (${$test} xor $test); - } - function teste201eac52acba997e0f0b72d704b182876b6de89df80fd2c21b56969c8af2273() - { - $this->assertTrue(true); - fn() => ($test or $test << $test); - } - function teste26bee83d1701e4d43c06775935c3ce9854d984e6a5e17d8f3ee52e4402d5f9d() - { - $this->assertTrue(true); - fn() => ($test or 'test'); - } - function teste327684ec657297ffcd247fc2174db0dfc2779fe39fa391c9f2921c8402f8654() - { - $this->assertTrue(true); - fn() => ($test | $test xor $test); - } - function teste6213d32a0c13f5545a6e7a35aeea225575fb5c4b2f66f82a5dd9801dd8b183f() - { - $this->assertTrue(true); - fn() => (( $test) xor $test); - } - function teste64ae6f338dded2dd4e524a60653707cdfa1532c0c4429560f830a44e62320c9() - { - $this->assertTrue(true); - fn() => ($test or __METHOD__); - } - function testeaa1b17cbb25138aa6b1483b8c83b32c5209300e388c599feca871effe2fc92b() - { - $this->assertTrue(true); - fn() => ($test or __CLASS__); - } - function testeb59b1c45bf78a8e953793aed517b3b598318d19ebb5927ed5cc68324f3702c1() - { - $this->assertTrue(true); - fn() => ($test > $test xor $test); - } - function testee99d48f2d3fa8c8f6be0613235a9941b56c8f5a0f1bdabc087662f9ce17a50e() - { - $this->assertTrue(true); - fn() => ($test or ($test or $test)); - } - function testfe1ded9e018b6832f9d583258a2e4a8db2321668f6d6e6f3e116bd9b447c0e85() - { - $this->assertTrue(true); - fn() => ($test ^= $test xor $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test.php b/testsGenerated/Target/Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test.php deleted file mode 100644 index db70d9706..000000000 --- a/testsGenerated/Target/Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test.php +++ /dev/null @@ -1,508 +0,0 @@ - - * @license MIT - */ -class Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test extends TestCase -{ - function test001f40b7a1e388b337e634e508a255f57e301f6c651a7b87374d02095ee0b87d() - { - $this->assertTrue(true); - fn() => $test::{$test *= $test}(); - } - function test03113d8ba235470876ba537dbaba4344e3bc619f9b6a006b78e611b6291c1a84() - { - $this->assertTrue(true); - fn() => $test::{$test <<= $test}(); - } - function test032246f585b8687a72aa31840e0cc2e490bbcddeb2c50199857f33bdb990a7cd() - { - $this->assertTrue(true); - fn() => ($test >> $test)::$test(); - } - function test032d1e89b4e09759a75aeec7bed856735c63e81ec408d49e6c1e2d21848c8cc8() - { - $this->assertTrue(true); - fn() => ((string) $test)::$test(); - } - function test03f67459f379187c6d45663f6e20aabd6b8b0e7fdc90f0c33e3a495863d75c93() - { - $this->assertTrue(true); - fn() => $test::{$test = $test}(); - } - function test082050d963f6a0711ed0b497d2881869387c5ba500616141e235bfd09e069cdd() - { - $this->assertTrue(true); - fn() => $test::{new $test()}(); - } - function test0ce51a044f4a5dbc91070f7f67731bf4f7877b304220acc59db3331f6ae17f3e() - { - $this->assertTrue(true); - fn() => $test::{eval($test)}(); - } - function test0d6dc51043eeb3790a0c252afae9e789e04d9c856cf8bc438a56d7487d34c521() - { - $this->assertTrue(true); - fn() => ($test . $test)::$test(); - } - function test0f47dafe68e21dd7d61547d520e262589a487b915ab3bd3a6c173bf70c391042() - { - $this->assertTrue(true); - fn() => $test::{$test /= $test}(); - } - function test10610fc98ca942bd873b67701cda5e565c81e5b3f504330a8896b70e4e9bc5b2() - { - $this->assertTrue(true); - fn() => $test::{$test instanceof $test}(); - } - function test13135c48d12b2a8caafb00a1b92160a0921ed98520bc37fa3b5c8b62bc024f19() - { - $this->assertTrue(true); - fn() => $test::{``}(); - } - function test13403d140751cc93d48d1c97cddb8447b2e75e65a63a0c89649df641f7146175() - { - $this->assertTrue(true); - fn() => $test::{-$test}(); - } - function test15203bc2fbeb5bc0283b4712cbc25a52d108017aff6a6937911e64cd06c8fda2() - { - $this->assertTrue(true); - fn() => ((double) $test)::$test(); - } - function test18322634cf58d14f2bf4abcf1910274d45c674d218a11df349008766b16c137b() - { - $this->assertTrue(true); - fn() => ($test || $test)::$test(); - } - function test1cbd0a58a8537c01fb89ae3ded76c67abf38b36e8abf7126403bcb963c7f3fbb() - { - $this->assertTrue(true); - fn() => $test::{--$test}(); - } - function test1d7e93fc978c3c82338515e425d8d6f01ab19a6488d7f902a7800c430fb993ca() - { - $this->assertTrue(true); - fn() => $test::{$test **= $test}(); - } - function test21d8e95089436f0c116bcc522377d1a9f245319b265e6ae2cd6fe1c47f861478() - { - $this->assertTrue(true); - fn() => ($test ** $test)::$test(); - } - function test26e978d221c4e87631678a79c46b7b4309003b1e5cfcb52a9192b9e84b68da26() - { - $this->assertTrue(true); - fn() => $test::${$test}(); - } - function test29d9db9582fc8c03c5c82a4816f5b36ad6b21b7a6ea1386262d657a797c5fca4() - { - $this->assertTrue(true); - fn() => (__CLASS__)::$test(); - } - function test2e81cf75dcacce27cf2c51ab30d780b1749894335488204b23731a98c4bae7a2() - { - $this->assertTrue(true); - fn() => ((bool) $test)::$test(); - } - function test34baad86996aa0feb2eff289f0eab584846392dc6be0450902c6978e0534395e() - { - $this->assertTrue(true); - fn() => ($test > $test)::$test(); - } - function test3a2871611cbbc3736964bd2f2f86acbddaeadc4652241248059893abf51b4335() - { - $this->assertTrue(true); - fn() => $test::{$test -= $test}(); - } - function test3bec55eaa94dcd703e85ada4639d7ad4f141624fdbab88a3b746a85f54070494() - { - $this->assertTrue(true); - fn() => ($test | $test)::$test(); - } - function test3c4d217cc9ac892ed6d942106e2c3d477d14cbfc5ba2f5a8902bbce13648ec15() - { - $this->assertTrue(true); - fn() => $test::{$test %= $test}(); - } - function test3efc6613371f35d48b9fa5f649cb47c4db6fbb2f7171afda910d0e0428eac454() - { - $this->assertTrue(true); - fn() => $test::{++$test}(); - } - function test40836da8fe4418fea8718b5a09582ef3c77b1834710bedd0e622e2f154002c4f() - { - $this->assertTrue(true); - fn() => ($test xor $test)::$test(); - } - function test42e9f418ea6c8a5bc55256a564693cb53f31b01a93f58686ef46779d053262df() - { - $this->assertTrue(true); - fn() => $test::{$test::${$test}}(); - } - function test4421bcb4f5adef43490ddd334b51807d604a0e36d4ffa458939e201300b4f405() - { - $this->assertTrue(true); - fn() => ($test === $test)::$test(); - } - function test445460ed2ef6f2dc375c83bc0b0605b93e80abdbdb3fab736f88cb1bd6737689() - { - $this->assertTrue(true); - fn() => $test::{$test--}(); - } - function test459d66b98e0c186b9727d27346ba48660d92f5998263b7c09f2d87c403e48db4() - { - $this->assertTrue(true); - fn() => ($test and $test)::$test(); - } - function test47f0d8d41a50c973f2079fbc7f101e267dad91ae6ba2c6a39af713477b327ee5() - { - $this->assertTrue(true); - fn() => $test::{$test++}(); - } - function test48c9166f25e585eb38472a4953f34c220ca73a3b427a9883b0d5eb995cc6ed36() - { - $this->assertTrue(true); - fn() => $test::{$test()}(); - } - function test4dd02dd775a8d8836ccac57cfba01a5c608e9fd1fa793a68058e38fc9d993f82() - { - $this->assertTrue(true); - fn() => (__TRAIT__)::$test(); - } - function test50ef2b0da4984cd31599b6e656f53457f88bf2354ddc861a9f0d3035425d05a2() - { - $this->assertTrue(true); - fn() => ((int) $test)::$test(); - } - function test53085c3b8749bc57e23428921608ad1b01f311a80cd3fb67ef3db6687f96f03f() - { - $this->assertTrue(true); - fn() => $test::{$test[$test]}(); - } - function test555256042d90e2c15f8919c16c0b002ceb6b926371056bc02ae4b2c7242c726a() - { - $this->assertTrue(true); - fn() => ($test *= $test)::$test(); - } - function test5718a3fbff086e195c3ccc5cf3fae60f32d108f89bd237788314c056289ab0cc() - { - $this->assertTrue(true); - fn() => ($test >= $test)::$test(); - } - function test5789d9517afa7e02fb9792abb9e03f4fd29e1fc8a18bc4b72deb05852a602f7d() - { - $this->assertTrue(true); - fn() => $test::{@$test}(); - } - function test58c28bf53e7eba5092b9f7f4c1c1297ddbaca2fc3687e69e07fcd13948f06fc7() - { - $this->assertTrue(true); - fn() => ($test %= $test)::$test(); - } - function test5b33c8eedeafa5a3b855691212c3e8817e9f95bf5680200c1dfed9d2a84fce15() - { - $this->assertTrue(true); - fn() => $test::{$test ??= $test}(); - } - function test5d582170eddd5b0df0e2d267fed9e67ca5e1d31e6326e18279beea392e02d929() - { - $this->assertTrue(true); - fn() => $test::{$test += $test}(); - } - function test5ec87350ef4e7badb125782ade92fb90527afeedccb72f112bf4cf417551f608() - { - $this->assertTrue(true); - fn() => (__DIR__)::$test(); - } - function test615d58d561e66fa64c4c89fde18dbbd6f39600036f4520e3fb27c0529c12c61d() - { - $this->assertTrue(true); - fn() => ($test & $test)::$test(); - } - function test64c0ea209da60e47e5188e5cc50586407ac74b4312f03e2eed0e0982c08fa2fa() - { - $this->assertTrue(true); - fn() => ($test - $test)::$test(); - } - function test6549b847c847aa04c7e40004982c57303f7d15830787cd33459098592b508d4b() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__)::$test(); - } - function test6744cd6773df471d26c21b9c0edff9889f5009207797c70854c6353023848b3b() - { - $this->assertTrue(true); - fn() => $test::{!$test}(); - } - function test69eca924ab6327ea3e9eb0aa647b809a890d4ef6502820f0b90c19d27fbb8b5f() - { - $this->assertTrue(true); - fn() => $test::{~$test}(); - } - function test6dd53c97d5521bcd0001f5cfcbd56705b3c9de259d20a87553b9b86ff1de1fc0() - { - $this->assertTrue(true); - fn() => $test::{$test =& $test}(); - } - function test6fb6614443a3a69d2860ed527ce453b20bd280947b5b8ad0e2c388e114f7b05a() - { - $this->assertTrue(true); - fn() => ($test < $test)::$test(); - } - function test71fd9a91260979e35b30e5d3141c8502cff515184df759f6f26d342108fdc097() - { - $this->assertTrue(true); - fn() => $test::{$test >>= $test}(); - } - function test7603a94c9b0b396433612d59d74528c5abe08f47ff59a7376d9cf576cc1af06b() - { - $this->assertTrue(true); - fn() => ((object) $test)::$test(); - } - function test782ede78de3ec8bce127a05cdea5f90dbbf1a92f9701859d87c214411bf260e6() - { - $this->assertTrue(true); - fn() => ($test % $test)::$test(); - } - function test7987864b12a5aa2b3ba5eba0038e98be4b8308e05b760fe335c0960fea8e5002() - { - $this->assertTrue(true); - fn() => $test::test(); - } - function test7be74823605113371dc15cb73c0d872d48667399f0c85f701b7933071095f253() - { - $this->assertTrue(true); - fn() => $test::{$test &= $test}(); - } - function test84b0cd0fdf5ea149cc8887a1c48cb2ed8cffa52b30406fb9d271a6d29b0daa36() - { - $this->assertTrue(true); - fn() => ($test != $test)::$test(); - } - function test858b89c54ec0e6d1fb84b3252a00273c67c59fdf6728f2a6b953cf1f5f74680f() - { - $this->assertTrue(true); - fn() => ($test += $test)::$test(); - } - function test874253b29496b854aa12ca4ba1f7b77dde30ed05d956d51ef801417702f1338c() - { - $this->assertTrue(true); - fn() => $test::{$test->{$test}}(); - } - function test8848bbd9fcd698d43a9b4fa9051b1d08d52849e8156b88b8f2d86e4e419486c6() - { - $this->assertTrue(true); - fn() => ($test + $test)::$test(); - } - function test8887a75fa3b4f07c54da18d12c54b5bef7f7fa8933131e201fc4c0ab072fd836() - { - $this->assertTrue(true); - fn() => (__FILE__)::$test(); - } - function test8bdb33aa4770868f5c9713de54b9c6ecd3a8a40f7914787fb55d2d212506952c() - { - $this->assertTrue(true); - fn() => ($test && $test)::$test(); - } - function test9c91d46d50306fb4ed3c8e9393c0557547c9f849db1f6c0ed7eab2d44d3df6b8() - { - $this->assertTrue(true); - fn() => ($test <<= $test)::$test(); - } - function test9e13353e70a2db96b4249970ba9c40ee31ada61d3ca1b59a9416b88867fb7fb3() - { - $this->assertTrue(true); - fn() => $test::{$test::$test()}(); - } - function test9ebfc41b6508813d8653a18964bf4bebcbf7b5221938d7caffc6cc74eeb38d2b() - { - $this->assertTrue(true); - fn() => ($test **= $test)::$test(); - } - function test9f82e86ff7bddcc8dd8e1217235946dfda41e954d51f8664cde7314f959b102e() - { - $this->assertTrue(true); - fn() => ($test / $test)::$test(); - } - function test9fa63ccca32a488acd3fb073bba35dfd1879707ff79cfd73f7e06b36a610ba46() - { - $this->assertTrue(true); - fn() => ((array) $test)::$test(); - } - function testa6bc14a4fc9bca86ebd955177502cf828d5ca420c555758c465999d5e7c5290a() - { - $this->assertTrue(true); - fn() => $test::{$test ? $test : $test}(); - } - function testa75aef1df932f8fdd34483f7c04f139e25321a7f38aa718c61335d6761bce8cf() - { - $this->assertTrue(true); - fn() => ("{$test}")::$test(); - } - function testa910b27be9e4d9216d76a71861950a4d3acaff84e9fec955c21e2139d0c2af9e() - { - $this->assertTrue(true); - fn() => ($test !== $test)::$test(); - } - function testb17e4ce9c7050fa691f3ea1c4d6c3a45dd69580dc266f003a99e50eb51b627a6() - { - $this->assertTrue(true); - fn() => $test::{$test::$test}(); - } - function testb19fd84844396c2d477694f4ea727c5b2ba54ce2884579a610252b6a511fff0f() - { - $this->assertTrue(true); - fn() => $test::{$test .= $test}(); - } - function testb1b6e62120df93011904a3690f9936bb2404c886376ba8a7c7be36f1e365add5() - { - $this->assertTrue(true); - fn() => ($test or $test)::$test(); - } - function testb5d569ec10f8d1994346be5064f43b744a51c63f8de30a6ffff5b2d0ecee31e9() - { - $this->assertTrue(true); - fn() => $test::{$test?->{$test}()}(); - } - function testba8de927f671ecd13059407a586640f1e5ddcc116b18c007f6a1e4fad4ba05cd() - { - $this->assertTrue(true); - fn() => (__METHOD__)::$test(); - } - function testbb72a0aa6c670893f9498912fe0cfb468f276f562b7ed28465d9eb6860933fff() - { - $this->assertTrue(true); - fn() => ($test ^ $test)::$test(); - } - function testbcda55c9e5d5a09e50d0a6f5569b90e3200a5097ccc619239fcc1992857daa74() - { - $this->assertTrue(true); - fn() => $test::{$test |= $test}(); - } - function testc13b39a69d273b36bf4b8485394ef8dcdbec3328c50b3c1bfeaf06145f1b7619() - { - $this->assertTrue(true); - fn() => ($test <= $test)::$test(); - } - function testc443574f2b9b7e0bc693ee8d2de89599b01a4766c185e87add814e81b6229aec() - { - $this->assertTrue(true); - fn() => $test::{$test}(); - } - function testc6de2b0b7df23bdc8facad504730d56972dfe72c42a75706fa848786f0af55f8() - { - $this->assertTrue(true); - fn() => $test::{self}(); - } - function testc795b2a8defaa22739db7ab8d1d36ebdeb03b192cfa0335892eac46838d06305() - { - $this->assertTrue(true); - fn() => $test::{isset($test)}(); - } - function testcb4b15466b450f88402bb029a9f467acc9abbaa9a95d5c3ff860cc5d27ab5438() - { - $this->assertTrue(true); - fn() => ($test << $test)::$test(); - } - function testd09d0b6b7133e283cb806ce35ce848a12aaac3e52a76f1615dc76f1c4e549162() - { - $this->assertTrue(true); - fn() => ($test <=> $test)::$test(); - } - function testd5a893d108774bd8ea7c4bcb5a2fd424e23d0dd9ab88e100a682eec6d2034102() - { - $this->assertTrue(true); - fn() => $test::{clone $test}(); - } - function testd8409659a9570935e271de753927035b3e1bcbfc163f89eb0ade81e9eb4fda99() - { - $this->assertTrue(true); - fn() => ($test == $test)::$test(); - } - function testd9cbaf013a6031ffe6c7b03d6687e22a881c9a2e91151d88bcddeeee162e9842() - { - $this->assertTrue(true); - fn() => $test::{function () { - }}(); - } - function testda19fa07e65d657ed062dfb646845e812ac248377ddfc1f6e1586f59e9ffde2b() - { - $this->assertTrue(true); - fn() => $test::{+$test}(); - } - function testdd63218ffb00d3b2f462a4298bdb36d4db0d344758e1f76c1944f17a57c6d7ec() - { - $this->assertTrue(true); - fn() => $test::{ $test}(); - } - function testdd811f05be510fe7bcb922742b30d7da9c918eadcc46501f974a39afdf5b4960() - { - $this->assertTrue(true); - fn() => ($test ?? $test)::$test(); - } - function testdddacaad9fcd4bf3e660d25b10380e1ac643ae7e39438d169d1bbcfca5ffb323() - { - $this->assertTrue(true); - fn() => (__FUNCTION__)::$test(); - } - function testdf55222c46b4b9f259da098737770f13a0533dd425a957a4d4b235e0d9f145e3() - { - $this->assertTrue(true); - fn() => $test::{$test?->{$test}}(); - } - function teste4c5dd6bbaf00c7eb62bcbaf4c35457a1e71c5c8870162da3c98075522731b8f() - { - $this->assertTrue(true); - fn() => $test::{$test & $test}(); - } - function teste5d21c496d2c91ca8d2e2af5ee8451f7de49fcbbfb4492decd702d7587389358() - { - $this->assertTrue(true); - fn() => ($test >>= $test)::$test(); - } - function teste7edd2188f477fa8a93dd22929366cee31907ecaaa68c67b2cb41f56b40ce51a() - { - $this->assertTrue(true); - fn() => $test::{empty($test)}(); - } - function teste93c42840aaa74ddba984d7f5ef82c96f0f7f6b3c00a2eaf5c6bf5c7a9bdc456() - { - $this->assertTrue(true); - fn() => ($test * $test)::$test(); - } - function testf3b2a640a4bf470e74adb258a1d960a229361b4f718baa76db1db2725aac8ce4() - { - $this->assertTrue(true); - fn() => $test::{$test | $test}(); - } - function testf892b7a84fb3224c604ec64ab9912a3cf683390dc8e8e022f7382f9ebee5a069() - { - $this->assertTrue(true); - fn() => $test::{$test->{$test}()}(); - } - function testfdf79b7e63ff478a78c4167b59ba7e43f97eee76ce5f27fc00665d6e13105f27() - { - $this->assertTrue(true); - fn() => 'test'::$test(); - } - function testfe5c6392bcec9d3078a1ff6b848a91c47d811513fe26d621013b2be1a62e2cd1() - { - $this->assertTrue(true); - fn() => $test::{yield from $test}(); - } - function testfe64029d451ff6a4f94d398bbfab9cccaebe69bd860b2c23586fb1ba4a593a7b() - { - $this->assertTrue(true); - fn() => $test::{(yield $test => $test)}(); - } - function testff02b9842b80d204fbeb0b8a87de9c7433bad045a205ce8699e81d8d4c366e59() - { - $this->assertTrue(true); - fn() => $test::{$test ^= $test}(); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest.php b/testsGenerated/Target/Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest.php deleted file mode 100644 index 28a4a64b7..000000000 --- a/testsGenerated/Target/Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest extends TestCase -{ - function test02d671186ffab5ab7641837b01d340d7e8becffd4eeccd130c5a0d4f547b704b() - { - $this->assertTrue(true); - fn() => ($test %= $test &= $test); - } - function test034e56d7d8f7b0d64e0f2704934b644db16c811b99052e69102b57b1bf840722() - { - $this->assertTrue(true); - fn() => ($test %= eval($test)); - } - function test04ba2229b392538aecdeca91eeaf7ed380f594025b9b7aab9dd9b639dce3a033() - { - $this->assertTrue(true); - fn() => ($test %= $test::${$test}); - } - function test09679e4d6f25ce6cd697e2f5cb6408b36148479fdcb33a96bd1141499d9c438a() - { - $this->assertTrue(true); - fn() => ($test %= $test ^ $test); - } - function test0a4bf4e0e46495df486d6558f404cb4d09ea5262690bf5ce1eadc83793a0df31() - { - $this->assertTrue(true); - fn() => ($test %= $test / $test); - } - function test23085b600a3f3d6206823f1c9c6ba60cb65c47ae4db17cc71b7b525da2dfd6c6() - { - $this->assertTrue(true); - fn() => ($test %= (print $test)); - } - function test2a04041809aedd9e160456517908ff3f4612f6aa32479fe613f2876575199c25() - { - $this->assertTrue(true); - fn() => ($test >> $test %= $test); - } - function test2a585a11d0a1ee917eddb46da40db754e0715eb6909358177a773202250f74fe() - { - $this->assertTrue(true); - fn() => ($test %= (double) $test); - } - function test2ab6f4c963b9934c30a6891c80d70dd43a1755b5eac224257b690c065e610939() - { - $this->assertTrue(true); - fn() => ($test %= $test); - } - function test2adb4e2ee220a2356b0539540dfad04e0fc6b2209df707c7f1ea6b229441c275() - { - $this->assertTrue(true); - fn() => ($test %= $test << $test); - } - function test309af1e22471bed3a2dbd33a3bf8d414a0f657f46118f48beb232c86425faeef() - { - $this->assertTrue(true); - fn() => ($test %= new $test()); - } - function test3604783845547df748f4df04ce36d6f2117657d1ec20de4520c4006445474c4d() - { - $this->assertTrue(true); - fn() => ($test %= $test % $test); - } - function test3cf978942530c55f465a3f2dd32992b2b4c85733968810911dac3c7eb7375ec1() - { - $this->assertTrue(true); - fn() => ($test %= $test -= $test); - } - function test3f2440db110e906aad1e1a6c65a13397c6051f9744c271fa7ed0cee5d7e4c00e() - { - $this->assertTrue(true); - fn() => ($test %= ($test xor $test)); - } - function test4038421709646018cf9965f54dfbe5d99b75d483336365443333df3c0c8389f8() - { - $this->assertTrue(true); - fn() => ((double) $test %= $test); - } - function test43539e3d0217a6458b8cb40267e231ba7c2aa6870e7d97dd415660d14eaa6c51() - { - $this->assertTrue(true); - fn() => ($test %= -$test); - } - function test4499ee5e9959820b28a8c25a13f8c04e6565425c04b1905046b3e3141404b2b4() - { - $this->assertTrue(true); - fn() => ($test << $test %= $test); - } - function test460d3abddec60076a4b959918277d57b020ad7cfe60a2f84ab8115c00112bd53() - { - $this->assertTrue(true); - fn() => ($test %= $test->{$test}()); - } - function test46cc757e112031433af9476f27be247cdb8c363e74177b5f306b5742b9e099af() - { - $this->assertTrue(true); - fn() => ($test %= function () { - }); - } - function test46dca7ee662cab22c6f69885cdc723f736039f832eb79277d4187326b3a121f1() - { - $this->assertTrue(true); - fn() => ($test %= $test *= $test); - } - function test472e7d52af79f7fdd68718c49900c4d24c1559c7190a98eb7af9601bff06ae31() - { - $this->assertTrue(true); - fn() => ($test %= --$test); - } - function test48b54b0c5da70b41e7fe9ecc4b279d3dd51af64d70638f7cec1caaa04fb0543f() - { - $this->assertTrue(true); - fn() => ($test %= $test * $test); - } - function test494d821a503b2b5c5ad5666bd78de1d713e2575127b93ae3368876a0c52c2e98() - { - $this->assertTrue(true); - fn() => ($test %= $test /= $test); - } - function test4a2a5a21a50350b97f3924454e1dd2384f69b86820b95a6c6625513fcb4442d0() - { - $this->assertTrue(true); - fn() => ($test %= (int) $test); - } - function test4ca88ff6279a2dcc1d72d5cbbeb477f8cbfe8828861da071257a6beb6f8038e2() - { - $this->assertTrue(true); - fn() => ($test %= empty($test)); - } - function test5062aebffc24c5cc944d0e34549a65c50c0c699e6efecf7c68d7e56fb84344c1() - { - $this->assertTrue(true); - fn() => ($test %= ~$test); - } - function test51ca54e3c1d59f7099a61008581b2047867a6bde6484b705ea146ff1d78d60b8() - { - $this->assertTrue(true); - fn() => ($test %= $test **= $test); - } - function test52ee14420c3b5b878e62441cbdf7795741ca45a9b3f4fc651a384950237db464() - { - $this->assertTrue(true); - fn() => ($test %= $test === $test); - } - function test53706e412000e6607bac73bef4b846aae5c8c00eeed0f56e3518c51a75d9a4b2() - { - $this->assertTrue(true); - fn() => ($test %= isset($test)); - } - function test54ef14065e9094f728428b9bd2176d4ebe9d70b349e9e6710a819dea1dd2d5eb() - { - $this->assertTrue(true); - fn() => ($test %= $test->{$test}); - } - function test574ebe28354f66a880a9f130b7b331cfe783ecd595bc01d72b6775d7abe928b6() - { - $this->assertTrue(true); - fn() => ($test %= $test <= $test); - } - function test597cf338dc49a98ab29484eb0bfdde45a9b8ea45df469ac9dafe22140139d4a9() - { - $this->assertTrue(true); - fn() => ($test %= $test()); - } - function test59dc11247d920b11bea3de06bb9323c6a976f1929498d5dd0ccaf2ed8fb96147() - { - $this->assertTrue(true); - fn() => ($test %= (string) $test); - } - function test5ff54469cf472e4fdd898c38be71918519133ba9e581c186b5b53bb917c9e217() - { - $this->assertTrue(true); - fn() => ($test %= $test =& $test); - } - function test60b9c4daa80637bab82ecf0b4a9f2a2f85eca43f9b480e6c36a531f9f5bdad95() - { - $this->assertTrue(true); - fn() => ($test !== $test %= $test); - } - function test62804f67a2147607953c6eea881f025fc1509cae33819eb85817d3e5b322b18b() - { - $this->assertTrue(true); - fn() => ($test %= $test & $test); - } - function test650d798bdf04c463d6c413eab698ff6b77d7fbcd6b5176ae2dcb07cc72bff352() - { - $this->assertTrue(true); - fn() => ($test %= $test--); - } - function test6956f17711b567ab9425be78374dfa975e5af1f798424df748c106020f30b5d2() - { - $this->assertTrue(true); - fn() => ($test %= ( $test)); - } - function test6b2011d5ec5e11fc44092ce9c045f390b76b6773e1f7dfa6c8d4d7bdac1b70a6() - { - $this->assertTrue(true); - fn() => ($test %= $test = $test); - } - function test6cab1fba44fbe36032f6ac2c32c6ad6527a10d2ecf8d84e51b33c354a899d999() - { - $this->assertTrue(true); - fn() => ($test %= $test ?? $test); - } - function test6e17c717fc13dde478e5a8de0a179dfe4661d9e40faafb507cea8df683fad12c() - { - $this->assertTrue(true); - fn() => ($test %= $test >= $test); - } - function test71506fc9926628ffc2c9b8fa9474ea5b3ca62be230660237d96ee1e24e16d4c6() - { - $this->assertTrue(true); - fn() => ($test %= $test >>= $test); - } - function test72bc08100b2c257dc9a0d5f1adf8df39b03eb2faf53c4e27324d1bd612b6b016() - { - $this->assertTrue(true); - fn() => ($test %= (yield from $test)); - } - function test743c2942245357c768dcdd9a5c459b0aec5195e591f8fcfb3f2f6b8d41e3920a() - { - $this->assertTrue(true); - fn() => ($test %= ``); - } - function test74c8bb3be3a31eee2c0a0ee1f37158fcd5adf1c86c9d423b80ec63bf81cdecf6() - { - $this->assertTrue(true); - fn() => ($test %= $test++); - } - function test76ef054a1b4a7288d5f5f650c08b84d022cd91a1c4f90b4d3722c9b10c525300() - { - $this->assertTrue(true); - fn() => ($test %= throw $test); - } - function test7773f5f40873310b4a84e17edda0db522310deae78344aa4c2197ff6eacece2d() - { - $this->assertTrue(true); - fn() => ($test %= (yield $test => $test)); - } - function test78a397ae88fa40c8eb693a5d06033d29a6812ba644c3dd5d82d3e2506b3e2dee() - { - $this->assertTrue(true); - fn() => ($test %= (array) $test); - } - function test78d70bfcd9aae1d5f6a0cdec9902dc5b4564d8b060f073f2cceb7fff410d1cc7() - { - $this->assertTrue(true); - fn() => ($test <= $test %= $test); - } - function test7947098013ee4e3509de5adbb20761a5bf6127ff754d77b4d9e8523cfadd1edc() - { - $this->assertTrue(true); - fn() => ($test %= $test - $test); - } - function test80b93a0f547ef55c48405651dacb83e0b286af6ea330afd2de0fb62de68cab99() - { - $this->assertTrue(true); - fn() => ($test %= !$test); - } - function test816d241992addc5cebc9600fd33842c493462d0f0558cac253ddae23e965eccb() - { - $this->assertTrue(true); - fn() => ($test + $test %= $test); - } - function test8632512542d3849cf48ac014212e598a4bd0a545f262945a325beb744a0269b1() - { - $this->assertTrue(true); - fn() => ($test %= @$test); - } - function test8b35fbf687479a9bd82b4a2de512b84764ff3084135b07fe86dcd845853713f3() - { - $this->assertTrue(true); - fn() => ($test %= $test += $test); - } - function test8d0dcf527a6d2aae2df8e24d98ddb8db71808c249b5d1926c842280ae748874e() - { - $this->assertTrue(true); - fn() => ($test %= $test instanceof $test); - } - function test8efbb58b3cb72dd448aa1db8a51feea6358c97647f63931a0df1bc200bbe6f91() - { - $this->assertTrue(true); - fn() => ($test %= $test ? $test : $test); - } - function test90085cc172118707c13835ec947328042c556e524ca26509a3df0dab87ef0273() - { - $this->assertTrue(true); - fn() => ($test %= []); - } - function test92acbfa9e5760cbd406eb8c197d4949f85076fb467bb84fc401189bcf244698a() - { - $this->assertTrue(true); - fn() => ($test %= $test <<= $test); - } - function test98b592ab031b026d785c443118fb53ec0724885895c890f0244ee46e0b49e849() - { - $this->assertTrue(true); - fn() => ((object) $test %= $test); - } - function test9e3a1441fd2479ab34311ed3d8b43429b916938e2171a01b352c6f00e0d94b99() - { - $this->assertTrue(true); - fn() => ($test %= $test::$test()); - } - function test9feb92cd3fcef040a121e687d2925ff7b34e47bb5581638573a14d6122e5dd8c() - { - $this->assertTrue(true); - fn() => ($test %= ++$test); - } - function testa149e58dba522a65648e3dc268b4b5e9d624b41315e27d609bca4980461d46ad() - { - $this->assertTrue(true); - fn() => ($test %= $test ** $test); - } - function testa2210ccbcaaffbe91318be5e92fdbbb77d4704c505ecc2216481edcd87bd7f3e() - { - $this->assertTrue(true); - fn() => ($test %= $test .= $test); - } - function testa3a99664945caba66313885086d732d4b59c85da5541bc2eec58e71912de5ae7() - { - $this->assertTrue(true); - fn() => ($test %= $test == $test); - } - function testa3c3afb862a88c2327b20fdfbb9d790cd6166258d511bf260e7f70ac182f7080() - { - $this->assertTrue(true); - fn() => ($test %= $test && $test); - } - function testa53b42caeb67a4dfad1d1d3baa56cca36c8b344f68f2fad5ee90c917a2b9bc90() - { - $this->assertTrue(true); - fn() => ($test %= $test || $test); - } - function testa56409bd7dc02d07c888fe77908f752db697792223c78c6802f6d285193dffcb() - { - $this->assertTrue(true); - fn() => ($test %= $test ^= $test); - } - function testa5cd947c0e4e238977531429737d577f6b2d83e3d0b0e35a6d30493542b8f11f() - { - $this->assertTrue(true); - fn() => ($test %= $test | $test); - } - function testa7f1c2e60c98b538ae8bb630b8ac389b15df8f143d36983cb5445aa5c54175f8() - { - $this->assertTrue(true); - fn() => ($test %= $test[$test]); - } - function testa83824be034af9e64408c4ab746cbfc7b4f536c1b846fe4789ba27fc05803377() - { - $this->assertTrue(true); - fn() => ($test <=> $test %= $test); - } - function testac753eca682c519a2ac8c3b7f4c6badb775845bd0062be546a2465665a6b2cef() - { - $this->assertTrue(true); - fn() => ($test %= $test %= $test); - } - function testae319d0d6ed4010ca8233a8bbe5128c2ed71597e835e34b95341a5afc295914f() - { - $this->assertTrue(true); - fn() => ($test %= $test < $test); - } - function testb43054bc74c59067e94c221d382b8d26019c3dab652fe96487a00170bb8f8b02() - { - $this->assertTrue(true); - fn() => ((bool) $test %= $test); - } - function testb55eea492a51c86ea56d103f19243fa6c7a913eb271cedc80249e5f9cabf5836() - { - $this->assertTrue(true); - fn() => ($test %= $test != $test); - } - function testb9588c86346037d26cf5f0295a609c9932e8dd23bcfc24856456e1398a3fdee5() - { - $this->assertTrue(true); - fn() => ($test %= $test . $test); - } - function testbb238002d1a6542f31bfc06c48cb659c55cba1d94097f813e181d060add426a1() - { - $this->assertTrue(true); - fn() => ($test < $test %= $test); - } - function testbd819c487ec2445968ad7b6bb4666d605f2942c6be1fb7d4f5b86adb023a0010() - { - $this->assertTrue(true); - fn() => ($test %= match ($test) { - }); - } - function testbfca34de2d10768ec1bca98ac4dfd7c9de049d1c6d5f6d2759502a404db6a268() - { - $this->assertTrue(true); - fn() => ($test %= $test ??= $test); - } - function testc0102b850fd074c7c12c299b74419fb20c3e6c94cc65956d6145bb390d528325() - { - $this->assertTrue(true); - fn() => ($test %= (bool) $test); - } - function testc442810e302a0f9ad27aa980362cd477c96b7c0f2a5c4106887efcdaa01f9e7e() - { - $this->assertTrue(true); - fn() => ($test %= ${$test}); - } - function testc956a5b4cb042d9ec27baa13c4dce6fa325b1cc220dd07587c5c2ab0f501f0e5() - { - $this->assertTrue(true); - fn() => ($test %= ($test and $test)); - } - function testcb18af5f06351186d4a14b9493799c86c650adbc7afe2622632667a5837dcefd() - { - $this->assertTrue(true); - fn() => ($test %= $test + $test); - } - function testcc0d88cdb104fe764810be70ddf76d352305b78c72aaa2158b40f8a337f78c14() - { - $this->assertTrue(true); - fn() => ($test %= $test > $test); - } - function testccdc20496705242c243c9657910a202d8891ddc4bbf8cc77ed622ea883755627() - { - $this->assertTrue(true); - fn() => ($test %= clone $test); - } - function testcf1c84f439ba5abf1a74ec3eaf70c6998a74c96bca380311df61ef00e6824134() - { - $this->assertTrue(true); - fn() => ($test %= self); - } - function testd38e43dab0efee44b3ee02ad9bf9a89331830a57101231872a95f2c833ff261e() - { - $this->assertTrue(true); - fn() => ($test %= $test?->{$test}); - } - function testd3d834291a9cb9c0dfd0a7cd9f86b9d62b65f98cd0fc5c74157f55f35f6f295e() - { - $this->assertTrue(true); - fn() => ($test %= (object) $test); - } - function testd51de8211d294cdcb5c1afdf730896ccaa005cf7066a18d7c96333fe794182e0() - { - $this->assertTrue(true); - fn() => ((int) $test %= $test); - } - function testd89546c75cb3904d284e02e726a2a501f19ef411b9815c5fd0565885e259cde1() - { - $this->assertTrue(true); - fn() => ((string) $test %= $test); - } - function testdfd161d2b48b4169f6dcf481b9bebda1e6f9b6ff065be06c9a7550ff0ab1607e() - { - $this->assertTrue(true); - fn() => ($test %= +$test); - } - function teste1fd38f06bd841b484f32117e5e81b2ca613cff2c1b07c9e8fb27e6e8ece81dd() - { - $this->assertTrue(true); - fn() => ($test %= $test?->{$test}()); - } - function teste33a863867bed5de94677916c56b5cd9a1a59a95b6ca74af430deae8b679e98a() - { - $this->assertTrue(true); - fn() => ($test ** $test %= $test); - } - function teste44022748219818dc34a580f4f38be4692c01cd0c9461e7a03e44b90e5f3094e() - { - $this->assertTrue(true); - fn() => ($test %= ($test or $test)); - } - function teste7bfea358c675d41666785397293f4651c8a8fa71fad6640f0f9ba84020bb97e() - { - $this->assertTrue(true); - fn() => ($test %= 0.0); - } - function testea87be497dc6e296af7890253ae8b2fcac0a42f2daf8c37542c1bada51d00822() - { - $this->assertTrue(true); - fn() => ($test %= $test >> $test); - } - function testec3b67a81cb8690131c9d5b1ceaffdb4909633dde851835fe987d3e9a079a460() - { - $this->assertTrue(true); - fn() => ($test %= $test !== $test); - } - function testf009d49ccbdcadd97c42ed866099da3087c2a0c6547a5631e550396cbe202021() - { - $this->assertTrue(true); - fn() => ($test %= $test::$test); - } - function testf36cbb07b6a35a8833f81c41c2bc498f8ebf8865541e9b1e6e1fed5c5f23bdfc() - { - $this->assertTrue(true); - fn() => ($test %= $test |= $test); - } - function testf4edb660767ab1c6df5a0511547e28916389c99aa70bbc33f5c728ff3c880ba9() - { - $this->assertTrue(true); - fn() => ((array) $test %= $test); - } - function testf8d96ed84f8b07c25019568c1f97b065b9a427d1841d459b14123f8711743b8d() - { - $this->assertTrue(true); - fn() => ($test %= $test <=> $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test.php b/testsGenerated/Target/Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test.php deleted file mode 100644 index 32f542ff4..000000000 --- a/testsGenerated/Target/Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test extends TestCase -{ - function test007dfba767f1fcef1e17429b3cb0eaf62a3e0f6d9bdfc1d083d72ccfa96e337a() - { - $this->assertTrue(true); - fn() => (-match ($test) { - }); - } - function test01b3a7776661ae8c99d385fc6744e095d22230f40395ffe89a41ecad6184c294() - { - $this->assertTrue(true); - fn() => (-$test::$test()); - } - function test0c8a40b7ed5de6fe96704055406c5d8d80f017736bd08d737a0517a7d173f7b4() - { - $this->assertTrue(true); - fn() => (-($test !== $test)); - } - function test147dff3f0088e6a58b3ce6cffd29b0241cbdd73df7d390477061b159b75f8a90() - { - $this->assertTrue(true); - fn() => (-($test =& $test)); - } - function test14d2006ea23ad249c92b296325f80680bd866c9944d12d055b6808f938c69243() - { - $this->assertTrue(true); - fn() => (-($test *= $test)); - } - function test14df918e37c869713bd2e95dc2776ba64d5d31a65316876059c88bd803cac431() - { - $this->assertTrue(true); - fn() => (-$test::$test); - } - function test16bc138a598ccc958aed96f2176d962581f6b9b068175d128fa6ac1e821bcc7f() - { - $this->assertTrue(true); - fn() => (-($test -= $test)); - } - function test177c4bdf2d89ecc7cf3d3718cd3e5b9a0a528c1c8670eea41d55a96f695d6a59() - { - $this->assertTrue(true); - fn() => (-eval($test)); - } - function test1978be874f8a3c02a00918b8436179c0021ece884ded0dc460b44d3b74ade08b() - { - $this->assertTrue(true); - fn() => (throw __LINE__); - } - function test1c5b13963bbc7bcc4ea7ce4975f39db6cc1b02954c55f59b76b533513c4bc5ba() - { - $this->assertTrue(true); - fn() => (-+$test); - } - function test1cbed6c4fd97ce977c8ef767c02d736704c88bdbc009d1a7cc2dc8be842a6209() - { - $this->assertTrue(true); - fn() => (-(array) $test); - } - function test1e22901c9f9675b632671393cebbc93250f6855a17d4a30f7c9be72112bcfa42() - { - $this->assertTrue(true); - fn() => (-$test?->{$test}); - } - function test1eed9ac620ed8c25cd0f9f89d3c313ba75b6d02b96eead77bd90218ccf010f94() - { - $this->assertTrue(true); - fn() => (-($test |= $test)); - } - function test20c5ec011bc56ad9ef493ad011e9720fa4ec9f4c46fb63e804c4880274625ca9() - { - $this->assertTrue(true); - fn() => (-($test / $test)); - } - function test2279f78652c120e525dbc24e66446d1130b3cae72432a4c0eb302c55fad932a9() - { - $this->assertTrue(true); - fn() => (-__FUNCTION__); - } - function test28d24ad78e5bda6f26e796dcd9ef83d4d516edbc2da9d4f931e60cd771313593() - { - $this->assertTrue(true); - fn() => (-$test()); - } - function test29f85fa886712e080b2b73c6a0f2a99c93325f272c324ac094400f952502aace() - { - $this->assertTrue(true); - fn() => (-($test <<= $test)); - } - function test2befd03ef240a1d3311f7008664b2305f907270df7e350547e049935ecbff793() - { - $this->assertTrue(true); - fn() => (-($test <= $test)); - } - function test2c60dae9a1fc9d718fc907b308cf8b7381cc73b3d3751efba6a30e396a7c7cce() - { - $this->assertTrue(true); - fn() => (-(yield from $test)); - } - function test2dad6e3ad3e35ff5f81779d3007ce75d6e92153e37674a02b8e0a9758f9a8e0b() - { - $this->assertTrue(true); - fn() => (-$test->{$test}()); - } - function test3443266e8496adbcd4b59478424322cb69c9bea33a66503ffe584a0e615e2ba2() - { - $this->assertTrue(true); - fn() => (-'test'); - } - function test38c7ff2704fb06972cf912bf6f5af88e1c9c76e1bf3652d8d5b75b583dffe8b2() - { - $this->assertTrue(true); - fn() => (-($test **= $test)); - } - function test397aa5d93fb29821f494cc52fec2765c013f3aeb977ee8087f9d709d1be06ee5() - { - $this->assertTrue(true); - fn() => (-($test ? $test : $test)); - } - function test3f7450a3e741226851c9b004ccc4109b55a42950b8add7856e5c63fae86e2e78() - { - $this->assertTrue(true); - fn() => (-0); - } - function test47dc95ff59819d75b0505054f88262e0b37f4b15ba61a25e4d40b8e03885f909() - { - $this->assertTrue(true); - fn() => (-(!$test)); - } - function test4c1238df743dd218e3ad529337659326a066e63d7528a161ed434799da76f8ae() - { - $this->assertTrue(true); - fn() => (-0.0); - } - function test52eacd74ac62205461af44dd66e8948cf8e5add89b2dbb7da38016f83953bccb() - { - $this->assertTrue(true); - fn() => (-(string) $test); - } - function test57bbb78f79fe1f555a4a1c439a26214ec09dd1fb4ae6065c7c86ad1620fb746b() - { - $this->assertTrue(true); - fn() => (-(double) $test); - } - function test58bfa0abd59d0d80ed3ed945c89fdadc0720a5978aed2c5544ad9ed2a002af2d() - { - $this->assertTrue(true); - fn() => (-empty($test)); - } - function test5c988ecf1a4f1013143362bbfff3593689938d867082b8c5bc3255f366205aab() - { - $this->assertTrue(true); - fn() => (-($test <=> $test)); - } - function test5d157ebe127719b27c5ce5581f40f578208c25e6c44f31765e1cdc7ef16825b7() - { - $this->assertTrue(true); - fn() => (throw __DIR__); - } - function test5ddd70545512494444bac2607e7ca757fcf648b6f46dfc1556000ac0004ac76f() - { - $this->assertTrue(true); - fn() => (throw __FILE__); - } - function test612dd3b730b60c83f27ef6b6a9cc35facf97de85e68abc2ad5e48b4b752d43c7() - { - $this->assertTrue(true); - fn() => (-$test--); - } - function test64cfe83854fb2599a9f92ba027565c24a3fefe077aa7a63462853983e8abb71e() - { - $this->assertTrue(true); - fn() => (-${$test}); - } - function test6516d573de75de4a1639d67ac88f90162410ed45ef9844082bd440e0cff88532() - { - $this->assertTrue(true); - fn() => (-function () { - }); - } - function test68ecfd50ea8a2a348a5c4199cf291b8c45bd77636fef992abe965f9fefa64515() - { - $this->assertTrue(true); - fn() => (-``); - } - function test6a87f05eeeebc1706295d9db48c625602adeaace37e9ca6c7eea2980386efa4a() - { - $this->assertTrue(true); - fn() => (-$test); - } - function test6b0e5becc8fced394d7c1581a6a2de287c74e4e38fc4f50e4d58972b6eda6694() - { - $this->assertTrue(true); - fn() => (-($test | $test)); - } - function test7286d7db05938502bb0af1344a90fe0e60b6c109697db6c8db3cf2e3f36fd865() - { - $this->assertTrue(true); - fn() => (-($test = $test)); - } - function test73d8c0b9dfba735f5ab3138e99e95c6b2abd3c9710d6dc89450aac8ee777bbcc() - { - $this->assertTrue(true); - fn() => (-$test[$test]); - } - function test751cdd63c99cb9afe3f606a5fcffa4e5f6dc53db5df7aab014a5a00e7e373190() - { - $this->assertTrue(true); - fn() => (-$test++); - } - function test80065188a4d1b9b2a23a451e676e303aca4047658d83a7b5e15676a15a57625e() - { - $this->assertTrue(true); - fn() => (-new $test()); - } - function test82c1cca87ab6519adb1008fee5c186546c698ee59bca2e6b6ca6d0a9366116a4() - { - $this->assertTrue(true); - fn() => (-($test == $test)); - } - function test83f8b9ec7a4a710b9913e9d6a56f646c8c99aca8d09ad63507da8fb8d209928f() - { - $this->assertTrue(true); - fn() => (-($test ^= $test)); - } - function test86144a37f834be9a3c6138ca88e9cfe556042814260925c24df22a625e151cc6() - { - $this->assertTrue(true); - fn() => (-$test?->{$test}()); - } - function test88a657f12d6e12e9a878c41d38c0e0cfd6d72b4fee396e6232efd382a676917e() - { - $this->assertTrue(true); - fn() => (-($test < $test)); - } - function test8c2f8330dc95b8ce8987b756230f517cc12c003f98c7a54604fcd284ba585d9b() - { - $this->assertTrue(true); - fn() => (-($test /= $test)); - } - function test8d8054dd827ec6e34262ab6e2592555149f38a0f873e33d5a4699b78f6468ccf() - { - $this->assertTrue(true); - fn() => (-($test * $test)); - } - function test8f0ccb1fa3c93c86eeab3e226ad8ad821afd3e64a50067fd9550713fe133dba5() - { - $this->assertTrue(true); - fn() => (-++$test); - } - function test8ff05cf0dc1a1ae7ddec2b9b0c5f5c5223e9cad12c093b5bea779ed98b93cbcd() - { - $this->assertTrue(true); - fn() => (-($test . $test)); - } - function test90173794fb8f44f9af1be1f55df3bfed0393867a266d12fbb8a765ace1c0ed82() - { - $this->assertTrue(true); - fn() => (-($test and $test)); - } - function test90850b8f8411a6b9f11392123864355d775387b6093a4ba5c0b54d26818f8516() - { - $this->assertTrue(true); - fn() => (-($test >>= $test)); - } - function test913d71e79a880d98813d353ba9209bcbb728e912151d0d079d92e0dba068cf8d() - { - $this->assertTrue(true); - fn() => (throw __METHOD__); - } - function test92da4d49721ddabe7831f9ec9984dfd44f6c233a84dc33845cf81b767cfd59b3() - { - $this->assertTrue(true); - fn() => (-(bool) $test); - } - function test939855add241e5fe553f65652a90bb600cb6a7bc970c849991e12285d2283bd2() - { - $this->assertTrue(true); - fn() => (-($test &= $test)); - } - function test95f863aa255168faed3bf3d0ae03c578c56d2f733ec957d9e0efa8c432ebbdec() - { - $this->assertTrue(true); - fn() => (-($test += $test)); - } - function test961e6c835d3270dc14618fb6bb910824d37e3310b4ebd8028c1ec59cf8595d20() - { - $this->assertTrue(true); - fn() => (-($test .= $test)); - } - function test97f2fea4cbffb65235302ed19bf12400df26a0a61436296fb1d603c5a7c24c92() - { - $this->assertTrue(true); - fn() => (-($test ^ $test)); - } - function test986c8021d9a7126c062de233f4dbf2054350f1e8f99cd63a0fadd2e3f0544dd1() - { - $this->assertTrue(true); - fn() => (throw __NAMESPACE__); - } - function test996b3edb8289096d53432c7eb61caa33226e8a933e844e9a285fcceb507495d6() - { - $this->assertTrue(true); - fn() => (-(print $test)); - } - function test99c23494d116f7d6521c225337b3507f364f543a5bd516ce76066d3adb6aff9b() - { - $this->assertTrue(true); - fn() => (-__CLASS__); - } - function test9df97a5dded5768bef90dbb9068ee99afeeee37080cc8349685d182ab13a98e9() - { - $this->assertTrue(true); - fn() => (-__FILE__); - } - function testa460958e8673a6d9247b996ff9912ac8881d2df9a635b17b75dab609ec385c06() - { - $this->assertTrue(true); - fn() => (-($test || $test)); - } - function testa48cf247bb35b9b08423351740d1e9eab6c59fbde9b4688cd6a86089642950b0() - { - $this->assertTrue(true); - fn() => (-"{$test}"); - } - function testa5055b7bedfe4cda0e2c1ac6576186e9855b39811b5574c67e2c37f719e07b31() - { - $this->assertTrue(true); - fn() => (-(object) $test); - } - function testa87a9d6f18e54ff75d6fb5be836e28b89c8457acb3f88299c1fdb87016e20e36() - { - $this->assertTrue(true); - fn() => (-(-$test)); - } - function testa909d8ac433576d2b7d00bde9b197237eef9f63f474cf1ce88f90ff53246893a() - { - $this->assertTrue(true); - fn() => (-($test >= $test)); - } - function testaa3e8e02ce0dbb7fffcf8406841b5be705f9a0e6699d90bf35bdeec5e2156700() - { - $this->assertTrue(true); - fn() => (-($test & $test)); - } - function testaaa77108eb3a3df2e3b7702d51d3564286dbece0eac7a1f84198a67abc282bb8() - { - $this->assertTrue(true); - fn() => (-(int) $test); - } - function testb5461ce7359c1d92249aa7eda931d327f8ea94480bbb02acc3d54401d9053eb3() - { - $this->assertTrue(true); - fn() => (-($test > $test)); - } - function testb6e19171298de9a6164e38bbddcb4ea09234f9a93b0bdf017b7c316e006bfee1() - { - $this->assertTrue(true); - fn() => (-($test + $test)); - } - function testb734293c7e992a9f98bd6bf26d35b9c6532e62e567fbb9fcfb7430d8d425c575() - { - $this->assertTrue(true); - fn() => (-(--$test)); - } - function testb9d18c577e1229780fc3b51fdac134981d233d53588d99a5a110e4d4bfcd254d() - { - $this->assertTrue(true); - fn() => (-self); - } - function testbaff2c75a5cb334e412ab1214420cdd0cfa64e2e50228e9092d45085604ea946() - { - $this->assertTrue(true); - fn() => (-($test >> $test)); - } - function testbc846a875bf8c32c583a8e82439cf12336c5a1fbfd318bd4ddb9219cb183f6e2() - { - $this->assertTrue(true); - fn() => (-($test << $test)); - } - function testc01810a8aaf3edba1ae32b9449eae0632c7026da3cfe09129293170abcf66225() - { - $this->assertTrue(true); - fn() => (-__DIR__); - } - function testc108c19c49384b9d9800035254efe03195968171f0d0a60691e837532fe36da5() - { - $this->assertTrue(true); - fn() => (-$test->{$test}); - } - function testc1b55796f348382b4475e1f85d26d31b6fd356dd524ed4423999d5db86285be1() - { - $this->assertTrue(true); - fn() => (-($test - $test)); - } - function testc55424c3e302fcecb6c9d2a08b9b8528dce0a602330c105015a4efbd732ab069() - { - $this->assertTrue(true); - fn() => (-($test ??= $test)); - } - function testc7929f12e0d5c5ba6b7f4dd315b3e1d9472101bdd0aa801f4b43ce19cc5fb77b() - { - $this->assertTrue(true); - fn() => (-~$test); - } - function testc88c2fede94bae5587cfde3187dbde26cde1aa34262f2f1db0947962b45b9338() - { - $this->assertTrue(true); - fn() => (-($test %= $test)); - } - function testcee9778201adb515fc4106a05afea74fda1d506fe3d7c0c24768103a054996f3() - { - $this->assertTrue(true); - fn() => (-($test or $test)); - } - function testcfb3f65be163e66399368ceb195c2a846cca25e36dbe0ef60eda45349598c9ac() - { - $this->assertTrue(true); - fn() => (-throw $test); - } - function testcfcd40aaa2a21b011178c21ef3fc9c9b711911ae93b88000be3a7f175d570324() - { - $this->assertTrue(true); - fn() => (-($test % $test)); - } - function testcff82bc170e6c7d49e97b95872ff27958da9b392608ce025b884b31c808b98c7() - { - $this->assertTrue(true); - fn() => (-($test ?? $test)); - } - function testd333ec46b1325a6c259ea85b80473187411c3668b0aa0407d21288e9c7b90c82() - { - $this->assertTrue(true); - fn() => (-($test instanceof $test)); - } - function testd9e55dd4a16b4d8b5c43cb82a8c10d8fd4255c6aa08eaa029d65de50e588c768() - { - $this->assertTrue(true); - fn() => (-@$test); - } - function teste35655584cd15682253264e18272323c624286d92b7071be87560e3b2e31cf5a() - { - $this->assertTrue(true); - fn() => (-clone $test); - } - function teste6ec5ea023f7e7f1032469b6c40924248f2348ff0578df6aa9b6a1e319a1e24b() - { - $this->assertTrue(true); - fn() => (-($test xor $test)); - } - function teste9544ebd2d923221b0563b13dd0e3f9475979496439b6c6fab0e814ffe513269() - { - $this->assertTrue(true); - fn() => (-($test != $test)); - } - function testeb0eab39e7b4a243e93c09c675b824c54dce5a78841cb7b1f4db94b725b7491a() - { - $this->assertTrue(true); - fn() => (-($test && $test)); - } - function testeb696b97c0e0122b49edb27f19fbc8bb85e3b74d24ecf3a2675245deaa58a202() - { - $this->assertTrue(true); - fn() => (-( $test)); - } - function testefe97ee307fdba2f27a15ca7bf0a10c376effbb43bdf7063fa5a40f82cd4fd5e() - { - $this->assertTrue(true); - fn() => (-($test === $test)); - } - function testf14b0599783d6db011eac60ce6d8926301305fb4bfd1c05acfe2c17f2ec58a74() - { - $this->assertTrue(true); - fn() => (-$test::${$test}); - } - function testf1badf246c4337c9c6cf4096efa14850fbb4882544f89b5320d204f883cc7f35() - { - $this->assertTrue(true); - fn() => (-(yield $test => $test)); - } - function testf251ddbf7f95e61ba76f01a6a57452983ede98b51a662471d1eecf0c4144ce9b() - { - $this->assertTrue(true); - fn() => (-isset($test)); - } - function testf33d1b9292e1d1ab722cfbf56764d7d108205e2e0ed92f50a8291d25b700e61c() - { - $this->assertTrue(true); - fn() => (throw __FUNCTION__); - } - function testfae3d2378a6960ba44f06b1021fe9764d58639efd08543ecf868fa4aaa2e2d6e() - { - $this->assertTrue(true); - fn() => (-__LINE__); - } - function testfc76c0868f92f7d6eaa53a19aa648680ed27bf4523f6a574c5f7f8225d16026c() - { - $this->assertTrue(true); - fn() => (throw __TRAIT__); - } - function testfd6b8bee8d18d1640caca51899592d5f199ecdaea5bb6759164355980e74be25() - { - $this->assertTrue(true); - fn() => (-$test ** $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest.php b/testsGenerated/Target/Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest.php deleted file mode 100644 index 823907206..000000000 --- a/testsGenerated/Target/Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest.php +++ /dev/null @@ -1,509 +0,0 @@ - - * @license MIT - */ -class Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest extends TestCase -{ - function test00ae233e7b109a941a8f33114847645cf313073e7e5f8c541efdc884d9042774() - { - $this->assertTrue(true); - fn() => (__FUNCTION__)(); - } - function test0208811611e1e6ec10308cda8fdc9702ac4c0343790b8d03a8db5c1dd53d0b87() - { - $this->assertTrue(true); - fn() => ( $test?->{$test}()); - } - function test02b2315168498a605e3b52bb25f30b3ee362407257aca30bfe5efa6c6a87e7bb() - { - $this->assertTrue(true); - fn() => ($test <=> $test)(); - } - function test03a22be11fe96e2d3bae1bf173b3ad3446ef784b19021dd8275b594456bfe7cc() - { - $this->assertTrue(true); - fn() => ($test &= $test)(); - } - function test0b2bea4c41ef067e3c1f8ab0187393d9bcb470a1885ba37783b5a8e2407e7c5a() - { - $this->assertTrue(true); - fn() => ( $test?->{$test}); - } - function test0b68c9c73c9781b16ba1f61dcf54d6e71db33e4a88e3c700c916e78960530b26() - { - $this->assertTrue(true); - fn() => (isset( $test)); - } - function test10bbfbd9f14de55244ca5e134f488519ff46c0f14dfad51b24b711f252d06ad7() - { - $this->assertTrue(true); - fn() => ( $test =& $test); - } - function test131181f5ff28e7645815987e9597312ad4123222868deef598ae6c965014995d() - { - $this->assertTrue(true); - fn() => ( $test--); - } - function test14b816954b0fb812cca2c0b8c416e273c579b027aed13f6b9b3b4ee26911ccd5() - { - $this->assertTrue(true); - fn() => (yield from $test)(); - } - function test1547009960d502e1b0076614c9706ef826bd9f97d341be6bdbe9302456cd9b9f() - { - $this->assertTrue(true); - fn() => (__LINE__)(); - } - function test172d3d859cd7ffade4b8ecc6a2f41d0e632bc926c73948b84e98ad5e3e81a647() - { - $this->assertTrue(true); - fn() => ("{$test}")(); - } - function test186000d12246a09242f3f664f3d28cc8a2643c3fb4c720f36ccbb897a7234f25() - { - $this->assertTrue(true); - fn() => ($test - $test)(); - } - function test190e0db4f0e43a76e5898990821832eb187e4c6b6bcc1f3c34f25db26f8d32a9() - { - $this->assertTrue(true); - fn() => ($test & $test)(); - } - function test1d57b0819a9924940209aada25bb38043b136ffae17e1f0eae978a606a64ed42() - { - $this->assertTrue(true); - fn() => ($test + $test)(); - } - function test1e3f4056ff22aa018d2748615ce6d2a9ec84601e2fe25f7b20276cf8ea98971d() - { - $this->assertTrue(true); - fn() => ( $test::$test); - } - function test1ed55c9bddee5454528acb1fc812d8e7aa139f80920df46c7e0ebfeca30c65ae() - { - $this->assertTrue(true); - fn() => ($test xor $test)(); - } - function test1f022b1a5f2281d3476e7ce6809f5869f76429d3afc7bf7f3d4666885bd34944() - { - $this->assertTrue(true); - fn() => ($test % $test)(); - } - function test232836678871929a16b12d77de5fb029b8c32ef932dfaebd46c6dfafafa8c071() - { - $this->assertTrue(true); - fn() => ($test >= $test)(); - } - function test233510aba27aec05ac114d61fe226880c8c32ef6601925632c1e3da47349ed69() - { - $this->assertTrue(true); - fn() => ($test === $test)(); - } - function test24b8c30ac5d2d6fdf3702c888338855f97d7fb0701e39223b94395423f524fb5() - { - $this->assertTrue(true); - fn() => ( empty($test)); - } - function test26353eb8186c75db602d6b40c30694d0f02c869579272b9386c559b91d08aae5() - { - $this->assertTrue(true); - fn() => (__CLASS__)(); - } - function test34877bd433b0483b929b12be85606d6bc9ddf5d5b88a379b1fdeb870bc63095c() - { - $this->assertTrue(true); - fn() => ( new $test()); - } - function test3a75825ab3469e74c4fae4779dbbc413ae7896e33d863d919a8c8c8198acfa53() - { - $this->assertTrue(true); - fn() => ($test ^= $test)(); - } - function test3aa1b1f2f1cde16a658299c0204f8177131d853255d2570e37e83b69615f9889() - { - $this->assertTrue(true); - fn() => ((int) $test)(); - } - function test3b36a0319e0c96e0e7a0a05d3dc46c55b7f07f33ab4cad27d15b7c4c69767d25() - { - $this->assertTrue(true); - fn() => ($test !== $test)(); - } - function test3e1356ad68c926daeba39cd96570cc4c217f8afa74a9660dd2c3ecc9ff2cec32() - { - $this->assertTrue(true); - fn() => (__FILE__)(); - } - function test3ecaac51b235e27b33c93b90ea1acfe10efdc958c93a7ac715090a7547e9d223() - { - $this->assertTrue(true); - fn() => ($test > $test)(); - } - function test3f9e03d29b00c046d2a29b84aa95682c6ae3f5dde91d969f89c2d4b2d2758f29() - { - $this->assertTrue(true); - fn() => ( clone $test); - } - function test40d5c8111164cd2f4daa9465605e36d3ea69535ee826680d3d326e115837ad29() - { - $this->assertTrue(true); - fn() => ($test .= $test)(); - } - function test48d6fc0dcc3c43199949e2c305824835c204dd2b44cca70204f7f9efe8100cc8() - { - $this->assertTrue(true); - fn() => ( $test instanceof $test); - } - function test50806ccfef8e0fa7a1eefc1c638604b4b608b4f244b078b7c1ecbae5e81122e5() - { - $this->assertTrue(true); - fn() => ($test ^ $test)(); - } - function test56b95eee5de99d39ac66f34aebb766212306c26816eede051eb935b58570f65a() - { - $this->assertTrue(true); - fn() => ($test . $test)(); - } - function test578c49bf05e030469c6be239b7d9920b58c1bc3d3a489faf35ad509b8b08efc7() - { - $this->assertTrue(true); - fn() => ($test <= $test)(); - } - function test594aa843ee32c714fa7d3330e83468b793fb852188e2510471eb11213cbf57fe() - { - $this->assertTrue(true); - fn() => ( eval($test)); - } - function test5beadfbf81d5d8a8039c6ffb4bedc45878552488b8a8e7c4160280002c7165b7() - { - $this->assertTrue(true); - fn() => (isset( $test::$test)); - } - function test5d7baac9390057b1ee92698a3e1fc861f353bf2118f7df01c8bbe4e9af0cbf1e() - { - $this->assertTrue(true); - fn() => ($test ** $test)(); - } - function test5e8fae03e137b25998ff413f06f3978861c00c14777bc6e8b02e88fc566599ca() - { - $this->assertTrue(true); - fn() => (-$test)(); - } - function test603d4bfa3daa9d913d2e8db53ae80a92838a6bcdca574282a47128797126907d() - { - $this->assertTrue(true); - fn() => (__DIR__)(); - } - function test66dc2928e2c4a329b78440a4b92d27452797be32ce5f3ec22606d1b9c00a0ee1() - { - $this->assertTrue(true); - fn() => ((bool) $test)(); - } - function test6704f4a7fbbf22c0e6210dd9a1c83eb6450adf5cb73ca0a9aa784c1c078fef55() - { - $this->assertTrue(true); - fn() => ( self); - } - function test69cb40d1f14f2777446bd623fcd9ff1d5bc1eec84f80b0707bab2b12db0d2c87() - { - $this->assertTrue(true); - fn() => ($test < $test)(); - } - function test6a804efbc4631aca052e48115102b2fd5439c4d2cbc3bc8a187dc27fb43b5777() - { - $this->assertTrue(true); - fn() => ($test << $test)(); - } - function test6b38e212947ef97bc7a8e6001163f717b6da465a852edf7042e251ee742de5a1() - { - $this->assertTrue(true); - fn() => ( $test->{$test}()); - } - function test71ff287caf109254c13af1059614e1462fbc5f297337124cf6084d3d87662ca2() - { - $this->assertTrue(true); - fn() => ((double) $test)(); - } - function test767cd8f1a877c6ecca50e4147a0cf568cc316203c808cdc266a84c8fe6c9312a() - { - $this->assertTrue(true); - fn() => (++$test)(); - } - function test7bbc8dc576d1c82653c7759f8d9f3655265d01200af2912502ea9baad78e5874() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test)(); - } - function test7dd1dadcc7c79826cbf1c1aeba0771826f6ec3de109c77a442832bafbe2200a8() - { - $this->assertTrue(true); - fn() => ( match ($test) { - }); - } - function test85beb8004b595bdb3aa870858d2ba0874eb66b5236bc53b245b12834a74b6a4a() - { - $this->assertTrue(true); - fn() => (isset( $test[$test])); - } - function test86266d0653f065aa79e7ae41db78675ef634538c0aaddc912ac924aca9613e41() - { - $this->assertTrue(true); - fn() => ( $test[$test]); - } - function test91dd8e994888f126518ff5cf5153fafbb7667c7a2b307526d2b720872648f6a6() - { - $this->assertTrue(true); - fn() => ((object) $test)(); - } - function test93ac91d205febf1c38cc1751f8aa2ac5e7b28c661290d51215a77f1f98e76557() - { - $this->assertTrue(true); - fn() => ($test ??= $test)(); - } - function test9492575df633a5fece1c651af796fa602888188ab713e51f31c5b2f91ad0b469() - { - $this->assertTrue(true); - fn() => (print $test)(); - } - function test974d865a316d40e9ef74b447037ebb0b9eca4a07da96cd264d8607134da6461d() - { - $this->assertTrue(true); - fn() => ((yield $test => $test))(); - } - function test981d5df66f254152d229bbef58883b147fcd0fbf32ee98d92134f2ce5da14dcb() - { - $this->assertTrue(true); - fn() => ($test != $test)(); - } - function test99fdfe285b2d6470391233e514f11ecc0562ada8de1362e7ccd33f72acacf307() - { - $this->assertTrue(true); - fn() => ($test -= $test)(); - } - function test9b1b44a42bae789b87a3956193d00b928e1703fd0424bd8460976203bc46d11e() - { - $this->assertTrue(true); - fn() => ( function () { - }); - } - function test9d4a1d31392580ed46fabb72e565690a2125ab0597c1680c01a43972dfb73d69() - { - $this->assertTrue(true); - fn() => (__METHOD__)(); - } - function test9de47c31ecc607d369b41f66871ddfb620bc04035594c0c78ecba54cf65cb59a() - { - $this->assertTrue(true); - fn() => ($test |= $test)(); - } - function test9f97804bcd3fd9079ee5d8d09c6815d346904357d1170a57c1a7a17be4be60a2() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__)(); - } - function testa28321572db770b228629a54dbacdc0834b3e5d0b6c74654f3b2ba1e303b90c2() - { - $this->assertTrue(true); - fn() => ($test == $test)(); - } - function testa6410c1b5c172fe6d2e33832c9a78dbeba850bfc7815a2792aae712dc79d0d91() - { - $this->assertTrue(true); - fn() => ($test >>= $test)(); - } - function testa7afeb77ab26997b647bf18d0d5be1790290b01fa08d2d0a015113f117677f93() - { - $this->assertTrue(true); - fn() => ((string) $test)(); - } - function testaf83006dd0ef98aeb92d63251b5c3c3690077fe1c211ceb8cb5967a72de80e30() - { - $this->assertTrue(true); - fn() => (0.0)(); - } - function testb0d097f8d61de987cd7cddbe920aa621c345f2952c1931cd9e3bf555de046d61() - { - $this->assertTrue(true); - fn() => ($test && $test)(); - } - function testb0d793e3872df81a4dcdb31a6205140feff7eb9bd39cc848275577896d9b01f2() - { - $this->assertTrue(true); - fn() => (__TRAIT__)(); - } - function testb326c538ede4aff1856e7edec1747c0fa7a71e5a9808cfa4d823813b061f3829() - { - $this->assertTrue(true); - fn() => ( !$test); - } - function testb6ad5fd4752d3efaaccd5b8d6fa6464bfd83d3a8f5e197258e0e2638e023ec1d() - { - $this->assertTrue(true); - fn() => ($test /= $test)(); - } - function testb9051447bf8f30a290df2bd8f96ba7362630d09ae04b4c3edc3b38bad0046f59() - { - $this->assertTrue(true); - fn() => ((array) $test)(); - } - function testbd5e45126bdcdcb0e9c9e8011e236101d7d211c74747935bffbf3e30389e852e() - { - $this->assertTrue(true); - fn() => ($test <<= $test)(); - } - function testbd5f860d602d547c95616f99ae66a7965e846e5548085be5780ed1f645053cff() - { - $this->assertTrue(true); - fn() => ($test * $test)(); - } - function testc0926872bc490a9fcc9699a0a42c69fe30ce2f55797a8f67526c1f71747bec45() - { - $this->assertTrue(true); - fn() => ('test')(); - } - function testc22dea0b19269eb948101d4ce866b4296dfa70b7de917ffc1bfef8d878367fef() - { - $this->assertTrue(true); - fn() => ( $test = $test); - } - function testc2df55b7a30afd4684bfb7d55312a85c0267dedf22bbcdcb4e9c72a3b64b9167() - { - $this->assertTrue(true); - fn() => ( @$test); - } - function testc3f691d8f6a23dd28ec6fc6e975e648aad8aa0f3c3eceacce32b1a024a9abab7() - { - $this->assertTrue(true); - fn() => ($test >> $test)(); - } - function testc6a2338d641b8cb9f30be3b6407a6bff4c66eff3f20181110e1898cefaa4a7b7() - { - $this->assertTrue(true); - fn() => $test::$test()(); - } - function testc89b576f741d0d3edbd0ea022f809443fd67d3bac9ac45e80ade8ad52bb915df() - { - $this->assertTrue(true); - fn() => ($test %= $test)(); - } - function testcb5648fd2fba469d5313b92713751cd07d13696e3ae5fd99e848bb04165d348f() - { - $this->assertTrue(true); - fn() => ( isset($test)); - } - function testcb838123a58caeb7a4f334abf1cd7adc72a17c71051cb2a8d1fc8e7bc9f43111() - { - $this->assertTrue(true); - fn() => (``)(); - } - function testd0b954c0c22f801880cab0e007ea0e30fd8fe521ed7e69b0a1f0053361e3fd54() - { - $this->assertTrue(true); - fn() => ($test and $test)(); - } - function testd9d1ab8a8c7e1e8cbd13e3abab70d2ba2d1ab9bbf320e3c2be1f0c67023c1c6e() - { - $this->assertTrue(true); - fn() => ${$test}(); - } - function testdb335128ca56371bae167a0d4e397e571989975d24f87de6bf22a7767dfb7423() - { - $this->assertTrue(true); - fn() => ($test->{$test})(); - } - function testdecf02240b9ff3932d1b78929a47cce12080c026fbb7d9480342a1704ca0dcf6() - { - $this->assertTrue(true); - fn() => ( $test()); - } - function testdf324b57141881d4cd9158e200b7c5c3aca3ad39cb464ca716005ce07ca872b2() - { - $this->assertTrue(true); - fn() => (+$test)(); - } - function testdfb6745cd3f02038c90a7d722823acf4975d7898fd19e18cfa196648da9b7992() - { - $this->assertTrue(true); - fn() => ($test += $test)(); - } - function teste161fe126ac0b9c248e45fabcec475997891d8167837f66fc56de6b096ab306c() - { - $this->assertTrue(true); - fn() => ( []); - } - function teste43b9d38d6ab55f17fdec23681c10c28d1c5ad97e1d032a866de5a42b381aa1b() - { - $this->assertTrue(true); - fn() => ($test **= $test)(); - } - function teste5764497e30dfe4598970fa4674757f74055c248877c82c83a3c8a5990118103() - { - $this->assertTrue(true); - fn() => ($test / $test)(); - } - function testebdb30bd31f5e545a3ff58571e5853ec84b50e14d3b5a9c19eafa913f05aceb9() - { - $this->assertTrue(true); - fn() => (throw $test)(); - } - function testee5942b470a1326defbf5786beca131b2ef4943487a8c2cbd3446d3be7b28417() - { - $this->assertTrue(true); - fn() => ( $test); - } - function testf531e3e19077adc647b3a312819b5037531e14012c74b715e6358d5bde147c12() - { - $this->assertTrue(true); - fn() => (isset( $test?->{$test})); - } - function testf77e82701d0ba78f6b4a465b6b1ae3e12be2aa51711451efbf3492377f86bfd7() - { - $this->assertTrue(true); - fn() => (isset( $test)); - } - function testf7a443826d1054f3fdb4e00b17ba6c4aafbd5be4e8443dd3e43b14828a91a87f() - { - $this->assertTrue(true); - fn() => ($test or $test)(); - } - function testf87ead3df775f83225f92d0f6b9e0890ed46616d92b47eac5dedd8a274a9e4c7() - { - $this->assertTrue(true); - fn() => ($test::${$test})(); - } - function testf9301104a937957d8eb818c128196e427063c22ea766adba7ee4bb5efe101ba2() - { - $this->assertTrue(true); - fn() => ($test || $test)(); - } - function testfa0f5f210976046e255c5acec98fd23823bc168af9af77d1621e39eadb6a9cb3() - { - $this->assertTrue(true); - fn() => (0)(); - } - function testfaac818b3920bb4a1fc5921e8c40807e7409c197854fe748920ec412b55e7a0b() - { - $this->assertTrue(true); - fn() => ($test ?? $test)(); - } - function testfd0b95170eb45fc8ff9cbc6ab23ab44cc4e1dce50bc52168d67f8b37f28375dc() - { - $this->assertTrue(true); - fn() => ( ~$test); - } - function testfe66a14764617a6dbd2270b236ff7adf027736e307f66a89e23d708fe1624065() - { - $this->assertTrue(true); - fn() => ($test | $test)(); - } - function testff64d4250373a81950b98e61ae5482e77c81619cee363a4cd98a5d77547dac36() - { - $this->assertTrue(true); - fn() => ($test *= $test)(); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php b/testsGenerated/Target/Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php deleted file mode 100644 index cdcc483cb..000000000 --- a/testsGenerated/Target/Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test extends TestCase -{ - function test0b579db32cf32ceec39abd803a6139750666e7a4fe1d34e773c4302c2442db95() - { - $this->assertTrue(true); - fn() => (@($test > $test)); - } - function test0dc89dfa05884399117c826fe8a1ae0f4d4f107082b2f83f6a23731d523a7280() - { - $this->assertTrue(true); - fn() => (eval($test = $test)); - } - function test10f497f17d32ea7c54e6ec5346c1ea1e25a502d79cc11d7a44576b23880b18f0() - { - $this->assertTrue(true); - fn() => (eval(!$test)); - } - function test12bc2fd3145352a32d3d2c3f63e3a5807d8e6d0d201098562c52882800e89aa1() - { - $this->assertTrue(true); - fn() => (@throw $test); - } - function test147ff84504efcfb73a9f3c412765397837b2493436650081663ad6a9d74b419b() - { - $this->assertTrue(true); - fn() => (@$test?->{$test}()); - } - function test15530807c1859ca3fcb2bc193555cc5b6fd36e41203b1cb6d8053cf44bae8938() - { - $this->assertTrue(true); - fn() => (@($test ?? $test)); - } - function test158bb293536b2e8d22e5c5b06cde2c2915ee9d32d50fea024b93a4506b3e3415() - { - $this->assertTrue(true); - fn() => (@($test *= $test)); - } - function test1617ced7526c890adf3d3049f6ea5350911482fdd078f138a5b129edb499eab3() - { - $this->assertTrue(true); - fn() => (eval($test[$test])); - } - function test17f8c8401fdfde391afe2e76060d8b93aa0ffd7fe41ec2b069f6159b2ce8c9c2() - { - $this->assertTrue(true); - fn() => (eval(function () { - })); - } - function test18da078b471e69d5f737d05b96db5a12a7ac36210afcf1d8680a814f53793c3b() - { - $this->assertTrue(true); - fn() => (@($test >= $test)); - } - function test18ff69e3a4f6ce6fe27976260f32744f83382c68ffa0d1f3843ea6d312e81ece() - { - $this->assertTrue(true); - fn() => (eval(new $test())); - } - function test194981d48612eed8cbed208646502c0835ecf15eaf698d5157d04acec39ed8a4() - { - $this->assertTrue(true); - fn() => (@($test ??= $test)); - } - function test19ac09d80e031a8616b904e54f1b7bb80bac6309df3b07e19ae5e548cf73c833() - { - $this->assertTrue(true); - fn() => (@($test === $test)); - } - function test1e37b5c28d6a3860dcbc000dbcdfb87eac3286f3c861a17f605c5c2257719393() - { - $this->assertTrue(true); - fn() => (@-$test); - } - function test231ce5cab5d45bf818955307c155aca7b55b75864cb0272547b530f9520feaf2() - { - $this->assertTrue(true); - fn() => (@$test++); - } - function test237b96f564a3daeeb604e30a72938a07b6c334dc0b747ad63503e1e555919664() - { - $this->assertTrue(true); - fn() => (@``); - } - function test23a96f915bf46ad793e101ca169e722d46d27326b97b04539a7e9fd57476a8be() - { - $this->assertTrue(true); - fn() => (@($test or $test)); - } - function test260f1e88981cd02f752bbe3e9a06af275332cdb15fe186dff3c78eada88d1bb6() - { - $this->assertTrue(true); - fn() => (@($test / $test)); - } - function test2b950a435f60c5b82746f5d790d5c320a7056bbe6dd22928aebb716d78b93bb7() - { - $this->assertTrue(true); - fn() => (@($test ? $test : $test)); - } - function test2c0e57c109c7198d2e29e7f76d22b77a996665a531cd09d74598d1b6f5041258() - { - $this->assertTrue(true); - fn() => (@($test * $test)); - } - function test3364858c98c4bed3ffc01ea62f161222d279b39288fa64d186aba53ddb651406() - { - $this->assertTrue(true); - fn() => (@$test::${$test}); - } - function test37599821b2444802c35c0888a99c50e0f45630296e8baf9470fae7bd7f86dcd9() - { - $this->assertTrue(true); - fn() => (eval($test?->{$test})); - } - function test39be6689062e8bf110efde77605f6fb514a664ea7263e2c7f003bfebdb6ffa84() - { - $this->assertTrue(true); - fn() => (@__METHOD__); - } - function test3b9dd7c068859bc74b29e0ab1d6ef948c1919f0c05608543dbab823ad1b8faac() - { - $this->assertTrue(true); - fn() => (@'test'); - } - function test3bc13951ab5878d5a0c9c29b5dd3c4304e50cdccc7ec5b6ed013c1970235273f() - { - $this->assertTrue(true); - fn() => (eval($test--)); - } - function test3bc99a8719c3a6a003785f4462221bb8adc0fd3d3be30d667baf4a4810eb2126() - { - $this->assertTrue(true); - fn() => (@($test <<= $test)); - } - function test445dd750a3bfd0bfea30987a6bb27aaee6be34434395d876f4183fef92713a95() - { - $this->assertTrue(true); - fn() => (@($test & $test)); - } - function test44b365887e9e02c99d3983e9d8e907cfda372e6f3f8c96f9c6cd090d5e39914c() - { - $this->assertTrue(true); - fn() => (eval($test =& $test)); - } - function test457e21532d287859009383549a2a39e21d83862737588ba40b99fbfd448e538e() - { - $this->assertTrue(true); - fn() => (eval(empty($test))); - } - function test47110b7d381457c777fde2b1751d3aacb0e714c4670b67ce20ec7fe535bd9cd2() - { - $this->assertTrue(true); - fn() => (@($test <= $test)); - } - function test48bf61bc5235e3b188a01dc271c9c5f33a60867db5fd71897708799b78b41d81() - { - $this->assertTrue(true); - fn() => (@($test -= $test)); - } - function test4a941d2106621f75b55716d748245e7946bf671b1f71cf940ba231d921729b94() - { - $this->assertTrue(true); - fn() => (@($test /= $test)); - } - function test4abf02e88350184e66c8f123769de6c917dd6e911f0b1f6be96aab5dbfbc30d0() - { - $this->assertTrue(true); - fn() => (eval(clone $test)); - } - function test4d15beaf4fbe3d36887981b4f0ca023b0484132ff2b972e435b3e38422661f28() - { - $this->assertTrue(true); - fn() => (eval($test::$test)); - } - function test503df2884376fd126931df320e672d5c0ba96c18715dcd5de022385f287a9a12() - { - $this->assertTrue(true); - fn() => (@($test < $test)); - } - function test53acfa29aced10a7f02abc80c4a53b9111a9a9753d8a7d39309fe6001177fe13() - { - $this->assertTrue(true); - fn() => (@$test?->{$test}); - } - function test594aa843ee32c714fa7d3330e83468b793fb852188e2510471eb11213cbf57fe() - { - $this->assertTrue(true); - fn() => (eval($test)); - } - function test5a6b04f8e7edaeba8b839b1ff00cb7e5332cf38af609c79ec8dcaccc7ef1d53e() - { - $this->assertTrue(true); - fn() => (@(array) $test); - } - function test5a75cf6b01149e9d828f7dcf36b6fec6f414b3f771f519db7c1d9e9a92e3e626() - { - $this->assertTrue(true); - fn() => (@(object) $test); - } - function test5c513b8085151b3e09c637db5ef47bd84f8d9cf41736426f567dcf0b3cdd5cd0() - { - $this->assertTrue(true); - fn() => (@$test->{$test}); - } - function test624df3f9b9a514a472ea9365a901cc1cf266eefc01da0547c954fc0dd20e2458() - { - $this->assertTrue(true); - fn() => (eval(@$test)); - } - function test66fc6193715771f4542b279b697a57480788ab4955bd7a808ab80b59e193bdbd() - { - $this->assertTrue(true); - fn() => (@($test .= $test)); - } - function test67bd4951574ba6e724f0571058362f9a08b47b0e63b44b4aca47c6fdeaeb0b9f() - { - $this->assertTrue(true); - fn() => (eval(~$test)); - } - function test68c58e55227dec0506a320e86067758e021aa631ff34563fe2d2bb459ea5e714() - { - $this->assertTrue(true); - fn() => (@__FUNCTION__); - } - function test6ad8a8552a67f9c18d485e5154888ff83b71aed606f06ff12439405311d06d28() - { - $this->assertTrue(true); - fn() => (eval( $test)); - } - function test6af716feba799cebb16f02442baaa59fea8af02785917ef6cb7c89d7bcf5f713() - { - $this->assertTrue(true); - fn() => (@($test || $test)); - } - function test6bf0cbb48574d52be8ea92f81b7df493d4807a8a982bd1e4fb6871c338d297c7() - { - $this->assertTrue(true); - fn() => (@__LINE__); - } - function test7135fa332bdd683785c7f901b783809caea911bc332d87504378bac5dd4c3260() - { - $this->assertTrue(true); - fn() => (@($test - $test)); - } - function test71441b2402dd0539a0c4a7b7c6d881bbdc8275e35d7eb583330bf67c3c6fd8a0() - { - $this->assertTrue(true); - fn() => (@($test | $test)); - } - function test7329913df9043933a317195b685eeef82ca44f611d262ff4549a3a5b0747658d() - { - $this->assertTrue(true); - fn() => (@$test--); - } - function test74d0b2b34cfe5a572593aca7b4f2e66280d187fe0d89085f4c53f92a6f1a51d6() - { - $this->assertTrue(true); - fn() => (eval(self)); - } - function test7539e32c2248fdc7a3eef84b86f83ebeef44f8c141ae6c5148b4e575e81e651c() - { - $this->assertTrue(true); - fn() => (@($test ^ $test)); - } - function test7810b2508ef40add346f4eef456516dd5efb58c83e31f205c7b7b8ff79eb5bbe() - { - $this->assertTrue(true); - fn() => (@--$test); - } - function test7a5d104b689fd369184c1d4e9e69655e8c27dc4482857a91904e4fcfb53b2e5c() - { - $this->assertTrue(true); - fn() => (@($test and $test)); - } - function test7ba4f1f5216e57a94950da0434f73ec46303e3f183ed5be8da4b140260f76bfa() - { - $this->assertTrue(true); - fn() => (@($test && $test)); - } - function test7d028cf2637d6f3db7a81efbe71a736ba9ed9d5f4c7ddb01ec2692aa66c59739() - { - $this->assertTrue(true); - fn() => (@($test |= $test)); - } - function test7d213212faa456cce25ce444cf9b189d680f545a0de626529ee2cc0f1c859708() - { - $this->assertTrue(true); - fn() => (@($test <=> $test)); - } - function test811ae870a14224e1b038ebb372f3ea29392b2d60e0ed60db6c54c777261f4cd2() - { - $this->assertTrue(true); - fn() => (@($test >> $test)); - } - function test870e60f2e39cb379ed28a07231481c6759fe97470f34e6b2c74d9a53af7a6b0e() - { - $this->assertTrue(true); - fn() => (eval(isset($test))); - } - function test8ab0bf903570974bc3f758e2f2cffbd31f23df935d20d9fbda8a6f155808ffdf() - { - $this->assertTrue(true); - fn() => (eval([])); - } - function test8b30b81e30b7cfd366b7786db3bceeb41b8e765c0fd0066b026b867b116c9b32() - { - $this->assertTrue(true); - fn() => (@($test ^= $test)); - } - function test916a6c55190125ce22fd0d18895cd3766cdc76ec91dcd8063248d7a88efdb0ca() - { - $this->assertTrue(true); - fn() => (eval(match ($test) { - })); - } - function test92053e03b7f66a9fac1187766248791f46ec4a5479f5c41a58251bb5486985cd() - { - $this->assertTrue(true); - fn() => (@($test %= $test)); - } - function test965673d4886086b4a6c90548899d99150b8917b8512eb254bec1563837ca3491() - { - $this->assertTrue(true); - fn() => (@(bool) $test); - } - function test99d5c7f16d1196dbc0acb45c1c460c2f0fff3685850c4a301440843caa90b568() - { - $this->assertTrue(true); - fn() => (@($test &= $test)); - } - function testa54eb597acfd9a8b499c020738caa60706dbabd2ce468e00d4fb4634aca0d7d8() - { - $this->assertTrue(true); - fn() => (@($test . $test)); - } - function testa82394698852a598cf69137862e12dcdd3046971570e97605d7bcad6ad15fcb1() - { - $this->assertTrue(true); - fn() => (@(string) $test); - } - function testaa368e20a145e005f982388bde0669b2b24a12d7b0886cc3257cdf04a8f7f00d() - { - $this->assertTrue(true); - fn() => (@($test << $test)); - } - function testada41b8030d8b72848b60b6c1d58398abf5a46a0581d95af3c6bbe3a4871d328() - { - $this->assertTrue(true); - fn() => (@++$test); - } - function testb03399671d9d813f6b8811b26df10ca8ef19a553f93593d99b348fdf49af2384() - { - $this->assertTrue(true); - fn() => (@($test += $test)); - } - function testb4272e23de36c3644b7e3814233103e4259b7763005163cc5fbc2a255ae96a1d() - { - $this->assertTrue(true); - fn() => (@(yield from $test)); - } - function testb4bd1e831baab577ced5cdff6f00a7f90a7254b54af7ec950a1c1c6250c386a8() - { - $this->assertTrue(true); - fn() => (eval($test?->{$test}())); - } - function testb76de598c6bc31aae3a2034f55e90b6b2113ab61982c88c64ae88f81a6e5da2c() - { - $this->assertTrue(true); - fn() => (eval($test instanceof $test)); - } - function testb9a7992879423998cbd22f544103b3f5d8e316427750b11dd2f48835dd8f5372() - { - $this->assertTrue(true); - fn() => (@0.0); - } - function testbb2e2a8842b6509ef4c715d76aedabda568c026cdfb57fa110c9f9f853811a5c() - { - $this->assertTrue(true); - fn() => (@"{$test}"); - } - function testbd52cd1884d40c2216b25d6b3d8befd4024bdf4e820d26c2143714c55a9b7869() - { - $this->assertTrue(true); - fn() => (@__FILE__); - } - function testc3c9ab500ff687f822e899d7a8eb5a1de1e99d9b86029b0c716797f30d2b85e4() - { - $this->assertTrue(true); - fn() => (@($test xor $test)); - } - function testc47897ed08b195846f56198aaf26bc27ace8a69fc0ed059c5d6e97a284645709() - { - $this->assertTrue(true); - fn() => (@__NAMESPACE__); - } - function testc5d475186337ea20a8685dd516d3c7c23337d23922536a956bb61f09fc7ff649() - { - $this->assertTrue(true); - fn() => (@$test ** $test); - } - function testc67dc57f0b530aa0227a4934083d7565f94fdb041d14d3f565993ed16e8242ce() - { - $this->assertTrue(true); - fn() => (eval($test->{$test}())); - } - function testc7429ffe1c54f36203607816060778be61bb5b45515d47a5c9ab0e7a008450c6() - { - $this->assertTrue(true); - fn() => (@${$test}); - } - function testc87713de5223639c8b047357a44ee2261a806db14cf508153d696f4484844020() - { - $this->assertTrue(true); - fn() => (@$test::$test()); - } - function testd15b15f1a142f6ac9de80228461fb975ae3b0d834c5e013fb3d1ba19e968e4b1() - { - $this->assertTrue(true); - fn() => (@($test **= $test)); - } - function testd535d9d36ea3edcbd2567a8dbe2c10efc365f4f4c44dfbec31fcf53a8f15a1ab() - { - $this->assertTrue(true); - fn() => (@($test == $test)); - } - function testdfdfb89c689a95b0c36bf0c29ffdb96931223e14c780e05235c7009f28f062cc() - { - $this->assertTrue(true); - fn() => (@(int) $test); - } - function teste044404911304ef8426bd7b540041c56fd84ff7d0d8bcc16c7261da99b7a99d4() - { - $this->assertTrue(true); - fn() => (@($test % $test)); - } - function teste08e14f7dce8e22e2e29888b813cc6f318ac83a6efd7ee293b80c4c196e7d72c() - { - $this->assertTrue(true); - fn() => (@($test !== $test)); - } - function teste13794b24f98d5aaed8268d760b7ac521db76e9c9d49571b500e9bdf4a5c96ec() - { - $this->assertTrue(true); - fn() => (eval($test())); - } - function teste2f318d65eb0919ae37e5802234d0bea63c516567f12da11ebb78d0df29d2bee() - { - $this->assertTrue(true); - fn() => (@(double) $test); - } - function teste37ae8f6b6b477aac7c162b98c72f20e27e903cb2b587dc98577b3fa44719867() - { - $this->assertTrue(true); - fn() => (@(yield $test => $test)); - } - function teste6b3f6b8da0f3925800fc2a9e8879fcfb0a157a882d8a0928fbbe104b642432f() - { - $this->assertTrue(true); - fn() => (@__DIR__); - } - function testecdb6098c4454b6fa91e20ed3a7baaebc46dc93e5578e612f3c314d179037ea6() - { - $this->assertTrue(true); - fn() => (@($test != $test)); - } - function testefe44bed8f9ecd21c0bada3fd82f55942a551ab79aab824d4214d6414e4f9145() - { - $this->assertTrue(true); - fn() => (@+$test); - } - function testf2d73bdc3840382d6dd5043a48714f582c7a015c9105ffefc35dcac06f99b100() - { - $this->assertTrue(true); - fn() => (@__CLASS__); - } - function testf4f938e6041ca296f22009f594b179432a63a146d9ae5fb3df57a66778723769() - { - $this->assertTrue(true); - fn() => (@__TRAIT__); - } - function testf550829b5cc030020514b4cf213426a41970a730fabaecd526f9b4e90b6a974b() - { - $this->assertTrue(true); - fn() => (eval(eval($test))); - } - function testf5f771db0ebd85c0bae624d8c3df06072391267d00016ea87815ce09515bea17() - { - $this->assertTrue(true); - fn() => (@($test + $test)); - } - function testf719fe777b4bf7c31e1cc06a4619eda5700ce25b30ec95b870eca8a8958a7fda() - { - $this->assertTrue(true); - fn() => (@0); - } - function testfa216f3842ac39898d19cd00469fe7f7e55b950c3c07af70110d6375b2cc5fe6() - { - $this->assertTrue(true); - fn() => (@(print $test)); - } - function testfecd79e62aa291aeb085eddaace48e309180851c76cca4732c585734b40fc656() - { - $this->assertTrue(true); - fn() => (@($test >>= $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test.php b/testsGenerated/Target/Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test.php deleted file mode 100644 index 73e70eeeb..000000000 --- a/testsGenerated/Target/Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test extends TestCase -{ - function test023441d32ac5bd22322de0604a6cbf2e311d1226ffb9b841793b57ad92b01baf() - { - $this->assertTrue(true); - fn() => ($test - $test % $test); - } - function test03ba43bf22122bf454c67d7734f2c80faf571f0e0d7e5640dba72378cd4c0696() - { - $this->assertTrue(true); - fn() => ($test - []); - } - function test04272f0cdb088fb06befd66a389129a40c27d7e027985cba469fbb192c045727() - { - $this->assertTrue(true); - fn() => ($test - $test::$test()); - } - function test072ba520619caef3b39342ed1bc3182318d1f0416c327bfd828f1c1ed76cd479() - { - $this->assertTrue(true); - fn() => ($test - ($test ?? $test)); - } - function test087096653086d7f62f2f800d829ffa8a34fd1bd9b6f6d0286e872887dca75289() - { - $this->assertTrue(true); - fn() => ((array) $test - $test); - } - function test0cd8d3d717ed7dd7dbb6e94e98632527c3b38e091ead6b8997d533c68f7a3f1d() - { - $this->assertTrue(true); - fn() => ($test - ($test != $test)); - } - function test13af67d352950f7e3bc073c27cffa99ecb8b49daa4dc1d39db4f728f78987dca() - { - $this->assertTrue(true); - fn() => ($test - $test?->{$test}()); - } - function test143fec4489b5f13636c3c6fceb00f5c1f11b1ba87e0a35cd5ccaaf02fc30eb38() - { - $this->assertTrue(true); - fn() => (($test << $test) - $test); - } - function test166ba2130e23f28b3af705945c7284fb3e81a2125e28d6cb99b0efa21c9f43e7() - { - $this->assertTrue(true); - fn() => ($test - ($test =& $test)); - } - function test186e23d886b0adc599fa6770a6e1c4e2a9cdf658fc4618c25842b12455796673() - { - $this->assertTrue(true); - fn() => ($test - ($test || $test)); - } - function test1dbcb6bdaf4fce05b44f7aff47e76884a69ead48abf00012e54bbe3c18e898cd() - { - $this->assertTrue(true); - fn() => ($test - ($test >>= $test)); - } - function test246412247a49801b05052e4cd2d1c9f2819fdc3fcbe14f479a201599ccd4cff7() - { - $this->assertTrue(true); - fn() => (__METHOD__ - $test); - } - function test2916f935c1a22f9fccccee9783edd0de5530d5683baa2eaaa25158dc21cd3189() - { - $this->assertTrue(true); - fn() => ($test - ($test /= $test)); - } - function test2a8bbf48d5aedf27209461379ff522b336aa7f3f18a6290b4590953b3427c098() - { - $this->assertTrue(true); - fn() => ($test - ($test |= $test)); - } - function test2b6cb92198b2e644553ea2229437ac51f471acf921d2d176b4a34d0b83304501() - { - $this->assertTrue(true); - fn() => ($test - $test::${$test}); - } - function test2dfbb49c3615be66a1792ca9f03addd74d6453b6df30b384d92d98704ae0aecd() - { - $this->assertTrue(true); - fn() => ($test - clone $test); - } - function test2e0e75c9c8fc89eba401c4ff811b89a116395b5032f5504549b8e460e0e021cb() - { - $this->assertTrue(true); - fn() => ($test - ($test & $test)); - } - function test399b34f39cf85a686cd00777cf8b114a1bce963f789b541e0c7ef8c28f7fb4ea() - { - $this->assertTrue(true); - fn() => ($test - $test[$test]); - } - function test3c0208e6fb0ab04c111e01511815020a2b3df4305c7a35a0d10d7a2d88cd4fb1() - { - $this->assertTrue(true); - fn() => ($test - ($test ? $test : $test)); - } - function test3e619b8451fcf17a99cbae9f776a7869a7dae664a251641d21d9cdc97395f76b() - { - $this->assertTrue(true); - fn() => ($test - (print $test)); - } - function test40977706c57ac4894d6c8b8e42b2ddc9d8bf18326c8f6c5336b80b48af36a476() - { - $this->assertTrue(true); - fn() => (($test >> $test) - $test); - } - function test415acac5b230fbfc030c0ad0f8a557cc5c4051359015effd0946f461fea55dca() - { - $this->assertTrue(true); - fn() => ($test - ${$test}); - } - function test4487c43cc515ed481184cd9f8a44b87e3019b666701bfb31e1b7a630a76de29b() - { - $this->assertTrue(true); - fn() => (($test < $test) - $test); - } - function test452e939ebf364bdbbc3802925c007579bc68648e26fa3930d846fe19453c1aee() - { - $this->assertTrue(true); - fn() => ($test - ($test ??= $test)); - } - function test48ac81aa02f8ca4424b864134b116440cf336b3b1995e107e009098b2cd7c503() - { - $this->assertTrue(true); - fn() => ($test - ($test ^= $test)); - } - function test4bf31d495580af9d5bb22d011a48e3a3c3905600d7a21ef26dc829e9a0ba0adb() - { - $this->assertTrue(true); - fn() => ($test - ( $test)); - } - function test4ec664fa15a7e6f5c2630da90ca15ad07cd142925f5875eae5c5adde586fe368() - { - $this->assertTrue(true); - fn() => ($test - (yield from $test)); - } - function test4f60c78261b82647e3621435c2174c926048ca4c277d0b079da3c27a34cc0a9c() - { - $this->assertTrue(true); - fn() => ($test - ($test >> $test)); - } - function test517fc3a7ffc6ada45c4b1bbd9a8e8ca954dbdf88916c79a734d1a00794e5aa9d() - { - $this->assertTrue(true); - fn() => ($test - ($test xor $test)); - } - function test51838c45b1152061a8392d3c61537c01dd95099537acf309a9ab9cf03d2575a4() - { - $this->assertTrue(true); - fn() => (__CLASS__ - $test); - } - function test52b258e56a754687b4ff1e02031f259a346d1b778d2cb6bb614fc7a13cb2261b() - { - $this->assertTrue(true); - fn() => ($test - eval($test)); - } - function test5833caa25fb8398b406ac83e95db8f297347a83cfc5edb21dc087e66a4f0b70a() - { - $this->assertTrue(true); - fn() => ($test - ($test . $test)); - } - function test5c615ad5cc98a82ce7141dffb121112c60d653d08696c8afc7ae5a77a454f4c4() - { - $this->assertTrue(true); - fn() => ($test - ($test === $test)); - } - function test5d4656a392a7f2f1aa8cc99e518844636d5a24485c1329b348f9ad3947888eee() - { - $this->assertTrue(true); - fn() => ($test - $test::$test); - } - function test6e545516b111a123f11fbaaaa1b64cf22e6ecb7560bf3f2ad8016df103fb4848() - { - $this->assertTrue(true); - fn() => ($test - function () { - }); - } - function test70e1bd8616465fb2d54546892d39ed40e5cbc7e114c7a212baca8e970f07c805() - { - $this->assertTrue(true); - fn() => ($test - ($test -= $test)); - } - function test71185f739b7919e45fe8acf2f721a83c548398d795834b3d23214cf5aa239f08() - { - $this->assertTrue(true); - fn() => ($test - ($test %= $test)); - } - function test720f03a8e0051aa02dd0bd76f50d2490276760006afd64b140af5263e550eff0() - { - $this->assertTrue(true); - fn() => ("{$test}" - $test); - } - function test76862156689ee6dad5d91b845fe496116e6929c0d3f703c03390ba41b30b4b37() - { - $this->assertTrue(true); - fn() => ($test - ($test == $test)); - } - function test768efad800d5c6b9b383c1d8be58f8563e1500792b0e53aaf13e132076717a9d() - { - $this->assertTrue(true); - fn() => (($test <= $test) - $test); - } - function test77948d83bfde833f67a7c021cd76fa4569504a4f59f6b48aac010272e396da75() - { - $this->assertTrue(true); - fn() => ($test - ($test or $test)); - } - function test788d3a4d6efef9aca9d7e7127514a57d901cfc6e507dea8364f17c4f94cd7b59() - { - $this->assertTrue(true); - fn() => ($test - @$test); - } - function test7a1eae4cba12ea0000a72b24761e153816c38294e837d5eeeb696fbc378ca36e() - { - $this->assertTrue(true); - fn() => (($test <=> $test) - $test); - } - function test7a6300d00ea4c83906687ae332b09772892062248dbda719cdd445c7a36a7364() - { - $this->assertTrue(true); - fn() => ((bool) $test - $test); - } - function test7cb1f932ecf437ef98a28aa7f753ebbccbabf11fddbd15e1dc4eb88f13d534ef() - { - $this->assertTrue(true); - fn() => ($test - ($test += $test)); - } - function test7dcc616993acf4f1a51f6025d0054bfc2f36c302536cf1999efce5e6c4bd177e() - { - $this->assertTrue(true); - fn() => (__TRAIT__ - $test); - } - function test80f57f6ac488b546465e9ed8b920d1394bd9068ab15800584eb9da683e318387() - { - $this->assertTrue(true); - fn() => ($test - ($test << $test)); - } - function test81ba0c248fcc5463e67f718bda80c1ecf20387ca14589111da7ab2a7ab4c635f() - { - $this->assertTrue(true); - fn() => ($test - ($test > $test)); - } - function test82cfbf5ab80089a8dd60ff99ef728c430512fac4c7b8cf5319e2c02eb9bc2ec0() - { - $this->assertTrue(true); - fn() => ($test - ($test !== $test)); - } - function test847b3d753b43f25a0efb5f1a4688bcbb772a7da7895aae62b49092c2b973f4f6() - { - $this->assertTrue(true); - fn() => ($test - ($test - $test)); - } - function test8883770a7f31d4e8a18df7846c99001e7d1ee0a5d6d919925afce79c63166ed6() - { - $this->assertTrue(true); - fn() => ($test - $test instanceof $test); - } - function test89d4ca2637085aa885e1e2b0394b4ffed45e0bb84642522bcafd8737643dc4f5() - { - $this->assertTrue(true); - fn() => ($test - $test->{$test}); - } - function test8f735576252d0a6c65f10472d038faf771ee6f7e5e79da15a392dad3a45b8cb2() - { - $this->assertTrue(true); - fn() => ($test - ($test .= $test)); - } - function test9481c0ee39df4ba3350fa6463773149ac4e73ecddb07ccef5640dac114f0fe82() - { - $this->assertTrue(true); - fn() => ((int) $test - $test); - } - function test9539ba672fb7fbdc119f23c7bd237032c33aabc21a1bb851e119d8f54c776b68() - { - $this->assertTrue(true); - fn() => (__LINE__ - $test); - } - function test9a6fd06b0167853e00af9ea57bfecea85280e26613cea91a2646d15e9f91f500() - { - $this->assertTrue(true); - fn() => ($test - $test++); - } - function test9b526bfbbaf84853ea74b336484875789064a2e02abca877335e972ff894dac5() - { - $this->assertTrue(true); - fn() => ($test - $test()); - } - function test9e5dc8a9910ea5eed2d55a1078efe487ba15a1e7892e4ecbd1b9455c486eda15() - { - $this->assertTrue(true); - fn() => ($test - empty($test)); - } - function test9e811969dbb35ffea065198c602e78c8c7d1aa600b24e7c73f5fddd161d8e4e0() - { - $this->assertTrue(true); - fn() => ($test - ($test ^ $test)); - } - function testa01ee1809ff40bb39f3cf006998165f22c83b8faa6ffdc0909264f3d671077cc() - { - $this->assertTrue(true); - fn() => ($test - ($test | $test)); - } - function testa10d4a1ccc8175abe18961ea8c21823a23486e5b2be155a1810a58fda3d55f48() - { - $this->assertTrue(true); - fn() => ($test - $test->{$test}()); - } - function testa1a24576134d6b7e928c6b4d1b8c87b69b26c2119d2998a5812e229f49b7ddc5() - { - $this->assertTrue(true); - fn() => ($test - ($test < $test)); - } - function testa273a142b8922d0d6c08a89088586f26d1269cd5f23491fe0fa641922faf3024() - { - $this->assertTrue(true); - fn() => ($test - ~$test); - } - function testa421131a5963d7a4676aaf90c354f2a47cb36b139daf9315be7867be62b7fe50() - { - $this->assertTrue(true); - fn() => (0 - $test); - } - function testa4e9a06bb360700a5dd25b335ddfd3bd898347c4f626df758d52765112f467a3() - { - $this->assertTrue(true); - fn() => ($test - $test * $test); - } - function testa54d27e648262a619d739a335b991a5c7a9123b086c9f327a4763b3b3f9672ae() - { - $this->assertTrue(true); - fn() => ($test - ($test >= $test)); - } - function testa65cfc91c9b8a551cc566ef7bf55ceb043d2b209dfd2ba593e1b1950283fbdee() - { - $this->assertTrue(true); - fn() => ($test - !$test); - } - function testaa331d599ce7eb92a07cf51eba92554b2d036c52fc55a07361b762b8c985b6ee() - { - $this->assertTrue(true); - fn() => ($test - ($test <<= $test)); - } - function testaab49f7c1b18804ccb1474a67945e6697f3e18307939647894053273dccdc73a() - { - $this->assertTrue(true); - fn() => ($test - (yield $test => $test)); - } - function testaccaff0659ee4bb804f8fa0432faee1af83eab366f4e5e5cdf957f30eff6b16f() - { - $this->assertTrue(true); - fn() => ($test - ($test **= $test)); - } - function testae158a5c2a7176383a76665a4e45b0b9b8db662db9c656685e8178d2f5f2bcdd() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ - $test); - } - function testb1748b42e0b68bae35ab6ac71ea5db8132b5a168bd22e2a37d697b94245cdbd4() - { - $this->assertTrue(true); - fn() => ('test' - $test); - } - function testb774bdee3d90062388c27a1baeded20eb15e355513271d49d3b283cefdc50994() - { - $this->assertTrue(true); - fn() => ($test - ($test + $test)); - } - function testb775006760a2cf0cdc88745bf3f3ebfb6aaabbf03b68aa6844f172c31524bfe1() - { - $this->assertTrue(true); - fn() => ((object) $test - $test); - } - function testb86c050634718dc4b8daf22e15677ef9f5329c0c17c0359b5265b5b0157856b2() - { - $this->assertTrue(true); - fn() => ($test - ($test && $test)); - } - function testb8b82ebffa9d98613a76251d1e0ccd9e78df5b72f1b75294494b41bcaea49c4a() - { - $this->assertTrue(true); - fn() => ($test - $test--); - } - function testb9c7fc1ee4e881f32110d614b2b8249df4a654e4d15eaf3497e521bceb0a647c() - { - $this->assertTrue(true); - fn() => ($test - +$test); - } - function testba7f1217467433ebafa7eb9e30de143a7037f8d2ff52e0a0ee02585941b9d0aa() - { - $this->assertTrue(true); - fn() => ($test - ++$test); - } - function testbb19a998b877ee071c5d019c3c10ff6af2cec850857531dbc456912499c5371d() - { - $this->assertTrue(true); - fn() => ($test - $test ** $test); - } - function testbb8bc84d82d441cd850a8183fe8b9c7aed48aea5a178a685b48f0d6ff7bc3c71() - { - $this->assertTrue(true); - fn() => ($test - $test / $test); - } - function testbc1509a347ec084dd6ffb404882311cfcd9672a2399281402cafdb55a6453565() - { - $this->assertTrue(true); - fn() => ($test - --$test); - } - function testc7e5a337d769eabd62216d4af23dfe704b1dc6dab5f9d9c1527b43a35aad0630() - { - $this->assertTrue(true); - fn() => ($test - $test); - } - function testccbf10c96a6cbeec79e3134ef0196e2482fa08dbf1601bd12e22b0809d174d99() - { - $this->assertTrue(true); - fn() => (__DIR__ - $test); - } - function testcdf9c34b1933e47d642bc5056ce9718a3adea46179b4ec126cd641892c3426a5() - { - $this->assertTrue(true); - fn() => ($test - new $test()); - } - function testcdfbaa3a756b4b76b35152211eb1115e5e63520b7bdf04a88a38b9230cc03c03() - { - $this->assertTrue(true); - fn() => ($test - ($test and $test)); - } - function testcee0ae9cf393bc1649938fe69fcdbc1124c75a09975bed0223c78c8b127d9da0() - { - $this->assertTrue(true); - fn() => ($test - isset($test)); - } - function testd1326ea7f27fa80396d67c4743583d9296b073dc00f2125f4f6efe9d11176577() - { - $this->assertTrue(true); - fn() => ($test - $test?->{$test}); - } - function testdcf0489eb050449e991b077b53b7b93ed56ad29d8087415244a893612d865e72() - { - $this->assertTrue(true); - fn() => ($test - throw $test); - } - function teste39ad2eae0efaf82672b2daea2153bf9c10dd2220be2b4aaa9156a8efd6c8e6d() - { - $this->assertTrue(true); - fn() => ($test - ``); - } - function teste7af58e5ed4dfb38a98279b03b1f4a6a8ff9f0ae4885aeb47ecd4ba94b625d52() - { - $this->assertTrue(true); - fn() => ($test - -$test); - } - function tested265b49be0a775b3ce90b49dbfe5cad12a571ccfb877c71e25dc4f4701af92c() - { - $this->assertTrue(true); - fn() => ((string) $test - $test); - } - function testedb1aa8f511e96ea0bd1fb8e6ce53ca86c377d2e77e4936a580876c96ff27bd7() - { - $this->assertTrue(true); - fn() => ($test - self); - } - function testf0797834073af57f944819cb973334d9f8757585b37dcb046c06657acbd34fd8() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ - $test); - } - function testf11ea3d3bb3b9f254ee98c48a107995927809fbb9c7ddad20ba17d7d387ca090() - { - $this->assertTrue(true); - fn() => ($test - ($test &= $test)); - } - function testf15fd916e3fa61222ebe2db533e8c6044493dbd2eee0fddde4dd87affc056ce5() - { - $this->assertTrue(true); - fn() => (__FILE__ - $test); - } - function testf1e66b3a0c5f5e7f5700dfc02a68361b9436d73c67a25d23b5f43932d8b58dd8() - { - $this->assertTrue(true); - fn() => ((double) $test - $test); - } - function testf3c5108ad347da8d946a662884e0f26f467bdcbbf6c7c59c572aa6e607440add() - { - $this->assertTrue(true); - fn() => ($test - ($test *= $test)); - } - function testf63e5702c8c8c4faf79ddfac4e8d9636d04114514c3eab783d28c072435124db() - { - $this->assertTrue(true); - fn() => ($test - match ($test) { - }); - } - function testf7e677f18060e1f7891a1e77204a353193cf62edcf424c5ea0403fa2bd7a3c99() - { - $this->assertTrue(true); - fn() => ($test - ($test = $test)); - } - function testf8351aaa8ca779880d3df303e8ac6919732fd5b65fe0933339ac92d715c11d16() - { - $this->assertTrue(true); - fn() => (0.0 - $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test.php b/testsGenerated/Target/Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test.php deleted file mode 100644 index a2f9fc5f6..000000000 --- a/testsGenerated/Target/Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test extends TestCase -{ - function test01cbb1f0f10e96b8e843338ecbcc5bd73f4ce805d68c84e85d2d7237e1b151ef() - { - $this->assertTrue(true); - fn() => (($test >>= $test) ?? $test); - } - function test039af154b29790f84f6cacd8079527c3b8408784185d0ce6a0f180b25f90e132() - { - $this->assertTrue(true); - fn() => ((print $test) ?? $test); - } - function test0ac113646546fdc3d84266239d3bf006d83ea2dc4b5d2f3f66020778f4ffa7e9() - { - $this->assertTrue(true); - fn() => (($test *= $test) ?? $test); - } - function test10c6c4668c8a8547c458bc86978c7ed5906a39731bf0549712cd752ec90b78d3() - { - $this->assertTrue(true); - fn() => ($test++ ?? $test); - } - function test130f73d773b4c0c62aa4f28ed26ff82cb69d7b20287877eac6819ffc07ba7f1c() - { - $this->assertTrue(true); - fn() => (($test ?? $test) ?? $test); - } - function test1511c2b9356af38b9ff60ae95fc9542655c7b536023b38d3d0226c6ae8a1c35d() - { - $this->assertTrue(true); - fn() => ($test - $test ?? $test); - } - function test18891d59523610905ed7b666490d16b0f4f8a731918af4012557023c774a9bc4() - { - $this->assertTrue(true); - fn() => ($test::$test() ?? $test); - } - function test1a025c57bdea3a584f01e6f410fb1d2bc1212c5300b6741b8ed203f173072b0d() - { - $this->assertTrue(true); - fn() => ($test * $test ?? $test); - } - function test1bf4dc97be6d6388b25bbf9a7e350e4bccd9711a934d06a38c6522fd3d3bb881() - { - $this->assertTrue(true); - fn() => (($test /= $test) ?? $test); - } - function test1e6b061cf8146e49b6eba8aa0e30716839c1fd2a36bda7ae8a53545e1b8c0fbd() - { - $this->assertTrue(true); - fn() => ($test != $test ?? $test); - } - function test214468713380eace3e99b0bf9e1c5cb0ff6ef4c3c20173ed5fc1eecc3edc0e22() - { - $this->assertTrue(true); - fn() => (($test += $test) ?? $test); - } - function test2192843c667f1ff3d2707865f82571d6cc6647a3d8ef82f23c35dffb9bc6f17e() - { - $this->assertTrue(true); - fn() => (isset($test) ?? $test); - } - function test256b6962e9018c4cd07e5b538405c3bb8e6623694810826fa31385492694e6cc() - { - $this->assertTrue(true); - fn() => ($test <= $test ?? $test); - } - function test27b11a4777cd6710a516af147e302ff19069ae7f053d251e26b9910b837004b2() - { - $this->assertTrue(true); - fn() => ($test & $test ?? $test); - } - function test284f69819ab23f163e7c6b95dca3b0f5183176b6aae5631072b574984b2d5af4() - { - $this->assertTrue(true); - fn() => ($test ?? @$test); - } - function test2b606f8be235714641a9994f634011a5ca28235ca7cdc7bf472b5e5b97aee374() - { - $this->assertTrue(true); - fn() => ($test ?? eval($test)); - } - function test2d20b28b5531bf09529471f98e08637fe91306b866474956659c49f7ef88bf28() - { - $this->assertTrue(true); - fn() => ($test >> $test ?? $test); - } - function test3145ee1dea182e78f8b368a4adf4cff804ff648a8fbd5021bc5525c65c8c8b23() - { - $this->assertTrue(true); - fn() => (( $test) ?? $test); - } - function test32604ffad4aeb84fda5f4153ed8d223c720c29900941cf917e2e9e66de3c4cf5() - { - $this->assertTrue(true); - fn() => ((object) $test ?? $test); - } - function test3383855309dbd12b677d1e1cf95893bf3a547aae1ec6de39a60ca9f917383f16() - { - $this->assertTrue(true); - fn() => ($test ?? $test[$test]); - } - function test381bf9cd9f196fb3bb73f7aee68b0f9d355047a56d7b286cee8befb3195c47d4() - { - $this->assertTrue(true); - fn() => (($test and $test) ?? $test); - } - function test38317fff10c4f2625ba96531a34d8e79ecc8931d6a3ab00c7b4c75dadeef2b04() - { - $this->assertTrue(true); - fn() => ((int) $test ?? $test); - } - function test3f9e057e20ca6824325a42a9ce5d7886c3a37e01ea102cd142e89cbc289d372f() - { - $this->assertTrue(true); - fn() => ($test->{$test} ?? $test); - } - function test40f82681801157742d6374d53771ec490c9ba6326303a04ca13be33e0053c890() - { - $this->assertTrue(true); - fn() => ($test ^ $test ?? $test); - } - function test441873329a9e4b4de6548bb6b09bf1c82f8d3f9de604a30a70ccf378ecc27651() - { - $this->assertTrue(true); - fn() => ($test > $test ?? $test); - } - function test4872bafcaf39a04bb9299a2abd4f5c4cea74e06024bf3edc4b949a8ff1c33228() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() ?? $test); - } - function test4a26749f85ef940ad05d91a7ee5aa3c6ae870089457c2dd965d9263749762930() - { - $this->assertTrue(true); - fn() => ($test?->{$test} ?? $test); - } - function test4ad0349781b39b31dcd8291d29b46aa9bc080768fa64a971cd2108d75ac24420() - { - $this->assertTrue(true); - fn() => ($test << $test ?? $test); - } - function test4d038342c76f468a0cad30c1cfd0b4bfd9d17579d3aab26998267dd2ffde546c() - { - $this->assertTrue(true); - fn() => (--$test ?? $test); - } - function test52e6c71effd8e54a40701d31d56daa345ba3dbb552fdc74c594973e65fb754f0() - { - $this->assertTrue(true); - fn() => (__DIR__ ?? $test); - } - function test52f8f798757e918ac146172d088471279ed4892b388b713bdc64c3ad6b292b23() - { - $this->assertTrue(true); - fn() => ($test ?? ( $test)); - } - function test542ed5ccbfd52456770982dc0c0d857a0bb630d714609e8bed2e8332056033b2() - { - $this->assertTrue(true); - fn() => ($test ?? function () { - }); - } - function test551fee1fbfa31dae76bb2ed83dcc87e44f23992e3e0dfddc15fd5054dcab3ed3() - { - $this->assertTrue(true); - fn() => ($test ?? $test::$test); - } - function test5708e5f4c73b268526c48465f19bab76f08dbbb72c37bc86b4509e5f038cef91() - { - $this->assertTrue(true); - fn() => (($test -= $test) ?? $test); - } - function test572673f9907b438ba00c12419b035af953c58acbbb5e0c227d0f8ae68271a94b() - { - $this->assertTrue(true); - fn() => ($test-- ?? $test); - } - function test574536b853f5c6dd73b88dfb4326bf13f4914ae17a3a1638a92e11693dc1beb3() - { - $this->assertTrue(true); - fn() => ($test() ?? $test); - } - function test57fa82a0430a88c099ada27524325a36c6f428279029901ea951982ddd4e3ea3() - { - $this->assertTrue(true); - fn() => ((array) $test ?? $test); - } - function test59be06a2615f83a615e5fec223116687971de7c3822930cc29c1ee1ae314f51d() - { - $this->assertTrue(true); - fn() => ((yield from $test) ?? $test); - } - function test5cb1d1a98d01962248973da21cc80a0c155a477e26a4ce80cdb90f9cd0128a8a() - { - $this->assertTrue(true); - fn() => (match ($test) { - } ?? $test); - } - function test5d923a8bf144d4460e1561c89ed77b203e0f3b6fff60cab786b65d8a834011c5() - { - $this->assertTrue(true); - fn() => (($test **= $test) ?? $test); - } - function test5da9b043efe4ddf92beb4f253d6ee52f7982a174bd6da7e6ede68bb3887df771() - { - $this->assertTrue(true); - fn() => ($test && $test ?? $test); - } - function test5ef95d43721edb03b2d93e88cf7cc3d9382127ccf8e0df851d3c570876cbfdb3() - { - $this->assertTrue(true); - fn() => ($test ?? ($test = $test)); - } - function test6ced8c0e715098b73bf290f923acdb4956b62078e9d62afa6a53b7077d5c69f6() - { - $this->assertTrue(true); - fn() => (($test xor $test) ?? $test); - } - function test761e4c4f18dd9a936ea94418c8026bf21798b981d96a227ad86e50fe741b1f89() - { - $this->assertTrue(true); - fn() => (($test ??= $test) ?? $test); - } - function test7843409fd4a3c40f84687079833008bfa6c7f6be12b0e12c699e357922d1a0bc() - { - $this->assertTrue(true); - fn() => ($test + $test ?? $test); - } - function test797e570ee73fb164d0e72ba85af9c10b402c4661b24752c7db260207c740e62c() - { - $this->assertTrue(true); - fn() => (__FILE__ ?? $test); - } - function test7f7ebb628100939540339e28caf3c1395d28d8c9f98e1dbc5d4999be6980f498() - { - $this->assertTrue(true); - fn() => (__LINE__ ?? $test); - } - function test813b914c484736941d519a160ebd540b72603c5b83bdd2998941e9f8c24fe27f() - { - $this->assertTrue(true); - fn() => (throw $test ?? $test); - } - function test8242e853fbe303d66703a6d3e62bdfc89fd2affeb2818173c08a930a6d0614e0() - { - $this->assertTrue(true); - fn() => ($test ?? !$test); - } - function test83138b5d6b10c0545cf182a220525432575a1a354bd7701aab7099d88e2250f4() - { - $this->assertTrue(true); - fn() => (+$test ?? $test); - } - function test83f40b799210aa0e8ab750d71139a90cb158fc59206b91d19b0498b36ec944da() - { - $this->assertTrue(true); - fn() => (($test %= $test) ?? $test); - } - function test86c141913425970fb9958bae0ee7a724e4498e6b9e31a5aceb19827d6c93ec7d() - { - $this->assertTrue(true); - fn() => ($test ?? empty($test)); - } - function test878787ba9761b66e4d83a071ce5233464561e9070e461058bacb7e5484b16153() - { - $this->assertTrue(true); - fn() => ($test ** $test ?? $test); - } - function test8c773e273b85c5467a8dfa756c91e42e27c10798acbb739b4a0088a951e4df97() - { - $this->assertTrue(true); - fn() => (($test ^= $test) ?? $test); - } - function test960b8ffc798c9547fdcc923f0452624d545022e85d93bb8407353e9d190f9a18() - { - $this->assertTrue(true); - fn() => ($test === $test ?? $test); - } - function test9809c11078dd5862ebd2745beda6b8f421ebf9ca2f3abb21df9e39550883a229() - { - $this->assertTrue(true); - fn() => ((string) $test ?? $test); - } - function testa056c9e01b5ec3714711881dc24f3457e04c9ba0b3bcab2ea8bd41555d3b572a() - { - $this->assertTrue(true); - fn() => ($test ?? []); - } - function testa8af395e42584762b41c68b4ac685600275233988c7b0b71d625ec728b8ce198() - { - $this->assertTrue(true); - fn() => ("{$test}" ?? $test); - } - function testa9e526785271a6a5bada96c67f37e8dfe567a59c5a1417382c1b8e83fe760392() - { - $this->assertTrue(true); - fn() => (($test or $test) ?? $test); - } - function testac59a0801e4d7f43fc65a57eed882a2033e205dd0df5661808d77223fc16ed58() - { - $this->assertTrue(true); - fn() => ($test ?? $test); - } - function testb270da8db4ab6459cb06a4a64ec90b90f69ba2f5cab0dc8288e9515aecac37f8() - { - $this->assertTrue(true); - fn() => ($test | $test ?? $test); - } - function testb4f70cc900cbbcc938647595093a2c4ddeceff24a4293ba496306d224d2b72f4() - { - $this->assertTrue(true); - fn() => ($test ?? $test()); - } - function testb76c5e710360af458ac909a61f633ea49a7410c05bc48d1a75d2a17ecafa5721() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) ?? $test); - } - function testb8da0a7bb1bb2f0b80e8e145e6fe61421f9dc3660c8f6e6f45734e5cbf037410() - { - $this->assertTrue(true); - fn() => ((bool) $test ?? $test); - } - function testb91cd114bd4b4c1ae82a466528815179d149e8c103d0b90bfd8c643ff5b6136e() - { - $this->assertTrue(true); - fn() => ($test::${$test} ?? $test); - } - function testba41144c05a1a579cde99f7f4987a7b1c8d7086c5d230e65402b93d95218ee82() - { - $this->assertTrue(true); - fn() => (-$test ?? $test); - } - function testbabda52e5e41a2cbdf790d05b525a1d0b8337ed133dd4aaba8358c7d5cc0649c() - { - $this->assertTrue(true); - fn() => (__TRAIT__ ?? $test); - } - function testbe0244e3b946df338406129d85d1f86ac5aa0e0809cafc1877b4012411e1f762() - { - $this->assertTrue(true); - fn() => (0 ?? $test); - } - function testbe2e2149af381e90007aae9bbb8002f6cdc493e062cb09122c63ae766f3e4683() - { - $this->assertTrue(true); - fn() => ($test ?? $test instanceof $test); - } - function testc0325dfe7bb54b7d6be3169059bc5fcbfb0b01b0b6ae01d1540ac302281d1dcf() - { - $this->assertTrue(true); - fn() => ($test instanceof $test ?? $test); - } - function testc199d4d0671739b85829fd773df032bb836468f7378a1c3b909b7573c1f62e55() - { - $this->assertTrue(true); - fn() => ($test || $test ?? $test); - } - function testc2919c2cae009f0d5f37eb6e6d1673500ac954efaaf1b6c94dcf57ae15fe9515() - { - $this->assertTrue(true); - fn() => (__METHOD__ ?? $test); - } - function testc445a0daf821a6e744df8cddd3e7e2326f1fc7f5b5f0df297966e1afc62b9848() - { - $this->assertTrue(true); - fn() => ($test == $test ?? $test); - } - function testc8a0f020239a7c7997e9e4890e4fd95590a8f179806c4b6ddf6ceb2710687187() - { - $this->assertTrue(true); - fn() => (`` ?? $test); - } - function testc8e8d2586ea3920cd789e3768218a4c12bfedf3f57d80a4ecb9e8f5fd83e935f() - { - $this->assertTrue(true); - fn() => (new $test() ?? $test); - } - function testcbda1ec052c5a47075028a25036f53db40452a940b5e27f19e0431f1b1698d4c() - { - $this->assertTrue(true); - fn() => (($test |= $test) ?? $test); - } - function testcbf36cd9451014e53df4df420fae18bcac1405152b6b55d0d23843738d79149c() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ ?? $test); - } - function testcc8fb4d5e14dbd5c568d9ebdac4edcaa01c16a4c4df9c449efb135e46c1f8ef9() - { - $this->assertTrue(true); - fn() => ($test / $test ?? $test); - } - function testcdac97767fbb57dcbc5932a4238f8cd3f7216751420b279b1ae8de3cfa318dae() - { - $this->assertTrue(true); - fn() => (0.0 ?? $test); - } - function testcdedce68d130da7edab6f598b072270439a2a2050eb7ef64fa1daf381018f8e7() - { - $this->assertTrue(true); - fn() => ($test ?? clone $test); - } - function testce967048056379345f68a095a7a7dca2595143ef88f57a967192456709d39133() - { - $this->assertTrue(true); - fn() => ($test . $test ?? $test); - } - function testcf492fb876e7edc1d3a118b090591fb9a27e617fbff5c3d4b62fcb7aed645cfe() - { - $this->assertTrue(true); - fn() => ($test->{$test}() ?? $test); - } - function testd0c972a26c85bfdef2601b23365580ec6eab47c280774a32a312a67ae8e28601() - { - $this->assertTrue(true); - fn() => ($test !== $test ?? $test); - } - function testd1662f644dbdf7af7514a4d24f341fbfde15b94caa75a24994083a08209a5edc() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ ?? $test); - } - function testd22028c490ad025824c2f63cc6164f8b902d3d91a8ce7ae1e139e15ab52c6011() - { - $this->assertTrue(true); - fn() => ($test >= $test ?? $test); - } - function testde1c9e90c494c9ab353320708c554fc692e868a33933e7e8ab7a9095d4bfdda4() - { - $this->assertTrue(true); - fn() => ($test % $test ?? $test); - } - function teste33bc38f5d0e6d5f00933edd3c4befcdca7ca6a06e12b9484a9cd21b5277d590() - { - $this->assertTrue(true); - fn() => ('test' ?? $test); - } - function teste7591654cbf48201f23e07c64c2bb86bd750fffe700e0de76d1b9e1294109aa5() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) ?? $test); - } - function testea9b0bcd5778bc5881bbde1fdfb5e403d838cdba216bec0f7969856c5318d877() - { - $this->assertTrue(true); - fn() => ($test ?? ($test =& $test)); - } - function testec9afebdce1850c28fa42feb89e401e253bb9b29e9cda42cf8618eebfa8d14a5() - { - $this->assertTrue(true); - fn() => (($test .= $test) ?? $test); - } - function tested7b703df3d008e42ab96d63f9c1693bffffffd542ad02dae88f2228d8e7ecbf() - { - $this->assertTrue(true); - fn() => ($test ?? ~$test); - } - function testef525be9e77e48fbed1a312737039662f97505428d0295d78aff90f37565270b() - { - $this->assertTrue(true); - fn() => (__CLASS__ ?? $test); - } - function testf2e59007ec9f05318aecc3911840b64a0cd0f8a59a70d5c74b4b0a0f1c741c2a() - { - $this->assertTrue(true); - fn() => (${$test} ?? $test); - } - function testf5840e53384dd1722930e5314a6aa36d3f5749c8e5669a8518c15a6fcfa62af4() - { - $this->assertTrue(true); - fn() => ($test ?? self); - } - function testf85f9dbfb988716db18041f3e4eaa3348e9ef67d6c2629f9f7244d86538ef661() - { - $this->assertTrue(true); - fn() => ($test < $test ?? $test); - } - function testfa9f896d70713ec2304946ab0e03021753982c3ea8e504fd223baaeeb1a24b11() - { - $this->assertTrue(true); - fn() => ($test <=> $test ?? $test); - } - function testfc19fea6c46267163d6f8ea4c3ecd7dcbb0252f79079516b1dfd3629fa656e89() - { - $this->assertTrue(true); - fn() => (($test &= $test) ?? $test); - } - function testfcda74485691cc106e2fa047cc54f626dd4771d5c84d1c82ff9a6262e0399de3() - { - $this->assertTrue(true); - fn() => (++$test ?? $test); - } - function testfe4d103fb4cca118b36c24a966c3141b5088aa52b8e74a20bda2e980eae60ee9() - { - $this->assertTrue(true); - fn() => (($test <<= $test) ?? $test); - } - function testfec8cce05d201f882ac21c9c41f11d415b2d737de2d1420b7a779e6e1272fea0() - { - $this->assertTrue(true); - fn() => ((double) $test ?? $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest.php b/testsGenerated/Target/Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest.php deleted file mode 100644 index 04b17c041..000000000 --- a/testsGenerated/Target/Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest extends TestCase -{ - function test00d07b67de1d96bf870d1ffa71a073c3c909326f6da1f0f1b31fef0b451aba6e() - { - $this->assertTrue(true); - fn() => ($test <<= $test++); - } - function test00fb1d7bdf0d691a2b19bb0b9e46982768fdbea7b6d73919e748dcc7ffcee991() - { - $this->assertTrue(true); - fn() => ($test <<= ++$test); - } - function test06745b54a0d6812e50f64bc16413b89bc63807ebab963521f10df9147abfd5a8() - { - $this->assertTrue(true); - fn() => ($test <<= $test -= $test); - } - function test0b91497c0aeee522fdd0b913110ae1a6412c4210c70f495fea34e13264a0aa52() - { - $this->assertTrue(true); - fn() => ($test->{$test} >>= $test); - } - function test0df1fba6fd00f9cc61122835b0276e97460a88c6eb37f844918d15791b74e8a9() - { - $this->assertTrue(true); - fn() => ($test <<= $test ?? $test); - } - function test0ef6e79851a6912b746e68eb1d7559bdc485134f56e5fb217219051017a678ad() - { - $this->assertTrue(true); - fn() => (${$test} >>= $test); - } - function test0f1a0cc1c6b6c8a8ed6ba3c804525b451a96e36a8a735159c980f7e485a73ded() - { - $this->assertTrue(true); - fn() => ($test && $test >>= $test); - } - function test134c466cdd7616ac313784eab2dee8cec3166b26600502ba6e2b40890401da5e() - { - $this->assertTrue(true); - fn() => ($test <<= (double) $test); - } - function test152d5cbce99858cd68f9199c41cd745d6a1464ba787221755dfd60ac7c34953f() - { - $this->assertTrue(true); - fn() => ($test <<= $test & $test); - } - function test18df4b340688d775ecde54807628cc7da0ba9cf83e0870127cf8448d40a154f7() - { - $this->assertTrue(true); - fn() => ($test || $test >>= $test); - } - function test1c6058aa4ae664c05adfd5d5eb9c4bf8ffe4bb6879a9996b2ce45184d6f6d091() - { - $this->assertTrue(true); - fn() => ($test <<= $test ??= $test); - } - function test1db8de633ae2c3f4ce4ffe58ccac442203b5197971d2f15fc713979dbe3872e7() - { - $this->assertTrue(true); - fn() => ($test <<= "{$test}"); - } - function test1f002c5f2a6b6840965e664993307312497a6630def5b683bd4269e42b2b04f1() - { - $this->assertTrue(true); - fn() => ($test <<= ($test or $test)); - } - function test250bc36a5238dd6ecbf724ef1e2a790c0785e44329275c5022c6d47d6d5690b3() - { - $this->assertTrue(true); - fn() => ($test <<= $test * $test); - } - function test25f6a235db902a8e14175fda580ee142af977bf998985800dbd05a5ce383290f() - { - $this->assertTrue(true); - fn() => ($test <<= 0.0); - } - function test276d8ed8ed7fb953c4ae1982cb9ad38325ad850075ec8c19296309092195f5e8() - { - $this->assertTrue(true); - fn() => (clone $test >>= $test); - } - function test28b3c15e36ef40ec898314ac489108b72a4635cc7de9e2f3e6b8f53555ee776b() - { - $this->assertTrue(true); - fn() => ($test <<= $test <=> $test); - } - function test291cd68948298c0de3b34009a8402ae4a30ea6d5b08c5594fedcc0393b28cbeb() - { - $this->assertTrue(true); - fn() => ($test <<= $test && $test); - } - function test2adb9087f87384f58e7c5d24f7d18321bd9affa10a826f6f45fa6f3439249045() - { - $this->assertTrue(true); - fn() => ($test <<= $test == $test); - } - function test2d861765c32c65dbb3cb670cfc50b60fbc924f3ea4c9671979f1836d7d0a11dc() - { - $this->assertTrue(true); - fn() => ($test <<= $test === $test); - } - function test300c1c04568cfb07f593d38aa2a66d208cc23476465dbd08f270176806b88e62() - { - $this->assertTrue(true); - fn() => ($test <<= $test <= $test); - } - function test30684ada65602d60c4978417ee585ea33173b8cf47be8a69d4c83d745ee3ade8() - { - $this->assertTrue(true); - fn() => ($test <<= +$test); - } - function test315dd1d6b2cf14298e90c53aa630c4cc42112c62d9dd22a239bdbaec7e4cc15c() - { - $this->assertTrue(true); - fn() => ($test <<= $test &= $test); - } - function test3333b3da911249e16fc4afbf4b26954b667b865b55ad83e53b92c15426385beb() - { - $this->assertTrue(true); - fn() => (-$test >>= $test); - } - function test335c85887d95da9cb4fd5d7bd980e345fc7ecbb4201dc67903fe2a9b58e0a21d() - { - $this->assertTrue(true); - fn() => ($test ^ $test >>= $test); - } - function test35f262d6903aaa1a3d5bd69d45ae178a067c63acf48db5af8b1fe4ada28c0318() - { - $this->assertTrue(true); - fn() => ($test <<= $test ^ $test); - } - function test392f71090da8e153de106bd13012d51a57ca6f2a32f1af4f5aa80a99982afc86() - { - $this->assertTrue(true); - fn() => ($test <<= $test->{$test}); - } - function test39b82e7318911fdacac97f567910b1107761f23c62afb291b955406d01255102() - { - $this->assertTrue(true); - fn() => ($test <<= $test < $test); - } - function test4206831a88a488d3d4cd7fbbb1a46a6bacbd69ddeb90e94c7ea219ddb007ab24() - { - $this->assertTrue(true); - fn() => ($test / $test >>= $test); - } - function test43ceb29f97a1c01b4dcc116c91fb347c0ebb3e29a39f825ad3575112a1a052ab() - { - $this->assertTrue(true); - fn() => ($test <<= (object) $test); - } - function test477748344d2d4323f34c84302c14bdcd31e8f50db8778d48a34c4fc414b565fd() - { - $this->assertTrue(true); - fn() => ($test <<= __NAMESPACE__); - } - function test4dba6208d99355bbe0a918f028f2af00a3a9ac4ea61d1c5edd3da80fe26df8aa() - { - $this->assertTrue(true); - fn() => ($test <<= __LINE__); - } - function test5207f59353ed08c0ddfb4e3d14010afdeab7b2fcf6a530ce1ecf1e6771591c9a() - { - $this->assertTrue(true); - fn() => ($test <<= ($test and $test)); - } - function test539157c6fd6385fdf75493fa7d5a69e75ccb809ace96a1a2c173844ffda7b711() - { - $this->assertTrue(true); - fn() => ($test <<= (array) $test); - } - function test559e670b647cdfd5d4f891c1cc6656313fe2d3aa5cf5199b3d9f7155a4d8cadf() - { - $this->assertTrue(true); - fn() => ($test <<= $test . $test); - } - function test568e942f1fde60f923d78fb20156216771cf10db8c0ad3b777e43249a3f08f67() - { - $this->assertTrue(true); - fn() => ($test <<= $test?->{$test}); - } - function test576632bf147594f4a96b391febf90a88c036bbd49c5fea881cd9f6f369bb9542() - { - $this->assertTrue(true); - fn() => ($test <<= $test >= $test); - } - function test5ced47d038e88cd901406a84e3274bdf138b3b75319e85b93c8c84eb9270550e() - { - $this->assertTrue(true); - fn() => ($test <<= $test::$test()); - } - function test6038971c68bc644555ed9af2d64f6a806dde0f79774cd9a637f7360962748cdd() - { - $this->assertTrue(true); - fn() => ($test <<= $test >> $test); - } - function test61dc150219a4813f4fa891aaedb94ad200b8dcde38052d00cfade0850af937fa() - { - $this->assertTrue(true); - fn() => (~$test >>= $test); - } - function test620f2f75736a95f441b1707d5062aac9fdfbc76fd5b82608c3d5f3af381a01bd() - { - $this->assertTrue(true); - fn() => ($test <<= $test != $test); - } - function test6263ca4eba719c4ac5941bdb4bf04c2c37d1efe28b1fe3745cf3f6978ea71448() - { - $this->assertTrue(true); - fn() => (throw $test >>= $test); - } - function test64690b2d0374161f82ba9943c25cbb672e2d078c697d8f983f6fd6987b495d7b() - { - $this->assertTrue(true); - fn() => ($test <<= __FUNCTION__); - } - function test67157ed5764db5965e7cac57fcd9db74ba0db4b1317a5e39be7703aa58214645() - { - $this->assertTrue(true); - fn() => ($test <<= $test / $test); - } - function test67b0643f74596a31a2ed346952986581326619a7cd296402181b4ea7837ef11d() - { - $this->assertTrue(true); - fn() => ($test <<= ``); - } - function test681d10382908d7c26ed69dd5f8d513e0d3873b804f4a0723041e3de41e5499d9() - { - $this->assertTrue(true); - fn() => ($test <<= $test !== $test); - } - function test696f009c0c0e4d758a617e94be2089a36597c7ea14a99efc24b59b06725fbede() - { - $this->assertTrue(true); - fn() => ($test <<= throw $test); - } - function test6d26eb10a600bfae3849e3092baffed365c4173fd7067925258b68583cafc6fc() - { - $this->assertTrue(true); - fn() => ($test <<= $test--); - } - function test6f5d5bdca2c64a18ce449ad5e49a991661bacbafef9eafc94d5a6e290c6e7f07() - { - $this->assertTrue(true); - fn() => ($test <<= (yield from $test)); - } - function test709481c40db901ff50a82f8aa3c2f8da9feee0e46d78e50ec1aee0aa04b3c780() - { - $this->assertTrue(true); - fn() => ($test <<= $test + $test); - } - function test79150098e32896d8e7c4087fa6f975e0508eb48be322ea26ebb22dfe8d9ba6cc() - { - $this->assertTrue(true); - fn() => ($test <<= -$test); - } - function test7a6263cb28fd328376952ae7beb6e26fce83b031fa407cd671d3dbdb254d9c91() - { - $this->assertTrue(true); - fn() => ($test <<= (print $test)); - } - function test8293972ac88e3c5ec4a142309c497b3fd5bbceb4ea5448b499736b66e6d62c14() - { - $this->assertTrue(true); - fn() => ($test <<= __FILE__); - } - function test8372ea5b07298a33efed0693baee49f6714c40d53e346cd9d7786b351a0db9c7() - { - $this->assertTrue(true); - fn() => ($test <<= 0); - } - function test8426b26a9793a73b243672108e743327210441085d67e35e8401693a7d621e90() - { - $this->assertTrue(true); - fn() => (@$test >>= $test); - } - function test84652bf9366f9273b157280310781a32e1f8472f09feb0ce58a20c3c233bd1f4() - { - $this->assertTrue(true); - fn() => ($test == $test >>= $test); - } - function test877b6dcda06d266ed4b756b54961988890a143e5c9f0357b11df8093fd414453() - { - $this->assertTrue(true); - fn() => ($test <<= $test || $test); - } - function test884a0e1b55e2d778a3f0bead5577c317c6f3960cec4d28a2f24dce51718faa34() - { - $this->assertTrue(true); - fn() => ($test >= $test >>= $test); - } - function test88b1047eab8fb345ccf6e43a97420fbc79c9ce9c4e7993f2a0a21a202324c431() - { - $this->assertTrue(true); - fn() => ($test[$test] >>= $test); - } - function test8d6d5215d30a75a3aebe2a73d3cce64e702549d57e0006c0298c612e60acfec8() - { - $this->assertTrue(true); - fn() => ($test <<= __CLASS__); - } - function test90f8fbbe85eb2db13da7fcc8e0ae534b34bd340c136533b83c117ac251cd8ca6() - { - $this->assertTrue(true); - fn() => ($test::$test >>= $test); - } - function test9244f02a6464e01317673e435c037da786483f19f94f284e456884b71b82a817() - { - $this->assertTrue(true); - fn() => ($test <<= $test | $test); - } - function test92cd7639cd63f468663077bfbd542dd8bdd86dbf7da76f387ca14be2e47a8453() - { - $this->assertTrue(true); - fn() => ($test <<= $test |= $test); - } - function test9a5d7f4ccf437bb3dedbb60c174700565f96b5ad80938365174fc960bb38b26f() - { - $this->assertTrue(true); - fn() => ($test <<= $test::${$test}); - } - function test9a9c3b28f525e6ab1ffded61812f5dbbdb2ee6cdac7c66a6f3bf2d64693afbde() - { - $this->assertTrue(true); - fn() => ($test ?? $test >>= $test); - } - function test9b1aee78d250becdc9be28c7ac53c539c14d2561eaa1f6655043c21ffa171441() - { - $this->assertTrue(true); - fn() => ($test <<= $test <<= $test); - } - function test9d58140190aea5d527c79b15567e64f8b7c37460d4215d96f104fc27634051d2() - { - $this->assertTrue(true); - fn() => ($test <<= __TRAIT__); - } - function test9dfcbc588676bbd9a1f44a25bc4d4900df932a5e9fdf228c6c53f3fb5063ebda() - { - $this->assertTrue(true); - fn() => ($test <<= $test *= $test); - } - function test9f48f04031b7ad496ad12b98283d2728b5c2e1b62f97cfc7483be5eb29b2f023() - { - $this->assertTrue(true); - fn() => ($test <<= (yield $test => $test)); - } - function test9f624cfb3db37d7e195520a4e16fbfc2d9bd9519ddd822fb2ba6b816458f73ba() - { - $this->assertTrue(true); - fn() => ($test | $test >>= $test); - } - function testa9e092e61caa5c46a7a375872ed825f7625710ded65cece42ba798d91a26b1ff() - { - $this->assertTrue(true); - fn() => ($test <<= $test ^= $test); - } - function testacbbe43e9f10020aab002abac5d9ef00070b46b3f7c5c6930dcfa74d5d1b65f1() - { - $this->assertTrue(true); - fn() => ($test <<= $test /= $test); - } - function testb3a7d5ce75e53d2acdf7e5885a580a64490fbfc5c1bd32485f94b3fa80ab69c0() - { - $this->assertTrue(true); - fn() => ($test . $test >>= $test); - } - function testb4da452c35e2d4f83d506fbbc3013d0ca251c19e1538074006e94d1a72d9d7a5() - { - $this->assertTrue(true); - fn() => ($test <<= (bool) $test); - } - function testb5eb7555ac11a57e931d245c47d9e0ba771b1fb81e2127f1cd66816e42fc550b() - { - $this->assertTrue(true); - fn() => ($test <<= $test %= $test); - } - function testb6acb67f252f3672a6c397f28ed7541e8eb5cdd9b27368a062a8f57e81dc97db() - { - $this->assertTrue(true); - fn() => ($test <<= $test ? $test : $test); - } - function testb9c092671b03b47111c38219d11fcef35fe5a6b8fd8ebac6eeecb96d85830044() - { - $this->assertTrue(true); - fn() => ($test <<= $test .= $test); - } - function testc026259072ac3e576845a4c82d23e80bca4b3cba0db629e11df822da2ff4643d() - { - $this->assertTrue(true); - fn() => ($test <<= --$test); - } - function testc076410d252de1136f80a20c8653a02433532cc3ae36658d00ebb7a43d178750() - { - $this->assertTrue(true); - fn() => ($test > $test >>= $test); - } - function testc233518933e6105ded61835a03efe9b77dba4bb37413c0f6a6744bdd37ad0dd8() - { - $this->assertTrue(true); - fn() => ($test <<= $test += $test); - } - function testc4047f189f3d64d4a1dd815f4835cc23fedb47d1bcac0e77f3e6cbb8d15db744() - { - $this->assertTrue(true); - fn() => ($test <<= ${$test}); - } - function testcc20df912fde8d0526ad555025a0ef910a591e6b86f96b52ef7441bffa201d09() - { - $this->assertTrue(true); - fn() => (+$test >>= $test); - } - function testcd0f9df40e93098c6a950440af9ce9ea24074a2948aaf8afb35613d56d2479f7() - { - $this->assertTrue(true); - fn() => ($test <<= $test > $test); - } - function testcd6c66e484592717720c3b91208741252cb35f669763b9de48ce571d76f80e99() - { - $this->assertTrue(true); - fn() => (!$test >>= $test); - } - function testd170c896632cf4aeabba297e11d2031869f78790b0aa5641b087cdffbf5913c7() - { - $this->assertTrue(true); - fn() => ($test <<= $test >>= $test); - } - function testd1a72ffac3e244696dbdf8eafa4d3488d65d2eff8d4e5d43c00a33a32b7eeb02() - { - $this->assertTrue(true); - fn() => ($test <<= (int) $test); - } - function testd4964800d03b74e7b366efc8a197f1948bab230fa8843c0560d64c4b6c14038e() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test >>= $test); - } - function testd656ef0ea4dedb41e59c194ef508dd5dea90dffe09e1c34022a651da18dadddc() - { - $this->assertTrue(true); - fn() => ($test <<= 'test'); - } - function testd75bc957bb96430f32760e03df1e59050ac1f1363dbe1548c2a1ce704abd6911() - { - $this->assertTrue(true); - fn() => ($test <<= $test **= $test); - } - function testda8495e1f58a46bc2448ac1da7bda855d62e3780574c67ecc516ea5c296a045f() - { - $this->assertTrue(true); - fn() => ($test <<= $test % $test); - } - function testdb591d11d81777c3b975b5ea08084ab918c8c4d7d7fcbdc0b3aedc237deb41a2() - { - $this->assertTrue(true); - fn() => ($test <<= ($test xor $test)); - } - function testdf3439d4456b7bedf6c8f4e72136d71a69d6cc8ca9788b6b8028c24023fc5bd8() - { - $this->assertTrue(true); - fn() => ($test >>= $test); - } - function teste433993c080f5f7185df2e23438e4bb94c3fd02f9695e6f0b6e988672f0e7fb5() - { - $this->assertTrue(true); - fn() => ($test <<= __METHOD__); - } - function testeb6a4aa5a5a8f9afabcb4ddcc66c87f879de836ce7d5e02fe4ca7ca2d4ea5ec9() - { - $this->assertTrue(true); - fn() => ($test <<= __DIR__); - } - function testef4e82f1f19dc12f63e86100024723cd3d96516c49ee2e5de67f016ebe16a72b() - { - $this->assertTrue(true); - fn() => ($test <<= $test - $test); - } - function testf404bc868fa9df8eb8b91ead0a79157c51c4a929543a89018243a8c25a79ef0c() - { - $this->assertTrue(true); - fn() => ($test <<= $test ** $test); - } - function testf46e80beb56c3c171995627086e33424afa0521979a455d498523e67dad1f435() - { - $this->assertTrue(true); - fn() => ($test <<= (string) $test); - } - function testfb4f26e25e2244dc0a08790d963863b2971599c7075c54305b8b13076a17884c() - { - $this->assertTrue(true); - fn() => ($test & $test >>= $test); - } - function testfbed6c31cec5a48abfdb594b9bf84ea6c8538be76d5ce6656144162791813510() - { - $this->assertTrue(true); - fn() => ($test <<= $test << $test); - } - function testff6b218aa5bc5358a3d2160e03c4e19bc0e404fee93ca62281448b8e306adf67() - { - $this->assertTrue(true); - fn() => ($test::${$test} >>= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest.php b/testsGenerated/Target/Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest.php deleted file mode 100644 index 42b15f926..000000000 --- a/testsGenerated/Target/Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest.php +++ /dev/null @@ -1,513 +0,0 @@ - - * @license MIT - */ -class Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest extends TestCase -{ - function test002e74bd027a90d920fbf88c08248bfa3ca9d0f88ee7c59dce70c02c1ad78615() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test &= $test); - } - function test00c4c4a6eb5881844bcd1c8204591894351d3716af6fd870ba072dc6a3b40357() - { - $this->assertTrue(true); - fn() => ((yield $test->{$test} => $test)); - } - function test062ba197c854b03cbfab76ef4be7345d3170b3c3e9b3867165f89e0d05ae93b3() - { - $this->assertTrue(true); - fn() => ((yield __FILE__ => $test)); - } - function test0c6ac7225507653d73eb21fdf9fd9e6f4e992c08a604bb5bf414ae7dc238096d() - { - $this->assertTrue(true); - fn() => ((yield __NAMESPACE__ => $test)); - } - function test0d605f9f3c1a2f92af61bcf9e3994d04e15355c7694d306a73ddf55cd7ee476a() - { - $this->assertTrue(true); - fn() => ((yield (bool) $test => $test)); - } - function test0dc239afb419830d29b399b5cfd3dc4067374b1a0e3d00c248daf53d690ad1bf() - { - $this->assertTrue(true); - fn() => ((yield 0.0 => $test)); - } - function test110b794c74a72d40a52e23b887bcc9ebe8b9081c193216e0b12400b7ba870220() - { - $this->assertTrue(true); - fn() => ((yield __LINE__ => $test)); - } - function test133a23cc29fdc1387c670bc541825102a015b26fd381c189c85c870c2f4340c4() - { - $this->assertTrue(true); - fn() => ((yield $test >= $test => $test)); - } - function test13719d315fbe455684dd5aae2861ebe6f2c1a02f53d9c90274d133656d972c7c() - { - $this->assertTrue(true); - fn() => ((yield $test::$test() => $test)); - } - function test14b2844ec2388804ad6b636606a30466b80f484adb497929cc46e98d1acd59f9() - { - $this->assertTrue(true); - fn() => ((yield @$test => $test)); - } - function test14c9cc97904f336c8cb829007be915001582f1269bb95d6fec4580aef63d51d4() - { - $this->assertTrue(true); - fn() => ($test[$test] &= $test); - } - function test15279bf3c80644c78ea7840129549b18fb7cdbfbec0f6f3303a50ab6dfc777f6() - { - $this->assertTrue(true); - fn() => ((yield yield from $test => $test)); - } - function test16d3fb10a1d5d63367ad4d4e7e0d00c48e0fbd324ba05e45d6013c8c281fd284() - { - $this->assertTrue(true); - fn() => (clone $test &= $test); - } - function test175cb91764123c7fd217c815cd102f723d04a8e71edacf3c6b5801fb009ded97() - { - $this->assertTrue(true); - fn() => ((yield $test == $test => $test)); - } - function test186ddeb9e5d55474964d1502de1d507bafe58040e82af151374c91acc949fa2f() - { - $this->assertTrue(true); - fn() => ((yield $test <<= $test => $test)); - } - function test1b7cdbff9a1c7ddb4f30e8419306743ff611bba07a8b3b2b5d72d7f18ec71fbe() - { - $this->assertTrue(true); - fn() => ((yield isset($test) => $test)); - } - function test1b9672e1cc81c43ba731df1ceeebdb7128f26e0ea50cb2642c6bc2c765597eb0() - { - $this->assertTrue(true); - fn() => ((yield eval($test) => $test)); - } - function test21d02f577292c446bccdc9c59031aff9b32e69057d2d66dabb50eb9e289d2687() - { - $this->assertTrue(true); - fn() => ((yield $test . $test => $test)); - } - function test2383294e4cd29bd2eddbbaf79f670a0a2f307769811ab655d46dc682663f2684() - { - $this->assertTrue(true); - fn() => ((yield $test ? $test : $test => $test)); - } - function test274e02388eb78eab6a07a5f832f8fe48e152534382b971885d6c2325aab0c70e() - { - $this->assertTrue(true); - fn() => ((yield $test() => $test)); - } - function test2b8230a2689b67b496690e5363f0d5501d01cfaaa56e87f47dcb4d9f85d78edc() - { - $this->assertTrue(true); - fn() => ((yield ++$test => $test)); - } - function test2c03301e33d43bd308d3de51f485e4067e119b99de85670d78fbe564c687e3e9() - { - $this->assertTrue(true); - fn() => ((yield (array) $test => $test)); - } - function test2ef7f04d27cf66bf48386c608777044cb2683cebd8a1e6f800d9bcbfe472a7d0() - { - $this->assertTrue(true); - fn() => ((yield $test++ => $test)); - } - function test32a1e28f85ca19102ac992e4db19cfc84b832c0b5d3b05ccbf47b4c4dfc09f74() - { - $this->assertTrue(true); - fn() => ((yield $test <= $test => $test)); - } - function test3399a53cd57f020fdaa5751812ede3288aa1817d0cc85526413f80eae09916cb() - { - $this->assertTrue(true); - fn() => ((yield $test < $test => $test)); - } - function test34aa265f118ab0b3f01946cf6052709714e02eae7509b5edc35c512caa98061e() - { - $this->assertTrue(true); - fn() => ((yield match ($test) { - } => $test)); - } - function test37c872cc4b645b8bdc5cc56ef6ecae600b1f11e91ba99bf81ce646165e272228() - { - $this->assertTrue(true); - fn() => ($test ^ $test &= $test); - } - function test38af78296c95057babe766d6e3d78643adc15f6b9059df4ea95db2d9d426428b() - { - $this->assertTrue(true); - fn() => ((yield $test **= $test => $test)); - } - function test39a3b46215b29071b297d990a80f680f9d518955b9e09603ffc9c746b87162e2() - { - $this->assertTrue(true); - fn() => ($test | $test &= $test); - } - function test3ea0000ffc67819f9fb0771578f9188571909636eb472e3b175c65e49156350e() - { - $this->assertTrue(true); - fn() => ((yield -$test => $test)); - } - function test3fb0160a5509498a5467228eb6b58a4db1e43f2fc080249bbaf873aeb84f03d5() - { - $this->assertTrue(true); - fn() => (!$test &= $test); - } - function test44a43bbce51d10c1df76a2cc3d324679f585b1ce84ed4d581b316075d4441bd3() - { - $this->assertTrue(true); - fn() => ((yield $test ??= $test => $test)); - } - function test458cc0b6349a067125503643d839f5f1eb8d9f17d27d94239a9939a4f1b0cda6() - { - $this->assertTrue(true); - fn() => ((yield $test - $test => $test)); - } - function test460df820e4c6baf25c29b9baf35a371290eae0d6ce9db9d78b1f296d3bbe2a29() - { - $this->assertTrue(true); - fn() => ((yield $test->{$test}() => $test)); - } - function test46baea13bac67cd99c224b6bfa29af9daa49eb327f683e0dedcc0242c769fb78() - { - $this->assertTrue(true); - fn() => ((yield $test ?? $test => $test)); - } - function test4784e1aa22d8fc508f3a1d3b54994a1efada01f819eb85fcf75e822d5bffc4ed() - { - $this->assertTrue(true); - fn() => ((yield $test && $test => $test)); - } - function test4a936db23e36320421ec67ea40bf694c9f348bad2e649ec6aced1a89cba7d27a() - { - $this->assertTrue(true); - fn() => ($test & $test &= $test); - } - function test4c3a81d71177075267674f58d6b7ee9d144563ab52cb90b3830b50210cf51a30() - { - $this->assertTrue(true); - fn() => ((yield $test -= $test => $test)); - } - function test4fc15f43a2f288a5801077d8b3ca0bf8842983baf7cbea58a859457b66b3bd28() - { - $this->assertTrue(true); - fn() => ((yield $test + $test => $test)); - } - function test5007166ad3a390b96454c797121878afa8ca5f44e0885c84a45f661663f29d4c() - { - $this->assertTrue(true); - fn() => (~$test &= $test); - } - function test5092ee5cf25399ab5aa47ec6df2d602cbf1cb8ce6050430545acfd8b1abbd84e() - { - $this->assertTrue(true); - fn() => ((yield __CLASS__ => $test)); - } - function test517ff90a923cc1a0954b9d3636a35c51ce9a6619cab43cc297e7446fad82b1c6() - { - $this->assertTrue(true); - fn() => ($test->{$test} &= $test); - } - function test5628ca5a9174d79f8fc844f42f25477f28ce0fcf2aed0dafee9405d08716a4e9() - { - $this->assertTrue(true); - fn() => ((yield $test?->{$test} => $test)); - } - function test5d88661706c333f8be04bb01939391a02e68d1df016251dcb831e91c26cbe8f6() - { - $this->assertTrue(true); - fn() => ((yield $test += $test => $test)); - } - function test5de8d54d5c15b8a090c6d0ab2fc23308ab495bc93f517e07b85e974fe8b81033() - { - $this->assertTrue(true); - fn() => ((yield $test *= $test => $test)); - } - function test5e45680ffbffdee6b68e0a4a006cdddd95b83a2cd18ee72ee9d6058cb6dd1c85() - { - $this->assertTrue(true); - fn() => ((yield $test | $test => $test)); - } - function test5ec39da2bf20e93775b079e31a5c955498abfe2a8ebe63d08388f96c30ae10b8() - { - $this->assertTrue(true); - fn() => ((yield $test & $test => $test)); - } - function test605e9064c4cb0d9bc693c5242ca068e7435f2684f928b4f412c5f33a0f62a3e6() - { - $this->assertTrue(true); - fn() => ((yield $test === $test => $test)); - } - function test60649a3cc4bcc369f5d1748f252c819e3d4ef294085e363ca1476d7e5c5449d0() - { - $this->assertTrue(true); - fn() => ((yield throw $test => $test)); - } - function test77575d249d8fb61908293d1a24e80d9716c2501631d75e2d0c9dbe91ce74b914() - { - $this->assertTrue(true); - fn() => ((yield $test ^= $test => $test)); - } - function test78424bda74503b072a21fc9b6f3a8c04b17f215b82f55c558895c518718ceb50() - { - $this->assertTrue(true); - fn() => (throw $test &= $test); - } - function test7bfd35ee9ef54654b47cb4e8177e3cd2e088742e7715461fd69bfcd8148f7ec9() - { - $this->assertTrue(true); - fn() => ((yield __METHOD__ => $test)); - } - function test7d997df3f409f73766fa9c0ff4385e75f4a0e3a462f200e34af9055edc3e8821() - { - $this->assertTrue(true); - fn() => ((yield $test > $test => $test)); - } - function test7f5e6c9e37428f720aa101c10ef8793f9080a9abde70519b833dce550162588a() - { - $this->assertTrue(true); - fn() => (${$test} &= $test); - } - function test7fa17c3d1d9850571ca5f71709012ef2339b1307d9fd8a044ddeaf8e90967801() - { - $this->assertTrue(true); - fn() => ((yield $test << $test => $test)); - } - function test81d1dbcd7c1fafb4256a434b35d6b0a885408a615a7661c31acbf1662336ee4d() - { - $this->assertTrue(true); - fn() => ((yield $test || $test => $test)); - } - function test828ef3ceb65723e46ef0cd74e8cde947370248215776ee57c9698c1d4432d437() - { - $this->assertTrue(true); - fn() => (+$test &= $test); - } - function test860a9078b93421862bdb28e1e5ed9f3b84a78027fce90b397051e9191e891906() - { - $this->assertTrue(true); - fn() => ((yield (object) $test => $test)); - } - function test860ed7f0d2166ac911bed46f94c0598a7c8338dfa71d1d4bf450c933ef566e03() - { - $this->assertTrue(true); - fn() => ((yield $test .= $test => $test)); - } - function test8ab0589800e8112036db12d7c60145e4cf4b73ac10d1f03d5f23b759537fa503() - { - $this->assertTrue(true); - fn() => ((yield (string) $test => $test)); - } - function test8baf6ca1f77bb425c41284a78d0fc5eeb2785a3719aa49524d74922ab1356dc3() - { - $this->assertTrue(true); - fn() => ((yield $test instanceof $test => $test)); - } - function test8d49e7f4c0c669358a5b56e11159cbf547a2fea6a6228c381c901d88adae3a5e() - { - $this->assertTrue(true); - fn() => ((yield empty($test) => $test)); - } - function test930a6fa501b9708ecd4c801e13e4ec368106725b9f46d7bb9a601c5e83f8455d() - { - $this->assertTrue(true); - fn() => ((yield --$test => $test)); - } - function test9c21a69e949aced696ff75782f392bf47f76df6742f523a8f6fb7c30b15f8c58() - { - $this->assertTrue(true); - fn() => ((yield 0 => $test)); - } - function testa3bb09e209769cfbf1429a3b753e9403a4a307852c9e2369cc593628e731bf49() - { - $this->assertTrue(true); - fn() => ((yield print $test => $test)); - } - function testa513073d8c2223988735ffa9160d20d7be0230c2ac29bb739775bfe99598cd46() - { - $this->assertTrue(true); - fn() => ((yield $test |= $test => $test)); - } - function testa5ce2f2f1bb431ff7e2b9e5809587d1ab55e59a3add21631ca1a3f551c80355e() - { - $this->assertTrue(true); - fn() => ((yield $test ** $test => $test)); - } - function testa5f784b87fc3196f5044d741a192fca90687cd6b6cf21327122a56ee21516a7a() - { - $this->assertTrue(true); - fn() => ((yield (double) $test => $test)); - } - function testa6f747e069d80bb469f78a85906af3ec46d9b29201477fd2bdb170d286f712bc() - { - $this->assertTrue(true); - fn() => ((yield $test?->{$test}() => $test)); - } - function testae9d8364b556b25dfa6369d831c7eefebb44cfd48223ae4f7b5d727654d22982() - { - $this->assertTrue(true); - fn() => ((yield $test ^ $test => $test)); - } - function testb45e4ce76650124e2b3f76791d2f333dda64c578faf89b0f7b6b8e1555e45619() - { - $this->assertTrue(true); - fn() => ((yield (yield $test => $test) => $test)); - } - function testb5e0770ab4105945703a4e6d1a768677ed1f8993dfa3d477acb8dc759472a700() - { - $this->assertTrue(true); - fn() => ((yield __TRAIT__ => $test)); - } - function testb637d7df8bc5df6e1abd0b06cb1aa7da374026fffa269219f20aa04a96a48606() - { - $this->assertTrue(true); - fn() => ((yield $test >> $test => $test)); - } - function testbac72f1f052c429b0da17f3a5ffa6b4521ec52b4b560caf3040e27e92ba4324a() - { - $this->assertTrue(true); - fn() => ((yield $test != $test => $test)); - } - function testbafc928efa10a78af8e6f6d2b01ea3d1844cc43a04583fb9dcb17334359e66c7() - { - $this->assertTrue(true); - fn() => ((yield $test / $test => $test)); - } - function testbb3102e125a4f30291083ba999c8c101a67cdf160677579e7cf755975228a42a() - { - $this->assertTrue(true); - fn() => ((yield $test !== $test => $test)); - } - function testbdadb30fc16a771aaf38e6fae7b5f4711e34b7382e1b05cfedb33297432ea6d6() - { - $this->assertTrue(true); - fn() => ((yield __DIR__ => $test)); - } - function testbfd28f4fb813b792324f43293d03c55ba356c1c7f7b9ce967a852b6eff0ee975() - { - $this->assertTrue(true); - fn() => ((yield (int) $test => $test)); - } - function testc1224dd29a4ecebcc1fdc00d98963c7ac2d361c9186e5cd6cb6059dc53004e14() - { - $this->assertTrue(true); - fn() => ((yield `` => $test)); - } - function testc3c6577365a43def91f8b886925ad6a4d4058d302bfd325e08819d204fa0c455() - { - $this->assertTrue(true); - fn() => ((yield $test &= $test => $test)); - } - function testc86733234fac563fe1dc38502e028edc325e223b852e1aceb2a2e70074080a51() - { - $this->assertTrue(true); - fn() => ((yield $test /= $test => $test)); - } - function testca9433753cbf17e38ce6e1a3cd91c228e517531fca03dad7e961b36c3add07c6() - { - $this->assertTrue(true); - fn() => ((yield $test % $test => $test)); - } - function testcc3bb31c117ac92ff09dc1f7532670d9a26bbb20bab15f45acea491dcf67ae73() - { - $this->assertTrue(true); - fn() => ((yield $test-- => $test)); - } - function testce71f9142e90a43e1fa62744c8268512663acf392302354f3124ba7eb7c1820e() - { - $this->assertTrue(true); - fn() => ((yield $test >>= $test => $test)); - } - function testcf17cb4a9afad601fe210497eedd073135b4c0953720ee281641ac11b60f9eb1() - { - $this->assertTrue(true); - fn() => ($test &= $test); - } - function testd18f018c5038b9242de4a412cc32ef3ddfc4125c5a6d71ec4e01122ff572088f() - { - $this->assertTrue(true); - fn() => ((yield 'test' => $test)); - } - function testd373bbeb56d73de18cb8489b4c53ab26f5f992b8d60ff1b52f86f23ec193f5f6() - { - $this->assertTrue(true); - fn() => ((yield ${$test} => $test)); - } - function testd60db14edc9f37f0d362e48fae6f77d63e745412fcd92b2e1f30943efb5fe4c3() - { - $this->assertTrue(true); - fn() => ((yield $test::${$test} => $test)); - } - function testd7a9180d4154366e0cb72e04449b4621c9b5cde30dae2d38c3872968211568c2() - { - $this->assertTrue(true); - fn() => ((yield new $test() => $test)); - } - function testdd4b1d125a96fa0aff587f14533500a36b52b0dd3e438bcd0bb05c34b20f1190() - { - $this->assertTrue(true); - fn() => ((yield "{$test}" => $test)); - } - function teste864f6b6f323bc78edf2ffff30971e0beaa89e7c6d03a62d6e2fc6b9e4676cdd() - { - $this->assertTrue(true); - fn() => ((yield $test %= $test => $test)); - } - function teste8ecdaaf8cf86f95c7b40389b707ec31bb2169f25d194b60ead264823408c16b() - { - $this->assertTrue(true); - fn() => ($test::${$test} &= $test); - } - function testea1719ec3b38963a18e51bd0c7f2ff2eeaa37394bdae0498671b0f222651c8bb() - { - $this->assertTrue(true); - fn() => (-$test &= $test); - } - function testec9fa2f7ffb4902560b15d0c2a652f786ad8d7ea56fe5aedbfda832aa0ea4cea() - { - $this->assertTrue(true); - fn() => (@$test &= $test); - } - function testef07aa59db69613d8d45dfd1865ef551018d24232fc577f94ebba48180b32be2() - { - $this->assertTrue(true); - fn() => ((yield $test * $test => $test)); - } - function testf546e8df6aba7d4a1e09be030135a6f6d2101df5e8a67224b8f9865b4e2dd5e8() - { - $this->assertTrue(true); - fn() => ((yield $test => $test)); - } - function testf5df01e400171b1a045ec0229a810dfc6ae18d2fd282b6e3bb170eb9f8312884() - { - $this->assertTrue(true); - fn() => ((yield __FUNCTION__ => $test)); - } - function testf7a64a5b690c2acaa760d0311287e84ddd722bdba77c45b07c8d7027848a005c() - { - $this->assertTrue(true); - fn() => ((yield +$test => $test)); - } - function testfb5c951ff42ddebcadc6081a517913a7f07c7b5b435ed7cae2699e2c6a78a45e() - { - $this->assertTrue(true); - fn() => ($test::$test &= $test); - } - function testfeb90e05ea4c88b1d88b39c6e45bbb2ce9f1d086e60d4fe8d04a00d9dde36812() - { - $this->assertTrue(true); - fn() => ((yield $test <=> $test => $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest.php b/testsGenerated/Target/Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest.php deleted file mode 100644 index 4862316b6..000000000 --- a/testsGenerated/Target/Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest extends TestCase -{ - function test00d71177bddbc544361957e7dbe82d64431ac7c8c171a7c12881cc0e2c756e84() - { - $this->assertTrue(true); - fn() => ($test <=> $test)?->{$test}; - } - function test0388485a1046f1380851ad7605cf9a9b9a934c1e3421a22edf5d27f1b4853d1d() - { - $this->assertTrue(true); - fn() => (isset(($test & $test)?->{$test})); - } - function test04c09553984ae372bfd5def7cf706083ba580fa7014529fb67fe28bd9c6c7e4d() - { - $this->assertTrue(true); - fn() => ($test !== $test)?->{$test}; - } - function test060fa408c94164910ae2a707fa867b9bc8e5d1dabc769a69a0f7080604d1af76() - { - $this->assertTrue(true); - fn() => ($test ??= $test)?->{$test}; - } - function test063ca06cf936acbd984bf3b31cdb23f8c7030ab7a9a8ab7761d3a63fd5a5e72a() - { - $this->assertTrue(true); - fn() => ($test % $test)?->{$test}; - } - function test0ad874477d5cbd26fbcb20697f747fcda9f6f6f7f9bea937ebda784579eb2932() - { - $this->assertTrue(true); - fn() => ((string) $test)?->{$test}; - } - function test0ae111189d2ab0c625ea0113b6b87348e1a10e6089284d1c4cabd6654cd95f7f() - { - $this->assertTrue(true); - fn() => ($test %= $test)?->{$test}; - } - function test0dd82d1dbb96c8cd66c8deea523bd5c3eb3cb9f82c29246db987e27075db93d0() - { - $this->assertTrue(true); - fn() => (isset(($test ** $test)?->{$test})); - } - function test104bbc30827090696cff4258ae5941f4f7e741464c771b8650e7af50bf2b9548() - { - $this->assertTrue(true); - fn() => ($test << $test)?->{$test}; - } - function test11306d55758ad3e7bfd612892ca14fa2119ac880bb60eeebd73a48c163ac3410() - { - $this->assertTrue(true); - fn() => (isset((+$test)?->{$test})); - } - function test14a98a77530d2a444332e4790d05080f0d79fad4fbd33cfb2fd067cf1b5a5653() - { - $this->assertTrue(true); - fn() => (isset(($test !== $test)?->{$test})); - } - function test189d041a7c41cea24e6435e073e224a4c1f110a8682724090556869b0bb95486() - { - $this->assertTrue(true); - fn() => (isset(($test ^ $test)?->{$test})); - } - function test1bfc573e012ae6f6fdf00b3754391fe1746c06be23ae761112abba5632c9d9fe() - { - $this->assertTrue(true); - fn() => ($test -= $test)?->{$test}; - } - function test1d159a2d3706093f0aa1d276526b445686cd6ecc7bfc51c4dbc7bdb148a5f7a0() - { - $this->assertTrue(true); - fn() => (isset(${$test}?->{$test})); - } - function test267c98f493911029e049163c9f191b8fa41466b36745860df058e184408400a6() - { - $this->assertTrue(true); - fn() => ($test * $test)?->{$test}; - } - function test29f1ff2c6ef4ee64cf27fc55e69fd85a3b2d5ba49b685a99183c8dbe8b4f399b() - { - $this->assertTrue(true); - fn() => (isset(($test ?? $test)?->{$test})); - } - function test2a61cc8c013e9d3f19b04ec2643a4ccf375b4f78e21e11987e675af09391128f() - { - $this->assertTrue(true); - fn() => (isset(((double) $test)?->{$test})); - } - function test2ea31272e1cfdf98771104f82d5f97f4c66ee704bb5fd5170681f263f31a8081() - { - $this->assertTrue(true); - fn() => (isset(($test >> $test)?->{$test})); - } - function test38f5aeb1b57e6a100207a28a1de40a619834b382847e9e5dc33125c434e92ec5() - { - $this->assertTrue(true); - fn() => (isset(($test ??= $test)?->{$test})); - } - function test3ed46bf49e7a3cc5c6a89e673cd7016144cda49509f04068ebb5a9b760f5641a() - { - $this->assertTrue(true); - fn() => (isset(((bool) $test)?->{$test})); - } - function test3ffe8ba8abde7c26aaafc2888cb81ceb7fa1d083e54334d00951aee79e5cf0d2() - { - $this->assertTrue(true); - fn() => (isset(($test += $test)?->{$test})); - } - function test436b2729f3236b1cf0d72ad2d2c5a6127f27290ef680e711ce589caa26d47b37() - { - $this->assertTrue(true); - fn() => (isset(($test - $test)?->{$test})); - } - function test440e1d78042634bb0ad2bb632ebfa8d2646efe6e324e8829e03383a4842a69ea() - { - $this->assertTrue(true); - fn() => (isset(($test <=> $test)?->{$test})); - } - function test47365a0dc290d513a2e3d6a696f0be6e1a62e1bbc1f2680b118ccd471d6f6efa() - { - $this->assertTrue(true); - fn() => ((yield $test => $test))?->{$test}; - } - function test47d681092e08638c8c4d519e1528149cad0816969d7aa45a9f33928c501ae702() - { - $this->assertTrue(true); - fn() => ($test && $test)?->{$test}; - } - function test47f5866a276bda492b09cc38bc0e2971b7a2fa282cb130e0460d940ca445e803() - { - $this->assertTrue(true); - fn() => ($test > $test)?->{$test}; - } - function test480821bc9f01d8e4f423528d32e7ffdb88bcdb15be3a6bef8070c0491ac3e43f() - { - $this->assertTrue(true); - fn() => (yield from $test)?->{$test}; - } - function test48a26cc5b947880c42814597a1199bca942e1203ab980780a42c9ac3f26a7870() - { - $this->assertTrue(true); - fn() => ($test || $test)?->{$test}; - } - function test49648d516e1e64a299da584be673be05c2b31f05653eac91757c531d3d9524b7() - { - $this->assertTrue(true); - fn() => (isset(($test **= $test)?->{$test})); - } - function test4d5c7f542beb8c8f3dfe4dcefb789d32945c45201f46ae7f687f9cf9a14ecc28() - { - $this->assertTrue(true); - fn() => (isset(($test %= $test)?->{$test})); - } - function test5091c0aeb0369ecfcfee20bb052ce229ad49a71485d8589767a7ec9696165bd2() - { - $this->assertTrue(true); - fn() => ((double) $test)?->{$test}; - } - function test52ec81fce79cf7d7b556f1b8bc389093f10599b3bc85c9af6a48a226d4a7641a() - { - $this->assertTrue(true); - fn() => (isset((yield from $test)?->{$test})); - } - function test5724bd179dda006289d733699afbf146d6a437ec62cff46c440f16f45c36aec4() - { - $this->assertTrue(true); - fn() => ($test xor $test)?->{$test}; - } - function test5e506488dcfcc0abd6f378bdd8f8be23cb8cea44b62957f890422ad60daa7f5a() - { - $this->assertTrue(true); - fn() => (isset(($test <= $test)?->{$test})); - } - function test5f425f2d904c6f23ea9823f27511da7f3b3e6c7e462cf242a71cfa59079ccef5() - { - $this->assertTrue(true); - fn() => (isset(($test xor $test)?->{$test})); - } - function test60d0596210f47e7896ad4b2470f6c2da8dc108ae8200f066b9fe09c5459c65a8() - { - $this->assertTrue(true); - fn() => ($test <<= $test)?->{$test}; - } - function test6280d8ac0b16e00a787c1194288ab0f433b15525c4cd5c1a529b488cbed5c3fa() - { - $this->assertTrue(true); - fn() => (isset(($test * $test)?->{$test})); - } - function test62b9bdf093fb0aa9207fe0535362520bdf3eda14b288bb13ea8fba025269d448() - { - $this->assertTrue(true); - fn() => (isset(((string) $test)?->{$test})); - } - function test692256d7e4bfad6d61e244098415562e43f39c3d11954ffd9919ff742e512514() - { - $this->assertTrue(true); - fn() => ((int) $test)?->{$test}; - } - function test6c036e712dcc0f5687fedbd897ff00ddbc182efcd3c5668e54c3dc0623a61b5b() - { - $this->assertTrue(true); - fn() => ($test ** $test)?->{$test}; - } - function test6fe8bff88db7de04236cb234807f8babf295a8c514e3f7fc4d8138f52b4de1a0() - { - $this->assertTrue(true); - fn() => ($test /= $test)?->{$test}; - } - function test732b46af9562a807942c2f35c171fa61462e8fc71292aaf128893dee43f5f559() - { - $this->assertTrue(true); - fn() => (isset(($test /= $test)?->{$test})); - } - function test76b04ca1ea3e6ac033f0bc370c5b904b020c710db231cea592e508a59636547f() - { - $this->assertTrue(true); - fn() => (isset(($test || $test)?->{$test})); - } - function test7acc4c138297bf233504a055cf7a1be3b8626ee11dcc66f1df18723c26160656() - { - $this->assertTrue(true); - fn() => (isset(($test and $test)?->{$test})); - } - function test7b0af8998015df683353411f2d9950e0ba4c9876d87eac8c861519f80a9df7d0() - { - $this->assertTrue(true); - fn() => ($test .= $test)?->{$test}; - } - function test7b9730bbb98f0e886e0a8c9bfd65578492a0fa67ade613bad818aaf0d1b8f2e8() - { - $this->assertTrue(true); - fn() => ($test ?? $test)?->{$test}; - } - function test7f6354171a2a889df32e540548f867cc3e0a6d0aca9721c4335443e3ed8348de() - { - $this->assertTrue(true); - fn() => ${$test}?->{$test}; - } - function test81bae4462d3f2e579a47b4501c0dd665a2a0af6139cadbcae6518e3fd733f94c() - { - $this->assertTrue(true); - fn() => (isset(($test && $test)?->{$test})); - } - function test83a91ca3f17b8120eb8b14421cad2249ff22ce40ee946a091105fe250f5e831e() - { - $this->assertTrue(true); - fn() => ($test or $test)?->{$test}; - } - function test83c42e28d502d70a25946db8fe9c8c65be12a668cb79aacd485218ec71d96515() - { - $this->assertTrue(true); - fn() => (isset(($test &= $test)?->{$test})); - } - function test8499a1b177d43e60df432aa86cece88824a5b775451f8554198a776e990b0663() - { - $this->assertTrue(true); - fn() => ($test >>= $test)?->{$test}; - } - function test84d0fc0a2d7ddba5d002b467097d4cadc37a26e0ddaeca4a6782a34f3162a24e() - { - $this->assertTrue(true); - fn() => (+$test)?->{$test}; - } - function test8522868a2b8f750cedb49d998c8bebfa8eb13c07ea654e721492ca26dfa48c5e() - { - $this->assertTrue(true); - fn() => (isset(($test *= $test)?->{$test})); - } - function test877722dda0d56b074337d882059c08af2fecfd3e2af11557e7b071afe3c6584d() - { - $this->assertTrue(true); - fn() => (isset(($test / $test)?->{$test})); - } - function test888fd2fd8eec110ef34bae227295e8deac364c8b97bb34a6e18c217b8a5b86d4() - { - $this->assertTrue(true); - fn() => ($test === $test)?->{$test}; - } - function test8cfff63444f216098cd61ce69daa81694f92782c3b702952db071deee134f082() - { - $this->assertTrue(true); - fn() => (isset(($test <<= $test)?->{$test})); - } - function test8d63c0ad4bef65ad7f43cbad857b00777ff073508922da08bf51b963b01d0cb4() - { - $this->assertTrue(true); - fn() => (isset(((array) $test)?->{$test})); - } - function test8fc5ecd58995d2a40929d7cc309b72d2a034c80dd96555738bca8aa7572e9d80() - { - $this->assertTrue(true); - fn() => ($test and $test)?->{$test}; - } - function test92dc93460b1855fcc7f736ec8e3088206792f68813ed03fc2089acb3f29b448f() - { - $this->assertTrue(true); - fn() => ($test **= $test)?->{$test}; - } - function test95de4e955278610aa32a9e29abdf1f7129b999762ef4bc38881dd4d245ece357() - { - $this->assertTrue(true); - fn() => ($test . $test)?->{$test}; - } - function test97823d0f615c8f8cce21010e72d370c101d896e7c3ba370e40fb70b60ca9f6af() - { - $this->assertTrue(true); - fn() => (isset(($test >= $test)?->{$test})); - } - function test9aeb57143c5b1cefe198a070df447befd5328023b103497b4d37a35089a4ce6b() - { - $this->assertTrue(true); - fn() => ($test ^ $test)?->{$test}; - } - function testa1b8af8577c0854b1db5e418d142345e378731bd777342252ceb305c86a0eaec() - { - $this->assertTrue(true); - fn() => (isset(($test === $test)?->{$test})); - } - function testa4ec1ad37b7564152df3a83a486597bd28840a20e5e93568209ae78d71ca308f() - { - $this->assertTrue(true); - fn() => (isset(((object) $test)?->{$test})); - } - function testa7f18ef94521308e5de16da622a754307b8eee18c264dc5c4c811183ad17dbee() - { - $this->assertTrue(true); - fn() => (isset(($test % $test)?->{$test})); - } - function testa9075d1a520aeffa9fdf2a542663f3a93bcbd5d9a0907eabf10af81afafdec7c() - { - $this->assertTrue(true); - fn() => ((object) $test)?->{$test}; - } - function testaa9214616650a67f52a356453cba908eceab7234fcfc4f586a3e1da696299b8c() - { - $this->assertTrue(true); - fn() => ($test & $test)?->{$test}; - } - function testacf7e8e2c9f69d76285526a8b5790866ff132dbcb83f294f295d7554e7d036d3() - { - $this->assertTrue(true); - fn() => ($test >> $test)?->{$test}; - } - function testb04328e55812688d47d02ece0194835191a66479ae165020dce1ede9da66efb6() - { - $this->assertTrue(true); - fn() => ($test != $test)?->{$test}; - } - function testb2bdd4b009172d03b048a2adbf09cd8efe2dd59cb3d470b89c1e1a405d0017e2() - { - $this->assertTrue(true); - fn() => ($test / $test)?->{$test}; - } - function testb33439bbdb18b229672218bb8864804b6690cded568bcce6eb4f35193cea396a() - { - $this->assertTrue(true); - fn() => (isset(($test > $test)?->{$test})); - } - function testb3d71b38578eab782083e470f5145e2e1f5b930c1f4304bd1e7578f04934de48() - { - $this->assertTrue(true); - fn() => (isset(($test .= $test)?->{$test})); - } - function testb47708dcd253a270b291af9d01670863ad74145412cf4db1a29767e50abdca52() - { - $this->assertTrue(true); - fn() => ((bool) $test)?->{$test}; - } - function testb99b5752c5cd2a6ec564ca5cf45f04b926eec0f8f18c4a42d330de0d6365f383() - { - $this->assertTrue(true); - fn() => ($test | $test)?->{$test}; - } - function testbb188a8b6dcbf8437e08389fe45a462eab509f13e9c06659bdd435929e83440e() - { - $this->assertTrue(true); - fn() => (isset(($test + $test)?->{$test})); - } - function testbbccf3ebd0ea111d74ac823605fef9902b0a86e425ed6eaa6cc0c56472e07b7e() - { - $this->assertTrue(true); - fn() => ($test >= $test)?->{$test}; - } - function testbd3e769157547817ef89531768584eb2406441e586aba354ce4a5a34f0937df4() - { - $this->assertTrue(true); - fn() => (isset(($test < $test)?->{$test})); - } - function testbf8d81358522ae4cf1d1e8cc1628decf940fa2b00af6b218fe02ec53e0b8da85() - { - $this->assertTrue(true); - fn() => ($test - $test)?->{$test}; - } - function testc379e434e0d903531c39888a4f977ea72c60313596a2f90a59f9dd898cd402b2() - { - $this->assertTrue(true); - fn() => ($test + $test)?->{$test}; - } - function testc53ead34aa2e1d7da38ce35a20ab747cf42d4ee57f94ee07526429d23c57b00a() - { - $this->assertTrue(true); - fn() => ($test < $test)?->{$test}; - } - function testc7c3e95da82b48dd8d7b169e6e98e170c080f425f0bd19ac0b3d71dca496ea5a() - { - $this->assertTrue(true); - fn() => (isset(($test ^= $test)?->{$test})); - } - function testc7dcaa265c141c81d638967d96fd40032ab0630b3f73816ea46b9fc2cf93dee3() - { - $this->assertTrue(true); - fn() => ($test &= $test)?->{$test}; - } - function testcb44c75f06059768b6e479f77a1f64973fd3ebe2271f831379126bf371fdd278() - { - $this->assertTrue(true); - fn() => ($test == $test)?->{$test}; - } - function testcc151b34cdabe588e028c313a4a4d69542deb753bb5bb7215e8b47056fcca35c() - { - $this->assertTrue(true); - fn() => (isset(($test |= $test)?->{$test})); - } - function testce3be1702c52a20385d04581a616cf42d62102ded327178dde210165667f7025() - { - $this->assertTrue(true); - fn() => ((array) $test)?->{$test}; - } - function testceab1e0571af739c342fc84512b4ca7b3fd2dd84bac976cd9e3f61e639f3a34b() - { - $this->assertTrue(true); - fn() => (isset(($test != $test)?->{$test})); - } - function testd34534dd70ec0863e3eecc6dc00f0b8c4357d6a1cface6732ef1d2c0ec2e4faf() - { - $this->assertTrue(true); - fn() => (isset(((yield $test => $test))?->{$test})); - } - function testd4ec928ba270717364f4bd63284b54f3a2805e8f2fa569ed0052f9f523585d7b() - { - $this->assertTrue(true); - fn() => ($test *= $test)?->{$test}; - } - function testd8922826dd9730be4df847aa4db1aaa5237bf5072be921604a20510d8f01a1f4() - { - $this->assertTrue(true); - fn() => (isset(($test << $test)?->{$test})); - } - function testdba19d376677d23eba5a23b31cde42f111a9664b3d1f2ccfbdb95b284de0e9f2() - { - $this->assertTrue(true); - fn() => (isset(($test | $test)?->{$test})); - } - function teste019fa9119bc8d4bc121c0c53fcc510cda4a385912be37fafc13227b1cf3c967() - { - $this->assertTrue(true); - fn() => (isset(($test or $test)?->{$test})); - } - function teste2bc4cdde7346db7c1e88d4b5b7c70a8b44d18c16947870fe4f7b88dc044a2c8() - { - $this->assertTrue(true); - fn() => ($test |= $test)?->{$test}; - } - function teste46457013a59ff4bc80baf0d7482e96ca9c5f3702857fe6353545b0f422563f4() - { - $this->assertTrue(true); - fn() => (isset(($test == $test)?->{$test})); - } - function teste67b15b9b010d0601863a397248dd4f066908dfabffe1f45309d23d144511319() - { - $this->assertTrue(true); - fn() => (isset(($test . $test)?->{$test})); - } - function testef00190eff33c7bfde1d3f9f8a2e7f557b489326967ecab9712b84af576cf48b() - { - $this->assertTrue(true); - fn() => (isset(((int) $test)?->{$test})); - } - function testef2bbc006406187064c6598c520df6ff6d93f0182e406850afe39068030654e2() - { - $this->assertTrue(true); - fn() => (isset(($test -= $test)?->{$test})); - } - function testf15478d2dc08e7d6d6e3f0427e9be0c4b5402f9d69fc6baeaa8104ee5cf66001() - { - $this->assertTrue(true); - fn() => ($test <= $test)?->{$test}; - } - function testf2698f64484b2a1f9d1040df94a33f035c1da5254089b2db906b7ad604daf70c() - { - $this->assertTrue(true); - fn() => (isset(($test >>= $test)?->{$test})); - } - function testf58bfb33b641eb09e40d97e06907a7ab7bf143a4d35a9f7e039a6723b84292dd() - { - $this->assertTrue(true); - fn() => ($test ^= $test)?->{$test}; - } - function testf6cd122cad3168b869de9cc56c24d26f01de9baa6e90f67c0b7c7b5e33e96fcc() - { - $this->assertTrue(true); - fn() => ($test += $test)?->{$test}; - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test.php b/testsGenerated/Target/Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test.php deleted file mode 100644 index 58c5d2970..000000000 --- a/testsGenerated/Target/Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test extends TestCase -{ - function test019bc160056b3e07a19f17906366dccc21ef89ae967d966597d5edd043577365() - { - $this->assertTrue(true); - fn() => ( (int) $test); - } - function test023f6e731c5d4f4e5489d00242dddc2627282f917ac7bcd292bd6bd4e5b43064() - { - $this->assertTrue(true); - fn() => ( __TRAIT__); - } - function test03d9d65d29c4b5712cc4b29dc028be73b82a42a4395f27a96c798bf51704aa5b() - { - $this->assertTrue(true); - fn() => (isset( $test::${$test})); - } - function test044155a41cc2f7319631174e460cf24be03b7302f03b429b41ebfea019050658() - { - $this->assertTrue(true); - fn() => ( $test || $test); - } - function test05296360c80bec323b58d87cf6b9fc99dd23735b06b65bd47a99779eb71e7997() - { - $this->assertTrue(true); - fn() => (self instanceof $test); - } - function test076999fc35527936849efb7724f1cdfae65fe1c3801874406f756d599ce0c7aa() - { - $this->assertTrue(true); - fn() => ( __LINE__); - } - function test0b6c8efe79161babb8f46a90d71a27a4aac70e8a76fa30ef46427cc1c935735f() - { - $this->assertTrue(true); - fn() => ($test() instanceof $test); - } - function test0ba6216cc926072b8b300a05ff64a75851e96be7eb94e7ff18397118656bbf5a() - { - $this->assertTrue(true); - fn() => ( $test++); - } - function test0e82074456045564fa655a5a9d4d83e469cf118b95d1a8c8854e2c644952a406() - { - $this->assertTrue(true); - fn() => (@$test instanceof $test); - } - function test0f75638eccaec9bb68e9b65819d730afa7382c82b9d7f4a4b1f5586efc5c865d() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() instanceof $test); - } - function test1228747843946e9cfe12408d043f2c906524fd3bb33c47f7f696c5f1f4ae4bbe() - { - $this->assertTrue(true); - fn() => ( $test === $test); - } - function test14aba1ba1102ee72a6a5c8e9d2f5018eb985c5baf49c1217ffe8997996a3176d() - { - $this->assertTrue(true); - fn() => ( $test::$test()); - } - function test167d2c5f7f237058e323bc1cfdc86f22f6c3fece69993b93bd6f7fdaee577fc5() - { - $this->assertTrue(true); - fn() => ( $test -= $test); - } - function test17b6914d9977cb3935aeff3375dfd1bfed50ad1ed5019949c983625f3e2c726a() - { - $this->assertTrue(true); - fn() => ( $test == $test); - } - function test19300c9ad7ac704a5c2aaa969eb93d1ad6e3a87b35865fb51e8c7f5e9708802b() - { - $this->assertTrue(true); - fn() => ( $test .= $test); - } - function test1a797cf1cabecfd4162b04a6e016cc658a4a29d9d3ce89beb7dc0a5d869509c6() - { - $this->assertTrue(true); - fn() => ($test->{$test}() instanceof $test); - } - function test1eab9b8425ee17147959b0bba9493fb98287ba8a38cceba9c7079547c8ce913b() - { - $this->assertTrue(true); - fn() => ( $test | $test); - } - function test2ab6f4c963b9934c30a6891c80d70dd43a1755b5eac224257b690c065e610939() - { - $this->assertTrue(true); - fn() => ( $test %= $test); - } - function test2c698918b6c317456e5ea4161e02c5709b27ece2290536fe3aafed735af83ded() - { - $this->assertTrue(true); - fn() => (isset( ${$test})); - } - function test347f1057c29e9a2fa46d5ac629df38de3c99c06102fa7f3f648da748da65ee1d() - { - $this->assertTrue(true); - fn() => ( __FILE__); - } - function test34f94bc18d5a5e84966244da27e038d5296a296e4e1ca2723eb9ec6af460d480() - { - $this->assertTrue(true); - fn() => ( (yield $test => $test)); - } - function test3b52c92aac253149e1ab188327b05883a28779eb1cf030f1e5f62914e3e12127() - { - $this->assertTrue(true); - fn() => ( $test != $test); - } - function test424f98d55bfeb349a6c27b59bc6b6e5e980c46fa0cd51607c0418be88e51833b() - { - $this->assertTrue(true); - fn() => (empty($test) instanceof $test); - } - function test44eb2f386b4fd76da5c5003765db5e5cc6fbf700d5a5391cbfe7c6b3864a5966() - { - $this->assertTrue(true); - fn() => (isset( $test->{$test})); - } - function test47034ab1b81812fe7ad6ebd280420fcc868c676ffe0ecbcccc4cc6dee7314ed1() - { - $this->assertTrue(true); - fn() => ( $test ** $test); - } - function test47303155792140298c4bc45a7a3c1f0c8c25481e6c24c8c4c3537e0bb03a9718() - { - $this->assertTrue(true); - fn() => ( $test::${$test}); - } - function test48d6fc0dcc3c43199949e2c305824835c204dd2b44cca70204f7f9efe8100cc8() - { - $this->assertTrue(true); - fn() => ($test instanceof $test); - } - function test4a1ac634590b2cf11ae82ce15def8fccac6c587c57464fe61d014ef793a4c45d() - { - $this->assertTrue(true); - fn() => ( throw $test); - } - function test534b9c902795e1cace1f1e9fab0530b260cee691bbdd4033541769096b03fa85() - { - $this->assertTrue(true); - fn() => ( $test > $test); - } - function test5823e5f418a03fbc09db7358d93b6d9926a334c380255d58528f417f0b94b42b() - { - $this->assertTrue(true); - fn() => (isset($test) instanceof $test); - } - function test5ea8c750cf7e03265c807857608fadf68ba54acb4fc98bc19dc66e2059c5c31e() - { - $this->assertTrue(true); - fn() => ( (bool) $test); - } - function test60c30bdc40dc99de244b9a514aa8d698eeb24464236380aa483c55e426b98748() - { - $this->assertTrue(true); - fn() => (~$test instanceof $test); - } - function test62beb25b0cb11da1577cda2b9b817aaeabe4383794b64dc6b99327a4286a6b6c() - { - $this->assertTrue(true); - fn() => ( (object) $test); - } - function test6466bd94cb0d76b01bcd0edf8e21899045c75da17dfe0809a5bee099dde4e866() - { - $this->assertTrue(true); - fn() => (eval($test) instanceof $test); - } - function test6646156be0aefd11802505f54929c85ecb64ebdb3b2cc4a29a3ee76d6ce5f0ed() - { - $this->assertTrue(true); - fn() => ([] instanceof $test); - } - function test6a87f05eeeebc1706295d9db48c625602adeaace37e9ca6c7eea2980386efa4a() - { - $this->assertTrue(true); - fn() => ( -$test); - } - function test6bdbd9cd49d782098f6afb8e1e8c74d9dd14a80bc7de434fb1755414028f0ddb() - { - $this->assertTrue(true); - fn() => ( $test <= $test); - } - function test6e2b6440c65af0bcca39ef5bd4761c0b9930e4dd3387a5239e8a1aa9daf22983() - { - $this->assertTrue(true); - fn() => ( $test ??= $test); - } - function test76ef2f7e74dff6c348910e77c7177a114571d1a8928dc5b74e52e63547b8fc87() - { - $this->assertTrue(true); - fn() => ((!$test) instanceof $test); - } - function test78705ebf4a2541ded8753fa1af302ca58169135aef4fe7a16d8abc4d2d644527() - { - $this->assertTrue(true); - fn() => (( $test) instanceof $test); - } - function test7eca54609075088748032aebff49a47ec2b3b1eaf2cae0490c71eaf396445b7d() - { - $this->assertTrue(true); - fn() => ( $test ^= $test); - } - function test8002204b86c4ae0619701bba6a0d3cb5a49258e5fb03a048b7969b309565ea1d() - { - $this->assertTrue(true); - fn() => ( __DIR__); - } - function test820562fd19fc1c9a05edb6cda124754eb185d2a30d81bf255c5340ff40a054c1() - { - $this->assertTrue(true); - fn() => ( $test /= $test); - } - function test8266fbf352c476399fc06fdde0529c5588445f1814ab4cf41e3ebbb0384d78f5() - { - $this->assertTrue(true); - fn() => (new $test() instanceof $test); - } - function test82d3e1fd138825a664b019f09c308683169c9cbda886168a9050bb517fa1e3ee() - { - $this->assertTrue(true); - fn() => ( 'test'); - } - function test862eccad180e0d8c6d11e8438e775e6a337c08d5f4990182e3379a13c70199c5() - { - $this->assertTrue(true); - fn() => ($test[$test] instanceof $test); - } - function test869f313546f4afb9e673602f7d772375db570c2e379de1b5f0e9e4b7c41fa829() - { - $this->assertTrue(true); - fn() => ( $test or $test); - } - function test86f4fa649d5e562eac5beae0991207eb18024cc81ab4cbcfc2125a365b37f607() - { - $this->assertTrue(true); - fn() => (($test instanceof $test) instanceof $test); - } - function test89599deb58084984bb78caf63ff47730bb0d941fba617b64920ae7e2c3300bad() - { - $this->assertTrue(true); - fn() => ( $test |= $test); - } - function test8a11360a5e9010bbf329cfbcd8240ae5f5d74dff29e59352b121c8887fb6abb7() - { - $this->assertTrue(true); - fn() => ( $test ^ $test); - } - function test8a9b8da0336078b2afc4806debaadf851d16d8377c2bda8366a9460db5db42dd() - { - $this->assertTrue(true); - fn() => ( $test >= $test); - } - function test8d8cd2d06154fef5ccf72044faf814b905bf951b981a23ae3a054b5022779d65() - { - $this->assertTrue(true); - fn() => ( $test and $test); - } - function test8de05b3770947a8c881de81fec28a3db84e3d67e88e04ed38dba253b40f51a9f() - { - $this->assertTrue(true); - fn() => ( $test % $test); - } - function test8f558e703e8f7a9dd25972f5798a10650a6050801be762fc21dc6d900c3c0a9e() - { - $this->assertTrue(true); - fn() => ($test-- instanceof $test); - } - function test92ddfc3336445f74ff22396e422de07ee3319ee108cd12e83a1cf11a1e34e188() - { - $this->assertTrue(true); - fn() => ( $test < $test); - } - function test952a90dccbfa6621b44ef0b87078a39ef73575d46a81258fbfbe9c986f753081() - { - $this->assertTrue(true); - fn() => ( $test & $test); - } - function test95c2521c2df450a1cf9939354c00ca757b94b2a7e77e6e20363d95af93746c66() - { - $this->assertTrue(true); - fn() => (($test =& $test) instanceof $test); - } - function test96f7a2ad52f06b599e12134fcfb961e36b9839e8b62c245636a8baec05e3d31f() - { - $this->assertTrue(true); - fn() => (clone $test instanceof $test); - } - function test97c4f3200938de2cea8c37c4787d9b45d83f538bcb92b4a38f90561fa045915c() - { - $this->assertTrue(true); - fn() => ( 0); - } - function test9af5c25dba98d9ef530c064d6807ebff4a69d97ab365d74fd0b9f282db709b07() - { - $this->assertTrue(true); - fn() => ( $test **= $test); - } - function test9fb67c02b2da034370edc123dbd42a97aa12d27ba1d9a70d4a07eada622ee4f7() - { - $this->assertTrue(true); - fn() => ( ++$test); - } - function testa0941149a635d554b60185118f46666f7c6aae5b43129a0645774b7489cbc30d() - { - $this->assertTrue(true); - fn() => ( ``); - } - function testa3d13930cd328e915e03a6fbd6eedcaed8c9ee1f4edfdd29ca74c8abcf543659() - { - $this->assertTrue(true); - fn() => ( $test <<= $test); - } - function testa5f6e8e2409357db1f0f81a65f1490777c1fd6d0a3b844362bed2351324330be() - { - $this->assertTrue(true); - fn() => ( $test * $test); - } - function testa819fd7a316e8b603cac3588aa371e7500ae5756cd33e4f50dc544ab990a19a6() - { - $this->assertTrue(true); - fn() => ( $test xor $test); - } - function testa98f2285c53a2cfe3d3d42f1795e47972036a8f5ff3ec3248f026dd199a3db6c() - { - $this->assertTrue(true); - fn() => ( 0.0); - } - function testaa7d19a91c051c27064c66b8b3a4a2b2d8c0790418be6461d46a2ef0870cba5e() - { - $this->assertTrue(true); - fn() => (match ($test) { - } instanceof $test); - } - function testabc5d792f29640f5e171be82064236f9387cc4e7730974b91f30b250815e3346() - { - $this->assertTrue(true); - fn() => ( +$test); - } - function testac59a0801e4d7f43fc65a57eed882a2033e205dd0df5661808d77223fc16ed58() - { - $this->assertTrue(true); - fn() => ( $test ?? $test); - } - function testad3a0e5cf05c908a2f750ac7d23b78a98d5bcf4223f0d4779a2e27a14a90f93a() - { - $this->assertTrue(true); - fn() => ( (array) $test); - } - function testb0a4804af187a9c6a0a31d8a8fbccc685e735ad2f83dae7a1aa4690b8ec6dfdb() - { - $this->assertTrue(true); - fn() => ( $test << $test); - } - function testb24c0cfdd94349d68fd497ee3047ce2e8596cc1fcfef126942408d149b9c71e2() - { - $this->assertTrue(true); - fn() => ( ${$test}); - } - function testb2ddbdb357a344448ede80188d308ae245b2529cc54bc48e0cb1bb07cc8b35ea() - { - $this->assertTrue(true); - fn() => ( $test += $test); - } - function testb89487e601e8cc793f1575ccc0cff2eb0b182e05324d3a92f8bf52939b56677a() - { - $this->assertTrue(true); - fn() => ( $test->{$test}); - } - function testbf0426f861d0841b7177c2a1c688b84187d45c9a49c429477451d2f9b465ccff() - { - $this->assertTrue(true); - fn() => ( __CLASS__); - } - function testc3f9e164afced13887f391c37e44ad6b5478f3aca77e4eba24e64d5e1a253569() - { - $this->assertTrue(true); - fn() => ( $test && $test); - } - function testc7e5a337d769eabd62216d4af23dfe704b1dc6dab5f9d9c1527b43a35aad0630() - { - $this->assertTrue(true); - fn() => ( $test - $test); - } - function testce4ff49a3b84acdfea6503d7240380998b8e8c4e2b3b4443ea56c45680874b72() - { - $this->assertTrue(true); - fn() => ( $test <=> $test); - } - function testce683a0127a6b43ec0db27108399c9b86558a3c6222de8dba6a258786047865f() - { - $this->assertTrue(true); - fn() => ( (double) $test); - } - function testcf17cb4a9afad601fe210497eedd073135b4c0953720ee281641ac11b60f9eb1() - { - $this->assertTrue(true); - fn() => ( $test &= $test); - } - function testcfac6e1e873e7dd97c8d500392dbe17e8bb0cd9b723838e69a260ff4e954cb4b() - { - $this->assertTrue(true); - fn() => ( "{$test}"); - } - function testd109618a98c0ac8a140be93dda11a7585c35aac02aded64ba761e2c4141cab3d() - { - $this->assertTrue(true); - fn() => ( $test . $test); - } - function testd12f4dbe9aa0316d5fe5e4632bfd769ee7fe53b4a8ce24041e38062d72f1fc31() - { - $this->assertTrue(true); - fn() => ( $test / $test); - } - function testd82a22a800eb4afd2bde567dc70847a5029fdae2ad53deefd66000a707125803() - { - $this->assertTrue(true); - fn() => ($test::$test instanceof $test); - } - function testda847ea9822f96b1df3184a497a9c1e0085ba3c39856b9df99956f872f374c27() - { - $this->assertTrue(true); - fn() => ( $test + $test); - } - function testdceb4f44ad2c727b4f02ab7c0a20f153d3d459cf12ad0d1d39248d9d47c3769f() - { - $this->assertTrue(true); - fn() => (function () { - } instanceof $test); - } - function testdf3439d4456b7bedf6c8f4e72136d71a69d6cc8ca9788b6b8028c24023fc5bd8() - { - $this->assertTrue(true); - fn() => ( $test >>= $test); - } - function teste07db4eeec9e3c16413ab66f7fafacd7b8f9aa4810283f86e334f81f13ed1853() - { - $this->assertTrue(true); - fn() => ( --$test); - } - function teste144a68b04a254c5c5bee7203bb55705e679a06a90b6185d762b79e35b942fa0() - { - $this->assertTrue(true); - fn() => ( __FUNCTION__); - } - function teste15cdbff6fcf302d68d02b897a4233c11d3df219ade743c02ef1554da66b55b3() - { - $this->assertTrue(true); - fn() => ( __METHOD__); - } - function teste252fe9c62c8224cd703ea497fbcd7ec2a1c029a6ffc75d365caee30f29552f8() - { - $this->assertTrue(true); - fn() => ( (string) $test); - } - function testeb728cec544b85ce8b6bd5d7ba4ae8c9c048ee647368cfabc66ed47ea23debcf() - { - $this->assertTrue(true); - fn() => (($test = $test) instanceof $test); - } - function testee7bab7b9da1489a7a408caf5ce52c1051129ee4ea91a8b7d24765c72f2f7dbc() - { - $this->assertTrue(true); - fn() => ( $test ? $test : $test); - } - function testeee241810bcbcdde3209968389d6832b5002a7d17f5bc34ae7ec940fdc148c32() - { - $this->assertTrue(true); - fn() => ( print $test); - } - function testefa9a07040bce5b39a050dcc6f78c9170d78f8818883e1ef8c294121c8546856() - { - $this->assertTrue(true); - fn() => ( yield from $test); - } - function testf112f13b6216e596db6b92a0ca96ebfac49ad7a8ebc020e1084dca7c38fa90ba() - { - $this->assertTrue(true); - fn() => ( $test *= $test); - } - function testf13dc0f9e2bcbbc6b6b2d04ecfcb547e71f902a00158b5d66409f7df479639fd() - { - $this->assertTrue(true); - fn() => ( $test >> $test); - } - function testf5965c516f8596a416e884459e57eb2f2672bcfd4c73c4c657f5d08edb4d21fa() - { - $this->assertTrue(true); - fn() => ($test?->{$test} instanceof $test); - } - function testfc8029a55f6f2d054d92b1b8b2a5927e334aac260961432ba6f2e42c48e47de8() - { - $this->assertTrue(true); - fn() => ( $test !== $test); - } - function testfffdfa2d152bf05460c103d2fc0d792456c2375d44890580475cf9abf2298079() - { - $this->assertTrue(true); - fn() => ( __NAMESPACE__); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest.php b/testsGenerated/Target/Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest.php deleted file mode 100644 index ab6f9b87d..000000000 --- a/testsGenerated/Target/Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest extends TestCase -{ - function test02a8b7a697ef95aff4b06dfeeba27d373a92a8c483ac7bbf1fe7d7bdb86347f0() - { - $this->assertTrue(true); - fn() => ($test !== $test && $test); - } - function test0592a07f8783fe5b5eefa61f8962a047b9c977b6f9ee0700ae256b0c1a0bd8f3() - { - $this->assertTrue(true); - fn() => ($test instanceof $test && $test); - } - function test07f50075c405749243fc1c5948245f7a873c102243418e68f9781f81d61d9ad4() - { - $this->assertTrue(true); - fn() => ((int) $test && $test); - } - function test097281a1c73e80519d006945c377d02c22505a5f0ace9469dde95277aad81a80() - { - $this->assertTrue(true); - fn() => ($test * $test && $test); - } - function test0b197f7dc12c033b82f654a3f34682f9f6118c7a5e4d237eb59c0248790d31fe() - { - $this->assertTrue(true); - fn() => ($test?->{$test} && $test); - } - function test0c6ee7d6049736e01029d1fcd8b38ab0afa95d4decd8cf91a312a26802d75f1c() - { - $this->assertTrue(true); - fn() => ((double) $test && $test); - } - function test0e515a7fd75adea2b667116eba845dec0e0b0309a8432efdf720e26d7bfc9f1a() - { - $this->assertTrue(true); - fn() => (($test || $test) && $test); - } - function test101ef8261646f35546c4677bf9f166a56408fbfcc7385c28db88e0150212acb9() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) && $test); - } - function test13a916aff1f943b0fe895bad7b17265b2e9959d64b10943c7dd4aacfd345ef7c() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) && $test); - } - function test15c78ac21a7a97d2b3b0d9b95b0a8e2c07bb41334caf5efde472a5a35be19a4b() - { - $this->assertTrue(true); - fn() => ($test & $test && $test); - } - function test1a45bf14d098eaf25dadd0341f8adc031a8e75828c27a5393f327aa5dd09f78d() - { - $this->assertTrue(true); - fn() => (0 && $test); - } - function test1ca3c67afce9a53aa764834e42665705d2f34da7243d6b58bf8db9e90a03e6bf() - { - $this->assertTrue(true); - fn() => ((object) $test && $test); - } - function test1d9581c2856a48be76bf5f09a658473e7937f6272552a32d5df5bf34bc5832ec() - { - $this->assertTrue(true); - fn() => (self && $test); - } - function test24c19b1ac8174c05644a7bb8b5b4a7217b4062a6d22ff082384dbda54e3cf73d() - { - $this->assertTrue(true); - fn() => (($test -= $test) && $test); - } - function test2c4665a3c97f323baa024cc4e52dd659e8074ddda8fa0f7a8ede1a0be8b78aec() - { - $this->assertTrue(true); - fn() => ((array) $test && $test); - } - function test2f095775a94237e52895b18c0cde8a2c66de11525b615713fe157d4d22baf2ae() - { - $this->assertTrue(true); - fn() => (($test <<= $test) && $test); - } - function test30d6adf84150f930e180834dce2f15aea8d6c8ee404921fdef7a7a38d2c713a8() - { - $this->assertTrue(true); - fn() => ($test && []); - } - function test30f6006ca7ec1fec7347046a67431ce1b2104c1eb2445aa0c3ff4cdaa3853f1e() - { - $this->assertTrue(true); - fn() => (($test ?? $test) && $test); - } - function test32fb074173658121018448ebdb4f53b55f9975b75db61679d0d219192235fca3() - { - $this->assertTrue(true); - fn() => ($test / $test && $test); - } - function test3312f50e18b13974bc022ab8b52bb55f1c4bd5db56b60ba65b7cbd2e4494c5bc() - { - $this->assertTrue(true); - fn() => ((bool) $test && $test); - } - function test33f579502c90e06ce04221787710998d8180505272c98a112690a0fb8d39462e() - { - $this->assertTrue(true); - fn() => (__METHOD__ && $test); - } - function test3bb9e7c5ee7a1cd0f4b8795ce3545359b620821b5e5e717dda43b3dd51086011() - { - $this->assertTrue(true); - fn() => ($test && $test && $test); - } - function test3d583688e539e20f8e3758968453b6b8f272f5a34e25daabfbcda00c183e1c39() - { - $this->assertTrue(true); - fn() => (++$test && $test); - } - function test4423f2b680dbbb9c21b42c7e2e716f3123b230354c73e683e5d00f225323c63c() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() && $test); - } - function test44b6f20990bc747b5402c0620b05a6d157d597a9904d844b8f11b5eb873ad691() - { - $this->assertTrue(true); - fn() => ($test && ($test =& $test)); - } - function test48a63aed24e514d2cb1b99b09e94835952c32aaf4ba70980ce3b3fe77d48399c() - { - $this->assertTrue(true); - fn() => ((string) $test && $test); - } - function test48d72fac3693eecd96ba91fce557bcb53b99efb67761b114e90a11c37005a9c3() - { - $this->assertTrue(true); - fn() => ($test && ($test = $test)); - } - function test4c6cf73154038be34a434371d9c352198740da49cd51878ea076dd636abd07d3() - { - $this->assertTrue(true); - fn() => ($test && $test[$test]); - } - function test4f39a97d8c642c97f63c389af460737026b5419312a32eac75ed0d80084ff7b4() - { - $this->assertTrue(true); - fn() => ($test >> $test && $test); - } - function test598ee8d3b36aaa51da6b45451d0cec9c81ca5b2eeeec0a549ce4cd00d3158c57() - { - $this->assertTrue(true); - fn() => ($test < $test && $test); - } - function test5aab05812e6983273922a4c58330e4d01f496c08b494557ed0bff542b526e8a1() - { - $this->assertTrue(true); - fn() => ("{$test}" && $test); - } - function test5ce39492b3b33cf5b92672a04b43d9976c49375022abfe67d96c1dead1160b13() - { - $this->assertTrue(true); - fn() => (($test xor $test) && $test); - } - function test5d0b7aa74ec4ed459ccdc5f0b2acc8ca0f2b123b8760be2936c5a1cb9bd4e04e() - { - $this->assertTrue(true); - fn() => ((yield from $test) && $test); - } - function test5e757d3da08101187346bc3ecbc08886895ee1d0741947be8b7de29852119039() - { - $this->assertTrue(true); - fn() => ($test . $test && $test); - } - function test609626293e968db506343b4f51fb4421ae116514d90b1dbe4bc0bbb0a12bdf5f() - { - $this->assertTrue(true); - fn() => ($test() && $test); - } - function test6b3c9a024d7b15eef7e6eaa31b5f4f4ad103569936bd8e975abec5bf260933bb() - { - $this->assertTrue(true); - fn() => (0.0 && $test); - } - function test6dfa68c9815fead8a122301f01e32ab17a99bd867a6d757f75c5df181ef65ebf() - { - $this->assertTrue(true); - fn() => (empty($test) && $test); - } - function test6ed1de25a07c0c2d15f90d9cab46e3908c5e0cc92c050a0a7ba730a6fdd03ceb() - { - $this->assertTrue(true); - fn() => ($test >= $test && $test); - } - function test7381b7e7452e00c851ac09042ccd13d6d3e5d535e7f77c9d64c18b95e53ebd87() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ && $test); - } - function test77de2edb21362823bd258703e8f7a661cdc733d6a6bb950c3a93b54c3af74d21() - { - $this->assertTrue(true); - fn() => (($test ^= $test) && $test); - } - function test7953976be4cbefafd8ce6a33b0d1a3e792c9fca482d2e825d3397886ae049a7a() - { - $this->assertTrue(true); - fn() => ($test::${$test} && $test); - } - function test7fec1c0b5ec5b6e2e906a9ddbdd02d6be9d13d9a7fdafd20c7ccdee90fa5e477() - { - $this->assertTrue(true); - fn() => ((print $test) && $test); - } - function test81160c2d797e6187fa79013a6034e968abd37bc05af1ea57ef3863727453be16() - { - $this->assertTrue(true); - fn() => (clone $test && $test); - } - function test8220596629d3a8c00e4c4c62aaacce6168c53f26575f2e2a2591ad24bc31da84() - { - $this->assertTrue(true); - fn() => (throw $test && $test); - } - function test825586f9e5e150153bd91f8f7f64faf405279ea2dc0be9944b26f149cb9ee690() - { - $this->assertTrue(true); - fn() => (new $test() && $test); - } - function test836f92992c3f9a9349fdf8686757a03c19aee3a174f0ad30e72c02b32eeef588() - { - $this->assertTrue(true); - fn() => ($test ** $test && $test); - } - function test854ab8996ffe8c57dff2058a6c1845c31fa6a36a6bdfa38211c042735916725b() - { - $this->assertTrue(true); - fn() => (($test **= $test) && $test); - } - function test85544174097d8ede08976747b3d34208fe43959a882db41531c7f71f823b4a26() - { - $this->assertTrue(true); - fn() => (($test .= $test) && $test); - } - function test856912a817613ea1699aef3beae3959c0354f2c146df1c18bad6f53014e49c31() - { - $this->assertTrue(true); - fn() => ($test - $test && $test); - } - function test87eea1c41ca5797cca9ec4f21ef3c222feaff770bb7b18449a0565ab24109086() - { - $this->assertTrue(true); - fn() => (function () { - } && $test); - } - function test8d22a44238b10400fa62074324c60206330e5f3a2d4f484d153ff868f37ce63c() - { - $this->assertTrue(true); - fn() => (eval($test) && $test); - } - function test8d9559daf05ecdddeb6a31ab35143e389066ed706aa68b175fc0d868bd754ea1() - { - $this->assertTrue(true); - fn() => (($test >>= $test) && $test); - } - function test8f4704812299370b82d762bff694cc2fabc454df4405421ab7cc1e89e65d0fa2() - { - $this->assertTrue(true); - fn() => ($test << $test && $test); - } - function test8f91f07fd32fa84540d360b16848568c473f78c444beecbbdb77c4bcaa173773() - { - $this->assertTrue(true); - fn() => (($test = $test) && $test); - } - function test905033d7e7edb2069edfaacde72d6dabd8bd65be07eb99f0aa42d586c8c7c0ef() - { - $this->assertTrue(true); - fn() => ($test <= $test && $test); - } - function test924181066bf879c8665c1f4058de41a8c83d08e524c4d25790ef4c4324c3c010() - { - $this->assertTrue(true); - fn() => ($test->{$test} && $test); - } - function test942320f95e1d8a5c3314e175f9f7b4b5cb91d68d6f51dc59095e65037e0c8307() - { - $this->assertTrue(true); - fn() => ($test + $test && $test); - } - function test97d50ef2486449456929b646757f1636fe8e2215ca769a7583e2e9b95a1cc638() - { - $this->assertTrue(true); - fn() => (__LINE__ && $test); - } - function test9927f0e9ac5cb3f5b22bdd62f0c8652a339cde504e442594c9d6a83dfefb40a6() - { - $this->assertTrue(true); - fn() => ($test::$test() && $test); - } - function test9f279389848bf38f3686dc38a01c0eb8ac1c288b55251f6b0f282caf10f66439() - { - $this->assertTrue(true); - fn() => (($test &= $test) && $test); - } - function testa668d11694bf337154dac8e4752c34cea717688d865cc729389cf79f624acbb4() - { - $this->assertTrue(true); - fn() => (( $test) && $test); - } - function testa7492cfe04575b628b7bc886028f3d687fa7124fa8c7332ff121ce6693f2fca2() - { - $this->assertTrue(true); - fn() => ($test::$test && $test); - } - function testac1392c3a40f763662a371a5fa92b49346d075678d60fc12481cbc8d32c8781b() - { - $this->assertTrue(true); - fn() => ($test % $test && $test); - } - function testafa57d6bcc7f7ed83df4f48d807cfda5f3b7a3cf8d84e4f0c9ecc837f8f646b7() - { - $this->assertTrue(true); - fn() => (${$test} && $test); - } - function testb1eb63c1ed0861f5c5df0b320c7830f6006bc9e41a30b987dbb07709bd2b15a9() - { - $this->assertTrue(true); - fn() => (~$test && $test); - } - function testb5a4111147fe536bb727223a0d213452ba16cc340c1ceb2be4d2b3d81024ee6c() - { - $this->assertTrue(true); - fn() => (($test |= $test) && $test); - } - function testb664981f8b3fb1a56c1c33895edbd097ce78697c9fad696226e84db26deed30f() - { - $this->assertTrue(true); - fn() => (($test %= $test) && $test); - } - function testb72150f83e7ac573f860b7f7a8c11af8454d80f270fca6ac5016bfd4b40abc47() - { - $this->assertTrue(true); - fn() => ($test <=> $test && $test); - } - function testb9c2d3ded84a1b51652ba97184b81e7348d70abfe2560a8941bd288341b84a31() - { - $this->assertTrue(true); - fn() => ($test->{$test}() && $test); - } - function testba836526dcfaace6d796e4b7ce39f34d61aae81c8990d52f365ebea62a71d54a() - { - $this->assertTrue(true); - fn() => ($test != $test && $test); - } - function testbc20feaf3b96f6c0fd1fa32d9cb3a6f6802ac672c5acc298c9ac81157972f1f7() - { - $this->assertTrue(true); - fn() => (__CLASS__ && $test); - } - function testbffcb82dd5f766b36544454875f208a7387e8a91a7c2ffe143240f7e37e1cf88() - { - $this->assertTrue(true); - fn() => (($test or $test) && $test); - } - function testc2e2f97b3425c83e62ef436cd33f6a084b2172776aed85e9dc61acaab73e2bfd() - { - $this->assertTrue(true); - fn() => (match ($test) { - } && $test); - } - function testc3f9e164afced13887f391c37e44ad6b5478f3aca77e4eba24e64d5e1a253569() - { - $this->assertTrue(true); - fn() => ($test && $test); - } - function testc558943a83d0f618f65050f5676484b768cc767f762c5e8d384d73e34e62b498() - { - $this->assertTrue(true); - fn() => (($test *= $test) && $test); - } - function testc5a226a30dbd918303a9e83008150a8b34e6f0a43b53824f29ef1e85ac74a45e() - { - $this->assertTrue(true); - fn() => (($test ??= $test) && $test); - } - function testccdd7efd45582540bfa0c9ae9270d42098feda770f68fe9079954cb07416c6af() - { - $this->assertTrue(true); - fn() => (+$test && $test); - } - function testcef86f612d10225398b8e3a2bb1010461264ad9012be06f63ed1f5ffccc7e9bc() - { - $this->assertTrue(true); - fn() => (`` && $test); - } - function testcfe4c61ae844ab7ab0fc57824ec0f6d65d3ea283d338422806db1f864f68ffb2() - { - $this->assertTrue(true); - fn() => (!$test && $test); - } - function testd088e44efb411846d9a302998b9edab6867e11b9e95f36f092959f044f63b6df() - { - $this->assertTrue(true); - fn() => (__DIR__ && $test); - } - function testd5d3e9c73281fbd3647c625077888f4e5f7b3e5effad9e11bb69cb1f220a4676() - { - $this->assertTrue(true); - fn() => (($test += $test) && $test); - } - function testdad03fd8f9f578a4aaf06ba9a14a549d24cf9f8b6171589ceb23b3c50b808652() - { - $this->assertTrue(true); - fn() => (__FILE__ && $test); - } - function testdc2f393d120538ff740bb28dbe06d81676df6a52911ea84d4ea84af5ba9fc777() - { - $this->assertTrue(true); - fn() => (--$test && $test); - } - function testde65f0a1b70bd369e5d7582b4e97c212b87192d4d2414a497d46cdd6ae283d1d() - { - $this->assertTrue(true); - fn() => (isset($test) && $test); - } - function teste0e2b7966e5f9711133bbb1ea2023113291c859347bb6ca853e5fec4ed90d404() - { - $this->assertTrue(true); - fn() => ($test-- && $test); - } - function teste171679cc8708a5ee91f3dd8ac9f7c74a476b7644b489854f1ada56b763b083a() - { - $this->assertTrue(true); - fn() => ($test > $test && $test); - } - function teste24e881ef65b682ad7f6c9c5fae3e0afa7dd9c3448c6ca6f98532b032515f3f9() - { - $this->assertTrue(true); - fn() => ($test == $test && $test); - } - function teste2b18df27ac08dc7cbd04d9208bc1e4d579041b164523319f1439180294a3f7e() - { - $this->assertTrue(true); - fn() => ($test ^ $test && $test); - } - function teste37ea08acbb2beb04d25a2572d89b594d2d2eb1dc33fc8025be079b3e664e338() - { - $this->assertTrue(true); - fn() => ($test === $test && $test); - } - function teste3eb4a1f7fa055b2802fe7599843b9a9f1abf308a8f7088ed354f821d8749fa7() - { - $this->assertTrue(true); - fn() => ($test | $test && $test); - } - function teste470a4d9da31d13877faf3382cdc5ca7aa06b99ca9017b95291cce88dca6396e() - { - $this->assertTrue(true); - fn() => (@$test && $test); - } - function testee765e5be48cf87be158e26c34eb54f64f776a2d6bdc036e754a8198786b69a6() - { - $this->assertTrue(true); - fn() => (($test /= $test) && $test); - } - function testf37f908fecbcf14d3c3649a5167608963474c6177415a1971cb1e353e71d5467() - { - $this->assertTrue(true); - fn() => ($test && ~$test); - } - function testf44da0acb094124e68de264e75239da15191bf46bfe1ef1458cb9595ef6ddde8() - { - $this->assertTrue(true); - fn() => (__TRAIT__ && $test); - } - function testf4c86091c52c95f65797a7312dc2c4aeafde685dd871e5fd5599cf2c0fa3769f() - { - $this->assertTrue(true); - fn() => (($test and $test) && $test); - } - function testf7274ade172677b79c5181c69a1122c9ecf6a997e9348a67fb8b403cb543cab5() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ && $test); - } - function testf8fa35216e2cfd9bdf4f19ee31bf9ae42e5746430dbbc390a5d45a847ccca792() - { - $this->assertTrue(true); - fn() => (($test =& $test) && $test); - } - function testf97e3478c305505b0b0f92a2bb070fcc8e649513401a5a2aa3790977a1077ecf() - { - $this->assertTrue(true); - fn() => ($test++ && $test); - } - function testfae45304e044a18a196cb634c712cb2aa13df1ff40794fc2dab035c24e452cea() - { - $this->assertTrue(true); - fn() => ('test' && $test); - } - function testfca51c0e97c454374edf7386b730c08575d71506a6e73ac0ba7fcd3e292f3115() - { - $this->assertTrue(true); - fn() => (-$test && $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test.php b/testsGenerated/Target/Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test.php deleted file mode 100644 index 74c447981..000000000 --- a/testsGenerated/Target/Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test extends TestCase -{ - function test05e2642f62d44465514f4cce130188abadcf53612c5fb39acf03e73c84fb6a75() - { - $this->assertTrue(true); - fn() => ($test << $test >>= $test); - } - function test066321175ce89f8f6cd0242038b715e04a05d6483d4aaa3da43628a99aad93a4() - { - $this->assertTrue(true); - fn() => ($test >>= $test && $test); - } - function test0747eee6702dc4e612b5afa9c4013725cde6fde41e18de3b3abcf61c940efee5() - { - $this->assertTrue(true); - fn() => ($test >>= (array) $test); - } - function test08b0c0d8921caf872f6e5a7b575054055d41f8da9893c1c01ac6bb066db2a13a() - { - $this->assertTrue(true); - fn() => ($test >>= $test =& $test); - } - function test0ec658922b0d312dada899ca97d9687eba7f3d5985b0cf41b7b744078ae4aff6() - { - $this->assertTrue(true); - fn() => ($test >>= new $test()); - } - function test1096bd377f42c87fcf78968820346d2f4dcb18f3f63028f08fb7619b4cafdb0b() - { - $this->assertTrue(true); - fn() => ($test >>= @$test); - } - function test1340293bcd120a4aaab79fd2a30ba54b05cd82d873357400c9acc8e2113b716c() - { - $this->assertTrue(true); - fn() => ($test >>= $test ^= $test); - } - function test1aa18da660a74bf4c5dc911ae504736680e5f2d206ca809c654cbe4e754ae269() - { - $this->assertTrue(true); - fn() => ($test >>= $test()); - } - function test1b4f4d45c13246d84070cd1bd8029ac9269c8b489f8ac9ebd15ad6bb163e2e59() - { - $this->assertTrue(true); - fn() => ($test >>= $test >>= $test); - } - function test1e132835a8b1f3ba7eb88a6ea8d8d33391488e2a4c935bb31c5f996d19365056() - { - $this->assertTrue(true); - fn() => ($test >>= $test .= $test); - } - function test1e4de555c496efe2702078a13b4ae5b10256acce138621fb808367aeeeb7fcdc() - { - $this->assertTrue(true); - fn() => ($test >>= match ($test) { - }); - } - function test23a8f5add7cd9572184bff4ba3ff551cfaf474978ac0059623019b3e72ac7cf4() - { - $this->assertTrue(true); - fn() => ($test >>= (yield $test => $test)); - } - function test23ebddec5284d1fe678935bfdec12171e3685b5f9d99bfce7ebf538055eba681() - { - $this->assertTrue(true); - fn() => ($test >>= (yield from $test)); - } - function test25da471d8d61846117492d78164e2cc999480b185e58bfb2c22dcb937ba83984() - { - $this->assertTrue(true); - fn() => ($test <=> $test >>= $test); - } - function test263ca28425316a00c3a7404ee92f57a38ed35fe83ba7cd19017b954967b76449() - { - $this->assertTrue(true); - fn() => ($test * $test >>= $test); - } - function test29fd2ec119ab6e85b0dd09a56e9b87f222fe6888fd0dbc4680e1124b889e182f() - { - $this->assertTrue(true); - fn() => ($test >>= empty($test)); - } - function test2c958586ae45008ca35201b39184273f412a7ee1e0925fc450667d404fc95f17() - { - $this->assertTrue(true); - fn() => ($test >>= $test::$test()); - } - function test2fff5f4307bbdfa1f43eb7e9b5a103ce08a5a566cc460059dfe866d1b8af2f7e() - { - $this->assertTrue(true); - fn() => ($test >>= ($test and $test)); - } - function test3042748e93f2e3da040455ab8d8a90178b9f91b074518b0048df13b3ba38c05d() - { - $this->assertTrue(true); - fn() => ($test !== $test >>= $test); - } - function test3049969333fbcba32e22ab687deec8888fd5ba355a9f1c0c5d53b219d31e3ecc() - { - $this->assertTrue(true); - fn() => ($test >>= $test ? $test : $test); - } - function test32ed6c3854331f62faeecd7665c1646dc7b48d7d00d704e2089790aa665c3062() - { - $this->assertTrue(true); - fn() => ($test >>= +$test); - } - function test39a75ecaaad0412a02c18191673325d20430af206a8d2ec349cd6f117e8bc012() - { - $this->assertTrue(true); - fn() => ($test >>= $test % $test); - } - function test3a4881e5584cb2b6723d28c7c41e2e2a2765b294df84b1c7e22be11b7a2f69f0() - { - $this->assertTrue(true); - fn() => ($test >>= $test /= $test); - } - function test43046de8e11149c01735c5de233f3883f6b0d38f26ffbd0e73207f8bb4a0633d() - { - $this->assertTrue(true); - fn() => ($test >>= $test !== $test); - } - function test473c6992664a3538313a5b0fffd278b943a3703dd76a16e62b61b17c29a52734() - { - $this->assertTrue(true); - fn() => ($test >>= !$test); - } - function test4837e3134a6bc3ef03f1c54eb147056fc275aba35fae4a1dc9676a44798f3cce() - { - $this->assertTrue(true); - fn() => ($test >>= $test == $test); - } - function test496929c0756d62909014df8d6ce361f1e331bf93194fc9908342b34f74fbac01() - { - $this->assertTrue(true); - fn() => ($test >>= $test--); - } - function test4e58a1040286361088db1dd7d5331d8cb85c90a5e04749156ef027eb8479f1ec() - { - $this->assertTrue(true); - fn() => ($test >>= $test >> $test); - } - function test4e5aece1ba2a98141589e4e1b373ab77eda62e94e7514f64882c7023b79642c9() - { - $this->assertTrue(true); - fn() => ($test >>= $test <= $test); - } - function test558bf12060d1f0f10ec9b74f16c323d0e61ae6d94a83fa334bb5f2c6fdc209b2() - { - $this->assertTrue(true); - fn() => ($test >>= $test -= $test); - } - function test561f56465419a5a13db4222eb6b345ed5ef46c7d1494e291fea2934a1b1cc819() - { - $this->assertTrue(true); - fn() => ($test >>= $test::${$test}); - } - function test587da37e3a19050cf9f60a534136983821e094d0245c6d823adf71374b62ca5e() - { - $this->assertTrue(true); - fn() => ($test >>= $test || $test); - } - function test5c22dfd89356a8fbdea53599c81d5ce595c3f0791f5acaf7fbaeb07d8ccf6164() - { - $this->assertTrue(true); - fn() => ($test != $test >>= $test); - } - function test5d09b92eaedce5c98d072f2b499dcd8e0787dda02a568bea31d406c3dff7eab1() - { - $this->assertTrue(true); - fn() => ($test >>= $test != $test); - } - function test64d2dc316cc3507524104c852ee43865f7df44845dc57ebb589770c0cbc842dc() - { - $this->assertTrue(true); - fn() => ($test >>= $test . $test); - } - function test6637f9ebc6352475b2e5f90bae7f8b84a442bf56c8b3038d4a062a1542840f4f() - { - $this->assertTrue(true); - fn() => ($test >>= $test < $test); - } - function test674d270cd3c46209caca3177631934b77f8c2334efed2ef7c7fb0a335dd1899b() - { - $this->assertTrue(true); - fn() => ($test >>= $test > $test); - } - function test733e5cc61a0a908eab1afed4fcb7a2a91d817df4d20d21e8eff87c93961ac7c8() - { - $this->assertTrue(true); - fn() => ($test >>= throw $test); - } - function test7545a8e75765d8b72dbe20dafb6feb09ef31910c5ffb32305d7392977b243e56() - { - $this->assertTrue(true); - fn() => ($test >>= --$test); - } - function test773bae235d79ffe115936ad1f33836d1430508b37c53bbc3b458c9adaf1dd08d() - { - $this->assertTrue(true); - fn() => ($test >>= isset($test)); - } - function test7ca057087ff07df7a7b1301605351b03fff5a27d290f2876076a92bb380b6093() - { - $this->assertTrue(true); - fn() => ($test >>= ~$test); - } - function test7d246b21d59b9acf8dcfa9edb4711229191a0593432f1f4db173eb0e948a59ef() - { - $this->assertTrue(true); - fn() => ($test >>= []); - } - function test7db8e6012cc7f3a9d354bff3295ce84825e1872340be916cccca2966af828f3d() - { - $this->assertTrue(true); - fn() => ((string) $test >>= $test); - } - function test7e26b534f8cdaa3eff36fceee2640df2fe2f1b402668d4b1a8b30df41fa5db12() - { - $this->assertTrue(true); - fn() => ($test >>= $test *= $test); - } - function test7fba65b544b5d9c0af73aebbdddafe51019cbe1828a42dcfcc3c31f9b7e8bc06() - { - $this->assertTrue(true); - fn() => ($test >>= $test?->{$test}()); - } - function test7ffdc6e60395d644ed9a27e32e1a1fec334d48eea125c3d998961c90e3dfcd9d() - { - $this->assertTrue(true); - fn() => ($test >>= ($test or $test)); - } - function test80b72c3fee686d6f1c47cf99690a196a7ab9fae4e3b9c05fe0f16a66b529fd53() - { - $this->assertTrue(true); - fn() => ($test - $test >>= $test); - } - function test80ba550e17fec5224520cdd84ab435a161b0c80c07389c6217290cb73070f6a4() - { - $this->assertTrue(true); - fn() => ((int) $test >>= $test); - } - function test815dbecf24660cea429813b49d27514a2ae7aec0a3e08c72b1ef2b100a52d096() - { - $this->assertTrue(true); - fn() => ($test >>= ++$test); - } - function test8222f94b0c41754d0f0f53df592880df19d763f7dc4b2144375392a315491eb0() - { - $this->assertTrue(true); - fn() => ($test <= $test >>= $test); - } - function test8a750fb43b8b2f9d0b408ac47df4e13d73bad6a598d7d688c0a5cfd9941d362b() - { - $this->assertTrue(true); - fn() => ($test >>= ($test xor $test)); - } - function test9317315ee92139892b36ed300e70508a99b06d342bbf63c02418f750f210f725() - { - $this->assertTrue(true); - fn() => ($test >>= eval($test)); - } - function test99832cd15fdef22391d67aa58b80723b85e4f7c068d6d52f199c4e06b81bff7b() - { - $this->assertTrue(true); - fn() => ($test >>= $test->{$test}()); - } - function test99dc6ecbd76d644fe7a08e93b0987adf088ac85d5733a41e676dae329ed6781a() - { - $this->assertTrue(true); - fn() => ($test >>= -$test); - } - function test99ef23caf1ecd22a664da9f677e95d3cac8f9074d79846bd06b0023e6ad04e87() - { - $this->assertTrue(true); - fn() => ($test >>= $test | $test); - } - function test9a758883d634fa0209362d276f639ddf99f51cb223d1d5697cff870eb50f07f6() - { - $this->assertTrue(true); - fn() => ($test >>= $test instanceof $test); - } - function test9e2e4f8fb2826e37b07794c8606df10a8cdfc02b353a826a3436217f56669a3d() - { - $this->assertTrue(true); - fn() => ($test ** $test >>= $test); - } - function testa1329306621955872696f7b3db88dde5885dbebf62e1ae97fd89d3a2d5e0e52e() - { - $this->assertTrue(true); - fn() => ($test >>= $test / $test); - } - function testa2bcbcedf4afea5ae0e6fb20888771382884b84904f2f31fb580cfb997349d93() - { - $this->assertTrue(true); - fn() => ((double) $test >>= $test); - } - function testa5666fda0e6c2a9c8af053bb8a035a780365d8208d0594655989b9c8cb2a01af() - { - $this->assertTrue(true); - fn() => ($test >>= ${$test}); - } - function testa704c60b0c631189948d9b31420940deb0c5c56fd5c3d80501a21d0434b56b40() - { - $this->assertTrue(true); - fn() => ($test >>= $test::$test); - } - function testaa1985cf0852d0b4d54db021923827e59bfdb38e3e02a49d84aa1b8d985b1d60() - { - $this->assertTrue(true); - fn() => ($test >>= ( $test)); - } - function testae1aaacc93a96405076ae6dea104196af0c5789a258497355cc42c2dce6e405d() - { - $this->assertTrue(true); - fn() => ($test >>= $test->{$test}); - } - function testae72a417b79d94d3a3a566c3817197ae1a87b5a47f6b5b86495217f3ce3ffc59() - { - $this->assertTrue(true); - fn() => ((object) $test >>= $test); - } - function testaeba89c0dc45afb147ba8fa7747c89785d0da2f204358c4c1c07deaaab59cc47() - { - $this->assertTrue(true); - fn() => ($test >>= $test === $test); - } - function testb1c2802d56b111c03d5fa2a5666ad99d7265a6f49f7a35aa77382e5680c34bc8() - { - $this->assertTrue(true); - fn() => ($test >>= $test >= $test); - } - function testb1cd2322064352ea0f77f193f3bd8bbf313b5204b8a7da26bbf31aa8ece3c2f3() - { - $this->assertTrue(true); - fn() => ($test >>= $test * $test); - } - function testb5dc23948a3ff70c97afa042eded8dd959483e7eb790eb46b6cb374b338f6de6() - { - $this->assertTrue(true); - fn() => ($test >>= $test = $test); - } - function testb9d1123d7e2a30fe69fb0549063b412fee758e49646a60edffbbcad7e08fd662() - { - $this->assertTrue(true); - fn() => ($test === $test >>= $test); - } - function testba92d23c7cb1a108588fd8c1ae9471e348aee6eac45114d1fdd0ece6cee7368f() - { - $this->assertTrue(true); - fn() => ($test >>= $test[$test]); - } - function testbdd73ffaa7de3827a7084bc3df3ca2c594f204e163bd1a57ea0385f3bc0f8fd8() - { - $this->assertTrue(true); - fn() => ($test >>= (bool) $test); - } - function testc4fa335f273fdf9dc21649ccb5c7398e7f31ec7e4d1282f0e3c798e7163b0c39() - { - $this->assertTrue(true); - fn() => ($test >>= $test **= $test); - } - function testc7167ec13c825e1142a074b1fb8a193ad5e573a3aab6efdc6fb922d34d01f7fb() - { - $this->assertTrue(true); - fn() => ($test >>= $test += $test); - } - function testc7a3ee791ce3bf1ab47e5247cba018af6b619004301e9c1f4e665ac54c4af165() - { - $this->assertTrue(true); - fn() => ($test >>= $test |= $test); - } - function testc9c315718ebf9a918b78588a79d91a7a1ed23aa9d7b84c32e606d860dd3f62b7() - { - $this->assertTrue(true); - fn() => ($test >>= $test <=> $test); - } - function testca587a136bd433a2d57e3bf268a334eff4fc9456bc7eed3ac8f34c83d9e5c4fb() - { - $this->assertTrue(true); - fn() => ($test < $test >>= $test); - } - function testcd147741b537d62de08b658b5f747307141dfb279b9da7ef3a301946475365b7() - { - $this->assertTrue(true); - fn() => ((array) $test >>= $test); - } - function testcfd2072c17ae846794a284510876f3342bdf55c11e411d7f1c8e65829bd4c835() - { - $this->assertTrue(true); - fn() => ($test >>= $test - $test); - } - function testd009cb2caa0c410828ddb9cb36b918f34dd8bde02d0c7a46fe35c06441b77e03() - { - $this->assertTrue(true); - fn() => ($test + $test >>= $test); - } - function testd101c436f542177b3b56d79b242aa02a9f66aaa7ca0935adbbb8f821abcd0f1b() - { - $this->assertTrue(true); - fn() => ($test >>= $test << $test); - } - function testd36657506c8ae28609d7ab1bc5691d08e9a2fc2ddac3ae8565a1019e9ac471eb() - { - $this->assertTrue(true); - fn() => ($test >>= $test ?? $test); - } - function testde8cf0f74e1b6b3f1db0cce4af5d53390aca377f247b4e3d1a949abefafb16f6() - { - $this->assertTrue(true); - fn() => ($test >>= $test <<= $test); - } - function testdea2df8ad1e2e0404dbc9a5f50c46d6f60f364fc6ace6622b664ae2585d395d0() - { - $this->assertTrue(true); - fn() => ($test >>= self); - } - function testdf3439d4456b7bedf6c8f4e72136d71a69d6cc8ca9788b6b8028c24023fc5bd8() - { - $this->assertTrue(true); - fn() => ($test >>= $test); - } - function teste15b332bd1de2e301981127be05baa15d4df82a8dbb9092dc7edc8b30215d942() - { - $this->assertTrue(true); - fn() => ($test >> $test >>= $test); - } - function teste19adb56013b648a9fe8174657880c2ad40c9c9143da456ac5fec8faadd8d9a8() - { - $this->assertTrue(true); - fn() => ($test >>= $test ** $test); - } - function teste29e96c473471e02e2e9f7c5e31cd5a6812f920a60ea95907efe3064bd6a4c10() - { - $this->assertTrue(true); - fn() => ($test >>= clone $test); - } - function teste2d85a9bceabfb04488bb5bb4c0271aa2667dcce5bacb5b0fe81208b3bcd1a71() - { - $this->assertTrue(true); - fn() => ($test >>= $test & $test); - } - function teste4db03cfd2ac53b3932e873ee685cee100a743f3b53bcd29c60e4fe78ca1ed50() - { - $this->assertTrue(true); - fn() => ($test >>= $test %= $test); - } - function teste6ba011f8c99b51bc16c3897edfcb884e8ccb205fdce31229f593968bf07f92b() - { - $this->assertTrue(true); - fn() => ($test >>= $test?->{$test}); - } - function teste7998f735d459ac77ce881243e87573fad49861c3252c302b2808497ce1b6ee4() - { - $this->assertTrue(true); - fn() => ((bool) $test >>= $test); - } - function teste89198fef259e6934d807f664ada3b4a508df5746d52855d32332b6ce0bdfbd9() - { - $this->assertTrue(true); - fn() => ($test >>= $test++); - } - function teste8aef71cf66a937eb8116b7960c2916919819a3aaf04d5cd0e36233df9b3f055() - { - $this->assertTrue(true); - fn() => ($test % $test >>= $test); - } - function testec070ccb294b8cacc94cc86cd796d5dd5f30c5969049c59266a801b3b80ebaff() - { - $this->assertTrue(true); - fn() => ($test >>= $test &= $test); - } - function testf4351993e69239f35decca0041789a4eb37c35a181c82b5cd726477304d05a7c() - { - $this->assertTrue(true); - fn() => ($test >>= ``); - } - function testf50995b4089c8991b07f4b9253d1abff08b5dee84a70e24d76bc237a40241df9() - { - $this->assertTrue(true); - fn() => ($test >>= (print $test)); - } - function testf779adf50f5fee124d7bbc53d7b1d13bceaddf4479595655807740bda6593a85() - { - $this->assertTrue(true); - fn() => ($test >>= function () { - }); - } - function testf8721bab92216745570fddc5e23d8c5ba0d57a5002bd4cf502021f6de4815cf2() - { - $this->assertTrue(true); - fn() => ($test >>= $test + $test); - } - function testfa91ccd44798529be4078389c4cd7fd2ba45aecfddb4e6ab460b0076fb88bb45() - { - $this->assertTrue(true); - fn() => ($test >>= $test ??= $test); - } - function testfd6f46a8b5acf479014d59262cdf602e539ab64482b4051002c1f27019f4b583() - { - $this->assertTrue(true); - fn() => ($test >>= $test ^ $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test.php b/testsGenerated/Target/Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test.php deleted file mode 100644 index 1feec1fe1..000000000 --- a/testsGenerated/Target/Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test extends TestCase -{ - function test0001b03216a1d80ca4f553f4dd0af7aee8914a7b0692be8cd7c86f7f1225ef13() - { - $this->assertTrue(true); - fn() => (($test != $test) . $test); - } - function test080bce8a5d449574200440df807f842e71b67c686c9eefb622731398b62d1c3f() - { - $this->assertTrue(true); - fn() => (0 . $test); - } - function test08aef67b575eb75c748afc03f927a3b435c1f225952718b7b6dad070bb750fec() - { - $this->assertTrue(true); - fn() => (($test += $test) . $test); - } - function test0acb23868feecce7a0dd30258c711d2bb92313b043844a6cd2b7ebfe1dc286df() - { - $this->assertTrue(true); - fn() => ((double) $test . $test); - } - function test0acddaf616d4692a8143b16e85f6e9e33468bf93cb86f8721a8846888cf20a9d() - { - $this->assertTrue(true); - fn() => ($test . @$test); - } - function test0b42aad0a91da72dd03fae6b1c1561722097555c3e03f8ff922e803ce2dde5f5() - { - $this->assertTrue(true); - fn() => (($test <=> $test) . $test); - } - function test122fbb80e1330aefd418733620d5de37b206365cf9666f2fd03aacc473c2845b() - { - $this->assertTrue(true); - fn() => (--$test . $test); - } - function test12459d306e502bb7b0f28add9911dd4411fc542c7f546a038d29dfc84f2956ee() - { - $this->assertTrue(true); - fn() => (($test >= $test) . $test); - } - function test134f78b47260723c886f1c8dad73be3892da6c847167404fa6bd6bb9a04cd28d() - { - $this->assertTrue(true); - fn() => (($test ^= $test) . $test); - } - function test1545be0fadcdeae62a7b692e9c9bc3e334687b9c5a09fa32016285d964c6f6de() - { - $this->assertTrue(true); - fn() => ($test . match ($test) { - }); - } - function test15dc3c00a40e888231c8d7ec813634e0f567d6b1a9b1aa7850fb1a57a191e784() - { - $this->assertTrue(true); - fn() => (-$test . $test); - } - function test1ce6256995e89d78096f504fc670fd8edeac64555feda6ebc837f16475b9cfdf() - { - $this->assertTrue(true); - fn() => ($test * $test . $test); - } - function test218b3d5ac4ea70fdac9c50033ca4c467c96b088510e7eef2015c6f03f3baa161() - { - $this->assertTrue(true); - fn() => ($test . $test?->{$test}); - } - function test231803dfa6c02d1288cd44917ca1283c0942bdd7aa3127724e01fa0044c1e162() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() . $test); - } - function test26a6a00f07af9becca20f06cb7f111f5bdfbee9cf2efdf9faa4d7e2088177d2d() - { - $this->assertTrue(true); - fn() => ($test . ($test = $test)); - } - function test28b43fec41706254fd62872b476f74b0b40dd7dbc1c9d1c2e2c9d39aab28c5ea() - { - $this->assertTrue(true); - fn() => (__FILE__ . $test); - } - function test2a9c55f9263bdb1703045aa5f21470d3f45df58b67581221a784272f37d57df1() - { - $this->assertTrue(true); - fn() => ($test . []); - } - function test334fc274f50e02d262b887ec4c1596ff0b2991923841845217cdcf6862ad8d8c() - { - $this->assertTrue(true); - fn() => (($test || $test) . $test); - } - function test3350810bce4b85eae17ee03011a81390f05fc7db8fe09fe33eca4827fcd52945() - { - $this->assertTrue(true); - fn() => ($test - $test . $test); - } - function test34edb41da8b4ba47735d527e218abbb0b6ebb352787ebbc158b1869afadecb81() - { - $this->assertTrue(true); - fn() => (__LINE__ . $test); - } - function test36e9b88af35eda9510c039d16224c9261c1275a8f5e836cc33acd19d7abb66c6() - { - $this->assertTrue(true); - fn() => ((bool) $test . $test); - } - function test39acad6c224681f31bcbb42203a659f6924dcc05af79e446d06b0ae5047c2556() - { - $this->assertTrue(true); - fn() => ($test ** $test . $test); - } - function test3a786eed3071fbb841fe3864552711bd032f3af74672e9f36b47d4461665290a() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) . $test); - } - function test3aa12ec2320f7665ae3831e4645265e5265cea6816028596329444eac5e73ea9() - { - $this->assertTrue(true); - fn() => ($test . $test?->{$test}()); - } - function test4040a079216dba0e6a1fc7d3609c1fc611f217d77481eacebba29ca3a352f755() - { - $this->assertTrue(true); - fn() => (($test & $test) . $test); - } - function test4589baa4825381ceb977a42621a8248139bc76191d18a961a0e4114367f21e22() - { - $this->assertTrue(true); - fn() => ($test . $test instanceof $test); - } - function test481162f29bcba36dc665afd530af532a7014516bd952bdc999b02ff9f69fb8e1() - { - $this->assertTrue(true); - fn() => (new $test() . $test); - } - function test4a6a6579f173d84084f35d4cc2e2e88ebbe65f0877e2cfe2d35d9f3c5e4daea5() - { - $this->assertTrue(true); - fn() => ($test . $test->{$test}()); - } - function test4ae443248eb572b53dec264d0303604b349e8fbf0e858c747e9c73fc661c043f() - { - $this->assertTrue(true); - fn() => ($test . clone $test); - } - function test4e23b7119928ce28902157abcad3117c31b56bc5de8401f965eff9a973037772() - { - $this->assertTrue(true); - fn() => (($test < $test) . $test); - } - function test4e7889e51084286607273e6e6703fae8205b4d2c9e2b88ccf2640f6d265201ba() - { - $this->assertTrue(true); - fn() => ($test?->{$test} . $test); - } - function test4ff7521645417e20a69ffaa365da028283f14bddfb361987dad592bf02b48c6a() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) . $test); - } - function test52dac888a8dd8d85fdc89746cad11ba811ba1036279900c19ba3ffb50365b076() - { - $this->assertTrue(true); - fn() => (throw $test . $test); - } - function test548a8dcf89d956b5f03b748c5bb46044caa5ef8ef56cccfdab45e6b60cddfdd7() - { - $this->assertTrue(true); - fn() => ($test . $test::$test); - } - function test570d37c215f2d20d9a5e8cf3ea05c7d4cadd4479911e7b280809f355232878fb() - { - $this->assertTrue(true); - fn() => (0.0 . $test); - } - function test577b71a4e7e143dd4f2094f4623d994c8a193d1c87c310c68a2a0d8480293819() - { - $this->assertTrue(true); - fn() => (($test && $test) . $test); - } - function test60072bf5fbceedfab8fa867bf55c263449eb95b8da6dd093c0b6c230cf688cad() - { - $this->assertTrue(true); - fn() => (($test xor $test) . $test); - } - function test6048e7b1cec76c22274e1a4d42793fc33f5632713d59b8bc5acb053dab01fcc4() - { - $this->assertTrue(true); - fn() => (($test and $test) . $test); - } - function test64365ce3f358fed68d91afdd476ff1658b8f8d0f59fcb39ff2a1a8d640ca9d14() - { - $this->assertTrue(true); - fn() => ($test++ . $test); - } - function test67a773dd20d69ee444fe954cf1e9720fe3455c257e683a5c4af8d1482be36ed0() - { - $this->assertTrue(true); - fn() => ($test::$test() . $test); - } - function test6b80203c24535cae55d802f6f69151fb594ba266531baf4ff41f655e16d94de6() - { - $this->assertTrue(true); - fn() => (++$test . $test); - } - function test6b9fd532ffea15ceec5d2cf60e08f2ff34d969fb6a2af3c49e1b1815166c03c9() - { - $this->assertTrue(true); - fn() => (($test !== $test) . $test); - } - function test6d4bfc0df422b9eef69c95fe8e630d36f2c6d1523950110243b167e5cb2a7140() - { - $this->assertTrue(true); - fn() => (__TRAIT__ . $test); - } - function test7156962874fead2c8e2ce37ca538ec5b744b76b7b447a0259b71d90716618aee() - { - $this->assertTrue(true); - fn() => ($test . !$test); - } - function test720113419ef4b5d36be1afa8fdbe12de1fbec98234f719026f327f4c233ee5c5() - { - $this->assertTrue(true); - fn() => ($test . $test[$test]); - } - function test72cfe8dcc49cb46126af8a46f99f673b5595f2c0d8ffa66d1bb666f80ad5e362() - { - $this->assertTrue(true); - fn() => ((array) $test . $test); - } - function test7a86c175185ed1b3c781a483857ea1b43ff2315bf168f8e65017e64b3a2aa3f6() - { - $this->assertTrue(true); - fn() => (($test ?? $test) . $test); - } - function test7af6990bfd02924d41718ecd76f71639106b30bb4ec96a4527e16cc73b9d58a4() - { - $this->assertTrue(true); - fn() => (($test .= $test) . $test); - } - function test8559fdcf366b1c2ac1a5ecc6087b7d3f41e67e82cce34d7774f64124c32c1375() - { - $this->assertTrue(true); - fn() => ($test::${$test} . $test); - } - function test86b90ebae68e6f51975eed994f0f5c99bb67aca9d7a421e2f8cd430cffc42651() - { - $this->assertTrue(true); - fn() => (($test > $test) . $test); - } - function test87538b19dcc6501549184a983ed59a2b2fec97ef6a90fba2ebb1df40e680be25() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ . $test); - } - function test890589fd4424e7db60a2df0aaac91af87e08665500bd574e7e257da992cf768e() - { - $this->assertTrue(true); - fn() => ($test . isset($test)); - } - function test8970e78bb96fecbed82db9bdef3e8e55508f606d3b32c650f04a3ce47bdc4c22() - { - $this->assertTrue(true); - fn() => (($test or $test) . $test); - } - function test9162238176f0f286769f6d99622a81b5a0a5446c2dcd3826d503ffc52df5dbf2() - { - $this->assertTrue(true); - fn() => ('test' . $test); - } - function test945255ec530430572c3ca5d4aaf8922ebc97eb2a7f46cfb57aaf2be935896d5b() - { - $this->assertTrue(true); - fn() => (($test | $test) . $test); - } - function test9992a21ba57592aa541fa4db3d75b8e7231c7718a95513b8a0cbd4b75aa11199() - { - $this->assertTrue(true); - fn() => ($test / $test . $test); - } - function test9b583934beca3a698d3b9e3754b061476de1f3f57a98ab8540ab4929b58aab2d() - { - $this->assertTrue(true); - fn() => (($test == $test) . $test); - } - function test9fa200190653c25d7f1ab7727a62db3dc614a2f726f97e5c35fdaccceaf6eb53() - { - $this->assertTrue(true); - fn() => ($test->{$test} . $test); - } - function testa387f9fcb394102703dc81c29cbf5dfd907ac5f01a9136a3f128215eb4c249cc() - { - $this->assertTrue(true); - fn() => (($test *= $test) . $test); - } - function testa52dc312c3ec0aac3d670d454b0c1ff04a8e526beccee59d780caa3d50b7fcd1() - { - $this->assertTrue(true); - fn() => (+$test . $test); - } - function testa72942f52f0b53973e0f0f23ed84261c9f94f043e26219650dde461e5b04ecff() - { - $this->assertTrue(true); - fn() => ($test . function () { - }); - } - function testa8395703c4d46d6bde88862b03c0869be9dbea6c1270774da60d108433957578() - { - $this->assertTrue(true); - fn() => ((print $test) . $test); - } - function testaa8e92b76e8c8550d9f4cbf8b06910bf56d7c62d7aa3c43779ace4944b71ea48() - { - $this->assertTrue(true); - fn() => (__DIR__ . $test); - } - function testaba3290352f60a4d349d448aefa2e8cec82892c7199c2f524fd584259789abe7() - { - $this->assertTrue(true); - fn() => ($test . ~$test); - } - function testac3c1d9ebdcc9561d1d3f8aa2c726e07dae07746a15db09eba4a2496633d2f8d() - { - $this->assertTrue(true); - fn() => (($test **= $test) . $test); - } - function testb208810e5246f042068954ef668047f1a52bb54de2571d4c09fce98e326794d3() - { - $this->assertTrue(true); - fn() => ($test . new $test()); - } - function testb4c6f401e25d97246870d416eccfde2d86637ca4fb6b8427742f4bfe7c253f4e() - { - $this->assertTrue(true); - fn() => ($test . eval($test)); - } - function testb53883ed199cf314f9a27ef295b905239b0f593c6826ca2173ea565227bd6473() - { - $this->assertTrue(true); - fn() => ("{$test}" . $test); - } - function testb7f75d8e9296cadffc9f2da0d0f7c08b38f2d30ca0d40c7bd2db873093f93072() - { - $this->assertTrue(true); - fn() => (($test === $test) . $test); - } - function testbc7f3f4988cf0d7d4698a1527ac747cae3d9b00b4b53041e71394f52b08ff469() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ . $test); - } - function testbdd174efebbbc7f2bda20e12e1eb361757c53e481681a36fe544928872482780() - { - $this->assertTrue(true); - fn() => ($test . self); - } - function testbe8a90f49cdd13f38e896f4bc367c7e9b7299d8ec381ddf8d59ad0a9520d0c75() - { - $this->assertTrue(true); - fn() => ((string) $test . $test); - } - function testbf94e5e93c0018c0ca66a7b3fd9d34ace4b7b286670e986f1d76020af55c171c() - { - $this->assertTrue(true); - fn() => (${$test} . $test); - } - function testc1f48a38b318a5ad0c407f2daec702b86791ea35c640157ce060ca457a0df5c4() - { - $this->assertTrue(true); - fn() => (($test -= $test) . $test); - } - function testc4dd3cb6890873239036ee9030714577c0eb5876feb16ade601d9069442134e5() - { - $this->assertTrue(true); - fn() => (($test ^ $test) . $test); - } - function testc7c7293b3287cb3d994dd18b491f3060a821d3688e6b5e9cfc94b836b7e10c0d() - { - $this->assertTrue(true); - fn() => (`` . $test); - } - function testc99d7706649f21e59372a09003dc32ca01f38fcd914fe94a5db0af880b3f3446() - { - $this->assertTrue(true); - fn() => (($test |= $test) . $test); - } - function testca2738919a63444898158d7de0d262bca60cf0a26d866d26ccaebe4b679c714f() - { - $this->assertTrue(true); - fn() => ($test . $test()); - } - function testca31e2ca59fbb0c2a80838d56091411419d5230799a8716b049ddbea200886b2() - { - $this->assertTrue(true); - fn() => ((object) $test . $test); - } - function testcc70cc3d00ef299b58e3c247684574aef6a3b4644cb8b027cca1a810efc4b0dc() - { - $this->assertTrue(true); - fn() => ($test . ($test =& $test)); - } - function testcc9fbb0b802e3fd455c3d8ef86ff3e944ab72acdc2aec309ce5f4335f1cc76d7() - { - $this->assertTrue(true); - fn() => (($test >> $test) . $test); - } - function testcf55ccb8c9d35e76ec015f534dbce330676d603a7f813c6a7b038ec52792eca2() - { - $this->assertTrue(true); - fn() => (($test <= $test) . $test); - } - function testd109618a98c0ac8a140be93dda11a7585c35aac02aded64ba761e2c4141cab3d() - { - $this->assertTrue(true); - fn() => ($test . $test); - } - function testd25dd8b5d3ac8d9ea3a229495b4f98d7f585a11cf9ee7570456eb861eea51dc6() - { - $this->assertTrue(true); - fn() => (($test ??= $test) . $test); - } - function testd39d37a838ba40936934c4235e21222321b93c1e009fea447460cb703f11fba0() - { - $this->assertTrue(true); - fn() => ($test-- . $test); - } - function testd7b22d9419567d4c10f4bdb8806459cbf353d65a13b382c6d1f7fe95df63744f() - { - $this->assertTrue(true); - fn() => ($test + $test . $test); - } - function testda71caf5961ffff1b1a4f473a3aaa90c4cb95effa6c6c565424d7ff479663e0f() - { - $this->assertTrue(true); - fn() => ($test . $test . $test); - } - function testdf177ced57b152c9899e77f8a7ff38b811b9fe4e31b1e3cdd9963371f959241c() - { - $this->assertTrue(true); - fn() => (($test %= $test) . $test); - } - function teste87aa6a36601412b7c833ea12bbbd0bde2cab120ee081eca57ea764a5e4be3ce() - { - $this->assertTrue(true); - fn() => (($test << $test) . $test); - } - function testeb89ed65269cce50f859fd464dc8e55e27e932a34efd973767b54dff1fb63531() - { - $this->assertTrue(true); - fn() => (($test &= $test) . $test); - } - function testedbd43abed260cba0b0139a07acff8652a00f3f4169f44ca5717eb2046446908() - { - $this->assertTrue(true); - fn() => ($test % $test . $test); - } - function testf04941641e257b3aead724f4e668c9a56ac439d0100651fdf7057d05952479c3() - { - $this->assertTrue(true); - fn() => ($test . empty($test)); - } - function testf1c0fc5f17eb88ea1b5172ad6139342600ede3f5dc53b344eb291aaf0edf3792() - { - $this->assertTrue(true); - fn() => (($test /= $test) . $test); - } - function testf22fc9704f16246d3ce8e8dcd891f6100fc8bf264db5bbbf29e4ed763cb19640() - { - $this->assertTrue(true); - fn() => (__METHOD__ . $test); - } - function testf91d1024a122e253ff16b49bc1209b808e5beb67dcd1af7463160f4851641865() - { - $this->assertTrue(true); - fn() => ((yield from $test) . $test); - } - function testf9b6afda4e38dad199367281687b7dab2c0d219cff9c858645d77d4d44d1d91f() - { - $this->assertTrue(true); - fn() => (($test <<= $test) . $test); - } - function testfaa4dd32770d1b809f69cc021b06d4a163a4dc6e9dc51433cc290c175600c141() - { - $this->assertTrue(true); - fn() => ((int) $test . $test); - } - function testfafd0ce94668a2a116a56b1e4b76cf9b257357ab8afc4cc69d9b7c65be0c3a22() - { - $this->assertTrue(true); - fn() => (__CLASS__ . $test); - } - function testfd9bfc9cbbe057cfd4d06ce2f721eb3ba9f246ea2ac433b609bf6d4201152832() - { - $this->assertTrue(true); - fn() => ($test . ( $test)); - } - function testfe0667910213c02ed4a9660882571c3f54fffb7d31dfe16d373c5b87fd2e7c0e() - { - $this->assertTrue(true); - fn() => (($test >>= $test) . $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test.php b/testsGenerated/Target/Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test.php deleted file mode 100644 index 2e06d572f..000000000 --- a/testsGenerated/Target/Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test.php +++ /dev/null @@ -1,506 +0,0 @@ - - * @license MIT - */ -class Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test extends TestCase -{ - function test02688df3a5fe158f1a79503df999dc511618878604a5ab6ea3e232c009c66a43() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test?->{$test}})); - } - function test0590197ab2da5438a74f1040349f200e8e5ccf1cf7b195fade1a6dcb28008944() - { - $this->assertTrue(true); - fn() => $test?->{$test ? $test : $test}; - } - function test09f7474faecaab992769dfa51a4e7f0fe6fa1605f220beca68e1f29f7573b379() - { - $this->assertTrue(true); - fn() => (isset($test?->{self})); - } - function test0ab0b3c9a39fd96970758d2982145c970d1542ec30aadef7815203c4c1add290() - { - $this->assertTrue(true); - fn() => $test?->{isset($test)}; - } - function test0b2bea4c41ef067e3c1f8ab0187393d9bcb470a1885ba37783b5a8e2407e7c5a() - { - $this->assertTrue(true); - fn() => $test?->{$test}; - } - function test0c974302da78e707b4603629c8f05e218cb5316170550df2b1b846695e40450b() - { - $this->assertTrue(true); - fn() => $test?->{$test::$test}; - } - function test0cb5c4578608b38046c1b5db85180a2b5164b5a6c80acbbf2b8cc47899745e54() - { - $this->assertTrue(true); - fn() => 'test'?->{$test}; - } - function test0ce0544485ff90f8e586b87e0ed37f445a68786f184212da3abf30479f9da438() - { - $this->assertTrue(true); - fn() => (0)?->{$test}; - } - function test1155f47457d7afc2d2db9cd6ebd359661a947961b6e7111c3202b2fa5f657931() - { - $this->assertTrue(true); - fn() => $test?->{ $test}; - } - function test134d22bc5a83214346c515103ad346f91f10dfd05a930a25bafad77e9b3ebbb0() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test++})); - } - function test14ea21b052132135d2c90293ed950de4e9921237ca39e85ed178dc6cd55e1775() - { - $this->assertTrue(true); - fn() => (isset($test?->{${$test}})); - } - function test171c1733dd8a0964ce98eecc66291b4c52989f3ea7509684b3a75e60a30f3c9d() - { - $this->assertTrue(true); - fn() => $test?->{$test?->{$test}}; - } - function test1c37e3daec14a2c34519992ed470241f6e94a7bd00965353e094884349414ed5() - { - $this->assertTrue(true); - fn() => (isset((__NAMESPACE__)?->{$test})); - } - function test1c8f3ed1a910ccf3aedc778e66cb626a42bb307e16070c06826090be2b08190e() - { - $this->assertTrue(true); - fn() => (isset($test?->{+$test})); - } - function test1f7047f8e2870226b1cd58ad277b5afc134b2f979ddc8f63f25dfb4e9f4f30f4() - { - $this->assertTrue(true); - fn() => (isset($test?->{match ($test) { - }})); - } - function test234fa6d2fbe9274f4a1dd26460f3d2ce527b7747b95512b965b093b62e45ad01() - { - $this->assertTrue(true); - fn() => $test?->{new $test()}; - } - function test2cb0eba5fa9f69b2b8c09c9b90763743189bc6e823feb0a9e8c770825a1bf0d1() - { - $this->assertTrue(true); - fn() => $test?->{match ($test) { - }}; - } - function test2cc9ade07f0bc68da901755d109cf0da08b3b30340df32b06a1855fd8fbe75f8() - { - $this->assertTrue(true); - fn() => $test?->{-$test}; - } - function test30f22d47fbb7d40087857bd410b1be20f5cae167bfdf7a77219f9456df6721be() - { - $this->assertTrue(true); - fn() => (isset($test?->{isset($test)})); - } - function test3271145e933191347ff7159917ac6cd9d5ddf381d706512069277c2e25ecd376() - { - $this->assertTrue(true); - fn() => (isset((__LINE__)?->{$test})); - } - function test34a5d0fd401978d3735694c9329557dd2c4933aab930e377b227b22856678845() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test?->{$test}()})); - } - function test34d4c72c8d251c349e61d5b5b9659186b5e051fc9b14338296d237e0b45e6361() - { - $this->assertTrue(true); - fn() => $test?->{$test->{$test}()}; - } - function test37d926483012dc697242732220701f46fa994e75cc70b9f89c4daa676fa5c32c() - { - $this->assertTrue(true); - fn() => $test?->{$test[$test]}; - } - function test3f27d129cffd26765d6f8f6ee29cfbc043f8f13dbe4feb59501bfacaa617e26e() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test =& $test})); - } - function test417ffd2e3abd01bf225afd0af1b9f140493a6b5008ff651e8b32670f11ee40d1() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test->{$test}})); - } - function test430efd6f52173a32614b1faec6e07958d7f137931853ccb6db167cade870e98c() - { - $this->assertTrue(true); - fn() => $test?->{$test?->{$test}()}; - } - function test4475dd4bb9f2f4567369ba298c9e2a49ef8b898becc8d80e78fd1c27a2ec9f7f() - { - $this->assertTrue(true); - fn() => ("{$test}")?->{$test}; - } - function test45bb30132467932f21bc1750fd4f705486e5e425b98c4871a73f67553afafbc7() - { - $this->assertTrue(true); - fn() => (__LINE__)?->{$test}; - } - function test48297e805eb028429013ec5d97a837101de255ac4ffce49c2a3bddd7a613b52d() - { - $this->assertTrue(true); - fn() => $test?->{$test()}; - } - function test4bf8589b71a31e450f1c673dc79563ec0bbddc7d725726231814871729e141e1() - { - $this->assertTrue(true); - fn() => $test?->{self}; - } - function test513cdd8f37fd37d071b37f41a67a59f7370fc1fa1186618d280cdf6b5e1c8eee() - { - $this->assertTrue(true); - fn() => $test?->{+$test}; - } - function test52e65ec94fcc5cf8a43732590e778cf6e36fbf23999dfc38dc3f411961957d9c() - { - $this->assertTrue(true); - fn() => (isset((__FILE__)?->{$test})); - } - function test5574060b31afd0f728c9db2c91a94c20e6a534caf50039263905baf0bdbddf89() - { - $this->assertTrue(true); - fn() => $test?->{$test--}; - } - function test58b22dd8d3c310a6a98205765390dbea13e169f5fb5505185ad3317e83681888() - { - $this->assertTrue(true); - fn() => $test?->{${$test}}; - } - function test5fda0a5c50bfca045d77d8a105f72a08711b9088c870cad711985846ea651bc9() - { - $this->assertTrue(true); - fn() => (isset((__CLASS__)?->{$test})); - } - function test66e71e4525e7a144dc13c9c66fcfa18553c202ac7b9a729a68575f465e450dd1() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test[$test]})); - } - function test69e34a2f386f228bfe1c9a30ba0506fa3b274497065d4feba6988c7cf2044a20() - { - $this->assertTrue(true); - fn() => $test?->{--$test}; - } - function test6c40db9701e46d0e94d544cfe1fee8c477e207b8f6ea900178e185879d378b9b() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test})); - } - function test6c57c911fb36e4fd3683ef8019d0eb47308975c979a90737a317954f2a7e989b() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test()})); - } - function test6d208b1285cc93a3b6eb8dc077d3f9e7acd40d9b3fc8604c92feb0a2bf05ba6f() - { - $this->assertTrue(true); - fn() => (__FUNCTION__)?->{$test}; - } - function test6db7c93e33402abffa7c238dd1f93be32e6e0dea661565513a8263db96889ab0() - { - $this->assertTrue(true); - fn() => (isset((__DIR__)?->{$test})); - } - function test6e9da64c38a429eb6413eb697bde3dc4a86543e9909146f572417ebf312da7d0() - { - $this->assertTrue(true); - fn() => (__METHOD__)?->{$test}; - } - function test785590b6fb0d55e01e749feeb3ddd4d01529c3cce93bcfc7b07b9c7a67a04a00() - { - $this->assertTrue(true); - fn() => (isset($test?->{new $test()})); - } - function test7cf3605715151f0b0efadc1accf1528b2c3957233e9411c454c01063e137b9cd() - { - $this->assertTrue(true); - fn() => (isset(("{$test}")?->{$test})); - } - function test7df50cb320ce75875293185cdc41841bf0f40d6f7048734c09c2de53e876f9aa() - { - $this->assertTrue(true); - fn() => (isset('test'?->{$test})); - } - function test84710c5516397d953284a2476260eaf7aefed880251bb4c605a21b3fded557a6() - { - $this->assertTrue(true); - fn() => $test?->{eval($test)}; - } - function test864278ea0e8b7917d46949244219b5c31f9a21be03d3c1d5e31b5c4158350e30() - { - $this->assertTrue(true); - fn() => $test?->{print $test}; - } - function test8ab81b97f9a67ae6c9ac33b9fd3ea1ee5a4e33e4b0267daef99e70afcddfff79() - { - $this->assertTrue(true); - fn() => $test?->{empty($test)}; - } - function test8b01f3a58edb00028ef318ecb5f3dea696700f1c8d07e44259c3f524e85f8274() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test::$test})); - } - function test90365c32edad2b976474fb86dd47a773fa252ee261605c7da98ca3ace5eeee55() - { - $this->assertTrue(true); - fn() => (isset($test?->{empty($test)})); - } - function test97128ded9b115275b1589f45e30a45edc80a6fa1b247041905aca4a1ae59a8c5() - { - $this->assertTrue(true); - fn() => (isset($test?->{function () { - }})); - } - function test98caec4f3511fbd94a170ec3edd608fc5ea481a687a2e06a90f3542f24ac5df5() - { - $this->assertTrue(true); - fn() => $test?->{$test++}; - } - function test9a2b919172d1ba19a6ba6da44b42d073ba806ebf224922cfb7cd5b7b4b5a53d4() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test::$test()})); - } - function test9aa67bdbda55f91344537b91d4b1b7df133998d1b766587f53d9523b6592fea9() - { - $this->assertTrue(true); - fn() => (isset($test?->{``})); - } - function test9f3f727a91fb9fa57cb4f40f26a5fe0c3e13804490f20fa4a4f945ae7948a737() - { - $this->assertTrue(true); - fn() => $test?->{$test::$test()}; - } - function testa28371f5e12471fb9994ad00fce8007484954ffbf459988cb757bb8c9bf16506() - { - $this->assertTrue(true); - fn() => $test?->{throw $test}; - } - function testa5a24a29eef2b3a61a5099f271e35aed8bd9d0908641e534c649f73dd17c0a07() - { - $this->assertTrue(true); - fn() => (isset($test?->{print $test})); - } - function testa69886812834e11a580b1f559045f36303ad2528c93b13ea8945d6402df2d4d7() - { - $this->assertTrue(true); - fn() => (__FILE__)?->{$test}; - } - function testa739efc1c2ba50f8a849993edd8a645df3ee9eefdf530f2abd73195943367765() - { - $this->assertTrue(true); - fn() => $test?->{$test =& $test}; - } - function testa8f0ad4dbeeae775c576673f6cc7889063cc193c315c9f5a361c38958e3b271f() - { - $this->assertTrue(true); - fn() => $test?->{clone $test}; - } - function testaa06c81503e123d5b56f45e6cbddcd99f252d6dbf9b63055a78757a7c670316e() - { - $this->assertTrue(true); - fn() => $test?->{$test instanceof $test}; - } - function testaa30e24045f6e3548da343880fb1ee8caa7f4f163e1f9d5bcf766dbb042fc674() - { - $this->assertTrue(true); - fn() => $test?->{!$test}; - } - function testacebd0d99cc2f87506e620b236669d593e215d5296c14b6489d838dce3a8aaff() - { - $this->assertTrue(true); - fn() => $test?->{$test::${$test}}; - } - function testb2835f5976216e732f91b718bc2934317d159bbe429f80c15d62e8e70998f726() - { - $this->assertTrue(true); - fn() => (isset($test?->{clone $test})); - } - function testb4a5438efb31492e3cc601d42e1bad9eb8471eedaf82c70f723c24c869081e44() - { - $this->assertTrue(true); - fn() => (isset($test?->test)); - } - function testb5a0dafd2dd7a250a2db1d6bda031b511bfe73ed1852dcf3eedefdcf57ac847e() - { - $this->assertTrue(true); - fn() => (__TRAIT__)?->{$test}; - } - function testb5e261b13ad988a7d3c07a337e948d4c4782c99777844e815cea0a02b901739d() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test::${$test}})); - } - function testb7951548f9c008e7125a0f3675715f20fbf0b4604a11d0a98afa6c329cc18855() - { - $this->assertTrue(true); - fn() => (isset((0)?->{$test})); - } - function testb83bc1e17a817a8ef61505aff8e3f8e801a47bf8fba5c42327a357ab3044ef3c() - { - $this->assertTrue(true); - fn() => $test?->{$test->{$test}}; - } - function testbc6348d3076ef9bd2c456c6b4749ce9d2381b0d0cdceab6e259762f618ae752b() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test ? $test : $test})); - } - function testbd8e496fbce5d6200798710c8144a6d40ef09e119301b2f7ea921961538da643() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test--})); - } - function testc0cfbd3ea1df75144855f86c4fc326eb3e4a6f58ea4937dcc21b4c3768e0fe70() - { - $this->assertTrue(true); - fn() => (isset((__FUNCTION__)?->{$test})); - } - function testc31ece68acaa995484b924143abc107930317dee1f27e6b3d02e2afa234892ab() - { - $this->assertTrue(true); - fn() => $test?->{~$test}; - } - function testc92aa9565d13841ceb97d5418757514e2b11a23dcec71e13855112fcd7d7de33() - { - $this->assertTrue(true); - fn() => (isset($test?->{ $test})); - } - function testca1f89d031ca0d3337d7e4189b587aaec4c486571d1514a0e736eb1af0be0ff0() - { - $this->assertTrue(true); - fn() => (isset($test?->{@$test})); - } - function testcc4aa077a552c7a1411e6e80eec9318c35b0274fb1a411b776228f4f8407f401() - { - $this->assertTrue(true); - fn() => (isset((0.0)?->{$test})); - } - function testcc5c5ab0420eda148569259c8d8863498fad975839b70ab637ed4178a1801594() - { - $this->assertTrue(true); - fn() => $test?->test; - } - function testcc84f3e0ec74dd1771b77fae4f0ecd8df3397fa730db47f2d0be325fa5e977ae() - { - $this->assertTrue(true); - fn() => (isset($test?->{++$test})); - } - function testcdab6f133da85e6ef61d217987542722e21ec52bddd4c939badf84a6bcc0b7a9() - { - $this->assertTrue(true); - fn() => (isset($test?->{~$test})); - } - function testd29d31e368d82b372ef04020366ef72a8f6d33bd4d4affbe0545a188829909db() - { - $this->assertTrue(true); - fn() => $test?->{``}; - } - function testd6a0f6796e7aeac40fa5b6e45b8b0f1d95b4672a1728ad160f38e54d0bf97c7a() - { - $this->assertTrue(true); - fn() => $test?->{@$test}; - } - function testd6a54e98012c37967f00c087f906530fa0a8ea77c92b06bee2f3fb15309d5606() - { - $this->assertTrue(true); - fn() => $test?->{++$test}; - } - function testd6a5b723ec4a7b2a52ce353ada384140366b83017a00da828a10b96f2d3d6746() - { - $this->assertTrue(true); - fn() => (0.0)?->{$test}; - } - function testd7cb36ce11a448823f017f9ba9a96d584f4ee45294519c4fede0866431d63a97() - { - $this->assertTrue(true); - fn() => (isset($test?->{-$test})); - } - function testd8f06a3a718e97776ff24aaf552bd810c271e7ce9e4ee7bb8026c05dd9b0f90a() - { - $this->assertTrue(true); - fn() => (__DIR__)?->{$test}; - } - function testd96edcc5fe2ebd8a8ad454a6e12d2dbfd48bff097fbce459267e92d282a6de7a() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__)?->{$test}; - } - function testda3f435ce70e306b278d780cabceff6bc111711b18646547c199f7ee7972ad3d() - { - $this->assertTrue(true); - fn() => (isset($test?->{eval($test)})); - } - function testde7741ebe86e535ea84e6dd3f2eae84a6aa9aad23af5fd2c83860c74fb37f1be() - { - $this->assertTrue(true); - fn() => (isset($test?->{--$test})); - } - function teste0379f2173e7375cdd180f53d4064b314afc141153c5bf2cc45db0471d7f7a25() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test->{$test}()})); - } - function teste059bc60d64a6983923d97b10994ae20df914711341ce883e87179bcd5f34c3d() - { - $this->assertTrue(true); - fn() => (__CLASS__)?->{$test}; - } - function teste1f94b4de1a2cb21f97d8d4e19243d548fd2ffae75e9bab4ab650a7f2d923f33() - { - $this->assertTrue(true); - fn() => $test?->{$test = $test}; - } - function testeb889450f3e03f738b2e920f0b5176034979531605ec7101b8e49c86d227c98d() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test = $test})); - } - function testf03fcda238cb686f1f12cd13caf595715c5321c1d05e39d4f18233cc5a6f2c78() - { - $this->assertTrue(true); - fn() => (isset((__METHOD__)?->{$test})); - } - function testf302f28b6f6b9c61a4c011c74e0fcacb27e4df647e76e8f6860332f61ef3841d() - { - $this->assertTrue(true); - fn() => (isset($test?->{!$test})); - } - function testf3e67de2f3da111fa0cd4c9f10d016c8fa72115ad3a1f9d88ecbe0936f3ecdd7() - { - $this->assertTrue(true); - fn() => $test?->{function () { - }}; - } - function testf5a59b20cbf5161ee40c62efe1d24d0e6fbd4ff7d76855fa3118cd849fa2ce28() - { - $this->assertTrue(true); - fn() => (isset($test?->{throw $test})); - } - function testf906e32dd95848a9e76aed7e6329c308666eaf5b806f29c1838a0acff832353b() - { - $this->assertTrue(true); - fn() => (isset((__TRAIT__)?->{$test})); - } - function testfcb55087899e62d071170861b806defa6f7316b0f5a74092578cfe173694346d() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test instanceof $test})); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest.php b/testsGenerated/Target/Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest.php deleted file mode 100644 index 2d5d78a68..000000000 --- a/testsGenerated/Target/Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest extends TestCase -{ - function test00a00006a607305b45576728b956ef8a52bce80e3c0f3353e92d8fca4e3d7f84() - { - $this->assertTrue(true); - fn() => ($test << (array) $test); - } - function test0168c831208dda62f2c962a19be69c015706a2ba6f9984f3c89e354846257a32() - { - $this->assertTrue(true); - fn() => ($test << __LINE__); - } - function test051f5049ffa78b6697ab30d7218de18af6fe819d18864840ce5869a62eb4a564() - { - $this->assertTrue(true); - fn() => ($test << $test++); - } - function test05ac587bbf316661fbffc573b675bef2393f0803342c89e487c5f3890523002c() - { - $this->assertTrue(true); - fn() => ($test << __FUNCTION__); - } - function test073e95941deda36b26f7e31373ed38a7f090a8f6d1ce50e8f5de302ad96883cc() - { - $this->assertTrue(true); - fn() => ($test << ($test -= $test)); - } - function test076f7cf4b523bbc891043344efb27b10f9405aaaa288342bada5c1bc0578c066() - { - $this->assertTrue(true); - fn() => ([] >> $test); - } - function test07f6859d43ee29e237f9315df6749d893c82e70b53595a0e1646e690b6120064() - { - $this->assertTrue(true); - fn() => ($test << ${$test}); - } - function test08f2ceff9fb8e22b0266e24ff362a4fcc74438ad0b2430dea4db523fd44ed0a3() - { - $this->assertTrue(true); - fn() => ($test << ($test /= $test)); - } - function test08faeb92b1328692fbd4b253ca23f1359d771c6a3b941685f3e479a30e140fc2() - { - $this->assertTrue(true); - fn() => ($test << ($test <= $test)); - } - function test09f8e46f50dead200334068af64a39f287db689b71988eb59045cf2a887ca52d() - { - $this->assertTrue(true); - fn() => (~$test >> $test); - } - function test0acb9766a07c159541e18c3ad870be3e711a17133f74c2324cd41ee96a426ad4() - { - $this->assertTrue(true); - fn() => ($test << 0.0); - } - function test0e7487eeb75317d43a4a5c7f7f9dec32870c218bed2348419185899a3d082313() - { - $this->assertTrue(true); - fn() => ($test << $test->{$test}); - } - function test122d5a2881c48b665c1e71a325864a627253308d9a9315f1ec57323cc26836a9() - { - $this->assertTrue(true); - fn() => ($test << __TRAIT__); - } - function test13ab8a319e77437709470873e5d8b90138407de644b57b015eba5ac869460a26() - { - $this->assertTrue(true); - fn() => ($test << $test->{$test}()); - } - function test151a1fbeca5912018ae64252f5405fe84ff70a61bf02259ec366aa52aa391976() - { - $this->assertTrue(true); - fn() => ($test << ++$test); - } - function test152faf3e2ba6ce95d5e712975cfa74cfc2e29240b1d82bf232cd9edc5aa8032b() - { - $this->assertTrue(true); - fn() => ($test << ($test && $test)); - } - function test16065e0d883c8234ec9c282c126347393700738932b4fed33c332ed6f9972769() - { - $this->assertTrue(true); - fn() => ($test << ($test >= $test)); - } - function test17b749192d5594f411a9e269ff66516f5425c083d1a2d5705f42d8e0df4daedc() - { - $this->assertTrue(true); - fn() => ($test << -$test); - } - function test1c203e6038c48445c864eb6882b93b5ed894613e4302c65a348deeefc95f720c() - { - $this->assertTrue(true); - fn() => ($test << ($test *= $test)); - } - function test1f290aeba4db65c7ee4ae80dbabc40fde4e4cd4c5ece98234c0a8d5a0a4b7c5e() - { - $this->assertTrue(true); - fn() => (function () { - } >> $test); - } - function test21bcd5580b09ffd0ae689a3c289cc051859188fbadbdb8b23e39849eda096e76() - { - $this->assertTrue(true); - fn() => (new $test() >> $test); - } - function test2355885f845f230c8bf8438f4a75eb0c95f8736f27b1f452ca8c9cb53884efda() - { - $this->assertTrue(true); - fn() => ($test << ``); - } - function test244d0634087c8c3d3267ade660dedfd3ed2baa8e555c37a85f07318878a1d75b() - { - $this->assertTrue(true); - fn() => (($test =& $test) >> $test); - } - function test24af9845887fe6a37a7c5bb89c2be67eaa9b50c908c4fbea255a484bb7cf1c5d() - { - $this->assertTrue(true); - fn() => (eval($test) >> $test); - } - function test2835d9fc9ab040fb3bf45b0faab04dc1d3d598e7b03e345b108cd9756f2958e9() - { - $this->assertTrue(true); - fn() => ($test << throw $test); - } - function test28a4999efd3bf3414dbca4437f7cee869b4b0c6bb804690754ffb201b184d1f4() - { - $this->assertTrue(true); - fn() => ($test << ($test ??= $test)); - } - function test296c99f2075f9cee19c7fc1f94d0e325fc8d1551d60b975ef865a62802eb2f41() - { - $this->assertTrue(true); - fn() => ($test << (print $test)); - } - function test29b935d54b4914ad0787c92ecf890ab1c4a66296daf715a8d6df5ba867c0b6b8() - { - $this->assertTrue(true); - fn() => ($test << ($test === $test)); - } - function test2b19b20ccd97b02b6a3b4bf1863a0f1b426b056873d9ebe877ab669492df2d75() - { - $this->assertTrue(true); - fn() => ($test << $test ** $test); - } - function test3117de45a535d26e3c55ac8f7c918b859fa12a2c3096faabab44990b3f14c533() - { - $this->assertTrue(true); - fn() => ($test[$test] >> $test); - } - function test3386300680c0610e974a2ca154da78938ee1477b0797010fd5f8285f4cd726d0() - { - $this->assertTrue(true); - fn() => ($test << ($test .= $test)); - } - function test35f34a4d39a4c929704305e720e0653e4252b2874f0e4345bca222ee084a36a6() - { - $this->assertTrue(true); - fn() => ($test << new $test()); - } - function test387de076cce2945c81811fe22cb442c6196730b2291ab564bcd01574fadcd5fe() - { - $this->assertTrue(true); - fn() => ($test << (int) $test); - } - function test3b305090e9b9899f01fd886ec69b0c9822587f5858dd44972ae43b26cc65623e() - { - $this->assertTrue(true); - fn() => ($test << ($test &= $test)); - } - function test3bbdf941d0bb4ea925fce0d807a76737d28da5203189deaa3b79bd88a05437fb() - { - $this->assertTrue(true); - fn() => (($test = $test) >> $test); - } - function test3d73e1a73bc05ed7a3cc7ff98c57e164842556cc73a95aa01a79a32072a876fd() - { - $this->assertTrue(true); - fn() => ($test << ($test |= $test)); - } - function test413d5778396a593d483935867e2cb7eb66ed8314885e392141c5a285b24ca255() - { - $this->assertTrue(true); - fn() => (match ($test) { - } >> $test); - } - function test4620400ef2a8d9d5f8b2fb6e6bc8cd3813255a2d449ec0faa2894aa9a3b3fa45() - { - $this->assertTrue(true); - fn() => ($test << "{$test}"); - } - function test478aa3668c503293f89603cb5f57a86e341ff174d2f72f6bad0fedc120bf32ea() - { - $this->assertTrue(true); - fn() => ($test << __NAMESPACE__); - } - function test4891c6be5dc6cea6369b9163091f00ce3269a69e3e5350dee3aef95652dc16b5() - { - $this->assertTrue(true); - fn() => ($test << $test % $test); - } - function test4c941112880b87280fafc1fcb94fe7c926c5fac1259a4a0e7f92307f06944687() - { - $this->assertTrue(true); - fn() => ($test << ($test >>= $test)); - } - function test5065e8c99fab50a4dc406785721e70bb1f5e59a53697c7d53389057110137cf0() - { - $this->assertTrue(true); - fn() => ($test << $test . $test); - } - function test58099388477b2cc53f0ff7698c45c1673b0861be504a49ceaca9c4501e15264f() - { - $this->assertTrue(true); - fn() => ($test << $test?->{$test}()); - } - function test585f7642725d5c5870a2dab920b67b12f641ccaacda636de874e56858b44ea90() - { - $this->assertTrue(true); - fn() => (@$test >> $test); - } - function test5d1fb9f60470c675f6419a9e78ab8f520a3556f3abf576fda4b1fc86a60fdd65() - { - $this->assertTrue(true); - fn() => (empty($test) >> $test); - } - function test5dc7f60daa59e7944ea3200baac3db2845a7206018604ecbc7d9b6f0a0baad1c() - { - $this->assertTrue(true); - fn() => ($test << ($test > $test)); - } - function test6019ac7da3a5114f07e4a75e20795fec025476aad162d52371193336a7685076() - { - $this->assertTrue(true); - fn() => ($test << $test - $test); - } - function test6396bd677404cc404180b3ede6b2247aa45fbc12144899eb202812ff8d57f697() - { - $this->assertTrue(true); - fn() => ($test << __CLASS__); - } - function test64dcf78fe6be02a9167a8a88c8b335e40a0ba83210a371518ce6121bd3d00cfc() - { - $this->assertTrue(true); - fn() => ($test << ($test == $test)); - } - function test66d4ff1c591a51fdf19901d4711ca4265d3abf0adfe7d2c897b90c26f04fff6b() - { - $this->assertTrue(true); - fn() => ($test << ($test ? $test : $test)); - } - function test69a356c4d52e714be24cf6a56400adecd6645423cafc7116c697f09ef79bf95f() - { - $this->assertTrue(true); - fn() => ($test << __METHOD__); - } - function test6a20905e3fb637e6ad414186e23e178d1dab692531c94ba58f95283a40704107() - { - $this->assertTrue(true); - fn() => ($test << $test::${$test}); - } - function test6d29598ca92c2f4cd78e885971c685f0b9e86067c1640adcb3cc021b3b0947e0() - { - $this->assertTrue(true); - fn() => (clone $test >> $test); - } - function test764681cc6b6959e4523f0c8c7d3d6692a112b36fb98bc492eb682a150e37fa67() - { - $this->assertTrue(true); - fn() => ($test << ($test ^ $test)); - } - function test77bb47f453553563c13ca6c1069439bc0f08133254fae829ce2c690e0a5bbfdc() - { - $this->assertTrue(true); - fn() => ($test << (string) $test); - } - function test7e6359095d7126198f8b3c6f9c0a70c45bca2c3506b37d9abc4d355d28868245() - { - $this->assertTrue(true); - fn() => ($test << ($test !== $test)); - } - function test803bbc39092a4c013783ac4130a2a672516222dba5a1ce33c3adbdf9bfc1e672() - { - $this->assertTrue(true); - fn() => ($test << ($test & $test)); - } - function test86e94513dff6d89df3e3689048c1ef989cf7c022a269ebfd03000393dc0a8341() - { - $this->assertTrue(true); - fn() => ($test << ($test | $test)); - } - function test8f58e80acaf050b42649a07f247a1a60eaa75172db340d219d8dd59a20600797() - { - $this->assertTrue(true); - fn() => ($test << (double) $test); - } - function test936f9925282549d79e4b639f577b7691004df620988a6c92ba91f539e81ed2cb() - { - $this->assertTrue(true); - fn() => (isset($test) >> $test); - } - function test941f1fcd94c37c5518dd62ab882f08fe8c9a0b8c22d8762f997f3891cc2a86c7() - { - $this->assertTrue(true); - fn() => ($test << ($test xor $test)); - } - function test97848329199cd4a169668f57413435ff06dc28341f178c4fa896f99f58300ff9() - { - $this->assertTrue(true); - fn() => ($test << ($test **= $test)); - } - function test984864205eaf85555cc32e856e17baa7ca28f45267a45cb4dbe4d1bc3739937c() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() >> $test); - } - function test9ad43c03ef33d833f372b0c577c04e271305b7e3a732b5165998a2a7f0cea31a() - { - $this->assertTrue(true); - fn() => ($test << ($test < $test)); - } - function test9aeb164bc9b2c3a4d63a01cd27d9dfb2e3d27355f57b151e224df623df0d6125() - { - $this->assertTrue(true); - fn() => ($test << $test / $test); - } - function test9e09cbb731de0815e866fde77f089b44f70d5054d002e4ae7bfb154d0ecd7974() - { - $this->assertTrue(true); - fn() => ($test << $test + $test); - } - function test9e773db0aa6ba62dc34306c9f2d061ca02741542c5f297cb00a6ee3369744ad1() - { - $this->assertTrue(true); - fn() => ($test << __DIR__); - } - function testa3eca69227340cf6bade22211230c53d01e48cf70735ad41e592009e749f20fb() - { - $this->assertTrue(true); - fn() => ($test << +$test); - } - function testa55b8bb2a73ae7110d4b555720f3400c755d1ab4bf889da3336855a414a0d8ef() - { - $this->assertTrue(true); - fn() => ($test << ($test and $test)); - } - function testa6bfabc9e3a4728bf2bee695225f61dd5dc6870db046503a91947bc87cd6a831() - { - $this->assertTrue(true); - fn() => ($test << 'test'); - } - function testb3015bb9ada3a4c1e75b107ed35f1cd5b1181fc6c97d0ef6840cf821997432b5() - { - $this->assertTrue(true); - fn() => ($test << ($test != $test)); - } - function testb5f1719d8fdd68c8c03bb2fd058685d91a09ff797cee8c89f999680bbbb815c8() - { - $this->assertTrue(true); - fn() => ($test << (yield from $test)); - } - function testbe0bec8664222c885cf3e5b893139421250b5633dde8011a4a4fa66c7a388c44() - { - $this->assertTrue(true); - fn() => ($test->{$test}() >> $test); - } - function testc4cee44bb7a2366d6b16edbcf15c3ee1cffddb8c108d3d697a15d4937a4f2be5() - { - $this->assertTrue(true); - fn() => ($test << ($test << $test)); - } - function testc4e5eeee97ca58474b38bfd435107e28ddb5641320edcca7ec79de64ae311ed3() - { - $this->assertTrue(true); - fn() => ($test << --$test); - } - function testc717e7b25fe3205dca80d3173dc677194eaa8fec48e6754fcd2f025c7f1a80e1() - { - $this->assertTrue(true); - fn() => ($test << ($test or $test)); - } - function testc96df2b50c0e4d4fb054ad63d3a0bb7b810df85838e72c249f8e5f5e352b7569() - { - $this->assertTrue(true); - fn() => ($test << __FILE__); - } - function testca75c0b529140da07d517dbc7af5703555f01f45c05a9c5c02c43a0712355f66() - { - $this->assertTrue(true); - fn() => ($test << ($test ?? $test)); - } - function testcaa805c9442ede163b9b8e228738d4b30d6df4344336078dc190752f82dfff5d() - { - $this->assertTrue(true); - fn() => ($test << (yield $test => $test)); - } - function testcc2919f2f97132186863e5f9aefc15f1f686e3750509ac5e5e6546c1bdafe6f5() - { - $this->assertTrue(true); - fn() => (( $test) >> $test); - } - function testcf62c22023998ec258ea72274471a32194c9c7da00e622ccdce4daf838df8a6d() - { - $this->assertTrue(true); - fn() => ($test << ($test <<= $test)); - } - function testd00dfee5e0be1039c73cef659d35d685f867c31d46065e5fc354a91adfdf1deb() - { - $this->assertTrue(true); - fn() => ($test instanceof $test >> $test); - } - function testd2b10c0a82dd52deb04a47d60c72e51ffb34e0d960d46a233560f834801f72cb() - { - $this->assertTrue(true); - fn() => ($test << $test--); - } - function testd5a2be2bbe28d3398b07dcc160b03fa5074b574590127cb4b7736e9ed4a82273() - { - $this->assertTrue(true); - fn() => ($test << ($test || $test)); - } - function testd5eee0ef84fad6b11cbdfd4e8665526e5b0ddf5fcdfad7af5422aad43161980e() - { - $this->assertTrue(true); - fn() => (!$test >> $test); - } - function testd65803cf93cf42a2145d51bc5eb12d5b6ad1a285351fcec1717f5e29b63ae060() - { - $this->assertTrue(true); - fn() => ($test << ($test += $test)); - } - function testdb06ca0210291f4f26627a5dfc5caba4c174596ba8e2f46cd3ea53b687d6bdd0() - { - $this->assertTrue(true); - fn() => ($test() >> $test); - } - function testdd1c48321c07e80945c464d2e53a12a516c7961f3f91d87c85d9b35f080d07fe() - { - $this->assertTrue(true); - fn() => ($test << ($test <=> $test)); - } - function testdf2f5f5f03785959c013682bed4876dd3e1e7aff580fd5f6eec253a0098673ee() - { - $this->assertTrue(true); - fn() => ($test << 0); - } - function teste0b854042909c3d11817f9e9639e1b0f2e14500094c133ab5be2287a432c4ffa() - { - $this->assertTrue(true); - fn() => ($test << $test?->{$test}); - } - function teste2ac46872736bfc3bc343b46acd8426be426758d5de80152c1c16de4f15ab9e9() - { - $this->assertTrue(true); - fn() => (self >> $test); - } - function teste4a8acab100a942d3cd426108b94b480b976660ef75d9dedfc368f55b37a7db0() - { - $this->assertTrue(true); - fn() => ($test << (bool) $test); - } - function teste8a3af4bd9bc9fbc1940cd63ed0c9438803592a95da01e0a248fa4a8bb89dad7() - { - $this->assertTrue(true); - fn() => ($test << $test * $test); - } - function teste8a4d4f020a6b999f9515faa40864659dfb6364b0a2e50a431024ca316905aed() - { - $this->assertTrue(true); - fn() => ($test << ($test %= $test)); - } - function testeb114530396333d07d91665be2ce690caa79a61028a49c0189ecdcef195805c0() - { - $this->assertTrue(true); - fn() => ($test << (object) $test); - } - function testef64af4b1b44ac908f4420620316b25d066679c6de192f0fc255a53e53f5b31e() - { - $this->assertTrue(true); - fn() => ($test << $test::$test()); - } - function testf13dc0f9e2bcbbc6b6b2d04ecfcb547e71f902a00158b5d66409f7df479639fd() - { - $this->assertTrue(true); - fn() => ($test >> $test); - } - function testf8590c48f1037c06cce9b2b17bc6c356f8e3038d5230b4b159ea54660355be02() - { - $this->assertTrue(true); - fn() => ($test::$test >> $test); - } - function testf8a6faf07dac8dfd29efde0a2a3c373c4b24b64da9420e2ba5af07cd58ab2be1() - { - $this->assertTrue(true); - fn() => ($test << ($test >> $test)); - } - function testfc7c6a6f927db05d887fa5b2c28f0ccfba4176af4bf73c09770ec693ab7ac87f() - { - $this->assertTrue(true); - fn() => ($test << ($test ^= $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test.php b/testsGenerated/Target/Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test.php deleted file mode 100644 index a67cea401..000000000 --- a/testsGenerated/Target/Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test extends TestCase -{ - function test02473342ea5ce9faac69bb165c186f6094a8c1d310f1dc47560eadf9b7ce48ae() - { - $this->assertTrue(true); - fn() => ($test && ($test *= $test)); - } - function test03a4e5404495607c608efb1cac597936a2a86ce61b0243b9098297bd2a1f51ee() - { - $this->assertTrue(true); - fn() => ($test && clone $test); - } - function test07445323c27266fb810854d1751b1fc54ed9a24e7e73401c2ffc1941d9b88b8a() - { - $this->assertTrue(true); - fn() => ($test && 0); - } - function test07daeb2358a43492c8690dc69d98218396b603d677d43b69a4a1927682e4c66a() - { - $this->assertTrue(true); - fn() => ($test && ${$test}); - } - function test07ea1924c6ba5fbca69deb002d8d4561646e8e90c5a8f2e72892c0f07863b4d7() - { - $this->assertTrue(true); - fn() => ($test && 'test'); - } - function test085e97f281e6ad8cf1353958108775f0ded61249aff9207ffe3f2f29fb55e236() - { - $this->assertTrue(true); - fn() => ($test && $test <=> $test); - } - function test0a25dabfbfe6fde8df0304a957aebda2bf9aee38ee4276aa7921c58263dbb6da() - { - $this->assertTrue(true); - fn() => (~$test || $test); - } - function test0d01924a76cf762bd67e8ce6564cd67693a9be9332d9d2e22d481f292a547627() - { - $this->assertTrue(true); - fn() => ($test && ($test /= $test)); - } - function test0e0b840b0bcbc9e7950498d5f44baacbdcf88613ee7ebb98f3ec2052508ef0d8() - { - $this->assertTrue(true); - fn() => ($test && ($test xor $test)); - } - function test12fdf8710e2a4b7cab32c88b7d76892e83924142a35b8431faab8b84f9edecb0() - { - $this->assertTrue(true); - fn() => ($test && (bool) $test); - } - function test14a5b7cd0393cf22a3e7522eb2e70d1264e70050cf007832c270b4022d6102eb() - { - $this->assertTrue(true); - fn() => ($test && ($test <<= $test)); - } - function test192f20564079bf016410c4c50e8abe196528510ed93a50934cbad5606e857809() - { - $this->assertTrue(true); - fn() => ($test && (double) $test); - } - function test196c706559ddef6054688daf45303477c78b7567febd442257b53420a2005833() - { - $this->assertTrue(true); - fn() => (clone $test || $test); - } - function test1a0ef33c0ee9da8e909cee1d2c5ff570606edcee7db06119e18617a113c2509e() - { - $this->assertTrue(true); - fn() => ($test && ``); - } - function test1b9e63eb4f9daa6b6516e5706e4fc11201f77feb055a9d559b1cdaa24df0c1b1() - { - $this->assertTrue(true); - fn() => ([] || $test); - } - function test1c28b348fe91c79706da49302bddad6ec2cd4a9b2c7c0ca3d8dcfedc496a6eb4() - { - $this->assertTrue(true); - fn() => ($test && $test & $test); - } - function test2354275a3c4af46c66bb57698c428164f8a38577fb60ac826a4d2b82c9c0ab25() - { - $this->assertTrue(true); - fn() => ($test && (object) $test); - } - function test2de991f873b0786b0a6e55c756390870bf5bdca1900dfc3b626de89e60d774f2() - { - $this->assertTrue(true); - fn() => ($test && $test <= $test); - } - function test2e5170393474b0238e90134e2ca3b669eb8f6f7ac1ad21d86dec73558e3e4f01() - { - $this->assertTrue(true); - fn() => ($test && $test . $test); - } - function test2eae4fe227b5ba496aa41bbe66743a796724d6fb3617e4c656e731d58585f81e() - { - $this->assertTrue(true); - fn() => ($test && $test >> $test); - } - function test365e5d34778faf757e60c0ba143e3669edf900067d63f4aaea5e02caf600a941() - { - $this->assertTrue(true); - fn() => ($test && ($test ^= $test)); - } - function test38d5050ff3c735404f3fc55610caed20c7fbbbece0ee34111fd09caca902fdbb() - { - $this->assertTrue(true); - fn() => ($test && throw $test); - } - function test3a5ae57f8b3c9febb43d9319c605f63c559fbe095fd2984bb5402aad3ec8cf99() - { - $this->assertTrue(true); - fn() => ($test && $test instanceof $test); - } - function test410d8baffa35c7ae981086bdf67b6b93f9a7c825327a9ce5035e4d9562332c25() - { - $this->assertTrue(true); - fn() => ($test && ($test || $test)); - } - function test43c6e844998492873ba301462a821f1318c6a05faf7c54519a09c83423f6510b() - { - $this->assertTrue(true); - fn() => ($test && $test + $test); - } - function test4441184405b3802c0e025e87529fa7c8b2286fafd3402b584ff047d05ba2d7b3() - { - $this->assertTrue(true); - fn() => ($test && $test?->{$test}()); - } - function test482bc6bdc74d9c0458947e01088e028d5a572fe5b7698221bd17059ecbba33ab() - { - $this->assertTrue(true); - fn() => ($test && (int) $test); - } - function test4acf088783a08f40343619011017b06db03a8909910a5a5ace19a5d07dc823d8() - { - $this->assertTrue(true); - fn() => ($test && ($test ? $test : $test)); - } - function test4be94d943ba333fd2d72994e0d5bbe9931f0a04c75c97bdd641e76befc4ac296() - { - $this->assertTrue(true); - fn() => ($test && "{$test}"); - } - function test4c018b61ae6ba74e4309a2efdefaed4f84b744846f50b4535eb2e89d837b5188() - { - $this->assertTrue(true); - fn() => (!$test || $test); - } - function test4c39602a15d849da3d6b54f9b41a275a8eeb3f44e26ba29ccd46ef666a9c045a() - { - $this->assertTrue(true); - fn() => ($test && @$test); - } - function test4ef0d06f1db59a9380f9439a720d2b83393e94599b9c80a71bd444a4fd4b5541() - { - $this->assertTrue(true); - fn() => ($test && __FUNCTION__); - } - function test52b795902b659bb3f898ce95200f3ce86e245b71c01244d28e71a16df6da0588() - { - $this->assertTrue(true); - fn() => ($test && $test > $test); - } - function test52da6e38478e9f34f0e3d5d8ea1d136224ce640affe605e8c3f15f5ddf310095() - { - $this->assertTrue(true); - fn() => ($test && ($test .= $test)); - } - function test53e75031a9f7d056b4ce7fc0b6601e82bc7a9f22acffc9ccc40a560f94bc0518() - { - $this->assertTrue(true); - fn() => ($test && $test::$test); - } - function test585cc8e53708692ba92cc47f2f11ac4368ce3ce8f9d8f4263a11f8981f91e2b6() - { - $this->assertTrue(true); - fn() => ($test && $test | $test); - } - function test591580d88b0541dc12f8787e641da950e797c580305e8524499315285396623f() - { - $this->assertTrue(true); - fn() => ($test && __DIR__); - } - function test5b64ae6f242429bc34da489874fdc58652d914a3f5d6ecc8700c6759a9b617ff() - { - $this->assertTrue(true); - fn() => ($test && $test >= $test); - } - function test5f7c9ef8cee1090e81d0ed4e29b112025fd90bfcf18fbdab0e70f7de9f954a78() - { - $this->assertTrue(true); - fn() => ($test && +$test); - } - function test63bcc50b09ced5f806370043b2908385cb86d18a85ab9b0cb9e640bf8600f350() - { - $this->assertTrue(true); - fn() => ($test && ($test -= $test)); - } - function test66c70f6cd7aa9b8e9f871c477842372045c05c3a63c44c04a2ef22bc5f4489f9() - { - $this->assertTrue(true); - fn() => ($test && __CLASS__); - } - function test681c086ebf8d79650fb8199d9547e4e50d9fdcded3347c90bacd64566d387b26() - { - $this->assertTrue(true); - fn() => (($test = $test) || $test); - } - function test68cc6a350f4921ee352590d4f2043442e178043447f6478d09caa9f4ce75da4a() - { - $this->assertTrue(true); - fn() => ($test && !$test); - } - function test6cae56e4ba17b2ffac114351fdad348beca0ea738aaa4ad9441c5985cda965ce() - { - $this->assertTrue(true); - fn() => ($test && ($test **= $test)); - } - function test6d10200eb40dc9fb54557193ee535cae49e5ffaa8dae8fd3534aaf2a294a1fbb() - { - $this->assertTrue(true); - fn() => ($test && $test != $test); - } - function test6eccc2e771dc52789d2bf2a2066f2ebbede7ac2e86a1fdc4bc6fdbdf4f4fd636() - { - $this->assertTrue(true); - fn() => ($test && empty($test)); - } - function test7094e9e995078daaea1024ca7023608a33d58e70548db08da04e473a3d6b7638() - { - $this->assertTrue(true); - fn() => ($test && ($test and $test)); - } - function test71654fd3cfa90933b4cde4af98cb064c5e2c33784a829c99885f8b2b8c31a61d() - { - $this->assertTrue(true); - fn() => ($test && $test++); - } - function test723a83e1c850f1749f8fbcefd31e678593a2f135813193ee9a93a1b7083174e0() - { - $this->assertTrue(true); - fn() => ($test && $test / $test); - } - function test74eadeb4b7c4e148cc28f46e95ff2f7c7bd4deb708c04a4e889f2cdc02495c29() - { - $this->assertTrue(true); - fn() => ($test && (string) $test); - } - function test78f46b40afa9854682a8abc780bb9dcbbc2db09d228ca44d0ba7db5472a5be9f() - { - $this->assertTrue(true); - fn() => ($test && __NAMESPACE__); - } - function test7b72016a7697cf5e698a712d292e35806eca981d9c83ef096b5037f38139a6b1() - { - $this->assertTrue(true); - fn() => ($test && $test?->{$test}); - } - function test7c4cff158c9e579c3e90a5ea4aeeee6da73fdbbc357a3396d67258df465a3a5f() - { - $this->assertTrue(true); - fn() => ($test && match ($test) { - }); - } - function test7d0f353292a83708549af9d8f84449f980136d059c7548aec116deaeb111c2b4() - { - $this->assertTrue(true); - fn() => ($test && (array) $test); - } - function test8001177b057cba621c221bc718d23e86004415e474c2ec262c7ac0218468cb2f() - { - $this->assertTrue(true); - fn() => ($test && function () { - }); - } - function test833908733cba6bb455131c19713b2c1ecf06f5c919d182bbc1bd1bc0381b4b86() - { - $this->assertTrue(true); - fn() => ($test && $test !== $test); - } - function test837895fca48c47111d15567bf737e916e99f0e50729a7271bc1bfa888be85bf8() - { - $this->assertTrue(true); - fn() => ($test && $test == $test); - } - function test8bdb58a534bc33ef719275c7201dd5a6729f69bca1dfdba8fdbbc80f9c94ae42() - { - $this->assertTrue(true); - fn() => ($test && $test->{$test}); - } - function test8e032412ed8090bdaead9abbcc426baec65a6dd2d5a8f3eab76343533cd0e03f() - { - $this->assertTrue(true); - fn() => ($test && ($test >>= $test)); - } - function test9084c34597193410aaed1d672c2da17a79700b950dbcd997018c4df2ad8edb66() - { - $this->assertTrue(true); - fn() => ($test && ($test ?? $test)); - } - function test917409b55e7d0bbe70d92a72f8a739e105a0ff1b55ceef1d106e086bc1c5d045() - { - $this->assertTrue(true); - fn() => ($test && new $test()); - } - function test92383367634b6feb0c0f8443aa973a51fdafff971d96bdef54343f547f2c76f7() - { - $this->assertTrue(true); - fn() => ($test && $test ** $test); - } - function test967db1fda9ca88ff3233b269f6e9618e2d1d604fb70dab1633e0b2ae7b652ab6() - { - $this->assertTrue(true); - fn() => ($test && -$test); - } - function test999f4433e344ce25e370dc186640fc819879c2abaa2a9bd86fabd25a15a728bc() - { - $this->assertTrue(true); - fn() => ($test && (yield from $test)); - } - function test9b8bc2a1681f9d1f321a1287dea265330510c58917fbb6666d60115ce313702a() - { - $this->assertTrue(true); - fn() => ($test && __LINE__); - } - function test9bdcbad7a81c09e487a75b505ac9d2facc3afc609da1661f41c452957b8ad3fb() - { - $this->assertTrue(true); - fn() => ($test && $test::${$test}); - } - function test9c2b41f2abfc33608dc869980206d592e138972f49887f1c630dfb3420d463fb() - { - $this->assertTrue(true); - fn() => ($test && ++$test); - } - function testad8dda7cecd48e54f26da30df6ea805f589c9b9d4a73aea58160e411c7574f78() - { - $this->assertTrue(true); - fn() => ($test && --$test); - } - function testb508125ac7ea209f67087957d3b7d58d26bf4ff1cd299455e846365a2dfc5852() - { - $this->assertTrue(true); - fn() => ($test && (yield $test => $test)); - } - function testb54574cad0b28526c784bc8c1ba025d5e071f975152e10c0275d7e8519e6a970() - { - $this->assertTrue(true); - fn() => ($test && __METHOD__); - } - function testb72572d724a88e9fc41a104d1feb0e1e1f7d8e52d722df2f5185b3f440f44493() - { - $this->assertTrue(true); - fn() => ($test && 0.0); - } - function testba85512f4d96d3471814e721c12913243c6256ba9c554e4c2b8a70911ba11735() - { - $this->assertTrue(true); - fn() => ($test && $test === $test); - } - function testbb14ed26ad952a576d9d47df363094e74129882d3e1ffc1a37f46fca07344271() - { - $this->assertTrue(true); - fn() => ($test && $test ^ $test); - } - function testbb8ee314b7711bbf0b5f66b457cebdcc26a53f49eab0deb806ed19694df9d53e() - { - $this->assertTrue(true); - fn() => ($test && $test--); - } - function testbdf6581c7a168bdab2d337e7bef58026c3eb7c5f8fb62ca593b80924996eabba() - { - $this->assertTrue(true); - fn() => ($test && $test - $test); - } - function testbe4d064c6c1de703ff6dd6d1b9378862c204572e02828818a256389943968113() - { - $this->assertTrue(true); - fn() => ($test[$test] || $test); - } - function testc01321c86ff8f3025ad1dc2a0df896a052f8dbfe10ee6e0eef712752524af880() - { - $this->assertTrue(true); - fn() => ($test && $test * $test); - } - function testc3f9e164afced13887f391c37e44ad6b5478f3aca77e4eba24e64d5e1a253569() - { - $this->assertTrue(true); - fn() => ($test && $test); - } - function testc62a80841908e744d7f58702bcadccc0533f7ba5cfc629b981c23e290ae5cea8() - { - $this->assertTrue(true); - fn() => ($test && __FILE__); - } - function testc69f4fd2eca6fb5bb587b34db61fed19406f639091a3164231a2235d46d6ea97() - { - $this->assertTrue(true); - fn() => ($test && ( $test)); - } - function testc737edb5cceb153f730d3315febf25d47bfa44baaf6f45a776ca00f75820c47c() - { - $this->assertTrue(true); - fn() => ($test::$test || $test); - } - function testc77bb7103ab9bcd8f4cf95022150a8cf284d0400553d608f185158f167d25f08() - { - $this->assertTrue(true); - fn() => ($test && isset($test)); - } - function testcc879ef6ef2927e7567816fd8a2d2117f165d482031cb903426a322ac3da4458() - { - $this->assertTrue(true); - fn() => ($test && (print $test)); - } - function testd33c7aa4e9c0a6d922117d2fefbb5e029124831cb2dfce323e0fa047573be3e2() - { - $this->assertTrue(true); - fn() => ($test && ($test &= $test)); - } - function testd3a0a4624b485220afd25f98b1092a35c5ccc51eea4dd2286ffbf9aca4963ca6() - { - $this->assertTrue(true); - fn() => ($test && $test % $test); - } - function testd4540d9fb361606650855108b6f9c901bbc210e8e6b463fbb9e5449d27d25035() - { - $this->assertTrue(true); - fn() => ($test && ($test %= $test)); - } - function testd49594270b63abf8fadf92364705a769da216cc62226a571f085173c746bf866() - { - $this->assertTrue(true); - fn() => ($test && ($test or $test)); - } - function testd627b4bebd2da60946a654ea68a01699464b5a52d51a1d509064b129c0ee8813() - { - $this->assertTrue(true); - fn() => ($test && self); - } - function testd993290587e5b182295b92500f1dbefa5759afdf3d4b74d5443b058e1f996ea9() - { - $this->assertTrue(true); - fn() => ($test && __TRAIT__); - } - function testdc65955896689911c7cdfa1083e3521d9b3e2196f1d49a3c9f6fd2a332181ba9() - { - $this->assertTrue(true); - fn() => ($test && ($test += $test)); - } - function testdd1e30370ba59393f35933bc4ba2e04f7adb6f1bf7deb62d98e087c828a65c63() - { - $this->assertTrue(true); - fn() => (($test =& $test) || $test); - } - function teste312a11dadb3662afc281df10a8a3946b2ef8b67083cfafa9569cd29e24ff132() - { - $this->assertTrue(true); - fn() => ($test && $test->{$test}()); - } - function teste4ea9b0def2159c4cac4063dc030a210058af21bdb2133a2e36c6c8584ddc9f0() - { - $this->assertTrue(true); - fn() => ($test && ($test && $test)); - } - function testec23dd310695fe25ce6acd218d7afc743af7e61570be390a76ff02c0cc09cd18() - { - $this->assertTrue(true); - fn() => ($test && ($test ??= $test)); - } - function testf0325633363a33f5e46716c7d9ee9a9683f9f083ce34303ab4e50b65c450e9a3() - { - $this->assertTrue(true); - fn() => ($test && $test << $test); - } - function testf0d78bec7f1507f53498101cfba8feeda6e258c8926f5a33ff6c7934cdcbc28e() - { - $this->assertTrue(true); - fn() => ($test && $test::$test()); - } - function testf1b7052571544aeb49266798bafdaec5f6e632dce99523a12175251553ef3593() - { - $this->assertTrue(true); - fn() => ($test && eval($test)); - } - function testf59a778aee2b118c3d06078c389964dbc04f890e93cb59506ff57b6581c266d9() - { - $this->assertTrue(true); - fn() => ($test && $test()); - } - function testf8383b7614bd2814bb7690a56f10e5a60533b2f3128fe62ff8deeb58d3325328() - { - $this->assertTrue(true); - fn() => ($test && $test < $test); - } - function testfe06d664f965383b9ebccb9875789e4efb1947adf1d6e232f0c738694cb13597() - { - $this->assertTrue(true); - fn() => ($test && ($test |= $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test.php b/testsGenerated/Target/Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test.php deleted file mode 100644 index d61f07cff..000000000 --- a/testsGenerated/Target/Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test extends TestCase -{ - function test028b4e6af7983cdcb2420224a8f168d56f21a6ef6c19f4cb712c88e485535276() - { - $this->assertTrue(true); - fn() => (($test /= $test) ? $test : $test); - } - function test03a08945fe531a0c97d8a76dfcf92b413af0e96e183c65fa2aaaa8fcaa9b3b03() - { - $this->assertTrue(true); - fn() => ($test <=> $test ? $test : $test); - } - function test08d54c71107ede27375097a647be84a53980916ca7f23072c632e3c7ff3f2e3d() - { - $this->assertTrue(true); - fn() => (($test =& $test) ? $test : $test); - } - function test0b57edba9ca0521813ef703b9433867dc9a16703a709189092e8f9bcd8083c96() - { - $this->assertTrue(true); - fn() => (isset($test::${'test'})); - } - function test0bb385f13b6a01636c1089128c5a0c03f751e2b4b8b93fcef948844b7781a8bb() - { - $this->assertTrue(true); - fn() => (($test and $test) ? $test : $test); - } - function test1089e7675c4d24f734b7b068862f006c99f0ca053abc99e733b1a39cb8c90462() - { - $this->assertTrue(true); - fn() => $test::${__LINE__}; - } - function test1777450b09023f9d3a681248b0dac7f3faf3d74d2aa1d7a113ccd19658c09187() - { - $this->assertTrue(true); - fn() => ($test || $test ? $test : $test); - } - function test178c554698b259419dbada35b51ec82297972130331c2921b9a3bba2032436a6() - { - $this->assertTrue(true); - fn() => ($test - $test ? $test : $test); - } - function test1a626408619a98cd9f82b1e47482053b108f2ce4ac954f64d73fd86796332d60() - { - $this->assertTrue(true); - fn() => $test::${'test'}; - } - function test1d05a0d33e86300e8a665ffc6bf7842fdcf1a56f1de8050bb2327e5e8b27b587() - { - $this->assertTrue(true); - fn() => ((yield from $test) ? $test : $test); - } - function test1e51c2ffaef628f233c27cc6e01160c1b662084fbb76641131a3bc8b0f70e556() - { - $this->assertTrue(true); - fn() => ($test | $test ? $test : $test); - } - function test1eb51b67ca0690c8f2dea6d1f6fa95e51a9185c7b730a1ffdd74003e40b42274() - { - $this->assertTrue(true); - fn() => ($test?->{$test} ? $test : $test); - } - function test1f4dd891e5b5d78fdb7cf9f084a8b65e4cacc45ef56a1f05494e39c51eb5df7d() - { - $this->assertTrue(true); - fn() => (isset($test::${__FUNCTION__})); - } - function test23091ce38f6b7716817880d90d631642981602702dc6571b02eef2b95a355373() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() ? $test : $test); - } - function test29c0c54892da72cb996eda9fd1a9b0cc21a693e2655e9ef8643813e5123cee1c() - { - $this->assertTrue(true); - fn() => (isset($test::${__NAMESPACE__})); - } - function test2eecf77f8312818c5f016685acbfddf318619fe6bfce28902deee87ce3ffc9fd() - { - $this->assertTrue(true); - fn() => (isset($test) ? $test : $test); - } - function test3056ca2743f4d9a61bd6e8acf43118d3d4dbcb6a16e4c4a6d576306fc55a4b51() - { - $this->assertTrue(true); - fn() => ($test[$test] ? $test : $test); - } - function test321742c7258148d5ed91dfe54b868ed45592e1c862e97e3cf8a29a99040ef523() - { - $this->assertTrue(true); - fn() => (throw $test ? $test : $test); - } - function test391306720b721473b119a994cfbbaa8c9ac8f205ba433f53ed5d2c1138cbc8a7() - { - $this->assertTrue(true); - fn() => ([] ? $test : $test); - } - function test39184657034b245768f3287e2ba2fd9eb980ab2b43953420f7c4204120511896() - { - $this->assertTrue(true); - fn() => $test::${__CLASS__}; - } - function test3c8bdc78cef7858b2cfc1fb702cbf7533bce939a4e64758c661795e80b11130c() - { - $this->assertTrue(true); - fn() => (`` ? $test : $test); - } - function test3d77cae824faa781f8c0ff56b94ed1db6cfd497845a612d77f565251e6b91980() - { - $this->assertTrue(true); - fn() => $test::${__NAMESPACE__}; - } - function test41b94db1d50e844be4542533d3f25fd9b21ab6e1671baa2ff9a246b1b464e4a8() - { - $this->assertTrue(true); - fn() => ($test-- ? $test : $test); - } - function test458f142c0ff646d41f18a8c8ba10f67677153a57f39f3a1a1f2186ac0298a1d5() - { - $this->assertTrue(true); - fn() => (($test >>= $test) ? $test : $test); - } - function test473b820d176528a2d448e28e5048c10ea3e5866ab188777e81eb968c39fb7af5() - { - $this->assertTrue(true); - fn() => ($test ?? $test ? $test : $test); - } - function test47bb61d060dfa7e366d43e0501f82ad1c60b92cc9947fcc9314ea445fb417672() - { - $this->assertTrue(true); - fn() => ($test / $test ? $test : $test); - } - function test4839747206c9591cbde2862a77979b8d3d78d6552b2c5279a93a940af2c4418f() - { - $this->assertTrue(true); - fn() => (eval($test) ? $test : $test); - } - function test49f8d07ffe514b3680d1e2f2b18357354bc9e1e839359053ac8d4365f96a9618() - { - $this->assertTrue(true); - fn() => $test::${__FUNCTION__}; - } - function test4b32ea9e4ebfa6b63e83dd652fc726cd1b8f3224d92158a81144ed06363c9ba3() - { - $this->assertTrue(true); - fn() => (($test or $test) ? $test : $test); - } - function test4fa4bc6dfa3d861b32ceb07612ef6678b851fb2b48ef5ee4fb841106604d7d33() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) ? $test : $test); - } - function test52d091ad84c92380ed293d01f161504711d29faa910d71ba25ba1620c8c99ce9() - { - $this->assertTrue(true); - fn() => (@$test ? $test : $test); - } - function test541f701979e8135ff9714e8fb421c5365841f0b52a497ad55977d7a67f92c9fd() - { - $this->assertTrue(true); - fn() => ($test >= $test ? $test : $test); - } - function test54de4143b855c86e2fa319b5fcd444483c0a84a3706b4c484145f6bc66fa56e9() - { - $this->assertTrue(true); - fn() => (($test = $test) ? $test : $test); - } - function test55b9447a8f1bc3f9d4fd79ed9a889c072d4758248fb0bb47b1b1d803d04d2d42() - { - $this->assertTrue(true); - fn() => ($test * $test ? $test : $test); - } - function test5606a7b5eb428a9d2839af38870f06471ae890522e2e3fcf3b2fb4a568096884() - { - $this->assertTrue(true); - fn() => (($test <<= $test) ? $test : $test); - } - function test5681eda5468613e414f02eb9839e7bb45643789a359a56b9a75335ddc84e8439() - { - $this->assertTrue(true); - fn() => (++$test ? $test : $test); - } - function test5e3530d1c9fd90e5bbec15d4dad15da86b2215aada5bbafc96b16448e5f3f882() - { - $this->assertTrue(true); - fn() => ($test < $test ? $test : $test); - } - function test5fb2971e275342b31f4519c4401095fa44074428d1cab1c7dec8c196c4fd1813() - { - $this->assertTrue(true); - fn() => $test::${__METHOD__}; - } - function test67d6d424d68c07d11cd510bfb13b412a51874318efbe3b8492f6a8f564982fbd() - { - $this->assertTrue(true); - fn() => (isset($test::${__CLASS__})); - } - function test6ae4b4df816ce55fbcc2e86e6625449bc2fc863841800cd1ce8a9e0f49f78ca1() - { - $this->assertTrue(true); - fn() => ($test instanceof $test ? $test : $test); - } - function test6c2cde25223a41b28851335726e295e40fab56d2ebea1138c07dde1748767bd4() - { - $this->assertTrue(true); - fn() => (~$test ? $test : $test); - } - function test6decd42218fec3f0e0d912ca01b107e00961437488a31c93dcdf89b09b561ff3() - { - $this->assertTrue(true); - fn() => ((bool) $test ? $test : $test); - } - function test6df681addd72d70ab3ee64bc3f23ea94ea951c600382a03d79bd69040c7ca240() - { - $this->assertTrue(true); - fn() => ($test & $test ? $test : $test); - } - function test7098e260352e363c8489298d21fb08a29def76bf942e5360390f50f7c5347570() - { - $this->assertTrue(true); - fn() => (($test -= $test) ? $test : $test); - } - function test71005a341cbc840db50869bb8944049449cae01f962ea1beac13b55269a26273() - { - $this->assertTrue(true); - fn() => ((array) $test ? $test : $test); - } - function test71dc38294027d9593c6079f4999dcea23e62b7341125f117aba953a0bf1125d4() - { - $this->assertTrue(true); - fn() => (($test **= $test) ? $test : $test); - } - function test7554be4968ce34c2f5d7c1a4829297e31d2282f0ee2d919c646d2ea3c1c750e9() - { - $this->assertTrue(true); - fn() => ($test . $test ? $test : $test); - } - function test75ac0ec200e528319ef2c9eb4599679513d5022de006dd5c35c1e800e4748244() - { - $this->assertTrue(true); - fn() => ($test::${$test} ? $test : $test); - } - function test7acdaa41d1ea6e32e7846b61694bb56398484f7482e0246494195a19a1db3a0e() - { - $this->assertTrue(true); - fn() => (clone $test ? $test : $test); - } - function test7d01b7d6f6aa55426aacddd337f7286752b8e7eec54ebf8e0319ea6a53ea3026() - { - $this->assertTrue(true); - fn() => (isset($test::${__DIR__})); - } - function test7d5b2a15449e4faeb3a3c93636a7ca403f86cd21a64162bb6c434bc142386221() - { - $this->assertTrue(true); - fn() => $test::${__FILE__}; - } - function test7da50276e7d2af1ee8656f6b50b561b44f6ea71fa376b4d5f294e21eefcd19bc() - { - $this->assertTrue(true); - fn() => (($test ??= $test) ? $test : $test); - } - function test801623c7d09077d978901d5d9eb3b5bacd4a5652ccd04192f9dd51b5615985a5() - { - $this->assertTrue(true); - fn() => ((print $test) ? $test : $test); - } - function test838d5401c4a8ce957c8d9dc7bb04c68c7aab989b9ae115e85f4bd82bb2929913() - { - $this->assertTrue(true); - fn() => (+$test ? $test : $test); - } - function test857c74c81ee8bc1449b68dcb1a54edf0e94106f05ae4128bb0f986b5082700c6() - { - $this->assertTrue(true); - fn() => $test::${__DIR__}; - } - function test885719ea87d3094e74eda95eda570a7c748cfb7d06ec37a7f1693ab3ab22b18d() - { - $this->assertTrue(true); - fn() => (($test |= $test) ? $test : $test); - } - function test8a3669bc54a2c44ee62c88df4e81b20f839e5f3d14f92a7c45f19a58605e60c8() - { - $this->assertTrue(true); - fn() => (($test .= $test) ? $test : $test); - } - function test8f9d6678cfa54451f999bead5703ecf3ae838378a848f5bab5a6e8f667da9363() - { - $this->assertTrue(true); - fn() => (isset($test::${__FILE__})); - } - function test9381ff38746c1fc86963f5170f0d0151eadf3827ba3503f8b08375a86529f187() - { - $this->assertTrue(true); - fn() => ($test << $test ? $test : $test); - } - function test98decb1aac73ab4fbf0d07f119ebbc1b3a9bbe8f7fc5e059e96dd974aea65aee() - { - $this->assertTrue(true); - fn() => (${$test} ? $test : $test); - } - function test9aae05c83126d1032bb585a5155f110188113c373c7d8d16e49a2b97929beb92() - { - $this->assertTrue(true); - fn() => (($test += $test) ? $test : $test); - } - function test9b4b1b27cf7e8772a47b9efc06ec53e41fa7cae3c7c399ea204e697536eae3cf() - { - $this->assertTrue(true); - fn() => (( $test) ? $test : $test); - } - function test9d3cdfe72daf712aab896adcb51e2b261dee7234a0d2610161eb8593236a1da4() - { - $this->assertTrue(true); - fn() => (function () { - } ? $test : $test); - } - function testa3d84a9244abbb34b2d33c34037b2c82c20dfb579a996faec99dbf70dc9f9e61() - { - $this->assertTrue(true); - fn() => ($test::$test() ? $test : $test); - } - function testab75e836d95150d8036cf4a3ea9461e1edaf74488c20e72e3811b6cc64d98928() - { - $this->assertTrue(true); - fn() => (isset($test::${__METHOD__})); - } - function testab84ed33eea429cf62504feef502dd1cb9684f351ff894778a788b1034994ac1() - { - $this->assertTrue(true); - fn() => ($test && $test ? $test : $test); - } - function testadd00a414189d0acffcd379826fd40c0f115caa8e46e6a60fdce18498d40959a() - { - $this->assertTrue(true); - fn() => ($test != $test ? $test : $test); - } - function testae506916f7d7441af50c69705c3121f68184b23639be6d61416f28ff2fbcca4c() - { - $this->assertTrue(true); - fn() => ($test->{$test} ? $test : $test); - } - function testb18e7a687d873b90f90779f5365193f43960061dfc21c6369fbf7c0bbc3ee35d() - { - $this->assertTrue(true); - fn() => (new $test() ? $test : $test); - } - function testb59afb807e1cc1bbdf7e5efb83e23051226048be0ba35a875e9c8ef0343bdb45() - { - $this->assertTrue(true); - fn() => (match ($test) { - } ? $test : $test); - } - function testb61cf1059bd0cb588f7dbfb78bc30e992722033f534f3aba2fa033913ae377a8() - { - $this->assertTrue(true); - fn() => ($test % $test ? $test : $test); - } - function testb68eaf5e3aa783808284ef65c005b4135ec1e7872235e4a14e75444788a03cc3() - { - $this->assertTrue(true); - fn() => (($test xor $test) ? $test : $test); - } - function testb85c338bba2ce90d38d69dae5d2c94e002aec26cdc391be289e4fa9f4fbb1d20() - { - $this->assertTrue(true); - fn() => ($test == $test ? $test : $test); - } - function testc3b736c47a88cdc7fdce9ffe77be5e27730bf3d0f3604b3056cc74b37e30d4fc() - { - $this->assertTrue(true); - fn() => ($test > $test ? $test : $test); - } - function testc67c28aaaa054f942ff238395109371fbdab01b4e8f7219975f9731c31b01eb6() - { - $this->assertTrue(true); - fn() => (($test &= $test) ? $test : $test); - } - function testc7c9c45d733169714e808d69ff2aa982c793682703c54888a27b309f4aa587bb() - { - $this->assertTrue(true); - fn() => ($test++ ? $test : $test); - } - function testcf109d1f9708d76c9d82c8813f9970034600ceeed8105094b5b93da34cf19d0e() - { - $this->assertTrue(true); - fn() => ($test === $test ? $test : $test); - } - function testcf78af9e8da00229bf235a6b6d7173823ac4d9dbc2d0085d89de0583f4557a29() - { - $this->assertTrue(true); - fn() => (($test %= $test) ? $test : $test); - } - function testd37bccf9fc4372839b1f85bdf336eccf9b3f4feb4c4a53b3d688f9745e203ab1() - { - $this->assertTrue(true); - fn() => $test::${__TRAIT__}; - } - function testd5cba16b5605063a765bae0c23a10cc0be8ccf3233bb3f0ead4d5d48cb1708c5() - { - $this->assertTrue(true); - fn() => (!$test ? $test : $test); - } - function testdb421130e32a728c5210ae31cfa7e60b6d573b4958614153322c0c171f056e17() - { - $this->assertTrue(true); - fn() => (self ? $test : $test); - } - function testdf4d4e2ee67f4b1efa4067c94d3c3d35e6c38cd0c6e8971420b2d79fd7267b91() - { - $this->assertTrue(true); - fn() => ($test <= $test ? $test : $test); - } - function testdf6d72a2830d8c1d651fc32425a1582f2419aff5a7482c17c8c53296a0d13450() - { - $this->assertTrue(true); - fn() => ((double) $test ? $test : $test); - } - function testdfae97c8f2d84acb819bbc8fa448f33907598a02cd020a4d94a49f08e314e028() - { - $this->assertTrue(true); - fn() => ($test + $test ? $test : $test); - } - function teste0e170ebe43b1cf16822d8f973785183a8e6177d53bc9139b5a970374aabfbcf() - { - $this->assertTrue(true); - fn() => ($test >> $test ? $test : $test); - } - function teste67bfc2443b8600f262420cdb578ac551e102b9a309ee0ad02bcd5a5ec81e5b8() - { - $this->assertTrue(true); - fn() => ($test::$test ? $test : $test); - } - function testeb1ed5813ef6df9738cc830726ece9fb070c99d796f14d0cac28cded578a537d() - { - $this->assertTrue(true); - fn() => (empty($test) ? $test : $test); - } - function testebbc841d45aa925b3c63425b10e7ecdf2149c702f188afc73e7056ccc9d65fa4() - { - $this->assertTrue(true); - fn() => ($test() ? $test : $test); - } - function testee0d2710b472934362569f21b69711905b708a1ab32230f3ffbd0149393aec9b() - { - $this->assertTrue(true); - fn() => ($test !== $test ? $test : $test); - } - function testee0f7386153e953a83a9345f23b7d843ace61a5ac2f2f25043dc165b88269f8f() - { - $this->assertTrue(true); - fn() => ($test ^ $test ? $test : $test); - } - function testee3dc04784793d4cff57c9d7f1cb719b2ce70cb859d7b1747bbede4dfcc1397a() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) ? $test : $test); - } - function testee7bab7b9da1489a7a408caf5ce52c1051129ee4ea91a8b7d24765c72f2f7dbc() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test); - } - function testef59bab17eb36dada330882d8a9c9c9b2ad1bf965e6e000f6dc19f025686640d() - { - $this->assertTrue(true); - fn() => (($test *= $test) ? $test : $test); - } - function testf21e186196530e5a9a642c30e07783198950741f54ba9a060dcccf56e142055b() - { - $this->assertTrue(true); - fn() => ($test ** $test ? $test : $test); - } - function testf25ec2ef3baa60fe6d9a32c0c9a9040af496e8c3031bef5b8cfeb81a07d32f58() - { - $this->assertTrue(true); - fn() => ($test->{$test}() ? $test : $test); - } - function testf41c6b6ee2bfbe23f739a518c047ea7af8766a042ea9c87f1ab8fa258fa19164() - { - $this->assertTrue(true); - fn() => (--$test ? $test : $test); - } - function testf52fca63e80f9d2e6d169895292872db07c7263ab20cc8a1dde7975c7ab41ce8() - { - $this->assertTrue(true); - fn() => (-$test ? $test : $test); - } - function testfaa3002ab6a50a9b3d4313bf8e17126efb20f4f714abc84ff98516b1db6f0c74() - { - $this->assertTrue(true); - fn() => (($test ^= $test) ? $test : $test); - } - function testfdf1d8000a6ebf21c75fbe1e5fe1baae6d3b474a5cd6daafa74934255fdae3d1() - { - $this->assertTrue(true); - fn() => (isset($test::${__LINE__})); - } - function testfdf37697753f18c6f90ad75a189b6b653ec5f3b8fc806d69c950cd35ace4d173() - { - $this->assertTrue(true); - fn() => (isset($test::${__TRAIT__})); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest.php b/testsGenerated/Target/Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest.php deleted file mode 100644 index eec96d89d..000000000 --- a/testsGenerated/Target/Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest.php +++ /dev/null @@ -1,516 +0,0 @@ - - * @license MIT - */ -class Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest extends TestCase -{ - function test01574be8cc17ccc46fa3792febea4ae5583ed2107ef720577fabd5ac63d51e5b() - { - $this->assertTrue(true); - fn() => ${$test ? $test : $test}; - } - function test03001eb5634db5b3d282246da3911ad52c47c3e5f9bca3d1042b0bad091fa337() - { - $this->assertTrue(true); - fn() => ${$test()}; - } - function test04dee0482f0968c6f40a5c1914ddeca86b71d6622e54a5eb4a2dc1b82fe445f1() - { - $this->assertTrue(true); - fn() => (isset(${print $test})); - } - function test06d9f6beae3a53da02bf163edca99fb8c13e57f9af16ee073f2763adf2730136() - { - $this->assertTrue(true); - fn() => ${function () { - }}; - } - function test09df478e3d0353f867a36c6d1bb1a986ef7c9e26f0624e065421944c99e98551() - { - $this->assertTrue(true); - fn() => (isset(${$test()})); - } - function test0bb7f2e6521ddc7420f8320409fc962995269da911cc6311bfe255296ffd6990() - { - $this->assertTrue(true); - fn() => (isset(${$test::${$test}})); - } - function test0d8af592ba2613199a64170e300081d48e8a204f6946f5903a9b3ad9a627ce9b() - { - $this->assertTrue(true); - fn() => (isset(${$test *= $test})); - } - function test0e01687a41a26dec4dc7648507d1fa1ec3c8287f39a8adf82e41f7cf43b53557() - { - $this->assertTrue(true); - fn() => (isset(${ $test})); - } - function test0ee1b20a34e730d3ac200f5b7e4170462e82521ce7d69548b9541160095b1295() - { - $this->assertTrue(true); - fn() => ${$test =& $test}; - } - function test0fac571d0411eac5a0bbf701594a251b8b1907d8c2b03cb67710c0471e126b61() - { - $this->assertTrue(true); - fn() => (isset(${empty($test)})); - } - function test133b0d26f9a7da7d80c458ec391b1f4cc97611235a45160679585b3378052532() - { - $this->assertTrue(true); - fn() => ${$test %= $test}; - } - function test1831700415122f90b1c7113092aa9013696f682d2037b5a615dc7733da075650() - { - $this->assertTrue(true); - fn() => ${$test ??= $test}; - } - function test1cd0db299972e9cd6225e6810e9f8aa5107f0cb9c444fad20751673987f63ec7() - { - $this->assertTrue(true); - fn() => ${$test <<= $test}; - } - function test1eefc5625bdee907be4729fe7e616ba0bb5a13eb495204649a9d950685140563() - { - $this->assertTrue(true); - fn() => ${self}; - } - function test243a4664c77380b6df0f15240677d01eedd4dc5604dc1d0246fa10a1daf84738() - { - $this->assertTrue(true); - fn() => (isset(${$test::$test()})); - } - function test2c3b223324710b00df93fc48be4771993b735804e42530a06f587f69895226ff() - { - $this->assertTrue(true); - fn() => (isset(${``})); - } - function test3260531a3e26148f3841fb9856127f55f1ed70f847792cf6295851d897e4039a() - { - $this->assertTrue(true); - fn() => ${${$test}}; - } - function test3714ee0c903324cf541aed5b38d5779ccecf9dfdc1607283c100322052109eb8() - { - $this->assertTrue(true); - fn() => (isset(${$test ??= $test})); - } - function test3817a708de5b534362efa62bff5ca3474543fd15bc79a1518903027cc3a89114() - { - $this->assertTrue(true); - fn() => (isset(${$test =& $test})); - } - function test3a1d61104e504d3dca439b950daccb3dee47b11eb3275ac71595a037e6eaf3e6() - { - $this->assertTrue(true); - fn() => ${++$test}; - } - function test3fb0a01ec96f417122b7ed230852ba565369192c02312550f90dc6a7bb290611() - { - $this->assertTrue(true); - fn() => (isset(${eval($test)})); - } - function test4226cdeef8cba685653b2c3e1e2fa1690d8ff308d4b4ce8c061414131c8539f0() - { - $this->assertTrue(true); - fn() => ${$test /= $test}; - } - function test487a414cc8ae8b4481f43d6a7929754969fa8f45afab089f09c323f82be7d940() - { - $this->assertTrue(true); - fn() => (isset(${$test?->{$test}})); - } - function test48a1a0138fe29934567ab3a7ff05727758bd40c8bd1a5423d80d74bec7d4b08f() - { - $this->assertTrue(true); - fn() => ${-$test}; - } - function test4e25d62d7ebe7cae3dea38c3e5e41ee5770b3cab8a7ad0300677288a0140b4ed() - { - $this->assertTrue(true); - fn() => (isset(${function () { - }})); - } - function test4f6ac513eae6ccfa8c6297d7c81461e6990d8d413b85b22ee827697597688965() - { - $this->assertTrue(true); - fn() => ${$test ^= $test}; - } - function test4f761674036bee5dcaa7c6125290d4cb6cc61c48712c2d6768b18610a8e793d6() - { - $this->assertTrue(true); - fn() => ${~$test}; - } - function test56a231a11892f739c518dc393dbc8a39771b4197fca67e83d54a5a90ebb1c530() - { - $this->assertTrue(true); - fn() => (isset(${$test **= $test})); - } - function test5788d87dadc262362c74afdf83a1a2e584674dcc4d8fdd603e9dffa8edee656e() - { - $this->assertTrue(true); - fn() => ${empty($test)}; - } - function test5ab178bb7d4831cd02045dd810b681c73d9b16b8665ad2fa0bbffc43a4b8c2cc() - { - $this->assertTrue(true); - fn() => ${$test?->{$test}()}; - } - function test6126f8480508d7f1924b375a095261093dad08d8f1bc84e5266fa8ca60b84159() - { - $this->assertTrue(true); - fn() => ${$test = $test}; - } - function test624cb9b5cf4a06453f727b5e4ff71534f22774779519056d6d9c9d03b93cdbf3() - { - $this->assertTrue(true); - fn() => (isset(${$test ? $test : $test})); - } - function test64e854f017b811f6539536abcc49192436ef051e92c91221df27ab4692aca33f() - { - $this->assertTrue(true); - fn() => ${throw $test}; - } - function test65f923025bce56dc8a279eb37e62592603f739d3060f1009dbec629c3ae75a15() - { - $this->assertTrue(true); - fn() => (isset(${++$test})); - } - function test6a298c6e6e46598390ecf7116914c280a5c8668298d40d738c372dde4bba5c56() - { - $this->assertTrue(true); - fn() => (isset(${throw $test})); - } - function test6bff7fbe3c37ab6dcbcfc49d952db837e956e2f4f45eaf0a76de94698d0b4311() - { - $this->assertTrue(true); - fn() => ${``}; - } - function test6c225f12d8501aedf3745faa31eade4e795fde2a5f9c83124cad771b07ef2353() - { - $this->assertTrue(true); - fn() => ${$test->{$test}()}; - } - function test6c283ae90ff966f32407d39b831a514221a7355f1c16a8381552d6c2eae32a51() - { - $this->assertTrue(true); - fn() => (isset(${${$test}})); - } - function test6d8238e61c5384b6abc5f1d2854edb72b1a4747fe57afa8df516464c5849a178() - { - $this->assertTrue(true); - fn() => (isset(${$test = $test})); - } - function test6f8ad1fecd3ae405850b85b34d2fb6310689fbedf68c25b3bb7812d097167486() - { - $this->assertTrue(true); - fn() => (isset(${self})); - } - function test7bbc0511da3cd9d0cc44ffb6a980f7026cd98c6d3d5fa13af740f1685d544db9() - { - $this->assertTrue(true); - fn() => ${$test instanceof $test}; - } - function test7edfc22d611e7f419a92e7dfb670f59da7c748ee1e73e04c3766bdeb4c398cea() - { - $this->assertTrue(true); - fn() => ${ $test}; - } - function test803bb651c4ffc1d30f35767473c8e265f746b07f87f7db12eebdcb02116c8032() - { - $this->assertTrue(true); - fn() => (isset(${$test instanceof $test})); - } - function test80fa4526b54437c1015baa3c181c3027302406fe0cc42411c97b188ab3eb510e() - { - $this->assertTrue(true); - fn() => ${print $test}; - } - function test82810e1198257f19bc424468523d71e54b503358ada1b981c768b6f1e9f6b3d7() - { - $this->assertTrue(true); - fn() => (isset(${(yield $test => $test)})); - } - function test87be738abf96eee6a2cd432414ece62ce751ffe1fcc31b9bdc99202791d355c9() - { - $this->assertTrue(true); - fn() => (isset(${$test[$test]})); - } - function test889c6aa70289b909942bab78f3694a8eb8b4befb6f1166521aabba8e19d34cce() - { - $this->assertTrue(true); - fn() => (isset(${$test ^= $test})); - } - function test88dca66a4f788ec4e31a17c9d46f2f62ee1b9f5d2ad96139921f01a083015de1() - { - $this->assertTrue(true); - fn() => ${eval($test)}; - } - function test88e3c15525c763fe7f19301b23e32d54effe744d603b87390384843fb55264a2() - { - $this->assertTrue(true); - fn() => ${!$test}; - } - function test90d2f9a7ba34914cd473c5a35b6fb50d31b0d268150505d0203ff14cb52f48c9() - { - $this->assertTrue(true); - fn() => (isset(${match ($test) { - }})); - } - function test916e91175442264fe06876f6d6c51d59c971f55b0105d349d8d26aac38518d27() - { - $this->assertTrue(true); - fn() => ${$test += $test}; - } - function test91bfd371686e5de155fea1a4412f05d9673a044e4e3fb456b017ae3844280f61() - { - $this->assertTrue(true); - fn() => (isset(${new $test()})); - } - function test9345e4a811f1725558a7a80cabe23289fc8ebc7d71b775c4ebd27c26b11847de() - { - $this->assertTrue(true); - fn() => (isset(${$test})); - } - function test97e96906711976a1867336ed7cbb56e265fda06e42cee95f94cefbac9ba6d6c2() - { - $this->assertTrue(true); - fn() => ${isset($test)}; - } - function test9846617c293b91be1684202f98095403201cacacd8c12deace351ffb16e030db() - { - $this->assertTrue(true); - fn() => (isset(${$test::$test})); - } - function test985e61935ebe75d221093fd2f40a55516fc3025ed0b5ee29edfb0183fc6e6eb8() - { - $this->assertTrue(true); - fn() => ${$test::${$test}}; - } - function test985ee5b89f7bead0adc60aaafe8f11714c2b614a1620a0854076d53ed2a6353d() - { - $this->assertTrue(true); - fn() => ${new $test()}; - } - function test988607df4cb4ea1c449f0991ce6ce018c6558f38ef5868623fdaaf3d1caf148f() - { - $this->assertTrue(true); - fn() => (isset(${$test += $test})); - } - function test991ff4cb80eacb930ca026018fa94b5baaa9c078021767765eceb49706846217() - { - $this->assertTrue(true); - fn() => (isset(${--$test})); - } - function test9fe8e2b40374304c9c4fedc871e57fb47cf7de06c2815e7bde543d6c4cba67c8() - { - $this->assertTrue(true); - fn() => (isset(${!$test})); - } - function testa3c7c28c8e86ab279db6ab9118e501c2bb29cc663e98a3552560d057b936b05d() - { - $this->assertTrue(true); - fn() => ${$test *= $test}; - } - function testa74449d93d0ffe14627939bd04dddcb513b57348ca3306033ae7cfee2d77aee9() - { - $this->assertTrue(true); - fn() => ${$test **= $test}; - } - function testa96450da48cb3f506cb3440c6bebbeadaaafddb37940b74d4d7e7c1382bc47a8() - { - $this->assertTrue(true); - fn() => ${$test[$test]}; - } - function testaaeeec6716955a6dddda420a2d0c4290f954f73e041fc38778b5f41ef64a865a() - { - $this->assertTrue(true); - fn() => (isset(${$test--})); - } - function testaf8b7787f096f1981160e6e78bfa9a6e79ea8d502e56395fe2debb1a64eca4b1() - { - $this->assertTrue(true); - fn() => ${$test &= $test}; - } - function testb24c0cfdd94349d68fd497ee3047ce2e8596cc1fcfef126942408d149b9c71e2() - { - $this->assertTrue(true); - fn() => ${$test}; - } - function testb2f6036ccc6749a3e46dacc1c943447f6c82c75ec89abdbfa439a52bd6d63269() - { - $this->assertTrue(true); - fn() => (isset(${~$test})); - } - function testb53e202a2a90238e2695cd5c12c2079cd6bfd5b5b79a1f9ce72428d4af160436() - { - $this->assertTrue(true); - fn() => (isset(${-$test})); - } - function testb5c96723b78fdc781709759858e18dbba9e56d6881dc27ad634b35ee9e14e064() - { - $this->assertTrue(true); - fn() => (isset(${$test->{$test}})); - } - function testb64520be3e79840b2c3fd114b64f236e0c6f052369274a47095b37fc73bc9eb4() - { - $this->assertTrue(true); - fn() => ${$test |= $test}; - } - function testb73f6fb1c28b4dddf422477b32571f9f308e02329905a4b50dc9179e58442606() - { - $this->assertTrue(true); - fn() => (isset(${$test |= $test})); - } - function testb9bf5cbe492689a7b55e0a9f0b26bdd1e452f09a85b71bc9b414423befbeb13b() - { - $this->assertTrue(true); - fn() => ${clone $test}; - } - function testbcd9804ae1b3a1bea791a8b6ea5b63ca5e6356ee5d99a8a72e5b8f0c65d290e8() - { - $this->assertTrue(true); - fn() => (isset(${$test++})); - } - function testbd1ff06e7804b609d5e3c5fc8d11c161d08a1811ddb401542634511adbf7799c() - { - $this->assertTrue(true); - fn() => ${$test::$test()}; - } - function testbd4232050067cb00f18bf08aa118705630a5ddf22a9e41bfa04d381aa05797bf() - { - $this->assertTrue(true); - fn() => ${$test?->{$test}}; - } - function testbf0e68f4691bbf89fdb4d3e4192cd2c160c52a5a079aa8a1b4bbbd2f58ecaae8() - { - $this->assertTrue(true); - fn() => ${$test--}; - } - function testbfbf5ba1cc18825fda5a02c713421c4d43551004e84d8217481600e6571dd59b() - { - $this->assertTrue(true); - fn() => (isset(${$test?->{$test}()})); - } - function testbffa7bc54866315667b838592bbf7247ab00c6142fee0d3744d91c5e08698210() - { - $this->assertTrue(true); - fn() => (isset(${$test->{$test}()})); - } - function testc19d85708c1f2631b2ec91dd2695f1d0e5d4d425f5bb762e1c180de384b4c3a0() - { - $this->assertTrue(true); - fn() => (isset(${$test .= $test})); - } - function testc380caaf54f795918f160eba2bb3ff4b02e9c076433e92b65b8f819c26652135() - { - $this->assertTrue(true); - fn() => ${$test .= $test}; - } - function testc6399699bc527479bc8ce138ee7755e9de3db52220fd3ff66196b9e6ecdd7666() - { - $this->assertTrue(true); - fn() => ${$test->{$test}}; - } - function testcb5648fd2fba469d5313b92713751cd07d13696e3ae5fd99e848bb04165d348f() - { - $this->assertTrue(true); - fn() => (isset($test)); - } - function testcbbb2a41c3043e1c143a1e2908aa3d0588872e343dea6d665d7a101c83bc5aac() - { - $this->assertTrue(true); - fn() => (isset(${+$test})); - } - function testcbd99d09bf5f6532f11f5641bf76ba7b9b102850a613e3a5cbe7319ac3347dc4() - { - $this->assertTrue(true); - fn() => ${$test -= $test}; - } - function testcd8315fecc2769e316e0d16d81afd95bbe66e24bc028d45ffa7e43e65dd80942() - { - $this->assertTrue(true); - fn() => (isset(${yield from $test})); - } - function testce6b45bbe9eaebdc3654b37227960a500d18a9ee57fd86fa2646dabf05eb8710() - { - $this->assertTrue(true); - fn() => ${@$test}; - } - function testcfd3ec80514aa0b317ac790d9b3cc555756f425241e04531e678e3544c0b5ef1() - { - $this->assertTrue(true); - fn() => ${+$test}; - } - function testd8809866e24ed387837cbbd6b439d09906c52742a0729b46f28a5893829e7ca1() - { - $this->assertTrue(true); - fn() => ${$test::$test}; - } - function testd8ecd3b7e42f971cafae3f6fc10074833f0b526596e1b609fde55c9871da4530() - { - $this->assertTrue(true); - fn() => ${$test++}; - } - function teste09d13afe022674d65bf121209f217b3e1e3575584ca91ac4f646228aebd5480() - { - $this->assertTrue(true); - fn() => (isset(${$test /= $test})); - } - function teste2a27b2e5b4bb1176d0b939ec6c9c62db5ad74c3d2be068375d47f82c16892d6() - { - $this->assertTrue(true); - fn() => (isset(${@$test})); - } - function testeacc34a6efe012cb32f8202aa9aa1ea4039b421c5540d031b6eeb8442d146c1e() - { - $this->assertTrue(true); - fn() => ${(yield $test => $test)}; - } - function testebff16ebd17067691c89e10f021bc59a5f938fbe79f3009992829ff09f815726() - { - $this->assertTrue(true); - fn() => (isset(${$test %= $test})); - } - function tested851988131740611e51ec0e6c1be3aa53498d443351b1d533121f70d357f3fa() - { - $this->assertTrue(true); - fn() => (isset(${isset($test)})); - } - function testef392e76050477bbd43a326c68bec16e494186d84719f58d25eeda1560e0f553() - { - $this->assertTrue(true); - fn() => (isset(${$test -= $test})); - } - function testf4aff0fa54d2189b99b0823024f2afd6f4a03a79b00c8d06b3573dbbf389cb33() - { - $this->assertTrue(true); - fn() => (isset(${$test &= $test})); - } - function testf606307ddcc5cd6709b13b3186b048022ac88aa15642a9921b1141d1d24888e5() - { - $this->assertTrue(true); - fn() => (isset(${clone $test})); - } - function testf97ebe3159674cc694e1ee121a9f6ed9978ec943b48b34684def5bd65a9eef5e() - { - $this->assertTrue(true); - fn() => ${yield from $test}; - } - function testfbe7b648778b5a06d03170ece34b898e3a27159486990f342ef3342a78192fee() - { - $this->assertTrue(true); - fn() => ${--$test}; - } - function testfdee69b6c1269d0c2e5ddbdd167bbe0bbfa98fe8429ad3c3da5b27091b1f7d27() - { - $this->assertTrue(true); - fn() => ${match ($test) { - }}; - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test.php b/testsGenerated/Target/Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test.php deleted file mode 100644 index 66746de8a..000000000 --- a/testsGenerated/Target/Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test extends TestCase -{ - function test004330aa54696afeebdbf15f7e5528a01c060ff37a73b507fed6ec4e435e0f1a() - { - $this->assertTrue(true); - fn() => ($test !== __DIR__); - } - function test0569d9bba8a820546c748228512240430cb51e53765b87494ab3d4a2b2946034() - { - $this->assertTrue(true); - fn() => ($test !== ($test ^ $test)); - } - function test056ef3ccfab7feb13ed72a1dc18b0c2bb60f565f45b5840e0331c16c0dfaa44a() - { - $this->assertTrue(true); - fn() => ($test !== ($test -= $test)); - } - function test06c6d49f5c6471f374e1df0fa3cc0f710bff80fa98e353ec902a61413549c1d3() - { - $this->assertTrue(true); - fn() => ($test !== (bool) $test); - } - function test085ecdf0f70f0f31b58198f2586fc05b8f20baf2e63cff6ec34cae951ecfd1ef() - { - $this->assertTrue(true); - fn() => ($test !== ($test =& $test)); - } - function test10608f63042f03781a06d54a662ccc676bbd4523a6f422cb2f6197b9b9f047ac() - { - $this->assertTrue(true); - fn() => ($test !== ($test && $test)); - } - function test10b6b27cba5dab70643b5ed4039609a65d5d68989f92afb573c2182cc0ac1a4b() - { - $this->assertTrue(true); - fn() => ($test !== ($test .= $test)); - } - function test1227d15e0bd7643582cfdc21ac56867b6bec202555a8d56aa019713ec7b753a5() - { - $this->assertTrue(true); - fn() => ($test !== ($test *= $test)); - } - function test197cc91d3bb1dda6cc492a15ff95c21599ec7869d1b21292ad87ff998cb1ab70() - { - $this->assertTrue(true); - fn() => ($test !== ($test ? $test : $test)); - } - function test1abd9a56f83de9e149b30d4310ece1c1bce1464fe1e03d9a006cae1adc5f3ebb() - { - $this->assertTrue(true); - fn() => ($test !== __METHOD__); - } - function test1e078918ef9bae68aeb81c4b503cfd7ae18b705bfa7d602a980f6953aea8cc58() - { - $this->assertTrue(true); - fn() => ($test !== $test->{$test}()); - } - function test2020ab44fb6e3367ac5eda2865ccb7cfdbd4a09a19fc21add66085b6ceda938b() - { - $this->assertTrue(true); - fn() => ($test !== (object) $test); - } - function test2256517284a800ef1f83f9b40741d1d6332d34a305f5422296af5fb6ffee0a04() - { - $this->assertTrue(true); - fn() => ($test !== $test instanceof $test); - } - function test2aafe043232644872b744acd44158c6ce0931e69d298346086ed988ea2e16e87() - { - $this->assertTrue(true); - fn() => ($test !== $test < $test); - } - function test2ed60f06cb6d1550fcacf8205567ea90e673bd5e2ae81cd88477faabd108fbdd() - { - $this->assertTrue(true); - fn() => ($test !== __TRAIT__); - } - function test2f242112b5eb747327a1f0f3bd3c292154e74170215e7ae2167b996f8cffd9ec() - { - $this->assertTrue(true); - fn() => ($test !== ++$test); - } - function test30214adbfd9434dcc0cde04de72b5a75dfbddfdbf3f1d30fc58e830399480b57() - { - $this->assertTrue(true); - fn() => ($test !== ($test ?? $test)); - } - function test331ba5d7e3df0a6bfc4c48f9ced0cefb1e59a95ecd87d561ab048594f410dcd1() - { - $this->assertTrue(true); - fn() => ($test !== ($test == $test)); - } - function test37ad09c347b77572260850eb3077f2a72ad97db3807cca8a9ad3d665b7251e5f() - { - $this->assertTrue(true); - fn() => ($test !== ($test || $test)); - } - function test37cecad784016f931ce77f9f42979d34d897c8924afc1077e17c057279bcfb75() - { - $this->assertTrue(true); - fn() => ($test !== $test++); - } - function test381330bcd87f0903a480574f24977146b6b90482cedd79f7aab1e0ed0dc6421d() - { - $this->assertTrue(true); - fn() => ([] + $test); - } - function test39df9c12710c4880c0b0948df9954ab12c265b4337f9b71bcf83fa583b0b3e4c() - { - $this->assertTrue(true); - fn() => ($test !== (string) $test); - } - function test3afe572f1f3e41bd5e5979bf64f6ad6336ab25b3fa1ba21d44927ec77914c715() - { - $this->assertTrue(true); - fn() => ($test !== __FILE__); - } - function test3b29e7bdec58b15b0214f94c868feb3e2eafbb7f60514ab35d54567f291c9436() - { - $this->assertTrue(true); - fn() => ($test !== $test::$test()); - } - function test3f2983df81ad8098ddd569b9b1d26088184610940ec1f723511b97c76bb51452() - { - $this->assertTrue(true); - fn() => ($test !== $test <= $test); - } - function test40eb2b77e798b47b7c8ea4978b94e53c94d6fd12eb919fa3b6f56618640e7c97() - { - $this->assertTrue(true); - fn() => ($test !== 0); - } - function test43277df416bcb4c5204e7d181377e4ea58c612b23e3beba3c39e459637b94bef() - { - $this->assertTrue(true); - fn() => ($test !== ``); - } - function test46dacd877a699c63fd5d33f40359db898704f21f541cea3d27ee996bdcea53b3() - { - $this->assertTrue(true); - fn() => ($test !== eval($test)); - } - function test49e83906af19ade5b5b8b74ef533064bec5523f77997e89dad953f8f5b3761c2() - { - $this->assertTrue(true); - fn() => ($test !== ($test xor $test)); - } - function test4e86c96a67426b5d4d1010d55333ac74ccc5cd5323d91acc37d03f442293c82c() - { - $this->assertTrue(true); - fn() => ($test !== match ($test) { - }); - } - function test4feabbec7e18288df64b4dbf1b891ce4c28a5b4433385a8b1292eeeba04b3f5c() - { - $this->assertTrue(true); - fn() => ($test !== $test?->{$test}); - } - function test5264db9b69c99d441cba8f8baa13c1575ab1a5668bd168f94d87ff758ab65a80() - { - $this->assertTrue(true); - fn() => ($test !== "{$test}"); - } - function test59e9202fbf6fce4ffd84967983c5f87342e2f3b499b407b113d13765edaf0be7() - { - $this->assertTrue(true); - fn() => ($test !== $test - $test); - } - function test5ae18d778190d62a708542ab2dee5e829bcb73ec6c7a858a92a27ef73b8549e7() - { - $this->assertTrue(true); - fn() => ($test !== ( $test)); - } - function test60181ecd1e90c7ea134fd1e53c84d7e1b7cd3858e9559ef8155d870cae7b27f8() - { - $this->assertTrue(true); - fn() => ($test !== -$test); - } - function test635d50fdee21fe5ac50bb915664a3afe7b0047c8747ab62384a108028df383bc() - { - $this->assertTrue(true); - fn() => (($test =& $test) + $test); - } - function test65e03a15068d7044d91274b5148ccb0dacc56e046f81973ec255f2ff1541c451() - { - $this->assertTrue(true); - fn() => ($test !== $test::${$test}); - } - function test688981e48b8c81527d07a424a0b301f95d93d0ac1fb8fcbb2cdcf762eaddba59() - { - $this->assertTrue(true); - fn() => ($test !== __CLASS__); - } - function test697d56f5e88027bd96747e57282b4d46e3429c645003ea4e7ad6bbf1fea8db6c() - { - $this->assertTrue(true); - fn() => ($test !== ($test **= $test)); - } - function test6ace8f0294138bd4a1d8e7ea39435678a4fb8430c62764d4b158c8b4651eb549() - { - $this->assertTrue(true); - fn() => ($test !== new $test()); - } - function test6bb8e4d59d98189c38e598edc4705593561814f79d5c42f8e46b5eb74af1e390() - { - $this->assertTrue(true); - fn() => ($test !== ($test and $test)); - } - function test6c273ef3a75e503793994b6e0a66c7ea0b7923164e686e4385c1d74749751031() - { - $this->assertTrue(true); - fn() => ($test !== ($test or $test)); - } - function test6d7573c474522465dadf6f2f2ffb38852a1ce8fcdd575b886cd9ae2c3713af9d() - { - $this->assertTrue(true); - fn() => ($test !== isset($test)); - } - function test71c09ca7b374367ce59f6b164c5cbb46d592c5e6182f32adad094f20e5069385() - { - $this->assertTrue(true); - fn() => ($test !== __FUNCTION__); - } - function test7254c66b5fe827869d5ce7918465de72bd86d00802e2ac43bc1549e7e63da5a3() - { - $this->assertTrue(true); - fn() => ($test !== $test * $test); - } - function test72fadaafc461bef02305a427de905b41379898cbcb19a6aecc9005fe6cb349e2() - { - $this->assertTrue(true); - fn() => ($test !== ($test >>= $test)); - } - function test74569c4d9f58c968eb64d1d3d83d8551b029b0f8397020cce55cbf05dec41287() - { - $this->assertTrue(true); - fn() => ($test !== ($test <=> $test)); - } - function test760261f6caa0b109f5af91b88fb0263f1598ecb172d01d7193ecfcf4b4d69c42() - { - $this->assertTrue(true); - fn() => ($test !== (array) $test); - } - function test7c414d4e8583c276dc405599e293b950130b9135e2f444d5bcddab6d587a3e3b() - { - $this->assertTrue(true); - fn() => ($test !== $test >> $test); - } - function test7f7f0fe451cf5f82ad3f870dd6e90c31cca20e38466a6fddcd080baf2540fa07() - { - $this->assertTrue(true); - fn() => ($test !== self); - } - function test8399ae3ec1db20d7c294378076fbfac3b05e78bffa02909df31732328d4cb7e9() - { - $this->assertTrue(true); - fn() => ($test !== ($test !== $test)); - } - function test846d9e9cdbd376987e67ec7e030ee5c9ded2f81708e2486057b50ddc0fae0b83() - { - $this->assertTrue(true); - fn() => ($test !== throw $test); - } - function test861e2fe50b0525158533957ae6b3508f6512a07ed15d5815b2015c242b6c01b5() - { - $this->assertTrue(true); - fn() => ($test[$test] + $test); - } - function test8c28b2cee4da71fd5fdd98acdbad4a629c073d446cae21a524ea31d8b71e676d() - { - $this->assertTrue(true); - fn() => ($test !== --$test); - } - function test91116ec5d34ae7cdf95cb972ab5ba0d20da87e828d555999647ba354365bb2bb() - { - $this->assertTrue(true); - fn() => ($test !== ($test === $test)); - } - function test91e3d3f917bffc3e405630092a3ac7011150de73c8bf0221ae991421278e5871() - { - $this->assertTrue(true); - fn() => ($test !== $test?->{$test}()); - } - function test92b66725c93e126a974352ddad29abfde7605447743d18f5557de3060d3d653a() - { - $this->assertTrue(true); - fn() => ($test !== ($test ??= $test)); - } - function test92ef75bcd5c2430b65c359767c421e1daacc798b7459b1b06af2520991766b9e() - { - $this->assertTrue(true); - fn() => ($test !== $test ** $test); - } - function test99c93194944b0d16cda813c14b4d724b9f9611be499e6a11ac61980c6f42642c() - { - $this->assertTrue(true); - fn() => ($test !== $test::$test); - } - function test9e240811f80e5a38c150959876e2953ed36bb5d991858499ae896902007b2062() - { - $this->assertTrue(true); - fn() => (($test = $test) + $test); - } - function testa17ca5ae90c18a4ae9d5b798bf0ae12aa3d8ff939d3b53f0ab0b2b89836f1aa9() - { - $this->assertTrue(true); - fn() => ($test !== ($test /= $test)); - } - function testa368deca1cc3aac664bbecf18fad956f827314c96932fed960addfb389fd7221() - { - $this->assertTrue(true); - fn() => ($test !== ($test <<= $test)); - } - function testa5a97dfbee60c6fdb329a3eca1c9eeb5a27f303ee7886217b4d6f56ae0c304fc() - { - $this->assertTrue(true); - fn() => ($test !== $test->{$test}); - } - function testa72f531f8b0438a0f1f428a9dc0fe2d33de3c74180dc3b1e32133a39b6666698() - { - $this->assertTrue(true); - fn() => ($test !== ($test += $test)); - } - function testa94f12182b83190c7ab0ca5158d9a844e926999d092d364640637de6bdba0035() - { - $this->assertTrue(true); - fn() => ($test !== []); - } - function testab3b0281ff2efa0979ace5e2fb2497e3862495214d9fd622910b233d5732a686() - { - $this->assertTrue(true); - fn() => ($test !== ~$test); - } - function testac463734915987978580ae87552eb47a48240f0b8d7d6ccd80e8c8d75647771b() - { - $this->assertTrue(true); - fn() => ($test !== $test()); - } - function testae1c63f78614d90216a20b7d4ada3a28151d72d8ebb9ec57186fe9f613d53beb() - { - $this->assertTrue(true); - fn() => ($test !== $test << $test); - } - function testb0a5cba7e96aca52eed675e30ad22aa2747cf6f9fa4b55bfbeba316dfcd2f961() - { - $this->assertTrue(true); - fn() => ($test !== $test--); - } - function testb0cda5ba967b2b8626db30d4490e88a58e6fcd1a617ee01ea9402f5d90d70af6() - { - $this->assertTrue(true); - fn() => ($test !== 0.0); - } - function testb146c629e9201fa3272b5f2a5b53938b7650cdfefad1719ce01cbbb96006394b() - { - $this->assertTrue(true); - fn() => ($test !== (print $test)); - } - function testb2bb39ec782150a57aee976575bc25ecff29c706f610bef3ccee45033fb575e1() - { - $this->assertTrue(true); - fn() => ($test !== ($test | $test)); - } - function testbb77b61fdb4da95236f63dc19772910f0ccf78377e3bd7fe557300224eaff0e1() - { - $this->assertTrue(true); - fn() => ($test !== $test . $test); - } - function testbf6eedfa6365c0378276bfa3d4a0706e43ea732849b1af63756e154c092f278b() - { - $this->assertTrue(true); - fn() => ($test !== @$test); - } - function testbf8005f1243160559848fc3eb5dc880ff9435d51aebeae67d2b1ec177d7854bb() - { - $this->assertTrue(true); - fn() => ($test !== $test > $test); - } - function testc295acadd5de9237b0c728fe888af4f712c7428692160493efa531f76df070d2() - { - $this->assertTrue(true); - fn() => ($test !== ($test %= $test)); - } - function testc46ee4c7df3f32811208f5818b2da363803888980e72b02096c0ad4bcd465950() - { - $this->assertTrue(true); - fn() => ($test !== $test + $test); - } - function testc74501d951dfd4797eb3628ec8af8477e201de5f4931c66a124b1f821205991e() - { - $this->assertTrue(true); - fn() => ($test !== (double) $test); - } - function testc97b09f9a76153859c1d0f89cfd62ba54740a70023caf07ef529736f0e63bdd7() - { - $this->assertTrue(true); - fn() => ($test !== ($test &= $test)); - } - function testcac2a26ab34357b0b6b7b049849cd7bcf5643111ff043dc5d4a3dc6b9477de16() - { - $this->assertTrue(true); - fn() => ($test !== __LINE__); - } - function testcc03629ee99ccba725fadd845e2034a07a0f13a9b76375d80d4f31ca69fd5ff5() - { - $this->assertTrue(true); - fn() => ($test !== clone $test); - } - function testcd497ca4f1cd7a92f8ad20a2b1c722dda6be8c97882fcf7d3a91dbd28af5ca36() - { - $this->assertTrue(true); - fn() => ($test !== __NAMESPACE__); - } - function testced8ba5733d9baf252d467b52ffc5d6785cd365909be53f18f9fa58a72bb2f15() - { - $this->assertTrue(true); - fn() => ($test !== $test >= $test); - } - function testd1dc7df93ea77be278c874809efc150340a57c728fa58de98cac14cf19773e6a() - { - $this->assertTrue(true); - fn() => ($test !== (int) $test); - } - function testd4491084d69636dd43ea5fef8f98ede157c490b795e4f4912483f0c009243b8e() - { - $this->assertTrue(true); - fn() => ($test !== (yield $test => $test)); - } - function testd63dd617e4e03cc8b1673dbf9d6aacdae78a96c66d5d40bb3c19762d6c34699f() - { - $this->assertTrue(true); - fn() => ($test !== function () { - }); - } - function testdb1f2f7d5735f538d277b4ae4539eb8ea854d5d75ea3dc37233d20d6f35b365c() - { - $this->assertTrue(true); - fn() => ($test !== ($test = $test)); - } - function testdcb9173361f3311c980f23b68fe9a369a3b8b91fcd2da2816dbcc547494a17d1() - { - $this->assertTrue(true); - fn() => ($test !== empty($test)); - } - function testdd070fd5fdf20713e7066ac75a11cc3b0059cfbca31a591f3211a8c5701ff46e() - { - $this->assertTrue(true); - fn() => ($test !== +$test); - } - function testdf4787caa621ad4a9aca48361fc39fb2777bf2e9b47cc1e311e765d13f4b12c3() - { - $this->assertTrue(true); - fn() => ($test !== 'test'); - } - function testdffd26433aca1e552adfffd583c01ac5558088040087e773e23e63ac3ecb01e8() - { - $this->assertTrue(true); - fn() => ($test !== $test / $test); - } - function teste053fed17f7896092999a5e9608202806c88fb52b16a295e58e56cb549eb03bf() - { - $this->assertTrue(true); - fn() => ($test !== (yield from $test)); - } - function teste2578511ff8a44fcdbfb1ff6f52ff4868452635c60f5d595ece7ed757d582450() - { - $this->assertTrue(true); - fn() => ($test !== ($test ^= $test)); - } - function teste2b120eb2e67f74746b4863749c931e09a023d5dda4d7125a18c8ac777dada80() - { - $this->assertTrue(true); - fn() => ($test !== !$test); - } - function teste92fe5a36f3203b8bb9f52527cc9316aad108209d6dbef9a0c1f7ebfef0321b6() - { - $this->assertTrue(true); - fn() => ($test !== ($test & $test)); - } - function testec8d496a6e4c31736182be54a7e8428e49e7c4b27e1cadce98857d04720b45dc() - { - $this->assertTrue(true); - fn() => ($test !== ($test |= $test)); - } - function testede16d105644a4e51b3d7c92c7f1f354e9afff204a1ccc87e206afaf52647309() - { - $this->assertTrue(true); - fn() => ($test !== ($test != $test)); - } - function testef27b5bb5fc81c610a1b12f608b03a220e2e11ed523967841bc05f4a9f9b0f30() - { - $this->assertTrue(true); - fn() => ($test !== ${$test}); - } - function testf23440aa3b5c3afcd1273ee099fa02c16c722974856291d8e935de6f3e8c1a28() - { - $this->assertTrue(true); - fn() => ($test !== $test % $test); - } - function testfc8029a55f6f2d054d92b1b8b2a5927e334aac260961432ba6f2e42c48e47de8() - { - $this->assertTrue(true); - fn() => ($test !== $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test.php b/testsGenerated/Target/Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test.php deleted file mode 100644 index d80c7a595..000000000 --- a/testsGenerated/Target/Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test extends TestCase -{ - function test027721f1f55393827a24f131167cf39a74a707c96bfec22e01164cefcfcfda2f() - { - $this->assertTrue(true); - fn() => (+$test++); - } - function test02874d715a954ea05e70c9c3cfd5a749bba4e5f4eaacd909508c918d27544328() - { - $this->assertTrue(true); - fn() => (+$test()); - } - function test04b322b851273b07a64c2891ef500422a7326341da77dbc4482b956ba1b37451() - { - $this->assertTrue(true); - fn() => (+-$test); - } - function test0d2ebe458bddc694a8f7aa90b0b1fb41a47d86ec9207a324e5abf11f56dc0b7a() - { - $this->assertTrue(true); - fn() => (+($test - $test)); - } - function test1179ea8e5a3532cf1e8b823b9ee5ccfa08a24bd4d13ae87d904bc68f735fb255() - { - $this->assertTrue(true); - fn() => (+function () { - }); - } - function test14a0377576dd14175bd0bc1ead97a4b1344fbb89736722aee52360cdfb093aa7() - { - $this->assertTrue(true); - fn() => (+($test * $test)); - } - function test1650d8f8174289f621cb89b96ac0ddae8d241c5bd8dccbde2027fe8cd5b4f5b8() - { - $this->assertTrue(true); - fn() => (+($test >>= $test)); - } - function test18329b039c78e0122e157d8f9d4daeb3d7adee26fcc88c10410fe49480ca5934() - { - $this->assertTrue(true); - fn() => (+($test -= $test)); - } - function test1a23b1892f71af82c864e26dd5f1ce9c3357622252b60c8778eedbfe8e2ac6ee() - { - $this->assertTrue(true); - fn() => (-__METHOD__); - } - function test1a298a8163534744f341605a9f5dc808660c91b3e7cd47922f8c5e86292025d2() - { - $this->assertTrue(true); - fn() => (+__CLASS__); - } - function test1ab3c0b8191e72a52df0a62115ee6715ea08bfaeefa83bf27e08a0abc21e5f7c() - { - $this->assertTrue(true); - fn() => (+($test ??= $test)); - } - function test1abd692f8ff0cde31a6bc812ed683875dd387e9e902e4714c5b0629d103f7c7b() - { - $this->assertTrue(true); - fn() => (+__FILE__); - } - function test212c3b7c1c6d0ec038350a69e992bb56823a865c0c15327a6690a1565d07891e() - { - $this->assertTrue(true); - fn() => (+($test . $test)); - } - function test232ea243b60272ed7d6ae343dfcb8d3192ba449548b7c4353d868369a4abf602() - { - $this->assertTrue(true); - fn() => (+($test == $test)); - } - function test290854fc5735ba19ba3a3ad881b7154ae894206eb288e10189456a76ed57c3c5() - { - $this->assertTrue(true); - fn() => (+0.0); - } - function test294b5a836e3d23eca484ba7948fbeab3f21e45bcf7b8f3fa8a2c90aa920be337() - { - $this->assertTrue(true); - fn() => (+throw $test); - } - function test2a38e026e62e9f383ba3bb7c7b9d160a5038c7953bddb2b2990222400384350f() - { - $this->assertTrue(true); - fn() => (+($test ?? $test)); - } - function test2d1f802dbd66f61ba674214b834b5b15687e2579e62fd208b3d1564d2dc23a1d() - { - $this->assertTrue(true); - fn() => (+__LINE__); - } - function test2d87ba516b5a679e2e36f12ac86544e105b6094405f3f3c7cf5f1623769c3741() - { - $this->assertTrue(true); - fn() => (+~$test); - } - function test2e01b08ef54803edde42b82e36f6c4910d74bed92114c57d153c29bbb9e4feae() - { - $this->assertTrue(true); - fn() => (+(bool) $test); - } - function test2f24fd28c725028eed5e61bdb250daf9267d768a3f886facceb8c97f80281957() - { - $this->assertTrue(true); - fn() => (+(object) $test); - } - function test30e26a3ca9078da0a1a02cb4a41c085f0a074b75a88089d582445263cda3a0e0() - { - $this->assertTrue(true); - fn() => (+--$test); - } - function test35ddad67944af3d2f5433fffbe8ce61b6c5e97a81c82f6e9b6dbe1fd1a1d76b8() - { - $this->assertTrue(true); - fn() => (+$test::$test()); - } - function test361e9c42ed014877596e1150b86663855e38cf0edac2d949b50a3a6855cc98b4() - { - $this->assertTrue(true); - fn() => (+($test + $test)); - } - function test3644adfdc054ca6e67e319e19ab9bce0d966ed5d509157a56ca90f5c2d5111c7() - { - $this->assertTrue(true); - fn() => (+(double) $test); - } - function test3722906de9deaa2a35944bfd842bfca1e6ddc15d7ed2795086df43cd3602ff01() - { - $this->assertTrue(true); - fn() => (+($test < $test)); - } - function test3ceba1bd88b7391fd1368425ddb456c7909e289b7f9f351b176f7c96120fa950() - { - $this->assertTrue(true); - fn() => (+clone $test); - } - function test3ede19bb6a817f657a43c04e001d627cc9761f7497f85e5462c0f973e4182de7() - { - $this->assertTrue(true); - fn() => (+($test |= $test)); - } - function test3ee5526a7eab5f4c82bf8680d5040d4119a3d7315ba11a0b25423f7583e02645() - { - $this->assertTrue(true); - fn() => (+($test instanceof $test)); - } - function test41db79501b264d6889adc3165b844a1b297c036839b0080a674f7012526611ed() - { - $this->assertTrue(true); - fn() => (+__METHOD__); - } - function test45e87f61afeda86f4fef397c6e789bd3bf221cce96bf34b08a4634704241ed6a() - { - $this->assertTrue(true); - fn() => (+"{$test}"); - } - function test45f194e19f2f9f0d2ba8fcf889194223ff7ccfef4c0a7c9ce0bd087480d1a142() - { - $this->assertTrue(true); - fn() => (+(int) $test); - } - function test48fdccfd8438cf62154ef1a671353536216096845dd972dfc2349d9f199aeda6() - { - $this->assertTrue(true); - fn() => (+(yield from $test)); - } - function test532eac61edfe0760bc7abf12ae06fcb6dbcc974cc96ba0774fb452fa3c653985() - { - $this->assertTrue(true); - fn() => (+$test?->{$test}); - } - function test53747f174d0a0ef79d5f7c42f8265fe109dc93a8fdd303a68d0a3c7c4848148c() - { - $this->assertTrue(true); - fn() => (+$test::$test); - } - function test59711c2eb83f796e96b7867138862fb3fac0e71662424adc5dd349c53613af02() - { - $this->assertTrue(true); - fn() => (+new $test()); - } - function test59fafe1e9a466e32815462724597f9d514a353191f65fe852144424d4e97663f() - { - $this->assertTrue(true); - fn() => (+($test || $test)); - } - function test5ae12b2a2a36bd75bc247225a23158d865d54ab212717c9c4c699a78c47c83e8() - { - $this->assertTrue(true); - fn() => (+($test /= $test)); - } - function test5e8c3d4d77066a3c7b426bba5f899166d7f6b62bf84b28066b01d69832faf489() - { - $this->assertTrue(true); - fn() => (+( $test)); - } - function test62765b7994a77f56d6deb31fc886f8bce25dedd6350ebd4cff454cf2ae9cb7f7() - { - $this->assertTrue(true); - fn() => (+($test << $test)); - } - function test62ce8e4d06789d3676934aef9943f90916b89e43d239f0b16745ca30a1ddcdbe() - { - $this->assertTrue(true); - fn() => (+($test *= $test)); - } - function test6426277a1301229e60c1b95744b9f762a094dca3549b04dfbe0848876923570a() - { - $this->assertTrue(true); - fn() => (+$test[$test]); - } - function test67dfa960a02b866f0ec93fb2a81befa2f8ae6a3ef92c29a3f803e3caeac2d246() - { - $this->assertTrue(true); - fn() => (+__NAMESPACE__); - } - function test6bb77854a5df5b8ba3b37eb54afe5cba525d87e1bd30d9dfc7fb986725af79e7() - { - $this->assertTrue(true); - fn() => (+``); - } - function test70a745cf62d71c74a808f1e9843636cb3082671a04ad327fbb48eebc169f784f() - { - $this->assertTrue(true); - fn() => (+($test && $test)); - } - function test71c3341f6f6943351a307a65712c04ffee5e36b39d521c8b4b3c7889a71fb879() - { - $this->assertTrue(true); - fn() => (+'test'); - } - function test73acd68a26ba3a0c99ec6fd3d26b665b124fe6f62f784158aa2f08f20e1194f0() - { - $this->assertTrue(true); - fn() => (+0); - } - function test73db4d5a257bd4547e08237fd24abbea420a1e32f00266df5d939c15aaf260e3() - { - $this->assertTrue(true); - fn() => (+${$test}); - } - function test798db41ceba7aff7b0c92394c412e9a22fa3dedab09d3905c1d1016373daa0f2() - { - $this->assertTrue(true); - fn() => (+(++$test)); - } - function test7aed0b03475c896886be94e4a383e59c50e24960565936355101cad4a8122be8() - { - $this->assertTrue(true); - fn() => (+($test >> $test)); - } - function test7c71e07bb5167d85508827aa0d7218202d12418419016ed865a49ad75226ddb4() - { - $this->assertTrue(true); - fn() => (+($test ^ $test)); - } - function test7ff656e114bf0aba35883bfd2a3531a18e0d83e5dc46247aa9048e1d23a1aaa0() - { - $this->assertTrue(true); - fn() => (+($test += $test)); - } - function test81f2a0ef8f87ce6a7d2f89e3eb4ec07c02e62318fa75a7fb5efa304da585eaeb() - { - $this->assertTrue(true); - fn() => (+($test .= $test)); - } - function test8238488a5f27c115408e71354b0c4c912afce9f3559af0ba7ee6c83ade2eaac5() - { - $this->assertTrue(true); - fn() => (+$test ** $test); - } - function test875ea25e3f38348ac29a540c75f921ab9d8e077b80ff26d6a91bcc4c28fd08de() - { - $this->assertTrue(true); - fn() => (+($test = $test)); - } - function test8a6dbef6e6f311bff3cfbeddcd92bfa42530f507acb7df9fa11c7163024decc5() - { - $this->assertTrue(true); - fn() => (+__TRAIT__); - } - function test8c8d107e1b4af3b2f171371953d420bf6cc683ac5c32c7b43d67da96a588311a() - { - $this->assertTrue(true); - fn() => (+($test and $test)); - } - function test8d4acecd3174cd2af5a5706f091ff7c41faeedb94862eafb70833add9f042c76() - { - $this->assertTrue(true); - fn() => (+@$test); - } - function test907338430fdfef97d2da0e4bb3a186520caa49813ebb4c75aa3dfb5fb4b30665() - { - $this->assertTrue(true); - fn() => (+$test->{$test}); - } - function test91e98e98bca050138e74bc2755073bd8ab989160cba505665e12122300aa0b1e() - { - $this->assertTrue(true); - fn() => (+(string) $test); - } - function test93e188884a791c4e1315d74b7804c13a9957d1401ed256e820eb0cfd561bd5c1() - { - $this->assertTrue(true); - fn() => (+__FUNCTION__); - } - function test97b0234657ef6ec336a613e09f46063c76ef941aa173d984c3c9b810df5e08bc() - { - $this->assertTrue(true); - fn() => (+($test / $test)); - } - function test9f0dea76aa216cd5c74e4e997d2f18c11b7663439f895a13163e0eca4e7877de() - { - $this->assertTrue(true); - fn() => (+($test !== $test)); - } - function testa0716b69792e9247cad10a38063e202aab3fd773bcf382b37a9eb91c19b8e8e9() - { - $this->assertTrue(true); - fn() => (+($test > $test)); - } - function testaa307fa425a2468d1643dedc71aaf3c3d5c3c7bd1f65f1f851ec93774b2350fb() - { - $this->assertTrue(true); - fn() => (+(!$test)); - } - function testabbd3321b0d2b574890e2d97cfc5f2c605dce5b04c3515048a9089929180a5a4() - { - $this->assertTrue(true); - fn() => (+(yield $test => $test)); - } - function testabc5d792f29640f5e171be82064236f9387cc4e7730974b91f30b250815e3346() - { - $this->assertTrue(true); - fn() => (+$test); - } - function testac19d3992f8fc2ecd2805b1b0b92807e615b9a18df086811201a54e938007556() - { - $this->assertTrue(true); - fn() => (+(print $test)); - } - function testaf21d0ff95b926bb15ef5eff63b39e10dafd67711abd07c0830c57265b097527() - { - $this->assertTrue(true); - fn() => (+($test != $test)); - } - function testba8a54affca3bb74398a5269d43cccbc7d17ab5f5e1ad39b32d9d896037bf419() - { - $this->assertTrue(true); - fn() => (+(array) $test); - } - function testbc10b20d61f01da0df63c5d7d0ae5fa5fa8b3e11bf4e7487c740d33f99ac5484() - { - $this->assertTrue(true); - fn() => (+($test &= $test)); - } - function testc2478e0747bd0d3a845bc1430c457747ae5ebc43ae791b82d4b075d0c4cb5f25() - { - $this->assertTrue(true); - fn() => (+$test::${$test}); - } - function testc2c94d0952904359a0bb2a18020c17273e32ea8b142965e6a13425e8c49938b1() - { - $this->assertTrue(true); - fn() => (+($test =& $test)); - } - function testc495af7d663a5d1d0a96fd1a4e1f30d4de3a983d5c3b1337244a54482bb87c3b() - { - $this->assertTrue(true); - fn() => (+match ($test) { - }); - } - function testc60398c2cd042d6612216d2fb425cdab73e57f15f9da3a2612b17488d03a16e7() - { - $this->assertTrue(true); - fn() => (+($test % $test)); - } - function testcb340fa82baeaa8124bee70a9612d47103ea180f6a24cb89aca114322a2557cf() - { - $this->assertTrue(true); - fn() => (+__DIR__); - } - function testcb69200433b8bf5a0b182a3d5abd53b856846e6a1b623ca6e187b83cd4ee27ef() - { - $this->assertTrue(true); - fn() => (+($test & $test)); - } - function testcc5d1dd0d598a86bd2903b655a188c574e46aa33fc0e5bc124fecd44972c5691() - { - $this->assertTrue(true); - fn() => (+($test >= $test)); - } - function testd012592d1528305f2325bfa302f8661de70a3b5e9018ae24d968c77d37997d47() - { - $this->assertTrue(true); - fn() => (+$test?->{$test}()); - } - function testd0958d70d63f1b28da8f35225e0f2ea658b810f93634c177b62c144628aaf2ed() - { - $this->assertTrue(true); - fn() => (-__NAMESPACE__); - } - function testd46fa6f3458e7a712ed8830a72f422c0f885a228ebce1f66e96099d809a6414e() - { - $this->assertTrue(true); - fn() => (+($test ^= $test)); - } - function testd73714e41e9419b3ea7b4e9ea6da8d0796838aec2b1bce44287638e9e8d3a1e9() - { - $this->assertTrue(true); - fn() => (+isset($test)); - } - function testd9ec77b28ead8c384cfa6bdaaa325fc2b0571912348e8279352baa575f20342b() - { - $this->assertTrue(true); - fn() => (+(+$test)); - } - function testda9cab932e09f159b9b3aa02b1bc856df0927ef4160c69ef043cb2f5d8ce97c5() - { - $this->assertTrue(true); - fn() => (+($test **= $test)); - } - function testde2b546b3ac89c1e0c383ebd54b604473bd067cab5689ed8bbed10f33f23cce2() - { - $this->assertTrue(true); - fn() => (+($test | $test)); - } - function testdf76d2ed4a6c9f78baa4b81dee27b46e1999adcba930920869f5d778f81b5ade() - { - $this->assertTrue(true); - fn() => (+eval($test)); - } - function teste061226fb0bdb89fc9ab3caa7ca178ec8a3784418f1bce7e2f6d588e0beaddfd() - { - $this->assertTrue(true); - fn() => (+$test->{$test}()); - } - function teste7890700f53fcfb6495415e90362a687ed5188ca148ebc634d5d4141632873d2() - { - $this->assertTrue(true); - fn() => (+($test ? $test : $test)); - } - function teste9614f8eb9a4b5935ee0c5b55c7f40e02e4b90c7182a04ebbad38fa234118e10() - { - $this->assertTrue(true); - fn() => (+($test <=> $test)); - } - function teste9d09b4fed4db2e60316be41dfd18235953a9f212bbddb90bb28c3e7c8625fc2() - { - $this->assertTrue(true); - fn() => (-__TRAIT__); - } - function testec98ed097281998702249dbeed9a6279d7bc650d6194052dafdd56537f6ace91() - { - $this->assertTrue(true); - fn() => (+empty($test)); - } - function testee320a3e56d715507c5b65822ce55f5f40496d2c827ec3b00dcd713d5682c233() - { - $this->assertTrue(true); - fn() => (+($test <= $test)); - } - function testee5942b470a1326defbf5786beca131b2ef4943487a8c2cbd3446d3be7b28417() - { - $this->assertTrue(true); - fn() => $test; - } - function testf0675a0038a10c4df9ca850c0333b7e9f04fc8174a72f8cb1b885180b2bd7ed2() - { - $this->assertTrue(true); - fn() => (+$test--); - } - function testf098272dd6fce5ac9ebcfc03e1613d86781511da6a8e8e130dfbcb9616217bba() - { - $this->assertTrue(true); - fn() => (+($test <<= $test)); - } - function testf61eea93711b66809c4bf2b6101cd17319a4959f8ee1f28a041d7af5545b401c() - { - $this->assertTrue(true); - fn() => (+($test or $test)); - } - function testf688e802e49527f22f71c6d1f5ea43e9f3677fa449052297e140984387e00f30() - { - $this->assertTrue(true); - fn() => (+($test %= $test)); - } - function testfad7eb2a08870f2c2d237f607899139b7e3e4cc429d16560050d64e2ef5bc017() - { - $this->assertTrue(true); - fn() => (+($test xor $test)); - } - function testfc6d1c7b47db5463ed13f1dff06442c332e3be0cd692aa51b5b5d7cc11bcb382() - { - $this->assertTrue(true); - fn() => (+($test === $test)); - } - function testfde7c3f9a5e0d9425dac8f4ff094500d71d9d0bca84eb72710c62d380d43c3f4() - { - $this->assertTrue(true); - fn() => (+self); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test.php b/testsGenerated/Target/Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test.php deleted file mode 100644 index c7067b3cb..000000000 --- a/testsGenerated/Target/Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test.php +++ /dev/null @@ -1,516 +0,0 @@ - - * @license MIT - */ -class Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test extends TestCase -{ - function test01df15f65e17f808224c737857f5c235079ab1faf7735eeff39459d55ade446f() - { - $this->assertTrue(true); - fn() => (isset((yield from $test)[$test])); - } - function test033932fa8a0ebd969a758b67e3c528d142654c4d4b2b43117b9bac72e6b0d279() - { - $this->assertTrue(true); - fn() => (isset(($test =& $test)[$test])); - } - function test03ebbfcd2af861a8cf8a5a918b97299ebd6fd03f1ae8a56dfa6f5d0f24a0610e() - { - $this->assertTrue(true); - fn() => (isset(($test ??= $test)[$test])); - } - function test060034bede3ce6b2ef6cd486b647ea79c27fd38303d1883e43dadf03f654b84a() - { - $this->assertTrue(true); - fn() => (isset($test))[$test]; - } - function test0a737a94457ed4bba3dd1260c57f46765a505c1c62a3e3eab6c502f1de44d015() - { - $this->assertTrue(true); - fn() => (isset((~$test)[$test])); - } - function test12c4fbb4336549d6610e6c3fa61c87761ed747b3d39a260b9a944a27b3f95817() - { - $this->assertTrue(true); - fn() => ($test)[$test]; - } - function test13550de694e1cda75d8f4b8a881f0a7535ced671a01fa411aaf22f1d1043dabb() - { - $this->assertTrue(true); - fn() => (!$test)[$test]; - } - function test13d8760f28137d036db55273ffd50df5a39eb90fac054fb2d272c3d7345713e5() - { - $this->assertTrue(true); - fn() => (isset(($test %= $test)[$test])); - } - function test140d697b798ebed810390b820864e4e77ef59aedc4a5f7bc689188e4dd1da0bc() - { - $this->assertTrue(true); - fn() => (isset(($test *= $test)[$test])); - } - function test17b6b11cf643463c07e5d14d2592f61e87c33e9631783fd392c85ee04ed79e98() - { - $this->assertTrue(true); - fn() => (clone $test)[$test]; - } - function test18c6554dd601f3d076337ac63695ea126c389070348554d4559878ca4c980d56() - { - $this->assertTrue(true); - fn() => ($test++)[$test]; - } - function test1919c736ffc61443401d009401372cd0e3fc2791a0466a6a395a0260dd4a5d09() - { - $this->assertTrue(true); - fn() => (isset(( $test)[$test])); - } - function test1b1bc10a489c4230907f4f718c0c6de6a9fa99551255cd57992a1f6df7950d86() - { - $this->assertTrue(true); - fn() => (isset(${$test}[$test])); - } - function test1b30e015bf461be668e77810f27ae4b380c35fdc26d48cd94fbb3481acaa0ed0() - { - $this->assertTrue(true); - fn() => (isset(self[$test])); - } - function test1c388d337047d48223626423bc898dd8b367e843a19a81f198df22b20643ce2d() - { - $this->assertTrue(true); - fn() => (eval($test))[$test]; - } - function test1df7e094e7d4bb3e6161d8c3aaa06d9d742c17e5467d99a00cf2cbc102206321() - { - $this->assertTrue(true); - fn() => ($test *= $test)[$test]; - } - function test1fba1e6342fe6fd5cc48fcb88e5fd3437590c42125069c50dc65bc676ae91794() - { - $this->assertTrue(true); - fn() => (isset((--$test)[$test])); - } - function test21365d94d9c7f135f8f25948c2da686f432911f36c8a2509203de7201b784a45() - { - $this->assertTrue(true); - fn() => (isset((eval($test))[$test])); - } - function test23e3e52cbc98ec263eab96ebe67ab943bb3f47b6e8c13549862bdd03af07bbdc() - { - $this->assertTrue(true); - fn() => (isset(($test++)[$test])); - } - function test2412b667c13b4e05b5f8f763ede27c9337f7bcc7e2f6f3db44759b1b03246e7f() - { - $this->assertTrue(true); - fn() => (isset(($test instanceof $test)[$test])); - } - function test299825d7ad973642ddb09e4c25f20aa2c701c83a0d2a77457e4709f37cec803a() - { - $this->assertTrue(true); - fn() => ($test **= $test)[$test]; - } - function test2d5d8d256fef9822d77529d083797d59b2f2e332f23a5a891e85cb8701121d1d() - { - $this->assertTrue(true); - fn() => $test()[$test]; - } - function test2eb27513a6f57eca492d22f3191263cf4b269d9a7d2e84edfc6a8c5be41c0142() - { - $this->assertTrue(true); - fn() => (isset((++$test)[$test])); - } - function test3119d636e5421e97872c828af7a4f5ee3ccaae412e36f0254157bb082978adbb() - { - $this->assertTrue(true); - fn() => (isset(($test = $test)[$test])); - } - function test3948b9f2b6ac1ea276e5f315a13223774dfd31bbbc540f494440887eb8da06d9() - { - $this->assertTrue(true); - fn() => ($test .= $test)[$test]; - } - function test3b48e547f1a13180975dd368870b7be2ff6be7c40957af82592df5887f44ad9d() - { - $this->assertTrue(true); - fn() => (print $test)[$test]; - } - function test409b9192bb5447af827329101f42e507f70fe969f7312ca05f987592c9083643() - { - $this->assertTrue(true); - fn() => (isset((+$test)[$test])); - } - function test42b0c03d1252a46d497e7179c79997e90d4667270f31d68bfeabd910f87bd05f() - { - $this->assertTrue(true); - fn() => (isset((empty($test))[$test])); - } - function test44c9f6bec4cfda3824b7e55429e28de6c5310291aafcca0f3d63650ba9180ef4() - { - $this->assertTrue(true); - fn() => (isset((function () { - })[$test])); - } - function test472288f54f5c7ec60a36e623a419bde85491ee61998ce4db560eaced2fe89007() - { - $this->assertTrue(true); - fn() => ($test--)[$test]; - } - function test48afbcdda0bd143dbb3521148b73bc9489e7a3f9af1a8ca5ba7dac9417067f6d() - { - $this->assertTrue(true); - fn() => ($test =& $test)[$test]; - } - function test4b86d6d981db4651cefb29cc1f0acde799bcd96ae3dc95331f7ccf0abd83e385() - { - $this->assertTrue(true); - fn() => $test->{$test}()[$test]; - } - function test4e410debfccb5d912555e0265c822121d5c22ae7665b3f7291dfc4984ee2c84e() - { - $this->assertTrue(true); - fn() => (isset((isset($test))[$test])); - } - function test4ed87c0d4d22ad7049d0b61ff37cf5d157346ccbaeb0859ede5bcea36d0eca6a() - { - $this->assertTrue(true); - fn() => (isset(($test -= $test)[$test])); - } - function test56ddc37bf486ab5a7269f8ccc3d1056f4654362e0dff569878544e00fb3f669c() - { - $this->assertTrue(true); - fn() => (--$test)[$test]; - } - function test570a6dbd49636d2846f36b05d170db1a3880f739dc9496a3acde8620a1c47bb6() - { - $this->assertTrue(true); - fn() => (isset(($test &= $test)[$test])); - } - function test598af1464d38173dbd14d915fe014346117ac06ba40f64bab7cad338ee506939() - { - $this->assertTrue(true); - fn() => (new $test())[$test]; - } - function test5abdd255f59bb5bf351ad80be46dc274f0d0fb07b286ebc40d4c7b644375a546() - { - $this->assertTrue(true); - fn() => $test::${$test}[$test]; - } - function test5d9c9dcfe6b478fb6732068b056f3b72fe76a75845f08e8fca887b0170da4016() - { - $this->assertTrue(true); - fn() => (isset(($test /= $test)[$test])); - } - function test63522e5e4fca8e07ae85a732736fd1eba7c79dc50d1685be5fedf01f411c5075() - { - $this->assertTrue(true); - fn() => (throw $test)[$test]; - } - function test6451bc894d2e054e1d6a810c98f0d996400e2c3e6d09acf279421ea909e70304() - { - $this->assertTrue(true); - fn() => ($test &= $test)[$test]; - } - function test67eef036879cff486e46fa7c448f95a243e28408a73ccd8935f54790687cbedd() - { - $this->assertTrue(true); - fn() => $test->{$test}[$test]; - } - function test695550192fb7495d246f6eabe6225d871a44aa7d8b95b06e748c7f78151e65fa() - { - $this->assertTrue(true); - fn() => (isset(($test)[$test])); - } - function test69891f0b38b876c2e9b22da946c695368137748374ee95be8b67fe68b9b41dfd() - { - $this->assertTrue(true); - fn() => self[$test]; - } - function test6f0c1e99ba5a90d3f3c1c969e43d6667353b769a19dc9557ec42f3d8ad00862d() - { - $this->assertTrue(true); - fn() => $test?->{$test}[$test]; - } - function test7082ffd80dc67b504891364a1563cc917ade55f09439239f62a082bc83d4d479() - { - $this->assertTrue(true); - fn() => ((yield $test => $test))[$test]; - } - function test767e755c5efa7ddca1f7ed3ec097fe4509df5bef6ff4f5ab92feebf188e5aba8() - { - $this->assertTrue(true); - fn() => (empty($test))[$test]; - } - function test77a08043e1db53d48896cb5086c5d0999779758b48b004f9982d04989f2e0fda() - { - $this->assertTrue(true); - fn() => $test[$test][$test]; - } - function test77ca16a933e36f2ace30faa8a352d2362485473632a67f32b26ce8c2400582da() - { - $this->assertTrue(true); - fn() => ($test ^= $test)[$test]; - } - function test7be05bbb0ab7ea311caf4ebf3b7a7e48b6f8b5825bb4fb19f7a3119c87e87f64() - { - $this->assertTrue(true); - fn() => (isset((``)[$test])); - } - function test7f8f0c72e1b64927a18e9c1554f34003edc06cd5d8ce7ea88e288062ccb815ea() - { - $this->assertTrue(true); - fn() => $test::$test[$test]; - } - function test808ea570ff2f39655061e0fc46906535a45bea3e216e239e9c88fd8f987b071f() - { - $this->assertTrue(true); - fn() => (isset((clone $test)[$test])); - } - function test81afb9a6448b865717b0a4d8692291dd004a432581a0d0114ceefb425a9b6efa() - { - $this->assertTrue(true); - fn() => [][$test]; - } - function test88cac03e75aea3c123c5301e6d5c9f5a6ff1b5a52aa42549def7b0f7d8fcfc8a() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}()[$test])); - } - function test8e0e1c44541fc30884f75bb949e1b5d699478cd74fe9f611723032ff8983962f() - { - $this->assertTrue(true); - fn() => (isset((@$test)[$test])); - } - function test9018555af9c05564c0870d7dfd8d375d843781e1e775fef0be5597825e41ab4d() - { - $this->assertTrue(true); - fn() => (isset(($test .= $test)[$test])); - } - function test91d716dfead93f146089f0241770c968493cef7893ef19b82b035ee5729f6cf5() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test)[$test]; - } - function test94b95be37f526e505832e3f856243a5d10c640005a918f1043d7bba92db37343() - { - $this->assertTrue(true); - fn() => ($test instanceof $test)[$test]; - } - function test958028d7d1873894448f8aab2f4394ae53be3be3f8458ca4237f78f4e65e8e6a() - { - $this->assertTrue(true); - fn() => (isset(((yield $test => $test))[$test])); - } - function test9665e38d841c4f789d06fc6dfcf9a772512127458add5fdbdb93c7ee66b92e0d() - { - $this->assertTrue(true); - fn() => ($test ??= $test)[$test]; - } - function test969bd16fbc2cb609b419cb6478cbf3ed6f393b8f5eba26442ebdbc1bf0563316() - { - $this->assertTrue(true); - fn() => (isset(($test ? $test : $test)[$test])); - } - function test96a1cd2bd6101028fa0d193f973df5ca668558d1d28dcac5f1dec5b8f4d50b2b() - { - $this->assertTrue(true); - fn() => (isset($test::$test()[$test])); - } - function test9f28f131a6b5ca1c0475cdd5e17774fdd8a76411c8809a11c9322ef58e0b3b61() - { - $this->assertTrue(true); - fn() => (isset(($test += $test)[$test])); - } - function test9f4294374d4865fd0dda3aa497dd542795f857af049ac29a2ea57c1c728e60ea() - { - $this->assertTrue(true); - fn() => (``)[$test]; - } - function testa305920a8a8eea999ffeebee695a5ee3e76c9dcdbb71a60c185f780e85548a46() - { - $this->assertTrue(true); - fn() => ${$test}[$test]; - } - function testa333600dd4ca036a7ca4c7be60d2540705a68ea3686e5f4675e122dbecb20f1e() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}[$test])); - } - function testa510005b37f2f4c8a21ee3ff68e1414fe044172f89ca97c12814ab2b36f0f9ca() - { - $this->assertTrue(true); - fn() => ($test = $test)[$test]; - } - function testae16f3b716fcfd4703fddd4dae8f75f9d8397cab663c3e63e5f4c4fac49fc823() - { - $this->assertTrue(true); - fn() => (isset((print $test)[$test])); - } - function testae92fe3a5c3ee763605c8ab49650a6613a6fc064835f7e2f01758bfad21f98dc() - { - $this->assertTrue(true); - fn() => (isset($test[$test][$test])); - } - function testafa728ecb569b9b4f26d23f1cfff01faa40128faf8313b7d8aba580b52c196d8() - { - $this->assertTrue(true); - fn() => (++$test)[$test]; - } - function testb282022be5bb341cdaf00c5d870411c3f5bf9567a42e806a32a4c42bfaa7517c() - { - $this->assertTrue(true); - fn() => ($test += $test)[$test]; - } - function testb5983e504ce6a33a808b2926986fb975cae673ae1c457d699030e1a655cf0b1e() - { - $this->assertTrue(true); - fn() => (isset([][$test])); - } - function testb85ca267b0eee4504e9b89be13763b380a3ba7a0da64c957d98eaf2df6c0a3c3() - { - $this->assertTrue(true); - fn() => (isset((new $test())[$test])); - } - function testbb2224dd43a1f0b29e44fa5ae355dc5853eef5a0b7d78035b064934ccae08db4() - { - $this->assertTrue(true); - fn() => ($test -= $test)[$test]; - } - function testbfd51aa027c03dc7f4a76748b098dc55499ae9bede6b546cd551697fdc77f42a() - { - $this->assertTrue(true); - fn() => (isset((-$test)[$test])); - } - function testbfd8d7383437e15dffe2666f9cb57824aec73abfcb6a5e37758d844cf269867b() - { - $this->assertTrue(true); - fn() => ($test |= $test)[$test]; - } - function testc0439e4163516995adbb325785da7b4ae4c96704806c8ee92dad5cf94292757d() - { - $this->assertTrue(true); - fn() => (@$test)[$test]; - } - function testc5410f3c90518a7a706b1257e78f59263c0411324bb18f72a3ddedc882515232() - { - $this->assertTrue(true); - fn() => (isset($test()[$test])); - } - function testc6660799e502f151bd87230ee83a60dad6fa8cda6becc372270f3ab1af071789() - { - $this->assertTrue(true); - fn() => ( $test)[$test]; - } - function testcd19e66d1145cc5042ae181ffb53fcde889b30ab49209933ead6f1fe8726c20f() - { - $this->assertTrue(true); - fn() => $test?->{$test}()[$test]; - } - function testcefa4f81ce664eea642a0c37d359d0b971ed0c049e620d8db89f369c8347a8db() - { - $this->assertTrue(true); - fn() => (isset((match ($test) { - })[$test])); - } - function testcf994f53cf5bc01c1507784df0724ab0653d323ec8a551d0cbc63a21a710ebbb() - { - $this->assertTrue(true); - fn() => (isset(($test **= $test)[$test])); - } - function testd0a88c0b79dac8579f9083fe83aa36dd438af2bf3d2878d585fddb75f73a746f() - { - $this->assertTrue(true); - fn() => $test::$test()[$test]; - } - function testd3ed835adc96a05325349b47f04cec2cc2474b7fa6e8808334f4fedbf0a53632() - { - $this->assertTrue(true); - fn() => (isset(($test |= $test)[$test])); - } - function testd8bf3d0b416b54dd2eedfa19e88dcadabcac21683f0b6c8c388f1a4a2c140b26() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}()[$test])); - } - function testd92ecf63c20b089ac201b1cd6bdaf35d93a81c855812b112d7a54aa97e6004a1() - { - $this->assertTrue(true); - fn() => (isset($test::${$test}[$test])); - } - function testda659844fd63176aefb40637321ebee970883359ce8902416c84fcf4f777e2df() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}[$test])); - } - function teste10b65b4e0f17e8ea3b9ae95fc111b8db0cd12cc998bddabe30abf504264d856() - { - $this->assertTrue(true); - fn() => ($test %= $test)[$test]; - } - function teste150dc3209baf85a67b01c2faaf6939ba52699c605a0a6b09cfb4735978362a8() - { - $this->assertTrue(true); - fn() => (match ($test) { - })[$test]; - } - function teste3a1cfa72b243272d155d557f9253c1627b3cf094994806d848ef71b781fc4c1() - { - $this->assertTrue(true); - fn() => (isset((!$test)[$test])); - } - function teste3c0fecd30e75034ae4678afde701f57c1f8aa41c0336aa78ea0dd271ac82d54() - { - $this->assertTrue(true); - fn() => (isset($test::$test[$test])); - } - function teste436cd6b53284135a88fd3a4e32e112ec3b2d00d9dbe2ad907a2052f091bf93d() - { - $this->assertTrue(true); - fn() => (isset((throw $test)[$test])); - } - function teste4b3e29f070f01d61d1c02382ed41f53bd4cce822bfcac5413529a36ddded72d() - { - $this->assertTrue(true); - fn() => ($test /= $test)[$test]; - } - function teste8bd5c428b3eb34058f46214b53c9787bf5de26bcfa13e6377ed76f7eb8340df() - { - $this->assertTrue(true); - fn() => (+$test)[$test]; - } - function tested1f2200c3f55bf65ea5a3534d51f706cd3a268805151c7f8daf1b8510e0f95b() - { - $this->assertTrue(true); - fn() => (function () { - })[$test]; - } - function testee5a9f822bf0577c01e9553792cc7c4d960d2e46694ef2662c4c1976d22831ab() - { - $this->assertTrue(true); - fn() => (yield from $test)[$test]; - } - function testf0396418ed7f7c36a2a24b7e82e3ea48aa99945d11a6e34612d021946f1589ee() - { - $this->assertTrue(true); - fn() => (~$test)[$test]; - } - function testf25980ba7efd7ae7de1e0881e21b8430c15fd3bf3a8b736638e844778501c861() - { - $this->assertTrue(true); - fn() => (-$test)[$test]; - } - function testf6dfa67e84be0b72583f19ebe5f579bddbc97c0f7499b386a909bf363adf14fb() - { - $this->assertTrue(true); - fn() => (isset(($test--)[$test])); - } - function testfb23f549051ed7102b87e7aabd772aace2781f36f9804a355d39399b1b2c50e0() - { - $this->assertTrue(true); - fn() => (isset(($test ^= $test)[$test])); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest.php b/testsGenerated/Target/Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest.php deleted file mode 100644 index 2d6bc203d..000000000 --- a/testsGenerated/Target/Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest extends TestCase -{ - function test005b883389570f586febe2d93651b270fff1c15d72698dd00b126cd4400db09f() - { - $this->assertTrue(true); - fn() => ($test **= function () { - }); - } - function test066ac3dd4c06c779097ff470d523fabb7c9dac305fbae59fc552edbbf3e8768c() - { - $this->assertTrue(true); - fn() => ($test **= $test ??= $test); - } - function test07e7282fdbfacfca2dddcf8eb075fa590867395841428a3b87bf89f44fcd413b() - { - $this->assertTrue(true); - fn() => ($test **= empty($test)); - } - function test09bb9927435e826b3fa570f9e42af9037cf1ea69497081bc06a6ff63a44aa33d() - { - $this->assertTrue(true); - fn() => ($test **= $test <<= $test); - } - function test0ac70fea01614128eeb4474a92e2d5bbd0135143076786787b445c6857eebf7e() - { - $this->assertTrue(true); - fn() => ($test **= -$test); - } - function test0c19b70e32d9bd1f42252b99df80351662c9b1e01a553a886c83c445877f5dd7() - { - $this->assertTrue(true); - fn() => ($test || $test **= $test); - } - function test11570d2dc4ec57b70539ab81cfb654dc2853cf1909227c07cd2af08cb50928ab() - { - $this->assertTrue(true); - fn() => ($test <= $test **= $test); - } - function test13348ec165e42877d1a213aa014c797890767eac9c74705b87ca31d01b21c2a1() - { - $this->assertTrue(true); - fn() => ($test **= ++$test); - } - function test160a064a7ba710ff2c1ab37d021a5ebe34335128f53e379d17ff50a265119cd4() - { - $this->assertTrue(true); - fn() => ($test ** $test **= $test); - } - function test16a23f6a21a0e03628936045532b2cf80ee567653fbe1c394b973ff88582fe39() - { - $this->assertTrue(true); - fn() => ($test::${$test} **= $test); - } - function test1bcab4fa88e0faed832875a104c205f1cc3fbd519f755ec242c0845057dd9072() - { - $this->assertTrue(true); - fn() => ($test + $test **= $test); - } - function test1cc969130cd037ebd1d936f7dfa7811c817e909077b8cf3268338eb57aadefc0() - { - $this->assertTrue(true); - fn() => ($test **= (print $test)); - } - function test21c8fad48aa0d07917778fa6b68b99c6f0720eec908dcaf9e85566e58db470be() - { - $this->assertTrue(true); - fn() => ($test % $test **= $test); - } - function test26124cd85b7a250dd720d493fda65f7f8131226261596b6d06c7c147c1f2173c() - { - $this->assertTrue(true); - fn() => ($test **= $test++); - } - function test269955d1737db0647c6c26e5ee2f388694070365bd3fd48f0680ab03a990f932() - { - $this->assertTrue(true); - fn() => ($test **= ( $test)); - } - function test283bacaf9ba1ce13ea393ffa82b970f5751bd9c6cd49d17437b977d7fb725461() - { - $this->assertTrue(true); - fn() => ((object) $test **= $test); - } - function test2a2d1278b18b80735869361b46f1979b33dc12609f352a9ffdb15e0df46cd8f8() - { - $this->assertTrue(true); - fn() => ($test **= match ($test) { - }); - } - function test2a7a7931839d3bd4026f7d4a2e8bf19bd996938b708a470a86bca22e29f36e80() - { - $this->assertTrue(true); - fn() => ($test **= +$test); - } - function test2bfa9bbb384c5b25dd93549a12b36471ca5acd4e2fecf92aca7a66161bdf34d7() - { - $this->assertTrue(true); - fn() => ($test **= (yield from $test)); - } - function test2c39bfb3c567c553f736ae1483485059d1ee928440f0e3a4d14d1adc1ebb455a() - { - $this->assertTrue(true); - fn() => ($test - $test **= $test); - } - function test2eb6a2bda3eb92cf589e16a5f11715d003fcd9e889f7be038d149650248c55b0() - { - $this->assertTrue(true); - fn() => ($test **= $test || $test); - } - function test302816651a05d419b9cc70145dccd07a70207c39af7ce88b27046e30a05a869a() - { - $this->assertTrue(true); - fn() => ($test **= []); - } - function test337dd787ce44eeab3371d7954deeaa8fa38eb557056fe9be330d8fb0f3bc8061() - { - $this->assertTrue(true); - fn() => ($test >> $test **= $test); - } - function test35e92352dfc259d79710a8e2ac402f476b116d23ba53fabba427db6b38f5db1f() - { - $this->assertTrue(true); - fn() => ($test ?? $test **= $test); - } - function test36cc75277a7db7736d6819f32e9b64d6a8b61aa4b239b1f967d953daf9040793() - { - $this->assertTrue(true); - fn() => ($test **= $test & $test); - } - function test379dfc781961f88597082118cf0ff0c2973de5e08df63a4c37bc20a08dc72467() - { - $this->assertTrue(true); - fn() => ($test **= $test--); - } - function test3873cd96b28d583dd42764982a8bf9890c054bbcfe6f2e2ada6a14aa7cf11cec() - { - $this->assertTrue(true); - fn() => ((double) $test **= $test); - } - function test39a38d4a8952f91092032f6f4efc698016d7d0b11f2af6681f227ea04348bf87() - { - $this->assertTrue(true); - fn() => ($test <=> $test **= $test); - } - function test3b7fb9c6899b4d55fc0c515ef703cef6f8de1d6dfa4207352b802857995665d3() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test **= $test); - } - function test4530d3bbb57a7982d6954650ae1eff4e2287c84bffd7d39c82f13491562a96fb() - { - $this->assertTrue(true); - fn() => ($test **= new $test()); - } - function test460dd07e1c01a2dfda44e9a61ca10681a2b9595c11fc29b23a94773cfaef0eea() - { - $this->assertTrue(true); - fn() => ($test **= $test |= $test); - } - function test47d7ed6c047859addeebe58d743aca8e6be293cf8c4537c8a91ba81064ad9d0a() - { - $this->assertTrue(true); - fn() => ($test **= $test ^= $test); - } - function test48eaff023fabf148d3c0dd9059e48dcccfcaebcec9549996d72fdc9c4ebfca10() - { - $this->assertTrue(true); - fn() => ($test **= $test?->{$test}()); - } - function test48f49c7f025af96547780bad012dacbf7f48f3bb669b6a65e40ac6b03b8f8115() - { - $this->assertTrue(true); - fn() => ($test **= self); - } - function test49d42194803040eb7f87e990b100b2fc6404b59e138b68e58e5ea53af8b8e2f2() - { - $this->assertTrue(true); - fn() => ($test **= ${$test}); - } - function test4b4f9ede4928002ee87f6a216c765b6c832d8349996a6de1728cf9d8d236b24a() - { - $this->assertTrue(true); - fn() => ($test == $test **= $test); - } - function test5048eec1cedab28d4fd833f5c4c67847a1efc693ca1d59a63f5a7a351cb65dae() - { - $this->assertTrue(true); - fn() => ($test **= $test *= $test); - } - function test51b531d81abd305fdbe505b3b18932d5b97e87e201cfbefa14bbcf201624f6f0() - { - $this->assertTrue(true); - fn() => (throw $test **= $test); - } - function test566a8569a809d12327515ac089b953efe1922c99897ef7f54260879503a3f321() - { - $this->assertTrue(true); - fn() => ($test **= $test .= $test); - } - function test60f283d1609d032bb080e4a69f157760ec8ec283a68728e224875cf614892e2b() - { - $this->assertTrue(true); - fn() => ($test !== $test **= $test); - } - function test6a6631fd1b9d1736849253244766f3e442fe89d3329dfbfbeb12440eeb1fb278() - { - $this->assertTrue(true); - fn() => ($test **= ``); - } - function test6b0aaa0b435e6b17836b93fd334bfed11e9a88547c5a23c871001e3f91ebf599() - { - $this->assertTrue(true); - fn() => ($test **= $test && $test); - } - function test6ba46ef4bafca7dca80b2584099ec7ef4e1fc041b28f0dc5c08b3bba4bdf03b9() - { - $this->assertTrue(true); - fn() => ($test & $test **= $test); - } - function test6c4dc6deada65869dc7eef815f7e1659a2aadc92ad996518d9880b3e38e4007e() - { - $this->assertTrue(true); - fn() => ($test **= $test >>= $test); - } - function test6d23fdbf14e719d0835ae6d2dcdc8ac3c0b38d2788503a2d13d42ecfcc8b3ed3() - { - $this->assertTrue(true); - fn() => ($test >= $test **= $test); - } - function test6dc5d170ba5c25e3f4b1145a458f17cb5326b68f6aab1f35988edc5577e80c8b() - { - $this->assertTrue(true); - fn() => ($test **= $test->{$test}); - } - function test71e01148a2c836cc85f25d2b8b7e7e0e50ca81cc81aa56da0eb64e89871afcad() - { - $this->assertTrue(true); - fn() => ($test->{$test} **= $test); - } - function test744e864408b67d819370acdca4f85a8841739a94998f8499d6e649728d258f63() - { - $this->assertTrue(true); - fn() => ($test **= $test::$test()); - } - function test788baecdde2f4fc689bae1737c6ff68a27c5ff91ef07bf40f05efcedc01cb9b6() - { - $this->assertTrue(true); - fn() => ($test | $test **= $test); - } - function test79164e73170c2e8ab0b9e0a16f97da2cbd48349eb8b1f63f2bb9c80d857d7c88() - { - $this->assertTrue(true); - fn() => ($test **= (yield $test => $test)); - } - function test7bcf1b1fcea0817739eda40a73f47de132f555b304776150d95c5031fa386b82() - { - $this->assertTrue(true); - fn() => ($test **= ~$test); - } - function test7f4b54264018f57ac58ae17796ab10e10d7aa8f76061b4a599b4cabccf04cae3() - { - $this->assertTrue(true); - fn() => ($test **= $test = $test); - } - function test7fa2f074d3f7bcd5ba1ac701fba572b6ec049a75f745e76f88b503a21392886f() - { - $this->assertTrue(true); - fn() => ($test << $test **= $test); - } - function test84df9a26fa9fd454f7664dca54615288283d35f63cfad42eac24ebc8cb92e7cb() - { - $this->assertTrue(true); - fn() => ($test **= $test?->{$test}); - } - function test864012d1869307c5ec2d7f63a202cbacecccfe4ec8c9dbea7288e05d30df7f14() - { - $this->assertTrue(true); - fn() => (+$test **= $test); - } - function test88baefb5dc8da02b2532b96b81aa3ea14270beaa18a30bb296dc704da25601a5() - { - $this->assertTrue(true); - fn() => ($test **= $test ^ $test); - } - function test8bfa2b86300bb51e8ea981d0e363cf41dac82cb2eceef119dcdde38d9df28268() - { - $this->assertTrue(true); - fn() => ($test **= $test / $test); - } - function test8f1e8fb1375a635396fde90cd7efbe3a278e649d985ecff9e8c31c968f351ed5() - { - $this->assertTrue(true); - fn() => ($test **= $test->{$test}()); - } - function test9092d1e34d8f83daac30d9bca258e4806d42e5cc084aaf311da28fd1f4f61d2c() - { - $this->assertTrue(true); - fn() => ($test **= $test instanceof $test); - } - function test92b9bbf7b88477774e06a212afd4c85b34f017f4a1409146d21bba8d4cf29ee6() - { - $this->assertTrue(true); - fn() => ($test **= clone $test); - } - function test92f58c5c3416dcdea92853d01c689745a149153ec7392dee3aa7279476515cdb() - { - $this->assertTrue(true); - fn() => ($test > $test **= $test); - } - function test961b40fc000a9cb1e29f824f2a8fc11a8f062bbb298ab19f7d08f0207c0b7ff6() - { - $this->assertTrue(true); - fn() => ($test **= $test += $test); - } - function test9732646fb090c21a750d2e04b676218e2e7df303fb34c5af8d3d3b815191ecaa() - { - $this->assertTrue(true); - fn() => ($test **= $test == $test); - } - function test9a3e3a9381306809cbe39c37e626d57006627e175a579af81a05cd2791ef30d4() - { - $this->assertTrue(true); - fn() => ($test != $test **= $test); - } - function test9af5c25dba98d9ef530c064d6807ebff4a69d97ab365d74fd0b9f282db709b07() - { - $this->assertTrue(true); - fn() => ($test **= $test); - } - function test9e58eb49c2f25408c7a9b745d28d70233420682544977d65be0ca22b4f8671ec() - { - $this->assertTrue(true); - fn() => ($test **= $test[$test]); - } - function test9f866ebe991affd83e36fcc2c85f455fffcc07a66be0e362e4b9a4c1c45ed8c1() - { - $this->assertTrue(true); - fn() => ($test **= $test ?? $test); - } - function testa378b27b47496478305feca2dc1d57487bad287d21a1ea96fcf3bd284f7a8d92() - { - $this->assertTrue(true); - fn() => ($test **= $test()); - } - function testa5a3ea88a363ad17468c2ed5c80f8d4aea8a26cd3c5be6807bf559f10480bc0e() - { - $this->assertTrue(true); - fn() => ($test **= $test **= $test); - } - function testa83be937e6a9bf128fee2f1c45648b2a3d367f67b453c31cb1b1b19481bc6ddf() - { - $this->assertTrue(true); - fn() => ($test **= @$test); - } - function testaf93d0d6daca5e656bd16f84ac3c25c9a740b36bf04c10c401ea5367d5a0bec0() - { - $this->assertTrue(true); - fn() => ((string) $test **= $test); - } - function testb0243c79c5c69a9e993cf99cf1032c3adaf8ebbdf1f750160b2999a520f706b8() - { - $this->assertTrue(true); - fn() => (${$test} **= $test); - } - function testb574a7aa9e9b3b2878cf68102ee34d17e36149b65b23c9ccdab1037854197b3e() - { - $this->assertTrue(true); - fn() => ($test ^ $test **= $test); - } - function testb6d6c65f83bc6ec7be9958ed1c7386f4452c6646ba1c5d33e27f70eac927b178() - { - $this->assertTrue(true); - fn() => ($test **= $test >= $test); - } - function testba89162f3d37544705f9e4db4c607b96cead0ded41785646cba3c19b03b92621() - { - $this->assertTrue(true); - fn() => ($test . $test **= $test); - } - function testbfb0db4792580e13e08f6a6cd0f5f537e2565254b4d4d2280cf582b349ce7e1c() - { - $this->assertTrue(true); - fn() => ($test **= throw $test); - } - function testc3e63d56d6438f7f213098a203da5846ae31b006633ab3afe6f88956359eaf9b() - { - $this->assertTrue(true); - fn() => ((int) $test **= $test); - } - function testc7c4c4e6ece4070ecacf82bbae544aa77acc324426c791ee68226291fe85512c() - { - $this->assertTrue(true); - fn() => ($test && $test **= $test); - } - function testc7f02a392c25a1936586f29a1375d5fa3d3c393757fac9863caf21cb800c9cf5() - { - $this->assertTrue(true); - fn() => ($test **= $test::${$test}); - } - function testc9182822ede529f4c0bc32af0544833673eb73d423bd464f1a6a128adde65f80() - { - $this->assertTrue(true); - fn() => ($test **= $test::$test); - } - function testca10e865061c487b31dc99b075790ea9bfeda3ada2beaa5ca6f4b58ece1f11db() - { - $this->assertTrue(true); - fn() => ($test / $test **= $test); - } - function testcca54b9047ae3eedd4ca1f9887f96a9674cbd2a440a074499af14f44ea01ac39() - { - $this->assertTrue(true); - fn() => ($test **= $test . $test); - } - function testce5e68fcf730556f9e61cd687e9eb74d1259436786bf5b255a110d303c2f1dd7() - { - $this->assertTrue(true); - fn() => ($test **= eval($test)); - } - function testd1e018c3608e3c5899fe0c41b78d74449d4b6bf4b2cc8ee47d0b905dcdd15408() - { - $this->assertTrue(true); - fn() => ($test === $test **= $test); - } - function testd564cd572ecea8dc81bc72cddb94b5383b6479882588cc6ca0e9235ead4349fb() - { - $this->assertTrue(true); - fn() => ((array) $test **= $test); - } - function testd72cf3f11a437586013834d61b9292d0934d15260f2dc1698f5aebe28bbe82eb() - { - $this->assertTrue(true); - fn() => ($test **= $test %= $test); - } - function testd85a435f5d05cadce3420f3245049e974b925ad122f37d34df873c64de1a89fc() - { - $this->assertTrue(true); - fn() => ($test **= --$test); - } - function testdcac006c9760b80dbf23f7e4d0506c56f7d91f07eea22fc224235fa171bd0212() - { - $this->assertTrue(true); - fn() => (-$test **= $test); - } - function testde88a2758e1c65e59ffa2873d2a19a21ed0d64edc519cfae595a4fc246d42aaa() - { - $this->assertTrue(true); - fn() => ($test **= $test -= $test); - } - function teste75d281955ef24f45193fb103ef2ff3862970243c01c2d06bd3c48353e1676d3() - { - $this->assertTrue(true); - fn() => ($test **= $test /= $test); - } - function teste887a3b8091aff9ae6c289de8d7452bc7c0cf53e2420922aec7f38af6fa3121b() - { - $this->assertTrue(true); - fn() => ((bool) $test **= $test); - } - function testea648a032bb199ff430827267ed6d98285c536f8e72e0b6a4dc3031c407cb4c7() - { - $this->assertTrue(true); - fn() => ($test **= $test ? $test : $test); - } - function testef54ec51ea1b1c478dd13a10647a59ca1dd5fcf460607d58619adc5ee4ee2f5f() - { - $this->assertTrue(true); - fn() => ($test **= $test > $test); - } - function testf1f8469c3b181ae758db5c38fc03ea1b16ae417b696add199496d06283615989() - { - $this->assertTrue(true); - fn() => ($test **= $test &= $test); - } - function testf32b4ee096db129bf76772c9c6945246fe2b3b51c748379373194ce780ccc5ed() - { - $this->assertTrue(true); - fn() => ($test **= !$test); - } - function testf7e44e403efd44bd37b4fe55a492f92d718598b37637d976af778493f986ec86() - { - $this->assertTrue(true); - fn() => ($test **= $test =& $test); - } - function testf8f48ea114e0c17418affe948349e4eebaa24fed8e905053ccee7ae7642a1b2e() - { - $this->assertTrue(true); - fn() => ($test **= isset($test)); - } - function testfa4821c4e22350583ec06a58cb6fe3e0ff28efe9e93c05f33d1f3f12e12eb2ef() - { - $this->assertTrue(true); - fn() => ($test **= $test | $test); - } - function testfc8b0b2fa7943447656931090c7f719270e56dca7ab549f803dc8ce035b4ad3f() - { - $this->assertTrue(true); - fn() => ($test < $test **= $test); - } - function testff5b655ef7b0b1c819787c7a5024eae2dc14b609af529a1028189448a194cd44() - { - $this->assertTrue(true); - fn() => ($test * $test **= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test.php b/testsGenerated/Target/Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test.php deleted file mode 100644 index 61b6dd182..000000000 --- a/testsGenerated/Target/Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test extends TestCase -{ - function test00538df12bf3e7fd1f58b44bc9c9aa4d9003f92574414f2b483e2861786d3ce7() - { - $this->assertTrue(true); - fn() => ($test <=> ($test != $test)); - } - function test038061ca7ce54b7dcb6c3f5a04cf943175a4df69f387a0b699f7f6f479845ede() - { - $this->assertTrue(true); - fn() => ((array) (!$test)); - } - function test0a4b04b38ace215cc9aa7207e963c161cd85e480faa2212ba53c9b68a290534d() - { - $this->assertTrue(true); - fn() => ((array) ($test -= $test)); - } - function test0a54192dda612a79ac11d4c904ae5cdb4b2632540ed8b79bbbdb5309eeaa45ae() - { - $this->assertTrue(true); - fn() => ((array) ($test ^= $test)); - } - function test0e45785f0bba66e86eb16538f2c8d37fef7aa9deb1dfc0e1ac45e48a9cf158f8() - { - $this->assertTrue(true); - fn() => ($test <=> ($test *= $test)); - } - function test105aa1bcf21ca05a8c5147930f7ef4c02064d22f53b3cff614be03e7bc01530e() - { - $this->assertTrue(true); - fn() => ($test <=> ($test /= $test)); - } - function test12204f5499197188e5b0965bfc1fbbc84b9d07c8c0e156127c050f9699f6fe2c() - { - $this->assertTrue(true); - fn() => ($test <=> $test . $test); - } - function test144f3ad2af10c0ba7efc3026b733cca3e6b12fa3ac9a34e307b93a25f7e2c52d() - { - $this->assertTrue(true); - fn() => ($test <=> $test << $test); - } - function test194344ac060d85bc5c18eaf41a90fe3a6c2a096ef02b71b70004e63ea417afb5() - { - $this->assertTrue(true); - fn() => ((array) []); - } - function test1a01d202fc87e84be5f917707526c05dd5fb71c6b31b294f0766189a3e25dd41() - { - $this->assertTrue(true); - fn() => ($test <=> __FILE__); - } - function test1a6b05371e1bd75f5c3a0acb96b6d65b363203346deaa328ec488eb9dae2c2a8() - { - $this->assertTrue(true); - fn() => ((array) ($test /= $test)); - } - function test1bf93ce3b027b41fa17df4f5b566904c1074eb69aadbcfeacbc8f1eade946a6c() - { - $this->assertTrue(true); - fn() => ((array) ($test instanceof $test)); - } - function test1d691564b04fdc0b85533c3e33372f18841919dbe008cbb2894596567cbfaf14() - { - $this->assertTrue(true); - fn() => ($test <=> __LINE__); - } - function test1ee90ba773ead19f3568564dff4744805795f276545bc2a3129aaee93d2dfbb5() - { - $this->assertTrue(true); - fn() => ((array) $test?->{$test}()); - } - function test21665361d3161da1236690f38f446f426cb65b8c68a537ee4eac06efad24d3c7() - { - $this->assertTrue(true); - fn() => ((array) match ($test) { - }); - } - function test2272267af4989d4d7d81f441becea3b5de68437486c34ffa1f075e1803be4d9c() - { - $this->assertTrue(true); - fn() => ((array) self); - } - function test2416537cf99ab374ef0ba02e0996097c19a69115daebd2c30bde6826d3d85207() - { - $this->assertTrue(true); - fn() => ((array) $test::${$test}); - } - function test24eb183a892867ef243241ae1a88851b62b8c9abe001bf19635410979fcefdf2() - { - $this->assertTrue(true); - fn() => ((array) ($test ??= $test)); - } - function test33d7f87ceb5b22f229feeac4baef52a048aa85dd9dcceaa3f51a5a828f69ee68() - { - $this->assertTrue(true); - fn() => ($test <=> ($test == $test)); - } - function test346135adf19f8107837a14232ba5fb18037503cb80c5b4c68f471569640eee53() - { - $this->assertTrue(true); - fn() => ($test <=> ($test <=> $test)); - } - function test35d05c83eeb1548b77d31f48147e388ee384715512d0918fc5b146b8fa306d2d() - { - $this->assertTrue(true); - fn() => ((array) ${$test}); - } - function test3a164545e400b95aaf259484bacc36878ddf2dd76ceb4fe37c40451d630d2b31() - { - $this->assertTrue(true); - fn() => ($test <=> ($test && $test)); - } - function test3d939b8f499d5b834e10af1f54bd36ef7b6e8c18af91f8a4b9a042503132df2e() - { - $this->assertTrue(true); - fn() => ($test <=> $test % $test); - } - function test3e49d7db387eef7b1963bbf8fa99c272b1a6022315c310aac4f6e43d9ae1dd31() - { - $this->assertTrue(true); - fn() => ($test <=> __TRAIT__); - } - function test404ca7509c5398f407df44e9226dbf284982c655acb85b1402fecfcc2759049c() - { - $this->assertTrue(true); - fn() => ($test <=> $test * $test); - } - function test413b660cb2f444b38da148927ce326b2b4aeb09a8e13d0a3c892676bfc2c694a() - { - $this->assertTrue(true); - fn() => ($test <=> 0); - } - function test42c943dea6c2b95f8cbfe326c5f825c3e874461009872108f134a4b6566609a4() - { - $this->assertTrue(true); - fn() => ((array) (yield $test => $test)); - } - function test43b6d5606b397e7dcd2f1e4594638a3b41e0d27d297b012e1f1513bfe2248171() - { - $this->assertTrue(true); - fn() => ((array) eval($test)); - } - function test49a0cce35109783a780c143a22bc67efcc56a27ead4ae9e7160f6fb7507ffcb4() - { - $this->assertTrue(true); - fn() => ((array) $test->{$test}()); - } - function test5776fc44b5566496254a9a90ecef740b296797bbfd2056cfb4368db306771d75() - { - $this->assertTrue(true); - fn() => ((array) $test++); - } - function test5797cf93ccc0d138f874ab213c59e456313b8bb65c4759b37bc30f72e0b2fcca() - { - $this->assertTrue(true); - fn() => ((array) ($test =& $test)); - } - function test587d48e7d333ab69ad0b1573bbb03c36d0f24f51b3afe66a483412634c4ca367() - { - $this->assertTrue(true); - fn() => ($test <=> $test > $test); - } - function test610b92a05e5759abdd315cb3e0094571b779b3b8196fc3b121f8e39d53fcac93() - { - $this->assertTrue(true); - fn() => ((array) ($test .= $test)); - } - function test62f2882df08c07f80ea4681b5060226bd98bb782780b1531c80f6230b0b4f357() - { - $this->assertTrue(true); - fn() => ((array) (print $test)); - } - function test63198a3ddfcaa7114a231e769b7baaed7db1adb3d0e407337c96462a936fa73c() - { - $this->assertTrue(true); - fn() => ($test <=> ($test || $test)); - } - function test64b5790dfd30f0018e0d4835addc70e97e745ef5460574e7995946ec34ca0663() - { - $this->assertTrue(true); - fn() => ($test <=> (double) $test); - } - function test6653c780c4ff8e36c34d836ad730cdc6a2fd4e1d66c15bf89444c4428a1321df() - { - $this->assertTrue(true); - fn() => ($test <=> (int) $test); - } - function test66d9f889f16bc75dca513a47ad5508ef163128670f241671bcfd0b96664f61e1() - { - $this->assertTrue(true); - fn() => ($test <=> (array) $test); - } - function test672a7beb942ebf082eebad3ad223e5429c47858eff791728b095d9b4ecff3649() - { - $this->assertTrue(true); - fn() => ((array) ++$test); - } - function test6805fae3173df82838e95228b4baf7f0d4b56fdb81988368e4cd9c4cae413c3c() - { - $this->assertTrue(true); - fn() => ($test <=> $test <= $test); - } - function test68470b4816f12c44773cbf584d91091044bdf5ecb631ef1c986bb092dfbf9dde() - { - $this->assertTrue(true); - fn() => ($test <=> ($test & $test)); - } - function test69183e1f4633d719dbe3dc6dcc62328811da507cb738008ff0a8c9fa00104aa9() - { - $this->assertTrue(true); - fn() => ($test <=> ($test %= $test)); - } - function test6a07cdd8e067750f5fd86bcafba47cd34d333709d237b1a3bd76cc9b13100273() - { - $this->assertTrue(true); - fn() => ($test <=> __FUNCTION__); - } - function test6aa186d86af3dbb5376c92356038dc8e7134ab1f3a5259df90dd4c54f81d9327() - { - $this->assertTrue(true); - fn() => ($test <=> ($test .= $test)); - } - function test6ab94bd207cb1c2626829f60171159c9253df0c296aab290683b01884b4ef42b() - { - $this->assertTrue(true); - fn() => ($test <=> ($test **= $test)); - } - function test6b9aae870ece7427cae37b0a73cfedaa9b023adf70bb6a7cded763ba0becb9b2() - { - $this->assertTrue(true); - fn() => ($test <=> $test >> $test); - } - function test6d7a65c72aa3692034c7f17255cd8dd031637ff7f290e2a29edb1a51d5c522b2() - { - $this->assertTrue(true); - fn() => ($test <=> 'test'); - } - function test6ebeb3026f9d7538eec02eaa85f90ff76d0e34cbdbc501d02e810e3112c22d53() - { - $this->assertTrue(true); - fn() => ((array) $test[$test]); - } - function test70998613f19b8366ebc911474855094846bec7e969efac99b18931e0a76019c1() - { - $this->assertTrue(true); - fn() => ($test <=> $test < $test); - } - function test70e481980397a566b3d22151c2da6b4fb7dff0eca72567674766cd3c0564ac48() - { - $this->assertTrue(true); - fn() => ($test <=> $test - $test); - } - function test71aaad044474e27e93f708a516317aea9316818d85ff1a71183e16c50987894b() - { - $this->assertTrue(true); - fn() => ((array) $test()); - } - function test746c6c4d46112da7d366174082a294c83eba6bea0aeb9af24e47cd7f5a3b22a6() - { - $this->assertTrue(true); - fn() => ($test <=> ($test ^ $test)); - } - function test778c56b0bded264d264416ffd8eda068d90a9cd551135ea32f5cef7f712025c5() - { - $this->assertTrue(true); - fn() => ($test <=> __DIR__); - } - function test79174b1431eb20e0fc8ac1b94d2c4f51af06a78cca9fe61e445259c142958f4a() - { - $this->assertTrue(true); - fn() => ($test <=> (object) $test); - } - function test7a4485ae26d2f56cab57c8e28ea1f00e3c66c0191f4bb1c195ef816f680958cb() - { - $this->assertTrue(true); - fn() => ((array) empty($test)); - } - function test81f3691c6d9aa7cd4ae6d40c61be4497a25a55501b1f2b758b0af4166cc2dadb() - { - $this->assertTrue(true); - fn() => ((array) ($test = $test)); - } - function test858cb79778e3a2e8927245084eccfd10b0eeb5746689983c954d79c06512727c() - { - $this->assertTrue(true); - fn() => ((array) ~$test); - } - function test88a8e95876b75d27ce1eb404978a734be8c5652bd05547a6f4f677c7346c4e01() - { - $this->assertTrue(true); - fn() => ($test <=> $test >= $test); - } - function test8a50f65f6b5ee9b7033dd78e3eb5310231e5d7c238ebe3d76bcb5087b22ee5ef() - { - $this->assertTrue(true); - fn() => ((array) clone $test); - } - function test8cb11606143b0d042739af25ce985004adbb848201ca3de7b52d9b21154780e6() - { - $this->assertTrue(true); - fn() => ($test <=> ($test or $test)); - } - function test8deed514443c3b2455fc53f8e44ade2e5e4db61e0a671b63bb24f9582d74503b() - { - $this->assertTrue(true); - fn() => ($test <=> ($test === $test)); - } - function test9284318547114c4d1795eaab651eb84906fbbff3d8a09f0def8e43fade83773f() - { - $this->assertTrue(true); - fn() => ((array) $test::$test); - } - function test94622c0d9ecd3662d367197bb3bb97e14c82ebde2ba6687ec9c6d18ad0b6c5de() - { - $this->assertTrue(true); - fn() => ((array) ( $test)); - } - function test95f93627f70059c026e43c3efd186e4ee49472f51fb73f87ed0a278e704debd8() - { - $this->assertTrue(true); - fn() => ($test <=> $test / $test); - } - function test9de760b132ecf64a1806d60ea079dc5188f97a73ff699c8be7ebbb3c4bdb6dc2() - { - $this->assertTrue(true); - fn() => ($test <=> ($test <<= $test)); - } - function testa0cc194c8a3fb2fcac3533427ff20722f11a93615208274b1a1208f8e6a09b80() - { - $this->assertTrue(true); - fn() => ($test <=> ($test xor $test)); - } - function testa12ee069760fa364446315d914a3c499bf92a4be934f6896623f594b7a271476() - { - $this->assertTrue(true); - fn() => ($test <=> ($test and $test)); - } - function testa6db0884cb7dced4990c2ff77d2a318edb75c4d57360b62cb7169cd83d042f4d() - { - $this->assertTrue(true); - fn() => ($test <=> ($test >>= $test)); - } - function testa7b1966a3eeaf7512a8eadf01f0b63fa62d83fc69af81b23d010dc3586a8d594() - { - $this->assertTrue(true); - fn() => ((array) $test->{$test}); - } - function testa899d4f04fb654d06f74632a7cbc9647f0d0ba759d8a7f9e53795e046ead0c63() - { - $this->assertTrue(true); - fn() => ($test <=> (bool) $test); - } - function testa93abd99daadf9928820d087c373a75f6aa38025f87e55c0479f362647bdfb35() - { - $this->assertTrue(true); - fn() => ((array) ($test ? $test : $test)); - } - function testad3a0e5cf05c908a2f750ac7d23b78a98d5bcf4223f0d4779a2e27a14a90f93a() - { - $this->assertTrue(true); - fn() => ((array) $test); - } - function testafafb2ae0c17b74a186e4243572b565f66701c5ab872bee31f9e3fc6075c942e() - { - $this->assertTrue(true); - fn() => ((array) ``); - } - function testafff383c99dcd17cc407fd367a77eb9d3351b5f28f5937acccf60d2c878f627a() - { - $this->assertTrue(true); - fn() => ($test <=> __METHOD__); - } - function testb325dfb96cebc9393f89adbbd17a9e0725d2efe4aac155032e9b8cea01a1bc66() - { - $this->assertTrue(true); - fn() => ((array) ($test |= $test)); - } - function testb668eebc2502f410cb59232cbc22b3cbdc7b96f80055644a3ad0d2799bdf98b3() - { - $this->assertTrue(true); - fn() => ((array) $test--); - } - function testb8b952060b60a158efb533ebb32e2af138f3e8fb8493798ca17ca075e7f08350() - { - $this->assertTrue(true); - fn() => ((array) isset($test)); - } - function testb99ffb7c195d3578a9997acbb6086934d9a63ce11deff464e39c4f52dfcd89d8() - { - $this->assertTrue(true); - fn() => ($test <=> 0.0); - } - function testbb55b82df567d4722c5126670cf080086c1d9c97eb212c5f70b78981434fefbb() - { - $this->assertTrue(true); - fn() => ($test <=> __NAMESPACE__); - } - function testbcb5a4cb4d1ee02b452c51df79ffd58fcc5cf3cf8f465b6e756d91db657919ae() - { - $this->assertTrue(true); - fn() => ((array) ($test &= $test)); - } - function testbcc2cb9fea29870af05584db4353227ccfe790208ee2b4ddc1894660e352e6bf() - { - $this->assertTrue(true); - fn() => ((array) -$test); - } - function testc052f0cdfe2501f957b038434aaa1289b50ea6561c60c5139c50b614486c55f4() - { - $this->assertTrue(true); - fn() => ((array) $test::$test()); - } - function testca868531b439eb433e2b99a40492275cb11c222892c4af5a21953307fe2bd537() - { - $this->assertTrue(true); - fn() => ((array) --$test); - } - function testcac2f62071dc87cc2672d53b8c64eadf6cc1531c85e01ea941f317e71ffc0b0d() - { - $this->assertTrue(true); - fn() => ($test <=> (string) $test); - } - function testcea23a121127151eedc9176091f67d2afeb3ea8a4ba81297a508d157da04febc() - { - $this->assertTrue(true); - fn() => ($test <=> ($test | $test)); - } - function testd11198273182566bb0c5a48ce9f553c70d68461fe53f03052566728fbae84b6f() - { - $this->assertTrue(true); - fn() => ((array) function () { - }); - } - function testd3af63ee0b0cb488e5534dd0bad2b2824a21c3a931006242156cfd8f9adb3512() - { - $this->assertTrue(true); - fn() => ($test <=> "{$test}"); - } - function testd47e3e930b3ce609eb18478bf74599f6d586d5e34939cbdb230f7f09020c3d63() - { - $this->assertTrue(true); - fn() => ($test <=> ($test !== $test)); - } - function testd61a28eedb8eb124ce0200339c2c5f4699922270d47fe26bcd0628d5c35a4786() - { - $this->assertTrue(true); - fn() => ($test <=> ($test ?? $test)); - } - function testd88772d7845a52baf2df6fbd53af4c1497a51d55c3088a333d1b8e0590135bfc() - { - $this->assertTrue(true); - fn() => ((array) throw $test); - } - function testdac1a315b015f521fbb0058d5cb9842d195446a567865cbe0c83bb59e516f1a3() - { - $this->assertTrue(true); - fn() => ((array) $test?->{$test}); - } - function testdd9b0a2dad5275b1476845c3e2f2c9df3d219d77372fdee6c22d7f05cc90eb40() - { - $this->assertTrue(true); - fn() => ((array) +$test); - } - function teste2399cce704d36edae8b70dad5b0ed6c800b662de2aeb70dc4277ceab1a6cc7b() - { - $this->assertTrue(true); - fn() => ($test <=> ($test -= $test)); - } - function teste30ad13dbde0a4983f3b4542940865b9c27194793d9375146e225393f6723766() - { - $this->assertTrue(true); - fn() => ($test <=> ($test += $test)); - } - function testea5d0bb7360e166981c783379d679eb5e815b045f46897ca5e73401ae7305b7b() - { - $this->assertTrue(true); - fn() => ((array) new $test()); - } - function testeb5b2f49f6bfcc389d21145a3f370231840e3ad124de90b18575144dc367f187() - { - $this->assertTrue(true); - fn() => ($test <=> $test ** $test); - } - function testf007f93a9cea393bb7fe85d54ced4aad23deb29ed64a87c56525b54592178091() - { - $this->assertTrue(true); - fn() => ($test <=> __CLASS__); - } - function testf1567fea5706ec25a636df4cc4b4ceab4df632f97ac3d424b38c3188b8286f6a() - { - $this->assertTrue(true); - fn() => ((array) @$test); - } - function testf7fd0c2a6e91f5b0a2c390beacb68a05b1f6608e87341cc373ef396419a5ab3f() - { - $this->assertTrue(true); - fn() => ($test <=> $test + $test); - } - function testfe3afdf174e06762ecacc5954aa2cc7c587336d02f04e8a3a2929e437fce6048() - { - $this->assertTrue(true); - fn() => ((array) (yield from $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php b/testsGenerated/Target/Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php deleted file mode 100644 index a33e70fc3..000000000 --- a/testsGenerated/Target/Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test extends TestCase -{ - function test02688c71c92ef5c8863086c87adb324bf241ab7c7be3fd1b4bce734eef3143f3() - { - $this->assertTrue(true); - fn() => ($test += (print $test)); - } - function test02f8411c5434f4ce719301319c3fa12f046f78aa8eff8ba947bf063d45ce08bf() - { - $this->assertTrue(true); - fn() => ($test += __DIR__); - } - function test04ba8339e6f65b29fbb246e39c45ce1666158deccaeafc906026878f4b18230d() - { - $this->assertTrue(true); - fn() => ($test += $test > $test); - } - function test068033c705f1b7d2b38eeceef555e192edc2e9a44973a21dd05cf838a7978d99() - { - $this->assertTrue(true); - fn() => ($test += ($test xor $test)); - } - function test0b1542c9a08f38da06291d60e95e0c283dce19e3864f0f1399093edac492c0f7() - { - $this->assertTrue(true); - fn() => (clone $test **= $test); - } - function test0d88dfaee3996a8e4010ea039c1dd87753bb33f3e2ab8ef27031ab89b52dcda0() - { - $this->assertTrue(true); - fn() => ($test += $test << $test); - } - function test119b31c027e874c07913ffb6f819aee2c5f160ef5ef5b336c78feb5248a3863d() - { - $this->assertTrue(true); - fn() => ($test += !$test); - } - function test13343be129584a1f36b3a3bad5a8ccdc511f1487cd994c06f57d43bf063e36c1() - { - $this->assertTrue(true); - fn() => ($test += __NAMESPACE__); - } - function test1468c2b6fecaf9b4c5e20ab8720aedb9283acd6ad44e830172a03bf033264ca9() - { - $this->assertTrue(true); - fn() => ($test += (yield $test => $test)); - } - function test14a2fdb9a78c3a63764864b6857564f78eac14e0759e3421a109095fe68bff17() - { - $this->assertTrue(true); - fn() => ($test::$test **= $test); - } - function test16697a2d6fb361a818aedeface55adde229275f24b913e4e62a80f71b524c46f() - { - $this->assertTrue(true); - fn() => ($test += eval($test)); - } - function test1fdb569f796be9ad09fd35f9dc43202cd9226451d1843257c6eb427c018a3b9c() - { - $this->assertTrue(true); - fn() => (@$test **= $test); - } - function test219b53d8d0c8fa0878e0fea546fcc8a21fab145b54d48902172027a811c4c237() - { - $this->assertTrue(true); - fn() => ($test += ${$test}); - } - function test226a3e9394b39850aa3f559a252cd65723d0e1deca82634ac3d2c8abdd92d4a2() - { - $this->assertTrue(true); - fn() => ($test += $test . $test); - } - function test24fa88e2dad42cbfd9254892e3b23ae35187e9fbf4304928f376ff5eb1f88d24() - { - $this->assertTrue(true); - fn() => ($test += __FUNCTION__); - } - function test256c7e76a536c6f53dc1c7c1a31cf0a4b6072a0dfc4b4c4d096a4e0a4fd659b0() - { - $this->assertTrue(true); - fn() => ($test += $test % $test); - } - function test268422d581d01272211fcd92b9025835e61bea46650db48d1015f59015af571e() - { - $this->assertTrue(true); - fn() => ($test += $test ** $test); - } - function test2950acc7946fc6a153546d8dab5f0b761dcc91fa02bb31c48669a3d523e93eaa() - { - $this->assertTrue(true); - fn() => ($test += $test /= $test); - } - function test30444f563099f245c7370ee14600b809feac4bb915ab9731b3b7b64d89e47481() - { - $this->assertTrue(true); - fn() => ($test += $test >>= $test); - } - function test316e23572d1594859d76281893b3875700506e9139e77ff5b086fba7369b4f95() - { - $this->assertTrue(true); - fn() => ($test += @$test); - } - function test323c3efc738c2b13adceeeac0eba2e65347ff3b1a04558d5795cd57145312906() - { - $this->assertTrue(true); - fn() => ($test += $test ^= $test); - } - function test345c4817bae67293b92750a30973741d1a2f4f3d9c4b1ee8c6cfb7092d022eb3() - { - $this->assertTrue(true); - fn() => ($test += $test != $test); - } - function test3c6638edf30bc08540b29a5d0a347f720fad720c62514b06a326a5e8276b5bc9() - { - $this->assertTrue(true); - fn() => ($test += $test <=> $test); - } - function test471145e1c6965e25c15ec1469d9d43ddf6111cfe2c29620c7f68f8d6ac9c6dd1() - { - $this->assertTrue(true); - fn() => ($test += 'test'); - } - function test475add6d34855c631c9a1c5ec5b3fd265fdd73323886c095dba0f294ae25ea5c() - { - $this->assertTrue(true); - fn() => ($test += $test | $test); - } - function test48e1dc601ea4da2d8283517ed9c8753b85d3f006698abb50516a2c1829d71aca() - { - $this->assertTrue(true); - fn() => ($test += $test == $test); - } - function test4bbd339ca55d0bad02d02e977853c66a8bc838cedc6947c6b9a31260edcdb559() - { - $this->assertTrue(true); - fn() => ($test += $test & $test); - } - function test4cd0f6a085373cbb22eb3a9abdaf450011fdc7d3a4c4bb1027ec4aecf3870ba5() - { - $this->assertTrue(true); - fn() => ($test += $test + $test); - } - function test4d9391f346ebf042748a8a8d2892703cb572fe1dd21bd0cee3d8ba5a4eadadfd() - { - $this->assertTrue(true); - fn() => ($test += $test -= $test); - } - function test5a94cdea55f22ce337ea6369ab94e9fa698aceb0d2a3ca64efb6b7017f697f1d() - { - $this->assertTrue(true); - fn() => ($test += $test &= $test); - } - function test5e2b89b8380f80e4100d7b592142e33342692892eba21492db5fff5ed8b09ee8() - { - $this->assertTrue(true); - fn() => ($test += $test ? $test : $test); - } - function test611f9bf1c00b4253c2acd5fad7f5506689b45b031d7a2270f2b03cf024dc6b51() - { - $this->assertTrue(true); - fn() => ($test += (object) $test); - } - function test65681bbaffeae20feba5d14282838cc0b71491336b219b19b735abb41b3871d2() - { - $this->assertTrue(true); - fn() => ($test += $test || $test); - } - function test65b7bee9b1e3cd637907555b159f5103342f2e00492c318856e38fa9a7b64109() - { - $this->assertTrue(true); - fn() => ($test += $test::${$test}); - } - function test6c18233c2bceb4b8eb1714400a47d671b9d333b82fb55b6e08616fa2cb50bbf0() - { - $this->assertTrue(true); - fn() => ($test += -$test); - } - function test6cd2af56dc1b8c2ff4b1fe74fe24479dcf10ace1e0b3127fddb62fa55242e2ce() - { - $this->assertTrue(true); - fn() => ($test += $test .= $test); - } - function test6d0fd334e59884ada77952336a65ac59c71f884469e92beb35dc360123dd0113() - { - $this->assertTrue(true); - fn() => ($test += $test->{$test}); - } - function test76517c339f40829b8565ffa876d5076c5219482f886a99bc633c55e14b49d2d7() - { - $this->assertTrue(true); - fn() => ($test += $test >> $test); - } - function test797d0074c744545572b2e7a024438cf4fd34253f06eacac48d5b80abd3286ffb() - { - $this->assertTrue(true); - fn() => ($test += +$test); - } - function test7b5b5681e6a328a50e10fcd270ef4545ccfb68138e51b2a36058e1f0b5710948() - { - $this->assertTrue(true); - fn() => ($test += $test--); - } - function test7c536d0c6e85110ee477122a71c793da2c6cd6d47f54187b37bf4f26321004fc() - { - $this->assertTrue(true); - fn() => ($test += $test && $test); - } - function test7e9983f699ddea4d710270b09de14aeff7a0dbb0aafca23cd305a467c03920ee() - { - $this->assertTrue(true); - fn() => ($test += (double) $test); - } - function test7f507c3060044567c72234125b55c92056480074953905c3e316b8568c432cac() - { - $this->assertTrue(true); - fn() => ($test += "{$test}"); - } - function test8439ef287f5f1f081581398ce55d463e4a87fa3dd47ba99bd0315688d67e722c() - { - $this->assertTrue(true); - fn() => ($test += $test ?? $test); - } - function test85b25f6cebcf862bf098c45d333c15040cbbd51b4f12748ed03f54259cee7b83() - { - $this->assertTrue(true); - fn() => ($test += $test %= $test); - } - function test8629594c3280a4e6072e1f981fefa20efe5025964df35439c7871cbf5788bb96() - { - $this->assertTrue(true); - fn() => (~$test **= $test); - } - function test88aa68900b64476b60c5c831557582ac42090bbd6c1731cc5e9d6507898456ac() - { - $this->assertTrue(true); - fn() => ($test += ($test or $test)); - } - function test8b9943ee65583ff12bfd016a30d337f4bc5433ece69fa972caa39e344fc4a1c0() - { - $this->assertTrue(true); - fn() => ($test += __LINE__); - } - function test8d9173427f0ba1373c35268eea80891c0af64345809f6bffd6cf1ac17930e703() - { - $this->assertTrue(true); - fn() => ($test += 0.0); - } - function test90a9057bc90290b9ae0ce94522a46c32fd13f8b0ff11b58e1750db569a96e033() - { - $this->assertTrue(true); - fn() => ($test += $test >= $test); - } - function test93770af972fc9286108290fcfe177bd2eb205e82ca819b1b89ff41ee81ea44f0() - { - $this->assertTrue(true); - fn() => ($test += self); - } - function test97279d1c8cc6a5c065194b868e7e5f557ea04122544e30158a667c377f8dfe7e() - { - $this->assertTrue(true); - fn() => ($test += (yield from $test)); - } - function test975f40a385c202948715f48367e8565b8daec78aa72470bd6ffcc5bd176a14f7() - { - $this->assertTrue(true); - fn() => ($test += $test ??= $test); - } - function test97addb6edc3218faa6c76f5462404a80421c850fa588c701a9d12bc8f0d5afd5() - { - $this->assertTrue(true); - fn() => ($test += ``); - } - function test99de8575c68373df611784691c21c5e2285c802a3067ca1c6f992be8303b80d0() - { - $this->assertTrue(true); - fn() => ($test += $test * $test); - } - function test9a6fccad9292d2851c17c35a1daa613e87cf96af027e50aadb8a50ec53c6d424() - { - $this->assertTrue(true); - fn() => ($test += $test?->{$test}()); - } - function test9af5c25dba98d9ef530c064d6807ebff4a69d97ab365d74fd0b9f282db709b07() - { - $this->assertTrue(true); - fn() => ($test **= $test); - } - function test9b29f1f7f19d8055c4e4299a0aec2a1add7bd7cf930ea4f62c6d5dabc1b10819() - { - $this->assertTrue(true); - fn() => ($test += empty($test)); - } - function test9c9c42c0251d7f42def16945e6dcc7532ac0e79829ebf89ea4980de3a2930335() - { - $this->assertTrue(true); - fn() => ($test += __TRAIT__); - } - function testa14c479df61ab2c59fae2a9e3a66a92faf73de6d8724e9618b04897fdbc3bc83() - { - $this->assertTrue(true); - fn() => ($test += throw $test); - } - function testa23b6bf54cb6b70859ae0e5017f8c1114c336ee976174fb48164c2aab5b30f93() - { - $this->assertTrue(true); - fn() => ($test[$test] **= $test); - } - function testa43575da1cdbd263879ac9245b06f21a1bec3016a11c082a7944e7b08a258fe1() - { - $this->assertTrue(true); - fn() => (!$test **= $test); - } - function testaab8fe945b3643a4aeb3d7808910ba290fd6fb94ce5272f185226c8a5bc9635a() - { - $this->assertTrue(true); - fn() => ($test += $test <= $test); - } - function testaef6cfed38fb33be673085d60b9b92af03d5b01206d50628039d42e7b5ef1481() - { - $this->assertTrue(true); - fn() => ($test += match ($test) { - }); - } - function testaf2587b51eb5bd0c027e69f808ee688a9868e325862182f2590e16aadede56be() - { - $this->assertTrue(true); - fn() => ($test += $test *= $test); - } - function testaf2e4fa3d3d78198be8c3113ef58474e4831381af976ae461ca196e0e41aec52() - { - $this->assertTrue(true); - fn() => ($test += $test **= $test); - } - function testb023b0eab57de1bb645334a634fd91bb07729d9061faf683edb5f3e83a323e65() - { - $this->assertTrue(true); - fn() => ($test += ~$test); - } - function testb2ddbdb357a344448ede80188d308ae245b2529cc54bc48e0cb1bb07cc8b35ea() - { - $this->assertTrue(true); - fn() => ($test += $test); - } - function testb3133b12749fc9ecbea33e95bf1d944e257d87b3205a3d0c6044e380fcf5dc1c() - { - $this->assertTrue(true); - fn() => ($test += $test::$test()); - } - function testb912058527de52f8fabf7a80117266a46e524b8581fb05cb9dc157bfaf517dd4() - { - $this->assertTrue(true); - fn() => ($test += $test / $test); - } - function testb91fc44e6216d462a4160e68049b66f54ed6008ea5969e9d7b479e71089c4e40() - { - $this->assertTrue(true); - fn() => ($test += $test instanceof $test); - } - function testbb9714d1ffa9ea0a32ba2004d511a7179a2349090e3b1d5d584e1cae50c58d33() - { - $this->assertTrue(true); - fn() => ($test += $test()); - } - function testc36a69b16fdee450da37dbaf537d9e532c2390868149434ed49ea7181e992de1() - { - $this->assertTrue(true); - fn() => ($test += isset($test)); - } - function testccc7e5d59ba59944c253603ea0d0393de1e76f4937ed9cfb00e685968607ebb5() - { - $this->assertTrue(true); - fn() => ($test += $test - $test); - } - function testcd63acdb92998a1b63264388543021afe5831700ce12b1c5ed703efbd5fcbf2c() - { - $this->assertTrue(true); - fn() => ($test += __FILE__); - } - function testcda46c6dd701e326f898b36b9349bb80070ba30e7472743065f0f3b9009769da() - { - $this->assertTrue(true); - fn() => ($test += __CLASS__); - } - function testce6aad2e381d313332ae692a6a21d332044a3d0f5d989eb1153d156957742954() - { - $this->assertTrue(true); - fn() => ($test += (int) $test); - } - function testce9800a831a2dd43907a2137350253e9a48baa4afbfd12327f1a09175e698600() - { - $this->assertTrue(true); - fn() => ($test += $test += $test); - } - function testd098aa3b405ed48eb3e5d88dc30384cf65015b7affa8552a36f4ee58f7b0f25f() - { - $this->assertTrue(true); - fn() => ($test += ($test and $test)); - } - function testd1a29e9a0830bad2bb7315c283b7d5806034a35470531b4b02c3db861376c5a4() - { - $this->assertTrue(true); - fn() => ($test += $test !== $test); - } - function testd2138f6fc20869cc10e70d11ef40c19a4d175a7dc0a0be54d29f25fbaf246781() - { - $this->assertTrue(true); - fn() => ($test += $test++); - } - function testd5d824a05bac058107dbc7951513e7f10bcf5f0b8a311c95a0f157a465b10317() - { - $this->assertTrue(true); - fn() => ($test += --$test); - } - function testd935b7de7f32f9d899228f0185e3fce7cd7ef889075c70df34f4454d63bab1fa() - { - $this->assertTrue(true); - fn() => ($test += clone $test); - } - function testd9f4c84c6eccb4b79c98df12aa61d8001f460721eb3a9e845563e4d14a7922da() - { - $this->assertTrue(true); - fn() => ($test += $test ^ $test); - } - function testdfbb8faee77c471e0c969eebce3af392fb3b62c9ef3325be7408e83e4f035d6f() - { - $this->assertTrue(true); - fn() => ($test += new $test()); - } - function teste02b5f6f4903314f65662abf96b60dd0ddf4fbfed88ef6ab3da7e6621c337981() - { - $this->assertTrue(true); - fn() => ($test += (bool) $test); - } - function teste0e2d475423774406507f63c962aab58243793f43f44484f08f5acdb97f38bac() - { - $this->assertTrue(true); - fn() => ($test += __METHOD__); - } - function teste1baf82d0ad713fd200b56f5ae278ff46972e39bca62e45aa4f6fb6b7c9013a9() - { - $this->assertTrue(true); - fn() => ($test += $test |= $test); - } - function teste34930380ee8d4939035df055d67d2553dbe553ae4f50a39e3d61387ae8476e8() - { - $this->assertTrue(true); - fn() => ($test += (array) $test); - } - function teste3c28b9b83d1c509f902fbed0f0bbc37beb78ac3f85fd9f8a905351a2fbcd42c() - { - $this->assertTrue(true); - fn() => ($test += $test::$test); - } - function teste705f11717547147fcc0fc7ec8d2328e18e2812400b5cd03c41ef90da0087a41() - { - $this->assertTrue(true); - fn() => ($test += (string) $test); - } - function teste95826897b866f370a03b91a7c2c5fc8f3fcf856f0474afa2bec58778779718f() - { - $this->assertTrue(true); - fn() => ($test += ++$test); - } - function testeb997afb057f1c985f22e85de5aee9ce874bb21b2c035d124a03376d17d6be1b() - { - $this->assertTrue(true); - fn() => ($test += 0); - } - function testeb9fe782d25086281d9e9707d27ec159c9d2dcbf4c2e65846b6ac2b72af102c5() - { - $this->assertTrue(true); - fn() => ($test += $test->{$test}()); - } - function testf2bbee73d2c006d6595a2243ae984478050e40b712027318ba2cb18e6653556b() - { - $this->assertTrue(true); - fn() => ($test += $test <<= $test); - } - function testf2bc6147754ab9a0db78af95c2e60dccea5bbe7d6e42e598ed4c1ddd224eba25() - { - $this->assertTrue(true); - fn() => ($test += $test < $test); - } - function testf4410f686c5da116272a9570fe49a76b093905661c3da2747b0d812593deb97b() - { - $this->assertTrue(true); - fn() => ($test += ( $test)); - } - function testf5e992a94bec9f085c1cc500a5c51d815870badd5946b08fbc1e1d107580b882() - { - $this->assertTrue(true); - fn() => ($test += $test?->{$test}); - } - function testf5f76417b0197183231a7eee103923866e52c0105e12f4435c2ce226a473e9f4() - { - $this->assertTrue(true); - fn() => ($test += $test === $test); - } - function testfd646b329740e4819408adf41435ff4282845d1d87f6bdb46a82e3b832ebe6a3() - { - $this->assertTrue(true); - fn() => ($test += function () { - }); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest.php b/testsGenerated/Target/Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest.php deleted file mode 100644 index 79eae4a18..000000000 --- a/testsGenerated/Target/Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest.php +++ /dev/null @@ -1,512 +0,0 @@ - - * @license MIT - */ -class Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest extends TestCase -{ - function test015ec60cd857a68f25c1324a497fb77e8c7c9545089d4d1e36c77eb61533be4b() - { - $this->assertTrue(true); - fn() => ${0.0}; - } - function test0183c2ba7357ceef5452de162c8cc4e1e34d43a1142bbbcdfb0cb4f2dfa54d51() - { - $this->assertTrue(true); - fn() => ${$test || $test}; - } - function test0222ccb637ae17332a0e44b66a4b334c61472ad27ea831811f98dccca316fe5d() - { - $this->assertTrue(true); - fn() => (isset(${$test xor $test})); - } - function test025a04d77829a8269959a6f9070f1f07964e3b355cfa2fbc6d1ccc5d709471ad() - { - $this->assertTrue(true); - fn() => ${$test | $test}; - } - function test03fb9642860bbe3616b752fc0c239cf59c81fe452c78b50a023a09f16e358e25() - { - $this->assertTrue(true); - fn() => ${(double) $test}; - } - function test061ed8b598154789a0e12c40ef889fca44186e8e61ef0250598fb8fabc7a1b6c() - { - $this->assertTrue(true); - fn() => (isset(${$test << $test})); - } - function test069bc6f116ae66449fdbdcb2cdced17a89c896ef01fbc38532537508860957b3() - { - $this->assertTrue(true); - fn() => ${$test ?? $test}; - } - function test09f824d749e8b6754ec7b630f8b2c1382247cf4925d6bd4ef9be92fc0278f4fb() - { - $this->assertTrue(true); - fn() => (isset(${$test ?? $test})); - } - function test0d6a2e2582fe1c87b23dfe21ec663581a3c5767947311d19ef471961029190af() - { - $this->assertTrue(true); - fn() => (isset(${$test == $test})); - } - function test110da48e48ed5aac9f39df74a22f2ff991387257d4b2dc048343bc4b502473cf() - { - $this->assertTrue(true); - fn() => (isset(${(object) $test})); - } - function test12327cb9ff50ed53905691f93639d2fb8d1d0c8c3316266468388df637471101() - { - $this->assertTrue(true); - fn() => ${"{$test}"}; - } - function test12fd570463eae0b93d8280ef75ffe3ed443fe1366f9fe63807d6ce6ab73a5ad8() - { - $this->assertTrue(true); - fn() => ${$test >> $test}; - } - function test148f6d538d42f058cff52ecbfe2d405cfd2f35030616e82b8a5da9347a863295() - { - $this->assertTrue(true); - fn() => (isset(${__METHOD__})); - } - function test16e8d4cb2b3eb0506420c3f74e5f478f36b9c252246e382c186444eda860f149() - { - $this->assertTrue(true); - fn() => ${$test or $test}; - } - function test17337f11dee85c4815c0b92703c89584d23363a88618e93a7629c84e9385120b() - { - $this->assertTrue(true); - fn() => (yield from ~$test); - } - function test17b616725ad45ceb5b1646b325a546631829ed5dee23d3dfa7a71203ee62a5d1() - { - $this->assertTrue(true); - fn() => (isset(${(bool) $test})); - } - function test19b8099afc3383577fa99394e46f7b2cf53ad61b9e6297eb65701487dc352af9() - { - $this->assertTrue(true); - fn() => ${'test'}; - } - function test1e1f219884f211c5fe522457c9cb7753afe02f23c57548d12f5c3585af327d78() - { - $this->assertTrue(true); - fn() => ${$test / $test}; - } - function test1fc5f992064beb61a372ef820821cc7f6a9931ce8130771bd836c42f51fb205d() - { - $this->assertTrue(true); - fn() => ${$test != $test}; - } - function test213c6d186dc8aba69a5d9b1ae86df7a0cc705f9024502a6f7acca531ac0410c4() - { - $this->assertTrue(true); - fn() => (isset(${(array) $test})); - } - function test2157e44449668b76ce4a75d548cf4a46b60001cdc6c846a8eabf4b2f21e44e2f() - { - $this->assertTrue(true); - fn() => (isset(${$test >= $test})); - } - function test21c7b47e6df04e0b2d73e464133086d6b8992fd488d25b737f1f2ae0f49adcc8() - { - $this->assertTrue(true); - fn() => (isset(${$test / $test})); - } - function test24be381406ca1ef016bf1dd69afa6bddc33b011c3d3ccf0a8b19e7861527b3c7() - { - $this->assertTrue(true); - fn() => ${$test ** $test}; - } - function test26d077cdf44333908828f2f2f1557ee8af47a3b772191552e17d8a60be137371() - { - $this->assertTrue(true); - fn() => ${$test % $test}; - } - function test29ec4fe300ab466e70c7281c63606cc21e2ce90f7dbaa75eee8c434c1f09b6d0() - { - $this->assertTrue(true); - fn() => ${$test . $test}; - } - function test2a415158d9feb67845d456e9d103dc530e980ae52b902420e5e47fccb6cc4d47() - { - $this->assertTrue(true); - fn() => (isset(${__FUNCTION__})); - } - function test30e56417885de531b6bca5c07a4a1b6cc7b332fe399e73aa8e287a7e38a971f0() - { - $this->assertTrue(true); - fn() => ${$test << $test}; - } - function test3169dc0493667542ca86f763e2bc23ad68430b64574365ddfb2411f6afdf3b87() - { - $this->assertTrue(true); - fn() => (isset(${$test >>= $test})); - } - function test32186b5abe858d680cb3034a5ba788009372836342edca72e90ec2e80bb2fd85() - { - $this->assertTrue(true); - fn() => (isset(${$test <<= $test})); - } - function test32e668e10ab6895cb6ce4c699bc864f8e8e0864891965c85c03d2d7d327588ca() - { - $this->assertTrue(true); - fn() => (isset(${0.0})); - } - function test3441393df94130ee3b9eabfc7126d9b227b533504a4ace256b116c2a4d791aab() - { - $this->assertTrue(true); - fn() => ${(array) $test}; - } - function test352f1b0cf7cfcf0749ba39091cea56308505f27e4649ff11279c748f5e150fd3() - { - $this->assertTrue(true); - fn() => ${$test !== $test}; - } - function test38773e942159a5145187c7dc8e89d34f01d31cb4899b1866d4b75699f3dbe763() - { - $this->assertTrue(true); - fn() => ${__FUNCTION__}; - } - function test3a76af71823a0c6312de3740d05a2832f60831fccdd43482dcada24b38fc9e5d() - { - $this->assertTrue(true); - fn() => (isset(${__NAMESPACE__})); - } - function test3ab37ad87ffc7b4db5666e9fb542d76e2c19e8edc5a9c498da603aadda4502af() - { - $this->assertTrue(true); - fn() => ${$test && $test}; - } - function test3acf6e5feee30d4b4b8f0add82a510fe03d17c1d4e49f2ff3bae214b73bd4639() - { - $this->assertTrue(true); - fn() => (isset(${__FILE__})); - } - function test3b63bcd914b126942db11c98101a9076d10eaae2363639d6660b9285fa884ca9() - { - $this->assertTrue(true); - fn() => (isset(${__TRAIT__})); - } - function test3f9a01d9bc5a47e77703a6b06bd62c6fb89a5fc21f8f66e7765fd497959d8d91() - { - $this->assertTrue(true); - fn() => (yield from $test =& $test); - } - function test3feb7d7e5b1c01f7427bb8d92353881b8687293b9c20294c9b590560462b0bac() - { - $this->assertTrue(true); - fn() => ${$test xor $test}; - } - function test4208edb71490df7088030bc2dd5063e2d077c6ffab88c9c2d9298b806189cae9() - { - $this->assertTrue(true); - fn() => (isset(${__LINE__})); - } - function test4219bfac2d9316e1ae1ea234106046c1b41628310308d69407f7bd9206c8a248() - { - $this->assertTrue(true); - fn() => ${__LINE__}; - } - function test42aee462ef47200338635f57a9d40fd37973ec1e2711e87a022b78b047c1c9f0() - { - $this->assertTrue(true); - fn() => (isset(${$test >> $test})); - } - function test4aa5cada1d3475c6e43c16df5f4311d924b97ec09e70e4d18cee18d8c3939f6c() - { - $this->assertTrue(true); - fn() => (isset(${(int) $test})); - } - function test4bb6798a26a12191fd236fad8a7d25486deb2e7a8b2ab2bf8734e774aafbbbbf() - { - $this->assertTrue(true); - fn() => ${(string) $test}; - } - function test524c01ec2d99a069d983b4079d34d31093296218b01e4aef008c201d62b534e6() - { - $this->assertTrue(true); - fn() => ${$test >= $test}; - } - function test5a8ade5acee26e90e6f9828adf5c6fd1718fd44808741445afd7f949f3c11992() - { - $this->assertTrue(true); - fn() => ${$test & $test}; - } - function test604ee9b0955b674d6e662eb41d903432aae0e21c6d587d217ba156b0b769860b() - { - $this->assertTrue(true); - fn() => (isset(${$test . $test})); - } - function test63fff5c1c11fc2c07623bbbd58166808e006192dfb9c8b4f1a03e967f378889c() - { - $this->assertTrue(true); - fn() => ${(bool) $test}; - } - function test67648711245aa04f29913e74e09745d2a5f5c1fe77422cd9f2c3dee9a00808b6() - { - $this->assertTrue(true); - fn() => ${$test == $test}; - } - function test6ae6fc1231d5b7a60ef9922e2a244952653f3c848273dd641c7b6101245e0dd6() - { - $this->assertTrue(true); - fn() => (isset(${(double) $test})); - } - function test6bf064a1e133e18ba6ef107fe0f9ab316276583bdfdccf29b0f21541805c561e() - { - $this->assertTrue(true); - fn() => (isset(${$test or $test})); - } - function test6cc63ced93fe911a51c7ad3c02aec5845d0bd96a4596815e6ad598feb30d20d0() - { - $this->assertTrue(true); - fn() => (yield from !$test); - } - function test734b743bc5ccac559016a6a01d39b7c1c5268968f9e3b20cea59342e06f4af0e() - { - $this->assertTrue(true); - fn() => (yield from $test[$test]); - } - function test77d284ee77df3d75c2335d4d1155003438a8ca854222bb783439527ef5b2c08c() - { - $this->assertTrue(true); - fn() => ${$test >>= $test}; - } - function test7d61be548378d1ab521d56160efd6de45da0d0ee4edf04359e7d897bd8e6b293() - { - $this->assertTrue(true); - fn() => ${(int) $test}; - } - function test7ed35da5d442db36d2e6585fb3779a41aad336768b3ff36877b28c71f5bd2891() - { - $this->assertTrue(true); - fn() => (isset(${$test > $test})); - } - function test7f20ca3e22aebe2a2701a289140665db3e041c383c48bcf9cfceeb78ce776e98() - { - $this->assertTrue(true); - fn() => ${$test > $test}; - } - function test7f6e7deb26fe3062394d4cbd4eb83e130f4bd463b5a4fbcdf2721c140f0e523b() - { - $this->assertTrue(true); - fn() => ${0}; - } - function test7fc31adc9c6aaee813b82af3994b5b3c7afaf0d8876527c3659ba7754b3c14e1() - { - $this->assertTrue(true); - fn() => (isset(${'test'})); - } - function test85e8c1c0967243bfc029546d8091d6b80da01bbfe825b6fa1da545874efcb85d() - { - $this->assertTrue(true); - fn() => (isset(${$test ^ $test})); - } - function test89651c44a400fddd63fc24f30637936f74a80a188094024aa60b45124a53d9ad() - { - $this->assertTrue(true); - fn() => (isset(${$test < $test})); - } - function test899ead8607e7f91c0a2af13834830d30e913bc3c0a01d1d9a5b3f45b2191739c() - { - $this->assertTrue(true); - fn() => (isset(${$test & $test})); - } - function test89a7528070e62099f2f9ccc7b524d0d020dc827e4602d6cd957d0562dd11122b() - { - $this->assertTrue(true); - fn() => ${$test - $test}; - } - function test8c452a4d72be00933544fc0fccc69ba7deca5db3de3a7c61c3072aa4853c5b9f() - { - $this->assertTrue(true); - fn() => (yield from $test::$test); - } - function test8ce04b50f0bb2f116312a48fd99ba3bc8b2d4d758c8454451aebf4cd090b5785() - { - $this->assertTrue(true); - fn() => ${__NAMESPACE__}; - } - function test8e44ad73ddc936e8979c406a1b6d56efc54023bb87e6faf31edaf487264644c1() - { - $this->assertTrue(true); - fn() => (isset(${__DIR__})); - } - function test95198d2c68b9ffa51a6ed7fc9601cb4749ea299dfdc3fdb7d807899884801e7b() - { - $this->assertTrue(true); - fn() => (isset(${$test === $test})); - } - function test97ad85d0776e5c9a4f1d793ff30afe19360289233060747e70dc6156c331686c() - { - $this->assertTrue(true); - fn() => (isset(${$test and $test})); - } - function test99019e875b3f02a0950c27931500b2671a5cf180b7ef774c53091f83b888dae3() - { - $this->assertTrue(true); - fn() => (isset(${$test !== $test})); - } - function test99df4f02f2a148392a97c50ffb81e1ef43038d078c538ef6fafae0507368cf53() - { - $this->assertTrue(true); - fn() => (isset(${$test <=> $test})); - } - function test9dc70c3c1af8fbf41f00f2e87e53f14932f93afc30d19345a3fbdad67c35cf9a() - { - $this->assertTrue(true); - fn() => ${__CLASS__}; - } - function testa0a9623f171ad9032ffbe2e375f344527becd9a17ea622984036749b6744a39b() - { - $this->assertTrue(true); - fn() => (isset(${"{$test}"})); - } - function testa3fadf61c00541680be290b11b32861fdf9bc3b077304dbf092c0a5755ec71fc() - { - $this->assertTrue(true); - fn() => ${__FILE__}; - } - function testa5b3e5c8dec91cfd10695c52ecf6a0a7960a310f924a6156c051ed68fa2487fb() - { - $this->assertTrue(true); - fn() => ${(object) $test}; - } - function testabae5340a92e841ff31c2386a9bd1e6e6d779351466bed1b0af4cc10f08c54e1() - { - $this->assertTrue(true); - fn() => ${$test <= $test}; - } - function testac93ec3a60d1d03f31ac2b118b5cfdd35a637d786ac83e9b0d7438673cdfe87f() - { - $this->assertTrue(true); - fn() => ${$test < $test}; - } - function testacf36829c4ed73348a26e32f555b04df76779739409e14ac969271e183f95615() - { - $this->assertTrue(true); - fn() => (isset(${0})); - } - function testb6bdf9c2e728865196ecd4f02f67201c3554de72a7fab09cce125c729d3a4ab7() - { - $this->assertTrue(true); - fn() => ${__DIR__}; - } - function testbaaa6736c2c72db549b1f8c9ec1cf617790b22f4b3b0d9af005e9fbb1f69424a() - { - $this->assertTrue(true); - fn() => (isset(${$test | $test})); - } - function testbb02fac711e53786e9298914a34d5c6f2219074dd5e928e63bf9e2909710a71e() - { - $this->assertTrue(true); - fn() => ${$test <=> $test}; - } - function testbe4e4c8650a20729f0c73b9f29ef579219b22acb3a467b9d0b6a18c878b2edb9() - { - $this->assertTrue(true); - fn() => (isset(${$test * $test})); - } - function testc385f43479ceefc71384ccd77358b2477ecdb69ae0a754b819b9686bc31bbfe4() - { - $this->assertTrue(true); - fn() => (isset(${$test % $test})); - } - function testc50f2000de930d223f64222501ab37d3f3664c558d715ade915d82b7a0ff8819() - { - $this->assertTrue(true); - fn() => (isset(${$test + $test})); - } - function testc67b38ea5cc96c4d78c1093b8bcfa231f3614baaef07b0151c055dbfae37d0b0() - { - $this->assertTrue(true); - fn() => ${$test ^ $test}; - } - function testc71d6c932c5410c97f1b90ba8e30010a5634cb864e876dd23d0ae6f7af4aacec() - { - $this->assertTrue(true); - fn() => ${$test === $test}; - } - function testcda923532ef5073f2ce12e55c840152d136b9a916e621a16d860c9d7a752db1e() - { - $this->assertTrue(true); - fn() => ${$test * $test}; - } - function testcdf1bd9d64f5760422711f93d54064aa09504293e004ba3e53b11b56b9dc2fdb() - { - $this->assertTrue(true); - fn() => (isset(${(string) $test})); - } - function testd4820ab6ffcb9d8ce7642884d32542ccaff9397166851784dd0955861c37db9b() - { - $this->assertTrue(true); - fn() => (yield from []); - } - function testde7cf355dba051917d5117d00644af6c96e0636947b22806385daddb6ba20115() - { - $this->assertTrue(true); - fn() => (isset(${$test ** $test})); - } - function testdeb66bfb0b8b2922c1a0494a04de322538eb507a0df1cec91db00e3a2b7ccd3e() - { - $this->assertTrue(true); - fn() => ${$test and $test}; - } - function teste0e25c9d955d326969d64650fc7b852488b7bf26d1eb76baa2857a1816cc69c2() - { - $this->assertTrue(true); - fn() => (isset(${__CLASS__})); - } - function teste2ccefdd1916d0c7e99566d9d638d892e8b37bf3e662af6e35af9c0652e4e546() - { - $this->assertTrue(true); - fn() => ${__TRAIT__}; - } - function teste4762283c8a113c9c08924245a797baa9ea1510e178ae7f9bb556517b27b1778() - { - $this->assertTrue(true); - fn() => ${$test + $test}; - } - function teste7244bee0b03bb9aac459949ff14f226bc41b308e13bc9dda3a793254e01357b() - { - $this->assertTrue(true); - fn() => ${__METHOD__}; - } - function teste9adb7a41ee8d5f55dcdc00d4239736b2455a0d27948a347644b0c5769e57671() - { - $this->assertTrue(true); - fn() => (isset(${$test && $test})); - } - function testec8f13a59edbb8ec1bb1a8d84430df7e56b004e909fb70457b5bb00108cc1b93() - { - $this->assertTrue(true); - fn() => (isset(${$test - $test})); - } - function testf488dc0bc7c480c8b100fe6f591aa3a57eed50ec520be61c2d98658386f5fb7a() - { - $this->assertTrue(true); - fn() => (isset(${$test || $test})); - } - function testf57527b4b0e78fc39718ea3b7087e7c6591768e43dbe4a0d8b3c426c3dc5d9b2() - { - $this->assertTrue(true); - fn() => (isset(${$test <= $test})); - } - function testf7210163adee6e4b1fa7a812060ae5061e6d4ce2e6a10133e60ca248d84e43f9() - { - $this->assertTrue(true); - fn() => (yield from $test = $test); - } - function testfcace435bbe1ded3ef745d3e7d19e0243fe1e5424dd2fbe516f2cf96abbf7e71() - { - $this->assertTrue(true); - fn() => (isset(${$test != $test})); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test.php b/testsGenerated/Target/Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test.php deleted file mode 100644 index 33029eb15..000000000 --- a/testsGenerated/Target/Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test extends TestCase -{ - function test03c481516f7311a57ec95c1e863e933a9e29789b3c79e1786cb2ce60dd0584cb() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test != $test); - } - function test069d22f22596adc55d172a83e6b02a0eb195afba372767b4bf41363b3d8faf44() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test?->{$test}); - } - function test07feb353d72eb09e374b1f06749660dcdb6d70232ee0c2c0c93228c9291b3666() - { - $this->assertTrue(true); - fn() => ($test ? $test : @$test); - } - function test087b6059a362c806b9511281cf2324d1e49559185f1dc32e3effc6a2cfe9ef9c() - { - $this->assertTrue(true); - fn() => ($test ? __FILE__ : $test); - } - function test08b6acc74befeb3a6ebaa93498fbe32c3d90388972cc481faf256c586b9c51cc() - { - $this->assertTrue(true); - fn() => ($test ? $test : []); - } - function test0ba3250d3f96a8d1955f9dd9afdd6ea08fc2c0af7cb0cc9f3c8b50ae28c559de() - { - $this->assertTrue(true); - fn() => ($test ? $test : (bool) $test); - } - function test12dac1c5761d36b1a6e37fe7c79ab3850152fa8b9c0be71db1b48c3e309d7f2b() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test < $test); - } - function test14b2d9d625ab0f77840f37c6dd891cbd64fd0d98a0423e3d77a67d35766c81f1() - { - $this->assertTrue(true); - fn() => ($test ? $test : clone $test); - } - function test16e6e993c378b07ddd6732cfd5b5075b250a0583e94d781621576379a43dbcbf() - { - $this->assertTrue(true); - fn() => ($test ? $test : (array) $test); - } - function test17616b398b374f582406ec4cd6dd6da567d1f365ce8989a2d994e553e068e5b7() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test?->{$test}()); - } - function test19c1f94bcf9cd13d9d23c03eea1f17aecc005629235c2609b60d434eb7e5c51a() - { - $this->assertTrue(true); - fn() => ($test ? $test : 0.0); - } - function test1d56a436932bf08dfe520f767c0ff9ccec85f5ed04c22054d6b7fe2bdd04f005() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test === $test); - } - function test1efb4ac2306edfc5316bc8b99244d06ca8685b768ebcd124a807f2585d979fec() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test /= $test)); - } - function test1f341206a54f3facde9da3cfb1eb26466d0dde32139b20243abe10718c5584be() - { - $this->assertTrue(true); - fn() => ($test ? __LINE__ : $test); - } - function test20792efab6d08e38c38a7b94639f0675d09562d84798e8dc6f1968b33c7087cd() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test or $test)); - } - function test23ecf965b2d7fe7a70600bf8e395e8087060a0cddf9b3f7a9569ab069b3d9e77() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test++); - } - function test247b40dfe61f8d0e1cec628fab884bb2d80075e45d7aee3e0b050a09b8017eb7() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test()); - } - function test2a7b86e0a390c13d328dc6bce5f3178cf7fcc02cf6a8e7169023135ca4b7d712() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test::$test()); - } - function test2ba775c7b08219b0e144bf3c498610546d026cb66440fac454487005ee1be60b() - { - $this->assertTrue(true); - fn() => ($test ? $test : match ($test) { - }); - } - function test2db67ca95f409334939aab1a0e3072127894f05968ead814aeefeeb19d6c66dd() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test::${$test}); - } - function test3010bbfda68d791d9051db74027be34d34242a0e4d632fdd78ee4b112611f86d() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test >>= $test)); - } - function test37b943c2e2458ba927782b358e3760ebb40a84d04d3a2ffd5ceea7d1a4408cf2() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test & $test); - } - function test3adbdfcf832ddee3537a266c1e5e6f8f874eff72161fa64d4403888c155bb2cf() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test -= $test)); - } - function test3c9e92ec7298f35896ba98b2e2aeba036d6112c9d22c112844cf629bf5dcb16c() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test %= $test)); - } - function test406d4e6702043cf9757b378aed3194168a9623a892244a41ef7def0fde6149ab() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test |= $test)); - } - function test476212c31ba9a8380d5ed34972e57fe3838041acddf6568112ce8f8ab6f48be4() - { - $this->assertTrue(true); - fn() => ($test ? $test : self); - } - function test48e6591b3b37f87b8bab1f876e438b8267eaceafbe8eb600aca65cdafda72826() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test[$test]); - } - function test4c4abe85577ae21be15d9a81bd672de28aed021d4c3b359b28541bbf55344c1f() - { - $this->assertTrue(true); - fn() => ($test ? $test : new $test()); - } - function test52e9efacc17a570f1432acbcb7cb53329e8331c3233ad256793c3aa5221eed75() - { - $this->assertTrue(true); - fn() => ($test ? __DIR__ : $test); - } - function test53b5b695004d0b69d31a879472bb9f5a5f3cf8446e0d71c3f6d8547d422f77c5() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test . $test); - } - function test58f436ac5e226edae602d42935658384dcec9bafd7b3da3e2b8c8f68e01c009d() - { - $this->assertTrue(true); - fn() => ($test ? __CLASS__ : $test); - } - function test5d321e1e0b59c5f78aa49e21f930e4f11b15dc8d29f51d8ee38c2f20fd10db57() - { - $this->assertTrue(true); - fn() => ($test ? __NAMESPACE__ : $test); - } - function test5ffa12ac03e43b4742243824930069e0ef9083b43b37caa2bcea60b835a65523() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test->{$test}()); - } - function test621dffab234d53cba9c81133d06c567025b90e9ec46efe622feead085f12df1a() - { - $this->assertTrue(true); - fn() => ($test ? 0 : $test); - } - function test69df6dd59cf31f0cbf4b083fc350e5229f8b20020515ea63b29fb82550cffc22() - { - $this->assertTrue(true); - fn() => ($test ? $test : ``); - } - function test74700192132c3e26ee28c3b303eb43d2b2b2ec11d935a12e27d0b1dc003917bc() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test ^= $test)); - } - function test75adb3abd8b3da797aca444e203e24fb55e0ebf198cb171974f50cf87ed580dd() - { - $this->assertTrue(true); - fn() => ($test ? $test : throw $test); - } - function test76652c6b0c683e23107ed494430adece2bbc0e6dca48dfe21699e0846bc2447a() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test ? $test : $test)); - } - function test778cfb08795823e374f6d65fb04e0b42b696dd5efc8c71c61f30586f028d321a() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test = $test)); - } - function test7944802fe2a4a0fbdaf8fd6e53cc0cd39ed93fdb595f908e899572844ead08a2() - { - $this->assertTrue(true); - fn() => ($test ? $test : (double) $test); - } - function test7b01e5c1d56d0aa3b46faf476628bffd9ce20c524d6cce51252dee6da6d06860() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test::$test); - } - function test7bc798dfdde2d26ecfc6429606e0d9704c991679c4478df4b133f0ece2c70e41() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test ** $test); - } - function test7be2b773279f93dc35887e037af3d55944ed2d0ba4b23d2493f1d13fd4f3f54a() - { - $this->assertTrue(true); - fn() => ($test ? $test : --$test); - } - function test7c6a394a80006a0fb6e4ea0509393644448869abe379a56dbc658176377ca232() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test--); - } - function test807fcc1b5149a4c9ea196aaaaae76fe9f8383c706cb1ed2271c884bdcf043652() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test =& $test)); - } - function test84407770582c399b7a51c71db0e9d91e644b760332aec905dfa99056e0c47dab() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test += $test)); - } - function test86d3aca7308ba96477870f99bde57c157821941e9848ff6e4a87df46e18e9bb2() - { - $this->assertTrue(true); - fn() => ($test ? $test : (yield $test => $test)); - } - function test88dcc9fc4de69c7a7247d8b1cf488007d22aee8014fd6df52d2b96fb22712f23() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test <= $test); - } - function test8b84d0ef107a22114cff4c616ff4a29936b1ddd8e32b4380f61b1574efd952b3() - { - $this->assertTrue(true); - fn() => ($test ? $test : -$test); - } - function test8d3050e6a20ca70c7567858f6c0838a6c8af3622a450a64d8fa9cdb9bf622b92() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test / $test); - } - function test8de833b46d6ec865db3522ab5e2a67d37abd3336dc4f5a1ec4d941716494564f() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test xor $test)); - } - function test8f33931b47fad21c25901ca18803fa89fa1cc3f8b452a57b70673cdc10a91880() - { - $this->assertTrue(true); - fn() => ($test ? $test : ~$test); - } - function test908156fdae60d44ca1fcf55acb47b0352288da44733fa11ef668012c27039e43() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test and $test)); - } - function test9416e8c939f8384ed40b8a655f47a8aecc40665290e9719250227cde07ccd38e() - { - $this->assertTrue(true); - fn() => ($test ? $test : isset($test)); - } - function test94d8554a56c60d33b530983a88969874b8755f0631a22036db796a262177c369() - { - $this->assertTrue(true); - fn() => ($test ? $test : function () { - }); - } - function test99d2040a232ddac5600c4bdb02754b1759d964f631a26cd2a2fe1846ef80c96b() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test | $test); - } - function test9a1a9b2d065e2ae96fe3a16b1b6759347e5c901e0a5ea32613629dc1f8d77081() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test || $test); - } - function testa0146f44e30a2bc665ac7558100c6c5f3313eeadb45689191dba86908cf610a3() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test &= $test)); - } - function testa3618c0c486e6fe3f52a06f2371c8193c0a0b86e2e9ac903fd98268598ed9052() - { - $this->assertTrue(true); - fn() => ($test ? $test : empty($test)); - } - function testab5e41b22a4170c9a9466f3ef4bf66d497bb7ed5e8f063cab258bb9ce2f042cf() - { - $this->assertTrue(true); - fn() => ($test ? 'test' : $test); - } - function testac6dc2f185e1b69f3b43cdbde4a86f5f51a7cf3b06c39ad71538b7348d4c31a1() - { - $this->assertTrue(true); - fn() => ($test ? 0.0 : $test); - } - function testb483bddb8d7336bd1ee23a857c78acb836b3b8426ea92201eeb674a1022564f1() - { - $this->assertTrue(true); - fn() => ($test ? __FUNCTION__ : $test); - } - function testb59863785b12a4605db778ae0a178b961571eff088de2560c893ee536659cad3() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test ??= $test)); - } - function testb68f0126cc2f55a8300c2280530c2b196e5a678cbac817177bb9e852a2be2cff() - { - $this->assertTrue(true); - fn() => ($test ? __TRAIT__ : $test); - } - function testb90cbf1f86a5d30105b4dbc5f8d4eca58f836c5431bc43fe86c34e3a40e6f69f() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test << $test); - } - function testba1fbe9f9f6b4797f363b1a28676dcde7fdc874a84b30caf35986375704c8e8e() - { - $this->assertTrue(true); - fn() => ($test ? $test : +$test); - } - function testbe488f7b1aa61229a5ca349ec570cc60092fda4f444234cc7bff8f98bd9124c4() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test !== $test); - } - function testbfefbd735eeba21e4cd2f6d8f6cd5babc08f758d37af6d249f32688e2d89c95b() - { - $this->assertTrue(true); - fn() => ($test ? (string) $test : $test); - } - function testc060591c1490b50b45b7d1bfea56a05acd65b975951d956e0530e126a7555287() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test > $test); - } - function testc2880c8961d977624f85d21a14b0b0456ac047b1754fc8e0ec8081dc801375ab() - { - $this->assertTrue(true); - fn() => ($test ? $test : "{$test}"); - } - function testc452db807912ecdb0e6a0198d7398edca07b10b268def748047a7d2af3995fe8() - { - $this->assertTrue(true); - fn() => ($test ? $test : (yield from $test)); - } - function testc574b255efca8bdf63a2172b94321c11d78151ed2de63f21002e90522bd847d6() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test <=> $test); - } - function testc903af2a8d40fd4fe2dde1f74b9f430450249f0b9de41e02ebbf01fbcb3e8d1f() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test % $test); - } - function testcb775d69e388fcf0651b26da57b825b53178aacd554cffb9e4bc630edf7b506b() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test == $test); - } - function testcb85c8cbc35c2bdee75f16e8423bc0d86b8d1e665617c68c9fcfdffa4d2e52d4() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test <<= $test)); - } - function testcc2b58272048e539e01c4c705e2a85df573292fa7b7de79fee2692d3d48c4a10() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test->{$test}); - } - function testce906450c5e0b3c87f146fd6b48de693b3e4bd8534339e5d25079cec9f3a3cd9() - { - $this->assertTrue(true); - fn() => ($test ? $test : eval($test)); - } - function testd069df60cc4f083d34bbee673c446d852ca7884b5cd73c1ee01ae4fe21dc2842() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test .= $test)); - } - function testd36bc51020f1d8c5726168bf2b62300e84b731c4edf61ed2cfb8047c66947444() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test >= $test); - } - function testd4806971dd418a881c4b5c3b3b08ec7995298227c9d330a5302657b71753a440() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test *= $test)); - } - function testdae21cff39f56f7e55e0cc9e277270ab7fb2747bc18476cf7a3d33afc591b886() - { - $this->assertTrue(true); - fn() => ($test ? $test : ($test **= $test)); - } - function testdb7f215ca3f6be1fe48521564066cdf50c561bfaf98d90b51597b6857e77c5ba() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test instanceof $test); - } - function testdb9efc80ced02da437d820b0b59a96e780e9af641ab90ee20529359a36609065() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test ^ $test); - } - function testde7f9806b31ec930912103fe99827cf7636920eb4c27bea85d6a61237434726e() - { - $this->assertTrue(true); - fn() => ($test ? "{$test}" : $test); - } - function testdfdf9be18dbcf8040d5e24f6b06cc8f802ac3acaad462aadd5cf42b7d78a96bf() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test - $test); - } - function teste0897d7bfb7808c6b59ebca0d4d09d965d6e3b0734edd26a581ffa3d01e22c38() - { - $this->assertTrue(true); - fn() => ($test ? $test : ${$test}); - } - function teste385ac337d6b046302ce124409d9ecfb8b7e13e6e94abb98b3f251e90239bb01() - { - $this->assertTrue(true); - fn() => ($test ? __METHOD__ : $test); - } - function teste5077a1f386653b627bada665ec5eaf2b4e4e98e73d45db2a756f19aa5c95597() - { - $this->assertTrue(true); - fn() => ($test ? $test : !$test); - } - function teste633db81cc33accad8e2eee593593d0954c899bfcc19d6f68bab3fee6f37020a() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test >> $test); - } - function testeaca6d43970432f96aeb324fe40e2bc9c2fae04c45fe15c43ba224c4dfc26ea6() - { - $this->assertTrue(true); - fn() => ($test ? $test : (object) $test); - } - function testebd4df103a62d54559bc41e4e51133398c79b8f57456547cc6ea105c2643e911() - { - $this->assertTrue(true); - fn() => ($test ? $test : ++$test); - } - function testebd7ae31feca64f4490d5f5508ed9e5196f6585b6fd93c1bbdf4f7f47e75c525() - { - $this->assertTrue(true); - fn() => ($test ? $test : ( $test)); - } - function testecb7d817e9af0fb83417ae75030389bf1cddee89af05e3e7f478a4b909560532() - { - $this->assertTrue(true); - fn() => ($test ? $test : (int) $test); - } - function testee7bab7b9da1489a7a408caf5ce52c1051129ee4ea91a8b7d24765c72f2f7dbc() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test); - } - function testeebf78da2733911f1a988c51a083adbdf46d97ae4dd321b50200219d95bce0ac() - { - $this->assertTrue(true); - fn() => ($test ? $test : (string) $test); - } - function testef7fe4e30c0de8552916662e5770e87eb157b095eeef802f030fc4b02e782591() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test && $test); - } - function testf48b77a1dbb623af5fe0576225893e548ceafa691ddcdb97295f22d55c2a86d0() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test ?? $test); - } - function testf9aa5585334931003bdfea4e421eb1975dcb27f9b1dae4784f34aa2f6a36fa4c() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test * $test); - } - function testfaf3ae4a7c1d77a05e4070de6ca3f5ab43fff29c91cd871cdf84ac0850a4c0be() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test + $test); - } - function testfd63f559577d6d17da73e0656c77bb0ec224507a9952414abbc1020c831953ab() - { - $this->assertTrue(true); - fn() => ($test ? $test : (print $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test.php b/testsGenerated/Target/Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test.php deleted file mode 100644 index d34518d6e..000000000 --- a/testsGenerated/Target/Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test extends TestCase -{ - function test01d3daa1144fd50e5982341826e5454e7ec93d60e57c1cd7c9c041e446b3176d() - { - $this->assertTrue(true); - fn() => (0 % $test); - } - function test02185103da7733ef9f12e687c335be39432d984f4b15a10170a968732dd0acc6() - { - $this->assertTrue(true); - fn() => (__CLASS__ % $test); - } - function test021adf798b46a15b0c73550f24b1e4644db4808c400f2c7e7d338b03d810013e() - { - $this->assertTrue(true); - fn() => (__TRAIT__ % $test); - } - function test03968100f58997573598ff850abc9054093a4932b0ddb36f43872a0da26cee36() - { - $this->assertTrue(true); - fn() => ($test % ($test * $test)); - } - function test0905cae58a27ed51f50bce8b3e4aed8e049f5f59a79169ab288561c6f5456a5b() - { - $this->assertTrue(true); - fn() => ($test % $test::${$test}); - } - function test0af1151d0ba2f1896962f8f01259685f78c6786b83beb050cd64c86652d94272() - { - $this->assertTrue(true); - fn() => ($test % ($test & $test)); - } - function test0c969753fcdf9252cca153648025321d047f37eae7d0614b0455a95799935677() - { - $this->assertTrue(true); - fn() => ((bool) $test % $test); - } - function test0ca9ef5564266d673105be2f404c85f8821f68d7af470d71b5915330da0458ea() - { - $this->assertTrue(true); - fn() => ($test % ($test and $test)); - } - function test1533a7af192d3064c7b2dbf672084dcf8890d1489b1eae968a85f531131ff19a() - { - $this->assertTrue(true); - fn() => ($test % (print $test)); - } - function test21ff82d134b82b535b3f968c9ecd22f01d7873febe28b66f71d9ec957e80264d() - { - $this->assertTrue(true); - fn() => ($test % --$test); - } - function test22936fd965790e2fcecfd917fc42e3bc743b1db84bdf09cbdde0e83b4c44268a() - { - $this->assertTrue(true); - fn() => ($test % ($test -= $test)); - } - function test252d56eedd9c00c7e19948a24ebe5a9f0339c414209ab7e6d825003253bc629a() - { - $this->assertTrue(true); - fn() => ($test % $test->{$test}()); - } - function test27117c7f1e49dc8b622e2bdd75f4470acdf46fad2a7787f0baf67ccb3f8dd4fa() - { - $this->assertTrue(true); - fn() => ($test % ($test &= $test)); - } - function test2ad9ea1ca00a8fead17d0fe6e4fd356f82ef7fd338eb511a53e372424a3e43d3() - { - $this->assertTrue(true); - fn() => ($test % ($test >= $test)); - } - function test2d79259ea5513831960009f75b79b57875878937642a37b4e0cd38a504dbecf8() - { - $this->assertTrue(true); - fn() => ($test % ($test <=> $test)); - } - function test2f86fd725df843c3316e66a45abd125375f943c7b06e0312e2aedb8bf50d15d5() - { - $this->assertTrue(true); - fn() => ($test % @$test); - } - function test2fdbd361ef5ad138594b755f71164d4e988fa79ad5d2641c429183823f217bea() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ % $test); - } - function test31c669814fabe67e04c970720d805b5fa58299c60c1cfd165f1da216aabcdbca() - { - $this->assertTrue(true); - fn() => ($test % ($test %= $test)); - } - function test352f683eed0868d0c3efd989b6cda3f56b13013b249c5745ed29951338522f1d() - { - $this->assertTrue(true); - fn() => ($test % ($test ^= $test)); - } - function test365d99378bf12f6c79682c2266afd0381da7ea8fbacb6b5310aef3da88a0668a() - { - $this->assertTrue(true); - fn() => ((double) $test % $test); - } - function test36671ae094b5022574cc0a202bdb5142999b5356ec5ed4cba9ddaf41477d75e3() - { - $this->assertTrue(true); - fn() => ($test % ($test < $test)); - } - function test3691feec8c3f53222e027f896e2a2c4bc6450f4069655adae577d93c47661248() - { - $this->assertTrue(true); - fn() => ("{$test}" % $test); - } - function test36b2cfe772c298fd9d7e4b5c3e62d0ef9cbcf761ec56c765acde8718f4b27528() - { - $this->assertTrue(true); - fn() => ($test % -$test); - } - function test3a36f12708fafd0ade3da02bd42dfc9c8906108158fad9cbd50e22b8cb335ee5() - { - $this->assertTrue(true); - fn() => ('test' % $test); - } - function test3a77fb5562b4843a23c97a1b31457646bc95265b09345a221ae3d93d264494fe() - { - $this->assertTrue(true); - fn() => ($test % new $test()); - } - function test3b170f2e5b15aab07ac49b9c74c71ce487ee40baacaa7e7b43fc1b309fbc9fb6() - { - $this->assertTrue(true); - fn() => ($test % (array) $test); - } - function test416f3a5a3c41efcade532e4286696ef477052d75c2d4162a4f43f649b3b3dbc7() - { - $this->assertTrue(true); - fn() => ($test % match ($test) { - }); - } - function test43a54632ff78cf86a0f7e4ccdeb87c1c26ae5c454e3fca4626eb9d9dd54a0581() - { - $this->assertTrue(true); - fn() => ($test % ${$test}); - } - function test445d470fc63f3bd95ed5f3873d4f5eff07c8f9e206899e8e9e2a71cd8137035a() - { - $this->assertTrue(true); - fn() => ($test % isset($test)); - } - function test44612b24281a1f3e8211c75026644697a5f5f0f6d912dcef934040bba552eb1f() - { - $this->assertTrue(true); - fn() => ($test % (int) $test); - } - function test45c71b10519748e7cb3500d86c2ba7f0c1849f4446199eed86dc5bbffe9e8552() - { - $this->assertTrue(true); - fn() => ($test % ($test += $test)); - } - function test46d8a2f385400f412f58566c70d823ca169dca866169dd76d88e3aea7698c915() - { - $this->assertTrue(true); - fn() => ($test % $test()); - } - function test4a1149fcd2fc126b30a3f09f06f14d2d7d494078a964714e5c2d8bf26b56392f() - { - $this->assertTrue(true); - fn() => ($test % $test::$test); - } - function test4ba20d6f386216aa7e7561aa3617f8bf54c2f03206795e0e70da90f0ac2c5f72() - { - $this->assertTrue(true); - fn() => (0.0 % $test); - } - function test4ce554fbab0257cff6744b0ee2371ba2ee6ad18c6e1814b603faa61b113a29ed() - { - $this->assertTrue(true); - fn() => ($test % ($test >> $test)); - } - function test4eef64f08e2e442d868321e3690d64e16573211c2f17074fbb93831edd2757f3() - { - $this->assertTrue(true); - fn() => ($test % ($test xor $test)); - } - function test4f2e9440cbd4f3a939ac235cc1d2f44d520fc8a949663963b7e8f1dbb5aaa12f() - { - $this->assertTrue(true); - fn() => ($test % ($test && $test)); - } - function test524b10f3a88a5024c514fa3270315b8df81f90f019edde9fa64fa1480d7bbc12() - { - $this->assertTrue(true); - fn() => ($test % $test--); - } - function test5397a2f1feefd73015525bab22bffd9bd4a0052cc11e40388dac2a87874a34ec() - { - $this->assertTrue(true); - fn() => ($test % $test?->{$test}); - } - function test56757a09b474922e9e55d42ef97d25b5135dc6758378e1b0595fb8fe0c16e03c() - { - $this->assertTrue(true); - fn() => ($test % ($test - $test)); - } - function test5e829b3a40dd7434dbd1481927ecdb10495a9333871bfb6bdb05ad04c1ae9200() - { - $this->assertTrue(true); - fn() => ($test % ++$test); - } - function test5f647910298f8d74637217cb45bed5e6cc7916be49f1f1fd27754a3b78bc588c() - { - $this->assertTrue(true); - fn() => ($test % self); - } - function test60abc19e4fc39f9e9a2f5ecccba6e8537a7498c0a812dd3bf367687aea52c11e() - { - $this->assertTrue(true); - fn() => ($test % (yield $test => $test)); - } - function test64d608da559c39d32d44c74e625d978e7c5ede9cf2dfcb4fdf81701a6341cee8() - { - $this->assertTrue(true); - fn() => ((int) $test % $test); - } - function test654ec3bb36e100c4dc9adaab598bed022529bddd8d274635ea08815f2dbd70e6() - { - $this->assertTrue(true); - fn() => ($test % ($test >>= $test)); - } - function test6780abe3ff83c6412a4470280a8e525fa17fe6dab5d482b43e600d9e8e8461ea() - { - $this->assertTrue(true); - fn() => ($test % ($test ^ $test)); - } - function test6ad427b4cd7890e10c84aca221d355a072e4d1fedbebe6ec42058c65a01f71f4() - { - $this->assertTrue(true); - fn() => ($test % []); - } - function test6d7862152d8208e8e7b7179a63d8ff3e9cd8c696bd9b38d0bbbcb3e4025e81ad() - { - $this->assertTrue(true); - fn() => ($test % (yield from $test)); - } - function test6f02fc59b0677e966df3c2aa28609030f4cb3f778fe94377627cfc9b410138ee() - { - $this->assertTrue(true); - fn() => (__METHOD__ % $test); - } - function test70de077019d5e2bbe2e0f92921a8a30f07e2e618e47d7d20c3cfbba4986e4955() - { - $this->assertTrue(true); - fn() => ($test % ($test /= $test)); - } - function test747163eae1eb0ff06ed6de04e192a4f94523de824be472d11621a405d93e93a6() - { - $this->assertTrue(true); - fn() => ($test % +$test); - } - function test74f6b3ebbd9a1c6634401de0d5b7d0854981ec77aaeb324209c92e8cadfc7763() - { - $this->assertTrue(true); - fn() => ($test % ($test !== $test)); - } - function test75b08bb3a8e7af34b4c8ad2015fbcac80a2139da8ebbc1db194b16ba60f82e46() - { - $this->assertTrue(true); - fn() => ($test % ($test <<= $test)); - } - function test76a28ba0c335b4fdc4dca35ed1adfd22edf82686600399adfbb5525c37a065da() - { - $this->assertTrue(true); - fn() => ($test % ($test = $test)); - } - function test78e1ab514494a7a85bb11a7d2fc3fa10d36e268b9bf3b16dbbdc29fea6d6a4f5() - { - $this->assertTrue(true); - fn() => ($test % ($test % $test)); - } - function test79639c311674f835d8ebc60a7cc68472c987f4eb840ef12c1a6768c21f7828d0() - { - $this->assertTrue(true); - fn() => ($test % empty($test)); - } - function test7b7a74d054f334aceb1b7a723c306ffcd27fe24c0de84049b20586b702d35727() - { - $this->assertTrue(true); - fn() => ($test % ($test != $test)); - } - function test7b88b24a4dc4d7b26024dd0b1af1e2ff6117584f9d1d5ae8ad4928d7af6e624c() - { - $this->assertTrue(true); - fn() => ($test % ( $test)); - } - function test7ea3dc162a2b7766b7bad6e9b5e4533c1bfc6893a05f755877c4c584fe4a5e25() - { - $this->assertTrue(true); - fn() => ($test % ($test | $test)); - } - function test8ccabdc4e290aa992efa8708f878d2f2e2b4cc3240102b8dda577f1f4fa7b4bb() - { - $this->assertTrue(true); - fn() => ($test % $test::$test()); - } - function test8de05b3770947a8c881de81fec28a3db84e3d67e88e04ed38dba253b40f51a9f() - { - $this->assertTrue(true); - fn() => ($test % $test); - } - function test8ed9c8e8cb4393bca6350706d4ac06ac292dedef2f5ee63c5ca1f38ba48cf89b() - { - $this->assertTrue(true); - fn() => ($test % $test?->{$test}()); - } - function test8fffebc1cea57dfe03c4aec701c7c02d274d93995e10238d207f02bf744bf686() - { - $this->assertTrue(true); - fn() => ((string) $test % $test); - } - function test91645899fd3a83f2bc325e16d3e28d6463bb19abe89989451030025ba4f63d64() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ % $test); - } - function test91b4ae55cf0e6c9e5f7cf557a27ec4f7037d06add952611736cf6731916cfae1() - { - $this->assertTrue(true); - fn() => ($test % eval($test)); - } - function test92e0ee42a636de9d7c7e01261867befeabe03e76a4b9148a1072a66ba9b21d87() - { - $this->assertTrue(true); - fn() => ($test % $test->{$test}); - } - function test94303c8fe2b8acdfc77cba9d19b3768ebf52f141c222f2155af72a16d5671623() - { - $this->assertTrue(true); - fn() => ($test % ($test || $test)); - } - function test950be76465d7c02d0e1717d8bac52d6508c41fcd9d2983f7689f057ece0e523f() - { - $this->assertTrue(true); - fn() => ($test % ``); - } - function test97d662631095dffcbab73b0d5d61d27699008cb8fd11f659d2316c75b78b2d41() - { - $this->assertTrue(true); - fn() => (__LINE__ % $test); - } - function test9c2645dfb228e33fc1618a1b9188b87e1a07114773e292d2caf31a79b2ee326f() - { - $this->assertTrue(true); - fn() => ($test % ($test |= $test)); - } - function test9cbed91fa691caa4d6f18eeebeb9b2f03b6a88350fc1e7b9fbcbdb204607db83() - { - $this->assertTrue(true); - fn() => ($test % function () { - }); - } - function testa0b371b0342cc29181462a76e472b7fb2ad01714aafee390079a51831fd41a64() - { - $this->assertTrue(true); - fn() => ($test % throw $test); - } - function testa17dbc8e97f55666cba32f61a421744f68f9aa10dd3fc122c8cbcbabd2cc99d1() - { - $this->assertTrue(true); - fn() => ($test % ~$test); - } - function testa18b7f7b9eb5bc4230e1a1ae5a8bd65e3d8928ce8f08a80a4e3648751536a0c9() - { - $this->assertTrue(true); - fn() => ($test % ($test == $test)); - } - function testa98971494f61b647e03b36333902a727963e939a3f959e3b81562716fd152aac() - { - $this->assertTrue(true); - fn() => ($test % ($test .= $test)); - } - function testad3edcb4d797987e6b091cc73d0008123480ea7fd101f477d74aa03d6fd57e30() - { - $this->assertTrue(true); - fn() => ($test % ($test =& $test)); - } - function testae941ec0b0c5b9c9b5a704bd4a9b4e905e0ebc49eb9733190f8d3f112bdeee17() - { - $this->assertTrue(true); - fn() => ($test % ($test > $test)); - } - function testb2b6dd540f682faeb813734dcfb7307dc9cf6a0489baf98328b51a81417f7ae7() - { - $this->assertTrue(true); - fn() => ($test % ($test << $test)); - } - function testb38b1c985d63f02a6373211e767e16e45693097d68f584805ad92cbaf7379585() - { - $this->assertTrue(true); - fn() => ($test % clone $test); - } - function testb5d0e503c1eefb0ddc73c61f2d000abcd4a98aa56b87803ea13a1320e4c46e46() - { - $this->assertTrue(true); - fn() => ($test % $test[$test]); - } - function testb66fc3e92b54c5861712c75fe9edabb927ed5c3c8b80fb575e4c57e570f3faf6() - { - $this->assertTrue(true); - fn() => ($test % $test instanceof $test); - } - function testb6b98a6bc4a90b84ed36927fa585ce1adc5e31baf86fbcffc3ec773d27f4cc03() - { - $this->assertTrue(true); - fn() => ($test % ($test / $test)); - } - function testc56f144afb906dd9b9473ab068ea95e794a9bb2a0102c060b0c4c56164c31d57() - { - $this->assertTrue(true); - fn() => ($test % ($test **= $test)); - } - function testc7a16ed9fd112b45cdb969a5d11baecc2d311ad48b5dcb0f1705cf15d0bac70d() - { - $this->assertTrue(true); - fn() => ($test % ($test . $test)); - } - function testcb69ca46018b813625639553c88810b90488b5337b1b5c22504c4b703e59cf9c() - { - $this->assertTrue(true); - fn() => ($test % ($test or $test)); - } - function testce27e15145664817d4cbf330b4610fee86ce52bd10db346f7b103168ac9a1fce() - { - $this->assertTrue(true); - fn() => ($test % ($test *= $test)); - } - function testd11c98f992321b2d24b0ac43ff4ab4afaef736b8e1b4cb7fb1882ecfe0941b8d() - { - $this->assertTrue(true); - fn() => ($test % ($test ?? $test)); - } - function testd352fa34adbc459b54ec93d86cf2de1845efa55128c0c6a414675bc517489437() - { - $this->assertTrue(true); - fn() => ($test % ($test <= $test)); - } - function testd549b4c1af6ff8fba651af33e4cc905178edefbbca10c788cd992085759056d7() - { - $this->assertTrue(true); - fn() => ($test % $test ** $test); - } - function testdab4d39210b4c5cd4c43f9e834c2320d76df5a5c91b92b345d7f8254e0dc5f52() - { - $this->assertTrue(true); - fn() => ($test % ($test + $test)); - } - function testdb9bc096fa5340c2bd44f797ef57a8fa99f930076f43ceb30e6669bcc08d9df5() - { - $this->assertTrue(true); - fn() => ((object) $test % $test); - } - function testde4a4ef451d1f1641b3f82bd77e2e831b71a34d2342fb9239b49dc9a20e83abc() - { - $this->assertTrue(true); - fn() => (__DIR__ % $test); - } - function teste8ac50df672de13add6ffb3884db67a1a502042b45fa0567cf696182c58e2229() - { - $this->assertTrue(true); - fn() => ($test % (double) $test); - } - function teste9ac56f27462a8c87c629523eddb43624fab7903ad149f2cea1a924306204059() - { - $this->assertTrue(true); - fn() => (__FILE__ % $test); - } - function testef9a24b7e8431628300190626215778984dacc43f668f586961f04fba046dd29() - { - $this->assertTrue(true); - fn() => ($test % ($test ? $test : $test)); - } - function testf1fb8322c4eaaabe59ffbba43a888b7e3465f6762b48f0deb7e578cc6312e340() - { - $this->assertTrue(true); - fn() => ($test % ($test === $test)); - } - function testf4e09e25f65949138f03d0c4b67362ae0ea3d52506244e27d026cefe100393bf() - { - $this->assertTrue(true); - fn() => ($test % $test++); - } - function testf50ff1cbbd7e2e49bab598773d2960aedfecccf904d0b934087b06d3febb5dc3() - { - $this->assertTrue(true); - fn() => ($test % !$test); - } - function testf5cd44764769a11823502287bd217de1f9820b187d1eabef99e19d425bccaf23() - { - $this->assertTrue(true); - fn() => ($test % ($test ??= $test)); - } - function testfc46d371bffa948b6829283b1e9c6dc8111639b720d5df96c4e020f6877be3c3() - { - $this->assertTrue(true); - fn() => ($test % (bool) $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest.php b/testsGenerated/Target/Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest.php deleted file mode 100644 index aed5d2812..000000000 --- a/testsGenerated/Target/Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest.php +++ /dev/null @@ -1,515 +0,0 @@ - - * @license MIT - */ -class Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest extends TestCase -{ - function test0162bf7c9d8cc82a783cc5fb3c56fb3d4edde414ab98f6b46014e32e78b04f11() - { - $this->assertTrue(true); - fn() => ($test % $test << $test); - } - function test04c5804f83f9f5a4b460897005fa2090163518f616537538f54d45ffde0e45ce() - { - $this->assertTrue(true); - fn() => (($test .= $test) << $test); - } - function test0c0992d12931952c8cd23f639d4130cb631376dfc0f5ec7c488416dd7bfbc502() - { - $this->assertTrue(true); - fn() => (($test <=> $test) << $test); - } - function test0f900da5d6df13ab1806eb4465b8246d1084ea22be538864ac3030055e03f261() - { - $this->assertTrue(true); - fn() => ($test << empty($test)); - } - function test1118aa3cde025ed08e078cbf9e8a80b733e96ded1e9e865a20bd0587b5ccdd6d() - { - $this->assertTrue(true); - fn() => ($test << self); - } - function test12dcf197e93d6a10d406b03f6fa49798cf9b394c44daf654085f7c377761abbe() - { - $this->assertTrue(true); - fn() => ($test << match ($test) { - }); - } - function test1497fee76ce59ded545c1aff1b1c673630fe6041f3757610c32d2c5493c3e705() - { - $this->assertTrue(true); - fn() => ($test << ($test = $test)); - } - function test157b5e095c4b58163ac5dce88b517ef3ee0897bc7958d4c9f22913c64cb63a01() - { - $this->assertTrue(true); - fn() => ($test << eval($test)); - } - function test19a7dfc43e904ced6bd2d72072dca4f3c3eb6eae8aaf4cda63580c4efdf95cfc() - { - $this->assertTrue(true); - fn() => (($test || $test) << $test); - } - function test1b420ca8649e14ac91942b811ea97c8faf5f7d4a376822b88a0fcf77caa22ecb() - { - $this->assertTrue(true); - fn() => (($test ^ $test) << $test); - } - function test1bd5af95f5db59ff086663723716560d84699cfd993f07afa12413faf08c1195() - { - $this->assertTrue(true); - fn() => ($test << ($test =& $test)); - } - function test1c510b9268c723ffa79e1b4fc8f1cb67b4c43f9f104d3212f7ace0fe66410c07() - { - $this->assertTrue(true); - fn() => ('test' << $test); - } - function test1f4dab7c2cf03c4309192fb66887c378c2b3246305af0c2cfb8bcf46f7b6eea1() - { - $this->assertTrue(true); - fn() => (0 << $test); - } - function test24960d94819100b36e1266c2764dea532229a2cf6d4a5f2c7d610a6632dbee11() - { - $this->assertTrue(true); - fn() => (($test & $test) << $test); - } - function test253b84736838c6867119892341a97082a4620d4c44954d2d23056d07f2cf398e() - { - $this->assertTrue(true); - fn() => ($test->{$test} << $test); - } - function test297c278f0abfa010c16b13af63a2db2917d944731e99b5c2f199eaca94dbc7ac() - { - $this->assertTrue(true); - fn() => (($test < $test) << $test); - } - function test2c99df0d2a8b827c2fff6d3d51354e85861d5c8b09f99d4a4570bbc386bea4c9() - { - $this->assertTrue(true); - fn() => ($test << clone $test); - } - function test2cd7c45fdb977085db9e188d41e177a42be2aba200ef26f2ef39b2e0cbe8c238() - { - $this->assertTrue(true); - fn() => ((print $test) << $test); - } - function test2d0075301dee5e8e9ecce1730f18dd3ce8431d3ff0cd3991ffe6d369a3a57f22() - { - $this->assertTrue(true); - fn() => ($test << ~$test); - } - function test2edeb20f9b6d76d14facbd199721a47d6b97d38912ceacb1ae8a95cbe00ab396() - { - $this->assertTrue(true); - fn() => ((yield from $test) << $test); - } - function test2fc5b7cca15730bf88cd38cd510a27d77f61401c37fe0a9d023841de4ed4670b() - { - $this->assertTrue(true); - fn() => ((array) $test << $test); - } - function test342280d9b223756a4ec1210ce9066d09a054c385f5dcebf1fdb2bc27dab650c3() - { - $this->assertTrue(true); - fn() => (($test >>= $test) << $test); - } - function test350a4f70530ea9395f40634a3bc7ed92d0e5a522ef65f0435d4a9bcd1ca57610() - { - $this->assertTrue(true); - fn() => (--$test << $test); - } - function test37edf895b33401aa15f05f785599bcd01a6479c8f09eb8bedc53c982ba5bd3ad() - { - $this->assertTrue(true); - fn() => (0.0 << $test); - } - function test383bd2b2bfd61ed8c876edb4b59078c86eaa8929408ea81e20ad687262e5a36c() - { - $this->assertTrue(true); - fn() => (($test -= $test) << $test); - } - function test3bf5b33edd34d7b5ce4362e5f1550a4331f873094faecc151f2db15912384c0a() - { - $this->assertTrue(true); - fn() => (($test or $test) << $test); - } - function test3f9e78e5994c68dc198c0a8ea51ebc3d46ea30ddccb32f1ed12c3f55cb325061() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) << $test); - } - function test449edd5ab70ae6604a1d4ed1d3294b10ed52e736fdde2c796aa01323bd9bd431() - { - $this->assertTrue(true); - fn() => (__DIR__ << $test); - } - function test469dc2c34b259e665dba6052d2f01aeee9c2655dcb61eb875978304fb3d8fe6a() - { - $this->assertTrue(true); - fn() => (($test && $test) << $test); - } - function test4818ce4f2ab7646eacc02756f0a62b85fa9a2f8661d527932be689b8246f7459() - { - $this->assertTrue(true); - fn() => (${$test} << $test); - } - function test4995e49b970bd67efcf4f3746d51e5515e74af3c9c9aafccd306679b64a685f5() - { - $this->assertTrue(true); - fn() => ($test * $test << $test); - } - function test4d5331cc9b02b44645620788cdddb8a222877df772e0249bdeb29beaf862b274() - { - $this->assertTrue(true); - fn() => ((int) $test << $test); - } - function test4e92b4f1a9873eea430925c58b9f4483ee4f937b4ab3fee42deb1fe8cbb7c72a() - { - $this->assertTrue(true); - fn() => ($test << $test()); - } - function test4ecbffb5142d527dd2d485a6b682fdee0a801a7a52184aad9419ab333868f704() - { - $this->assertTrue(true); - fn() => (($test += $test) << $test); - } - function test527690d98b7af13ed9ca698feecdba2f1ce950867566ab92994cade38101c384() - { - $this->assertTrue(true); - fn() => ($test->{$test}() << $test); - } - function test527d5271ebafcaeb372adee0342d22a9981038cd648ad504c66d26280581e1d4() - { - $this->assertTrue(true); - fn() => ($test?->{$test} << $test); - } - function test55c07da395b280c4d836af2e0b31289cd326f0dff09b6e5ce154489e114fa6d2() - { - $this->assertTrue(true); - fn() => (match ($test) { - } << $test); - } - function test57db417ab2f9bdec59cb2604bc80618f9dce558f0d551b43344f3c357f3e16cd() - { - $this->assertTrue(true); - fn() => (($test <<= $test) << $test); - } - function test592edc4d7cfeaad62ec21743afacc3b56e452da86ee6f9591a38aeb33f48243c() - { - $this->assertTrue(true); - fn() => ($test << function () { - }); - } - function test5bbdd8d635079bf103df27d11d1ae3d3ed18cad7296e6865e889ee465f06459f() - { - $this->assertTrue(true); - fn() => (($test == $test) << $test); - } - function test5e23e69320c3fce1d15916bf88344de2becc7d2b64f5c4e79df3f01061b4ffa6() - { - $this->assertTrue(true); - fn() => (isset($test) << $test); - } - function test5e2efef5a63875957845f7b9c00e2b974d55c41918ea4af5f015e9af47b6d8b3() - { - $this->assertTrue(true); - fn() => (($test ??= $test) << $test); - } - function test640dd32ece88f3b87ab9d1ce0fe3ae42f6cd9dcffde7b4db258d65aeb5b30bba() - { - $this->assertTrue(true); - fn() => ($test << ( $test)); - } - function test67403bd6d92675476ae146ab165d392b8b61d87adeb5bf28f0849406484ef52e() - { - $this->assertTrue(true); - fn() => (($test > $test) << $test); - } - function test685d96640d526c5a1b87dc7525c4cfa49c32a11cb4b65fc473aa2143346190a8() - { - $this->assertTrue(true); - fn() => ($test << @$test); - } - function test686230d11a8dd2ab418edc9f0c2a1ec08bf95807a1a97f3b4638d3ce6085f9bb() - { - $this->assertTrue(true); - fn() => ($test >> $test << $test); - } - function test74550a2adb050a658209208c2991a424a49aa1bdd2362bb918642ecf6841541a() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ << $test); - } - function test74db7ff14eac95d14afae20a97f47dc674949368750e3a816cfeff430771eab8() - { - $this->assertTrue(true); - fn() => ($test::${$test} << $test); - } - function test77777a3d40a4d53b0d9b4fc8fe8c5f76d7892b51bda00fd77abd462e4c892bbf() - { - $this->assertTrue(true); - fn() => ($test ** $test << $test); - } - function test782399e4847f9398d42bf5d14043470d6f75e34e95bd1a8beccab53b9d0c19a3() - { - $this->assertTrue(true); - fn() => (($test !== $test) << $test); - } - function test788db3f0bb1d1653a6e511add15034734ef1f2478f74f0e29fafb20f97f16dcf() - { - $this->assertTrue(true); - fn() => ($test::$test() << $test); - } - function test79694305972d8ddc051c5e0ba8ab169f3fee06fe98f79dcb8854fdacea3158b5() - { - $this->assertTrue(true); - fn() => ($test + $test << $test); - } - function test7ab380dca21aa4dc3bdfd7ff056a38dc0e26946aa8e30ff8f6888c629d19644a() - { - $this->assertTrue(true); - fn() => (__CLASS__ << $test); - } - function test7d3adde537ea28ae491bab4e800295edcb9f44cde54b42591c039b5bf853813f() - { - $this->assertTrue(true); - fn() => ($test << !$test); - } - function test854bf72bd05bdf459791359cae9fc86878b6ca1497093d017725cecb4d503b88() - { - $this->assertTrue(true); - fn() => ($test++ << $test); - } - function test874e186c388f268bbead6bd4e02f47c59efc92f92d6e330771bcf25208417cab() - { - $this->assertTrue(true); - fn() => (throw $test << $test); - } - function test89c7571beebcd56716a7fff9e13fa1fe7a45f9ce7e2d417922e11b1c02a4bd75() - { - $this->assertTrue(true); - fn() => (($test &= $test) << $test); - } - function test8d7a0ea13256835e59e38fe6ff8a7dc23240b98528b377b1bd8a288ea2ae5611() - { - $this->assertTrue(true); - fn() => (new $test() << $test); - } - function test927562b4e1aef601dc83b745ee22828bf97fd3f348efa52d61efcd207a5a4356() - { - $this->assertTrue(true); - fn() => ($test . $test << $test); - } - function test931e26f836ddbeae72d35deb5657129b570822ae1d3db3d9f61f22203ae27cda() - { - $this->assertTrue(true); - fn() => (($test != $test) << $test); - } - function test94b045a175319218e8f439783eb4b7fa3d5facf2c29dccb2f1bdd1fdcca2d884() - { - $this->assertTrue(true); - fn() => ($test << isset($test)); - } - function test95cea6e587d1e766146461e51a765327c579ba2eabf5bfa82233a11ac7e5d91d() - { - $this->assertTrue(true); - fn() => ($test << []); - } - function test995f84eecea57e558020f118511717257bbc501d9866d2a4aa6f362b745f19f3() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ << $test); - } - function test9cc7bb5390d62845e31e8f72dea9e1ec56c024910741a7c2d4ba659ef1f860f8() - { - $this->assertTrue(true); - fn() => ($test << $test << $test); - } - function test9ebc50dedf96f452afbcce4724514bf1d24657e7e255707dca2f460870a13b99() - { - $this->assertTrue(true); - fn() => (($test xor $test) << $test); - } - function testa3800393e64aadc5404db58664ceaa84f63ba84c3e923a0fd1c9caaae3ba1d04() - { - $this->assertTrue(true); - fn() => ($test - $test << $test); - } - function testa4127de9e953128e7f74d23ceeb7601c8ad4a6e4a88626708874b1245ba14a7d() - { - $this->assertTrue(true); - fn() => ((double) $test << $test); - } - function testa506ac7fdcef7cfe57a533512935fd90c8c5ab43d0b8286a66e4f63051ece77e() - { - $this->assertTrue(true); - fn() => ("{$test}" << $test); - } - function testab59dc3de03188e237b4f3cd1ad4ebe2a341b04920f95d12a18c13596e2ea2f1() - { - $this->assertTrue(true); - fn() => (($test === $test) << $test); - } - function testadb36386dabad37dc7c55bde734cae8b31ce20c5f0bccd0beabb6006eeb16763() - { - $this->assertTrue(true); - fn() => (`` << $test); - } - function testaf3d15e623855b861d08c3f7aa9ef88d314f96c74087150eef585817214244eb() - { - $this->assertTrue(true); - fn() => (($test ?? $test) << $test); - } - function testb0a4804af187a9c6a0a31d8a8fbccc685e735ad2f83dae7a1aa4690b8ec6dfdb() - { - $this->assertTrue(true); - fn() => ($test << $test); - } - function testb49d41bcf2ae8f5146448d1488df2d8adcd80c155a825600c7849bbc0e8f5a8c() - { - $this->assertTrue(true); - fn() => ($test instanceof $test << $test); - } - function testb4bc2ae446fdbade2d054083c12a4bbc0eaf06d84161c129a63cad3b01de868f() - { - $this->assertTrue(true); - fn() => ($test-- << $test); - } - function testba02f0ab8ed4e5367a088e3eb05833ed449ac0cf4a00e1d6de33acff39f5d242() - { - $this->assertTrue(true); - fn() => (($test *= $test) << $test); - } - function testbf80e7c64fbb05754904739f877f7ffefa81c42fd9c31e5aa3d6c065472b2b98() - { - $this->assertTrue(true); - fn() => (+$test << $test); - } - function testbff65f54e6b4048b936f2fd6395c76e7fe3c66332e19a8b568a875481a66b2ac() - { - $this->assertTrue(true); - fn() => (__FILE__ << $test); - } - function testc1cf60937899974f9a5fe0af7b7b3be7f81ce8cc6961da0a9f2deb3a6b8ee596() - { - $this->assertTrue(true); - fn() => (__TRAIT__ << $test); - } - function testc45c3012a13b7cb663130759c4016305e482a67f54506ec0b530838cb26b4b13() - { - $this->assertTrue(true); - fn() => (__LINE__ << $test); - } - function testc8c73c9b038bb7559715d41b98eced8ff49265937ca3ed86ba45379c26164615() - { - $this->assertTrue(true); - fn() => (__METHOD__ << $test); - } - function testcb7517353b14a4f9c44aa63a91ebe126d7d598e3f160db0aaf4dcdb93786a296() - { - $this->assertTrue(true); - fn() => (($test <= $test) << $test); - } - function testcde15565c77255772d90a2a639ad4d8f79701f07ec82e026c518969f2fa23a88() - { - $this->assertTrue(true); - fn() => (($test | $test) << $test); - } - function testd1953f696829cae3e24c04bb8c61a16a8f6f387cefded25364e99fe1eda83cec() - { - $this->assertTrue(true); - fn() => (($test and $test) << $test); - } - function testd6f8a0f152c9093c4f77d00abfa96659358513031e50d4419adf0f26400312bf() - { - $this->assertTrue(true); - fn() => (($test >= $test) << $test); - } - function testd72c216cc8854b16737f574d136d5ce6f7bcb540f29c78fdd129558886669afc() - { - $this->assertTrue(true); - fn() => ((string) $test << $test); - } - function testd7de8d9339afbd764816e27418773c11c97d33093e310ca0e5f83991630a1dd4() - { - $this->assertTrue(true); - fn() => (($test **= $test) << $test); - } - function testd85003cfb8ed75ea5e7b372eda1e3ab8bac7efca8635556ab684a2cdc733540c() - { - $this->assertTrue(true); - fn() => (++$test << $test); - } - function testd92065583dc7316731d2c968f9438f4ecfec2b405f33c0083c88713e153367e9() - { - $this->assertTrue(true); - fn() => ($test << $test[$test]); - } - function testda2318b7233317e8a7746244ddbd41e697da7b65b0a5de1b22f93bf59a3ea4fc() - { - $this->assertTrue(true); - fn() => (($test %= $test) << $test); - } - function teste33069e81068d44d887b62d4a5cb26a6391b24be67047d2006491697e30206e3() - { - $this->assertTrue(true); - fn() => (-$test << $test); - } - function teste88afffa8f4b90c3ef089833c7889fde6d92aa32d123ef1c4474dae025d2a46a() - { - $this->assertTrue(true); - fn() => ($test << $test::$test); - } - function teste8d95a9ef6053ab575ca85fb3c61cc75d0552d41025ece48e16ca5496b5285d4() - { - $this->assertTrue(true); - fn() => ($test / $test << $test); - } - function testea001ae4e8818af74c932bd4a100e46e4cd40ca08ac0902091e47c249f5d1b94() - { - $this->assertTrue(true); - fn() => ((bool) $test << $test); - } - function testecfb6936e47cdffb2c8b425386a6ebb6ba4a253b948ce2ce4afd73d4824b2bda() - { - $this->assertTrue(true); - fn() => (($test |= $test) << $test); - } - function testefd94a64e029e2ad0d22e4292ea7de86741e3c22ca91c5f9c057240424c1a277() - { - $this->assertTrue(true); - fn() => ((object) $test << $test); - } - function testf6a3ab6d4f7720adb526827539fd7738b87a2c7bb8901710e7ebd159705c9772() - { - $this->assertTrue(true); - fn() => (($test ^= $test) << $test); - } - function testfa74f724b5f8c436511340eccb8d5467a74168220bbae9e10e7d0561ac137b8c() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) << $test); - } - function testfac5fea741773ae11e7432fb588368b9c784dff281233d0b1382bdfe26513dbc() - { - $this->assertTrue(true); - fn() => (($test /= $test) << $test); - } - function testfaf42a3604e931d1edb920ce7f03a02a40df210d5940b4ef60a7e6422494cf36() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() << $test); - } - function testffe8e7395c53f6edac589a8a79ec81c992d1bbd8835a2bc706683cacd44c1305() - { - $this->assertTrue(true); - fn() => ($test << $test instanceof $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest.php b/testsGenerated/Target/Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest.php deleted file mode 100644 index 8fd16cd32..000000000 --- a/testsGenerated/Target/Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest extends TestCase -{ - function test036f42a7f099c28e027bd1ebb3f111265ef911658bd47673983b2e693a4dee26() - { - $this->assertTrue(true); - fn() => ($test == @$test); - } - function test0423d260cd5d887ca0b4adacbd3a142e45f23a37e1a11884c374933d88d218cb() - { - $this->assertTrue(true); - fn() => ((yield from $test) == $test); - } - function test04b1aa6edfeca7c8b5f5e0b1b7a9defcf9c64299f820916503a3297bcb7e737d() - { - $this->assertTrue(true); - fn() => ((object) $test == $test); - } - function test065a53010403ff7f0a08003445fdb552af5f4eb397ac48c63f89245158ccc888() - { - $this->assertTrue(true); - fn() => ($test - $test == $test); - } - function test06c6f3ffe4f17dc78677f29a7bef59c66465a071cce835c4ee148dc3a4d1d15e() - { - $this->assertTrue(true); - fn() => ($test == -$test); - } - function test07b677d05ca9bb5411ca7d620ba4bb2fc3a9756e2830bcdf2fb5d3c40da4871b() - { - $this->assertTrue(true); - fn() => ($test << $test == $test); - } - function test0b987f51c3b5262cf7fb4e0b406e062f9bbb6839af64408edece0876d7efb602() - { - $this->assertTrue(true); - fn() => ($test == (print $test)); - } - function test0ce9dd2a5bfc6d69c637e5264dc402e43fd9f2ec02e6511975c10f72620be84f() - { - $this->assertTrue(true); - fn() => ($test == $test::$test); - } - function test0e4dd88430faa068b8ef59d5fd1e4fc763a64bf695eacd906380b0ce4b485085() - { - $this->assertTrue(true); - fn() => (($test === $test) == $test); - } - function test1767b5104136b9b73ed5b5de9c0d3fe516215be2eba2aea2341352c10e192e2b() - { - $this->assertTrue(true); - fn() => (($test >>= $test) == $test); - } - function test17b35f73997882a522177e315fb5d7a0efc6e23845889c26ed3b71b116c28aeb() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) == $test); - } - function test17b6914d9977cb3935aeff3375dfd1bfed50ad1ed5019949c983625f3e2c726a() - { - $this->assertTrue(true); - fn() => ($test == $test); - } - function test1b51ce869e876b67a0095cdcedafefc219fccdbd0aa3304beafad3a38dd5ec12() - { - $this->assertTrue(true); - fn() => ($test == --$test); - } - function test215abfeaca251e029cda6345c134b60efad65239339f628a80553d98e517e69e() - { - $this->assertTrue(true); - fn() => (($test and $test) == $test); - } - function test2470e018fe91f5ff436a4ce510aefb3a653674b029628e1d6989d403703d884a() - { - $this->assertTrue(true); - fn() => (__TRAIT__ == $test); - } - function test2645bd88a39a006cc487f8bb2a8ad785a95f0d7810f6657cc56e5820315b8493() - { - $this->assertTrue(true); - fn() => (($test <=> $test) == $test); - } - function test29293eafdb025d31a2f627bf5bbfd873ae46e0925375ceab00527464aca67138() - { - $this->assertTrue(true); - fn() => ($test == ($test =& $test)); - } - function test2a8365179f39495076f3d4abcd6792695090d12a6751b7334f2c108c6567fdd9() - { - $this->assertTrue(true); - fn() => ($test == []); - } - function test2ad1449e44e8b9075ffcd652277b73dcf68ffc4b046b6c791478b058bcb821a7() - { - $this->assertTrue(true); - fn() => (($test /= $test) == $test); - } - function test2c07a00de46b7a27fc40f01a115506124561bf6effed88c6662bb3d374523b82() - { - $this->assertTrue(true); - fn() => ((int) $test == $test); - } - function test2c93b34cd9b6c43e22d0f0de9b28c56e85d61367ca5a953d09fb49de858a59e2() - { - $this->assertTrue(true); - fn() => (__METHOD__ == $test); - } - function test35541fe99ff93f1edec026c3c76b3ec6a527de124fa5501534294e8402908d16() - { - $this->assertTrue(true); - fn() => ($test == $test::${$test}); - } - function test35e598e6cee6eb2486f96291c3cc6774ed25ba6025904a79ed4343baf538eefc() - { - $this->assertTrue(true); - fn() => ((string) $test == $test); - } - function test3949cf00e955a5e2ca43f2f029d152d8bce02a552e9d0460b37d75090653ac03() - { - $this->assertTrue(true); - fn() => (($test ^= $test) == $test); - } - function test3fbb8688696ea3a95d516bba5ed31415eb6d4d4d000bd65a64afd9848de97a5c() - { - $this->assertTrue(true); - fn() => ("{$test}" == $test); - } - function test47dab4024f2d39ac59a6a2811ec7fc7aa8b833adcc7b56cc19a1cb8e8f2e951e() - { - $this->assertTrue(true); - fn() => ($test >= $test == $test); - } - function test48d5363d52bf05369b40564098589e79981d4d46b065b2bae3a33755b884ea51() - { - $this->assertTrue(true); - fn() => (($test -= $test) == $test); - } - function test4b7d834b7dbc3b7b386be73937d90718fe1ffe19882d56ff3e3d2bde0117a6bc() - { - $this->assertTrue(true); - fn() => ($test . $test == $test); - } - function test4ebfed2d8896da45a3f7029ae2f730a47d8f40fd74aa2025eaf9cefa1ee70422() - { - $this->assertTrue(true); - fn() => ($test ** $test == $test); - } - function test4f98a1d36dc8cc3adcee1952205b7e0213e7fc15b4817ee765312364e83e08b0() - { - $this->assertTrue(true); - fn() => ($test % $test == $test); - } - function test52cc302aa3597cae64451368ae16624f69c5b0cf7ac7c718cf1c51bacc97e419() - { - $this->assertTrue(true); - fn() => ($test == $test++); - } - function test5686d9edcd8d3ad57af0c6abcf016a0865e7da4e0a0e7490268133d63120adb9() - { - $this->assertTrue(true); - fn() => (($test && $test) == $test); - } - function test58e5a1aa3a79e53a82a953a3f8745c97f5862342db346fcebaa37025a245fc4d() - { - $this->assertTrue(true); - fn() => ((double) $test == $test); - } - function test5dc084e6f1077729956936b764806464bce3e4a37275538c04e489725930dce4() - { - $this->assertTrue(true); - fn() => ($test * $test == $test); - } - function test60e9e2808b492045b4e5700fafdc01fe908dfa19b5a921819cc9d73ed124fa00() - { - $this->assertTrue(true); - fn() => ($test == $test?->{$test}); - } - function test62ea5dd93626cfda4cf83bf2015eeb355d9eeea5d515d5f16e5826f0c4e34f15() - { - $this->assertTrue(true); - fn() => ($test == new $test()); - } - function test646abb4f07f27addc2b4dec4c7c3e875462c1c2b44c799473ef0288ae9bb3dde() - { - $this->assertTrue(true); - fn() => ($test == ( $test)); - } - function test647ee12af23fe08aa9829370e9b6a4c8dfff2fd1c9d47dc1802658970aba21aa() - { - $this->assertTrue(true); - fn() => (__DIR__ == $test); - } - function test673a8c08f3f4bd36b925db1bfd34d9deba19b0c4c23919a1c8b08af35efc12a6() - { - $this->assertTrue(true); - fn() => (($test !== $test) == $test); - } - function test6803df82685b6f40f7aa35f00ce7962429b5fb192830cbb517a297bb07cd29cf() - { - $this->assertTrue(true); - fn() => (($test | $test) == $test); - } - function test6d8261c1cb2e8cecb8ac22789dec2b9c29794e8d571207388a2ceb69ec97b753() - { - $this->assertTrue(true); - fn() => ($test >> $test == $test); - } - function test6ecb137bc7147e1d9bacf1912ef89f208c76b1b56352ce8365409e8d38b3de9b() - { - $this->assertTrue(true); - fn() => ($test == !$test); - } - function test6f1df4cbafb95702212a331bf97283d48f8bcb827a51c1d339975c2f9eabdaa4() - { - $this->assertTrue(true); - fn() => (0 == $test); - } - function test7037f6bc79eb7c4b31addfb0146bd68abdd1860434df9acf7bbdd899de038c5b() - { - $this->assertTrue(true); - fn() => ($test > $test == $test); - } - function test713cd3bb14ee9af8355bf9dcdf5f00698f1d22b13151aa27c5d48d8a48f6d8dd() - { - $this->assertTrue(true); - fn() => ($test == $test::$test()); - } - function test738a919290a9b0fec6b203d922aad5960a993b56234734e92fd9dd1088a776bf() - { - $this->assertTrue(true); - fn() => (+$test == $test); - } - function test73fa0ccaf2396d8f6cb098b520b0b858207452ec90dd10b0a7251155c9f00c71() - { - $this->assertTrue(true); - fn() => ($test == $test--); - } - function test74e487bf14565f507731c2dd72a391a7e872633e296cecde21e2f5e256f25f3c() - { - $this->assertTrue(true); - fn() => (($test .= $test) == $test); - } - function test76d294740df21ebbccf7cf25ec8cf43506529b5da4560131be147b67f58b522a() - { - $this->assertTrue(true); - fn() => ($test == ++$test); - } - function test7cdc78296f69d5d20eb3ae59828a4d7304776c387c09c2bb5a1ac3bcaeddecfc() - { - $this->assertTrue(true); - fn() => (($test <<= $test) == $test); - } - function test7dae674d65880ba20e97e66309796715cc501d3fa2d3f6c908401774a850bfff() - { - $this->assertTrue(true); - fn() => (($test || $test) == $test); - } - function test80fbe714e6ce0554cea719bdd23b6361bb6466105f8a946b49cc53149769b5cb() - { - $this->assertTrue(true); - fn() => ($test + $test == $test); - } - function test84081ac3d353dc551259841a0c53623d8530336ab3baeaa53fd03eabcd1c9151() - { - $this->assertTrue(true); - fn() => (($test != $test) == $test); - } - function test8b194af50dfae1c2d79ab24eb0d45935bfc2243115f45a67bc61a50c3b3cec06() - { - $this->assertTrue(true); - fn() => ($test < $test == $test); - } - function test8d4b37b51896248c3ef8debba0467518b01aa3e099406e79bed7331012be6069() - { - $this->assertTrue(true); - fn() => (($test ^ $test) == $test); - } - function test8de99d7bf3efc81c5f59f2c7eac3485922b339e80aec3db6804d4190fb317499() - { - $this->assertTrue(true); - fn() => ($test == empty($test)); - } - function test93149f66b73b523f5c6bab034ab162b6dba49a69fcaa630475f98f12c6e16b01() - { - $this->assertTrue(true); - fn() => (${$test} == $test); - } - function test94aca0ff52f7b033657a6132bbea12020f8fb1f64d60e0c5196251b80be5ef7e() - { - $this->assertTrue(true); - fn() => ($test == match ($test) { - }); - } - function test97040aab8a9323bb0210f66cf4f06333d3f3569702bcfa2d6be6baec0cc41705() - { - $this->assertTrue(true); - fn() => (($test ??= $test) == $test); - } - function test974bbbd5a401dbac497716dc77f5ad699bc95c1b70c7cf021b2c1d2c52e23e99() - { - $this->assertTrue(true); - fn() => (__LINE__ == $test); - } - function test9b94299dacb3e61e74931efd89d481a912955b1becabc0e3156746b2e2639e09() - { - $this->assertTrue(true); - fn() => ($test == self); - } - function test9bcea64d681b181f3e08c535d08206b2e5e10572fcbdc810e422afb66c1ac4ee() - { - $this->assertTrue(true); - fn() => ($test == $test instanceof $test); - } - function test9be452631966a8335f1371b53d060d60245ffdaf0aea9ba068afafd5b137cff9() - { - $this->assertTrue(true); - fn() => ($test == clone $test); - } - function test9e5cea701fa2e5dfd5c127f7c2d5e5875177a6fe93de0d6086747d369b90f4f9() - { - $this->assertTrue(true); - fn() => ($test == $test?->{$test}()); - } - function testa012be3100cba3f87ec5bea1db028a9a8e0613cb92047340798bc999002fe7ad() - { - $this->assertTrue(true); - fn() => (($test xor $test) == $test); - } - function testa30d2c90acd48d4a9e89de6c12a41221aa076bb17e0f6812ff1671a18897613a() - { - $this->assertTrue(true); - fn() => ($test == ($test ? $test : $test)); - } - function testa44bc03b3edef74f75d48b4a49689cfdd6f4eab36416a1f66f68d73b6b3bd8cf() - { - $this->assertTrue(true); - fn() => (__FILE__ == $test); - } - function testa5e2ac498b10d09afe76edfff54e5af5de87805d78cf56123628042389108a46() - { - $this->assertTrue(true); - fn() => ((array) $test == $test); - } - function testa5fb37ae32f013b885c7e6a866a06742e2cd10a863b2d46d00a7f1e56b42ba8e() - { - $this->assertTrue(true); - fn() => (($test or $test) == $test); - } - function testa70ca897140fd95bb8ef16664b5b930f001071a84964705fc45c4cd659c2ffe3() - { - $this->assertTrue(true); - fn() => (($test &= $test) == $test); - } - function testa82e711ec24efe1aeb813cde8a95061e7e726d017772c4f921f70bba2336cbc4() - { - $this->assertTrue(true); - fn() => ($test == function () { - }); - } - function testaaca30d576ccb066313797e14a5531c5017e6bf1d8a4973b315671dd99b82bc1() - { - $this->assertTrue(true); - fn() => (-$test == $test); - } - function testab88ae355ddbb40767a642b7bf3cfa44d336722eb24db4611605037b707b1c6d() - { - $this->assertTrue(true); - fn() => (($test += $test) == $test); - } - function testada545ae277db7ddc631108609fe6e7ee8f0c1eab2c80e559d84c6d7803b9541() - { - $this->assertTrue(true); - fn() => (($test |= $test) == $test); - } - function testaf579af42dfeef570bbcc7fa428075d4b0095e325ceba79637856334c65dadb2() - { - $this->assertTrue(true); - fn() => ($test == ($test = $test)); - } - function testb33a708652b258e9c509bc495bdf99afe227a9e390fbfc8d9f9784750cee297c() - { - $this->assertTrue(true); - fn() => ($test / $test == $test); - } - function testb9e08475866d857b9e7baf57f707155a2b1b12ec691b5458afbf425798894505() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ == $test); - } - function testba8ceb1d626fc9c91c94ce2fe479724d08f145bb67f83ae0970f2acadcab2a2e() - { - $this->assertTrue(true); - fn() => ('test' == $test); - } - function testbc564711ca756330d6ee9c1b90355f1ed0f1e5f3a8c80675066adfa507b74b66() - { - $this->assertTrue(true); - fn() => ($test == throw $test); - } - function testbe9f652963c99c62e00550fc025deb0e065262a98525fa5ad740fe318fc742de() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) == $test); - } - function testbf3577b56d853b45cf8fe16c7a7109335bf8ac226dda54121541e0d18e25c968() - { - $this->assertTrue(true); - fn() => ($test == $test()); - } - function testc2e5fea4f22a814d8b8773fad754a3c9c1bc5c65255e72f3c5f6ecc044ba4a4e() - { - $this->assertTrue(true); - fn() => ($test <= $test == $test); - } - function testc4f1db9e35e8dba071cf036695d8cf8d7d8088c82f1b8563211d18e5d49a2d1e() - { - $this->assertTrue(true); - fn() => (($test **= $test) == $test); - } - function testc7324c49ef319004a93633e9909c0844fbfe4bf0994989535cb1446390d731e5() - { - $this->assertTrue(true); - fn() => ($test == $test->{$test}); - } - function testc81e6ce31ab2e6a3ae4795984cf4d61429a0cd425f4a124109eca3d9fd936f54() - { - $this->assertTrue(true); - fn() => (0.0 == $test); - } - function testd009238a468fe16495fe88631a8c6367b733a07b689741fc75491658293ea94d() - { - $this->assertTrue(true); - fn() => (throw $test == $test); - } - function testd081d3cce3070289d96209260b07d7e24a33ec5d47a82d5a7bcdcdceee7a02d5() - { - $this->assertTrue(true); - fn() => (($test %= $test) == $test); - } - function testd3984a0b2ce21da4e8044f88fc6e23fe9bb955b9f3f68cb45e9b89467060755f() - { - $this->assertTrue(true); - fn() => (($test == $test) == $test); - } - function testd4c266dea9ebe2f00a41bfd76e8a4566aaf475a74b7d645869aa38850136dc7d() - { - $this->assertTrue(true); - fn() => ($test == eval($test)); - } - function testd73a409d141c0a6498e1e2aac225e4e21cc8e3d56ecaf3b330d72c9d058f06c0() - { - $this->assertTrue(true); - fn() => (__CLASS__ == $test); - } - function testda5958238e6aeb5f43fb2094eca847aaf5bec0f57f47baeeed262489a58185bb() - { - $this->assertTrue(true); - fn() => ((bool) $test == $test); - } - function testdf86b2f3fb1927321581d819ba114fba6abd6aa699ce9509e61ea4439053333f() - { - $this->assertTrue(true); - fn() => ($test == $test[$test]); - } - function teste3d585e4f61d0795d8fca7e0233c108dd780cab4e667fdece444c37fba36f3e1() - { - $this->assertTrue(true); - fn() => ($test == isset($test)); - } - function teste8245000d34bf9d4cc47e4cc045bc802175bff67d8fbb73d737dcb3645b52419() - { - $this->assertTrue(true); - fn() => (($test ?? $test) == $test); - } - function testedc13ffb679c70ba17caa756aa9e15cb248d7b50082657c92771f19ec7872833() - { - $this->assertTrue(true); - fn() => (($test & $test) == $test); - } - function testede3b2cc6cf14bde5d03a183dba06f9984eef6d06822a87ef6744f40f1c044df() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ == $test); - } - function testf1a8927c4f6b78a076e604620c54fd6d2230cfd0a8b4c0414c229a152771699b() - { - $this->assertTrue(true); - fn() => ($test == $test->{$test}()); - } - function testf8d9902e7238b99a473a66279e13797b8181cd6a81e57991848f095795073906() - { - $this->assertTrue(true); - fn() => ($test == ~$test); - } - function testff51ca1be2c8b0af60073cbe2d1d923bb690eb8a7588a8cd56261c4828dbc5be() - { - $this->assertTrue(true); - fn() => (($test *= $test) == $test); - } - function testff9f84a0796640208994156512637318dd478bdbf11d3e6de2ee6bca7c190dfb() - { - $this->assertTrue(true); - fn() => ($test == ``); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest.php b/testsGenerated/Target/Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest.php deleted file mode 100644 index b704ed53e..000000000 --- a/testsGenerated/Target/Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest extends TestCase -{ - function test033465b647b6d0ca15b8c26002c58473a656803bf0c2cc5d315d09edc0cbcab8() - { - $this->assertTrue(true); - fn() => ($test >= ($test >= $test)); - } - function test0441009f9f40240edd912710b3e23196fce7a4c2323a0bc874a87ea66e6e3178() - { - $this->assertTrue(true); - fn() => (throw $test === $test); - } - function test06db984b4927db2348963fe362addfb70c2057b3dc80dae895e174a11b0b15b5() - { - $this->assertTrue(true); - fn() => ($test >= $test ** $test); - } - function test07018b2b400e69b94f017231e6483ec66d6528d06f5389876315c6263b903e20() - { - $this->assertTrue(true); - fn() => (!$test === $test); - } - function test0cfe2d4e90a9ca6c54c189c8acfd7f32826904794bd9ebb22529722a7e71c77a() - { - $this->assertTrue(true); - fn() => ($test::${$test} === $test); - } - function test0dcc32e19fa161f42d0c74f90604216732feb0481ad8070e77219856ba86584e() - { - $this->assertTrue(true); - fn() => (--$test === $test); - } - function test10ee88745dd0461da6a4310184b9dfc00cc7ffee68ad3eadeccc4e92de13fb61() - { - $this->assertTrue(true); - fn() => (($test ^= $test) === $test); - } - function test1228747843946e9cfe12408d043f2c906524fd3bb33c47f7f696c5f1f4ae4bbe() - { - $this->assertTrue(true); - fn() => ($test === $test); - } - function test14271616c8438fa006af83217d2b67d9ef851b66992061c650423802d8de4ae8() - { - $this->assertTrue(true); - fn() => ($test[$test] === $test); - } - function test159711c6f557c7e07694c7895638fdda2bd1240bb51846aaa48d753fc653cad0() - { - $this->assertTrue(true); - fn() => (${$test} === $test); - } - function test1703628dab58e6126d156c9602945c5dd9d6e764b3386f8ae57b15201ecdef96() - { - $this->assertTrue(true); - fn() => ($test >= ($test <=> $test)); - } - function test178421fd4ef3b681568fea48cdde534866d8031929029e7eaa4b778d1993295d() - { - $this->assertTrue(true); - fn() => ($test >= __DIR__); - } - function test18a86fe7e5a479465ec9d6f413b55ac9d413d7ce33a29df41cdfc80c1a1a5ac7() - { - $this->assertTrue(true); - fn() => ($test >= __CLASS__); - } - function test2607123e51b4f9ba0e6d0472db8d837bc28e0d64fad7a8c1763a58de66e5d994() - { - $this->assertTrue(true); - fn() => ($test::$test === $test); - } - function test27248e0d174daaed99a2494e79fcaa337e3a83bb5f0faa2d729237dc2dd75793() - { - $this->assertTrue(true); - fn() => ($test->{$test}() === $test); - } - function test27c4ae18d1d13834a8fef300ae8194f7388e3842f40b6dc5b7a3c840b3357937() - { - $this->assertTrue(true); - fn() => ($test::$test() === $test); - } - function test2c4ebfc4f58dbbd3a3b5e3423f40bf94824c4eeb81c6d819fe339fcf72856727() - { - $this->assertTrue(true); - fn() => ($test >= (string) $test); - } - function test2df747c8a7592646d247f92fb461bc6553d2857cc9c86066cc69b7c26cf2b453() - { - $this->assertTrue(true); - fn() => ($test() === $test); - } - function test304bc2eff10c37bc666678e29e8eb144b011af099aad216425d4d55241663ab3() - { - $this->assertTrue(true); - fn() => ($test >= $test . $test); - } - function test316e95d82f771556309a9ab0b273f89bb88c969394dedea29073532e658eb2a9() - { - $this->assertTrue(true); - fn() => ($test >= ($test xor $test)); - } - function test337cd502a3f3d0f19fcb31643d4daeae95630cff30d31800efc88acb3090e767() - { - $this->assertTrue(true); - fn() => (clone $test === $test); - } - function test35b80ffba8cd358413a3939e606c6bab3a19190011fe5a1b703b70e416fce1fb() - { - $this->assertTrue(true); - fn() => ($test >= $test - $test); - } - function test37ff417eac1bcc9ccde39d333dd88bb3d409a4b51f169ccf0d81fb921eae35ee() - { - $this->assertTrue(true); - fn() => ($test >= ($test !== $test)); - } - function test3910c1e0c5899ee91e03d6016cc6f6f29d5ce4870fadbe1d1bb34ffd744c9677() - { - $this->assertTrue(true); - fn() => ($test >= __NAMESPACE__); - } - function test3b84b4307d454dc5acd483c70b13fad27c8afa7cfc5ee66a4174fb4e4978dcde() - { - $this->assertTrue(true); - fn() => ($test >= __FILE__); - } - function test3d6c9ebe734ab5d8567b6a312e29a8aa6bc45225fa1765917410db355e02c81c() - { - $this->assertTrue(true); - fn() => ((yield $test => $test) === $test); - } - function test4733067c91d18a8728b58b9fdec29d83ae00a018a3977f95aa752b83bb1a9a56() - { - $this->assertTrue(true); - fn() => ($test >= ($test | $test)); - } - function test495684713d1439782ea764bfda5295b8c3d9170b34451c2a8ab68fbf7340ce39() - { - $this->assertTrue(true); - fn() => (~$test === $test); - } - function test495ab7a08940403b3a4e40ce97eeaf3fc57d3b94bcc50dd971c2e1c102584dfb() - { - $this->assertTrue(true); - fn() => (($test .= $test) === $test); - } - function test4d75ae907fd2b17d4bdcdd0af26f06896422415a52e529164fdfee25c2298b7d() - { - $this->assertTrue(true); - fn() => ($test >= (int) $test); - } - function test529edbba6bfdce935122d852286a92a5cbc988370d7ecf7446ea1363b7b44d54() - { - $this->assertTrue(true); - fn() => ($test >= "{$test}"); - } - function test58224d330578142ce9b5b6ca9f5c88691fd9cbed4cecb68b2b33615cffbf11e3() - { - $this->assertTrue(true); - fn() => (($test **= $test) === $test); - } - function test5c45d9b0b874d77a6bc2dbec3e1e629e384cc99876f1422be04dc6876802da01() - { - $this->assertTrue(true); - fn() => ((yield from $test) === $test); - } - function test60761aa3be1b07217ad3763b74e651657b8b213d8eb03300255566d1a32a70b4() - { - $this->assertTrue(true); - fn() => (($test *= $test) === $test); - } - function test6248d883b354d8a5f0029679368fc350e6673b3ca6304c906581932da3a0dac0() - { - $this->assertTrue(true); - fn() => ($test instanceof $test === $test); - } - function test6280f64fdd68b604603c83ac1b4315bbdf33ff5ea0b6580394f4e47031aba305() - { - $this->assertTrue(true); - fn() => ($test >= ($test & $test)); - } - function test66a347664928159d29656d35f93fd2d2ed816c2928a1323cf9028358b51c5f0c() - { - $this->assertTrue(true); - fn() => ($test->{$test} === $test); - } - function test673c33cff4e9c2aa3bc2f5f27ee85636ce113220983f43412fdd725699bea8d7() - { - $this->assertTrue(true); - fn() => (($test ??= $test) === $test); - } - function test69de97a60d055a7661d4916b0c39cbac7d0a4d72c2c6ba130d67b595d2d8526d() - { - $this->assertTrue(true); - fn() => (($test %= $test) === $test); - } - function test6cb916d1a37781df53960ab4b47c1aca90f5087f91b152d9669de33487bd3ecd() - { - $this->assertTrue(true); - fn() => (isset($test) === $test); - } - function test707227b4cad88af7cb2bb2918e67e94edb50c9148a09a791ad7dfda663ee994f() - { - $this->assertTrue(true); - fn() => ($test >= ($test < $test)); - } - function test728a8f80dbadb7ba5b7eb778d78c0c7472ccb4c01b0c50b24e49d2661c8a2b60() - { - $this->assertTrue(true); - fn() => ($test >= $test + $test); - } - function test7856bbd1ec44afa9459054fb054092365b9db6e9d780f912161c0fab77f966e4() - { - $this->assertTrue(true); - fn() => ($test-- === $test); - } - function test789c662ddce83632cfef40e77230d964e68ba0a4e72a150a61a829307bbda0eb() - { - $this->assertTrue(true); - fn() => ($test >= ($test > $test)); - } - function test7f9f0700de7002ea562523695840e452739ac194623613d77ebacdd93b34dc31() - { - $this->assertTrue(true); - fn() => ($test >= ($test *= $test)); - } - function test8027f9667a144a465b50ae33eecef063e75eef68801b47cd3a316ec5aa40228a() - { - $this->assertTrue(true); - fn() => ($test >= 0.0); - } - function test80d0ec10aa83e180b6066668eada4b12f95349fcdbeae4a24f78811b5480580b() - { - $this->assertTrue(true); - fn() => (self === $test); - } - function test81c91b3e61a8d42b820a23da723ab32baa31bae9afd7cf341650644797a2b281() - { - $this->assertTrue(true); - fn() => (-$test === $test); - } - function test81da4458c5b9b17a7684ddb3b8185afabb5ba6cf6d664a16b0347877492d0c21() - { - $this->assertTrue(true); - fn() => ($test >= (double) $test); - } - function test838501551719fb3abc313fa449d344b62068c8d0bf794a81e7d52cd5adbb04a7() - { - $this->assertTrue(true); - fn() => (($test += $test) === $test); - } - function test89d43cc5d10ba4b66c6b46a2f00d1aef8fe32b349db0933c5b21acdf79e67b48() - { - $this->assertTrue(true); - fn() => (new $test() === $test); - } - function test8d00eb5f06d0b1ad665606e2eba0145a48b25d07052c27a00956dd0214e77091() - { - $this->assertTrue(true); - fn() => ($test >= ($test === $test)); - } - function test8e2be192a47326d7cd126b34b0f9e32d5be691232f3cae481d016c4a17ae78e5() - { - $this->assertTrue(true); - fn() => ((print $test) === $test); - } - function test8fea79bfee2c8c026bfa250af766985c532cad166e2d8ff826cff4f91dd8bc2c() - { - $this->assertTrue(true); - fn() => ($test >= ($test != $test)); - } - function test9042cc251cd7fef5139cc2236771c83bc97e38953b98de145062b3ae1452ba69() - { - $this->assertTrue(true); - fn() => ($test >= (object) $test); - } - function test910409401744dc3bad5f00f636704ef3d6285622aab49136681f8017e742b1e3() - { - $this->assertTrue(true); - fn() => ($test >= ($test or $test)); - } - function test98bb98740e1ea74ac021d9029d0bcd7efbd9b3205f8e882b21d26456e9e11864() - { - $this->assertTrue(true); - fn() => (($test /= $test) === $test); - } - function test9996ca9320f4cd4f71a8b8b1fd24e5700e86e2ea0b10853a7d76baf5796ad848() - { - $this->assertTrue(true); - fn() => ($test >= (array) $test); - } - function test9aa57cd65c24472dadd39ed1f0b8f4d6a5e298a86cb5d2a98974345c1f3c0502() - { - $this->assertTrue(true); - fn() => ($test >= ($test || $test)); - } - function test9d96072f0a97f0a0290957d0b395a9b89ac3fedcf7c62ba96533ce7d1b2560cf() - { - $this->assertTrue(true); - fn() => (($test ? $test : $test) === $test); - } - function test9fe0fe740acc584d2a57e6ac8df769927c51b085621830744e5ec9300446289a() - { - $this->assertTrue(true); - fn() => (($test -= $test) === $test); - } - function testa1f7f831e1c962ac6b387232a68ff2705026eb9889421868e9c5073f02eced23() - { - $this->assertTrue(true); - fn() => ($test >= ($test ^ $test)); - } - function testa242bf95645634444dd304c029a9016bb3a13bde6056071aefc8b5277a319852() - { - $this->assertTrue(true); - fn() => (function () { - } === $test); - } - function testa4a48dfbdc676918a77d8a8a7bf992a36fced8b464a23f45e565f9c748e86595() - { - $this->assertTrue(true); - fn() => ($test >= __LINE__); - } - function testaa16b3e7ac7b2458c53f8e27cec1cd4f03f0db8f93a216a1d745cc5cf019d532() - { - $this->assertTrue(true); - fn() => ($test >= 'test'); - } - function testab5fbea234056eea3f542611b3ebc932909c8c7ad2f4118e3c3af69e032f792f() - { - $this->assertTrue(true); - fn() => ($test >= $test / $test); - } - function testb0cb07405009998ba3c4b1700e36e4f7f3d78d0f04f5ba4d09e05908e191efe4() - { - $this->assertTrue(true); - fn() => ($test >= __METHOD__); - } - function testb1e03c16e28b1cf93662e6b8799fa2dcdd5f035ff95299089c06c202d369cb06() - { - $this->assertTrue(true); - fn() => ($test >= __FUNCTION__); - } - function testbc610338dd1f77a92142c702e6168378b5ba129fe5d0b8889738dccd18d85607() - { - $this->assertTrue(true); - fn() => ($test >= ($test <<= $test)); - } - function testbca8772903b11a06c70328678aca5379b185e17641130d0b073a68ea3754f59c() - { - $this->assertTrue(true); - fn() => ([] === $test); - } - function testc5e551f86d5db4645b345eb31b8eb6aaccf65fdd25f1f43b05f907c2b58afdbb() - { - $this->assertTrue(true); - fn() => (($test |= $test) === $test); - } - function testc6e4d3549389cbd487830c00cd6feb932d759087c42873c5b9b19e0f7dff088b() - { - $this->assertTrue(true); - fn() => ($test >= ($test && $test)); - } - function testc9c5d2ca7bb24b26509a7a66694e1c21d8c65277476cd12981e12e0aa16352ea() - { - $this->assertTrue(true); - fn() => (+$test === $test); - } - function testce856203c683fbd1d859b739cb2338b639fb3039d18fa281029125cac44b39f6() - { - $this->assertTrue(true); - fn() => ($test >= $test % $test); - } - function testd02eabc715123ace4ca3b85ce41aa7c3e2ff5c473f4fba03031f0888136c23a5() - { - $this->assertTrue(true); - fn() => ($test >= ($test **= $test)); - } - function testd6ef7451c23d95add4ecdb2fe5b3747f3dc9376734d4d94264338340cb2cd6ad() - { - $this->assertTrue(true); - fn() => ($test >= (bool) $test); - } - function testd78403bb769e3359f3d6457fb698f51f4137052695aeefea9fc704b92b3b434a() - { - $this->assertTrue(true); - fn() => (eval($test) === $test); - } - function testd7df72a0199d49fddd491f606c3c5a2357a287f5c8fd748ccf47e15e2d9ed92c() - { - $this->assertTrue(true); - fn() => ($test >= $test * $test); - } - function testd9c76e79cc4cf4d7829cb7dbc5409890bb9207214ec1434fd012c6b6c1a7a4a6() - { - $this->assertTrue(true); - fn() => ($test >= $test >> $test); - } - function testd9ce50f722b1f8f329beb1a366e9f1be529e20279a3451267854d4947a2f1e79() - { - $this->assertTrue(true); - fn() => ($test >= ($test >>= $test)); - } - function testdcba701fada6b03ce9214da005e0d33b36acdda1305f23c13c135d03570c8b68() - { - $this->assertTrue(true); - fn() => ($test >= ($test == $test)); - } - function testdef232a3043b2ae9c0879e55173837aa1c4237d93acfa71cbfc3803460863ed5() - { - $this->assertTrue(true); - fn() => (( $test) === $test); - } - function teste00e539d25d201bc20ed30ce17e91ce23827f4404fb3f619776b322cc3a42e7f() - { - $this->assertTrue(true); - fn() => ($test++ === $test); - } - function teste1e05bdb442569514416b117587f55262db786f9b32afba3abdf4e98d0045e04() - { - $this->assertTrue(true); - fn() => (`` === $test); - } - function teste25a248f43e189239bbeb45dab0b192f2681e50e39f7e1e9007198eabd8cbad2() - { - $this->assertTrue(true); - fn() => ($test?->{$test}() === $test); - } - function teste350e1517aaf6fd2e4dc34e425b3dccae3cdee997ebc80a0ffadb495e7b8dba6() - { - $this->assertTrue(true); - fn() => (($test &= $test) === $test); - } - function teste4913d94c81c1fe8ceb7dc6697294948bf7ddcd575517b092cabda00a8418c9b() - { - $this->assertTrue(true); - fn() => ($test >= __TRAIT__); - } - function teste4a3d12fa6cfc2803bd9f0aea94a2357c3b605a66ab497863d934ae7831f2efa() - { - $this->assertTrue(true); - fn() => (($test =& $test) === $test); - } - function teste8321206f84be105e9a547f57bbabb53f8fbff8393632a486fad4e63252129aa() - { - $this->assertTrue(true); - fn() => ($test >= ($test += $test)); - } - function teste868c0db34e961eefc5966c74eef4eea0fea73fcb9e77129582fb740faa0ffb2() - { - $this->assertTrue(true); - fn() => (empty($test) === $test); - } - function teste948c9893bb6ebee8745b020d4254990204b987475bf19c5551ab9dd5601e779() - { - $this->assertTrue(true); - fn() => ($test >= ($test ?? $test)); - } - function teste96afbfca7eab6463aa792d86cb98dc5bcda907b5fcc32683af9d35b0538a188() - { - $this->assertTrue(true); - fn() => ($test >= ($test <= $test)); - } - function testeac39ea02bc9f972529155672f913a22231c12160b063b5994d173e8eb561033() - { - $this->assertTrue(true); - fn() => ($test?->{$test} === $test); - } - function testf17ffd29fd7c7661c6fe52b4527c7a7bc6e734a2443d652159101517d2691a0d() - { - $this->assertTrue(true); - fn() => (match ($test) { - } === $test); - } - function testf696395eb3cf4995044cdb961424d5a244ee21cc208f82ba9e9d6619ec94e7b9() - { - $this->assertTrue(true); - fn() => ($test >= ($test and $test)); - } - function testf6ba810a175b895deea788de26cfcb854f79aae51fd3042bdd36449407808418() - { - $this->assertTrue(true); - fn() => (++$test === $test); - } - function testf6f05bdb667cada301c4162dd7cbc0b9fa42e0a0a3b2fbe6a0cb3ee0b2f6c8ab() - { - $this->assertTrue(true); - fn() => ($test >= 0); - } - function testf82872cedfbfdc5d3119d057ba0a28bf2c377f7f7acf24cc96b4567d5896a624() - { - $this->assertTrue(true); - fn() => (@$test === $test); - } - function testf9cfa6b05c290c9e74324345470799d04f554bc732766b1f0831b6dea31ce2f9() - { - $this->assertTrue(true); - fn() => (($test = $test) === $test); - } - function testfe1ed2b69388c8ac617df700525125bc8042359d2b2fa90a1425ce8ba984ae48() - { - $this->assertTrue(true); - fn() => ($test >= $test << $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test.php b/testsGenerated/Target/Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test.php deleted file mode 100644 index f69d635f6..000000000 --- a/testsGenerated/Target/Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test extends TestCase -{ - function test00a7f2a32af59c1955e199dab1bbf6df160d30fe0b395c9879aa85f5f4e516bf() - { - $this->assertTrue(true); - fn() => (empty($test) ?? $test); - } - function test063037f2d124f038a286ae185fe6271561a2497cbb0bcde7af8c9da1e4b9a585() - { - $this->assertTrue(true); - fn() => ($test || ${$test}); - } - function test067d68c6c49478a2499568ee4c16f19211dbd65f3b8c06230f7f9db8155fc679() - { - $this->assertTrue(true); - fn() => (self ?? $test); - } - function test06c9bca733d8edbfecb5279a0c80f6d3b90dbdcb9ee930090113508838043697() - { - $this->assertTrue(true); - fn() => ($test || 0); - } - function test07e76cb2cebb2341ca713fc942098fcc910627ae3ab21cfe38deeff081afe459() - { - $this->assertTrue(true); - fn() => ($test || __DIR__); - } - function test084072710630bd1a07bd153aa41a1743120aa7ecdffc808a128088097cd16691() - { - $this->assertTrue(true); - fn() => ($test || $test++); - } - function test0a398e088baed79816f59f9fb86c69c4880b2e41020a3185d7ea37317313531c() - { - $this->assertTrue(true); - fn() => ($test || empty($test)); - } - function test0c688c6141e4bc056d79176d1632f76ed115aafdb09a81d73c6405a540e79e50() - { - $this->assertTrue(true); - fn() => ($test || $test != $test); - } - function test0c9b8d0ea01e4687fe43b477d1df819fa792ab280f43a42baa6332999d8a0173() - { - $this->assertTrue(true); - fn() => ($test || $test * $test); - } - function test0ce8c6ddfbd0723ca48ce9819fb572051f207a3bfaca14b681e0d5d17e4eee31() - { - $this->assertTrue(true); - fn() => ($test || ``); - } - function test0db6ec48dda2675f28cf7d1d72607761d9c11a60729f260f31e9856713aea61b() - { - $this->assertTrue(true); - fn() => ($test || $test instanceof $test); - } - function test0f032d69c82a07b0c2151daf46b8824d9d7d6a5c26ae4379c92434857ec678e8() - { - $this->assertTrue(true); - fn() => ($test || $test === $test); - } - function test1e2cf2569610109e2eff16900926aafea6aa5263601db232505515f42729155a() - { - $this->assertTrue(true); - fn() => ($test || __FUNCTION__); - } - function test20a047d1450290716cbecc4604bb28ed8f884b47ccfd04da93a493687ea3ad7e() - { - $this->assertTrue(true); - fn() => ($test || ($test xor $test)); - } - function test21fd4ed14ead53648364a68d7d85d27b8e12903b28df3f1cbecdf4987f0036f4() - { - $this->assertTrue(true); - fn() => ($test || $test & $test); - } - function test261b8aa4854b7b07c5c4e279042480cc23d02c5c275f6bd09295d7fc1fc1f533() - { - $this->assertTrue(true); - fn() => ($test || $test < $test); - } - function test2eb6a932ea307aab54eb6407511db66396a693c750f8aaef15dbf09620213a0f() - { - $this->assertTrue(true); - fn() => ($test || (int) $test); - } - function test306603bfb6775eda98511e3b4d886f1cc1403e416f54d412254d704c515c1fb7() - { - $this->assertTrue(true); - fn() => ($test[$test] ?? $test); - } - function test33abed622c1f8fe9facf014b203a849ae2b337ac3ba82c668522a6d688fa40de() - { - $this->assertTrue(true); - fn() => ($test || $test - $test); - } - function test35851bf5064719cd97b4f605a3d6713382c2d02960dc0bf4b46984763ce4c39d() - { - $this->assertTrue(true); - fn() => ($test || ($test -= $test)); - } - function test37a11c00287bf7367b53ad6d3fd1accfcf6355731d4752bf9b286c0ca2189216() - { - $this->assertTrue(true); - fn() => ($test::$test ?? $test); - } - function test41da0adbdac03c53fed369bd728fb360622268855f614835f1be49e7dd0fe33c() - { - $this->assertTrue(true); - fn() => ($test || __LINE__); - } - function test46cbea8783485d528081ac7ff61ffb227ffb7e1701f977c04999b4fb5def6021() - { - $this->assertTrue(true); - fn() => ($test || "{$test}"); - } - function test47c298e3cecc3fc89f5ab75143001b7aec1392b57f89457b9777776922183311() - { - $this->assertTrue(true); - fn() => ($test || $test--); - } - function test4f84de56c1be4680807e4bbad1428d5c6561f167b335fe006da55997ebac7ec0() - { - $this->assertTrue(true); - fn() => ($test || (yield $test => $test)); - } - function test595e922b82b23c9078c5b8b820f9ec6abb0cbbc8e49fae38be9eb7ebe7c763ea() - { - $this->assertTrue(true); - fn() => ($test || (double) $test); - } - function test5b921728dabda469cac2a62bad866b826aa22604117ff00461d7f34adf861ac7() - { - $this->assertTrue(true); - fn() => ($test || __TRAIT__); - } - function test667cc4eaa9966201ce3909d90fb8931e24d5e2334af2f1031d306092119bbcee() - { - $this->assertTrue(true); - fn() => ($test || $test > $test); - } - function test672c23d4b1fd8d0c7e60ec457720f483bd94f4e98b1221bb0fa7b00fe6c707c5() - { - $this->assertTrue(true); - fn() => ($test || ($test &= $test)); - } - function test682ccff4d805b2fcaff524dd34128a8304e46642dc026e63cdb6639567c798b6() - { - $this->assertTrue(true); - fn() => ($test || $test % $test); - } - function test695b684d39c372e445107aacb5496f7861ba2dca5333898701ce91102d950871() - { - $this->assertTrue(true); - fn() => (clone $test ?? $test); - } - function test6d0c4dfbfbaaf68ff4faf0ebc3be666313ac06bdd1aa340dd053c28c0fd6ff85() - { - $this->assertTrue(true); - fn() => ($test || @$test); - } - function test73e0bdfefb07907f1ea352eb40ff2a97ed2f4d79504a4c2564d1fe52a14604de() - { - $this->assertTrue(true); - fn() => ($test || $test == $test); - } - function test78627eb7bd41bd8b4c403ecda6f95b95ffe0191089a4077b40757880763e9eff() - { - $this->assertTrue(true); - fn() => ($test || 'test'); - } - function test7ab70b80804cca85eb9aa38463b2a0c5d722b50213ede7605ccf3ba092b5a5e8() - { - $this->assertTrue(true); - fn() => ($test || new $test()); - } - function test7b67f01e98261db8938f6ee9655448724e331ae82ef554764dafd03ba46a2a99() - { - $this->assertTrue(true); - fn() => ($test || $test ** $test); - } - function test7db41780667b1f9a8b4090e34a9e4460b2b912c39acdf5b62f94df32a27725e1() - { - $this->assertTrue(true); - fn() => ($test || $test <=> $test); - } - function test7dfce68a73ffed4785b2106baf48adaae16711caf2dca636915ec97dab103762() - { - $this->assertTrue(true); - fn() => ($test || ($test ? $test : $test)); - } - function test7f296ecc497bb588c02e85ce71e378e9177ff8cb7f333c465e21027e43eeeaf4() - { - $this->assertTrue(true); - fn() => ($test || ($test and $test)); - } - function test887451b3b5756008265948e468cc50cb7265cfd92f198c72bc76110e08684019() - { - $this->assertTrue(true); - fn() => ($test || $test !== $test); - } - function test897b7a2e8806f595de5642e279545f38089e7c6b00e3fedc8a1c64f8f3042e74() - { - $this->assertTrue(true); - fn() => ($test || $test >> $test); - } - function test8cd6df06d5cf3277dca37a574a8848f032b4acc2edf09f823d0e797f4c84c830() - { - $this->assertTrue(true); - fn() => ($test || ($test .= $test)); - } - function test8f9b6a77a4a35eb95f598af3db7edfe41d3bdcadef037e8659d87afb0039ff9f() - { - $this->assertTrue(true); - fn() => ($test || match ($test) { - }); - } - function test8fa7261e8ed4aa58ff72103ed1a619d7dec5baf14c9dcb348c3d3e04d9d979e0() - { - $this->assertTrue(true); - fn() => ($test || ($test ?? $test)); - } - function test91af58bddded7b04a32355d8208f791d04e4a6c67a113ec3efb05ee61b10e3a2() - { - $this->assertTrue(true); - fn() => ($test || ($test || $test)); - } - function test9259f715abb811bfbe8f5e4aa068b2c3cd3942f2272073fc7264bc4239d57b5f() - { - $this->assertTrue(true); - fn() => ($test || $test <= $test); - } - function test9632f9b7815ca7bec9b4d94f2b921a351963482d05f3abe84bf98d6b6d740bdc() - { - $this->assertTrue(true); - fn() => ($test || $test | $test); - } - function test97280b695cb8ea71e4eac740f93b74428a048a07b8065e41d5938c30d849e4e8() - { - $this->assertTrue(true); - fn() => ($test || $test >= $test); - } - function test9b627c2679397a00667e36ee5ecf771b84ab7c61fe35f3340079cdf9843734ba() - { - $this->assertTrue(true); - fn() => ($test || $test?->{$test}); - } - function test9fcacb88fc855a31f9793876eccc55f87f9579f2df42517a0f68f322a995d57b() - { - $this->assertTrue(true); - fn() => ($test || --$test); - } - function testa21ceb069f3a52aa498a2a787b225eb8d3b9e14fe6972feaad10e3f3ca406094() - { - $this->assertTrue(true); - fn() => (eval($test) ?? $test); - } - function testa42ed8f86d55c8248475c2ae0f702428047081c55f7a49ce7b4dbfbf8bef8360() - { - $this->assertTrue(true); - fn() => ($test || $test << $test); - } - function testa6d6470cda9a7838f28f18f700297c8b5fc3b0b97054a35685e660fb08dabaaa() - { - $this->assertTrue(true); - fn() => ($test || $test::${$test}); - } - function testa8247d63bf2b1790785cfcc1b44130597968ba65f526e7dd94187fdfafc2e4f8() - { - $this->assertTrue(true); - fn() => (@$test ?? $test); - } - function testa862e8436cb9d23eaaf19a643adeb7c465e9a8f279d7246d06d71d05abdad40e() - { - $this->assertTrue(true); - fn() => ($test || ($test |= $test)); - } - function testa8d348f888483cff69608aa5336f857f5a1b9c3c5f5e84402c948d8c0f863534() - { - $this->assertTrue(true); - fn() => ($test || ($test ^= $test)); - } - function testaac921985af39f92e68e621eecadfee0be2f72fe00c090e70ff1dddd618f705e() - { - $this->assertTrue(true); - fn() => ($test || $test::$test()); - } - function testaba804d55d1591aba1d09edeed5e7f7744dc5ef392d4fec1e35c31dd5d0bb57d() - { - $this->assertTrue(true); - fn() => ([] ?? $test); - } - function testac59a0801e4d7f43fc65a57eed882a2033e205dd0df5661808d77223fc16ed58() - { - $this->assertTrue(true); - fn() => ($test ?? $test); - } - function testb0b87250b150ffac3201a5c35f9cab1cc5c33e42eab2fb5a1f778fbd1bea8cc9() - { - $this->assertTrue(true); - fn() => ($test || $test()); - } - function testb0e7c6d689493f6754deb23864f12faf706fc73e17fcf3eeffdd9e000eef23fb() - { - $this->assertTrue(true); - fn() => ($test || ($test **= $test)); - } - function testb18f631b5c944866e86ab1311862aaa2aecebb91e00d0d99741aabe0ef4daafa() - { - $this->assertTrue(true); - fn() => ($test || $test->{$test}); - } - function testbab1462d9127c3edceed4553fa07e49a4bf74fc62bc38e3a64ad493a837e1e9a() - { - $this->assertTrue(true); - fn() => ($test || eval($test)); - } - function testbd07ec8212632dd1c61c40bc893d58e43a33c539d28fab33afbab0047d462c4c() - { - $this->assertTrue(true); - fn() => (~$test ?? $test); - } - function testbd4cd51fdde1d95eeb3d029a506026832218f03e96c3298a8bfb87ab3d32df3b() - { - $this->assertTrue(true); - fn() => ($test || __FILE__); - } - function testbdcdd014cd259dc0e93468073179ed07cf590b1f36714b11e06a8b05588c5319() - { - $this->assertTrue(true); - fn() => ($test || -$test); - } - function testbfc88039be547e44569848ba684d56150358941a2e4d46371dc6487f86bdbe36() - { - $this->assertTrue(true); - fn() => ($test || (string) $test); - } - function testc12c154bad2c89016c167c1edcb4b28808f8c16059431dc4dd28aca6f4a17737() - { - $this->assertTrue(true); - fn() => ($test || $test + $test); - } - function testc248b9a0a4906f310030a7566b7a0bb3d5e5a703096773527ed0c9bd0ff898b4() - { - $this->assertTrue(true); - fn() => ($test || (yield from $test)); - } - function testc64803215572a18fca3f82638b0f273c4b24612777c71d47ecf4e8722027500b() - { - $this->assertTrue(true); - fn() => ($test || (print $test)); - } - function testc8f19ccfb16aba5492017d451b2133de50c25e33bececfb50f25aefb0297dc52() - { - $this->assertTrue(true); - fn() => ($test || ($test >>= $test)); - } - function testcd8f641f489dfa763ef5219cb8cf9c32006f07a7fd3437db7e533d1abaae26a4() - { - $this->assertTrue(true); - fn() => ($test || isset($test)); - } - function testcf4d24befd8d75da2f1c1f6a5d53e64d6929025e61d4d2bda10125d34903950b() - { - $this->assertTrue(true); - fn() => ($test || $test && $test); - } - function testd0613298326ab4078adadf74026f726acc2258136e5e72bb05b78b6c22cf88ae() - { - $this->assertTrue(true); - fn() => ($test || +$test); - } - function testd0a6000a52a3de38a9b9f87817e8195cb759e1ef8a240b994a4b5bb74c3c82b4() - { - $this->assertTrue(true); - fn() => ($test || throw $test); - } - function testd29f22ce0dbc3348460804e67a9210cbc6ef51c01d39f5cd30707e3de0474743() - { - $this->assertTrue(true); - fn() => ($test || $test / $test); - } - function testd36792ee1c278209813753753fed057e0435d52b9b86bf6dc487afbd3b78779c() - { - $this->assertTrue(true); - fn() => ($test || (array) $test); - } - function testd562b931a961a576aa63c9d6a2b32bb1f47571fb5704359078f9ded0bc68512b() - { - $this->assertTrue(true); - fn() => ($test || ($test or $test)); - } - function testd61414bca61e4ddc39b8076dc8273a844c77d83c3d40cb04e34b32796fbd1a9d() - { - $this->assertTrue(true); - fn() => (!$test ?? $test); - } - function testda4f101b815e400e0987e5c3fe76e1243042501950138c692fb93b88dddaf045() - { - $this->assertTrue(true); - fn() => ($test || ++$test); - } - function testdac5ce59999be468a13a00860457b936efbb7f9bfa189caee2da9f1392f6cb5b() - { - $this->assertTrue(true); - fn() => ($test || ($test <<= $test)); - } - function testdad95563dc7fa734b392c3557c5685f0c91eadbea069d37dae6cc5d416d21bc8() - { - $this->assertTrue(true); - fn() => ($test || $test->{$test}()); - } - function testdc7c411ffbfc747faaad2f604e1aeaf85a38dd514a1c5b604d2e4a334b7b1d27() - { - $this->assertTrue(true); - fn() => ($test || (bool) $test); - } - function testddc0c78c3639b6247fdda08f086e1a58d54f92c83c69f3b730cd7234d121df51() - { - $this->assertTrue(true); - fn() => ($test || ($test += $test)); - } - function testdf6925eef0a488fd71471a3bccecd37e1a3b37117705b7f356bc1d3888152ab0() - { - $this->assertTrue(true); - fn() => ($test || $test ^ $test); - } - function teste0a2a81b134d492b02b64871ad5126031fa4ffbe14a6517d80b8ed18fafaad52() - { - $this->assertTrue(true); - fn() => ($test || ($test ??= $test)); - } - function teste0c5157d49020685ba9780ffaa644c51c07b97dc9341a6977ced6d8b9967c3d8() - { - $this->assertTrue(true); - fn() => ($test || ($test *= $test)); - } - function teste385db1be4e5740fb6a64d2e2c5d9554ff42da42ab78226e82d2a5625c45b331() - { - $this->assertTrue(true); - fn() => ($test || __METHOD__); - } - function testebac5d3251dd7b5be84ea2d67b77c79410a2bf4e8d8d12140391b8b8caaa2481() - { - $this->assertTrue(true); - fn() => ($test || (object) $test); - } - function testecdbde2ffd51010ebd912f2a9cea8df081835b49a6dd76d158201d0f1e2ac26b() - { - $this->assertTrue(true); - fn() => (($test =& $test) ?? $test); - } - function testefa24ca02241234bdd331d4c820de4a3c1eee5ca96661865edbacfd2e507a9d9() - { - $this->assertTrue(true); - fn() => ($test || ( $test)); - } - function testf1b473d8d55eea0e7309e5458fb669ec6e6afe106b4ea67e48a16345d895e2f2() - { - $this->assertTrue(true); - fn() => ($test || ($test /= $test)); - } - function testf1cc6d7b65028fe68ba66db2d561ce94cd2d4b5290da88854795c236ffb1d8a7() - { - $this->assertTrue(true); - fn() => (($test = $test) ?? $test); - } - function testf3a8a5c962468df5f69a49fea0335d1663eaea95aa05ff2921088637f7dd75fb() - { - $this->assertTrue(true); - fn() => ($test || $test?->{$test}()); - } - function testf6b24823075b4fd8fd93029dede22e32c2a0b01bc9f8179cd30c113b42ab4474() - { - $this->assertTrue(true); - fn() => ($test || __CLASS__); - } - function testf8ccd7d2347250124ba1646ad6c4ecc686e9dc686120bfe25febf820109072ef() - { - $this->assertTrue(true); - fn() => ($test || ($test %= $test)); - } - function testf9d39b5bf651bcc25f149150e50536e02460dad0913ef4f95a87157ea28c99bb() - { - $this->assertTrue(true); - fn() => ($test || __NAMESPACE__); - } - function testfa39c9f7aaac82c8bdc075fdc711c94869951f30d3bd2232d3fc79182f2f7e1e() - { - $this->assertTrue(true); - fn() => ($test || $test . $test); - } - function testfa3ccd091dd9c3df1ea631c324c18f3b48c88f7271062a6052335e54bc5b0ff4() - { - $this->assertTrue(true); - fn() => (function () { - } ?? $test); - } - function testfe0b105d9ade9adc061b491de99a74467a3e568fb8a227778059020231dbfd2a() - { - $this->assertTrue(true); - fn() => ($test || 0.0); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php b/testsGenerated/Target/Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php deleted file mode 100644 index d1d457d69..000000000 --- a/testsGenerated/Target/Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test extends TestCase -{ - function test02165b7bca9afd3409f2d0496436a4ecd722b834bdff3b0576f2432534f25ea7() - { - $this->assertTrue(true); - fn() => ($test ? $test ** $test : $test); - } - function test0413c19ffa9294cb22468693ce75c2d6db46128596f1d0f586fb4a1ea8888c1a() - { - $this->assertTrue(true); - fn() => ($test ? $test::$test : $test); - } - function test04c0fb90f673f5fc9834c69a8e2df0582bc7e866ffd30cd2041e79c1f4873ea2() - { - $this->assertTrue(true); - fn() => ($test ? $test == $test : $test); - } - function test072fd5e0c31302629a7ce4a55c06aa9a84066f5bed1b564d4aac411c9667560b() - { - $this->assertTrue(true); - fn() => ((string) $test ? $test : $test); - } - function test08c496e2473b402d0fcc56922e1dbea89540c681808733bbe73236262b249822() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test); - } - function test0c37af73e9c6e66a196883247732fd1a523b98548795bebffb617c375147cd53() - { - $this->assertTrue(true); - fn() => ($test ? print $test : $test); - } - function test13302f06c12043618464a07fcc084d3696b4e8fd16f091404a4ec573286eab14() - { - $this->assertTrue(true); - fn() => ((object) $test ? $test : $test); - } - function test178574306aa29a0ef714702e3dd16b9b9549a2f43aa20537cbdbb6e38b645933() - { - $this->assertTrue(true); - fn() => ($test ? $test <<= $test : $test); - } - function test17f4ed840ce4c17c7cbef706f3830f31d43f89cf95cb9e7af3b21e79dfd65e50() - { - $this->assertTrue(true); - fn() => ($test ? (bool) $test : $test); - } - function test1f4dc89c36999f28932a3f574b6d329b043985ac7653d3c6a7e4a6203b9328dd() - { - $this->assertTrue(true); - fn() => ($test ? $test ? $test : $test : $test); - } - function test222f0106b747d0162573f9a1f63f4ae55c98ffde510c16f63d712ac6e720a31c() - { - $this->assertTrue(true); - fn() => ($test ? $test != $test : $test); - } - function test29e4716a0799e0acd7398aba421cf368d8da4f06ab3108aa7a2fc8abf3952012() - { - $this->assertTrue(true); - fn() => ($test ? $test >= $test : $test); - } - function test2d911a60bbcd9cf22dcf83fd1af37322e8128f1ecd35298c615e3487c9a529e4() - { - $this->assertTrue(true); - fn() => ($test ? @$test : $test); - } - function test3036fac11c789b7a4fb1cadacf1e6ede5f959f23ecf715fba5e566cf7722711e() - { - $this->assertTrue(true); - fn() => (0 ? $test : $test); - } - function test32106c10d4adff89bccb4fb0c32488be7708d7510354379433314f1595fe395e() - { - $this->assertTrue(true); - fn() => (__TRAIT__ ? $test : $test); - } - function test32334bdc006bb34c7345ef2c08787f6b7bfc8924149b40184a273566ad4d6a51() - { - $this->assertTrue(true); - fn() => ($test ? -$test : $test); - } - function test32b8f39691f48d0f2a245f4b53f4376b4722aa870122eea6bf8f35e629955e45() - { - $this->assertTrue(true); - fn() => ($test ? match ($test) { - } : $test); - } - function test3501410c34f2e2a6241a7f41acfe93747f7a5c5b36debada41e924837c949531() - { - $this->assertTrue(true); - fn() => ($test ? $test ^ $test : $test); - } - function test388b4b0cfef8041d72020a48bed6b68a00d03d078fa100ca62e30ecbbd075ccd() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ ? $test : $test); - } - function test3a73a44f67a65513e957ac338882558b075d5b507b6f0688079dea811fdd1f3b() - { - $this->assertTrue(true); - fn() => ($test ? $test > $test : $test); - } - function test3c2ce93c56fe28150cebde4e15fe190bcb2652df6a878fe03627b894fd2083b0() - { - $this->assertTrue(true); - fn() => (__FILE__ ? $test : $test); - } - function test4017c07235dbd34a1e9a1c9d9297bacf3dc7899c6cd7d744ef45c89447ab8a12() - { - $this->assertTrue(true); - fn() => ($test ? $test *= $test : $test); - } - function test40a817caf79a6047318c2a20df51567263064047d4174e69f4b4b1241263d4e9() - { - $this->assertTrue(true); - fn() => ($test ? $test and $test : $test); - } - function test40d576617bf52513db0296daa69561bd7eb627f90e22787f5816482e0d5e9d7b() - { - $this->assertTrue(true); - fn() => ($test ? $test &= $test : $test); - } - function test4590ae913de371d834c71de56d2d740e34ba50e4d2392bc7db8aa3f4e2a24452() - { - $this->assertTrue(true); - fn() => ($test ? $test .= $test : $test); - } - function test47bb2e38f31c908d94ee8ad2ca7246025dd7cd37b3b0334eb3e8b84d9993aed4() - { - $this->assertTrue(true); - fn() => ($test ? $test xor $test : $test); - } - function test47d43d509e02821845f8718e9d6e5228a35ab10d9a187765cb31022d22d8f0e4() - { - $this->assertTrue(true); - fn() => ("{$test}" ? $test : $test); - } - function test4d2ed78b416d77b7d533951e9fee2b336b7c6a7acd27d300f888c664bb752e12() - { - $this->assertTrue(true); - fn() => ($test ? function () { - } : $test); - } - function test4fcbc1800d89c3d507f06642bd7cd6475e526358e77e2b8c534fe3571660b373() - { - $this->assertTrue(true); - fn() => ($test ? empty($test) : $test); - } - function test50de6ddae42fc76802f847c04b1ffc4064fd051de9186d690e1c295ec24b7559() - { - $this->assertTrue(true); - fn() => (__CLASS__ ? $test : $test); - } - function test5403f540e4a057727987269454e7f05e1c6eedd3df366045f398b266120ea61a() - { - $this->assertTrue(true); - fn() => ($test ? $test || $test : $test); - } - function test553aac137fde73fc56af4e0a471bf3f54d14ed25601f79603aa9eabf8c43df8e() - { - $this->assertTrue(true); - fn() => ($test ? $test instanceof $test : $test); - } - function test553c3c326403c77f09d561aa00dba074668e5ae1b4a4b337c535d51d612fbec6() - { - $this->assertTrue(true); - fn() => ($test ? $test / $test : $test); - } - function test5ce5f9fc496263436a3a898ad496dbd07fe3a365dbe4fcacb8fb5e157c2bcf00() - { - $this->assertTrue(true); - fn() => ($test ? $test >>= $test : $test); - } - function test5dd8bfb3d010c4831a1eb0f555038950c4df680d161d40fc18bc6ad6ad79c70a() - { - $this->assertTrue(true); - fn() => ($test ? $test /= $test : $test); - } - function test5f7e471670f5d749f45ba96069c965b0f85c7eb0486435343ecd786176211016() - { - $this->assertTrue(true); - fn() => ((int) $test ? $test : $test); - } - function test624ac40b58b50be2aba107afb11873753d1d66a5a4f5b5a6a07f803c0de902e6() - { - $this->assertTrue(true); - fn() => ($test ? $test >> $test : $test); - } - function test650f672f31834a5a79986caf6c63f0e8f73aee788175558d957d33f2d7c53302() - { - $this->assertTrue(true); - fn() => ($test ? (int) $test : $test); - } - function test65de5c7fa3607276136ee8a4f31355512f7d01f8d34bdde8d39e99244bd3cd27() - { - $this->assertTrue(true); - fn() => ($test ? $test * $test : $test); - } - function test68354173ef3c5960e8fdca53f3f82e6652211a87cbca41aac9b522985d0bd65e() - { - $this->assertTrue(true); - fn() => ($test ? $test->{$test} : $test); - } - function test68d877a57002dc095b2b2f43b74ddf63d1aef05e601b9a6c682e624fa4066429() - { - $this->assertTrue(true); - fn() => (__DIR__ ? $test : $test); - } - function test6a194fa6a861cbf8abd83ff321ba53021ed4f905e8466ccc006e46bbab47ddb2() - { - $this->assertTrue(true); - fn() => (0.0 ? $test : $test); - } - function test6a8b4ffc786b0fa1d5c8b0b33d9cfea4c2fb19967e9a964aa9377f5f02cb27d4() - { - $this->assertTrue(true); - fn() => (__METHOD__ ? $test : $test); - } - function test6e9a2d081452e46fa3eb9796e825ba9f16da39596d7b848f89ec4f1b5c5fb29a() - { - $this->assertTrue(true); - fn() => ($test ? clone $test : $test); - } - function test7024286126c3c0b56823829c5fa1d6144241e956e87d925b15ffe687e983828f() - { - $this->assertTrue(true); - fn() => ($test ? $test **= $test : $test); - } - function test744581122742eb387f540ee1f5cf7b14a6c7a3603017f90db40bf3f4e32a30e9() - { - $this->assertTrue(true); - fn() => ($test ? --$test : $test); - } - function test76d401fefe6ca417d65b26afdff33318aab7c52823972cdfe505b737249a4040() - { - $this->assertTrue(true); - fn() => ($test ? $test->{$test}() : $test); - } - function test79cd2d3a0319e328058d4a5131b8cd68f52717b2d7092d5a652926d19c268de3() - { - $this->assertTrue(true); - fn() => ($test ? $test::$test() : $test); - } - function test7cf3ca4f3758d09d37c120a2eaeda25f0f7eeb8063d1b8aff602d670c4cced9e() - { - $this->assertTrue(true); - fn() => ($test ? $test ?? $test : $test); - } - function test7d5218bb37ee5b922d4817c68f2d450076771384df11777dbc4746e53bb7b98e() - { - $this->assertTrue(true); - fn() => ($test ? $test ^= $test : $test); - } - function test81ec1ff4e2ebfbc36b704df4c524b79e2c7dcdf30cd0b7fd00e7d394b1d9df84() - { - $this->assertTrue(true); - fn() => ($test ? $test() : $test); - } - function test828a49d0d87c02a4dfff32d4bd34ead8f0eba27af52652207361c21e6f514629() - { - $this->assertTrue(true); - fn() => ($test ? $test !== $test : $test); - } - function test84daf705554ac08113f67950f7b8cb791699a72d5a0ae35a10d6aa79a642beb8() - { - $this->assertTrue(true); - fn() => ($test ? isset($test) : $test); - } - function test88a26799b570ac1bb2a00ef6880f3cbe3794cfea0687f68a3e0f6cdbdb5dcc77() - { - $this->assertTrue(true); - fn() => (__LINE__ ? $test : $test); - } - function test8bad1bfa4b9bed7ef87cc52a306d3055cae676d31e5842fdd0b1ec3aa1d60016() - { - $this->assertTrue(true); - fn() => ($test ? $test === $test : $test); - } - function test8ebb57ea4ff0f15537dcf5ff20ad7e8036770de9776b0f51eea11967b01d2cac() - { - $this->assertTrue(true); - fn() => ($test ? $test %= $test : $test); - } - function test8edfbcba8d9f3edeba287c9e45382ca7068190c66a4b69555ef06373cb9f517a() - { - $this->assertTrue(true); - fn() => ($test ? ~$test : $test); - } - function test8f9f6848beb2b35d6332db440a23c025363feffbb80e8cea647c2badea89f21b() - { - $this->assertTrue(true); - fn() => ($test ? $test . $test : $test); - } - function test92a4f565174a1b458a3423908e6339e78d9c87502639d94843bf96a95c7450b1() - { - $this->assertTrue(true); - fn() => ($test ? $test <= $test : $test); - } - function test93c59a2e00a7cf3f393db1f49571153623ad601763db1b8ca4f7ba862b266030() - { - $this->assertTrue(true); - fn() => ($test ? (object) $test : $test); - } - function test9558b486b62519e61cbb0fa2d58eebf2643385c72668272adec9f528167fabb1() - { - $this->assertTrue(true); - fn() => ($test ? $test -= $test : $test); - } - function test9bf6718c18b414542a5d2eedcb8ace410aecd7d530f34f64bdbe010a122d5129() - { - $this->assertTrue(true); - fn() => ($test ? ${$test} : $test); - } - function testa2df7b92806b4f173b71c2790e64b0a1a50c7d6a581fc258e45610a5f6b9c8a2() - { - $this->assertTrue(true); - fn() => ($test ? $test << $test : $test); - } - function testa7572bf006ec59e180c6f105fe0df564b0d74cf1282859b4cffa94a88d92eb0b() - { - $this->assertTrue(true); - fn() => ($test ? new $test() : $test); - } - function testa7cac987a2166464a5426251f5ccc83309e9ecb694cfc2cecf2604cf850168a5() - { - $this->assertTrue(true); - fn() => ($test ? yield from $test : $test); - } - function testa999393876bb3279a9955d5338ebb40ad004682b41291cf88dd00adbb8cdd084() - { - $this->assertTrue(true); - fn() => ('test' ? $test : $test); - } - function testa9fcafa0049797a82a7c37c46cdb877120a5488f222652e2febd9e0af30b23d1() - { - $this->assertTrue(true); - fn() => ($test ? (double) $test : $test); - } - function testaad407cd35952ae3c96c09aeabb9835879365ed3ccadeb400b4a568026eb4888() - { - $this->assertTrue(true); - fn() => ($test ? throw $test : $test); - } - function testabdcf3c921fc8c4c979ccca9a09fad0463b3ecd121f8998a27316754e7fb21b3() - { - $this->assertTrue(true); - fn() => ($test ? [] : $test); - } - function testb057dee030e3d44061baed711edfbb1601e42889aaa60dba30127a00ccc6e88f() - { - $this->assertTrue(true); - fn() => ($test ? $test < $test : $test); - } - function testb0a37ec127423a9b0f13bed06060810d7fba1d4c35b1e21880de151a32722fc0() - { - $this->assertTrue(true); - fn() => ($test ? $test % $test : $test); - } - function testb0f4f61a4578b01672bf32e88b9691d93c6c8d4dbc8bf4d979afa5fd7872e947() - { - $this->assertTrue(true); - fn() => ($test ? !$test : $test); - } - function testb238946e231290c80ecf175112ede2359f63a921a9b65935663135f3fcb2f02c() - { - $this->assertTrue(true); - fn() => ($test ? $test?->{$test} : $test); - } - function testb2c34ee55b8ae255252f9107764d209d56dddf8e946b785ed4a825114bcf318c() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ ? $test : $test); - } - function testb358790561e2d7c9c43ddf6237f84854068568ee9be6dd2eabd66d731639dddc() - { - $this->assertTrue(true); - fn() => ($test ? $test[$test] : $test); - } - function testc0251d885e0211296da36a58bd15cde6fd0d65c9981f7115af6dbcf1f2552c3c() - { - $this->assertTrue(true); - fn() => ($test ? $test::${$test} : $test); - } - function testc49b482338ca92d0e2f1e3f66531bcea394ea755fa3be66053c422e97952982a() - { - $this->assertTrue(true); - fn() => ($test ? eval($test) : $test); - } - function testcd25435e15348b4cc4a24860ca25d7f91875baadf338be28e9fabb4ea9d3293a() - { - $this->assertTrue(true); - fn() => ($test ? ++$test : $test); - } - function testcd3c8a8d4d9e819493476f9fc1fc49cb3265b579f88b638f7fb35ee6281eebf2() - { - $this->assertTrue(true); - fn() => ($test ? `` : $test); - } - function testce69dac6b68c8357eab5d7ccfc050d645d12ce4b3eefb21f844e8cf38139c3cf() - { - $this->assertTrue(true); - fn() => ($test ? $test-- : $test); - } - function testcecd20eb30910c1914153c283445e5771981051f4b2f6e8af89a690449ac74c6() - { - $this->assertTrue(true); - fn() => ($test ? $test = $test : $test); - } - function testd0a5c6f87429a0cfb96226719c72466968bf37318997a3ac74837cbed6ae7ef5() - { - $this->assertTrue(true); - fn() => ($test ? $test ??= $test : $test); - } - function testd5697482effef4b108ea80c6a9ec11e8e9edb747e4b15b84780ac86ecc0c944a() - { - $this->assertTrue(true); - fn() => ($test ? self : $test); - } - function testd61427f141f88c52cb80a359f3470d2d01e2cd2949a8c5caa7afa91e454a5abd() - { - $this->assertTrue(true); - fn() => ($test ? $test && $test : $test); - } - function testd84f4b9522d7e2710cd121e8108b3edd9c6e069e14943c865789c57f03893962() - { - $this->assertTrue(true); - fn() => ($test ? $test =& $test : $test); - } - function testdd87b6789f69f4aebc170b83d913b6ae3dd194fffaba78fd6c122186889f22f6() - { - $this->assertTrue(true); - fn() => ($test ? $test <=> $test : $test); - } - function teste167ac209d41e70da5dc4b644c3c4af6f193294bc62d7ba6804631fea8922707() - { - $this->assertTrue(true); - fn() => ($test ? $test += $test : $test); - } - function teste3a81f9397a36f2228a2bf2ce88f9797cb48a34fbef7f88969df76b4499d982a() - { - $this->assertTrue(true); - fn() => ($test ? $test | $test : $test); - } - function teste476fbe55eede36a47e7a5db571b7619b7793b7fd739a5c52130fe4b21cc111c() - { - $this->assertTrue(true); - fn() => ($test ? $test |= $test : $test); - } - function teste8da2570ebc0ac347f1a68d413d1bbb332692b2bd2979d23a67195d8662c3b5b() - { - $this->assertTrue(true); - fn() => ($test ? (array) $test : $test); - } - function testee7bab7b9da1489a7a408caf5ce52c1051129ee4ea91a8b7d24765c72f2f7dbc() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test); - } - function testf04704966621afca6554092617aa95cc77713005549994cabe0fee28e4f3e8f1() - { - $this->assertTrue(true); - fn() => ($test ? $test + $test : $test); - } - function testf079b25765a7e5f98e7ce1f84ccaa77c09b857a087e2a223dee97165e0c5ec37() - { - $this->assertTrue(true); - fn() => ($test ? $test?->{$test}() : $test); - } - function testf22c505dfd51d41f1aabff68c52dbb8b9f91a143a2c73a4b31db719f78e16229() - { - $this->assertTrue(true); - fn() => ($test ? $test or $test : $test); - } - function testf45fdda649a436525f1cb7a61ab8503ed8498cbd27276f45519b0eee821785d5() - { - $this->assertTrue(true); - fn() => ($test ?: $test); - } - function testf8e23aeeafce2c932e60e18b6eee1dcd35038a23c4f54ee3a373797be7cf2ab5() - { - $this->assertTrue(true); - fn() => ($test ? $test - $test : $test); - } - function testf9fea1ff941abbe3d4cc61896948b3521d4138e5bb66e716735607dc93882c61() - { - $this->assertTrue(true); - fn() => ($test ? (yield $test => $test) : $test); - } - function testfd0a902abc511b437e87933d9f8884dde7c04eda34c745dd6aef61e687581d6e() - { - $this->assertTrue(true); - fn() => ($test ? $test++ : $test); - } - function testff922e91e61eb1d8cb34ac4ae14deb671a86fd0de35b4b0ae1edea7f50916788() - { - $this->assertTrue(true); - fn() => ($test ? $test & $test : $test); - } - function testffd9ce6b71194cee96865a29be38ee316a705f531891c32a86a0ccd958cd127f() - { - $this->assertTrue(true); - fn() => ($test ? +$test : $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test.php b/testsGenerated/Target/Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test.php deleted file mode 100644 index d064cbf12..000000000 --- a/testsGenerated/Target/Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test extends TestCase -{ - function test0478fd233dcc1ff6297fcd7a703e7db8d3f06d2f3267247e8a2f553eb593b876() - { - $this->assertTrue(true); - fn() => ($test * $test->{$test}); - } - function test05091924041e34e74b8a8da1032f6c3ca306da2b2f7472778040e8afbe7d1201() - { - $this->assertTrue(true); - fn() => ($test * ($test % $test)); - } - function test0c95ddf53ed5ef53daa259a5fab3bdec5e8831e044a39d6e4bd28475c45a3ad1() - { - $this->assertTrue(true); - fn() => ($test * $test instanceof $test); - } - function test134d7755d89900fc96b1ca1c9e4a50cc93003f50dd9218eeaff4e38667d00329() - { - $this->assertTrue(true); - fn() => ($test * $test->{$test}()); - } - function test180a73d7a5466f840fa98b2903b9a07ff1b2918e8b0e701d4ca5b7836dfda3de() - { - $this->assertTrue(true); - fn() => ($test * match ($test) { - }); - } - function test18e125bb5958b39d7cc3f73e15a5aaf087a1823976457d840fef71f0f7ee7c42() - { - $this->assertTrue(true); - fn() => ($test * $test::$test()); - } - function test1b50cb44deb53ac8ca1f25fddd2f5439afa3fdb2fa2974f2afd999a6431706c7() - { - $this->assertTrue(true); - fn() => ($test * $test?->{$test}); - } - function test1d0158e183cb6a7ea133e9e1e5fc16822e7773150e18a4488d77cc2b88f89ab2() - { - $this->assertTrue(true); - fn() => ("{$test}" * $test); - } - function test20c0e5a00bf6e101abcd0f0ea8d4d8c013e74942f2679f6678888395b8459ae7() - { - $this->assertTrue(true); - fn() => ($test * ($test !== $test)); - } - function test2303b271ce39ac353aa8e5924f5fdbf7553fd17e4c4a9c6f49e06d9b3d77a39e() - { - $this->assertTrue(true); - fn() => ($test * 'test'); - } - function test2374cc7b2777c2cd49236f2c71f2d235ed131b14f768de442876803c3eb61b6c() - { - $this->assertTrue(true); - fn() => ($test * ($test ^= $test)); - } - function test25ac557c6438315305c081727d91c202d12313860198a0f9b34e816119c51fc9() - { - $this->assertTrue(true); - fn() => ($test * ($test != $test)); - } - function test2865522c480bfb0478b0cb86c53ec4bf141a0aa70bf752f6102de4c5c5a4eb09() - { - $this->assertTrue(true); - fn() => ($test * $test()); - } - function test29c837c77f2982055064ddb6a4e3e2321690e7e8fa03ec87ea138818b91b3c32() - { - $this->assertTrue(true); - fn() => (__TRAIT__ * $test); - } - function test2aa7a79ce80c52ea3ec15da4ad0efb31533543192db1e7076e72e949b890521e() - { - $this->assertTrue(true); - fn() => ($test * ($test *= $test)); - } - function test2aed5e91a62c6bcc8ea13b4e4b5242d02c2e0e33e4636a054537996baabff233() - { - $this->assertTrue(true); - fn() => ($test * "{$test}"); - } - function test2bb5fb95cb81f9f486d4a9f612f0b82bbb0ef145c31d1909a7623c87c9871131() - { - $this->assertTrue(true); - fn() => (__LINE__ * $test); - } - function test2e626fc543cf45c0ee5aae2b2ce934c5da89ec7832637a522eb13b77918dc045() - { - $this->assertTrue(true); - fn() => ($test * empty($test)); - } - function test31eafe2ade685ebc9dbe103e1382290da9ecce3d5434e650ca7ad3e36a40fff2() - { - $this->assertTrue(true); - fn() => ($test * (object) $test); - } - function test3689417c1d8f6b2c7a9258504de1087c18dc08016f02686a1c9b8f0b2676e03d() - { - $this->assertTrue(true); - fn() => ($test * ($test === $test)); - } - function test387e18938551e3eaee17bd3cc39778caa1a5997e1e2d02d6f24e67a5c2d9b70a() - { - $this->assertTrue(true); - fn() => ($test * ($test -= $test)); - } - function test39c2bd91b71050980eda9dedbd10c3e6722d78d6a93d947355569a61bd1a2557() - { - $this->assertTrue(true); - fn() => ($test * -$test); - } - function test3ec20a4494c82aa56b421385b87bc75f21dd8e49a74fa3c78843c8a57866736c() - { - $this->assertTrue(true); - fn() => ($test * ($test | $test)); - } - function test42c91a5c1c6ec0a43724bf20ab1a6bd85ace00314a879571021823b43e4e0a1d() - { - $this->assertTrue(true); - fn() => ($test * $test ** $test); - } - function test4f6795e048f6e58b21904c8632fb049d1a4c4a378596426e3460d172db98b55a() - { - $this->assertTrue(true); - fn() => ($test * ($test = $test)); - } - function test4f7fa6c93c8574e09eee4c946da268afd482ef28d8d1b5865607e51ad8552769() - { - $this->assertTrue(true); - fn() => ($test * (int) $test); - } - function test4ffce180560633bc9ac45a8db0ac727cc85839f8dfdce5f884f4af46bc3680c3() - { - $this->assertTrue(true); - fn() => ($test * ($test / $test)); - } - function test5876bc898f18d618ad0ba6f08d75c89bb0ddf9da2e8d7541c1b7eaeebc414966() - { - $this->assertTrue(true); - fn() => ($test * ($test < $test)); - } - function test592396ead87b3c72f7eedc3401ab4ddebfd51003fa4380fc1daefa513d1a39c7() - { - $this->assertTrue(true); - fn() => ($test * ($test == $test)); - } - function test59624dc80fcddbcd5f6486e7f26a6ecc00629c5db3446b533936ccd45c45d02b() - { - $this->assertTrue(true); - fn() => ($test * ($test + $test)); - } - function test5b2b971aff022c92dcc393474385b2211046eb1270ca59a3a005751e96bc61c3() - { - $this->assertTrue(true); - fn() => ($test * $test?->{$test}()); - } - function test5c21f2790f1b06dd463cbd6bc86f2e0ebf1c67b00323a531c2ec18b43fa61988() - { - $this->assertTrue(true); - fn() => ($test * ($test > $test)); - } - function test5d660a11cca5b02540fd850ecc59a2ce4448fede1382e81a89386ace79e54fdd() - { - $this->assertTrue(true); - fn() => ($test * ++$test); - } - function test645b216b0f7f4865a8763d287539ca27afdc4b521acf9f226b8bcf3848006340() - { - $this->assertTrue(true); - fn() => ($test * ($test **= $test)); - } - function test650a8af1ced4e8fb491d74b63df71d17cfed19a8c7a1039f0463d3e4f1316973() - { - $this->assertTrue(true); - fn() => ($test * ($test <<= $test)); - } - function test651e218b2025049bed72cb35e14bf38d644024c2bcbbcad70b93b21aa0531514() - { - $this->assertTrue(true); - fn() => ($test * (array) $test); - } - function test660881daae48c9786127ed958a8a78010b7f8879ebdf9a6ecba0ef72c4aaa3b8() - { - $this->assertTrue(true); - fn() => (__DIR__ * $test); - } - function test68b675ca83a9d5ba6ef64021f89a14026fa0af38a3effb02307eb7becbb54471() - { - $this->assertTrue(true); - fn() => ($test * $test::${$test}); - } - function test6eda277e623a9cd19c28eaafe713af768831c6c5984032b033db9aace5dd129c() - { - $this->assertTrue(true); - fn() => ('test' * $test); - } - function test729582a943105207aefb70a42b1409603605e35e3a27659f3f6eca5465436907() - { - $this->assertTrue(true); - fn() => ($test * ($test xor $test)); - } - function test74cf8180a3d1e35de3462294d1de9544d75de28feb56ff77e9ac2240ce06087a() - { - $this->assertTrue(true); - fn() => ($test * ($test * $test)); - } - function test76d52f9ed58c8cfea3a058b63e3cdca625ac6adc4213521c553a4e4dae1235ae() - { - $this->assertTrue(true); - fn() => ($test * ($test =& $test)); - } - function test7781cdc720ddb8c9aed9af1b91e6d33494b4b2167b35bd4a752b20e4b1c9329d() - { - $this->assertTrue(true); - fn() => ($test * function () { - }); - } - function test7cd0bdb6d18da6268239dea88559c45f720a910e352a3106be618077b8f1a0c3() - { - $this->assertTrue(true); - fn() => ($test * ($test >= $test)); - } - function test7f505dd3eaacaee1870d97a33bdfed37cbf298c42d4685be7e2face03d90771b() - { - $this->assertTrue(true); - fn() => ($test * (bool) $test); - } - function test886c25e18126406bbca79227d4629603f46eab985f00e76c065873dd301326ca() - { - $this->assertTrue(true); - fn() => ($test * $test++); - } - function test8905893b152d5964b10d3d691c8d230f8958143f3dbf9d9af72dec1fd13a0262() - { - $this->assertTrue(true); - fn() => ($test * new $test()); - } - function test8b211cc1c45795b24b1ba94611672481791f3cb3c12e366f1ee5bf845e0ee559() - { - $this->assertTrue(true); - fn() => ($test * ($test && $test)); - } - function test8c14f8a12206c2d739069b0778e09605ecf09411c4f92e79d91659919f55ca55() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ * $test); - } - function test8faf210b4cb10772de20607f5b2a87bafa8499bbb1652578698df71a8e5a263a() - { - $this->assertTrue(true); - fn() => ($test * ($test ^ $test)); - } - function test92284c39b3ef5c0dbb48259d491f98e65589034c40af0de6167eb675549b5bde() - { - $this->assertTrue(true); - fn() => ($test * ($test and $test)); - } - function test9269567808962ccbbc40a2ade1a2b041406eb723b7b32a0b99bb99f699ed4814() - { - $this->assertTrue(true); - fn() => ($test * ($test >> $test)); - } - function test936d5164791196644c4e1cf2fe64880b0e6644c846f721677ff8660940388a5f() - { - $this->assertTrue(true); - fn() => ($test * @$test); - } - function test95c81cb9fc6a1fac6fa53a73abb65ccfab544ea71b6ac0717dba0bf1df1dedce() - { - $this->assertTrue(true); - fn() => ($test * ($test >>= $test)); - } - function test97dc2941b9981a75aa312f784e8611a0cb89bf15fb175297c4b8c15a447bd3c5() - { - $this->assertTrue(true); - fn() => ($test * ($test |= $test)); - } - function test99b42933657316732eb35cd49aa0c925d096002f3aa2fe21e8124754b381b3bf() - { - $this->assertTrue(true); - fn() => ($test * ($test <= $test)); - } - function test9a8b6f606a8f41e9402460508490a9f01e2b778e78824e78e3621472c5d8dbf6() - { - $this->assertTrue(true); - fn() => ($test * ($test &= $test)); - } - function test9b256126702ce27ea7135314d306fa74a473485dfa09079608a06dda96eecb04() - { - $this->assertTrue(true); - fn() => ($test * --$test); - } - function test9b81c1b7cc74e3bd8ca9c50d8440eeb541406501c2689fbb31dd35d74c7708ce() - { - $this->assertTrue(true); - fn() => ($test * ($test += $test)); - } - function test9c8afdb69be1aa584ac051356171bf91b90b526bbbb72bed34671572baf17543() - { - $this->assertTrue(true); - fn() => ($test * eval($test)); - } - function test9d931cbf813769106f7136b4d8a68769fd2da0664bc31c35671509c5583ec415() - { - $this->assertTrue(true); - fn() => ($test * ~$test); - } - function test9e36dafa723ef8c56b533050ad087263d5a088bdadec5b6ba329190379e4b1c5() - { - $this->assertTrue(true); - fn() => ($test * ($test ??= $test)); - } - function test9f7c387f07a57eb0377cc5eb69140cadf7b0c8498ea7294c213917ef18f77a39() - { - $this->assertTrue(true); - fn() => ($test * isset($test)); - } - function testa1af0ec2073bda06a28b3751b2682889d2bddd20c7bd92f573f4636d4e013102() - { - $this->assertTrue(true); - fn() => ($test * ($test & $test)); - } - function testa4b86ef05a31252204f7595be3c9e2096d7837a41430de5b6267fdb5e050579b() - { - $this->assertTrue(true); - fn() => ($test * ( $test)); - } - function testa5f6e8e2409357db1f0f81a65f1490777c1fd6d0a3b844362bed2351324330be() - { - $this->assertTrue(true); - fn() => ($test * $test); - } - function testa715b0dffb44c7c31dd020fd6e9b51e6c17788b152dc55db6db15fda736904f8() - { - $this->assertTrue(true); - fn() => ($test * $test--); - } - function testa817fbdc490bdb85602a1c0829a7cab401d0656715b0cf8681b917d2bc47dd9d() - { - $this->assertTrue(true); - fn() => ($test * $test[$test]); - } - function testaa3aac3dc39dba4ee4f9c6e0979d484c8fe388f2b5fa81ea6ac079550ff396a2() - { - $this->assertTrue(true); - fn() => ($test * ($test - $test)); - } - function testaaba4bec298d1182c8991ba7ae14e4d20047e1875c795b12cecdaa7867dced71() - { - $this->assertTrue(true); - fn() => ($test * ($test or $test)); - } - function testafbbe911baed6e4ac9729d6669039f5dad49e53f34a0e2b3d08b69102c2306c1() - { - $this->assertTrue(true); - fn() => ($test * ($test << $test)); - } - function testb0da058bfe2b715e9fc459088eb77aa888e6960da13ff67e7d2973eb157be986() - { - $this->assertTrue(true); - fn() => ($test * (string) $test); - } - function testb724e51e21dcc2a40ab655af04d7054b10a4c9fa403997e0a423447dfddfb8d1() - { - $this->assertTrue(true); - fn() => ($test * (print $test)); - } - function testbae46557c6c1aed3d80d733bb4d7967d3988254bf5b48669d8897710f9c3389d() - { - $this->assertTrue(true); - fn() => ($test * $test::$test); - } - function testbb5a9a81b0a131bd06772f759f659a0a7b4c4894eb48eddb2ded8a6625451b76() - { - $this->assertTrue(true); - fn() => ($test * 0); - } - function testbdb77bfc0a464b724a8aa0f8cc916dbdffa395c4aa7b5a78e0ae9497bdb9016b() - { - $this->assertTrue(true); - fn() => ($test * ``); - } - function testc67cc17454bfd4d9b3eccf1c5651d387d97e515ae19ea9ad08439326c752211b() - { - $this->assertTrue(true); - fn() => ($test * ($test <=> $test)); - } - function testc984c0d99229228296dca71197c2ed1ea42e7b7b4e170d583002b82e699b3166() - { - $this->assertTrue(true); - fn() => ($test * self); - } - function testd0d5125ded879f70fe856661d783da67c8d00883c255e668f41bb134552fe3f8() - { - $this->assertTrue(true); - fn() => (__CLASS__ * $test); - } - function testd3bb7bb6cb64570bcfe31d43b3a079277276bd909c25a0bc9e234ed3739916b0() - { - $this->assertTrue(true); - fn() => (__METHOD__ * $test); - } - function testd4ff019cf7b8ffbfc25eff3ede8a9be0ce97d03f2899057e9d6d694eedc6f20b() - { - $this->assertTrue(true); - fn() => ($test * clone $test); - } - function testd5cf6528ac49ea8a956ed7a3289a772c13dd93baea13afcc738fd207dc7ff7eb() - { - $this->assertTrue(true); - fn() => ($test * (yield from $test)); - } - function testda36965de28eea2eb5f267042faf0ed2f830d19cd5cbd8b0dbbb675f89d2f0fb() - { - $this->assertTrue(true); - fn() => ($test * ($test /= $test)); - } - function testda8b7e2703623676584fd55d032a661620991d05794cf534b7ba491aa98e4d60() - { - $this->assertTrue(true); - fn() => ($test * ($test %= $test)); - } - function testda9bfba253cb56bd6b2cebb2911c1470c54a3fa8ff7401c1a75a2e6ad845f503() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ * $test); - } - function teste05adffe6a72e7a9dd8cae2c59d3077f4fb5c2da01f26d948b84d5aa544a5e76() - { - $this->assertTrue(true); - fn() => (__FILE__ * $test); - } - function teste33c16fff2e8240db4e8b7ab2daee82090f9daecd5eaf6b6f92101b6becf7527() - { - $this->assertTrue(true); - fn() => ($test * ${$test}); - } - function teste8ac3c93fac345dd04d099dd906b1a11d15d4f524270a8cbed0856b33ce55ae8() - { - $this->assertTrue(true); - fn() => ($test * ($test || $test)); - } - function testebe3b98692d3beaf6f7acff5d74cbc7031413ff633cfd3f35439fcbbf33054b6() - { - $this->assertTrue(true); - fn() => ($test * throw $test); - } - function testf0ef1cdf680a39bf3b3db4bdeda621e02aa240b82f8cdb98d4cfd3d766adb3e6() - { - $this->assertTrue(true); - fn() => ($test * +$test); - } - function testf1c591afccf341b4a18c099e430f6d82c4d0dc2c47782ca1d3fbcda25bc2dfbf() - { - $this->assertTrue(true); - fn() => (0 * $test); - } - function testf1fa34eb5b05546cb87e61ca3e54966af0e964d583f2ba6eeff843b09a812acd() - { - $this->assertTrue(true); - fn() => ($test * []); - } - function testf60b016aa0e1237be12651fcd6974630b716ce0d388aa950ee09002555f824cf() - { - $this->assertTrue(true); - fn() => ($test * ($test ? $test : $test)); - } - function testf9a001ae05c4b4d5e7771189e5c2daae1650ce9894ae5e0e289d51041e75c269() - { - $this->assertTrue(true); - fn() => ($test * (double) $test); - } - function testfb1b0f23f15a2c0f25a64b624b0d179d88cd57d8b4dd5f6388919ade7d60b112() - { - $this->assertTrue(true); - fn() => ($test * !$test); - } - function testfd3e17940608ea554c18f6bd757860be4074fa6e405c8d56e62a737badfd037a() - { - $this->assertTrue(true); - fn() => ($test * 0.0); - } - function testfdebff14fd57d1c25dfb037cd8c1fc7e21c1106557b1e4a797711e1ab98f5f2d() - { - $this->assertTrue(true); - fn() => ($test * (yield $test => $test)); - } - function testfe376d92f84f14ba138c53abebb1e858fbbf9a506a2f4c458d1df6db8d07574b() - { - $this->assertTrue(true); - fn() => ($test * ($test .= $test)); - } - function testfe8589c32659721ae74bb17fb91591b571f0d9f6e24b14fd5d6707bd6473900c() - { - $this->assertTrue(true); - fn() => ($test * ($test . $test)); - } - function testfec2e7cafbd55001141d18427afb063e57018b181ed11c46905b97ee1a9ce58f() - { - $this->assertTrue(true); - fn() => ($test * ($test ?? $test)); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest.php b/testsGenerated/Target/Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest.php deleted file mode 100644 index 99e8a1905..000000000 --- a/testsGenerated/Target/Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest.php +++ /dev/null @@ -1,516 +0,0 @@ - - * @license MIT - */ -class Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest extends TestCase -{ - function test02b60dea7bec2eed27834edc6c63dab8a3b56915532eeee699c53dbd40e67b84() - { - $this->assertTrue(true); - fn() => (isset($test[!$test])); - } - function test02ce9c51011305b95792ac9a405fae386c03fb186cdfba0a55706c753220f5de() - { - $this->assertTrue(true); - fn() => (isset($test[@$test])); - } - function test04df7044af1de75a26647f873e2c6715784009daab0a307234a318bbc5a90e9b() - { - $this->assertTrue(true); - fn() => (isset($test[$test instanceof $test])); - } - function test06ce697d5636062a425fbebb44199a53c897d909cd260b7bf6f104b757f817c2() - { - $this->assertTrue(true); - fn() => (isset($test[$test /= $test])); - } - function test099e1834c102f33770becff3a4c1d1b5ca9acd4d093852c074ecd9a410966b62() - { - $this->assertTrue(true); - fn() => (isset($test[$test?->{$test}()])); - } - function test09f705be818560cb99e2a594f936a9ce2fa0d63196d17823ff59aa993fcd84cf() - { - $this->assertTrue(true); - fn() => (isset($test[$test *= $test])); - } - function test0b6610285b0fdd814a1bc0dabb60b29474a478e50be97cc6e45878ed4ff22399() - { - $this->assertTrue(true); - fn() => $test[self]; - } - function test0eb11457f824e18faea70f84dbc1deb426c62c5f37f2f7337709db237721970a() - { - $this->assertTrue(true); - fn() => $test[match ($test) { - }]; - } - function test113f468b27cbe564b4762e721c73ae7ebd47ee69613595d7c44091bf4681a406() - { - $this->assertTrue(true); - fn() => (isset($test[ $test])); - } - function test11f4c5d1265dda39650575e208b1967971572085eefe279f03dc734c8439f20d() - { - $this->assertTrue(true); - fn() => $test[--$test]; - } - function test12e2e2cc14c327714c2e3469c2fcda6c0ad8cc7a487db5b2a5d107da1fc51d66() - { - $this->assertTrue(true); - fn() => (isset($test[new $test()])); - } - function test1812ae30d02ee4d70b1c3604dbe83b18a9e226d9a7af94791ab02e5202d4d852() - { - $this->assertTrue(true); - fn() => $test[ $test]; - } - function test18c1807cba555e44100a1db909ffe78a80599d89817744da83da71f031dc987b() - { - $this->assertTrue(true); - fn() => (isset($test[$test ? $test : $test])); - } - function test1aa9fc5bfe580fe145633129636235d6f893bd3b0e3089e17f10e4dd2d626efb() - { - $this->assertTrue(true); - fn() => (isset($test[throw $test])); - } - function test1d229012b4278d7dd103e082e6d8744d66c8edd3c7ef8fa9a44e96bc856065c1() - { - $this->assertTrue(true); - fn() => $test[$test *= $test]; - } - function test204ed649efc9b487fec77c55a3eff140bc47ff3483a77a77d963a34cc341b2c2() - { - $this->assertTrue(true); - fn() => (isset($test[$test **= $test])); - } - function test2109c0d9f97c8ad6323788de7d76b21cd0f6c0bc0845802d7200673658cb38d5() - { - $this->assertTrue(true); - fn() => $test[$test->{$test}()]; - } - function test239f7b737d9c078e4f276aad21c65b8c47c9bebc6afef2c0ed82f2fa58db81ea() - { - $this->assertTrue(true); - fn() => $test[+$test]; - } - function test2464ab86d64eb87cf55d3d7d3c5d13a5bb0838c7524cba125806077d57c50c92() - { - $this->assertTrue(true); - fn() => (isset($test[$test()])); - } - function test2a19bb55fa52f9a0f586762283128b23ab5e71f92630f1c3874e64d7f3180846() - { - $this->assertTrue(true); - fn() => (isset($test[``])); - } - function test2b74c5da33fe06fb78ff87c26f40cc435a37a16e3c36750035ca863ff5672299() - { - $this->assertTrue(true); - fn() => (isset($test[isset($test)])); - } - function test2bf24767afaae14992f3730811d58196cc5190825a89dee63b121061d0a196fd() - { - $this->assertTrue(true); - fn() => $test[``]; - } - function test2e3349dca09085f10c86fedf15b2707403e2ff2b056ccf40a49e82b1a030a82d() - { - $this->assertTrue(true); - fn() => $test[$test .= $test]; - } - function test2e76e894d10d09e9ca99194fdfea501777f76076fb30c136946dc8e5fa92f91c() - { - $this->assertTrue(true); - fn() => (isset($test[$test =& $test])); - } - function test30ed74eaaa47680cbcc1158a7b78ba3fa576e1844d75482eca12c90f4a977b08() - { - $this->assertTrue(true); - fn() => $test[$test++]; - } - function test3177bd1407b46a21f537e8d46b72e70619c6a37d88bf279de1aeac9b95b4c770() - { - $this->assertTrue(true); - fn() => (isset($test[-$test])); - } - function test32a3066add3a0b00d2c2966f66057ae25be4a197594b7dec78f701a0cad40535() - { - $this->assertTrue(true); - fn() => (isset($test[(yield $test => $test)])); - } - function test344a8ff7ad1187892cc6e5c84e3508f893beb594b50abe531e6519b1e961a220() - { - $this->assertTrue(true); - fn() => (isset($test[$test += $test])); - } - function test3d59ee099efb4b0879c086934d120fec0b52bbf93fa4ddf705d9d81a55b0577a() - { - $this->assertTrue(true); - fn() => $test[$test %= $test]; - } - function test3dd6981ff48392b92709c4bde6643b5b17d6bc233949d3d2d7052bb42a9c5d67() - { - $this->assertTrue(true); - fn() => $test[!$test]; - } - function test3fdc2acbe7d728b4ba9c42cda3bf4af5d5854886471f096c0603e0f7d919da59() - { - $this->assertTrue(true); - fn() => $test[throw $test]; - } - function test4219f3bcec7322c778c8710064814de23f360c6fd9b51234d28a6368a2cb5c0f() - { - $this->assertTrue(true); - fn() => $test[$test += $test]; - } - function test43b7d9c8fdc7e4706778e12efb69890a0b35c7597dd7c35f46c36bfb88deb8b2() - { - $this->assertTrue(true); - fn() => $test[$test ^= $test]; - } - function test441c2034855f30b576ecdb60badbee0c417be5503134a64fccb9c3e66a2a596e() - { - $this->assertTrue(true); - fn() => $test[function () { - }]; - } - function test46ea014038bf4658bea5a9c1d9494bb6d3fa9f83ae5f755c35a6495eda35029a() - { - $this->assertTrue(true); - fn() => $test[$test::$test()]; - } - function test471825d3bfeabcb14af7dd51df3d40218b189835be2114c3d540539cfe0a85bb() - { - $this->assertTrue(true); - fn() => (isset($test[yield from $test])); - } - function test4822efe15a4fc21ed8e15c2bc42172dfec789334522df4ee8c5a341b231d1fb3() - { - $this->assertTrue(true); - fn() => $test[yield from $test]; - } - function test4935e2fa73d3931d5890d3ab9da9cddd1c811f5692b88852bb88bf92ba6926a4() - { - $this->assertTrue(true); - fn() => (isset($test[$test->{$test}()])); - } - function test496f8540cad7a570964bfcc7aca07f441c796fc165cd6b405664d75d63e1e650() - { - $this->assertTrue(true); - fn() => (isset($test[$test &= $test])); - } - function test4fd9c6ac93d5bf5a48396041ce0fc8847b159ae9296e521c0ff988d493dc2ea7() - { - $this->assertTrue(true); - fn() => $test[$test |= $test]; - } - function test55ec241930fe945cea1195a48bdeac0667d75b9b7804f9cfb5ce795d3c1cba34() - { - $this->assertTrue(true); - fn() => (isset($test[clone $test])); - } - function test569d4d8e6340efca5b5b53deaa709e9ceee73d6e060d7da941577bb137afacd8() - { - $this->assertTrue(true); - fn() => $test[(yield $test => $test)]; - } - function test5705661bfb443cfa44a73df2b89c9c432ab4a2c21b8436222e6e52187d675b95() - { - $this->assertTrue(true); - fn() => (isset($test[empty($test)])); - } - function test57ab097a619c9e722ace7ecd9df4add6e5375c7de6592917eee9aa797cbd367b() - { - $this->assertTrue(true); - fn() => (isset($test[$test::${$test}])); - } - function test5cef4a4b2a9b36f3a1668c83c46380d8801c1d359178c290308c236c71c71c82() - { - $this->assertTrue(true); - fn() => $test[$test & $test]; - } - function test61b0fbefc61f9a6db4de005bddb3bc8eccb421ca9c1acb942651c2e29052b993() - { - $this->assertTrue(true); - fn() => (isset($test[$test %= $test])); - } - function test62d35f61b387656ce850d308e3846b4e8b8336a86b29546adfabbf4dc22e439b() - { - $this->assertTrue(true); - fn() => (isset($test[--$test])); - } - function test67d770ba68d09835cfa000da326d62dcc118d634d6022a2f0af2122a1a3c697d() - { - $this->assertTrue(true); - fn() => (isset($test[$test->{$test}])); - } - function test68d53b9393ddc1b3ef5e7dc4e3a670184d3b46843cb9f4ff5f5508cfe3804c31() - { - $this->assertTrue(true); - fn() => (isset($test[$test::$test()])); - } - function test6be2a43a23510738a9148d563ccd2de31f955db4c827f3ec0f5cd5d31a9ee396() - { - $this->assertTrue(true); - fn() => $test[++$test]; - } - function test7865cb674bbf26195ed15ab4569091941a92e64ff398a9777e978a77b42ac83a() - { - $this->assertTrue(true); - fn() => (isset($test[$test & $test])); - } - function test7a9ca48feeaba5089dbcf6f06265d42a875bba5814a3f2afd728eb19d888fe1b() - { - $this->assertTrue(true); - fn() => (isset($test[$test::$test])); - } - function test7f4bbe76ccfed75de5f75a92819dc2b999451329a7d679eb6f22afda2dd73445() - { - $this->assertTrue(true); - fn() => (isset($test[$test <<= $test])); - } - function test81b2620a36123222f49c3df68eaec5f01ab120ef5d9b169f49cecbb88b4a7132() - { - $this->assertTrue(true); - fn() => (isset($test[$test .= $test])); - } - function test82683c3060867b3a24581ccdaf8eb0b6401838b45d6bf5fec6745766c1e46f02() - { - $this->assertTrue(true); - fn() => $test[$test =& $test]; - } - function test85aa44ee2720f38bdb8e0ac4ecfea55e482c235fef1d8cf797f6e78b6661fea4() - { - $this->assertTrue(true); - fn() => (isset($test[$test >>= $test])); - } - function test86266d0653f065aa79e7ae41db78675ef634538c0aaddc912ac924aca9613e41() - { - $this->assertTrue(true); - fn() => $test[$test]; - } - function test88b8b81ffa0e3c084d919eb510a2bc4ac3920ed7d9a1761fbc9ed5b37b09eb86() - { - $this->assertTrue(true); - fn() => $test[$test &= $test]; - } - function test8bf4d945326451aed1e49dedfe60b16f5ca96751d7e633c294ee4467fd8b8d4e() - { - $this->assertTrue(true); - fn() => $test[$test?->{$test}]; - } - function test8cb33b8b01204e7e0b998ce6c8d2164e7aac6ea39a8b9968e025c64dd7ed87d5() - { - $this->assertTrue(true); - fn() => $test[eval($test)]; - } - function test900babaa25db62cbcac98a4200ed722e1a9237a2ac43059fb164afc7bb2e4f53() - { - $this->assertTrue(true); - fn() => $test[$test?->{$test}()]; - } - function test904e9501263a71543469a73f6489c9943791cd14f82412ba6be330c82fcf23d9() - { - $this->assertTrue(true); - fn() => (isset($test[match ($test) { - }])); - } - function test907d0fd9511cd793e94ad1a3030c073376058288ded719391b733c227f6a5b6c() - { - $this->assertTrue(true); - fn() => (isset($test[$test ??= $test])); - } - function test93e9f0f0e53720885a3d94c6c46599d947da398432cba4df80ef87126630243f() - { - $this->assertTrue(true); - fn() => $test[isset($test)]; - } - function test9402f7bb92641eca765442c9ff537ea99d5086e971e4903008d3ed007d50bf7a() - { - $this->assertTrue(true); - fn() => $test[~$test]; - } - function test94bb5c6f09540470b0fba05fbefa4d08c80df43c3f8904134c98e4865d379a1a() - { - $this->assertTrue(true); - fn() => $test[new $test()]; - } - function test981f2d782c6116a223e1548ca4caf7fb3123171f718d59df2a6e4100dcc27aa5() - { - $this->assertTrue(true); - fn() => $test[-$test]; - } - function test9fdd395814f4cce080465d5d9e2b6f7db6d0f4d3908da258ad6f0ed4bf36c22e() - { - $this->assertTrue(true); - fn() => $test[clone $test]; - } - function testa2a9221476baf4279effd75c062b28869ba0248d2119d7cb4a7f1f6720c4f2a0() - { - $this->assertTrue(true); - fn() => (isset($test[$test?->{$test}])); - } - function testa359ace8bd5487184174d68a787fcf356496006afd7627bd7e31644703b01a00() - { - $this->assertTrue(true); - fn() => (isset($test[self])); - } - function testa5c30ebbe0a75d8262dae688cc0c6595702423e2153b6e62ece0262f6a5f2560() - { - $this->assertTrue(true); - fn() => $test[$test <<= $test]; - } - function testa5d2c024c7f63a32989f2a605ea5c84b0528a299aeba3a93342a087f81c9b91c() - { - $this->assertTrue(true); - fn() => $test[$test instanceof $test]; - } - function testa72f9a3a6435dab6953f18f060f2887a6a8caa0843e5c1cbc52a22afea4ae7ec() - { - $this->assertTrue(true); - fn() => (isset($test[eval($test)])); - } - function testa7625092caaf0cfe4c4a46de697859aa3548ffa3db72b0894ea8d8a21471d498() - { - $this->assertTrue(true); - fn() => (isset($test[${$test}])); - } - function testada763c1ffb798887cd5cae4a9a8dac67f59c063184976eafb310fb7f3077d79() - { - $this->assertTrue(true); - fn() => $test[$test::$test]; - } - function testb100ea04ea0c2f32e1093e1d6e0929936af72d95e32705ed041ce0d3f9bbd792() - { - $this->assertTrue(true); - fn() => (isset($test[$test--])); - } - function testb2d6a36b688c75b6618cfe0f496f2a597914e06690537048995ca3e9b7df064e() - { - $this->assertTrue(true); - fn() => (isset($test[function () { - }])); - } - function testb6880f845c8952c73cc0fe6cfddc3e400cae6b5910d00d01e4f4dfb6ad58e36d() - { - $this->assertTrue(true); - fn() => $test[${$test}]; - } - function testbf272b4b1703a143c8603b3b444e53398996c05b47bef5c4ab1681c53c9a7b9c() - { - $this->assertTrue(true); - fn() => $test[$test::${$test}]; - } - function testc707c4522e64470717e008c11f1de8b87212e92b305f655abf6674a2824edf60() - { - $this->assertTrue(true); - fn() => (isset($test[~$test])); - } - function testcbfdc4e607c1d4fac117e2d794315e3a6995c444a9688588d2d633276cc8c178() - { - $this->assertTrue(true); - fn() => $test[$test **= $test]; - } - function testcc033d3a3b4b44f437cce96c007182fe7b4ef9590b26665fe86f33dd2aaebb7a() - { - $this->assertTrue(true); - fn() => $test[$test >>= $test]; - } - function testcd2522d7591c82276c2acec4ad6826e2841336118ec82988424ea8ee14306fa5() - { - $this->assertTrue(true); - fn() => (isset($test[$test -= $test])); - } - function testd33d7887bc6c096194261915f6951d17c4fee647a2de256cddc7d9779611f5eb() - { - $this->assertTrue(true); - fn() => (isset($test[$test |= $test])); - } - function testdb33bf35471b849b4e3fcd51d7a0298d154d8fdec3515201a387bd7bf1eed474() - { - $this->assertTrue(true); - fn() => $test[$test()]; - } - function testdc2b443fa787756692d80832bcf238affb394312e4f9328e5d31be4a45359a42() - { - $this->assertTrue(true); - fn() => $test[print $test]; - } - function testdd685855693a19d6e432c85ebf469feb9a0002e5f6999016f651faaa84d45ee8() - { - $this->assertTrue(true); - fn() => (isset($test[$test])); - } - function testddf250f0488195a00e8355820f937a08579ec4836a043c5d3c76ef64cf566a4f() - { - $this->assertTrue(true); - fn() => $test[$test ??= $test]; - } - function teste01c624c0ba704ccb8b687142d6cb232e165fdd5dff51bbc4e3182545e9ea924() - { - $this->assertTrue(true); - fn() => $test[$test->{$test}]; - } - function teste096956df19e1de7f84911d6c15811b9862301322aac70e3678b3ca5b570a292() - { - $this->assertTrue(true); - fn() => $test[$test--]; - } - function teste102160f22518b13e08a16fe9f758c36a8f3a1efa85383af417b3bd68fedb4d2() - { - $this->assertTrue(true); - fn() => $test[$test -= $test]; - } - function teste1cb2890429064472d96de9001cc043b67ba513f28b3a1e68fa8206d5c695cde() - { - $this->assertTrue(true); - fn() => $test[$test /= $test]; - } - function teste93c4a945f1d9a635f3b04d2e8cac4db0a9f7dc7e962585aa7625f99f08ae30f() - { - $this->assertTrue(true); - fn() => (isset($test[+$test])); - } - function testeda4b8a4e50abadd4ea615bcea3b70cf61891132ffbfc9cd4e376b2b8c2cc8a1() - { - $this->assertTrue(true); - fn() => $test[@$test]; - } - function testf1545955dd2a371fe0d766c7139239230a495da35742a787d0be3633dc5ad185() - { - $this->assertTrue(true); - fn() => $test[empty($test)]; - } - function testf464bc6d6f005fe6c276eafb2ebb53af5e6c9599228f092f3dd0979a72082b41() - { - $this->assertTrue(true); - fn() => (isset($test[++$test])); - } - function testf624e2f8b748c016ecdd1a5f2d1f57c5962ced7d7cfe7fc465cc9995524b1516() - { - $this->assertTrue(true); - fn() => (isset($test[$test++])); - } - function testf66ce3a87dab77d3536f90a26ed9ff4429a89c56f557e400c44fc5a0d1459b35() - { - $this->assertTrue(true); - fn() => (isset($test[print $test])); - } - function testfd7ced2b02f45dc9e36b13c865755d5730a5130d22cfca3729a35c983bf6e8c3() - { - $this->assertTrue(true); - fn() => $test[$test ? $test : $test]; - } - function testff32281508044408bf4764d99e8faf6a531bc88b75f3ac24445bf771eb43d26f() - { - $this->assertTrue(true); - fn() => (isset($test[$test ^= $test])); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test.php b/testsGenerated/Target/Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test.php deleted file mode 100644 index 2dfe112f1..000000000 --- a/testsGenerated/Target/Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test extends TestCase -{ - function test011c916d34e8ae85c2f6a968d676e3061370f4737c842ea341078a9be23d0d8d() - { - $this->assertTrue(true); - fn() => ((double) $test &= $test); - } - function test05f85b23988bb6d44b58133722335223335899ada9a344179356c9f6d5d41602() - { - $this->assertTrue(true); - fn() => ((int) $test &= $test); - } - function test070176b89a10e949f785e5acd373fd721aa0749353e6efee54c98f3cba46dc00() - { - $this->assertTrue(true); - fn() => ($test || $test &= $test); - } - function test0a036ecfa59a1d91da1759bea29c62623289f59d884ec049074f8567572f36b7() - { - $this->assertTrue(true); - fn() => ($test &= $test <<= $test); - } - function test0e45a4072b5d9b2bf14f38e85832c8310876ed9de76f9f7faf3ca33881738865() - { - $this->assertTrue(true); - fn() => ((string) $test &= $test); - } - function test0e5b967bd0913e244aadda16a815b4e4bd79b22c83afd0f845e0935265448de8() - { - $this->assertTrue(true); - fn() => ($test &= $test ??= $test); - } - function test0fb4652b06ae1f6d78a1b88022bb92cb2976d4b1f43c7dfc4d7c4e8a70faa0b0() - { - $this->assertTrue(true); - fn() => ($test != $test &= $test); - } - function test0fe792cba68ac338fbbd31dc7e06af9441b299e10a3a9cdc27d1606bd5ed49d5() - { - $this->assertTrue(true); - fn() => ($test &= (yield $test => $test)); - } - function test15cae56f70d70fd101a373e76d1bc60e946722b73c005924392d123a379f0494() - { - $this->assertTrue(true); - fn() => ($test ?? $test &= $test); - } - function test17920e867c1ca661e43a64b03818e357e71c8d58ade3be557be288dd5a02d635() - { - $this->assertTrue(true); - fn() => ($test &= $test::$test()); - } - function test1c5f438bdfb31aa8879979bf8d0ad7a182fcb5ba3dde1c532e9f72fa645ec5b9() - { - $this->assertTrue(true); - fn() => ($test &= !$test); - } - function test1cd462da7939fc28ac0daf442197aa7af1436f62d5f3ee60b16e79f0b6463e76() - { - $this->assertTrue(true); - fn() => ($test % $test &= $test); - } - function test1cdb8b6d518c34fb65c55c3aef2a9522bfb35da4aefbc49116c61b8e49991708() - { - $this->assertTrue(true); - fn() => ($test . $test &= $test); - } - function test256775ded2692da9b0287421ecef9dc5a743e183c0693fde7016665cfa9c056a() - { - $this->assertTrue(true); - fn() => ($test &= ++$test); - } - function test26dc59ba5eadcc56db76ae5bf75b64155dc45efa79f208d1df509b0e39b92b11() - { - $this->assertTrue(true); - fn() => ($test &= ``); - } - function test2cf89a0bd0998acebce26a0ed3b9ec0b73daedbf7b0fbc8b0eec4a6711219045() - { - $this->assertTrue(true); - fn() => ($test < $test &= $test); - } - function test2d36b75743d133c030c304a5028fba6b7bd3f2ecef15f1b94b5236d6280363c3() - { - $this->assertTrue(true); - fn() => ($test &= ($test or $test)); - } - function test2d4ad6916db29339b660e205c475d292c568cce70c2acff63713cbd7442adfea() - { - $this->assertTrue(true); - fn() => ($test / $test &= $test); - } - function test30e801a83e9db2773a7fab0fb792aab0d3ddfaff602474dcad5082a5dc3116c9() - { - $this->assertTrue(true); - fn() => ($test &= $test %= $test); - } - function test3671d3fe523b1448b5a8bafede4aa298f30903c41148223612f8f529178f0189() - { - $this->assertTrue(true); - fn() => ($test &= $test || $test); - } - function test3698e4b48034acbb2cc202357d794b65505a84fd2ca2a600a5a41a346e7d3332() - { - $this->assertTrue(true); - fn() => ($test > $test &= $test); - } - function test372c7c214732e518f852c423eb563bf6e4d52f65e5d1c56371543b1820a94d77() - { - $this->assertTrue(true); - fn() => ($test &= $test | $test); - } - function test3b9803805b33781ba933289ac68212d696906706b79fb1f1433d25884fcc9c1a() - { - $this->assertTrue(true); - fn() => ($test &= $test &= $test); - } - function test42d9c0b2916c4ce1cbfd718906588cd66431d600e3d6b8c0628e26da788a9503() - { - $this->assertTrue(true); - fn() => ($test &= self); - } - function test43912ec542dc78dba6a1af59fcdba4ff81fcdb57ecc2d27a0a14cef0530dbba7() - { - $this->assertTrue(true); - fn() => ($test <=> $test &= $test); - } - function test4558769ce244a8109bee7123d1040b7534ce6e3a3b69e68309d773da50a40277() - { - $this->assertTrue(true); - fn() => ($test &= throw $test); - } - function test46aa7d006bc343af9458831723c3081eb9aad2486b8d3f382abd7f86471de4e5() - { - $this->assertTrue(true); - fn() => ($test &= function () { - }); - } - function test47bfa9323d8b862e9dece716c268ddd6d231d8e38248647330552faec7a5e740() - { - $this->assertTrue(true); - fn() => ($test &= $test >>= $test); - } - function test480490b1adc8b663938d0f436e6528e51436389e525bda3ab192aca7c72716b5() - { - $this->assertTrue(true); - fn() => ($test &= $test ^= $test); - } - function test4bc42a59144b7be949788db37c043cec9add89d2d9e2c8d8355105866dc5abd7() - { - $this->assertTrue(true); - fn() => ($test !== $test &= $test); - } - function test4bebd5a6a0dedb415a7c96bbae613fca3ee988c34ee673aa7d61afb7fdc7ac43() - { - $this->assertTrue(true); - fn() => ($test &= $test * $test); - } - function test4ccad5324e43795095952d1de04dbd955ca00c4445018b4588670768529e498a() - { - $this->assertTrue(true); - fn() => ($test &= $test()); - } - function test4efe11a3ea9b835684763343d353364db8644fa5f9909195ae0c2cd2d5b4e583() - { - $this->assertTrue(true); - fn() => ($test &= ~$test); - } - function test543b6836761aeb856f7cf95908a1d32660a407fd9c4290ef1cb623083a439940() - { - $this->assertTrue(true); - fn() => ($test &= $test->{$test}()); - } - function test581fa4e1f883382d77332c567c76604e987a38c159ae06c0625c2890ab734505() - { - $this->assertTrue(true); - fn() => ($test &= ($test and $test)); - } - function test5e286668f258eaf2b9a6663545591f76373805cb008f75d1efc64336013a153a() - { - $this->assertTrue(true); - fn() => ($test &= $test + $test); - } - function test6129c2aefd5ed2fa4385a52cd68b1f23b08f31c772560d0921ecbc4cfb2c0fc1() - { - $this->assertTrue(true); - fn() => ($test &= clone $test); - } - function test65a34f7cfe76b02c233914f9193e563fbb9f79bc3a618ad8139d27ffa9f50728() - { - $this->assertTrue(true); - fn() => ($test &= $test instanceof $test); - } - function test67072158ad502f5d64f6d895950b54ebb92d4d0cffdfe605c01f677ec8dd56ec() - { - $this->assertTrue(true); - fn() => ($test &= (yield from $test)); - } - function test693da613455036e0ad2b445d6c59c68a0a1e541880a437a357dfeccc35251aab() - { - $this->assertTrue(true); - fn() => ($test &= $test[$test]); - } - function test6ac1be267e65af442664f1a38033bc477039114766cda771819ac59184852376() - { - $this->assertTrue(true); - fn() => ($test &= $test ? $test : $test); - } - function test6b50cd45bcd590655c05ecf2832a048d94a11931ae6790d25978bded79bc2b34() - { - $this->assertTrue(true); - fn() => ($test &= $test::${$test}); - } - function test71fa86a894ff1f404b2beef43b28fbb8f7cda34fee2b25748038ebeac0bc75f0() - { - $this->assertTrue(true); - fn() => ((array) $test &= $test); - } - function test76dca34bb4be1367558301bbe04310dfbc0c91691795554e7d6f3a90df479afe() - { - $this->assertTrue(true); - fn() => ($test &= $test *= $test); - } - function test78ce808431756ca1b8c3cd3add24e3a39afcbbafd0fe2b2a18397703a9d78ae5() - { - $this->assertTrue(true); - fn() => ($test ** $test &= $test); - } - function test81da5312559a96618f97e84e04eaef2fda633d8214d1f39ed9aefb00450fda46() - { - $this->assertTrue(true); - fn() => ($test &= $test?->{$test}); - } - function test82d82c9d3ae5082d8c7ecdf38b1fb4788a8750508635111e2891f5545b516d2d() - { - $this->assertTrue(true); - fn() => ($test &= $test >= $test); - } - function test85a7d6d88bedaf084cf8756c6dbd54cd449b0974b555889679fe76322e0a07b7() - { - $this->assertTrue(true); - fn() => ($test &= +$test); - } - function test883ec3930a68c660e2be02fb77989429c215dd8918e59f4d72da7e57f4978cd3() - { - $this->assertTrue(true); - fn() => ($test &= $test === $test); - } - function test88d9465daf45118f094db3039d0abe44cf386c4e467c042bb9323f6f57fd2e19() - { - $this->assertTrue(true); - fn() => ($test &= []); - } - function test8ae778bcb4bf45b1152c86f94b69bb38f02889616d1f064258e784be6750a499() - { - $this->assertTrue(true); - fn() => ($test &= $test?->{$test}()); - } - function test8cb488571573f25d8b046809f97644211f7fc7359f9d8d7887ded5d26a52ce93() - { - $this->assertTrue(true); - fn() => ($test &= $test =& $test); - } - function test92cceab3435a292d0f2821b06dd4e848d74cadc681f1702c616f6cd518fe542e() - { - $this->assertTrue(true); - fn() => ($test &= $test += $test); - } - function test94cc0988208d852734c21482a242ff22d7a4facd65a7b5c3b7742c5c07bd3246() - { - $this->assertTrue(true); - fn() => ((bool) $test &= $test); - } - function test952554c5b88a80b1fe8927eaea5d8acb32124c951b659309b90cb1ed54f60c5f() - { - $this->assertTrue(true); - fn() => ($test &= ${$test}); - } - function test960ef887c5234a4014877377eba34d6a8a3af6d6456d7a3829de8bdd8bddbe03() - { - $this->assertTrue(true); - fn() => ($test >> $test &= $test); - } - function test9726c0990fad88ce765bcebd5ed5e13970e0739b1b84f6462ad126df7c273ad4() - { - $this->assertTrue(true); - fn() => ($test === $test &= $test); - } - function test9d474ae0c698969d61fbb7c93ace4705bdc46c05d939fa8e9bffd6803fe8b584() - { - $this->assertTrue(true); - fn() => ($test &= $test / $test); - } - function test9e7956c1224fc800216817bc6a3774e26523de901a45a2fc3d21de07779afad2() - { - $this->assertTrue(true); - fn() => ($test &= $test /= $test); - } - function testa3749580bb83f1d9deec6505d6b83708e648c9de97474e729eecae3685a36aa5() - { - $this->assertTrue(true); - fn() => ($test >= $test &= $test); - } - function testa4c6f03b90348fcd8669dc10f29a073e2a68a6eaf52737c635b958cf5d9b1327() - { - $this->assertTrue(true); - fn() => ($test &= ( $test)); - } - function testa7b96ffe122fc1a5cebc5a768b07397b35046fe651be04cde9077fa6cb98f1ba() - { - $this->assertTrue(true); - fn() => ($test &= $test !== $test); - } - function testa7cf69a71f5c87430a5d7f5132973f8eeeddcca3883a466805d9a4e51fc7b1d2() - { - $this->assertTrue(true); - fn() => ($test &= --$test); - } - function testa8e7c3557db09cdc97e21a1c7020ed85baadf94ced0d2443c89d8ce8ae23e709() - { - $this->assertTrue(true); - fn() => ($test &= -$test); - } - function testadd7621a507cf87640116227d7bbe3307428ed4d211a7577b50e8444151b090e() - { - $this->assertTrue(true); - fn() => ($test &= @$test); - } - function testb02f403da364770c7733ed2761b76cbf383bd6885680df0d96aa9527b33ac8cd() - { - $this->assertTrue(true); - fn() => ($test &= $test::$test); - } - function testb24bae5cfde9a543409e9bb2c4602d7615a247f02effa3b542d9e63ac1beae71() - { - $this->assertTrue(true); - fn() => ($test &= $test & $test); - } - function testb9f84bbd4918391273829e595f13805f7244502c1357d9583764f23b82490bfc() - { - $this->assertTrue(true); - fn() => ($test &= $test - $test); - } - function testbaf84b2191b1f0e8504ba7f964a8fe92977e9c23d62fae39e5ba5d39eba30834() - { - $this->assertTrue(true); - fn() => ($test &= $test--); - } - function testbc0eb8f4361c43861dbd9a326cf4df0d5857298249baed5b932e59caae3bd85a() - { - $this->assertTrue(true); - fn() => ($test &= $test -= $test); - } - function testbe2575ed0a510422b8621245036783bf1cd90ed222ae51d9e7d28637559f1484() - { - $this->assertTrue(true); - fn() => ($test &= $test ^ $test); - } - function testbef2fc6a46110480f166730248259093916f24c389a6a5cd2dbf8b26ed8272eb() - { - $this->assertTrue(true); - fn() => ($test + $test &= $test); - } - function testc33f627ce4ded365dd9fb1310987754d4a8030dab35891e0a7ba78ea8f0ad211() - { - $this->assertTrue(true); - fn() => ($test &= $test ?? $test); - } - function testc56c7bbeb5462ec0bf307eaf7de9ec6458697a3134f8ad15586d0a1113501998() - { - $this->assertTrue(true); - fn() => ($test &= $test **= $test); - } - function testc84c5aa56a81edcdcbf31cf86c55ca4f1368d781105c49f8e9d2b4c7692cdfe8() - { - $this->assertTrue(true); - fn() => ($test - $test &= $test); - } - function testcb3a5d5b4c90045ca035f1a7065e6810ef2e46fc80423658ce761dde1d12e79b() - { - $this->assertTrue(true); - fn() => ($test &= $test++); - } - function testcca548f5c51789728d705349b549dfc10669b91b5d8c6924a297cb450c105c65() - { - $this->assertTrue(true); - fn() => ($test &= $test . $test); - } - function testcd0a47f3c649185c009fe8342a8cc3d50ace1f699e48f3d379a5fac015d9c07b() - { - $this->assertTrue(true); - fn() => ($test &= $test->{$test}); - } - function testcde7e8aaac95776d697e97c57a22a5e7c1b4d1603f2bc48be0f05d74a1f49bba() - { - $this->assertTrue(true); - fn() => ($test &= $test != $test); - } - function testcf17cb4a9afad601fe210497eedd073135b4c0953720ee281641ac11b60f9eb1() - { - $this->assertTrue(true); - fn() => ($test &= $test); - } - function testd1290575bad938e0b20dd4689e02208d846d1f777f262249312be138e50e145c() - { - $this->assertTrue(true); - fn() => ($test &= isset($test)); - } - function testd36bd8cba7c4441dab7f497a35ca1c629fbf8d47352b5524a930ee70619fe539() - { - $this->assertTrue(true); - fn() => ($test &= $test && $test); - } - function testd4471fd103754666e5b57fd78d33b579da2962baf3171e0a9e8ed6daaf61f526() - { - $this->assertTrue(true); - fn() => ($test &= match ($test) { - }); - } - function testd57af21e73fc4d9fe5dbe8a4b7bc23d3b18841b84f07ca85bdc199ae0cb909c6() - { - $this->assertTrue(true); - fn() => ($test &= $test .= $test); - } - function testd8975db7daae962c17d371c4c6f0067b68b2c013d5d6cff2b9830ee5dfe6e84d() - { - $this->assertTrue(true); - fn() => ($test <= $test &= $test); - } - function testda1eeda089be4636dfd6fa0dbd18b13e74dcfd2123e5a52523d4e8efdd28cc6e() - { - $this->assertTrue(true); - fn() => ($test && $test &= $test); - } - function testda9d6954834437c3f04b2027a72cdd137974e543c791e83fc4abf57472e1a29b() - { - $this->assertTrue(true); - fn() => ($test &= $test |= $test); - } - function teste43e52efc57105c625090fa298bd67c5ec9ac92eeefe6cbe4a9d7538d4f18202() - { - $this->assertTrue(true); - fn() => ($test &= new $test()); - } - function teste66bb506bc80a7d36a098d4f3fe8137c16e4efe1eac2051f49d088aa5f18d258() - { - $this->assertTrue(true); - fn() => ((object) $test &= $test); - } - function teste7c237f92d2dc082509ec457f688aac166499ec18fdee5a90581bb11c54d7cd1() - { - $this->assertTrue(true); - fn() => ($test &= (print $test)); - } - function teste8913fd3b29c4d3eb0b114b75fc5feae4585d4ad74bd30a18922496bfbe0df90() - { - $this->assertTrue(true); - fn() => ($test &= $test % $test); - } - function teste8cc90629ea7de1ff71fff5828990a9e9d16a72948ad0dcf0aa4036fa6d8ebb0() - { - $this->assertTrue(true); - fn() => ($test &= empty($test)); - } - function testea66b87eacd430da24255e685ccc0d73c48e25437b57ffce638ae2e98feb1834() - { - $this->assertTrue(true); - fn() => ($test &= ($test xor $test)); - } - function testebf6e83d39fdfef05ac95423ac752c5c41b6e78d88e223c002cb289f41b02e16() - { - $this->assertTrue(true); - fn() => ($test == $test &= $test); - } - function testee82e4610bceb5814b4af4c0ed45cbfc7bdf78954cd26317074b03306fd59a9f() - { - $this->assertTrue(true); - fn() => ($test &= $test = $test); - } - function testf1c39f920724e3a1cb2421a54b37cac97635bf1d757a92781cf73b5b5b932da5() - { - $this->assertTrue(true); - fn() => ($test &= $test > $test); - } - function testf32849c44d4b04a14581235fcc1cac12fe55fcce93805f1d3f6368d1476feccb() - { - $this->assertTrue(true); - fn() => ($test &= $test == $test); - } - function testf872d5704613f1204746224f5da08a3a046db8c36ff4c1ef88dd3155701cf07a() - { - $this->assertTrue(true); - fn() => ($test * $test &= $test); - } - function testf96c7f960344fbdce169ab60edfe4e3e7ca553a1deccb0d419f1e25bdf40dde5() - { - $this->assertTrue(true); - fn() => ($test &= eval($test)); - } - function testfa1e51d9f1539ffc0cf4aa46db61863a63d6aa5b15de7c158bf879e611573a8c() - { - $this->assertTrue(true); - fn() => ($test << $test &= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test.php b/testsGenerated/Target/Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test.php deleted file mode 100644 index 6a75eb62a..000000000 --- a/testsGenerated/Target/Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test extends TestCase -{ - function test011348359b084394dbab0bb46b19e43aabde2bb807c2ebce78342bad49e82bad() - { - $this->assertTrue(true); - fn() => (isset(($test instanceof $test)->{$test})); - } - function test028220aa2d8e7df471d566cd9201c6ce05af7ae9f7ba7a10f0c7d92df43664b0() - { - $this->assertTrue(true); - fn() => (isset((match ($test) { - })->{$test})); - } - function test06e9127e2861249cf079e76dfcdc71e0fe1c782d344f5dcb160dc5142d060f64() - { - $this->assertTrue(true); - fn() => ($test--)->{$test}; - } - function test07271d4334079691cc4145b1fea59ec0c0222fff51cde259a98d165a7702cab1() - { - $this->assertTrue(true); - fn() => ($test | $test)->{$test}; - } - function test09abd75a02616a4e52248116dcb9549c1bbfcf4bd389c389f37cb54732a49cb4() - { - $this->assertTrue(true); - fn() => $test::$test()->{$test}; - } - function test09d7c56d5d05674ee8c5f945cb4c51221b04da17f9814f0de8ffdf90647e1411() - { - $this->assertTrue(true); - fn() => (isset(($test and $test)->{$test})); - } - function test0a24be8317f3fb914524b29ac089fb6229747d888959410d30bae65ecb977dd6() - { - $this->assertTrue(true); - fn() => (isset($test))->{$test}; - } - function test0fca71430b906bceb35d1c7a439175d3bc5ba1ad581e5ef79012e2b11baaea36() - { - $this->assertTrue(true); - fn() => (throw $test)->{$test}; - } - function test11528f5507845dc7a54951c941512f4c5b3c5c890ad4349a1d385af3f1aebb38() - { - $this->assertTrue(true); - fn() => (``)->{$test}; - } - function test1332892e8ff835367ad0010faf3d1a88431e48017141640004028028137f8112() - { - $this->assertTrue(true); - fn() => ($test == $test)->{$test}; - } - function test18c5c3b0e914f566f9b4ccc71507eca5aeb0d1b866f04d5b65d8eb5d4fd77623() - { - $this->assertTrue(true); - fn() => (new $test())->{$test}; - } - function test21b8a09ee389811939e3e1398b464df93f7565a8053aa43d024482c31d2ba68e() - { - $this->assertTrue(true); - fn() => (isset(($test ?? $test)->{$test})); - } - function test2358905de929a14b7d1cf207b94f5938ed1e9733b58e3311840acc9db1b1dbac() - { - $this->assertTrue(true); - fn() => (isset(($test || $test)->{$test})); - } - function test23df65edc330d7cf832fd6249f91b967d904643695ada27796d4c2230429a3f5() - { - $this->assertTrue(true); - fn() => ($test >>= $test)->{$test}; - } - function test26dc17467d459e1796cd865ed2ce53780c3e9ea0d0f50922e8cd59c5109094b8() - { - $this->assertTrue(true); - fn() => ($test / $test)->{$test}; - } - function test2ac8b76d8f6e1ca49f988f7b53a4562b87d19aed5ac8d6effccccc23317bc90f() - { - $this->assertTrue(true); - fn() => (isset(($test %= $test)->{$test})); - } - function test2bc79246197090fb0e5c0ad440dbf84676b2dad19673887fb6e0db417749f9bb() - { - $this->assertTrue(true); - fn() => (isset(($test or $test)->{$test})); - } - function test2bfe4ec59347e409840908342cecd3435fd2abf3fb3cce84003d7f27a76bedaf() - { - $this->assertTrue(true); - fn() => (--$test)->{$test}; - } - function test3032b1c5de553059490de3ef3f86f0ab24691b70c7e3071ed900d969790c6273() - { - $this->assertTrue(true); - fn() => (isset((--$test)->{$test})); - } - function test304542da18e627c50c400c47c75021bd4cd320a838384f65b21c6dc67bb12a3e() - { - $this->assertTrue(true); - fn() => (yield from $test)->{$test}; - } - function test34f89115f33d3bd000e722b4e214dd64becec3968a36568dd82dc47c0736e57b() - { - $this->assertTrue(true); - fn() => (isset(((yield $test => $test))->{$test})); - } - function test3679fa6bb6d8b2e9cc22b4b7eceba37f4d8537530bd83b9717f70f96e886e51b() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}->{$test})); - } - function test374809073e809694f0f2bb72e292ea1ea4ca7bb1ecb0b21a06a3d59b068965fc() - { - $this->assertTrue(true); - fn() => (isset(($test *= $test)->{$test})); - } - function test3a2b029829d2fb45829a2ae3d739e59c6030e1c5b65004914ed869c37ee422e8() - { - $this->assertTrue(true); - fn() => (+$test)->{$test}; - } - function test3bdb3a5163708608dd57b16755d72550aae350901feb30d563fa32f59f18f7db() - { - $this->assertTrue(true); - fn() => (isset((+$test)->{$test})); - } - function test3d1d75caf6c735c11e2c1bbd0d6751032d86c03f97b863a8fc64a0603e564a4c() - { - $this->assertTrue(true); - fn() => ($test . $test)->{$test}; - } - function test3e6bdf1e0894e7ee8b7d780d6fee49138438520c796c94b755961834156dee17() - { - $this->assertTrue(true); - fn() => (isset($test::${$test}->{$test})); - } - function test3f9f807c9766c896a468dbb97f2b8af8d0c1ff8c7e6c84d0259544c15acb5c2e() - { - $this->assertTrue(true); - fn() => ($test *= $test)->{$test}; - } - function test3fd369dc7676eaeb2b1a4e2baa392de81f2d2aecc2604c541049ac03f43b2477() - { - $this->assertTrue(true); - fn() => (isset(($test > $test)->{$test})); - } - function test4246451d4106f5af58f79a3d1db91c96d012ae92b7f9346a334080fb44c0aa8e() - { - $this->assertTrue(true); - fn() => (isset(${$test}->{$test})); - } - function test4263632c411e192b8b85a3558a65c1269c3b2dd516b4d1d080acd00b8ca50744() - { - $this->assertTrue(true); - fn() => ($test ??= $test)->{$test}; - } - function test461e374cc10676328deda339f5ad2eac6a35a2e4c10eabda1a473ab5a48fc3fe() - { - $this->assertTrue(true); - fn() => (isset(($test ? $test : $test)->{$test})); - } - function test46b5ba66e3e652d5c74eeeb85001c4181aa3835a9a5310620af28d86baf83d25() - { - $this->assertTrue(true); - fn() => (isset($test?->{$test}()->{$test})); - } - function test49394e7f6f140a17c05b4810435f46fd4aa6231c5d5ed65c3ebc086cb2f404c6() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}->{$test})); - } - function test4e648c2b21c288556d791fc3db07c23f9f73b0f0a89e86a8b74a73b7af7124d5() - { - $this->assertTrue(true); - fn() => (isset((throw $test)->{$test})); - } - function test55dfdce7d5e785fb97272764847afc137075d19fe55f91f590e5f14190fcaa38() - { - $this->assertTrue(true); - fn() => (isset(($test -= $test)->{$test})); - } - function test5781c6a95e756b605c7671fe4e10bdfb6665ae5a4fd8cfbe2785454a7d2c3412() - { - $this->assertTrue(true); - fn() => (match ($test) { - })->{$test}; - } - function test57c995e0de61289c75a4b120dd5c669a4f9063fdd7934066afcf502004467c63() - { - $this->assertTrue(true); - fn() => (isset(($test >>= $test)->{$test})); - } - function test57e360c7faa93a47ac7ca3c7fd8eede0a6fdd29d2adac6a88d73dbc226928969() - { - $this->assertTrue(true); - fn() => ($test and $test)->{$test}; - } - function test5805a2cc5d590fb9ee4a42031484d84b66c53ef3fe2a16ca3e3dbc0e9e924f10() - { - $this->assertTrue(true); - fn() => $test->{$test}->{$test}; - } - function test59c2b00683963f43bf0ea30b4e343f3bc0528ae1dbeb4cdc2f19e86f8e1d2404() - { - $this->assertTrue(true); - fn() => (isset(($test === $test)->{$test})); - } - function test5ae4e7403ebcc9a45c667ec1bdc00a7c6f3c1cef54425feeb50b5d0710a2f0ac() - { - $this->assertTrue(true); - fn() => $test::${$test}->{$test}; - } - function test5b20e8258d6b8c540b9b527187aa59acbb3b36ae3848111153888bfa824c71c9() - { - $this->assertTrue(true); - fn() => (isset(($test <<= $test)->{$test})); - } - function test5f5a3dc8a53acc67e00b4b7d104c4435ea00bbe46c4d30074c200fcb6ba07f79() - { - $this->assertTrue(true); - fn() => ($test &= $test)->{$test}; - } - function test61b71b6c8e8f9771ba33b68ab25bdafdec5762e785333c8171fa4f027d450d76() - { - $this->assertTrue(true); - fn() => (isset(($test /= $test)->{$test})); - } - function test6484ea585829e7217716fa7aea7e123c2e3b3f993a721cdbb47c7c25c2c67690() - { - $this->assertTrue(true); - fn() => (isset(($test ^ $test)->{$test})); - } - function test6894e290bd512d1f6a3dfb500e62dcd29f865779df84a90581fd1ec3989a7d6f() - { - $this->assertTrue(true); - fn() => (-$test)->{$test}; - } - function test6b9cb64792767da99c152f91dc7bd57ab87bf5beea89a481827cd216d65bca5a() - { - $this->assertTrue(true); - fn() => (isset((++$test)->{$test})); - } - function test6c286f86fd99e36acf92f9c14c938de3b9cdf56819b5647e0a57088d976a4ce0() - { - $this->assertTrue(true); - fn() => (isset($test->{$test}()->{$test})); - } - function test6cb9a4ff8191addd3a8e6ea466cb081315df6ea51b949005d7e3c093e3cebbe4() - { - $this->assertTrue(true); - fn() => (isset(($test &= $test)->{$test})); - } - function test6f0ebb05eaf7407d0f6cfe6b65e0320b456dbceb693704099083850a6f79b72f() - { - $this->assertTrue(true); - fn() => (isset(($test--)->{$test})); - } - function test71b6ce749e4f1bb14b6834ead46af117297db1b3c6308e0b151295f656cb2121() - { - $this->assertTrue(true); - fn() => ($test /= $test)->{$test}; - } - function test78508d46774980e318192d6a598cb8b0a3e419ad98a8f1bd7792ce743004ee18() - { - $this->assertTrue(true); - fn() => ($test <<= $test)->{$test}; - } - function test7948312d6cdbee21a333bba52b077726567ceaee5b7370d7387afa8795539005() - { - $this->assertTrue(true); - fn() => ($test ^= $test)->{$test}; - } - function test7a0265df12e723eb7bab325df9c681a70994442b3485494c0f8885f1b8e6519f() - { - $this->assertTrue(true); - fn() => (isset(($test && $test)->{$test})); - } - function test7c2d913fb3a33604dfd8a94ee98a9af091a743925b72c22443ccccbcfc50f6d8() - { - $this->assertTrue(true); - fn() => (isset((-$test)->{$test})); - } - function test80223ba9e78f60375f4b18ba4424f8b09629e1c0ac3b6257649472bf44a5edb8() - { - $this->assertTrue(true); - fn() => ${$test}->{$test}; - } - function test8371153426fe03caf30a991f1b219dfd3066aa2865ac21d2cd69ded49369b7f2() - { - $this->assertTrue(true); - fn() => ($test === $test)->{$test}; - } - function test842d2602c85802d9f4b748adca62a97773b45d68ea423c9c5deac324afee85df() - { - $this->assertTrue(true); - fn() => ($test++)->{$test}; - } - function test86e74860dc66e9b37bba57e13b68dc516c4352466efff0b9f6325244add4973b() - { - $this->assertTrue(true); - fn() => (isset(($test++)->{$test})); - } - function test87cf2479a67015d06b20e3291bb42c93c67842b8858cddb352a78ca2076e0c78() - { - $this->assertTrue(true); - fn() => (isset(($test += $test)->{$test})); - } - function test88b561e4736bb5aa755e5c6225684932c0dca14e64631744695c1e68fda7ddaf() - { - $this->assertTrue(true); - fn() => ($test %= $test)->{$test}; - } - function test8a37cbe7d3fff95f850cd898206e8dda4a6b0f2836f5006cb32cbc8d88cb156b() - { - $this->assertTrue(true); - fn() => $test?->{$test}()->{$test}; - } - function test8c5c63e1adc6c766f865edf82bc1a3fb97f3596f9d10463bbe52576eb9870083() - { - $this->assertTrue(true); - fn() => (isset((new $test())->{$test})); - } - function test8d430ee040c5488988ed2d8f4e9606d236cde66e977c03fd980a07fa2e712963() - { - $this->assertTrue(true); - fn() => (isset(($test / $test)->{$test})); - } - function test8dd2b74d57968b1ee8777462a763f164d246916230c199b41a9cb6cb046da16c() - { - $this->assertTrue(true); - fn() => ($test |= $test)->{$test}; - } - function test95a00d19f6f4bfef8a62bf4fe92e1b41e84cf85a7cfbc64bf8b652831372b339() - { - $this->assertTrue(true); - fn() => $test->{$test}()->{$test}; - } - function test9c654ec042adf5ba6f28efa04e56611f2b9144310c5a50a138604974e16f8cf1() - { - $this->assertTrue(true); - fn() => $test?->{$test}->{$test}; - } - function test9eebf6a2ce3014697071d566057778c58478442683c3647a5a99afae3450f890() - { - $this->assertTrue(true); - fn() => ((yield $test => $test))->{$test}; - } - function testa20e7706f212eb8dfd7fd538e8771af2418e43d9c368cf0b49a3f73a33edbbb8() - { - $this->assertTrue(true); - fn() => (isset(($test **= $test)->{$test})); - } - function testa5429d4b0015e8420add6b329f4971beb02e21efd2b0181dbea664d6b98246bc() - { - $this->assertTrue(true); - fn() => ($test & $test)->{$test}; - } - function testa9a6294ee0ef9787e0946bac1d86c805512ddfe3a9aade0bdf9b4c22cb4d73dd() - { - $this->assertTrue(true); - fn() => ($test || $test)->{$test}; - } - function testab02c6cd8481741580c71ef59a1db4df26f0c2617ca88f7f67730a42ef6e0f02() - { - $this->assertTrue(true); - fn() => ($test **= $test)->{$test}; - } - function testad9db00212da20f503ce0d77a9998505120df8c174936fa59f851344b3ff5724() - { - $this->assertTrue(true); - fn() => ($test xor $test)->{$test}; - } - function testadd7d08b1cf0bed8684d39ace4d46a4b8fc537cee1f32b69149b0573e918bd04() - { - $this->assertTrue(true); - fn() => ($test ?? $test)->{$test}; - } - function testafe1c89fafa6e5a88b3af2d44ed48a58c08956f11159881f7530c69e70f1d4f2() - { - $this->assertTrue(true); - fn() => (isset((yield from $test)->{$test})); - } - function testb2db0d44ac9cd5c2517437cd1d515b4dcfdfc544f9975e2d0e865ac022f8b83c() - { - $this->assertTrue(true); - fn() => (isset(($test | $test)->{$test})); - } - function testb458565efbddcf7858829c61acc68ee6aee73214e942619eacb6fd416132ac1f() - { - $this->assertTrue(true); - fn() => ($test ? $test : $test)->{$test}; - } - function testb47dc2e0e435bb3ee067e8cab7afb27dbbf0ffc9f44c135f3e33c68bb6b5359f() - { - $this->assertTrue(true); - fn() => ($test -= $test)->{$test}; - } - function testb7061c6d3e326ff34527ca676c3e2180d1703a091b646e564633bb3624b9e766() - { - $this->assertTrue(true); - fn() => ($test > $test)->{$test}; - } - function testb801870d31b6b5bd58d0ea03016c4e422274175fce44bbf36f45d706b5ae14f4() - { - $this->assertTrue(true); - fn() => (isset(($test ^= $test)->{$test})); - } - function testbb2924a9a2fec94eeca0045d59e5720aa4a42f31f91271b3e61b309dcb8a4cf5() - { - $this->assertTrue(true); - fn() => (isset(($test >= $test)->{$test})); - } - function testbd6fc91a51e57c4800d4d99bbfba98485071d1c2b586af977a4a6379c324dfb8() - { - $this->assertTrue(true); - fn() => (isset(($test & $test)->{$test})); - } - function testbf87bf88fd1c83be612b831e44ac4544c3196df82ef1ad9bd7d786e0fb236ef0() - { - $this->assertTrue(true); - fn() => (++$test)->{$test}; - } - function testc23774697369bc2dbb670b70751945cff1528e54dedc05aefc141f7259fea5a2() - { - $this->assertTrue(true); - fn() => (isset((print $test)->{$test})); - } - function testc2e53ad457a94058315e727cd4299bfde68c74b1ad1fce0288c09e54a8849fad() - { - $this->assertTrue(true); - fn() => (isset(($test |= $test)->{$test})); - } - function testda53bbab71cef411ae726b633c3542cf2e80caa755ddef508b851d1063ea2b66() - { - $this->assertTrue(true); - fn() => (isset(($test ??= $test)->{$test})); - } - function testdb8f42a390520a2220ae245da6d0c708493f0ed18af464e5eef693be7f3f1435() - { - $this->assertTrue(true); - fn() => (isset(($test . $test)->{$test})); - } - function testdca48df55497d409925b7a1a7616e3f4e9bbf87500ba7788d6e28ad42d379e96() - { - $this->assertTrue(true); - fn() => (isset(($test == $test)->{$test})); - } - function teste244fecd8c1eb1db4898eb42f7878d22129d0a92db59bd1c899a774c87c2c163() - { - $this->assertTrue(true); - fn() => (print $test)->{$test}; - } - function teste2a5ff46657e34064e6e4ea0cb334e2b2faba9929e6fa6d720800a2d0ff6e34a() - { - $this->assertTrue(true); - fn() => ($test += $test)->{$test}; - } - function teste7f33ff839ce455ffdc28e14964cd2798e709329d2deb6e9aecc141935be6d77() - { - $this->assertTrue(true); - fn() => (isset((isset($test))->{$test})); - } - function testea5bfec46c3beb2561a6942df6ec1c7d97143c06fb0fb396314f9f0fe6b805b2() - { - $this->assertTrue(true); - fn() => ($test .= $test)->{$test}; - } - function testea62f1cb5943c1d78dd51ad99ac7d1676a8a384b57261f42ef2d6672ce0ddd67() - { - $this->assertTrue(true); - fn() => (isset((``)->{$test})); - } - function testecd1815fe3a63f25293a89471a2254ca858c7c71633538845eea39a1656cb58b() - { - $this->assertTrue(true); - fn() => ($test && $test)->{$test}; - } - function testf1de1f092db7108cd09554578963b22922ef3fe9036b49c08b7502fc4659bf1b() - { - $this->assertTrue(true); - fn() => (isset($test::$test()->{$test})); - } - function testf57de8d06a20a03b4591e19fa34643f1a62465d701026296f023072b8575c569() - { - $this->assertTrue(true); - fn() => ($test or $test)->{$test}; - } - function testf6c40e4e01513ce4678bcbd70cf1d0f61dbc32ad55522d144ae69ac22d144aa3() - { - $this->assertTrue(true); - fn() => ($test ^ $test)->{$test}; - } - function testf6ea3ad6c6163905442755402ee8d822f0c91b841af43da3e0efb6d717c56d6a() - { - $this->assertTrue(true); - fn() => ($test >= $test)->{$test}; - } - function testfc4db925fba8ae3fb5ccbb7b0374d48f9f1bfe5fb1f56daf3ac335815957e79c() - { - $this->assertTrue(true); - fn() => (isset(($test .= $test)->{$test})); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test.php b/testsGenerated/Target/Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test.php deleted file mode 100644 index 29e2ca867..000000000 --- a/testsGenerated/Target/Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test extends TestCase -{ - function test006a431c5d7662cc486bf24a21b2ec62b68b7bd4fdf40537b8bc20b7af6dcfe2() - { - $this->assertTrue(true); - fn() => (~++$test); - } - function test01531d6c7d82e9f8e48f1c1756151cd13b63841c39bde88ead9775c04e3f5a1f() - { - $this->assertTrue(true); - fn() => (~($test - $test)); - } - function test01fca30a44d2a8d83a968ed11b65d3dc0e3dc5bad1168cf0e5f9a9f74ee1810e() - { - $this->assertTrue(true); - fn() => ($test =& $test << $test); - } - function test027cbcc5ccba354ca4a2c608f7ccc5f1243b87f2bb9d3e06bb964d05526d48b6() - { - $this->assertTrue(true); - fn() => (~($test / $test)); - } - function test05d59903a4b4efd483f84a631dbbb32b6a64bfcac8aef4a9d2001b7b723225d7() - { - $this->assertTrue(true); - fn() => (~($test << $test)); - } - function test07716a850b91fc45e491b8855a34a1314f67edd348259b49d29a8af979354d03() - { - $this->assertTrue(true); - fn() => (~($test + $test)); - } - function test08d91014d8a38aa3aee1b7f4a5e3d85bf9c0db87ab30ba32ace044c6dda5d467() - { - $this->assertTrue(true); - fn() => (~(double) $test); - } - function test0af87c6650942876029f36fbdec3d16465b4d70e9f8d8b9e02f019b4e8958c66() - { - $this->assertTrue(true); - fn() => (~($test == $test)); - } - function test11a32b43371ea445b81ea00f613781f24daa4fe859821ef0f5f7852dc1122fe8() - { - $this->assertTrue(true); - fn() => (~__DIR__); - } - function test11f389c21a909c10f6f326e02e067abce6256a5def41a57d164e249d1f7a0a92() - { - $this->assertTrue(true); - fn() => (~match ($test) { - }); - } - function test13641f2504ba6f6e6f17fa7ce2c993e224c3c53cdd2e84c28c785e9706aff825() - { - $this->assertTrue(true); - fn() => (~"{$test}"); - } - function test14ee5e477932a1b962c2c328d4acf1dc07236db79552e6d44274e72c2d77f58f() - { - $this->assertTrue(true); - fn() => (~$test::$test); - } - function test152dbb0f9c4bd6615a4c9fccdf0cbbf624a095e1e0a844937fe2919eddc3fc29() - { - $this->assertTrue(true); - fn() => (~($test or $test)); - } - function test159eb59a2ee6a2f7ac039c3d51428311eb7e4cf6117093fdf4cb60004eff913f() - { - $this->assertTrue(true); - fn() => (~$test[$test]); - } - function test1766e16df12f47a1a148b97124b23c83d17f5ce1e0b702efc0c953be857c5772() - { - $this->assertTrue(true); - fn() => (~($test and $test)); - } - function test1be381ff60f30ef9a4ca2734e0b7af00671d929a4974decbfb9c2772afe64691() - { - $this->assertTrue(true); - fn() => (~(!$test)); - } - function test22895382f61a70f53abff5c6df572f348799c40af437d595695ad737618f1a2d() - { - $this->assertTrue(true); - fn() => (~$test ** $test); - } - function test2657c865e65151a7afb18283b564b00aa9df5a157e32f67af30d631d75553706() - { - $this->assertTrue(true); - fn() => (~($test += $test)); - } - function test26bbc76b36f847f04bb87f1d9646a2c01df33601fac6ccbd6505c0100c7eef65() - { - $this->assertTrue(true); - fn() => (~($test >= $test)); - } - function test2731c891fec4a495cd9f143823f19673ff8c4890b8886c425d10ed0015fd37b5() - { - $this->assertTrue(true); - fn() => (~($test |= $test)); - } - function test2a4f727b2474fa982ea45953aa9c34219a6329a2143b650dced16b3eaef74e33() - { - $this->assertTrue(true); - fn() => (~($test | $test)); - } - function test303c1fcae196cb7b7d10d3b4237468531a7805eb5f98dc9ed8b0fd1a122046f1() - { - $this->assertTrue(true); - fn() => ($test =& $test !== $test); - } - function test328b6c62069c43023bbaca9c5841dd3bb5ba505e1c29147e2b07d1487f4b91f6() - { - $this->assertTrue(true); - fn() => (~-$test); - } - function test32b590da078667cbbf33186661e122dfc739da34267d8ab05ac75864a91110fc() - { - $this->assertTrue(true); - fn() => ($test =& $test <=> $test); - } - function test33cc9268782ce44fd6c29c4ead740971f38ad078e142e21d39e3edf34b519cc7() - { - $this->assertTrue(true); - fn() => (~($test * $test)); - } - function test34b188ffc952ee9fed186ad1d854c9d3d74a2bf25106e4fb179bcaa0b389ce2d() - { - $this->assertTrue(true); - fn() => (~isset($test)); - } - function test35c5d51018cbe37dfcd33e62a58bda10d6defef8244edfbc6f735aede4fe5785() - { - $this->assertTrue(true); - fn() => (~($test %= $test)); - } - function test37440351bb0631f6da9ad6c1aeff7818151863bb9422013aafa46da199a8e5b0() - { - $this->assertTrue(true); - fn() => (~($test . $test)); - } - function test379394621d35e11bbf3c54106fb94769c81609a102e82a5f68bff7c4c63701ba() - { - $this->assertTrue(true); - fn() => (~throw $test); - } - function test3b2e389e3c4aafa11bc919602211abee7ce30dc1384d45f0a16f8a9095141744() - { - $this->assertTrue(true); - fn() => ($test =& $test ** $test); - } - function test3b94e4d59d2b80205415804f69cd07fa766a129252336f87397d7c1a9015d9ee() - { - $this->assertTrue(true); - fn() => (~0); - } - function test3caec2bcc87952ad78dec72ce524c49c38ef56946c657148f77d6d2f6dc20beb() - { - $this->assertTrue(true); - fn() => (~$test--); - } - function test3f40d7ac8b89c2c261696a15f4220dd49fa53b6b727e028883454a4d62a1ce62() - { - $this->assertTrue(true); - fn() => (~($test || $test)); - } - function test3fcf7ee0f6e318456994bd388d19f7be64180eae66b6f8f440b2e70462fe4b92() - { - $this->assertTrue(true); - fn() => (~($test < $test)); - } - function test40052bd85825303776f2e2795773e987456acb13a0f8357ea7321e0bbebe189d() - { - $this->assertTrue(true); - fn() => (~$test()); - } - function test480a20f5c468a594e9fdde3ec35d570ed04d1b118f010157b6f4291f25c96f6a() - { - $this->assertTrue(true); - fn() => (~($test = $test)); - } - function test486b8e96cdf4c9ed38d8bcca8d42620784621f9f80f10ca4335349bfb8ab46ef() - { - $this->assertTrue(true); - fn() => (~empty($test)); - } - function test48ce32aa6ab3c4ba44dbd062da10a0388e36d50942a0833a30ce243ad662991b() - { - $this->assertTrue(true); - fn() => (~(yield $test => $test)); - } - function test4ca914124ad540cb0d8d4f0b574d1393b1ead44577bf06badd318be5149ff646() - { - $this->assertTrue(true); - fn() => (~(array) $test); - } - function test50d6c46a2c88d843f76d6574706e940c92277c0175121cc940a31b67a70a1a24() - { - $this->assertTrue(true); - fn() => (~(int) $test); - } - function test53d3584069f83c159d84c6fea1ddcc72a9fbc2d1cbe0d76ad15c77556c28e25a() - { - $this->assertTrue(true); - fn() => (~function () { - }); - } - function test588d553f601204631cc744a6c7c70d932e44403bb0187827cfeb2cf0560b6669() - { - $this->assertTrue(true); - fn() => (~~$test); - } - function test58d374117185d6107f4ccb6e3295029ebc098966a09c42616113dd0d5217946c() - { - $this->assertTrue(true); - fn() => (~``); - } - function test5fc03db23580e39869c319c14dbbaa2b80c94221ac3b56fdd19bb62d05f2a359() - { - $this->assertTrue(true); - fn() => (~($test ^ $test)); - } - function test63e95a3c7e3de91bbde0571d99a335d4dad7a75c5cf8198c10dff42aa4a384f8() - { - $this->assertTrue(true); - fn() => (~($test xor $test)); - } - function test670d0c9b9e813e58947be797d2d955fecf449b8fb9b105848d42f225225db957() - { - $this->assertTrue(true); - fn() => (~(print $test)); - } - function test678c1adc27ebefbc6a23a8c91a2cf2d8252b1d74afa23281dcf613c91e3e23cf() - { - $this->assertTrue(true); - fn() => (~(bool) $test); - } - function test6ac4c3a1bfdba7044fb4e25ac67a9b53ecea8569a27f719b7d83fd2274deab0c() - { - $this->assertTrue(true); - fn() => (~$test++); - } - function test7076f0a24e4f98847c38f3caa131b172464002dcfbfc8fab026674379ffc8ac7() - { - $this->assertTrue(true); - fn() => ($test =& $test >> $test); - } - function test7d4ef6d350a78efff360afd40645222dfc5170f6b33bea0aa41fc68881a25c30() - { - $this->assertTrue(true); - fn() => (~--$test); - } - function test7e5a62b5536d826623abb5f6b3a0fb3e55eaf7f893b929eb1a32b29378b2012b() - { - $this->assertTrue(true); - fn() => (~($test <= $test)); - } - function test81040d66b86fde3045d5c796ef1dd385fea83d7362c3c5d36a9652c76aeedbc3() - { - $this->assertTrue(true); - fn() => (~($test <=> $test)); - } - function test81865b340997c20ae845e19daeb7b89ed96b6d4ebfd169a7744f003905628bef() - { - $this->assertTrue(true); - fn() => (~($test > $test)); - } - function test84695a446dbb200afd86f5218802cf2521b09d65f85e2ba48673e9a79e39a2a0() - { - $this->assertTrue(true); - fn() => ($test =& $test <= $test); - } - function test8bd2569093bc98277500d76c6b8b8a29447114c4337d55f9ce1c816f3975e3b4() - { - $this->assertTrue(true); - fn() => (~($test =& $test)); - } - function test8cc3df2079d01be2cf16d7efa96b63089a345dabf8842f6dc0896ae98499d1d5() - { - $this->assertTrue(true); - fn() => (~$test->{$test}); - } - function test8eb0cb2227082224fe5e5cc493eb224b0be4624c33f691590c4cd3e18220040e() - { - $this->assertTrue(true); - fn() => (~($test .= $test)); - } - function test8eca6de43c15f3ebbf937895c9ed155962b942ee0b54adbe1182c5257943c630() - { - $this->assertTrue(true); - fn() => (~($test -= $test)); - } - function test907cabcd90c81f9e2f22184a326ce89a6cc572f2311c2b6835d500fcb6705a0e() - { - $this->assertTrue(true); - fn() => (~($test != $test)); - } - function test9b8b2a599a94741c8faacd7fd4ee9fbc2c03cd981eaf6bb9a85974166dfee14d() - { - $this->assertTrue(true); - fn() => (~($test &= $test)); - } - function testa373ef2b849fdcc2fb57b49411e7bddc27f00aee5d453a301258d502b8925482() - { - $this->assertTrue(true); - fn() => (~$test?->{$test}); - } - function testa571a2c3e33e31b01a77452d52484224ad42c2c706119a091882c476138ac6db() - { - $this->assertTrue(true); - fn() => (~'test'); - } - function testa59fd07a7de30a68110be296dfa2ca8945f2d5388864cc55f2debc31af161483() - { - $this->assertTrue(true); - fn() => (~($test >>= $test)); - } - function testa7f28dddcc9541ebc07a35b41c6a0451281ea7b164ff41fb1123446b0277a06a() - { - $this->assertTrue(true); - fn() => (~+$test); - } - function testaa363184fc50c20186cbc9a2ac29abc56a6af1b26e08bb4fafce2f40a9b62b44() - { - $this->assertTrue(true); - fn() => (~clone $test); - } - function testabd97c194dbf6906fbcb7081ec74781298e992a704da3fbf4cc36339a00e1dc9() - { - $this->assertTrue(true); - fn() => (~0.0); - } - function testac3d4ecb843222f1624fb7dfab9bbff5ed1ec1174d694a103e75fb33fd821435() - { - $this->assertTrue(true); - fn() => (~($test **= $test)); - } - function testad48464307a86f5f84a5f7e612f42b8773dc0295cd8936a73810a4e27b12ec29() - { - $this->assertTrue(true); - fn() => (~$test?->{$test}()); - } - function testb2d255651178a0c5659ccb8ec8c8c245733d09c4a5fb520b56ef62415154a2b3() - { - $this->assertTrue(true); - fn() => (~@$test); - } - function testb305c8567c20be8fd0c183ce878ef8ab47fe0811fa4484832c3fcc1ae163a83a() - { - $this->assertTrue(true); - fn() => (~new $test()); - } - function testb3cfbf4e5333caac4838320056055b652a0271426f0d30002ba63118fda10a3c() - { - $this->assertTrue(true); - fn() => (~($test ??= $test)); - } - function testb9b64688614b16c8c2fb36fb69fa64aec52cb1069ce22b67d6b570a64cad5e43() - { - $this->assertTrue(true); - fn() => (~__CLASS__); - } - function testc0473203f044678c768bf3740625df865aee146b5f7e40b817a41fad0bf26f84() - { - $this->assertTrue(true); - fn() => (~__FUNCTION__); - } - function testc5847b9cac56226fa048166f07e3bf5d83dceef7594866c8af594230f3ef470a() - { - $this->assertTrue(true); - fn() => ($test =& $test < $test); - } - function testcec0712ed0e7422ff47b947b4eba83a9a2d658e99f4430889bca3409985d1cf0() - { - $this->assertTrue(true); - fn() => (~($test /= $test)); - } - function testcf334f867817d1a64bd0dbae87375a858c787a50d3da710d32f3beac462352e8() - { - $this->assertTrue(true); - fn() => (~($test === $test)); - } - function testcf691526502f20c55fc7a9c08bb86a487c7d5b4649dc5b3bca4779a895e42b2d() - { - $this->assertTrue(true); - fn() => (~__FILE__); - } - function testd03b9741d52ab680cb3276d5f7cc1b25de9baaf566acd5fbb93fea9be1012c34() - { - $this->assertTrue(true); - fn() => (~( $test)); - } - function testd407054b095bba8d04d345c0e4921f47bb231d0e6b3835ef4cbcc7fe760a36d6() - { - $this->assertTrue(true); - fn() => (~${$test}); - } - function testd45bf3a51f6f518033f98b94dab84a6803efee17fc3bd7c1001484c37195d35c() - { - $this->assertTrue(true); - fn() => (~($test <<= $test)); - } - function testd48547627653f8eab26c26c415914fbe869fbca3a0995f66b632f6c86248e7e0() - { - $this->assertTrue(true); - fn() => (~($test ? $test : $test)); - } - function testd99f8f51e17f18f15c5d084de92db27b757f5e911b1673343c770e979dcffc8d() - { - $this->assertTrue(true); - fn() => (~($test instanceof $test)); - } - function testdc598350ea9cacf13d6802aa2dc69a0a02dd63a31ef442978392ae15b9e8ec34() - { - $this->assertTrue(true); - fn() => (~$test::${$test}); - } - function testdc6ba5113263d803002117317beea4f65011a90a686199fc5a470f99a6bb8828() - { - $this->assertTrue(true); - fn() => (~(object) $test); - } - function testde427eae921e1d557ff7f036db99ec654dfd192fa4a1fa6aab86c98c99516ff3() - { - $this->assertTrue(true); - fn() => (~($test & $test)); - } - function testded5a4a70c12162e302119b00c876d071b43b53cdd1ef75b6beaa49126457e4f() - { - $this->assertTrue(true); - fn() => (~($test && $test)); - } - function teste31347918fbbab00c3ef065351bdea8ba0756afb40cca7986da93dcacfba4f7d() - { - $this->assertTrue(true); - fn() => (~$test->{$test}()); - } - function teste40dfafce974904795e9e0bc4530890faa772c1f183e1398c186f3b5d530b75a() - { - $this->assertTrue(true); - fn() => (~eval($test)); - } - function teste4a6f2a31b303dae443da0e68d2c8f9bdb9ef4fe493acdcb2c4416bcd707a129() - { - $this->assertTrue(true); - fn() => ($test =& $test + $test); - } - function teste7f77b8a3b5be771ed7153f311a7a1373f7696c9d4415c667f2eae0382c68c78() - { - $this->assertTrue(true); - fn() => (~($test !== $test)); - } - function teste8378e0dba9dc5be3e99826a108ccac178bf00b3f2c921343f6c1e3fd16fc18e() - { - $this->assertTrue(true); - fn() => (~(yield from $test)); - } - function testeb6649742045ccd063651ca9327255b3520741ab0c3fdf4c7b5b81c9e7c37ba1() - { - $this->assertTrue(true); - fn() => (~$test::$test()); - } - function testebbc120fe4d327a0d6ab90e23455134e2aa8ffeec24a02ce4602bcacc741ccde() - { - $this->assertTrue(true); - fn() => (~self); - } - function tested31d8f8ecf4f86a9ee8722e082e72520b0187718c6499fab282cd3cf483385f() - { - $this->assertTrue(true); - fn() => (~(string) $test); - } - function testf828791a2df163ac31c09c60e2d9ba7d55bcaa3d99b4a5671d8f44e43fb1ebd9() - { - $this->assertTrue(true); - fn() => (~($test *= $test)); - } - function testfa05ae3f72a4c3f3faf5ad133fa36db9b63ff47513c9d4ff37ec94dd1e59b433() - { - $this->assertTrue(true); - fn() => (~($test ^= $test)); - } - function testfaaf4f03a848e79c0811ceffb722a0e176ab1b810dd7d15ee605bdedf137dac9() - { - $this->assertTrue(true); - fn() => (~($test ?? $test)); - } - function testfc3c7bfc225e0468e66696a57d2ce351b3b48b0c3019d44592b36b378a904547() - { - $this->assertTrue(true); - fn() => (~($test >> $test)); - } - function testfc450137b9ead33b88f81d1c7cbfcbcafaca1245e5f5610950f0cbe375f2c686() - { - $this->assertTrue(true); - fn() => (~($test % $test)); - } - function testfd0b95170eb45fc8ff9cbc6ab23ab44cc4e1dce50bc52168d67f8b37f28375dc() - { - $this->assertTrue(true); - fn() => (~$test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest.php b/testsGenerated/Target/Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest.php deleted file mode 100644 index dfd3a459f..000000000 --- a/testsGenerated/Target/Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest extends TestCase -{ - function test0c0299228776a81977ce8ba4ee43bd872dd24569ac49019039425167c5d7323f() - { - $this->assertTrue(true); - fn() => ($test /= ~$test); - } - function test0ffd990ea91d018a731d51d0d861e7fe8522cca292ee3dc9af4f421e32d17fd5() - { - $this->assertTrue(true); - fn() => ($test /= $test->{$test}()); - } - function test1210d95ec98f9b6923c70167f48556849c093b10c700f84ffed35fe78abd3e9c() - { - $this->assertTrue(true); - fn() => ($test /= $test == $test); - } - function test134ab463e7dbfa021e24c91447cb816a4ae82c485180946d9da0594bbea73414() - { - $this->assertTrue(true); - fn() => ($test /= $test->{$test}); - } - function test13f6b57ecbcd0dffe3ef8b56824a25bc3eca354c9ce06c249e8aa209f23f2178() - { - $this->assertTrue(true); - fn() => ($test /= $test | $test); - } - function test143a116d46e4477595f756eaa4e25779555bce83885928073f21f6a08715b030() - { - $this->assertTrue(true); - fn() => ($test /= new $test()); - } - function test177559543725d6b38a9d7d1575cb2ee242930b32b47e9ef4bd9815525cd45479() - { - $this->assertTrue(true); - fn() => ($test /= $test?->{$test}); - } - function test1a25816a77f2656b7869d16dd2a2f744b9936e634438c22c50425a02ebac76fb() - { - $this->assertTrue(true); - fn() => ($test . $test /= $test); - } - function test1bef075051ce4b31db4bce0e529fe78096ccb565a61107df35e9fc2bc72379f4() - { - $this->assertTrue(true); - fn() => ($test /= $test .= $test); - } - function test1ccc9662c19e6d3933e240f9346e566c9f7ec61e63d882e1b3df321f2e9c4ce5() - { - $this->assertTrue(true); - fn() => ($test /= ++$test); - } - function test2ff7a0c52d6e05999977d0c8c8ae87e31d03a31ed298ac0891ce8391dff37903() - { - $this->assertTrue(true); - fn() => ($test /= $test::${$test}); - } - function test30495de6e620faf16c85b6b2b4519672e6b595f8d30b05ec3ba2da01eeaa8288() - { - $this->assertTrue(true); - fn() => ($test /= ($test and $test)); - } - function test328ebc45ee977257068847a2cc721bec0d46c267f0c71a119aeb7599d421675a() - { - $this->assertTrue(true); - fn() => ($test % $test /= $test); - } - function test32d51aa09a775bc00ff86cd33730390b8b1aeb58a0af1dd28f088c346cca839f() - { - $this->assertTrue(true); - fn() => ($test >> $test /= $test); - } - function test37397e26dd43e5c73748d4d2e9899272c4fe8514be9bc7c010238c0046bcb3c9() - { - $this->assertTrue(true); - fn() => ($test < $test /= $test); - } - function test3839184b1ffbf50bc77109dc947482b943bdc364579e9e50b7b0a79091445686() - { - $this->assertTrue(true); - fn() => (${$test} /= $test); - } - function test399d32cc84da24271e8b7985ba3d53fe2b523712d5cb0d46d685ac79f461c7e4() - { - $this->assertTrue(true); - fn() => ($test /= $test > $test); - } - function test3bb987b41fc44ac08824524e75293d704f92867058a3df171a15e5ad63cc2f5a() - { - $this->assertTrue(true); - fn() => ($test /= throw $test); - } - function test3db071976ff841118b98f03b6c7f242a6417feab62cf9fd6041270b9680ce335() - { - $this->assertTrue(true); - fn() => ($test /= $test ??= $test); - } - function test40fa6b53f986d684e1dabe3651e1376f8c782bf37b5f1aaed47a2eaf8144ac17() - { - $this->assertTrue(true); - fn() => ($test /= $test?->{$test}()); - } - function test4199d2b438303bef0e01f0b2f2a982a8cee7545e49b8cb37c213ebd497130e9e() - { - $this->assertTrue(true); - fn() => ($test /= $test::$test); - } - function test42d19c6173a3da19710236e168a93e3f7f53117f22fac9e5838667bb6b7ad5b4() - { - $this->assertTrue(true); - fn() => ($test /= $test /= $test); - } - function test47263bd4625ae1b3cf1753699ff57e99fa5ac0f8d373a59266794d659543ca28() - { - $this->assertTrue(true); - fn() => ($test /= $test **= $test); - } - function test4a3d27a80b7c1d9a0931e978276bdc4e19f76f2d4cb1c5404ed9e188daa63b5a() - { - $this->assertTrue(true); - fn() => ($test /= $test === $test); - } - function test4b4751b034c41baa5ec04bc32d339a3e1bce8406b75873c05e63c8291c6ec989() - { - $this->assertTrue(true); - fn() => ($test /= $test || $test); - } - function test4fce9c953e28296504d4e30d6c8f6217e91a602311515cab6cb2f00d7546e557() - { - $this->assertTrue(true); - fn() => ((string) $test /= $test); - } - function test52c97f2dcac2bf879fd08f49cdfa69e66bd8cfcb927d495b99e450805fdeea6b() - { - $this->assertTrue(true); - fn() => ($test /= self); - } - function test538b14caed2f717b47865eb8a81259028dd6bcf20da4af441238143a33525265() - { - $this->assertTrue(true); - fn() => ($test /= (yield from $test)); - } - function test548365a57318a06d442ce43346e8bafb2ef150aea9326812dbdecb47f704fad0() - { - $this->assertTrue(true); - fn() => ($test /= $test >= $test); - } - function test55807ee011b127a084da3c30d5fa6066825d9ef1aacca78166064ff8cceb6e2a() - { - $this->assertTrue(true); - fn() => ($test /= $test |= $test); - } - function test570945caa16053c3fc08e7610049b2aaae5bdd9beaf7dbd13e261b0f9450fc12() - { - $this->assertTrue(true); - fn() => ($test /= $test ?? $test); - } - function test58c1f63a2fa366f1d359a76e0ec1a60cb1a1abfe014f4d0aef33574232e7c81d() - { - $this->assertTrue(true); - fn() => ($test ?? $test /= $test); - } - function test594de33416d301221dac55e3547671c553e5156494c62f45777dda00d72e09be() - { - $this->assertTrue(true); - fn() => ($test /= $test . $test); - } - function test5af5db11a4ba650b597854e9713ec4634f0b1cfb31335e8ee39b87bce24cbbbd() - { - $this->assertTrue(true); - fn() => ($test /= $test *= $test); - } - function test5bbb802653b0c42af362813848e93157d69f2fb34ff8a3b80d930bd57337b6fa() - { - $this->assertTrue(true); - fn() => ($test === $test /= $test); - } - function test5d3dcd944fae7d3a4dddbbceae2aa5c5a741e5f530f2c99385ab259a1c235169() - { - $this->assertTrue(true); - fn() => ($test /= $test -= $test); - } - function test66423a14d316dd3677d75b58e36d26589ae7cd8d0305ddef1fe201d2f3cdad96() - { - $this->assertTrue(true); - fn() => ($test ^ $test /= $test); - } - function test6b399eea369578effc9b8f5aa5a9bbbbdb4ef54b76e11c4328654b3cf9e75cb6() - { - $this->assertTrue(true); - fn() => ($test /= isset($test)); - } - function test6c57ea7affecdfb1bfa835305823c12b19470af52ed355f3e2499f3c7d4fa667() - { - $this->assertTrue(true); - fn() => ((double) $test /= $test); - } - function test6d8927200432bfc7c3ed471f27121ceb76213eaf5de551fb6877fbece28e36fa() - { - $this->assertTrue(true); - fn() => ((bool) $test /= $test); - } - function test6f570e7e22e17d13ed6f0528fc1ff0ca40f641cfd00938db8024f4b7244615be() - { - $this->assertTrue(true); - fn() => ($test /= $test ? $test : $test); - } - function test6feff0b28fc4814be4095c16114276169c48a77cd65517d6100b7ebcb9de8eb1() - { - $this->assertTrue(true); - fn() => ($test /= $test = $test); - } - function test714ca180aab289c5f70a9098d06e548e79ee363cc4f66e6e669cff126756412a() - { - $this->assertTrue(true); - fn() => ($test /= $test - $test); - } - function test7235030544bc089af386aa0d83c60dc9a089bcc3787073cee0e49f07b9b1f274() - { - $this->assertTrue(true); - fn() => ($test /= empty($test)); - } - function test797fd947f3acc4c965b7e719672cc5df7e993e50c2dae9d73f3076a908a09d9a() - { - $this->assertTrue(true); - fn() => ($test & $test /= $test); - } - function test7aab9fe6d64acc9f6403b475b6ac373a87af2f09f063e018e1c3df46169e0536() - { - $this->assertTrue(true); - fn() => ($test /= $test--); - } - function test7ac519e3868431d68e8b8173076837b5133127fd8206f1ee2d8e901247474f22() - { - $this->assertTrue(true); - fn() => ($test && $test /= $test); - } - function test820562fd19fc1c9a05edb6cda124754eb185d2a30d81bf255c5340ff40a054c1() - { - $this->assertTrue(true); - fn() => ($test /= $test); - } - function test83ac15230a39070e70060d4169aba4cbac9d6e56805c94b376f90fa438c3830c() - { - $this->assertTrue(true); - fn() => ($test /= $test =& $test); - } - function test87cbc674974959c1c5fe3619c8e522fdf5080d57df15d5003b7ea9be6c1e05f9() - { - $this->assertTrue(true); - fn() => ($test /= ${$test}); - } - function test8955ed89bc313d095e7f10b6765f3649797034017bcafe40b9014f8fdcc7f3b0() - { - $this->assertTrue(true); - fn() => ($test /= (print $test)); - } - function test900ff7643c872fa176def0bac2d21e24de1e70b30a4281382d11cfd60be90b4a() - { - $this->assertTrue(true); - fn() => ($test <= $test /= $test); - } - function test9338b41dc9b5a75f769ca23e6995a3df16820a4e75542cbf176d839862eed1ab() - { - $this->assertTrue(true); - fn() => ($test << $test /= $test); - } - function test94841c346ce33098bd5b7a086a49c8967082aeb1f9034741a417f8ded6ecb043() - { - $this->assertTrue(true); - fn() => ($test !== $test /= $test); - } - function test95d1cb669d1cf686c276f933533369a494ac89cecc6cb7b9bfceb27284990d9a() - { - $this->assertTrue(true); - fn() => ($test /= -$test); - } - function test9678698ceeddf20dd620e5ec528cfdcc232968d57e993e0da959506b30d4ffe5() - { - $this->assertTrue(true); - fn() => ($test >= $test /= $test); - } - function test9730189f6d7c7176ef01e9a2b1ba86987e097657570b7466a467674394ca6e34() - { - $this->assertTrue(true); - fn() => ($test || $test /= $test); - } - function test9984ee7cf1d0a423b9e3563c0f9baf0d817d0070df5453f8db496e9951f5f2c1() - { - $this->assertTrue(true); - fn() => ($test /= @$test); - } - function test9aad7fcf387560a918cdba84136448a4f298ff798edc75bd844f70a20a9aa53e() - { - $this->assertTrue(true); - fn() => ($test /= $test instanceof $test); - } - function test9fa2271ab9349de797961425b12a8967d37a2d2a85835112514e4a88d55beda5() - { - $this->assertTrue(true); - fn() => ($test /= --$test); - } - function test9fdf86934c29e9073e551181b95955b98e6b49ef6994aee39e6fe8a4a5bcd88e() - { - $this->assertTrue(true); - fn() => ($test /= $test &= $test); - } - function testa2b7df86ffbff0a7ed3cf1242da77cd3c5f9feb447c825889ef5e87e41c38c45() - { - $this->assertTrue(true); - fn() => ($test != $test /= $test); - } - function testa35461199b96f03b03ac4890e43cf9e6184f6a1a8c2da939794250277a2fecd2() - { - $this->assertTrue(true); - fn() => ($test /= function () { - }); - } - function testa4a13825a22a45daf83888ee7469582d611aae076773ffb5c4bbc090ee8ada03() - { - $this->assertTrue(true); - fn() => ($test /= +$test); - } - function testa6099c0d69209437637f83b6a65a24cf8f66532c4851b42cc1e730bd5dbd60c8() - { - $this->assertTrue(true); - fn() => ($test /= $test / $test); - } - function testab1d32d6f590fde662d3ca299d99a5251af245fe85e6a6475d2efaee5e7cd8cf() - { - $this->assertTrue(true); - fn() => ($test * $test /= $test); - } - function testb0ac61b7bdb85e21d0e90eee39f60b830b2f751e44b2be7c01cdcc931116fecc() - { - $this->assertTrue(true); - fn() => ($test /= ($test xor $test)); - } - function testb396438d2b3862aa66d54e002ae8aae96b555160309fd6e0228d836cb58a428d() - { - $this->assertTrue(true); - fn() => ($test /= $test ^= $test); - } - function testba13da8349606e347b8b0da7ad3ebbbd652eff6b032ece7d39a3a03a55706371() - { - $this->assertTrue(true); - fn() => ($test | $test /= $test); - } - function testbb6768b044685101e2b02b6f4dc2cc72479b7925dc044da611efc6c37b83e908() - { - $this->assertTrue(true); - fn() => ($test /= $test ^ $test); - } - function testc22eda2ce20d244d07032af79948434ae9d9c95796c8358d276a96fd78c57555() - { - $this->assertTrue(true); - fn() => ($test /= (yield $test => $test)); - } - function testc3b7c74af21383e2467ed5a0a067f6dd948c8e1f99269c599feda607944a8499() - { - $this->assertTrue(true); - fn() => ($test /= $test()); - } - function testc6066ea5e6864d0d77100027875e3740da796e37815fbaede28a48668d95b3d3() - { - $this->assertTrue(true); - fn() => ($test /= $test && $test); - } - function testc7d3faf0f4ced8f06b6be1be1c331fe82846c9984f2308d338b0eecc26bd3fca() - { - $this->assertTrue(true); - fn() => ($test /= $test++); - } - function testd304194f7b7e9ea3198f349a2da0ff91ba0de4c4d84684601ea1cfd9a0500d66() - { - $this->assertTrue(true); - fn() => ($test /= eval($test)); - } - function testd405849d56c225d9a999586486dd63d973363d0d91297ec3128e574ab1bb2012() - { - $this->assertTrue(true); - fn() => ($test /= $test & $test); - } - function testd5239b5929647666cd866676d57a8fb2935e09f9abfca9142d77cf9c33797e16() - { - $this->assertTrue(true); - fn() => ((object) $test /= $test); - } - function testd5778adc5a35418c174c99ee53d479c398984e2a7e316cb27c06f38570d4b5b0() - { - $this->assertTrue(true); - fn() => ($test /= $test %= $test); - } - function testd73a1df92a37033ed4261d2a5e61f6b017118c5420449ed6badeb8fa8f634d36() - { - $this->assertTrue(true); - fn() => ($test /= $test >>= $test); - } - function testd9196d92306d927f903a576eaaaee519a71e789e08503845af790ecae64d94dc() - { - $this->assertTrue(true); - fn() => ($test > $test /= $test); - } - function testda12a7508a0263f54925069a9f2a469e8f9ed226c9314da73941137d7e8d3698() - { - $this->assertTrue(true); - fn() => ($test + $test /= $test); - } - function testdee6259c44f0c67d73d733062ad59de9849ef1bc99c1aa90e6222439c7dd3019() - { - $this->assertTrue(true); - fn() => ($test ** $test /= $test); - } - function testdf897c001517e6929003e52b546073e1eb65db163c7d37ed5c729f2d67b54cd3() - { - $this->assertTrue(true); - fn() => ($test /= $test <<= $test); - } - function teste036c15edfaee18c351721180cf55983a938426664bb11b89b102be86c18fc3c() - { - $this->assertTrue(true); - fn() => ($test - $test /= $test); - } - function teste183b0421efce42ff64e4f3ef617efdc6b4457bfedc659f859f5de265acac8eb() - { - $this->assertTrue(true); - fn() => ($test /= ``); - } - function teste1b7e4fbb2d70cdfb37da0999f361fe2ea5461cca3ba122bd493379c135df005() - { - $this->assertTrue(true); - fn() => ($test <=> $test /= $test); - } - function teste2ba763ba46d6005caf1d0becc39534037e1c551d8c8ae0fe33140c316b135c2() - { - $this->assertTrue(true); - fn() => (+$test /= $test); - } - function teste646f829bdfb780222f85c9ee5014ce5cdd2ddb95f2d4a3cbc3b24b88b3c9bb6() - { - $this->assertTrue(true); - fn() => ($test / $test /= $test); - } - function teste6e3b0a6884e6f7ae41eb27203563e61175513c95f59b2bceae74dd65889651e() - { - $this->assertTrue(true); - fn() => ($test /= ($test or $test)); - } - function testebdc4e4486a9e5e9e9caeda742e8e10ef42f74b180258471c48040d7f2947f4f() - { - $this->assertTrue(true); - fn() => ($test /= $test += $test); - } - function tested369964873a5d66794da02fa6cd1e2a5d46566ea9404c27927d96489efcc21b() - { - $this->assertTrue(true); - fn() => ($test /= clone $test); - } - function testefe1f3d3cbc78c9def4cb2bdcd3d9eb897c8330c5714c52b4d84987cbde8da78() - { - $this->assertTrue(true); - fn() => ((int) $test /= $test); - } - function testf01bd601453cffad38dd8f7f6acee281f676f5a02aee98245bee51357b659574() - { - $this->assertTrue(true); - fn() => ($test /= ( $test)); - } - function testf255f27edc2b2918be02136a0839a1ae100a8a8db0250cf2ee7142c0907cf385() - { - $this->assertTrue(true); - fn() => ($test == $test /= $test); - } - function testf5524e005245173314de15e80523fd99e67b7fd218e565e2f28b5f91fa901a4a() - { - $this->assertTrue(true); - fn() => ($test /= match ($test) { - }); - } - function testf6dac4902b63d0b41c5a1732dbdbdb8418d6f135c38900a43bea79aadf7d06c9() - { - $this->assertTrue(true); - fn() => ($test /= $test[$test]); - } - function testf8f0083ae2773aefedd0463b1a4018c830c1d738594b90c7cc7f624a6c2f839c() - { - $this->assertTrue(true); - fn() => ($test /= $test::$test()); - } - function testf91541c46376e5f3991cb2bb6725a1648fa73853e5918278ff1f5a486d7c7e6d() - { - $this->assertTrue(true); - fn() => ($test /= !$test); - } - function testfb4cd20c1f544ba4967a8fd63791fb10eba95e85ef39e0d3a358be3259b06d14() - { - $this->assertTrue(true); - fn() => ($test /= []); - } - function testfb8d98cbd40b37b32bc608bcea0f9424037b6de9b6ea248d3ab4c6af075dc787() - { - $this->assertTrue(true); - fn() => ((array) $test /= $test); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test.php b/testsGenerated/Target/Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test.php deleted file mode 100644 index 7ab5c4563..000000000 --- a/testsGenerated/Target/Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test.php +++ /dev/null @@ -1,514 +0,0 @@ - - * @license MIT - */ -class Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test extends TestCase -{ - function test0293bf443ccefc823e8fd31b3e90d842c124f4608fe749340432ad8e0994bbca() - { - $this->assertTrue(true); - fn() => ($test != ($test ?? $test)); - } - function test06b6a93fe104f2fefa35c3efeff0fd15d0a4919387e69930697046ca18344ed3() - { - $this->assertTrue(true); - fn() => ($test != (string) $test); - } - function test0c75ec429e93c4ba081d79264fd0c8a0a16e5b8082c5015238ac6adc354888df() - { - $this->assertTrue(true); - fn() => ($test != +$test); - } - function test10b29447a38362254cfdb6d85b168366956aed7903d438592b6184d4e54e7e93() - { - $this->assertTrue(true); - fn() => (__METHOD__ != $test); - } - function test114a7db98e2d344e8bcc92d209f49531b5def35252500fce47a923f541c99152() - { - $this->assertTrue(true); - fn() => ($test != "{$test}"); - } - function test140f0d27bf87c9478e9789a23d29644048e54fc2d00221a3253c33a8a6bf969d() - { - $this->assertTrue(true); - fn() => ($test != ($test &= $test)); - } - function test185d556c093cff815c5777dc9f8779cf65b0de67678adade6712a8177060343a() - { - $this->assertTrue(true); - fn() => ($test != self); - } - function test19310b24a4a0674849369d5943f6835916cfc454611aa8ebdd76a67f953aa15d() - { - $this->assertTrue(true); - fn() => ($test != ($test ^ $test)); - } - function test1a31bdb4b6ab34f56760830e1858bc21aa2201f44164c2e16d4bd5d54f265c5b() - { - $this->assertTrue(true); - fn() => ($test != throw $test); - } - function test1ef7c3e8cce090995620dde063f378617754b3da2bf6a185ca65d72d3e7ff5a4() - { - $this->assertTrue(true); - fn() => ($test != $test instanceof $test); - } - function test23429ec3060875a6a7ce5aa0607f71d069ac7a1a16b3355ecda7511a3b74435d() - { - $this->assertTrue(true); - fn() => ($test != eval($test)); - } - function test239cd49c79cde1cfec2529a31fd133eccc6599f5f0e2c17edbe357b79feec53d() - { - $this->assertTrue(true); - fn() => ($test != $test?->{$test}); - } - function test239cda1818d6063e6e505e8d40db01bac1a10a547b7db74f5c9d3cf63f71b526() - { - $this->assertTrue(true); - fn() => (__FUNCTION__ != $test); - } - function test26ae4a18e02ccee2f4a6149910c14e14db6a5e1924820e3dcbdd2a443cb7c624() - { - $this->assertTrue(true); - fn() => ($test != 0.0); - } - function test26d1d89b0c0875802f431f33f50fe4706e7d299798607ef8a11ee3fe0d9bfa8f() - { - $this->assertTrue(true); - fn() => ($test != ($test %= $test)); - } - function test26f0756b55b8f3c13792fcb1063fde1a20fdd8f6aa654cee45c0582841dd88ea() - { - $this->assertTrue(true); - fn() => ($test != clone $test); - } - function test2962d56391293be3c2ef323e3c5215aa77713dc09c48a5cfd39d9fab570f0058() - { - $this->assertTrue(true); - fn() => ($test != $test?->{$test}()); - } - function test2d88e2fcff3fdeb62285ffa4c1cdbe03c6ed6d8d6575621201dd3eec3fa71daf() - { - $this->assertTrue(true); - fn() => ($test != ($test *= $test)); - } - function test2ddd2d16a7942dbee5eb45a5f78881fbcf859cf3983ef8d722a558a7ea875e67() - { - $this->assertTrue(true); - fn() => ($test != $test::$test); - } - function test2e714f768a100ec6d7a22618e739a1084ec8b1bfbbf1bbc0315676de1021718c() - { - $this->assertTrue(true); - fn() => ($test != empty($test)); - } - function test3362ea6f842ba4555affc4aa2bcbe2836abd265a84e337798e527786f93da611() - { - $this->assertTrue(true); - fn() => ($test != ${$test}); - } - function test36279d31cc5a492d3bbf185b90d4951fdd0d7f2df69594cc0bda44e98de3806e() - { - $this->assertTrue(true); - fn() => ($test != (double) $test); - } - function test37d7efe8540ec17ddf9bbe64c20dccdb51ab018691ed3d5e47e1aa5741e1f78f() - { - $this->assertTrue(true); - fn() => ($test != ~$test); - } - function test392295fe1c1c5dc4b942f2e432400604d01a967998a5c6698cbb0700468a5f8d() - { - $this->assertTrue(true); - fn() => ($test != (object) $test); - } - function test3b52c92aac253149e1ab188327b05883a28779eb1cf030f1e5f62914e3e12127() - { - $this->assertTrue(true); - fn() => ($test != $test); - } - function test3c8151c3947170e211e906c1370406f84acdff81caa9c121b8c6804f1be58bd6() - { - $this->assertTrue(true); - fn() => ($test != $test * $test); - } - function test3e66064393c7934907bcdc585961ccb8ef19b26ac553758c09511772aea46520() - { - $this->assertTrue(true); - fn() => ($test != $test >> $test); - } - function test3f9326b162a71e4b753e12b00694f8f6e0beae26ec50b834480bdfa60a7a08ff() - { - $this->assertTrue(true); - fn() => ($test != ($test |= $test)); - } - function test3fa64a69e94cf7f50cb875db356bc1a44ca761682733866e31a2126349d5e0fd() - { - $this->assertTrue(true); - fn() => ($test != ($test && $test)); - } - function test48b1420973e05e6f9572256320a6be4c01035f7a798af31b57ed8727d3a89df8() - { - $this->assertTrue(true); - fn() => ($test != --$test); - } - function test4a305286c70995d471cd049f46458b0348b5176196ebdb520903ab4a5a709a3f() - { - $this->assertTrue(true); - fn() => ($test != ($test /= $test)); - } - function test4ba8020a82cb03728b7a4bec9d93659264b7bb9fb784eb28c777e6a3431c1116() - { - $this->assertTrue(true); - fn() => ($test != __DIR__); - } - function test53f1c678c2f154fec07986c5ed4b7c78925055040bfafb0103ff32449cf1b73d() - { - $this->assertTrue(true); - fn() => ($test != ($test .= $test)); - } - function test54fdb4a9a2c2ac4d60ef76d52a1b4df967d765ce80787b239efd6012548eccd2() - { - $this->assertTrue(true); - fn() => ($test != __FILE__); - } - function test561b76970c1f717fd6b9efcd683d810671f4f0981776b5ee550264305844f816() - { - $this->assertTrue(true); - fn() => ($test != $test[$test]); - } - function test5c78eee096c12102633b2f9dab5a865fecbd3788f80d4204c025f8c2c0754e68() - { - $this->assertTrue(true); - fn() => ($test != ($test >>= $test)); - } - function test5c93b8cddaade81c11086a69993d70cddafbc3e4062c44918c33ec9d356bbe6d() - { - $this->assertTrue(true); - fn() => ($test != ($test ^= $test)); - } - function test5da1e65ec1268e5a9ec0f68223829e7fc394a908e93dcbd62655a8e53d0d16ee() - { - $this->assertTrue(true); - fn() => ($test != ($test & $test)); - } - function test600db6f5bf4445b3e234d1c27fecf2bcda014d766b08d3d44612d9dd7f3e8bb5() - { - $this->assertTrue(true); - fn() => ($test != ($test | $test)); - } - function test6075d8532e7ec8de7a1896ed7b6427b0d71079e4aaf94209627a9e0682b3a7b1() - { - $this->assertTrue(true); - fn() => ($test != $test >= $test); - } - function test61833431a07965f4fde23f0789771a068d5a2d7c5c4284d047de3e40fff8a10d() - { - $this->assertTrue(true); - fn() => ($test != (yield $test => $test)); - } - function test63abd6961c1c2bae791127edd5fd71dd0a06b1f2c60f1c478f7ddca010d939de() - { - $this->assertTrue(true); - fn() => ($test != __METHOD__); - } - function test6b4226a54e17b4554c27698808ff8ea17c709875a406d26fe90b1d34cd3a75d6() - { - $this->assertTrue(true); - fn() => ($test != ($test += $test)); - } - function test6bed96680d8614184cd01f5ba760ef029e51e8df630b187b9c2cbc2f7a1ff609() - { - $this->assertTrue(true); - fn() => ($test != ($test -= $test)); - } - function test6ca3fcd997cdf99d756746f1e05a4a8f7385fb25a1d7a8bebc208496460648d0() - { - $this->assertTrue(true); - fn() => ($test != $test::${$test}); - } - function test6d2f9dbcf0fad564c0de820f5df19cf3f4c00a34146fbfb1a60d0dd3ec7ef778() - { - $this->assertTrue(true); - fn() => ($test != (bool) $test); - } - function test70804fb09c988d4811573c8411798987a9ee26534d3af02083bdd42135bffcc2() - { - $this->assertTrue(true); - fn() => (__TRAIT__ != $test); - } - function test722fc14207e679fcaf49a698abf42432d072d60b67cb0fa1198103269064eafd() - { - $this->assertTrue(true); - fn() => ($test != []); - } - function test76da296ffd3736b414fe1f2b1ec757b472461cccdc8d5bb0f4175b9cc1906977() - { - $this->assertTrue(true); - fn() => ($test != ($test <<= $test)); - } - function test780bbcaddfb24c87552b4dbd4dbba27f8c28feb981e092abc36280a602e41818() - { - $this->assertTrue(true); - fn() => ($test != $test--); - } - function test7852b3e52627fce95ec593c36a408919027cdf42a9f61587cda276d6a0d38c24() - { - $this->assertTrue(true); - fn() => (__LINE__ != $test); - } - function test7ab61bbbeee94ccac18cdfbc7eeef19074605181033329577a67c88588d01195() - { - $this->assertTrue(true); - fn() => ($test != ($test **= $test)); - } - function test808899d646bb050085aaf8780553d64dbad82a899494eda122515e9d472c5acb() - { - $this->assertTrue(true); - fn() => ($test != $test / $test); - } - function test845a50499948acaa8390996fdac7036143d86c9200ea7820d450685d96a554e7() - { - $this->assertTrue(true); - fn() => ($test != $test << $test); - } - function test85263b04fa5d7453e1ab444f7ccff1c868ec5795679d1749a9b603834b0f43cf() - { - $this->assertTrue(true); - fn() => ($test != ++$test); - } - function test866e755107576728012381d2d0dc544b4723b8cea676aa7efd450b45f7797c11() - { - $this->assertTrue(true); - fn() => ($test != ($test || $test)); - } - function test86ac729982953e895d375107a97f539553a21a9056b7dc740412804246bf15f7() - { - $this->assertTrue(true); - fn() => (__NAMESPACE__ != $test); - } - function test8bcc49b6d1b7aeb98e3f265bcd6038b268c064fca242875cfd8df948fa2f62d9() - { - $this->assertTrue(true); - fn() => ($test != 'test'); - } - function test9113715746c6d30a52ed7aad67f87dc6a842d7cab2eb1dafc06f993bddc82b58() - { - $this->assertTrue(true); - fn() => ($test != $test->{$test}); - } - function test924f71b7c26b6f5b149291caf09deebcbaa32ea0a8aaf2c2385d019dddba400e() - { - $this->assertTrue(true); - fn() => ($test != ($test or $test)); - } - function test92e07f655cba0acc952608234b75d61467eb7527d4e690d26de1b2c107bf55d7() - { - $this->assertTrue(true); - fn() => ($test != ($test <=> $test)); - } - function test9467e16949fe9fae703386bfe260d4e0fb7db4224dc809b2931a39e6bad89519() - { - $this->assertTrue(true); - fn() => ($test != ($test =& $test)); - } - function test97af33aaec08672361133af289e43e8b62ad8ace196ab4e06881e1351debc7a7() - { - $this->assertTrue(true); - fn() => ($test != ($test === $test)); - } - function test97ee58fce6b4e52cf9ea2cdb34aab5f207ad59ff2b3b193b525d65ebfc2d6d41() - { - $this->assertTrue(true); - fn() => ($test != $test++); - } - function test9938c9f4aa2c4163baa1049e16a56b21b08d3e6dce6ae16da2a52e39ffcaa073() - { - $this->assertTrue(true); - fn() => ($test != $test % $test); - } - function test9e6aab1b1ca137d9a49e00883e2b89a4b14eae170bd15dc907c13dac3240bec2() - { - $this->assertTrue(true); - fn() => ($test != @$test); - } - function testa42b447b22f91cd758a0c52b618935c97bc98bb8cbbf28c16ed1c360544fe49c() - { - $this->assertTrue(true); - fn() => ($test != ($test and $test)); - } - function testa8b946596d50b26a58d65657a5cc953f2bb0275390af806a76438ea383b47741() - { - $this->assertTrue(true); - fn() => ($test != $test - $test); - } - function testaa0ecf2b561dc74bc51e89d4d0042823acf4891b2eb4871bbd7c0c00354937da() - { - $this->assertTrue(true); - fn() => ($test != ($test == $test)); - } - function testaa4691accce5f27551aa0ab444fb6cbf351dc79255c5240973125a4dff709f6d() - { - $this->assertTrue(true); - fn() => ($test != ( $test)); - } - function testb62e3fd1aeff48d40efd9d8fd8c9f2c3472ec9459ca55e7c55b368021fdc5eb8() - { - $this->assertTrue(true); - fn() => ($test != (array) $test); - } - function testb62eeab872436155562f08e778fcbede18022b5108128162dc60e7afaebaa288() - { - $this->assertTrue(true); - fn() => ($test != match ($test) { - }); - } - function testb88c2c5bad161087288ad2dd167bfbd0cec9bbc75503496f1f5a1384f24cef88() - { - $this->assertTrue(true); - fn() => ($test != __CLASS__); - } - function testba5b96bdf93f73e2b7e8baa67fa159cba47c5f4a6b1298ad6c893dcff8531955() - { - $this->assertTrue(true); - fn() => ($test != ($test = $test)); - } - function testbe5761da39d0f115866153fc984031985b69c69289cae2d041754d1c8ab9f885() - { - $this->assertTrue(true); - fn() => ($test != -$test); - } - function testbe8e3f24c17ffaf1d769216e6e0126d7487c0a59aee981158960c1f021651d05() - { - $this->assertTrue(true); - fn() => ($test != ($test xor $test)); - } - function testc52fab1cc9eca3b64a99b6dfa39897b25a8e20dd8dbc16770c7386019f5d615d() - { - $this->assertTrue(true); - fn() => ($test != (int) $test); - } - function testcb4e4e14e94cf3f426dc647407e454c1c5ba64aa022d3cbf451a4a5f066e4b5c() - { - $this->assertTrue(true); - fn() => ($test != ($test != $test)); - } - function testcd5084f84428ce03e8fe02c42a9df222d01bfd1921dbe17da84f916d00e2d536() - { - $this->assertTrue(true); - fn() => ($test != $test < $test); - } - function testd914bd609d8958557d173e4cb6c88b1097fae624abd87052d739538e0ed68400() - { - $this->assertTrue(true); - fn() => ($test != ``); - } - function testd945575220279a06fb6355015a19635b7b8758407e393dfe2191e9310a541ee6() - { - $this->assertTrue(true); - fn() => ($test != $test()); - } - function testd987d3275dedc64bb5518a4f87516baecfb82900fb1d7d9374def8557f181eb8() - { - $this->assertTrue(true); - fn() => ($test != __FUNCTION__); - } - function testd99cdf5f266f3b3ef82176ee13265a9c6a9eeed007bebf498795ee1daa7438c5() - { - $this->assertTrue(true); - fn() => ($test != (print $test)); - } - function testdad7f8f53ef29ad87872df76e3ea5b11506939cadc6126794f8f63e25af25cce() - { - $this->assertTrue(true); - fn() => ($test != $test + $test); - } - function testdbbebd3b18a01a7ae645416dc46688bb6da8327d0eb585a3145dcfb2ba8190dd() - { - $this->assertTrue(true); - fn() => ($test != isset($test)); - } - function testddff5d8e7128dc21e2f10e5ea32e3a49e0e89a46e000c8714a694228c5272538() - { - $this->assertTrue(true); - fn() => ($test != ($test ? $test : $test)); - } - function testde66f0ce4ac3ab00602865a31e6e4e724dd356c51c10c688c17095263ff5a092() - { - $this->assertTrue(true); - fn() => ($test != $test->{$test}()); - } - function teste117459ffedcb9f5f7f4cc03b17009cbd734148642bcae4e03f36ead7b303335() - { - $this->assertTrue(true); - fn() => ($test != ($test ??= $test)); - } - function teste28b66ae06819fc819777248bf8124aae9d212ed33b701457ff99e3d8b22646f() - { - $this->assertTrue(true); - fn() => ($test != $test > $test); - } - function teste3b67c9580f684e1a8d7fa2954415d6c4323bc57fc0964fa883a767258122889() - { - $this->assertTrue(true); - fn() => ($test != (yield from $test)); - } - function teste6f68f7020825ef72d51073d0a1290fe8676c8518a88b3f94fffc0a6467d82ce() - { - $this->assertTrue(true); - fn() => ($test != !$test); - } - function teste8e13050c7d4ad9b0e9021bff9121f2815f7a55aa6b679bf3df34fcd0c3bb0d7() - { - $this->assertTrue(true); - fn() => ($test != ($test !== $test)); - } - function testeac30b1bd1a924f33af8edf1fd7f90423eb0c9a0d39647bff3897e343d8b3b24() - { - $this->assertTrue(true); - fn() => ($test != __LINE__); - } - function testec6bb4597975c360e720d8401342e85f457ef2dd224222c180e7e51037258c49() - { - $this->assertTrue(true); - fn() => ($test != $test <= $test); - } - function testefc56043b1c2ccff5df97c8b48f6b01c5a7d0d0ff0ebec562667d326ab85a3a5() - { - $this->assertTrue(true); - fn() => ($test != $test . $test); - } - function testf0ef3b7796eeae8fc2ab387f27c4613b9e708b5248c6c34b2a141e1a80366c1e() - { - $this->assertTrue(true); - fn() => ($test != new $test()); - } - function testf6da9a07bfaf333473afccc8f929d9424d9166f054e721490a0acb1ae55477e4() - { - $this->assertTrue(true); - fn() => ($test != $test ** $test); - } - function testf825f509ffc5f196c813f61710b34c40c118a538ca1368aa611202d5642bd9c7() - { - $this->assertTrue(true); - fn() => ($test != $test::$test()); - } - function testfcb7b4b1757e8e0db240369e638bbf95885f849c7162ebdfffd4779188d50be7() - { - $this->assertTrue(true); - fn() => ($test != 0); - } - function testfeab716c46ddba408e356f82c67ed4d060a0cba89e24989c94f72c588db72772() - { - $this->assertTrue(true); - fn() => ($test != function () { - }); - } -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer0Test.php b/testsGenerated/Target/TypeHintReplacer0Test.php deleted file mode 100644 index f829c535d..000000000 --- a/testsGenerated/Target/TypeHintReplacer0Test.php +++ /dev/null @@ -1,61 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer0Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): callable => $data, "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[function ($data): callable { return $data; }, "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[[$this, 'testRet0callable'], "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[[self::class, 'testRet0callable'], "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -['PhabelTest\Target\testRet0callable', "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (callable $data): callable => $data, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[function (callable $data): callable { return $data; }, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[[$this, 'test0callable'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[[self::class, 'test0callable'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -['PhabelTest\Target\test0callable', "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test0callable(callable $data): callable { return $data; } -private static function testRet0callable($data): callable { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer10Test.php b/testsGenerated/Target/TypeHintReplacer10Test.php deleted file mode 100644 index 7180a8c0a..000000000 --- a/testsGenerated/Target/TypeHintReplacer10Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer10Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?callable => $data, "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[function ($data): ?callable { return $data; }, "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[$this, 'testRet46callable'], "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[self::class, 'testRet46callable'], "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -['PhabelTest\Target\testRet46callable', "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[fn ($data): ?callable => $data, fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[function ($data): ?callable { return $data; }, fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[$this, 'testRet47callable'], fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[self::class, 'testRet47callable'], fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -['PhabelTest\Target\testRet47callable', fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[fn ($data): ?callable => $data, [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[function ($data): ?callable { return $data; }, [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[$this, 'testRet48callable'], [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[self::class, 'testRet48callable'], [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -['PhabelTest\Target\testRet48callable', [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[fn ($data): ?callable => $data, [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[function ($data): ?callable { return $data; }, [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[$this, 'testRet49callable'], [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[self::class, 'testRet49callable'], [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -['PhabelTest\Target\testRet49callable', [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[fn ($data): ?callable => $data, null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[function ($data): ?callable { return $data; }, null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[$this, 'testRet50callable'], null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -[[self::class, 'testRet50callable'], null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], -['PhabelTest\Target\testRet50callable', null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?callable $data): ?callable => $data, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[function (?callable $data): ?callable { return $data; }, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[$this, 'test46callable'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[self::class, 'test46callable'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -['PhabelTest\Target\test46callable', "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[fn (?callable $data): ?callable => $data, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[function (?callable $data): ?callable { return $data; }, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[$this, 'test47callable'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[self::class, 'test47callable'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -['PhabelTest\Target\test47callable', fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[fn (?callable $data): ?callable => $data, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[function (?callable $data): ?callable { return $data; }, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[$this, 'test48callable'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[self::class, 'test48callable'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -['PhabelTest\Target\test48callable', [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[fn (?callable $data): ?callable => $data, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[function (?callable $data): ?callable { return $data; }, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[$this, 'test49callable'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[self::class, 'test49callable'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -['PhabelTest\Target\test49callable', [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[fn (?callable $data): ?callable => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[function (?callable $data): ?callable { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[$this, 'test50callable'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -[[self::class, 'test50callable'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], -['PhabelTest\Target\test50callable', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test46callable(?callable $data): ?callable { return $data; } -private static function testRet46callable($data): ?callable { return $data; } -private static function test47callable(?callable $data): ?callable { return $data; } -private static function testRet47callable($data): ?callable { return $data; } -private static function test48callable(?callable $data): ?callable { return $data; } -private static function testRet48callable($data): ?callable { return $data; } -private static function test49callable(?callable $data): ?callable { return $data; } -private static function testRet49callable($data): ?callable { return $data; } -private static function test50callable(?callable $data): ?callable { return $data; } -private static function testRet50callable($data): ?callable { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer11Test.php b/testsGenerated/Target/TypeHintReplacer11Test.php deleted file mode 100644 index 0ccaa8b56..000000000 --- a/testsGenerated/Target/TypeHintReplacer11Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer11Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): callable|array => $data, "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[function ($data): callable|array { return $data; }, "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[$this, 'testRet51callablearray'], "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[self::class, 'testRet51callablearray'], "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -['PhabelTest\Target\testRet51callablearray', "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[fn ($data): callable|array => $data, fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[function ($data): callable|array { return $data; }, fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[$this, 'testRet52callablearray'], fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[self::class, 'testRet52callablearray'], fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -['PhabelTest\Target\testRet52callablearray', fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[fn ($data): callable|array => $data, [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[function ($data): callable|array { return $data; }, [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[$this, 'testRet53callablearray'], [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[self::class, 'testRet53callablearray'], [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -['PhabelTest\Target\testRet53callablearray', [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[fn ($data): callable|array => $data, [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[function ($data): callable|array { return $data; }, [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[$this, 'testRet54callablearray'], [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[self::class, 'testRet54callablearray'], [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -['PhabelTest\Target\testRet54callablearray', [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[fn ($data): callable|array => $data, ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[function ($data): callable|array { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[$this, 'testRet55callablearray'], ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[self::class, 'testRet55callablearray'], ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -['PhabelTest\Target\testRet55callablearray', ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (callable|array $data): callable|array => $data, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[function (callable|array $data): callable|array { return $data; }, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[$this, 'test51callablearray'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[self::class, 'test51callablearray'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -['PhabelTest\Target\test51callablearray', "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[fn (callable|array $data): callable|array => $data, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[function (callable|array $data): callable|array { return $data; }, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[$this, 'test52callablearray'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[self::class, 'test52callablearray'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -['PhabelTest\Target\test52callablearray', fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[fn (callable|array $data): callable|array => $data, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[function (callable|array $data): callable|array { return $data; }, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[$this, 'test53callablearray'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[self::class, 'test53callablearray'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -['PhabelTest\Target\test53callablearray', [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[fn (callable|array $data): callable|array => $data, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[function (callable|array $data): callable|array { return $data; }, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[$this, 'test54callablearray'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[self::class, 'test54callablearray'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -['PhabelTest\Target\test54callablearray', [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[fn (callable|array $data): callable|array => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[function (callable|array $data): callable|array { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[$this, 'test55callablearray'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[self::class, 'test55callablearray'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -['PhabelTest\Target\test55callablearray', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test51callablearray(callable|array $data): callable|array { return $data; } -private static function testRet51callablearray($data): callable|array { return $data; } -private static function test52callablearray(callable|array $data): callable|array { return $data; } -private static function testRet52callablearray($data): callable|array { return $data; } -private static function test53callablearray(callable|array $data): callable|array { return $data; } -private static function testRet53callablearray($data): callable|array { return $data; } -private static function test54callablearray(callable|array $data): callable|array { return $data; } -private static function testRet54callablearray($data): callable|array { return $data; } -private static function test55callablearray(callable|array $data): callable|array { return $data; } -private static function testRet55callablearray($data): callable|array { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer12Test.php b/testsGenerated/Target/TypeHintReplacer12Test.php deleted file mode 100644 index 6287ad0ce..000000000 --- a/testsGenerated/Target/TypeHintReplacer12Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer12Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): callable|array => $data, array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[function ($data): callable|array { return $data; }, array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[$this, 'testRet56callablearray'], array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[[self::class, 'testRet56callablearray'], array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -['PhabelTest\Target\testRet56callablearray', array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], -[fn ($data): ?array => $data, ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[function ($data): ?array { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[[$this, 'testRet57array'], ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[[self::class, 'testRet57array'], ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -['PhabelTest\Target\testRet57array', ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[fn ($data): ?array => $data, array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[function ($data): ?array { return $data; }, array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[[$this, 'testRet58array'], array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[[self::class, 'testRet58array'], array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -['PhabelTest\Target\testRet58array', array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[fn ($data): ?array => $data, null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[function ($data): ?array { return $data; }, null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[[$this, 'testRet59array'], null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[[self::class, 'testRet59array'], null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -['PhabelTest\Target\testRet59array', null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], -[fn ($data): array|bool => $data, ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet60arraybool'], ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet60arraybool'], ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet60arraybool', ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (callable|array $data): callable|array => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[function (callable|array $data): callable|array { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[$this, 'test56callablearray'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[[self::class, 'test56callablearray'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -['PhabelTest\Target\test56callablearray', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], -[fn (?array $data): ?array => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[function (?array $data): ?array { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[[$this, 'test57array'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[[self::class, 'test57array'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -['PhabelTest\Target\test57array', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[fn (?array $data): ?array => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[function (?array $data): ?array { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[[$this, 'test58array'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[[self::class, 'test58array'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -['PhabelTest\Target\test58array', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[fn (?array $data): ?array => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[function (?array $data): ?array { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[[$this, 'test59array'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[[self::class, 'test59array'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -['PhabelTest\Target\test59array', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], -[fn (array|bool $data): array|bool => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test60arraybool'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test60arraybool'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test60arraybool', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test56callablearray(callable|array $data): callable|array { return $data; } -private static function testRet56callablearray($data): callable|array { return $data; } -private static function test57array(?array $data): ?array { return $data; } -private static function testRet57array($data): ?array { return $data; } -private static function test58array(?array $data): ?array { return $data; } -private static function testRet58array($data): ?array { return $data; } -private static function test59array(?array $data): ?array { return $data; } -private static function testRet59array($data): ?array { return $data; } -private static function test60arraybool(array|bool $data): array|bool { return $data; } -private static function testRet60arraybool($data): array|bool { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer13Test.php b/testsGenerated/Target/TypeHintReplacer13Test.php deleted file mode 100644 index 8b212fc07..000000000 --- a/testsGenerated/Target/TypeHintReplacer13Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer13Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): array|bool => $data, array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet61arraybool'], array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet61arraybool'], array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet61arraybool', array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[fn ($data): array|bool => $data, true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet62arraybool'], true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet62arraybool'], true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet62arraybool', true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[fn ($data): array|bool => $data, false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet63arraybool'], false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet63arraybool'], false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet63arraybool', false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[fn ($data): array|bool => $data, 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet64arraybool'], 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet64arraybool'], 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet64arraybool', 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[fn ($data): array|bool => $data, 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet65arraybool'], 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet65arraybool'], 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet65arraybool', 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (array|bool $data): array|bool => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test61arraybool'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test61arraybool'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test61arraybool', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[fn (array|bool $data): array|bool => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test62arraybool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test62arraybool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test62arraybool', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[fn (array|bool $data): array|bool => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test63arraybool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test63arraybool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test63arraybool', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[fn (array|bool $data): array|bool => $data, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test64arraybool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test64arraybool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test64arraybool', 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[fn (array|bool $data): array|bool => $data, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test65arraybool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test65arraybool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test65arraybool', 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test61arraybool(array|bool $data): array|bool { return $data; } -private static function testRet61arraybool($data): array|bool { return $data; } -private static function test62arraybool(array|bool $data): array|bool { return $data; } -private static function testRet62arraybool($data): array|bool { return $data; } -private static function test63arraybool(array|bool $data): array|bool { return $data; } -private static function testRet63arraybool($data): array|bool { return $data; } -private static function test64arraybool(array|bool $data): array|bool { return $data; } -private static function testRet64arraybool($data): array|bool { return $data; } -private static function test65arraybool(array|bool $data): array|bool { return $data; } -private static function testRet65arraybool($data): array|bool { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer14Test.php b/testsGenerated/Target/TypeHintReplacer14Test.php deleted file mode 100644 index 19d06de59..000000000 --- a/testsGenerated/Target/TypeHintReplacer14Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer14Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): array|bool => $data, "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet66arraybool'], "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet66arraybool'], "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet66arraybool', "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[fn ($data): array|bool => $data, "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet67arraybool'], "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet67arraybool'], "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet67arraybool', "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[fn ($data): array|bool => $data, "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet68arraybool'], "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet68arraybool'], "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet68arraybool', "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[fn ($data): array|bool => $data, "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[function ($data): array|bool { return $data; }, "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[$this, 'testRet69arraybool'], "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[[self::class, 'testRet69arraybool'], "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet69arraybool', "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], -[fn ($data): ?bool => $data, true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[function ($data): ?bool { return $data; }, true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[$this, 'testRet70bool'], true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[self::class, 'testRet70bool'], true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -['PhabelTest\Target\testRet70bool', true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (array|bool $data): array|bool => $data, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test66arraybool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test66arraybool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test66arraybool', "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[fn (array|bool $data): array|bool => $data, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test67arraybool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test67arraybool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test67arraybool', "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[fn (array|bool $data): array|bool => $data, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test68arraybool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test68arraybool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test68arraybool', "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[fn (array|bool $data): array|bool => $data, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[function (array|bool $data): array|bool { return $data; }, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[$this, 'test69arraybool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[[self::class, 'test69arraybool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test69arraybool', "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], -[fn (?bool $data): ?bool => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[function (?bool $data): ?bool { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[$this, 'test70bool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[self::class, 'test70bool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -['PhabelTest\Target\test70bool', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test66arraybool(array|bool $data): array|bool { return $data; } -private static function testRet66arraybool($data): array|bool { return $data; } -private static function test67arraybool(array|bool $data): array|bool { return $data; } -private static function testRet67arraybool($data): array|bool { return $data; } -private static function test68arraybool(array|bool $data): array|bool { return $data; } -private static function testRet68arraybool($data): array|bool { return $data; } -private static function test69arraybool(array|bool $data): array|bool { return $data; } -private static function testRet69arraybool($data): array|bool { return $data; } -private static function test70bool(?bool $data): ?bool { return $data; } -private static function testRet70bool($data): ?bool { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer15Test.php b/testsGenerated/Target/TypeHintReplacer15Test.php deleted file mode 100644 index a9554eb0c..000000000 --- a/testsGenerated/Target/TypeHintReplacer15Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer15Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?bool => $data, false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[function ($data): ?bool { return $data; }, false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[$this, 'testRet71bool'], false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[self::class, 'testRet71bool'], false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -['PhabelTest\Target\testRet71bool', false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[fn ($data): ?bool => $data, 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[function ($data): ?bool { return $data; }, 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[$this, 'testRet72bool'], 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[self::class, 'testRet72bool'], 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -['PhabelTest\Target\testRet72bool', 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[fn ($data): ?bool => $data, 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[function ($data): ?bool { return $data; }, 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[$this, 'testRet73bool'], 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[self::class, 'testRet73bool'], 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -['PhabelTest\Target\testRet73bool', 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[fn ($data): ?bool => $data, "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[function ($data): ?bool { return $data; }, "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[$this, 'testRet74bool'], "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[self::class, 'testRet74bool'], "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -['PhabelTest\Target\testRet74bool', "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[fn ($data): ?bool => $data, "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[function ($data): ?bool { return $data; }, "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[$this, 'testRet75bool'], "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[self::class, 'testRet75bool'], "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -['PhabelTest\Target\testRet75bool', "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?bool $data): ?bool => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[function (?bool $data): ?bool { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[$this, 'test71bool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[self::class, 'test71bool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -['PhabelTest\Target\test71bool', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[fn (?bool $data): ?bool => $data, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[function (?bool $data): ?bool { return $data; }, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[$this, 'test72bool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[self::class, 'test72bool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -['PhabelTest\Target\test72bool', 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[fn (?bool $data): ?bool => $data, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[function (?bool $data): ?bool { return $data; }, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[$this, 'test73bool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[self::class, 'test73bool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -['PhabelTest\Target\test73bool', 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[fn (?bool $data): ?bool => $data, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[function (?bool $data): ?bool { return $data; }, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[$this, 'test74bool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[self::class, 'test74bool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -['PhabelTest\Target\test74bool', "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[fn (?bool $data): ?bool => $data, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[function (?bool $data): ?bool { return $data; }, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[$this, 'test75bool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[self::class, 'test75bool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -['PhabelTest\Target\test75bool', "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test71bool(?bool $data): ?bool { return $data; } -private static function testRet71bool($data): ?bool { return $data; } -private static function test72bool(?bool $data): ?bool { return $data; } -private static function testRet72bool($data): ?bool { return $data; } -private static function test73bool(?bool $data): ?bool { return $data; } -private static function testRet73bool($data): ?bool { return $data; } -private static function test74bool(?bool $data): ?bool { return $data; } -private static function testRet74bool($data): ?bool { return $data; } -private static function test75bool(?bool $data): ?bool { return $data; } -private static function testRet75bool($data): ?bool { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer16Test.php b/testsGenerated/Target/TypeHintReplacer16Test.php deleted file mode 100644 index 3be3d4db2..000000000 --- a/testsGenerated/Target/TypeHintReplacer16Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer16Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?bool => $data, "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[function ($data): ?bool { return $data; }, "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[$this, 'testRet76bool'], "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[self::class, 'testRet76bool'], "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -['PhabelTest\Target\testRet76bool', "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[fn ($data): ?bool => $data, "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[function ($data): ?bool { return $data; }, "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[$this, 'testRet77bool'], "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[self::class, 'testRet77bool'], "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -['PhabelTest\Target\testRet77bool', "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[fn ($data): ?bool => $data, null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[function ($data): ?bool { return $data; }, null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[$this, 'testRet78bool'], null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[[self::class, 'testRet78bool'], null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -['PhabelTest\Target\testRet78bool', null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], -[fn ($data): bool|iterable => $data, true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet79booliterable'], true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet79booliterable'], true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet79booliterable', true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[fn ($data): bool|iterable => $data, false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet80booliterable'], false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet80booliterable'], false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet80booliterable', false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?bool $data): ?bool => $data, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[function (?bool $data): ?bool { return $data; }, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[$this, 'test76bool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[self::class, 'test76bool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -['PhabelTest\Target\test76bool', "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[fn (?bool $data): ?bool => $data, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[function (?bool $data): ?bool { return $data; }, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[$this, 'test77bool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[self::class, 'test77bool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -['PhabelTest\Target\test77bool', "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[fn (?bool $data): ?bool => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[function (?bool $data): ?bool { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[$this, 'test78bool'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[[self::class, 'test78bool'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -['PhabelTest\Target\test78bool', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], -[fn (bool|iterable $data): bool|iterable => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test79booliterable'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test79booliterable'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test79booliterable', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[fn (bool|iterable $data): bool|iterable => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test80booliterable'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test80booliterable'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test80booliterable', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test76bool(?bool $data): ?bool { return $data; } -private static function testRet76bool($data): ?bool { return $data; } -private static function test77bool(?bool $data): ?bool { return $data; } -private static function testRet77bool($data): ?bool { return $data; } -private static function test78bool(?bool $data): ?bool { return $data; } -private static function testRet78bool($data): ?bool { return $data; } -private static function test79booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet79booliterable($data): bool|iterable { return $data; } -private static function test80booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet80booliterable($data): bool|iterable { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer17Test.php b/testsGenerated/Target/TypeHintReplacer17Test.php deleted file mode 100644 index add04af8e..000000000 --- a/testsGenerated/Target/TypeHintReplacer17Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer17Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): bool|iterable => $data, 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet81booliterable'], 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet81booliterable'], 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet81booliterable', 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[fn ($data): bool|iterable => $data, 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet82booliterable'], 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet82booliterable'], 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet82booliterable', 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[fn ($data): bool|iterable => $data, "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet83booliterable'], "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet83booliterable'], "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet83booliterable', "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[fn ($data): bool|iterable => $data, "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet84booliterable'], "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet84booliterable'], "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet84booliterable', "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[fn ($data): bool|iterable => $data, "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet85booliterable'], "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet85booliterable'], "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet85booliterable', "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (bool|iterable $data): bool|iterable => $data, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test81booliterable'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test81booliterable'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test81booliterable', 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[fn (bool|iterable $data): bool|iterable => $data, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test82booliterable'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test82booliterable'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test82booliterable', 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[fn (bool|iterable $data): bool|iterable => $data, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test83booliterable'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test83booliterable'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test83booliterable', "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[fn (bool|iterable $data): bool|iterable => $data, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test84booliterable'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test84booliterable'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test84booliterable', "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[fn (bool|iterable $data): bool|iterable => $data, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test85booliterable'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test85booliterable'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test85booliterable', "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test81booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet81booliterable($data): bool|iterable { return $data; } -private static function test82booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet82booliterable($data): bool|iterable { return $data; } -private static function test83booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet83booliterable($data): bool|iterable { return $data; } -private static function test84booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet84booliterable($data): bool|iterable { return $data; } -private static function test85booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet85booliterable($data): bool|iterable { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer18Test.php b/testsGenerated/Target/TypeHintReplacer18Test.php deleted file mode 100644 index 0f1616e8f..000000000 --- a/testsGenerated/Target/TypeHintReplacer18Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer18Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): bool|iterable => $data, "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet86booliterable'], "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet86booliterable'], "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet86booliterable', "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[fn ($data): bool|iterable => $data, ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet87booliterable'], ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet87booliterable'], ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet87booliterable', ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[fn ($data): bool|iterable => $data, array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet88booliterable'], array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet88booliterable'], array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet88booliterable', array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[fn ($data): bool|iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[function ($data): bool|iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[$this, 'testRet89booliterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[[self::class, 'testRet89booliterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -['PhabelTest\Target\testRet89booliterable', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], -[fn ($data): ?iterable => $data, ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[function ($data): ?iterable { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[[$this, 'testRet90iterable'], ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[[self::class, 'testRet90iterable'], ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -['PhabelTest\Target\testRet90iterable', ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (bool|iterable $data): bool|iterable => $data, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test86booliterable'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test86booliterable'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test86booliterable', "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[fn (bool|iterable $data): bool|iterable => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test87booliterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test87booliterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test87booliterable', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[fn (bool|iterable $data): bool|iterable => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test88booliterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test88booliterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test88booliterable', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[fn (bool|iterable $data): bool|iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[function (bool|iterable $data): bool|iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[$this, 'test89booliterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[[self::class, 'test89booliterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -['PhabelTest\Target\test89booliterable', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], -[fn (?iterable $data): ?iterable => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[function (?iterable $data): ?iterable { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[[$this, 'test90iterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[[self::class, 'test90iterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -['PhabelTest\Target\test90iterable', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test86booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet86booliterable($data): bool|iterable { return $data; } -private static function test87booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet87booliterable($data): bool|iterable { return $data; } -private static function test88booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet88booliterable($data): bool|iterable { return $data; } -private static function test89booliterable(bool|iterable $data): bool|iterable { return $data; } -private static function testRet89booliterable($data): bool|iterable { return $data; } -private static function test90iterable(?iterable $data): ?iterable { return $data; } -private static function testRet90iterable($data): ?iterable { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer19Test.php b/testsGenerated/Target/TypeHintReplacer19Test.php deleted file mode 100644 index e6830e70f..000000000 --- a/testsGenerated/Target/TypeHintReplacer19Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer19Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?iterable => $data, array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[function ($data): ?iterable { return $data; }, array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[[$this, 'testRet91iterable'], array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[[self::class, 'testRet91iterable'], array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -['PhabelTest\Target\testRet91iterable', array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[fn ($data): ?iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[function ($data): ?iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[[$this, 'testRet92iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[[self::class, 'testRet92iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -['PhabelTest\Target\testRet92iterable', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[fn ($data): ?iterable => $data, null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[function ($data): ?iterable { return $data; }, null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[[$this, 'testRet93iterable'], null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[[self::class, 'testRet93iterable'], null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -['PhabelTest\Target\testRet93iterable', null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], -[fn ($data): iterable|float => $data, ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet94iterablefloat'], ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet94iterablefloat'], ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet94iterablefloat', ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[fn ($data): iterable|float => $data, array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet95iterablefloat'], array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet95iterablefloat'], array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet95iterablefloat', array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?iterable $data): ?iterable => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[function (?iterable $data): ?iterable { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[[$this, 'test91iterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[[self::class, 'test91iterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -['PhabelTest\Target\test91iterable', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[fn (?iterable $data): ?iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[function (?iterable $data): ?iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[[$this, 'test92iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[[self::class, 'test92iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -['PhabelTest\Target\test92iterable', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[fn (?iterable $data): ?iterable => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[function (?iterable $data): ?iterable { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[[$this, 'test93iterable'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[[self::class, 'test93iterable'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -['PhabelTest\Target\test93iterable', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], -[fn (iterable|float $data): iterable|float => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test94iterablefloat'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test94iterablefloat'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test94iterablefloat', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[fn (iterable|float $data): iterable|float => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test95iterablefloat'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test95iterablefloat'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test95iterablefloat', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test91iterable(?iterable $data): ?iterable { return $data; } -private static function testRet91iterable($data): ?iterable { return $data; } -private static function test92iterable(?iterable $data): ?iterable { return $data; } -private static function testRet92iterable($data): ?iterable { return $data; } -private static function test93iterable(?iterable $data): ?iterable { return $data; } -private static function testRet93iterable($data): ?iterable { return $data; } -private static function test94iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet94iterablefloat($data): iterable|float { return $data; } -private static function test95iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet95iterablefloat($data): iterable|float { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer1Test.php b/testsGenerated/Target/TypeHintReplacer1Test.php deleted file mode 100644 index 738484588..000000000 --- a/testsGenerated/Target/TypeHintReplacer1Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer1Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): callable => $data, fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[function ($data): callable { return $data; }, fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[[$this, 'testRet1callable'], fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[[self::class, 'testRet1callable'], fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -['PhabelTest\Target\testRet1callable', fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[fn ($data): callable => $data, [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[function ($data): callable { return $data; }, [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[[$this, 'testRet2callable'], [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[[self::class, 'testRet2callable'], [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -['PhabelTest\Target\testRet2callable', [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[fn ($data): callable => $data, [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[function ($data): callable { return $data; }, [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[[$this, 'testRet3callable'], [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[[self::class, 'testRet3callable'], [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -['PhabelTest\Target\testRet3callable', [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], -[fn ($data): array => $data, ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], -[function ($data): array { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], -[[$this, 'testRet4array'], ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], -[[self::class, 'testRet4array'], ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], -['PhabelTest\Target\testRet4array', ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], -[fn ($data): array => $data, array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~'], -[function ($data): array { return $data; }, array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~'], -[[$this, 'testRet5array'], array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~'], -[[self::class, 'testRet5array'], array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~'], -['PhabelTest\Target\testRet5array', array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (callable $data): callable => $data, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[function (callable $data): callable { return $data; }, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[[$this, 'test1callable'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[[self::class, 'test1callable'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -['PhabelTest\Target\test1callable', fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[fn (callable $data): callable => $data, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[function (callable $data): callable { return $data; }, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[[$this, 'test2callable'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[[self::class, 'test2callable'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -['PhabelTest\Target\test2callable', [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[fn (callable $data): callable => $data, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[function (callable $data): callable { return $data; }, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[[$this, 'test3callable'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[[self::class, 'test3callable'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -['PhabelTest\Target\test3callable', [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], -[fn (array $data): array => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], -[function (array $data): array { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], -[[$this, 'test4array'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], -[[self::class, 'test4array'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], -['PhabelTest\Target\test4array', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], -[fn (array $data): array => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], -[function (array $data): array { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], -[[$this, 'test5array'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], -[[self::class, 'test5array'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], -['PhabelTest\Target\test5array', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test1callable(callable $data): callable { return $data; } -private static function testRet1callable($data): callable { return $data; } -private static function test2callable(callable $data): callable { return $data; } -private static function testRet2callable($data): callable { return $data; } -private static function test3callable(callable $data): callable { return $data; } -private static function testRet3callable($data): callable { return $data; } -private static function test4array(array $data): array { return $data; } -private static function testRet4array($data): array { return $data; } -private static function test5array(array $data): array { return $data; } -private static function testRet5array($data): array { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer20Test.php b/testsGenerated/Target/TypeHintReplacer20Test.php deleted file mode 100644 index f57c31f26..000000000 --- a/testsGenerated/Target/TypeHintReplacer20Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer20Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): iterable|float => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet96iterablefloat'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet96iterablefloat'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet96iterablefloat', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[fn ($data): iterable|float => $data, 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet97iterablefloat'], 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet97iterablefloat'], 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet97iterablefloat', 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[fn ($data): iterable|float => $data, -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet98iterablefloat'], -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet98iterablefloat'], -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet98iterablefloat', -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[fn ($data): iterable|float => $data, 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet99iterablefloat'], 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet99iterablefloat'], 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet99iterablefloat', 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[fn ($data): iterable|float => $data, 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet100iterablefloat'], 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet100iterablefloat'], 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet100iterablefloat', 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (iterable|float $data): iterable|float => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test96iterablefloat'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test96iterablefloat'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test96iterablefloat', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[fn (iterable|float $data): iterable|float => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test97iterablefloat'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test97iterablefloat'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test97iterablefloat', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[fn (iterable|float $data): iterable|float => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test98iterablefloat'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test98iterablefloat'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test98iterablefloat', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[fn (iterable|float $data): iterable|float => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test99iterablefloat'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test99iterablefloat'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test99iterablefloat', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[fn (iterable|float $data): iterable|float => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test100iterablefloat'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test100iterablefloat'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test100iterablefloat', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test96iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet96iterablefloat($data): iterable|float { return $data; } -private static function test97iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet97iterablefloat($data): iterable|float { return $data; } -private static function test98iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet98iterablefloat($data): iterable|float { return $data; } -private static function test99iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet99iterablefloat($data): iterable|float { return $data; } -private static function test100iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet100iterablefloat($data): iterable|float { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer21Test.php b/testsGenerated/Target/TypeHintReplacer21Test.php deleted file mode 100644 index d2158ffb9..000000000 --- a/testsGenerated/Target/TypeHintReplacer21Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer21Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): iterable|float => $data, true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet101iterablefloat'], true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet101iterablefloat'], true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet101iterablefloat', true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[fn ($data): iterable|float => $data, false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet102iterablefloat'], false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet102iterablefloat'], false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet102iterablefloat', false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[fn ($data): iterable|float => $data, '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet103iterablefloat'], '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet103iterablefloat'], '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet103iterablefloat', '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[fn ($data): iterable|float => $data, "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[function ($data): iterable|float { return $data; }, "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[$this, 'testRet104iterablefloat'], "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[[self::class, 'testRet104iterablefloat'], "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -['PhabelTest\Target\testRet104iterablefloat', "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], -[fn ($data): ?float => $data, 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[function ($data): ?float { return $data; }, 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[$this, 'testRet105float'], 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[self::class, 'testRet105float'], 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -['PhabelTest\Target\testRet105float', 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (iterable|float $data): iterable|float => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test101iterablefloat'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test101iterablefloat'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test101iterablefloat', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[fn (iterable|float $data): iterable|float => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test102iterablefloat'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test102iterablefloat'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test102iterablefloat', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[fn (iterable|float $data): iterable|float => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test103iterablefloat'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test103iterablefloat'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test103iterablefloat', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[fn (iterable|float $data): iterable|float => $data, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[function (iterable|float $data): iterable|float { return $data; }, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[$this, 'test104iterablefloat'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[[self::class, 'test104iterablefloat'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -['PhabelTest\Target\test104iterablefloat', "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], -[fn (?float $data): ?float => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[function (?float $data): ?float { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[$this, 'test105float'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[self::class, 'test105float'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -['PhabelTest\Target\test105float', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test101iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet101iterablefloat($data): iterable|float { return $data; } -private static function test102iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet102iterablefloat($data): iterable|float { return $data; } -private static function test103iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet103iterablefloat($data): iterable|float { return $data; } -private static function test104iterablefloat(iterable|float $data): iterable|float { return $data; } -private static function testRet104iterablefloat($data): iterable|float { return $data; } -private static function test105float(?float $data): ?float { return $data; } -private static function testRet105float($data): ?float { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer22Test.php b/testsGenerated/Target/TypeHintReplacer22Test.php deleted file mode 100644 index 9b01273fa..000000000 --- a/testsGenerated/Target/TypeHintReplacer22Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer22Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?float => $data, -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[function ($data): ?float { return $data; }, -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[$this, 'testRet106float'], -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[self::class, 'testRet106float'], -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -['PhabelTest\Target\testRet106float', -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[fn ($data): ?float => $data, 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[function ($data): ?float { return $data; }, 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[$this, 'testRet107float'], 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[self::class, 'testRet107float'], 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -['PhabelTest\Target\testRet107float', 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[fn ($data): ?float => $data, 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[function ($data): ?float { return $data; }, 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[$this, 'testRet108float'], 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[self::class, 'testRet108float'], 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -['PhabelTest\Target\testRet108float', 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[fn ($data): ?float => $data, true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[function ($data): ?float { return $data; }, true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[$this, 'testRet109float'], true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[self::class, 'testRet109float'], true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -['PhabelTest\Target\testRet109float', true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[fn ($data): ?float => $data, false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[function ($data): ?float { return $data; }, false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[$this, 'testRet110float'], false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[self::class, 'testRet110float'], false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -['PhabelTest\Target\testRet110float', false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?float $data): ?float => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[function (?float $data): ?float { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[$this, 'test106float'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[self::class, 'test106float'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -['PhabelTest\Target\test106float', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[fn (?float $data): ?float => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[function (?float $data): ?float { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[$this, 'test107float'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[self::class, 'test107float'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -['PhabelTest\Target\test107float', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[fn (?float $data): ?float => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[function (?float $data): ?float { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[$this, 'test108float'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[self::class, 'test108float'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -['PhabelTest\Target\test108float', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[fn (?float $data): ?float => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[function (?float $data): ?float { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[$this, 'test109float'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[self::class, 'test109float'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -['PhabelTest\Target\test109float', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[fn (?float $data): ?float => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[function (?float $data): ?float { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[$this, 'test110float'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[self::class, 'test110float'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -['PhabelTest\Target\test110float', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test106float(?float $data): ?float { return $data; } -private static function testRet106float($data): ?float { return $data; } -private static function test107float(?float $data): ?float { return $data; } -private static function testRet107float($data): ?float { return $data; } -private static function test108float(?float $data): ?float { return $data; } -private static function testRet108float($data): ?float { return $data; } -private static function test109float(?float $data): ?float { return $data; } -private static function testRet109float($data): ?float { return $data; } -private static function test110float(?float $data): ?float { return $data; } -private static function testRet110float($data): ?float { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer23Test.php b/testsGenerated/Target/TypeHintReplacer23Test.php deleted file mode 100644 index 4746b08c3..000000000 --- a/testsGenerated/Target/TypeHintReplacer23Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer23Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?float => $data, '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[function ($data): ?float { return $data; }, '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[$this, 'testRet111float'], '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[self::class, 'testRet111float'], '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -['PhabelTest\Target\testRet111float', '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[fn ($data): ?float => $data, "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[function ($data): ?float { return $data; }, "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[$this, 'testRet112float'], "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[self::class, 'testRet112float'], "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -['PhabelTest\Target\testRet112float', "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[fn ($data): ?float => $data, null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[function ($data): ?float { return $data; }, null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[$this, 'testRet113float'], null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[[self::class, 'testRet113float'], null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -['PhabelTest\Target\testRet113float', null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], -[fn ($data): float|object => $data, 123, null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, 123, null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet114floatobject'], 123, null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet114floatobject'], 123, null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet114floatobject', 123, null, '~.*Return value must be of type object\\|float, null returned~'], -[fn ($data): float|object => $data, -1, null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, -1, null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet115floatobject'], -1, null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet115floatobject'], -1, null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet115floatobject', -1, null, '~.*Return value must be of type object\\|float, null returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?float $data): ?float => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[function (?float $data): ?float { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[$this, 'test111float'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[self::class, 'test111float'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -['PhabelTest\Target\test111float', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[fn (?float $data): ?float => $data, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[function (?float $data): ?float { return $data; }, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[$this, 'test112float'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[self::class, 'test112float'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -['PhabelTest\Target\test112float', "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[fn (?float $data): ?float => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[function (?float $data): ?float { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[$this, 'test113float'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[[self::class, 'test113float'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -['PhabelTest\Target\test113float', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], -[fn (float|object $data): float|object => $data, 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test114floatobject'], 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test114floatobject'], 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test114floatobject', 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[fn (float|object $data): float|object => $data, -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test115floatobject'], -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test115floatobject'], -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test115floatobject', -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~']]; -; - } - - public static function noop() {} - - private static function test111float(?float $data): ?float { return $data; } -private static function testRet111float($data): ?float { return $data; } -private static function test112float(?float $data): ?float { return $data; } -private static function testRet112float($data): ?float { return $data; } -private static function test113float(?float $data): ?float { return $data; } -private static function testRet113float($data): ?float { return $data; } -private static function test114floatobject(float|object $data): float|object { return $data; } -private static function testRet114floatobject($data): float|object { return $data; } -private static function test115floatobject(float|object $data): float|object { return $data; } -private static function testRet115floatobject($data): float|object { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer24Test.php b/testsGenerated/Target/TypeHintReplacer24Test.php deleted file mode 100644 index 1e1948f1f..000000000 --- a/testsGenerated/Target/TypeHintReplacer24Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer24Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): float|object => $data, 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet116floatobject'], 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet116floatobject'], 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet116floatobject', 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], -[fn ($data): float|object => $data, 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet117floatobject'], 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet117floatobject'], 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet117floatobject', 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], -[fn ($data): float|object => $data, true, null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, true, null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet118floatobject'], true, null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet118floatobject'], true, null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet118floatobject', true, null, '~.*Return value must be of type object\\|float, null returned~'], -[fn ($data): float|object => $data, false, null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, false, null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet119floatobject'], false, null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet119floatobject'], false, null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet119floatobject', false, null, '~.*Return value must be of type object\\|float, null returned~'], -[fn ($data): float|object => $data, '123', null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, '123', null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet120floatobject'], '123', null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet120floatobject'], '123', null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet120floatobject', '123', null, '~.*Return value must be of type object\\|float, null returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (float|object $data): float|object => $data, 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test116floatobject'], 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test116floatobject'], 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test116floatobject', 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[fn (float|object $data): float|object => $data, 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test117floatobject'], 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test117floatobject'], 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test117floatobject', 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[fn (float|object $data): float|object => $data, true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test118floatobject'], true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test118floatobject'], true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test118floatobject', true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[fn (float|object $data): float|object => $data, false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test119floatobject'], false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test119floatobject'], false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test119floatobject', false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[fn (float|object $data): float|object => $data, '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test120floatobject'], '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test120floatobject'], '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test120floatobject', '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~']]; -; - } - - public static function noop() {} - - private static function test116floatobject(float|object $data): float|object { return $data; } -private static function testRet116floatobject($data): float|object { return $data; } -private static function test117floatobject(float|object $data): float|object { return $data; } -private static function testRet117floatobject($data): float|object { return $data; } -private static function test118floatobject(float|object $data): float|object { return $data; } -private static function testRet118floatobject($data): float|object { return $data; } -private static function test119floatobject(float|object $data): float|object { return $data; } -private static function testRet119floatobject($data): float|object { return $data; } -private static function test120floatobject(float|object $data): float|object { return $data; } -private static function testRet120floatobject($data): float|object { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer25Test.php b/testsGenerated/Target/TypeHintReplacer25Test.php deleted file mode 100644 index 1d450ea0c..000000000 --- a/testsGenerated/Target/TypeHintReplacer25Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer25Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): float|object => $data, "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet121floatobject'], "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet121floatobject'], "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet121floatobject', "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], -[fn ($data): float|object => $data, new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet122floatobject'], new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet122floatobject'], new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet122floatobject', new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], -[fn ($data): float|object => $data, $this, null, '~.*Return value must be of type object\\|float, null returned~'], -[function ($data): float|object { return $data; }, $this, null, '~.*Return value must be of type object\\|float, null returned~'], -[[$this, 'testRet123floatobject'], $this, null, '~.*Return value must be of type object\\|float, null returned~'], -[[self::class, 'testRet123floatobject'], $this, null, '~.*Return value must be of type object\\|float, null returned~'], -['PhabelTest\Target\testRet123floatobject', $this, null, '~.*Return value must be of type object\\|float, null returned~'], -[fn ($data): ?object => $data, new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], -[function ($data): ?object { return $data; }, new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], -[[$this, 'testRet124object'], new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], -[[self::class, 'testRet124object'], new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], -['PhabelTest\Target\testRet124object', new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], -[fn ($data): ?object => $data, $this, 0, '~.*Return value must be of type \\?object, int returned~'], -[function ($data): ?object { return $data; }, $this, 0, '~.*Return value must be of type \\?object, int returned~'], -[[$this, 'testRet125object'], $this, 0, '~.*Return value must be of type \\?object, int returned~'], -[[self::class, 'testRet125object'], $this, 0, '~.*Return value must be of type \\?object, int returned~'], -['PhabelTest\Target\testRet125object', $this, 0, '~.*Return value must be of type \\?object, int returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (float|object $data): float|object => $data, "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test121floatobject'], "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test121floatobject'], "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test121floatobject', "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[fn (float|object $data): float|object => $data, new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test122floatobject'], new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test122floatobject'], new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test122floatobject', new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[fn (float|object $data): float|object => $data, $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[function (float|object $data): float|object { return $data; }, $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[$this, 'test123floatobject'], $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[[self::class, 'test123floatobject'], $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -['PhabelTest\Target\test123floatobject', $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], -[fn (?object $data): ?object => $data, new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[function (?object $data): ?object { return $data; }, new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[[$this, 'test124object'], new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[[self::class, 'test124object'], new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -['PhabelTest\Target\test124object', new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[fn (?object $data): ?object => $data, $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[function (?object $data): ?object { return $data; }, $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[[$this, 'test125object'], $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[[self::class, 'test125object'], $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -['PhabelTest\Target\test125object', $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~']]; -; - } - - public static function noop() {} - - private static function test121floatobject(float|object $data): float|object { return $data; } -private static function testRet121floatobject($data): float|object { return $data; } -private static function test122floatobject(float|object $data): float|object { return $data; } -private static function testRet122floatobject($data): float|object { return $data; } -private static function test123floatobject(float|object $data): float|object { return $data; } -private static function testRet123floatobject($data): float|object { return $data; } -private static function test124object(?object $data): ?object { return $data; } -private static function testRet124object($data): ?object { return $data; } -private static function test125object(?object $data): ?object { return $data; } -private static function testRet125object($data): ?object { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer26Test.php b/testsGenerated/Target/TypeHintReplacer26Test.php deleted file mode 100644 index b20b9d0c6..000000000 --- a/testsGenerated/Target/TypeHintReplacer26Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer26Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?object => $data, null, 0, '~.*Return value must be of type \\?object, int returned~'], -[function ($data): ?object { return $data; }, null, 0, '~.*Return value must be of type \\?object, int returned~'], -[[$this, 'testRet126object'], null, 0, '~.*Return value must be of type \\?object, int returned~'], -[[self::class, 'testRet126object'], null, 0, '~.*Return value must be of type \\?object, int returned~'], -['PhabelTest\Target\testRet126object', null, 0, '~.*Return value must be of type \\?object, int returned~'], -[fn ($data): object|string => $data, new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet127objectstring'], new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet127objectstring'], new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet127objectstring', new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], -[fn ($data): object|string => $data, $this, null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, $this, null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet128objectstring'], $this, null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet128objectstring'], $this, null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet128objectstring', $this, null, '~.*Return value must be of type object\\|string, null returned~'], -[fn ($data): object|string => $data, 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet129objectstring'], 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet129objectstring'], 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet129objectstring', 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], -[fn ($data): object|string => $data, new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet130objectstring'], new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet130objectstring'], new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet130objectstring', new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?object $data): ?object => $data, null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[function (?object $data): ?object { return $data; }, null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[[$this, 'test126object'], null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[[self::class, 'test126object'], null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -['PhabelTest\Target\test126object', null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], -[fn (object|string $data): object|string => $data, new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test127objectstring'], new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test127objectstring'], new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test127objectstring', new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[fn (object|string $data): object|string => $data, $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test128objectstring'], $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test128objectstring'], $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test128objectstring', $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[fn (object|string $data): object|string => $data, 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test129objectstring'], 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test129objectstring'], 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test129objectstring', 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[fn (object|string $data): object|string => $data, new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test130objectstring'], new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test130objectstring'], new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test130objectstring', new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~']]; -; - } - - public static function noop() {} - - private static function test126object(?object $data): ?object { return $data; } -private static function testRet126object($data): ?object { return $data; } -private static function test127objectstring(object|string $data): object|string { return $data; } -private static function testRet127objectstring($data): object|string { return $data; } -private static function test128objectstring(object|string $data): object|string { return $data; } -private static function testRet128objectstring($data): object|string { return $data; } -private static function test129objectstring(object|string $data): object|string { return $data; } -private static function testRet129objectstring($data): object|string { return $data; } -private static function test130objectstring(object|string $data): object|string { return $data; } -private static function testRet130objectstring($data): object|string { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer27Test.php b/testsGenerated/Target/TypeHintReplacer27Test.php deleted file mode 100644 index fa0f55768..000000000 --- a/testsGenerated/Target/TypeHintReplacer27Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer27Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): object|string => $data, 123, null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, 123, null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet131objectstring'], 123, null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet131objectstring'], 123, null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet131objectstring', 123, null, '~.*Return value must be of type object\\|string, null returned~'], -[fn ($data): object|string => $data, -1, null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, -1, null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet132objectstring'], -1, null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet132objectstring'], -1, null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet132objectstring', -1, null, '~.*Return value must be of type object\\|string, null returned~'], -[fn ($data): object|string => $data, 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet133objectstring'], 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet133objectstring'], 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet133objectstring', 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], -[fn ($data): object|string => $data, 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet134objectstring'], 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet134objectstring'], 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet134objectstring', 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], -[fn ($data): object|string => $data, true, null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, true, null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet135objectstring'], true, null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet135objectstring'], true, null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet135objectstring', true, null, '~.*Return value must be of type object\\|string, null returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (object|string $data): object|string => $data, 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test131objectstring'], 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test131objectstring'], 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test131objectstring', 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[fn (object|string $data): object|string => $data, -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test132objectstring'], -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test132objectstring'], -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test132objectstring', -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[fn (object|string $data): object|string => $data, 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test133objectstring'], 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test133objectstring'], 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test133objectstring', 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[fn (object|string $data): object|string => $data, 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test134objectstring'], 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test134objectstring'], 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test134objectstring', 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[fn (object|string $data): object|string => $data, true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test135objectstring'], true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test135objectstring'], true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test135objectstring', true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~']]; -; - } - - public static function noop() {} - - private static function test131objectstring(object|string $data): object|string { return $data; } -private static function testRet131objectstring($data): object|string { return $data; } -private static function test132objectstring(object|string $data): object|string { return $data; } -private static function testRet132objectstring($data): object|string { return $data; } -private static function test133objectstring(object|string $data): object|string { return $data; } -private static function testRet133objectstring($data): object|string { return $data; } -private static function test134objectstring(object|string $data): object|string { return $data; } -private static function testRet134objectstring($data): object|string { return $data; } -private static function test135objectstring(object|string $data): object|string { return $data; } -private static function testRet135objectstring($data): object|string { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer28Test.php b/testsGenerated/Target/TypeHintReplacer28Test.php deleted file mode 100644 index a990037dc..000000000 --- a/testsGenerated/Target/TypeHintReplacer28Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer28Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): object|string => $data, false, null, '~.*Return value must be of type object\\|string, null returned~'], -[function ($data): object|string { return $data; }, false, null, '~.*Return value must be of type object\\|string, null returned~'], -[[$this, 'testRet136objectstring'], false, null, '~.*Return value must be of type object\\|string, null returned~'], -[[self::class, 'testRet136objectstring'], false, null, '~.*Return value must be of type object\\|string, null returned~'], -['PhabelTest\Target\testRet136objectstring', false, null, '~.*Return value must be of type object\\|string, null returned~'], -[fn ($data): ?string => $data, 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[function ($data): ?string { return $data; }, 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[$this, 'testRet137string'], 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[self::class, 'testRet137string'], 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -['PhabelTest\Target\testRet137string', 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[fn ($data): ?string => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[function ($data): ?string { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[$this, 'testRet138string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[self::class, 'testRet138string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -['PhabelTest\Target\testRet138string', new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[fn ($data): ?string => $data, 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[function ($data): ?string { return $data; }, 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[$this, 'testRet139string'], 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[self::class, 'testRet139string'], 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -['PhabelTest\Target\testRet139string', 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[fn ($data): ?string => $data, -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[function ($data): ?string { return $data; }, -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[$this, 'testRet140string'], -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[self::class, 'testRet140string'], -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -['PhabelTest\Target\testRet140string', -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (object|string $data): object|string => $data, false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[function (object|string $data): object|string { return $data; }, false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[$this, 'test136objectstring'], false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[[self::class, 'test136objectstring'], false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -['PhabelTest\Target\test136objectstring', false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], -[fn (?string $data): ?string => $data, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[function (?string $data): ?string { return $data; }, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[$this, 'test137string'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[self::class, 'test137string'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -['PhabelTest\Target\test137string', 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[fn (?string $data): ?string => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[function (?string $data): ?string { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[$this, 'test138string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[self::class, 'test138string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -['PhabelTest\Target\test138string', new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[fn (?string $data): ?string => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[function (?string $data): ?string { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[$this, 'test139string'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[self::class, 'test139string'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -['PhabelTest\Target\test139string', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[fn (?string $data): ?string => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[function (?string $data): ?string { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[$this, 'test140string'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[self::class, 'test140string'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -['PhabelTest\Target\test140string', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test136objectstring(object|string $data): object|string { return $data; } -private static function testRet136objectstring($data): object|string { return $data; } -private static function test137string(?string $data): ?string { return $data; } -private static function testRet137string($data): ?string { return $data; } -private static function test138string(?string $data): ?string { return $data; } -private static function testRet138string($data): ?string { return $data; } -private static function test139string(?string $data): ?string { return $data; } -private static function testRet139string($data): ?string { return $data; } -private static function test140string(?string $data): ?string { return $data; } -private static function testRet140string($data): ?string { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer29Test.php b/testsGenerated/Target/TypeHintReplacer29Test.php deleted file mode 100644 index 050df2f5b..000000000 --- a/testsGenerated/Target/TypeHintReplacer29Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer29Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?string => $data, 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[function ($data): ?string { return $data; }, 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[$this, 'testRet141string'], 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[self::class, 'testRet141string'], 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -['PhabelTest\Target\testRet141string', 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[fn ($data): ?string => $data, 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[function ($data): ?string { return $data; }, 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[$this, 'testRet142string'], 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[self::class, 'testRet142string'], 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -['PhabelTest\Target\testRet142string', 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[fn ($data): ?string => $data, true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[function ($data): ?string { return $data; }, true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[$this, 'testRet143string'], true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[self::class, 'testRet143string'], true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -['PhabelTest\Target\testRet143string', true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[fn ($data): ?string => $data, false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[function ($data): ?string { return $data; }, false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[$this, 'testRet144string'], false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[self::class, 'testRet144string'], false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -['PhabelTest\Target\testRet144string', false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[fn ($data): ?string => $data, null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[function ($data): ?string { return $data; }, null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[$this, 'testRet145string'], null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -[[self::class, 'testRet145string'], null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], -['PhabelTest\Target\testRet145string', null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?string $data): ?string => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[function (?string $data): ?string { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[$this, 'test141string'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[self::class, 'test141string'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -['PhabelTest\Target\test141string', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[fn (?string $data): ?string => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[function (?string $data): ?string { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[$this, 'test142string'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[self::class, 'test142string'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -['PhabelTest\Target\test142string', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[fn (?string $data): ?string => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[function (?string $data): ?string { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[$this, 'test143string'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[self::class, 'test143string'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -['PhabelTest\Target\test143string', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[fn (?string $data): ?string => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[function (?string $data): ?string { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[$this, 'test144string'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[self::class, 'test144string'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -['PhabelTest\Target\test144string', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[fn (?string $data): ?string => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[function (?string $data): ?string { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[$this, 'test145string'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -[[self::class, 'test145string'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], -['PhabelTest\Target\test145string', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test141string(?string $data): ?string { return $data; } -private static function testRet141string($data): ?string { return $data; } -private static function test142string(?string $data): ?string { return $data; } -private static function testRet142string($data): ?string { return $data; } -private static function test143string(?string $data): ?string { return $data; } -private static function testRet143string($data): ?string { return $data; } -private static function test144string(?string $data): ?string { return $data; } -private static function testRet144string($data): ?string { return $data; } -private static function test145string(?string $data): ?string { return $data; } -private static function testRet145string($data): ?string { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer2Test.php b/testsGenerated/Target/TypeHintReplacer2Test.php deleted file mode 100644 index eff9c307f..000000000 --- a/testsGenerated/Target/TypeHintReplacer2Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer2Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): bool => $data, true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[function ($data): bool { return $data; }, true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[$this, 'testRet6bool'], true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[self::class, 'testRet6bool'], true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -['PhabelTest\Target\testRet6bool', true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[fn ($data): bool => $data, false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[function ($data): bool { return $data; }, false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[$this, 'testRet7bool'], false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[self::class, 'testRet7bool'], false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -['PhabelTest\Target\testRet7bool', false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[fn ($data): bool => $data, 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[function ($data): bool { return $data; }, 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[$this, 'testRet8bool'], 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[self::class, 'testRet8bool'], 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -['PhabelTest\Target\testRet8bool', 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[fn ($data): bool => $data, 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[function ($data): bool { return $data; }, 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[$this, 'testRet9bool'], 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[self::class, 'testRet9bool'], 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -['PhabelTest\Target\testRet9bool', 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[fn ($data): bool => $data, "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[function ($data): bool { return $data; }, "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[$this, 'testRet10bool'], "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[self::class, 'testRet10bool'], "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -['PhabelTest\Target\testRet10bool', "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (bool $data): bool => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[function (bool $data): bool { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[$this, 'test6bool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[self::class, 'test6bool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -['PhabelTest\Target\test6bool', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[fn (bool $data): bool => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[function (bool $data): bool { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[$this, 'test7bool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[self::class, 'test7bool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -['PhabelTest\Target\test7bool', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[fn (bool $data): bool => $data, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[function (bool $data): bool { return $data; }, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[$this, 'test8bool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[self::class, 'test8bool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -['PhabelTest\Target\test8bool', 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[fn (bool $data): bool => $data, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[function (bool $data): bool { return $data; }, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[$this, 'test9bool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[self::class, 'test9bool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -['PhabelTest\Target\test9bool', 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[fn (bool $data): bool => $data, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[function (bool $data): bool { return $data; }, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[$this, 'test10bool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[self::class, 'test10bool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -['PhabelTest\Target\test10bool', "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test6bool(bool $data): bool { return $data; } -private static function testRet6bool($data): bool { return $data; } -private static function test7bool(bool $data): bool { return $data; } -private static function testRet7bool($data): bool { return $data; } -private static function test8bool(bool $data): bool { return $data; } -private static function testRet8bool($data): bool { return $data; } -private static function test9bool(bool $data): bool { return $data; } -private static function testRet9bool($data): bool { return $data; } -private static function test10bool(bool $data): bool { return $data; } -private static function testRet10bool($data): bool { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer30Test.php b/testsGenerated/Target/TypeHintReplacer30Test.php deleted file mode 100644 index 5cd0c91a5..000000000 --- a/testsGenerated/Target/TypeHintReplacer30Test.php +++ /dev/null @@ -1,97 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer30Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): string|self => $data, 'lmao', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[function ($data): string|self { return $data; }, 'lmao', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[$this, 'testRet146stringself'], 'lmao', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[self::class, 'testRet146stringself'], 'lmao', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[fn ($data): string|self => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[function ($data): string|self { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[$this, 'testRet147stringself'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[self::class, 'testRet147stringself'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[fn ($data): string|self => $data, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[function ($data): string|self { return $data; }, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[$this, 'testRet148stringself'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[self::class, 'testRet148stringself'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[fn ($data): string|self => $data, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[function ($data): string|self { return $data; }, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[$this, 'testRet149stringself'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[self::class, 'testRet149stringself'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[fn ($data): string|self => $data, 123.123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[function ($data): string|self { return $data; }, 123.123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[$this, 'testRet150stringself'], 123.123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], -[[self::class, 'testRet150stringself'], 123.123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (string|self $data): string|self => $data, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[function (string|self $data): string|self { return $data; }, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[$this, 'test146stringself'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[self::class, 'test146stringself'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[fn (string|self $data): string|self => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[function (string|self $data): string|self { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[$this, 'test147stringself'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[self::class, 'test147stringself'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[fn (string|self $data): string|self => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[function (string|self $data): string|self { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[$this, 'test148stringself'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[self::class, 'test148stringself'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[fn (string|self $data): string|self => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[function (string|self $data): string|self { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[$this, 'test149stringself'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[self::class, 'test149stringself'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[fn (string|self $data): string|self => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[function (string|self $data): string|self { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[$this, 'test150stringself'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], -[[self::class, 'test150stringself'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test146stringself(string|self $data): string|self { return $data; } -private static function testRet146stringself($data): string|self { return $data; } -private static function test147stringself(string|self $data): string|self { return $data; } -private static function testRet147stringself($data): string|self { return $data; } -private static function test148stringself(string|self $data): string|self { return $data; } -private static function testRet148stringself($data): string|self { return $data; } -private static function test149stringself(string|self $data): string|self { return $data; } -private static function testRet149stringself($data): string|self { return $data; } -private static function test150stringself(string|self $data): string|self { return $data; } -private static function testRet150stringself($data): string|self { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer31Test.php b/testsGenerated/Target/TypeHintReplacer31Test.php deleted file mode 100644 index 5818b26b1..000000000 --- a/testsGenerated/Target/TypeHintReplacer31Test.php +++ /dev/null @@ -1,97 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer31Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): string|self => $data, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[function ($data): string|self { return $data; }, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[[$this, 'testRet151stringself'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[[self::class, 'testRet151stringself'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[fn ($data): string|self => $data, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[function ($data): string|self { return $data; }, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[[$this, 'testRet152stringself'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[[self::class, 'testRet152stringself'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[fn ($data): string|self => $data, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[function ($data): string|self { return $data; }, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[[$this, 'testRet153stringself'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[[self::class, 'testRet153stringself'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[fn ($data): string|self => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[function ($data): string|self { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[[$this, 'testRet154stringself'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[[self::class, 'testRet154stringself'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], -[fn ($data): ?self => $data, $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous returned~'], -[function ($data): ?self { return $data; }, $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous returned~'], -[[$this, 'testRet155self'], $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous returned~'], -[[self::class, 'testRet155self'], $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (string|self $data): string|self => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[function (string|self $data): string|self { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[[$this, 'test151stringself'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[[self::class, 'test151stringself'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[fn (string|self $data): string|self => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[function (string|self $data): string|self { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[[$this, 'test152stringself'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[[self::class, 'test152stringself'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[fn (string|self $data): string|self => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[function (string|self $data): string|self { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[[$this, 'test153stringself'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[[self::class, 'test153stringself'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[fn (string|self $data): string|self => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[function (string|self $data): string|self { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[[$this, 'test154stringself'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[[self::class, 'test154stringself'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], -[fn (?self $data): ?self => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous given, .*~'], -[function (?self $data): ?self { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous given, .*~'], -[[$this, 'test155self'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous given, .*~'], -[[self::class, 'test155self'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test151stringself(string|self $data): string|self { return $data; } -private static function testRet151stringself($data): string|self { return $data; } -private static function test152stringself(string|self $data): string|self { return $data; } -private static function testRet152stringself($data): string|self { return $data; } -private static function test153stringself(string|self $data): string|self { return $data; } -private static function testRet153stringself($data): string|self { return $data; } -private static function test154stringself(string|self $data): string|self { return $data; } -private static function testRet154stringself($data): string|self { return $data; } -private static function test155self(?self $data): ?self { return $data; } -private static function testRet155self($data): ?self { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer32Test.php b/testsGenerated/Target/TypeHintReplacer32Test.php deleted file mode 100644 index 624c377bf..000000000 --- a/testsGenerated/Target/TypeHintReplacer32Test.php +++ /dev/null @@ -1,97 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer32Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?self => $data, null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous returned~'], -[function ($data): ?self { return $data; }, null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous returned~'], -[[$this, 'testRet156self'], null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous returned~'], -[[self::class, 'testRet156self'], null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous returned~'], -[fn ($data): self|int => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[function ($data): self|int { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[[$this, 'testRet157selfint'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet157selfint'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[fn ($data): self|int => $data, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[function ($data): self|int { return $data; }, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[[$this, 'testRet158selfint'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet158selfint'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[fn ($data): self|int => $data, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[function ($data): self|int { return $data; }, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[[$this, 'testRet159selfint'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet159selfint'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[fn ($data): self|int => $data, 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[function ($data): self|int { return $data; }, 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[[$this, 'testRet160selfint'], 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet160selfint'], 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?self $data): ?self => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous given, .*~'], -[function (?self $data): ?self { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous given, .*~'], -[[$this, 'test156self'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous given, .*~'], -[[self::class, 'test156self'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous given, .*~'], -[fn (self|int $data): self|int => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[function (self|int $data): self|int { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[[$this, 'test157selfint'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test157selfint'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[fn (self|int $data): self|int => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[function (self|int $data): self|int { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[[$this, 'test158selfint'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test158selfint'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[fn (self|int $data): self|int => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[function (self|int $data): self|int { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[[$this, 'test159selfint'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test159selfint'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[fn (self|int $data): self|int => $data, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[function (self|int $data): self|int { return $data; }, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[[$this, 'test160selfint'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test160selfint'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test156self(?self $data): ?self { return $data; } -private static function testRet156self($data): ?self { return $data; } -private static function test157selfint(self|int $data): self|int { return $data; } -private static function testRet157selfint($data): self|int { return $data; } -private static function test158selfint(self|int $data): self|int { return $data; } -private static function testRet158selfint($data): self|int { return $data; } -private static function test159selfint(self|int $data): self|int { return $data; } -private static function testRet159selfint($data): self|int { return $data; } -private static function test160selfint(self|int $data): self|int { return $data; } -private static function testRet160selfint($data): self|int { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer33Test.php b/testsGenerated/Target/TypeHintReplacer33Test.php deleted file mode 100644 index 2cd5ad988..000000000 --- a/testsGenerated/Target/TypeHintReplacer33Test.php +++ /dev/null @@ -1,97 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer33Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): self|int => $data, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[function ($data): self|int { return $data; }, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[$this, 'testRet161selfint'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet161selfint'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[fn ($data): self|int => $data, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[function ($data): self|int { return $data; }, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[$this, 'testRet162selfint'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet162selfint'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[fn ($data): self|int => $data, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[function ($data): self|int { return $data; }, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[$this, 'testRet163selfint'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet163selfint'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[fn ($data): self|int => $data, '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[function ($data): self|int { return $data; }, '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[$this, 'testRet164selfint'], '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet164selfint'], '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[fn ($data): self|int => $data, '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[function ($data): self|int { return $data; }, '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[$this, 'testRet165selfint'], '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet165selfint'], '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (self|int $data): self|int => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[function (self|int $data): self|int { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[$this, 'test161selfint'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test161selfint'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[fn (self|int $data): self|int => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[function (self|int $data): self|int { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[$this, 'test162selfint'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test162selfint'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[fn (self|int $data): self|int => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[function (self|int $data): self|int { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[$this, 'test163selfint'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test163selfint'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[fn (self|int $data): self|int => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[function (self|int $data): self|int { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[$this, 'test164selfint'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test164selfint'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[fn (self|int $data): self|int => $data, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[function (self|int $data): self|int { return $data; }, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[$this, 'test165selfint'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test165selfint'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test161selfint(self|int $data): self|int { return $data; } -private static function testRet161selfint($data): self|int { return $data; } -private static function test162selfint(self|int $data): self|int { return $data; } -private static function testRet162selfint($data): self|int { return $data; } -private static function test163selfint(self|int $data): self|int { return $data; } -private static function testRet163selfint($data): self|int { return $data; } -private static function test164selfint(self|int $data): self|int { return $data; } -private static function testRet164selfint($data): self|int { return $data; } -private static function test165selfint(self|int $data): self|int { return $data; } -private static function testRet165selfint($data): self|int { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer34Test.php b/testsGenerated/Target/TypeHintReplacer34Test.php deleted file mode 100644 index c9151f035..000000000 --- a/testsGenerated/Target/TypeHintReplacer34Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer34Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?int => $data, 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[function ($data): ?int { return $data; }, 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[$this, 'testRet166int'], 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[self::class, 'testRet166int'], 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -['PhabelTest\Target\testRet166int', 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[fn ($data): ?int => $data, -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[function ($data): ?int { return $data; }, -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[$this, 'testRet167int'], -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[self::class, 'testRet167int'], -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -['PhabelTest\Target\testRet167int', -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[fn ($data): ?int => $data, 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[function ($data): ?int { return $data; }, 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[$this, 'testRet168int'], 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[self::class, 'testRet168int'], 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -['PhabelTest\Target\testRet168int', 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[fn ($data): ?int => $data, 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[function ($data): ?int { return $data; }, 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[$this, 'testRet169int'], 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[self::class, 'testRet169int'], 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -['PhabelTest\Target\testRet169int', 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[fn ($data): ?int => $data, true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[function ($data): ?int { return $data; }, true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[$this, 'testRet170int'], true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[self::class, 'testRet170int'], true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -['PhabelTest\Target\testRet170int', true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?int $data): ?int => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[function (?int $data): ?int { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[$this, 'test166int'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[self::class, 'test166int'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -['PhabelTest\Target\test166int', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[fn (?int $data): ?int => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[function (?int $data): ?int { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[$this, 'test167int'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[self::class, 'test167int'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -['PhabelTest\Target\test167int', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[fn (?int $data): ?int => $data, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[function (?int $data): ?int { return $data; }, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[$this, 'test168int'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[self::class, 'test168int'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -['PhabelTest\Target\test168int', 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[fn (?int $data): ?int => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[function (?int $data): ?int { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[$this, 'test169int'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[self::class, 'test169int'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -['PhabelTest\Target\test169int', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[fn (?int $data): ?int => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[function (?int $data): ?int { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[$this, 'test170int'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[self::class, 'test170int'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -['PhabelTest\Target\test170int', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test166int(?int $data): ?int { return $data; } -private static function testRet166int($data): ?int { return $data; } -private static function test167int(?int $data): ?int { return $data; } -private static function testRet167int($data): ?int { return $data; } -private static function test168int(?int $data): ?int { return $data; } -private static function testRet168int($data): ?int { return $data; } -private static function test169int(?int $data): ?int { return $data; } -private static function testRet169int($data): ?int { return $data; } -private static function test170int(?int $data): ?int { return $data; } -private static function testRet170int($data): ?int { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer35Test.php b/testsGenerated/Target/TypeHintReplacer35Test.php deleted file mode 100644 index 943b7866f..000000000 --- a/testsGenerated/Target/TypeHintReplacer35Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer35Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): ?int => $data, false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[function ($data): ?int { return $data; }, false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[$this, 'testRet171int'], false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[self::class, 'testRet171int'], false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -['PhabelTest\Target\testRet171int', false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[fn ($data): ?int => $data, '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[function ($data): ?int { return $data; }, '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[$this, 'testRet172int'], '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[self::class, 'testRet172int'], '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -['PhabelTest\Target\testRet172int', '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[fn ($data): ?int => $data, '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[function ($data): ?int { return $data; }, '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[$this, 'testRet173int'], '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[self::class, 'testRet173int'], '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -['PhabelTest\Target\testRet173int', '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[fn ($data): ?int => $data, null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[function ($data): ?int { return $data; }, null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[$this, 'testRet174int'], null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[[self::class, 'testRet174int'], null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -['PhabelTest\Target\testRet174int', null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], -[fn ($data): int|\PhabelTest\Target\TypeHintReplacer35Test => $data, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~'], -[function ($data): int|\PhabelTest\Target\TypeHintReplacer35Test { return $data; }, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~'], -[[$this, 'testRet175intPhabelTestTargetTypeHintReplacer35Test'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet175intPhabelTestTargetTypeHintReplacer35Test'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~'], -['PhabelTest\Target\testRet175intPhabelTestTargetTypeHintReplacer35Test', 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (?int $data): ?int => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[function (?int $data): ?int { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[$this, 'test171int'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[self::class, 'test171int'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -['PhabelTest\Target\test171int', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[fn (?int $data): ?int => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[function (?int $data): ?int { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[$this, 'test172int'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[self::class, 'test172int'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -['PhabelTest\Target\test172int', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[fn (?int $data): ?int => $data, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[function (?int $data): ?int { return $data; }, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[$this, 'test173int'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[self::class, 'test173int'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -['PhabelTest\Target\test173int', '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[fn (?int $data): ?int => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[function (?int $data): ?int { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[$this, 'test174int'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[[self::class, 'test174int'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -['PhabelTest\Target\test174int', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], -[fn (int|\PhabelTest\Target\TypeHintReplacer35Test $data): int|\PhabelTest\Target\TypeHintReplacer35Test => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~'], -[function (int|\PhabelTest\Target\TypeHintReplacer35Test $data): int|\PhabelTest\Target\TypeHintReplacer35Test { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~'], -[[$this, 'test175intPhabelTestTargetTypeHintReplacer35Test'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test175intPhabelTestTargetTypeHintReplacer35Test'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~'], -['PhabelTest\Target\test175intPhabelTestTargetTypeHintReplacer35Test', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test171int(?int $data): ?int { return $data; } -private static function testRet171int($data): ?int { return $data; } -private static function test172int(?int $data): ?int { return $data; } -private static function testRet172int($data): ?int { return $data; } -private static function test173int(?int $data): ?int { return $data; } -private static function testRet173int($data): ?int { return $data; } -private static function test174int(?int $data): ?int { return $data; } -private static function testRet174int($data): ?int { return $data; } -private static function test175intPhabelTestTargetTypeHintReplacer35Test(int|\PhabelTest\Target\TypeHintReplacer35Test $data): int|\PhabelTest\Target\TypeHintReplacer35Test { return $data; } -private static function testRet175intPhabelTestTargetTypeHintReplacer35Test($data): int|\PhabelTest\Target\TypeHintReplacer35Test { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer36Test.php b/testsGenerated/Target/TypeHintReplacer36Test.php deleted file mode 100644 index 5305a2b0b..000000000 --- a/testsGenerated/Target/TypeHintReplacer36Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer36Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[$this, 'testRet176intPhabelTestTargetTypeHintReplacer36Test'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet176intPhabelTestTargetTypeHintReplacer36Test'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -['PhabelTest\Target\testRet176intPhabelTestTargetTypeHintReplacer36Test', -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[$this, 'testRet177intPhabelTestTargetTypeHintReplacer36Test'], 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet177intPhabelTestTargetTypeHintReplacer36Test'], 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -['PhabelTest\Target\testRet177intPhabelTestTargetTypeHintReplacer36Test', 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[$this, 'testRet178intPhabelTestTargetTypeHintReplacer36Test'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet178intPhabelTestTargetTypeHintReplacer36Test'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -['PhabelTest\Target\testRet178intPhabelTestTargetTypeHintReplacer36Test', 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[$this, 'testRet179intPhabelTestTargetTypeHintReplacer36Test'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet179intPhabelTestTargetTypeHintReplacer36Test'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -['PhabelTest\Target\testRet179intPhabelTestTargetTypeHintReplacer36Test', true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[$this, 'testRet180intPhabelTestTargetTypeHintReplacer36Test'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet180intPhabelTestTargetTypeHintReplacer36Test'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], -['PhabelTest\Target\testRet180intPhabelTestTargetTypeHintReplacer36Test', false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[$this, 'test176intPhabelTestTargetTypeHintReplacer36Test'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test176intPhabelTestTargetTypeHintReplacer36Test'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -['PhabelTest\Target\test176intPhabelTestTargetTypeHintReplacer36Test', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[$this, 'test177intPhabelTestTargetTypeHintReplacer36Test'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test177intPhabelTestTargetTypeHintReplacer36Test'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -['PhabelTest\Target\test177intPhabelTestTargetTypeHintReplacer36Test', 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[$this, 'test178intPhabelTestTargetTypeHintReplacer36Test'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test178intPhabelTestTargetTypeHintReplacer36Test'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -['PhabelTest\Target\test178intPhabelTestTargetTypeHintReplacer36Test', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[$this, 'test179intPhabelTestTargetTypeHintReplacer36Test'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test179intPhabelTestTargetTypeHintReplacer36Test'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -['PhabelTest\Target\test179intPhabelTestTargetTypeHintReplacer36Test', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[$this, 'test180intPhabelTestTargetTypeHintReplacer36Test'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test180intPhabelTestTargetTypeHintReplacer36Test'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], -['PhabelTest\Target\test180intPhabelTestTargetTypeHintReplacer36Test', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test176intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } -private static function testRet176intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } -private static function test177intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } -private static function testRet177intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } -private static function test178intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } -private static function testRet178intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } -private static function test179intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } -private static function testRet179intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } -private static function test180intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } -private static function testRet180intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer37Test.php b/testsGenerated/Target/TypeHintReplacer37Test.php deleted file mode 100644 index cb4616d90..000000000 --- a/testsGenerated/Target/TypeHintReplacer37Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer37Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[function ($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[[$this, 'testRet181intPhabelTestTargetTypeHintReplacer37Test'], '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet181intPhabelTestTargetTypeHintReplacer37Test'], '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -['PhabelTest\Target\testRet181intPhabelTestTargetTypeHintReplacer37Test', '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[fn ($data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[function ($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[[$this, 'testRet182intPhabelTestTargetTypeHintReplacer37Test'], '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet182intPhabelTestTargetTypeHintReplacer37Test'], '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -['PhabelTest\Target\testRet182intPhabelTestTargetTypeHintReplacer37Test', '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[fn ($data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[function ($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[[$this, 'testRet183intPhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[[self::class, 'testRet183intPhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -['PhabelTest\Target\testRet183intPhabelTestTargetTypeHintReplacer37Test', $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], -[fn ($data): ?\PhabelTest\Target\TypeHintReplacer37Test => $data, $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], -[function ($data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], -[[$this, 'testRet184PhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], -[[self::class, 'testRet184PhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], -['PhabelTest\Target\testRet184PhabelTestTargetTypeHintReplacer37Test', $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], -[fn ($data): ?\PhabelTest\Target\TypeHintReplacer37Test => $data, null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], -[function ($data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], -[[$this, 'testRet185PhabelTestTargetTypeHintReplacer37Test'], null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], -[[self::class, 'testRet185PhabelTestTargetTypeHintReplacer37Test'], null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], -['PhabelTest\Target\testRet185PhabelTestTargetTypeHintReplacer37Test', null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[function (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[[$this, 'test181intPhabelTestTargetTypeHintReplacer37Test'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test181intPhabelTestTargetTypeHintReplacer37Test'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -['PhabelTest\Target\test181intPhabelTestTargetTypeHintReplacer37Test', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[fn (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[function (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[[$this, 'test182intPhabelTestTargetTypeHintReplacer37Test'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test182intPhabelTestTargetTypeHintReplacer37Test'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -['PhabelTest\Target\test182intPhabelTestTargetTypeHintReplacer37Test', '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[fn (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[function (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[[$this, 'test183intPhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[[self::class, 'test183intPhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -['PhabelTest\Target\test183intPhabelTestTargetTypeHintReplacer37Test', $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], -[fn (?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], -[function (?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], -[[$this, 'test184PhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], -[[self::class, 'test184PhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], -['PhabelTest\Target\test184PhabelTestTargetTypeHintReplacer37Test', $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], -[fn (?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], -[function (?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], -[[$this, 'test185PhabelTestTargetTypeHintReplacer37Test'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], -[[self::class, 'test185PhabelTestTargetTypeHintReplacer37Test'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], -['PhabelTest\Target\test185PhabelTestTargetTypeHintReplacer37Test', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test181intPhabelTestTargetTypeHintReplacer37Test(int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } -private static function testRet181intPhabelTestTargetTypeHintReplacer37Test($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } -private static function test182intPhabelTestTargetTypeHintReplacer37Test(int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } -private static function testRet182intPhabelTestTargetTypeHintReplacer37Test($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } -private static function test183intPhabelTestTargetTypeHintReplacer37Test(int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } -private static function testRet183intPhabelTestTargetTypeHintReplacer37Test($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } -private static function test184PhabelTestTargetTypeHintReplacer37Test(?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; } -private static function testRet184PhabelTestTargetTypeHintReplacer37Test($data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; } -private static function test185PhabelTestTargetTypeHintReplacer37Test(?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; } -private static function testRet185PhabelTestTargetTypeHintReplacer37Test($data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer38Test.php b/testsGenerated/Target/TypeHintReplacer38Test.php deleted file mode 100644 index 290486268..000000000 --- a/testsGenerated/Target/TypeHintReplacer38Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer38Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -[function ($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -[[$this, 'testRet186PhabelTestTargetTypeHintReplacer38TestGenerator'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -[[self::class, 'testRet186PhabelTestTargetTypeHintReplacer38TestGenerator'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -['PhabelTest\Target\testRet186PhabelTestTargetTypeHintReplacer38TestGenerator', $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -[fn ($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -[function ($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -[[$this, 'testRet187PhabelTestTargetTypeHintReplacer38TestGenerator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -[[self::class, 'testRet187PhabelTestTargetTypeHintReplacer38TestGenerator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -['PhabelTest\Target\testRet187PhabelTestTargetTypeHintReplacer38TestGenerator', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], -[fn ($data): ?\Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -[function ($data): ?\Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -[[$this, 'testRet188Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -[[self::class, 'testRet188Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -['PhabelTest\Target\testRet188Generator', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -[fn ($data): ?\Generator => $data, null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -[function ($data): ?\Generator { return $data; }, null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -[[$this, 'testRet189Generator'], null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -[[self::class, 'testRet189Generator'], null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -['PhabelTest\Target\testRet189Generator', null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], -[fn ($data): \Generator|callable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~'], -[function ($data): \Generator|callable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~'], -[[$this, 'testRet190Generatorcallable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~'], -[[self::class, 'testRet190Generatorcallable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~'], -['PhabelTest\Target\testRet190Generatorcallable', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -[function (\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -[[$this, 'test186PhabelTestTargetTypeHintReplacer38TestGenerator'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -[[self::class, 'test186PhabelTestTargetTypeHintReplacer38TestGenerator'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -['PhabelTest\Target\test186PhabelTestTargetTypeHintReplacer38TestGenerator', $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -[fn (\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -[function (\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -[[$this, 'test187PhabelTestTargetTypeHintReplacer38TestGenerator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -[[self::class, 'test187PhabelTestTargetTypeHintReplacer38TestGenerator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -['PhabelTest\Target\test187PhabelTestTargetTypeHintReplacer38TestGenerator', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], -[fn (?\Generator $data): ?\Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -[function (?\Generator $data): ?\Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -[[$this, 'test188Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -[[self::class, 'test188Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -['PhabelTest\Target\test188Generator', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -[fn (?\Generator $data): ?\Generator => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -[function (?\Generator $data): ?\Generator { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -[[$this, 'test189Generator'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -[[self::class, 'test189Generator'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -['PhabelTest\Target\test189Generator', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], -[fn (\Generator|callable $data): \Generator|callable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~'], -[function (\Generator|callable $data): \Generator|callable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~'], -[[$this, 'test190Generatorcallable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~'], -[[self::class, 'test190Generatorcallable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~'], -['PhabelTest\Target\test190Generatorcallable', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test186PhabelTestTargetTypeHintReplacer38TestGenerator(\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; } -private static function testRet186PhabelTestTargetTypeHintReplacer38TestGenerator($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; } -private static function test187PhabelTestTargetTypeHintReplacer38TestGenerator(\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; } -private static function testRet187PhabelTestTargetTypeHintReplacer38TestGenerator($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; } -private static function test188Generator(?\Generator $data): ?\Generator { return $data; } -private static function testRet188Generator($data): ?\Generator { return $data; } -private static function test189Generator(?\Generator $data): ?\Generator { return $data; } -private static function testRet189Generator($data): ?\Generator { return $data; } -private static function test190Generatorcallable(\Generator|callable $data): \Generator|callable { return $data; } -private static function testRet190Generatorcallable($data): \Generator|callable { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer3Test.php b/testsGenerated/Target/TypeHintReplacer3Test.php deleted file mode 100644 index 3e9b43509..000000000 --- a/testsGenerated/Target/TypeHintReplacer3Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer3Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): bool => $data, "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[function ($data): bool { return $data; }, "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[$this, 'testRet11bool'], "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[self::class, 'testRet11bool'], "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -['PhabelTest\Target\testRet11bool', "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[fn ($data): bool => $data, "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[function ($data): bool { return $data; }, "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[$this, 'testRet12bool'], "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[self::class, 'testRet12bool'], "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -['PhabelTest\Target\testRet12bool', "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[fn ($data): bool => $data, "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[function ($data): bool { return $data; }, "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[$this, 'testRet13bool'], "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[[self::class, 'testRet13bool'], "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -['PhabelTest\Target\testRet13bool', "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], -[fn ($data): iterable => $data, ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[function ($data): iterable { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[[$this, 'testRet14iterable'], ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[[self::class, 'testRet14iterable'], ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -['PhabelTest\Target\testRet14iterable', ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[fn ($data): iterable => $data, array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[function ($data): iterable { return $data; }, array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[[$this, 'testRet15iterable'], array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[[self::class, 'testRet15iterable'], array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -['PhabelTest\Target\testRet15iterable', array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (bool $data): bool => $data, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[function (bool $data): bool { return $data; }, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[$this, 'test11bool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[self::class, 'test11bool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -['PhabelTest\Target\test11bool', "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[fn (bool $data): bool => $data, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[function (bool $data): bool { return $data; }, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[$this, 'test12bool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[self::class, 'test12bool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -['PhabelTest\Target\test12bool', "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[fn (bool $data): bool => $data, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[function (bool $data): bool { return $data; }, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[$this, 'test13bool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[[self::class, 'test13bool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -['PhabelTest\Target\test13bool', "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], -[fn (iterable $data): iterable => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[function (iterable $data): iterable { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[[$this, 'test14iterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[[self::class, 'test14iterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -['PhabelTest\Target\test14iterable', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[fn (iterable $data): iterable => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[function (iterable $data): iterable { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[[$this, 'test15iterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[[self::class, 'test15iterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -['PhabelTest\Target\test15iterable', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test11bool(bool $data): bool { return $data; } -private static function testRet11bool($data): bool { return $data; } -private static function test12bool(bool $data): bool { return $data; } -private static function testRet12bool($data): bool { return $data; } -private static function test13bool(bool $data): bool { return $data; } -private static function testRet13bool($data): bool { return $data; } -private static function test14iterable(iterable $data): iterable { return $data; } -private static function testRet14iterable($data): iterable { return $data; } -private static function test15iterable(iterable $data): iterable { return $data; } -private static function testRet15iterable($data): iterable { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer4Test.php b/testsGenerated/Target/TypeHintReplacer4Test.php deleted file mode 100644 index c8f9491bc..000000000 --- a/testsGenerated/Target/TypeHintReplacer4Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer4Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[function ($data): iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[[$this, 'testRet16iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[[self::class, 'testRet16iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -['PhabelTest\Target\testRet16iterable', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], -[fn ($data): float => $data, 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[function ($data): float { return $data; }, 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[$this, 'testRet17float'], 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[self::class, 'testRet17float'], 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -['PhabelTest\Target\testRet17float', 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[fn ($data): float => $data, -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[function ($data): float { return $data; }, -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[$this, 'testRet18float'], -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[self::class, 'testRet18float'], -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -['PhabelTest\Target\testRet18float', -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[fn ($data): float => $data, 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[function ($data): float { return $data; }, 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[$this, 'testRet19float'], 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[self::class, 'testRet19float'], 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -['PhabelTest\Target\testRet19float', 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[fn ($data): float => $data, 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[function ($data): float { return $data; }, 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[$this, 'testRet20float'], 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[self::class, 'testRet20float'], 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -['PhabelTest\Target\testRet20float', 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (iterable $data): iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[function (iterable $data): iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[[$this, 'test16iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[[self::class, 'test16iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -['PhabelTest\Target\test16iterable', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], -[fn (float $data): float => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[function (float $data): float { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[$this, 'test17float'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[self::class, 'test17float'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -['PhabelTest\Target\test17float', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[fn (float $data): float => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[function (float $data): float { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[$this, 'test18float'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[self::class, 'test18float'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -['PhabelTest\Target\test18float', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[fn (float $data): float => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[function (float $data): float { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[$this, 'test19float'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[self::class, 'test19float'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -['PhabelTest\Target\test19float', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[fn (float $data): float => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[function (float $data): float { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[$this, 'test20float'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[self::class, 'test20float'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -['PhabelTest\Target\test20float', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test16iterable(iterable $data): iterable { return $data; } -private static function testRet16iterable($data): iterable { return $data; } -private static function test17float(float $data): float { return $data; } -private static function testRet17float($data): float { return $data; } -private static function test18float(float $data): float { return $data; } -private static function testRet18float($data): float { return $data; } -private static function test19float(float $data): float { return $data; } -private static function testRet19float($data): float { return $data; } -private static function test20float(float $data): float { return $data; } -private static function testRet20float($data): float { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer5Test.php b/testsGenerated/Target/TypeHintReplacer5Test.php deleted file mode 100644 index 7d9ebc9a7..000000000 --- a/testsGenerated/Target/TypeHintReplacer5Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer5Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): float => $data, true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[function ($data): float { return $data; }, true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[$this, 'testRet21float'], true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[self::class, 'testRet21float'], true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -['PhabelTest\Target\testRet21float', true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[fn ($data): float => $data, false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[function ($data): float { return $data; }, false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[$this, 'testRet22float'], false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[self::class, 'testRet22float'], false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -['PhabelTest\Target\testRet22float', false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[fn ($data): float => $data, '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[function ($data): float { return $data; }, '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[$this, 'testRet23float'], '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[self::class, 'testRet23float'], '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -['PhabelTest\Target\testRet23float', '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[fn ($data): float => $data, "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[function ($data): float { return $data; }, "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[$this, 'testRet24float'], "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[[self::class, 'testRet24float'], "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -['PhabelTest\Target\testRet24float', "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], -[fn ($data): object => $data, new class{}, 0, '~.*Return value must be of type object, int returned~'], -[function ($data): object { return $data; }, new class{}, 0, '~.*Return value must be of type object, int returned~'], -[[$this, 'testRet25object'], new class{}, 0, '~.*Return value must be of type object, int returned~'], -[[self::class, 'testRet25object'], new class{}, 0, '~.*Return value must be of type object, int returned~'], -['PhabelTest\Target\testRet25object', new class{}, 0, '~.*Return value must be of type object, int returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (float $data): float => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[function (float $data): float { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[$this, 'test21float'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[self::class, 'test21float'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -['PhabelTest\Target\test21float', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[fn (float $data): float => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[function (float $data): float { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[$this, 'test22float'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[self::class, 'test22float'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -['PhabelTest\Target\test22float', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[fn (float $data): float => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[function (float $data): float { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[$this, 'test23float'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[self::class, 'test23float'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -['PhabelTest\Target\test23float', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[fn (float $data): float => $data, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[function (float $data): float { return $data; }, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[$this, 'test24float'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[[self::class, 'test24float'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -['PhabelTest\Target\test24float', "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], -[fn (object $data): object => $data, new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], -[function (object $data): object { return $data; }, new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], -[[$this, 'test25object'], new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], -[[self::class, 'test25object'], new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], -['PhabelTest\Target\test25object', new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~']]; -; - } - - public static function noop() {} - - private static function test21float(float $data): float { return $data; } -private static function testRet21float($data): float { return $data; } -private static function test22float(float $data): float { return $data; } -private static function testRet22float($data): float { return $data; } -private static function test23float(float $data): float { return $data; } -private static function testRet23float($data): float { return $data; } -private static function test24float(float $data): float { return $data; } -private static function testRet24float($data): float { return $data; } -private static function test25object(object $data): object { return $data; } -private static function testRet25object($data): object { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer6Test.php b/testsGenerated/Target/TypeHintReplacer6Test.php deleted file mode 100644 index 9ac9d02aa..000000000 --- a/testsGenerated/Target/TypeHintReplacer6Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer6Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): object => $data, $this, 0, '~.*Return value must be of type object, int returned~'], -[function ($data): object { return $data; }, $this, 0, '~.*Return value must be of type object, int returned~'], -[[$this, 'testRet26object'], $this, 0, '~.*Return value must be of type object, int returned~'], -[[self::class, 'testRet26object'], $this, 0, '~.*Return value must be of type object, int returned~'], -['PhabelTest\Target\testRet26object', $this, 0, '~.*Return value must be of type object, int returned~'], -[fn ($data): string => $data, 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[function ($data): string { return $data; }, 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[$this, 'testRet27string'], 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[self::class, 'testRet27string'], 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -['PhabelTest\Target\testRet27string', 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[fn ($data): string => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[function ($data): string { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[$this, 'testRet28string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[self::class, 'testRet28string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -['PhabelTest\Target\testRet28string', new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[fn ($data): string => $data, 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[function ($data): string { return $data; }, 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[$this, 'testRet29string'], 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[self::class, 'testRet29string'], 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -['PhabelTest\Target\testRet29string', 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[fn ($data): string => $data, -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[function ($data): string { return $data; }, -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[$this, 'testRet30string'], -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[self::class, 'testRet30string'], -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -['PhabelTest\Target\testRet30string', -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (object $data): object => $data, $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], -[function (object $data): object { return $data; }, $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], -[[$this, 'test26object'], $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], -[[self::class, 'test26object'], $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], -['PhabelTest\Target\test26object', $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], -[fn (string $data): string => $data, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[function (string $data): string { return $data; }, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[$this, 'test27string'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[self::class, 'test27string'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -['PhabelTest\Target\test27string', 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[fn (string $data): string => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[function (string $data): string { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[$this, 'test28string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[self::class, 'test28string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -['PhabelTest\Target\test28string', new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[fn (string $data): string => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[function (string $data): string { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[$this, 'test29string'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[self::class, 'test29string'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -['PhabelTest\Target\test29string', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[fn (string $data): string => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[function (string $data): string { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[$this, 'test30string'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[self::class, 'test30string'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -['PhabelTest\Target\test30string', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test26object(object $data): object { return $data; } -private static function testRet26object($data): object { return $data; } -private static function test27string(string $data): string { return $data; } -private static function testRet27string($data): string { return $data; } -private static function test28string(string $data): string { return $data; } -private static function testRet28string($data): string { return $data; } -private static function test29string(string $data): string { return $data; } -private static function testRet29string($data): string { return $data; } -private static function test30string(string $data): string { return $data; } -private static function testRet30string($data): string { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer7Test.php b/testsGenerated/Target/TypeHintReplacer7Test.php deleted file mode 100644 index 04d04b8cc..000000000 --- a/testsGenerated/Target/TypeHintReplacer7Test.php +++ /dev/null @@ -1,113 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer7Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): string => $data, 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[function ($data): string { return $data; }, 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[$this, 'testRet31string'], 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[self::class, 'testRet31string'], 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -['PhabelTest\Target\testRet31string', 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[fn ($data): string => $data, 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[function ($data): string { return $data; }, 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[$this, 'testRet32string'], 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[self::class, 'testRet32string'], 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -['PhabelTest\Target\testRet32string', 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[fn ($data): string => $data, true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[function ($data): string { return $data; }, true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[$this, 'testRet33string'], true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[self::class, 'testRet33string'], true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -['PhabelTest\Target\testRet33string', true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[fn ($data): string => $data, false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[function ($data): string { return $data; }, false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[$this, 'testRet34string'], false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[[self::class, 'testRet34string'], false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -['PhabelTest\Target\testRet34string', false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], -[fn ($data): self => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous returned~'], -[function ($data): self { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous returned~'], -[[$this, 'testRet35self'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous returned~'], -[[self::class, 'testRet35self'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (string $data): string => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[function (string $data): string { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[$this, 'test31string'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[self::class, 'test31string'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -['PhabelTest\Target\test31string', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[fn (string $data): string => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[function (string $data): string { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[$this, 'test32string'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[self::class, 'test32string'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -['PhabelTest\Target\test32string', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[fn (string $data): string => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[function (string $data): string { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[$this, 'test33string'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[self::class, 'test33string'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -['PhabelTest\Target\test33string', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[fn (string $data): string => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[function (string $data): string { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[$this, 'test34string'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[[self::class, 'test34string'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -['PhabelTest\Target\test34string', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], -[fn (self $data): self => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous given, .*~'], -[function (self $data): self { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous given, .*~'], -[[$this, 'test35self'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous given, .*~'], -[[self::class, 'test35self'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test31string(string $data): string { return $data; } -private static function testRet31string($data): string { return $data; } -private static function test32string(string $data): string { return $data; } -private static function testRet32string($data): string { return $data; } -private static function test33string(string $data): string { return $data; } -private static function testRet33string($data): string { return $data; } -private static function test34string(string $data): string { return $data; } -private static function testRet34string($data): string { return $data; } -private static function test35self(self $data): self { return $data; } -private static function testRet35self($data): self { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer8Test.php b/testsGenerated/Target/TypeHintReplacer8Test.php deleted file mode 100644 index 0905477b9..000000000 --- a/testsGenerated/Target/TypeHintReplacer8Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer8Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): int => $data, 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[function ($data): int { return $data; }, 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[$this, 'testRet36int'], 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[self::class, 'testRet36int'], 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -['PhabelTest\Target\testRet36int', 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[fn ($data): int => $data, -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[function ($data): int { return $data; }, -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[$this, 'testRet37int'], -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[self::class, 'testRet37int'], -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -['PhabelTest\Target\testRet37int', -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[fn ($data): int => $data, 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[function ($data): int { return $data; }, 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[$this, 'testRet38int'], 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[self::class, 'testRet38int'], 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -['PhabelTest\Target\testRet38int', 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[fn ($data): int => $data, 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[function ($data): int { return $data; }, 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[$this, 'testRet39int'], 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[self::class, 'testRet39int'], 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -['PhabelTest\Target\testRet39int', 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[fn ($data): int => $data, true, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[function ($data): int { return $data; }, true, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[$this, 'testRet40int'], true, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[self::class, 'testRet40int'], true, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -['PhabelTest\Target\testRet40int', true, new class{}, '~.*Return value must be of type int, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (int $data): int => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[function (int $data): int { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[$this, 'test36int'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[self::class, 'test36int'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -['PhabelTest\Target\test36int', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[fn (int $data): int => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[function (int $data): int { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[$this, 'test37int'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[self::class, 'test37int'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -['PhabelTest\Target\test37int', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[fn (int $data): int => $data, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[function (int $data): int { return $data; }, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[$this, 'test38int'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[self::class, 'test38int'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -['PhabelTest\Target\test38int', 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[fn (int $data): int => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[function (int $data): int { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[$this, 'test39int'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[self::class, 'test39int'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -['PhabelTest\Target\test39int', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[fn (int $data): int => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[function (int $data): int { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[$this, 'test40int'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[self::class, 'test40int'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -['PhabelTest\Target\test40int', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test36int(int $data): int { return $data; } -private static function testRet36int($data): int { return $data; } -private static function test37int(int $data): int { return $data; } -private static function testRet37int($data): int { return $data; } -private static function test38int(int $data): int { return $data; } -private static function testRet38int($data): int { return $data; } -private static function test39int(int $data): int { return $data; } -private static function testRet39int($data): int { return $data; } -private static function test40int(int $data): int { return $data; } -private static function testRet40int($data): int { return $data; } - -} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer9Test.php b/testsGenerated/Target/TypeHintReplacer9Test.php deleted file mode 100644 index 7de73f9f8..000000000 --- a/testsGenerated/Target/TypeHintReplacer9Test.php +++ /dev/null @@ -1,117 +0,0 @@ - - * @license MIT - */ -class TypeHintReplacer9Test extends TestCase -{ - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function returnDataProvider(): array - { - return [ -[fn ($data): int => $data, false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[function ($data): int { return $data; }, false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[$this, 'testRet41int'], false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[self::class, 'testRet41int'], false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -['PhabelTest\Target\testRet41int', false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[fn ($data): int => $data, '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[function ($data): int { return $data; }, '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[$this, 'testRet42int'], '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[self::class, 'testRet42int'], '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -['PhabelTest\Target\testRet42int', '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[fn ($data): int => $data, '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[function ($data): int { return $data; }, '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[$this, 'testRet43int'], '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[[self::class, 'testRet43int'], '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -['PhabelTest\Target\testRet43int', '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], -[fn ($data): \PhabelTest\Target\TypeHintReplacer9Test => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], -[function ($data): \PhabelTest\Target\TypeHintReplacer9Test { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], -[[$this, 'testRet44PhabelTestTargetTypeHintReplacer9Test'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], -[[self::class, 'testRet44PhabelTestTargetTypeHintReplacer9Test'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], -['PhabelTest\Target\testRet44PhabelTestTargetTypeHintReplacer9Test', $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], -[fn ($data): \Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~'], -[function ($data): \Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~'], -[[$this, 'testRet45Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~'], -[[self::class, 'testRet45Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~'], -['PhabelTest\Target\testRet45Generator', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~']]; -; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable $c, $data, $wrongData, string $exception) { - $this->assertTrue($data == $c($data)); - - $this->expectExceptionMessageMatches($exception); - $c($wrongData); - } - public function paramDataProvider(): array - { - return [ -[fn (int $data): int => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[function (int $data): int { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[$this, 'test41int'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[self::class, 'test41int'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -['PhabelTest\Target\test41int', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[fn (int $data): int => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[function (int $data): int { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[$this, 'test42int'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[self::class, 'test42int'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -['PhabelTest\Target\test42int', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[fn (int $data): int => $data, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[function (int $data): int { return $data; }, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[$this, 'test43int'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[[self::class, 'test43int'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -['PhabelTest\Target\test43int', '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], -[fn (\PhabelTest\Target\TypeHintReplacer9Test $data): \PhabelTest\Target\TypeHintReplacer9Test => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], -[function (\PhabelTest\Target\TypeHintReplacer9Test $data): \PhabelTest\Target\TypeHintReplacer9Test { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], -[[$this, 'test44PhabelTestTargetTypeHintReplacer9Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], -[[self::class, 'test44PhabelTestTargetTypeHintReplacer9Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], -['PhabelTest\Target\test44PhabelTestTargetTypeHintReplacer9Test', $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], -[fn (\Generator $data): \Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~'], -[function (\Generator $data): \Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~'], -[[$this, 'test45Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~'], -[[self::class, 'test45Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~'], -['PhabelTest\Target\test45Generator', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~']]; -; - } - - public static function noop() {} - - private static function test41int(int $data): int { return $data; } -private static function testRet41int($data): int { return $data; } -private static function test42int(int $data): int { return $data; } -private static function testRet42int($data): int { return $data; } -private static function test43int(int $data): int { return $data; } -private static function testRet43int($data): int { return $data; } -private static function test44PhabelTestTargetTypeHintReplacer9Test(\PhabelTest\Target\TypeHintReplacer9Test $data): \PhabelTest\Target\TypeHintReplacer9Test { return $data; } -private static function testRet44PhabelTestTargetTypeHintReplacer9Test($data): \PhabelTest\Target\TypeHintReplacer9Test { return $data; } -private static function test45Generator(\Generator $data): \Generator { return $data; } -private static function testRet45Generator($data): \Generator { return $data; } - -} \ No newline at end of file diff --git a/tools/ci/coverageMerge.php b/tools/ci/coverageMerge.php index 38d76f950..49abcda09 100644 --- a/tools/ci/coverageMerge.php +++ b/tools/ci/coverageMerge.php @@ -5,19 +5,17 @@ use SebastianBergmann\CodeCoverage\Report\Text; require 'vendor/autoload.php'; - $coverage = null; foreach (\glob("coverage/*.php") as $file) { - echo "Processing $file...".PHP_EOL; + echo "Processing {$file}..." . PHP_EOL; if (!$coverage) { - $coverage = include $file; + $coverage = (include $file); continue; } /** @var CodeCoverage $coverage */ $coverage->merge(include $file); } - if ($coverage) { - (new Clover)->process($coverage, 'coverage/clover.xml'); - echo (new Text(50, 90, true))->process($coverage, true).PHP_EOL; + (new Clover())->process($coverage, 'coverage/clover.xml'); + echo (new Text(50, 90, true))->process($coverage, true) . PHP_EOL; } diff --git a/tools/ci/matrix.php b/tools/ci/matrix.php index 46299a0df..926532db6 100644 --- a/tools/ci/matrix.php +++ b/tools/ci/matrix.php @@ -1,41 +1,31 @@ $os, - 'php' => $final, - 'shouldBuild' => [$doBuild ? 'yes' : 'no'], - 'shouldTag' => [$tag] -]; +$matrix = ['os' => $os, 'php' => $final, 'shouldBuild' => [$doBuild ? 'yes' : 'no'], 'shouldTag' => [$tag]]; $matrix = \json_encode($matrix); - -echo "::set-output name=matrix::$matrix".PHP_EOL; +echo "::set-output name=matrix::{$matrix}" . PHP_EOL; diff --git a/tools/ci/prepareDeps.php b/tools/ci/prepareDeps.php index 1e6ce05f6..8d319eaf5 100644 --- a/tools/ci/prepareDeps.php +++ b/tools/ci/prepareDeps.php @@ -6,31 +6,21 @@ require 'vendor/autoload.php'; require 'functions.php'; - $tail = $argv[1] ?? ''; foreach (Php::VERSIONS as $version) { - if ($tail === "-$version") { + if ($tail === "-{$version}") { break; } } - `rm -rf ../phabelConverted`; - -$packages = (new Traverser(EventHandler::create())) - ->setPlugins([Php::class => ['target' => $version]]) - ->setInput('vendor-bin/') - ->setOutput('../phabelConverted') - ->setCoverage('coverage/convertVendor.php') - ->run(\getenv('PHABEL_PARALLEL') ?: 1); - +$packages = (new Traverser(EventHandler::create()))->setPlugins([Php::class => ['target' => $version]])->setInput('vendor-bin/')->setOutput('../phabelConverted')->setCoverage('coverage/convertVendor.php')->run(\getenv('PHABEL_PARALLEL') ?: 1); `rm -rf vendor-bin/`; `mv ../phabelConverted/ vendor-bin/`; - if (!empty($packages)) { \chdir("vendor-bin/check"); - $cmd = "php $(which composer) require --dev --ignore-platform-reqs "; + $cmd = "php \$(which composer) require --dev --ignore-platform-reqs "; foreach ($packages as $package => $constraint) { - $cmd .= \escapeshellarg("{$package}:{$constraint}")." "; + $cmd .= \escapeshellarg("{$package}:{$constraint}") . " "; } r($cmd); } diff --git a/tools/convertPhabel.php b/tools/convertPhabel.php index 9e8632b0c..13174b788 100644 --- a/tools/convertPhabel.php +++ b/tools/convertPhabel.php @@ -25,17 +25,14 @@ $dry = (bool) ($argv[2] ?? ''); $branch = 'master'; $tag = \getenv('shouldTag') ?: null; - -$home = \realpath(__DIR__.'/../'); +$home = \realpath(__DIR__ . '/../'); r("rm -rf ../phabelConvertedInput"); \mkdir('../phabelConvertedInput'); - if (!$dry) { r("rm -rf ../phabelConvertedRepo"); - r("cp -a $home ../phabelConvertedRepo"); + r("cp -a {$home} ../phabelConvertedRepo"); r("rm -rf ../phabelConvertedRepo/vendor"); } - function commit(string $message) { r("cp -a ../phabelConvertedOutput/* ../phabelConvertedRepo"); @@ -43,7 +40,6 @@ function commit(string $message) r("git add -A"); r("git commit -m " . \escapeshellarg($message)); } - foreach ($target === 'all' ? Php::VERSIONS : [$target] as $realTarget) { $realTarget = Php::normalizeVersion($realTarget); if (!$dry) { @@ -55,18 +51,11 @@ function commit(string $message) } r("rm -rf ../phabelConvertedOutput"); \mkdir('../phabelConvertedOutput'); - $coverage = \getenv('PHABEL_COVERAGE') ?: ''; if ($coverage) { $coverage .= "-{$realTarget}"; } - $packages = (new Traverser(EventHandler::create())) - ->setInput('../phabelConvertedOutput') - ->setOutput('../phabelConvertedOutput') - ->setPlugins([Php::class => ['target' => $realTarget]]) - ->setCoverage($coverage) - ->run((int) (\getenv('PHABEL_PARALLEL') ?: 1)); - + $packages = (new Traverser(EventHandler::create()))->setInput('../phabelConvertedOutput')->setOutput('../phabelConvertedOutput')->setPlugins([Php::class => ['target' => $realTarget]])->setCoverage($coverage)->run((int) (\getenv('PHABEL_PARALLEL') ?: 1)); \chdir($home); r("cp -a * .php-cs-fixer.dist.php ../phabelConvertedInput"); \chdir("../phabelConvertedInput"); @@ -77,14 +66,13 @@ function commit(string $message) if ($package === 'php') { continue; } - $cmd .= \escapeshellarg("{$package}:{$constraint}")." "; + $cmd .= \escapeshellarg("{$package}:{$constraint}") . " "; } r($cmd); } r("composer update --no-dev"); r("rm -rf tests testsGenerated"); - - foreach ([Php::VERSIONS[\count(Php::VERSIONS)-1], $realTarget] as $k => $target) { + foreach ([Php::VERSIONS[\count(Php::VERSIONS) - 1], $realTarget] as $k => $target) { if ($k === 0) { $input = "../phabelConvertedInput"; $output = "../phabelConvertedOutput"; @@ -92,21 +80,13 @@ function commit(string $message) $input = $output = "../phabelConvertedOutput"; } \chdir($input); - $coverage = \getenv('PHABEL_COVERAGE') ?: ''; if ($coverage) { $coverage .= "-{$target}"; } - (new Traverser(EventHandler::create())) - ->setInput($input) - ->setOutput($output) - ->setPlugins([Php::class => ['target' => $target]]) - ->setCoverage($coverage) - ->run((int) (\getenv('PHABEL_PARALLEL') ?: 1)); - + (new Traverser(EventHandler::create()))->setInput($input)->setOutput($output)->setPlugins([Php::class => ['target' => $target]])->setCoverage($coverage)->run((int) (\getenv('PHABEL_PARALLEL') ?: 1)); \chdir($output); - r("$home/vendor/bin/php-cs-fixer fix"); - + r("{$home}/vendor/bin/php-cs-fixer fix"); if (!$dry) { commit("phabel.io: transpile to {$target}"); } @@ -114,64 +94,47 @@ function commit(string $message) \chdir($home); r("cp -a testsGenerated tests ../phabelConvertedOutput"); \chdir("../phabelConvertedOutput"); - r("$home/vendor/bin/php-scoper add-prefix -c $home/scoper.inc.php"); + r("{$home}/vendor/bin/php-scoper add-prefix -c {$home}/scoper.inc.php"); r("rm -rf vendor"); r("cp -a build/. ."); r("rm -rf build vendor/composer vendor/autoload.php vendor/scoper-autoload.php vendor/bin"); \rename("vendor", "vendor-bundle"); r("find src -type f -exec sed 's/\\\\Phabel\\\\self/self/g' -i {} +"); - - \file_put_contents('vendor-bundle/autoload.php', << $packages['php'], - 'ext-json' => $json['require']['ext-json'], - 'composer-plugin-api' => $json['require']['composer-plugin-api'], - ]; - + $json['require'] = ['php' => $packages['php'], 'ext-json' => $json['require']['ext-json'], 'composer-plugin-api' => $json['require']['composer-plugin-api']]; foreach ($lock['packages'] as $package) { $name = $package['name']; - if ($name === 'phabel/phabel') { continue; } - $json['require'] += \array_filter($package['require'], fn ($s) => \str_starts_with($s, 'ext-'), ARRAY_FILTER_USE_KEY); - foreach (['psr-4', 'psr-0'] as $type) { foreach ($package['autoload'][$type] ?? [] as $namespace => $path) { - $namespace = "Phabel\\$namespace"; + $namespace = "Phabel\\{$namespace}"; $paths = \is_string($path) ? [$path] : $path; - $paths = \array_map(fn ($path) => "vendor-bundle/$name/$path", $paths); + $paths = \array_map(fn ($path) => ("vendor-bundle/{$name}/{$path}"), $paths); $json['autoload'][$type][$namespace] = $paths; } } - - $json['autoload']['files'] = \array_merge( - $json['autoload']['files'] ?? [], - \array_map( - fn ($path) => "vendor-bundle/$name/$path", - $package['autoload']['files'] ?? [] - ) - ); + $json['autoload']['files'] = \array_merge($json['autoload']['files'] ?? [], \array_map(fn ($path) => ("vendor-bundle/{$name}/{$path}"), $package['autoload']['files'] ?? [])); } $json['autoload-dev'] = ['psr-4' => ['PhabelTest\\' => 'tests/']]; - - \file_put_contents('composer.json', \json_encode($json, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES)); - + \file_put_contents('composer.json', \json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); if (!$dry) { commit("phabel.io: add dependencies"); \chdir("../phabelConvertedRepo"); if ($tag) { - r("git tag ".\escapeshellarg("$tag.$target")); - r("git push -f origin " . \escapeshellarg("$tag.$target")); + r("git tag " . \escapeshellarg("{$tag}.{$target}")); + r("git push -f origin " . \escapeshellarg("{$tag}.{$target}")); } r("git push -f origin " . \escapeshellarg("phabel_tmp:{$branch}-{$target}")); r("git checkout " . \escapeshellarg($branch)); diff --git a/tools/dump.php b/tools/dump.php index 445751fd9..552d4c548 100644 --- a/tools/dump.php +++ b/tools/dump.php @@ -1,23 +1,20 @@ * @license MIT */ - use PhpParser\ParserFactory; use PhpParser\PrettyPrinter\Standard; require 'vendor/autoload.php'; - if ($argc < 2) { - echo("Usage: {$argv[0]} file.php\n"); + echo "Usage: {$argv[0]} file.php\n"; die(1); } - -$parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7); +$parser = (new ParserFactory())->create(ParserFactory::PREFER_PHP7); //$parser = (new ParserFactory)->create(ParserFactory::ONLY_PHP5); - \var_dump($a = $parser->parse(\file_get_contents($argv[1]))); \var_dumP((new Standard())->prettyPrint($a)); diff --git a/tools/exprGen.php b/tools/exprGen.php index 67bc443d4..4f3c3e1d1 100644 --- a/tools/exprGen.php +++ b/tools/exprGen.php @@ -1,4 +1,5 @@ * @license MIT */ - use HaydenPierce\ClassFinder\ClassFinder; use Phabel\Plugin\IssetExpressionFixer; use Phabel\Plugin\NestedExpressionFixer; @@ -54,14 +54,12 @@ use PhpParser\PrettyPrinter\Standard; require_once 'vendor/autoload.php'; - foreach (Php::VERSIONS as $version) { - if (empty(\shell_exec("which php$version 2>&1"))) { - echo("Could not find PHP $version!".PHP_EOL); + if (empty(\shell_exec("which php{$version} 2>&1"))) { + echo "Could not find PHP {$version}!" . PHP_EOL; die(1); } } - class ExpressionGenerator { private Standard $printer; @@ -69,11 +67,7 @@ private function format(Node $code) { static $count = 0; $count++; - $code = (new Class_("lmao{$count}"))->addStmt( - (new Method("te")) - ->addStmt($code) - ->getNode() - )->getNode(); + $code = (new Class_("lmao{$count}"))->addStmt((new Method("te"))->addStmt($code)->getNode())->getNode(); return $this->printer->prettyPrintFile([$code]); } private function readUntilPrompt($resource) @@ -89,14 +83,11 @@ private function readUntilPrompt($resource) private array $pipes = []; private function checkSyntaxVersion(int $version, string $code) { - $code = \str_replace(["\n", 'robin[$version]; $this->robin[$version]++; $this->robin[$version] %= \count($this->pipes[$version]); - \fputs($this->pipes[$version][$x][0], $code); - $result = $this->readUntilPrompt($this->pipes[$version][$x][1]); $result = \str_replace(['{', '}'], '', \substr(\preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $result), \strlen($code))); $result = \trim($result); @@ -108,7 +99,6 @@ private function checkSyntax(string $code, int $startFrom = 56) if (!$startFrom) { return $startFrom; } - foreach (Php::VERSIONS as $version) { if ($version < $startFrom) { continue; @@ -119,57 +109,43 @@ private function checkSyntax(string $code, int $startFrom = 56) } return 0; } - private $result = [ - 'main' => [], // Needs adaptation for nested expressions - 'isset' => [], // Needs adaptation for nested expressions in isset + 'main' => [], + // Needs adaptation for nested expressions + 'isset' => [], ]; /** @psalm-var array> */ private array $tests = []; private $versionMap = []; - - private function checkPossibleValue($arg, $name, $key, $class, $baseArgs, $isArray) { $subVersion = \max($this->versionMap[\get_debug_type($arg)] ?? 0, $this->versionMap[$class]); - $arguments = $baseArgs; $arguments[$key] = $isArray ? [$arg] : $arg; - $code = $this->format($prev = new $class(...$arguments)); $curVersion = $this->checkSyntax($code, $subVersion); if ($curVersion && $curVersion !== $subVersion) { $this->result['main'][$curVersion][$class][$name][\get_debug_type($arg)] = true; - echo "Min $curVersion for $code\n"; + echo "Min {$curVersion} for {$code}\n"; } - if ($curVersion - && !($class === AssignRef::class && $arg instanceof New_) - && !($class === Yield_::class && $name === 'key' && ($arg instanceof LogicalAnd || $arg instanceof LogicalOr || $arg instanceof LogicalXor)) - && !(\in_array($class, [MethodCall::class, StaticCall::class]) && $name === 'name' && ($arg instanceof Array_ || $arg instanceof Print_)) - && !(\in_array($class, [UnaryPlus::class, UnaryMinus::class, BitwiseNot::class]) && $arg instanceof Array_) - && !(\in_array($class, [Variable::class, StaticPropertyFetch::class, PropertyFetch::class]) && $arg instanceof Array_) - ) { + if ($curVersion && !($class === AssignRef::class && $arg instanceof New_) && !($class === Yield_::class && $name === 'key' && ($arg instanceof LogicalAnd || $arg instanceof LogicalOr || $arg instanceof LogicalXor)) && !(\in_array($class, [MethodCall::class, StaticCall::class]) && $name === 'name' && ($arg instanceof Array_ || $arg instanceof Print_)) && !(\in_array($class, [UnaryPlus::class, UnaryMinus::class, BitwiseNot::class]) && $arg instanceof Array_) && !(\in_array($class, [Variable::class, StaticPropertyFetch::class, PropertyFetch::class]) && $arg instanceof Array_)) { $this->tests[] = $prev; } - $code = $this->format(new Isset_([$prev])); $curVersion = $this->checkSyntax($code, $subVersion); if ($curVersion && $curVersion !== $subVersion) { $this->result['isset'][$curVersion][$class][$name][\get_debug_type($arg)] = true; - echo "Min $curVersion for $code\n"; + echo "Min {$curVersion} for {$code}\n"; } - if ($curVersion - && !(\in_array($class, [Variable::class, StaticPropertyFetch::class, PropertyFetch::class]) && $arg instanceof Array_) - ) { + if ($curVersion && !(\in_array($class, [Variable::class, StaticPropertyFetch::class, PropertyFetch::class]) && $arg instanceof Array_)) { $this->tests[] = new Isset_([$prev]); } } - public function run() { $this->printer = new Standard(['shortArraySyntax' => true]); foreach (Php::VERSIONS as $version) { - $cmd = "php$version -a 2>&1"; + $cmd = "php{$version} -a 2>&1"; $this->pipes[$version] = []; $this->processes[$version] = []; $this->robin[$version] = 0; @@ -182,38 +158,29 @@ public function run() $expressions = []; foreach (ClassFinder::getClassesInNamespace('PhpParser', ClassFinder::RECURSIVE_MODE) as $class) { $class = new ReflectionClass($class); - if ($class->isSubclassOf(Expr::class) && !$class->isAbstract() - && $class->getName() !== PrintableNewAnonClassNode::class - && $class->getName() !== ArrowFunction::class - && $class->getName() !== Error::class - && $class->getName() !== List_::class - && $class->getName() !== ArrayItem::class - && $class->getName() !== EncapsedStringPart::class - && $class->getName() !== Exit_::class - && $class->getName() !== Unset_::class) { - $expressions []= $class; + if ($class->isSubclassOf(Expr::class) && !$class->isAbstract() && $class->getName() !== PrintableNewAnonClassNode::class && $class->getName() !== ArrowFunction::class && $class->getName() !== Error::class && $class->getName() !== List_::class && $class->getName() !== ArrayItem::class && $class->getName() !== EncapsedStringPart::class && $class->getName() !== Exit_::class && $class->getName() !== Unset_::class) { + $expressions[] = $class; } } - $instanceArgs = []; $instanceArgNames = []; $instanceArgTypes = []; - $exprInstances = []; foreach ($expressions as $expr) { $class = $expr->getName(); $method = $expr->getMethod('__construct'); if ($method->getNumberOfParameters() === 1) { $exprInstances[$class] = $expr->newInstance(); - continue; // Is a magic constant or such + continue; + // Is a magic constant or such } - \preg_match_all('/@param (?\S+) +\$(?\S+)/', $method->getDocComment(), $matches); + \preg_match_all('/@param (?\\S+) +\\$(?\\S+)/', $method->getDocComment(), $matches); $types = \array_combine($matches['name'], $matches['type']); foreach ($types as &$type) { $type = \explode("|", $type); foreach ($type as $key => &$subtype) { if (\str_starts_with($subtype, 'Node')) { - $subtype = 'PhpParser\\'.$subtype; + $subtype = 'PhpParser\\' . $subtype; } elseif ($subtype === 'Error') { unset($type[$key]); } elseif ($subtype === 'Identifier') { @@ -277,8 +244,6 @@ public function run() $instanceArgTypes[$class] = $argTypes; } } - - $disallowedIssetExprs = []; foreach ($exprInstances as $expr) { if (!$this->checkSyntaxVersion(56, $this->format(new Isset_([$expr])))) { @@ -286,24 +251,22 @@ public function run() } } $disallowedIssetExprs = \var_export($disallowedIssetExprs, true); - $disallowedIssetExprs = <<< PHP + $disallowedIssetExprs = << $instance) { $this->versionMap[$class] = $this->checkSyntax($this->format($instance)) ?: 1000; } - $wait = []; foreach ($instanceArgTypes as $class => $argTypes) { $baseArgs = $instanceArgs[$class]; @@ -346,7 +309,6 @@ abstract class DisallowedExpressions extends Plugin } } } - $keys = []; foreach ($this->result['main'] as $version) { $keys = \array_merge_recursive($keys, $version); @@ -356,18 +318,18 @@ abstract class DisallowedExpressions extends Plugin } foreach (Php::VERSIONS as $version) { foreach (['NestedExpressionFixer', 'IssetExpressionFixer'] as $name) { - $code = <<< PHP + $code = << $config) { $config = \var_export($config, true); - $code = <<< PHP + $code = << $config + fixer::class => {$config} ]; } } PHP; - \file_put_contents("src/Target/Php$version/$name.php", $code); + \file_put_contents("src/Target/Php{$version}/{$name}.php", $code); } } - - $comment = <<< PHP + $comment = << * @license MIT @@ -414,49 +375,22 @@ public static function next(array \$config): array \unlink($file); } $prettyPrinter = new PhpParser\PrettyPrinter\Standard(['shortArraySyntax' => true]); - foreach (\array_chunk($this->tests, 100) as $stmts) { - $i = \hash('sha256', $prettyPrinter->prettyPrintFile($stmts))."Test"; - + $i = \hash('sha256', $prettyPrinter->prettyPrintFile($stmts)) . "Test"; $sortedStmts = []; foreach ($stmts as $stmt) { - $method = 'test'.\hash('sha256', $prettyPrinter->prettyPrintFile([$stmt])); - $sortedStmts[$method] = (new Method($method)) - ->addStmt( - new MethodCall( - new Variable('this'), - 'assertTrue', - [new Arg(Tools::fromLiteral(true))] - ) - ) - ->addStmt( - new Expression(new ArrowFunction( - ['expr' => $stmt] - )) - ) - ->getNode(); + $method = 'test' . \hash('sha256', $prettyPrinter->prettyPrintFile([$stmt])); + $sortedStmts[$method] = (new Method($method))->addStmt(new MethodCall(new Variable('this'), 'assertTrue', [new Arg(Tools::fromLiteral(true))]))->addStmt(new Expression(new ArrowFunction(['expr' => $stmt])))->getNode(); } \ksort($sortedStmts); - - $class = (new Class_("Expression$i")) - ->extend("TestCase") - ->setDocComment($comment) - ->addStmts(\array_values($sortedStmts)) - ->getNode(); - - $class = (new Namespace_(PhabelTest\Target::class)) - ->addStmt(new Use_(\PHPUnit\Framework\TestCase::class, StmtUse_::TYPE_NORMAL)) - ->addStmt($class) - ->getNode(); - + $class = (new Class_("Expression{$i}"))->extend("TestCase")->setDocComment($comment)->addStmts(\array_values($sortedStmts))->getNode(); + $class = (new Namespace_(PhabelTest\Target::class))->addStmt(new Use_(\PHPUnit\Framework\TestCase::class, StmtUse_::TYPE_NORMAL))->addStmt($class)->getNode(); $class = $prettyPrinter->prettyPrintFile([$class]); - - if (\file_exists("testsGenerated/Target/Expression$i.php")) { - throw new \RuntimeException("Expression$i.php already exists!"); + if (\file_exists("testsGenerated/Target/Expression{$i}.php")) { + throw new \RuntimeException("Expression{$i}.php already exists!"); } - \file_put_contents("testsGenerated/Target/Expression$i.php", $class); + \file_put_contents("testsGenerated/Target/Expression{$i}.php", $class); } } } - -(new ExpressionGenerator)->run(); +(new ExpressionGenerator())->run(); diff --git a/tools/testExprGen.php b/tools/testExprGen.php index 7e2e950e3..a2b6e4882 100644 --- a/tools/testExprGen.php +++ b/tools/testExprGen.php @@ -9,86 +9,56 @@ use Phabel\Traverser; use SebastianBergmann\CodeCoverage\Driver\Selector; use SebastianBergmann\CodeCoverage\Filter; - use function Amp\Parallel\Worker\pool; require_once 'vendor/autoload.php'; - $canCoverage = false; try { - $filter = new Filter; - $filter->includeDirectory(\realpath(__DIR__.'/../src')); - (new Selector)->forLineCoverage($filter); + $filter = new Filter(); + $filter->includeDirectory(\realpath(__DIR__ . '/../src')); + (new Selector())->forLineCoverage($filter); $canCoverage = true; } catch (\Throwable $e) { } - if ($canCoverage) { pool(new DefaultPool(\getenv('CI') ? 3 : \count(Php::VERSIONS) + 2)); } - $fs = new Filesystem(); - const BASE = \PhabelTest\Target\TypeHintReplacerTest::class; - $packages = []; $packagesSecondary = []; foreach (Php::VERSIONS as $version) { - $types = [ - 'callable', 'iterable', 'object', 'self', 'static', - 'int', 'float', 'array', 'string', 'bool', - \Generator::class, - \str_replace("Target", "Target$version", \PhabelTest\Target\TypeHintReplacerTest::class), - ]; + $types = ['callable', 'iterable', 'object', 'self', 'static', 'int', 'float', 'array', 'string', 'bool', \Generator::class, \str_replace("Target", "Target{$version}", \PhabelTest\Target\TypeHintReplacerTest::class)]; foreach (\glob("testsGenerated/Target/TypeHintReplacer*") as $test) { - \preg_match("~(TypeHintReplacer\d+Test)~", $test, $matches); - $types []= BASE; - $types []= $r = \str_replace("TypeHintReplacerTest", $matches[1], BASE); - $types []= \str_replace("Target", "Target$version", BASE); - $types []= \str_replace("Target", "Target$version", $r); + \preg_match("~(TypeHintReplacer\\d+Test)~", $test, $matches); + $types[] = BASE; + $types[] = $r = \str_replace("TypeHintReplacerTest", $matches[1], BASE); + $types[] = \str_replace("Target", "Target{$version}", BASE); + $types[] = \str_replace("Target", "Target{$version}", $r); } - $fs->remove("testsGenerated/Target$version"); - $fs->remove("testsGenerated/Target10$version"); - $packages += (new Traverser(EventHandler::create())) - ->setPlugins([ - PhabelTestGenerator::class => ['target' => $version], - TypeHintReplacer::class => ['union' => true, 'nullable' => true, 'return' => true, 'types' => $types] - ]) - ->setInput('testsGenerated/Target') - ->setOutput("testsGenerated/Target$version") - ->setCoverage("expr$version") - ->runAsync(); - $packagesSecondary += (new Traverser(EventHandler::create())) - ->setPlugins([ - PhabelTestGenerator::class => ['target' => 1000+$version] - ]) - ->setInput("testsGenerated/Target$version") - ->setOutput("testsGenerated/Target10$version") - ->setCoverage("expr10$version") - ->runAsync(); + $fs->remove("testsGenerated/Target{$version}"); + $fs->remove("testsGenerated/Target10{$version}"); + $packages += (new Traverser(EventHandler::create()))->setPlugins([PhabelTestGenerator::class => ['target' => $version], TypeHintReplacer::class => ['union' => true, 'nullable' => true, 'return' => true, 'types' => $types]])->setInput('testsGenerated/Target')->setOutput("testsGenerated/Target{$version}")->setCoverage("expr{$version}")->runAsync(); + $packagesSecondary += (new Traverser(EventHandler::create()))->setPlugins([PhabelTestGenerator::class => ['target' => 1000 + $version]])->setInput("testsGenerated/Target{$version}")->setOutput("testsGenerated/Target10{$version}")->setCoverage("expr10{$version}")->runAsync(); } - if (!empty($packages)) { $cmd = "composer require --dev "; foreach ($packages as $package => $constraint) { - $cmd .= \escapeshellarg("$package:$constraint")." "; + $cmd .= \escapeshellarg("{$package}:{$constraint}") . " "; } - echo("Running $cmd...".PHP_EOL); + echo "Running {$cmd}..." . PHP_EOL; \passthru($cmd); } - -$binary = PHP_SAPI === 'phpdbg' ? PHP_BINARY." -qrr" : PHP_BINARY; - -$current = (int) (PHP_MAJOR_VERSION.PHP_MINOR_VERSION); +$binary = PHP_SAPI === 'phpdbg' ? PHP_BINARY . " -qrr" : PHP_BINARY; +$current = (int) (PHP_MAJOR_VERSION . PHP_MINOR_VERSION); foreach (\glob("testsGenerated/*/*.php") as $i => $test) { $version = (int) \substr(\basename(\dirname($test)), 6); $version = $version ?: 80; if ($version > $current) { continue; } - echo $test.PHP_EOL; - - \passthru("$binary vendor/bin/phpunit -c phpunit-expr.xml $test --coverage-php=coverage/phpunitExpr$i.php", $ret); + echo $test . PHP_EOL; + \passthru("{$binary} vendor/bin/phpunit -c phpunit-expr.xml {$test} --coverage-php=coverage/phpunitExpr{$i}.php", $ret); if ($ret) { die($ret); } diff --git a/tools/testGen.php b/tools/testGen.php index a9c3a6f21..a9b2d681e 100644 --- a/tools/testGen.php +++ b/tools/testGen.php @@ -7,43 +7,24 @@ use Phabel\Traverser; require_once 'vendor/autoload.php'; - $fs = new Filesystem(); $fs->remove("coverage"); \mkdir("coverage"); - $packages = []; $packagesSecondary = []; foreach (Php::VERSIONS as $version) { - echo "$version\n"; - $fs->remove("tests/Target$version"); - $fs->remove("tests/Target10$version"); - $packages += (new Traverser(EventHandler::create())) - ->setPlugins([ - PhabelTestGenerator::class => ['target' => $version] - ]) - ->setInput('tests/Target') - ->setOutput("tests/Target$version") - ->setCoverage("test$version") - ->run(\getenv('PHABEL_PARALLEL') ?: -1); - - (new Traverser(EventHandler::create())) - ->setPlugins([ - PhabelTestGenerator::class => ['target' => 1000+$version] - ]) - ->setInput("tests/Target$version") - ->setOutput("tests/Target10$version") - ->setCoverage("test10$version") - ->run(\getenv('PHABEL_PARALLEL') ?: -1); + echo "{$version}\n"; + $fs->remove("tests/Target{$version}"); + $fs->remove("tests/Target10{$version}"); + $packages += (new Traverser(EventHandler::create()))->setPlugins([PhabelTestGenerator::class => ['target' => $version]])->setInput('tests/Target')->setOutput("tests/Target{$version}")->setCoverage("test{$version}")->run(\getenv('PHABEL_PARALLEL') ?: -1); + (new Traverser(EventHandler::create()))->setPlugins([PhabelTestGenerator::class => ['target' => 1000 + $version]])->setInput("tests/Target{$version}")->setOutput("tests/Target10{$version}")->setCoverage("test10{$version}")->run(\getenv('PHABEL_PARALLEL') ?: -1); } - unset($packages['php']); - if (!empty($packages)) { $cmd = "composer require --dev "; foreach ($packages as $package => $constraint) { - $cmd .= \escapeshellarg("$package:$constraint")." "; + $cmd .= \escapeshellarg("{$package}:{$constraint}") . " "; } - echo("Running $cmd...".PHP_EOL); + echo "Running {$cmd}..." . PHP_EOL; \passthru($cmd); } diff --git a/tools/typeHintGen.php b/tools/typeHintGen.php index f8e8d9aa7..927625c21 100644 --- a/tools/typeHintGen.php +++ b/tools/typeHintGen.php @@ -1,199 +1,149 @@ * @license MIT */ - if (PHP_MAJOR_VERSION < 8) { - echo("This generator can only run on PHP 8.0+".PHP_EOL); + echo "This generator can only run on PHP 8.0+" . PHP_EOL; die(1); } - const CLAZZ = "PhabelTest\\Target\\TypeHintReplacerTest"; - function escapeRegex(string $in): string { - return \var_export('~'.\str_replace(['\\', '(', ')', '$', '?', '|'], ['\\\\', '\\(', '\\)', '\\$', '\\?', '\\|'], $in).'~', true); + return \var_export('~' . \str_replace(['\\', '(', ')', '$', '?', '|'], ['\\\\', '\\(', '\\)', '\\$', '\\?', '\\|'], $in) . '~', true); } - function getErrorMessage(string $scalarParam, string $scalar, string $scalarSane, $wrongVal, string $to): array { try { - $f = eval("return new class { public function r() { return fn ($scalarParam \$data): $scalar => \$data; }};"); - $f->r()(eval("return $wrongVal;")); + $f = eval("return new class { public function r() { return fn ({$scalarParam} \$data): {$scalar} => \$data; }};"); + $f->r()(eval("return {$wrongVal};")); } catch (\Throwable $e) { $message = $e->getMessage(); $message = \str_replace("self", CLAZZ, $message); $message = \preg_replace(["/called in .*/", "/.*: /"], ".*", $message); - if (\preg_match_all("/must be of type (\S+)/", $message, $matches)) { + if (\preg_match_all("/must be of type (\\S+)/", $message, $matches)) { foreach ($matches[1] as $match) { $message = \str_replace($match, \str_replace("class@anonymous", CLAZZ, $match), $message); } } - - $closureMessage = \str_replace( - "$to class@anonymous::{closure}", - "$to ".CLAZZ."::PhabelTest\\Target\\{closure}", - $message - ); - $methodMessage = \str_replace( - "$to class@anonymous::{closure}", - "$to ".CLAZZ."::test$scalarSane", - $message - ); - $funcMessage = \str_replace( - "$to class@anonymous::{closure}", - "$to PhabelTest\\Target\\test$scalarSane", - $message - ); + $closureMessage = \str_replace("{$to} class@anonymous::{closure}", "{$to} " . CLAZZ . "::PhabelTest\\Target\\{closure}", $message); + $methodMessage = \str_replace("{$to} class@anonymous::{closure}", "{$to} " . CLAZZ . "::test{$scalarSane}", $message); + $funcMessage = \str_replace("{$to} class@anonymous::{closure}", "{$to} PhabelTest\\Target\\test{$scalarSane}", $message); } return [escapeRegex($closureMessage), escapeRegex($methodMessage), escapeRegex($funcMessage)]; } - -$SCALARS = [ - 'callable' => ['"is_null"', 'fn (): int => 0', '[$this, "noop"]','[self::class, "noop"]'], - 'array' => ["['lmao']", 'array()'], - 'bool' => ["true", "false", '0', '1', '"0"', '"1"', '""', '"aaaa"'], - 'iterable' => ["['lmao']", 'array()', '(fn (): \\Generator => yield)()'], - 'float' => ["123", "-1", "123.123", "1e3", "true", "false", "'123'", '"123.123"'], - 'object' => ["new class{}", '$this'], - 'string' => ["'lmao'", 'new class{public function __toString() { return "lmao"; }}', "123", "-1", "123.123", "1e3", "true", "false"], - 'self' => ['$this'], - 'int' => ["123", "-1", "123.0", "1e3", "true", "false", "'123'", "'123.0'"], - '\\'.CLAZZ => ['$this'], - '\\Generator' => ['(fn (): \\Generator => yield)()'], -]; - +$SCALARS = ['callable' => ['"is_null"', 'fn (): int => 0', '[$this, "noop"]', '[self::class, "noop"]'], 'array' => ["['lmao']", 'array()'], 'bool' => ["true", "false", '0', '1', '"0"', '"1"', '""', '"aaaa"'], 'iterable' => ["['lmao']", 'array()', '(fn (): \\Generator => yield)()'], 'float' => ["123", "-1", "123.123", "1e3", "true", "false", "'123'", '"123.123"'], 'object' => ["new class{}", '$this'], 'string' => ["'lmao'", 'new class{public function __toString() { return "lmao"; }}', "123", "-1", "123.123", "1e3", "true", "false"], 'self' => ['$this'], 'int' => ["123", "-1", "123.0", "1e3", "true", "false", "'123'", "'123.0'"], '\\' . CLAZZ => ['$this'], '\\Generator' => ['(fn (): \\Generator => yield)()']]; $count = \count($SCALARS); $k = 0; foreach ($SCALARS as $scalar => $val) { - $SCALARS["?$scalar"] = [ - ...$val, - 'null' - ]; + $SCALARS["?{$scalar}"] = [...$val, 'null']; $k = ($k + 1) % $count; $nextScalar = \array_keys($SCALARS)[$k]; $nextVal = $SCALARS[$nextScalar]; - - $SCALARS["$scalar|$nextScalar"] = [ - ...$val, - ...$nextVal, - ]; + $SCALARS["{$scalar}|{$nextScalar}"] = [...$val, ...$nextVal]; } foreach (\glob("testsGenerated/Target/TypeHintReplacer*") as $file) { \unlink($file); } - $closures = []; $closuresRet = []; $classFuncs = ''; $funcs = ''; $k = 0; - $count = 0; foreach ($SCALARS as $scalar => $vals) { foreach ($vals as $val) { $self = \strpos($scalar, 'self') !== false; - $scalarSane = ($k++).\preg_replace("~[^A-Za-z]*~", "", $scalar); + $scalarSane = $k++ . \preg_replace("~[^A-Za-z]*~", "", $scalar); $wrongVal = \strpos($scalar, 'object') !== false ? 0 : 'new class{}'; if ($scalar === 'float|object' || $scalar === 'object|string') { $wrongVal = 'null'; } - [$closureMessage, $methodMessage, $funcMessage] = getErrorMessage($scalar, $scalar, $scalarSane, $wrongVal, "to"); - - $closures []= "[fn ($scalar \$data): $scalar => \$data, $val, $wrongVal, $closureMessage]"; - $closures []= "[function ($scalar \$data): $scalar { return \$data; }, $val, $wrongVal, $closureMessage]"; - $closures []= "[[\$this, 'test$scalarSane'], $val, $wrongVal, $methodMessage]"; - $closures []= "[[self::class, 'test$scalarSane'], $val, $wrongVal, $methodMessage]"; + $closures[] = "[fn ({$scalar} \$data): {$scalar} => \$data, {$val}, {$wrongVal}, {$closureMessage}]"; + $closures[] = "[function ({$scalar} \$data): {$scalar} { return \$data; }, {$val}, {$wrongVal}, {$closureMessage}]"; + $closures[] = "[[\$this, 'test{$scalarSane}'], {$val}, {$wrongVal}, {$methodMessage}]"; + $closures[] = "[[self::class, 'test{$scalarSane}'], {$val}, {$wrongVal}, {$methodMessage}]"; if (!$self) { - $closures []= "['PhabelTest\\Target\\test$scalarSane', $val, $wrongVal, $funcMessage]"; + $closures[] = "['PhabelTest\\Target\\test{$scalarSane}', {$val}, {$wrongVal}, {$funcMessage}]"; } - - $classFuncs .= "private static function test$scalarSane($scalar \$data): $scalar { return \$data; }\n"; + $classFuncs .= "private static function test{$scalarSane}({$scalar} \$data): {$scalar} { return \$data; }\n"; if (!$self) { - $funcs .= "function test$scalarSane($scalar \$data): $scalar { return \$data; }\n"; + $funcs .= "function test{$scalarSane}({$scalar} \$data): {$scalar} { return \$data; }\n"; } - - [$closureMessage, $methodMessage, $funcMessage] = getErrorMessage("", $scalar, "Ret$scalarSane", $wrongVal, "value of"); - - $closuresRet []= "[fn (\$data): $scalar => \$data, $val, $wrongVal, $closureMessage]"; - $closuresRet []= "[function (\$data): $scalar { return \$data; }, $val, $wrongVal, $closureMessage]"; - $closuresRet []= "[[\$this, 'testRet$scalarSane'], $val, $wrongVal, $methodMessage]"; - $closuresRet []= "[[self::class, 'testRet$scalarSane'], $val, $wrongVal, $methodMessage]"; + [$closureMessage, $methodMessage, $funcMessage] = getErrorMessage("", $scalar, "Ret{$scalarSane}", $wrongVal, "value of"); + $closuresRet[] = "[fn (\$data): {$scalar} => \$data, {$val}, {$wrongVal}, {$closureMessage}]"; + $closuresRet[] = "[function (\$data): {$scalar} { return \$data; }, {$val}, {$wrongVal}, {$closureMessage}]"; + $closuresRet[] = "[[\$this, 'testRet{$scalarSane}'], {$val}, {$wrongVal}, {$methodMessage}]"; + $closuresRet[] = "[[self::class, 'testRet{$scalarSane}'], {$val}, {$wrongVal}, {$methodMessage}]"; if (!$self) { - $closuresRet []= "['PhabelTest\\Target\\testRet$scalarSane', $val, $wrongVal, $funcMessage]"; + $closuresRet[] = "['PhabelTest\\Target\\testRet{$scalarSane}', {$val}, {$wrongVal}, {$funcMessage}]"; } - - $classFuncs .= "private static function testRet$scalarSane(\$data): $scalar { return \$data; }\n"; + $classFuncs .= "private static function testRet{$scalarSane}(\$data): {$scalar} { return \$data; }\n"; if (!$self) { - $funcs .= "function testRet$scalarSane(\$data): $scalar { return \$data; }\n"; + $funcs .= "function testRet{$scalarSane}(\$data): {$scalar} { return \$data; }\n"; } - if (!($count++ % 5)) { - $i = ($count-1) / 5; + $i = ($count - 1) / 5; $i .= "Test"; + $provider = "[\n" . \implode(",\n", $closures) . "];\n"; + $providerRet = "[\n" . \implode(",\n", $closuresRet) . "];\n"; + $template = << - * @license MIT - */ - class TypeHintReplacer$i extends TestCase - { - /** - * @dataProvider returnDataProvider - */ - public function testRet(callable \$c, \$data, \$wrongData, string \$exception) { - \$this->assertTrue(\$data == \$c(\$data)); - - \$this->expectExceptionMessageMatches(\$exception); - \$c(\$wrongData); - } - public function returnDataProvider(): array - { - return $providerRet; - } - /** - * @dataProvider paramDataProvider - */ - public function test(callable \$c, \$data, \$wrongData, string \$exception) { - \$this->assertTrue(\$data == \$c(\$data)); - - \$this->expectExceptionMessageMatches(\$exception); - \$c(\$wrongData); - } - public function paramDataProvider(): array - { - return $provider; - } - - public static function noop() {} - - $classFuncs - } - EOF; +use PHPUnit\\Framework\\TestCase; - $template = \str_replace("TypeHintReplacerTest", "TypeHintReplacer$i", $template); +{$funcs} + +/** + * @author Daniil Gentili + * @license MIT + */ +class TypeHintReplacer{$i} extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable \$c, \$data, \$wrongData, string \$exception) { + \$this->assertTrue(\$data == \$c(\$data)); + + \$this->expectExceptionMessageMatches(\$exception); + \$c(\$wrongData); + } + public function returnDataProvider(): array + { + return {$providerRet}; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable \$c, \$data, \$wrongData, string \$exception) { + \$this->assertTrue(\$data == \$c(\$data)); + + \$this->expectExceptionMessageMatches(\$exception); + \$c(\$wrongData); + } + public function paramDataProvider(): array + { + return {$provider}; + } + + public static function noop() {} + + {$classFuncs} +} +EOF; + $template = \str_replace("TypeHintReplacerTest", "TypeHintReplacer{$i}", $template); $classFuncs = ''; $funcs = ''; $closures = []; $closuresRet = []; - - \file_put_contents("testsGenerated/Target/TypeHintReplacer$i.php", $template); + \file_put_contents("testsGenerated/Target/TypeHintReplacer{$i}.php", $template); } } } diff --git a/vendor-bin/check/composer.json b/vendor-bin/check/composer.json index 5ca5792c7..b5f8e4f96 100644 --- a/vendor-bin/check/composer.json +++ b/vendor-bin/check/composer.json @@ -5,6 +5,7 @@ "humbug/php-scoper": "^0.15.0", "amphp/php-cs-fixer-config": "dev-master", "phpunit/phpunit": "^7|^8|^9", - "phpunit/php-code-coverage": "*" + "phpunit/php-code-coverage": "*", + "php": ">=8.0 <8.1" } -} \ No newline at end of file +} From 6185bd3a5e8af3f6b3a9e2bbb6582b8d3feb1cac Mon Sep 17 00:00:00 2001 From: Github Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 28 Aug 2021 20:13:05 +0200 Subject: [PATCH 2/3] phabel.io: transpile to 56 --- scoper.inc.php | 1 - src/ClassStorage.php | 105 +- src/ClassStorage/Builder.php | 60 +- src/ClassStorage/Storage.php | 138 +- src/ClassStorageProvider.php | 31 +- src/Cli/EventHandler.php | 118 +- src/Cli/Formatter.php | 23 +- src/Cli/SimpleConsoleLogger.php | 30 +- src/Commands/Publish.php | 76 +- src/Commands/Run.php | 16 +- src/Composer/Plugin.php | 32 +- src/Composer/Repository.php | 28 +- src/Composer/Transformer.php | 255 ++- src/Context.php | 187 +- src/EventHandler.php | 60 +- src/EventHandlerInterface.php | 22 +- src/Exception.php | 55 +- src/ExceptionWrapper.php | 17 +- src/Plugin.php | 163 +- src/Plugin/ClassStoragePlugin.php | 66 +- src/Plugin/ComposerSanitizer.php | 40 +- src/Plugin/GeneratorDetector.php | 17 +- src/Plugin/IssetExpressionFixer.php | 107 +- src/Plugin/ListSplitter.php | 61 +- src/Plugin/Memoization.php | 8 +- src/Plugin/NestedExpressionFixer.php | 61 +- src/Plugin/NewFixer.php | 44 +- src/Plugin/PhabelTestGenerator.php | 53 +- src/Plugin/ReGenerator.php | 10 +- src/Plugin/ReGenerator/ReGenerator.php | 46 +- src/Plugin/ReGeneratorInternal.php | 15 +- src/Plugin/StmtExprWrapper.php | 14 +- src/Plugin/StringConcatOptimizer.php | 20 +- src/Plugin/TypeHintReplacer.php | 305 ++- src/Plugin/VariableFinder.php | 28 +- src/Plugin/YieldDetector.php | 2 +- src/PluginCache.php | 162 +- src/PluginGraph/CircularException.php | 10 +- src/PluginGraph/Graph.php | 36 +- src/PluginGraph/GraphInternal.php | 72 +- src/PluginGraph/Node.php | 74 +- src/PluginGraph/PackageContext.php | 43 +- src/PluginGraph/Plugins.php | 16 +- src/PluginGraph/ResolvedGraph.php | 49 +- src/PluginInterface.php | 30 +- src/RootNode.php | 19 +- src/Target/Php.php | 93 +- src/Target/Php70/AnonymousClassReplacer.php | 20 +- src/Target/Php70/DefineArrayReplacer.php | 8 +- src/Target/Php70/GroupUseReplacer.php | 18 +- src/Target/Php70/IssetExpressionFixer.php | 8 +- src/Target/Php70/NestedExpressionFixer.php | 8 +- src/Target/Php70/NullCoalesceReplacer.php | 42 +- src/Target/Php70/Polyfill.php | 222 ++- src/Target/Php70/ReservedNameReplacer.php | 2 +- src/Target/Php70/ReturnTypeHints.php | 8 +- src/Target/Php70/ScalarTypeHints.php | 8 +- .../Php70/SpaceshipOperatorReplacer.php | 19 +- .../StrictTypesDeclareStatementRemover.php | 18 +- src/Target/Php70/ThrowableReplacer.php | 64 +- src/Target/Php71/ArrayList.php | 6 +- ...lassConstantVisibilityModifiersRemover.php | 2 +- src/Target/Php71/ClosureFromCallable.php | 56 +- src/Target/Php71/IterableHint.php | 8 +- src/Target/Php71/ListExpression.php | 8 +- src/Target/Php71/ListKey.php | 8 +- src/Target/Php71/MultipleCatchReplacer.php | 2 +- src/Target/Php71/NullableType.php | 8 +- src/Target/Php71/Polyfill.php | 515 +++++- src/Target/Php71/VoidReturnType.php | 8 +- src/Target/Php72/ObjectTypeHintReplacer.php | 8 +- src/Target/Php72/Polyfill.php | 156 +- src/Target/Php72/TypeContravariance.php | 8 +- .../TypeContravariance/TypeContravariance.php | 19 +- src/Target/Php73/ListReference.php | 8 +- src/Target/Php73/NestedExpressionFixer.php | 8 +- src/Target/Php73/Polyfill.php | 56 +- src/Target/Php74/ArrayUnpack.php | 38 +- src/Target/Php74/ArrowClosure.php | 10 +- src/Target/Php74/NullCoalesceAssignment.php | 8 +- src/Target/Php74/Polyfill.php | 53 +- src/Target/Php74/Serializable.php | 54 +- src/Target/Php74/TypeContracovariance.php | 8 +- .../TypeContracovariance.php | 19 +- src/Target/Php74/TypedProperty.php | 2 +- src/Target/Php80/IssetExpressionFixer.php | 8 +- src/Target/Php80/MatchTransformer.php | 12 +- src/Target/Php80/NestedExpressionFixer.php | 8 +- src/Target/Php80/NullSafe/NullSafe.php | 2 +- src/Target/Php80/NullSafeTransformer.php | 24 +- src/Target/Php80/Polyfill.php | 1646 +++++++++++++++-- src/Target/Php80/StaticReplacer.php | 8 +- src/Target/Php80/ThrowExprReplacer.php | 10 +- src/Target/Php80/UnionTypeStripper.php | 8 +- src/Tasks/Init.php | 39 +- src/Tasks/Run.php | 38 +- src/Tools.php | 329 +++- src/Traverser.php | 469 +++-- src/VariableContext.php | 56 +- src/Version.php | 6 +- tools/ci/functions.php | 8 +- tools/ci/prepareDeps.php | 2 +- tools/convertPhabel.php | 24 +- tools/exprGen.php | 46 +- tools/testExprGen.php | 3 +- tools/typeHintGen.php | 74 +- 106 files changed, 6064 insertions(+), 1195 deletions(-) diff --git a/scoper.inc.php b/scoper.inc.php index 49d5bebc1..77a661419 100644 --- a/scoper.inc.php +++ b/scoper.inc.php @@ -1,6 +1,5 @@ > */ - private array $classes = []; + private $classes = []; /** * Traits. * * @var array> */ - private array $traits = []; + private $traits = []; /** * Files to process. * * @var array */ - private array $files = []; + private $files = []; /** * Constructor. */ @@ -66,9 +66,13 @@ public function __construct(ClassStoragePlugin $plugin) * * @return array */ - public function getFiles(): array + public function getFiles() { - return $this->files; + $phabelReturn = $this->files; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get class. @@ -78,9 +82,25 @@ public function getFiles(): array * * @return Storage */ - public function getClass(string $file, string $name): Storage + public function getClass($file, $name) { - return $this->classes[$name][$file] ?? $this->traits[$name][$file]; + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $name = (string) $name; + } + $phabelReturn = isset($this->classes[$name][$file]) ? $this->classes[$name][$file] : $this->traits[$name][$file]; + if (!$phabelReturn instanceof Storage) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Storage, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get class by class name. @@ -89,16 +109,26 @@ public function getClass(string $file, string $name): Storage * * @return ?Storage */ - public function getClassByName(string $class): ?Storage + public function getClassByName($class) { - return \array_values($this->classes[$class] ?? [])[0] ?? null; + if (!\is_string($class)) { + if (!(\is_string($class) || \is_object($class) && \method_exists($class, '__toString') || (\is_bool($class) || \is_numeric($class)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($class) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($class) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $class = (string) $class; + } + $phabelReturn = null !== ($phabel_18d10d89847cd942 = \array_values(isset($this->classes[$class]) ? $this->classes[$class] : [])) && isset($phabel_18d10d89847cd942[0]) ? $phabel_18d10d89847cd942[0] : null; + if (!($phabelReturn instanceof Storage || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Storage, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get storage. * * @return \Generator */ - public function getClasses(): \Generator + public function getClasses() { foreach ($this->classes as $class => $classes) { foreach ($classes as $_ => $storage) { @@ -106,8 +136,11 @@ public function getClasses(): \Generator } } } - private static function typeArray(null|Identifier|Name|NullableType|UnionType $type): array + private static function typeArray($type) { + if (!(\is_null($type) || $type instanceof Identifier || $type instanceof Name || $type instanceof NullableType || $type instanceof UnionType)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type Identifier|Name|NullableType|UnionType|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } $types = []; if ($type instanceof NullableType) { $types = [$type->type, new Identifier('null')]; @@ -116,7 +149,11 @@ private static function typeArray(null|Identifier|Name|NullableType|UnionType $t } elseif (!TypeHintReplacer::replaced($type)) { $types = [$type]; } - return $types; + $phabelReturn = $types; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Compare two types. @@ -128,12 +165,25 @@ private static function typeArray(null|Identifier|Name|NullableType|UnionType $t * * @return integer */ - public function compare(null|Identifier|Name|NullableType|UnionType $typeA, null|Identifier|Name|NullableType|UnionType $typeB, Storage $ctxA, Storage $ctxB): int + public function compare($typeA, $typeB, Storage $ctxA, Storage $ctxB) { + if (!(\is_null($typeA) || $typeA instanceof Identifier || $typeA instanceof Name || $typeA instanceof NullableType || $typeA instanceof UnionType)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($typeA) must be of type Identifier|Name|NullableType|UnionType|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($typeA) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!(\is_null($typeB) || $typeB instanceof Identifier || $typeB instanceof Name || $typeB instanceof NullableType || $typeB instanceof UnionType)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($typeB) must be of type Identifier|Name|NullableType|UnionType|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($typeB) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } $typeA = self::typeArray($typeA); $typeB = self::typeArray($typeB); if (\count($typeA) !== \count($typeB)) { - return \count($typeA) <=> \count($typeB); + $phabelReturn = \Phabel\Target\Php70\SpaceshipOperatorReplacer::spaceship(\count($typeA), \count($typeB)); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } if (\count($typeA) + \count($typeB) === 2) { $typeA = $typeA[0]; @@ -141,16 +191,37 @@ public function compare(null|Identifier|Name|NullableType|UnionType $typeA, null if ($typeA instanceof Name && $typeB instanceof Name && ($classA = $typeA->parts === ['self'] ? $ctxA : $this->getClassByName(Tools::getFqdn($typeA))) && ($classB = $typeA->parts === ['self'] ? $ctxB : $this->getClassByName(Tools::getFqdn($typeB)))) { foreach ($classA->getAllChildren() as $child) { if ($child === $classB) { - return 1; + $phabelReturn = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } } foreach ($classB->getAllChildren() as $child) { if ($child === $classA) { - return -1; + $phabelReturn = -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } } } } - return 0; + $phabelReturn = 0; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/ClassStorage/Builder.php b/src/ClassStorage/Builder.php index 6b5fc5720..639660dc3 100644 --- a/src/ClassStorage/Builder.php +++ b/src/ClassStorage/Builder.php @@ -27,25 +27,25 @@ class Builder * * @psalm-var array */ - private array $methods = []; + private $methods = []; /** * Abstract method list. * * @psalm-var array */ - private array $abstractMethods = []; + private $abstractMethods = []; /** * Extended classes/interfaces. * * @var array */ - private array $extended = []; + private $extended = []; /** * Used classes/interfaces. * * @var array */ - private array $use = []; + private $use = []; /** * Use aliases. * @@ -53,36 +53,42 @@ class Builder * * @var array> */ - private array $useAlias = []; + private $useAlias = []; /** * Whether we're resolving. */ - private bool $resolving = false; + private $resolving = false; /** * Whether we resolved. */ - private bool $resolved = false; + private $resolved = false; /** * Storage. */ - private ?Storage $storage = null; + private $storage = null; /** * Class name. */ - private string $name; + private $name; /** * Constructor. * * @param ClassLike $class Class or trait */ - public function __construct(ClassLike $class, string $customName = '') + public function __construct(ClassLike $class, $customName = '') { + if (!\is_string($customName)) { + if (!(\is_string($customName) || \is_object($customName) && \method_exists($customName, '__toString') || (\is_bool($customName) || \is_numeric($customName)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($customName) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($customName) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $customName = (string) $customName; + } $this->name = Tools::getFqdn($class, $customName); if ($class instanceof Interface_ || $class instanceof StmtClass_) { foreach (\is_array($class->extends) ? $class->extends : ($class->extends ? [$class->extends] : []) as $name) { $this->extended[Tools::getFqdn($name)] = true; } - foreach ($class->implements ?? [] as $name) { + foreach (isset($class->implements) ? $class->implements : [] as $name) { $this->extended[Tools::getFqdn($name)] = true; } } @@ -126,10 +132,14 @@ private function addMethod(ClassMethod $method) /** * Resolve class tree. */ - public function resolve(ClassStoragePlugin $plugin): self + public function resolve(ClassStoragePlugin $plugin) { if ($this->resolved) { - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if ($this->resolving) { $plugins = [$this->name]; @@ -149,7 +159,7 @@ public function resolve(ClassStoragePlugin $plugin): self $resolved = \array_values($plugin->traits[$trait])[0]->resolve($plugin); foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator([$resolved->methods, $resolved->abstractMethods])) as $name => $method) { if (isset($this->useAlias[$trait][$name])) { - [$newTrait, $name] = $this->useAlias[$trait][$name]; + list($newTrait, $name) = $this->useAlias[$trait][$name]; if (!isset($plugin->traits[$newTrait])) { continue; } @@ -177,14 +187,18 @@ public function resolve(ClassStoragePlugin $plugin): self } $this->resolving = false; $this->resolved = true; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Build storage. * * @return Storage */ - public function build(): Storage + public function build() { if (!$this->resolved) { throw new Exception("Trying to build an unresolved class!"); @@ -193,13 +207,21 @@ public function build(): Storage $this->storage = new Storage(); $this->storage->build($this->name, $this->methods, $this->abstractMethods, $this->extended); } - return $this->storage; + $phabelReturn = $this->storage; + if (!$phabelReturn instanceof Storage) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Storage, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Debug info. */ - public function __debugInfo(): array + public function __debugInfo() { - return ['name' => $this->name, 'methods' => \array_keys($this->methods), 'abstractMethods' => \array_keys($this->abstractMethods), 'extended' => $this->extended, 'useAlias' => $this->useAlias, 'use' => $this->use]; + $phabelReturn = ['name' => $this->name, 'methods' => \array_keys($this->methods), 'abstractMethods' => \array_keys($this->abstractMethods), 'extended' => $this->extended, 'useAlias' => $this->useAlias, 'use' => $this->use]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/ClassStorage/Storage.php b/src/ClassStorage/Storage.php index 526d81bd8..c10f8b03f 100644 --- a/src/ClassStorage/Storage.php +++ b/src/ClassStorage/Storage.php @@ -10,42 +10,42 @@ */ class Storage { - private const MODIFIER_NORMAL = 256; + const MODIFIER_NORMAL = 256; const STORAGE_KEY = 'Storage:instance'; /** * Method list. * * @psalm-var array */ - private array $methods = []; + private $methods = []; /** * Abstract method list. * * @psalm-var array */ - private array $abstractMethods = []; + private $abstractMethods = []; /** * Removed method list. * * @var array */ - private array $removedMethods = []; + private $removedMethods = []; /** * Classes/interfaces to extend. * * @var array */ - private array $extends = []; + private $extends = []; /** * Classes/interfaces that extend us. * * @var array */ - private array $extendedBy = []; + private $extendedBy = []; /** * Class name. */ - private string $name; + private $name; /** * Constructor. * @@ -54,8 +54,14 @@ class Storage * @param array $abstractMethods * @param array $extends */ - public function build(string $name, array $methods, array $abstractMethods, array $extends) + public function build($name, array $methods, array $abstractMethods, array $extends) { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $name = (string) $name; + } $this->name = $name; $this->methods = $methods; $this->abstractMethods = $abstractMethods; @@ -84,9 +90,16 @@ public function build(string $name, array $methods, array $abstractMethods, arra * * @return string */ - public function getName(): string + public function getName() { - return $this->name; + $phabelReturn = $this->name; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Get method list. @@ -96,8 +109,20 @@ public function getName(): string * * @return \Generator */ - public function getMethods(int $typeMask = ~Class_::VISIBILITY_MODIFIER_MASK, int $visibilityMask = Class_::VISIBILITY_MODIFIER_MASK): \Generator + public function getMethods($typeMask = ~Class_::VISIBILITY_MODIFIER_MASK, $visibilityMask = Class_::VISIBILITY_MODIFIER_MASK) { + if (!\is_int($typeMask)) { + if (!(\is_bool($typeMask) || \is_numeric($typeMask))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($typeMask) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($typeMask) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $typeMask = (int) $typeMask; + } + if (!\is_int($visibilityMask)) { + if (!(\is_bool($visibilityMask) || \is_numeric($visibilityMask))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($visibilityMask) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($visibilityMask) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $visibilityMask = (int) $visibilityMask; + } if ($typeMask & Class_::MODIFIER_ABSTRACT) { foreach ($this->abstractMethods as $name => $method) { if (($method->flags | Class_::MODIFIER_ABSTRACT) & $typeMask && $method->flags & $visibilityMask) { @@ -118,25 +143,33 @@ public function getMethods(int $typeMask = ~Class_::VISIBILITY_MODIFIER_MASK, in * * @return array */ - public function getExtendedBy(): array + public function getExtendedBy() { - return $this->extendedBy; + $phabelReturn = $this->extendedBy; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get classes which this class extends. * * @return array */ - public function getExtends(): array + public function getExtends() { - return $this->extends; + $phabelReturn = $this->extends; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get all child classes. * * @return \Generator */ - public function getAllChildren(): \Generator + public function getAllChildren() { foreach ($this->extendedBy as $class) { (yield $class); @@ -148,7 +181,7 @@ public function getAllChildren(): \Generator * * @return \Generator */ - public function getAllParents(): \Generator + public function getAllParents() { foreach ($this->extends as $class) { (yield $class); @@ -164,8 +197,26 @@ public function getAllParents(): \Generator * * @return \Generator */ - public function getOverriddenMethods(string $name, int $typeMask = ~Class_::VISIBILITY_MODIFIER_MASK, int $visibilityMask = Class_::VISIBILITY_MODIFIER_MASK): \Generator + public function getOverriddenMethods($name, $typeMask = ~Class_::VISIBILITY_MODIFIER_MASK, $visibilityMask = Class_::VISIBILITY_MODIFIER_MASK) { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $name = (string) $name; + } + if (!\is_int($typeMask)) { + if (!(\is_bool($typeMask) || \is_numeric($typeMask))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($typeMask) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($typeMask) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $typeMask = (int) $typeMask; + } + if (!\is_int($visibilityMask)) { + if (!(\is_bool($visibilityMask) || \is_numeric($visibilityMask))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($visibilityMask) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($visibilityMask) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $visibilityMask = (int) $visibilityMask; + } foreach ($this->getAllChildren() as $child) { if (isset($child->abstractMethods[$name])) { $method = $child->abstractMethods[$name]; @@ -190,34 +241,62 @@ public function getOverriddenMethods(string $name, int $typeMask = ~Class_::VISI * * @return bool */ - public function removeMethod(ClassMethod $method): bool + public function removeMethod(ClassMethod $method) { $name = $method->name->name; if ($method->stmts !== null) { if (isset($this->methods[$name])) { $this->removedMethods[$name] = true; unset($this->methods[$name]); - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } elseif (isset($this->abstractMethods[$name])) { $this->removedMethods[$name] = true; unset($this->abstractMethods[$name]); - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Process method from AST. * * @return bool */ - public function process(ClassMethod $method): bool + public function process(ClassMethod $method) { $name = $method->name->name; if (isset($this->removedMethods[$name])) { - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - $myMethod = $this->methods[$name] ?? $this->abstractMethods[$name]; + $myMethod = isset($this->methods[$name]) ? $this->methods[$name] : $this->abstractMethods[$name]; foreach ($myMethod->getSubNodeNames() as $name) { if ($name === 'stmts') { continue; @@ -229,6 +308,13 @@ public function process(ClassMethod $method): bool $method->setAttribute($key, $attribute); } } - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/ClassStorageProvider.php b/src/ClassStorageProvider.php index bb9e51d6a..944646c82 100644 --- a/src/ClassStorageProvider.php +++ b/src/ClassStorageProvider.php @@ -10,25 +10,25 @@ abstract class ClassStorageProvider extends Plugin implements JsonSerializable { - private const PROCESSED = 'ClassStorageProvider:processed'; + const PROCESSED = 'ClassStorageProvider:processed'; /** * Class count. */ - private array $count = []; + private $count = []; /** * Process class graph. * * @param ClassStorage $storage * @return bool */ - abstract public static function processClassGraph(ClassStorage $storage): bool; + abstract public static function processClassGraph(ClassStorage $storage); /** * Enter file. * * @param RootNode $_ * @return void */ - public function enterRoot(RootNode $_, Context $context): void + public function enterRoot(RootNode $_, Context $context) { $this->count[$context->getFile()] = []; } @@ -38,7 +38,7 @@ public function enterRoot(RootNode $_, Context $context): void * @param ClassLike $classLike * @return void */ - public function enterClassStorage(ClassLike $class, Context $context): void + public function enterClassStorage(ClassLike $class, Context $context) { if ($class->hasAttribute(self::PROCESSED)) { return; @@ -49,7 +49,7 @@ public function enterClassStorage(ClassLike $class, Context $context): void $name = self::getFqdn($class); } else { $name = "class@anonymous{$file}"; - $this->count[$file][$name] ??= 0; + $this->count[$file][$name] = isset($this->count[$file][$name]) ? $this->count[$file][$name] : 0; $name .= "@" . $this->count[$file][$name]++; } $storage = $this->getGlobalClassStorage()->getClass($file, $name); @@ -64,17 +64,28 @@ public function enterClassStorage(ClassLike $class, Context $context): void * * @return ClassStorage */ - public function getGlobalClassStorage(): ClassStorage + public function getGlobalClassStorage() { - return $this->getConfig(ClassStorage::class, null); + $phabelReturn = $this->getConfig(ClassStorage::class, null); + if (!$phabelReturn instanceof ClassStorage) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ClassStorage, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * JSON representation. * * @return string */ - public function jsonSerialize(): string + public function jsonSerialize() { - return \spl_object_hash($this); + $phabelReturn = \spl_object_hash($this); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/Cli/EventHandler.php b/src/Cli/EventHandler.php index ac924800a..3fcda6199 100644 --- a/src/Cli/EventHandler.php +++ b/src/Cli/EventHandler.php @@ -4,49 +4,85 @@ use Phabel\EventHandler as PhabelEventHandler; use Psr\Log\LoggerInterface; -use Symfony\Component\Console\Formatter\OutputFormatter; use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Output\ConsoleOutput; -use Throwable; class EventHandler extends PhabelEventHandler { - private OutputFormatter $outputFormatter; - private ?ProgressBar $progress = null; + private $outputFormatter; + private $progress = null; /** * Progress bar getter. * * @var null|(callable(int): ProgressBar) */ private $getProgressBar = null; - private int $count = 0; + private $count = 0; /** * Create simple CLI-based preconfigured instance. * * @return self */ - public static function create(): self + public static function create() { $output = new ConsoleOutput(); - return new EventHandler(new SimpleConsoleLogger($output), fn (int $max): ProgressBar => (new ProgressBar($output, $max, -1))); + $phabelReturn = new EventHandler(new SimpleConsoleLogger($output), function ($max) use ($output) { + if (!\is_int($max)) { + if (!(\is_bool($max) || \is_numeric($max))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($max) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $max = (int) $max; + } + $phabelReturn = new ProgressBar($output, $max, -1); + if (!$phabelReturn instanceof ProgressBar) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProgressBar, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + }); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public function __construct(private LoggerInterface $logger, ?callable $getProgressBar) + public function __construct(private LoggerInterface $logger, $getProgressBar) { + if (!(\is_callable($getProgressBar) || \is_null($getProgressBar))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($getProgressBar) must be of type ?callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($getProgressBar) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } $this->outputFormatter = Formatter::getFormatter(); $this->getProgressBar = $getProgressBar; } - public function onBeginPluginGraphResolution(): void + public function onBeginPluginGraphResolution() { $this->logger->debug($this->outputFormatter->format("Plugin graph resolution in progress...")); } - public function onEndPluginGraphResolution(): void + public function onEndPluginGraphResolution() { $this->logger->debug($this->outputFormatter->format("Finished plugin graph resolution!")); } - private function startProgressBar(string $message, int $total, int $workers = 1): void + private function startProgressBar($message, $total, $workers = 1) { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $message = (string) $message; + } + if (!\is_int($total)) { + if (!(\is_bool($total) || \is_numeric($total))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($total) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($total) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $total = (int) $total; + } + if (!\is_int($workers)) { + if (!(\is_bool($workers) || \is_numeric($workers))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($workers) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($workers) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $workers = (int) $workers; + } if ($this->getProgressBar) { - $this->progress = ($this->getProgressBar)($total); + $phabel_11f8432a35865732 = $this->getProgressBar; + $this->progress = $phabel_11f8432a35865732($total); $this->progress->setFormat($this->outputFormatter->format('%message% %percent:3s%% (%current%/%max%)')); } if ($this->progress) { @@ -60,8 +96,20 @@ private function startProgressBar(string $message, int $total, int $workers = 1) $this->logger->debug($this->outputFormatter->format("{$message}")); } } - public function onBeginDirectoryTraversal(int $total, int $workers): void + public function onBeginDirectoryTraversal($total, $workers) { + if (!\is_int($total)) { + if (!(\is_bool($total) || \is_numeric($total))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($total) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($total) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $total = (int) $total; + } + if (!\is_int($workers)) { + if (!(\is_bool($workers) || \is_numeric($workers))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($workers) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($workers) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $workers = (int) $workers; + } if (!$this->count) { $message = 'Transpilation in progress...'; } else { @@ -71,37 +119,57 @@ public function onBeginDirectoryTraversal(int $total, int $workers): void $this->count++; $this->startProgressBar($message, $total, $workers); } - public function onEndAstTraversal(string $file, int|\Throwable $iterationsOrError): void + public function onEndAstTraversal($file, $iterationsOrError) { - $this->progress?->advance(); - if ($iterationsOrError instanceof Throwable) { + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } + if (!($iterationsOrError instanceof \Exception || $iterationsOrError instanceof \Error)) { + if (!\is_int($iterationsOrError)) { + if (!(\is_bool($iterationsOrError) || \is_numeric($iterationsOrError))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($iterationsOrError) must be of type Throwable|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($iterationsOrError) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $iterationsOrError = (int) $iterationsOrError; + } + } + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->progress) ? $this->progress : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->advance(); + if ($iterationsOrError instanceof \Exception || $iterationsOrError instanceof \Error) { $this->logger->error($this->outputFormatter->format(PHP_EOL . "{$iterationsOrError->getMessage()}!")); $this->logger->debug($this->outputFormatter->format("{$iterationsOrError}")); } else { $this->logger->debug($this->outputFormatter->format("Transpiled {$file} in {$iterationsOrError} iterations!")); } } - public function onEndDirectoryTraversal(): void + public function onEndDirectoryTraversal() { - $this->progress?->finish(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->progress) ? $this->progress : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->finish(); $this->logger->warning(""); } - public function onBeginClassGraphMerge(int $count): void + public function onBeginClassGraphMerge($count) { + if (!\is_int($count)) { + if (!(\is_bool($count) || \is_numeric($count))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($count) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($count) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $count = (int) $count; + } $this->startProgressBar("Merging class graphs...", $count); } - public function onClassGraphMerged(): void + public function onClassGraphMerged() { - $this->progress?->advance(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->progress) ? $this->progress : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->advance(); $this->logger->debug($this->outputFormatter->format("Merged class graph!")); } - public function onEndClassGraphMerge(): void + public function onEndClassGraphMerge() { - $this->progress?->finish(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->progress) ? $this->progress : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->finish(); } - public function onEnd(): void + public function onEnd() { - $this->progress?->clear(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->progress) ? $this->progress : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->clear(); $this->logger->warning($this->outputFormatter->format('Done!')); } } diff --git a/src/Cli/Formatter.php b/src/Cli/Formatter.php index a62b57088..7c254d598 100644 --- a/src/Cli/Formatter.php +++ b/src/Cli/Formatter.php @@ -7,17 +7,28 @@ class Formatter { - public const BANNER = "*********\n Phabel \n*********\n\nPHP transpiler - Write and deploy modern PHP 8 code, today: https://phabel.io"; - private static ?OutputFormatter $instance = null; - public static function getFormatter(): OutputFormatter + const BANNER = "*********\n Phabel \n*********\n\nPHP transpiler - Write and deploy modern PHP 8 code, today: https://phabel.io"; + private static $instance = null; + public static function getFormatter() { if (!self::$instance) { self::$instance = new OutputFormatter(true, ['bold' => new OutputFormatterStyle('white', 'default', ['bold']), 'phabel' => new OutputFormatterStyle('blue', 'default', ['bold']), 'error' => new OutputFormatterStyle('red', 'default', ['bold'])]); } - return self::$instance; + $phabelReturn = self::$instance; + if (!$phabelReturn instanceof OutputFormatter) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type OutputFormatter, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function banner(): string + public static function banner() { - return self::getFormatter()->format(self::BANNER); + $phabelReturn = self::getFormatter()->format(self::BANNER); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/Cli/SimpleConsoleLogger.php b/src/Cli/SimpleConsoleLogger.php index 39c0a4435..4592b0265 100644 --- a/src/Cli/SimpleConsoleLogger.php +++ b/src/Cli/SimpleConsoleLogger.php @@ -26,8 +26,8 @@ */ class SimpleConsoleLogger extends AbstractLogger { - public const INFO = 'info'; - public const ERROR = 'error'; + const INFO = 'info'; + const ERROR = 'error'; private $output; private $verbosityLevelMap = [LogLevel::EMERGENCY => OutputInterface::VERBOSITY_NORMAL, LogLevel::ALERT => OutputInterface::VERBOSITY_NORMAL, LogLevel::CRITICAL => OutputInterface::VERBOSITY_NORMAL, LogLevel::ERROR => OutputInterface::VERBOSITY_NORMAL, LogLevel::WARNING => OutputInterface::VERBOSITY_NORMAL, LogLevel::NOTICE => OutputInterface::VERBOSITY_VERBOSE, LogLevel::INFO => OutputInterface::VERBOSITY_VERY_VERBOSE, LogLevel::DEBUG => OutputInterface::VERBOSITY_DEBUG]; private $formatLevelMap = [LogLevel::EMERGENCY => self::ERROR, LogLevel::ALERT => self::ERROR, LogLevel::CRITICAL => self::ERROR, LogLevel::ERROR => self::ERROR, LogLevel::WARNING => self::INFO, LogLevel::NOTICE => self::INFO, LogLevel::INFO => self::INFO, LogLevel::DEBUG => self::INFO]; @@ -76,10 +76,23 @@ public function hasErrored() * * @author PHP Framework Interoperability Group */ - private function interpolate(string $message, array $context): string + private function interpolate($message, array $context) { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $message = (string) $message; + } if (!\str_contains($message, '{')) { - return $message; + $phabelReturn = $message; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } $replacements = []; foreach ($context as $key => $val) { @@ -93,6 +106,13 @@ private function interpolate(string $message, array $context): string $replacements["{{$key}}"] = '[' . \gettype($val) . ']'; } } - return \strtr($message, $replacements); + $phabelReturn = \strtr($message, $replacements); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/Commands/Publish.php b/src/Commands/Publish.php index f0e88dae0..fa8a8f2af 100644 --- a/src/Commands/Publish.php +++ b/src/Commands/Publish.php @@ -17,20 +17,46 @@ class Publish extends Command { protected static $defaultName = 'publish'; - private function exec(array $command, bool $ignoreResult = false): string + private function exec(array $command, $ignoreResult = false) { + if (!\is_bool($ignoreResult)) { + if (!(\is_bool($ignoreResult) || \is_numeric($ignoreResult) || \is_string($ignoreResult))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($ignoreResult) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($ignoreResult) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $ignoreResult = (bool) $ignoreResult; + } $proc = new Process($command); $proc->run(); if (!$proc->isSuccessful() && !$ignoreResult) { throw new ProcessFailedException($proc); } - return $proc->getOutput(); + $phabelReturn = $proc->getOutput(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - private function getMessage(string $ref): string + private function getMessage($ref) { - return $this->exec(['git', 'log', '--format=%B', '-n', '1', $ref]); + if (!\is_string($ref)) { + if (!(\is_string($ref) || \is_object($ref) && \method_exists($ref, '__toString') || (\is_bool($ref) || \is_numeric($ref)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($ref) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($ref) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $ref = (string) $ref; + } + $phabelReturn = $this->exec(['git', 'log', '--format=%B', '-n', '1', $ref]); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - protected function configure(): void + protected function configure() { $tags = new Process(['git', 'tag']); $tags->run(); @@ -43,8 +69,20 @@ protected function configure(): void } $this->setDescription('Transpile a release.')->setHelp('This command transpiles the specified (or the latest) git tag.')->addOption("remote", 'r', InputOption::VALUE_OPTIONAL, 'Remote where to push tags', 'origin')->addArgument('source', $tag ? InputArgument::OPTIONAL : InputArgument::REQUIRED, 'Source tag name', $tag); } - private function prepare(string $src, string $dest, callable $cb): void + private function prepare($src, $dest, callable $cb) { + if (!\is_string($src)) { + if (!(\is_string($src) || \is_object($src) && \method_exists($src, '__toString') || (\is_bool($src) || \is_numeric($src)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($src) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($src) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $src = (string) $src; + } + if (!\is_string($dest)) { + if (!(\is_string($dest) || \is_object($dest) && \method_exists($dest, '__toString') || (\is_bool($dest) || \is_numeric($dest)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($dest) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($dest) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $dest = (string) $dest; + } $this->exec(['git', 'checkout', $src]); $message = $this->getMessage($src); if (!\file_exists('composer.json')) { @@ -65,20 +103,30 @@ protected function execute(InputInterface $input, OutputInterface $output) $branch = \trim($this->exec(["git", 'rev-parse', '--abbrev-ref', 'HEAD'])); $stashed = \trim($this->exec(['git', 'stash'])) !== 'No local changes to save'; $output->write("Tagging transpiled release {$src}.9998..." . PHP_EOL); - $this->prepare($src, "{$src}.9998", function (array $json): array { - $json['phabel'] ??= []; - $json['phabel']['extra'] ??= []; + $this->prepare($src, "{$src}.9998", function (array $json) { + $json['phabel'] = isset($json['phabel']) ? $json['phabel'] : []; + $json['phabel']['extra'] = isset($json['phabel']['extra']) ? $json['phabel']['extra'] : []; $json['phabel']['extra']['require'] = $json['require']; $json['require'] = ['phabel/phabel' => Version::VERSION, 'php' => $json['require']['php']]; - \file_put_contents(ComposerSanitizer::FILE_NAME, ComposerSanitizer::getContents($json['name'] ?? 'phabel')); + \file_put_contents(ComposerSanitizer::FILE_NAME, ComposerSanitizer::getContents(isset($json['name']) ? $json['name'] : 'phabel')); $this->exec(['git', 'add', ComposerSanitizer::FILE_NAME]); - $json['autoload'] ??= []; - $json['autoload']['files'] ??= []; + $json['autoload'] = isset($json['autoload']) ? $json['autoload'] : []; + $json['autoload']['files'] = isset($json['autoload']['files']) ? $json['autoload']['files'] : []; $json['autoload']['files'][] = ComposerSanitizer::FILE_NAME; - return $json; + $phabelReturn = $json; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; }); $output->write("Tagging original release as {$src}.9999..." . PHP_EOL); - $this->prepare($src, "{$src}.9999", fn (array $json): array => $json); + $this->prepare($src, "{$src}.9999", function (array $json) { + $phabelReturn = $json; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + }); $this->exec(['git', 'checkout', $branch]); if ($stashed) { $this->exec(['git', 'stash', 'pop']); diff --git a/src/Commands/Run.php b/src/Commands/Run.php index b6765b78c..b8bad305f 100644 --- a/src/Commands/Run.php +++ b/src/Commands/Run.php @@ -17,7 +17,7 @@ class Run extends Command { protected static $defaultName = 'run'; - protected function configure(): void + protected function configure() { $target = \getenv('PHABEL_TARGET') ?: null; $coverage = \getenv('PHABEL_COVERAGE') ?: false; @@ -32,7 +32,19 @@ protected function execute(InputInterface $input, OutputInterface $output) $output->write("Missing --target parameter or PHABEL_TARGET environment variable!" . PHP_EOL . PHP_EOL); return Command::INVALID; } - $packages = (new Traverser(new CliEventHandler(new SimpleConsoleLogger($output), !\getenv('CI') && !$output->isDebug() ? fn (int $max): ProgressBar => (new ProgressBar($output, $max, -1)) : null)))->setPlugins([Php::class => ['target' => Php::normalizeVersion($input->getOption('target'))]])->setInput($input->getArgument('input'))->setOutput($input->getArgument('output'))->setCoverage($input->getOption('coverage') ?: '')->run($input->getOption('parallel')); + $packages = (new Traverser(new CliEventHandler(new SimpleConsoleLogger($output), !\getenv('CI') && !$output->isDebug() ? function ($max) use ($output) { + if (!\is_int($max)) { + if (!(\is_bool($max) || \is_numeric($max))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($max) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $max = (int) $max; + } + $phabelReturn = new ProgressBar($output, $max, -1); + if (!$phabelReturn instanceof ProgressBar) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProgressBar, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } : null)))->setPlugins([Php::class => ['target' => Php::normalizeVersion($input->getOption('target'))]])->setInput($input->getArgument('input'))->setOutput($input->getArgument('output'))->setCoverage($input->getOption('coverage') ?: '')->run($input->getOption('parallel')); if (!empty($packages)) { $cmd = "composer require --dev "; foreach ($packages as $package => $constraint) { diff --git a/src/Composer/Plugin.php b/src/Composer/Plugin.php index 339cb6455..8b8b622b7 100644 --- a/src/Composer/Plugin.php +++ b/src/Composer/Plugin.php @@ -22,10 +22,10 @@ */ class Plugin implements PluginInterface, EventSubscriberInterface { - private string $toRequire = ''; + private $toRequire = ''; /** @psalm-suppress MissingConstructor */ - private Transformer $transformer; - private ?array $lock = null; + private $transformer; + private $lock = null; /** * Apply plugin modifications to Composer. * @@ -34,7 +34,7 @@ class Plugin implements PluginInterface, EventSubscriberInterface * * @return void */ - public function activate(Composer $composer, IOInterface $io): void + public function activate(Composer $composer, IOInterface $io) { if (\file_exists('composer.lock')) { $this->lock = \json_decode(\file_get_contents('composer.lock'), true); @@ -89,21 +89,27 @@ public static function getSubscribedEvents() { return [ScriptEvents::POST_INSTALL_CMD => ['onInstall', 1], ScriptEvents::POST_UPDATE_CMD => ['onUpdate', 1]]; } - public function onInstall(Event $event): void + public function onInstall(Event $event) { $this->run($event, false); } - public function onUpdate(Event $event): void + public function onUpdate(Event $event) { $this->run($event, true); } - private function run(Event $event, bool $isUpdate): void + private function run(Event $event, $isUpdate) { + if (!\is_bool($isUpdate)) { + if (!(\is_bool($isUpdate) || \is_numeric($isUpdate) || \is_string($isUpdate))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($isUpdate) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($isUpdate) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $isUpdate = (bool) $isUpdate; + } $lock = \json_decode(\file_get_contents('composer.lock'), true); if (!$this->transformer->transform($lock, $this->lock)) { \register_shutdown_function(function () use ($isUpdate) { /** @var Application */ - $application = ($GLOBALS['application'] ?? null) instanceof Application ? $GLOBALS['application'] : new Application(); + $application = (isset($GLOBALS['application']) ? $GLOBALS['application'] : null) instanceof Application ? $GLOBALS['application'] : new Application(); $this->transformer->log("Loading additional dependencies...\n"); if (!$isUpdate) { $require = $application->find('require'); @@ -119,14 +125,14 @@ private function run(Event $event, bool $isUpdate): void if (!isset($json['require']['phabel/phabel'])) { return; } - $old = $json['extra']['phabel']['revision'] ?? -1; + $old = isset($json['extra']['phabel']['revision']) ? $json['extra']['phabel']['revision'] : -1; if ($old === Version::LATEST) { return; } - $json['extra'] ??= []; - $json['extra']['phabel'] ??= []; + $json['extra'] = isset($json['extra']) ? $json['extra'] : []; + $json['extra']['phabel'] = isset($json['extra']['phabel']) ? $json['extra']['phabel'] : []; $json['extra']['phabel']['revision'] = Version::LATEST; - $json['require'] ??= []; + $json['require'] = isset($json['require']) ? $json['require'] : []; $json['require']['php'] = '^8.0'; $this->transformer->banner(); $f = [$this->transformer, 'format']; @@ -147,7 +153,7 @@ private function run(Event $event, bool $isUpdate): void * * @return void */ - public function onDependencySolve(InstallerEvent $event): void + public function onDependencySolve(InstallerEvent $event) { } } diff --git a/src/Composer/Repository.php b/src/Composer/Repository.php index 75a9bd257..573065f23 100644 --- a/src/Composer/Repository.php +++ b/src/Composer/Repository.php @@ -10,7 +10,7 @@ */ trait Repository { - private Transformer $phabelTransformer; + private $phabelTransformer; /** * TODO v3 should make this private once we can drop PHP 5.3 support. * @@ -19,7 +19,7 @@ trait Repository */ public function isVersionAcceptable($constraint, $name, $versionData, array $acceptableStabilities = null, array $stabilityFlags = null) { - [$name] = $this->phabelTransformer->extractTarget($name); + list($name) = $this->phabelTransformer->extractTarget($name); return parent::isVersionAcceptable($constraint, $name, $versionData, $acceptableStabilities, $stabilityFlags); } /** @@ -37,22 +37,22 @@ public function loadPackages(array $packageNameMap, array $acceptableStabilities $newPackageNameMap = []; $transformInfo = []; foreach ($packageNameMap as $key => $constraint) { - [$package, $target] = $this->phabelTransformer->extractTarget($key); - $newPackageNameMap[$target] ??= []; + list($package, $target) = $this->phabelTransformer->extractTarget($key); + $newPackageNameMap[$target] = isset($newPackageNameMap[$target]) ? $newPackageNameMap[$target] : []; $newPackageNameMap[$target][$package] = $constraint; - $transformInfo[$target] ??= []; + $transformInfo[$target] = isset($transformInfo[$target]) ? $transformInfo[$target] : []; $transformInfo[$target][$package] = $key; } foreach ($alreadyLoaded as $key => $versions) { - [$package, $target] = $this->phabelTransformer->extractTarget($key); - $newAlreadyLoaded[$target] ??= []; + list($package, $target) = $this->phabelTransformer->extractTarget($key); + $newAlreadyLoaded[$target] = isset($newAlreadyLoaded[$target]) ? $newAlreadyLoaded[$target] : []; $newAlreadyLoaded[$target][$package] = $versions; } $finalNamesFound = []; $finalPackages = []; foreach ($newPackageNameMap as $target => $map) { $t = $transformInfo[$target]; - $packages = parent::loadPackages($map, $acceptableStabilities, $stabilityFlags, $newAlreadyLoaded[$target] ?? []); + $packages = parent::loadPackages($map, $acceptableStabilities, $stabilityFlags, isset($newAlreadyLoaded[$target]) ? $newAlreadyLoaded[$target] : []); foreach ($packages['namesFound'] as $package) { $finalNamesFound[] = $t[$package]; } @@ -82,7 +82,7 @@ public function loadPackages(array $packageNameMap, array $acceptableStabilities */ public function findPackage($fullName, $constraint) { - [$name, $target] = $this->phabelTransformer->extractTarget($fullName); + list($name, $target) = $this->phabelTransformer->extractTarget($fullName); if (!($package = parent::findPackage($name, $constraint))) { return null; } @@ -100,7 +100,7 @@ public function findPackage($fullName, $constraint) */ public function findPackages($fullName, $constraint = null) { - [$name, $target] = $this->phabelTransformer->extractTarget($fullName); + list($name, $target) = $this->phabelTransformer->extractTarget($fullName); $packages = parent::findPackages($name, $constraint); foreach ($packages as &$package) { $package = clone $package; @@ -129,9 +129,13 @@ public function getPackages() * * @return self */ - public function setPhabelTransformer(Transformer $phabelTransformer): self + public function setPhabelTransformer(Transformer $phabelTransformer) { $this->phabelTransformer = $phabelTransformer; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Composer/Transformer.php b/src/Composer/Transformer.php index 9d47bdc0e..74a83314b 100644 --- a/src/Composer/Transformer.php +++ b/src/Composer/Transformer.php @@ -20,7 +20,6 @@ use Phabel\Target\Php; use Phabel\Traverser; use ReflectionClass; -use Symfony\Component\Console\Formatter\OutputFormatter; use Symfony\Component\Console\Helper\ProgressBar; class Transformer extends EventHandler @@ -30,44 +29,48 @@ class Transformer extends EventHandler /** * IO interface. */ - private IOInterface $io; + private $io; /** * IO interface. */ - private OutputFormatter $outputFormatter; + private $outputFormatter; /** * Version parser. */ - private VersionParser $versionParser; + private $versionParser; /** * Requires. */ - private array $requires = []; + private $requires = []; /** * Whether we processed requirements. */ - private array $processedRequires = []; + private $processedRequires = []; /** * Whether we processed any dependencies. */ - private bool $processed = false; + private $processed = false; /** * Whether a progress bar should be shown. */ - private bool $doProgress = true; + private $doProgress = true; /** * Instance. */ - private static self $instance; + private static $instance; /** * Get singleton. * * @return self */ - public static function getInstance(IOInterface $io): self + public static function getInstance(IOInterface $io) { - self::$instance ??= new self($io); - return self::$instance; + self::$instance = isset(self::$instance) ? self::$instance : new self($io); + $phabelReturn = self::$instance; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Constructor. @@ -88,8 +91,26 @@ private function __construct(IOInterface $io) * @param bool $newline * @return void */ - public function log(string $text, int $verbosity = IOInterface::NORMAL, bool $newline = true): void + public function log($text, $verbosity = IOInterface::NORMAL, $newline = true) { + if (!\is_string($text)) { + if (!(\is_string($text) || \is_object($text) && \method_exists($text, '__toString') || (\is_bool($text) || \is_numeric($text)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($text) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($text) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $text = (string) $text; + } + if (!\is_int($verbosity)) { + if (!(\is_bool($verbosity) || \is_numeric($verbosity))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($verbosity) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($verbosity) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $verbosity = (int) $verbosity; + } + if (!\is_bool($newline)) { + if (!(\is_bool($newline) || \is_numeric($newline) || \is_string($newline))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($newline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $newline = (bool) $newline; + } $this->io->writeError($this->format("{$text}"), $newline, $verbosity); } /** @@ -98,16 +119,29 @@ public function log(string $text, int $verbosity = IOInterface::NORMAL, bool $ne * @param string $text * @return string */ - public function format(string $text): string + public function format($text) { - return $this->outputFormatter->format($text); + if (!\is_string($text)) { + if (!(\is_string($text) || \is_object($text) && \method_exists($text, '__toString') || (\is_bool($text) || \is_numeric($text)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($text) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($text) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $text = (string) $text; + } + $phabelReturn = $this->outputFormatter->format($text); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Print banner. * * @return void */ - public function banner(): void + public function banner() { static $printed = false; if (!$printed) { @@ -124,17 +158,29 @@ public function banner(): void * * @return void */ - public function preparePackage(PackageInterface &$package, string $newName, int $target = Php::TARGET_IGNORE): void + public function preparePackage(PackageInterface &$package, $newName, $target = Php::TARGET_IGNORE) { + if (!\is_string($newName)) { + if (!(\is_string($newName) || \is_object($newName) && \method_exists($newName, '__toString') || (\is_bool($newName) || \is_numeric($newName)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newName) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newName) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $newName = (string) $newName; + } + if (!\is_int($target)) { + if (!(\is_bool($target) || \is_numeric($target))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($target) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($target) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $target = (int) $target; + } /** * Phabel configuration of current package. * @var array */ - $config = $package->getExtra()['phabel'] ?? []; - $myTarget = Php::normalizeVersion($config['target'] ?? Php::DEFAULT_TARGET); + $config = null !== ($phabel_f0c212d00f8be226 = $package->getExtra()) && isset($phabel_f0c212d00f8be226['phabel']) ? $phabel_f0c212d00f8be226['phabel'] : []; + $myTarget = Php::normalizeVersion(isset($config['target']) ? $config['target'] : Php::DEFAULT_TARGET); $havePhabel = false; foreach ($package->getRequires() as $link) { - [$name] = $this->extractTarget($link->getTarget()); + list($name) = $this->extractTarget($link->getTarget()); if ($name === 'phabel/phabel') { $havePhabel = true; } @@ -159,7 +205,7 @@ public function preparePackage(PackageInterface &$package, string $newName, int $this->log("Applying " . $package->getName() . "={$newName}", IOInterface::VERY_VERBOSE); $this->processedRequires = $this->requires; $requires = $this->requires; - foreach ($config['require'] ?? [] as $name => $constraint) { + foreach (isset($config['require']) ? $config['require'] : [] as $name => $constraint) { $requires[$this->injectTarget($name, $myTarget)] = $constraint; } if ($newName !== $package->getName() && \method_exists($package, 'setProvides')) { @@ -180,8 +226,20 @@ public function preparePackage(PackageInterface &$package, string $newName, int * * @return void */ - private function processRequires(PackageInterface $package, int $target, array $requires, bool $havePhabel) + private function processRequires(PackageInterface $package, $target, array $requires, $havePhabel) { + if (!\is_int($target)) { + if (!(\is_bool($target) || \is_numeric($target))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($target) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($target) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $target = (int) $target; + } + if (!\is_bool($havePhabel)) { + if (!(\is_bool($havePhabel) || \is_numeric($havePhabel) || \is_string($havePhabel))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($havePhabel) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($havePhabel) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $havePhabel = (bool) $havePhabel; + } $links = []; foreach ($package->getRequires() as $name => $link) { if (PlatformRepository::isPlatformPackage($link->getTarget())) { @@ -211,10 +269,29 @@ private function processRequires(PackageInterface $package, int $target, array $ * @param int $target * @return string */ - private function injectTarget(string $package, int $target): string + private function injectTarget($package, $target) { - [$package] = $this->extractTarget($package); - return self::HEADER . $target . self::SEPARATOR . $package; + if (!\is_string($package)) { + if (!(\is_string($package) || \is_object($package) && \method_exists($package, '__toString') || (\is_bool($package) || \is_numeric($package)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($package) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($package) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $package = (string) $package; + } + if (!\is_int($target)) { + if (!(\is_bool($target) || \is_numeric($target))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($target) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($target) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $target = (int) $target; + } + list($package) = $this->extractTarget($package); + $phabelReturn = self::HEADER . $target . self::SEPARATOR . $package; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Look for phabel configuration parameters in constraint. @@ -223,13 +300,27 @@ private function injectTarget(string $package, int $target): string * * @return array{0: string, 1: int} */ - public function extractTarget(string $package): array + public function extractTarget($package) { + if (!\is_string($package)) { + if (!(\is_string($package) || \is_object($package) && \method_exists($package, '__toString') || (\is_bool($package) || \is_numeric($package)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($package) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($package) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $package = (string) $package; + } if (\str_starts_with($package, self::HEADER)) { - [$version, $package] = \explode(self::SEPARATOR, \substr($package, \strlen(self::HEADER)), 2); - return [$package, $version]; + list($version, $package) = \explode(self::SEPARATOR, \substr($package, \strlen(self::HEADER)), 2); + $phabelReturn = [$package, $version]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return [$package, Php::TARGET_IGNORE]; + $phabelReturn = [$package, Php::TARGET_IGNORE]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Transform dependencies. @@ -238,20 +329,26 @@ public function extractTarget(string $package): array * @param ?array $old * @return bool Whether no more packages should be updated */ - public function transform(?array $lock, ?array $old): bool + public function transform($lock, $old) { + if (!(\is_array($lock) || \is_null($lock))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($lock) must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($lock) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!(\is_array($old) || \is_null($old))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($old) must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($old) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } $enabled = \gc_enabled(); \gc_enable(); - $packages = $lock['packages'] ?? []; + $packages = isset($lock['packages']) ? $lock['packages'] : []; $this->log("Creating plugin graph...", IOInterface::VERBOSE); $byName = []; foreach ($packages as $package) { - [$name, $target] = $this->extractTarget($package['name']); + list($name, $target) = $this->extractTarget($package['name']); if ($target === Php::TARGET_IGNORE) { continue; } $package['phabelTarget'] = (int) $target; - $package['phabelConfig'] = [$package['extra']['phabel'] ?? []]; + $package['phabelConfig'] = [isset($package['extra']['phabel']) ? $package['extra']['phabel'] : []]; unset($package['phabelConfig'][0]['target']); $byName[$name] = $package; } @@ -259,11 +356,11 @@ public function transform(?array $lock, ?array $old): bool $changed = false; foreach ($byName as $name => $package) { $parentConfigs = $package['phabelConfig']; - foreach ($package['require'] ?? [] as $subName => $constraint) { + foreach (isset($package['require']) ? $package['require'] : [] as $subName => $constraint) { if (PlatformRepository::isPlatformPackage($subName)) { continue; } - [$subName] = $this->extractTarget($subName); + list($subName) = $this->extractTarget($subName); if ($target === Php::TARGET_IGNORE) { continue; } @@ -285,7 +382,19 @@ public function transform(?array $lock, ?array $old): bool $graph->addPlugin(Php::class, $config + $target, $ctx); } } - $traverser = new Traverser(new CliEventHandler($this->io, $this->doProgress && $this->io instanceof ConsoleIO && !\getenv('CI') && !$this->io->isDebug() ? fn (int $progress): ProgressBar => $this->io->getProgressBar($progress) : null)); + $traverser = new Traverser(new CliEventHandler($this->io, $this->doProgress && $this->io instanceof ConsoleIO && !\getenv('CI') && !$this->io->isDebug() ? function ($progress) { + if (!\is_int($progress)) { + if (!(\is_bool($progress) || \is_numeric($progress))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($progress) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($progress) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $progress = (int) $progress; + } + $phabelReturn = $this->io->getProgressBar($progress); + if (!$phabelReturn instanceof ProgressBar) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProgressBar, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } : null)); $traverser->setPluginGraph($graph); unset($graph); $this->requires = $traverser->getGraph()->getPackages(); @@ -296,18 +405,52 @@ public function transform(?array $lock, ?array $old): bool } \gc_disable(); } - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } if ($lock && $lock === $old) { - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } if (!$byName) { - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } $this->banner(); - $traverser->setInput('vendor')->setOutput('vendor')->setComposer(function (string $rel): string { - [$package] = $this->extractTarget(\str_replace('\\', '/', $rel)); - return \implode('/', \array_slice(\explode('/', $package), 0, 2)); + $traverser->setInput('vendor')->setOutput('vendor')->setComposer(function ($rel) { + if (!\is_string($rel)) { + if (!(\is_string($rel) || \is_object($rel) && \method_exists($rel, '__toString') || (\is_bool($rel) || \is_numeric($rel)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($rel) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($rel) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $rel = (string) $rel; + } + list($package) = $this->extractTarget(\str_replace('\\', '/', $rel)); + $phabelReturn = \implode('/', \array_slice(\explode('/', $package), 0, 2)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; })->run((int) (\getenv('PHABEL_PARALLEL') ?: 1)); if (!$enabled) { unset($traverser); @@ -315,24 +458,42 @@ public function transform(?array $lock, ?array $old): bool } \gc_disable(); } - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Get whether we processed any dependencies. * * @return bool */ - public function processedRequires(): bool + public function processedRequires() { - return $this->processed && $this->processedRequires === $this->requires; + $phabelReturn = $this->processed && $this->processedRequires === $this->requires; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Get IO interface. * * @return IOInterface */ - public function getIo(): IOInterface + public function getIo() { - return $this->io; + $phabelReturn = $this->io; + if (!$phabelReturn instanceof IOInterface) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type IOInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Context.php b/src/Context.php index 90e5b50b4..fb9cd0d63 100644 --- a/src/Context.php +++ b/src/Context.php @@ -34,7 +34,6 @@ use PhpParser\Node\Stmt\If_; use PhpParser\NodeVisitor\NameResolver; use PhpParser\PrettyPrinter\Standard; -use PhpParser\PrettyPrinterAbstract; use SplStack; /** @@ -50,39 +49,39 @@ class Context * * @var SplStack */ - public SplStack $parents; + public $parents; /** * Declared variables stack. * * @var SplStack */ - public SplStack $variables; + public $variables; /** * Name resolver. * * @var NameResolver */ - public NameResolver $nameResolver; + public $nameResolver; /** * Pretty printer. */ - public PrettyPrinterAbstract $prettyPrinter; + public $prettyPrinter; /** * Arrow closure converter. */ - private ArrowClosure $converter; + private $converter; /** * Current file. */ - private string $file; + private $file; /** * Current input file. */ - private string $inputFile; + private $inputFile; /** * Current output file. */ - private string $outputFile; + private $outputFile; /** * Constructor. */ @@ -103,7 +102,7 @@ public function __construct() * @param Node $node * @return void */ - public function pushResolve(Node $node): void + public function pushResolve(Node $node) { if (!$node instanceof FullyQualified) { $this->nameResolver->enterNode($node); @@ -116,14 +115,23 @@ public function pushResolve(Node $node): void * * @return void */ - public function push(Node $node): void + public function push(Node $node) { $this->parents->push($node); if ($node instanceof RootNode) { $this->variables->push(new VariableContext()); } if ($node instanceof FunctionLike) { - $variables = \array_fill_keys(\array_map(fn (Param $param): string => $param->var->name, $node->getParams()), true); + $variables = \array_fill_keys(\array_map(function (Param $param) { + $phabelReturn = $param->var->name; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; + }, $node->getParams()), true); if ($node instanceof Closure) { foreach ($node->uses as $use) { $variables[$use->var->name] = true; @@ -155,7 +163,7 @@ public function push(Node $node): void * * @return void */ - private function populateVars(Node $node): void + private function populateVars(Node $node) { while ($node instanceof ArrayDimFetch && $node->var instanceof ArrayDimFetch) { $node = $node->var; @@ -175,7 +183,7 @@ private function populateVars(Node $node): void * * @return void */ - public function pop(): void + public function pop() { $popped = $this->parents->pop(); if ($popped instanceof RootNode || $popped instanceof FunctionLike) { @@ -190,9 +198,13 @@ public function pop(): void * * @return Variable */ - public function getVariable(): Variable + public function getVariable() { - return new Variable($this->variables->top()->getVar()); + $phabelReturn = new Variable($this->variables->top()->getVar()); + if (!$phabelReturn instanceof Variable) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Variable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get child currently being iterated on. @@ -200,9 +212,13 @@ public function getVariable(): Variable * @param Node $node * @return Node */ - public static function getCurrentChild(Node $node): Node + public static function getCurrentChild(Node $node) { - return self::getCurrentChildByRef($node); + $phabelReturn = self::getCurrentChildByRef($node); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get child currently being iterated on, by reference. @@ -210,16 +226,24 @@ public static function getCurrentChild(Node $node): Node * @param Node $node * @return Node */ - public static function &getCurrentChildByRef(Node $node): Node + public static function &getCurrentChildByRef(Node $node) { if (!($subNode = $node->getAttribute('currentNode'))) { throw new \RuntimeException('Node is not a part of the current AST stack!'); } $child =& $node->{$subNode}; if (null !== ($index = $node->getAttribute('currentNodeIndex'))) { - return $child[$index]; + $phabelReturn =& $child[$index]; + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn =& $child; + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return $child; + return $phabelReturn; } /** * Insert nodes before node. @@ -228,7 +252,7 @@ public static function &getCurrentChildByRef(Node $node): Node * @param Node ...$insert Nodes to insert * @return void */ - public function insertBefore(Node $node, Node ...$insert): void + public function insertBefore(Node $node, Node ...$insert) { if (empty($insert)) { return; @@ -270,24 +294,24 @@ public function insertBefore(Node $node, Node ...$insert): void // if ($parent instanceof BooleanOr && $parentKey === 'right' && Tools::hasSideEffects($parent->right)) { $result = $this->getVariable(); - $insert = new If_($parent->left, ['stmts' => [new Assign($result, BuilderHelpers::normalizeValue(true))], 'else' => new Else_([...$insert, new Assign($result, new Bool_($parent->right))])]); + $insert = new If_($parent->left, ['stmts' => [new Assign($result, BuilderHelpers::normalizeValue(true))], 'else' => new Else_(\array_merge($insert, [new Assign($result, new Bool_($parent->right))]))]); $parent = $result; } elseif ($parent instanceof BooleanAnd && $parentKey === 'right' && Tools::hasSideEffects($parent->right)) { $result = $this->getVariable(); - $insert = new If_($parent->left, ['stmts' => [...$insert, new Assign($result, new Bool_($parent->right))], 'else' => new Else_([new Assign($result, BuilderHelpers::normalizeValue(false))])]); + $insert = new If_($parent->left, ['stmts' => \array_merge($insert, [new Assign($result, new Bool_($parent->right))]), 'else' => new Else_([new Assign($result, BuilderHelpers::normalizeValue(false))])]); $parent = $result; } elseif ($parent instanceof Ternary && $parentKey !== 'cond' && (Tools::hasSideEffects($parent->if) || Tools::hasSideEffects($parent->else))) { $result = $this->getVariable(); if (!$parent->if) { // ?: - $insert = new If_(new BooleanNot(new Assign($result, $parent->cond)), ['stmts' => [...$insert, new Assign($result, $parent->else)]]); + $insert = new If_(new BooleanNot(new Assign($result, $parent->cond)), ['stmts' => \array_merge($insert, [new Assign($result, $parent->else)])]); } else { - $insert = new If_($parent->cond, ['stmts' => [...$parentKey === 'left' ? $insert : [], new Assign($result, $parent->if)], 'else' => new Else_([...$parentKey === 'right' ? $insert : [], new Assign($result, $parent->else)])]); + $insert = new If_($parent->cond, ['stmts' => \array_merge($parentKey === 'left' ? $insert : [], [new Assign($result, $parent->if)]), 'else' => new Else_(\array_merge($parentKey === 'right' ? $insert : [], [new Assign($result, $parent->else)]))]); } $parent = $result; } elseif ($parent instanceof Coalesce && $parentKey === 'right' && Tools::hasSideEffects($parent->right)) { $result = $this->getVariable(); - $insert = new If_(Plugin::call('is_null', new Assign($result, $parent->left)), ['stmts' => [...$insert, new Assign($result, $parent->right)]]); + $insert = new If_(Plugin::call('is_null', new Assign($result, $parent->left)), ['stmts' => \array_merge($insert, [new Assign($result, $parent->right)])]); $parent = $result; } $this->insertBefore($parent, ...\is_array($insert) ? $insert : [$insert]); @@ -299,7 +323,7 @@ public function insertBefore(Node $node, Node ...$insert): void * @param Node ...$nodes Nodes to insert * @return void */ - public function insertAfter(Node $node, Node ...$nodes): void + public function insertAfter(Node $node, Node ...$nodes) { if (empty($nodes)) { return; @@ -323,31 +347,49 @@ public function insertAfter(Node $node, Node ...$nodes): void * * @return NameContext */ - public function getNameContext(): NameContext + public function getNameContext() { - return $this->nameResolver->getNameContext(); + $phabelReturn = $this->nameResolver->getNameContext(); + if (!$phabelReturn instanceof NameContext) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type NameContext, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Check if the parent node is a statement. * * @return bool */ - public function isParentStmt(): bool + public function isParentStmt() { $parent = $this->parents[0]; - return $parent instanceof Expression || $parent->getAttribute('currentNode') === 'stmts'; + $phabelReturn = $parent instanceof Expression || $parent->getAttribute('currentNode') === 'stmts'; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Dumps AST. */ - public function dumpAst(Node $stmt): string + public function dumpAst(Node $stmt) { - return $this->prettyPrinter->prettyPrint($stmt instanceof RootNode ? $stmt->stmts : [$stmt]); + $phabelReturn = $this->prettyPrinter->prettyPrint($stmt instanceof RootNode ? $stmt->stmts : [$stmt]); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Convert a function to a closure. */ - public function toClosure(FunctionLike &$func): void + public function toClosure(FunctionLike &$func) { if ($func instanceof ArrowFunction) { $func = $this->converter->enter($func, $this); @@ -358,9 +400,16 @@ public function toClosure(FunctionLike &$func): void * * @return string */ - public function getFile(): string + public function getFile() { - return $this->file; + $phabelReturn = $this->file; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Set relative path of current file. @@ -369,19 +418,36 @@ public function getFile(): string * * @return self */ - public function setFile(string $file): self + public function setFile($file) { + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } $this->file = $file; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get absolute path of current output file. * * @return string */ - public function getOutputFile(): string + public function getOutputFile() { - return $this->outputFile; + $phabelReturn = $this->outputFile; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Set absolute path of current input file. @@ -390,19 +456,36 @@ public function getOutputFile(): string * * @return self */ - public function setInputFile(string $inputFile): self + public function setInputFile($inputFile) { + if (!\is_string($inputFile)) { + if (!(\is_string($inputFile) || \is_object($inputFile) && \method_exists($inputFile, '__toString') || (\is_bool($inputFile) || \is_numeric($inputFile)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($inputFile) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($inputFile) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $inputFile = (string) $inputFile; + } $this->inputFile = $inputFile; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get absolute path of current input file. * * @return string */ - public function getInputFile(): string + public function getInputFile() { - return $this->inputFile; + $phabelReturn = $this->inputFile; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Set absolute path of current output file. @@ -411,9 +494,19 @@ public function getInputFile(): string * * @return self */ - public function setOutputFile(string $outputFile): self + public function setOutputFile($outputFile) { + if (!\is_string($outputFile)) { + if (!(\is_string($outputFile) || \is_object($outputFile) && \method_exists($outputFile, '__toString') || (\is_bool($outputFile) || \is_numeric($outputFile)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($outputFile) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($outputFile) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $outputFile = (string) $outputFile; + } $this->outputFile = $outputFile; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/EventHandler.php b/src/EventHandler.php index 83af40444..fd4a499b8 100644 --- a/src/EventHandler.php +++ b/src/EventHandler.php @@ -4,37 +4,75 @@ abstract class EventHandler implements EventHandlerInterface { - public function onStart(): void + public function onStart() { } - public function onBeginPluginGraphResolution(): void + public function onBeginPluginGraphResolution() { } - public function onEndPluginGraphResolution(): void + public function onEndPluginGraphResolution() { } - public function onBeginDirectoryTraversal(int $total, int $workers): void + public function onBeginDirectoryTraversal($total, $workers) { + if (!\is_int($total)) { + if (!(\is_bool($total) || \is_numeric($total))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($total) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($total) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $total = (int) $total; + } + if (!\is_int($workers)) { + if (!(\is_bool($workers) || \is_numeric($workers))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($workers) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($workers) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $workers = (int) $workers; + } } - public function onBeginAstTraversal(string $file): void + public function onBeginAstTraversal($file) { + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } } - public function onEndAstTraversal(string $file, int|\Throwable $iterationsOrError): void + public function onEndAstTraversal($file, $iterationsOrError) { + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } + if (!($iterationsOrError instanceof \Exception || $iterationsOrError instanceof \Error)) { + if (!\is_int($iterationsOrError)) { + if (!(\is_bool($iterationsOrError) || \is_numeric($iterationsOrError))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($iterationsOrError) must be of type Throwable|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($iterationsOrError) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $iterationsOrError = (int) $iterationsOrError; + } + } } - public function onEndDirectoryTraversal(): void + public function onEndDirectoryTraversal() { } - public function onBeginClassGraphMerge(int $count): void + public function onBeginClassGraphMerge($count) { + if (!\is_int($count)) { + if (!(\is_bool($count) || \is_numeric($count))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($count) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($count) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $count = (int) $count; + } } - public function onClassGraphMerged(): void + public function onClassGraphMerged() { } - public function onEndClassGraphMerge(): void + public function onEndClassGraphMerge() { } - public function onEnd(): void + public function onEnd() { } } diff --git a/src/EventHandlerInterface.php b/src/EventHandlerInterface.php index 45117d994..37cd6e069 100644 --- a/src/EventHandlerInterface.php +++ b/src/EventHandlerInterface.php @@ -4,15 +4,15 @@ interface EventHandlerInterface { - public function onStart(): void; - public function onBeginPluginGraphResolution(): void; - public function onEndPluginGraphResolution(): void; - public function onBeginDirectoryTraversal(int $total, int $workers): void; - public function onBeginAstTraversal(string $file): void; - public function onEndAstTraversal(string $file, int|\Throwable $iterationsOrError): void; - public function onEndDirectoryTraversal(): void; - public function onBeginClassGraphMerge(int $count): void; - public function onClassGraphMerged(): void; - public function onEndClassGraphMerge(): void; - public function onEnd(): void; + public function onStart(); + public function onBeginPluginGraphResolution(); + public function onEndPluginGraphResolution(); + public function onBeginDirectoryTraversal($total, $workers); + public function onBeginAstTraversal($file); + public function onEndAstTraversal($file, $iterationsOrError); + public function onEndDirectoryTraversal(); + public function onBeginClassGraphMerge($count); + public function onClassGraphMerged(); + public function onEndClassGraphMerge(); + public function onEnd(); } diff --git a/src/Exception.php b/src/Exception.php index 44d95c55e..33f8777b6 100644 --- a/src/Exception.php +++ b/src/Exception.php @@ -7,15 +7,22 @@ */ class Exception extends \Exception { - private ?string $trace; + private $trace; /** * Get trace. * * @return string */ - public function __toString(): string + public function __toString() { - return $this->trace ?? parent::__toString(); + $phabelReturn = isset($this->trace) ? $this->trace : parent::__toString(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Constructor. @@ -26,8 +33,32 @@ public function __toString(): string * @param string $file * @param int $line */ - public function __construct(string $message = '', int $code = 0, \Throwable $previous = null, string $file = '', int $line = -1) + public function __construct($message = '', $code = 0, \Throwable $previous = null, $file = '', $line = -1) { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $message = (string) $message; + } + if (!\is_int($code)) { + if (!(\is_bool($code) || \is_numeric($code))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($code) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $code = (int) $code; + } + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } + if (!\is_int($line)) { + if (!(\is_bool($line) || \is_numeric($line))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($line) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $line = (int) $line; + } if ($file !== '') { $this->file = $file; } @@ -43,9 +74,21 @@ public function __construct(string $message = '', int $code = 0, \Throwable $pre * * @return self */ - public function setTrace(?string $trace): self + public function setTrace($trace) { + if (!\is_null($trace)) { + if (!\is_string($trace)) { + if (!(\is_string($trace) || \is_object($trace) && \method_exists($trace, '__toString') || (\is_bool($trace) || \is_numeric($trace)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($trace) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($trace) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $trace = (string) $trace; + } + } $this->trace = $trace; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/ExceptionWrapper.php b/src/ExceptionWrapper.php index 761898d56..5f86ed784 100644 --- a/src/ExceptionWrapper.php +++ b/src/ExceptionWrapper.php @@ -6,7 +6,7 @@ final class ExceptionWrapper { - private SplStack $params; + private $params; public function __construct(\Throwable $e) { $this->params = new SplStack(); @@ -14,13 +14,22 @@ public function __construct(\Throwable $e) $this->params->push([$e->getMessage(), $e->getCode(), $e->getFile(), $e->getLine(), $e->__toString()]); } while ($e = $e->getPrevious()); } - public function getException(): Exception + public function getException() { $previous = null; - foreach ($this->params as [$message, $code, $file, $line, $trace]) { + foreach ($this->params as $phabel_b74d6f1513225dbf) { + $message = $phabel_b74d6f1513225dbf[0]; + $code = $phabel_b74d6f1513225dbf[1]; + $file = $phabel_b74d6f1513225dbf[2]; + $line = $phabel_b74d6f1513225dbf[3]; + $trace = $phabel_b74d6f1513225dbf[4]; $previous = new Exception($message, $code, $previous, $file, $line); $previous->setTrace($trace); } - return $previous; + $phabelReturn = $previous; + if (!$phabelReturn instanceof Exception) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Exception, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin.php b/src/Plugin.php index 3c24dc2eb..cd0a6c66d 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -19,18 +19,18 @@ abstract class Plugin extends Tools implements PluginInterface /** * Configuration array. */ - private array $config = []; + private $config = []; /** * Package context. */ - private PackageContext $ctx; + private $ctx; /** * Set configuration array. * * @param array $config * @return void */ - public function setConfigArray(array $config): void + public function setConfigArray(array $config) { $this->config = $config; } @@ -39,9 +39,13 @@ public function setConfigArray(array $config): void * * @return array */ - public function getConfigArray(): array + public function getConfigArray() { - return $this->config; + $phabelReturn = $this->config; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Set package context. @@ -50,7 +54,7 @@ public function getConfigArray(): array * * @return void */ - public function setPackageContext(PackageContext $ctx): void + public function setPackageContext(PackageContext $ctx) { $this->ctx = $ctx; } @@ -59,9 +63,13 @@ public function setPackageContext(PackageContext $ctx): void * * @return PackageContext */ - public function getPackageContext(): PackageContext + public function getPackageContext() { - return $this->ctx; + $phabelReturn = $this->ctx; + if (!$phabelReturn instanceof PackageContext) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type PackageContext, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Check if plugin should run. @@ -70,9 +78,22 @@ public function getPackageContext(): PackageContext * * @return boolean */ - public function shouldRun(string $package): bool + public function shouldRun($package) { - return $this->ctx->has($package); + if (!\is_string($package)) { + if (!(\is_string($package) || \is_object($package) && \method_exists($package, '__toString') || (\is_bool($package) || \is_numeric($package)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($package) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($package) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $package = (string) $package; + } + $phabelReturn = $this->ctx->has($package); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Check if plugin should run. @@ -81,9 +102,22 @@ public function shouldRun(string $package): bool * * @return boolean */ - public function shouldRunFile(string $file): bool + public function shouldRunFile($file) { - return true; + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Call polyfill function from current plugin. @@ -93,35 +127,70 @@ public function shouldRunFile(string $file): bool * * @return StaticCall */ - protected static function callPoly(string $name, ...$parameters): StaticCall + protected static function callPoly($name, ...$parameters) { - return self::call([static::class, $name], ...$parameters); + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $name = (string) $name; + } + $phabelReturn = self::call([static::class, $name], ...$parameters); + if (!$phabelReturn instanceof StaticCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * {@inheritDoc} */ - public function getConfig(string $key, $default) + public function getConfig($key, $default) { - return $this->config[$key] ?? $default; + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $key = (string) $key; + } + return isset($this->config[$key]) ? $this->config[$key] : $default; } /** * {@inheritDoc} */ - public function setConfig(string $key, $value): void + public function setConfig($key, $value) { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $key = (string) $key; + } $this->config[$key] = $value; } /** * {@inheritDoc} */ - public function hasConfig(string $key): bool + public function hasConfig($key) { - return isset($this->config[$key]); + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $key = (string) $key; + } + $phabelReturn = isset($this->config[$key]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function mergeConfigs(array ...$configs): array + public static function mergeConfigs(array ...$configs) { $final = []; foreach (\array_unique($configs, SORT_REGULAR) as $config) { @@ -133,48 +202,76 @@ public static function mergeConfigs(array ...$configs): array } $final[] = $config; } - return $final; + $phabelReturn = $final; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function splitConfig(array $config): array + public static function splitConfig(array $config) { - return empty($config) ? [[]] : \array_chunk($config, 1, true); + $phabelReturn = empty($config) ? [[]] : \array_chunk($config, 1, true); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function getComposerRequires(array $config): array + public static function getComposerRequires(array $config) { - return []; + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function next(array $config): array + public static function next(array $config) { - return []; + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function previous(array $config): array + public static function previous(array $config) { - return []; + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function withPrevious(array $config): array + public static function withPrevious(array $config) { - return []; + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function withNext(array $config): array + public static function withNext(array $config) { - return []; + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin/ClassStoragePlugin.php b/src/Plugin/ClassStoragePlugin.php index a6a4b9172..1964c2fb1 100644 --- a/src/Plugin/ClassStoragePlugin.php +++ b/src/Plugin/ClassStoragePlugin.php @@ -23,23 +23,23 @@ final class ClassStoragePlugin extends Plugin * * @var array> */ - public array $classes = []; + public $classes = []; /** * Storage. * * @var array> */ - public array $traits = []; + public $traits = []; /** * Count. */ - private array $count = []; + private $count = []; /** * Plugins to call during final iteration. * * @var array, true> */ - protected array $finalPlugins = []; + protected $finalPlugins = []; /** * Check if plugin should run. * @@ -47,9 +47,22 @@ final class ClassStoragePlugin extends Plugin * * @return boolean */ - public function shouldRun(string $package): bool + public function shouldRun($package) { - return true; + if (!\is_string($package)) { + if (!(\is_string($package) || \is_object($package) && \method_exists($package, '__toString') || (\is_bool($package) || \is_numeric($package)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($package) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($package) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $package = (string) $package; + } + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Check if plugin should run. @@ -58,9 +71,22 @@ public function shouldRun(string $package): bool * * @return boolean */ - public function shouldRunFile(string $file): bool + public function shouldRunFile($file) { - return true; + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Set configuration array. @@ -68,7 +94,7 @@ public function shouldRunFile(string $file): bool * @param array $config * @return void */ - public function setConfigArray(array $config): void + public function setConfigArray(array $config) { parent::setConfigArray($config); $this->finalPlugins += $config; @@ -79,7 +105,7 @@ public function setConfigArray(array $config): void * @param RootNode $_ * @return void */ - public function enterRoot(RootNode $_, Context $context): void + public function enterRoot(RootNode $_, Context $context) { $file = $context->getFile(); $this->count[$file] = []; @@ -101,14 +127,14 @@ public function enterRoot(RootNode $_, Context $context): void * * @return void */ - public function enter(ClassLike $class, Context $context): void + public function enter(ClassLike $class, Context $context) { $file = $context->getFile(); if ($class->name) { $name = self::getFqdn($class); } else { $name = "class@anonymous{$file}"; - $this->count[$file][$name] ??= 0; + $this->count[$file][$name] = isset($this->count[$file][$name]) ? $this->count[$file][$name] : 0; $name .= "@" . $this->count[$file][$name]++; } $class = clone $class; @@ -133,7 +159,7 @@ public function enter(ClassLike $class, Context $context): void * @param self $other * @return void */ - public function merge($other): void + public function merge($other) { foreach ($other->classes as $class => $classes) { foreach ($classes as $file => $builder) { @@ -158,7 +184,7 @@ public function merge($other): void * * @return array{0: array, 1: array} Config to pass to new Traverser instance */ - public function finish(): array + public function finish() { $storage = new ClassStorage($this); $processedAny = false; @@ -170,9 +196,17 @@ public function finish(): array $processedAny = $processed || $processedAny; } while ($processed); if (!$processedAny) { - return [[], []]; + $phabelReturn = [[], []]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $result = \array_fill_keys(\array_keys($this->finalPlugins), [ClassStorage::class => $storage]); - return [$result, $storage->getFiles()]; + $phabelReturn = [$result, $storage->getFiles()]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin/ComposerSanitizer.php b/src/Plugin/ComposerSanitizer.php index 36be65ff9..928432705 100644 --- a/src/Plugin/ComposerSanitizer.php +++ b/src/Plugin/ComposerSanitizer.php @@ -13,8 +13,8 @@ */ class ComposerSanitizer extends Plugin { - public const FILE_NAME = '___transpiledWithPhabel.php'; - private const MESSAGE = <<stmts = []; } diff --git a/src/Plugin/GeneratorDetector.php b/src/Plugin/GeneratorDetector.php index cbd7240eb..302141ab2 100644 --- a/src/Plugin/GeneratorDetector.php +++ b/src/Plugin/GeneratorDetector.php @@ -18,18 +18,25 @@ class GeneratorDetector extends Plugin /** * Whether this function is a generator. */ - private const IS_GENERATOR = 'isGenerator'; + const IS_GENERATOR = 'isGenerator'; /** * Return whether this function is a generator. * * @param FunctionLike $node * @return boolean */ - public static function isGenerator(FunctionLike $node): bool + public static function isGenerator(FunctionLike $node) { - return $node->getAttribute(self::IS_GENERATOR, false); + $phabelReturn = $node->getAttribute(self::IS_GENERATOR, false); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public function enterYield(Yield_ $node, Context $ctx): void + public function enterYield(Yield_ $node, Context $ctx) { foreach ($ctx->parents as $parent) { if ($parent instanceof FunctionLike) { @@ -38,7 +45,7 @@ public function enterYield(Yield_ $node, Context $ctx): void } } } - public function enterYieldFrom(YieldFrom $node, Context $ctx): void + public function enterYieldFrom(YieldFrom $node, Context $ctx) { foreach ($ctx->parents as $parent) { if ($parent instanceof FunctionLike) { diff --git a/src/Plugin/IssetExpressionFixer.php b/src/Plugin/IssetExpressionFixer.php index b1d3fab47..ca608d7f1 100644 --- a/src/Plugin/IssetExpressionFixer.php +++ b/src/Plugin/IssetExpressionFixer.php @@ -33,12 +33,20 @@ class IssetExpressionFixer extends Plugin * @param Node $var * @return Node */ - private static function &extractWorkVar(Node &$var): Node + private static function &extractWorkVar(Node &$var) { if ($var instanceof ArrayDimFetch && $var->var instanceof ArrayDimFetch) { - return self::extractWorkVar($var->var); + $phabelReturn =& self::extractWorkVar($var->var); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn =& $var; + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return $var; + return $phabelReturn; } /** * Wrap boolean isset check. @@ -47,11 +55,15 @@ private static function &extractWorkVar(Node &$var): Node * * @return ArrayDimFetch */ - private static function wrapBoolean(Expr $node): ArrayDimFetch + private static function wrapBoolean(Expr $node) { - return new ArrayDimFetch(self::callPoly('returnMe', new Ternary($node, self::fromLiteral([0]), self::fromLiteral([]))), new LNumber(0)); + $phabelReturn = new ArrayDimFetch(self::callPoly('returnMe', new Ternary($node, self::fromLiteral([0]), self::fromLiteral([]))), new LNumber(0)); + if (!$phabelReturn instanceof ArrayDimFetch) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ArrayDimFetch, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public function enter(Isset_ $isset): void + public function enter(Isset_ $isset) { foreach ($isset->vars as $key => &$var) { /** @var array, true>> */ @@ -62,7 +74,7 @@ public function enter(Isset_ $isset): void $workVar =& $this->extractWorkVar($var); $needsFixing = false; foreach ($subNodes as $key => $types) { - if (isset($types[self::getClass($workVar->{$key} ?? '')])) { + if (isset($types[self::getClass(isset($workVar->{$key}) ? $workVar->{$key} : '')])) { $needsFixing = true; break; } @@ -117,9 +129,16 @@ public static function returnMe($data) * * @return class-string */ - public static function getClass($class): string + public static function getClass($class) { - return \is_string($class) ? $class : \get_class($class); + $phabelReturn = \is_string($class) ? $class : \get_class($class); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Check if static property is set. @@ -130,26 +149,59 @@ public static function getClass($class): string * * @return boolean */ - public static function staticExists($class, string $property, bool $propertyOrConstant): bool + public static function staticExists($class, $property, $propertyOrConstant) { + if (!\is_string($property)) { + if (!(\is_string($property) || \is_object($property) && \method_exists($property, '__toString') || (\is_bool($property) || \is_numeric($property)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($property) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($property) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $property = (string) $property; + } + if (!\is_bool($propertyOrConstant)) { + if (!(\is_bool($propertyOrConstant) || \is_numeric($propertyOrConstant) || \is_string($propertyOrConstant))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($propertyOrConstant) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($propertyOrConstant) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $propertyOrConstant = (bool) $propertyOrConstant; + } $reflectionClass = new ReflectionClass($class); $class = self::getClass($class); if ($propertyOrConstant) { try { $reflection = $reflectionClass->getProperty($property); } catch (ReflectionException $e) { - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } elseif (PHP_VERSION_ID >= 70100) { try { $reflection = new ReflectionClassConstant($class, $property); } catch (ReflectionException $e) { - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } else { - return isset($reflectionClass->getConstants()[$property]); + $phabelReturn = isset($reflectionClass->getConstants()[$property]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - $classCaller = \debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2)[1]['class'] ?? ''; + $classCaller = null !== ($phabel_698a1ed91fd0737e = \debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2)) && isset($phabel_698a1ed91fd0737e[1]['class']) ? $phabel_698a1ed91fd0737e[1]['class'] : ''; $allowProtected = false; $allowPrivate = false; if ($classCaller) { @@ -160,11 +212,32 @@ public static function staticExists($class, string $property, bool $propertyOrCo } } if ($reflection->isPrivate()) { - return $allowPrivate ? $reflection->getValue() !== null : false; + $phabelReturn = $allowPrivate ? $reflection->getValue() !== null : false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } if ($reflection->isProtected()) { - return $allowProtected ? $reflection->getValue() !== null : false; + $phabelReturn = $allowProtected ? $reflection->getValue() !== null : false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; + } + $phabelReturn = $reflection->getValue() !== null; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; } - return $reflection->getValue() !== null; + return $phabelReturn; } } diff --git a/src/Plugin/ListSplitter.php b/src/Plugin/ListSplitter.php index 799f1824d..207d7e6e2 100644 --- a/src/Plugin/ListSplitter.php +++ b/src/Plugin/ListSplitter.php @@ -25,7 +25,7 @@ class ListSplitter extends Plugin * * @return void */ - public function enterForeach(Foreach_ $node, Context $ctx): void + public function enterForeach(Foreach_ $node, Context $ctx) { if (!($node->valueVar instanceof List_ || $node->valueVar instanceof Array_)) { return; @@ -72,7 +72,7 @@ public function enterAssign(Assign $node, Context $ctx) * @return (Assign|AssignRef)[] * @psalm-return array */ - public static function splitList($list, Variable $var): array + public static function splitList($list, Variable $var) { $assignments = []; $key = 0; @@ -82,14 +82,18 @@ public static function splitList($list, Variable $var): array $key++; continue; } - $curKey = $item->key ?? new LNumber($key++); + $curKey = isset($item->key) ? $item->key : new LNumber($key++); if ($item->byRef) { $assignments[] = new AssignRef($item->value, new ArrayDimFetch($var, $curKey)); } else { $assignments[] = new Assign($item->value, new ArrayDimFetch($var, $curKey)); } } - return $assignments; + $phabelReturn = $assignments; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Whether we should act on this list. @@ -98,13 +102,20 @@ public static function splitList($list, Variable $var): array * * @return boolean */ - private function hasReference($list): bool + private function hasReference($list) { $c = $this->getConfigArray(); $this->setConfigArray(['byRef' => true]); $res = $this->shouldSplit($list); $this->setConfigArray($c); - return $res; + $phabelReturn = $res; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Whether we should act on this list. @@ -113,22 +124,50 @@ private function hasReference($list): bool * * @return boolean */ - private function shouldSplit($list): bool + private function shouldSplit($list) { foreach ($list->items as $item) { if (!$item) { continue; } if ($this->getConfig('byRef', false) && $item->byRef) { - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } elseif ($this->getConfig('key', false) && isset($item->key)) { - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } elseif ($item->value instanceof List_ || $item->value instanceof Array_) { if ($this->shouldSplit($item->value)) { - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } } - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/Plugin/Memoization.php b/src/Plugin/Memoization.php index 87a324ca9..685c6e5e1 100644 --- a/src/Plugin/Memoization.php +++ b/src/Plugin/Memoization.php @@ -33,7 +33,7 @@ class Memoization extends Plugin * * @var SplStack */ - private SplStack $cache; + private $cache; /** * Constructor function. */ @@ -48,9 +48,9 @@ public function __construct() * * @return void */ - public function enterFunctionLike(FunctionLike $node, Context $ctx): void + public function enterFunctionLike(FunctionLike $node, Context $ctx) { - if (!\preg_match_all('/@memoize \\$([\\w\\d_]+)/', (string) ($node->getDocComment() ?? ''), $matches)) { + if (!\preg_match_all('/@memoize \\$([\\w\\d_]+)/', (string) (null !== ($phabel_66a466f6f2606534 = $node->getDocComment()) ? $phabel_66a466f6f2606534 : ''), $matches)) { $this->cache->push(null); return; } @@ -111,7 +111,7 @@ public function enterFunctionLike(FunctionLike $node, Context $ctx): void * * @return void */ - public function leaveFunctionLike(FunctionLike $fun, Context $context): void + public function leaveFunctionLike(FunctionLike $fun, Context $context) { $this->cache->pop(); } diff --git a/src/Plugin/NestedExpressionFixer.php b/src/Plugin/NestedExpressionFixer.php index e326a3bea..dee192eaf 100644 --- a/src/Plugin/NestedExpressionFixer.php +++ b/src/Plugin/NestedExpressionFixer.php @@ -34,24 +34,36 @@ class NestedExpressionFixer extends Plugin * @param Node $var * @return Node */ - private static function &extractWorkVar(Expr &$var): Expr + private static function &extractWorkVar(Expr &$var) { if ($var instanceof ArrayDimFetch && $var->var instanceof ArrayDimFetch) { - return self::extractWorkVar($var->var); + $phabelReturn =& self::extractWorkVar($var->var); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn =& $var; + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return $var; + return $phabelReturn; } - public function leave(Expr $expr, Context $context): ?Expr + public function leave(Expr $expr, Context $context) { /** @var array, true>> */ $subNodes = $this->getConfig($class = \get_class($expr), false); if (!$subNodes) { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof Expr || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } foreach ($subNodes as $key => $types) { /** @var Expr $value */ $value =& $expr->{$key}; - if (!isset($types[IssetExpressionFixer::getClass($value ?? '')])) { + if (!isset($types[IssetExpressionFixer::getClass(isset($value) ? $value : '')])) { if (!$value instanceof Expr) { continue; } @@ -73,14 +85,22 @@ public function leave(Expr $expr, Context $context): ?Expr case MethodCall::class: case Instanceof_::class: if ($expr instanceof Instanceof_ && $key === 'class') { - return self::callPoly('instanceOf', $expr->expr, $expr->class); + $phabelReturn = self::callPoly('instanceOf', $expr->expr, $expr->class); + if (!($phabelReturn instanceof Expr || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $value = self::callPoly('returnMe', $value); break; case New_::class: case ClassConstFetch::class: $valueCopy = $value; - return new Ternary(new BooleanOr(new Assign($value = $context->getVariable(), $valueCopy), self::fromLiteral(true)), $expr, self::fromLiteral(false)); + $phabelReturn = new Ternary(new BooleanOr(new Assign($value = $context->getVariable(), $valueCopy), self::fromLiteral(true)), $expr, self::fromLiteral(false)); + if (!($phabelReturn instanceof Expr || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; case StaticCall::class: case StaticPropertyFetch::class: case FuncCall::class: @@ -91,7 +111,11 @@ public function leave(Expr $expr, Context $context): ?Expr throw new \RuntimeException("Trying to fix unknown nested expression {$class}"); } } - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof Expr || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Returns the data provided. @@ -133,12 +157,23 @@ public static function throwMe(\Throwable $throwable) * * @return boolean */ - public static function instanceOf($a, $b): bool + public static function instanceOf($a, $b) { - return $a instanceof $b; + $phabelReturn = \Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($a, $b); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public static function next(array $config): array + public static function next(array $config) { - return [NewFixer::class]; + $phabelReturn = [NewFixer::class]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin/NewFixer.php b/src/Plugin/NewFixer.php index cf287ff70..d94b6966c 100644 --- a/src/Plugin/NewFixer.php +++ b/src/Plugin/NewFixer.php @@ -21,18 +21,41 @@ */ class NewFixer extends Plugin { - private NodeFinder $finder; + private $finder; public function __construct() { $this->finder = new NodeFinder(); } - private function isParenthesised(Node $node): bool + private function isParenthesised(Node $node) { - return !($node instanceof Expr\Variable || $node instanceof Node\Name || $node instanceof Expr\ArrayDimFetch || $node instanceof Expr\PropertyFetch || $node instanceof Expr\NullsafePropertyFetch || $node instanceof Expr\StaticPropertyFetch || $node instanceof Expr\Array_ || $node instanceof Scalar\String_ || $node instanceof Expr\ConstFetch || $node instanceof Expr\ClassConstFetch); + $phabelReturn = !($node instanceof Expr\Variable || $node instanceof Node\Name || $node instanceof Expr\ArrayDimFetch || $node instanceof Expr\PropertyFetch || $node instanceof Expr\NullsafePropertyFetch || $node instanceof Expr\StaticPropertyFetch || $node instanceof Expr\Array_ || $node instanceof Scalar\String_ || $node instanceof Expr\ConstFetch || $node instanceof Expr\ClassConstFetch); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - private function hasParenthesised(Node $node): bool + private function hasParenthesised(Node $node) { - return $node instanceof Expr && $this->finder->findFirst($node, fn (Node $node): bool => $this->isParenthesised($node)) !== null; + $phabelReturn = $node instanceof Expr && $this->finder->findFirst($node, function (Node $node) { + $phabelReturn = $this->isParenthesised($node); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; + }) !== null; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } public function enterNew(New_ $new, Context $context) { @@ -55,8 +78,15 @@ public function enterInstanceof(Instanceof_ $expr) * * @return boolean */ - public static function instanceOf($a, $b): bool + public static function instanceOf($a, $b) { - return $a instanceof $b; + $phabelReturn = \Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($a, $b); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/Plugin/PhabelTestGenerator.php b/src/Plugin/PhabelTestGenerator.php index 0108d0e78..9b0ddb9ea 100644 --- a/src/Plugin/PhabelTestGenerator.php +++ b/src/Plugin/PhabelTestGenerator.php @@ -14,27 +14,60 @@ */ class PhabelTestGenerator extends Plugin { - private function tryReplace(string $in): string + private function tryReplace($in) { - return \preg_replace("~PhabelTest(\\\\+)Target\\d*~", 'PhabelTest$1Target' . $this->getConfig('target', ''), $in); + if (!\is_string($in)) { + if (!(\is_string($in) || \is_object($in) && \method_exists($in, '__toString') || (\is_bool($in) || \is_numeric($in)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($in) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($in) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $in = (string) $in; + } + $phabelReturn = \preg_replace("~PhabelTest(\\\\+)Target\\d*~", 'PhabelTest$1Target' . $this->getConfig('target', ''), $in); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public function enter(Name $name): ?Name + public function enter(Name $name) { if (\preg_match("~PhabelTest\\\\+Target\\d*~", $name->toString())) { $class = \get_class($name); - return new $class($this->tryReplace($name->toString())); + $phabelReturn = new $class($this->tryReplace($name->toString())); + if (!($phabelReturn instanceof Name || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Name, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = null; + if (!($phabelReturn instanceof Name || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Name, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return null; + return $phabelReturn; } - public function enterLiteral(String_ $str): ?String_ + public function enterLiteral(String_ $str) { if (\preg_match("~PhabelTest\\\\+Target\\d*~", $str->value)) { - return new String_($this->tryReplace($str->value)); + $phabelReturn = new String_($this->tryReplace($str->value)); + if (!($phabelReturn instanceof String_ || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?String_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof String_ || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?String_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function previous(array $config): array + public static function previous(array $config) { - return [Php::class => ['target' => $config['target'] % 1000], StringConcatOptimizer::class => []]; + $phabelReturn = [Php::class => ['target' => $config['target'] % 1000], StringConcatOptimizer::class => []]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin/ReGenerator.php b/src/Plugin/ReGenerator.php index d5348735c..cf6a1f555 100644 --- a/src/Plugin/ReGenerator.php +++ b/src/Plugin/ReGenerator.php @@ -19,7 +19,7 @@ class ReGenerator extends Plugin /** * Custom traverser. */ - private Traverser $traverser; + private $traverser; public function __construct() { $this->traverser = Traverser::fromPlugin(new ReGeneratorInternal()); @@ -31,8 +31,12 @@ public function enter(FunctionLike $function) } $this->traverser->traverseAst($function); } - public static function previous(array $config): array + public static function previous(array $config) { - return [ArrowClosure::class]; + $phabelReturn = [ArrowClosure::class]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin/ReGenerator/ReGenerator.php b/src/Plugin/ReGenerator/ReGenerator.php index 80c0c303e..84bc4b000 100644 --- a/src/Plugin/ReGenerator/ReGenerator.php +++ b/src/Plugin/ReGenerator/ReGenerator.php @@ -43,23 +43,23 @@ class ReGenerator implements \Iterator /** * Exception sent from the outside. */ - public ?\Throwable $sentException = null; + public $sentException = null; /** * Current state of state machine. */ - public int $state = 0; + public $state = 0; /** * Whether the generator has returned. */ - public bool $returned = false; + public $returned = false; /** * Whether the generator was started. */ - public bool $started = false; + public $started = false; /** * Actual generator function. */ - public \Closure $generator; + public $generator; /** * Construct regenerator. * @@ -83,10 +83,11 @@ public function getReturn() * * @return void */ - private function start(): void + private function start() { if (!$this->started) { - ($this->generator)($this->state, $this->variables, $this->yieldKey, $this->yieldValue, $this->sentValue, $this->sentException, $this->returnValue, $this->returned); + $phabel_1679ff392dd5e7d5 = $this->generator; + $phabel_1679ff392dd5e7d5($this->state, $this->variables, $this->yieldKey, $this->yieldValue, $this->sentValue, $this->sentException, $this->returnValue, $this->returned); $this->started = true; } } @@ -104,8 +105,12 @@ public function send($value) if (!$this->returned) { $this->sentValue = $value; try { - ($this->generator)($this->state, $this->variables, $this->yieldKey, $this->yieldValue, $this->sentValue, $this->sentException, $this->returnValue, $this->returned); - } catch (\Throwable $e) { + $phabel_9fa9aa2d4dbb1eb4 = $this->generator; + $phabel_9fa9aa2d4dbb1eb4($this->state, $this->variables, $this->yieldKey, $this->yieldValue, $this->sentValue, $this->sentException, $this->returnValue, $this->returned); + } catch (\Exception $e) { + $this->returned = true; + throw $e; + } catch (\Error $e) { $this->returned = true; throw $e; } finally { @@ -128,8 +133,12 @@ public function throw(\Throwable $throwable) if (!$this->returned) { $this->sentException = $value; try { - ($this->generator)($this->state, $this->variables, $this->yieldKey, $this->yieldValue, $this->sentValue, $this->sentException, $this->returnValue, $this->returned); - } catch (\Throwable $e) { + $phabel_eabcc7a56b2bce11 = $this->generator; + $phabel_eabcc7a56b2bce11($this->state, $this->variables, $this->yieldKey, $this->yieldValue, $this->sentValue, $this->sentException, $this->returnValue, $this->returned); + } catch (\Exception $e) { + $this->returned = true; + throw $e; + } catch (\Error $e) { $this->returned = true; throw $e; } finally { @@ -163,7 +172,7 @@ public function key() * * @return void */ - public function next(): void + public function next() { $this->send(null); } @@ -172,7 +181,7 @@ public function next(): void * * @return void */ - public function rewind(): void + public function rewind() { if ($this->started && !$this->returned) { throw new \Exception('Cannot rewind a generator that was already run'); @@ -193,8 +202,15 @@ public function rewind(): void * * @return boolean */ - public function valid(): bool + public function valid() { - return !$this->returned; + $phabelReturn = !$this->returned; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/Plugin/ReGeneratorInternal.php b/src/Plugin/ReGeneratorInternal.php index 736ab9abe..1c44a2584 100644 --- a/src/Plugin/ReGeneratorInternal.php +++ b/src/Plugin/ReGeneratorInternal.php @@ -20,7 +20,7 @@ class ReGeneratorInternal extends Plugin * * @var SplQueue> */ - private SplQueue $states; + private $states; public function __construct() { $this->states = new SplQueue(); @@ -33,14 +33,21 @@ public function __construct() * * @return void */ - private function pushNode(Node $node): void + private function pushNode(Node $node) { $this->states->top()->enqueue($node); } - private function pushState(): int + private function pushState() { $this->states->enqueue(new SplQueue()); - return $this->states->count() - 1; + $phabelReturn = $this->states->count() - 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } public function enterRoot(FunctionLike $func) { diff --git a/src/Plugin/StmtExprWrapper.php b/src/Plugin/StmtExprWrapper.php index 780976079..0c461c574 100644 --- a/src/Plugin/StmtExprWrapper.php +++ b/src/Plugin/StmtExprWrapper.php @@ -12,11 +12,19 @@ */ class StmtExprWrapper extends Plugin { - public function enter(Expr $expr, Context $ctx): ?Expression + public function enter(Expr $expr, Context $ctx) { if ($ctx->parents[0]->getAttribute('currentNode') === 'stmts') { - return new Expression($expr); + $phabelReturn = new Expression($expr); + if (!($phabelReturn instanceof Expression || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Expression, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof Expression || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Expression, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin/StringConcatOptimizer.php b/src/Plugin/StringConcatOptimizer.php index ff3bcc333..ee941f33f 100644 --- a/src/Plugin/StringConcatOptimizer.php +++ b/src/Plugin/StringConcatOptimizer.php @@ -30,10 +30,14 @@ private function enqueue(Concat $concat, SplQueue $queue) $queue->enqueue($concat->right); } } - public function enter(Concat $concat, Context $ctx): ?Node + public function enter(Concat $concat, Context $ctx) { if ($ctx->parents->top() instanceof Concat) { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof Node || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $concatQueue = new SplQueue(); $this->enqueue($concat, $concatQueue); @@ -50,12 +54,20 @@ public function enter(Concat $concat, Context $ctx): ?Node } $newQueue->enqueue($prevNode); if ($newQueue->count() === 1) { - return $newQueue->dequeue(); + $phabelReturn = $newQueue->dequeue(); + if (!($phabelReturn instanceof Node || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $concat = new Concat($newQueue->dequeue(), $newQueue->dequeue()); while ($newQueue->count()) { $concat = new Concat($concat, $newQueue->dequeue()); } - return $concat; + $phabelReturn = $concat; + if (!($phabelReturn instanceof Node || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin/TypeHintReplacer.php b/src/Plugin/TypeHintReplacer.php index 02fc12989..6df5d7860 100644 --- a/src/Plugin/TypeHintReplacer.php +++ b/src/Plugin/TypeHintReplacer.php @@ -60,17 +60,17 @@ class TypeHintReplacer extends Plugin /** * Force removal of specific typehint via node attribute. */ - private const FORCE_ATTRIBUTE = 'TypeHintReplacer:force'; - private const IGNORE_RETURN = 0; - private const VOID_RETURN = 1; - private const TYPE_RETURN = 2; + const FORCE_ATTRIBUTE = 'TypeHintReplacer:force'; + const IGNORE_RETURN = 0; + const VOID_RETURN = 1; + const TYPE_RETURN = 2; /** * Stack. * * @var SplStack * @psalm-var SplStack */ - private SplStack $stack; + private $stack; /** * Constructor. */ @@ -86,16 +86,40 @@ public function __construct() * * @return bool */ - public static function replace(?Node $type): bool + public static function replace($type) { + if (!($type instanceof Node || \is_null($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } if ($type) { if ($type->getAttribute(self::FORCE_ATTRIBUTE, false)) { - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } $type->setAttribute(self::FORCE_ATTRIBUTE, true); - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; + } + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; } - return false; + return $phabelReturn; } /** * Return whether we replaced this typehint. @@ -104,12 +128,29 @@ public static function replace(?Node $type): bool * * @return boolean */ - public static function replaced(?Node $type): bool + public static function replaced($type) { + if (!($type instanceof Node || \is_null($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } if ($type) { - return $type->getAttribute(self::FORCE_ATTRIBUTE, false); + $phabelReturn = $type->getAttribute(self::FORCE_ATTRIBUTE, false); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Check if we should replace a void return type. @@ -117,9 +158,19 @@ public static function replaced(?Node $type): bool * @param Node|null $returnType * @return bool */ - private function checkVoid(?Node $returnType): bool + private function checkVoid($returnType) { - return $returnType instanceof Identifier && $returnType->toLowerString() === 'void' && $this->getConfig('void', $this->getConfig('return', $returnType->getAttribute(self::FORCE_ATTRIBUTE))); + if (!($returnType instanceof Node || \is_null($returnType))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($returnType) must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($returnType) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = $returnType instanceof Identifier && $returnType->toLowerString() === 'void' && $this->getConfig('void', $this->getConfig('return', $returnType->getAttribute(self::FORCE_ATTRIBUTE))); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Resolve special class name. @@ -129,10 +180,17 @@ private function checkVoid(?Node $returnType): bool * * @return Expr */ - private function resolveClassName($type, ?Expr $className): Expr + private function resolveClassName($type, $className) { + if (!($className instanceof Expr || \is_null($className))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($className) must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($className) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } $string = $type instanceof Identifier ? $type->toString() : $type->toCodeString(); - return $type->isSpecialClassName() ? $string === 'self' && $className ? $className : new ClassConstFetch(new Name($string), new Identifier('class')) : new String_($type->toString()); + $phabelReturn = $type->isSpecialClassName() ? $string === 'self' && $className ? $className : new ClassConstFetch(new Name($string), new Identifier('class')) : new String_($type->toString()); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Reduce multiple conditions to a single not. @@ -140,10 +198,20 @@ private function resolveClassName($type, ?Expr $className): Expr * @param non-empty-list $conditions * @return BooleanNot */ - private static function reduceConditions(array $conditions): BooleanNot + private static function reduceConditions(array $conditions) { $initial = \array_shift($conditions); - return new BooleanNot(empty($conditions) ? $initial : \array_reduce($conditions, fn (Expr $a, Expr $b): BooleanOr => (new BooleanOr($a, $b)), $initial)); + $phabelReturn = new BooleanNot(empty($conditions) ? $initial : \array_reduce($conditions, function (Expr $a, Expr $b) { + $phabelReturn = new BooleanOr($a, $b); + if (!$phabelReturn instanceof BooleanOr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type BooleanOr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + }, $initial)); + if (!$phabelReturn instanceof BooleanNot) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type BooleanNot, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Generate. @@ -155,8 +223,17 @@ private static function reduceConditions(array $conditions): BooleanNot * * @return array{0: bool, 1: Node, 2: (callable(Node...): If_)} Whether the polyfilled gettype should be used, the error message, the condition */ - private function generateConditions(Variable $var, array $types, ?Expr $className, bool $fromNullable = false): array + private function generateConditions(Variable $var, array $types, $className, $fromNullable = false) { + if (!($className instanceof Expr || \is_null($className))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($className) must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($className) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_bool($fromNullable)) { + if (!(\is_bool($fromNullable) || \is_numeric($fromNullable) || \is_string($fromNullable))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($fromNullable) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($fromNullable) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $fromNullable = (bool) $fromNullable; + } /** @var bool Whether no explicit classes were referenced */ $noOopTypes = true; /** @var Expr[] */ @@ -232,28 +309,54 @@ private function generateConditions(Variable $var, array $types, ?Expr $classNam if (\is_array($condition)) { if ($currentConditions) { $currentConditions = $this->reduceConditions($currentConditions); - $splitConditions[] = fn (Node ...$stmts): If_ => (new If_($currentConditions, ['stmts' => $stmts])); + $splitConditions[] = function (Node ...$stmts) use ($currentConditions) { + $phabelReturn = new If_($currentConditions, ['stmts' => $stmts]); + if (!$phabelReturn instanceof If_) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type If_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + }; } $currentConditions = []; - [$conditionsStrict, $conditionsLoose, $castLoose] = $condition; + list($conditionsStrict, $conditionsLoose, $castLoose) = $condition; $conditionsStrict = new BooleanNot($conditionsStrict); $conditionsLoose = new BooleanNot($conditionsLoose); - $splitConditions[] = fn (Node ...$stmts): If_ => (new If_($conditionsStrict, ['stmts' => [new If_($conditionsLoose, ['stmts' => $stmts, 'else' => new Else_([new Expression(new Assign($var, new $castLoose($var)))])])]])); + $splitConditions[] = function (Node ...$stmts) use ($conditionsStrict, $conditionsLoose, $var, $castLoose) { + $phabelReturn = new If_($conditionsStrict, ['stmts' => [new If_($conditionsLoose, ['stmts' => $stmts, 'else' => new Else_([new Expression(new Assign($var, new $castLoose($var)))])])]]); + if (!$phabelReturn instanceof If_) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type If_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + }; } else { $currentConditions[] = $condition; } } if ($currentConditions) { $currentConditions = $this->reduceConditions($currentConditions); - $splitConditions[] = fn (Node ...$stmts): If_ => (new If_($currentConditions, ['stmts' => $stmts])); + $splitConditions[] = function (Node ...$stmts) use ($currentConditions) { + $phabelReturn = new If_($currentConditions, ['stmts' => $stmts]); + if (!$phabelReturn instanceof If_) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type If_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + }; } - return [$noOopTypes, $stringType, function (Node ...$expr) use ($splitConditions): If_ { + $phabelReturn = [$noOopTypes, $stringType, function (Node ...$expr) use ($splitConditions) { $prev = $expr; foreach ($splitConditions as $func) { $prev = [$func(...$prev)]; } - return $prev[0]; + $phabelReturn = $prev[0]; + if (!$phabelReturn instanceof If_) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type If_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; }]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Strip typehint. @@ -265,26 +368,68 @@ private function generateConditions(Variable $var, array $types, ?Expr $classNam * * @return null|array{0: bool, 1: Node, 2: (callable(Node...): If_)} Whether the polyfilled gettype should be used, the error message, the condition */ - private function strip(Variable $var, ?Node $type, ?Expr $className, bool $nullish, bool $force = false): ?array + private function strip(Variable $var, $type, $className, $nullish, $force = false) { + if (!($type instanceof Node || \is_null($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!($className instanceof Expr || \is_null($className))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($className) must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($className) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_bool($nullish)) { + if (!(\is_bool($nullish) || \is_numeric($nullish) || \is_string($nullish))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($nullish) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($nullish) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $nullish = (bool) $nullish; + } + if (!\is_bool($force)) { + if (!(\is_bool($force) || \is_numeric($force) || \is_string($force))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($force) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($force) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $force = (bool) $force; + } if (!$type) { - return null; + $phabelReturn = null; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $force = $force || $type->getAttribute(self::FORCE_ATTRIBUTE, false); if ($type instanceof UnionType) { if (!$this->getConfig('union', $force)) { - return null; + $phabelReturn = null; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = $this->generateConditions($var, $type->types, $className, $nullish); + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return $this->generateConditions($var, $type->types, $className, $nullish); + return $phabelReturn; } if ($type instanceof NullableType && $this->getConfig('nullable', $force)) { - return $this->generateConditions($var, [$type->type], $className, true); + $phabelReturn = $this->generateConditions($var, [$type->type], $className, true); + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $subType = $type instanceof NullableType ? $type->type : $type; if (\in_array($subType->toString(), $this->getConfig('types', [])) || $force) { - return $this->generateConditions($var, [$subType], $className, $nullish || $type instanceof NullableType); + $phabelReturn = $this->generateConditions($var, [$subType], $className, $nullish || $type instanceof NullableType); + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = null; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return null; + return $phabelReturn; } /** * Strip type hints from function. @@ -293,7 +438,7 @@ private function strip(Variable $var, ?Node $type, ?Expr $className, bool $nulli * * @return ?FunctionLike */ - public function enterFunction(FunctionLike $func, Context $ctx): ?FunctionLike + public function enterFunction(FunctionLike $func, Context $ctx) { $functionName = new Method(); $className = null; @@ -314,7 +459,11 @@ public function enterFunction(FunctionLike $func, Context $ctx): ?FunctionLike $func->returnType = null; } $this->stack->push([self::IGNORE_RETURN]); - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof FunctionLike || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FunctionLike, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if (!$parent->name) { /** @var StmtClass_ $parent */ @@ -343,7 +492,7 @@ public function enterFunction(FunctionLike $func, Context $ctx): ?FunctionLike } $index++; $param->type = null; - [$noOop, $string, $condition] = $condition; + list($noOop, $string, $condition) = $condition; $start = $param->variadic ? new Concat(new String_("(): Argument #"), new Plus(new LNumber($index), new Variable('phabelVariadicIndex'))) : new String_("(): Argument #{$index} (\$" . $param->var->name . ")"); $start = new Concat($start, new String_(" must be of type ")); $start = new Concat($start, $string); @@ -361,30 +510,42 @@ public function enterFunction(FunctionLike $func, Context $ctx): ?FunctionLike } if ($stmts) { $ctx->toClosure($func); - $func->stmts = \array_merge($stmts, $func->getStmts() ?? []); + $func->stmts = \array_merge($stmts, null !== ($phabel_b68a02ad93cf5045 = $func->getStmts()) ? $phabel_b68a02ad93cf5045 : []); } if ($this->checkVoid($returnType)) { $ctx->toClosure($func); $this->stack->push([self::VOID_RETURN]); $func->returnType = null; - return $func; + $phabelReturn = $func; + if (!($phabelReturn instanceof FunctionLike || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FunctionLike, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $var = new Variable('phabelReturn'); if (!($condition = $this->strip($var, $returnType, $className, false, $this->getConfig('return', false)))) { $this->stack->push([self::IGNORE_RETURN]); - return $func; + $phabelReturn = $func; + if (!($phabelReturn instanceof FunctionLike || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FunctionLike, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $func->returnType = null; if (GeneratorDetector::isGenerator($func)) { $this->stack->push([self::IGNORE_RETURN]); - return $func; + $phabelReturn = $func; + if (!($phabelReturn instanceof FunctionLike || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FunctionLike, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $ctx->toClosure($func); - $this->stack->push([self::TYPE_RETURN, $functionName, $func->returnsByRef(), ...$condition]); + $this->stack->push(\array_merge([self::TYPE_RETURN, $functionName, $func->returnsByRef()], $condition)); $stmts = $func->getStmts(); $final = \end($stmts); if (!$final instanceof Return_) { - [, $string, $condition] = $condition; + list(, $string, $condition) = $condition; $start = new Concat($functionName, new String_("(): Return value must be of type ")); $start = new Concat($start, $string); $start = new Concat($start, new String_(", none returned in ")); @@ -392,27 +553,47 @@ public function enterFunction(FunctionLike $func, Context $ctx): ?FunctionLike $throw = new Throw_(new New_(new FullyQualified(\TypeError::class), [new Arg($start)])); $func->stmts[] = $throw; } - return $func; + $phabelReturn = $func; + if (!($phabelReturn instanceof FunctionLike || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FunctionLike, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public function enterReturn(Return_ $return, Context $ctx): ?Node + public function enterReturn(Return_ $return, Context $ctx) { if ($this->stack->isEmpty()) { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof Node || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $current = $this->stack->top(); if ($current[0] === self::IGNORE_RETURN) { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof Node || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if ($current[0] === self::VOID_RETURN) { if ($return->expr !== null) { + $phabelReturn = new Throw_(new New_(new FullyQualified(\ParseError::class), [new String_("A void function must not return a value")])); + if (!($phabelReturn instanceof Node || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } // This should be a transpilation error, wait for better stack traces before throwing here - return new Throw_(new New_(new FullyQualified(\ParseError::class), [new String_("A void function must not return a value")])); + return $phabelReturn; + } + $phabelReturn = null; + if (!($phabelReturn instanceof Node || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return null; + return $phabelReturn; } - [, $functionName, $byRef, $noOop, $string, $condition] = $current; + list(, $functionName, $byRef, $noOop, $string, $condition) = $current; $var = new Variable('phabelReturn'); - $assign = new Expression($byRef && $return->expr ? new AssignRef($var, $return->expr) : new Assign($var, $return->expr ?? BuilderHelpers::normalizeValue(null))); + $assign = new Expression($byRef && $return->expr ? new AssignRef($var, $return->expr) : new Assign($var, isset($return->expr) ? $return->expr : BuilderHelpers::normalizeValue(null))); $start = new Concat($functionName, new String_("(): Return value must be of type ")); $start = new Concat($start, $string); $start = new Concat($start, new String_(", ")); @@ -422,9 +603,13 @@ public function enterReturn(Return_ $return, Context $ctx): ?Node $if = $condition(new Throw_(new New_(new FullyQualified(\TypeError::class), [new Arg($start)]))); $return->expr = $var; $ctx->insertBefore($return, $assign, $if); - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof Node || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public function leaveFunc(FunctionLike $func): void + public function leaveFunc(FunctionLike $func) { $this->stack->pop(); } @@ -436,7 +621,7 @@ public function leaveFunc(FunctionLike $func): void public static function trace() { $trace = \debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]; - return ($trace['file'] ?? '') . ' on line ' . ($trace['line'] ?? ''); + return (isset($trace['file']) ? $trace['file'] : '') . ' on line ' . (isset($trace['line']) ? $trace['line'] : ''); } /** * Get debug type. @@ -451,12 +636,20 @@ public static function getDebugType($value) } return \get_debug_type($value); } - public static function next(array $config): array + public static function next(array $config) { - return [StringConcatOptimizer::class]; + $phabelReturn = [StringConcatOptimizer::class]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function previous(array $config): array + public static function previous(array $config) { - return [GeneratorDetector::class]; + $phabelReturn = [GeneratorDetector::class]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin/VariableFinder.php b/src/Plugin/VariableFinder.php index a5a595a93..dc20f7ed0 100644 --- a/src/Plugin/VariableFinder.php +++ b/src/Plugin/VariableFinder.php @@ -17,11 +17,11 @@ class VariableFinder extends Plugin /** * Singleton. */ - private static self $singleton; + private static $singleton; /** * Traverser. */ - private static Traverser $singletonTraverser; + private static $singletonTraverser; /** * Get found closure uses. * @@ -30,15 +30,25 @@ class VariableFinder extends Plugin * * @return array */ - public static function find(Node $ast, bool $byRef = false): array + public static function find(Node $ast, $byRef = false) { + if (!\is_bool($byRef)) { + if (!(\is_bool($byRef) || \is_numeric($byRef) || \is_string($byRef))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($byRef) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($byRef) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $byRef = (bool) $byRef; + } if (!isset(self::$singleton)) { self::$singleton = new self(); self::$singletonTraverser = Traverser::fromPlugin(self::$singleton); } self::$singleton->setConfig('byRef', $byRef); self::$singletonTraverser->traverseAst($ast, null, false); - return self::$singleton->getFound(); + $phabelReturn = self::$singleton->getFound(); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Constructor. @@ -51,7 +61,7 @@ private function __construct() * * @var array */ - private array $found = []; + private $found = []; /** * Enter variable. * @@ -69,10 +79,14 @@ public function enter(Variable $var) * * @return array */ - private function getFound(): array + private function getFound() { $found = $this->found; $this->found = []; - return $found; + $phabelReturn = $found; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Plugin/YieldDetector.php b/src/Plugin/YieldDetector.php index c7def5a71..f2f64f635 100644 --- a/src/Plugin/YieldDetector.php +++ b/src/Plugin/YieldDetector.php @@ -14,7 +14,7 @@ */ class YieldDetector extends Plugin { - public function enterYield(Yield_ $node, Context $ctx): void + public function enterYield(Yield_ $node, Context $ctx) { foreach ($ctx->parents as $parent) { if ($parent instanceof FunctionLike) { diff --git a/src/PluginCache.php b/src/PluginCache.php index e9d5a6d6f..f9dcedfdb 100644 --- a/src/PluginCache.php +++ b/src/PluginCache.php @@ -17,13 +17,13 @@ class PluginCache * * @var array, string[]> */ - private static array $enterMethods = []; + private static $enterMethods = []; /** * Leave method names. * * @var array, string[]> */ - private static array $leaveMethods = []; + private static $leaveMethods = []; /** * Cache method information. * @@ -31,8 +31,14 @@ class PluginCache * * @return void */ - private static function cacheMethods(string $plugin): void + private static function cacheMethods($plugin) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } if (!isset(self::$enterMethods[$plugin])) { self::$enterMethods[$plugin] = []; self::$leaveMethods[$plugin] = []; @@ -58,10 +64,23 @@ private static function cacheMethods(string $plugin): void * * @return boolean */ - public static function canBeRequired(string $plugin): bool + public static function canBeRequired($plugin) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } self::cacheMethods($plugin); - return empty(self::$leaveMethods[$plugin]); + $phabelReturn = empty(self::$leaveMethods[$plugin]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Return whether this plugin is empty. @@ -70,10 +89,23 @@ public static function canBeRequired(string $plugin): bool * * @return boolean */ - public static function isEmpty(string $plugin): bool + public static function isEmpty($plugin) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } self::cacheMethods($plugin); - return empty(self::$leaveMethods[$plugin]) && empty(self::$enterMethods[$plugin]); + $phabelReturn = empty(self::$leaveMethods[$plugin]) && empty(self::$enterMethods[$plugin]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Get enter methods array. @@ -82,10 +114,20 @@ public static function isEmpty(string $plugin): bool * * @return array */ - public static function enterMethods(string $plugin): array + public static function enterMethods($plugin) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } self::cacheMethods($plugin); - return self::$enterMethods[$plugin]; + $phabelReturn = self::$enterMethods[$plugin]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get leave methods array. @@ -94,10 +136,20 @@ public static function enterMethods(string $plugin): array * * @return array */ - public static function leaveMethods(string $plugin): array + public static function leaveMethods($plugin) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } self::cacheMethods($plugin); - return self::$leaveMethods[$plugin]; + $phabelReturn = self::$leaveMethods[$plugin]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get previous requirements. @@ -108,15 +160,29 @@ public static function leaveMethods(string $plugin): array * @return array * @psalm-return array, array> */ - public static function previous(string $plugin, array $config): array + public static function previous($plugin, array $config) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } $pluginConfig = $plugin . \json_encode($config); /** @var array, array, array>> */ static $cache = []; if (isset($cache[$pluginConfig])) { - return $cache[$pluginConfig]; + $phabelReturn = $cache[$pluginConfig]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return $cache[$pluginConfig] = self::simplify($plugin::previous($config)); + $phabelReturn = $cache[$pluginConfig] = self::simplify($plugin::previous($config)); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get next requirements. @@ -127,15 +193,29 @@ public static function previous(string $plugin, array $config): array * @return array * @psalm-return array, array> */ - public static function next(string $plugin, array $config): array + public static function next($plugin, array $config) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } $pluginConfig = $plugin . \json_encode($config); /** @var array, array, array>> */ static $cache = []; if (isset($cache[$pluginConfig])) { - return $cache[$pluginConfig]; + $phabelReturn = $cache[$pluginConfig]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return $cache[$pluginConfig] = self::simplify($plugin::next($config)); + $phabelReturn = $cache[$pluginConfig] = self::simplify($plugin::next($config)); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get withPrevious requirements. @@ -146,15 +226,29 @@ public static function next(string $plugin, array $config): array * @return array * @psalm-return array, array> */ - public static function withPrevious(string $plugin, array $config): array + public static function withPrevious($plugin, array $config) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } $pluginConfig = $plugin . \json_encode($config); /** @var array, array, array>> */ static $cache = []; if (isset($cache[$pluginConfig])) { - return $cache[$pluginConfig]; + $phabelReturn = $cache[$pluginConfig]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return $cache[$pluginConfig] = self::simplify($plugin::withPrevious($config)); + $phabelReturn = $cache[$pluginConfig] = self::simplify($plugin::withPrevious($config)); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get withNext requirements. @@ -165,15 +259,29 @@ public static function withPrevious(string $plugin, array $config): array * @return array * @psalm-return array, array> */ - public static function withNext(string $plugin, array $config): array + public static function withNext($plugin, array $config) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } $pluginConfig = $plugin . \json_encode($config); /** @var array, array, array>> */ static $cache = []; if (isset($cache[$pluginConfig])) { - return $cache[$pluginConfig]; + $phabelReturn = $cache[$pluginConfig]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return $cache[$pluginConfig] = self::simplify($plugin::withNext($config)); + $phabelReturn = $cache[$pluginConfig] = self::simplify($plugin::withNext($config)); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Simplify requirements. @@ -183,8 +291,12 @@ public static function withNext(string $plugin, array $config): array * @return array * @psalm-return array, array> */ - private static function simplify(array $requirements): array + private static function simplify(array $requirements) { - return isset($requirements[0]) ? \array_fill_keys($requirements, []) : $requirements; + $phabelReturn = isset($requirements[0]) ? \array_fill_keys($requirements, []) : $requirements; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/PluginGraph/CircularException.php b/src/PluginGraph/CircularException.php index 515670e7a..04a28be1e 100644 --- a/src/PluginGraph/CircularException.php +++ b/src/PluginGraph/CircularException.php @@ -17,7 +17,7 @@ class CircularException extends \Exception * * @var class-string[] */ - private array $plugins = []; + private $plugins = []; /** * Constructor. * @@ -34,8 +34,12 @@ public function __construct(array $plugins, \Throwable $previous = null) * * @return class-string[] */ - public function getPlugins(): array + public function getPlugins() { - return $this->plugins; + $phabelReturn = $this->plugins; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/PluginGraph/Graph.php b/src/PluginGraph/Graph.php index f4a555577..efa9caab8 100644 --- a/src/PluginGraph/Graph.php +++ b/src/PluginGraph/Graph.php @@ -16,11 +16,11 @@ class Graph /** * Graph instance. */ - private ?GraphInternal $graph = null; + private $graph = null; /** * Resolved graph instance. */ - private ?ResolvedGraph $resolvedGraph = null; + private $resolvedGraph = null; /** * Constructr. */ @@ -33,9 +33,13 @@ public function __construct() * * @return PackageContext */ - public function getPackageContext(): PackageContext + public function getPackageContext() { - return $this->graph->getPackageContext(); + $phabelReturn = $this->graph->getPackageContext(); + if (!$phabelReturn instanceof PackageContext) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type PackageContext, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Add plugin. @@ -48,21 +52,35 @@ public function getPackageContext(): PackageContext * * @return Node[] */ - public function addPlugin(string $plugin, array $config, PackageContext $ctx): array + public function addPlugin($plugin, array $config, PackageContext $ctx) { - return $this->graph->addPlugin($plugin, $config, $ctx); + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } + $phabelReturn = $this->graph->addPlugin($plugin, $config, $ctx); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Flatten graph. * * @return ResolvedGraph */ - public function flatten(): ResolvedGraph + public function flatten() { - $this->resolvedGraph ??= new ResolvedGraph(...$this->graph->flatten()); + $this->resolvedGraph = isset($this->resolvedGraph) ? $this->resolvedGraph : new ResolvedGraph(...$this->graph->flatten()); $this->graph = null; while (\gc_collect_cycles()) { } - return $this->resolvedGraph; + $phabelReturn = $this->resolvedGraph; + if (!$phabelReturn instanceof ResolvedGraph) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ResolvedGraph, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/PluginGraph/GraphInternal.php b/src/PluginGraph/GraphInternal.php index 91c87563e..f83a9f8ad 100644 --- a/src/PluginGraph/GraphInternal.php +++ b/src/PluginGraph/GraphInternal.php @@ -21,25 +21,25 @@ class GraphInternal * * @var array, array> */ - private array $plugins = []; + private $plugins = []; /** * Package contexts. * * @var PackageContext[] */ - private array $packageContexts = []; + private $packageContexts = []; /** * Stores list of Nodes that are not required by any other node. * * @var SplObjectStorage */ - private SplObjectStorage $unlinkedNodes; + private $unlinkedNodes; /** * Stores list of Nodes that weren't yet processed. * * @var SplObjectStorage */ - public SplObjectStorage $unprocessedNode; + public $unprocessedNode; /** * Constructor. */ @@ -51,11 +51,15 @@ public function __construct() /** * Get new package context. */ - public function getPackageContext(): PackageContext + public function getPackageContext() { $packageContext = new PackageContext(); $this->packageContexts[] = $packageContext; - return $packageContext; + $phabelReturn = $packageContext; + if (!$phabelReturn instanceof PackageContext) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type PackageContext, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Add plugin. @@ -68,9 +72,25 @@ public function getPackageContext(): PackageContext * * @return Node[] */ - public function addPlugin(string $plugin, array $config, PackageContext $ctx): array + public function addPlugin($plugin, array $config, PackageContext $ctx) { - return \array_map(fn (array $config): Node => $this->addPluginInternal($plugin, $config, $ctx), $plugin::splitConfig($config)); + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } + $phabelReturn = \array_map(function (array $config) use ($plugin, $ctx) { + $phabelReturn = $this->addPluginInternal($plugin, $config, $ctx); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + }, $plugin::splitConfig($config)); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Add plugin. @@ -81,21 +101,35 @@ public function addPlugin(string $plugin, array $config, PackageContext $ctx): a * * @psalm-param class-string $plugin Plugin name */ - private function addPluginInternal(string $plugin, array $config, PackageContext $ctx): Node + private function addPluginInternal($plugin, array $config, PackageContext $ctx) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } $configStr = \json_encode($config); if (isset($this->plugins[$plugin][$configStr])) { - return $this->plugins[$plugin][$configStr]->addPackages($ctx); + $phabelReturn = $this->plugins[$plugin][$configStr]->addPackages($ctx); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $this->plugins[$plugin][$configStr] = $node = new Node($this, $ctx); $this->unlinkedNodes->attach($node); $this->unprocessedNode->attach($node); - return $node->init($plugin, $config); + $phabelReturn = $node->init($plugin, $config); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Set unlinked node as linked. */ - public function linkNode(Node $node): void + public function linkNode(Node $node) { if ($this->unlinkedNodes->contains($node)) { $this->unlinkedNodes->detach($node); @@ -106,11 +140,15 @@ public function linkNode(Node $node): void * * @return array{0: SplQueue>, 1: array>} */ - public function flatten(): array + public function flatten() { if (!$this->plugins) { + $phabelReturn = [new SplQueue(), []]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } /** @psalm-var SplQueue> */ - return [new SplQueue(), []]; + return $phabelReturn; } if ($this->unlinkedNodes->count()) { /** @var Node|null $initNode */ @@ -132,6 +170,10 @@ public function flatten(): array if ($this->unprocessedNode->count()) { throw new Exception('Did not process entire graph!'); } - return $result; + $phabelReturn = $result; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/PluginGraph/Node.php b/src/PluginGraph/Node.php index dbcc718da..b76547aff 100644 --- a/src/PluginGraph/Node.php +++ b/src/PluginGraph/Node.php @@ -21,61 +21,61 @@ class Node * * @var Plugins */ - public Plugins $plugin; + public $plugin; /** * Original plugin name. * * @var class-string */ - private string $name; + private $name; /** * Original plugin name. * * @var class-string */ - private string $nameConcat; + private $nameConcat; /** * Associated package context. * * @var PackageContext */ - private PackageContext $packageContext; + private $packageContext; /** * Nodes that this node requires. * * @var SplObjectStorage */ - private SplObjectStorage $requires; + private $requires; /** * Nodes that this node extends. * * @var SplObjectStorage */ - private SplObjectStorage $extends; + private $extends; /** * Nodes that require this node. * * @var SplObjectStorage */ - private SplObjectStorage $requiredBy; + private $requiredBy; /** * Nodes that extend this node. * * @var SplObjectStorage */ - private SplObjectStorage $extendedBy; + private $extendedBy; /** * Graph instance. */ - private GraphInternal $graph; + private $graph; /** * Whether this node was visited when looking for circular requirements. */ - private bool $visitedCircular = false; + private $visitedCircular = false; /** * Whether this node can be required, or only extended. */ - private bool $canBeRequired = true; + private $canBeRequired = true; /** * Constructor. * @@ -101,8 +101,14 @@ public function __construct(GraphInternal $graph, PackageContext $ctx) * * @return self */ - public function init(string $plugin, array $pluginConfig): self + public function init($plugin, array $pluginConfig) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } $this->name = $plugin; $this->plugin = new Plugins($plugin, $pluginConfig); $this->canBeRequired = PluginCache::canBeRequired($plugin); @@ -126,7 +132,11 @@ public function init(string $plugin, array $pluginConfig): self $this->extend($node); } } - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Make node require another node. @@ -135,7 +145,7 @@ public function init(string $plugin, array $pluginConfig): self * * @return void */ - private function require(self $node): void + private function require(self $node) { if (!$node->canBeRequired) { $this->extend($node); @@ -156,7 +166,7 @@ private function require(self $node): void * * @return void */ - private function extend(self $node): void + private function extend(self $node) { if ($this->requires->contains($node) || $node->requiredBy->contains($this)) { return; @@ -172,7 +182,7 @@ private function extend(self $node): void * * @return Node */ - public function merge(self $other): Node + public function merge(self $other) { if ($other->requires->count() || $other->extends->count()) { throw new Exception('Cannot merge a node that requires other nodes!'); @@ -190,14 +200,18 @@ public function merge(self $other): Node $other->requiredBy = new SplObjectStorage(); $other->extendedBy = new SplObjectStorage(); $this->graph->unprocessedNode->detach($other); - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Look for circular references, while merging package contexts. * * @return self */ - public function circular(): self + public function circular() { if ($this->visitedCircular) { $plugins = [$this->name]; @@ -217,14 +231,18 @@ public function circular(): self $this->packageContext->merge($that->circular()->packageContext); } $this->visitedCircular = false; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Flatten tree. * * @return array{0: SplQueue>, array>} */ - public function flatten(): array + public function flatten() { /** @var SplQueue */ $initQueue = new SplQueue(); @@ -236,7 +254,11 @@ public function flatten(): array if ($this->extendedBy->count() || $this->requiredBy->count()) { throw new Exception('Graph resolution has stalled'); } - return [$queue, $packages]; + $phabelReturn = [$queue, $packages]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Internal flattening. @@ -245,7 +267,7 @@ public function flatten(): array * * @return void */ - private function flattenInternal(SplQueue $queueOfQueues, array &$packages): void + private function flattenInternal(SplQueue $queueOfQueues, array &$packages) { $queue = $queueOfQueues->top(); $this->plugin->enqueue($queue, $this->packageContext, $packages); @@ -320,9 +342,13 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages): voi * * @return self */ - public function addPackages(PackageContext $ctx): self + public function addPackages(PackageContext $ctx) { $this->packageContext->merge($ctx); - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/PluginGraph/PackageContext.php b/src/PluginGraph/PackageContext.php index 3a21b2aa6..e33128f6b 100644 --- a/src/PluginGraph/PackageContext.php +++ b/src/PluginGraph/PackageContext.php @@ -15,7 +15,7 @@ class PackageContext * * @var array */ - private array $packages = []; + private $packages = []; /** * Add package. * @@ -23,8 +23,14 @@ class PackageContext * * @return void */ - public function addPackage(string $package): void + public function addPackage($package) { + if (!\is_string($package)) { + if (!(\is_string($package) || \is_object($package) && \method_exists($package, '__toString') || (\is_bool($package) || \is_numeric($package)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($package) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($package) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $package = (string) $package; + } $this->packages[$package] = true; } /** @@ -34,10 +40,14 @@ public function addPackage(string $package): void * * @return self New context */ - public function merge(self $other): self + public function merge(self $other) { $this->packages += $other->packages; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Check if a package is present in the package context. @@ -46,17 +56,34 @@ public function merge(self $other): self * * @return boolean */ - public function has(string $package): bool + public function has($package) { - return isset($this->packages[$package]); + if (!\is_string($package)) { + if (!(\is_string($package) || \is_object($package) && \method_exists($package, '__toString') || (\is_bool($package) || \is_numeric($package)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($package) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($package) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $package = (string) $package; + } + $phabelReturn = isset($this->packages[$package]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Get package list. * * @return array */ - public function getPackages(): array + public function getPackages() { - return \array_values($this->packages); + $phabelReturn = \array_values($this->packages); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/PluginGraph/Plugins.php b/src/PluginGraph/Plugins.php index f69c9b1c7..86db796c5 100644 --- a/src/PluginGraph/Plugins.php +++ b/src/PluginGraph/Plugins.php @@ -19,15 +19,21 @@ class Plugins * * @var array, array[]> */ - public array $plugins = []; + public $plugins = []; /** * Constructor. * * @param class-string $plugin Plugin * @param array $config Config */ - public function __construct(string $plugin, array $config) + public function __construct($plugin, array $config) { + if (!\is_string($plugin)) { + if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plugin) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plugin) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $plugin = (string) $plugin; + } $this->plugins[$plugin] = [$config]; } /** @@ -37,7 +43,7 @@ public function __construct(string $plugin, array $config) * * @return void */ - public function merge(self $other): void + public function merge(self $other) { foreach ($other->plugins as $plugin => $configs) { if (isset($this->plugins[$plugin])) { @@ -54,12 +60,12 @@ public function merge(self $other): void * * @return void */ - public function enqueue(SplQueue $queue, PackageContext $ctx, array &$packages): void + public function enqueue(SplQueue $queue, PackageContext $ctx, array &$packages) { foreach ($this->plugins as $plugin => $configs) { foreach ($plugin::mergeConfigs(...$configs) as $config) { foreach ($plugin::getComposerRequires($config) as $package => $constraint) { - $packages[$package] ??= []; + $packages[$package] = isset($packages[$package]) ? $packages[$package] : []; $packages[$package][] = $constraint; } if (PluginCache::isEmpty($plugin)) { diff --git a/src/PluginGraph/ResolvedGraph.php b/src/PluginGraph/ResolvedGraph.php index 35d362220..092036354 100644 --- a/src/PluginGraph/ResolvedGraph.php +++ b/src/PluginGraph/ResolvedGraph.php @@ -20,17 +20,17 @@ final class ResolvedGraph * * @psalm-var SplQueue> */ - private SplQueue $plugins; + private $plugins; /** * Packages. * * @var array */ - private array $packages = []; + private $packages = []; /** * Class storage. */ - private ?ClassStoragePlugin $classStorage = null; + private $classStorage = null; /** * Constructor. * @@ -39,7 +39,16 @@ final class ResolvedGraph */ public function __construct(SplQueue $plugins, array $packages = []) { - $this->packages = \array_map(fn (array $constraints): string => \implode(':', \array_unique($constraints)), $packages); + $this->packages = \array_map(function (array $constraints) { + $phabelReturn = \implode(':', \array_unique($constraints)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; + }, $packages); $this->plugins = new SplQueue(); foreach ($plugins as $queue) { $newQueue = new SplQueue(); @@ -68,9 +77,13 @@ public function __construct(SplQueue $plugins, array $packages = []) * @return SplQueue * @psalm-return SplQueue> */ - public function getPlugins(): SplQueue + public function getPlugins() { - return $this->plugins; + $phabelReturn = $this->plugins; + if (!$phabelReturn instanceof SplQueue) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type SplQueue, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get packages. @@ -78,25 +91,33 @@ public function getPlugins(): SplQueue * @return array * @psalm-return array */ - public function getPackages(): array + public function getPackages() { - return $this->packages; + $phabelReturn = $this->packages; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get class storage. * * @return ?ClassStoragePlugin */ - public function getClassStorage(): ?ClassStoragePlugin + public function getClassStorage() { - return $this->classStorage; + $phabelReturn = $this->classStorage; + if (!($phabelReturn instanceof ClassStoragePlugin || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?ClassStoragePlugin, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Returns graph debug information. * * @return array */ - public function __debugInfo(): array + public function __debugInfo() { $res = []; foreach ($this->plugins as $queue) { @@ -107,6 +128,10 @@ public function __debugInfo(): array } $res[] = $cur; } - return $res; + $phabelReturn = $res; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/PluginInterface.php b/src/PluginInterface.php index 676126345..d7bdbfe3f 100644 --- a/src/PluginInterface.php +++ b/src/PluginInterface.php @@ -19,7 +19,7 @@ interface PluginInterface * * @psalm-return class-string[]|array, array> */ - public static function previous(array $config): array; + public static function previous(array $config); /** * Specify which plugins should run after this plugin. * @@ -32,7 +32,7 @@ public static function previous(array $config): array; * * @psalm-return class-string[]|array, array> */ - public static function next(array $config): array; + public static function next(array $config); /** * Specify which plugins should run before, possibly with this plugin. * @@ -44,7 +44,7 @@ public static function next(array $config): array; * * @psalm-return class-string[]|array, array> */ - public static function withPrevious(array $config): array; + public static function withPrevious(array $config); /** * Specify which plugins should run after, possibly with this plugin. * @@ -52,13 +52,13 @@ public static function withPrevious(array $config): array; * * @psalm-return class-string[]|array, array> */ - public static function withNext(array $config): array; + public static function withNext(array $config); /** * Specify a list of composer dependencies. * * @return array */ - public static function getComposerRequires(array $config): array; + public static function getComposerRequires(array $config); /** * Set configuration array. * @@ -66,7 +66,7 @@ public static function getComposerRequires(array $config): array; * * @return void */ - public function setConfigArray(array $config): void; + public function setConfigArray(array $config); /** * Set package context. * @@ -74,13 +74,13 @@ public function setConfigArray(array $config): void; * * @return void */ - public function setPackageContext(PackageContext $ctx): void; + public function setPackageContext(PackageContext $ctx); /** * Get package context. * * @return PackageContext */ - public function getPackageContext(): PackageContext; + public function getPackageContext(); /** * Check if plugin should run. * @@ -88,7 +88,7 @@ public function getPackageContext(): PackageContext; * * @return boolean */ - public function shouldRun(string $package): bool; + public function shouldRun($package); /** * Check if plugin should run. * @@ -96,7 +96,7 @@ public function shouldRun(string $package): bool; * * @return boolean */ - public function shouldRunFile(string $file): bool; + public function shouldRunFile($file); /** * Get configuration key. * @@ -105,7 +105,7 @@ public function shouldRunFile(string $file): bool; * * @return mixed */ - public function getConfig(string $key, $default); + public function getConfig($key, $default); /** * Set configuration key. * @@ -114,7 +114,7 @@ public function getConfig(string $key, $default); * * @return void */ - public function setConfig(string $key, $value): void; + public function setConfig($key, $value); /** * Check if has configuration key. * @@ -122,7 +122,7 @@ public function setConfig(string $key, $value): void; * * @return mixed */ - public function hasConfig(string $key): bool; + public function hasConfig($key); /** * Merge multiple configurations into one (or more). * @@ -130,7 +130,7 @@ public function hasConfig(string $key): bool; * * @return array[] */ - public static function mergeConfigs(array ...$configs): array; + public static function mergeConfigs(array ...$configs); /** * Split configuration. * @@ -141,5 +141,5 @@ public static function mergeConfigs(array ...$configs): array; * * @return array[] */ - public static function splitConfig(array $config): array; + public static function splitConfig(array $config); } diff --git a/src/RootNode.php b/src/RootNode.php index c5e8a9e34..b911557a7 100644 --- a/src/RootNode.php +++ b/src/RootNode.php @@ -24,12 +24,23 @@ public function __construct(array $stmts, array $attributes = []) $this->stmts = $stmts; parent::__construct($attributes); } - public function getSubNodeNames(): array + public function getSubNodeNames() { - return ['stmts']; + $phabelReturn = ['stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public function getType(): string + public function getType() { - return 'rootNode'; + $phabelReturn = 'rootNode'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/Target/Php.php b/src/Target/Php.php index 43619d308..0865b6236 100644 --- a/src/Target/Php.php +++ b/src/Target/Php.php @@ -40,16 +40,36 @@ class Php extends Plugin * @param string $target * @return integer */ - public static function normalizeVersion(string $target): int + public static function normalizeVersion($target) { + if (!\is_string($target)) { + if (!(\is_string($target) || \is_object($target) && \method_exists($target, '__toString') || (\is_bool($target) || \is_numeric($target)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($target) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($target) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $target = (string) $target; + } if ($target === 'auto') { - return (int) self::DEFAULT_TARGET; + $phabelReturn = (int) self::DEFAULT_TARGET; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } if (\preg_match(":^\\D*(\\d+\\.\\d+)\\..*:", $target, $matches)) { $target = $matches[1]; } $target = \str_replace('.', '', $target); - return (int) (\in_array($target, self::VERSIONS) ? $target : self::DEFAULT_TARGET); + $phabelReturn = (int) (\in_array($target, self::VERSIONS) ? $target : self::DEFAULT_TARGET); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } /** * Unnormalize version string. @@ -57,10 +77,23 @@ public static function normalizeVersion(string $target): int * @param int $target * @return string */ - public static function unnormalizeVersion(int $target): string + public static function unnormalizeVersion($target) { + if (!\is_int($target)) { + if (!(\is_bool($target) || \is_numeric($target))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($target) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($target) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $target = (int) $target; + } $target = (string) $target; - return $target[0] . '.' . $target[1]; + $phabelReturn = $target[0] . '.' . $target[1]; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Get PHP version range to target. @@ -68,25 +101,39 @@ public static function unnormalizeVersion(int $target): string * @param int $target * @return int[] */ - private static function getRange(int $target): array + private static function getRange($target) { + if (!\is_int($target)) { + if (!(\is_bool($target) || \is_numeric($target))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($target) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($target) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $target = (int) $target; + } $key = \array_search($target, self::VERSIONS); - return $key === false ? self::getRange((int) self::DEFAULT_TARGET) : \array_slice(self::VERSIONS, 1 + $key); + $phabelReturn = $key === false ? self::getRange((int) self::DEFAULT_TARGET) : \array_slice(self::VERSIONS, 1 + $key); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function getComposerRequires(array $config): array + public static function getComposerRequires(array $config) { - $target = Php::normalizeVersion($config['target'] ?? self::DEFAULT_TARGET); + $target = Php::normalizeVersion(isset($config['target']) ? $config['target'] : self::DEFAULT_TARGET); $res = ['php' => '>=' . Php::unnormalizeVersion($target) . ' <' . Php::unnormalizeVersion($target + 1)]; foreach (self::getRange($target) as $version) { $version = "symfony/polyfill-php{$version}"; $res[$version] = self::POLYFILL_VERSIONS[$version]; } - return $res; + $phabelReturn = $res; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function previous(array $config): array + public static function previous(array $config) { $classes = [ComposerSanitizer::class => []]; - foreach (self::getRange((int) ($config['target'] ?? self::DEFAULT_TARGET)) as $version) { + foreach (self::getRange((int) (isset($config['target']) ? $config['target'] : self::DEFAULT_TARGET)) as $version) { if (!\file_exists($dir = __DIR__ . "/Php{$version}")) { continue; } @@ -100,15 +147,19 @@ public static function previous(array $config): array /** @var class-string */ $class = self::class . $version . '\\' . \basename($file, '.php'); /** @var array */ - $classes[$class] = $config[$class] ?? []; + $classes[$class] = isset($config[$class]) ? $config[$class] : []; } } - return $classes; + $phabelReturn = $classes; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function next(array $config): array + public static function next(array $config) { - $classes = [StmtExprWrapper::class => $config[StmtExprWrapper::class] ?? [], NewFixer::class => []]; - foreach (self::getRange((int) ($config['target'] ?? self::DEFAULT_TARGET)) as $version) { + $classes = [StmtExprWrapper::class => isset($config[StmtExprWrapper::class]) ? $config[StmtExprWrapper::class] : [], NewFixer::class => []]; + foreach (self::getRange((int) (isset($config['target']) ? $config['target'] : self::DEFAULT_TARGET)) as $version) { if (!\file_exists(__DIR__ . "/Php{$version}")) { continue; } @@ -116,9 +167,13 @@ public static function next(array $config): array /** @var class-string */ $class = self::class . $version . "\\{$t}" . "ExpressionFixer"; /** @var array */ - $classes[$class] = $config[$class] ?? []; + $classes[$class] = isset($config[$class]) ? $config[$class] : []; } } - return $classes; + $phabelReturn = $classes; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/AnonymousClassReplacer.php b/src/Target/Php70/AnonymousClassReplacer.php index 381a5f28a..50d757311 100644 --- a/src/Target/Php70/AnonymousClassReplacer.php +++ b/src/Target/Php70/AnonymousClassReplacer.php @@ -31,7 +31,7 @@ class AnonymousClassReplacer extends Plugin /** * Anonymous class count. */ - private static int $count = 0; + private static $count = 0; /** * Enter new. * @@ -40,7 +40,7 @@ class AnonymousClassReplacer extends Plugin * * @return void */ - public function enterNew(New_ $node, Context $ctx): void + public function enterNew(New_ $node, Context $ctx) { $classNode = $node->class; if (!$classNode instanceof Node\Stmt\Class_) { @@ -80,12 +80,20 @@ public function enterNew(New_ $node, Context $ctx): void $ctx->insertBefore($node, $classNode); } } - public static function previous(array $config): array + public static function previous(array $config) { - return [ArrowClosure::class, ReturnTypeHints::class, NullableType::class, UnionTypeStripper::class]; + $phabelReturn = [ArrowClosure::class, ReturnTypeHints::class, NullableType::class, UnionTypeStripper::class]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function next(array $config): array + public static function next(array $config) { - return [StringConcatOptimizer::class]; + $phabelReturn = [StringConcatOptimizer::class]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/DefineArrayReplacer.php b/src/Target/Php70/DefineArrayReplacer.php index a3e508a58..36acaaac6 100644 --- a/src/Target/Php70/DefineArrayReplacer.php +++ b/src/Target/Php70/DefineArrayReplacer.php @@ -46,8 +46,14 @@ public function enter(FuncCall $node, Context $context) * @param array $value * @return void */ - public static function defineMe(string $name, array $value): void + public static function defineMe($name, array $value) { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $name = (string) $name; + } $name = \preg_replace("/[^A-Za-z0-9_]/", '', $name); $value = \var_export($value, true); eval("const {$name} = {$value};"); diff --git a/src/Target/Php70/GroupUseReplacer.php b/src/Target/Php70/GroupUseReplacer.php index 046443fad..0e735e313 100644 --- a/src/Target/Php70/GroupUseReplacer.php +++ b/src/Target/Php70/GroupUseReplacer.php @@ -21,10 +21,16 @@ class GroupUseReplacer extends Plugin * * @return Use_[] */ - public function leave(GroupUse $node): array + public function leave(GroupUse $node) { $nodePrefixParts = $node->prefix->parts; - return \array_map(fn (UseUse $useNode) => $this->createUseNode($nodePrefixParts, $useNode), $node->uses); + $phabelReturn = \array_map(function (UseUse $useNode) use ($nodePrefixParts) { + return $this->createUseNode($nodePrefixParts, $useNode); + }, $node->uses); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Create separate use node. @@ -34,10 +40,14 @@ public function leave(GroupUse $node): array * * @return Use_ New use node */ - protected function createUseNode(array $nodePrefixParts, UseUse $useNode): Use_ + protected function createUseNode(array $nodePrefixParts, UseUse $useNode) { $nodePrefixParts[] = $useNode->name; $nameNode = new Node\Name($nodePrefixParts); - return new Use_([new UseUse($nameNode, $useNode->alias)], $useNode->type); + $phabelReturn = new Use_([new UseUse($nameNode, $useNode->alias)], $useNode->type); + if (!$phabelReturn instanceof Use_) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Use_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/IssetExpressionFixer.php b/src/Target/Php70/IssetExpressionFixer.php index a527573df..835f5e2ba 100644 --- a/src/Target/Php70/IssetExpressionFixer.php +++ b/src/Target/Php70/IssetExpressionFixer.php @@ -13,8 +13,12 @@ class IssetExpressionFixer extends Plugin /** * {@inheritDoc} */ - public static function next(array $config): array + public static function next(array $config) { - return [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; + $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/NestedExpressionFixer.php b/src/Target/Php70/NestedExpressionFixer.php index 749effeab..d5b6087ed 100644 --- a/src/Target/Php70/NestedExpressionFixer.php +++ b/src/Target/Php70/NestedExpressionFixer.php @@ -13,8 +13,12 @@ class NestedExpressionFixer extends Plugin /** * {@inheritDoc} */ - public static function next(array $config): array + public static function next(array $config) { - return [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticCall' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; + $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticCall' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/NullCoalesceReplacer.php b/src/Target/Php70/NullCoalesceReplacer.php index 92150eb08..962ef845a 100644 --- a/src/Target/Php70/NullCoalesceReplacer.php +++ b/src/Target/Php70/NullCoalesceReplacer.php @@ -30,15 +30,27 @@ class NullCoalesceReplacer extends Plugin * @param Expr $var * @return Expr */ - private static function &extractWorkVar(Expr &$var): Expr + private static function &extractWorkVar(Expr &$var) { if ($var instanceof ArrayDimFetch) { - return self::extractWorkVar($var->var); + $phabelReturn =& self::extractWorkVar($var->var); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if ($var instanceof PropertyFetch) { - return self::extractWorkVar($var->var); + $phabelReturn =& self::extractWorkVar($var->var); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return $var; + $phabelReturn =& $var; + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Replace null coalesce. @@ -47,17 +59,29 @@ private static function &extractWorkVar(Expr &$var): Expr * * @return Ternary */ - public function enter(Coalesce $node, Context $ctx): Ternary + public function enter(Coalesce $node, Context $ctx) { if (!Tools::hasSideEffects($workVar =& self::extractWorkVar($node->left)) && !isset(DisallowedExpressions::EXPRESSIONS[\get_class($node->left)])) { - return new Ternary(new Isset_([$node->left]), $node->left, $node->right); + $phabelReturn = new Ternary(new Isset_([$node->left]), $node->left, $node->right); + if (!$phabelReturn instanceof Ternary) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Ternary, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $valueCopy = $workVar; $check = new NotIdentical(Tools::fromLiteral(null), new Assign($workVar = $ctx->getVariable(), $valueCopy)); - return new Ternary($node->left === $workVar ? $check : new BooleanAnd($check, new Isset_([$node->left])), $node->left, $node->right); + $phabelReturn = new Ternary($node->left === $workVar ? $check : new BooleanAnd($check, new Isset_([$node->left])), $node->left, $node->right); + if (!$phabelReturn instanceof Ternary) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Ternary, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function withPrevious(array $config): array + public static function withPrevious(array $config) { - return [NullCoalesceAssignment::class, NullSafeTransformer::class]; + $phabelReturn = [NullCoalesceAssignment::class, NullSafeTransformer::class]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/Polyfill.php b/src/Target/Php70/Polyfill.php index e852bc853..a826212c2 100644 --- a/src/Target/Php70/Polyfill.php +++ b/src/Target/Php70/Polyfill.php @@ -8,7 +8,6 @@ use Phabel\Target\Php; use Phabel\Target\Polyfill as TargetPolyfill; use Phabel\Tools; -use Throwable; use ValueError; \define('BIG_ENDIAN', \pack('L', 1) === \pack('N', 1)); @@ -18,8 +17,8 @@ */ class Polyfill extends Plugin { - private const IS_WINDOWS = PHP_OS_FAMILY === 'Windows'; - public const CONSTANTS = [IntlChar::class => ['NO_NUMERIC_VALUE' => -123456789.0]]; + const IS_WINDOWS = PHP_OS_FAMILY === 'Windows'; + const CONSTANTS = [IntlChar::class => ['NO_NUMERIC_VALUE' => -123456789.0]]; // Todo: dns_get_record CAA // Todo: filters // Todo: getenv/putenv @@ -29,14 +28,33 @@ class Polyfill extends Plugin * * @return array */ - public static function getComposerRequires(array $config): array + public static function getComposerRequires(array $config) { - return ['symfony/polyfill-php72' => Php::POLYFILL_VERSIONS['symfony/polyfill-php72']]; + $phabelReturn = ['symfony/polyfill-php72' => Php::POLYFILL_VERSIONS['symfony/polyfill-php72']]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function assert($assertion, string|Throwable|null $exception = null): bool + public static function assert($assertion, $exception = null) { + if (!($exception instanceof \Exception || $exception instanceof \Error || \is_null($exception) || \is_null($exception))) { + if (!\is_string($exception)) { + if (!(\is_string($exception) || \is_object($exception) && \method_exists($exception, '__toString') || (\is_bool($exception) || \is_numeric($exception)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($exception) must be of type ?Throwable|string|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($exception) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $exception = (string) $exception; + } + } if ($assertion || Tools::ini_get('zend.assertions') !== 1) { - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } $exception = new AssertionError('assert(false)'); if (\is_null($exception)) { @@ -48,12 +66,38 @@ public static function assert($assertion, string|Throwable|null $exception = nul throw $exception; } \trigger_error("Uncaught {$exception}"); - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public static function dirname(string $path, int $levels = 1): string + public static function dirname($path, $levels = 1) { + if (!\is_string($path)) { + if (!(\is_string($path) || \is_object($path) && \method_exists($path, '__toString') || (\is_bool($path) || \is_numeric($path)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($path) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($path) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $path = (string) $path; + } + if (!\is_int($levels)) { + if (!(\is_bool($levels) || \is_numeric($levels))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($levels) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($levels) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $levels = (int) $levels; + } if ($levels === 1) { - return \dirname($path); + $phabelReturn = \dirname($path); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } if ($levels < 1) { throw new ValueError('dirname(): Argument #2 ($levels) must be greater than or equal to 1'); @@ -64,37 +108,152 @@ public static function dirname(string $path, int $levels = 1): string } } $path = \substr($path, \max(0, $x)); - return $path === '' ? '.' : $path; + $phabelReturn = $path === '' ? '.' : $path; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function get_defined_functions(bool $exclude_disabled = true): array + public static function get_defined_functions($exclude_disabled = true) { + if (!\is_bool($exclude_disabled)) { + if (!(\is_bool($exclude_disabled) || \is_numeric($exclude_disabled) || \is_string($exclude_disabled))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($exclude_disabled) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($exclude_disabled) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $exclude_disabled = (bool) $exclude_disabled; + } if ($exclude_disabled) { $disabled = \explode(',', Tools::ini_get('disable_functions') ?: ''); $res = \get_defined_functions(); $res['internal'] = \array_diff($res['internal'], $disabled); - return $res; + $phabelReturn = $res; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = \get_defined_functions(); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return \get_defined_functions(); + return $phabelReturn; } - public static function substr(string $string, int $offset, ?int $length = null): string + public static function substr($string, $offset, $length = null) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } if (\strlen($string) === $offset) { - return ''; + $phabelReturn = ''; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - return \substr($string, $offset, $length); + $phabelReturn = \substr($string, $offset, $length); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function iconv_substr(string $string, int $offset, ?int $length = null, ?string $encoding = null): string|bool + public static function iconv_substr($string, $offset, $length = null, $encoding = null) { - $encoding ??= \iconv_get_encoding('internal_encoding'); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $encoding = isset($encoding) ? $encoding : \iconv_get_encoding('internal_encoding'); $len = \iconv_strlen($string, $encoding); if ($len === $offset) { - return ''; + $phabelReturn = ''; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - $length ??= $len; - return \iconv_substr($string, $offset, $length, $encoding); + $length = isset($length) ? $length : $len; + $phabelReturn = \iconv_substr($string, $offset, $length, $encoding); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function pack(string $format, ...$values): string + public static function pack($format, ...$values) { + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $format = (string) $format; + } $l = \strlen($format); $y = 0; $newFormat = ''; @@ -129,13 +288,24 @@ public static function pack(string $format, ...$values): string $newFormat .= $cur . $repeaterOrig; } } - return \pack($newFormat, ...$values); + $phabelReturn = \pack($newFormat, ...$values); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function withNext(array $config): array + public static function withNext(array $config) { - return [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/ReservedNameReplacer.php b/src/Target/Php70/ReservedNameReplacer.php index 8e877d12d..99c60e41d 100644 --- a/src/Target/Php70/ReservedNameReplacer.php +++ b/src/Target/Php70/ReservedNameReplacer.php @@ -15,7 +15,7 @@ class ReservedNameReplacer extends Plugin /** * {@inheritdoc} */ - public function leaveNode(Node $node): void + public function leaveNode(Node $node) { if (!($node instanceof Node\Expr\MethodCall || $node instanceof Node\Expr\StaticCall || $node instanceof Node\Stmt\ClassMethod || $node instanceof Node\Expr\ClassConstFetch || $node instanceof Node\Const_) || !$node->name instanceof Identifier) { return; diff --git a/src/Target/Php70/ReturnTypeHints.php b/src/Target/Php70/ReturnTypeHints.php index ff451758f..89b0a4bf9 100644 --- a/src/Target/Php70/ReturnTypeHints.php +++ b/src/Target/Php70/ReturnTypeHints.php @@ -11,8 +11,12 @@ */ class ReturnTypeHints extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [TypeHintReplacer::class => ['return' => true]]; + $phabelReturn = [TypeHintReplacer::class => ['return' => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/ScalarTypeHints.php b/src/Target/Php70/ScalarTypeHints.php index 3e2b992ab..db7827e59 100644 --- a/src/Target/Php70/ScalarTypeHints.php +++ b/src/Target/Php70/ScalarTypeHints.php @@ -11,8 +11,12 @@ */ class ScalarTypeHints extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [TypeHintReplacer::class => ['types' => ['int', 'float', 'string', 'bool']]]; + $phabelReturn = [TypeHintReplacer::class => ['types' => ['int', 'float', 'string', 'bool']]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/SpaceshipOperatorReplacer.php b/src/Target/Php70/SpaceshipOperatorReplacer.php index 9587adb18..670b8c691 100644 --- a/src/Target/Php70/SpaceshipOperatorReplacer.php +++ b/src/Target/Php70/SpaceshipOperatorReplacer.php @@ -18,9 +18,13 @@ class SpaceshipOperatorReplacer extends Plugin * * @return StaticCall */ - public function enter(Spaceship $node): StaticCall + public function enter(Spaceship $node) { - return self::callPoly('spaceship', $node->left, $node->right); + $phabelReturn = self::callPoly('spaceship', $node->left, $node->right); + if (!$phabelReturn instanceof StaticCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Spacesip operator. @@ -30,8 +34,15 @@ public function enter(Spaceship $node): StaticCall * * @return integer */ - public static function spaceship($a, $b): int + public static function spaceship($a, $b) { - return $a < $b ? -1 : ($a === $b ? 0 : 1); + $phabelReturn = $a < $b ? -1 : ($a === $b ? 0 : 1); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } } diff --git a/src/Target/Php70/StrictTypesDeclareStatementRemover.php b/src/Target/Php70/StrictTypesDeclareStatementRemover.php index 7b0a26d77..4ee6829f8 100644 --- a/src/Target/Php70/StrictTypesDeclareStatementRemover.php +++ b/src/Target/Php70/StrictTypesDeclareStatementRemover.php @@ -13,12 +13,22 @@ */ class StrictTypesDeclareStatementRemover extends Plugin { - public function leave(Declare_ $node): ?Nop + public function leave(Declare_ $node) { - $node->declares = \array_filter($node->declares, fn (DeclareDeclare $declare) => ($declare->key->name !== 'strict_types')); + $node->declares = \array_filter($node->declares, function (DeclareDeclare $declare) { + return $declare->key->name !== 'strict_types'; + }); if (empty($node->declares)) { - return new Nop(); + $phabelReturn = new Nop(); + if (!($phabelReturn instanceof Nop || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Nop, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof Nop || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Nop, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php70/ThrowableReplacer.php b/src/Target/Php70/ThrowableReplacer.php index db1a01816..567ab7ab4 100644 --- a/src/Target/Php70/ThrowableReplacer.php +++ b/src/Target/Php70/ThrowableReplacer.php @@ -25,9 +25,22 @@ class ThrowableReplacer extends Plugin * * @return boolean */ - public function shouldRunFile(string $file): bool + public function shouldRunFile($file) { - return !\str_ends_with($file, 'src/Target/Php70/ThrowableReplacer.php'); + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } + $phabelReturn = !\str_ends_with($file, 'src/Target/Php70/ThrowableReplacer.php'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Check if type string is \Throwable or Throwable. @@ -36,9 +49,22 @@ public function shouldRunFile(string $file): bool * * @return boolean */ - private static function isThrowable(string $type): bool + private static function isThrowable($type) { - return $type === \Throwable::class || $type === '\\Throwable'; + if (!\is_string($type)) { + if (!(\is_string($type) || \is_object($type) && \method_exists($type, '__toString') || (\is_bool($type) || \is_numeric($type)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $type = (string) $type; + } + $phabelReturn = $type === \Throwable::class || $type === '\\Throwable'; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Check if is a throwable. @@ -47,12 +73,26 @@ private static function isThrowable(string $type): bool * @param mixed $class * @return boolean */ - public static function isInstanceofThrowable($obj, $class): bool + public static function isInstanceofThrowable($obj, $class) { if (\is_string($class) && self::isThrowable($class)) { - return $obj instanceof \Exception || $obj instanceof \Error; + $phabelReturn = $obj instanceof \Exception || $obj instanceof \Error; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - return $obj instanceof $class; + $phabelReturn = $obj instanceof $class; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Split instance of \Throwable. @@ -78,7 +118,7 @@ public function enterInstanceOf(Instanceof_ $node) * * @return void */ - public function enterTryCatch(TryCatch $node): void + public function enterTryCatch(TryCatch $node) { foreach ($node->catches as $catch) { $alreadyHasError = false; @@ -97,8 +137,12 @@ public function enterTryCatch(TryCatch $node): void } } } - public static function withPrevious(array $config): array + public static function withPrevious(array $config) { - return [TypeHintReplacer::class => ['type' => [\Throwable::class]], MultipleCatchReplacer::class => []]; + $phabelReturn = [TypeHintReplacer::class => ['type' => [\Throwable::class]], MultipleCatchReplacer::class => []]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php71/ArrayList.php b/src/Target/Php71/ArrayList.php index c085c3de4..e0c218a66 100644 --- a/src/Target/Php71/ArrayList.php +++ b/src/Target/Php71/ArrayList.php @@ -20,7 +20,7 @@ class ArrayList extends Plugin * * @return void */ - public function enterForeach(Foreach_ $node): void + public function enterForeach(Foreach_ $node) { if ($node->valueVar instanceof Array_) { self::replaceTypeInPlace($node->valueVar, List_::class); @@ -33,7 +33,7 @@ public function enterForeach(Foreach_ $node): void * * @return void */ - public function enterList(List_ $node): void + public function enterList(List_ $node) { foreach ($node->items as $item) { if ($item && $item->value instanceof Array_) { @@ -48,7 +48,7 @@ public function enterList(List_ $node): void * * @return void */ - public function enterAssign(Assign $node): void + public function enterAssign(Assign $node) { if ($node->var instanceof Array_) { $node->var = new List_($node->var->items); diff --git a/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php b/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php index bb895a54f..c8622ba2e 100644 --- a/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php +++ b/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php @@ -17,7 +17,7 @@ class ClassConstantVisibilityModifiersRemover extends Plugin * * @return void */ - public function enter(ClassConst $node): void + public function enter(ClassConst $node) { $node->flags = 0; // Remove constant modifier diff --git a/src/Target/Php71/ClosureFromCallable.php b/src/Target/Php71/ClosureFromCallable.php index edaa4821c..0f93f95d8 100644 --- a/src/Target/Php71/ClosureFromCallable.php +++ b/src/Target/Php71/ClosureFromCallable.php @@ -15,24 +15,46 @@ */ class ClosureFromCallable extends Plugin { - public function enter(StaticCall $staticCall): ?StaticCall + public function enter(StaticCall $staticCall) { if (!$staticCall->class instanceof Name || self::getFqdn($staticCall->class) !== Closure::class) { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof StaticCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if ($staticCall->name instanceof Expr) { - return self::callPoly('proxy', $staticCall->name, ...$staticCall->args); + $phabelReturn = self::callPoly('proxy', $staticCall->name, ...$staticCall->args); + if (!($phabelReturn instanceof StaticCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } elseif (\strtolower($staticCall->name->name) === 'fromcallable') { - return self::callPoly('fromCallable', $staticCall->args[0]); + $phabelReturn = self::callPoly('fromCallable', $staticCall->args[0]); + if (!($phabelReturn instanceof StaticCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof StaticCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function proxy(string $method, ...$args) + public static function proxy($method, ...$args) { + if (!\is_string($method)) { + if (!(\is_string($method) || \is_object($method) && \method_exists($method, '__toString') || (\is_bool($method) || \is_numeric($method)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($method) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($method) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $method = (string) $method; + } if (\strtolower($method) === 'fromcallable') { return self::fromCallable($args[0]); } - return Closure::$method(...$args); + return \Phabel\Target\Php71\ClosureFromCallable::proxy($method, ...$args); } /** * Create closure from callable. @@ -40,18 +62,30 @@ public static function proxy(string $method, ...$args) * @param callable $callable * @return Closure */ - public static function fromCallable($callable): Closure + public static function fromCallable($callable) { if ($callable instanceof Closure) { - return $callable; + $phabelReturn = $callable; + if (!$phabelReturn instanceof Closure) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Closure, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if (\is_object($callable)) { $callable = [$callable, '__invoke']; } if (\is_array($callable)) { $method = (new ReflectionClass($callable[0]))->getMethod($callable[1]); - return \is_string($callable[0]) ? $method->getClosure() : $method->getClosure($callable[0]); + $phabelReturn = \is_string($callable[0]) ? $method->getClosure() : $method->getClosure($callable[0]); + if (!$phabelReturn instanceof Closure) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Closure, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = (new ReflectionFunction($callable))->getClosure(); + if (!$phabelReturn instanceof Closure) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Closure, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return (new ReflectionFunction($callable))->getClosure(); + return $phabelReturn; } } diff --git a/src/Target/Php71/IterableHint.php b/src/Target/Php71/IterableHint.php index 92af2ec90..a365a5cba 100644 --- a/src/Target/Php71/IterableHint.php +++ b/src/Target/Php71/IterableHint.php @@ -11,8 +11,12 @@ */ class IterableHint extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [TypeHintReplacer::class => ['types' => ['iterable']]]; + $phabelReturn = [TypeHintReplacer::class => ['types' => ['iterable']]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php71/ListExpression.php b/src/Target/Php71/ListExpression.php index bf41a5467..4dd116a50 100644 --- a/src/Target/Php71/ListExpression.php +++ b/src/Target/Php71/ListExpression.php @@ -10,8 +10,12 @@ */ class ListExpression extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [ListSplitter::class => ['parentExpr' => true]]; + $phabelReturn = [ListSplitter::class => ['parentExpr' => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php71/ListKey.php b/src/Target/Php71/ListKey.php index 67e855c72..3802bbb08 100644 --- a/src/Target/Php71/ListKey.php +++ b/src/Target/Php71/ListKey.php @@ -10,8 +10,12 @@ */ class ListKey extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [ListSplitter::class => ['key' => true]]; + $phabelReturn = [ListSplitter::class => ['key' => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php71/MultipleCatchReplacer.php b/src/Target/Php71/MultipleCatchReplacer.php index 81bf4663f..63aa2db78 100644 --- a/src/Target/Php71/MultipleCatchReplacer.php +++ b/src/Target/Php71/MultipleCatchReplacer.php @@ -19,7 +19,7 @@ class MultipleCatchReplacer extends Plugin * * @return void */ - public function leave(TryCatch $node): void + public function leave(TryCatch $node) { $catches = []; foreach ($node->catches as $catch) { diff --git a/src/Target/Php71/NullableType.php b/src/Target/Php71/NullableType.php index 5f118995b..a21fba681 100644 --- a/src/Target/Php71/NullableType.php +++ b/src/Target/Php71/NullableType.php @@ -13,8 +13,12 @@ */ class NullableType extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [TypeHintReplacer::class => ['nullable' => true]]; + $phabelReturn = [TypeHintReplacer::class => ['nullable' => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php71/Polyfill.php b/src/Target/Php71/Polyfill.php index 20d61e33d..07f163928 100644 --- a/src/Target/Php71/Polyfill.php +++ b/src/Target/Php71/Polyfill.php @@ -19,110 +19,543 @@ class Polyfill extends Plugin // Todo: grapheme_extract // Todo: getenv // Skip: output buffer functions - public static function unpack(string $format, string $string, int $offset = 0): array|bool + public static function unpack($format, $string, $offset = 0) { - return \unpack($format, \substr($string, $offset)); + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $format = (string) $format; + } + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + $phabelReturn = \unpack($format, \substr($string, $offset)); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function long2ip(int $ip): string|bool + public static function long2ip($ip) { - return \long2ip($ip); + if (!\is_int($ip)) { + if (!(\is_bool($ip) || \is_numeric($ip))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($ip) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($ip) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $ip = (int) $ip; + } + $phabelReturn = \long2ip($ip); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function file_get_contents(...$params): string|false + public static function file_get_contents(...$params) { if (isset($params[3]) && $params[3] < 0) { $f = \fopen($params[0], 'r', $params[1], $params[2]); \fseek($f, 0, SEEK_END); \fseek($f, \ftell($f) + $params[3], SEEK_SET); - $length = $params[4] ?? null; + $length = isset($params[4]) ? $params[4] : null; if ($length === null) { - return \stream_get_contents($f); + $phabelReturn = \stream_get_contents($f); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \fread($f, $length); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \file_get_contents(...$params); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; } - return \fread($f, $length); } - return \file_get_contents(...$params); + return $phabelReturn; } - public static function get_headers(string $url, int $associative = 0, $context = null): array|false + public static function get_headers($url, $associative = 0, $context = null) { + if (!\is_string($url)) { + if (!(\is_string($url) || \is_object($url) && \method_exists($url, '__toString') || (\is_bool($url) || \is_numeric($url)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($url) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($url) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $url = (string) $url; + } + if (!\is_int($associative)) { + if (!(\is_bool($associative) || \is_numeric($associative))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($associative) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($associative) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $associative = (int) $associative; + } if (!$context) { - return \get_headers($url, $associative); + $phabelReturn = \get_headers($url, $associative); + if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if (\file_get_contents($url, false, $context) === false) { - return false; + $phabelReturn = false; + if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if (!$associative) { - return $http_response_header; + $phabelReturn = $http_response_header; + if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $headers = [$http_response_header[0]]; foreach ($http_response_header as $i => $header) { if ($i) { - [$k, $v] = \explode(":", $header, 2); + list($k, $v) = \explode(":", $header, 2); $headers[\trim($k, ' ')] = \trim($v, ' '); } } - return $headers; + $phabelReturn = $headers; + if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int + public static function substr_count($haystack, $needle, $offset = 0, $length = null) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } if ($offset < 0) { $offset = \strlen($haystack) + $offset; } if ($length === null) { - return \substr_count($haystack, $needle, $offset); + $phabelReturn = \substr_count($haystack, $needle, $offset); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } if ($length === 0) { - return \substr_count($haystack, $needle, $offset); + $phabelReturn = \substr_count($haystack, $needle, $offset); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } if ($length < 0) { $length = \strlen($haystack) - $length; } - return \substr_count($haystack, $needle, $offset); + $phabelReturn = \substr_count($haystack, $needle, $offset); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - public static function strpos(string $haystack, string $needle, int $offset = 0): int|bool + public static function strpos($haystack, $needle, $offset = 0) { - return \strpos($haystack, $needle, $offset < 0 ? \strlen($haystack) + $offset : $offset); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + $phabelReturn = \strpos($haystack, $needle, $offset < 0 ? \strlen($haystack) + $offset : $offset); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function stripos(string $haystack, string $needle, int $offset = 0): int|bool + public static function stripos($haystack, $needle, $offset = 0) { - return \stripos($haystack, $needle, $offset < 0 ? \strlen($haystack) + $offset : $offset); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + $phabelReturn = \stripos($haystack, $needle, $offset < 0 ? \strlen($haystack) + $offset : $offset); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function mb_strpos(string $haystack, string $needle, int $offset = 0, ?string $encoding = null): int|bool + public static function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) { - $encoding ??= \mb_internal_encoding(); - return \mb_strpos($haystack, $needle, $offset < 0 ? \mb_strlen($haystack, $encoding) + $offset : $offset, $encoding); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $encoding = isset($encoding) ? $encoding : \mb_internal_encoding(); + $phabelReturn = \mb_strpos($haystack, $needle, $offset < 0 ? \mb_strlen($haystack, $encoding) + $offset : $offset, $encoding); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function mb_stripos(string $haystack, string $needle, int $offset = 0, ?string $encoding = null): int|bool + public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) { - $encoding ??= \mb_internal_encoding(); - return \mb_stripos($haystack, $needle, $offset < 0 ? \mb_strlen($haystack, $encoding) + $offset : $offset, $encoding); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $encoding = isset($encoding) ? $encoding : \mb_internal_encoding(); + $phabelReturn = \mb_stripos($haystack, $needle, $offset < 0 ? \mb_strlen($haystack, $encoding) + $offset : $offset, $encoding); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function mb_strimwidth(string $string, int $start, int $width, string $trim_marker = "", ?string $encoding = null): string + public static function mb_strimwidth($string, $start, $width, $trim_marker = "", $encoding = null) { - $encoding ??= \mb_internal_encoding(); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($start)) { + if (!(\is_bool($start) || \is_numeric($start))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($start) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($start) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $start = (int) $start; + } + if (!\is_int($width)) { + if (!(\is_bool($width) || \is_numeric($width))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($width) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($width) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $width = (int) $width; + } + if (!\is_string($trim_marker)) { + if (!(\is_string($trim_marker) || \is_object($trim_marker) && \method_exists($trim_marker, '__toString') || (\is_bool($trim_marker) || \is_numeric($trim_marker)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($trim_marker) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($trim_marker) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $trim_marker = (string) $trim_marker; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $encoding = isset($encoding) ? $encoding : \mb_internal_encoding(); if ($start < 0) { $start = \mb_strlen($string, $encoding) + $start; } elseif ($width < 0) { $width = \mb_strlen($string, $encoding) + $width; } - return \mb_strimwidth($string, $start, $width, $trim_marker, $encoding); + $phabelReturn = \mb_strimwidth($string, $start, $width, $trim_marker, $encoding); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function iconv_strpos(string $haystack, string $needle, int $offset = 0, ?string $encoding = null): int|bool + public static function iconv_strpos($haystack, $needle, $offset = 0, $encoding = null) { - $encoding ??= \iconv_get_encoding('internal_encoding'); - return \iconv_strpos($haystack, $needle, $offset < 0 ? \iconv_strlen($haystack, $encoding) + $offset : $offset, $encoding); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $encoding = isset($encoding) ? $encoding : \iconv_get_encoding('internal_encoding'); + $phabelReturn = \iconv_strpos($haystack, $needle, $offset < 0 ? \iconv_strlen($haystack, $encoding) + $offset : $offset, $encoding); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function grapheme_strpos(string $haystack, string $needle, int $offset = 0): int|bool + public static function grapheme_strpos($haystack, $needle, $offset = 0) { - return \grapheme_strpos($haystack, $needle, $offset < 0 ? \grapheme_strlen($haystack) + $offset : $offset); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + $phabelReturn = \grapheme_strpos($haystack, $needle, $offset < 0 ? \grapheme_strlen($haystack) + $offset : $offset); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function grapheme_stripos(string $haystack, string $needle, int $offset = 0): int|bool + public static function grapheme_stripos($haystack, $needle, $offset = 0) { - return \grapheme_stripos($haystack, $needle, $offset < 0 ? \grapheme_strlen($haystack) + $offset : $offset); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + $phabelReturn = \grapheme_stripos($haystack, $needle, $offset < 0 ? \grapheme_strlen($haystack) + $offset : $offset); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function withNext(array $config): array + public static function withNext(array $config) { - return [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php71/VoidReturnType.php b/src/Target/Php71/VoidReturnType.php index 16e40a654..7d1c8078c 100644 --- a/src/Target/Php71/VoidReturnType.php +++ b/src/Target/Php71/VoidReturnType.php @@ -12,8 +12,12 @@ */ class VoidReturnType extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [TypeHintReplacer::class => ['void' => true]]; + $phabelReturn = [TypeHintReplacer::class => ['void' => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php72/ObjectTypeHintReplacer.php b/src/Target/Php72/ObjectTypeHintReplacer.php index ba54c8e91..b01d39e28 100644 --- a/src/Target/Php72/ObjectTypeHintReplacer.php +++ b/src/Target/Php72/ObjectTypeHintReplacer.php @@ -11,8 +11,12 @@ */ class ObjectTypeHintReplacer extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [TypeHintReplacer::class => ['types' => ['object']]]; + $phabelReturn = [TypeHintReplacer::class => ['types' => ['object']]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php72/Polyfill.php b/src/Target/Php72/Polyfill.php index 3b355a0c4..9e8fb343a 100644 --- a/src/Target/Php72/Polyfill.php +++ b/src/Target/Php72/Polyfill.php @@ -18,40 +18,170 @@ class Polyfill extends Plugin // Todo: ReflectionClass::getMethods, ReflectionClass::getProperties nullable // Todo: substr_compare // Skip PREG_UNMATCHED_AS_NULL - public static function json_decode(string $json, ?bool $associative = null, int $depth = 512, int $flags = 0) + public static function json_decode($json, $associative = null, $depth = 512, $flags = 0) { - $associative ??= !!($flags & JSON_OBJECT_AS_ARRAY); + if (!\is_string($json)) { + if (!(\is_string($json) || \is_object($json) && \method_exists($json, '__toString') || (\is_bool($json) || \is_numeric($json)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($json) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($json) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $json = (string) $json; + } + if (!\is_null($associative)) { + if (!\is_bool($associative)) { + if (!(\is_bool($associative) || \is_numeric($associative) || \is_string($associative))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($associative) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($associative) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $associative = (bool) $associative; + } + } + if (!\is_int($depth)) { + if (!(\is_bool($depth) || \is_numeric($depth))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($depth) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($depth) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $depth = (int) $depth; + } + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($flags) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $flags = (int) $flags; + } + $associative = isset($associative) ? $associative : !!($flags & JSON_OBJECT_AS_ARRAY); return \json_decode($json, $associative, $depth, $flags); } - public static function mb_convert_encoding(array|string $string, string $to_encoding, array|string|null $from_encoding = null): array|string|bool + public static function mb_convert_encoding($string, $to_encoding, $from_encoding = null) { - $from_encoding ??= \mb_internal_encoding(); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + if (!\is_array($string)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type array|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $string = (string) $string; + } + } + if (!\is_string($to_encoding)) { + if (!(\is_string($to_encoding) || \is_object($to_encoding) && \method_exists($to_encoding, '__toString') || (\is_bool($to_encoding) || \is_numeric($to_encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($to_encoding) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($to_encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $to_encoding = (string) $to_encoding; + } + if (!(\is_null($from_encoding) || \is_null($from_encoding))) { + if (!\is_string($from_encoding)) { + if (!(\is_string($from_encoding) || \is_object($from_encoding) && \method_exists($from_encoding, '__toString') || (\is_bool($from_encoding) || \is_numeric($from_encoding)))) { + if (!\is_array($from_encoding)) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($from_encoding) must be of type ?array|string|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($from_encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $from_encoding = (string) $from_encoding; + } + } + } + $from_encoding = isset($from_encoding) ? $from_encoding : \mb_internal_encoding(); if (\is_array($string)) { foreach ($string as $k => $s) { if (\is_array($from_encoding)) { - $string[$k] = self::mb_convert_encoding($s, $to_encoding, $from_encoding[$k] ?? null); + $string[$k] = self::mb_convert_encoding($s, $to_encoding, isset($from_encoding[$k]) ? $from_encoding[$k] : null); } else { $string[$k] = self::mb_convert_encoding($s, $to_encoding, $from_encoding); } } - return $string; + $phabelReturn = $string; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array|string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - return \mb_convert_encoding($string, $to_encoding, $from_encoding); + $phabelReturn = \mb_convert_encoding($string, $to_encoding, $from_encoding); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array|string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function number_format(float $num, int $decimals = 0, ?string $decimal_separator = ".", ?string $thousands_separator = ","): string + public static function number_format($num, $decimals = 0, $decimal_separator = ".", $thousands_separator = ",") { + if (!\is_float($num)) { + if (!(\is_bool($num) || \is_numeric($num))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($num) must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($num) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $num = (float) $num; + } + if (!\is_int($decimals)) { + if (!(\is_bool($decimals) || \is_numeric($decimals))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($decimals) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decimals) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $decimals = (int) $decimals; + } + if (!\is_null($decimal_separator)) { + if (!\is_string($decimal_separator)) { + if (!(\is_string($decimal_separator) || \is_object($decimal_separator) && \method_exists($decimal_separator, '__toString') || (\is_bool($decimal_separator) || \is_numeric($decimal_separator)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($decimal_separator) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decimal_separator) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $decimal_separator = (string) $decimal_separator; + } + } + if (!\is_null($thousands_separator)) { + if (!\is_string($thousands_separator)) { + if (!(\is_string($thousands_separator) || \is_object($thousands_separator) && \method_exists($thousands_separator, '__toString') || (\is_bool($thousands_separator) || \is_numeric($thousands_separator)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($thousands_separator) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($thousands_separator) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $thousands_separator = (string) $thousands_separator; + } + } $res = \number_format($num, $decimals, $decimal_separator, $thousands_separator); - return $res === '-0' ? '0' : $res; + $phabelReturn = $res === '-0' ? '0' : $res; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function is_object($stuff): bool + public static function is_object($stuff) { - return $stuff instanceof __PHP_Incomplete_Class ? true : \is_object($stuff); + $phabelReturn = $stuff instanceof __PHP_Incomplete_Class ? true : \is_object($stuff); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function withNext(array $config): array + public static function withNext(array $config) { - return [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php72/TypeContravariance.php b/src/Target/Php72/TypeContravariance.php index 2fd846254..993fef4ca 100644 --- a/src/Target/Php72/TypeContravariance.php +++ b/src/Target/Php72/TypeContravariance.php @@ -12,8 +12,12 @@ */ class TypeContravariance extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [ClassStoragePlugin::class => [T::class => true]]; + $phabelReturn = [ClassStoragePlugin::class => [T::class => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php72/TypeContravariance/TypeContravariance.php b/src/Target/Php72/TypeContravariance/TypeContravariance.php index a7ea57f2b..7a829023f 100644 --- a/src/Target/Php72/TypeContravariance/TypeContravariance.php +++ b/src/Target/Php72/TypeContravariance/TypeContravariance.php @@ -16,7 +16,7 @@ */ class TypeContravariance extends ClassStorageProvider { - public static function processClassGraph(ClassStorage $storage): bool + public static function processClassGraph(ClassStorage $storage) { $changed = false; foreach ($storage->getClasses() as $class) { @@ -74,13 +74,24 @@ public static function processClassGraph(ClassStorage $storage): bool } } } - return $changed; + $phabelReturn = $changed; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function next(array $config): array + public static function next(array $config) { - return [TypeHintReplacer::class]; + $phabelReturn = [TypeHintReplacer::class]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php73/ListReference.php b/src/Target/Php73/ListReference.php index c164900be..9f4cbc1c6 100644 --- a/src/Target/Php73/ListReference.php +++ b/src/Target/Php73/ListReference.php @@ -10,8 +10,12 @@ */ class ListReference extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [ListSplitter::class => ['byRef' => true]]; + $phabelReturn = [ListSplitter::class => ['byRef' => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php73/NestedExpressionFixer.php b/src/Target/Php73/NestedExpressionFixer.php index 3535cc851..898362630 100644 --- a/src/Target/Php73/NestedExpressionFixer.php +++ b/src/Target/Php73/NestedExpressionFixer.php @@ -13,8 +13,12 @@ class NestedExpressionFixer extends Plugin /** * {@inheritDoc} */ - public static function next(array $config): array + public static function next(array $config) { - return [fixer::class => ['PhpParser\\Node\\Expr\\Instanceof_' => ['expr' => ['PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; + $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\Instanceof_' => ['expr' => ['PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php73/Polyfill.php b/src/Target/Php73/Polyfill.php index d77a29bcd..5c965a297 100644 --- a/src/Target/Php73/Polyfill.php +++ b/src/Target/Php73/Polyfill.php @@ -14,29 +14,65 @@ class Polyfill extends Plugin // Skip apache_request_headers // Todo: setrawcookie // Todo: password_hash - public static function getComposerRequires(array $config): array + public static function getComposerRequires(array $config) { - return ['ralouphie/getallheaders' => '^3|^2']; + $phabelReturn = ['ralouphie/getallheaders' => '^3|^2']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function array_push(array &$array, ...$values): int + public static function array_push(array &$array, ...$values) { if (\count($values) === 0) { - return \count($array); + $phabelReturn = \count($array); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; + } + $phabelReturn = \array_push($array, ...$values); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; } - return \array_push($array, ...$values); + return $phabelReturn; } - public static function array_unshift(array &$array, ...$values): int + public static function array_unshift(array &$array, ...$values) { if (\count($values) === 0) { - return \count($array); + $phabelReturn = \count($array); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - return \array_unshift($array, ...$values); + $phabelReturn = \array_unshift($array, ...$values); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function withNext(array $config): array + public static function withNext(array $config) { - return [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php74/ArrayUnpack.php b/src/Target/Php74/ArrayUnpack.php index 0488977a6..fd5ef11f8 100644 --- a/src/Target/Php74/ArrayUnpack.php +++ b/src/Target/Php74/ArrayUnpack.php @@ -18,29 +18,45 @@ */ class ArrayUnpack extends Plugin { - public function enter(Array_ $array, Context $context): ?FuncCall + public function enter(Array_ $array, Context $context) { foreach ($context->parents as $parent) { if ($parent instanceof Array_) { continue; } if ($parent instanceof List_) { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof FuncCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FuncCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** @var string */ $key = $parent->getAttribute('currentNode'); if ($parent instanceof Assign && $key === 'var') { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof FuncCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FuncCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if ($parent instanceof Foreach_ && $key === 'valueVar') { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof FuncCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FuncCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } break; } $hasUnpack = false; foreach ($array->items as $item) { if (!$item) { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof FuncCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FuncCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } if ($item->unpack) { $hasUnpack = true; @@ -48,7 +64,11 @@ public function enter(Array_ $array, Context $context): ?FuncCall } } if (!$hasUnpack) { - return null; + $phabelReturn = null; + if (!($phabelReturn instanceof FuncCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FuncCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } $args = []; $current = new Array_(); @@ -67,6 +87,10 @@ public function enter(Array_ $array, Context $context): ?FuncCall if ($current->items) { $args[] = new Arg($current); } - return Plugin::call("array_merge", ...$args); + $phabelReturn = Plugin::call("array_merge", ...$args); + if (!($phabelReturn instanceof FuncCall || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?FuncCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php74/ArrowClosure.php b/src/Target/Php74/ArrowClosure.php index fec0bc45f..43627f6b4 100644 --- a/src/Target/Php74/ArrowClosure.php +++ b/src/Target/Php74/ArrowClosure.php @@ -23,7 +23,7 @@ class ArrowClosure extends Plugin * * @return Closure */ - public function enter(ArrowFunction $func, Context $context): Closure + public function enter(ArrowFunction $func, Context $context) { /** @var array */ $nodes = []; @@ -36,13 +36,17 @@ public function enter(ArrowFunction $func, Context $context): Closure /** @var array */ $params = []; /** @var Param */ - foreach ($nodes['params'] ?? [] as $param) { + foreach (isset($nodes['params']) ? $nodes['params'] : [] as $param) { if ($param->var instanceof Variable) { /** @var string $param->var->name */ $params[$param->var->name] = true; } } $nodes['uses'] = \array_values(\array_intersect_key(\array_diff_key(VariableFinder::find($func->expr), $params), $context->variables->top()->getVars())); - return new Closure($nodes, $func->getAttributes()); + $phabelReturn = new Closure($nodes, $func->getAttributes()); + if (!$phabelReturn instanceof Closure) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Closure, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php74/NullCoalesceAssignment.php b/src/Target/Php74/NullCoalesceAssignment.php index 2dbb44102..c1d2f9a09 100644 --- a/src/Target/Php74/NullCoalesceAssignment.php +++ b/src/Target/Php74/NullCoalesceAssignment.php @@ -13,8 +13,12 @@ */ class NullCoalesceAssignment extends Plugin { - public function enter(Coalesce $coalesce): Assign + public function enter(Coalesce $coalesce) { - return new Assign($coalesce->var, new BinaryOpCoalesce($coalesce->var, $coalesce->expr), $coalesce->getAttributes()); + $phabelReturn = new Assign($coalesce->var, new BinaryOpCoalesce($coalesce->var, $coalesce->expr), $coalesce->getAttributes()); + if (!$phabelReturn instanceof Assign) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Assign, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php74/Polyfill.php b/src/Target/Php74/Polyfill.php index 2d4b32df5..c8129a161 100644 --- a/src/Target/Php74/Polyfill.php +++ b/src/Target/Php74/Polyfill.php @@ -12,21 +12,58 @@ class Polyfill extends Plugin { // Todo: gmmktime, mktime - public static function array_filter(array $array, ?callable $callback = null, int $mode = 0): array + public static function array_filter(array $array, $callback = null, $mode = 0) { - $callback ??= fn ($v) => $v; - return \array_filter($array, $callback, $mode); + if (!(\is_callable($callback) || \is_null($callback))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($callback) must be of type ?callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($callback) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($mode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $mode = (int) $mode; + } + $callback = isset($callback) ? $callback : function ($v) { + return $v; + }; + $phabelReturn = \array_filter($array, $callback, $mode); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array + public static function array_splice(array &$array, $offset, $length = null, mixed $replacement = []) { - $length ??= \max(\count($array) - $offset, 0); - return \array_splice($array, $offset, $length, $replacement); + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } + $length = isset($length) ? $length : \max(\count($array) - $offset, 0); + $phabelReturn = \array_splice($array, $offset, $length, $replacement); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function withNext(array $config): array + public static function withNext(array $config) { - return [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php74/Serializable.php b/src/Target/Php74/Serializable.php index e01786bc5..ec9f71be3 100644 --- a/src/Target/Php74/Serializable.php +++ b/src/Target/Php74/Serializable.php @@ -16,34 +16,34 @@ class Serializable extends Plugin { /* - public function enter(Class_ $class, Context $context): void - { - /** @var array */ + public function enter(Class_ $class, Context $context): void + { + /** @var array */ /* - $methods = []; - foreach ($class->stmts as $stmt) { - if ($stmt instanceof ClassMethod) { - $name = $stmt->name->toLowerString(); - $methods[$name] = $stmt; - } - } + $methods = []; + foreach ($class->stmts as $stmt) { + if ($stmt instanceof ClassMethod) { + $name = $stmt->name->toLowerString(); + $methods[$name] = $stmt; + } + } - if (!isset($methods['__serialize']) && !isset($methods['__unserialize'])) { - return; - } - foreach ($class->implements as $name) { - $resolved = $context->getNameContext()->getResolvedClassName($name); - if ($resolved->toLowerString() === 'serializable' || $name->toLowerString() === 'serializable') { - return; // Already implements - } - } - if (isset($methods['__sleep'])) { - $methods['__sleep']->name = new Identifier('__phabelSleep'); - } - if (isset($methods['__wakeup'])) { - $methods['__wakeup']->name = new Identifier('__phabelWakeup'); - } + if (!isset($methods['__serialize']) && !isset($methods['__unserialize'])) { + return; + } + foreach ($class->implements as $name) { + $resolved = $context->getNameContext()->getResolvedClassName($name); + if ($resolved->toLowerString() === 'serializable' || $name->toLowerString() === 'serializable') { + return; // Already implements + } + } + if (isset($methods['__sleep'])) { + $methods['__sleep']->name = new Identifier('__phabelSleep'); + } + if (isset($methods['__wakeup'])) { + $methods['__wakeup']->name = new Identifier('__phabelWakeup'); + } - $class->implements []= new FullyQualified(GlobalSerializable::class); - }*/ + $class->implements []= new FullyQualified(GlobalSerializable::class); + }*/ } diff --git a/src/Target/Php74/TypeContracovariance.php b/src/Target/Php74/TypeContracovariance.php index 1ca76a014..835976e36 100644 --- a/src/Target/Php74/TypeContracovariance.php +++ b/src/Target/Php74/TypeContracovariance.php @@ -12,8 +12,12 @@ */ class TypeContracovariance extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [ClassStoragePlugin::class => [T::class => true]]; + $phabelReturn = [ClassStoragePlugin::class => [T::class => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php74/TypeContracovariance/TypeContracovariance.php b/src/Target/Php74/TypeContracovariance/TypeContracovariance.php index bac7a6fb0..a46646f63 100644 --- a/src/Target/Php74/TypeContracovariance/TypeContracovariance.php +++ b/src/Target/Php74/TypeContracovariance/TypeContracovariance.php @@ -14,7 +14,7 @@ */ class TypeContracovariance extends ClassStorageProvider { - public static function processClassGraph(ClassStorage $storage): bool + public static function processClassGraph(ClassStorage $storage) { $changed = false; foreach ($storage->getClasses() as $class) { @@ -53,13 +53,24 @@ public static function processClassGraph(ClassStorage $storage): bool } } } - return $changed; + $phabelReturn = $changed; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function next(array $config): array + public static function next(array $config) { - return [TypeHintReplacer::class]; + $phabelReturn = [TypeHintReplacer::class]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php74/TypedProperty.php b/src/Target/Php74/TypedProperty.php index 1d6fb4a8e..ef2d22620 100644 --- a/src/Target/Php74/TypedProperty.php +++ b/src/Target/Php74/TypedProperty.php @@ -11,7 +11,7 @@ */ class TypedProperty extends Plugin { - public function enter(ClassLike $class): void + public function enter(ClassLike $class) { foreach ($class->stmts as $stmt) { if ($stmt instanceof Property && $stmt->type) { diff --git a/src/Target/Php80/IssetExpressionFixer.php b/src/Target/Php80/IssetExpressionFixer.php index f77e184bc..83669579b 100644 --- a/src/Target/Php80/IssetExpressionFixer.php +++ b/src/Target/Php80/IssetExpressionFixer.php @@ -13,8 +13,12 @@ class IssetExpressionFixer extends Plugin /** * {@inheritDoc} */ - public static function next(array $config): array + public static function next(array $config) { - return [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'dim' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true], 'name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Variable' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]]]]; + $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'dim' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true], 'name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Variable' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]]]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php80/MatchTransformer.php b/src/Target/Php80/MatchTransformer.php index e614abaac..98cad9bfd 100644 --- a/src/Target/Php80/MatchTransformer.php +++ b/src/Target/Php80/MatchTransformer.php @@ -26,7 +26,7 @@ */ class MatchTransformer extends Plugin { - public function enter(Match_ $match, Context $context): FuncCall + public function enter(Match_ $match, Context $context) { $closure = new Closure(['params' => [new Param($var = $context->getVariable())], 'uses' => \array_values(VariableFinder::find($match, true))]); $cases = []; @@ -47,13 +47,17 @@ public function enter(Match_ $match, Context $context): FuncCall if (empty($cases)) { $closure->stmts = [$default]; } else { - [$ifCond, $ifBody] = \array_shift($cases); + list($ifCond, $ifBody) = \array_shift($cases); foreach ($cases as &$case) { - [$cond, $body] = $case; + list($cond, $body) = $case; $case = new ElseIf_($cond, [$body]); } $closure->stmts = [new If_($ifCond, ['stmts' => [$ifBody], 'elseifs' => $cases, 'else' => new Else_([$default])])]; } - return new FuncCall($closure, [new Arg($match->cond)]); + $phabelReturn = new FuncCall($closure, [new Arg($match->cond)]); + if (!$phabelReturn instanceof FuncCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type FuncCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php80/NestedExpressionFixer.php b/src/Target/Php80/NestedExpressionFixer.php index 8f314a487..52b9bd7fd 100644 --- a/src/Target/Php80/NestedExpressionFixer.php +++ b/src/Target/Php80/NestedExpressionFixer.php @@ -13,8 +13,12 @@ class NestedExpressionFixer extends Plugin /** * {@inheritDoc} */ - public static function next(array $config): array + public static function next(array $config) { - return [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'dim' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Assign' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BitwiseNot' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BooleanNot' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Clone_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Empty_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\ErrorSuppress' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Eval_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Instanceof_' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\New_' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\Print_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true], 'name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Ternary' => ['if' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'else' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Throw_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\UnaryMinus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\UnaryPlus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Variable' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\YieldFrom' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Yield_' => ['value' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'key' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Div' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Array_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Bool_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Double' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Int_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Object_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\String_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]]]]; + $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'dim' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Assign' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BitwiseNot' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BooleanNot' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Clone_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Empty_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\ErrorSuppress' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Eval_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Instanceof_' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\New_' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\Print_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true], 'name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Ternary' => ['if' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'else' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Throw_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\UnaryMinus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\UnaryPlus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Variable' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\YieldFrom' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Yield_' => ['value' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'key' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Div' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Array_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Bool_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Double' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Int_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Object_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\String_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]]]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php80/NullSafe/NullSafe.php b/src/Target/Php80/NullSafe/NullSafe.php index 2eadd6c99..414016792 100644 --- a/src/Target/Php80/NullSafe/NullSafe.php +++ b/src/Target/Php80/NullSafe/NullSafe.php @@ -7,7 +7,7 @@ */ class NullSafe { - public static self $singleton; + public static $singleton; /** * Null. * diff --git a/src/Target/Php80/NullSafeTransformer.php b/src/Target/Php80/NullSafeTransformer.php index c729f3f56..bc629d9d8 100644 --- a/src/Target/Php80/NullSafeTransformer.php +++ b/src/Target/Php80/NullSafeTransformer.php @@ -26,9 +26,13 @@ class NullSafeTransformer extends Plugin * @param NullsafePropertyFetch $fetch * @return PropertyFetch */ - public function enterPropertyFetch(NullsafePropertyFetch $fetch): PropertyFetch + public function enterPropertyFetch(NullsafePropertyFetch $fetch) { - return new PropertyFetch(new Coalesce($fetch->var, new StaticPropertyFetch(new FullyQualified(NullSafe::class), 'singleton')), $fetch->name); + $phabelReturn = new PropertyFetch(new Coalesce($fetch->var, new StaticPropertyFetch(new FullyQualified(NullSafe::class), 'singleton')), $fetch->name); + if (!$phabelReturn instanceof PropertyFetch) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type PropertyFetch, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Method call. @@ -36,12 +40,20 @@ public function enterPropertyFetch(NullsafePropertyFetch $fetch): PropertyFetch * @param NullsafeMethodCall $fetch * @return MethodCall */ - public function enterMethodCall(NullsafeMethodCall $fetch): MethodCall + public function enterMethodCall(NullsafeMethodCall $fetch) { - return new MethodCall(new Coalesce($fetch->var, new StaticPropertyFetch(new FullyQualified(NullSafe::class), 'singleton')), $fetch->name, $fetch->args); + $phabelReturn = new MethodCall(new Coalesce($fetch->var, new StaticPropertyFetch(new FullyQualified(NullSafe::class), 'singleton')), $fetch->name, $fetch->args); + if (!$phabelReturn instanceof MethodCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type MethodCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function previous(array $config): array + public static function previous(array $config) { - return [NestedExpressionFixer::class => [New_::class => ['class' => [NullsafePropertyFetch::class => true, NullsafeMethodCall::class => true]]]]; + $phabelReturn = [NestedExpressionFixer::class => [New_::class => ['class' => [NullsafePropertyFetch::class => true, NullsafeMethodCall::class => true]]]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php80/Polyfill.php b/src/Target/Php80/Polyfill.php index b33564dc6..e8167be0c 100644 --- a/src/Target/Php80/Polyfill.php +++ b/src/Target/Php80/Polyfill.php @@ -16,234 +16,1650 @@ class Polyfill extends Plugin { // Todo: nullability of a bunch of mb_ functions - public static function easter_date(?int $year = null, int $mode = CAL_EASTER_DEFAULT): int + public static function easter_date($year = null, $mode = CAL_EASTER_DEFAULT) { - $year ??= (int) \date('Y'); - return easter_date($year, $mode); + if (!\is_null($year)) { + if (!\is_int($year)) { + if (!(\is_bool($year) || \is_numeric($year))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($year) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($year) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $year = (int) $year; + } + } + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $mode = (int) $mode; + } + $year = isset($year) ? $year : (int) \date('Y'); + $phabelReturn = easter_date($year, $mode); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - public static function easter_days(?int $year = null, int $mode = CAL_EASTER_DEFAULT): int + public static function easter_days($year = null, $mode = CAL_EASTER_DEFAULT) { - $year ??= (int) \date('Y'); - return easter_days($year, $mode); + if (!\is_null($year)) { + if (!\is_int($year)) { + if (!(\is_bool($year) || \is_numeric($year))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($year) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($year) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $year = (int) $year; + } + } + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $mode = (int) $mode; + } + $year = isset($year) ? $year : (int) \date('Y'); + $phabelReturn = easter_days($year, $mode); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - public static function unixtojd(?int $timestamp = null): int|bool + public static function unixtojd($timestamp = null) { - $timestamp ??= \time(); - return unixtojd($timestamp); + if (!\is_null($timestamp)) { + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($timestamp) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + } + $timestamp = isset($timestamp) ? $timestamp : \time(); + $phabelReturn = unixtojd($timestamp); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function date_sunrise(int $timestamp, int $returnFormat = SUNFUNCS_RET_STRING, ?float $latitude = null, ?float $longitude = null, ?float $zenith = null, ?float $utcOffset = null): string|int|float|bool + public static function date_sunrise($timestamp, $returnFormat = SUNFUNCS_RET_STRING, $latitude = null, $longitude = null, $zenith = null, $utcOffset = null) { - $latitude ??= Tools::ini_get('date.default_latitude'); - $longitude ??= Tools::ini_get('date.default_longitude'); - $zenith ??= Tools::ini_get('date.sunrise_zenith'); - $utcOffset ??= 0; - return \date_sunrise($timestamp, $returnFormat, $latitude, $longitude, $zenith, $utcOffset); + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($timestamp) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + if (!\is_int($returnFormat)) { + if (!(\is_bool($returnFormat) || \is_numeric($returnFormat))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($returnFormat) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($returnFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $returnFormat = (int) $returnFormat; + } + if (!\is_null($latitude)) { + if (!\is_float($latitude)) { + if (!(\is_bool($latitude) || \is_numeric($latitude))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($latitude) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($latitude) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $latitude = (float) $latitude; + } + } + if (!\is_null($longitude)) { + if (!\is_float($longitude)) { + if (!(\is_bool($longitude) || \is_numeric($longitude))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($longitude) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($longitude) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $longitude = (float) $longitude; + } + } + if (!\is_null($zenith)) { + if (!\is_float($zenith)) { + if (!(\is_bool($zenith) || \is_numeric($zenith))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($zenith) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($zenith) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $zenith = (float) $zenith; + } + } + if (!\is_null($utcOffset)) { + if (!\is_float($utcOffset)) { + if (!(\is_bool($utcOffset) || \is_numeric($utcOffset))) { + throw new \TypeError(__METHOD__ . '(): Argument #6 ($utcOffset) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($utcOffset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $utcOffset = (float) $utcOffset; + } + } + $latitude = isset($latitude) ? $latitude : Tools::ini_get('date.default_latitude'); + $longitude = isset($longitude) ? $longitude : Tools::ini_get('date.default_longitude'); + $zenith = isset($zenith) ? $zenith : Tools::ini_get('date.sunrise_zenith'); + $utcOffset = isset($utcOffset) ? $utcOffset : 0; + $phabelReturn = \date_sunrise($timestamp, $returnFormat, $latitude, $longitude, $zenith, $utcOffset); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|int|float|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } else { + $phabelReturn = (float) $phabelReturn; + } + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function date_sunset(int $timestamp, int $returnFormat = SUNFUNCS_RET_STRING, ?float $latitude = null, ?float $longitude = null, ?float $zenith = null, ?float $utcOffset = null): string|int|float|bool + public static function date_sunset($timestamp, $returnFormat = SUNFUNCS_RET_STRING, $latitude = null, $longitude = null, $zenith = null, $utcOffset = null) { - $latitude ??= Tools::ini_get('date.default_latitude'); - $longitude ??= Tools::ini_get('date.default_longitude'); - $zenith ??= Tools::ini_get('date.sunset_zenith'); - $utcOffset ??= 0; - return \date_sunset($timestamp, $returnFormat, $latitude, $longitude, $zenith, $utcOffset); + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($timestamp) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + if (!\is_int($returnFormat)) { + if (!(\is_bool($returnFormat) || \is_numeric($returnFormat))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($returnFormat) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($returnFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $returnFormat = (int) $returnFormat; + } + if (!\is_null($latitude)) { + if (!\is_float($latitude)) { + if (!(\is_bool($latitude) || \is_numeric($latitude))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($latitude) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($latitude) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $latitude = (float) $latitude; + } + } + if (!\is_null($longitude)) { + if (!\is_float($longitude)) { + if (!(\is_bool($longitude) || \is_numeric($longitude))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($longitude) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($longitude) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $longitude = (float) $longitude; + } + } + if (!\is_null($zenith)) { + if (!\is_float($zenith)) { + if (!(\is_bool($zenith) || \is_numeric($zenith))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($zenith) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($zenith) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $zenith = (float) $zenith; + } + } + if (!\is_null($utcOffset)) { + if (!\is_float($utcOffset)) { + if (!(\is_bool($utcOffset) || \is_numeric($utcOffset))) { + throw new \TypeError(__METHOD__ . '(): Argument #6 ($utcOffset) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($utcOffset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $utcOffset = (float) $utcOffset; + } + } + $latitude = isset($latitude) ? $latitude : Tools::ini_get('date.default_latitude'); + $longitude = isset($longitude) ? $longitude : Tools::ini_get('date.default_longitude'); + $zenith = isset($zenith) ? $zenith : Tools::ini_get('date.sunset_zenith'); + $utcOffset = isset($utcOffset) ? $utcOffset : 0; + $phabelReturn = \date_sunset($timestamp, $returnFormat, $latitude, $longitude, $zenith, $utcOffset); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|int|float|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } else { + $phabelReturn = (float) $phabelReturn; + } + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function date(string $format, ?int $timestamp = null): string + public static function date($format, $timestamp = null) { - return \date($format, $timestamp ?? \time()); + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $format = (string) $format; + } + if (!\is_null($timestamp)) { + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($timestamp) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + } + $phabelReturn = \date($format, isset($timestamp) ? $timestamp : \time()); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function getdate(?int $timestamp = null): array + public static function getdate($timestamp = null) { - return \getdate($timestamp ?? \time()); + if (!\is_null($timestamp)) { + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($timestamp) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + } + $phabelReturn = \getdate(isset($timestamp) ? $timestamp : \time()); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function gmdate(string $format, ?int $timestamp = null): string + public static function gmdate($format, $timestamp = null) { - return \gmdate($format, $timestamp ?? \time()); + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $format = (string) $format; + } + if (!\is_null($timestamp)) { + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($timestamp) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + } + $phabelReturn = \gmdate($format, isset($timestamp) ? $timestamp : \time()); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function gmstrftime(string $format, ?int $timestamp = null): string|bool + public static function gmstrftime($format, $timestamp = null) { - return \gmstrftime($format, $timestamp ?? \time()); + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $format = (string) $format; + } + if (!\is_null($timestamp)) { + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($timestamp) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + } + $phabelReturn = \gmstrftime($format, isset($timestamp) ? $timestamp : \time()); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function idate(string $format, ?int $timestamp = null): int|bool + public static function idate($format, $timestamp = null) { - return \idate($format, $timestamp ?? \time()); + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $format = (string) $format; + } + if (!\is_null($timestamp)) { + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($timestamp) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + } + $phabelReturn = \idate($format, isset($timestamp) ? $timestamp : \time()); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function localtime(?int $timestamp = null, bool $associative = false): array + public static function localtime($timestamp = null, $associative = false) { - return \localtime($timestamp ?? \time(), $associative); + if (!\is_null($timestamp)) { + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($timestamp) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + } + if (!\is_bool($associative)) { + if (!(\is_bool($associative) || \is_numeric($associative) || \is_string($associative))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($associative) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($associative) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $associative = (bool) $associative; + } + $phabelReturn = \localtime(isset($timestamp) ? $timestamp : \time(), $associative); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function strftime(string $format, ?int $timestamp = null): string|bool + public static function strftime($format, $timestamp = null) { - return \strftime($format, $timestamp ?? \time()); + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $format = (string) $format; + } + if (!\is_null($timestamp)) { + if (!\is_int($timestamp)) { + if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($timestamp) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timestamp = (int) $timestamp; + } + } + $phabelReturn = \strftime($format, isset($timestamp) ? $timestamp : \time()); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function strtotime(string $datetime, ?int $baseTimestamp = null): int|bool + public static function strtotime($datetime, $baseTimestamp = null) { - return \strtotime($datetime, $baseTimestamp ?? \time()); + if (!\is_string($datetime)) { + if (!(\is_string($datetime) || \is_object($datetime) && \method_exists($datetime, '__toString') || (\is_bool($datetime) || \is_numeric($datetime)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($datetime) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($datetime) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $datetime = (string) $datetime; + } + if (!\is_null($baseTimestamp)) { + if (!\is_int($baseTimestamp)) { + if (!(\is_bool($baseTimestamp) || \is_numeric($baseTimestamp))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($baseTimestamp) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($baseTimestamp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $baseTimestamp = (int) $baseTimestamp; + } + } + $phabelReturn = \strtotime($datetime, isset($baseTimestamp) ? $baseTimestamp : \time()); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function error_reporting(?int $error_level = null): int + public static function error_reporting($error_level = null) { - return $error_level === null ? \error_reporting() : \error_reporting($error_level); + if (!\is_null($error_level)) { + if (!\is_int($error_level)) { + if (!(\is_bool($error_level) || \is_numeric($error_level))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($error_level) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($error_level) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $error_level = (int) $error_level; + } + } + $phabelReturn = $error_level === null ? \error_reporting() : \error_reporting($error_level); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - public static function hash_update_file($context, string $filename, $stream_context = null): bool + public static function hash_update_file($context, $filename, $stream_context = null) { - return $stream_context ? \hash_update_file($context, $filename, $stream_context) : \hash_update_file($context, $filename); + if (!\is_string($filename)) { + if (!(\is_string($filename) || \is_object($filename) && \method_exists($filename, '__toString') || (\is_bool($filename) || \is_numeric($filename)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($filename) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($filename) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $filename = (string) $filename; + } + $phabelReturn = $stream_context ? \hash_update_file($context, $filename, $stream_context) : \hash_update_file($context, $filename); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public static function iconv_mime_decode_headers(string $headers, int $mode = 0, ?string $encoding = null): array|false + public static function iconv_mime_decode_headers($headers, $mode = 0, $encoding = null) { - return \iconv_mime_decode_headers($headers, $mode, $encoding ?? \iconv_get_encoding('internal_encoding')); + if (!\is_string($headers)) { + if (!(\is_string($headers) || \is_object($headers) && \method_exists($headers, '__toString') || (\is_bool($headers) || \is_numeric($headers)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($headers) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($headers) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $headers = (string) $headers; + } + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $mode = (int) $mode; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $phabelReturn = \iconv_mime_decode_headers($headers, $mode, isset($encoding) ? $encoding : \iconv_get_encoding('internal_encoding')); + if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function iconv_mime_decode(string $string, int $mode = 0, ?string $encoding = null): string|bool + public static function iconv_mime_decode($string, $mode = 0, $encoding = null) { - return \iconv_mime_decode($string, $mode, $encoding ?? \iconv_get_encoding('internal_encoding')); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $mode = (int) $mode; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $phabelReturn = \iconv_mime_decode($string, $mode, isset($encoding) ? $encoding : \iconv_get_encoding('internal_encoding')); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function iconv_strlen(string $string, ?string $encoding = null): int|bool + public static function iconv_strlen($string, $encoding = null) { - return \iconv_strlen($string, $encoding ?? \iconv_get_encoding('internal_encoding')); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $phabelReturn = \iconv_strlen($string, isset($encoding) ? $encoding : \iconv_get_encoding('internal_encoding')); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function iconv_strpos(string $haystack, string $needle, int $offset = 0, ?string $encoding = null): int|bool + public static function iconv_strpos($haystack, $needle, $offset = 0, $encoding = null) { - return \iconv_strpos($haystack, $needle, $offset, $encoding ?? \iconv_get_encoding('internal_encoding')); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $phabelReturn = \iconv_strpos($haystack, $needle, $offset, isset($encoding) ? $encoding : \iconv_get_encoding('internal_encoding')); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function iconv_strrpos(string $haystack, string $needle, ?string $encoding = null): int|bool + public static function iconv_strrpos($haystack, $needle, $encoding = null) { - return \iconv_strrpos($haystack, $needle, $encoding ?? \iconv_get_encoding('internal_encoding')); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $phabelReturn = \iconv_strrpos($haystack, $needle, isset($encoding) ? $encoding : \iconv_get_encoding('internal_encoding')); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function iconv_substr(string $string, int $offset, ?int $length = null, ?string $encoding = null): string|bool + public static function iconv_substr($string, $offset, $length = null, $encoding = null) { - return \iconv_substr($string, $offset, $length, $encoding ?? \iconv_get_encoding('internal_encoding')); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $phabelReturn = \iconv_substr($string, $offset, $length, isset($encoding) ? $encoding : \iconv_get_encoding('internal_encoding')); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function get_resources(?string $type = null): array + public static function get_resources($type = null) { - return $type === null ? \get_resources() : \get_resources($type); + if (!\is_null($type)) { + if (!\is_string($type)) { + if (!(\is_string($type) || \is_object($type) && \method_exists($type, '__toString') || (\is_bool($type) || \is_numeric($type)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $type = (string) $type; + } + } + $phabelReturn = $type === null ? \get_resources() : \get_resources($type); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function mhash(int $algo, string $data, ?string $key = null): string|bool + public static function mhash($algo, $data, $key = null) { - return $key === null ? \mhash($algo, $data) : \mhash($algo, $data); + if (!\is_int($algo)) { + if (!(\is_bool($algo) || \is_numeric($algo))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($algo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($algo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $algo = (int) $algo; + } + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $data = (string) $data; + } + if (!\is_null($key)) { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($key) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $key = (string) $key; + } + } + $phabelReturn = $key === null ? \mhash($algo, $data) : \mhash($algo, $data); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function ignore_user_abort(?bool $enable = null): int + public static function ignore_user_abort($enable = null) { - return $enable === null ? \ignore_user_abort() : \ignore_user_abort($enable); + if (!\is_null($enable)) { + if (!\is_bool($enable)) { + if (!(\is_bool($enable) || \is_numeric($enable) || \is_string($enable))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($enable) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($enable) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $enable = (bool) $enable; + } + } + $phabelReturn = $enable === null ? \ignore_user_abort() : \ignore_user_abort($enable); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - public static function fsockopen(string $hostname, int $port = -1, int &$error_code = null, string &$error_message = null, ?float $timeout = null) + public static function fsockopen($hostname, $port = -1, &$error_code = null, &$error_message = null, $timeout = null) { + if (!\is_string($hostname)) { + if (!(\is_string($hostname) || \is_object($hostname) && \method_exists($hostname, '__toString') || (\is_bool($hostname) || \is_numeric($hostname)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($hostname) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($hostname) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $hostname = (string) $hostname; + } + if (!\is_int($port)) { + if (!(\is_bool($port) || \is_numeric($port))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($port) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($port) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $port = (int) $port; + } + if (!\is_null($error_code)) { + if (!\is_int($error_code)) { + if (!(\is_bool($error_code) || \is_numeric($error_code))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($error_code) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($error_code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $error_code = (int) $error_code; + } + } + if (!\is_null($error_message)) { + if (!\is_string($error_message)) { + if (!(\is_string($error_message) || \is_object($error_message) && \method_exists($error_message, '__toString') || (\is_bool($error_message) || \is_numeric($error_message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($error_message) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($error_message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $error_message = (string) $error_message; + } + } + if (!\is_null($timeout)) { + if (!\is_float($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($timeout) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $timeout = (float) $timeout; + } + } return $timeout === null ? \fsockopen($hostname, $port, $error_code, $error_message) : \fsockopen($hostname, $port, $error_code, $error_message); } - public static function ob_implicit_flush(bool $flag = true): void + public static function ob_implicit_flush($flag = true) { + if (!\is_bool($flag)) { + if (!(\is_bool($flag) || \is_numeric($flag) || \is_string($flag))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($flag) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flag) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $flag = (bool) $flag; + } \ob_implicit_flush((int) $flag); } - public static function password_hash(string $password, string|int|null $algo, array $options = []): string + public static function password_hash($password, $algo, array $options = []) { - return \password_hash($password, $algo ?? PASSWORD_DEFAULT, $options); + if (!\is_string($password)) { + if (!(\is_string($password) || \is_object($password) && \method_exists($password, '__toString') || (\is_bool($password) || \is_numeric($password)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($password) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($password) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $password = (string) $password; + } + if (!\is_null($algo)) { + if (!\is_int($algo)) { + if (!(\is_bool($algo) || \is_numeric($algo))) { + if (!\is_string($algo)) { + if (!(\is_string($algo) || \is_object($algo) && \method_exists($algo, '__toString') || (\is_bool($algo) || \is_numeric($algo)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($algo) must be of type string|int|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($algo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $algo = (string) $algo; + } + } else { + $algo = (int) $algo; + } + } + } + $phabelReturn = \password_hash($password, isset($algo) ? $algo : PASSWORD_DEFAULT, $options); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function pcntl_async_signals(?bool $enable = null): bool + public static function pcntl_async_signals($enable = null) { - return $enable === null ? \pcntl_async_signals() : \pcntl_async_signals($enable); + if (!\is_null($enable)) { + if (!\is_bool($enable)) { + if (!(\is_bool($enable) || \is_numeric($enable) || \is_string($enable))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($enable) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($enable) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $enable = (bool) $enable; + } + } + $phabelReturn = $enable === null ? \pcntl_async_signals() : \pcntl_async_signals($enable); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public static function pcntl_getpriority(?int $process_id = null, int $mode = PRIO_PROCESS): int|bool + public static function pcntl_getpriority($process_id = null, $mode = PRIO_PROCESS) { - return \pcntl_getpriority($process_id ?? \getmypid(), $mode); + if (!\is_null($process_id)) { + if (!\is_int($process_id)) { + if (!(\is_bool($process_id) || \is_numeric($process_id))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($process_id) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($process_id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $process_id = (int) $process_id; + } + } + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $mode = (int) $mode; + } + $phabelReturn = \pcntl_getpriority(isset($process_id) ? $process_id : \getmypid(), $mode); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function pcntl_setpriority(int $priority, ?int $process_id = null, int $mode = PRIO_PROCESS): bool + public static function pcntl_setpriority($priority, $process_id = null, $mode = PRIO_PROCESS) { - return \pcntl_setpriority($priority, $process_id ?? \getmypid(), $mode); + if (!\is_int($priority)) { + if (!(\is_bool($priority) || \is_numeric($priority))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($priority) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($priority) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $priority = (int) $priority; + } + if (!\is_null($process_id)) { + if (!\is_int($process_id)) { + if (!(\is_bool($process_id) || \is_numeric($process_id))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($process_id) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($process_id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $process_id = (int) $process_id; + } + } + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($mode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $mode = (int) $mode; + } + $phabelReturn = \pcntl_setpriority($priority, isset($process_id) ? $process_id : \getmypid(), $mode); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public static function readline_info(?string $var_name = null, int|string|bool|null $value = null) + public static function readline_info($var_name = null, $value = null) { + if (!\is_null($var_name)) { + if (!\is_string($var_name)) { + if (!(\is_string($var_name) || \is_object($var_name) && \method_exists($var_name, '__toString') || (\is_bool($var_name) || \is_numeric($var_name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($var_name) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($var_name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $var_name = (string) $var_name; + } + } + if (!(\is_null($value) || \is_null($value))) { + if (!\is_bool($value)) { + if (!(\is_bool($value) || \is_numeric($value) || \is_string($value))) { + if (!\is_string($value)) { + if (!(\is_string($value) || \is_object($value) && \method_exists($value, '__toString') || (\is_bool($value) || \is_numeric($value)))) { + if (!\is_int($value)) { + if (!(\is_bool($value) || \is_numeric($value))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($value) must be of type ?int|string|bool|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($value) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $value = (int) $value; + } + } else { + $value = (string) $value; + } + } + } else { + $value = (bool) $value; + } + } + } return $var_name === null && $value === null ? \readline_info() : \readline_info($var_name, $value); } - public static function readline_read_history(?string $filename = null): bool + public static function readline_read_history($filename = null) { - return $filename === null ? \readline_read_history() : \readline_read_history($filename); + if (!\is_null($filename)) { + if (!\is_string($filename)) { + if (!(\is_string($filename) || \is_object($filename) && \method_exists($filename, '__toString') || (\is_bool($filename) || \is_numeric($filename)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($filename) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($filename) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $filename = (string) $filename; + } + } + $phabelReturn = $filename === null ? \readline_read_history() : \readline_read_history($filename); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public static function readline_write_history(?string $filename = null): bool + public static function readline_write_history($filename = null) { - return $filename === null ? \readline_read_history() : \readline_write_history($filename); + if (!\is_null($filename)) { + if (!\is_string($filename)) { + if (!(\is_string($filename) || \is_object($filename) && \method_exists($filename, '__toString') || (\is_bool($filename) || \is_numeric($filename)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($filename) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($filename) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $filename = (string) $filename; + } + } + $phabelReturn = $filename === null ? \readline_read_history() : \readline_write_history($filename); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public static function session_cache_expire(?int $value = null): int|bool + public static function session_cache_expire($value = null) { - return $value === null ? \session_cache_expire() : \session_cache_expire($value); + if (!\is_null($value)) { + if (!\is_int($value)) { + if (!(\is_bool($value) || \is_numeric($value))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($value) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($value) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $value = (int) $value; + } + } + $phabelReturn = $value === null ? \session_cache_expire() : \session_cache_expire($value); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function session_cache_limiter(?string $value = null): string|bool + public static function session_cache_limiter($value = null) { - return $value === null ? \session_cache_limiter() : \session_cache_limiter($value); + if (!\is_null($value)) { + if (!\is_string($value)) { + if (!(\is_string($value) || \is_object($value) && \method_exists($value, '__toString') || (\is_bool($value) || \is_numeric($value)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($value) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($value) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $value = (string) $value; + } + } + $phabelReturn = $value === null ? \session_cache_limiter() : \session_cache_limiter($value); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function session_id(?string $id = null): string|bool + public static function session_id($id = null) { - return $id === null ? \session_id() : \session_id($id); + if (!\is_null($id)) { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $id = (string) $id; + } + } + $phabelReturn = $id === null ? \session_id() : \session_id($id); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function session_module_name(?string $module = null): string|bool + public static function session_module_name($module = null) { - return $module === null ? \session_module_name() : \session_module_name($module); + if (!\is_null($module)) { + if (!\is_string($module)) { + if (!(\is_string($module) || \is_object($module) && \method_exists($module, '__toString') || (\is_bool($module) || \is_numeric($module)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($module) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($module) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $module = (string) $module; + } + } + $phabelReturn = $module === null ? \session_module_name() : \session_module_name($module); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function session_name(?string $name = null): string|bool + public static function session_name($name = null) { - return $name === null ? \session_name() : \session_name($name); + if (!\is_null($name)) { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $name = (string) $name; + } + } + $phabelReturn = $name === null ? \session_name() : \session_name($name); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function session_save_path(?string $path = null): string|bool + public static function session_save_path($path = null) { - return $path === null ? \session_save_path() : \session_save_path($path); + if (!\is_null($path)) { + if (!\is_string($path)) { + if (!(\is_string($path) || \is_object($path) && \method_exists($path, '__toString') || (\is_bool($path) || \is_numeric($path)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($path) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($path) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $path = (string) $path; + } + } + $phabelReturn = $path === null ? \session_save_path() : \session_save_path($path); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; } - public static function session_set_cookie_params(int|array $lifetime_or_options, ?string $path = null, ?string $domain = null, ?bool $secure = null, ?bool $httponly = null): bool + public static function session_set_cookie_params($lifetime_or_options, $path = null, $domain = null, $secure = null, $httponly = null) { - return \is_array($lifetime_or_options) ? \session_set_cookie_params($lifetime_or_options) : \session_set_cookie_params(\array_filter(['lifetime' => $lifetime_or_options, 'path' => $path, 'domain' => $domain, 'secure' => $secure, 'httponly' => $httponly])); + if (!\is_array($lifetime_or_options)) { + if (!\is_int($lifetime_or_options)) { + if (!(\is_bool($lifetime_or_options) || \is_numeric($lifetime_or_options))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($lifetime_or_options) must be of type int|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($lifetime_or_options) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $lifetime_or_options = (int) $lifetime_or_options; + } + } + if (!\is_null($path)) { + if (!\is_string($path)) { + if (!(\is_string($path) || \is_object($path) && \method_exists($path, '__toString') || (\is_bool($path) || \is_numeric($path)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($path) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($path) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $path = (string) $path; + } + } + if (!\is_null($domain)) { + if (!\is_string($domain)) { + if (!(\is_string($domain) || \is_object($domain) && \method_exists($domain, '__toString') || (\is_bool($domain) || \is_numeric($domain)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($domain) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($domain) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $domain = (string) $domain; + } + } + if (!\is_null($secure)) { + if (!\is_bool($secure)) { + if (!(\is_bool($secure) || \is_numeric($secure) || \is_string($secure))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($secure) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($secure) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $secure = (bool) $secure; + } + } + if (!\is_null($httponly)) { + if (!\is_bool($httponly)) { + if (!(\is_bool($httponly) || \is_numeric($httponly) || \is_string($httponly))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($httponly) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($httponly) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $httponly = (bool) $httponly; + } + } + $phabelReturn = \is_array($lifetime_or_options) ? \session_set_cookie_params($lifetime_or_options) : \session_set_cookie_params(\array_filter(['lifetime' => $lifetime_or_options, 'path' => $path, 'domain' => $domain, 'secure' => $secure, 'httponly' => $httponly])); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public static function spl_autoload_extensions(?string $file_extensions = null): string + public static function spl_autoload_extensions($file_extensions = null) { - return $file_extensions === null ? \spl_autoload_extensions() : \spl_autoload_extensions($file_extensions); + if (!\is_null($file_extensions)) { + if (!\is_string($file_extensions)) { + if (!(\is_string($file_extensions) || \is_object($file_extensions) && \method_exists($file_extensions, '__toString') || (\is_bool($file_extensions) || \is_numeric($file_extensions)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file_extensions) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file_extensions) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file_extensions = (string) $file_extensions; + } + } + $phabelReturn = $file_extensions === null ? \spl_autoload_extensions() : \spl_autoload_extensions($file_extensions); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function spl_autoload_register(?callable $callback = null, bool $throw = true, bool $prepend = false): bool + public static function spl_autoload_register($callback = null, $throw = true, $prepend = false) { - return \spl_autoload_register($callback ?? 'spl_autoload', $throw, $prepend); + if (!(\is_callable($callback) || \is_null($callback))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($callback) must be of type ?callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($callback) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_bool($throw)) { + if (!(\is_bool($throw) || \is_numeric($throw) || \is_string($throw))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($throw) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($throw) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $throw = (bool) $throw; + } + if (!\is_bool($prepend)) { + if (!(\is_bool($prepend) || \is_numeric($prepend) || \is_string($prepend))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($prepend) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prepend) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $prepend = (bool) $prepend; + } + $phabelReturn = \spl_autoload_register(isset($callback) ? $callback : 'spl_autoload', $throw, $prepend); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } - public static function spl_autoload(string $class, ?string $file_extensions = null): void + public static function spl_autoload($class, $file_extensions = null) { + if (!\is_string($class)) { + if (!(\is_string($class) || \is_object($class) && \method_exists($class, '__toString') || (\is_bool($class) || \is_numeric($class)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($class) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($class) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $class = (string) $class; + } + if (!\is_null($file_extensions)) { + if (!\is_string($file_extensions)) { + if (!(\is_string($file_extensions) || \is_object($file_extensions) && \method_exists($file_extensions, '__toString') || (\is_bool($file_extensions) || \is_numeric($file_extensions)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($file_extensions) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file_extensions) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file_extensions = (string) $file_extensions; + } + } $file_extensions === null ? \spl_autoload($class) : \spl_autoload($class, $file_extensions); } - public static function html_entity_decode(string $string, int $flags = ENT_COMPAT, ?string $encoding = null): string + public static function html_entity_decode($string, $flags = ENT_COMPAT, $encoding = null) { - return \html_entity_decode($string, $flags, $encoding ?? Tools::ini_get('default_charset')); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($flags) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $flags = (int) $flags; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + $phabelReturn = \html_entity_decode($string, $flags, isset($encoding) ? $encoding : Tools::ini_get('default_charset')); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function htmlentities(string $string, int $flags = ENT_COMPAT, ?string $encoding = null, bool $double_encode = true): string + public static function htmlentities($string, $flags = ENT_COMPAT, $encoding = null, $double_encode = true) { - return \htmlentities($string, $flags, $encoding ?? Tools::ini_get('default_charset'), $double_encode); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($flags) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $flags = (int) $flags; + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $encoding = (string) $encoding; + } + } + if (!\is_bool($double_encode)) { + if (!(\is_bool($double_encode) || \is_numeric($double_encode) || \is_string($double_encode))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($double_encode) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($double_encode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $double_encode = (bool) $double_encode; + } + $phabelReturn = \htmlentities($string, $flags, isset($encoding) ? $encoding : Tools::ini_get('default_charset'), $double_encode); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int + public static function str_word_count($string, $format = 0, $characters = null) { - return $format === null ? \str_word_count($string, $format) : \str_word_count($string, $format, $characters); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($format)) { + if (!(\is_bool($format) || \is_numeric($format))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($format) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $format = (int) $format; + } + if (!\is_null($characters)) { + if (!\is_string($characters)) { + if (!(\is_string($characters) || \is_object($characters) && \method_exists($characters, '__toString') || (\is_bool($characters) || \is_numeric($characters)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($characters) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($characters) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $characters = (string) $characters; + } + } + $phabelReturn = $format === null ? \str_word_count($string, $format) : \str_word_count($string, $format, $characters); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; } - public static function strcspn(string $string, string $characters, int $offset = 0, ?int $length = null): int + public static function strcspn($string, $characters, $offset = 0, $length = null) { - return $length === null ? \strcspn($string, $characters, $offset) : \strcspn($string, $characters, $offset, $length); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_string($characters)) { + if (!(\is_string($characters) || \is_object($characters) && \method_exists($characters, '__toString') || (\is_bool($characters) || \is_numeric($characters)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($characters) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($characters) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $characters = (string) $characters; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } + $phabelReturn = $length === null ? \strcspn($string, $characters, $offset) : \strcspn($string, $characters, $offset, $length); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - public static function strip_tags(string $string, array|string|null $allowed_tags = null): string + public static function strip_tags($string, $allowed_tags = null) { - return $allowed_tags === null ? \strip_tags($string) : \strip_tags($string, $allowed_tags); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!(\is_null($allowed_tags) || \is_null($allowed_tags))) { + if (!\is_string($allowed_tags)) { + if (!(\is_string($allowed_tags) || \is_object($allowed_tags) && \method_exists($allowed_tags, '__toString') || (\is_bool($allowed_tags) || \is_numeric($allowed_tags)))) { + if (!\is_array($allowed_tags)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($allowed_tags) must be of type ?array|string|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($allowed_tags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $allowed_tags = (string) $allowed_tags; + } + } + } + $phabelReturn = $allowed_tags === null ? \strip_tags($string) : \strip_tags($string, $allowed_tags); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } - public static function strspn(string $string, string $characters, int $offset = 0, ?int $length = null): int + public static function strspn($string, $characters, $offset = 0, $length = null) { - return $length === null ? \strspn($string, $characters, $offset) : \strspn($string, $characters, $offset, $length); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_string($characters)) { + if (!(\is_string($characters) || \is_object($characters) && \method_exists($characters, '__toString') || (\is_bool($characters) || \is_numeric($characters)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($characters) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($characters) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $characters = (string) $characters; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } + $phabelReturn = $length === null ? \strspn($string, $characters, $offset) : \strspn($string, $characters, $offset, $length); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - public static function substr_compare(string $haystack, string $needle, int $offset, ?int $length = null, bool $case_insensitive = false): int + public static function substr_compare($haystack, $needle, $offset, $length = null, $case_insensitive = false) { - return \substr_compare($haystack, $needle, $offset, $length ?? \max(\strlen($needle), \strlen($haystack) - ($offset < 0 ? \strlen($haystack) + $offset : $offset)), $case_insensitive); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } + if (!\is_bool($case_insensitive)) { + if (!(\is_bool($case_insensitive) || \is_numeric($case_insensitive) || \is_string($case_insensitive))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($case_insensitive) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($case_insensitive) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $case_insensitive = (bool) $case_insensitive; + } + $phabelReturn = \substr_compare($haystack, $needle, $offset, isset($length) ? $length : \max(\strlen($needle), \strlen($haystack) - ($offset < 0 ? \strlen($haystack) + $offset : $offset)), $case_insensitive); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - public static function substr_count(string $haystack, string $needle, int $offset = 0, ?int $length = null): int + public static function substr_count($haystack, $needle, $offset = 0, $length = null) { - return $length === null ? \substr_count($haystack, $needle, $offset) : \substr_count($haystack, $needle, $offset, $length); + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $haystack = (string) $haystack; + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $needle = (string) $needle; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } + $phabelReturn = $length === null ? \substr_count($haystack, $needle, $offset) : \substr_count($haystack, $needle, $offset, $length); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } - public static function substr_replace(array|string $string, array|string $replace, array|int $offset, array|int|null $length = null): string|array + public static function substr_replace($string, $replace, $offset, $length = null) { - return $length === null ? \substr_replace($string, $replace, $offset) : \substr_replace($string, $replace, $offset, $length); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + if (!\is_array($string)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type array|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $string = (string) $string; + } + } + if (!\is_string($replace)) { + if (!(\is_string($replace) || \is_object($replace) && \method_exists($replace, '__toString') || (\is_bool($replace) || \is_numeric($replace)))) { + if (!\is_array($replace)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($replace) must be of type array|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($replace) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $replace = (string) $replace; + } + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + if (!\is_array($offset)) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type array|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $offset = (int) $offset; + } + } + if (!(\is_null($length) || \is_null($length))) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + if (!\is_array($length)) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($length) must be of type ?array|int|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $length = (int) $length; + } + } + } + $phabelReturn = $length === null ? \substr_replace($string, $replace, $offset) : \substr_replace($string, $replace, $offset, $length); + if (!\is_array($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; } - public static function substr(string $string, int $offset, ?int $length = null): string + public static function substr($string, $offset, $length = null) { - return $length === null ? \substr($string, $offset) : \substr($string, $offset, $length); + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $string = (string) $string; + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $offset = (int) $offset; + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $length = (int) $length; + } + } + $phabelReturn = $length === null ? \substr($string, $offset) : \substr($string, $offset, $length); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * {@inheritDoc} */ - public static function withNext(array $config): array + public static function withNext(array $config) { - return [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php80/StaticReplacer.php b/src/Target/Php80/StaticReplacer.php index 2a386b50b..f95f9d5a4 100644 --- a/src/Target/Php80/StaticReplacer.php +++ b/src/Target/Php80/StaticReplacer.php @@ -13,8 +13,12 @@ */ class StaticReplacer extends Plugin { - public static function previous(array $config): array + public static function previous(array $config) { - return [TypeHintReplacer::class => ['types' => ['static']]]; + $phabelReturn = [TypeHintReplacer::class => ['types' => ['static']]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Target/Php80/ThrowExprReplacer.php b/src/Target/Php80/ThrowExprReplacer.php index 5b807c011..1b723950d 100644 --- a/src/Target/Php80/ThrowExprReplacer.php +++ b/src/Target/Php80/ThrowExprReplacer.php @@ -11,11 +11,15 @@ */ class ThrowExprReplacer extends Plugin { - public function enter(ExprThrow_ $throw): StaticCall + public function enter(ExprThrow_ $throw) { - return self::callPoly('throwMe', $throw->expr); + $phabelReturn = self::callPoly('throwMe', $throw->expr); + if (!$phabelReturn instanceof StaticCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - public static function throwMe(\Throwable $expr): void + public static function throwMe(\Throwable $expr) { throw $expr; } diff --git a/src/Target/Php80/UnionTypeStripper.php b/src/Target/Php80/UnionTypeStripper.php index 36c784e3c..533101a07 100644 --- a/src/Target/Php80/UnionTypeStripper.php +++ b/src/Target/Php80/UnionTypeStripper.php @@ -13,8 +13,12 @@ class UnionTypeStripper extends Plugin /** * {@inheritDoc} */ - public static function previous(array $config): array + public static function previous(array $config) { - return [TypeHintReplacer::class => ['union' => true]]; + $phabelReturn = [TypeHintReplacer::class => ['union' => true]]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Tasks/Init.php b/src/Tasks/Init.php index 116612d93..532ec434e 100644 --- a/src/Tasks/Init.php +++ b/src/Tasks/Init.php @@ -18,15 +18,48 @@ public function run(Environment $environment) if (\function_exists("cli_set_process_title")) { try { @\cli_set_process_title("Phabel - PHP transpiler worker"); - } catch (\Throwable $e) { + } catch (\Exception $e) { + } catch (\Error $e) { } } - \set_error_handler(function (int $errno = 0, string $errstr = '', string $errfile = '', int $errline = -1): bool { + \set_error_handler(function ($errno = 0, $errstr = '', $errfile = '', $errline = -1) { + if (!\is_int($errno)) { + if (!(\is_bool($errno) || \is_numeric($errno))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($errno) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errno) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $errno = (int) $errno; + } + if (!\is_string($errstr)) { + if (!(\is_string($errstr) || \is_object($errstr) && \method_exists($errstr, '__toString') || (\is_bool($errstr) || \is_numeric($errstr)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($errstr) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errstr) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $errstr = (string) $errstr; + } + if (!\is_string($errfile)) { + if (!(\is_string($errfile) || \is_object($errfile) && \method_exists($errfile, '__toString') || (\is_bool($errfile) || \is_numeric($errfile)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($errfile) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errfile) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $errfile = (string) $errfile; + } + if (!\is_int($errline)) { + if (!(\is_bool($errline) || \is_numeric($errline))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($errline) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $errline = (int) $errline; + } // If error is suppressed with @, don't throw an exception if (\error_reporting() === 0) { - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } throw new Exception($errstr, $errno, null, $errfile, $errline); + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); }); $environment->set(Traverser::class, (new Traverser())->setGraph($this->graph)); } diff --git a/src/Tasks/Run.php b/src/Tasks/Run.php index 4818d1d8a..755b9ebbb 100644 --- a/src/Tasks/Run.php +++ b/src/Tasks/Run.php @@ -9,8 +9,40 @@ class Run implements Task { - public function __construct(private string $relative, private string $input, private string $output, private ?string $package, private string $coverage) + public function __construct(private $relative, private $input, private $output, private $package, private $coverage) { + if (!\is_string($relative)) { + if (!(\is_string($relative) || \is_object($relative) && \method_exists($relative, '__toString') || (\is_bool($relative) || \is_numeric($relative)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($relative) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($relative) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $relative = (string) $relative; + } + if (!\is_string($input)) { + if (!(\is_string($input) || \is_object($input) && \method_exists($input, '__toString') || (\is_bool($input) || \is_numeric($input)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($input) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($input) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $input = (string) $input; + } + if (!\is_string($output)) { + if (!(\is_string($output) || \is_object($output) && \method_exists($output, '__toString') || (\is_bool($output) || \is_numeric($output)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($output) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($output) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $output = (string) $output; + } + if (!\is_null($package)) { + if (!\is_string($package)) { + if (!(\is_string($package) || \is_object($package) && \method_exists($package, '__toString') || (\is_bool($package) || \is_numeric($package)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($package) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($package) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $package = (string) $package; + } + } + if (!\is_string($coverage)) { + if (!(\is_string($coverage) || \is_object($coverage) && \method_exists($coverage, '__toString') || (\is_bool($coverage) || \is_numeric($coverage)))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($coverage) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($coverage) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $coverage = (string) $coverage; + } } public function run(Environment $environment) { @@ -20,7 +52,9 @@ public function run(Environment $environment) $traverser = $environment->get(Traverser::class); $traverser->setPackage($this->package); return $traverser->traverse($this->relative, $this->input, $this->output); - } catch (\Throwable $e) { + } catch (\Exception $e) { + return new ExceptionWrapper($e); + } catch (\Error $e) { return new ExceptionWrapper($e); } } diff --git a/src/Tools.php b/src/Tools.php index 036c0a0e1..4e90e43b9 100644 --- a/src/Tools.php +++ b/src/Tools.php @@ -57,17 +57,39 @@ abstract class Tools * * @return Node */ - public static function replaceType(Node $node, string $class, array $propertyMap = []): Node + public static function replaceType(Node $node, $class, array $propertyMap = []) { + if (!\is_string($class)) { + if (!(\is_string($class) || \is_object($class) && \method_exists($class, '__toString') || (\is_bool($class) || \is_numeric($class)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($class) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($class) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $class = (string) $class; + } if ($propertyMap) { $nodeNew = (new ReflectionClass($class))->newInstanceWithoutConstructor(); foreach ($propertyMap as $old => $new) { $nodeNew->{$new} = $node->{$old}; } $nodeNew->setAttributes($node->getAttributes()); - return $nodeNew; + $phabelReturn = $nodeNew; + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - return new $class(...[...\array_map(fn (string $name) => $node->{$name}, $node->getSubNodeNames()), $node->getAttributes()]); + $phabelReturn = new $class(...\array_merge(\array_map(function ($name) use ($node) { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $name = (string) $name; + } + return $node->{$name}; + }, $node->getSubNodeNames()), [$node->getAttributes()])); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Replace type in-place. @@ -83,8 +105,14 @@ public static function replaceType(Node $node, string $class, array $propertyMap * * @return void */ - public static function replaceTypeInPlace(Node &$node, string $class, array $propertyMap = []): void + public static function replaceTypeInPlace(Node &$node, $class, array $propertyMap = []) { + if (!\is_string($class)) { + if (!(\is_string($class) || \is_object($class) && \method_exists($class, '__toString') || (\is_bool($class) || \is_numeric($class)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($class) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($class) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $class = (string) $class; + } $node = self::replaceType($node, $class, $propertyMap); } /** @@ -95,9 +123,13 @@ public static function replaceTypeInPlace(Node &$node, string $class, array $pro * * @return Expression */ - public static function assign(Variable $name, Expr $expression): Expression + public static function assign(Variable $name, Expr $expression) { - return new Expression(new Assign($name, $expression)); + $phabelReturn = new Expression(new Assign($name, $expression)); + if (!$phabelReturn instanceof Expression) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expression, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Call function. @@ -114,7 +146,9 @@ public static function assign(Variable $name, Expr $expression): Expression */ public static function call($name, ...$parameters) { - $parameters = \array_map(fn ($data) => ($data instanceof Arg ? $data : new Arg($data)), $parameters); + $parameters = \array_map(function ($data) { + return $data instanceof Arg ? $data : new Arg($data); + }, $parameters); return \is_array($name) ? new StaticCall(new FullyQualified($name[0]), $name[1], $parameters) : new FuncCall(new FullyQualified($name), $parameters); } /** @@ -126,10 +160,22 @@ public static function call($name, ...$parameters) * * @return MethodCall */ - public static function callMethod(Expr $name, string $method, ...$parameters): MethodCall + public static function callMethod(Expr $name, $method, ...$parameters) { - $parameters = \array_map(fn ($data) => ($data instanceof Arg ? $data : new Arg($data)), $parameters); - return new MethodCall($name, $method, $parameters); + if (!\is_string($method)) { + if (!(\is_string($method) || \is_object($method) && \method_exists($method, '__toString') || (\is_bool($method) || \is_numeric($method)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($method) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($method) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $method = (string) $method; + } + $parameters = \array_map(function ($data) { + return $data instanceof Arg ? $data : new Arg($data); + }, $parameters); + $phabelReturn = new MethodCall($name, $method, $parameters); + if (!$phabelReturn instanceof MethodCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type MethodCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Convert array, int or other literal to node. @@ -138,9 +184,13 @@ public static function callMethod(Expr $name, string $method, ...$parameters): M * * @return Node */ - public static function fromLiteral($data): Node + public static function fromLiteral($data) { - return self::toNode(\var_export($data, true) . ';'); + $phabelReturn = self::toNode(\var_export($data, true) . ';'); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Convert code to node. @@ -151,13 +201,23 @@ public static function fromLiteral($data): Node * * @return Node */ - public static function toNode(string $code): Node + public static function toNode($code) { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $code = (string) $code; + } $res = (new ParserFactory())->create(ParserFactory::PREFER_PHP7)->parse('expr)) { throw new \RuntimeException('Invalid code was provided!'); } - return $res[0]->expr; + $phabelReturn = $res[0]->expr; + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Check if this node or any child node have any side effects (like calling other methods, or assigning variables). @@ -166,33 +226,71 @@ public static function toNode(string $code): Node * * @return bool */ - public static function hasSideEffects(?Expr $node): bool + public static function hasSideEffects($node) { + if (!($node instanceof Expr || \is_null($node))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($node) must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($node) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } if (!$node) { - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } if ($node->hasAttribute('hasSideEffects') || $node instanceof String_ || $node instanceof ArrayDimFetch || $node instanceof Assign || $node instanceof AssignOp || $node instanceof AssignRef || $node instanceof Clone_ || $node instanceof Eval_ || $node instanceof FuncCall || $node instanceof Include_ || $node instanceof List_ || $node instanceof MethodCall || $node instanceof New_ || $node instanceof NullsafeMethodCall || $node instanceof NullsafePropertyFetch || $node instanceof PostDec || $node instanceof PostInc || $node instanceof PreDec || $node instanceof PreInc || $node instanceof PropertyFetch || $node instanceof StaticCall || $node instanceof Yield_ || $node instanceof YieldFrom || $node instanceof ShellExec) { $node->setAttribute('hasSideEffects', true); - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** @var string */ foreach ($node->getSubNodeNames() as $name) { if ($node->{$name} instanceof Expr) { if (self::hasSideEffects($node->{$name})) { $node->setAttribute('hasSideEffects', true); - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } elseif (\is_array($node->{$name})) { /** @var Node|Node[]|string */ foreach ($node->{$name} as $var) { if ($var instanceof Expr && self::hasSideEffects($var)) { $node->setAttribute('hasSideEffects', true); - return true; + $phabelReturn = true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } } } } - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Get fully qualified name. @@ -202,21 +300,55 @@ public static function hasSideEffects(?Expr $node): bool * * @return class-string */ - public static function getFqdn(Node $node, string $alt = ''): string + public static function getFqdn(Node $node, $alt = '') { + if (!\is_string($alt)) { + if (!(\is_string($alt) || \is_object($alt) && \method_exists($alt, '__toString') || (\is_bool($alt) || \is_numeric($alt)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($alt) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($alt) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $alt = (string) $alt; + } if ($node instanceof FullyQualified) { - return (string) $node; + $phabelReturn = (string) $node; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } if (isset($node->namespacedName)) { - return (string) $node->namespacedName; + $phabelReturn = (string) $node->namespacedName; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } if (!$node->getAttribute('resolvedName')) { if ($alt) { - return $alt; + $phabelReturn = $alt; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } throw new UnresolvedNameException(); } - return (string) $node->getAttribute('resolvedName', $node->getAttribute('namespacedName')); + $phabelReturn = (string) $node->getAttribute('resolvedName', $node->getAttribute('namespacedName')); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Create a new object extended from this object, with the specified additional trait + interface. @@ -229,8 +361,17 @@ public static function getFqdn(Node $node, string $alt = ''): string * * @return object */ - public static function cloneWithTrait(object $obj, string $trait): object + public static function cloneWithTrait($obj, $trait) { + if (!\is_object($obj)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($obj) must be of type object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($obj) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_string($trait)) { + if (!(\is_string($trait) || \is_object($trait) && \method_exists($trait, '__toString') || (\is_bool($trait) || \is_numeric($trait)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($trait) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($trait) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $trait = (string) $trait; + } /** @psalm-var int */ static $count = 0; /** @psalm-var array> $memoized */ @@ -265,7 +406,11 @@ public static function cloneWithTrait(object $obj, string $trait): object } } } while ($reflect = $reflect->getParentClass()); - return $newObj; + $phabelReturn = $newObj; + if (!\is_object($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Checks private property exists in an object. @@ -282,11 +427,34 @@ public static function cloneWithTrait(object $obj, string $trait): object * @return bool * @access public */ - public static function hasVar(object $obj, string $var): bool + public static function hasVar($obj, $var) { - return \Closure::bind(function () use ($var): bool { - return isset($this->{$var}); + if (!\is_object($obj)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($obj) must be of type object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($obj) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_string($var)) { + if (!(\is_string($var) || \is_object($var) && \method_exists($var, '__toString') || (\is_bool($var) || \is_numeric($var)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($var) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($var) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $var = (string) $var; + } + $phabelReturn = \Closure::bind(function () use ($var) { + $phabelReturn = isset($this->{$var}); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; }, $obj, \get_class($obj))->__invoke(); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Accesses a private variable from an object. @@ -301,8 +469,14 @@ public static function hasVar(object $obj, string $var): bool * @return mixed * @access public */ - public static function &getVar($obj, string $var) + public static function &getVar($obj, $var) { + if (!\is_string($var)) { + if (!(\is_string($var) || \is_object($var) && \method_exists($var, '__toString') || (\is_bool($var) || \is_numeric($var)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($var) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($var) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $var = (string) $var; + } return \Closure::bind( /** @return mixed */ function &() use ($var) { @@ -326,8 +500,14 @@ function &() use ($var) { * * @access public */ - public static function setVar($obj, string $var, &$val): void + public static function setVar($obj, $var, &$val) { + if (!\is_string($var)) { + if (!(\is_string($var) || \is_object($var) && \method_exists($var, '__toString') || (\is_bool($var) || \is_numeric($var)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($var) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($var) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $var = (string) $var; + } \Closure::bind(function () use ($var, &$val) { $this->{$var} =& $val; }, $obj, \get_class($obj))->__invoke(); @@ -340,13 +520,27 @@ public static function setVar($obj, string $var, &$val): void * @throws \LogicException * @psalm-suppress ForbiddenCode */ - public static function getCpuCount(): int + public static function getCpuCount() { static $result = -1; if ($result !== -1) { - return $result; + $phabelReturn = $result; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } if (\defined('PHP_WINDOWS_VERSION_MAJOR')) { + $phabelReturn = $result = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } /* $str = trim((string) shell_exec('wmic cpu get NumberOfCores 2>&1')); if (!preg_match('/(\d+)/', $str, $matches)) { @@ -354,13 +548,27 @@ public static function getCpuCount(): int } return ((int) $matches [1]); */ - return $result = 1; + return $phabelReturn; } if (self::ini_get('pcre.jit') === '1' && \PHP_OS === 'Darwin' && \version_compare(\PHP_VERSION, '7.3.0') >= 0 && \version_compare(\PHP_VERSION, '7.4.0') < 0) { - return $result = 1; + $phabelReturn = $result = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } if (!\extension_loaded('pcntl')) { - return $result = 1; + $phabelReturn = $result = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } $has_nproc = \trim((string) @\shell_exec('command -v nproc')); if ($has_nproc) { @@ -369,7 +577,14 @@ public static function getCpuCount(): int $ret = \trim($ret); $tmp = \filter_var($ret, FILTER_VALIDATE_INT); if (\is_int($tmp)) { - return $result = $tmp; + $phabelReturn = $result = $tmp; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } } } @@ -378,17 +593,38 @@ public static function getCpuCount(): int $ret = \trim($ret); $tmp = \filter_var($ret, FILTER_VALIDATE_INT); if (\is_int($tmp)) { - return $result = $tmp; + $phabelReturn = $result = $tmp; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } } if (\is_readable('/proc/cpuinfo')) { $cpuinfo = \file_get_contents('/proc/cpuinfo'); $count = \substr_count($cpuinfo, 'processor'); if ($count > 0) { - return $result = $count; + $phabelReturn = $result = $count; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } } - return $result = 1; + $phabelReturn = $result = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } /** * Safely get value from php.ini. @@ -397,13 +633,20 @@ public static function getCpuCount(): int * @param mixed $default * @return mixed */ - public static function ini_get(string $key, $default = null) + public static function ini_get($key, $default = null) { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $key = (string) $key; + } try { if (\function_exists('ini_get')) { return @\ini_get($key); } - } catch (\Throwable $e) { + } catch (\Exception $e) { + } catch (\Error $e) { } return $default; } diff --git a/src/Traverser.php b/src/Traverser.php index 4ee3f920f..654168754 100644 --- a/src/Traverser.php +++ b/src/Traverser.php @@ -35,43 +35,43 @@ class Traverser * * @var ResolvedGraph */ - private ResolvedGraph $graph; + private $graph; /** * Parser instance. */ - private Parser $parser; + private $parser; /** * Printer instance. */ - private Standard $printer; + private $printer; /** * Plugin queue for specific package. * * @var SplQueue>|null */ - private ?SplQueue $packageQueue = null; + private $packageQueue = null; /** * Event handler. * * @var EventHandlerInterface|null */ - private ?EventHandlerInterface $eventHandler = null; + private $eventHandler = null; /** * Input. * * @var string */ - private string $input = ''; + private $input = ''; /** * Output. * * @var string */ - private string $output = ''; + private $output = ''; /** * File whitelist. */ - private ?array $fileWhitelist = null; + private $fileWhitelist = null; /** * Callable to extract package name from path. * @@ -83,25 +83,25 @@ class Traverser * * @var string */ - private string $coverage = ''; + private $coverage = ''; /** * Current file. */ - private string $file = ''; + private $file = ''; /** * Current input file. */ - private string $inputFile = ''; + private $inputFile = ''; /** * Current output file. */ - private string $outputFile = ''; + private $outputFile = ''; /** * Number of times we traversed directories. * * @var integer */ - private int $count = 0; + private $count = 0; /** * Generate traverser from basic plugin instances. * @@ -109,7 +109,7 @@ class Traverser * * @return self */ - public static function fromPlugin(Plugin ...$plugin): self + public static function fromPlugin(Plugin ...$plugin) { $queue = new SplQueue(); foreach ($plugin as $p) { @@ -119,15 +119,22 @@ public static function fromPlugin(Plugin ...$plugin): self $final->enqueue($queue); $res = new self(); $res->graph = new ResolvedGraph($final); - return $res; + $phabelReturn = $res; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Constructor. * * @param ?EventHandlerInterface $EventHandlerInterface Event handler */ - public function __construct(?EventHandlerInterface $eventHandler = null) + public function __construct($eventHandler = null) { + if (!($eventHandler instanceof EventHandlerInterface || \is_null($eventHandler))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($eventHandler) must be of type ?EventHandlerInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($eventHandler) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } $this->parser = (new ParserFactory())->create(ParserFactory::PREFER_PHP7); $this->printer = new Standard(); $this->eventHandler = $eventHandler; @@ -141,16 +148,20 @@ public function __construct(?EventHandlerInterface $eventHandler = null) * * @return self */ - public function setPlugins(array $plugins): self + public function setPlugins(array $plugins) { - $this->eventHandler?->onBeginPluginGraphResolution(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onBeginPluginGraphResolution(); $graph = new Graph(); foreach ($plugins as $plugin => $config) { $graph->addPlugin($plugin, $config, $graph->getPackageContext()); } $this->graph = $graph->flatten(); - $this->eventHandler?->onEndPluginGraphResolution(); - return $this; + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndPluginGraphResolution(); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Set plugin graph. @@ -159,21 +170,29 @@ public function setPlugins(array $plugins): self * * @return self */ - public function setPluginGraph(Graph $graph): self + public function setPluginGraph(Graph $graph) { - $this->eventHandler?->onBeginPluginGraphResolution(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onBeginPluginGraphResolution(); $this->graph = $graph->flatten(); - $this->eventHandler?->onEndPluginGraphResolution(); - return $this; + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndPluginGraphResolution(); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Get resolved plugin graph. * * @return ResolvedGraph */ - public function getGraph(): ResolvedGraph + public function getGraph() { - return $this->graph; + $phabelReturn = $this->graph; + if (!$phabelReturn instanceof ResolvedGraph) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ResolvedGraph, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Set resolved plugin graph. @@ -182,10 +201,14 @@ public function getGraph(): ResolvedGraph * * @return self */ - public function setGraph(ResolvedGraph $graph): self + public function setGraph(ResolvedGraph $graph) { $this->graph = $graph; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Set input path. @@ -193,13 +216,23 @@ public function setGraph(ResolvedGraph $graph): self * @param string $input * @return self */ - public function setInput(string $input): self + public function setInput($input) { + if (!\is_string($input)) { + if (!(\is_string($input) || \is_object($input) && \method_exists($input, '__toString') || (\is_bool($input) || \is_numeric($input)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($input) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($input) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $input = (string) $input; + } if (!\file_exists($input)) { throw new \RuntimeException("File {$input} does not exist!"); } $this->input = $input; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Set output path. @@ -207,10 +240,20 @@ public function setInput(string $input): self * @param string $output * @return self */ - public function setOutput(string $output): self + public function setOutput($output) { + if (!\is_string($output)) { + if (!(\is_string($output) || \is_object($output) && \method_exists($output, '__toString') || (\is_bool($output) || \is_numeric($output)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($output) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($output) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $output = (string) $output; + } $this->output = $output; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Set callable to extract composer package name from path. @@ -219,10 +262,14 @@ public function setOutput(string $output): self * * @return self */ - public function setComposer(callable $composer): self + public function setComposer(callable $composer) { $this->composerPackageName = $composer; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Set coverage path. @@ -230,10 +277,20 @@ public function setComposer(callable $composer): self * @param string $coverage * @return self */ - public function setCoverage(string $coverage): self + public function setCoverage($coverage) { + if (!\is_string($coverage)) { + if (!(\is_string($coverage) || \is_object($coverage) && \method_exists($coverage, '__toString') || (\is_bool($coverage) || \is_numeric($coverage)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($coverage) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($coverage) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $coverage = (string) $coverage; + } $this->coverage = $coverage; - return $this; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Start code coverage. @@ -242,62 +299,81 @@ public function setCoverage(string $coverage): self * * @return ?object */ - public static function startCoverage(string $coveragePath): ?object + public static function startCoverage($coveragePath) { + if (!\is_string($coveragePath)) { + if (!(\is_string($coveragePath) || \is_object($coveragePath) && \method_exists($coveragePath, '__toString') || (\is_bool($coveragePath) || \is_numeric($coveragePath)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($coveragePath) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($coveragePath) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $coveragePath = (string) $coveragePath; + } if (!$coveragePath || !\class_exists(CodeCoverage::class)) { - return null; + $phabelReturn = null; + if (!(\is_object($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } try { $filter = new Filter(); $filter->includeDirectory(\realpath(__DIR__ . '/../src')); $coverage = new CodeCoverage((new Selector())->forLineCoverage($filter), $filter); $coverage->start('phabel'); - return new class($coverage, $coveragePath) { - private string $coveragePath; - private CodeCoverage $coverage; - public function __construct(CodeCoverage $coverage, string $coveragePath) - { - $this->coverage = $coverage; - $this->coveragePath = $coveragePath; - } - public function __destruct() - { - $this->coverage->stop(); - if (\file_exists($this->coveragePath)) { - $this->coverage->merge(require $this->coveragePath); - } - (new PHP())->process($this->coverage, $this->coveragePath); - } - }; - } catch (\Throwable $e) { + $phabelReturn = new PhabelAnonymousClass063d10f883fe83b0c12eba721edc03b9cc7383d4550ab4363c290322abe45bb50($coverage, $coveragePath); + if (!(\is_object($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } catch (\Exception $e) { + } catch (\Error $e) { + } + $phabelReturn = null; + if (!(\is_object($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return null; + return $phabelReturn; } /** * Run phabel asynchronously. * * @return array */ - public function runAsync(int $threads = -1): array + public function runAsync($threads = -1) { - return wait($this->runAsyncPromise($threads)); + if (!\is_int($threads)) { + if (!(\is_bool($threads) || \is_numeric($threads))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($threads) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($threads) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $threads = (int) $threads; + } + $phabelReturn = wait($this->runAsyncPromise($threads)); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Run phabel asynchronously. * * @return Promise */ - public function runAsyncPromise(int $threads = -1): Promise + public function runAsyncPromise($threads = -1) { + if (!\is_int($threads)) { + if (!(\is_bool($threads) || \is_numeric($threads))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($threads) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($threads) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $threads = (int) $threads; + } if (!\interface_exists(Promise::class)) { throw new Exception("amphp/parallel must be installed to parallelize transforms!"); } - $this->eventHandler?->onStart(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onStart(); if ($threads === -1) { $threads = Tools::getCpuCount(); } $coverages = []; - return call(function () use (&$coverages, $threads) { + $phabelReturn = call(function () use (&$coverages, $threads) { $packages = []; $first = !$this->count++; if (!\file_exists($this->output)) { @@ -335,10 +411,11 @@ public function runAsyncPromise(int $threads = -1): Promise } elseif ($file->isFile()) { if ($file->getExtension() == 'php') { $promise = call(function () use ($pool, $file, $rel, $targetPath, $count, $first, &$promises, &$coverages) { - $this->eventHandler?->onBeginAstTraversal($file->getRealPath()); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onBeginAstTraversal($file->getRealPath()); $package = null; if ($this->composerPackageName) { - $package = ($this->composerPackageName)($rel); + $phabel_c507848c74a74245 = $this->composerPackageName; + $package = $phabel_c507848c74a74245($rel); } $res = (yield $pool->enqueue(new Run($rel, $file->getRealPath(), $targetPath, $package, $this->coverage ? "{$this->coverage}{$count}.php" : ''))); if ($this->coverage) { @@ -354,7 +431,7 @@ public function runAsyncPromise(int $threads = -1): Promise } } \chmod($targetPath, \fileperms($file->getRealPath())); - $this->eventHandler?->onEndAstTraversal($file->getRealPath(), $res); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndAstTraversal($file->getRealPath(), $res); unset($promises[$count]); }); $promises[$count] = $promise; @@ -366,8 +443,8 @@ public function runAsyncPromise(int $threads = -1): Promise } } (yield $promises); - $this->eventHandler?->onEndDirectoryTraversal(); - $this->eventHandler?->onBeginClassGraphMerge($threads); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndDirectoryTraversal(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onBeginClassGraphMerge($threads); $promises = []; /** @var ClassStoragePlugin|null */ $classStorage = null; @@ -380,15 +457,15 @@ public function runAsyncPromise(int $threads = -1): Promise } else { $classStorage->merge($newClassStorage); } - $this->eventHandler?->onClassGraphMerged(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onClassGraphMerged(); }); } (yield $promises); - $this->eventHandler?->onEndClassGraphMerge(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndClassGraphMerge(); (yield $pool->shutdown()); unset($pool); if ($classStorage) { - [$plugins, $files] = $classStorage->finish(); + list($plugins, $files) = $classStorage->finish(); unset($classStorage); if ($plugins && $files) { $this->input = $this->output; @@ -416,29 +493,75 @@ public function runAsyncPromise(int $threads = -1): Promise if ($coverage) { (new PHP())->process($coverage, $this->coverage); } - $this->eventHandler?->onEnd(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEnd(); return $packages; }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Run phabel. * * @return array */ - public function run(int $threads = 1): array + public function run($threads = 1) { + if (!\is_int($threads)) { + if (!(\is_bool($threads) || \is_numeric($threads))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($threads) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($threads) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $threads = (int) $threads; + } if ($threads > 1 || $threads === -1) { - return $this->runAsync($threads); + $phabelReturn = $this->runAsync($threads); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - \set_error_handler(function (int $errno = 0, string $errstr = '', string $errfile = '', int $errline = -1): bool { + \set_error_handler(function ($errno = 0, $errstr = '', $errfile = '', $errline = -1) { + if (!\is_int($errno)) { + if (!(\is_bool($errno) || \is_numeric($errno))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($errno) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errno) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $errno = (int) $errno; + } + if (!\is_string($errstr)) { + if (!(\is_string($errstr) || \is_object($errstr) && \method_exists($errstr, '__toString') || (\is_bool($errstr) || \is_numeric($errstr)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($errstr) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errstr) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $errstr = (string) $errstr; + } + if (!\is_string($errfile)) { + if (!(\is_string($errfile) || \is_object($errfile) && \method_exists($errfile, '__toString') || (\is_bool($errfile) || \is_numeric($errfile)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($errfile) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errfile) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $errfile = (string) $errfile; + } + if (!\is_int($errline)) { + if (!(\is_bool($errline) || \is_numeric($errline))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($errline) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $errline = (int) $errline; + } // If error is suppressed with @, don't throw an exception if (\error_reporting() === 0) { - return false; + $phabelReturn = false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } throw new Exception($errstr, $errno, null, $errfile, $errline); + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); }); $packages = []; - $this->eventHandler?->onStart(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onStart(); while (true) { $this->runInternal(); $packages += $this->graph->getPackages(); @@ -446,7 +569,7 @@ public function run(int $threads = 1): array if (!$classStorage) { break; } - [$plugins, $files] = $classStorage->finish(); + list($plugins, $files) = $classStorage->finish(); unset($classStorage); if (!$plugins || !$files) { break; @@ -456,16 +579,20 @@ public function run(int $threads = 1): array $this->composerPackageName = null; $this->setPlugins($plugins); } - $this->eventHandler?->onEnd(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEnd(); \restore_error_handler(); - return $packages; + $phabelReturn = $packages; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Run phabel (internal function). * * @internal */ - public function runInternal(): void + public function runInternal() { $_ = self::startCoverage($this->coverage); $first = !$this->count++; @@ -498,20 +625,29 @@ public function runInternal(): void if ($file->getExtension() == 'php') { $_ = self::startCoverage($this->coverage); if ($this->composerPackageName) { - $this->setPackage(($this->composerPackageName)($rel)); + $phabel_b1a55408243b319b = $this->composerPackageName; + $this->setPackage($phabel_b1a55408243b319b($rel)); } else { $this->packageQueue = null; } try { $it = $this->traverse($rel, $file->getRealPath(), $targetPath); - } catch (\Throwable $e) { + } catch (\Exception $e) { if (!($first && $e instanceof Exception && \str_contains($e->getMessage(), ' while parsing '))) { throw $e; } if (\realpath($targetPath) !== $file->getRealPath()) { \copy($file->getRealPath(), $targetPath); } - $this->eventHandler?->onEndAstTraversal($file->getRealPath(), $e); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndAstTraversal($file->getRealPath(), $e); + } catch (\Error $e) { + if (!($first && $e instanceof Exception && \str_contains($e->getMessage(), ' while parsing '))) { + throw $e; + } + if (\realpath($targetPath) !== $file->getRealPath()) { + \copy($file->getRealPath(), $targetPath); + } + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndAstTraversal($file->getRealPath(), $e); } } elseif (\realpath($targetPath) !== $file->getRealPath()) { \copy($file->getRealPath(), $targetPath); @@ -519,7 +655,7 @@ public function runInternal(): void \chmod($targetPath, \fileperms($file->getRealPath())); } } - $this->eventHandler?->onEndDirectoryTraversal(); + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndDirectoryTraversal(); } /** * Set package name. @@ -528,8 +664,16 @@ public function runInternal(): void * * @return void */ - public function setPackage(?string $package): void + public function setPackage($package) { + if (!\is_null($package)) { + if (!\is_string($package)) { + if (!(\is_string($package) || \is_object($package) && \method_exists($package, '__toString') || (\is_bool($package) || \is_numeric($package)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($package) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($package) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $package = (string) $package; + } + } /** @var SplQueue> */ if (!$package) { $this->packageQueue = null; @@ -564,14 +708,32 @@ public function setPackage(?string $package): void * * @return int */ - public function traverse(string $file, string $input, string $output): int + public function traverse($file, $input, $output) { - $this->eventHandler?->onBeginAstTraversal($input); + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($file) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $file = (string) $file; + } + if (!\is_string($input)) { + if (!(\is_string($input) || \is_object($input) && \method_exists($input, '__toString') || (\is_bool($input) || \is_numeric($input)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($input) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($input) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $input = (string) $input; + } + if (!\is_string($output)) { + if (!(\is_string($output) || \is_object($output) && \method_exists($output, '__toString') || (\is_bool($output) || \is_numeric($output)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($output) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($output) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $output = (string) $output; + } + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onBeginAstTraversal($input); /** @var SplQueue> */ $reducedQueue = new SplQueue(); /** @var SplQueue */ $newQueue = new SplQueue(); - foreach ($this->packageQueue ?? $this->graph->getPlugins() as $queue) { + foreach (isset($this->packageQueue) ? $this->packageQueue : $this->graph->getPlugins() as $queue) { if ($newQueue->count()) { $reducedQueue->enqueue($newQueue); /** @var SplQueue */ @@ -587,12 +749,24 @@ public function traverse(string $file, string $input, string $output): int if ($newQueue->count()) { $reducedQueue->enqueue($newQueue); } elseif (!$reducedQueue->count()) { - $this->eventHandler?->onEndAstTraversal($input, 0); - return 0; + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndAstTraversal($input, 0); + $phabelReturn = 0; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } try { - $ast = new RootNode($this->parser->parse(\file_get_contents($input)) ?? []); - } catch (\Throwable $e) { + $ast = new RootNode(null !== ($phabel_6f5fa46f697baa56 = $this->parser->parse(\file_get_contents($input))) ? $phabel_6f5fa46f697baa56 : []); + } catch (\Exception $e) { + $message = $e->getMessage(); + $message .= " while parsing "; + $message .= $input; + throw new Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); + } catch (\Error $e) { $message = $e->getMessage(); $message .= " while parsing "; $message .= $input; @@ -601,10 +775,17 @@ public function traverse(string $file, string $input, string $output): int $this->file = $file; $this->inputFile = $input; $this->outputFile = $output; - [$it, $result] = $this->traverseAstInternal($ast, $reducedQueue); + list($it, $result) = $this->traverseAstInternal($ast, $reducedQueue); \file_put_contents($output, $result); - $this->eventHandler?->onEndAstTraversal($input, $it); - return $it; + \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndAstTraversal($input, $it); + $phabelReturn = $it; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } /** * Traverse AST. @@ -617,13 +798,26 @@ public function traverse(string $file, string $input, string $output): int * * @return int */ - public function traverseAst(Node &$node, SplQueue $pluginQueue = null, bool $allowMulti = true): int + public function traverseAst(Node &$node, SplQueue $pluginQueue = null, $allowMulti = true) { + if (!\is_bool($allowMulti)) { + if (!(\is_bool($allowMulti) || \is_numeric($allowMulti) || \is_string($allowMulti))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($allowMulti) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($allowMulti) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $allowMulti = (bool) $allowMulti; + } $this->file = ''; $this->inputFile = ''; $this->outputFile = ''; $n = new RootNode([&$node]); - return $this->traverseAstInternal($n, $pluginQueue, $allowMulti)[0] ?? 0; + $phabelReturn = null !== ($phabel_99db884988fa8271 = $this->traverseAstInternal($n, $pluginQueue, $allowMulti)) && isset($phabel_99db884988fa8271[0]) ? $phabel_99db884988fa8271[0] : 0; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (int) $phabelReturn; + } + return $phabelReturn; } /** * Traverse AST. @@ -640,14 +834,20 @@ public function traverseAst(Node &$node, SplQueue $pluginQueue = null, bool $all * @return array{0: int, 1: string}|null * @psalm-return (T is true ? array{0: int, 1: string} : null) */ - private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = null, bool $allowMulti = true): ?array + private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = null, $allowMulti = true) { + if (!\is_bool($allowMulti)) { + if (!(\is_bool($allowMulti) || \is_numeric($allowMulti) || \is_string($allowMulti))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($allowMulti) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($allowMulti) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $allowMulti = (bool) $allowMulti; + } $it = 0; $result = $this->printer->prettyPrintFile($node->stmts); do { $context = null; try { - foreach ($pluginQueue ?? $this->packageQueue ?? $this->graph->getPlugins() as $queue) { + foreach (isset($pluginQueue) ? $pluginQueue : (isset($this->packageQueue) ? $this->packageQueue : $this->graph->getPlugins()) as $queue) { $context = new Context(); $context->setFile($this->file); $context->setInputFile($this->inputFile); @@ -657,16 +857,35 @@ private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = nu /** @var RootNode $node */ } if (!$allowMulti) { - return null; + $phabelReturn = null; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } - } catch (\Throwable $e) { + } catch (\Exception $e) { $message = $e->getMessage(); $message .= " while processing "; $message .= $this->file; $message .= ":"; try { $message .= $context ? $context->getCurrentChild($context->parents[0])->getStartLine() : "-1"; - } catch (\Throwable $e) { + } catch (\Exception $e) { + $message .= "-1"; + } catch (\Error $e) { + $message .= "-1"; + } + throw new Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); + } catch (\Error $e) { + $message = $e->getMessage(); + $message .= " while processing "; + $message .= $this->file; + $message .= ":"; + try { + $message .= $context ? $context->getCurrentChild($context->parents[0])->getStartLine() : "-1"; + } catch (\Exception $e) { + $message .= "-1"; + } catch (\Error $e) { $message .= "-1"; } throw new Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); @@ -675,7 +894,11 @@ private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = nu $result = $this->printer->prettyPrintFile($node->stmts); $it++; } while ($result !== $oldResult); - return [$it, $result]; + $phabelReturn = [$it, $result]; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } /** * Traverse node. @@ -686,19 +909,19 @@ private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = nu * * @return void */ - private function traverseNode(Node &$node, SplQueue $plugins, Context $context): void + private function traverseNode(Node &$node, SplQueue $plugins, Context $context) { $context->pushResolve($node); foreach ($plugins as $plugin) { foreach (PluginCache::enterMethods(\get_class($plugin)) as $type => $methods) { - if (!$node instanceof $type) { + if (!\Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($node, $type)) { continue; } foreach ($methods as $method) { /** @var Node|null */ $result = $plugin->{$method}($node, $context); if ($result instanceof Node) { - if (!$result instanceof $node) { + if (!\Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($result, $node)) { $node = $result; continue 2; } @@ -736,14 +959,14 @@ private function traverseNode(Node &$node, SplQueue $plugins, Context $context): $context->pop(); foreach ($plugins as $plugin) { foreach (PluginCache::leaveMethods(\get_class($plugin)) as $type => $methods) { - if (!$node instanceof $type) { + if (!\Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($node, $type)) { continue; } foreach ($methods as $method) { /** @var Node|null */ $result = $plugin->{$method}($node, $context); if ($result instanceof Node) { - if (!$result instanceof $node) { + if (!\Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($result, $node)) { $node = $result; continue 2; } @@ -760,3 +983,33 @@ public function __destruct() } } } +if (!\class_exists(PhabelAnonymousClass063d10f883fe83b0c12eba721edc03b9cc7383d4550ab4363c290322abe45bb50::class)) { + class PhabelAnonymousClass063d10f883fe83b0c12eba721edc03b9cc7383d4550ab4363c290322abe45bb50 implements \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface + { + private $coveragePath; + private $coverage; + public function __construct(CodeCoverage $coverage, $coveragePath) + { + if (!\is_string($coveragePath)) { + if (!(\is_string($coveragePath) || \is_object($coveragePath) && \method_exists($coveragePath, '__toString') || (\is_bool($coveragePath) || \is_numeric($coveragePath)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($coveragePath) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($coveragePath) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $coveragePath = (string) $coveragePath; + } + $this->coverage = $coverage; + $this->coveragePath = $coveragePath; + } + public function __destruct() + { + $this->coverage->stop(); + if (\file_exists($this->coveragePath)) { + $this->coverage->merge(require $this->coveragePath); + } + (new PHP())->process($this->coverage, $this->coveragePath); + } + public static function getPhabelOriginalName() + { + return 'class@anonymous'; + } + } +} diff --git a/src/VariableContext.php b/src/VariableContext.php index d7c67183f..b3444238b 100644 --- a/src/VariableContext.php +++ b/src/VariableContext.php @@ -15,7 +15,7 @@ class VariableContext * * @var array */ - private array $variables; + private $variables; /** * Constructor. * @@ -32,8 +32,14 @@ public function __construct(array $variables = []) * * @return void */ - public function addVar(string $var): void + public function addVar($var) { + if (!\is_string($var)) { + if (!(\is_string($var) || \is_object($var) && \method_exists($var, '__toString') || (\is_bool($var) || \is_numeric($var)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($var) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($var) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $var = (string) $var; + } $this->variables[$var] = true; } /** @@ -43,7 +49,7 @@ public function addVar(string $var): void * * @return void */ - public function addVars(array $vars): void + public function addVars(array $vars) { $this->variables += $vars; } @@ -54,8 +60,14 @@ public function addVars(array $vars): void * * @return void */ - public function removeVar(string $var): void + public function removeVar($var) { + if (!\is_string($var)) { + if (!(\is_string($var) || \is_object($var) && \method_exists($var, '__toString') || (\is_bool($var) || \is_numeric($var)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($var) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($var) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $var = (string) $var; + } unset($this->variables[$var]); } /** @@ -64,30 +76,54 @@ public function removeVar(string $var): void * @param string $var * @return boolean */ - public function hasVar(string $var): bool + public function hasVar($var) { - return isset($this->variables[$var]); + if (!\is_string($var)) { + if (!(\is_string($var) || \is_object($var) && \method_exists($var, '__toString') || (\is_bool($var) || \is_numeric($var)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($var) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($var) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $var = (string) $var; + } + $phabelReturn = isset($this->variables[$var]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (bool) $phabelReturn; + } + return $phabelReturn; } /** * Get unused variable name. * * @return string */ - public function getVar(): string + public function getVar() { do { $var = 'phabel_' . \bin2hex(\random_bytes(8)); } while (isset($this->variables[$var])); $this->variables[$var] = true; - return $var; + $phabelReturn = $var; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } /** * Get all variables currently defined. * * @return array */ - public function getVars(): array + public function getVars() { - return $this->variables; + $phabelReturn = $this->variables; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; } } diff --git a/src/Version.php b/src/Version.php index 84b93bcb8..0b7b39be5 100644 --- a/src/Version.php +++ b/src/Version.php @@ -10,15 +10,15 @@ class Version /** * Latest git tag. */ - public const VERSION = '^1.0'; + const VERSION = '^1.0'; /** * Latest revision. */ - public const LATEST = 0; + const LATEST = 0; /** * Changelog. */ - public const CHANGELOG = [0 => 'Welcome! You can now use PHP 8 features in your code. + const CHANGELOG = [0 => 'Welcome! You can now use PHP 8 features in your code. Config recap: Source PHP version: 8.0 diff --git a/tools/ci/functions.php b/tools/ci/functions.php index e6cbb5018..0c14734a6 100644 --- a/tools/ci/functions.php +++ b/tools/ci/functions.php @@ -6,8 +6,14 @@ * @param string $cmd * @return void */ -function r(string $cmd) +function r($cmd) { + if (!\is_string($cmd)) { + if (!(\is_string($cmd) || \is_object($cmd) && \method_exists($cmd, '__toString') || (\is_bool($cmd) || \is_numeric($cmd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($cmd) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cmd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $cmd = (string) $cmd; + } \passthru($cmd, $ret); if ($ret) { die($ret); diff --git a/tools/ci/prepareDeps.php b/tools/ci/prepareDeps.php index 8d319eaf5..91ce153c5 100644 --- a/tools/ci/prepareDeps.php +++ b/tools/ci/prepareDeps.php @@ -6,7 +6,7 @@ require 'vendor/autoload.php'; require 'functions.php'; -$tail = $argv[1] ?? ''; +$tail = isset($argv[1]) ? $argv[1] : ''; foreach (Php::VERSIONS as $version) { if ($tail === "-{$version}") { break; diff --git a/tools/convertPhabel.php b/tools/convertPhabel.php index 13174b788..e8d9b2398 100644 --- a/tools/convertPhabel.php +++ b/tools/convertPhabel.php @@ -22,7 +22,7 @@ die(1); } $target = $argv[1]; -$dry = (bool) ($argv[2] ?? ''); +$dry = (bool) (isset($argv[2]) ? $argv[2] : ''); $branch = 'master'; $tag = \getenv('shouldTag') ?: null; $home = \realpath(__DIR__ . '/../'); @@ -33,8 +33,14 @@ r("cp -a {$home} ../phabelConvertedRepo"); r("rm -rf ../phabelConvertedRepo/vendor"); } -function commit(string $message) +function commit($message) { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $message = (string) $message; + } r("cp -a ../phabelConvertedOutput/* ../phabelConvertedRepo"); \chdir("../phabelConvertedRepo/"); r("git add -A"); @@ -116,16 +122,22 @@ function commit(string $message) if ($name === 'phabel/phabel') { continue; } - $json['require'] += \array_filter($package['require'], fn ($s) => \str_starts_with($s, 'ext-'), ARRAY_FILTER_USE_KEY); + $json['require'] += \array_filter($package['require'], function ($s) { + return \str_starts_with($s, 'ext-'); + }, ARRAY_FILTER_USE_KEY); foreach (['psr-4', 'psr-0'] as $type) { - foreach ($package['autoload'][$type] ?? [] as $namespace => $path) { + foreach (isset($package['autoload'][$type]) ? $package['autoload'][$type] : [] as $namespace => $path) { $namespace = "Phabel\\{$namespace}"; $paths = \is_string($path) ? [$path] : $path; - $paths = \array_map(fn ($path) => ("vendor-bundle/{$name}/{$path}"), $paths); + $paths = \array_map(function ($path) use ($name) { + return "vendor-bundle/{$name}/{$path}"; + }, $paths); $json['autoload'][$type][$namespace] = $paths; } } - $json['autoload']['files'] = \array_merge($json['autoload']['files'] ?? [], \array_map(fn ($path) => ("vendor-bundle/{$name}/{$path}"), $package['autoload']['files'] ?? [])); + $json['autoload']['files'] = \array_merge(isset($json['autoload']['files']) ? $json['autoload']['files'] : [], \array_map(function ($path) use ($name) { + return "vendor-bundle/{$name}/{$path}"; + }, isset($package['autoload']['files']) ? $package['autoload']['files'] : [])); } $json['autoload-dev'] = ['psr-4' => ['PhabelTest\\' => 'tests/']]; \file_put_contents('composer.json', \json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); diff --git a/tools/exprGen.php b/tools/exprGen.php index 4f3c3e1d1..ebc45d4b8 100644 --- a/tools/exprGen.php +++ b/tools/exprGen.php @@ -62,7 +62,7 @@ } class ExpressionGenerator { - private Standard $printer; + private $printer; private function format(Node $code) { static $count = 0; @@ -78,11 +78,23 @@ private function readUntilPrompt($resource) } return \substr($data, 0, -6); } - private array $robin = []; - private array $processes = []; - private array $pipes = []; - private function checkSyntaxVersion(int $version, string $code) + private $robin = []; + private $processes = []; + private $pipes = []; + private function checkSyntaxVersion($version, $code) { + if (!\is_int($version)) { + if (!(\is_bool($version) || \is_numeric($version))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($version) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($version) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $version = (int) $version; + } + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $code = (string) $code; + } $code = \str_replace(["\n", 'robin[$version]; $this->robin[$version]++; @@ -94,8 +106,20 @@ private function checkSyntaxVersion(int $version, string $code) //var_dump($code, "Result for $version is: $result"); return \strlen($result) === 0; } - private function checkSyntax(string $code, int $startFrom = 56) + private function checkSyntax($code, $startFrom = 56) { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $code = (string) $code; + } + if (!\is_int($startFrom)) { + if (!(\is_bool($startFrom) || \is_numeric($startFrom))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($startFrom) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($startFrom) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $startFrom = (int) $startFrom; + } if (!$startFrom) { return $startFrom; } @@ -115,11 +139,11 @@ private function checkSyntax(string $code, int $startFrom = 56) 'isset' => [], ]; /** @psalm-var array> */ - private array $tests = []; + private $tests = []; private $versionMap = []; private function checkPossibleValue($arg, $name, $key, $class, $baseArgs, $isArray) { - $subVersion = \max($this->versionMap[\get_debug_type($arg)] ?? 0, $this->versionMap[$class]); + $subVersion = \max(isset($this->versionMap[\get_debug_type($arg)]) ? $this->versionMap[\get_debug_type($arg)] : 0, $this->versionMap[$class]); $arguments = $baseArgs; $arguments[$key] = $isArray ? [$arg] : $arg; $code = $this->format($prev = new $class(...$arguments)); @@ -214,7 +238,7 @@ public function run() $arguments[] = new Name('self'); break; case 'array': - if (\in_array('Expr[]', $types[$param->getName()] ?? [])) { + if (\in_array('Expr[]', isset($types[$param->getName()]) ? $types[$param->getName()] : [])) { $argTypes[$key] = [true, [Expr::class]]; $arguments[] = [new Variable('test')]; } else { @@ -270,7 +294,9 @@ abstract class DisallowedExpressions extends Plugin $wait = []; foreach ($instanceArgTypes as $class => $argTypes) { $baseArgs = $instanceArgs[$class]; - foreach ($argTypes as $key => [$isArray, $types]) { + foreach ($argTypes as $key => $phabel_67053abfb89d9db2) { + $isArray = $phabel_67053abfb89d9db2[0]; + $types = $phabel_67053abfb89d9db2[1]; $name = $instanceArgNames[$class][$key]; $possibleValues = []; foreach ($types as $type) { diff --git a/tools/testExprGen.php b/tools/testExprGen.php index a2b6e4882..909c0a58d 100644 --- a/tools/testExprGen.php +++ b/tools/testExprGen.php @@ -18,7 +18,8 @@ $filter->includeDirectory(\realpath(__DIR__ . '/../src')); (new Selector())->forLineCoverage($filter); $canCoverage = true; -} catch (\Throwable $e) { +} catch (\Exception $e) { +} catch (\Error $e) { } if ($canCoverage) { pool(new DefaultPool(\getenv('CI') ? 3 : \count(Php::VERSIONS) + 2)); diff --git a/tools/typeHintGen.php b/tools/typeHintGen.php index 927625c21..07339b069 100644 --- a/tools/typeHintGen.php +++ b/tools/typeHintGen.php @@ -11,16 +11,54 @@ die(1); } const CLAZZ = "PhabelTest\\Target\\TypeHintReplacerTest"; -function escapeRegex(string $in): string +function escapeRegex($in) { - return \var_export('~' . \str_replace(['\\', '(', ')', '$', '?', '|'], ['\\\\', '\\(', '\\)', '\\$', '\\?', '\\|'], $in) . '~', true); + if (!\is_string($in)) { + if (!(\is_string($in) || \is_object($in) && \method_exists($in, '__toString') || (\is_bool($in) || \is_numeric($in)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($in) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($in) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $in = (string) $in; + } + $phabelReturn = \var_export('~' . \str_replace(['\\', '(', ')', '$', '?', '|'], ['\\\\', '\\(', '\\)', '\\$', '\\?', '\\|'], $in) . '~', true); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $phabelReturn = (string) $phabelReturn; + } + return $phabelReturn; } -function getErrorMessage(string $scalarParam, string $scalar, string $scalarSane, $wrongVal, string $to): array +function getErrorMessage($scalarParam, $scalar, $scalarSane, $wrongVal, $to) { + if (!\is_string($scalarParam)) { + if (!(\is_string($scalarParam) || \is_object($scalarParam) && \method_exists($scalarParam, '__toString') || (\is_bool($scalarParam) || \is_numeric($scalarParam)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($scalarParam) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($scalarParam) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $scalarParam = (string) $scalarParam; + } + if (!\is_string($scalar)) { + if (!(\is_string($scalar) || \is_object($scalar) && \method_exists($scalar, '__toString') || (\is_bool($scalar) || \is_numeric($scalar)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($scalar) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($scalar) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $scalar = (string) $scalar; + } + if (!\is_string($scalarSane)) { + if (!(\is_string($scalarSane) || \is_object($scalarSane) && \method_exists($scalarSane, '__toString') || (\is_bool($scalarSane) || \is_numeric($scalarSane)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($scalarSane) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($scalarSane) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $scalarSane = (string) $scalarSane; + } + if (!\is_string($to)) { + if (!(\is_string($to) || \is_object($to) && \method_exists($to, '__toString') || (\is_bool($to) || \is_numeric($to)))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($to) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($to) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $to = (string) $to; + } try { $f = eval("return new class { public function r() { return fn ({$scalarParam} \$data): {$scalar} => \$data; }};"); - $f->r()(eval("return {$wrongVal};")); - } catch (\Throwable $e) { + $phabel_5c41897c31d84027 = $f->r(); + $phabel_5c41897c31d84027(eval("return {$wrongVal};")); + } catch (\Exception $e) { $message = $e->getMessage(); $message = \str_replace("self", CLAZZ, $message); $message = \preg_replace(["/called in .*/", "/.*: /"], ".*", $message); @@ -32,18 +70,34 @@ function getErrorMessage(string $scalarParam, string $scalar, string $scalarSane $closureMessage = \str_replace("{$to} class@anonymous::{closure}", "{$to} " . CLAZZ . "::PhabelTest\\Target\\{closure}", $message); $methodMessage = \str_replace("{$to} class@anonymous::{closure}", "{$to} " . CLAZZ . "::test{$scalarSane}", $message); $funcMessage = \str_replace("{$to} class@anonymous::{closure}", "{$to} PhabelTest\\Target\\test{$scalarSane}", $message); + } catch (\Error $e) { + $message = $e->getMessage(); + $message = \str_replace("self", CLAZZ, $message); + $message = \preg_replace(["/called in .*/", "/.*: /"], ".*", $message); + if (\preg_match_all("/must be of type (\\S+)/", $message, $matches)) { + foreach ($matches[1] as $match) { + $message = \str_replace($match, \str_replace("class@anonymous", CLAZZ, $match), $message); + } + } + $closureMessage = \str_replace("{$to} class@anonymous::{closure}", "{$to} " . CLAZZ . "::PhabelTest\\Target\\{closure}", $message); + $methodMessage = \str_replace("{$to} class@anonymous::{closure}", "{$to} " . CLAZZ . "::test{$scalarSane}", $message); + $funcMessage = \str_replace("{$to} class@anonymous::{closure}", "{$to} PhabelTest\\Target\\test{$scalarSane}", $message); + } + $phabelReturn = [escapeRegex($closureMessage), escapeRegex($methodMessage), escapeRegex($funcMessage)]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - return [escapeRegex($closureMessage), escapeRegex($methodMessage), escapeRegex($funcMessage)]; + return $phabelReturn; } $SCALARS = ['callable' => ['"is_null"', 'fn (): int => 0', '[$this, "noop"]', '[self::class, "noop"]'], 'array' => ["['lmao']", 'array()'], 'bool' => ["true", "false", '0', '1', '"0"', '"1"', '""', '"aaaa"'], 'iterable' => ["['lmao']", 'array()', '(fn (): \\Generator => yield)()'], 'float' => ["123", "-1", "123.123", "1e3", "true", "false", "'123'", '"123.123"'], 'object' => ["new class{}", '$this'], 'string' => ["'lmao'", 'new class{public function __toString() { return "lmao"; }}', "123", "-1", "123.123", "1e3", "true", "false"], 'self' => ['$this'], 'int' => ["123", "-1", "123.0", "1e3", "true", "false", "'123'", "'123.0'"], '\\' . CLAZZ => ['$this'], '\\Generator' => ['(fn (): \\Generator => yield)()']]; $count = \count($SCALARS); $k = 0; foreach ($SCALARS as $scalar => $val) { - $SCALARS["?{$scalar}"] = [...$val, 'null']; + $SCALARS["?{$scalar}"] = \array_merge($val, ['null']); $k = ($k + 1) % $count; $nextScalar = \array_keys($SCALARS)[$k]; $nextVal = $SCALARS[$nextScalar]; - $SCALARS["{$scalar}|{$nextScalar}"] = [...$val, ...$nextVal]; + $SCALARS["{$scalar}|{$nextScalar}"] = \array_merge($val, $nextVal); } foreach (\glob("testsGenerated/Target/TypeHintReplacer*") as $file) { \unlink($file); @@ -62,7 +116,7 @@ function getErrorMessage(string $scalarParam, string $scalar, string $scalarSane if ($scalar === 'float|object' || $scalar === 'object|string') { $wrongVal = 'null'; } - [$closureMessage, $methodMessage, $funcMessage] = getErrorMessage($scalar, $scalar, $scalarSane, $wrongVal, "to"); + list($closureMessage, $methodMessage, $funcMessage) = getErrorMessage($scalar, $scalar, $scalarSane, $wrongVal, "to"); $closures[] = "[fn ({$scalar} \$data): {$scalar} => \$data, {$val}, {$wrongVal}, {$closureMessage}]"; $closures[] = "[function ({$scalar} \$data): {$scalar} { return \$data; }, {$val}, {$wrongVal}, {$closureMessage}]"; $closures[] = "[[\$this, 'test{$scalarSane}'], {$val}, {$wrongVal}, {$methodMessage}]"; @@ -74,7 +128,7 @@ function getErrorMessage(string $scalarParam, string $scalar, string $scalarSane if (!$self) { $funcs .= "function test{$scalarSane}({$scalar} \$data): {$scalar} { return \$data; }\n"; } - [$closureMessage, $methodMessage, $funcMessage] = getErrorMessage("", $scalar, "Ret{$scalarSane}", $wrongVal, "value of"); + list($closureMessage, $methodMessage, $funcMessage) = getErrorMessage("", $scalar, "Ret{$scalarSane}", $wrongVal, "value of"); $closuresRet[] = "[fn (\$data): {$scalar} => \$data, {$val}, {$wrongVal}, {$closureMessage}]"; $closuresRet[] = "[function (\$data): {$scalar} { return \$data; }, {$val}, {$wrongVal}, {$closureMessage}]"; $closuresRet[] = "[[\$this, 'testRet{$scalarSane}'], {$val}, {$wrongVal}, {$methodMessage}]"; From 396f4ac88eb797203be23665fa1d8e3bdcf32acc Mon Sep 17 00:00:00 2001 From: Github Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 28 Aug 2021 20:13:18 +0200 Subject: [PATCH 3/3] phabel.io: add dependencies --- composer.json | 126 +- src/ClassStorage.php | 15 +- src/ClassStorage/Builder.php | 37 +- src/ClassStorage/Storage.php | 31 +- src/ClassStorageProvider.php | 21 +- src/Cli/EventHandler.php | 13 +- src/Cli/Formatter.php | 7 +- src/Cli/SimpleConsoleLogger.php | 16 +- src/Commands/Publish.php | 29 +- src/Commands/Run.php | 25 +- src/Composer/Plugin.php | 25 +- src/Composer/Repository.php | 3 +- src/Composer/Transformer.php | 33 +- src/Context.php | 103 +- src/EventHandler.php | 2 +- src/ExceptionWrapper.php | 5 +- src/Plugin.php | 17 +- src/Plugin/ClassStoragePlugin.php | 19 +- src/Plugin/ComposerSanitizer.php | 1 - src/Plugin/GeneratorDetector.php | 13 +- src/Plugin/IssetExpressionFixer.php | 55 +- src/Plugin/ListSplitter.php | 33 +- src/Plugin/Memoization.php | 29 +- src/Plugin/NestedExpressionFixer.php | 39 +- src/Plugin/NewFixer.php | 21 +- src/Plugin/PhabelTestGenerator.php | 7 +- src/Plugin/ReGenerator.php | 7 +- src/Plugin/ReGenerator/ReGenerator.php | 18 +- src/Plugin/ReGeneratorInternal.php | 5 +- src/Plugin/StmtExprWrapper.php | 5 +- src/Plugin/StringConcatOptimizer.php | 7 +- src/Plugin/TypeHintReplacer.php | 135 +- src/Plugin/VariableFinder.php | 13 +- src/Plugin/YieldDetector.php | 7 +- src/PluginCache.php | 1 - src/PluginGraph/CircularException.php | 1 - src/PluginGraph/Graph.php | 11 +- src/PluginGraph/GraphInternal.php | 21 +- src/PluginGraph/Node.php | 27 +- src/PluginGraph/PackageContext.php | 2 +- src/PluginGraph/Plugins.php | 3 +- src/PluginGraph/ResolvedGraph.php | 1 - src/PluginInterface.php | 1 - src/RootNode.php | 5 +- src/Target/Php.php | 9 +- src/Target/Php56/IssetExpressionFixer.php | 1 - src/Target/Php56/NestedExpressionFixer.php | 1 - src/Target/Php70/AnonymousClassReplacer.php | 27 +- src/Target/Php70/DefineArrayReplacer.php | 13 +- src/Target/Php70/GroupUseReplacer.php | 11 +- src/Target/Php70/IssetExpressionFixer.php | 3 +- src/Target/Php70/NestedExpressionFixer.php | 3 +- .../NullCoalesce/DisallowedExpressions.php | 3 +- src/Target/Php70/NullCoalesceReplacer.php | 19 +- src/Target/Php70/Polyfill.php | 11 +- src/Target/Php70/ReservedNameReplacer.php | 5 +- src/Target/Php70/ReturnTypeHints.php | 3 +- src/Target/Php70/ScalarTypeHints.php | 1 - .../Php70/SpaceshipOperatorReplacer.php | 5 +- .../StrictTypesDeclareStatementRemover.php | 7 +- src/Target/Php70/ThrowableReplacer.php | 23 +- src/Target/Php71/ArrayList.php | 9 +- ...lassConstantVisibilityModifiersRemover.php | 3 +- src/Target/Php71/ClosureFromCallable.php | 7 +- src/Target/Php71/IssetExpressionFixer.php | 1 - src/Target/Php71/IterableHint.php | 1 - src/Target/Php71/ListExpression.php | 3 +- src/Target/Php71/ListKey.php | 3 +- src/Target/Php71/MultipleCatchReplacer.php | 3 +- src/Target/Php71/NestedExpressionFixer.php | 1 - src/Target/Php71/NullableType.php | 3 +- src/Target/Php71/Polyfill.php | 25 +- src/Target/Php71/VoidReturnType.php | 3 +- src/Target/Php72/IssetExpressionFixer.php | 1 - src/Target/Php72/NestedExpressionFixer.php | 1 - src/Target/Php72/ObjectTypeHintReplacer.php | 1 - src/Target/Php72/Polyfill.php | 7 +- src/Target/Php72/TypeContravariance.php | 3 +- .../TypeContravariance/TypeContravariance.php | 11 +- src/Target/Php73/IssetExpressionFixer.php | 1 - src/Target/Php73/ListReference.php | 3 +- src/Target/Php73/NestedExpressionFixer.php | 3 +- src/Target/Php73/Polyfill.php | 3 +- src/Target/Php74/ArrayUnpack.php | 19 +- src/Target/Php74/ArrowClosure.php | 13 +- src/Target/Php74/IssetExpressionFixer.php | 1 - src/Target/Php74/NestedExpressionFixer.php | 1 - src/Target/Php74/NullCoalesceAssignment.php | 7 +- src/Target/Php74/Polyfill.php | 3 +- src/Target/Php74/Serializable.php | 63 +- src/Target/Php74/TypeContracovariance.php | 3 +- .../TypeContracovariance.php | 11 +- src/Target/Php74/TypedProperty.php | 5 +- src/Target/Php80/IssetExpressionFixer.php | 3 +- src/Target/Php80/MatchTransformer.php | 33 +- src/Target/Php80/NestedExpressionFixer.php | 3 +- src/Target/Php80/NullSafe/NullSafe.php | 2 +- src/Target/Php80/NullSafeTransformer.php | 21 +- src/Target/Php80/Polyfill.php | 37 +- src/Target/Php80/StaticReplacer.php | 1 - src/Target/Php80/ThrowExprReplacer.php | 5 +- src/Target/Php80/UnionTypeStripper.php | 3 +- src/Target/Polyfill.php | 1 - src/Tasks/Init.php | 7 +- src/Tasks/Run.php | 5 +- src/Tasks/Shutdown.php | 5 +- src/Tools.php | 101 +- src/Traverser.php | 91 +- src/VariableContext.php | 4 +- src/phabel.php | 3 +- .../Target/GeneratorTypeHintReplacerTest.php | 28 + tests/Target/IssetExpressionFixerTest.php | 50 + tests/Target/NestedExpressionFixerTest.php | 107 + .../Php70/AnonymousClassReplacerTest.php | 69 + .../Target/Php70/ClosureCallReplacerTest.php | 17 + .../Target/Php70/DefineArrayReplacerTest.php | 20 + tests/Target/Php70/GroupUseReplacerTest.php | 22 + .../Target/Php70/NullCoalesceReplacerTest.php | 64 + .../Target/Php70/ReservedNameReplacerTest.php | 21 + .../Php70/SpaceshipOperatorReplacerTest.php | 19 + ...StrictTypesDeclareStatementRemoverTest.php | 18 + tests/Target/Php70/ThrowableReplacerTest.php | 45 + tests/Target/Php71/ArrayListTest.php | 29 + ...ConstantVisibilityModifiersRemoverTest.php | 45 + .../Target/Php71/ClosureFromCallableTest.php | 51 + tests/Target/Php71/ListExpressionTest.php | 41 + tests/Target/Php71/ListKeyTest.php | 42 + .../Php71/MultipleCatchReplacerTest.php | 35 + tests/Target/Php72/Contravariance/Abstr.php | 12 + tests/Target/Php72/Contravariance/Abstr2.php | 12 + tests/Target/Php72/Contravariance/Cls.php | 9 + tests/Target/Php72/Contravariance/IFace.php | 12 + tests/Target/Php72/Contravariance/IFace2.php | 12 + .../Php72/Contravariance/OtherAbstr.php | 9 + .../Target/Php72/Contravariance/OtherCls1.php | 22 + .../Target/Php72/Contravariance/OtherCls2.php | 14 + .../Target/Php72/Contravariance/OtherCls3.php | 14 + .../Php72/Contravariance/OtherClsNative.php | 17 + tests/Target/Php72/Contravariance/Trait1.php | 16 + tests/Target/Php72/Contravariance/Trait2.php | 15 + tests/Target/Php72/ContravarianceTest.php | 34 + tests/Target/Php73/ListReferenceTest.php | 49 + tests/Target/Php74/ArrayUnpackTest.php | 19 + tests/Target/Php74/ArrowClosureTest.php | 27 + .../Target/Php74/CoContraVariance/Animal.php | 0 .../Php74/CoContraVariance/AnimalFood.php | 0 .../AnimalShelterInterface.php | 0 tests/Target/Php74/CoContraVariance/Cat.php | 0 .../Php74/CoContraVariance/CatShelter.php | 0 tests/Target/Php74/CoContraVariance/Dog.php | 0 .../Php74/CoContraVariance/DogShelter.php | 0 tests/Target/Php74/CoContraVariance/Food.php | 59 + tests/Target/Php74/CoContraVarianceTest.php | 0 .../Php74/NullCoalesceAssignmentTest.php | 25 + tests/Target/Php74/TypedPropertyTest.php | 17 + tests/Target/Php80/MatchTransformerTest.php | 47 + .../Target/Php80/NullSafeTransformerTest.php | 21 + tests/Target/StringConcatOptimizerTest.php | 19 + tests/Target/TypeHintTest.php | 40 + ...d8697d87f3e279a0e40be7b8c518211e16Test.php | 514 +++++ ...a45543788ca68ecbcafda154581bc534bbTest.php | 514 +++++ ...ecbdc0e6ac74d53fca4f96458ecbadeb74Test.php | 514 +++++ ...9b58f2de442f5f137471410560ce4cf8f3Test.php | 512 +++++ ...e855a42bff12725ce7ecdd050bb6e9e13bTest.php | 512 +++++ ...c5e3999ac7d0b22f555c27db87c8f2c98dTest.php | 514 +++++ ...cc6fa66dc96fc5c9d541f6733c41e9e490Test.php | 512 +++++ ...74ee235006c54d13cd45174297cc744d6dTest.php | 514 +++++ ...8473b612a6545d7b588cc6caeb87b37a94Test.php | 579 ++++++ ...3fde3be16ccd45ce773b914f3511e83a0fTest.php | 515 +++++ ...b851b259168a5fdcd6c0cd77179502e4fcTest.php | 514 +++++ ...e5652662a750c1e669a2182631b0e2c888Test.php | 508 +++++ ...312208e3cbfced5ac1ccb2499fed0474d1Test.php | 514 +++++ ...fe45f7c73cef77ff7681c094edf2bb4fd7Test.php | 508 +++++ ...ac535c9ce44915c26661b5408a471a8032Test.php | 512 +++++ ...334164ea726607f07b78181c0540f8242dTest.php | 507 +++++ ...e67196e7ea340ef58e31363364bef1152cTest.php | 509 +++++ ...20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php | 514 +++++ ...9678676f113fb6738d27e3ca26d1638980Test.php | 514 +++++ ...f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php | 513 +++++ ...fc624fbbd117192a32b50ce0767d7b6f14Test.php | 546 +++++ ...0cad3c2a4cd957b6fac3d79c36817673a4Test.php | 514 +++++ ...8c9e75d277db7df14f74182ac709558dbeTest.php | 514 +++++ ...227755a623c6aec50679991a8df37d30b9Test.php | 510 +++++ ...de1bdfffcbad2ecc40734ad381cd8db73eTest.php | 508 +++++ ...5533f41c49f9a4f727707443e712468a3eTest.php | 514 +++++ ...c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php | 514 +++++ ...02171200598941955144e383410aab7c79Test.php | 514 +++++ ...8445b54d9e35c221fddb5bdd569a0e3f7dTest.php | 509 +++++ ...a9d4ee1c55d7249abf23dcea640c07f5cdTest.php | 514 +++++ ...f1c370b065f4e2511aede2ed34f95f536aTest.php | 514 +++++ ...4c5cffe75f816ee17714a01daeb063ea22Test.php | 512 +++++ ...6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php | 514 +++++ ...8b10789ca83658d0e1d48c4faea7313d81Test.php | 514 +++++ ...a8e7590af729274fba91b003694885ec14Test.php | 512 +++++ ...b9a676e8986525e30a3d8ae4730fed3a54Test.php | 514 +++++ ...6dfe42ae823580ac5c30ebc7cb985d701aTest.php | 514 +++++ ...58efff0d13e37a83bb77ae9071f01d0df5Test.php | 514 +++++ ...22fbb0aace926df5054602294f0bdeab2fTest.php | 508 +++++ ...9ffb638e2b69c311c38b3ca3d154ff5c40Test.php | 515 +++++ ...3c57787e7dcf078d7faece2ee3c66d0d33Test.php | 514 +++++ ...f26d75a081e929b946f34acb8bead59e58Test.php | 516 +++++ ...e390b787b448608637d9e5bbdeec31a65bTest.php | 514 +++++ ...871ac4067b533ac972902a166d57537a8cTest.php | 508 +++++ ...54ae01f9c548b3bccd799391c3adefdd27Test.php | 514 +++++ ...17fb5d1a46d786482d2357f05fb7bb341cTest.php | 514 +++++ ...96772e5b2acc8de38f3ce3d2fc85020c39Test.php | 515 +++++ ...53896c8d8f6f6cec7173e8678d6ff1ed4cTest.php | 508 +++++ ...e785d5a570938a3eb176bc7041a23c4856Test.php | 514 +++++ ...2cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php | 504 +++++ ...e7d3424eca29de0c16bb52ffd0c03bfaabTest.php | 514 +++++ ...8314676a6664c2b8829c7ffa9e4a5c8a99Test.php | 514 +++++ ...cce23c0b326c67d55c4dca043f94d12d7cTest.php | 515 +++++ ...cf8eabc9b97ec8c709d26ac8d70e443637Test.php | 514 +++++ ...a372b7dbe851cec8d002b70a6fd104f137Test.php | 444 ++++ ...aa54d24a882d231e4fe6b909d52a6c13ddTest.php | 512 +++++ ...b8fd6fbe993b569e522bc12889bc45bd45Test.php | 514 +++++ ...d82ed6d6f7fa5d6905a63fc1ea01418f19Test.php | 513 +++++ ...aee5f0da9489c96041d3a397272ffcd62dTest.php | 514 +++++ ...9aa67ed370bead121d9a6359f3d41728f5Test.php | 504 +++++ ...501ce30c4a71101f16ee68cebeabac3e10Test.php | 505 +++++ ...5dd7d6f468773b06624813d2b38b64cd6cTest.php | 514 +++++ ...4013e28ea5d9b7e08fa399737204cb3aecTest.php | 514 +++++ ...cecf3b6805dace828396eeff3739c0739cTest.php | 514 +++++ ...746a7431e09eda84ae3e9bbcd69405bc92Test.php | 514 +++++ ...0999c57a7f832e2d3206e4997773247102Test.php | 514 +++++ ...34eaa8b54c3b094cab6e091f351cb83622Test.php | 514 +++++ ...ec8b73a544550a6f2c9f252f42a247b968Test.php | 509 +++++ ...3b013132b7ef8915a91981e7be18f81f5aTest.php | 514 +++++ ...01e15ea8ad049a4c4a1116af7499dda0f5Test.php | 514 +++++ ...9e4e7e8ea229213749e675d4c2d9ba99b2Test.php | 514 +++++ ...5fd8a61e03ed26397352f5250d69a6f675Test.php | 509 +++++ ...7650395fe80861cd44b38b7ee3c29b1bc7Test.php | 514 +++++ ...e75a636813ab9adfe68d6392d54a91beecTest.php | 514 +++++ ...703936c1ad094242840e0671f1f99a9c06Test.php | 514 +++++ ...f8271fc5503b3c1ea0902e3969a82f851dTest.php | 514 +++++ ...5ec1790869681ae9438fead5482f7bf551Test.php | 514 +++++ ...2e76afa6c5e8e14f9219d9e346ce057ebdTest.php | 506 +++++ ...95c9f3ce50815f9e2946f842dcbe34191aTest.php | 509 +++++ ...085cde9c42f2e8201348110b42b3c10c98Test.php | 514 +++++ ...1b191788617b54ca1863929220433870ecTest.php | 509 +++++ ...c9096238b4a34e6fb7d25d8cd915949357Test.php | 513 +++++ ...184e86e65259c0385ab6e0d2077ca92c29Test.php | 514 +++++ ...468f204b815621d0a8287573c466b628dcTest.php | 512 +++++ ...c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php | 514 +++++ ...3ab7733713a3a73e9e9680b2b1e9f12223Test.php | 514 +++++ ...c3eba5f2d948f9c4ad63f39d9bb2816496Test.php | 508 +++++ ...00928993c43856bcd34474d2c360f5b33eTest.php | 514 +++++ ...f07af5f0502af2b6486e25ad3bc7ca9131Test.php | 514 +++++ ...2eb8e2d0298069ae8eb384fbb5edd9e3afTest.php | 509 +++++ ...d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php | 514 +++++ ...d94781e0e98a22290190a67843c3b75f90Test.php | 514 +++++ ...c53896b56f2d21a653099ac14c3d4b41f6Test.php | 514 +++++ ...9ec9b4ff97f27a598327d6b656d3cb58beTest.php | 512 +++++ ...f57e357fd82ddbd04e10984667861da8faTest.php | 513 +++++ ...e9a388781d39309b3d04793d436c22211aTest.php | 512 +++++ ...9afe0ce79d4afb08e260ed5e49169d4bc1Test.php | 514 +++++ ...0fe89bf292eed0d3c22bff9e458093678eTest.php | 514 +++++ ...d17f86a31dae055bad15fab1137aea2664Test.php | 514 +++++ ...b84f5f9d192f860deeb4db22c425cef1a3Test.php | 514 +++++ ...dfe1c5f821473612566dc786b5de915ce2Test.php | 506 +++++ ...fc116cf09d223734c0c28dc82ca22d18ceTest.php | 514 +++++ ...3f8af09e2564edea4eaef7fd0c8d599d21Test.php | 514 +++++ ...225a4901d91dc9cd9905e102b68b294e61Test.php | 514 +++++ ...c0eb50f0c870ae1462f8bd3005cfd3475fTest.php | 516 +++++ ...d8396893d1fa7434c874142d9079f5f8d7Test.php | 514 +++++ ...eabf2a316f11607fc4ba06ff70cb101a46Test.php | 514 +++++ ...7567ef4c51e3caa8aeabe7de927fecea42Test.php | 516 +++++ ...9760a2ca53cfcf4dee76fcc3239277bd6eTest.php | 514 +++++ ...e5b343c0d08fdc7ffa7518c75421343e54Test.php | 514 +++++ ...d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php | 514 +++++ ...cd9ab0afc07a1256076160010b1c66477bTest.php | 512 +++++ ...eef6f9f5028a7813b19ba06ec9302ee004Test.php | 514 +++++ ...8647e3d24e9aeacc55d3cb423ab6b78022Test.php | 514 +++++ ...7ccf25432ef9492d669c234f0bd5f87a5aTest.php | 515 +++++ ...e01b36f0d8691a27efd1d9927c1a37c79bTest.php | 514 +++++ ...77b30a317e966d13b4b1f8a219129b4a2eTest.php | 514 +++++ ...dba314447616144d81d842b71af97a36d3Test.php | 514 +++++ ...66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php | 514 +++++ ...3ad7ba05ad9955af9124a22a06ba6cd381Test.php | 514 +++++ ...3642cf7556941185e90f7b914807e5f3ceTest.php | 516 +++++ ...58b0d31b3811adda62a0aa71b879a88125Test.php | 514 +++++ ...37ee38b8756c5a342f330822d1909d88a2Test.php | 514 +++++ ...3469c7a246e477d81095683bd13c971642Test.php | 514 +++++ ...cac49627ea7d374f01d70c0cbbd776ab9aTest.php | 514 +++++ ...872ae7a7b7f40e72437068175784f00bc5Test.php | 514 +++++ .../Target/TypeHintReplacer0Test.php | 61 + .../Target/TypeHintReplacer10Test.php | 117 ++ .../Target/TypeHintReplacer11Test.php | 117 ++ .../Target/TypeHintReplacer12Test.php | 117 ++ .../Target/TypeHintReplacer13Test.php | 117 ++ .../Target/TypeHintReplacer14Test.php | 117 ++ .../Target/TypeHintReplacer15Test.php | 117 ++ .../Target/TypeHintReplacer16Test.php | 117 ++ .../Target/TypeHintReplacer17Test.php | 117 ++ .../Target/TypeHintReplacer18Test.php | 117 ++ .../Target/TypeHintReplacer19Test.php | 117 ++ .../Target/TypeHintReplacer1Test.php | 117 ++ .../Target/TypeHintReplacer20Test.php | 117 ++ .../Target/TypeHintReplacer21Test.php | 117 ++ .../Target/TypeHintReplacer22Test.php | 117 ++ .../Target/TypeHintReplacer23Test.php | 117 ++ .../Target/TypeHintReplacer24Test.php | 117 ++ .../Target/TypeHintReplacer25Test.php | 117 ++ .../Target/TypeHintReplacer26Test.php | 117 ++ .../Target/TypeHintReplacer27Test.php | 117 ++ .../Target/TypeHintReplacer28Test.php | 117 ++ .../Target/TypeHintReplacer29Test.php | 117 ++ .../Target/TypeHintReplacer2Test.php | 117 ++ .../Target/TypeHintReplacer30Test.php | 97 + .../Target/TypeHintReplacer31Test.php | 97 + .../Target/TypeHintReplacer32Test.php | 97 + .../Target/TypeHintReplacer33Test.php | 97 + .../Target/TypeHintReplacer34Test.php | 117 ++ .../Target/TypeHintReplacer35Test.php | 117 ++ .../Target/TypeHintReplacer36Test.php | 117 ++ .../Target/TypeHintReplacer37Test.php | 117 ++ .../Target/TypeHintReplacer38Test.php | 117 ++ .../Target/TypeHintReplacer3Test.php | 117 ++ .../Target/TypeHintReplacer4Test.php | 117 ++ .../Target/TypeHintReplacer5Test.php | 117 ++ .../Target/TypeHintReplacer6Test.php | 117 ++ .../Target/TypeHintReplacer7Test.php | 113 + .../Target/TypeHintReplacer8Test.php | 117 ++ .../Target/TypeHintReplacer9Test.php | 117 ++ vendor-bundle/amphp/amp/lib/CallableMaker.php | 119 ++ .../amphp/amp/lib/CancellationToken.php | 46 + .../amphp/amp/lib/CancellationTokenSource.php | 180 ++ .../amphp/amp/lib/CancelledException.php | 17 + .../amp/lib/CombinedCancellationToken.php | 104 + vendor-bundle/amphp/amp/lib/Coroutine.php | 160 ++ vendor-bundle/amphp/amp/lib/Deferred.php | 89 + vendor-bundle/amphp/amp/lib/Delayed.php | 67 + vendor-bundle/amphp/amp/lib/Emitter.php | 93 + vendor-bundle/amphp/amp/lib/Failure.php | 50 + .../amphp/amp/lib/Internal/Placeholder.php | 180 ++ .../amp/lib/Internal/PrivateIterator.php | 45 + .../amphp/amp/lib/Internal/PrivatePromise.php | 22 + .../amphp/amp/lib/Internal/Producer.php | 198 ++ .../amp/lib/Internal/ResolutionQueue.php | 86 + .../amphp/amp/lib/Internal/functions.php | 138 ++ .../amphp/amp/lib/InvalidYieldError.php | 34 + vendor-bundle/amphp/amp/lib/Iterator.php | 33 + vendor-bundle/amphp/amp/lib/LazyPromise.php | 38 + vendor-bundle/amphp/amp/lib/Loop.php | 573 +++++ vendor-bundle/amphp/amp/lib/Loop/Driver.php | 799 +++++++ .../amphp/amp/lib/Loop/DriverFactory.php | 64 + vendor-bundle/amphp/amp/lib/Loop/EvDriver.php | 301 +++ .../amphp/amp/lib/Loop/EventDriver.php | 320 +++ .../amp/lib/Loop/Internal/TimerQueue.php | 189 ++ .../amp/lib/Loop/InvalidWatcherError.php | 44 + .../amphp/amp/lib/Loop/NativeDriver.php | 437 ++++ .../amphp/amp/lib/Loop/TracingDriver.php | 392 ++++ .../lib/Loop/UnsupportedFeatureException.php | 12 + vendor-bundle/amphp/amp/lib/Loop/UvDriver.php | 324 +++ vendor-bundle/amphp/amp/lib/Loop/Watcher.php | 47 + .../amphp/amp/lib/MultiReasonException.php | 38 + .../amphp/amp/lib/NullCancellationToken.php | 73 + vendor-bundle/amphp/amp/lib/Producer.php | 38 + vendor-bundle/amphp/amp/lib/Promise.php | 37 + vendor-bundle/amphp/amp/lib/Struct.php | 112 + vendor-bundle/amphp/amp/lib/Success.php | 57 + .../amp/lib/TimeoutCancellationToken.php | 102 + .../amphp/amp/lib/TimeoutException.php | 26 + vendor-bundle/amphp/amp/lib/functions.php | 891 ++++++++ vendor-bundle/amphp/amp/psalm.examples.xml | 20 + vendor-bundle/amphp/amp/psalm.xml | 69 + .../lib/Base64/Base64DecodingInputStream.php | 55 + .../lib/Base64/Base64DecodingOutputStream.php | 73 + .../lib/Base64/Base64EncodingInputStream.php | 41 + .../lib/Base64/Base64EncodingOutputStream.php | 53 + .../amphp/byte-stream/lib/ClosedException.php | 7 + .../amphp/byte-stream/lib/InMemoryStream.php | 51 + .../amphp/byte-stream/lib/InputStream.php | 37 + .../byte-stream/lib/InputStreamChain.php | 52 + .../amphp/byte-stream/lib/IteratorStream.php | 63 + .../amphp/byte-stream/lib/LineReader.php | 80 + .../amphp/byte-stream/lib/Message.php | 171 ++ .../amphp/byte-stream/lib/OutputBuffer.php | 65 + .../amphp/byte-stream/lib/OutputStream.php | 35 + .../amphp/byte-stream/lib/Payload.php | 94 + .../byte-stream/lib/PendingReadError.php | 28 + .../byte-stream/lib/ResourceInputStream.php | 241 +++ .../byte-stream/lib/ResourceOutputStream.php | 356 ++++ .../amphp/byte-stream/lib/StreamException.php | 7 + .../amphp/byte-stream/lib/ZlibInputStream.php | 119 ++ .../byte-stream/lib/ZlibOutputStream.php | 142 ++ .../amphp/byte-stream/lib/functions.php | 207 ++ vendor-bundle/amphp/byte-stream/psalm.xml | 53 + vendor-bundle/amphp/parallel/Vagrantfile | 17 + vendor-bundle/amphp/parallel/appveyor.yml | 41 + vendor-bundle/amphp/parallel/docs/Gemfile | 5 + vendor-bundle/amphp/parallel/docs/_config.yml | 29 + .../amphp/parallel/lib/Context/Context.php | 30 + .../parallel/lib/Context/ContextException.php | 7 + .../parallel/lib/Context/ContextFactory.php | 26 + .../lib/Context/DefaultContextFactory.php | 48 + .../lib/Context/Internal/ParallelHub.php | 67 + .../lib/Context/Internal/ProcessHub.php | 169 ++ .../parallel/lib/Context/Internal/Thread.php | 147 ++ .../lib/Context/Internal/process-runner.php | 116 ++ .../amphp/parallel/lib/Context/Parallel.php | 489 +++++ .../amphp/parallel/lib/Context/Process.php | 456 ++++ .../parallel/lib/Context/StatusError.php | 7 + .../amphp/parallel/lib/Context/Thread.php | 329 +++ .../amphp/parallel/lib/Context/functions.php | 68 + .../amphp/parallel/lib/Sync/Channel.php | 34 + .../parallel/lib/Sync/ChannelException.php | 7 + .../amphp/parallel/lib/Sync/ChannelParser.php | 68 + .../parallel/lib/Sync/ChannelledSocket.php | 69 + .../parallel/lib/Sync/ChannelledStream.php | 84 + .../parallel/lib/Sync/ContextPanicError.php | 115 + .../amphp/parallel/lib/Sync/ExitFailure.php | 43 + .../amphp/parallel/lib/Sync/ExitResult.php | 13 + .../amphp/parallel/lib/Sync/ExitSuccess.php | 20 + .../lib/Sync/Internal/ParcelStorage.php | 30 + .../amphp/parallel/lib/Sync/PanicError.php | 91 + .../amphp/parallel/lib/Sync/Parcel.php | 36 + .../parallel/lib/Sync/ParcelException.php | 7 + .../lib/Sync/SharedMemoryException.php | 7 + .../parallel/lib/Sync/SharedMemoryParcel.php | 583 ++++++ .../lib/Sync/SynchronizationError.php | 7 + .../parallel/lib/Sync/ThreadedParcel.php | 64 + .../amphp/parallel/lib/Sync/functions.php | 146 ++ .../parallel/lib/Worker/BasicEnvironment.php | 238 +++ .../lib/Worker/BootstrapWorkerFactory.php | 79 + .../parallel/lib/Worker/CallableTask.php | 41 + .../amphp/parallel/lib/Worker/DefaultPool.php | 294 +++ .../lib/Worker/DefaultWorkerFactory.php | 65 + .../amphp/parallel/lib/Worker/Environment.php | 33 + .../parallel/lib/Worker/Internal/Job.php | 43 + .../lib/Worker/Internal/PooledWorker.php | 91 + .../lib/Worker/Internal/TaskFailure.php | 71 + .../lib/Worker/Internal/TaskResult.php | 44 + .../lib/Worker/Internal/TaskSuccess.php | 41 + .../lib/Worker/Internal/WorkerProcess.php | 86 + .../lib/Worker/Internal/worker-process.php | 39 + .../amphp/parallel/lib/Worker/Pool.php | 39 + .../amphp/parallel/lib/Worker/Task.php | 20 + .../amphp/parallel/lib/Worker/TaskError.php | 88 + .../parallel/lib/Worker/TaskException.php | 88 + .../parallel/lib/Worker/TaskFailureError.php | 117 ++ .../lib/Worker/TaskFailureException.php | 117 ++ .../lib/Worker/TaskFailureThrowable.php | 34 + .../amphp/parallel/lib/Worker/TaskRunner.php | 65 + .../amphp/parallel/lib/Worker/TaskWorker.php | 218 ++ .../amphp/parallel/lib/Worker/Worker.php | 41 + .../parallel/lib/Worker/WorkerException.php | 7 + .../parallel/lib/Worker/WorkerFactory.php | 16 + .../parallel/lib/Worker/WorkerParallel.php | 43 + .../parallel/lib/Worker/WorkerProcess.php | 54 + .../parallel/lib/Worker/WorkerThread.php | 83 + .../amphp/parallel/lib/Worker/functions.php | 115 + vendor-bundle/amphp/parser/docs/Gemfile | 5 + vendor-bundle/amphp/parser/docs/Gemfile.lock | 202 ++ vendor-bundle/amphp/parser/docs/_config.yml | 23 + .../parser/lib/InvalidDelimiterError.php | 34 + vendor-bundle/amphp/parser/lib/Parser.php | 129 ++ vendor-bundle/amphp/process/appveyor.yml | 41 + .../process/bin/windows/ProcessWrapper.exe | Bin 0 -> 78848 bytes .../process/bin/windows/ProcessWrapper64.exe | Bin 0 -> 83968 bytes .../process/lib/Internal/Posix/Handle.php | 28 + .../process/lib/Internal/Posix/Runner.php | 255 +++ .../process/lib/Internal/ProcessHandle.php | 22 + .../process/lib/Internal/ProcessRunner.php | 53 + .../process/lib/Internal/ProcessStatus.php | 14 + .../process/lib/Internal/Windows/Handle.php | 40 + .../lib/Internal/Windows/HandshakeStatus.php | 21 + .../Internal/Windows/PendingSocketClient.php | 18 + .../process/lib/Internal/Windows/Runner.php | 228 ++ .../lib/Internal/Windows/SignalCode.php | 19 + .../lib/Internal/Windows/SocketConnector.php | 294 +++ vendor-bundle/amphp/process/lib/Process.php | 321 +++ .../amphp/process/lib/ProcessException.php | 7 + .../amphp/process/lib/ProcessInputStream.php | 118 ++ .../amphp/process/lib/ProcessOutputStream.php | 132 ++ .../amphp/process/lib/StatusError.php | 7 + vendor-bundle/amphp/process/lib/functions.php | 71 + .../src/CompressingSerializer.php | 57 + .../serialization/src/JsonSerializer.php | 165 ++ .../serialization/src/NativeSerializer.php | 59 + .../src/PassthroughSerializer.php | 41 + .../src/SerializationException.php | 7 + .../amphp/serialization/src/Serializer.php | 23 + .../amphp/serialization/src/functions.php | 38 + vendor-bundle/amphp/sync/docs/Gemfile | 5 + vendor-bundle/amphp/sync/docs/_config.yml | 28 + vendor-bundle/amphp/sync/src/Barrier.php | 104 + .../sync/src/ConcurrentIterator/functions.php | 165 ++ vendor-bundle/amphp/sync/src/FileMutex.php | 84 + .../amphp/sync/src/Internal/MutexStorage.php | 53 + .../sync/src/Internal/SemaphoreStorage.php | 86 + vendor-bundle/amphp/sync/src/KeyedMutex.php | 14 + .../amphp/sync/src/KeyedSemaphore.php | 14 + .../amphp/sync/src/LocalKeyedMutex.php | 42 + .../amphp/sync/src/LocalKeyedSemaphore.php | 55 + vendor-bundle/amphp/sync/src/LocalMutex.php | 44 + .../amphp/sync/src/LocalSemaphore.php | 58 + vendor-bundle/amphp/sync/src/Lock.php | 91 + vendor-bundle/amphp/sync/src/Mutex.php | 14 + .../amphp/sync/src/PosixSemaphore.php | 313 +++ .../amphp/sync/src/PrefixedKeyedMutex.php | 39 + .../amphp/sync/src/PrefixedKeyedSemaphore.php | 39 + vendor-bundle/amphp/sync/src/Semaphore.php | 14 + .../amphp/sync/src/SemaphoreMutex.php | 35 + .../amphp/sync/src/StaticKeyMutex.php | 32 + .../amphp/sync/src/SyncException.php | 7 + .../amphp/sync/src/ThreadedMutex.php | 35 + .../amphp/sync/src/ThreadedSemaphore.php | 50 + vendor-bundle/amphp/sync/src/functions.php | 33 + .../amphp/sync/travis/install-pcov.sh | 26 + .../amphp/sync/travis/install-pthreads.sh | 11 + vendor-bundle/autoload.php | 3 + vendor-bundle/phabel/php-parser/bin/php-parse | 180 ++ .../phabel/php-parser/grammar/parser.template | 106 + .../phabel/php-parser/grammar/php5.y | 1026 +++++++++ .../phabel/php-parser/grammar/php7.y | 1138 ++++++++++ .../php-parser/grammar/rebuildParsers.php | 183 ++ .../phabel/php-parser/grammar/tokens.template | 17 + .../phabel/php-parser/grammar/tokens.y | 113 + .../php-parser/lib/PhpParser/Builder.php | 13 + .../lib/PhpParser/Builder/Class_.php | 112 + .../lib/PhpParser/Builder/Declaration.php | 37 + .../lib/PhpParser/Builder/FunctionLike.php | 66 + .../lib/PhpParser/Builder/Function_.php | 54 + .../lib/PhpParser/Builder/Interface_.php | 79 + .../lib/PhpParser/Builder/Method.php | 124 ++ .../lib/PhpParser/Builder/Namespace_.php | 47 + .../lib/PhpParser/Builder/Param.php | 105 + .../lib/PhpParser/Builder/Property.php | 124 ++ .../lib/PhpParser/Builder/TraitUse.php | 65 + .../PhpParser/Builder/TraitUseAdaptation.php | 150 ++ .../lib/PhpParser/Builder/Trait_.php | 64 + .../php-parser/lib/PhpParser/Builder/Use_.php | 64 + .../lib/PhpParser/BuilderFactory.php | 480 +++++ .../lib/PhpParser/BuilderHelpers.php | 349 ++++ .../php-parser/lib/PhpParser/Comment.php | 390 ++++ .../php-parser/lib/PhpParser/Comment/Doc.php | 7 + .../ConstExprEvaluationException.php | 7 + .../lib/PhpParser/ConstExprEvaluator.php | 239 +++ .../phabel/php-parser/lib/PhpParser/Error.php | 295 +++ .../php-parser/lib/PhpParser/ErrorHandler.php | 13 + .../lib/PhpParser/ErrorHandler/Collecting.php | 57 + .../lib/PhpParser/ErrorHandler/Throwing.php | 18 + .../lib/PhpParser/Internal/DiffElem.php | 33 + .../lib/PhpParser/Internal/Differ.php | 171 ++ .../Internal/PrintableNewAnonClassNode.php | 66 + .../lib/PhpParser/Internal/TokenStream.php | 462 +++++ .../php-parser/lib/PhpParser/JsonDecoder.php | 143 ++ .../phabel/php-parser/lib/PhpParser/Lexer.php | 490 +++++ .../lib/PhpParser/Lexer/Emulative.php | 240 +++ .../Lexer/TokenEmulator/AttributeEmulator.php | 109 + .../CoaleseEqualTokenEmulator.php | 85 + .../FlexibleDocStringEmulator.php | 133 ++ .../Lexer/TokenEmulator/FnTokenEmulator.php | 44 + .../Lexer/TokenEmulator/KeywordEmulator.php | 95 + .../TokenEmulator/MatchTokenEmulator.php | 44 + .../TokenEmulator/NullsafeTokenEmulator.php | 93 + .../NumericLiteralSeparatorEmulator.php | 147 ++ .../Lexer/TokenEmulator/ReverseEmulator.php | 96 + .../Lexer/TokenEmulator/TokenEmulator.php | 37 + .../php-parser/lib/PhpParser/NameContext.php | 335 +++ .../phabel/php-parser/lib/PhpParser/Node.php | 135 ++ .../php-parser/lib/PhpParser/Node/Arg.php | 67 + .../lib/PhpParser/Node/Attribute.php | 44 + .../lib/PhpParser/Node/AttributeGroup.php | 40 + .../php-parser/lib/PhpParser/Node/Const_.php | 48 + .../php-parser/lib/PhpParser/Node/Expr.php | 8 + .../lib/PhpParser/Node/Expr/ArrayDimFetch.php | 45 + .../lib/PhpParser/Node/Expr/ArrayItem.php | 66 + .../lib/PhpParser/Node/Expr/Array_.php | 46 + .../lib/PhpParser/Node/Expr/ArrowFunction.php | 106 + .../lib/PhpParser/Node/Expr/Assign.php | 45 + .../lib/PhpParser/Node/Expr/AssignOp.php | 33 + .../Node/Expr/AssignOp/BitwiseAnd.php | 20 + .../Node/Expr/AssignOp/BitwiseOr.php | 20 + .../Node/Expr/AssignOp/BitwiseXor.php | 20 + .../PhpParser/Node/Expr/AssignOp/Coalesce.php | 20 + .../PhpParser/Node/Expr/AssignOp/Concat.php | 20 + .../lib/PhpParser/Node/Expr/AssignOp/Div.php | 20 + .../PhpParser/Node/Expr/AssignOp/Minus.php | 20 + .../lib/PhpParser/Node/Expr/AssignOp/Mod.php | 20 + .../lib/PhpParser/Node/Expr/AssignOp/Mul.php | 20 + .../lib/PhpParser/Node/Expr/AssignOp/Plus.php | 20 + .../lib/PhpParser/Node/Expr/AssignOp/Pow.php | 20 + .../Node/Expr/AssignOp/ShiftLeft.php | 20 + .../Node/Expr/AssignOp/ShiftRight.php | 20 + .../lib/PhpParser/Node/Expr/AssignRef.php | 45 + .../lib/PhpParser/Node/Expr/BinaryOp.php | 42 + .../Node/Expr/BinaryOp/BitwiseAnd.php | 32 + .../Node/Expr/BinaryOp/BitwiseOr.php | 32 + .../Node/Expr/BinaryOp/BitwiseXor.php | 32 + .../Node/Expr/BinaryOp/BooleanAnd.php | 32 + .../Node/Expr/BinaryOp/BooleanOr.php | 32 + .../PhpParser/Node/Expr/BinaryOp/Coalesce.php | 32 + .../PhpParser/Node/Expr/BinaryOp/Concat.php | 32 + .../lib/PhpParser/Node/Expr/BinaryOp/Div.php | 32 + .../PhpParser/Node/Expr/BinaryOp/Equal.php | 32 + .../PhpParser/Node/Expr/BinaryOp/Greater.php | 32 + .../Node/Expr/BinaryOp/GreaterOrEqual.php | 32 + .../Node/Expr/BinaryOp/Identical.php | 32 + .../Node/Expr/BinaryOp/LogicalAnd.php | 32 + .../Node/Expr/BinaryOp/LogicalOr.php | 32 + .../Node/Expr/BinaryOp/LogicalXor.php | 32 + .../PhpParser/Node/Expr/BinaryOp/Minus.php | 32 + .../lib/PhpParser/Node/Expr/BinaryOp/Mod.php | 32 + .../lib/PhpParser/Node/Expr/BinaryOp/Mul.php | 32 + .../PhpParser/Node/Expr/BinaryOp/NotEqual.php | 32 + .../Node/Expr/BinaryOp/NotIdentical.php | 32 + .../lib/PhpParser/Node/Expr/BinaryOp/Plus.php | 32 + .../lib/PhpParser/Node/Expr/BinaryOp/Pow.php | 32 + .../Node/Expr/BinaryOp/ShiftLeft.php | 32 + .../Node/Expr/BinaryOp/ShiftRight.php | 32 + .../PhpParser/Node/Expr/BinaryOp/Smaller.php | 32 + .../Node/Expr/BinaryOp/SmallerOrEqual.php | 32 + .../Node/Expr/BinaryOp/Spaceship.php | 32 + .../lib/PhpParser/Node/Expr/BitwiseNot.php | 41 + .../lib/PhpParser/Node/Expr/BooleanNot.php | 41 + .../lib/PhpParser/Node/Expr/Cast.php | 29 + .../lib/PhpParser/Node/Expr/Cast/Array_.php | 20 + .../lib/PhpParser/Node/Expr/Cast/Bool_.php | 20 + .../lib/PhpParser/Node/Expr/Cast/Double.php | 27 + .../lib/PhpParser/Node/Expr/Cast/Int_.php | 20 + .../lib/PhpParser/Node/Expr/Cast/Object_.php | 20 + .../lib/PhpParser/Node/Expr/Cast/String_.php | 20 + .../lib/PhpParser/Node/Expr/Cast/Unset_.php | 20 + .../PhpParser/Node/Expr/ClassConstFetch.php | 47 + .../lib/PhpParser/Node/Expr/Clone_.php | 41 + .../lib/PhpParser/Node/Expr/Closure.php | 110 + .../lib/PhpParser/Node/Expr/ClosureUse.php | 52 + .../lib/PhpParser/Node/Expr/ConstFetch.php | 42 + .../lib/PhpParser/Node/Expr/Empty_.php | 41 + .../lib/PhpParser/Node/Expr/Error.php | 43 + .../lib/PhpParser/Node/Expr/ErrorSuppress.php | 41 + .../lib/PhpParser/Node/Expr/Eval_.php | 41 + .../lib/PhpParser/Node/Expr/Exit_.php | 44 + .../lib/PhpParser/Node/Expr/FuncCall.php | 46 + .../lib/PhpParser/Node/Expr/Include_.php | 56 + .../lib/PhpParser/Node/Expr/Instanceof_.php | 46 + .../lib/PhpParser/Node/Expr/Isset_.php | 41 + .../lib/PhpParser/Node/Expr/List_.php | 41 + .../lib/PhpParser/Node/Expr/Match_.php | 42 + .../lib/PhpParser/Node/Expr/MethodCall.php | 51 + .../lib/PhpParser/Node/Expr/New_.php | 46 + .../Node/Expr/NullsafeMethodCall.php | 51 + .../Node/Expr/NullsafePropertyFetch.php | 46 + .../lib/PhpParser/Node/Expr/PostDec.php | 41 + .../lib/PhpParser/Node/Expr/PostInc.php | 41 + .../lib/PhpParser/Node/Expr/PreDec.php | 41 + .../lib/PhpParser/Node/Expr/PreInc.php | 41 + .../lib/PhpParser/Node/Expr/Print_.php | 41 + .../lib/PhpParser/Node/Expr/PropertyFetch.php | 46 + .../lib/PhpParser/Node/Expr/ShellExec.php | 41 + .../lib/PhpParser/Node/Expr/StaticCall.php | 51 + .../Node/Expr/StaticPropertyFetch.php | 47 + .../lib/PhpParser/Node/Expr/Ternary.php | 49 + .../lib/PhpParser/Node/Expr/Throw_.php | 41 + .../lib/PhpParser/Node/Expr/UnaryMinus.php | 41 + .../lib/PhpParser/Node/Expr/UnaryPlus.php | 41 + .../lib/PhpParser/Node/Expr/Variable.php | 41 + .../lib/PhpParser/Node/Expr/YieldFrom.php | 41 + .../lib/PhpParser/Node/Expr/Yield_.php | 45 + .../lib/PhpParser/Node/FunctionLike.php | 38 + .../lib/PhpParser/Node/Identifier.php | 120 ++ .../lib/PhpParser/Node/MatchArm.php | 42 + .../php-parser/lib/PhpParser/Node/Name.php | 353 ++++ .../PhpParser/Node/Name/FullyQualified.php | 99 + .../lib/PhpParser/Node/Name/Relative.php | 99 + .../lib/PhpParser/Node/NullableType.php | 41 + .../php-parser/lib/PhpParser/Node/Param.php | 86 + .../php-parser/lib/PhpParser/Node/Scalar.php | 7 + .../lib/PhpParser/Node/Scalar/DNumber.php | 130 ++ .../lib/PhpParser/Node/Scalar/Encapsed.php | 42 + .../Node/Scalar/EncapsedStringPart.php | 48 + .../lib/PhpParser/Node/Scalar/LNumber.php | 115 + .../lib/PhpParser/Node/Scalar/MagicConst.php | 31 + .../Node/Scalar/MagicConst/Class_.php | 32 + .../PhpParser/Node/Scalar/MagicConst/Dir.php | 32 + .../PhpParser/Node/Scalar/MagicConst/File.php | 32 + .../Node/Scalar/MagicConst/Function_.php | 32 + .../PhpParser/Node/Scalar/MagicConst/Line.php | 32 + .../Node/Scalar/MagicConst/Method.php | 32 + .../Node/Scalar/MagicConst/Namespace_.php | 32 + .../Node/Scalar/MagicConst/Trait_.php | 32 + .../lib/PhpParser/Node/Scalar/String_.php | 226 ++ .../php-parser/lib/PhpParser/Node/Stmt.php | 8 + .../lib/PhpParser/Node/Stmt/Break_.php | 41 + .../lib/PhpParser/Node/Stmt/Case_.php | 45 + .../lib/PhpParser/Node/Stmt/Catch_.php | 50 + .../lib/PhpParser/Node/Stmt/ClassConst.php | 107 + .../lib/PhpParser/Node/Stmt/ClassLike.php | 138 ++ .../lib/PhpParser/Node/Stmt/ClassMethod.php | 224 ++ .../lib/PhpParser/Node/Stmt/Class_.php | 137 ++ .../lib/PhpParser/Node/Stmt/Const_.php | 41 + .../lib/PhpParser/Node/Stmt/Continue_.php | 41 + .../PhpParser/Node/Stmt/DeclareDeclare.php | 45 + .../lib/PhpParser/Node/Stmt/Declare_.php | 45 + .../lib/PhpParser/Node/Stmt/Do_.php | 45 + .../lib/PhpParser/Node/Stmt/Echo_.php | 41 + .../lib/PhpParser/Node/Stmt/ElseIf_.php | 45 + .../lib/PhpParser/Node/Stmt/Else_.php | 41 + .../lib/PhpParser/Node/Stmt/Expression.php | 44 + .../lib/PhpParser/Node/Stmt/Finally_.php | 41 + .../lib/PhpParser/Node/Stmt/For_.php | 54 + .../lib/PhpParser/Node/Stmt/Foreach_.php | 58 + .../lib/PhpParser/Node/Stmt/Function_.php | 108 + .../lib/PhpParser/Node/Stmt/Global_.php | 41 + .../lib/PhpParser/Node/Stmt/Goto_.php | 42 + .../lib/PhpParser/Node/Stmt/GroupUse.php | 57 + .../lib/PhpParser/Node/Stmt/HaltCompiler.php | 48 + .../lib/PhpParser/Node/Stmt/If_.php | 54 + .../lib/PhpParser/Node/Stmt/InlineHTML.php | 48 + .../lib/PhpParser/Node/Stmt/Interface_.php | 48 + .../lib/PhpParser/Node/Stmt/Label.php | 42 + .../lib/PhpParser/Node/Stmt/Namespace_.php | 48 + .../lib/PhpParser/Node/Stmt/Nop.php | 29 + .../lib/PhpParser/Node/Stmt/Property.php | 132 ++ .../PhpParser/Node/Stmt/PropertyProperty.php | 45 + .../lib/PhpParser/Node/Stmt/Return_.php | 41 + .../lib/PhpParser/Node/Stmt/StaticVar.php | 46 + .../lib/PhpParser/Node/Stmt/Static_.php | 41 + .../lib/PhpParser/Node/Stmt/Switch_.php | 45 + .../lib/PhpParser/Node/Stmt/Throw_.php | 41 + .../lib/PhpParser/Node/Stmt/TraitUse.php | 45 + .../Node/Stmt/TraitUseAdaptation.php | 12 + .../Node/Stmt/TraitUseAdaptation/Alias.php | 49 + .../Stmt/TraitUseAdaptation/Precedence.php | 45 + .../lib/PhpParser/Node/Stmt/Trait_.php | 44 + .../lib/PhpParser/Node/Stmt/TryCatch.php | 49 + .../lib/PhpParser/Node/Stmt/Unset_.php | 41 + .../lib/PhpParser/Node/Stmt/UseUse.php | 77 + .../lib/PhpParser/Node/Stmt/Use_.php | 64 + .../lib/PhpParser/Node/Stmt/While_.php | 45 + .../lib/PhpParser/Node/UnionType.php | 41 + .../lib/PhpParser/Node/VarLikeIdentifier.php | 26 + .../php-parser/lib/PhpParser/NodeAbstract.php | 272 +++ .../php-parser/lib/PhpParser/NodeDumper.php | 194 ++ .../php-parser/lib/PhpParser/NodeFinder.php | 97 + .../lib/PhpParser/NodeTraverser.php | 257 +++ .../lib/PhpParser/NodeTraverserInterface.php | 27 + .../php-parser/lib/PhpParser/NodeVisitor.php | 69 + .../PhpParser/NodeVisitor/CloningVisitor.php | 20 + .../PhpParser/NodeVisitor/FindingVisitor.php | 49 + .../NodeVisitor/FirstFindingVisitor.php | 47 + .../PhpParser/NodeVisitor/NameResolver.php | 244 +++ .../NodeVisitor/NodeConnectingVisitor.php | 47 + .../NodeVisitor/ParentConnectingVisitor.php | 36 + .../lib/PhpParser/NodeVisitorAbstract.php | 26 + .../php-parser/lib/PhpParser/Parser.php | 18 + .../lib/PhpParser/Parser/Multiple.php | 59 + .../php-parser/lib/PhpParser/Parser/Php5.php | 1302 ++++++++++++ .../php-parser/lib/PhpParser/Parser/Php7.php | 1348 ++++++++++++ .../lib/PhpParser/Parser/Tokens.php | 144 ++ .../lib/PhpParser/ParserAbstract.php | 991 +++++++++ .../lib/PhpParser/ParserFactory.php | 62 + .../lib/PhpParser/PrettyPrinter/Standard.php | 951 +++++++++ .../lib/PhpParser/PrettyPrinterAbstract.php | 1668 +++++++++++++++ .../phabel/php-parser/tools/convertPhabel.php | 70 + .../src/ContainerExceptionInterface.php | 10 + .../psr/container/src/ContainerInterface.php | 33 + .../src/NotFoundExceptionInterface.php | 10 + .../psr/log/Psr/Log/AbstractLogger.php | 121 ++ .../log/Psr/Log/InvalidArgumentException.php | 7 + vendor-bundle/psr/log/Psr/Log/LogLevel.php | 18 + .../psr/log/Psr/Log/LoggerAwareInterface.php | 18 + .../psr/log/Psr/Log/LoggerAwareTrait.php | 25 + .../psr/log/Psr/Log/LoggerInterface.php | 117 ++ vendor-bundle/psr/log/Psr/Log/LoggerTrait.php | 134 ++ vendor-bundle/psr/log/Psr/Log/NullLogger.php | 30 + .../psr/log/Psr/Log/Test/DummyTest.php | 18 + .../log/Psr/Log/Test/LoggerInterfaceTest.php | 93 + .../psr/log/Psr/Log/Test/TestLogger.php | 132 ++ .../getallheaders/src/getallheaders.php | 38 + vendor-bundle/symfony/console/Application.php | 1262 +++++++++++ .../symfony/console/Attribute/AsCommand.php | 54 + .../console/CI/GithubActionReporter.php | 227 ++ vendor-bundle/symfony/console/Color.php | 331 +++ .../symfony/console/Command/Command.php | 758 +++++++ .../symfony/console/Command/HelpCommand.php | 62 + .../symfony/console/Command/LazyCommand.php | 373 ++++ .../symfony/console/Command/ListCommand.php | 58 + .../symfony/console/Command/LockableTrait.php | 92 + .../Command/SignalableCommandInterface.php | 28 + .../CommandLoader/CommandLoaderInterface.php | 38 + .../CommandLoader/ContainerCommandLoader.php | 70 + .../CommandLoader/FactoryCommandLoader.php | 68 + .../symfony/console/ConsoleEvents.php | 61 + vendor-bundle/symfony/console/Cursor.php | 241 +++ .../AddConsoleCommandPass.php | 146 ++ .../Descriptor/ApplicationDescription.php | 159 ++ .../symfony/console/Descriptor/Descriptor.php | 101 + .../Descriptor/DescriptorInterface.php | 22 + .../console/Descriptor/JsonDescriptor.php | 157 ++ .../console/Descriptor/MarkdownDescriptor.php | 210 ++ .../console/Descriptor/TextDescriptor.php | 340 +++ .../console/Descriptor/XmlDescriptor.php | 249 +++ .../console/Event/ConsoleCommandEvent.php | 70 + .../console/Event/ConsoleErrorEvent.php | 68 + .../symfony/console/Event/ConsoleEvent.php | 60 + .../console/Event/ConsoleSignalEvent.php | 46 + .../console/Event/ConsoleTerminateEvent.php | 59 + .../console/EventListener/ErrorListener.php | 103 + .../Exception/CommandNotFoundException.php | 53 + .../console/Exception/ExceptionInterface.php | 20 + .../Exception/InvalidArgumentException.php | 18 + .../Exception/InvalidOptionException.php | 20 + .../console/Exception/LogicException.php | 18 + .../Exception/MissingInputException.php | 20 + .../Exception/NamespaceNotFoundException.php | 20 + .../console/Exception/RuntimeException.php | 18 + .../console/Formatter/NullOutputFormatter.php | 126 ++ .../Formatter/NullOutputFormatterStyle.php | 107 + .../console/Formatter/OutputFormatter.php | 398 ++++ .../Formatter/OutputFormatterInterface.php | 52 + .../Formatter/OutputFormatterStyle.php | 158 ++ .../OutputFormatterStyleInterface.php | 46 + .../Formatter/OutputFormatterStyleStack.php | 94 + .../WrappableOutputFormatterInterface.php | 24 + .../console/Helper/DebugFormatterHelper.php | 191 ++ .../console/Helper/DescriptorHelper.php | 80 + .../symfony/console/Helper/Dumper.php | 116 ++ .../console/Helper/FormatterHelper.php | 137 ++ .../symfony/console/Helper/Helper.php | 263 +++ .../console/Helper/HelperInterface.php | 36 + .../symfony/console/Helper/HelperSet.php | 110 + .../console/Helper/InputAwareHelper.php | 30 + .../symfony/console/Helper/ProcessHelper.php | 186 ++ .../symfony/console/Helper/ProgressBar.php | 887 ++++++++ .../console/Helper/ProgressIndicator.php | 312 +++ .../symfony/console/Helper/QuestionHelper.php | 638 ++++++ .../console/Helper/SymfonyQuestionHelper.php | 101 + .../symfony/console/Helper/Table.php | 979 +++++++++ .../symfony/console/Helper/TableCell.php | 75 + .../symfony/console/Helper/TableCellStyle.php | 70 + .../symfony/console/Helper/TableRows.php | 32 + .../symfony/console/Helper/TableSeparator.php | 27 + .../symfony/console/Helper/TableStyle.php | 541 +++++ .../symfony/console/Input/ArgvInput.php | 378 ++++ .../symfony/console/Input/ArrayInput.php | 208 ++ vendor-bundle/symfony/console/Input/Input.php | 240 +++ .../symfony/console/Input/InputArgument.php | 138 ++ .../console/Input/InputAwareInterface.php | 25 + .../symfony/console/Input/InputDefinition.php | 452 ++++ .../symfony/console/Input/InputInterface.php | 135 ++ .../symfony/console/Input/InputOption.php | 228 ++ .../Input/StreamableInputInterface.php | 35 + .../symfony/console/Input/StringInput.php | 79 + .../symfony/console/Logger/ConsoleLogger.php | 119 ++ .../symfony/console/Output/BufferedOutput.php | 54 + .../symfony/console/Output/ConsoleOutput.php | 187 ++ .../console/Output/ConsoleOutputInterface.php | 29 + .../console/Output/ConsoleSectionOutput.php | 208 ++ .../symfony/console/Output/NullOutput.php | 149 ++ .../symfony/console/Output/Output.php | 204 ++ .../console/Output/OutputInterface.php | 95 + .../symfony/console/Output/StreamOutput.php | 127 ++ .../console/Output/TrimmedBufferOutput.php | 91 + .../console/Question/ChoiceQuestion.php | 192 ++ .../console/Question/ConfirmationQuestion.php | 75 + .../symfony/console/Question/Question.php | 343 +++ .../console/Resources/bin/hiddeninput.exe | Bin 0 -> 9216 bytes .../console/SignalRegistry/SignalRegistry.php | 92 + .../console/SingleCommandApplication.php | 95 + .../symfony/console/Style/OutputStyle.php | 183 ++ .../symfony/console/Style/StyleInterface.php | 114 + .../symfony/console/Style/SymfonyStyle.php | 655 ++++++ vendor-bundle/symfony/console/Terminal.php | 211 ++ .../console/Tester/ApplicationTester.php | 59 + .../symfony/console/Tester/CommandTester.php | 65 + .../symfony/console/Tester/TesterTrait.php | 171 ++ .../deprecation-contracts/function.php | 49 + .../symfony/polyfill-ctype/Ctype.php | 201 ++ .../symfony/polyfill-ctype/bootstrap.php | 82 + .../symfony/polyfill-ctype/bootstrap80.php | 167 ++ .../polyfill-intl-grapheme/Grapheme.php | 210 ++ .../polyfill-intl-grapheme/bootstrap.php | 82 + .../polyfill-intl-grapheme/bootstrap80.php | 400 ++++ .../polyfill-intl-normalizer/Normalizer.php | 286 +++ .../Resources/stubs/Normalizer.php | 20 + .../unidata/canonicalComposition.php | 5 + .../unidata/canonicalDecomposition.php | 5 + .../Resources/unidata/combiningClass.php | 5 + .../unidata/compatibilityDecomposition.php | 5 + .../polyfill-intl-normalizer/bootstrap.php | 28 + .../polyfill-intl-normalizer/bootstrap80.php | 79 + .../symfony/polyfill-mbstring/Mbstring.php | 695 +++++++ .../Resources/unidata/lowerCase.php | 5 + .../Resources/unidata/titleCaseRegexp.php | 6 + .../Resources/unidata/upperCase.php | 5 + .../symfony/polyfill-mbstring/bootstrap.php | 258 +++ .../symfony/polyfill-mbstring/bootstrap80.php | 1458 +++++++++++++ .../symfony/polyfill-php72/Php72.php | 176 ++ .../symfony/polyfill-php72/bootstrap.php | 80 + .../symfony/polyfill-php73/Php73.php | 38 + .../Resources/stubs/JsonException.php | 24 + .../symfony/polyfill-php73/bootstrap.php | 44 + .../symfony/polyfill-php74/Php74.php | 75 + .../symfony/polyfill-php74/bootstrap.php | 34 + .../symfony/polyfill-php80/Php80.php | 349 ++++ .../Resources/stubs/Attribute.php | 30 + .../Resources/stubs/Stringable.php | 13 + .../Resources/stubs/UnhandledMatchError.php | 8 + .../Resources/stubs/ValueError.php | 8 + .../symfony/polyfill-php80/bootstrap.php | 185 ++ .../process/Exception/ExceptionInterface.php | 20 + .../Exception/InvalidArgumentException.php | 20 + .../process/Exception/LogicException.php | 20 + .../Exception/ProcessFailedException.php | 42 + .../Exception/ProcessSignaledException.php | 47 + .../Exception/ProcessTimedOutException.php | 61 + .../process/Exception/RuntimeException.php | 20 + .../symfony/process/ExecutableFinder.php | 100 + vendor-bundle/symfony/process/InputStream.php | 84 + .../symfony/process/PhpExecutableFinder.php | 92 + vendor-bundle/symfony/process/PhpProcess.php | 117 ++ .../symfony/process/Pipes/AbstractPipes.php | 204 ++ .../symfony/process/Pipes/PipesInterface.php | 54 + .../symfony/process/Pipes/UnixPipes.php | 212 ++ .../symfony/process/Pipes/WindowsPipes.php | 227 ++ vendor-bundle/symfony/process/Process.php | 1847 +++++++++++++++++ .../symfony/process/ProcessUtils.php | 71 + .../service-contracts/Attribute/Required.php | 24 + .../service-contracts/ResetInterface.php | 29 + .../service-contracts/ServiceLocatorTrait.php | 167 ++ .../ServiceProviderInterface.php | 34 + .../ServiceSubscriberInterface.php | 52 + .../ServiceSubscriberTrait.php | 63 + .../Test/ServiceLocatorTest.php | 90 + .../symfony/string/AbstractString.php | 989 +++++++++ .../symfony/string/AbstractUnicodeString.php | 763 +++++++ vendor-bundle/symfony/string/ByteString.php | 945 +++++++++ .../symfony/string/CodePointString.php | 545 +++++ .../string/Exception/ExceptionInterface.php | 15 + .../Exception/InvalidArgumentException.php | 15 + .../string/Exception/RuntimeException.php | 15 + .../string/Inflector/EnglishInflector.php | 422 ++++ .../string/Inflector/FrenchInflector.php | 181 ++ .../string/Inflector/InflectorInterface.php | 31 + vendor-bundle/symfony/string/LazyString.php | 225 ++ .../Resources/data/wcswidth_table_wide.php | 11 + .../Resources/data/wcswidth_table_zero.php | 11 + .../symfony/string/Resources/functions.php | 73 + .../symfony/string/Slugger/AsciiSlugger.php | 226 ++ .../string/Slugger/SluggerInterface.php | 25 + .../symfony/string/UnicodeString.php | 663 ++++++ 944 files changed, 146182 insertions(+), 855 deletions(-) create mode 100644 tests/Target/GeneratorTypeHintReplacerTest.php create mode 100644 tests/Target/IssetExpressionFixerTest.php create mode 100644 tests/Target/NestedExpressionFixerTest.php create mode 100644 tests/Target/Php70/AnonymousClassReplacerTest.php create mode 100644 tests/Target/Php70/ClosureCallReplacerTest.php create mode 100644 tests/Target/Php70/DefineArrayReplacerTest.php create mode 100644 tests/Target/Php70/GroupUseReplacerTest.php create mode 100644 tests/Target/Php70/NullCoalesceReplacerTest.php create mode 100644 tests/Target/Php70/ReservedNameReplacerTest.php create mode 100644 tests/Target/Php70/SpaceshipOperatorReplacerTest.php create mode 100644 tests/Target/Php70/StrictTypesDeclareStatementRemoverTest.php create mode 100644 tests/Target/Php70/ThrowableReplacerTest.php create mode 100644 tests/Target/Php71/ArrayListTest.php create mode 100644 tests/Target/Php71/ClassConstantVisibilityModifiersRemoverTest.php create mode 100644 tests/Target/Php71/ClosureFromCallableTest.php create mode 100644 tests/Target/Php71/ListExpressionTest.php create mode 100644 tests/Target/Php71/ListKeyTest.php create mode 100644 tests/Target/Php71/MultipleCatchReplacerTest.php create mode 100644 tests/Target/Php72/Contravariance/Abstr.php create mode 100644 tests/Target/Php72/Contravariance/Abstr2.php create mode 100644 tests/Target/Php72/Contravariance/Cls.php create mode 100644 tests/Target/Php72/Contravariance/IFace.php create mode 100644 tests/Target/Php72/Contravariance/IFace2.php create mode 100644 tests/Target/Php72/Contravariance/OtherAbstr.php create mode 100644 tests/Target/Php72/Contravariance/OtherCls1.php create mode 100644 tests/Target/Php72/Contravariance/OtherCls2.php create mode 100644 tests/Target/Php72/Contravariance/OtherCls3.php create mode 100644 tests/Target/Php72/Contravariance/OtherClsNative.php create mode 100644 tests/Target/Php72/Contravariance/Trait1.php create mode 100644 tests/Target/Php72/Contravariance/Trait2.php create mode 100644 tests/Target/Php72/ContravarianceTest.php create mode 100644 tests/Target/Php73/ListReferenceTest.php create mode 100644 tests/Target/Php74/ArrayUnpackTest.php create mode 100644 tests/Target/Php74/ArrowClosureTest.php create mode 100644 tests/Target/Php74/CoContraVariance/Animal.php create mode 100644 tests/Target/Php74/CoContraVariance/AnimalFood.php create mode 100644 tests/Target/Php74/CoContraVariance/AnimalShelterInterface.php create mode 100644 tests/Target/Php74/CoContraVariance/Cat.php create mode 100644 tests/Target/Php74/CoContraVariance/CatShelter.php create mode 100644 tests/Target/Php74/CoContraVariance/Dog.php create mode 100644 tests/Target/Php74/CoContraVariance/DogShelter.php create mode 100644 tests/Target/Php74/CoContraVariance/Food.php create mode 100644 tests/Target/Php74/CoContraVarianceTest.php create mode 100644 tests/Target/Php74/NullCoalesceAssignmentTest.php create mode 100644 tests/Target/Php74/TypedPropertyTest.php create mode 100644 tests/Target/Php80/MatchTransformerTest.php create mode 100644 tests/Target/Php80/NullSafeTransformerTest.php create mode 100644 tests/Target/StringConcatOptimizerTest.php create mode 100644 tests/Target/TypeHintTest.php create mode 100644 testsGenerated/Target/Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test.php create mode 100644 testsGenerated/Target/Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest.php create mode 100644 testsGenerated/Target/Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test.php create mode 100644 testsGenerated/Target/Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test.php create mode 100644 testsGenerated/Target/Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest.php create mode 100644 testsGenerated/Target/Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest.php create mode 100644 testsGenerated/Target/Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test.php create mode 100644 testsGenerated/Target/Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest.php create mode 100644 testsGenerated/Target/Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test.php create mode 100644 testsGenerated/Target/Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest.php create mode 100644 testsGenerated/Target/Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest.php create mode 100644 testsGenerated/Target/Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test.php create mode 100644 testsGenerated/Target/Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test.php create mode 100644 testsGenerated/Target/Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test.php create mode 100644 testsGenerated/Target/Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test.php create mode 100644 testsGenerated/Target/Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest.php create mode 100644 testsGenerated/Target/Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest.php create mode 100644 testsGenerated/Target/Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php create mode 100644 testsGenerated/Target/Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test.php create mode 100644 testsGenerated/Target/Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php create mode 100644 testsGenerated/Target/Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test.php create mode 100644 testsGenerated/Target/Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test.php create mode 100644 testsGenerated/Target/Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest.php create mode 100644 testsGenerated/Target/Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test.php create mode 100644 testsGenerated/Target/Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest.php create mode 100644 testsGenerated/Target/Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest.php create mode 100644 testsGenerated/Target/Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php create mode 100644 testsGenerated/Target/Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test.php create mode 100644 testsGenerated/Target/Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest.php create mode 100644 testsGenerated/Target/Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest.php create mode 100644 testsGenerated/Target/Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest.php create mode 100644 testsGenerated/Target/Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test.php create mode 100644 testsGenerated/Target/Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php create mode 100644 testsGenerated/Target/Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test.php create mode 100644 testsGenerated/Target/Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test.php create mode 100644 testsGenerated/Target/Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test.php create mode 100644 testsGenerated/Target/Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest.php create mode 100644 testsGenerated/Target/Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test.php create mode 100644 testsGenerated/Target/Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest.php create mode 100644 testsGenerated/Target/Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test.php create mode 100644 testsGenerated/Target/Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test.php create mode 100644 testsGenerated/Target/Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test.php create mode 100644 testsGenerated/Target/Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest.php create mode 100644 testsGenerated/Target/Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest.php create mode 100644 testsGenerated/Target/Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test.php create mode 100644 testsGenerated/Target/Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest.php create mode 100644 testsGenerated/Target/Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test.php create mode 100644 testsGenerated/Target/Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest.php create mode 100644 testsGenerated/Target/Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test.php create mode 100644 testsGenerated/Target/Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php create mode 100644 testsGenerated/Target/Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest.php create mode 100644 testsGenerated/Target/Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test.php create mode 100644 testsGenerated/Target/Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest.php create mode 100644 testsGenerated/Target/Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test.php create mode 100644 testsGenerated/Target/Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test.php create mode 100644 testsGenerated/Target/Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest.php create mode 100644 testsGenerated/Target/Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test.php create mode 100644 testsGenerated/Target/Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test.php create mode 100644 testsGenerated/Target/Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest.php create mode 100644 testsGenerated/Target/Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test.php create mode 100644 testsGenerated/Target/Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test.php create mode 100644 testsGenerated/Target/Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest.php create mode 100644 testsGenerated/Target/Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest.php create mode 100644 testsGenerated/Target/Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest.php create mode 100644 testsGenerated/Target/Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test.php create mode 100644 testsGenerated/Target/Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test.php create mode 100644 testsGenerated/Target/Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test.php create mode 100644 testsGenerated/Target/Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test.php create mode 100644 testsGenerated/Target/Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest.php create mode 100644 testsGenerated/Target/Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test.php create mode 100644 testsGenerated/Target/Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test.php create mode 100644 testsGenerated/Target/Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test.php create mode 100644 testsGenerated/Target/Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test.php create mode 100644 testsGenerated/Target/Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest.php create mode 100644 testsGenerated/Target/Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test.php create mode 100644 testsGenerated/Target/Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest.php create mode 100644 testsGenerated/Target/Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test.php create mode 100644 testsGenerated/Target/Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest.php create mode 100644 testsGenerated/Target/Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest.php create mode 100644 testsGenerated/Target/Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test.php create mode 100644 testsGenerated/Target/Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest.php create mode 100644 testsGenerated/Target/Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test.php create mode 100644 testsGenerated/Target/Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test.php create mode 100644 testsGenerated/Target/Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest.php create mode 100644 testsGenerated/Target/Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php create mode 100644 testsGenerated/Target/Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test.php create mode 100644 testsGenerated/Target/Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test.php create mode 100644 testsGenerated/Target/Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest.php create mode 100644 testsGenerated/Target/Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test.php create mode 100644 testsGenerated/Target/Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest.php create mode 100644 testsGenerated/Target/Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php create mode 100644 testsGenerated/Target/Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test.php create mode 100644 testsGenerated/Target/Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test.php create mode 100644 testsGenerated/Target/Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest.php create mode 100644 testsGenerated/Target/Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest.php create mode 100644 testsGenerated/Target/Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest.php create mode 100644 testsGenerated/Target/Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test.php create mode 100644 testsGenerated/Target/Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest.php create mode 100644 testsGenerated/Target/Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test.php create mode 100644 testsGenerated/Target/Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test.php create mode 100644 testsGenerated/Target/Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test.php create mode 100644 testsGenerated/Target/Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest.php create mode 100644 testsGenerated/Target/Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test.php create mode 100644 testsGenerated/Target/Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test.php create mode 100644 testsGenerated/Target/Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest.php create mode 100644 testsGenerated/Target/Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test.php create mode 100644 testsGenerated/Target/Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test.php create mode 100644 testsGenerated/Target/Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test.php create mode 100644 testsGenerated/Target/Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest.php create mode 100644 testsGenerated/Target/Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test.php create mode 100644 testsGenerated/Target/Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php create mode 100644 testsGenerated/Target/Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest.php create mode 100644 testsGenerated/Target/Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test.php create mode 100644 testsGenerated/Target/Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test.php create mode 100644 testsGenerated/Target/Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest.php create mode 100644 testsGenerated/Target/Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest.php create mode 100644 testsGenerated/Target/Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest.php create mode 100644 testsGenerated/Target/Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test.php create mode 100644 testsGenerated/Target/Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php create mode 100644 testsGenerated/Target/Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test.php create mode 100644 testsGenerated/Target/Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest.php create mode 100644 testsGenerated/Target/Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test.php create mode 100644 testsGenerated/Target/Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test.php create mode 100644 testsGenerated/Target/Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test.php create mode 100644 testsGenerated/Target/Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest.php create mode 100644 testsGenerated/Target/Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer0Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer10Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer11Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer12Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer13Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer14Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer15Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer16Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer17Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer18Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer19Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer1Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer20Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer21Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer22Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer23Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer24Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer25Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer26Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer27Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer28Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer29Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer2Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer30Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer31Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer32Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer33Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer34Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer35Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer36Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer37Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer38Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer3Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer4Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer5Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer6Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer7Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer8Test.php create mode 100644 testsGenerated/Target/TypeHintReplacer9Test.php create mode 100644 vendor-bundle/amphp/amp/lib/CallableMaker.php create mode 100644 vendor-bundle/amphp/amp/lib/CancellationToken.php create mode 100644 vendor-bundle/amphp/amp/lib/CancellationTokenSource.php create mode 100644 vendor-bundle/amphp/amp/lib/CancelledException.php create mode 100644 vendor-bundle/amphp/amp/lib/CombinedCancellationToken.php create mode 100644 vendor-bundle/amphp/amp/lib/Coroutine.php create mode 100644 vendor-bundle/amphp/amp/lib/Deferred.php create mode 100644 vendor-bundle/amphp/amp/lib/Delayed.php create mode 100644 vendor-bundle/amphp/amp/lib/Emitter.php create mode 100644 vendor-bundle/amphp/amp/lib/Failure.php create mode 100644 vendor-bundle/amphp/amp/lib/Internal/Placeholder.php create mode 100644 vendor-bundle/amphp/amp/lib/Internal/PrivateIterator.php create mode 100644 vendor-bundle/amphp/amp/lib/Internal/PrivatePromise.php create mode 100644 vendor-bundle/amphp/amp/lib/Internal/Producer.php create mode 100644 vendor-bundle/amphp/amp/lib/Internal/ResolutionQueue.php create mode 100644 vendor-bundle/amphp/amp/lib/Internal/functions.php create mode 100644 vendor-bundle/amphp/amp/lib/InvalidYieldError.php create mode 100644 vendor-bundle/amphp/amp/lib/Iterator.php create mode 100644 vendor-bundle/amphp/amp/lib/LazyPromise.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/Driver.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/DriverFactory.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/EvDriver.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/EventDriver.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/Internal/TimerQueue.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/InvalidWatcherError.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/NativeDriver.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/TracingDriver.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/UnsupportedFeatureException.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/UvDriver.php create mode 100644 vendor-bundle/amphp/amp/lib/Loop/Watcher.php create mode 100644 vendor-bundle/amphp/amp/lib/MultiReasonException.php create mode 100644 vendor-bundle/amphp/amp/lib/NullCancellationToken.php create mode 100644 vendor-bundle/amphp/amp/lib/Producer.php create mode 100644 vendor-bundle/amphp/amp/lib/Promise.php create mode 100644 vendor-bundle/amphp/amp/lib/Struct.php create mode 100644 vendor-bundle/amphp/amp/lib/Success.php create mode 100644 vendor-bundle/amphp/amp/lib/TimeoutCancellationToken.php create mode 100644 vendor-bundle/amphp/amp/lib/TimeoutException.php create mode 100644 vendor-bundle/amphp/amp/lib/functions.php create mode 100644 vendor-bundle/amphp/amp/psalm.examples.xml create mode 100644 vendor-bundle/amphp/amp/psalm.xml create mode 100644 vendor-bundle/amphp/byte-stream/lib/Base64/Base64DecodingInputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/Base64/Base64DecodingOutputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/Base64/Base64EncodingInputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/Base64/Base64EncodingOutputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/ClosedException.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/InMemoryStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/InputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/InputStreamChain.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/IteratorStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/LineReader.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/Message.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/OutputBuffer.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/OutputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/Payload.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/PendingReadError.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/ResourceInputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/ResourceOutputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/StreamException.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/ZlibInputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/ZlibOutputStream.php create mode 100644 vendor-bundle/amphp/byte-stream/lib/functions.php create mode 100644 vendor-bundle/amphp/byte-stream/psalm.xml create mode 100644 vendor-bundle/amphp/parallel/Vagrantfile create mode 100644 vendor-bundle/amphp/parallel/appveyor.yml create mode 100644 vendor-bundle/amphp/parallel/docs/Gemfile create mode 100644 vendor-bundle/amphp/parallel/docs/_config.yml create mode 100644 vendor-bundle/amphp/parallel/lib/Context/Context.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/ContextException.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/ContextFactory.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/DefaultContextFactory.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/Internal/ParallelHub.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/Internal/ProcessHub.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/Internal/Thread.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/Internal/process-runner.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/Parallel.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/Process.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/StatusError.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/Thread.php create mode 100644 vendor-bundle/amphp/parallel/lib/Context/functions.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/Channel.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ChannelException.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ChannelParser.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ChannelledSocket.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ChannelledStream.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ContextPanicError.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ExitFailure.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ExitResult.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ExitSuccess.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/Internal/ParcelStorage.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/PanicError.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/Parcel.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ParcelException.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/SharedMemoryException.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/SharedMemoryParcel.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/SynchronizationError.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/ThreadedParcel.php create mode 100644 vendor-bundle/amphp/parallel/lib/Sync/functions.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/BasicEnvironment.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/BootstrapWorkerFactory.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/CallableTask.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/DefaultPool.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/DefaultWorkerFactory.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Environment.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Internal/Job.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Internal/PooledWorker.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskFailure.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskResult.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskSuccess.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Internal/WorkerProcess.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Internal/worker-process.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Pool.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Task.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/TaskError.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/TaskException.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/TaskFailureError.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/TaskFailureException.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/TaskFailureThrowable.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/TaskRunner.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/TaskWorker.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/Worker.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/WorkerException.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/WorkerFactory.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/WorkerParallel.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/WorkerProcess.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/WorkerThread.php create mode 100644 vendor-bundle/amphp/parallel/lib/Worker/functions.php create mode 100644 vendor-bundle/amphp/parser/docs/Gemfile create mode 100644 vendor-bundle/amphp/parser/docs/Gemfile.lock create mode 100644 vendor-bundle/amphp/parser/docs/_config.yml create mode 100644 vendor-bundle/amphp/parser/lib/InvalidDelimiterError.php create mode 100644 vendor-bundle/amphp/parser/lib/Parser.php create mode 100644 vendor-bundle/amphp/process/appveyor.yml create mode 100644 vendor-bundle/amphp/process/bin/windows/ProcessWrapper.exe create mode 100644 vendor-bundle/amphp/process/bin/windows/ProcessWrapper64.exe create mode 100644 vendor-bundle/amphp/process/lib/Internal/Posix/Handle.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/Posix/Runner.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/ProcessHandle.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/ProcessRunner.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/ProcessStatus.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/Windows/Handle.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/Windows/HandshakeStatus.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/Windows/PendingSocketClient.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/Windows/Runner.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/Windows/SignalCode.php create mode 100644 vendor-bundle/amphp/process/lib/Internal/Windows/SocketConnector.php create mode 100644 vendor-bundle/amphp/process/lib/Process.php create mode 100644 vendor-bundle/amphp/process/lib/ProcessException.php create mode 100644 vendor-bundle/amphp/process/lib/ProcessInputStream.php create mode 100644 vendor-bundle/amphp/process/lib/ProcessOutputStream.php create mode 100644 vendor-bundle/amphp/process/lib/StatusError.php create mode 100644 vendor-bundle/amphp/process/lib/functions.php create mode 100644 vendor-bundle/amphp/serialization/src/CompressingSerializer.php create mode 100644 vendor-bundle/amphp/serialization/src/JsonSerializer.php create mode 100644 vendor-bundle/amphp/serialization/src/NativeSerializer.php create mode 100644 vendor-bundle/amphp/serialization/src/PassthroughSerializer.php create mode 100644 vendor-bundle/amphp/serialization/src/SerializationException.php create mode 100644 vendor-bundle/amphp/serialization/src/Serializer.php create mode 100644 vendor-bundle/amphp/serialization/src/functions.php create mode 100644 vendor-bundle/amphp/sync/docs/Gemfile create mode 100644 vendor-bundle/amphp/sync/docs/_config.yml create mode 100644 vendor-bundle/amphp/sync/src/Barrier.php create mode 100644 vendor-bundle/amphp/sync/src/ConcurrentIterator/functions.php create mode 100644 vendor-bundle/amphp/sync/src/FileMutex.php create mode 100644 vendor-bundle/amphp/sync/src/Internal/MutexStorage.php create mode 100644 vendor-bundle/amphp/sync/src/Internal/SemaphoreStorage.php create mode 100644 vendor-bundle/amphp/sync/src/KeyedMutex.php create mode 100644 vendor-bundle/amphp/sync/src/KeyedSemaphore.php create mode 100644 vendor-bundle/amphp/sync/src/LocalKeyedMutex.php create mode 100644 vendor-bundle/amphp/sync/src/LocalKeyedSemaphore.php create mode 100644 vendor-bundle/amphp/sync/src/LocalMutex.php create mode 100644 vendor-bundle/amphp/sync/src/LocalSemaphore.php create mode 100644 vendor-bundle/amphp/sync/src/Lock.php create mode 100644 vendor-bundle/amphp/sync/src/Mutex.php create mode 100644 vendor-bundle/amphp/sync/src/PosixSemaphore.php create mode 100644 vendor-bundle/amphp/sync/src/PrefixedKeyedMutex.php create mode 100644 vendor-bundle/amphp/sync/src/PrefixedKeyedSemaphore.php create mode 100644 vendor-bundle/amphp/sync/src/Semaphore.php create mode 100644 vendor-bundle/amphp/sync/src/SemaphoreMutex.php create mode 100644 vendor-bundle/amphp/sync/src/StaticKeyMutex.php create mode 100644 vendor-bundle/amphp/sync/src/SyncException.php create mode 100644 vendor-bundle/amphp/sync/src/ThreadedMutex.php create mode 100644 vendor-bundle/amphp/sync/src/ThreadedSemaphore.php create mode 100644 vendor-bundle/amphp/sync/src/functions.php create mode 100644 vendor-bundle/amphp/sync/travis/install-pcov.sh create mode 100644 vendor-bundle/amphp/sync/travis/install-pthreads.sh create mode 100644 vendor-bundle/autoload.php create mode 100644 vendor-bundle/phabel/php-parser/bin/php-parse create mode 100644 vendor-bundle/phabel/php-parser/grammar/parser.template create mode 100644 vendor-bundle/phabel/php-parser/grammar/php5.y create mode 100644 vendor-bundle/phabel/php-parser/grammar/php7.y create mode 100644 vendor-bundle/phabel/php-parser/grammar/rebuildParsers.php create mode 100644 vendor-bundle/phabel/php-parser/grammar/tokens.template create mode 100644 vendor-bundle/phabel/php-parser/grammar/tokens.y create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Class_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Declaration.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/FunctionLike.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Function_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Interface_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Method.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Namespace_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Param.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Property.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/TraitUse.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Trait_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Use_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/BuilderFactory.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/BuilderHelpers.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Comment.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Comment/Doc.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/ConstExprEvaluationException.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/ConstExprEvaluator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Error.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/ErrorHandler.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/ErrorHandler/Collecting.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/ErrorHandler/Throwing.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/DiffElem.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/Differ.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/TokenStream.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/JsonDecoder.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/Emulative.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NameContext.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Arg.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Attribute.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/AttributeGroup.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Const_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Array_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Assign.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignRef.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Clone_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Closure.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Empty_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Error.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Eval_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Exit_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/FuncCall.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Include_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Isset_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/List_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Match_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/MethodCall.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/New_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PostDec.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PostInc.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PreDec.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PreInc.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Print_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ShellExec.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/StaticCall.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Ternary.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Throw_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Variable.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Yield_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/FunctionLike.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Identifier.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/MatchArm.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name/FullyQualified.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name/Relative.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/NullableType.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Param.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/DNumber.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/LNumber.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/String_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Break_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Case_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Catch_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Class_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Const_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Continue_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Declare_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Do_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Echo_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Else_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Expression.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Finally_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/For_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Function_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Global_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Goto_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/If_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Interface_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Label.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Nop.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Property.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Return_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Static_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Switch_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Throw_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Trait_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Unset_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/UseUse.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Use_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/While_.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/UnionType.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeAbstract.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeDumper.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeFinder.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeTraverser.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeTraverserInterface.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitorAbstract.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Parser.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Multiple.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Php5.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Php7.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Tokens.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/ParserAbstract.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/ParserFactory.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/PrettyPrinter/Standard.php create mode 100644 vendor-bundle/phabel/php-parser/lib/PhpParser/PrettyPrinterAbstract.php create mode 100644 vendor-bundle/phabel/php-parser/tools/convertPhabel.php create mode 100644 vendor-bundle/psr/container/src/ContainerExceptionInterface.php create mode 100644 vendor-bundle/psr/container/src/ContainerInterface.php create mode 100644 vendor-bundle/psr/container/src/NotFoundExceptionInterface.php create mode 100644 vendor-bundle/psr/log/Psr/Log/AbstractLogger.php create mode 100644 vendor-bundle/psr/log/Psr/Log/InvalidArgumentException.php create mode 100644 vendor-bundle/psr/log/Psr/Log/LogLevel.php create mode 100644 vendor-bundle/psr/log/Psr/Log/LoggerAwareInterface.php create mode 100644 vendor-bundle/psr/log/Psr/Log/LoggerAwareTrait.php create mode 100644 vendor-bundle/psr/log/Psr/Log/LoggerInterface.php create mode 100644 vendor-bundle/psr/log/Psr/Log/LoggerTrait.php create mode 100644 vendor-bundle/psr/log/Psr/Log/NullLogger.php create mode 100644 vendor-bundle/psr/log/Psr/Log/Test/DummyTest.php create mode 100644 vendor-bundle/psr/log/Psr/Log/Test/LoggerInterfaceTest.php create mode 100644 vendor-bundle/psr/log/Psr/Log/Test/TestLogger.php create mode 100644 vendor-bundle/ralouphie/getallheaders/src/getallheaders.php create mode 100644 vendor-bundle/symfony/console/Application.php create mode 100644 vendor-bundle/symfony/console/Attribute/AsCommand.php create mode 100644 vendor-bundle/symfony/console/CI/GithubActionReporter.php create mode 100644 vendor-bundle/symfony/console/Color.php create mode 100644 vendor-bundle/symfony/console/Command/Command.php create mode 100644 vendor-bundle/symfony/console/Command/HelpCommand.php create mode 100644 vendor-bundle/symfony/console/Command/LazyCommand.php create mode 100644 vendor-bundle/symfony/console/Command/ListCommand.php create mode 100644 vendor-bundle/symfony/console/Command/LockableTrait.php create mode 100644 vendor-bundle/symfony/console/Command/SignalableCommandInterface.php create mode 100644 vendor-bundle/symfony/console/CommandLoader/CommandLoaderInterface.php create mode 100644 vendor-bundle/symfony/console/CommandLoader/ContainerCommandLoader.php create mode 100644 vendor-bundle/symfony/console/CommandLoader/FactoryCommandLoader.php create mode 100644 vendor-bundle/symfony/console/ConsoleEvents.php create mode 100644 vendor-bundle/symfony/console/Cursor.php create mode 100644 vendor-bundle/symfony/console/DependencyInjection/AddConsoleCommandPass.php create mode 100644 vendor-bundle/symfony/console/Descriptor/ApplicationDescription.php create mode 100644 vendor-bundle/symfony/console/Descriptor/Descriptor.php create mode 100644 vendor-bundle/symfony/console/Descriptor/DescriptorInterface.php create mode 100644 vendor-bundle/symfony/console/Descriptor/JsonDescriptor.php create mode 100644 vendor-bundle/symfony/console/Descriptor/MarkdownDescriptor.php create mode 100644 vendor-bundle/symfony/console/Descriptor/TextDescriptor.php create mode 100644 vendor-bundle/symfony/console/Descriptor/XmlDescriptor.php create mode 100644 vendor-bundle/symfony/console/Event/ConsoleCommandEvent.php create mode 100644 vendor-bundle/symfony/console/Event/ConsoleErrorEvent.php create mode 100644 vendor-bundle/symfony/console/Event/ConsoleEvent.php create mode 100644 vendor-bundle/symfony/console/Event/ConsoleSignalEvent.php create mode 100644 vendor-bundle/symfony/console/Event/ConsoleTerminateEvent.php create mode 100644 vendor-bundle/symfony/console/EventListener/ErrorListener.php create mode 100644 vendor-bundle/symfony/console/Exception/CommandNotFoundException.php create mode 100644 vendor-bundle/symfony/console/Exception/ExceptionInterface.php create mode 100644 vendor-bundle/symfony/console/Exception/InvalidArgumentException.php create mode 100644 vendor-bundle/symfony/console/Exception/InvalidOptionException.php create mode 100644 vendor-bundle/symfony/console/Exception/LogicException.php create mode 100644 vendor-bundle/symfony/console/Exception/MissingInputException.php create mode 100644 vendor-bundle/symfony/console/Exception/NamespaceNotFoundException.php create mode 100644 vendor-bundle/symfony/console/Exception/RuntimeException.php create mode 100644 vendor-bundle/symfony/console/Formatter/NullOutputFormatter.php create mode 100644 vendor-bundle/symfony/console/Formatter/NullOutputFormatterStyle.php create mode 100644 vendor-bundle/symfony/console/Formatter/OutputFormatter.php create mode 100644 vendor-bundle/symfony/console/Formatter/OutputFormatterInterface.php create mode 100644 vendor-bundle/symfony/console/Formatter/OutputFormatterStyle.php create mode 100644 vendor-bundle/symfony/console/Formatter/OutputFormatterStyleInterface.php create mode 100644 vendor-bundle/symfony/console/Formatter/OutputFormatterStyleStack.php create mode 100644 vendor-bundle/symfony/console/Formatter/WrappableOutputFormatterInterface.php create mode 100644 vendor-bundle/symfony/console/Helper/DebugFormatterHelper.php create mode 100644 vendor-bundle/symfony/console/Helper/DescriptorHelper.php create mode 100644 vendor-bundle/symfony/console/Helper/Dumper.php create mode 100644 vendor-bundle/symfony/console/Helper/FormatterHelper.php create mode 100644 vendor-bundle/symfony/console/Helper/Helper.php create mode 100644 vendor-bundle/symfony/console/Helper/HelperInterface.php create mode 100644 vendor-bundle/symfony/console/Helper/HelperSet.php create mode 100644 vendor-bundle/symfony/console/Helper/InputAwareHelper.php create mode 100644 vendor-bundle/symfony/console/Helper/ProcessHelper.php create mode 100644 vendor-bundle/symfony/console/Helper/ProgressBar.php create mode 100644 vendor-bundle/symfony/console/Helper/ProgressIndicator.php create mode 100644 vendor-bundle/symfony/console/Helper/QuestionHelper.php create mode 100644 vendor-bundle/symfony/console/Helper/SymfonyQuestionHelper.php create mode 100644 vendor-bundle/symfony/console/Helper/Table.php create mode 100644 vendor-bundle/symfony/console/Helper/TableCell.php create mode 100644 vendor-bundle/symfony/console/Helper/TableCellStyle.php create mode 100644 vendor-bundle/symfony/console/Helper/TableRows.php create mode 100644 vendor-bundle/symfony/console/Helper/TableSeparator.php create mode 100644 vendor-bundle/symfony/console/Helper/TableStyle.php create mode 100644 vendor-bundle/symfony/console/Input/ArgvInput.php create mode 100644 vendor-bundle/symfony/console/Input/ArrayInput.php create mode 100644 vendor-bundle/symfony/console/Input/Input.php create mode 100644 vendor-bundle/symfony/console/Input/InputArgument.php create mode 100644 vendor-bundle/symfony/console/Input/InputAwareInterface.php create mode 100644 vendor-bundle/symfony/console/Input/InputDefinition.php create mode 100644 vendor-bundle/symfony/console/Input/InputInterface.php create mode 100644 vendor-bundle/symfony/console/Input/InputOption.php create mode 100644 vendor-bundle/symfony/console/Input/StreamableInputInterface.php create mode 100644 vendor-bundle/symfony/console/Input/StringInput.php create mode 100644 vendor-bundle/symfony/console/Logger/ConsoleLogger.php create mode 100644 vendor-bundle/symfony/console/Output/BufferedOutput.php create mode 100644 vendor-bundle/symfony/console/Output/ConsoleOutput.php create mode 100644 vendor-bundle/symfony/console/Output/ConsoleOutputInterface.php create mode 100644 vendor-bundle/symfony/console/Output/ConsoleSectionOutput.php create mode 100644 vendor-bundle/symfony/console/Output/NullOutput.php create mode 100644 vendor-bundle/symfony/console/Output/Output.php create mode 100644 vendor-bundle/symfony/console/Output/OutputInterface.php create mode 100644 vendor-bundle/symfony/console/Output/StreamOutput.php create mode 100644 vendor-bundle/symfony/console/Output/TrimmedBufferOutput.php create mode 100644 vendor-bundle/symfony/console/Question/ChoiceQuestion.php create mode 100644 vendor-bundle/symfony/console/Question/ConfirmationQuestion.php create mode 100644 vendor-bundle/symfony/console/Question/Question.php create mode 100644 vendor-bundle/symfony/console/Resources/bin/hiddeninput.exe create mode 100644 vendor-bundle/symfony/console/SignalRegistry/SignalRegistry.php create mode 100644 vendor-bundle/symfony/console/SingleCommandApplication.php create mode 100644 vendor-bundle/symfony/console/Style/OutputStyle.php create mode 100644 vendor-bundle/symfony/console/Style/StyleInterface.php create mode 100644 vendor-bundle/symfony/console/Style/SymfonyStyle.php create mode 100644 vendor-bundle/symfony/console/Terminal.php create mode 100644 vendor-bundle/symfony/console/Tester/ApplicationTester.php create mode 100644 vendor-bundle/symfony/console/Tester/CommandTester.php create mode 100644 vendor-bundle/symfony/console/Tester/TesterTrait.php create mode 100644 vendor-bundle/symfony/deprecation-contracts/function.php create mode 100644 vendor-bundle/symfony/polyfill-ctype/Ctype.php create mode 100644 vendor-bundle/symfony/polyfill-ctype/bootstrap.php create mode 100644 vendor-bundle/symfony/polyfill-ctype/bootstrap80.php create mode 100644 vendor-bundle/symfony/polyfill-intl-grapheme/Grapheme.php create mode 100644 vendor-bundle/symfony/polyfill-intl-grapheme/bootstrap.php create mode 100644 vendor-bundle/symfony/polyfill-intl-grapheme/bootstrap80.php create mode 100644 vendor-bundle/symfony/polyfill-intl-normalizer/Normalizer.php create mode 100644 vendor-bundle/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php create mode 100644 vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php create mode 100644 vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php create mode 100644 vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php create mode 100644 vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php create mode 100644 vendor-bundle/symfony/polyfill-intl-normalizer/bootstrap.php create mode 100644 vendor-bundle/symfony/polyfill-intl-normalizer/bootstrap80.php create mode 100644 vendor-bundle/symfony/polyfill-mbstring/Mbstring.php create mode 100644 vendor-bundle/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php create mode 100644 vendor-bundle/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php create mode 100644 vendor-bundle/symfony/polyfill-mbstring/Resources/unidata/upperCase.php create mode 100644 vendor-bundle/symfony/polyfill-mbstring/bootstrap.php create mode 100644 vendor-bundle/symfony/polyfill-mbstring/bootstrap80.php create mode 100644 vendor-bundle/symfony/polyfill-php72/Php72.php create mode 100644 vendor-bundle/symfony/polyfill-php72/bootstrap.php create mode 100644 vendor-bundle/symfony/polyfill-php73/Php73.php create mode 100644 vendor-bundle/symfony/polyfill-php73/Resources/stubs/JsonException.php create mode 100644 vendor-bundle/symfony/polyfill-php73/bootstrap.php create mode 100644 vendor-bundle/symfony/polyfill-php74/Php74.php create mode 100644 vendor-bundle/symfony/polyfill-php74/bootstrap.php create mode 100644 vendor-bundle/symfony/polyfill-php80/Php80.php create mode 100644 vendor-bundle/symfony/polyfill-php80/Resources/stubs/Attribute.php create mode 100644 vendor-bundle/symfony/polyfill-php80/Resources/stubs/Stringable.php create mode 100644 vendor-bundle/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php create mode 100644 vendor-bundle/symfony/polyfill-php80/Resources/stubs/ValueError.php create mode 100644 vendor-bundle/symfony/polyfill-php80/bootstrap.php create mode 100644 vendor-bundle/symfony/process/Exception/ExceptionInterface.php create mode 100644 vendor-bundle/symfony/process/Exception/InvalidArgumentException.php create mode 100644 vendor-bundle/symfony/process/Exception/LogicException.php create mode 100644 vendor-bundle/symfony/process/Exception/ProcessFailedException.php create mode 100644 vendor-bundle/symfony/process/Exception/ProcessSignaledException.php create mode 100644 vendor-bundle/symfony/process/Exception/ProcessTimedOutException.php create mode 100644 vendor-bundle/symfony/process/Exception/RuntimeException.php create mode 100644 vendor-bundle/symfony/process/ExecutableFinder.php create mode 100644 vendor-bundle/symfony/process/InputStream.php create mode 100644 vendor-bundle/symfony/process/PhpExecutableFinder.php create mode 100644 vendor-bundle/symfony/process/PhpProcess.php create mode 100644 vendor-bundle/symfony/process/Pipes/AbstractPipes.php create mode 100644 vendor-bundle/symfony/process/Pipes/PipesInterface.php create mode 100644 vendor-bundle/symfony/process/Pipes/UnixPipes.php create mode 100644 vendor-bundle/symfony/process/Pipes/WindowsPipes.php create mode 100644 vendor-bundle/symfony/process/Process.php create mode 100644 vendor-bundle/symfony/process/ProcessUtils.php create mode 100644 vendor-bundle/symfony/service-contracts/Attribute/Required.php create mode 100644 vendor-bundle/symfony/service-contracts/ResetInterface.php create mode 100644 vendor-bundle/symfony/service-contracts/ServiceLocatorTrait.php create mode 100644 vendor-bundle/symfony/service-contracts/ServiceProviderInterface.php create mode 100644 vendor-bundle/symfony/service-contracts/ServiceSubscriberInterface.php create mode 100644 vendor-bundle/symfony/service-contracts/ServiceSubscriberTrait.php create mode 100644 vendor-bundle/symfony/service-contracts/Test/ServiceLocatorTest.php create mode 100644 vendor-bundle/symfony/string/AbstractString.php create mode 100644 vendor-bundle/symfony/string/AbstractUnicodeString.php create mode 100644 vendor-bundle/symfony/string/ByteString.php create mode 100644 vendor-bundle/symfony/string/CodePointString.php create mode 100644 vendor-bundle/symfony/string/Exception/ExceptionInterface.php create mode 100644 vendor-bundle/symfony/string/Exception/InvalidArgumentException.php create mode 100644 vendor-bundle/symfony/string/Exception/RuntimeException.php create mode 100644 vendor-bundle/symfony/string/Inflector/EnglishInflector.php create mode 100644 vendor-bundle/symfony/string/Inflector/FrenchInflector.php create mode 100644 vendor-bundle/symfony/string/Inflector/InflectorInterface.php create mode 100644 vendor-bundle/symfony/string/LazyString.php create mode 100644 vendor-bundle/symfony/string/Resources/data/wcswidth_table_wide.php create mode 100644 vendor-bundle/symfony/string/Resources/data/wcswidth_table_zero.php create mode 100644 vendor-bundle/symfony/string/Resources/functions.php create mode 100644 vendor-bundle/symfony/string/Slugger/AsciiSlugger.php create mode 100644 vendor-bundle/symfony/string/Slugger/SluggerInterface.php create mode 100644 vendor-bundle/symfony/string/UnicodeString.php diff --git a/composer.json b/composer.json index a9848d8c1..2e1202d21 100644 --- a/composer.json +++ b/composer.json @@ -3,21 +3,10 @@ "description": "Write and deploy modern PHP 8 code, today.", "type": "composer-plugin", "require": { - "php": ">=8.0", - "phabel/php-parser": "^94.10", - "composer-plugin-api": "^2.0", - "symfony/console": "^5", - "symfony/process": "^5", - "amphp/parallel": "^1.4", - "psr/log": "^1.0", + "php": ">=5.6 <5.7", "ext-json": "*", - "symfony/polyfill-php72": "^1.23", - "ralouphie/getallheaders": "^3|^2", - "symfony/polyfill-php70": "^1.19", - "symfony/polyfill-php71": "^1.19", - "symfony/polyfill-php73": "^1.23", - "symfony/polyfill-php74": "^1.23", - "symfony/polyfill-php80": "^1.23" + "composer-plugin-api": "^2.0", + "ext-tokenizer": "*" }, "require-dev": { "composer/composer": "^1|^2", @@ -28,14 +17,105 @@ "phabelio/phabel": "self.version" }, "license": "MIT", - "authors": [{ - "name": "Daniil Gentili", - "email": "daniil@daniil.it" - }], + "authors": [ + { + "name": "Daniil Gentili", + "email": "daniil@daniil.it" + } + ], "autoload": { "psr-4": { - "Phabel\\": "src" - } + "Phabel\\": "src", + "Phabel\\Amp\\": [ + "vendor-bundle/amphp/amp/lib" + ], + "Phabel\\Amp\\ByteStream\\": [ + "vendor-bundle/amphp/byte-stream/lib" + ], + "Phabel\\Amp\\Parallel\\": [ + "vendor-bundle/amphp/parallel/lib" + ], + "Phabel\\Amp\\Parser\\": [ + "vendor-bundle/amphp/parser/lib" + ], + "Phabel\\Amp\\Process\\": [ + "vendor-bundle/amphp/process/lib" + ], + "Phabel\\Amp\\Serialization\\": [ + "vendor-bundle/amphp/serialization/src" + ], + "Phabel\\Amp\\Sync\\": [ + "vendor-bundle/amphp/sync/src" + ], + "Phabel\\PhpParser\\": [ + "vendor-bundle/phabel/php-parser/lib/PhpParser" + ], + "Phabel\\Psr\\Container\\": [ + "vendor-bundle/psr/container/src/" + ], + "Phabel\\Psr\\Log\\": [ + "vendor-bundle/psr/log/Psr/Log/" + ], + "Phabel\\Symfony\\Component\\Console\\": [ + "vendor-bundle/symfony/console/" + ], + "Phabel\\Symfony\\Polyfill\\Ctype\\": [ + "vendor-bundle/symfony/polyfill-ctype/" + ], + "Phabel\\Symfony\\Polyfill\\Intl\\Grapheme\\": [ + "vendor-bundle/symfony/polyfill-intl-grapheme/" + ], + "Phabel\\Symfony\\Polyfill\\Intl\\Normalizer\\": [ + "vendor-bundle/symfony/polyfill-intl-normalizer/" + ], + "Phabel\\Symfony\\Polyfill\\Mbstring\\": [ + "vendor-bundle/symfony/polyfill-mbstring/" + ], + "Phabel\\Symfony\\Polyfill\\Php72\\": [ + "vendor-bundle/symfony/polyfill-php72/" + ], + "Phabel\\Symfony\\Polyfill\\Php73\\": [ + "vendor-bundle/symfony/polyfill-php73/" + ], + "Phabel\\Symfony\\Polyfill\\Php74\\": [ + "vendor-bundle/symfony/polyfill-php74/" + ], + "Phabel\\Symfony\\Polyfill\\Php80\\": [ + "vendor-bundle/symfony/polyfill-php80/" + ], + "Phabel\\Symfony\\Component\\Process\\": [ + "vendor-bundle/symfony/process/" + ], + "Phabel\\Symfony\\Contracts\\Service\\": [ + "vendor-bundle/symfony/service-contracts/" + ], + "Phabel\\Symfony\\Component\\String\\": [ + "vendor-bundle/symfony/string/" + ] + }, + "files": [ + "vendor-bundle/amphp/amp/lib/functions.php", + "vendor-bundle/amphp/amp/lib/Internal/functions.php", + "vendor-bundle/amphp/byte-stream/lib/functions.php", + "vendor-bundle/amphp/parallel/lib/Context/functions.php", + "vendor-bundle/amphp/parallel/lib/Sync/functions.php", + "vendor-bundle/amphp/parallel/lib/Worker/functions.php", + "vendor-bundle/amphp/process/lib/functions.php", + "vendor-bundle/amphp/serialization/src/functions.php", + "vendor-bundle/amphp/sync/src/functions.php", + "vendor-bundle/amphp/sync/src/ConcurrentIterator/functions.php", + "vendor-bundle/ralouphie/getallheaders/src/getallheaders.php", + "vendor-bundle/symfony/deprecation-contracts/function.php", + "vendor-bundle/symfony/polyfill-ctype/bootstrap.php", + "vendor-bundle/symfony/polyfill-intl-grapheme/bootstrap.php", + "vendor-bundle/symfony/polyfill-intl-normalizer/bootstrap.php", + "vendor-bundle/symfony/polyfill-mbstring/bootstrap.php", + "vendor-bundle/symfony/polyfill-php72/bootstrap.php", + "vendor-bundle/symfony/polyfill-php73/bootstrap.php", + "vendor-bundle/symfony/polyfill-php74/bootstrap.php", + "vendor-bundle/symfony/polyfill-php80/bootstrap.php", + "vendor-bundle/symfony/string/Resources/functions.php" + ] }, "autoload-dev": { "psr-4": { @@ -77,5 +157,7 @@ "config": { "process-timeout": 0 }, - "bin": ["bin/phabel"] -} + "bin": [ + "bin/phabel" + ] +} \ No newline at end of file diff --git a/src/ClassStorage.php b/src/ClassStorage.php index b18fe65c1..ac73902a9 100644 --- a/src/ClassStorage.php +++ b/src/ClassStorage.php @@ -5,11 +5,10 @@ use Phabel\ClassStorage\Storage; use Phabel\Plugin\ClassStoragePlugin; use Phabel\Plugin\TypeHintReplacer; -use PhpParser\Node\Identifier; -use PhpParser\Node\Name; -use PhpParser\Node\NullableType; -use PhpParser\Node\UnionType; - +use Phabel\PhpParser\Node\Identifier; +use Phabel\PhpParser\Node\Name; +use Phabel\PhpParser\Node\NullableType; +use Phabel\PhpParser\Node\UnionType; final class ClassStorage { const FILE_KEY = 'ClassStorage:file'; @@ -50,14 +49,14 @@ public function __construct(ClassStoragePlugin $plugin) foreach ($fileTraits as $file => $trait) { $trait = $trait->build(); $this->traits[$name][$file] = $trait; - $this->files[$file] = true; + $this->files[$file] = \true; } } foreach ($plugin->classes as $name => $fileClasses) { foreach ($fileClasses as $file => $class) { $class = $class->build(); $this->classes[$name][$file] = $class; - $this->files[$file] = true; + $this->files[$file] = \true; } } } @@ -188,7 +187,7 @@ public function compare($typeA, $typeB, Storage $ctxA, Storage $ctxB) if (\count($typeA) + \count($typeB) === 2) { $typeA = $typeA[0]; $typeB = $typeB[0]; - if ($typeA instanceof Name && $typeB instanceof Name && ($classA = $typeA->parts === ['self'] ? $ctxA : $this->getClassByName(Tools::getFqdn($typeA))) && ($classB = $typeA->parts === ['self'] ? $ctxB : $this->getClassByName(Tools::getFqdn($typeB)))) { + if ($typeA instanceof Name && $typeB instanceof Name && ($classA = $typeA->parts === ['self'] ? $ctxA : $this->getClassByName(\Phabel\Tools::getFqdn($typeA))) && ($classB = $typeA->parts === ['self'] ? $ctxB : $this->getClassByName(\Phabel\Tools::getFqdn($typeB)))) { foreach ($classA->getAllChildren() as $child) { if ($child === $classB) { $phabelReturn = 1; diff --git a/src/ClassStorage/Builder.php b/src/ClassStorage/Builder.php index 639660dc3..823c264d3 100644 --- a/src/ClassStorage/Builder.php +++ b/src/ClassStorage/Builder.php @@ -6,16 +6,15 @@ use Phabel\Plugin\ClassStoragePlugin; use Phabel\PluginGraph\CircularException; use Phabel\Tools; -use PhpParser\Node\Stmt\Class_ as StmtClass_; -use PhpParser\Node\Stmt\ClassLike; -use PhpParser\Node\Stmt\ClassMethod; -use PhpParser\Node\Stmt\Interface_; -use PhpParser\Node\Stmt\TraitUse; -use PhpParser\Node\Stmt\TraitUseAdaptation\Alias; -use PhpParser\Node\Stmt\TraitUseAdaptation\Precedence; +use Phabel\PhpParser\Node\Stmt\Class_ as StmtClass_; +use Phabel\PhpParser\Node\Stmt\ClassLike; +use Phabel\PhpParser\Node\Stmt\ClassMethod; +use Phabel\PhpParser\Node\Stmt\Interface_; +use Phabel\PhpParser\Node\Stmt\TraitUse; +use Phabel\PhpParser\Node\Stmt\TraitUseAdaptation\Alias; +use Phabel\PhpParser\Node\Stmt\TraitUseAdaptation\Precedence; use RecursiveArrayIterator; use RecursiveIteratorIterator; - /** * Builds information about a class. */ @@ -57,11 +56,11 @@ class Builder /** * Whether we're resolving. */ - private $resolving = false; + private $resolving = \false; /** * Whether we resolved. */ - private $resolved = false; + private $resolved = \false; /** * Storage. */ @@ -86,10 +85,10 @@ public function __construct(ClassLike $class, $customName = '') $this->name = Tools::getFqdn($class, $customName); if ($class instanceof Interface_ || $class instanceof StmtClass_) { foreach (\is_array($class->extends) ? $class->extends : ($class->extends ? [$class->extends] : []) as $name) { - $this->extended[Tools::getFqdn($name)] = true; + $this->extended[Tools::getFqdn($name)] = \true; } foreach (isset($class->implements) ? $class->implements : [] as $name) { - $this->extended[Tools::getFqdn($name)] = true; + $this->extended[Tools::getFqdn($name)] = \true; } } foreach ($class->stmts as $stmt) { @@ -98,7 +97,7 @@ public function __construct(ClassLike $class, $customName = '') } if ($stmt instanceof TraitUse) { foreach ($stmt->traits as $trait) { - $this->use[Tools::getFqdn($trait)] = true; + $this->use[Tools::getFqdn($trait)] = \true; } foreach ($stmt->adaptations as $adapt) { $trait = Tools::getFqdn($adapt->trait); @@ -143,7 +142,7 @@ public function resolve(ClassStoragePlugin $plugin) } if ($this->resolving) { $plugins = [$this->name]; - foreach (\debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, DEBUG_BACKTRACE_PROVIDE_OBJECT) as $frame) { + foreach (\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS, \DEBUG_BACKTRACE_PROVIDE_OBJECT) as $frame) { $plugins[] = $frame['object']->name; if ($frame['object'] === $this) { break; @@ -151,7 +150,7 @@ public function resolve(ClassStoragePlugin $plugin) } throw new CircularException($plugins); } - $this->resolving = true; + $this->resolving = \true; foreach ($this->use as $trait => $_) { if (!isset($plugin->traits[$trait])) { continue; @@ -185,8 +184,8 @@ public function resolve(ClassStoragePlugin $plugin) unset($this->extended[$class]); } } - $this->resolving = false; - $this->resolved = true; + $this->resolving = \false; + $this->resolved = \true; $phabelReturn = $this; if (!$phabelReturn instanceof self) { throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -204,11 +203,11 @@ public function build() throw new Exception("Trying to build an unresolved class!"); } if (!isset($this->storage)) { - $this->storage = new Storage(); + $this->storage = new \Phabel\ClassStorage\Storage(); $this->storage->build($this->name, $this->methods, $this->abstractMethods, $this->extended); } $phabelReturn = $this->storage; - if (!$phabelReturn instanceof Storage) { + if (!$phabelReturn instanceof \Phabel\ClassStorage\Storage) { throw new \TypeError(__METHOD__ . '(): Return value must be of type Storage, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; diff --git a/src/ClassStorage/Storage.php b/src/ClassStorage/Storage.php index c10f8b03f..1e1d36581 100644 --- a/src/ClassStorage/Storage.php +++ b/src/ClassStorage/Storage.php @@ -2,9 +2,8 @@ namespace Phabel\ClassStorage; -use PhpParser\Node\Stmt\Class_; -use PhpParser\Node\Stmt\ClassMethod; - +use Phabel\PhpParser\Node\Stmt\Class_; +use Phabel\PhpParser\Node\Stmt\ClassMethod; /** * Stores information about a class. */ @@ -66,16 +65,16 @@ public function build($name, array $methods, array $abstractMethods, array $exte $this->methods = $methods; $this->abstractMethods = $abstractMethods; foreach ($methods as $method) { - if ($method->getAttribute(Builder::STORAGE_KEY)) { - $method->setAttribute(self::STORAGE_KEY, $method->getAttribute(Builder::STORAGE_KEY)->build()); - $method->setAttribute(Builder::STORAGE_KEY, null); + if ($method->getAttribute(\Phabel\ClassStorage\Builder::STORAGE_KEY)) { + $method->setAttribute(self::STORAGE_KEY, $method->getAttribute(\Phabel\ClassStorage\Builder::STORAGE_KEY)->build()); + $method->setAttribute(\Phabel\ClassStorage\Builder::STORAGE_KEY, null); } $method->flags |= self::MODIFIER_NORMAL; } foreach ($abstractMethods as $method) { - if ($method->getAttribute(Builder::STORAGE_KEY)) { - $method->setAttribute(self::STORAGE_KEY, $method->getAttribute(Builder::STORAGE_KEY)->build()); - $method->setAttribute(Builder::STORAGE_KEY, null); + if ($method->getAttribute(\Phabel\ClassStorage\Builder::STORAGE_KEY)) { + $method->setAttribute(self::STORAGE_KEY, $method->getAttribute(\Phabel\ClassStorage\Builder::STORAGE_KEY)->build()); + $method->setAttribute(\Phabel\ClassStorage\Builder::STORAGE_KEY, null); } } foreach ($extends as $name => $class) { @@ -246,9 +245,9 @@ public function removeMethod(ClassMethod $method) $name = $method->name->name; if ($method->stmts !== null) { if (isset($this->methods[$name])) { - $this->removedMethods[$name] = true; + $this->removedMethods[$name] = \true; unset($this->methods[$name]); - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -258,9 +257,9 @@ public function removeMethod(ClassMethod $method) return $phabelReturn; } } elseif (isset($this->abstractMethods[$name])) { - $this->removedMethods[$name] = true; + $this->removedMethods[$name] = \true; unset($this->abstractMethods[$name]); - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -269,7 +268,7 @@ public function removeMethod(ClassMethod $method) } return $phabelReturn; } - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -287,7 +286,7 @@ public function process(ClassMethod $method) { $name = $method->name->name; if (isset($this->removedMethods[$name])) { - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -308,7 +307,7 @@ public function process(ClassMethod $method) $method->setAttribute($key, $attribute); } } - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); diff --git a/src/ClassStorageProvider.php b/src/ClassStorageProvider.php index 944646c82..8ffcd78cf 100644 --- a/src/ClassStorageProvider.php +++ b/src/ClassStorageProvider.php @@ -4,11 +4,10 @@ use JsonSerializable; use Phabel\ClassStorage\Storage; -use PhpParser\Node\Stmt\ClassLike; -use PhpParser\Node\Stmt\ClassMethod; -use PhpParser\Node\Stmt\Nop; - -abstract class ClassStorageProvider extends Plugin implements JsonSerializable +use Phabel\PhpParser\Node\Stmt\ClassLike; +use Phabel\PhpParser\Node\Stmt\ClassMethod; +use Phabel\PhpParser\Node\Stmt\Nop; +abstract class ClassStorageProvider extends \Phabel\Plugin implements JsonSerializable { const PROCESSED = 'ClassStorageProvider:processed'; /** @@ -21,14 +20,14 @@ abstract class ClassStorageProvider extends Plugin implements JsonSerializable * @param ClassStorage $storage * @return bool */ - abstract public static function processClassGraph(ClassStorage $storage); + public static abstract function processClassGraph(\Phabel\ClassStorage $storage); /** * Enter file. * * @param RootNode $_ * @return void */ - public function enterRoot(RootNode $_, Context $context) + public function enterRoot(\Phabel\RootNode $_, \Phabel\Context $context) { $this->count[$context->getFile()] = []; } @@ -38,12 +37,12 @@ public function enterRoot(RootNode $_, Context $context) * @param ClassLike $classLike * @return void */ - public function enterClassStorage(ClassLike $class, Context $context) + public function enterClassStorage(ClassLike $class, \Phabel\Context $context) { if ($class->hasAttribute(self::PROCESSED)) { return; } - $class->setAttribute(self::PROCESSED, true); + $class->setAttribute(self::PROCESSED, \true); $file = $context->getFile(); if ($class->name) { $name = self::getFqdn($class); @@ -66,8 +65,8 @@ public function enterClassStorage(ClassLike $class, Context $context) */ public function getGlobalClassStorage() { - $phabelReturn = $this->getConfig(ClassStorage::class, null); - if (!$phabelReturn instanceof ClassStorage) { + $phabelReturn = $this->getConfig(\Phabel\ClassStorage::class, null); + if (!$phabelReturn instanceof \Phabel\ClassStorage) { throw new \TypeError(__METHOD__ . '(): Return value must be of type ClassStorage, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; diff --git a/src/Cli/EventHandler.php b/src/Cli/EventHandler.php index 3fcda6199..eebc00819 100644 --- a/src/Cli/EventHandler.php +++ b/src/Cli/EventHandler.php @@ -3,10 +3,9 @@ namespace Phabel\Cli; use Phabel\EventHandler as PhabelEventHandler; -use Psr\Log\LoggerInterface; -use Symfony\Component\Console\Helper\ProgressBar; -use Symfony\Component\Console\Output\ConsoleOutput; - +use Phabel\Psr\Log\LoggerInterface; +use Phabel\Symfony\Component\Console\Helper\ProgressBar; +use Phabel\Symfony\Component\Console\Output\ConsoleOutput; class EventHandler extends PhabelEventHandler { private $outputFormatter; @@ -26,7 +25,7 @@ class EventHandler extends PhabelEventHandler public static function create() { $output = new ConsoleOutput(); - $phabelReturn = new EventHandler(new SimpleConsoleLogger($output), function ($max) use ($output) { + $phabelReturn = new \Phabel\Cli\EventHandler(new \Phabel\Cli\SimpleConsoleLogger($output), function ($max) use($output) { if (!\is_int($max)) { if (!(\is_bool($max) || \is_numeric($max))) { throw new \TypeError(__METHOD__ . '(): Argument #1 ($max) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -49,7 +48,7 @@ public function __construct(private LoggerInterface $logger, $getProgressBar) if (!(\is_callable($getProgressBar) || \is_null($getProgressBar))) { throw new \TypeError(__METHOD__ . '(): Argument #2 ($getProgressBar) must be of type ?callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($getProgressBar) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } - $this->outputFormatter = Formatter::getFormatter(); + $this->outputFormatter = \Phabel\Cli\Formatter::getFormatter(); $this->getProgressBar = $getProgressBar; } public function onBeginPluginGraphResolution() @@ -137,7 +136,7 @@ public function onEndAstTraversal($file, $iterationsOrError) } \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->progress) ? $this->progress : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->advance(); if ($iterationsOrError instanceof \Exception || $iterationsOrError instanceof \Error) { - $this->logger->error($this->outputFormatter->format(PHP_EOL . "{$iterationsOrError->getMessage()}!")); + $this->logger->error($this->outputFormatter->format(\PHP_EOL . "{$iterationsOrError->getMessage()}!")); $this->logger->debug($this->outputFormatter->format("{$iterationsOrError}")); } else { $this->logger->debug($this->outputFormatter->format("Transpiled {$file} in {$iterationsOrError} iterations!")); diff --git a/src/Cli/Formatter.php b/src/Cli/Formatter.php index 7c254d598..8843125cb 100644 --- a/src/Cli/Formatter.php +++ b/src/Cli/Formatter.php @@ -2,9 +2,8 @@ namespace Phabel\Cli; -use Symfony\Component\Console\Formatter\OutputFormatter; -use Symfony\Component\Console\Formatter\OutputFormatterStyle; - +use Phabel\Symfony\Component\Console\Formatter\OutputFormatter; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterStyle; class Formatter { const BANNER = "*********\n Phabel \n*********\n\nPHP transpiler - Write and deploy modern PHP 8 code, today: https://phabel.io"; @@ -12,7 +11,7 @@ class Formatter public static function getFormatter() { if (!self::$instance) { - self::$instance = new OutputFormatter(true, ['bold' => new OutputFormatterStyle('white', 'default', ['bold']), 'phabel' => new OutputFormatterStyle('blue', 'default', ['bold']), 'error' => new OutputFormatterStyle('red', 'default', ['bold'])]); + self::$instance = new OutputFormatter(\true, ['bold' => new OutputFormatterStyle('white', 'default', ['bold']), 'phabel' => new OutputFormatterStyle('blue', 'default', ['bold']), 'error' => new OutputFormatterStyle('red', 'default', ['bold'])]); } $phabelReturn = self::$instance; if (!$phabelReturn instanceof OutputFormatter) { diff --git a/src/Cli/SimpleConsoleLogger.php b/src/Cli/SimpleConsoleLogger.php index 4592b0265..655909824 100644 --- a/src/Cli/SimpleConsoleLogger.php +++ b/src/Cli/SimpleConsoleLogger.php @@ -8,15 +8,13 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace Phabel\Cli; -use Psr\Log\AbstractLogger; -use Psr\Log\InvalidArgumentException; -use Psr\Log\LogLevel; -use Symfony\Component\Console\Output\ConsoleOutputInterface; -use Symfony\Component\Console\Output\OutputInterface; - +use Phabel\Psr\Log\AbstractLogger; +use Phabel\Psr\Log\InvalidArgumentException; +use Phabel\Psr\Log\LogLevel; +use Phabel\Symfony\Component\Console\Output\ConsoleOutputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; /** * PSR-3 compliant console logger. * @@ -31,7 +29,7 @@ class SimpleConsoleLogger extends AbstractLogger private $output; private $verbosityLevelMap = [LogLevel::EMERGENCY => OutputInterface::VERBOSITY_NORMAL, LogLevel::ALERT => OutputInterface::VERBOSITY_NORMAL, LogLevel::CRITICAL => OutputInterface::VERBOSITY_NORMAL, LogLevel::ERROR => OutputInterface::VERBOSITY_NORMAL, LogLevel::WARNING => OutputInterface::VERBOSITY_NORMAL, LogLevel::NOTICE => OutputInterface::VERBOSITY_VERBOSE, LogLevel::INFO => OutputInterface::VERBOSITY_VERY_VERBOSE, LogLevel::DEBUG => OutputInterface::VERBOSITY_DEBUG]; private $formatLevelMap = [LogLevel::EMERGENCY => self::ERROR, LogLevel::ALERT => self::ERROR, LogLevel::CRITICAL => self::ERROR, LogLevel::ERROR => self::ERROR, LogLevel::WARNING => self::INFO, LogLevel::NOTICE => self::INFO, LogLevel::INFO => self::INFO, LogLevel::DEBUG => self::INFO]; - private $errored = false; + private $errored = \false; public function __construct(OutputInterface $output, array $verbosityLevelMap = [], array $formatLevelMap = []) { $this->output = $output; @@ -54,7 +52,7 @@ public function log($level, $message, array $context = []) if ($this->output instanceof ConsoleOutputInterface) { $output = $output->getErrorOutput(); } - $this->errored = true; + $this->errored = \true; } // the if condition check isn't necessary -- it's the same one that $output will do internally anyway. // We only do it for efficiency here as the message formatting is relatively expensive. diff --git a/src/Commands/Publish.php b/src/Commands/Publish.php index fa8a8f2af..76adb54a6 100644 --- a/src/Commands/Publish.php +++ b/src/Commands/Publish.php @@ -6,18 +6,17 @@ use Phabel\Cli\Formatter; use Phabel\Plugin\ComposerSanitizer; use Phabel\Version; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; -use Symfony\Component\Process\Exception\ProcessFailedException; -use Symfony\Component\Process\Process; - +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Input\InputOption; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Component\Process\Exception\ProcessFailedException; +use Phabel\Symfony\Component\Process\Process; class Publish extends Command { protected static $defaultName = 'publish'; - private function exec(array $command, $ignoreResult = false) + private function exec(array $command, $ignoreResult = \false) { if (!\is_bool($ignoreResult)) { if (!(\is_bool($ignoreResult) || \is_numeric($ignoreResult) || \is_string($ignoreResult))) { @@ -88,11 +87,11 @@ private function prepare($src, $dest, callable $cb) if (!\file_exists('composer.json')) { throw new Exception("composer.json doesn't exist!"); } - $json = \json_decode(\file_get_contents('composer.json'), true); + $json = \json_decode(\file_get_contents('composer.json'), \true); $json = $cb($json); - \file_put_contents('composer.json', \json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); + \file_put_contents('composer.json', \json_encode($json, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES)); $this->exec(['git', 'commit', '-am', $message . "\nRelease transpiled using https://phabel.io, the PHP transpiler"]); - $this->exec(['git', 'tag', '-d', $dest], true); + $this->exec(['git', 'tag', '-d', $dest], \true); $this->exec(['git', 'tag', $dest]); } protected function execute(InputInterface $input, OutputInterface $output) @@ -102,7 +101,7 @@ protected function execute(InputInterface $input, OutputInterface $output) $output->setFormatter(Formatter::getFormatter()); $branch = \trim($this->exec(["git", 'rev-parse', '--abbrev-ref', 'HEAD'])); $stashed = \trim($this->exec(['git', 'stash'])) !== 'No local changes to save'; - $output->write("Tagging transpiled release {$src}.9998..." . PHP_EOL); + $output->write("Tagging transpiled release {$src}.9998..." . \PHP_EOL); $this->prepare($src, "{$src}.9998", function (array $json) { $json['phabel'] = isset($json['phabel']) ? $json['phabel'] : []; $json['phabel']['extra'] = isset($json['phabel']['extra']) ? $json['phabel']['extra'] : []; @@ -119,7 +118,7 @@ protected function execute(InputInterface $input, OutputInterface $output) } return $phabelReturn; }); - $output->write("Tagging original release as {$src}.9999..." . PHP_EOL); + $output->write("Tagging original release as {$src}.9999..." . \PHP_EOL); $this->prepare($src, "{$src}.9999", function (array $json) { $phabelReturn = $json; if (!\is_array($phabelReturn)) { @@ -131,7 +130,7 @@ protected function execute(InputInterface $input, OutputInterface $output) if ($stashed) { $this->exec(['git', 'stash', 'pop']); } - $output->write("Pushing {$src}.9998, {$src}.9999 to {$remote}..." . PHP_EOL); + $output->write("Pushing {$src}.9998, {$src}.9999 to {$remote}..." . \PHP_EOL); $this->exec(['git', 'push', $remote, "{$src}.9998", "{$src}.9999"]); $output->write("Done!\nTell users to require ^{$src} in their composer.json to automatically load the correct transpiled version!\n\nTip: Add the following badge to your README to let users know about your minimum supported PHP version, as it won't be shown on packagist.\n![phabel.io](https://phabel.io/badge/5.6)\n"); return Command::SUCCESS; diff --git a/src/Commands/Run.php b/src/Commands/Run.php index b8bad305f..6de78ab2e 100644 --- a/src/Commands/Run.php +++ b/src/Commands/Run.php @@ -7,32 +7,31 @@ use Phabel\Cli\SimpleConsoleLogger; use Phabel\Target\Php; use Phabel\Traverser; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Helper\ProgressBar; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Output\OutputInterface; - +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Helper\ProgressBar; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Input\InputOption; +use Phabel\Symfony\Component\Console\Output\OutputInterface; class Run extends Command { protected static $defaultName = 'run'; protected function configure() { $target = \getenv('PHABEL_TARGET') ?: null; - $coverage = \getenv('PHABEL_COVERAGE') ?: false; + $coverage = \getenv('PHABEL_COVERAGE') ?: \false; $parallel = \getenv('PHABEL_PARALLEL') ?: 1; $this->setDescription('Run transpiler.')->setHelp('This command transpiles the specified files or directories to the specified PHP version.')->addOption('target', null, $target ? InputOption::VALUE_OPTIONAL : InputOption::VALUE_REQUIRED, 'Target PHP version', $target)->addOption('coverage', null, InputOption::VALUE_OPTIONAL, 'PHP coverage path', $coverage)->addOption('parallel', 'j', InputOption::VALUE_OPTIONAL, 'Number of threads to use for transpilation', $parallel)->addArgument('input', InputArgument::REQUIRED, 'Input path')->addArgument('output', InputArgument::REQUIRED, 'Output path'); } protected function execute(InputInterface $input, OutputInterface $output) { $output->setFormatter(Formatter::getFormatter()); - $output->write(PHP_EOL . Formatter::BANNER . PHP_EOL . PHP_EOL); + $output->write(\PHP_EOL . Formatter::BANNER . \PHP_EOL . \PHP_EOL); if (!$input->getOption('target')) { - $output->write("Missing --target parameter or PHABEL_TARGET environment variable!" . PHP_EOL . PHP_EOL); + $output->write("Missing --target parameter or PHABEL_TARGET environment variable!" . \PHP_EOL . \PHP_EOL); return Command::INVALID; } - $packages = (new Traverser(new CliEventHandler(new SimpleConsoleLogger($output), !\getenv('CI') && !$output->isDebug() ? function ($max) use ($output) { + $packages = (new Traverser(new CliEventHandler(new SimpleConsoleLogger($output), !\getenv('CI') && !$output->isDebug() ? function ($max) use($output) { if (!\is_int($max)) { if (!(\is_bool($max) || \is_numeric($max))) { throw new \TypeError(__METHOD__ . '(): Argument #1 ($max) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -50,8 +49,8 @@ protected function execute(InputInterface $input, OutputInterface $output) foreach ($packages as $package => $constraint) { $cmd .= \escapeshellarg("{$package}:{$constraint}") . " "; } - $output->write("Please run the following command to install required development dependencies:" . PHP_EOL); - $output->write($cmd . PHP_EOL); + $output->write("Please run the following command to install required development dependencies:" . \PHP_EOL); + $output->write($cmd . \PHP_EOL); } return Command::SUCCESS; } diff --git a/src/Composer/Plugin.php b/src/Composer/Plugin.php index 8b8b622b7..21f04b9d6 100644 --- a/src/Composer/Plugin.php +++ b/src/Composer/Plugin.php @@ -13,9 +13,8 @@ use Composer\Script\ScriptEvents; use Phabel\Tools; use Phabel\Version; -use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Output\NullOutput; - +use Phabel\Symfony\Component\Console\Input\ArrayInput; +use Phabel\Symfony\Component\Console\Output\NullOutput; /** * @author Daniil Gentili * @license MIT @@ -37,10 +36,10 @@ class Plugin implements PluginInterface, EventSubscriberInterface public function activate(Composer $composer, IOInterface $io) { if (\file_exists('composer.lock')) { - $this->lock = \json_decode(\file_get_contents('composer.lock'), true); + $this->lock = \json_decode(\file_get_contents('composer.lock'), \true); } $rootPackage = $composer->getPackage(); - $this->transformer = Transformer::getInstance($io); + $this->transformer = \Phabel\Composer\Transformer::getInstance($io); $this->transformer->preparePackage($rootPackage, $rootPackage->getName()); foreach ($rootPackage->getRequires() as $link) { if (PlatformRepository::isPlatformPackage($link->getTarget())) { @@ -52,7 +51,7 @@ public function activate(Composer $composer, IOInterface $io) $repos = $repoManager->getRepositories(); foreach (\array_reverse($repos) as $repo) { if (!\method_exists($repo, 'setPhabelTransformer')) { - $repo = Tools::cloneWithTrait($repo, Repository::class); + $repo = Tools::cloneWithTrait($repo, \Phabel\Composer\Repository::class); $repo->setPhabelTransformer($this->transformer); $repoManager->prependRepository($repo); } @@ -91,11 +90,11 @@ public static function getSubscribedEvents() } public function onInstall(Event $event) { - $this->run($event, false); + $this->run($event, \false); } public function onUpdate(Event $event) { - $this->run($event, true); + $this->run($event, \true); } private function run(Event $event, $isUpdate) { @@ -105,9 +104,9 @@ private function run(Event $event, $isUpdate) } $isUpdate = (bool) $isUpdate; } - $lock = \json_decode(\file_get_contents('composer.lock'), true); + $lock = \json_decode(\file_get_contents('composer.lock'), \true); if (!$this->transformer->transform($lock, $this->lock)) { - \register_shutdown_function(function () use ($isUpdate) { + \register_shutdown_function(function () use($isUpdate) { /** @var Application */ $application = (isset($GLOBALS['application']) ? $GLOBALS['application'] : null) instanceof Application ? $GLOBALS['application'] : new Application(); $this->transformer->log("Loading additional dependencies...\n"); @@ -115,13 +114,13 @@ private function run(Event $event, $isUpdate) $require = $application->find('require'); $require->run(new ArrayInput(['packages' => [$this->toRequire]]), new NullOutput()); } else { - $application->setAutoExit(false); + $application->setAutoExit(\false); $application->run(); } }); } else { \register_shutdown_function(function () { - $json = \json_decode(\file_get_contents('composer.json'), true); + $json = \json_decode(\file_get_contents('composer.json'), \true); if (!isset($json['require']['phabel/phabel'])) { return; } @@ -142,7 +141,7 @@ private function run(Event $event, $isUpdate) $io->writeError($f(Version::CHANGELOG[$x])); } } - \file_put_contents('composer.json', \json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . PHP_EOL); + \file_put_contents('composer.json', \json_encode($json, \JSON_PRETTY_PRINT | \JSON_UNESCAPED_SLASHES) . \PHP_EOL); }); } } diff --git a/src/Composer/Repository.php b/src/Composer/Repository.php index 573065f23..35c47da8b 100644 --- a/src/Composer/Repository.php +++ b/src/Composer/Repository.php @@ -3,7 +3,6 @@ namespace Phabel\Composer; use Composer\Package\PackageInterface; - /** * @author Daniil Gentili * @license MIT @@ -129,7 +128,7 @@ public function getPackages() * * @return self */ - public function setPhabelTransformer(Transformer $phabelTransformer) + public function setPhabelTransformer(\Phabel\Composer\Transformer $phabelTransformer) { $this->phabelTransformer = $phabelTransformer; $phabelReturn = $this; diff --git a/src/Composer/Transformer.php b/src/Composer/Transformer.php index 74a83314b..b6abf50a9 100644 --- a/src/Composer/Transformer.php +++ b/src/Composer/Transformer.php @@ -20,8 +20,7 @@ use Phabel\Target\Php; use Phabel\Traverser; use ReflectionClass; -use Symfony\Component\Console\Helper\ProgressBar; - +use Phabel\Symfony\Component\Console\Helper\ProgressBar; class Transformer extends EventHandler { const HEADER = 'phabel/transpiler'; @@ -49,11 +48,11 @@ class Transformer extends EventHandler /** * Whether we processed any dependencies. */ - private $processed = false; + private $processed = \false; /** * Whether a progress bar should be shown. */ - private $doProgress = true; + private $doProgress = \true; /** * Instance. */ @@ -91,7 +90,7 @@ private function __construct(IOInterface $io) * @param bool $newline * @return void */ - public function log($text, $verbosity = IOInterface::NORMAL, $newline = true) + public function log($text, $verbosity = IOInterface::NORMAL, $newline = \true) { if (!\is_string($text)) { if (!(\is_string($text) || \is_object($text) && \method_exists($text, '__toString') || (\is_bool($text) || \is_numeric($text)))) { @@ -143,10 +142,10 @@ public function format($text) */ public function banner() { - static $printed = false; + static $printed = \false; if (!$printed) { - $printed = true; - $this->log(PHP_EOL . Formatter::BANNER . PHP_EOL); + $printed = \true; + $this->log(\PHP_EOL . Formatter::BANNER . \PHP_EOL); } } /** @@ -178,11 +177,11 @@ public function preparePackage(PackageInterface &$package, $newName, $target = P */ $config = null !== ($phabel_f0c212d00f8be226 = $package->getExtra()) && isset($phabel_f0c212d00f8be226['phabel']) ? $phabel_f0c212d00f8be226['phabel'] : []; $myTarget = Php::normalizeVersion(isset($config['target']) ? $config['target'] : Php::DEFAULT_TARGET); - $havePhabel = false; + $havePhabel = \false; foreach ($package->getRequires() as $link) { list($name) = $this->extractTarget($link->getTarget()); if ($name === 'phabel/phabel') { - $havePhabel = true; + $havePhabel = \true; } if ($link->getTarget() === 'php') { $myTarget = $link->getConstraint()->getLowerBound()->getVersion(); @@ -191,7 +190,7 @@ public function preparePackage(PackageInterface &$package, $newName, $target = P } } } - $this->processed = true; + $this->processed = \true; if (!$havePhabel) { if ($target === Php::TARGET_IGNORE) { $this->log("Skipping " . $package->getName() . "={$newName}", IOInterface::VERY_VERBOSE); @@ -353,7 +352,7 @@ public function transform($lock, $old) $byName[$name] = $package; } do { - $changed = false; + $changed = \false; foreach ($byName as $name => $package) { $parentConfigs = $package['phabelConfig']; foreach (isset($package['require']) ? $package['require'] : [] as $subName => $constraint) { @@ -367,7 +366,7 @@ public function transform($lock, $old) foreach ($parentConfigs as $config) { if (!\in_array($config, $byName[$subName]['phabelConfig'])) { $byName[$subName]['phabelConfig'][] = $config; - $changed = true; + $changed = \true; } } } @@ -405,7 +404,7 @@ public function transform($lock, $old) } \gc_disable(); } - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -415,7 +414,7 @@ public function transform($lock, $old) return $phabelReturn; } if ($lock && $lock === $old) { - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -425,7 +424,7 @@ public function transform($lock, $old) return $phabelReturn; } if (!$byName) { - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -458,7 +457,7 @@ public function transform($lock, $old) } \gc_disable(); } - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); diff --git a/src/Context.php b/src/Context.php index fb9cd0d63..49487f9f3 100644 --- a/src/Context.php +++ b/src/Context.php @@ -3,39 +3,38 @@ namespace Phabel; use Phabel\Target\Php74\ArrowClosure; -use PhpParser\BuilderHelpers; -use PhpParser\ErrorHandler\Throwing; -use PhpParser\NameContext; -use PhpParser\Node; -use PhpParser\Node\Expr\Array_; -use PhpParser\Node\Expr\ArrayDimFetch; -use PhpParser\Node\Expr\ArrowFunction; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\AssignOp; -use PhpParser\Node\Expr\AssignRef; -use PhpParser\Node\Expr\BinaryOp\BooleanAnd; -use PhpParser\Node\Expr\BinaryOp\BooleanOr; -use PhpParser\Node\Expr\BinaryOp\Coalesce; -use PhpParser\Node\Expr\BooleanNot; -use PhpParser\Node\Expr\Cast\Bool_; -use PhpParser\Node\Expr\Closure; -use PhpParser\Node\Expr\FuncCall; -use PhpParser\Node\Expr\List_; -use PhpParser\Node\Expr\MethodCall; -use PhpParser\Node\Expr\StaticCall; -use PhpParser\Node\Expr\Ternary; -use PhpParser\Node\Expr\Variable; -use PhpParser\Node\FunctionLike; -use PhpParser\Node\Name\FullyQualified; -use PhpParser\Node\Param; -use PhpParser\Node\Stmt\ClassLike; -use PhpParser\Node\Stmt\Else_; -use PhpParser\Node\Stmt\Expression; -use PhpParser\Node\Stmt\If_; -use PhpParser\NodeVisitor\NameResolver; -use PhpParser\PrettyPrinter\Standard; +use Phabel\PhpParser\BuilderHelpers; +use Phabel\PhpParser\ErrorHandler\Throwing; +use Phabel\PhpParser\NameContext; +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr\Array_; +use Phabel\PhpParser\Node\Expr\ArrayDimFetch; +use Phabel\PhpParser\Node\Expr\ArrowFunction; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\AssignOp; +use Phabel\PhpParser\Node\Expr\AssignRef; +use Phabel\PhpParser\Node\Expr\BinaryOp\BooleanAnd; +use Phabel\PhpParser\Node\Expr\BinaryOp\BooleanOr; +use Phabel\PhpParser\Node\Expr\BinaryOp\Coalesce; +use Phabel\PhpParser\Node\Expr\BooleanNot; +use Phabel\PhpParser\Node\Expr\Cast\Bool_; +use Phabel\PhpParser\Node\Expr\Closure; +use Phabel\PhpParser\Node\Expr\FuncCall; +use Phabel\PhpParser\Node\Expr\List_; +use Phabel\PhpParser\Node\Expr\MethodCall; +use Phabel\PhpParser\Node\Expr\StaticCall; +use Phabel\PhpParser\Node\Expr\Ternary; +use Phabel\PhpParser\Node\Expr\Variable; +use Phabel\PhpParser\Node\FunctionLike; +use Phabel\PhpParser\Node\Name\FullyQualified; +use Phabel\PhpParser\Node\Param; +use Phabel\PhpParser\Node\Stmt\ClassLike; +use Phabel\PhpParser\Node\Stmt\Else_; +use Phabel\PhpParser\Node\Stmt\Expression; +use Phabel\PhpParser\Node\Stmt\If_; +use Phabel\PhpParser\NodeVisitor\NameResolver; +use Phabel\PhpParser\PrettyPrinter\Standard; use SplStack; - /** * AST Context. * @@ -93,7 +92,7 @@ public function __construct() $this->variables = new SplStack(); $this->converter = new ArrowClosure(); $this->prettyPrinter = new Standard(); - $this->nameResolver = new NameResolver(new Throwing(), ['preserveOriginalNames' => false, 'replaceNodes' => false]); + $this->nameResolver = new NameResolver(new Throwing(), ['preserveOriginalNames' => \false, 'replaceNodes' => \false]); $this->nameResolver->beforeTraverse([]); } /** @@ -118,8 +117,8 @@ public function pushResolve(Node $node) public function push(Node $node) { $this->parents->push($node); - if ($node instanceof RootNode) { - $this->variables->push(new VariableContext()); + if ($node instanceof \Phabel\RootNode) { + $this->variables->push(new \Phabel\VariableContext()); } if ($node instanceof FunctionLike) { $variables = \array_fill_keys(\array_map(function (Param $param) { @@ -131,10 +130,10 @@ public function push(Node $node) $phabelReturn = (string) $phabelReturn; } return $phabelReturn; - }, $node->getParams()), true); + }, $node->getParams()), \true); if ($node instanceof Closure) { foreach ($node->uses as $use) { - $variables[$use->var->name] = true; + $variables[$use->var->name] = \true; if ($use->byRef) { $this->variables->top()->addVar($use->var->name); } @@ -142,7 +141,7 @@ public function push(Node $node) } elseif ($node instanceof ArrowFunction) { $variables += $this->variables->top()->getVars(); } - $this->variables->push(new VariableContext($variables)); + $this->variables->push(new \Phabel\VariableContext($variables)); } elseif ($node instanceof Assign || $node instanceof AssignOp || $node instanceof AssignRef) { $this->populateVars($node->var); } elseif ($node instanceof MethodCall || $node instanceof StaticCall || $node instanceof FuncCall) { @@ -186,7 +185,7 @@ private function populateVars(Node $node) public function pop() { $popped = $this->parents->pop(); - if ($popped instanceof RootNode || $popped instanceof FunctionLike) { + if ($popped instanceof \Phabel\RootNode || $popped instanceof FunctionLike) { $poppedVars = $this->variables->pop(); if ($popped instanceof ArrowFunction) { $this->variables->top()->addVars($poppedVars->getVars()); @@ -257,15 +256,15 @@ public function insertBefore(Node $node, Node ...$insert) if (empty($insert)) { return; } - $found = false; + $found = \false; foreach ($this->parents as $cur) { if ($found) { $parent =& $this->getCurrentChildByRef($cur); break; } if ($this->getCurrentChild($cur) === $node) { - $found = true; - if ($cur instanceof RootNode) { + $found = \true; + if ($cur instanceof \Phabel\RootNode) { $parent =& $this->parents[\count($this->parents) - 1]; break; } @@ -292,15 +291,15 @@ public function insertBefore(Node $node, Node ...$insert) // // Unless we want to go crazy, do not consider side effect evaluation order for stuff like function call arguments, maths and so on. // - if ($parent instanceof BooleanOr && $parentKey === 'right' && Tools::hasSideEffects($parent->right)) { + if ($parent instanceof BooleanOr && $parentKey === 'right' && \Phabel\Tools::hasSideEffects($parent->right)) { $result = $this->getVariable(); - $insert = new If_($parent->left, ['stmts' => [new Assign($result, BuilderHelpers::normalizeValue(true))], 'else' => new Else_(\array_merge($insert, [new Assign($result, new Bool_($parent->right))]))]); + $insert = new If_($parent->left, ['stmts' => [new Assign($result, BuilderHelpers::normalizeValue(\true))], 'else' => new Else_(\array_merge($insert, [new Assign($result, new Bool_($parent->right))]))]); $parent = $result; - } elseif ($parent instanceof BooleanAnd && $parentKey === 'right' && Tools::hasSideEffects($parent->right)) { + } elseif ($parent instanceof BooleanAnd && $parentKey === 'right' && \Phabel\Tools::hasSideEffects($parent->right)) { $result = $this->getVariable(); - $insert = new If_($parent->left, ['stmts' => \array_merge($insert, [new Assign($result, new Bool_($parent->right))]), 'else' => new Else_([new Assign($result, BuilderHelpers::normalizeValue(false))])]); + $insert = new If_($parent->left, ['stmts' => \array_merge($insert, [new Assign($result, new Bool_($parent->right))]), 'else' => new Else_([new Assign($result, BuilderHelpers::normalizeValue(\false))])]); $parent = $result; - } elseif ($parent instanceof Ternary && $parentKey !== 'cond' && (Tools::hasSideEffects($parent->if) || Tools::hasSideEffects($parent->else))) { + } elseif ($parent instanceof Ternary && $parentKey !== 'cond' && (\Phabel\Tools::hasSideEffects($parent->if) || \Phabel\Tools::hasSideEffects($parent->else))) { $result = $this->getVariable(); if (!$parent->if) { // ?: @@ -309,9 +308,9 @@ public function insertBefore(Node $node, Node ...$insert) $insert = new If_($parent->cond, ['stmts' => \array_merge($parentKey === 'left' ? $insert : [], [new Assign($result, $parent->if)]), 'else' => new Else_(\array_merge($parentKey === 'right' ? $insert : [], [new Assign($result, $parent->else)]))]); } $parent = $result; - } elseif ($parent instanceof Coalesce && $parentKey === 'right' && Tools::hasSideEffects($parent->right)) { + } elseif ($parent instanceof Coalesce && $parentKey === 'right' && \Phabel\Tools::hasSideEffects($parent->right)) { $result = $this->getVariable(); - $insert = new If_(Plugin::call('is_null', new Assign($result, $parent->left)), ['stmts' => \array_merge($insert, [new Assign($result, $parent->right)])]); + $insert = new If_(\Phabel\Plugin::call('is_null', new Assign($result, $parent->left)), ['stmts' => \array_merge($insert, [new Assign($result, $parent->right)])]); $parent = $result; } $this->insertBefore($parent, ...\is_array($insert) ? $insert : [$insert]); @@ -328,10 +327,10 @@ public function insertAfter(Node $node, Node ...$nodes) if (empty($nodes)) { return; } - $found = false; + $found = \false; foreach ($this->parents as $parent) { if ($this->getCurrentChild($parent) === $node) { - $found = true; + $found = \true; break; } } @@ -377,7 +376,7 @@ public function isParentStmt() */ public function dumpAst(Node $stmt) { - $phabelReturn = $this->prettyPrinter->prettyPrint($stmt instanceof RootNode ? $stmt->stmts : [$stmt]); + $phabelReturn = $this->prettyPrinter->prettyPrint($stmt instanceof \Phabel\RootNode ? $stmt->stmts : [$stmt]); if (!\is_string($phabelReturn)) { if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); diff --git a/src/EventHandler.php b/src/EventHandler.php index fd4a499b8..e03349a78 100644 --- a/src/EventHandler.php +++ b/src/EventHandler.php @@ -2,7 +2,7 @@ namespace Phabel; -abstract class EventHandler implements EventHandlerInterface +abstract class EventHandler implements \Phabel\EventHandlerInterface { public function onStart() { diff --git a/src/ExceptionWrapper.php b/src/ExceptionWrapper.php index 5f86ed784..ed2b21d0a 100644 --- a/src/ExceptionWrapper.php +++ b/src/ExceptionWrapper.php @@ -3,7 +3,6 @@ namespace Phabel; use SplStack; - final class ExceptionWrapper { private $params; @@ -23,11 +22,11 @@ public function getException() $file = $phabel_b74d6f1513225dbf[2]; $line = $phabel_b74d6f1513225dbf[3]; $trace = $phabel_b74d6f1513225dbf[4]; - $previous = new Exception($message, $code, $previous, $file, $line); + $previous = new \Phabel\Exception($message, $code, $previous, $file, $line); $previous->setTrace($trace); } $phabelReturn = $previous; - if (!$phabelReturn instanceof Exception) { + if (!$phabelReturn instanceof \Phabel\Exception) { throw new \TypeError(__METHOD__ . '(): Return value must be of type Exception, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; diff --git a/src/Plugin.php b/src/Plugin.php index cd0a6c66d..3ac9749e7 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -3,18 +3,17 @@ namespace Phabel; use Phabel\PluginGraph\PackageContext; -use PhpParser\Node\Arg; -use PhpParser\Node\Expr; -use PhpParser\Node\Expr\StaticCall; -use PhpParser\Node\Name; - +use Phabel\PhpParser\Node\Arg; +use Phabel\PhpParser\Node\Expr; +use Phabel\PhpParser\Node\Expr\StaticCall; +use Phabel\PhpParser\Node\Name; /** * Plugin. * * @author Daniil Gentili * @license MIT */ -abstract class Plugin extends Tools implements PluginInterface +abstract class Plugin extends \Phabel\Tools implements \Phabel\PluginInterface { /** * Configuration array. @@ -110,7 +109,7 @@ public function shouldRunFile($file) } $file = (string) $file; } - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -193,7 +192,7 @@ public function hasConfig($key) public static function mergeConfigs(array ...$configs) { $final = []; - foreach (\array_unique($configs, SORT_REGULAR) as $config) { + foreach (\array_unique($configs, \SORT_REGULAR) as $config) { foreach ($final as $k => $compare) { if (empty($intersect = \array_intersect_key($config, $compare)) || $intersect === \array_intersect_key($compare, $config)) { $final[$k] = $config + $compare; @@ -213,7 +212,7 @@ public static function mergeConfigs(array ...$configs) */ public static function splitConfig(array $config) { - $phabelReturn = empty($config) ? [[]] : \array_chunk($config, 1, true); + $phabelReturn = empty($config) ? [[]] : \array_chunk($config, 1, \true); if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Plugin/ClassStoragePlugin.php b/src/Plugin/ClassStoragePlugin.php index 1964c2fb1..c927687c4 100644 --- a/src/Plugin/ClassStoragePlugin.php +++ b/src/Plugin/ClassStoragePlugin.php @@ -10,12 +10,11 @@ use Phabel\Context; use Phabel\Plugin; use Phabel\RootNode; -use PhpParser\Builder\Method; -use PhpParser\Builder\Param; -use PhpParser\Node\Stmt\ClassLike; -use PhpParser\Node\Stmt\ClassMethod; -use PhpParser\Node\Stmt\Trait_; - +use Phabel\PhpParser\Builder\Method; +use Phabel\PhpParser\Builder\Param; +use Phabel\PhpParser\Node\Stmt\ClassLike; +use Phabel\PhpParser\Node\Stmt\ClassMethod; +use Phabel\PhpParser\Node\Stmt\Trait_; final class ClassStoragePlugin extends Plugin { /** @@ -55,7 +54,7 @@ public function shouldRun($package) } $package = (string) $package; } - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -79,7 +78,7 @@ public function shouldRunFile($file) } $file = (string) $file; } - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -187,9 +186,9 @@ public function merge($other) public function finish() { $storage = new ClassStorage($this); - $processedAny = false; + $processedAny = \false; do { - $processed = false; + $processed = \false; foreach ($this->finalPlugins as $name => $_) { $processed = $name::processClassGraph($storage) || $processed; } diff --git a/src/Plugin/ComposerSanitizer.php b/src/Plugin/ComposerSanitizer.php index 928432705..8576cabb8 100644 --- a/src/Plugin/ComposerSanitizer.php +++ b/src/Plugin/ComposerSanitizer.php @@ -5,7 +5,6 @@ use Phabel\Context; use Phabel\Plugin; use Phabel\RootNode; - /** * Removes the file blocking inclusion of non-transpiled packages. * diff --git a/src/Plugin/GeneratorDetector.php b/src/Plugin/GeneratorDetector.php index 302141ab2..2a127188b 100644 --- a/src/Plugin/GeneratorDetector.php +++ b/src/Plugin/GeneratorDetector.php @@ -4,10 +4,9 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node\Expr\Yield_; -use PhpParser\Node\Expr\YieldFrom; -use PhpParser\Node\FunctionLike; - +use Phabel\PhpParser\Node\Expr\Yield_; +use Phabel\PhpParser\Node\Expr\YieldFrom; +use Phabel\PhpParser\Node\FunctionLike; /** * Detect usages of yield and yield from. * @@ -27,7 +26,7 @@ class GeneratorDetector extends Plugin */ public static function isGenerator(FunctionLike $node) { - $phabelReturn = $node->getAttribute(self::IS_GENERATOR, false); + $phabelReturn = $node->getAttribute(self::IS_GENERATOR, \false); if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -40,7 +39,7 @@ public function enterYield(Yield_ $node, Context $ctx) { foreach ($ctx->parents as $parent) { if ($parent instanceof FunctionLike) { - $parent->setAttribute(self::IS_GENERATOR, true); + $parent->setAttribute(self::IS_GENERATOR, \true); return; } } @@ -49,7 +48,7 @@ public function enterYieldFrom(YieldFrom $node, Context $ctx) { foreach ($ctx->parents as $parent) { if ($parent instanceof FunctionLike) { - $parent->setAttribute(self::IS_GENERATOR, true); + $parent->setAttribute(self::IS_GENERATOR, \true); return; } } diff --git a/src/Plugin/IssetExpressionFixer.php b/src/Plugin/IssetExpressionFixer.php index ca608d7f1..7640e45a2 100644 --- a/src/Plugin/IssetExpressionFixer.php +++ b/src/Plugin/IssetExpressionFixer.php @@ -3,22 +3,21 @@ namespace Phabel\Plugin; use Phabel\Plugin; -use PhpParser\Node; -use PhpParser\Node\Expr; -use PhpParser\Node\Expr\ArrayDimFetch; -use PhpParser\Node\Expr\ClassConstFetch; -use PhpParser\Node\Expr\Isset_; -use PhpParser\Node\Expr\PropertyFetch; -use PhpParser\Node\Expr\StaticPropertyFetch; -use PhpParser\Node\Expr\Ternary; -use PhpParser\Node\Expr\Variable; -use PhpParser\Node\Scalar\LNumber; -use PhpParser\Node\Scalar\String_; -use PhpParser\Node\VarLikeIdentifier; +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr; +use Phabel\PhpParser\Node\Expr\ArrayDimFetch; +use Phabel\PhpParser\Node\Expr\ClassConstFetch; +use Phabel\PhpParser\Node\Expr\Isset_; +use Phabel\PhpParser\Node\Expr\PropertyFetch; +use Phabel\PhpParser\Node\Expr\StaticPropertyFetch; +use Phabel\PhpParser\Node\Expr\Ternary; +use Phabel\PhpParser\Node\Expr\Variable; +use Phabel\PhpParser\Node\Scalar\LNumber; +use Phabel\PhpParser\Node\Scalar\String_; +use Phabel\PhpParser\Node\VarLikeIdentifier; use ReflectionClass; use ReflectionClassConstant; use ReflectionException; - /** * Replace nested expressions in isset. * @@ -67,15 +66,15 @@ public function enter(Isset_ $isset) { foreach ($isset->vars as $key => &$var) { /** @var array, true>> */ - $subNodes = $this->getConfig(\get_class($var), false); + $subNodes = $this->getConfig(\get_class($var), \false); if (!$subNodes) { continue; } $workVar =& $this->extractWorkVar($var); - $needsFixing = false; + $needsFixing = \false; foreach ($subNodes as $key => $types) { if (isset($types[self::getClass(isset($workVar->{$key}) ? $workVar->{$key} : '')])) { - $needsFixing = true; + $needsFixing = \true; break; } } @@ -92,10 +91,10 @@ public function enter(Isset_ $isset) } break; case StaticPropertyFetch::class: - $workVar = $this->wrapBoolean(self::callPoly('staticExists', $workVar->class, $workVar->name instanceof VarLikeIdentifier ? new String_($workVar->name->name) : $workVar->name, self::fromLiteral(true))); + $workVar = $this->wrapBoolean(self::callPoly('staticExists', $workVar->class, $workVar->name instanceof VarLikeIdentifier ? new String_($workVar->name->name) : $workVar->name, self::fromLiteral(\true))); break; case ClassConstFetch::class: - $workVar = $this->wrapBoolean(self::callPoly('staticExists', $workVar->class, new String_($workVar->name->name), self::fromLiteral(false))); + $workVar = $this->wrapBoolean(self::callPoly('staticExists', $workVar->class, new String_($workVar->name->name), self::fromLiteral(\false))); break; case Variable::class: $workVar->name = self::callPoly('returnMe', $workVar->name); @@ -169,7 +168,7 @@ public static function staticExists($class, $property, $propertyOrConstant) try { $reflection = $reflectionClass->getProperty($property); } catch (ReflectionException $e) { - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -178,11 +177,11 @@ public static function staticExists($class, $property, $propertyOrConstant) } return $phabelReturn; } - } elseif (PHP_VERSION_ID >= 70100) { + } elseif (\PHP_VERSION_ID >= 70100) { try { $reflection = new ReflectionClassConstant($class, $property); } catch (ReflectionException $e) { - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -201,18 +200,18 @@ public static function staticExists($class, $property, $propertyOrConstant) } return $phabelReturn; } - $classCaller = null !== ($phabel_698a1ed91fd0737e = \debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2)) && isset($phabel_698a1ed91fd0737e[1]['class']) ? $phabel_698a1ed91fd0737e[1]['class'] : ''; - $allowProtected = false; - $allowPrivate = false; + $classCaller = null !== ($phabel_698a1ed91fd0737e = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS, 2)) && isset($phabel_698a1ed91fd0737e[1]['class']) ? $phabel_698a1ed91fd0737e[1]['class'] : ''; + $allowProtected = \false; + $allowPrivate = \false; if ($classCaller) { if ($class === $classCaller) { - $allowProtected = $allowPrivate = true; + $allowProtected = $allowPrivate = \true; } elseif ($reflectionClass->isSubclassOf($classCaller) || (new ReflectionClass($classCaller))->isSubclassOf($class)) { - $allowProtected = true; + $allowProtected = \true; } } if ($reflection->isPrivate()) { - $phabelReturn = $allowPrivate ? $reflection->getValue() !== null : false; + $phabelReturn = $allowPrivate ? $reflection->getValue() !== null : \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -222,7 +221,7 @@ public static function staticExists($class, $property, $propertyOrConstant) return $phabelReturn; } if ($reflection->isProtected()) { - $phabelReturn = $allowProtected ? $reflection->getValue() !== null : false; + $phabelReturn = $allowProtected ? $reflection->getValue() !== null : \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); diff --git a/src/Plugin/ListSplitter.php b/src/Plugin/ListSplitter.php index 207d7e6e2..b048f8426 100644 --- a/src/Plugin/ListSplitter.php +++ b/src/Plugin/ListSplitter.php @@ -4,15 +4,14 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node\Expr\Array_; -use PhpParser\Node\Expr\ArrayDimFetch; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\AssignRef; -use PhpParser\Node\Expr\List_; -use PhpParser\Node\Expr\Variable; -use PhpParser\Node\Scalar\LNumber; -use PhpParser\Node\Stmt\Foreach_; - +use Phabel\PhpParser\Node\Expr\Array_; +use Phabel\PhpParser\Node\Expr\ArrayDimFetch; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\AssignRef; +use Phabel\PhpParser\Node\Expr\List_; +use Phabel\PhpParser\Node\Expr\Variable; +use Phabel\PhpParser\Node\Scalar\LNumber; +use Phabel\PhpParser\Node\Stmt\Foreach_; /** * Polyfills unsupported list assignments. */ @@ -30,7 +29,7 @@ public function enterForeach(Foreach_ $node, Context $ctx) if (!($node->valueVar instanceof List_ || $node->valueVar instanceof Array_)) { return; } - if (!$this->shouldSplit($node->valueVar) && !($this->getConfig('parentExpr', false) && $ctx->isParentStmt())) { + if (!$this->shouldSplit($node->valueVar) && !($this->getConfig('parentExpr', \false) && $ctx->isParentStmt())) { return; } $list = $node->valueVar; @@ -105,7 +104,7 @@ public static function splitList($list, Variable $var) private function hasReference($list) { $c = $this->getConfigArray(); - $this->setConfigArray(['byRef' => true]); + $this->setConfigArray(['byRef' => \true]); $res = $this->shouldSplit($list); $this->setConfigArray($c); $phabelReturn = $res; @@ -130,8 +129,8 @@ private function shouldSplit($list) if (!$item) { continue; } - if ($this->getConfig('byRef', false) && $item->byRef) { - $phabelReturn = true; + if ($this->getConfig('byRef', \false) && $item->byRef) { + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -139,8 +138,8 @@ private function shouldSplit($list) $phabelReturn = (bool) $phabelReturn; } return $phabelReturn; - } elseif ($this->getConfig('key', false) && isset($item->key)) { - $phabelReturn = true; + } elseif ($this->getConfig('key', \false) && isset($item->key)) { + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -150,7 +149,7 @@ private function shouldSplit($list) return $phabelReturn; } elseif ($item->value instanceof List_ || $item->value instanceof Array_) { if ($this->shouldSplit($item->value)) { - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -161,7 +160,7 @@ private function shouldSplit($list) } } } - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); diff --git a/src/Plugin/Memoization.php b/src/Plugin/Memoization.php index 685c6e5e1..fd6b84fe3 100644 --- a/src/Plugin/Memoization.php +++ b/src/Plugin/Memoization.php @@ -4,22 +4,21 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Comment\Doc; -use PhpParser\Node; -use PhpParser\Node\Expr\Array_; -use PhpParser\Node\Expr\ArrayDimFetch; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\Isset_; -use PhpParser\Node\Expr\Variable; -use PhpParser\Node\FunctionLike; -use PhpParser\Node\Identifier; -use PhpParser\Node\Param; -use PhpParser\Node\Stmt\If_; -use PhpParser\Node\Stmt\Return_; -use PhpParser\Node\Stmt\Static_; -use PhpParser\Node\Stmt\StaticVar; +use Phabel\PhpParser\Comment\Doc; +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr\Array_; +use Phabel\PhpParser\Node\Expr\ArrayDimFetch; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\Isset_; +use Phabel\PhpParser\Node\Expr\Variable; +use Phabel\PhpParser\Node\FunctionLike; +use Phabel\PhpParser\Node\Identifier; +use Phabel\PhpParser\Node\Param; +use Phabel\PhpParser\Node\Stmt\If_; +use Phabel\PhpParser\Node\Stmt\Return_; +use Phabel\PhpParser\Node\Stmt\Static_; +use Phabel\PhpParser\Node\Stmt\StaticVar; use SplStack; - /** * Enable memoization of results based on a parameter. * diff --git a/src/Plugin/NestedExpressionFixer.php b/src/Plugin/NestedExpressionFixer.php index dee192eaf..fd1a37043 100644 --- a/src/Plugin/NestedExpressionFixer.php +++ b/src/Plugin/NestedExpressionFixer.php @@ -4,22 +4,21 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node; -use PhpParser\Node\Expr; -use PhpParser\Node\Expr\ArrayDimFetch; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\BinaryOp\BooleanOr; -use PhpParser\Node\Expr\ClassConstFetch; -use PhpParser\Node\Expr\FuncCall; -use PhpParser\Node\Expr\Instanceof_; -use PhpParser\Node\Expr\MethodCall; -use PhpParser\Node\Expr\New_; -use PhpParser\Node\Expr\PropertyFetch; -use PhpParser\Node\Expr\StaticCall; -use PhpParser\Node\Expr\StaticPropertyFetch; -use PhpParser\Node\Expr\Ternary; -use PhpParser\Node\Expr\Throw_; - +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr; +use Phabel\PhpParser\Node\Expr\ArrayDimFetch; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\BinaryOp\BooleanOr; +use Phabel\PhpParser\Node\Expr\ClassConstFetch; +use Phabel\PhpParser\Node\Expr\FuncCall; +use Phabel\PhpParser\Node\Expr\Instanceof_; +use Phabel\PhpParser\Node\Expr\MethodCall; +use Phabel\PhpParser\Node\Expr\New_; +use Phabel\PhpParser\Node\Expr\PropertyFetch; +use Phabel\PhpParser\Node\Expr\StaticCall; +use Phabel\PhpParser\Node\Expr\StaticPropertyFetch; +use Phabel\PhpParser\Node\Expr\Ternary; +use Phabel\PhpParser\Node\Expr\Throw_; /** * Fix nested expressions. * @@ -52,7 +51,7 @@ private static function &extractWorkVar(Expr &$var) public function leave(Expr $expr, Context $context) { /** @var array, true>> */ - $subNodes = $this->getConfig($class = \get_class($expr), false); + $subNodes = $this->getConfig($class = \get_class($expr), \false); if (!$subNodes) { $phabelReturn = null; if (!($phabelReturn instanceof Expr || \is_null($phabelReturn))) { @@ -63,7 +62,7 @@ public function leave(Expr $expr, Context $context) foreach ($subNodes as $key => $types) { /** @var Expr $value */ $value =& $expr->{$key}; - if (!isset($types[IssetExpressionFixer::getClass(isset($value) ? $value : '')])) { + if (!isset($types[\Phabel\Plugin\IssetExpressionFixer::getClass(isset($value) ? $value : '')])) { if (!$value instanceof Expr) { continue; } @@ -96,7 +95,7 @@ public function leave(Expr $expr, Context $context) case New_::class: case ClassConstFetch::class: $valueCopy = $value; - $phabelReturn = new Ternary(new BooleanOr(new Assign($value = $context->getVariable(), $valueCopy), self::fromLiteral(true)), $expr, self::fromLiteral(false)); + $phabelReturn = new Ternary(new BooleanOr(new Assign($value = $context->getVariable(), $valueCopy), self::fromLiteral(\true)), $expr, self::fromLiteral(\false)); if (!($phabelReturn instanceof Expr || \is_null($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } @@ -170,7 +169,7 @@ public static function instanceOf($a, $b) } public static function next(array $config) { - $phabelReturn = [NewFixer::class]; + $phabelReturn = [\Phabel\Plugin\NewFixer::class]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Plugin/NewFixer.php b/src/Plugin/NewFixer.php index d94b6966c..c8710160f 100644 --- a/src/Plugin/NewFixer.php +++ b/src/Plugin/NewFixer.php @@ -4,16 +4,15 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node; -use PhpParser\Node\Expr; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\BinaryOp\BooleanOr; -use PhpParser\Node\Expr\Instanceof_; -use PhpParser\Node\Expr\New_; -use PhpParser\Node\Expr\Ternary; -use PhpParser\Node\Scalar; -use PhpParser\NodeFinder; - +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\BinaryOp\BooleanOr; +use Phabel\PhpParser\Node\Expr\Instanceof_; +use Phabel\PhpParser\Node\Expr\New_; +use Phabel\PhpParser\Node\Expr\Ternary; +use Phabel\PhpParser\Node\Scalar; +use Phabel\PhpParser\NodeFinder; /** * Fix certain new expressions. * @@ -61,7 +60,7 @@ public function enterNew(New_ $new, Context $context) { if ($this->hasParenthesised($new->class)) { $valueCopy = $new->class; - return new Ternary(new BooleanOr(new Assign($new->class = $context->getVariable(), $valueCopy), self::fromLiteral(true)), $new, self::fromLiteral(false)); + return new Ternary(new BooleanOr(new Assign($new->class = $context->getVariable(), $valueCopy), self::fromLiteral(\true)), $new, self::fromLiteral(\false)); } } public function enterInstanceof(Instanceof_ $expr) diff --git a/src/Plugin/PhabelTestGenerator.php b/src/Plugin/PhabelTestGenerator.php index 9b0ddb9ea..4a7492088 100644 --- a/src/Plugin/PhabelTestGenerator.php +++ b/src/Plugin/PhabelTestGenerator.php @@ -4,9 +4,8 @@ use Phabel\Plugin; use Phabel\Target\Php; -use PhpParser\Node\Name; -use PhpParser\Node\Scalar\String_; - +use Phabel\PhpParser\Node\Name; +use Phabel\PhpParser\Node\Scalar\String_; /** * Replace phabel test namespaces with appropriate version. * @@ -64,7 +63,7 @@ public function enterLiteral(String_ $str) } public static function previous(array $config) { - $phabelReturn = [Php::class => ['target' => $config['target'] % 1000], StringConcatOptimizer::class => []]; + $phabelReturn = [Php::class => ['target' => $config['target'] % 1000], \Phabel\Plugin\StringConcatOptimizer::class => []]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Plugin/ReGenerator.php b/src/Plugin/ReGenerator.php index cf6a1f555..82a1cebb7 100644 --- a/src/Plugin/ReGenerator.php +++ b/src/Plugin/ReGenerator.php @@ -5,8 +5,7 @@ use Phabel\Plugin; use Phabel\Target\Php74\ArrowClosure; use Phabel\Traverser; -use PhpParser\Builder\FunctionLike; - +use Phabel\PhpParser\Builder\FunctionLike; /** * Regenerator transformer. * @@ -22,11 +21,11 @@ class ReGenerator extends Plugin private $traverser; public function __construct() { - $this->traverser = Traverser::fromPlugin(new ReGeneratorInternal()); + $this->traverser = Traverser::fromPlugin(new \Phabel\Plugin\ReGeneratorInternal()); } public function enter(FunctionLike $function) { - if (!$function->getAttribute(self::SHOULD_ATTRIBUTE, false)) { + if (!$function->getAttribute(self::SHOULD_ATTRIBUTE, \false)) { return; } $this->traverser->traverseAst($function); diff --git a/src/Plugin/ReGenerator/ReGenerator.php b/src/Plugin/ReGenerator/ReGenerator.php index 84bc4b000..27fcb474f 100644 --- a/src/Plugin/ReGenerator/ReGenerator.php +++ b/src/Plugin/ReGenerator/ReGenerator.php @@ -51,11 +51,11 @@ class ReGenerator implements \Iterator /** * Whether the generator has returned. */ - public $returned = false; + public $returned = \false; /** * Whether the generator was started. */ - public $started = false; + public $started = \false; /** * Actual generator function. */ @@ -88,7 +88,7 @@ private function start() if (!$this->started) { $phabel_1679ff392dd5e7d5 = $this->generator; $phabel_1679ff392dd5e7d5($this->state, $this->variables, $this->yieldKey, $this->yieldValue, $this->sentValue, $this->sentException, $this->returnValue, $this->returned); - $this->started = true; + $this->started = \true; } } /** @@ -108,10 +108,10 @@ public function send($value) $phabel_9fa9aa2d4dbb1eb4 = $this->generator; $phabel_9fa9aa2d4dbb1eb4($this->state, $this->variables, $this->yieldKey, $this->yieldValue, $this->sentValue, $this->sentException, $this->returnValue, $this->returned); } catch (\Exception $e) { - $this->returned = true; + $this->returned = \true; throw $e; } catch (\Error $e) { - $this->returned = true; + $this->returned = \true; throw $e; } finally { $this->sentValue = null; @@ -136,10 +136,10 @@ public function throw(\Throwable $throwable) $phabel_eabcc7a56b2bce11 = $this->generator; $phabel_eabcc7a56b2bce11($this->state, $this->variables, $this->yieldKey, $this->yieldValue, $this->sentValue, $this->sentException, $this->returnValue, $this->returned); } catch (\Exception $e) { - $this->returned = true; + $this->returned = \true; throw $e; } catch (\Error $e) { - $this->returned = true; + $this->returned = \true; throw $e; } finally { $this->sentException = null; @@ -187,8 +187,8 @@ public function rewind() throw new \Exception('Cannot rewind a generator that was already run'); } $this->state = 0; - $this->started = false; - $this->returned = false; + $this->started = \false; + $this->returned = \false; $this->returnValue = null; $this->yieldKey = null; $this->yieldValue = null; diff --git a/src/Plugin/ReGeneratorInternal.php b/src/Plugin/ReGeneratorInternal.php index 1c44a2584..32fa00d09 100644 --- a/src/Plugin/ReGeneratorInternal.php +++ b/src/Plugin/ReGeneratorInternal.php @@ -3,10 +3,9 @@ namespace Phabel\Plugin; use Phabel\Plugin; -use PhpParser\Node; -use PhpParser\Node\FunctionLike; +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\FunctionLike; use SplQueue; - /** * Internal regenerator traversor. * diff --git a/src/Plugin/StmtExprWrapper.php b/src/Plugin/StmtExprWrapper.php index 0c461c574..acf972dc0 100644 --- a/src/Plugin/StmtExprWrapper.php +++ b/src/Plugin/StmtExprWrapper.php @@ -4,9 +4,8 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node\Expr; -use PhpParser\Node\Stmt\Expression; - +use Phabel\PhpParser\Node\Expr; +use Phabel\PhpParser\Node\Stmt\Expression; /** * Wraps standalone expressions in statements into Stmt\Expressions. */ diff --git a/src/Plugin/StringConcatOptimizer.php b/src/Plugin/StringConcatOptimizer.php index ee941f33f..6460731a0 100644 --- a/src/Plugin/StringConcatOptimizer.php +++ b/src/Plugin/StringConcatOptimizer.php @@ -4,11 +4,10 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node; -use PhpParser\Node\Expr\BinaryOp\Concat; -use PhpParser\Node\Scalar\String_; +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr\BinaryOp\Concat; +use Phabel\PhpParser\Node\Scalar\String_; use SplQueue; - /** * Optimizes concatenation of multiple strings. * diff --git a/src/Plugin/TypeHintReplacer.php b/src/Plugin/TypeHintReplacer.php index 6df5d7860..62e21eb7c 100644 --- a/src/Plugin/TypeHintReplacer.php +++ b/src/Plugin/TypeHintReplacer.php @@ -5,50 +5,49 @@ use Phabel\Context; use Phabel\Plugin; use Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface; -use PhpParser\BuilderHelpers; -use PhpParser\Node; -use PhpParser\Node\Arg; -use PhpParser\Node\Expr; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\AssignRef; -use PhpParser\Node\Expr\BinaryOp\BooleanAnd; -use PhpParser\Node\Expr\BinaryOp\BooleanOr; -use PhpParser\Node\Expr\BinaryOp\Concat; -use PhpParser\Node\Expr\BinaryOp\Plus; -use PhpParser\Node\Expr\BooleanNot; -use PhpParser\Node\Expr\Cast; -use PhpParser\Node\Expr\Cast\Bool_; -use PhpParser\Node\Expr\Cast\Double; -use PhpParser\Node\Expr\Cast\Int_; -use PhpParser\Node\Expr\Cast\String_ as CastString_; -use PhpParser\Node\Expr\ClassConstFetch; -use PhpParser\Node\Expr\ConstFetch; -use PhpParser\Node\Expr\Instanceof_; -use PhpParser\Node\Expr\New_; -use PhpParser\Node\Expr\Variable; -use PhpParser\Node\FunctionLike; -use PhpParser\Node\Identifier; -use PhpParser\Node\Name; -use PhpParser\Node\Name\FullyQualified; -use PhpParser\Node\NullableType; -use PhpParser\Node\Param; -use PhpParser\Node\Scalar\LNumber; -use PhpParser\Node\Scalar\MagicConst\Function_ as MagicConstFunction_; -use PhpParser\Node\Scalar\MagicConst\Method; -use PhpParser\Node\Scalar\String_; -use PhpParser\Node\Stmt\Class_ as StmtClass_; -use PhpParser\Node\Stmt\ClassLike; -use PhpParser\Node\Stmt\ClassMethod; -use PhpParser\Node\Stmt\Else_; -use PhpParser\Node\Stmt\Expression; -use PhpParser\Node\Stmt\Foreach_; -use PhpParser\Node\Stmt\If_; -use PhpParser\Node\Stmt\Interface_; -use PhpParser\Node\Stmt\Return_; -use PhpParser\Node\Stmt\Throw_; -use PhpParser\Node\UnionType; +use Phabel\PhpParser\BuilderHelpers; +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Arg; +use Phabel\PhpParser\Node\Expr; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\AssignRef; +use Phabel\PhpParser\Node\Expr\BinaryOp\BooleanAnd; +use Phabel\PhpParser\Node\Expr\BinaryOp\BooleanOr; +use Phabel\PhpParser\Node\Expr\BinaryOp\Concat; +use Phabel\PhpParser\Node\Expr\BinaryOp\Plus; +use Phabel\PhpParser\Node\Expr\BooleanNot; +use Phabel\PhpParser\Node\Expr\Cast; +use Phabel\PhpParser\Node\Expr\Cast\Bool_; +use Phabel\PhpParser\Node\Expr\Cast\Double; +use Phabel\PhpParser\Node\Expr\Cast\Int_; +use Phabel\PhpParser\Node\Expr\Cast\String_ as CastString_; +use Phabel\PhpParser\Node\Expr\ClassConstFetch; +use Phabel\PhpParser\Node\Expr\ConstFetch; +use Phabel\PhpParser\Node\Expr\Instanceof_; +use Phabel\PhpParser\Node\Expr\New_; +use Phabel\PhpParser\Node\Expr\Variable; +use Phabel\PhpParser\Node\FunctionLike; +use Phabel\PhpParser\Node\Identifier; +use Phabel\PhpParser\Node\Name; +use Phabel\PhpParser\Node\Name\FullyQualified; +use Phabel\PhpParser\Node\NullableType; +use Phabel\PhpParser\Node\Param; +use Phabel\PhpParser\Node\Scalar\LNumber; +use Phabel\PhpParser\Node\Scalar\MagicConst\Function_ as MagicConstFunction_; +use Phabel\PhpParser\Node\Scalar\MagicConst\Method; +use Phabel\PhpParser\Node\Scalar\String_; +use Phabel\PhpParser\Node\Stmt\Class_ as StmtClass_; +use Phabel\PhpParser\Node\Stmt\ClassLike; +use Phabel\PhpParser\Node\Stmt\ClassMethod; +use Phabel\PhpParser\Node\Stmt\Else_; +use Phabel\PhpParser\Node\Stmt\Expression; +use Phabel\PhpParser\Node\Stmt\Foreach_; +use Phabel\PhpParser\Node\Stmt\If_; +use Phabel\PhpParser\Node\Stmt\Interface_; +use Phabel\PhpParser\Node\Stmt\Return_; +use Phabel\PhpParser\Node\Stmt\Throw_; +use Phabel\PhpParser\Node\UnionType; use SplStack; - /** * Replace all usages of a certain type in typehints. * @@ -92,8 +91,8 @@ public static function replace($type) throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } if ($type) { - if ($type->getAttribute(self::FORCE_ATTRIBUTE, false)) { - $phabelReturn = false; + if ($type->getAttribute(self::FORCE_ATTRIBUTE, \false)) { + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -102,8 +101,8 @@ public static function replace($type) } return $phabelReturn; } - $type->setAttribute(self::FORCE_ATTRIBUTE, true); - $phabelReturn = true; + $type->setAttribute(self::FORCE_ATTRIBUTE, \true); + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -112,7 +111,7 @@ public static function replace($type) } return $phabelReturn; } - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -134,7 +133,7 @@ public static function replaced($type) throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } if ($type) { - $phabelReturn = $type->getAttribute(self::FORCE_ATTRIBUTE, false); + $phabelReturn = $type->getAttribute(self::FORCE_ATTRIBUTE, \false); if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -143,7 +142,7 @@ public static function replaced($type) } return $phabelReturn; } - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -223,7 +222,7 @@ private static function reduceConditions(array $conditions) * * @return array{0: bool, 1: Node, 2: (callable(Node...): If_)} Whether the polyfilled gettype should be used, the error message, the condition */ - private function generateConditions(Variable $var, array $types, $className, $fromNullable = false) + private function generateConditions(Variable $var, array $types, $className, $fromNullable = \false) { if (!($className instanceof Expr || \is_null($className))) { throw new \TypeError(__METHOD__ . '(): Argument #3 ($className) must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($className) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -235,7 +234,7 @@ private function generateConditions(Variable $var, array $types, $className, $fr $fromNullable = (bool) $fromNullable; } /** @var bool Whether no explicit classes were referenced */ - $noOopTypes = true; + $noOopTypes = \true; /** @var Expr[] */ $typeNames = []; /** @var Expr[] */ @@ -279,13 +278,13 @@ private function generateConditions(Variable $var, array $types, $className, $fr $oopNames[] = $stringType; break; default: - $noOopTypes = false; + $noOopTypes = \false; $stringType = $this->resolveClassName($type, $className); $conditions[] = new Instanceof_($var, new Name($typeName)); $oopNames[] = $stringType; } } else { - $noOopTypes = false; + $noOopTypes = \false; $stringType = $this->resolveClassName($type, $className); $conditions[] = new Instanceof_($var, $type); $oopNames[] = $stringType; @@ -309,7 +308,7 @@ private function generateConditions(Variable $var, array $types, $className, $fr if (\is_array($condition)) { if ($currentConditions) { $currentConditions = $this->reduceConditions($currentConditions); - $splitConditions[] = function (Node ...$stmts) use ($currentConditions) { + $splitConditions[] = function (Node ...$stmts) use($currentConditions) { $phabelReturn = new If_($currentConditions, ['stmts' => $stmts]); if (!$phabelReturn instanceof If_) { throw new \TypeError(__METHOD__ . '(): Return value must be of type If_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -321,7 +320,7 @@ private function generateConditions(Variable $var, array $types, $className, $fr list($conditionsStrict, $conditionsLoose, $castLoose) = $condition; $conditionsStrict = new BooleanNot($conditionsStrict); $conditionsLoose = new BooleanNot($conditionsLoose); - $splitConditions[] = function (Node ...$stmts) use ($conditionsStrict, $conditionsLoose, $var, $castLoose) { + $splitConditions[] = function (Node ...$stmts) use($conditionsStrict, $conditionsLoose, $var, $castLoose) { $phabelReturn = new If_($conditionsStrict, ['stmts' => [new If_($conditionsLoose, ['stmts' => $stmts, 'else' => new Else_([new Expression(new Assign($var, new $castLoose($var)))])])]]); if (!$phabelReturn instanceof If_) { throw new \TypeError(__METHOD__ . '(): Return value must be of type If_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -334,7 +333,7 @@ private function generateConditions(Variable $var, array $types, $className, $fr } if ($currentConditions) { $currentConditions = $this->reduceConditions($currentConditions); - $splitConditions[] = function (Node ...$stmts) use ($currentConditions) { + $splitConditions[] = function (Node ...$stmts) use($currentConditions) { $phabelReturn = new If_($currentConditions, ['stmts' => $stmts]); if (!$phabelReturn instanceof If_) { throw new \TypeError(__METHOD__ . '(): Return value must be of type If_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -342,7 +341,7 @@ private function generateConditions(Variable $var, array $types, $className, $fr return $phabelReturn; }; } - $phabelReturn = [$noOopTypes, $stringType, function (Node ...$expr) use ($splitConditions) { + $phabelReturn = [$noOopTypes, $stringType, function (Node ...$expr) use($splitConditions) { $prev = $expr; foreach ($splitConditions as $func) { $prev = [$func(...$prev)]; @@ -368,7 +367,7 @@ private function generateConditions(Variable $var, array $types, $className, $fr * * @return null|array{0: bool, 1: Node, 2: (callable(Node...): If_)} Whether the polyfilled gettype should be used, the error message, the condition */ - private function strip(Variable $var, $type, $className, $nullish, $force = false) + private function strip(Variable $var, $type, $className, $nullish, $force = \false) { if (!($type instanceof Node || \is_null($type))) { throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type ?Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -395,7 +394,7 @@ private function strip(Variable $var, $type, $className, $nullish, $force = fals } return $phabelReturn; } - $force = $force || $type->getAttribute(self::FORCE_ATTRIBUTE, false); + $force = $force || $type->getAttribute(self::FORCE_ATTRIBUTE, \false); if ($type instanceof UnionType) { if (!$this->getConfig('union', $force)) { $phabelReturn = null; @@ -411,7 +410,7 @@ private function strip(Variable $var, $type, $className, $nullish, $force = fals return $phabelReturn; } if ($type instanceof NullableType && $this->getConfig('nullable', $force)) { - $phabelReturn = $this->generateConditions($var, [$type->type], $className, true); + $phabelReturn = $this->generateConditions($var, [$type->type], $className, \true); if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } @@ -448,14 +447,14 @@ public function enterFunction(FunctionLike $func, Context $ctx) $parent = $ctx->parents->top(); if ($parent instanceof Interface_ || $func->getStmts() === null) { foreach ($func->getParams() as $param) { - if ($this->strip(new Variable('phabelVariadic'), $param->type, null, false)) { + if ($this->strip(new Variable('phabelVariadic'), $param->type, null, \false)) { $param->type = null; } } if ($this->checkVoid($returnType)) { $func->returnType = null; } - if ($this->strip(new Variable('phabelReturn'), $returnType, null, false, $this->getConfig('return', false))) { + if ($this->strip(new Variable('phabelReturn'), $returnType, null, \false, $this->getConfig('return', \false))) { $func->returnType = null; } $this->stack->push([self::IGNORE_RETURN]); @@ -523,7 +522,7 @@ public function enterFunction(FunctionLike $func, Context $ctx) return $phabelReturn; } $var = new Variable('phabelReturn'); - if (!($condition = $this->strip($var, $returnType, $className, false, $this->getConfig('return', false)))) { + if (!($condition = $this->strip($var, $returnType, $className, \false, $this->getConfig('return', \false)))) { $this->stack->push([self::IGNORE_RETURN]); $phabelReturn = $func; if (!($phabelReturn instanceof FunctionLike || \is_null($phabelReturn))) { @@ -532,7 +531,7 @@ public function enterFunction(FunctionLike $func, Context $ctx) return $phabelReturn; } $func->returnType = null; - if (GeneratorDetector::isGenerator($func)) { + if (\Phabel\Plugin\GeneratorDetector::isGenerator($func)) { $this->stack->push([self::IGNORE_RETURN]); $phabelReturn = $func; if (!($phabelReturn instanceof FunctionLike || \is_null($phabelReturn))) { @@ -620,7 +619,7 @@ public function leaveFunc(FunctionLike $func) */ public static function trace() { - $trace = \debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]; + $trace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS, 1)[0]; return (isset($trace['file']) ? $trace['file'] : '') . ' on line ' . (isset($trace['line']) ? $trace['line'] : ''); } /** @@ -638,7 +637,7 @@ public static function getDebugType($value) } public static function next(array $config) { - $phabelReturn = [StringConcatOptimizer::class]; + $phabelReturn = [\Phabel\Plugin\StringConcatOptimizer::class]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } @@ -646,7 +645,7 @@ public static function next(array $config) } public static function previous(array $config) { - $phabelReturn = [GeneratorDetector::class]; + $phabelReturn = [\Phabel\Plugin\GeneratorDetector::class]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Plugin/VariableFinder.php b/src/Plugin/VariableFinder.php index dc20f7ed0..10b7c05be 100644 --- a/src/Plugin/VariableFinder.php +++ b/src/Plugin/VariableFinder.php @@ -4,10 +4,9 @@ use Phabel\Plugin; use Phabel\Traverser; -use PhpParser\Node; -use PhpParser\Node\Expr\ClosureUse; -use PhpParser\Node\Expr\Variable; - +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr\ClosureUse; +use Phabel\PhpParser\Node\Expr\Variable; /** * @author Daniil Gentili * @license MIT @@ -30,7 +29,7 @@ class VariableFinder extends Plugin * * @return array */ - public static function find(Node $ast, $byRef = false) + public static function find(Node $ast, $byRef = \false) { if (!\is_bool($byRef)) { if (!(\is_bool($byRef) || \is_numeric($byRef) || \is_string($byRef))) { @@ -43,7 +42,7 @@ public static function find(Node $ast, $byRef = false) self::$singletonTraverser = Traverser::fromPlugin(self::$singleton); } self::$singleton->setConfig('byRef', $byRef); - self::$singletonTraverser->traverseAst($ast, null, false); + self::$singletonTraverser->traverseAst($ast, null, \false); $phabelReturn = self::$singleton->getFound(); if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -71,7 +70,7 @@ private function __construct() public function enter(Variable $var) { if (\is_string($var->name) && $var->name !== 'this') { - $this->found[$var->name] = new ClosureUse($var, $this->getConfig('byRef', false)); + $this->found[$var->name] = new ClosureUse($var, $this->getConfig('byRef', \false)); } } /** diff --git a/src/Plugin/YieldDetector.php b/src/Plugin/YieldDetector.php index f2f64f635..2f316c478 100644 --- a/src/Plugin/YieldDetector.php +++ b/src/Plugin/YieldDetector.php @@ -4,9 +4,8 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node\Expr\Yield_; -use PhpParser\Node\FunctionLike; - +use Phabel\PhpParser\Node\Expr\Yield_; +use Phabel\PhpParser\Node\FunctionLike; /** * Detect usages of yield. * @@ -18,7 +17,7 @@ public function enterYield(Yield_ $node, Context $ctx) { foreach ($ctx->parents as $parent) { if ($parent instanceof FunctionLike) { - $parent->setAttribute(ReGenerator::SHOULD_ATTRIBUTE, true); + $parent->setAttribute(\Phabel\Plugin\ReGenerator::SHOULD_ATTRIBUTE, \true); return; } } diff --git a/src/PluginCache.php b/src/PluginCache.php index f9dcedfdb..82b1a9ea5 100644 --- a/src/PluginCache.php +++ b/src/PluginCache.php @@ -3,7 +3,6 @@ namespace Phabel; use ReflectionMethod; - /** * Caches plugin information. * diff --git a/src/PluginGraph/CircularException.php b/src/PluginGraph/CircularException.php index 04a28be1e..ee557c55c 100644 --- a/src/PluginGraph/CircularException.php +++ b/src/PluginGraph/CircularException.php @@ -3,7 +3,6 @@ namespace Phabel\PluginGraph; use Phabel\PluginInterface; - /** * Circular reference in plugin graph. * diff --git a/src/PluginGraph/Graph.php b/src/PluginGraph/Graph.php index efa9caab8..a67b19263 100644 --- a/src/PluginGraph/Graph.php +++ b/src/PluginGraph/Graph.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\PluginInterface; - /** * Graph API wrapper. * @@ -26,7 +25,7 @@ class Graph */ public function __construct() { - $this->graph = new GraphInternal(); + $this->graph = new \Phabel\PluginGraph\GraphInternal(); } /** * Get new package context. @@ -36,7 +35,7 @@ public function __construct() public function getPackageContext() { $phabelReturn = $this->graph->getPackageContext(); - if (!$phabelReturn instanceof PackageContext) { + if (!$phabelReturn instanceof \Phabel\PluginGraph\PackageContext) { throw new \TypeError(__METHOD__ . '(): Return value must be of type PackageContext, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; @@ -52,7 +51,7 @@ public function getPackageContext() * * @return Node[] */ - public function addPlugin($plugin, array $config, PackageContext $ctx) + public function addPlugin($plugin, array $config, \Phabel\PluginGraph\PackageContext $ctx) { if (!\is_string($plugin)) { if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { @@ -73,12 +72,12 @@ public function addPlugin($plugin, array $config, PackageContext $ctx) */ public function flatten() { - $this->resolvedGraph = isset($this->resolvedGraph) ? $this->resolvedGraph : new ResolvedGraph(...$this->graph->flatten()); + $this->resolvedGraph = isset($this->resolvedGraph) ? $this->resolvedGraph : new \Phabel\PluginGraph\ResolvedGraph(...$this->graph->flatten()); $this->graph = null; while (\gc_collect_cycles()) { } $phabelReturn = $this->resolvedGraph; - if (!$phabelReturn instanceof ResolvedGraph) { + if (!$phabelReturn instanceof \Phabel\PluginGraph\ResolvedGraph) { throw new \TypeError(__METHOD__ . '(): Return value must be of type ResolvedGraph, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; diff --git a/src/PluginGraph/GraphInternal.php b/src/PluginGraph/GraphInternal.php index f83a9f8ad..1b36a8c39 100644 --- a/src/PluginGraph/GraphInternal.php +++ b/src/PluginGraph/GraphInternal.php @@ -7,7 +7,6 @@ use Phabel\PluginInterface; use SplObjectStorage; use SplQueue; - /** * Internal graph class. * @@ -53,10 +52,10 @@ public function __construct() */ public function getPackageContext() { - $packageContext = new PackageContext(); + $packageContext = new \Phabel\PluginGraph\PackageContext(); $this->packageContexts[] = $packageContext; $phabelReturn = $packageContext; - if (!$phabelReturn instanceof PackageContext) { + if (!$phabelReturn instanceof \Phabel\PluginGraph\PackageContext) { throw new \TypeError(__METHOD__ . '(): Return value must be of type PackageContext, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; @@ -72,7 +71,7 @@ public function getPackageContext() * * @return Node[] */ - public function addPlugin($plugin, array $config, PackageContext $ctx) + public function addPlugin($plugin, array $config, \Phabel\PluginGraph\PackageContext $ctx) { if (!\is_string($plugin)) { if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { @@ -80,9 +79,9 @@ public function addPlugin($plugin, array $config, PackageContext $ctx) } $plugin = (string) $plugin; } - $phabelReturn = \array_map(function (array $config) use ($plugin, $ctx) { + $phabelReturn = \array_map(function (array $config) use($plugin, $ctx) { $phabelReturn = $this->addPluginInternal($plugin, $config, $ctx); - if (!$phabelReturn instanceof Node) { + if (!$phabelReturn instanceof \Phabel\PluginGraph\Node) { throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; @@ -101,7 +100,7 @@ public function addPlugin($plugin, array $config, PackageContext $ctx) * * @psalm-param class-string $plugin Plugin name */ - private function addPluginInternal($plugin, array $config, PackageContext $ctx) + private function addPluginInternal($plugin, array $config, \Phabel\PluginGraph\PackageContext $ctx) { if (!\is_string($plugin)) { if (!(\is_string($plugin) || \is_object($plugin) && \method_exists($plugin, '__toString') || (\is_bool($plugin) || \is_numeric($plugin)))) { @@ -112,16 +111,16 @@ private function addPluginInternal($plugin, array $config, PackageContext $ctx) $configStr = \json_encode($config); if (isset($this->plugins[$plugin][$configStr])) { $phabelReturn = $this->plugins[$plugin][$configStr]->addPackages($ctx); - if (!$phabelReturn instanceof Node) { + if (!$phabelReturn instanceof \Phabel\PluginGraph\Node) { throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; } - $this->plugins[$plugin][$configStr] = $node = new Node($this, $ctx); + $this->plugins[$plugin][$configStr] = $node = new \Phabel\PluginGraph\Node($this, $ctx); $this->unlinkedNodes->attach($node); $this->unprocessedNode->attach($node); $phabelReturn = $node->init($plugin, $config); - if (!$phabelReturn instanceof Node) { + if (!$phabelReturn instanceof \Phabel\PluginGraph\Node) { throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; @@ -129,7 +128,7 @@ private function addPluginInternal($plugin, array $config, PackageContext $ctx) /** * Set unlinked node as linked. */ - public function linkNode(Node $node) + public function linkNode(\Phabel\PluginGraph\Node $node) { if ($this->unlinkedNodes->contains($node)) { $this->unlinkedNodes->detach($node); diff --git a/src/PluginGraph/Node.php b/src/PluginGraph/Node.php index b76547aff..93d43c821 100644 --- a/src/PluginGraph/Node.php +++ b/src/PluginGraph/Node.php @@ -7,7 +7,6 @@ use Phabel\PluginInterface; use SplObjectStorage; use SplQueue; - /** * Represents a plugin with a certain configuration. * @@ -71,17 +70,17 @@ class Node /** * Whether this node was visited when looking for circular requirements. */ - private $visitedCircular = false; + private $visitedCircular = \false; /** * Whether this node can be required, or only extended. */ - private $canBeRequired = true; + private $canBeRequired = \true; /** * Constructor. * * @param GraphInternal $graph Graph instance */ - public function __construct(GraphInternal $graph, PackageContext $ctx) + public function __construct(\Phabel\PluginGraph\GraphInternal $graph, \Phabel\PluginGraph\PackageContext $ctx) { $this->packageContext = $ctx; $this->graph = $graph; @@ -110,7 +109,7 @@ public function init($plugin, array $pluginConfig) $plugin = (string) $plugin; } $this->name = $plugin; - $this->plugin = new Plugins($plugin, $pluginConfig); + $this->plugin = new \Phabel\PluginGraph\Plugins($plugin, $pluginConfig); $this->canBeRequired = PluginCache::canBeRequired($plugin); foreach (PluginCache::next($plugin, $pluginConfig) as $class => $config) { foreach ($this->graph->addPlugin($class, $config, $this->packageContext) as $node) { @@ -201,7 +200,7 @@ public function merge(self $other) $other->extendedBy = new SplObjectStorage(); $this->graph->unprocessedNode->detach($other); $phabelReturn = $this; - if (!$phabelReturn instanceof Node) { + if (!$phabelReturn instanceof \Phabel\PluginGraph\Node) { throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; @@ -215,22 +214,22 @@ public function circular() { if ($this->visitedCircular) { $plugins = [$this->name]; - foreach (\debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, DEBUG_BACKTRACE_PROVIDE_OBJECT) as $frame) { + foreach (\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS, \DEBUG_BACKTRACE_PROVIDE_OBJECT) as $frame) { $plugins[] = $frame['object']->name; if ($frame['object'] === $this) { break; } } - throw new CircularException($plugins); + throw new \Phabel\PluginGraph\CircularException($plugins); } - $this->visitedCircular = true; + $this->visitedCircular = \true; foreach ($this->requiredBy as $that) { $this->packageContext->merge($that->circular()->packageContext); } foreach ($this->extendedBy as $that) { $this->packageContext->merge($that->circular()->packageContext); } - $this->visitedCircular = false; + $this->visitedCircular = \false; $phabelReturn = $this; if (!$phabelReturn instanceof self) { throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -273,7 +272,7 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages) $this->plugin->enqueue($queue, $this->packageContext, $packages); $this->graph->unprocessedNode->detach($this); do { - $processedAny = false; + $processedAny = \false; $prevNode = null; $toDetach = new SplQueue(); foreach ($this->extendedBy as $node) { @@ -313,7 +312,7 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages) if (\count($node->extends) + \count($node->requires) === 0) { $toDetach->enqueue($node); $node->flattenInternal($queueOfQueues, $packages); - $processedAny = true; + $processedAny = \true; } } foreach ($toDetach as $node) { @@ -327,7 +326,7 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages) $queueOfQueues->enqueue(new SplQueue()); } $node->flattenInternal($queueOfQueues, $packages); - $processedAny = true; + $processedAny = \true; } } foreach ($toDetach as $node) { @@ -342,7 +341,7 @@ private function flattenInternal(SplQueue $queueOfQueues, array &$packages) * * @return self */ - public function addPackages(PackageContext $ctx) + public function addPackages(\Phabel\PluginGraph\PackageContext $ctx) { $this->packageContext->merge($ctx); $phabelReturn = $this; diff --git a/src/PluginGraph/PackageContext.php b/src/PluginGraph/PackageContext.php index e33128f6b..08625efaf 100644 --- a/src/PluginGraph/PackageContext.php +++ b/src/PluginGraph/PackageContext.php @@ -31,7 +31,7 @@ public function addPackage($package) } $package = (string) $package; } - $this->packages[$package] = true; + $this->packages[$package] = \true; } /** * Merge two contexts. diff --git a/src/PluginGraph/Plugins.php b/src/PluginGraph/Plugins.php index 86db796c5..d32f2cb7e 100644 --- a/src/PluginGraph/Plugins.php +++ b/src/PluginGraph/Plugins.php @@ -5,7 +5,6 @@ use Phabel\PluginCache; use Phabel\PluginInterface; use SplQueue; - /** * Representation of multiple plugins+configs. * @@ -60,7 +59,7 @@ public function merge(self $other) * * @return void */ - public function enqueue(SplQueue $queue, PackageContext $ctx, array &$packages) + public function enqueue(SplQueue $queue, \Phabel\PluginGraph\PackageContext $ctx, array &$packages) { foreach ($this->plugins as $plugin => $configs) { foreach ($plugin::mergeConfigs(...$configs) as $config) { diff --git a/src/PluginGraph/ResolvedGraph.php b/src/PluginGraph/ResolvedGraph.php index 092036354..2e0b72d7f 100644 --- a/src/PluginGraph/ResolvedGraph.php +++ b/src/PluginGraph/ResolvedGraph.php @@ -6,7 +6,6 @@ use Phabel\Plugin\ClassStoragePlugin; use Phabel\PluginInterface; use SplQueue; - /** * Resolved graph. * diff --git a/src/PluginInterface.php b/src/PluginInterface.php index d7bdbfe3f..1d020407b 100644 --- a/src/PluginInterface.php +++ b/src/PluginInterface.php @@ -3,7 +3,6 @@ namespace Phabel; use Phabel\PluginGraph\PackageContext; - /** * Plugin interface. * diff --git a/src/RootNode.php b/src/RootNode.php index b911557a7..5445d96d8 100644 --- a/src/RootNode.php +++ b/src/RootNode.php @@ -2,9 +2,8 @@ namespace Phabel; -use PhpParser\Node; -use PhpParser\NodeAbstract; - +use Phabel\PhpParser\Node; +use Phabel\PhpParser\NodeAbstract; /** * Root node. * diff --git a/src/Target/Php.php b/src/Target/Php.php index 0865b6236..bdcfaeb8f 100644 --- a/src/Target/Php.php +++ b/src/Target/Php.php @@ -7,7 +7,6 @@ use Phabel\Plugin\NewFixer; use Phabel\Plugin\StmtExprWrapper; use Phabel\PluginInterface; - /** * Makes changes necessary to polyfill syntaxes of various PHP versions. * @@ -25,7 +24,7 @@ class Php extends Plugin /** * Default target. */ - const DEFAULT_TARGET = PHP_MAJOR_VERSION . PHP_MINOR_VERSION; + const DEFAULT_TARGET = \PHP_MAJOR_VERSION . \PHP_MINOR_VERSION; /** * Ignore target. */ @@ -110,7 +109,7 @@ private static function getRange($target) $target = (int) $target; } $key = \array_search($target, self::VERSIONS); - $phabelReturn = $key === false ? self::getRange((int) self::DEFAULT_TARGET) : \array_slice(self::VERSIONS, 1 + $key); + $phabelReturn = $key === \false ? self::getRange((int) self::DEFAULT_TARGET) : \array_slice(self::VERSIONS, 1 + $key); if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } @@ -118,8 +117,8 @@ private static function getRange($target) } public static function getComposerRequires(array $config) { - $target = Php::normalizeVersion(isset($config['target']) ? $config['target'] : self::DEFAULT_TARGET); - $res = ['php' => '>=' . Php::unnormalizeVersion($target) . ' <' . Php::unnormalizeVersion($target + 1)]; + $target = \Phabel\Target\Php::normalizeVersion(isset($config['target']) ? $config['target'] : self::DEFAULT_TARGET); + $res = ['php' => '>=' . \Phabel\Target\Php::unnormalizeVersion($target) . ' <' . \Phabel\Target\Php::unnormalizeVersion($target + 1)]; foreach (self::getRange($target) as $version) { $version = "symfony/polyfill-php{$version}"; $res[$version] = self::POLYFILL_VERSIONS[$version]; diff --git a/src/Target/Php56/IssetExpressionFixer.php b/src/Target/Php56/IssetExpressionFixer.php index e0a44bc3f..ed27d8978 100644 --- a/src/Target/Php56/IssetExpressionFixer.php +++ b/src/Target/Php56/IssetExpressionFixer.php @@ -3,7 +3,6 @@ namespace Phabel\Target\Php56; use Phabel\Plugin; - class IssetExpressionFixer extends Plugin { } diff --git a/src/Target/Php56/NestedExpressionFixer.php b/src/Target/Php56/NestedExpressionFixer.php index c13a2efa0..34355fa75 100644 --- a/src/Target/Php56/NestedExpressionFixer.php +++ b/src/Target/Php56/NestedExpressionFixer.php @@ -3,7 +3,6 @@ namespace Phabel\Target\Php56; use Phabel\Plugin; - class NestedExpressionFixer extends Plugin { } diff --git a/src/Target/Php70/AnonymousClassReplacer.php b/src/Target/Php70/AnonymousClassReplacer.php index 50d757311..9a75c4fda 100644 --- a/src/Target/Php70/AnonymousClassReplacer.php +++ b/src/Target/Php70/AnonymousClassReplacer.php @@ -9,19 +9,18 @@ use Phabel\Target\Php71\NullableType; use Phabel\Target\Php74\ArrowClosure; use Phabel\Target\Php80\UnionTypeStripper; -use PhpParser\Builder\Method; -use PhpParser\Node; -use PhpParser\Node\Expr\BinaryOp\Concat; -use PhpParser\Node\Expr\BooleanNot; -use PhpParser\Node\Expr\ClassConstFetch; -use PhpParser\Node\Expr\New_; -use PhpParser\Node\Identifier; -use PhpParser\Node\Name\FullyQualified; -use PhpParser\Node\Scalar\String_; -use PhpParser\Node\Stmt\Class_; -use PhpParser\Node\Stmt\If_; -use PhpParser\Node\Stmt\Return_; - +use Phabel\PhpParser\Builder\Method; +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr\BinaryOp\Concat; +use Phabel\PhpParser\Node\Expr\BooleanNot; +use Phabel\PhpParser\Node\Expr\ClassConstFetch; +use Phabel\PhpParser\Node\Expr\New_; +use Phabel\PhpParser\Node\Identifier; +use Phabel\PhpParser\Node\Name\FullyQualified; +use Phabel\PhpParser\Node\Scalar\String_; +use Phabel\PhpParser\Node\Stmt\Class_; +use Phabel\PhpParser\Node\Stmt\If_; +use Phabel\PhpParser\Node\Stmt\Return_; /** * @author Daniil Gentili * @license MIT @@ -82,7 +81,7 @@ public function enterNew(New_ $node, Context $ctx) } public static function previous(array $config) { - $phabelReturn = [ArrowClosure::class, ReturnTypeHints::class, NullableType::class, UnionTypeStripper::class]; + $phabelReturn = [ArrowClosure::class, \Phabel\Target\Php70\ReturnTypeHints::class, NullableType::class, UnionTypeStripper::class]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php70/DefineArrayReplacer.php b/src/Target/Php70/DefineArrayReplacer.php index 36acaaac6..185995dee 100644 --- a/src/Target/Php70/DefineArrayReplacer.php +++ b/src/Target/Php70/DefineArrayReplacer.php @@ -5,12 +5,11 @@ use Phabel\Context; use Phabel\Plugin; use Phabel\RootNode; -use PhpParser\Node; -use PhpParser\Node\Expr\Eval_; -use PhpParser\Node\Expr\FuncCall; -use PhpParser\Node\Name; -use PhpParser\Node\Stmt\Const_; - +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr\Eval_; +use Phabel\PhpParser\Node\Expr\FuncCall; +use Phabel\PhpParser\Node\Name; +use Phabel\PhpParser\Node\Stmt\Const_; /** * Converts define() arrays into const arrays. */ @@ -55,7 +54,7 @@ public static function defineMe($name, array $value) $name = (string) $name; } $name = \preg_replace("/[^A-Za-z0-9_]/", '', $name); - $value = \var_export($value, true); + $value = \var_export($value, \true); eval("const {$name} = {$value};"); } } diff --git a/src/Target/Php70/GroupUseReplacer.php b/src/Target/Php70/GroupUseReplacer.php index 0e735e313..63a80c1ca 100644 --- a/src/Target/Php70/GroupUseReplacer.php +++ b/src/Target/Php70/GroupUseReplacer.php @@ -3,11 +3,10 @@ namespace Phabel\Target\Php70; use Phabel\Plugin; -use PhpParser\Node; -use PhpParser\Node\Stmt\GroupUse; -use PhpParser\Node\Stmt\Use_; -use PhpParser\Node\Stmt\UseUse; - +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Stmt\GroupUse; +use Phabel\PhpParser\Node\Stmt\Use_; +use Phabel\PhpParser\Node\Stmt\UseUse; /** * @author Daniil Gentili * @license MIT @@ -24,7 +23,7 @@ class GroupUseReplacer extends Plugin public function leave(GroupUse $node) { $nodePrefixParts = $node->prefix->parts; - $phabelReturn = \array_map(function (UseUse $useNode) use ($nodePrefixParts) { + $phabelReturn = \array_map(function (UseUse $useNode) use($nodePrefixParts) { return $this->createUseNode($nodePrefixParts, $useNode); }, $node->uses); if (!\is_array($phabelReturn)) { diff --git a/src/Target/Php70/IssetExpressionFixer.php b/src/Target/Php70/IssetExpressionFixer.php index 835f5e2ba..c9212452c 100644 --- a/src/Target/Php70/IssetExpressionFixer.php +++ b/src/Target/Php70/IssetExpressionFixer.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\IssetExpressionFixer as fixer; - /** * Expression fixer for PHP 70. */ @@ -15,7 +14,7 @@ class IssetExpressionFixer extends Plugin */ public static function next(array $config) { - $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; + $phabelReturn = [fixer::class => ['Phabel\\PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Print_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\DNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\LNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Line' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClassConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\FuncCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\MethodCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Print_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\DNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\LNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Line' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClassConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\FuncCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\MethodCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]]]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php70/NestedExpressionFixer.php b/src/Target/Php70/NestedExpressionFixer.php index d5b6087ed..c3afc665a 100644 --- a/src/Target/Php70/NestedExpressionFixer.php +++ b/src/Target/Php70/NestedExpressionFixer.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\NestedExpressionFixer as fixer; - /** * Expression fixer for PHP 70. */ @@ -15,7 +14,7 @@ class NestedExpressionFixer extends Plugin */ public static function next(array $config) { - $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticCall' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\ClassConstFetch' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\PropertyFetch' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; + $phabelReturn = [fixer::class => ['Phabel\\PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Print_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\DNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\LNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Line' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\ClassConstFetch' => ['class' => ['Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClassConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\FuncCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\MethodCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['Phabel\\PhpParser\\Node\\Expr\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClassConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\FuncCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\MethodCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Print_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\DNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\LNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Line' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Print_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\DNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\LNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Line' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Print_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\DNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\LNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Line' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\StaticCall' => ['class' => ['Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClassConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\FuncCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\MethodCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['class' => ['Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClassConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\FuncCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\MethodCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]]]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php70/NullCoalesce/DisallowedExpressions.php b/src/Target/Php70/NullCoalesce/DisallowedExpressions.php index 1a15d382c..efbc81231 100644 --- a/src/Target/Php70/NullCoalesce/DisallowedExpressions.php +++ b/src/Target/Php70/NullCoalesce/DisallowedExpressions.php @@ -3,8 +3,7 @@ namespace Phabel\Target\Php70\NullCoalesce; use Phabel\Plugin; - abstract class DisallowedExpressions extends Plugin { - const EXPRESSIONS = ['PhpParser\\Node\\Expr\\Array_' => true, 'PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\FuncCall' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\Match_' => true, 'PhpParser\\Node\\Expr\\MethodCall' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\NullsafeMethodCall' => true, 'PhpParser\\Node\\Expr\\NullsafePropertyFetch' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\Print_' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\StaticCall' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\Throw_' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]; + const EXPRESSIONS = ['Phabel\\PhpParser\\Node\\Expr\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\FuncCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Match_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\MethodCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\NullsafeMethodCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\NullsafePropertyFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Print_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\StaticCall' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\YieldFrom' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\DNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\LNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Line' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]; } diff --git a/src/Target/Php70/NullCoalesceReplacer.php b/src/Target/Php70/NullCoalesceReplacer.php index 962ef845a..dc56c4176 100644 --- a/src/Target/Php70/NullCoalesceReplacer.php +++ b/src/Target/Php70/NullCoalesceReplacer.php @@ -8,16 +8,15 @@ use Phabel\Target\Php74\NullCoalesceAssignment; use Phabel\Target\Php80\NullSafeTransformer; use Phabel\Tools; -use PhpParser\Node\Expr; -use PhpParser\Node\Expr\ArrayDimFetch; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\BinaryOp\BooleanAnd; -use PhpParser\Node\Expr\BinaryOp\Coalesce; -use PhpParser\Node\Expr\BinaryOp\NotIdentical; -use PhpParser\Node\Expr\Isset_; -use PhpParser\Node\Expr\PropertyFetch; -use PhpParser\Node\Expr\Ternary; - +use Phabel\PhpParser\Node\Expr; +use Phabel\PhpParser\Node\Expr\ArrayDimFetch; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\BinaryOp\BooleanAnd; +use Phabel\PhpParser\Node\Expr\BinaryOp\Coalesce; +use Phabel\PhpParser\Node\Expr\BinaryOp\NotIdentical; +use Phabel\PhpParser\Node\Expr\Isset_; +use Phabel\PhpParser\Node\Expr\PropertyFetch; +use Phabel\PhpParser\Node\Expr\Ternary; /** * @author Daniil Gentili * @license MIT diff --git a/src/Target/Php70/Polyfill.php b/src/Target/Php70/Polyfill.php index a826212c2..69f2880dd 100644 --- a/src/Target/Php70/Polyfill.php +++ b/src/Target/Php70/Polyfill.php @@ -9,7 +9,6 @@ use Phabel\Target\Polyfill as TargetPolyfill; use Phabel\Tools; use ValueError; - \define('BIG_ENDIAN', \pack('L', 1) === \pack('N', 1)); /** * @author Daniil Gentili @@ -17,7 +16,7 @@ */ class Polyfill extends Plugin { - const IS_WINDOWS = PHP_OS_FAMILY === 'Windows'; + const IS_WINDOWS = \PHP_OS_FAMILY === 'Windows'; const CONSTANTS = [IntlChar::class => ['NO_NUMERIC_VALUE' => -123456789.0]]; // Todo: dns_get_record CAA // Todo: filters @@ -47,7 +46,7 @@ public static function assert($assertion, $exception = null) } } if ($assertion || Tools::ini_get('zend.assertions') !== 1) { - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -66,7 +65,7 @@ public static function assert($assertion, $exception = null) throw $exception; } \trigger_error("Uncaught {$exception}"); - $phabelReturn = true; + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -117,7 +116,7 @@ public static function dirname($path, $levels = 1) } return $phabelReturn; } - public static function get_defined_functions($exclude_disabled = true) + public static function get_defined_functions($exclude_disabled = \true) { if (!\is_bool($exclude_disabled)) { if (!(\is_bool($exclude_disabled) || \is_numeric($exclude_disabled) || \is_string($exclude_disabled))) { @@ -302,7 +301,7 @@ public static function pack($format, ...$values) */ public static function withNext(array $config) { - $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php70/ReservedNameReplacer.php b/src/Target/Php70/ReservedNameReplacer.php index 99c60e41d..2ec6c5caf 100644 --- a/src/Target/Php70/ReservedNameReplacer.php +++ b/src/Target/Php70/ReservedNameReplacer.php @@ -3,9 +3,8 @@ namespace Phabel\Target\Php70; use Phabel\Plugin; -use PhpParser\Node; -use PhpParser\Node\Identifier; - +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Identifier; /** * @author Daniil Gentili * @license MIT diff --git a/src/Target/Php70/ReturnTypeHints.php b/src/Target/Php70/ReturnTypeHints.php index 89b0a4bf9..384e2b5a9 100644 --- a/src/Target/Php70/ReturnTypeHints.php +++ b/src/Target/Php70/ReturnTypeHints.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\TypeHintReplacer; - /** * @author Daniil Gentili * @license MIT @@ -13,7 +12,7 @@ class ReturnTypeHints extends Plugin { public static function previous(array $config) { - $phabelReturn = [TypeHintReplacer::class => ['return' => true]]; + $phabelReturn = [TypeHintReplacer::class => ['return' => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php70/ScalarTypeHints.php b/src/Target/Php70/ScalarTypeHints.php index db7827e59..a2ecee875 100644 --- a/src/Target/Php70/ScalarTypeHints.php +++ b/src/Target/Php70/ScalarTypeHints.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\TypeHintReplacer; - /** * @author Daniil Gentili * @license MIT diff --git a/src/Target/Php70/SpaceshipOperatorReplacer.php b/src/Target/Php70/SpaceshipOperatorReplacer.php index 670b8c691..001f5e7d8 100644 --- a/src/Target/Php70/SpaceshipOperatorReplacer.php +++ b/src/Target/Php70/SpaceshipOperatorReplacer.php @@ -3,9 +3,8 @@ namespace Phabel\Target\Php70; use Phabel\Plugin; -use PhpParser\Node\Expr\BinaryOp\Spaceship; -use PhpParser\Node\Expr\StaticCall; - +use Phabel\PhpParser\Node\Expr\BinaryOp\Spaceship; +use Phabel\PhpParser\Node\Expr\StaticCall; /** * Polyfill spaceship operator. */ diff --git a/src/Target/Php70/StrictTypesDeclareStatementRemover.php b/src/Target/Php70/StrictTypesDeclareStatementRemover.php index 4ee6829f8..772ce2537 100644 --- a/src/Target/Php70/StrictTypesDeclareStatementRemover.php +++ b/src/Target/Php70/StrictTypesDeclareStatementRemover.php @@ -3,10 +3,9 @@ namespace Phabel\Target\Php70; use Phabel\Plugin; -use PhpParser\Node\Stmt\Declare_; -use PhpParser\Node\Stmt\DeclareDeclare; -use PhpParser\Node\Stmt\Nop; - +use Phabel\PhpParser\Node\Stmt\Declare_; +use Phabel\PhpParser\Node\Stmt\DeclareDeclare; +use Phabel\PhpParser\Node\Stmt\Nop; /** * @author Daniil Gentili * @license MIT diff --git a/src/Target/Php70/ThrowableReplacer.php b/src/Target/Php70/ThrowableReplacer.php index 567ab7ab4..0663c57ee 100644 --- a/src/Target/Php70/ThrowableReplacer.php +++ b/src/Target/Php70/ThrowableReplacer.php @@ -5,14 +5,13 @@ use Phabel\Plugin; use Phabel\Plugin\TypeHintReplacer; use Phabel\Target\Php71\MultipleCatchReplacer; -use PhpParser\Node; -use PhpParser\Node\Expr\BinaryOp\BooleanOr; -use PhpParser\Node\Expr\Instanceof_; -use PhpParser\Node\Name; -use PhpParser\Node\Name\FullyQualified; -use PhpParser\Node\Param; -use PhpParser\Node\Stmt\TryCatch; - +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Expr\BinaryOp\BooleanOr; +use Phabel\PhpParser\Node\Expr\Instanceof_; +use Phabel\PhpParser\Node\Name; +use Phabel\PhpParser\Node\Name\FullyQualified; +use Phabel\PhpParser\Node\Param; +use Phabel\PhpParser\Node\Stmt\TryCatch; /** * Replace \Throwable usages. */ @@ -121,14 +120,14 @@ public function enterInstanceOf(Instanceof_ $node) public function enterTryCatch(TryCatch $node) { foreach ($node->catches as $catch) { - $alreadyHasError = false; - $next = false; + $alreadyHasError = \false; + $next = \false; foreach ($catch->types as &$type) { if ($type instanceof FullyQualified && $type->getLast() === "Error") { - $alreadyHasError = true; + $alreadyHasError = \true; } if ($this->isThrowable($type->toString())) { - $next = true; + $next = \true; $type = new FullyQualified('Exception'); } } diff --git a/src/Target/Php71/ArrayList.php b/src/Target/Php71/ArrayList.php index e0c218a66..34f8d26aa 100644 --- a/src/Target/Php71/ArrayList.php +++ b/src/Target/Php71/ArrayList.php @@ -3,11 +3,10 @@ namespace Phabel\Target\Php71; use Phabel\Plugin; -use PhpParser\Node\Expr\Array_; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\List_; -use PhpParser\Node\Stmt\Foreach_; - +use Phabel\PhpParser\Node\Expr\Array_; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\List_; +use Phabel\PhpParser\Node\Stmt\Foreach_; /** * Replaces [] array list syntax. */ diff --git a/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php b/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php index c8622ba2e..3fdf210f2 100644 --- a/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php +++ b/src/Target/Php71/ClassConstantVisibilityModifiersRemover.php @@ -3,8 +3,7 @@ namespace Phabel\Target\Php71; use Phabel\Plugin; -use PhpParser\Node\Stmt\ClassConst; - +use Phabel\PhpParser\Node\Stmt\ClassConst; /** * Removes the class constant visibility modifiers (PHP 7.1). */ diff --git a/src/Target/Php71/ClosureFromCallable.php b/src/Target/Php71/ClosureFromCallable.php index 0f93f95d8..0bc1d3661 100644 --- a/src/Target/Php71/ClosureFromCallable.php +++ b/src/Target/Php71/ClosureFromCallable.php @@ -4,12 +4,11 @@ use Closure; use Phabel\Plugin; -use PhpParser\Node\Expr; -use PhpParser\Node\Expr\StaticCall; -use PhpParser\Node\Name; +use Phabel\PhpParser\Node\Expr; +use Phabel\PhpParser\Node\Expr\StaticCall; +use Phabel\PhpParser\Node\Name; use ReflectionClass; use ReflectionFunction; - /** * Polyfills Closure::fromCallable. */ diff --git a/src/Target/Php71/IssetExpressionFixer.php b/src/Target/Php71/IssetExpressionFixer.php index eee203aa1..735e94bc9 100644 --- a/src/Target/Php71/IssetExpressionFixer.php +++ b/src/Target/Php71/IssetExpressionFixer.php @@ -3,7 +3,6 @@ namespace Phabel\Target\Php71; use Phabel\Plugin; - class IssetExpressionFixer extends Plugin { } diff --git a/src/Target/Php71/IterableHint.php b/src/Target/Php71/IterableHint.php index a365a5cba..a3511787f 100644 --- a/src/Target/Php71/IterableHint.php +++ b/src/Target/Php71/IterableHint.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\TypeHintReplacer; - /** * @author Daniil Gentili * @license MIT diff --git a/src/Target/Php71/ListExpression.php b/src/Target/Php71/ListExpression.php index 4dd116a50..c1181e0e3 100644 --- a/src/Target/Php71/ListExpression.php +++ b/src/Target/Php71/ListExpression.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\ListSplitter; - /** * Polyfills list expression return value. */ @@ -12,7 +11,7 @@ class ListExpression extends Plugin { public static function previous(array $config) { - $phabelReturn = [ListSplitter::class => ['parentExpr' => true]]; + $phabelReturn = [ListSplitter::class => ['parentExpr' => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php71/ListKey.php b/src/Target/Php71/ListKey.php index 3802bbb08..546dac347 100644 --- a/src/Target/Php71/ListKey.php +++ b/src/Target/Php71/ListKey.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\ListSplitter; - /** * Polyfills keyed list assignment. */ @@ -12,7 +11,7 @@ class ListKey extends Plugin { public static function previous(array $config) { - $phabelReturn = [ListSplitter::class => ['key' => true]]; + $phabelReturn = [ListSplitter::class => ['key' => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php71/MultipleCatchReplacer.php b/src/Target/Php71/MultipleCatchReplacer.php index 63aa2db78..8a5c4158e 100644 --- a/src/Target/Php71/MultipleCatchReplacer.php +++ b/src/Target/Php71/MultipleCatchReplacer.php @@ -3,8 +3,7 @@ namespace Phabel\Target\Php71; use Phabel\Plugin; -use PhpParser\Node\Stmt\TryCatch; - +use Phabel\PhpParser\Node\Stmt\TryCatch; /** * Replace compound catches. */ diff --git a/src/Target/Php71/NestedExpressionFixer.php b/src/Target/Php71/NestedExpressionFixer.php index 5b3337620..090acaea8 100644 --- a/src/Target/Php71/NestedExpressionFixer.php +++ b/src/Target/Php71/NestedExpressionFixer.php @@ -3,7 +3,6 @@ namespace Phabel\Target\Php71; use Phabel\Plugin; - class NestedExpressionFixer extends Plugin { } diff --git a/src/Target/Php71/NullableType.php b/src/Target/Php71/NullableType.php index a21fba681..0a7298d77 100644 --- a/src/Target/Php71/NullableType.php +++ b/src/Target/Php71/NullableType.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\TypeHintReplacer; - /** * Remove nullable typehint. * @@ -15,7 +14,7 @@ class NullableType extends Plugin { public static function previous(array $config) { - $phabelReturn = [TypeHintReplacer::class => ['nullable' => true]]; + $phabelReturn = [TypeHintReplacer::class => ['nullable' => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php71/Polyfill.php b/src/Target/Php71/Polyfill.php index 07f163928..cbec0aedb 100644 --- a/src/Target/Php71/Polyfill.php +++ b/src/Target/Php71/Polyfill.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Target\Polyfill as TargetPolyfill; - /** * @author Daniil Gentili * @license MIT @@ -78,12 +77,12 @@ public static function file_get_contents(...$params) { if (isset($params[3]) && $params[3] < 0) { $f = \fopen($params[0], 'r', $params[1], $params[2]); - \fseek($f, 0, SEEK_END); - \fseek($f, \ftell($f) + $params[3], SEEK_SET); + \fseek($f, 0, \SEEK_END); + \fseek($f, \ftell($f) + $params[3], \SEEK_SET); $length = isset($params[4]) ? $params[4] : null; if ($length === null) { $phabelReturn = \stream_get_contents($f); - if (!$phabelReturn instanceof false) { + if (!$phabelReturn instanceof \Phabel\Target\Php71\false) { if (!\is_string($phabelReturn)) { if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -94,7 +93,7 @@ public static function file_get_contents(...$params) return $phabelReturn; } $phabelReturn = \fread($f, $length); - if (!$phabelReturn instanceof false) { + if (!$phabelReturn instanceof \Phabel\Target\Php71\false) { if (!\is_string($phabelReturn)) { if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -105,7 +104,7 @@ public static function file_get_contents(...$params) return $phabelReturn; } $phabelReturn = \file_get_contents(...$params); - if (!$phabelReturn instanceof false) { + if (!$phabelReturn instanceof \Phabel\Target\Php71\false) { if (!\is_string($phabelReturn)) { if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -131,21 +130,21 @@ public static function get_headers($url, $associative = 0, $context = null) } if (!$context) { $phabelReturn = \get_headers($url, $associative); - if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + if (!(\is_array($phabelReturn) || $phabelReturn instanceof \Phabel\Target\Php71\false)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; } - if (\file_get_contents($url, false, $context) === false) { - $phabelReturn = false; - if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + if (\file_get_contents($url, \false, $context) === \false) { + $phabelReturn = \false; + if (!(\is_array($phabelReturn) || $phabelReturn instanceof \Phabel\Target\Php71\false)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; } if (!$associative) { $phabelReturn = $http_response_header; - if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + if (!(\is_array($phabelReturn) || $phabelReturn instanceof \Phabel\Target\Php71\false)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; @@ -158,7 +157,7 @@ public static function get_headers($url, $associative = 0, $context = null) } } $phabelReturn = $headers; - if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + if (!(\is_array($phabelReturn) || $phabelReturn instanceof \Phabel\Target\Php71\false)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; @@ -552,7 +551,7 @@ public static function grapheme_stripos($haystack, $needle, $offset = 0) */ public static function withNext(array $config) { - $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php71/VoidReturnType.php b/src/Target/Php71/VoidReturnType.php index 7d1c8078c..d50e069e5 100644 --- a/src/Target/Php71/VoidReturnType.php +++ b/src/Target/Php71/VoidReturnType.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\TypeHintReplacer; - /** * Remove void return typehint. * @author Daniil Gentili @@ -14,7 +13,7 @@ class VoidReturnType extends Plugin { public static function previous(array $config) { - $phabelReturn = [TypeHintReplacer::class => ['void' => true]]; + $phabelReturn = [TypeHintReplacer::class => ['void' => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php72/IssetExpressionFixer.php b/src/Target/Php72/IssetExpressionFixer.php index 7dd3a9198..f72a438bc 100644 --- a/src/Target/Php72/IssetExpressionFixer.php +++ b/src/Target/Php72/IssetExpressionFixer.php @@ -3,7 +3,6 @@ namespace Phabel\Target\Php72; use Phabel\Plugin; - class IssetExpressionFixer extends Plugin { } diff --git a/src/Target/Php72/NestedExpressionFixer.php b/src/Target/Php72/NestedExpressionFixer.php index 5fac75667..d7996ab50 100644 --- a/src/Target/Php72/NestedExpressionFixer.php +++ b/src/Target/Php72/NestedExpressionFixer.php @@ -3,7 +3,6 @@ namespace Phabel\Target\Php72; use Phabel\Plugin; - class NestedExpressionFixer extends Plugin { } diff --git a/src/Target/Php72/ObjectTypeHintReplacer.php b/src/Target/Php72/ObjectTypeHintReplacer.php index b01d39e28..027125a77 100644 --- a/src/Target/Php72/ObjectTypeHintReplacer.php +++ b/src/Target/Php72/ObjectTypeHintReplacer.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\TypeHintReplacer; - /** * @author Daniil Gentili * @license MIT diff --git a/src/Target/Php72/Polyfill.php b/src/Target/Php72/Polyfill.php index 9e8fb343a..59325ec24 100644 --- a/src/Target/Php72/Polyfill.php +++ b/src/Target/Php72/Polyfill.php @@ -5,7 +5,6 @@ use __PHP_Incomplete_Class; use Phabel\Plugin; use Phabel\Target\Polyfill as TargetPolyfill; - /** * @author Daniil Gentili * @license MIT @@ -46,7 +45,7 @@ public static function json_decode($json, $associative = null, $depth = 512, $fl } $flags = (int) $flags; } - $associative = isset($associative) ? $associative : !!($flags & JSON_OBJECT_AS_ARRAY); + $associative = isset($associative) ? $associative : !!($flags & \JSON_OBJECT_AS_ARRAY); return \json_decode($json, $associative, $depth, $flags); } public static function mb_convert_encoding($string, $to_encoding, $from_encoding = null) @@ -164,7 +163,7 @@ public static function number_format($num, $decimals = 0, $decimal_separator = " } public static function is_object($stuff) { - $phabelReturn = $stuff instanceof __PHP_Incomplete_Class ? true : \is_object($stuff); + $phabelReturn = $stuff instanceof __PHP_Incomplete_Class ? \true : \is_object($stuff); if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -178,7 +177,7 @@ public static function is_object($stuff) */ public static function withNext(array $config) { - $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php72/TypeContravariance.php b/src/Target/Php72/TypeContravariance.php index 993fef4ca..323841943 100644 --- a/src/Target/Php72/TypeContravariance.php +++ b/src/Target/Php72/TypeContravariance.php @@ -5,7 +5,6 @@ use Phabel\Plugin; use Phabel\Plugin\ClassStoragePlugin; use Phabel\Target\Php72\TypeContravariance\TypeContravariance as T; - /** * @author Daniil Gentili * @license MIT @@ -14,7 +13,7 @@ class TypeContravariance extends Plugin { public static function previous(array $config) { - $phabelReturn = [ClassStoragePlugin::class => [T::class => true]]; + $phabelReturn = [ClassStoragePlugin::class => [T::class => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php72/TypeContravariance/TypeContravariance.php b/src/Target/Php72/TypeContravariance/TypeContravariance.php index 7a829023f..521565e16 100644 --- a/src/Target/Php72/TypeContravariance/TypeContravariance.php +++ b/src/Target/Php72/TypeContravariance/TypeContravariance.php @@ -6,10 +6,9 @@ use Phabel\ClassStorage\Storage; use Phabel\ClassStorageProvider; use Phabel\Plugin\TypeHintReplacer; -use PhpParser\Node\Stmt\Class_; -use PhpParser\Node\Stmt\ClassMethod; +use Phabel\PhpParser\Node\Stmt\Class_; +use Phabel\PhpParser\Node\Stmt\ClassMethod; use SplStack; - /** * @author Daniil Gentili * @license MIT @@ -18,7 +17,7 @@ class TypeContravariance extends ClassStorageProvider { public static function processClassGraph(ClassStorage $storage) { - $changed = false; + $changed = \false; foreach ($storage->getClasses() as $class) { // Can override abstract methods foreach ($class->getMethods(Class_::MODIFIER_ABSTRACT) as $name => $method) { @@ -50,13 +49,13 @@ public static function processClassGraph(ClassStorage $storage) } continue; } - $act = \array_fill(0, \count($method->params), false); + $act = \array_fill(0, \count($method->params), \false); $parentMethods = new SplStack(); $parentMethods->push($method); foreach ($class->getOverriddenMethods($name) as $childMethod) { foreach ($childMethod->params as $k => $param) { if (isset($method->params[$k]->type) && TypeHintReplacer::replaced($param->type)) { - $act[$k] = true; + $act[$k] = \true; } } $parentMethods->push($childMethod); diff --git a/src/Target/Php73/IssetExpressionFixer.php b/src/Target/Php73/IssetExpressionFixer.php index 9be43a81b..6fcbeb667 100644 --- a/src/Target/Php73/IssetExpressionFixer.php +++ b/src/Target/Php73/IssetExpressionFixer.php @@ -3,7 +3,6 @@ namespace Phabel\Target\Php73; use Phabel\Plugin; - class IssetExpressionFixer extends Plugin { } diff --git a/src/Target/Php73/ListReference.php b/src/Target/Php73/ListReference.php index 9f4cbc1c6..5d80bdc79 100644 --- a/src/Target/Php73/ListReference.php +++ b/src/Target/Php73/ListReference.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\ListSplitter; - /** * Polyfills list assignment by reference. */ @@ -12,7 +11,7 @@ class ListReference extends Plugin { public static function previous(array $config) { - $phabelReturn = [ListSplitter::class => ['byRef' => true]]; + $phabelReturn = [ListSplitter::class => ['byRef' => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php73/NestedExpressionFixer.php b/src/Target/Php73/NestedExpressionFixer.php index 898362630..72019229b 100644 --- a/src/Target/Php73/NestedExpressionFixer.php +++ b/src/Target/Php73/NestedExpressionFixer.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\NestedExpressionFixer as fixer; - /** * Expression fixer for PHP 73. */ @@ -15,7 +14,7 @@ class NestedExpressionFixer extends Plugin */ public static function next(array $config) { - $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\Instanceof_' => ['expr' => ['PhpParser\\Node\\Scalar\\DNumber' => true, 'PhpParser\\Node\\Scalar\\LNumber' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]]]]; + $phabelReturn = [fixer::class => ['Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => ['expr' => ['Phabel\\PhpParser\\Node\\Scalar\\DNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\LNumber' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Line' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]]]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php73/Polyfill.php b/src/Target/Php73/Polyfill.php index 5c965a297..663b282ea 100644 --- a/src/Target/Php73/Polyfill.php +++ b/src/Target/Php73/Polyfill.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Target\Polyfill as TargetPolyfill; - /** * @author Daniil Gentili * @license MIT @@ -69,7 +68,7 @@ public static function array_unshift(array &$array, ...$values) */ public static function withNext(array $config) { - $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php74/ArrayUnpack.php b/src/Target/Php74/ArrayUnpack.php index fd5ef11f8..54447e27d 100644 --- a/src/Target/Php74/ArrayUnpack.php +++ b/src/Target/Php74/ArrayUnpack.php @@ -4,14 +4,13 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node\Arg; -use PhpParser\Node\Expr\Array_; -use PhpParser\Node\Expr\ArrayItem; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\FuncCall; -use PhpParser\Node\Expr\List_; -use PhpParser\Node\Stmt\Foreach_; - +use Phabel\PhpParser\Node\Arg; +use Phabel\PhpParser\Node\Expr\Array_; +use Phabel\PhpParser\Node\Expr\ArrayItem; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\FuncCall; +use Phabel\PhpParser\Node\Expr\List_; +use Phabel\PhpParser\Node\Stmt\Foreach_; /** * @author Daniil Gentili * @license MIT @@ -49,7 +48,7 @@ public function enter(Array_ $array, Context $context) } break; } - $hasUnpack = false; + $hasUnpack = \false; foreach ($array->items as $item) { if (!$item) { $phabelReturn = null; @@ -59,7 +58,7 @@ public function enter(Array_ $array, Context $context) return $phabelReturn; } if ($item->unpack) { - $hasUnpack = true; + $hasUnpack = \true; break; } } diff --git a/src/Target/Php74/ArrowClosure.php b/src/Target/Php74/ArrowClosure.php index 43627f6b4..c2d8a2098 100644 --- a/src/Target/Php74/ArrowClosure.php +++ b/src/Target/Php74/ArrowClosure.php @@ -5,12 +5,11 @@ use Phabel\Context; use Phabel\Plugin; use Phabel\Plugin\VariableFinder; -use PhpParser\Node\Expr\ArrowFunction; -use PhpParser\Node\Expr\Closure; -use PhpParser\Node\Expr\Variable; -use PhpParser\Node\Param; -use PhpParser\Node\Stmt\Return_; - +use Phabel\PhpParser\Node\Expr\ArrowFunction; +use Phabel\PhpParser\Node\Expr\Closure; +use Phabel\PhpParser\Node\Expr\Variable; +use Phabel\PhpParser\Node\Param; +use Phabel\PhpParser\Node\Stmt\Return_; /** * Turn an arrow function into a closure. */ @@ -39,7 +38,7 @@ public function enter(ArrowFunction $func, Context $context) foreach (isset($nodes['params']) ? $nodes['params'] : [] as $param) { if ($param->var instanceof Variable) { /** @var string $param->var->name */ - $params[$param->var->name] = true; + $params[$param->var->name] = \true; } } $nodes['uses'] = \array_values(\array_intersect_key(\array_diff_key(VariableFinder::find($func->expr), $params), $context->variables->top()->getVars())); diff --git a/src/Target/Php74/IssetExpressionFixer.php b/src/Target/Php74/IssetExpressionFixer.php index 318138ac5..eedf3e375 100644 --- a/src/Target/Php74/IssetExpressionFixer.php +++ b/src/Target/Php74/IssetExpressionFixer.php @@ -3,7 +3,6 @@ namespace Phabel\Target\Php74; use Phabel\Plugin; - class IssetExpressionFixer extends Plugin { } diff --git a/src/Target/Php74/NestedExpressionFixer.php b/src/Target/Php74/NestedExpressionFixer.php index 78576914e..6fe07b3e7 100644 --- a/src/Target/Php74/NestedExpressionFixer.php +++ b/src/Target/Php74/NestedExpressionFixer.php @@ -3,7 +3,6 @@ namespace Phabel\Target\Php74; use Phabel\Plugin; - class NestedExpressionFixer extends Plugin { } diff --git a/src/Target/Php74/NullCoalesceAssignment.php b/src/Target/Php74/NullCoalesceAssignment.php index c1d2f9a09..70da00083 100644 --- a/src/Target/Php74/NullCoalesceAssignment.php +++ b/src/Target/Php74/NullCoalesceAssignment.php @@ -3,10 +3,9 @@ namespace Phabel\Target\Php74; use Phabel\Plugin; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\AssignOp\Coalesce; -use PhpParser\Node\Expr\BinaryOp\Coalesce as BinaryOpCoalesce; - +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\AssignOp\Coalesce; +use Phabel\PhpParser\Node\Expr\BinaryOp\Coalesce as BinaryOpCoalesce; /** * @author Daniil Gentili * @license MIT diff --git a/src/Target/Php74/Polyfill.php b/src/Target/Php74/Polyfill.php index c8129a161..edb5dad8b 100644 --- a/src/Target/Php74/Polyfill.php +++ b/src/Target/Php74/Polyfill.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Target\Polyfill as TargetPolyfill; - /** * @author Daniil Gentili * @license MIT @@ -60,7 +59,7 @@ public static function array_splice(array &$array, $offset, $length = null, mixe */ public static function withNext(array $config) { - $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php74/Serializable.php b/src/Target/Php74/Serializable.php index ec9f71be3..f191c74b9 100644 --- a/src/Target/Php74/Serializable.php +++ b/src/Target/Php74/Serializable.php @@ -4,46 +4,45 @@ use Phabel\Context; use Phabel\Plugin; -use PhpParser\Node\Identifier; -use PhpParser\Node\Name\FullyQualified; -use PhpParser\Node\Stmt\Class_; -use PhpParser\Node\Stmt\ClassMethod; +use Phabel\PhpParser\Node\Identifier; +use Phabel\PhpParser\Node\Name\FullyQualified; +use Phabel\PhpParser\Node\Stmt\Class_; +use Phabel\PhpParser\Node\Stmt\ClassMethod; use Serializable as GlobalSerializable; - /** * Implement __serialize and __unserialize. */ class Serializable extends Plugin { /* - public function enter(Class_ $class, Context $context): void - { - /** @var array */ + public function enter(Class_ $class, Context $context): void + { + /** @var array */ /* - $methods = []; - foreach ($class->stmts as $stmt) { - if ($stmt instanceof ClassMethod) { - $name = $stmt->name->toLowerString(); - $methods[$name] = $stmt; + $methods = []; + foreach ($class->stmts as $stmt) { + if ($stmt instanceof ClassMethod) { + $name = $stmt->name->toLowerString(); + $methods[$name] = $stmt; + } } - } - - if (!isset($methods['__serialize']) && !isset($methods['__unserialize'])) { - return; - } - foreach ($class->implements as $name) { - $resolved = $context->getNameContext()->getResolvedClassName($name); - if ($resolved->toLowerString() === 'serializable' || $name->toLowerString() === 'serializable') { - return; // Already implements + + if (!isset($methods['__serialize']) && !isset($methods['__unserialize'])) { + return; } - } - if (isset($methods['__sleep'])) { - $methods['__sleep']->name = new Identifier('__phabelSleep'); - } - if (isset($methods['__wakeup'])) { - $methods['__wakeup']->name = new Identifier('__phabelWakeup'); - } - - $class->implements []= new FullyQualified(GlobalSerializable::class); - }*/ + foreach ($class->implements as $name) { + $resolved = $context->getNameContext()->getResolvedClassName($name); + if ($resolved->toLowerString() === 'serializable' || $name->toLowerString() === 'serializable') { + return; // Already implements + } + } + if (isset($methods['__sleep'])) { + $methods['__sleep']->name = new Identifier('__phabelSleep'); + } + if (isset($methods['__wakeup'])) { + $methods['__wakeup']->name = new Identifier('__phabelWakeup'); + } + + $class->implements []= new FullyQualified(GlobalSerializable::class); + }*/ } diff --git a/src/Target/Php74/TypeContracovariance.php b/src/Target/Php74/TypeContracovariance.php index 835976e36..7f08d312f 100644 --- a/src/Target/Php74/TypeContracovariance.php +++ b/src/Target/Php74/TypeContracovariance.php @@ -5,7 +5,6 @@ use Phabel\Plugin; use Phabel\Plugin\ClassStoragePlugin; use Phabel\Target\Php74\TypeContracovariance\TypeContracovariance as T; - /** * @author Daniil Gentili * @license MIT @@ -14,7 +13,7 @@ class TypeContracovariance extends Plugin { public static function previous(array $config) { - $phabelReturn = [ClassStoragePlugin::class => [T::class => true]]; + $phabelReturn = [ClassStoragePlugin::class => [T::class => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php74/TypeContracovariance/TypeContracovariance.php b/src/Target/Php74/TypeContracovariance/TypeContracovariance.php index a46646f63..9c73e2e02 100644 --- a/src/Target/Php74/TypeContracovariance/TypeContracovariance.php +++ b/src/Target/Php74/TypeContracovariance/TypeContracovariance.php @@ -7,7 +7,6 @@ use Phabel\ClassStorageProvider; use Phabel\Plugin\TypeHintReplacer; use SplStack; - /** * @author Daniil Gentili * @license MIT @@ -16,24 +15,24 @@ class TypeContracovariance extends ClassStorageProvider { public static function processClassGraph(ClassStorage $storage) { - $changed = false; + $changed = \false; foreach ($storage->getClasses() as $class) { // Contravariance: a parameter type can be less specific (more types) in a child method // Covariance: a child method can return a more specific (less types) type foreach ($class->getMethods() as $name => $method) { - $actReturn = false; - $act = \array_fill(0, \count($method->params), false); + $actReturn = \false; + $act = \array_fill(0, \count($method->params), \false); $parentMethods = new SplStack(); $parentMethods->push($method); foreach ($class->getOverriddenMethods($name) as $childMethod) { $childClass = $childMethod->getAttribute(Storage::STORAGE_KEY); foreach ($childMethod->params as $k => $param) { if (isset($method->params[$k]) && $storage->compare($param->type, $method->params[$k]->type, $childClass, $class) > 0) { - $act[$k] = true; + $act[$k] = \true; } } if ($storage->compare($childMethod->returnType, $method->returnType, $childClass, $class) < 0) { - $actReturn = true; + $actReturn = \true; } $parentMethods->push($childMethod); } diff --git a/src/Target/Php74/TypedProperty.php b/src/Target/Php74/TypedProperty.php index ef2d22620..78c7160af 100644 --- a/src/Target/Php74/TypedProperty.php +++ b/src/Target/Php74/TypedProperty.php @@ -3,9 +3,8 @@ namespace Phabel\Target\Php74; use Phabel\Plugin; -use PhpParser\Node\Stmt\ClassLike; -use PhpParser\Node\Stmt\Property; - +use Phabel\PhpParser\Node\Stmt\ClassLike; +use Phabel\PhpParser\Node\Stmt\Property; /** * Implement typed properties. */ diff --git a/src/Target/Php80/IssetExpressionFixer.php b/src/Target/Php80/IssetExpressionFixer.php index 83669579b..fd2f8a63a 100644 --- a/src/Target/Php80/IssetExpressionFixer.php +++ b/src/Target/Php80/IssetExpressionFixer.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\IssetExpressionFixer as fixer; - /** * Expression fixer for PHP 80. */ @@ -15,7 +14,7 @@ class IssetExpressionFixer extends Plugin */ public static function next(array $config) { - $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'dim' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true], 'name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Variable' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]]]]; + $phabelReturn = [fixer::class => ['Phabel\\PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true], 'dim' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\ConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true], 'name' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Variable' => ['name' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]]]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php80/MatchTransformer.php b/src/Target/Php80/MatchTransformer.php index 98cad9bfd..a52e61b90 100644 --- a/src/Target/Php80/MatchTransformer.php +++ b/src/Target/Php80/MatchTransformer.php @@ -5,22 +5,21 @@ use Phabel\Context; use Phabel\Plugin; use Phabel\Plugin\VariableFinder; -use PhpParser\Node\Arg; -use PhpParser\Node\Expr\BinaryOp\Concat; -use PhpParser\Node\Expr\BinaryOp\Identical; -use PhpParser\Node\Expr\Closure; -use PhpParser\Node\Expr\FuncCall; -use PhpParser\Node\Expr\Match_; -use PhpParser\Node\Expr\New_; -use PhpParser\Node\Name\FullyQualified; -use PhpParser\Node\Param; -use PhpParser\Node\Scalar\String_; -use PhpParser\Node\Stmt\Else_; -use PhpParser\Node\Stmt\ElseIf_; -use PhpParser\Node\Stmt\If_; -use PhpParser\Node\Stmt\Return_; -use PhpParser\Node\Stmt\Throw_; - +use Phabel\PhpParser\Node\Arg; +use Phabel\PhpParser\Node\Expr\BinaryOp\Concat; +use Phabel\PhpParser\Node\Expr\BinaryOp\Identical; +use Phabel\PhpParser\Node\Expr\Closure; +use Phabel\PhpParser\Node\Expr\FuncCall; +use Phabel\PhpParser\Node\Expr\Match_; +use Phabel\PhpParser\Node\Expr\New_; +use Phabel\PhpParser\Node\Name\FullyQualified; +use Phabel\PhpParser\Node\Param; +use Phabel\PhpParser\Node\Scalar\String_; +use Phabel\PhpParser\Node\Stmt\Else_; +use Phabel\PhpParser\Node\Stmt\ElseIf_; +use Phabel\PhpParser\Node\Stmt\If_; +use Phabel\PhpParser\Node\Stmt\Return_; +use Phabel\PhpParser\Node\Stmt\Throw_; /** * Polyfill match expression. */ @@ -28,7 +27,7 @@ class MatchTransformer extends Plugin { public function enter(Match_ $match, Context $context) { - $closure = new Closure(['params' => [new Param($var = $context->getVariable())], 'uses' => \array_values(VariableFinder::find($match, true))]); + $closure = new Closure(['params' => [new Param($var = $context->getVariable())], 'uses' => \array_values(VariableFinder::find($match, \true))]); $cases = []; $default = null; foreach ($match->arms as $arm) { diff --git a/src/Target/Php80/NestedExpressionFixer.php b/src/Target/Php80/NestedExpressionFixer.php index 52b9bd7fd..b8305bf78 100644 --- a/src/Target/Php80/NestedExpressionFixer.php +++ b/src/Target/Php80/NestedExpressionFixer.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\NestedExpressionFixer as fixer; - /** * Expression fixer for PHP 80. */ @@ -15,7 +14,7 @@ class NestedExpressionFixer extends Plugin */ public static function next(array $config) { - $phabelReturn = [fixer::class => ['PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'dim' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Assign' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BitwiseNot' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BooleanNot' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Clone_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Empty_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\ErrorSuppress' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Eval_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Instanceof_' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\New_' => ['class' => ['PhpParser\\Node\\Expr\\Assign' => true, 'PhpParser\\Node\\Expr\\AssignRef' => true, 'PhpParser\\Node\\Expr\\BitwiseNot' => true, 'PhpParser\\Node\\Expr\\BooleanNot' => true, 'PhpParser\\Node\\Expr\\Clone_' => true, 'PhpParser\\Node\\Expr\\Closure' => true, 'PhpParser\\Node\\Expr\\ClosureUse' => true, 'PhpParser\\Node\\Expr\\Empty_' => true, 'PhpParser\\Node\\Expr\\ErrorSuppress' => true, 'PhpParser\\Node\\Expr\\Eval_' => true, 'PhpParser\\Node\\Expr\\Include_' => true, 'PhpParser\\Node\\Expr\\Instanceof_' => true, 'PhpParser\\Node\\Expr\\Isset_' => true, 'PhpParser\\Node\\Expr\\New_' => true, 'PhpParser\\Node\\Expr\\PostDec' => true, 'PhpParser\\Node\\Expr\\PostInc' => true, 'PhpParser\\Node\\Expr\\PreDec' => true, 'PhpParser\\Node\\Expr\\PreInc' => true, 'PhpParser\\Node\\Expr\\ShellExec' => true, 'PhpParser\\Node\\Expr\\Ternary' => true, 'PhpParser\\Node\\Expr\\UnaryMinus' => true, 'PhpParser\\Node\\Expr\\UnaryPlus' => true, 'PhpParser\\Node\\Expr\\YieldFrom' => true, 'PhpParser\\Node\\Expr\\Yield_' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Div' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => true, 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => true, 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => true, 'PhpParser\\Node\\Expr\\Cast\\Array_' => true, 'PhpParser\\Node\\Expr\\Cast\\Bool_' => true, 'PhpParser\\Node\\Expr\\Cast\\Double' => true, 'PhpParser\\Node\\Expr\\Cast\\Int_' => true, 'PhpParser\\Node\\Expr\\Cast\\Object_' => true, 'PhpParser\\Node\\Expr\\Cast\\String_' => true, 'PhpParser\\Node\\Scalar\\Encapsed' => true, 'PhpParser\\Node\\Scalar\\String_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\File' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => true, 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => true]], 'PhpParser\\Node\\Expr\\Print_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['PhpParser\\Node\\Expr\\ConstFetch' => true, 'PhpParser\\Node\\Expr\\Throw_' => true], 'name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Ternary' => ['if' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'else' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Throw_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\UnaryMinus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\UnaryPlus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Variable' => ['name' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\YieldFrom' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Yield_' => ['value' => ['PhpParser\\Node\\Expr\\Throw_' => true], 'key' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Div' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => ['right' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Array_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Bool_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Double' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Int_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\Object_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]], 'PhpParser\\Node\\Expr\\Cast\\String_' => ['expr' => ['PhpParser\\Node\\Expr\\Throw_' => true]]]]; + $phabelReturn = [fixer::class => ['Phabel\\PhpParser\\Node\\Expr\\ArrayDimFetch' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true], 'dim' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Assign' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\FuncCall' => ['name' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => ['class' => ['Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\YieldFrom' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\MethodCall' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\ConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\New_' => ['class' => ['Phabel\\PhpParser\\Node\\Expr\\Assign' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignRef' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BitwiseNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BooleanNot' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Clone_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Closure' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ClosureUse' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Empty_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ErrorSuppress' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Eval_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Include_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Instanceof_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Isset_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\New_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PostInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreDec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\PreInc' => \true, 'Phabel\\PhpParser\\Node\\Expr\\ShellExec' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\YieldFrom' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => \true, 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\Encapsed' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\String_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Class_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Dir' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\File' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Function_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Method' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => \true, 'Phabel\\PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Print_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\PropertyFetch' => ['var' => ['Phabel\\PhpParser\\Node\\Expr\\ConstFetch' => \true, 'Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true], 'name' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\StaticPropertyFetch' => ['name' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Ternary' => ['if' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true], 'else' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Throw_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\UnaryMinus' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\UnaryPlus' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Variable' => ['name' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\YieldFrom' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Yield_' => ['value' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true], 'key' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Concat' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Div' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Minus' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mod' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Mul' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Plus' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\Pow' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Concat' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Div' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Equal' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Greater' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Identical' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Minus' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mod' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Mul' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Plus' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Pow' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => ['right' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Array_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Bool_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Double' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Int_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Cast\\Object_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]], 'Phabel\\PhpParser\\Node\\Expr\\Cast\\String_' => ['expr' => ['Phabel\\PhpParser\\Node\\Expr\\Throw_' => \true]]]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php80/NullSafe/NullSafe.php b/src/Target/Php80/NullSafe/NullSafe.php index 414016792..149fe994e 100644 --- a/src/Target/Php80/NullSafe/NullSafe.php +++ b/src/Target/Php80/NullSafe/NullSafe.php @@ -38,4 +38,4 @@ public function __get($name) { } } -NullSafe::$singleton = new NullSafe(); +\Phabel\Target\Php80\NullSafe\NullSafe::$singleton = new \Phabel\Target\Php80\NullSafe\NullSafe(); diff --git a/src/Target/Php80/NullSafeTransformer.php b/src/Target/Php80/NullSafeTransformer.php index bc629d9d8..a664c9585 100644 --- a/src/Target/Php80/NullSafeTransformer.php +++ b/src/Target/Php80/NullSafeTransformer.php @@ -5,16 +5,15 @@ use Phabel\Plugin; use Phabel\Plugin\NestedExpressionFixer; use Phabel\Target\Php80\NullSafe\NullSafe; -use PhpParser\Node\Expr\BinaryOp\Coalesce; -use PhpParser\Node\Expr\MethodCall; -use PhpParser\Node\Expr\New_; -use PhpParser\Node\Expr\NullsafeMethodCall; -use PhpParser\Node\Expr\NullsafePropertyFetch; -use PhpParser\Node\Expr\PropertyFetch; -use PhpParser\Node\Expr\StaticPropertyFetch; -use PhpParser\Node\Name\FullyQualified; -use PhpParser\Node\Param; - +use Phabel\PhpParser\Node\Expr\BinaryOp\Coalesce; +use Phabel\PhpParser\Node\Expr\MethodCall; +use Phabel\PhpParser\Node\Expr\New_; +use Phabel\PhpParser\Node\Expr\NullsafeMethodCall; +use Phabel\PhpParser\Node\Expr\NullsafePropertyFetch; +use Phabel\PhpParser\Node\Expr\PropertyFetch; +use Phabel\PhpParser\Node\Expr\StaticPropertyFetch; +use Phabel\PhpParser\Node\Name\FullyQualified; +use Phabel\PhpParser\Node\Param; /** * Polyfill nullsafe expressions. */ @@ -50,7 +49,7 @@ public function enterMethodCall(NullsafeMethodCall $fetch) } public static function previous(array $config) { - $phabelReturn = [NestedExpressionFixer::class => [New_::class => ['class' => [NullsafePropertyFetch::class => true, NullsafeMethodCall::class => true]]]]; + $phabelReturn = [NestedExpressionFixer::class => [New_::class => ['class' => [NullsafePropertyFetch::class => \true, NullsafeMethodCall::class => \true]]]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php80/Polyfill.php b/src/Target/Php80/Polyfill.php index e8167be0c..2ff6e1335 100644 --- a/src/Target/Php80/Polyfill.php +++ b/src/Target/Php80/Polyfill.php @@ -5,7 +5,6 @@ use Phabel\Plugin; use Phabel\Target\Polyfill as TargetPolyfill; use Phabel\Tools; - if (!\defined('CAL_EASTER_DEFAULT')) { \define('CAL_EASTER_DEFAULT', 0); } @@ -16,7 +15,7 @@ class Polyfill extends Plugin { // Todo: nullability of a bunch of mb_ functions - public static function easter_date($year = null, $mode = CAL_EASTER_DEFAULT) + public static function easter_date($year = null, $mode = \CAL_EASTER_DEFAULT) { if (!\is_null($year)) { if (!\is_int($year)) { @@ -33,7 +32,7 @@ public static function easter_date($year = null, $mode = CAL_EASTER_DEFAULT) $mode = (int) $mode; } $year = isset($year) ? $year : (int) \date('Y'); - $phabelReturn = easter_date($year, $mode); + $phabelReturn = \easter_date($year, $mode); if (!\is_int($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -42,7 +41,7 @@ public static function easter_date($year = null, $mode = CAL_EASTER_DEFAULT) } return $phabelReturn; } - public static function easter_days($year = null, $mode = CAL_EASTER_DEFAULT) + public static function easter_days($year = null, $mode = \CAL_EASTER_DEFAULT) { if (!\is_null($year)) { if (!\is_int($year)) { @@ -59,7 +58,7 @@ public static function easter_days($year = null, $mode = CAL_EASTER_DEFAULT) $mode = (int) $mode; } $year = isset($year) ? $year : (int) \date('Y'); - $phabelReturn = easter_days($year, $mode); + $phabelReturn = \easter_days($year, $mode); if (!\is_int($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -79,7 +78,7 @@ public static function unixtojd($timestamp = null) } } $timestamp = isset($timestamp) ? $timestamp : \time(); - $phabelReturn = unixtojd($timestamp); + $phabelReturn = \unixtojd($timestamp); if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { if (!\is_int($phabelReturn)) { @@ -94,7 +93,7 @@ public static function unixtojd($timestamp = null) } return $phabelReturn; } - public static function date_sunrise($timestamp, $returnFormat = SUNFUNCS_RET_STRING, $latitude = null, $longitude = null, $zenith = null, $utcOffset = null) + public static function date_sunrise($timestamp, $returnFormat = \SUNFUNCS_RET_STRING, $latitude = null, $longitude = null, $zenith = null, $utcOffset = null) { if (!\is_int($timestamp)) { if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { @@ -171,7 +170,7 @@ public static function date_sunrise($timestamp, $returnFormat = SUNFUNCS_RET_STR } return $phabelReturn; } - public static function date_sunset($timestamp, $returnFormat = SUNFUNCS_RET_STRING, $latitude = null, $longitude = null, $zenith = null, $utcOffset = null) + public static function date_sunset($timestamp, $returnFormat = \SUNFUNCS_RET_STRING, $latitude = null, $longitude = null, $zenith = null, $utcOffset = null) { if (!\is_int($timestamp)) { if (!(\is_bool($timestamp) || \is_numeric($timestamp))) { @@ -376,7 +375,7 @@ public static function idate($format, $timestamp = null) } return $phabelReturn; } - public static function localtime($timestamp = null, $associative = false) + public static function localtime($timestamp = null, $associative = \false) { if (!\is_null($timestamp)) { if (!\is_int($timestamp)) { @@ -519,7 +518,7 @@ public static function iconv_mime_decode_headers($headers, $mode = 0, $encoding } } $phabelReturn = \iconv_mime_decode_headers($headers, $mode, isset($encoding) ? $encoding : \iconv_get_encoding('internal_encoding')); - if (!(\is_array($phabelReturn) || $phabelReturn instanceof false)) { + if (!(\is_array($phabelReturn) || $phabelReturn instanceof \Phabel\Target\Php80\false)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } return $phabelReturn; @@ -829,7 +828,7 @@ public static function fsockopen($hostname, $port = -1, &$error_code = null, &$e } return $timeout === null ? \fsockopen($hostname, $port, $error_code, $error_message) : \fsockopen($hostname, $port, $error_code, $error_message); } - public static function ob_implicit_flush($flag = true) + public static function ob_implicit_flush($flag = \true) { if (!\is_bool($flag)) { if (!(\is_bool($flag) || \is_numeric($flag) || \is_string($flag))) { @@ -861,7 +860,7 @@ public static function password_hash($password, $algo, array $options = []) } } } - $phabelReturn = \password_hash($password, isset($algo) ? $algo : PASSWORD_DEFAULT, $options); + $phabelReturn = \password_hash($password, isset($algo) ? $algo : \PASSWORD_DEFAULT, $options); if (!\is_string($phabelReturn)) { if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -889,7 +888,7 @@ public static function pcntl_async_signals($enable = null) } return $phabelReturn; } - public static function pcntl_getpriority($process_id = null, $mode = PRIO_PROCESS) + public static function pcntl_getpriority($process_id = null, $mode = \PRIO_PROCESS) { if (!\is_null($process_id)) { if (!\is_int($process_id)) { @@ -920,7 +919,7 @@ public static function pcntl_getpriority($process_id = null, $mode = PRIO_PROCES } return $phabelReturn; } - public static function pcntl_setpriority($priority, $process_id = null, $mode = PRIO_PROCESS) + public static function pcntl_setpriority($priority, $process_id = null, $mode = \PRIO_PROCESS) { if (!\is_int($priority)) { if (!(\is_bool($priority) || \is_numeric($priority))) { @@ -1241,7 +1240,7 @@ public static function spl_autoload_extensions($file_extensions = null) } return $phabelReturn; } - public static function spl_autoload_register($callback = null, $throw = true, $prepend = false) + public static function spl_autoload_register($callback = null, $throw = \true, $prepend = \false) { if (!(\is_callable($callback) || \is_null($callback))) { throw new \TypeError(__METHOD__ . '(): Argument #1 ($callback) must be of type ?callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($callback) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -1285,7 +1284,7 @@ public static function spl_autoload($class, $file_extensions = null) } $file_extensions === null ? \spl_autoload($class) : \spl_autoload($class, $file_extensions); } - public static function html_entity_decode($string, $flags = ENT_COMPAT, $encoding = null) + public static function html_entity_decode($string, $flags = \ENT_COMPAT, $encoding = null) { if (!\is_string($string)) { if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { @@ -1316,7 +1315,7 @@ public static function html_entity_decode($string, $flags = ENT_COMPAT, $encodin } return $phabelReturn; } - public static function htmlentities($string, $flags = ENT_COMPAT, $encoding = null, $double_encode = true) + public static function htmlentities($string, $flags = \ENT_COMPAT, $encoding = null, $double_encode = \true) { if (!\is_string($string)) { if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { @@ -1489,7 +1488,7 @@ public static function strspn($string, $characters, $offset = 0, $length = null) } return $phabelReturn; } - public static function substr_compare($haystack, $needle, $offset, $length = null, $case_insensitive = false) + public static function substr_compare($haystack, $needle, $offset, $length = null, $case_insensitive = \false) { if (!\is_string($haystack)) { if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { @@ -1656,7 +1655,7 @@ public static function substr($string, $offset, $length = null) */ public static function withNext(array $config) { - $phabelReturn = [TargetPolyfill::class => [self::class => true]]; + $phabelReturn = [TargetPolyfill::class => [self::class => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Php80/StaticReplacer.php b/src/Target/Php80/StaticReplacer.php index f95f9d5a4..44752f935 100644 --- a/src/Target/Php80/StaticReplacer.php +++ b/src/Target/Php80/StaticReplacer.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\TypeHintReplacer; - /** * Replace static typehint. * diff --git a/src/Target/Php80/ThrowExprReplacer.php b/src/Target/Php80/ThrowExprReplacer.php index 1b723950d..d21ca535c 100644 --- a/src/Target/Php80/ThrowExprReplacer.php +++ b/src/Target/Php80/ThrowExprReplacer.php @@ -3,9 +3,8 @@ namespace Phabel\Target\Php80; use Phabel\Plugin; -use PhpParser\Node\Expr\StaticCall; -use PhpParser\Node\Expr\Throw_ as ExprThrow_; - +use Phabel\PhpParser\Node\Expr\StaticCall; +use Phabel\PhpParser\Node\Expr\Throw_ as ExprThrow_; /** * Polyfill throw expression. */ diff --git a/src/Target/Php80/UnionTypeStripper.php b/src/Target/Php80/UnionTypeStripper.php index 533101a07..1391bdd9f 100644 --- a/src/Target/Php80/UnionTypeStripper.php +++ b/src/Target/Php80/UnionTypeStripper.php @@ -4,7 +4,6 @@ use Phabel\Plugin; use Phabel\Plugin\TypeHintReplacer; - /** * Strip union types, polyfilling type checks. */ @@ -15,7 +14,7 @@ class UnionTypeStripper extends Plugin */ public static function previous(array $config) { - $phabelReturn = [TypeHintReplacer::class => ['union' => true]]; + $phabelReturn = [TypeHintReplacer::class => ['union' => \true]]; if (!\is_array($phabelReturn)) { throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } diff --git a/src/Target/Polyfill.php b/src/Target/Polyfill.php index 77c6d1274..5c875b927 100644 --- a/src/Target/Polyfill.php +++ b/src/Target/Polyfill.php @@ -3,7 +3,6 @@ namespace Phabel\Target; use Phabel\Plugin; - /** * @author Daniil Gentili * @license MIT diff --git a/src/Tasks/Init.php b/src/Tasks/Init.php index 532ec434e..7be23eb6e 100644 --- a/src/Tasks/Init.php +++ b/src/Tasks/Init.php @@ -2,12 +2,11 @@ namespace Phabel\Tasks; -use Amp\Parallel\Worker\Environment; -use Amp\Parallel\Worker\Task; +use Phabel\Amp\Parallel\Worker\Environment; +use Phabel\Amp\Parallel\Worker\Task; use Phabel\Exception; use Phabel\PluginGraph\ResolvedGraph; use Phabel\Traverser; - class Init implements Task { public function __construct(private ResolvedGraph $graph) @@ -49,7 +48,7 @@ public function run(Environment $environment) } // If error is suppressed with @, don't throw an exception if (\error_reporting() === 0) { - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); diff --git a/src/Tasks/Run.php b/src/Tasks/Run.php index 755b9ebbb..0f314ad96 100644 --- a/src/Tasks/Run.php +++ b/src/Tasks/Run.php @@ -2,11 +2,10 @@ namespace Phabel\Tasks; -use Amp\Parallel\Worker\Environment; -use Amp\Parallel\Worker\Task; +use Phabel\Amp\Parallel\Worker\Environment; +use Phabel\Amp\Parallel\Worker\Task; use Phabel\ExceptionWrapper; use Phabel\Traverser; - class Run implements Task { public function __construct(private $relative, private $input, private $output, private $package, private $coverage) diff --git a/src/Tasks/Shutdown.php b/src/Tasks/Shutdown.php index 0662181da..f23db593b 100644 --- a/src/Tasks/Shutdown.php +++ b/src/Tasks/Shutdown.php @@ -2,10 +2,9 @@ namespace Phabel\Tasks; -use Amp\Parallel\Worker\Environment; -use Amp\Parallel\Worker\Task; +use Phabel\Amp\Parallel\Worker\Environment; +use Phabel\Amp\Parallel\Worker\Task; use Phabel\Traverser; - class Shutdown implements Task { public function run(Environment $environment) diff --git a/src/Tools.php b/src/Tools.php index 4e90e43b9..7a143c4c8 100644 --- a/src/Tools.php +++ b/src/Tools.php @@ -2,39 +2,38 @@ namespace Phabel; -use PhpParser\Node; -use PhpParser\Node\Arg; -use PhpParser\Node\Expr; -use PhpParser\Node\Expr\ArrayDimFetch; -use PhpParser\Node\Expr\Assign; -use PhpParser\Node\Expr\AssignOp; -use PhpParser\Node\Expr\AssignRef; -use PhpParser\Node\Expr\Cast\String_; -use PhpParser\Node\Expr\Clone_; -use PhpParser\Node\Expr\Eval_; -use PhpParser\Node\Expr\FuncCall; -use PhpParser\Node\Expr\Include_; -use PhpParser\Node\Expr\List_; -use PhpParser\Node\Expr\MethodCall; -use PhpParser\Node\Expr\New_; -use PhpParser\Node\Expr\NullsafeMethodCall; -use PhpParser\Node\Expr\NullsafePropertyFetch; -use PhpParser\Node\Expr\PostDec; -use PhpParser\Node\Expr\PostInc; -use PhpParser\Node\Expr\PreDec; -use PhpParser\Node\Expr\PreInc; -use PhpParser\Node\Expr\PropertyFetch; -use PhpParser\Node\Expr\ShellExec; -use PhpParser\Node\Expr\StaticCall; -use PhpParser\Node\Expr\Variable; -use PhpParser\Node\Expr\Yield_; -use PhpParser\Node\Expr\YieldFrom; -use PhpParser\Node\Name; -use PhpParser\Node\Name\FullyQualified; -use PhpParser\Node\Stmt\Expression; -use PhpParser\ParserFactory; +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Node\Arg; +use Phabel\PhpParser\Node\Expr; +use Phabel\PhpParser\Node\Expr\ArrayDimFetch; +use Phabel\PhpParser\Node\Expr\Assign; +use Phabel\PhpParser\Node\Expr\AssignOp; +use Phabel\PhpParser\Node\Expr\AssignRef; +use Phabel\PhpParser\Node\Expr\Cast\String_; +use Phabel\PhpParser\Node\Expr\Clone_; +use Phabel\PhpParser\Node\Expr\Eval_; +use Phabel\PhpParser\Node\Expr\FuncCall; +use Phabel\PhpParser\Node\Expr\Include_; +use Phabel\PhpParser\Node\Expr\List_; +use Phabel\PhpParser\Node\Expr\MethodCall; +use Phabel\PhpParser\Node\Expr\New_; +use Phabel\PhpParser\Node\Expr\NullsafeMethodCall; +use Phabel\PhpParser\Node\Expr\NullsafePropertyFetch; +use Phabel\PhpParser\Node\Expr\PostDec; +use Phabel\PhpParser\Node\Expr\PostInc; +use Phabel\PhpParser\Node\Expr\PreDec; +use Phabel\PhpParser\Node\Expr\PreInc; +use Phabel\PhpParser\Node\Expr\PropertyFetch; +use Phabel\PhpParser\Node\Expr\ShellExec; +use Phabel\PhpParser\Node\Expr\StaticCall; +use Phabel\PhpParser\Node\Expr\Variable; +use Phabel\PhpParser\Node\Expr\Yield_; +use Phabel\PhpParser\Node\Expr\YieldFrom; +use Phabel\PhpParser\Node\Name; +use Phabel\PhpParser\Node\Name\FullyQualified; +use Phabel\PhpParser\Node\Stmt\Expression; +use Phabel\PhpParser\ParserFactory; use ReflectionClass; - /** * Various tools. * @@ -77,7 +76,7 @@ public static function replaceType(Node $node, $class, array $propertyMap = []) } return $phabelReturn; } - $phabelReturn = new $class(...\array_merge(\array_map(function ($name) use ($node) { + $phabelReturn = new $class(...\array_merge(\array_map(function ($name) use($node) { if (!\is_string($name)) { if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -186,7 +185,7 @@ public static function callMethod(Expr $name, $method, ...$parameters) */ public static function fromLiteral($data) { - $phabelReturn = self::toNode(\var_export($data, true) . ';'); + $phabelReturn = self::toNode(\var_export($data, \true) . ';'); if (!$phabelReturn instanceof Node) { throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } @@ -232,7 +231,7 @@ public static function hasSideEffects($node) throw new \TypeError(__METHOD__ . '(): Argument #1 ($node) must be of type ?Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($node) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } if (!$node) { - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -242,8 +241,8 @@ public static function hasSideEffects($node) return $phabelReturn; } if ($node->hasAttribute('hasSideEffects') || $node instanceof String_ || $node instanceof ArrayDimFetch || $node instanceof Assign || $node instanceof AssignOp || $node instanceof AssignRef || $node instanceof Clone_ || $node instanceof Eval_ || $node instanceof FuncCall || $node instanceof Include_ || $node instanceof List_ || $node instanceof MethodCall || $node instanceof New_ || $node instanceof NullsafeMethodCall || $node instanceof NullsafePropertyFetch || $node instanceof PostDec || $node instanceof PostInc || $node instanceof PreDec || $node instanceof PreInc || $node instanceof PropertyFetch || $node instanceof StaticCall || $node instanceof Yield_ || $node instanceof YieldFrom || $node instanceof ShellExec) { - $node->setAttribute('hasSideEffects', true); - $phabelReturn = true; + $node->setAttribute('hasSideEffects', \true); + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -256,8 +255,8 @@ public static function hasSideEffects($node) foreach ($node->getSubNodeNames() as $name) { if ($node->{$name} instanceof Expr) { if (self::hasSideEffects($node->{$name})) { - $node->setAttribute('hasSideEffects', true); - $phabelReturn = true; + $node->setAttribute('hasSideEffects', \true); + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -270,8 +269,8 @@ public static function hasSideEffects($node) /** @var Node|Node[]|string */ foreach ($node->{$name} as $var) { if ($var instanceof Expr && self::hasSideEffects($var)) { - $node->setAttribute('hasSideEffects', true); - $phabelReturn = true; + $node->setAttribute('hasSideEffects', \true); + $phabelReturn = \true; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -283,7 +282,7 @@ public static function hasSideEffects($node) } } } - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -339,7 +338,7 @@ public static function getFqdn(Node $node, $alt = '') } return $phabelReturn; } - throw new UnresolvedNameException(); + throw new \Phabel\UnresolvedNameException(); } $phabelReturn = (string) $node->getAttribute('resolvedName', $node->getAttribute('namespacedName')); if (!\is_string($phabelReturn)) { @@ -384,7 +383,7 @@ public static function cloneWithTrait($obj, $trait) $extend = "extends \\" . $r->getName(); if (isset($memoized["{$trait} {$extend}"])) { /** @psalm-suppress MixedMethodCall */ - $newObj = ($phabel_a2ec9a4ca43bd91b = $memoized["{$trait} {$extend}"]) || true ? new $phabel_a2ec9a4ca43bd91b() : false; + $newObj = ($phabel_a2ec9a4ca43bd91b = $memoized["{$trait} {$extend}"]) || \true ? new $phabel_a2ec9a4ca43bd91b() : \false; } else { $memoized["{$trait} {$extend}"] = "phabelTmpClass{$count}"; $eval = "class phabelTmpClass{$count} {$extend} {\n use \\{$trait};\n public function __construct() {}\n }\n return new phabelTmpClass{$count};"; @@ -400,8 +399,8 @@ public static function cloneWithTrait($obj, $trait) foreach ($reflect->getProperties() as $prop) { if ($reflectNew->hasProperty($prop->getName())) { $propNew = $reflectNew->getProperty($prop->getName()); - $propNew->setAccessible(true); - $prop->setAccessible(true); + $propNew->setAccessible(\true); + $prop->setAccessible(\true); $propNew->setValue($newObj, $prop->getValue($obj)); } } @@ -438,7 +437,7 @@ public static function hasVar($obj, $var) } $var = (string) $var; } - $phabelReturn = \Closure::bind(function () use ($var) { + $phabelReturn = \Closure::bind(function () use($var) { $phabelReturn = isset($this->{$var}); if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { @@ -479,7 +478,7 @@ public static function &getVar($obj, $var) } return \Closure::bind( /** @return mixed */ - function &() use ($var) { + function &() use($var) { return $this->{$var}; }, $obj, @@ -508,7 +507,7 @@ public static function setVar($obj, $var, &$val) } $var = (string) $var; } - \Closure::bind(function () use ($var, &$val) { + \Closure::bind(function () use($var, &$val) { $this->{$var} =& $val; }, $obj, \get_class($obj))->__invoke(); } @@ -575,7 +574,7 @@ public static function getCpuCount() $ret = @\shell_exec('nproc'); if (\is_string($ret)) { $ret = \trim($ret); - $tmp = \filter_var($ret, FILTER_VALIDATE_INT); + $tmp = \filter_var($ret, \FILTER_VALIDATE_INT); if (\is_int($tmp)) { $phabelReturn = $result = $tmp; if (!\is_int($phabelReturn)) { @@ -591,7 +590,7 @@ public static function getCpuCount() $ret = @\shell_exec('sysctl -n hw.ncpu'); if (\is_string($ret)) { $ret = \trim($ret); - $tmp = \filter_var($ret, FILTER_VALIDATE_INT); + $tmp = \filter_var($ret, \FILTER_VALIDATE_INT); if (\is_int($tmp)) { $phabelReturn = $result = $tmp; if (!\is_int($phabelReturn)) { diff --git a/src/Traverser.php b/src/Traverser.php index 654168754..4bc2c6411 100644 --- a/src/Traverser.php +++ b/src/Traverser.php @@ -2,26 +2,25 @@ namespace Phabel; -use Amp\Parallel\Worker\DefaultPool; -use Amp\Promise; +use Phabel\Amp\Parallel\Worker\DefaultPool; +use Phabel\Amp\Promise; use Phabel\Plugin\ClassStoragePlugin; use Phabel\PluginGraph\Graph; use Phabel\PluginGraph\ResolvedGraph; use Phabel\Tasks\Init; use Phabel\Tasks\Run; use Phabel\Tasks\Shutdown; -use PhpParser\Node; -use PhpParser\Parser; -use PhpParser\ParserFactory; -use PhpParser\PrettyPrinter\Standard; -use SebastianBergmann\CodeCoverage\CodeCoverage; -use SebastianBergmann\CodeCoverage\Driver\Selector; -use SebastianBergmann\CodeCoverage\Filter; -use SebastianBergmann\CodeCoverage\Report\PHP; +use Phabel\PhpParser\Node; +use Phabel\PhpParser\Parser; +use Phabel\PhpParser\ParserFactory; +use Phabel\PhpParser\PrettyPrinter\Standard; +use Phabel\SebastianBergmann\CodeCoverage\CodeCoverage; +use Phabel\SebastianBergmann\CodeCoverage\Driver\Selector; +use Phabel\SebastianBergmann\CodeCoverage\Filter; +use Phabel\SebastianBergmann\CodeCoverage\Report\PHP; use SplQueue; -use function Amp\call; -use function Amp\Promise\wait; - +use function Phabel\Amp\call; +use function Phabel\Amp\Promise\wait; /** * AST traverser. * @@ -109,7 +108,7 @@ class Traverser * * @return self */ - public static function fromPlugin(Plugin ...$plugin) + public static function fromPlugin(\Phabel\Plugin ...$plugin) { $queue = new SplQueue(); foreach ($plugin as $p) { @@ -132,7 +131,7 @@ public static function fromPlugin(Plugin ...$plugin) */ public function __construct($eventHandler = null) { - if (!($eventHandler instanceof EventHandlerInterface || \is_null($eventHandler))) { + if (!($eventHandler instanceof \Phabel\EventHandlerInterface || \is_null($eventHandler))) { throw new \TypeError(__METHOD__ . '(): Argument #1 ($eventHandler) must be of type ?EventHandlerInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($eventHandler) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } $this->parser = (new ParserFactory())->create(ParserFactory::PREFER_PHP7); @@ -319,7 +318,7 @@ public static function startCoverage($coveragePath) $filter->includeDirectory(\realpath(__DIR__ . '/../src')); $coverage = new CodeCoverage((new Selector())->forLineCoverage($filter), $filter); $coverage->start('phabel'); - $phabelReturn = new PhabelAnonymousClass063d10f883fe83b0c12eba721edc03b9cc7383d4550ab4363c290322abe45bb50($coverage, $coveragePath); + $phabelReturn = new \Phabel\PhabelAnonymousClass063d10f883fe83b0c12eba721edc03b9cc7383d4550ab4363c290322abe45bb50($coverage, $coveragePath); if (!(\is_object($phabelReturn) || \is_null($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type ?object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); } @@ -366,18 +365,18 @@ public function runAsyncPromise($threads = -1) $threads = (int) $threads; } if (!\interface_exists(Promise::class)) { - throw new Exception("amphp/parallel must be installed to parallelize transforms!"); + throw new \Phabel\Exception("amphp/parallel must be installed to parallelize transforms!"); } \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onStart(); if ($threads === -1) { - $threads = Tools::getCpuCount(); + $threads = \Phabel\Tools::getCpuCount(); } $coverages = []; - $phabelReturn = call(function () use (&$coverages, $threads) { + $phabelReturn = call(function () use(&$coverages, $threads) { $packages = []; $first = !$this->count++; if (!\file_exists($this->output)) { - \mkdir($this->output, 0777, true); + \mkdir($this->output, 0777, \true); } $output = \realpath($this->output); $count = 0; @@ -403,14 +402,14 @@ public function runAsyncPromise($threads = -1) if ($this->fileWhitelist && !isset($this->fileWhitelist[$rel])) { continue; } - $targetPath = $output . DIRECTORY_SEPARATOR . $rel; + $targetPath = $output . \DIRECTORY_SEPARATOR . $rel; if ($file->isDir()) { if (!\file_exists($targetPath)) { - \mkdir($targetPath, 0777, true); + \mkdir($targetPath, 0777, \true); } } elseif ($file->isFile()) { if ($file->getExtension() == 'php') { - $promise = call(function () use ($pool, $file, $rel, $targetPath, $count, $first, &$promises, &$coverages) { + $promise = call(function () use($pool, $file, $rel, $targetPath, $count, $first, &$promises, &$coverages) { \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onBeginAstTraversal($file->getRealPath()); $package = null; if ($this->composerPackageName) { @@ -421,7 +420,7 @@ public function runAsyncPromise($threads = -1) if ($this->coverage) { $coverages[] = "{$this->coverage}{$count}.php"; } - if ($res instanceof ExceptionWrapper) { + if ($res instanceof \Phabel\ExceptionWrapper) { $res = $res->getException(); if (!($first && \str_contains($res->getMessage(), ' while parsing '))) { throw $res; @@ -449,7 +448,7 @@ public function runAsyncPromise($threads = -1) /** @var ClassStoragePlugin|null */ $classStorage = null; for ($x = 0; $x < $threads; $x++) { - $promises[] = call(function () use ($pool, &$classStorage) { + $promises[] = call(function () use($pool, &$classStorage) { /** @var ClassStoragePlugin */ $newClassStorage = (yield $pool->enqueue(new Shutdown())); if (!$classStorage) { @@ -548,7 +547,7 @@ public function run($threads = 1) } // If error is suppressed with @, don't throw an exception if (\error_reporting() === 0) { - $phabelReturn = false; + $phabelReturn = \false; if (!\is_bool($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); @@ -557,12 +556,12 @@ public function run($threads = 1) } return $phabelReturn; } - throw new Exception($errstr, $errno, null, $errfile, $errline); + throw new \Phabel\Exception($errstr, $errno, null, $errfile, $errline); throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); }); $packages = []; \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onStart(); - while (true) { + while (\true) { $this->runInternal(); $packages += $this->graph->getPackages(); $classStorage = $this->graph->getClassStorage(); @@ -602,7 +601,7 @@ public function runInternal() return; } if (!\file_exists($this->output)) { - \mkdir($this->output, 0777, true); + \mkdir($this->output, 0777, \true); } $this->output = \realpath($this->output); $it = new \RecursiveDirectoryIterator($this->input, \RecursiveDirectoryIterator::SKIP_DOTS); @@ -616,10 +615,10 @@ public function runInternal() if ($this->fileWhitelist && !isset($this->fileWhitelist[$rel])) { continue; } - $targetPath = $this->output . DIRECTORY_SEPARATOR . $rel; + $targetPath = $this->output . \DIRECTORY_SEPARATOR . $rel; if ($file->isDir()) { if (!\file_exists($targetPath)) { - \mkdir($targetPath, 0777, true); + \mkdir($targetPath, 0777, \true); } } elseif ($file->isFile()) { if ($file->getExtension() == 'php') { @@ -633,7 +632,7 @@ public function runInternal() try { $it = $this->traverse($rel, $file->getRealPath(), $targetPath); } catch (\Exception $e) { - if (!($first && $e instanceof Exception && \str_contains($e->getMessage(), ' while parsing '))) { + if (!($first && $e instanceof \Phabel\Exception && \str_contains($e->getMessage(), ' while parsing '))) { throw $e; } if (\realpath($targetPath) !== $file->getRealPath()) { @@ -641,7 +640,7 @@ public function runInternal() } \Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->eventHandler) ? $this->eventHandler : \Phabel\Target\Php80\NullSafe\NullSafe::$singleton)->onEndAstTraversal($file->getRealPath(), $e); } catch (\Error $e) { - if (!($first && $e instanceof Exception && \str_contains($e->getMessage(), ' while parsing '))) { + if (!($first && $e instanceof \Phabel\Exception && \str_contains($e->getMessage(), ' while parsing '))) { throw $e; } if (\realpath($targetPath) !== $file->getRealPath()) { @@ -760,17 +759,17 @@ public function traverse($file, $input, $output) return $phabelReturn; } try { - $ast = new RootNode(null !== ($phabel_6f5fa46f697baa56 = $this->parser->parse(\file_get_contents($input))) ? $phabel_6f5fa46f697baa56 : []); + $ast = new \Phabel\RootNode(null !== ($phabel_6f5fa46f697baa56 = $this->parser->parse(\file_get_contents($input))) ? $phabel_6f5fa46f697baa56 : []); } catch (\Exception $e) { $message = $e->getMessage(); $message .= " while parsing "; $message .= $input; - throw new Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); + throw new \Phabel\Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); } catch (\Error $e) { $message = $e->getMessage(); $message .= " while parsing "; $message .= $input; - throw new Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); + throw new \Phabel\Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); } $this->file = $file; $this->inputFile = $input; @@ -798,7 +797,7 @@ public function traverse($file, $input, $output) * * @return int */ - public function traverseAst(Node &$node, SplQueue $pluginQueue = null, $allowMulti = true) + public function traverseAst(Node &$node, SplQueue $pluginQueue = null, $allowMulti = \true) { if (!\is_bool($allowMulti)) { if (!(\is_bool($allowMulti) || \is_numeric($allowMulti) || \is_string($allowMulti))) { @@ -809,7 +808,7 @@ public function traverseAst(Node &$node, SplQueue $pluginQueue = null, $allowMul $this->file = ''; $this->inputFile = ''; $this->outputFile = ''; - $n = new RootNode([&$node]); + $n = new \Phabel\RootNode([&$node]); $phabelReturn = null !== ($phabel_99db884988fa8271 = $this->traverseAstInternal($n, $pluginQueue, $allowMulti)) && isset($phabel_99db884988fa8271[0]) ? $phabel_99db884988fa8271[0] : 0; if (!\is_int($phabelReturn)) { if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { @@ -834,7 +833,7 @@ public function traverseAst(Node &$node, SplQueue $pluginQueue = null, $allowMul * @return array{0: int, 1: string}|null * @psalm-return (T is true ? array{0: int, 1: string} : null) */ - private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = null, $allowMulti = true) + private function traverseAstInternal(\Phabel\RootNode &$node, SplQueue $pluginQueue = null, $allowMulti = \true) { if (!\is_bool($allowMulti)) { if (!(\is_bool($allowMulti) || \is_numeric($allowMulti) || \is_string($allowMulti))) { @@ -848,7 +847,7 @@ private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = nu $context = null; try { foreach (isset($pluginQueue) ? $pluginQueue : (isset($this->packageQueue) ? $this->packageQueue : $this->graph->getPlugins()) as $queue) { - $context = new Context(); + $context = new \Phabel\Context(); $context->setFile($this->file); $context->setInputFile($this->inputFile); $context->setOutputFile($this->outputFile); @@ -875,7 +874,7 @@ private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = nu } catch (\Error $e) { $message .= "-1"; } - throw new Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); + throw new \Phabel\Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); } catch (\Error $e) { $message = $e->getMessage(); $message .= " while processing "; @@ -888,7 +887,7 @@ private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = nu } catch (\Error $e) { $message .= "-1"; } - throw new Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); + throw new \Phabel\Exception($message, (int) $e->getCode(), $e, $e->getFile(), $e->getLine()); } $oldResult = $result; $result = $this->printer->prettyPrintFile($node->stmts); @@ -909,11 +908,11 @@ private function traverseAstInternal(RootNode &$node, SplQueue $pluginQueue = nu * * @return void */ - private function traverseNode(Node &$node, SplQueue $plugins, Context $context) + private function traverseNode(Node &$node, SplQueue $plugins, \Phabel\Context $context) { $context->pushResolve($node); foreach ($plugins as $plugin) { - foreach (PluginCache::enterMethods(\get_class($plugin)) as $type => $methods) { + foreach (\Phabel\PluginCache::enterMethods(\get_class($plugin)) as $type => $methods) { if (!\Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($node, $type)) { continue; } @@ -958,7 +957,7 @@ private function traverseNode(Node &$node, SplQueue $plugins, Context $context) } $context->pop(); foreach ($plugins as $plugin) { - foreach (PluginCache::leaveMethods(\get_class($plugin)) as $type => $methods) { + foreach (\Phabel\PluginCache::leaveMethods(\get_class($plugin)) as $type => $methods) { if (!\Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($node, $type)) { continue; } @@ -983,7 +982,7 @@ public function __destruct() } } } -if (!\class_exists(PhabelAnonymousClass063d10f883fe83b0c12eba721edc03b9cc7383d4550ab4363c290322abe45bb50::class)) { +if (!\class_exists(\Phabel\PhabelAnonymousClass063d10f883fe83b0c12eba721edc03b9cc7383d4550ab4363c290322abe45bb50::class)) { class PhabelAnonymousClass063d10f883fe83b0c12eba721edc03b9cc7383d4550ab4363c290322abe45bb50 implements \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface { private $coveragePath; diff --git a/src/VariableContext.php b/src/VariableContext.php index b3444238b..d3370c9cb 100644 --- a/src/VariableContext.php +++ b/src/VariableContext.php @@ -40,7 +40,7 @@ public function addVar($var) } $var = (string) $var; } - $this->variables[$var] = true; + $this->variables[$var] = \true; } /** * Add variables. @@ -103,7 +103,7 @@ public function getVar() do { $var = 'phabel_' . \bin2hex(\random_bytes(8)); } while (isset($this->variables[$var])); - $this->variables[$var] = true; + $this->variables[$var] = \true; $phabelReturn = $var; if (!\is_string($phabelReturn)) { if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { diff --git a/src/phabel.php b/src/phabel.php index 00c35d001..d204c3fc3 100644 --- a/src/phabel.php +++ b/src/phabel.php @@ -5,8 +5,7 @@ use Phabel\Cli\Formatter; use Phabel\Commands\Publish; use Phabel\Commands\Run; -use Symfony\Component\Console\Application; - +use Phabel\Symfony\Component\Console\Application; if (!\class_exists(Run::class)) { require __DIR__ . '/../vendor/autoload.php'; } diff --git a/tests/Target/GeneratorTypeHintReplacerTest.php b/tests/Target/GeneratorTypeHintReplacerTest.php new file mode 100644 index 000000000..f8a67a27f --- /dev/null +++ b/tests/Target/GeneratorTypeHintReplacerTest.php @@ -0,0 +1,28 @@ + + * @license MIT + */ +class GeneratorTypeHintReplacerTest extends TestCase +{ + public function test() + { + $gen = function (): \Generator { + yield 1; + yield 2; + yield 3; + }; + foreach ($gen() as $i => $num) { + $this->assertEquals($i+1, $num); + } + $gen = fn (): \Generator => yield 1; + foreach ($gen() as $i => $num) { + $this->assertEquals($i+1, $num); + } + } +} diff --git a/tests/Target/IssetExpressionFixerTest.php b/tests/Target/IssetExpressionFixerTest.php new file mode 100644 index 000000000..8c768235d --- /dev/null +++ b/tests/Target/IssetExpressionFixerTest.php @@ -0,0 +1,50 @@ + + * @license MIT + */ +class IssetExpressionFixerTest extends TestCase +{ + const A = true; + public static $a = true; + public static function a() + { + return true; + } + public function testExprThrow() + { + $this->expectExceptionMessage('lmao'); + isset($a[throw new \Exception('lmao')]); + } + public function testExprThrowSmore() + { + $this->expectExceptionMessage('lmao'); + isset(${throw new \Exception('lmao')}); + } + public function testArrayDimFetch() + { + $this->assertTrue(isset(['a' => true]['a'])); + $this->assertTrue(isset(($a = ['a' => true])['a'])); + $this->assertFalse(isset((new class extends \ArrayObject{})[(fn ($a) => $a)('a')])); + } + public function testStaticPropertyFetch() + { + $this->assertTrue(isset((clone $this)::${(string)clone new class { + public function __toString() + { + return 'a'; + } + }})); + } + public function testPropertyFetch() + { + $this->assertTrue(isset((clone new class { + public $a = true; + })->a)); + } +} diff --git a/tests/Target/NestedExpressionFixerTest.php b/tests/Target/NestedExpressionFixerTest.php new file mode 100644 index 000000000..d6fb7b334 --- /dev/null +++ b/tests/Target/NestedExpressionFixerTest.php @@ -0,0 +1,107 @@ + null)(new a); +(fn (a $a) => null)(clone new class extends a{}); + +/** + * @author Daniil Gentili + * @license MIT + */ +class NestedExpressionFixerTest extends TestCase +{ + const A = true; + public static $a = true; + public static function a() + { + return true; + } + public function testExprThrow() + { + $this->expectExceptionMessage('lmao'); + $a ?? throw new \Exception('lmao'); + } + public function testExprThrowSmore() + { + $this->expectDeprecationMessage('lmao'); + 1 + throw new \Exception('lmao'); + } + public function testClassInstanceof() + { + $this->assertTrue(new a instanceof (new a)); + $this->assertTrue($this instanceof (eval("return \$this;"))); + $this->assertTrue($this instanceof ($a = $this)); + //$this->assertTrue(new a instanceof ("\\PhabelTest\\Target\\a")); + } + public function testNew() + { + $this->assertTrue((new ($a = a::class)) instanceof (new a)); + } + public function testArrayDimFetch() + { + $this->assertTrue(['a' => true]['a']); + $this->assertTrue(($a = ['a' => true])['a']); + $this->assertTrue(($a = ['a' => true])[(fn ($a) => $a)('a')]); + } + public function testMethodCall() + { + $this->assertTrue((clone new class { + public function a() + { + return true; + } + })->{(clone new class { + public function a() + { + return 'a'; + } + })->a()}()); + } + public function testStaticCall() + { + $this->assertTrue((clone $this)::{(string)clone new class { + public function __toString() + { + return 'a'; + } + }}()); + } + public function testStaticPropertyFetch() + { + $this->assertTrue((clone $this)::${(string)clone new class { + public function __toString() + { + return 'a'; + } + }}); + } + public function testClassConstFetch() + { + $this->assertTrue((clone $this)::A); + } + public function testPropertyFetch() + { + $this->assertTrue((clone new class { + public $a = true; + })->a); + } + public function testFuncCall() + { + $this->assertTrue((fn () => true)()); + } + public function testByRef() + { + $a = 0; + $b = &(function &() use (&$a) { return $a; })(); + $b = 1; + $this->assertEquals($a, $b); + } +} diff --git a/tests/Target/Php70/AnonymousClassReplacerTest.php b/tests/Target/Php70/AnonymousClassReplacerTest.php new file mode 100644 index 000000000..3062e2ba9 --- /dev/null +++ b/tests/Target/Php70/AnonymousClassReplacerTest.php @@ -0,0 +1,69 @@ +data = $data; + new class{}; + } + public function getData(): string + { + return $this->data; + } + }); +} + +/** + * @author Daniil Gentili + * @license MIT + */ +class AnonymousClassReplacerTest extends TestCase +{ + /** + * Test anonymous classes. + */ + public function test() + { + $data = 'uwu'; + $data2 = (new class($data) { + private string $data; + public function __construct(string $data) + { + $this->data = $data; + new class{}; + } + public function getData(): string + { + return $this->data; + } + })->getData(); + + $this->assertEquals($data, $data2); + + $data3 = (fn () => ((new class($data) { + private string $data; + public function __construct(string $data) + { + $this->data = $data; + new class{}; + } + public function getData(): string + { + return $this->data; + } + public function testRef(AnonymousClassReplacerTest $ref) + { + } + })->getData()))(); + + $this->assertEquals($data, $data3); + + $this->assertEquals($data, $GLOBALS['anonClass']->getData()); + } +} diff --git a/tests/Target/Php70/ClosureCallReplacerTest.php b/tests/Target/Php70/ClosureCallReplacerTest.php new file mode 100644 index 000000000..d271bd9b8 --- /dev/null +++ b/tests/Target/Php70/ClosureCallReplacerTest.php @@ -0,0 +1,17 @@ + + * @license MIT + */ +class ClosureCallReplacerTest extends TestCase +{ + public function test() + { + $this->assertEquals('uwu', (fn (string $d): string => $d)('uwu')); + } +} diff --git a/tests/Target/Php70/DefineArrayReplacerTest.php b/tests/Target/Php70/DefineArrayReplacerTest.php new file mode 100644 index 000000000..5c8965c41 --- /dev/null +++ b/tests/Target/Php70/DefineArrayReplacerTest.php @@ -0,0 +1,20 @@ +assertEquals('uwu', PHABEL_ARRAY_TEST[0]); + } +} diff --git a/tests/Target/Php70/GroupUseReplacerTest.php b/tests/Target/Php70/GroupUseReplacerTest.php new file mode 100644 index 000000000..707e1588a --- /dev/null +++ b/tests/Target/Php70/GroupUseReplacerTest.php @@ -0,0 +1,22 @@ + + * @license MIT + */ +class GroupUseReplacerTest extends TestCase +{ + public function test() + { + $this->assertTrue(\class_exists(uwu::class)); + $this->assertTrue(\class_exists(GroupUse::class)); + $this->assertTrue(\class_exists(Use_::class)); + } +} diff --git a/tests/Target/Php70/NullCoalesceReplacerTest.php b/tests/Target/Php70/NullCoalesceReplacerTest.php new file mode 100644 index 000000000..3030c8ea2 --- /dev/null +++ b/tests/Target/Php70/NullCoalesceReplacerTest.php @@ -0,0 +1,64 @@ + + * @license MIT + */ +class NullCoalesceReplacerTest extends TestCase +{ + public function test() + { + $this->assertTrue(null ?? true); + $this->assertFalse(false ?? true); + $this->assertFalse(false ?? null); + + $this->assertTrue((fn () => null)() ?? true); + $this->assertFalse((fn () => false)() ?? true); + $this->assertFalse((fn () => false)() ?? null); + + $arr = ['a' => ['b' => new class { + public function __construct() + { + $this->c = new class implements \ArrayAccess { + public function __construct() + { + $this->d = ['e' => true, 'e2' => false]; + } + public function offsetExists($offset): bool + { + return false; + } + public function offsetGet($offset) + { + return 'uwu'; + } + public function offsetSet($offset, $val) + { + } + public function offsetUnset($offset) + { + } + }; + } + }]]; + + $this->assertTrue($arr['a']['b']->c->d['e'] ?? false); + $this->assertFalse($arr['a']['b']->c->d['e2'] ?? null); + $this->assertFalse($arr['a']['b']->c->d['e']['f'] ?? false); + + $this->assertEquals('test', $arr['a']['b']->c->pony ?? 'test'); + + $this->assertTrue((fn () => $arr)()['a']['b']->c->d['e'] ?? false); + $this->assertFalse((fn () => $arr)()['a']['b']->c->d['e2'] ?? null); + $this->assertFalse((fn () => $arr)()['a']['b']->c->d['e']['f'] ?? false); + + $this->assertEquals('test', (fn () => $arr)()['a']['b']->c->pony ?? 'test'); + + + $this->assertFalse($unexistant[(fn () => 'a')()] ?? false); + } +} diff --git a/tests/Target/Php70/ReservedNameReplacerTest.php b/tests/Target/Php70/ReservedNameReplacerTest.php new file mode 100644 index 000000000..bdc50cee1 --- /dev/null +++ b/tests/Target/Php70/ReservedNameReplacerTest.php @@ -0,0 +1,21 @@ + + * @license MIT + */ +class ReservedNameReplacerTest extends TestCase +{ + public function continue(string $data): string + { + return $data; + } + public function test() + { + $this->assertEquals('test', $this->continue('test')); + } +} diff --git a/tests/Target/Php70/SpaceshipOperatorReplacerTest.php b/tests/Target/Php70/SpaceshipOperatorReplacerTest.php new file mode 100644 index 000000000..2d8bfdeff --- /dev/null +++ b/tests/Target/Php70/SpaceshipOperatorReplacerTest.php @@ -0,0 +1,19 @@ +assertEquals(0, 123 <=> 123); + $this->assertEquals(-1, 122 <=> 123); + $this->assertEquals(-1, 123 <=> 124); + } +} diff --git a/tests/Target/Php70/StrictTypesDeclareStatementRemoverTest.php b/tests/Target/Php70/StrictTypesDeclareStatementRemoverTest.php new file mode 100644 index 000000000..a337741a8 --- /dev/null +++ b/tests/Target/Php70/StrictTypesDeclareStatementRemoverTest.php @@ -0,0 +1,18 @@ + + * @license MIT + */ +class StrictTypesDeclareStatementRemoverTest extends TestCase +{ + public function test() + { + $this->assertTrue(true); + } +} diff --git a/tests/Target/Php70/ThrowableReplacerTest.php b/tests/Target/Php70/ThrowableReplacerTest.php new file mode 100644 index 000000000..6bc87351b --- /dev/null +++ b/tests/Target/Php70/ThrowableReplacerTest.php @@ -0,0 +1,45 @@ +assertTrue($input instanceof \Throwable); + $this->assertTrue($input instanceof $input); + + $c1 = '\\Throwable'; + $c2 = \Throwable::class; + $this->assertTrue($input instanceof $c1); + $this->assertTrue($input instanceof $c2); + + + try { + throw $input; + } catch (\Throwable $e) { + $this->assertEquals($input, $e); + } + } + public function exceptionProvider(): array + { + return [ + [new \Exception], + [new \Error], + [new \RuntimeException], + ]; + } +} diff --git a/tests/Target/Php71/ArrayListTest.php b/tests/Target/Php71/ArrayListTest.php new file mode 100644 index 000000000..ea80f5188 --- /dev/null +++ b/tests/Target/Php71/ArrayListTest.php @@ -0,0 +1,29 @@ + 'pony']]], ['owo', ['owoVal', 'test', ['k' => 'pony2']]]]; + foreach ($input as $i => [$k, [$val1, $s, ['k' => $val2]]]) { + $this->assertEquals($input[$i][0], $k); + $this->assertEquals($input[$i][1][0], $val1); + $this->assertEquals($input[$i][1][1], $s); + $this->assertEquals($input[$i][1][2]['k'], $val2); + } + foreach ($input as $i => $v) { + [$k, [$val1,$s, ['k' => $val2]]] = $v; + $this->assertEquals($input[$i][0], $k); + $this->assertEquals($input[$i][1][0], $val1); + $this->assertEquals($input[$i][1][1], $s); + $this->assertEquals($input[$i][1][2]['k'], $val2); + } + } +} diff --git a/tests/Target/Php71/ClassConstantVisibilityModifiersRemoverTest.php b/tests/Target/Php71/ClassConstantVisibilityModifiersRemoverTest.php new file mode 100644 index 000000000..f8e2b6f30 --- /dev/null +++ b/tests/Target/Php71/ClassConstantVisibilityModifiersRemoverTest.php @@ -0,0 +1,45 @@ +assertEquals(self::A, 'owo'); + $this->assertEquals(self::B, 'uwu'); + $this->assertEquals(self::C, 'pony'); + + $class = new class extends ClassConstantVisibilityModifiersRemoverTest { + private const AA = 'owo1'; + protected const BB = 'uwu1'; + public const CC = 'pony1'; + public function return(): array + { + return [ + 'AA' => self::AA, + 'BB' => self::BB, + 'CC' => self::CC, + 'B' => parent::B, + 'C' => parent::C, + ]; + } + }; + + $ret = $class->return(); + + $this->assertEquals($ret['AA'], 'owo1'); + $this->assertEquals($ret['BB'], 'uwu1'); + $this->assertEquals($ret['CC'], 'pony1'); + $this->assertEquals($ret['B'], 'uwu'); + $this->assertEquals($ret['C'], 'pony'); + } +} diff --git a/tests/Target/Php71/ClosureFromCallableTest.php b/tests/Target/Php71/ClosureFromCallableTest.php new file mode 100644 index 000000000..7102973da --- /dev/null +++ b/tests/Target/Php71/ClosureFromCallableTest.php @@ -0,0 +1,51 @@ +assertEquals('a', $this->retPrivate('a')); + $this->assertEquals('b', $this->retProtected('b')); + $this->assertEquals('c', $this->retPublic('c')); + + $this->assertEquals('a', Closure::fromCallable([$this, 'retPrivate'])('a')); + $this->assertEquals('b', Closure::fromCallable([$this, 'retProtected'])('b')); + $this->assertEquals('c', Closure::fromCallable([$this, 'retPublic'])('c')); + + $this->assertEquals('a', Closure::fromCallable(returnMe::class)('a')); + $this->assertEquals('a', Closure::fromCallable(fn ($a) => $a)('a')); + $this->assertEquals('a', Closure::fromCallable(new class { public function __invoke($a) { return $a; }})('a')); + + $name = 'fromcallable'; + $this->assertEquals('a', Closure::{$name}([$this, 'retPrivate'])('a')); + $this->assertEquals('b', Closure::{$name}([$this, 'retProtected'])('b')); + $this->assertEquals('c', Closure::{$name}([$this, 'retPublic'])('c')); + + $name = 'bind'; + $this->assertEquals($this, Closure::{$name}($this->getStatic(), $this)()); + } + public static function getStatic(): Closure { + return Closure::fromCallable(fn () => $this); + } +} diff --git a/tests/Target/Php71/ListExpressionTest.php b/tests/Target/Php71/ListExpressionTest.php new file mode 100644 index 000000000..2396cc909 --- /dev/null +++ b/tests/Target/Php71/ListExpressionTest.php @@ -0,0 +1,41 @@ + 'bb', 'c' => ['d', 'e']]]; + $this->assertEquals($arr, [$a, [$bK => $b, $cK => [$d, $e]]] = $arr); + $this->assertEquals('a', $a); + $this->assertEquals('bb', $b); + $this->assertEquals('d', $d); + $this->assertEquals('e', $e); + + [$a, $b] = [$a, $b]; + } + public function testEmpty() + { + $arr = ['a', 'b', 'c', 'd']; + $this->assertEquals($arr, [$a, $b, , $d] = $arr); + $this->assertEquals('a', $a); + $this->assertEquals('b', $b); + $this->assertEquals('d', $d); + + $this->assertEquals($arr, [$a, $b, , &$d] = $arr); + $this->assertEquals('a', $a); + $this->assertEquals('b', $b); + $this->assertEquals('d', $d); + + $d = 'pony'; + $this->assertEquals('pony', $arr[3]); + } +} diff --git a/tests/Target/Php71/ListKeyTest.php b/tests/Target/Php71/ListKeyTest.php new file mode 100644 index 000000000..0e05caab5 --- /dev/null +++ b/tests/Target/Php71/ListKeyTest.php @@ -0,0 +1,42 @@ + 'bb', 'c' => ['d', 'e']]]; + $this->assertEquals($arr, [$a, ['b' => $b, 'c' => [$d, $e]]] = $arr); + $this->assertEquals('a', $a); + $this->assertEquals('bb', $b); + $this->assertEquals('d', $d); + $this->assertEquals('e', $e); + + $input = [['uwu', ['uwuVal', 'a', ['k' => 'pony']]], ['owo', ['owoVal', 'test', ['k' => 'pony2']]]]; + foreach ($input as $i => [$k, [$val1, $s, ['k' => $val2]]]) { + $this->assertEquals($input[$i][0], $k); + $this->assertEquals($input[$i][1][0], $val1); + $this->assertEquals($input[$i][1][1], $s); + $this->assertEquals($input[$i][1][2]['k'], $val2); + } + foreach ($input as $i => $v) { + [$k, [$val1,$s, ['k' => $val2]]] = $v; + $this->assertEquals($input[$i][0], $k); + $this->assertEquals($input[$i][1][0], $val1); + $this->assertEquals($input[$i][1][1], $s); + $this->assertEquals($input[$i][1][2]['k'], $val2); + } + } + public function testOrder() + { + ['a' => $key, $key => $uwu] = ['a' => 'b', 'b' => 'kek']; + $this->assertEquals('b', $key); + $this->assertEquals('kek', $uwu); + } +} diff --git a/tests/Target/Php71/MultipleCatchReplacerTest.php b/tests/Target/Php71/MultipleCatchReplacerTest.php new file mode 100644 index 000000000..94c81f9d7 --- /dev/null +++ b/tests/Target/Php71/MultipleCatchReplacerTest.php @@ -0,0 +1,35 @@ +assertEquals($input, $e); + } + } + public function exceptionProvider(): array + { + return [ + [new \Exception], + [new \Error], + [new \RuntimeException], + ]; + } +} diff --git a/tests/Target/Php72/Contravariance/Abstr.php b/tests/Target/Php72/Contravariance/Abstr.php new file mode 100644 index 000000000..7d4ce2ec0 --- /dev/null +++ b/tests/Target/Php72/Contravariance/Abstr.php @@ -0,0 +1,12 @@ +assertEquals('test', $obj->testCanRestrict1()); + $this->assertEquals(0, $obj->testCanRestrict2()); + + $this->assertEquals('test', $obj->testCanWiden1('test')); + $this->assertEquals(0.1, $obj->testCanWiden2(0.1)); + $this->assertEquals($obj, $obj->testCanWiden2($obj)); + + $this->assertInstanceOf(OtherCls1::class, new OtherCls1); + $this->assertInstanceOf(OtherCls1::class, OtherCls1::get()); + $this->assertInstanceOf(OtherCls2::class, OtherCls2::get()); + $this->assertInstanceOf(OtherCls3::class, OtherCls3::get()); + + $this->assertInstanceOf(OtherClsNative::class, OtherClsNative::get()); + } +} diff --git a/tests/Target/Php73/ListReferenceTest.php b/tests/Target/Php73/ListReferenceTest.php new file mode 100644 index 000000000..3c17ccdf3 --- /dev/null +++ b/tests/Target/Php73/ListReferenceTest.php @@ -0,0 +1,49 @@ + 'pony']]]], + ['owo', [['owoVal', 'test', ['k' => 'pony2']]]] + ]; + $inputOrig = $input; + foreach ($input as $i => [$k, [[&$val1, &$s, [$kK => &$val2]]]]) { + $s = "m$s"; + $val1 = "m$val1"; + $val2 = "m$val2"; + } + unset($k, $val1, $s, $val2); + foreach ($input as $i => [$k, [[$val1, $s, [$kK => $val2]]]]) { + $this->assertEquals($inputOrig[$i][0], $k); + $this->assertEquals("m".$inputOrig[$i][1][0][0], $val1); + $this->assertEquals("m".$inputOrig[$i][1][0][1], $s); + $this->assertEquals("m".$inputOrig[$i][1][0][2]['k'], $val2); + } + + foreach ($input as $i => &$v) { + [$k, [[&$val1, &$s, [$kK => &$val2]]]] = $v; + $s = "p$s"; + $val1 = "p$val1"; + $val2 = "p$val2"; + } + unset($k, $val1, $s, $val2, $v); + + foreach ($input as $i => $v) { + [$k, [[$val1,$s, [$kK => $val2]]]] = $v; + $this->assertEquals($inputOrig[$i][0], $k); + $this->assertEquals("pm".$inputOrig[$i][1][0][0], $val1); + $this->assertEquals("pm".$inputOrig[$i][1][0][1], $s); + $this->assertEquals("pm".$inputOrig[$i][1][0][2]['k'], $val2); + } + } +} diff --git a/tests/Target/Php74/ArrayUnpackTest.php b/tests/Target/Php74/ArrayUnpackTest.php new file mode 100644 index 000000000..2d28117e0 --- /dev/null +++ b/tests/Target/Php74/ArrayUnpackTest.php @@ -0,0 +1,19 @@ + + * @license MIT + */ +class ArrayUnpackTest extends TestCase +{ + public function test() + { + $b = ['bb']; + $this->assertEquals(['a' => 'aa', 'bb', 'c' => 'cc'], ['a' => 'aa', ...$b, 'c' => 'cc']); + $this->assertEquals(['a' => 'aa', 'bb', 'c' => 'cc'], ['a' => 'aa', ...(fn () => $b)(), 'c' => 'cc']); + } +} diff --git a/tests/Target/Php74/ArrowClosureTest.php b/tests/Target/Php74/ArrowClosureTest.php new file mode 100644 index 000000000..1f283db71 --- /dev/null +++ b/tests/Target/Php74/ArrowClosureTest.php @@ -0,0 +1,27 @@ +assertTrue((fn () => true)()); + $this->assertTrue((fn ($data) => $data)(true)); + $this->assertTrue((fn () => $r)()); + + $this->assertFalse((fn () => $r = false)()); + $this->assertTrue((fn () => $r)()); + + $this->assertEquals($this, (fn () => $this)()); + $this->assertFalse((static fn (): bool => isset($this))()); + } +} diff --git a/tests/Target/Php74/CoContraVariance/Animal.php b/tests/Target/Php74/CoContraVariance/Animal.php new file mode 100644 index 000000000..e69de29bb diff --git a/tests/Target/Php74/CoContraVariance/AnimalFood.php b/tests/Target/Php74/CoContraVariance/AnimalFood.php new file mode 100644 index 000000000..e69de29bb diff --git a/tests/Target/Php74/CoContraVariance/AnimalShelterInterface.php b/tests/Target/Php74/CoContraVariance/AnimalShelterInterface.php new file mode 100644 index 000000000..e69de29bb diff --git a/tests/Target/Php74/CoContraVariance/Cat.php b/tests/Target/Php74/CoContraVariance/Cat.php new file mode 100644 index 000000000..e69de29bb diff --git a/tests/Target/Php74/CoContraVariance/CatShelter.php b/tests/Target/Php74/CoContraVariance/CatShelter.php new file mode 100644 index 000000000..e69de29bb diff --git a/tests/Target/Php74/CoContraVariance/Dog.php b/tests/Target/Php74/CoContraVariance/Dog.php new file mode 100644 index 000000000..e69de29bb diff --git a/tests/Target/Php74/CoContraVariance/DogShelter.php b/tests/Target/Php74/CoContraVariance/DogShelter.php new file mode 100644 index 000000000..e69de29bb diff --git a/tests/Target/Php74/CoContraVariance/Food.php b/tests/Target/Php74/CoContraVariance/Food.php new file mode 100644 index 000000000..eba0c76eb --- /dev/null +++ b/tests/Target/Php74/CoContraVariance/Food.php @@ -0,0 +1,59 @@ +name = $name; + } + + + public function eat(AnimalFood $food): string + { + return $this->name . " eats " . get_class($food); + } +} + +class Dog extends Animal +{ + + public function eat(Food $food): string + { + return $this->name . " eats " . get_class($food); + } +} + +class Cat extends Animal +{ +} + +interface AnimalShelter +{ + public function adopt(string $name): Animal; +} + +class CatShelter implements AnimalShelter +{ + public function adopt(string $name): Cat // instead of returning class type Animal, it can return class type Cat + { + return new Cat($name); + } +} + +class DogShelter implements AnimalShelter +{ + public function adopt(string $name): Dog // instead of returning class type Animal, it can return class type Dog + { + return new Dog($name); + } +} \ No newline at end of file diff --git a/tests/Target/Php74/CoContraVarianceTest.php b/tests/Target/Php74/CoContraVarianceTest.php new file mode 100644 index 000000000..e69de29bb diff --git a/tests/Target/Php74/NullCoalesceAssignmentTest.php b/tests/Target/Php74/NullCoalesceAssignmentTest.php new file mode 100644 index 000000000..2804aa3eb --- /dev/null +++ b/tests/Target/Php74/NullCoalesceAssignmentTest.php @@ -0,0 +1,25 @@ + + * @license MIT + */ +class NullCoalesceAssignmentTest extends TestCase +{ + public function test() + { + $b = null; + $c = ['a' => []]; + + $a ??= 'lmao'; + $b ??= 'lmao'; + $c['a']['b'] ??= 'lmao'; + $this->assertEquals('lmao', $a); + $this->assertEquals('lmao', $b); + $this->assertEquals('lmao', $c['a']['b']); + } +} diff --git a/tests/Target/Php74/TypedPropertyTest.php b/tests/Target/Php74/TypedPropertyTest.php new file mode 100644 index 000000000..ed7a0f71b --- /dev/null +++ b/tests/Target/Php74/TypedPropertyTest.php @@ -0,0 +1,17 @@ +assertEquals(0, $this->test); + } +} diff --git a/tests/Target/Php80/MatchTransformerTest.php b/tests/Target/Php80/MatchTransformerTest.php new file mode 100644 index 000000000..1f4356597 --- /dev/null +++ b/tests/Target/Php80/MatchTransformerTest.php @@ -0,0 +1,47 @@ + + * @license MIT + */ +class MatchTransformerTest extends TestCase +{ + public function test() + { + $this->assertTrue(true, match (false) { + false => true, + true => false, + default => 'uwu', + }); + $this->assertEquals('uwu', match (0) { + false => true, + true => false, + default => 'uwu', + }); + $this->assertTrue(true, match (false) { + true => false, + default => true, + }); + $this->assertTrue(true, match (false) { + default => true, + }); + } + + public function testThrow1() + { + $this->expectExceptionMessage('Unhandled match value of type int'); + match (0) {}; + } + public function testThrow2() + { + $this->expectExceptionMessage('Unhandled match value of type int'); + match (0) { + true => true, + false => false + }; + } +} diff --git a/tests/Target/Php80/NullSafeTransformerTest.php b/tests/Target/Php80/NullSafeTransformerTest.php new file mode 100644 index 000000000..609e5fb9f --- /dev/null +++ b/tests/Target/Php80/NullSafeTransformerTest.php @@ -0,0 +1,21 @@ + + * @license MIT + */ +class NullSafeTransformerTest extends TestCase +{ + public function test() + { + $this->assertTrue((new class { public $a = true; })?->a); + $this->assertTrue((new class { public function a() { return true; }})?->a()); + $a = fn () => null; + $this->assertNull($a()?->a); + $this->assertNull($a()?->a()); + } +} diff --git a/tests/Target/StringConcatOptimizerTest.php b/tests/Target/StringConcatOptimizerTest.php new file mode 100644 index 000000000..364fdff0c --- /dev/null +++ b/tests/Target/StringConcatOptimizerTest.php @@ -0,0 +1,19 @@ + + * @license MIT + */ +class StringConcatOptimizerTest extends TestCase +{ + public function test() + { + $this->assertEquals('abcd', 'a'.'b'.'c'.'d'); + $this->assertEquals('abcd', 'a'.(('b'.'c').'d')); + $this->assertEquals('abcd', 'a'.(('b'.(fn () => 'c')()).'d')); + } +} diff --git a/tests/Target/TypeHintTest.php b/tests/Target/TypeHintTest.php new file mode 100644 index 000000000..a4503e192 --- /dev/null +++ b/tests/Target/TypeHintTest.php @@ -0,0 +1,40 @@ + + * @license MIT + */ +class TypeHintTest extends TestCase +{ + public function test() + { + $this->assertEquals(0, $this->variadic(0)); + $this->assertEquals(0, $this->nullish(0)); + $this->assertEquals(0, $this->nullish2(0)); + $this->assertEquals(null, $this->nullish(null)); + $this->assertEquals(0, $this->nullish2(0)); + $this->assertEquals(null, $this->nullish2(null)); + } + + public function variadic(int ...$test): int + { + return $test[0]; + } + public function nullish(int $test = null): ?int { + return $test; + } + public function nullish2(int $test = \null): ?int { + return $test; + } + public function voidPony(): void + { + } + + public function generatorPony(): \Generator + { + } +} diff --git a/testsGenerated/Target/Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test.php b/testsGenerated/Target/Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test.php new file mode 100644 index 000000000..51c198fe1 --- /dev/null +++ b/testsGenerated/Target/Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression01dd7ddbe4ec95fc263d7e7cf028ded8697d87f3e279a0e40be7b8c518211e16Test extends TestCase +{ + function test001cdb201a2ed99124dfbdbe58237d9179e33b2e1935f2706b7940aff29bda8f() + { + $this->assertTrue(true); + fn() => ($test / ($test **= $test)); + } + function test08378d1067f6c33d9e2cbd516c94abfb902d25dc0ccc7db11459ee26af464d3c() + { + $this->assertTrue(true); + fn() => ($test / ($test ? $test : $test)); + } + function test0bb2173ed4ac69ce2d22cdaa557c8a0920d6dfb2e2f6a5ef9f4074309f148d0e() + { + $this->assertTrue(true); + fn() => ($test / ($test |= $test)); + } + function test0d07b8e48471b80e9e7f0e7d9503594f09d0dfc4656530d4a349185910ea8a60() + { + $this->assertTrue(true); + fn() => ($test::$test == $test); + } + function test0e77e76ec652020245673a50ed3a65aa083e47ddfdbe21662b63f683171908c7() + { + $this->assertTrue(true); + fn() => ($test / ($test > $test)); + } + function test0f3f6d9e943fa66af6f4e4adc2319591fe05b68888832c6283d0a762d7c9da80() + { + $this->assertTrue(true); + fn() => ($test++ == $test); + } + function test0fe11d44f532850e03a1f55868957c5f19ca83bc9a6688e21da70353c6b2ff4b() + { + $this->assertTrue(true); + fn() => (empty($test) == $test); + } + function test103d01bd69236b96645e2a059e9f2f9769011a872ce0046c3bc7e381301d54df() + { + $this->assertTrue(true); + fn() => (( $test) == $test); + } + function test14427582efde80ba1ddcd0481271af056042ad32f335fc15a445b751fb6eba07() + { + $this->assertTrue(true); + fn() => ($test instanceof $test == $test); + } + function test149b275ce5c631a95fcb5fa2a7086255afd1429b9f42d90ac373c45218a1d847() + { + $this->assertTrue(true); + fn() => ($test / ($test - $test)); + } + function test149dc3c8be8ecb337f2ecbbf5db7f807380388cf44fb407eb7cff9f9f2ecb0cd() + { + $this->assertTrue(true); + fn() => ($test / __CLASS__); + } + function test14d7a9c53e94d8869f01972be6cf4f97d109f08eaf7506e9c6ab1790aaa4b00e() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() == $test); + } + function test1539735d77b343ec95fea27dc13d7d14327d3f2271f4c2665afa45a8c1d48f8e() + { + $this->assertTrue(true); + fn() => ($test() == $test); + } + function test1575d99f51ced2676f95d9aa77f5a70722b6ea32f9098b3547cf7655e6d8738f() + { + $this->assertTrue(true); + fn() => (@$test == $test); + } + function test1612d27d67a3a1982b5a921ded6ba357d6d26183acf54dae193387d3a4861a81() + { + $this->assertTrue(true); + fn() => ((print $test) == $test); + } + function test17138494444529d9cb0564479f8985e84e104916fd4e73d5aa9f583ca5f7724e() + { + $this->assertTrue(true); + fn() => ($test / ($test ^ $test)); + } + function test17b6914d9977cb3935aeff3375dfd1bfed50ad1ed5019949c983625f3e2c726a() + { + $this->assertTrue(true); + fn() => ($test == $test); + } + function test181d6462cabb8729dd001df4fb20b88f7af6c64328d7800e83764108cea6c87b() + { + $this->assertTrue(true); + fn() => (match ($test) { + } == $test); + } + function test197a927f43d62271c8a48f14f95ab48402c4a78b8fa85501545afee1f13d5810() + { + $this->assertTrue(true); + fn() => ($test / (string) $test); + } + function test1ddae498a3040abda95d9b932985d8c6bb7cc9661eec96c20dc601d2e641cf3b() + { + $this->assertTrue(true); + fn() => ($test / (object) $test); + } + function test1ea861dde96cb9dafb3d823ffc74851b773df5459116a28bb0007da7e238af64() + { + $this->assertTrue(true); + fn() => ($test / ($test << $test)); + } + function test1f325097099643d6b0d03a35cb14c72a4ddb3f503d0d63794c5f353d29b3f648() + { + $this->assertTrue(true); + fn() => (new $test() == $test); + } + function test22f93a3ac8d590c8a75e1ee2ccbe9aea232cffe028c0924a7fe11751707260be() + { + $this->assertTrue(true); + fn() => ($test / ($test >>= $test)); + } + function test235e334b2fa046df26df47a0ba912cedda4596ae47456fc2bf22bb9d7cfe2c7b() + { + $this->assertTrue(true); + fn() => (function () { + } == $test); + } + function test23a99a71b86fe822645f27afe345d298c8fbcda2daa1cac3ab2e133703b327aa() + { + $this->assertTrue(true); + fn() => ($test / ($test >= $test)); + } + function test26cb278837012e95cc3a6d81b2f3aab79e67d9fd527482f42516c1d5677064b0() + { + $this->assertTrue(true); + fn() => ($test::$test() == $test); + } + function test2ae2f957857e774e83ac29f571c7ad46fd61236b07479978f1c64862f6fbb363() + { + $this->assertTrue(true); + fn() => ($test / ($test -= $test)); + } + function test2c79c3622407f6cbb4d9ee659fe863a7252f3c1c01f183e97faedca4c22f37e8() + { + $this->assertTrue(true); + fn() => ($test / ($test <= $test)); + } + function test3227057f652c51554770c64ee2f798661aa48c1515a76652479a894c981f0bdc() + { + $this->assertTrue(true); + fn() => ($test / ($test % $test)); + } + function test32d3e0f634a864648b0525edb5c9dc39bdf3c0abaa38c5b93975b678847dfb81() + { + $this->assertTrue(true); + fn() => ($test / ($test == $test)); + } + function test34434dc15115507d87dc8381ad30686db5ccdc954a5faed3e69245766a07a753() + { + $this->assertTrue(true); + fn() => ($test / $test ** $test); + } + function test34bcfe291c5385a607da0a261ff25686e2282475e2495ebeefe13f78c809b29e() + { + $this->assertTrue(true); + fn() => ($test / ($test *= $test)); + } + function test363b9eab2f0afb2aa835529421ab7605ffc4153d3387a72c55342c4935d1765e() + { + $this->assertTrue(true); + fn() => ($test / ($test < $test)); + } + function test3bf0c7ee8f3162656da3904b6748ee9b046bbab212c94182433e5cb2c2193813() + { + $this->assertTrue(true); + fn() => (eval($test) == $test); + } + function test3ca47f731031db1f03b0051e08f93b270c7dbe3a8a58b2ab3f981b4e9f429f21() + { + $this->assertTrue(true); + fn() => ($test / ($test === $test)); + } + function test3fb2952adf15e83cfaa8d5696afcf12b1aeae1d49549beb7a942df746ff74cd2() + { + $this->assertTrue(true); + fn() => ($test / __LINE__); + } + function test44b05d19db0302773d6a3a6a14f05944d557c3567f4e13e497576a770817c335() + { + $this->assertTrue(true); + fn() => ($test / ($test || $test)); + } + function test45c2402bfb70b59e1ef9e1ce275f2303a73892be35f766a21e09c116d6cca88b() + { + $this->assertTrue(true); + fn() => ($test / ($test + $test)); + } + function test45f7bfb085de169e642c3a545624ca54f8142548559303142c80964298e6d378() + { + $this->assertTrue(true); + fn() => ($test / ($test and $test)); + } + function test4a653406c59da051f904b99e0ebafd8c6d589ea354180c9ff478aaec050fcd6b() + { + $this->assertTrue(true); + fn() => ($test / (bool) $test); + } + function test4d74d7f3743988719a710c8ba8a6ef73e220de87abfdb0a4c0e3f8fa9c32f2e5() + { + $this->assertTrue(true); + fn() => ($test / ($test xor $test)); + } + function test50bdb72f5d357e26fee13eaf703d4debdf60fe05e992b8baa8312b9d159dc3d5() + { + $this->assertTrue(true); + fn() => (clone $test == $test); + } + function test5467e58532f2e832071d19d83537cac57d1026329e28accee26b4c50c57bda5e() + { + $this->assertTrue(true); + fn() => ($test / (yield $test => $test)); + } + function test547a938dec119bb3a9516b6425be90b3b44d785a89fee7f4c00366cb6995802b() + { + $this->assertTrue(true); + fn() => ($test / ($test <=> $test)); + } + function test59680f00cf1973a9b471601448047270c4efdfa6f90dba2114d58690a0753905() + { + $this->assertTrue(true); + fn() => ($test-- == $test); + } + function test68e4e6b88a4bef015d0101a7b9096068334e75729ee1af2999b844b0846055c2() + { + $this->assertTrue(true); + fn() => ($test / 0.0); + } + function test7032f93fa81d9a40f72b2c687318bb9589d447f37e13f0ba4b8dc07fa86e2251() + { + $this->assertTrue(true); + fn() => ($test / __FUNCTION__); + } + function test703db7a7eb77ae50d1b0deeb5522dd2a264bd28ad1724b59c04ced4e1aef6388() + { + $this->assertTrue(true); + fn() => ($test / ($test ??= $test)); + } + function test72f16717181b3fe20afd7c0bbb4011aaef007bbf75ca403a8e1b98d1641aee01() + { + $this->assertTrue(true); + fn() => ($test::${$test} == $test); + } + function test7490765811646cd917780d01a9f95d258aa2b41c1283c873c93b4670e48b95ce() + { + $this->assertTrue(true); + fn() => ($test->{$test} == $test); + } + function test76815e9dd0a2a53381f1c592a02f1e616baa4c7a740cd1e4d783d4016d8780f3() + { + $this->assertTrue(true); + fn() => ($test[$test] == $test); + } + function test7a969bcdc2e2b83820cf0cf3781f14977c70b9a4ab012c00ae10f967e1c2908a() + { + $this->assertTrue(true); + fn() => ($test / (int) $test); + } + function test7b1fe00eb2dedbae4b27937752cec400fa6b7e1eb21af7b2a34b85f09dbcfbd6() + { + $this->assertTrue(true); + fn() => ($test / ($test ?? $test)); + } + function test8095934947a56d58e1c494cde6182c1c798f91f040ad81c0d08cb28c58be3039() + { + $this->assertTrue(true); + fn() => ($test / $test::$test()); + } + function test82db236f2db0fa6a7b129c340c8273a2dffa453bdae9d026feffc66b36ef5f34() + { + $this->assertTrue(true); + fn() => ($test / __NAMESPACE__); + } + function test881a2ba97095065c45a1eb976e28438f4c3afb2b86ca5ece816c0a792981cdd5() + { + $this->assertTrue(true); + fn() => (++$test == $test); + } + function test8934e23df9604d3a3f83a3fbe35daf89d8a1c3a583862b91228e8ff3c234bb05() + { + $this->assertTrue(true); + fn() => ($test->{$test}() == $test); + } + function test8dbabc3cb79de0cd11731519429282285bc0292f9899d7e558590f44338b6a75() + { + $this->assertTrue(true); + fn() => ($test?->{$test} == $test); + } + function test8e67ef21ce57c527c19454fbbea168d4b40d6a27435250a5761475ba9a5baf9e() + { + $this->assertTrue(true); + fn() => ($test / "{$test}"); + } + function test90b36dcae070b26166fb1b167892e374de24c14cea54555a21e324d90041a5dd() + { + $this->assertTrue(true); + fn() => ($test / ($test !== $test)); + } + function test93bea7f57c066284e198538535ba974d25e8872b427ab10fa683acdb6ffec03a() + { + $this->assertTrue(true); + fn() => ($test / 0); + } + function test94591343c15237f3ccb2855f5849bdd49752eba0be9bd6fab4850672a4b8b5ae() + { + $this->assertTrue(true); + fn() => ($test / ($test & $test)); + } + function test99ee3086cbf895ac389b1b4c4699fde8f281eb4aa7ffc23f7e4d14184a638d8f() + { + $this->assertTrue(true); + fn() => ($test / ($test | $test)); + } + function test9e3f17897c2ce6fc907814e48bdf8e3dc8fe63b2fd80d47628d239542643e2a3() + { + $this->assertTrue(true); + fn() => ($test / __TRAIT__); + } + function test9ee7e719a44aa8d8c62dea326fd63f98428e249774769b24caa4defd4a7c99c8() + { + $this->assertTrue(true); + fn() => (`` == $test); + } + function testa7bbc74c8bdff1748accedac0182ad2b0832575b68b0b518965251602eee313c() + { + $this->assertTrue(true); + fn() => ($test / ($test && $test)); + } + function testa9e48393aef962aeb339163384f3a3d138d3e5f172e65591eb993e8a310644cb() + { + $this->assertTrue(true); + fn() => ($test / +$test); + } + function testab91289d3f0faf724f6386756d2aac5c44a7c83505b6ab2ff669052d9caede1a() + { + $this->assertTrue(true); + fn() => ($test / __DIR__); + } + function testabca862fc97952083b3d75586c54804b2826559405b8503771d4392b3d8587b3() + { + $this->assertTrue(true); + fn() => ($test / ${$test}); + } + function testad593c850906e4a2cce92f4c1dfea39770ebf5e4da9942ab77ef80cc128bcc26() + { + $this->assertTrue(true); + fn() => ($test / ($test %= $test)); + } + function testb0d9d50561ef93340e3f780c71fac5e6732a339e18afffc6fad2b12b0395b30e() + { + $this->assertTrue(true); + fn() => ($test / ($test or $test)); + } + function testb4b49fc99426ce6d9ae4972b4f387bd97e5340b4d7a66979b61e199b72d48631() + { + $this->assertTrue(true); + fn() => ($test / __METHOD__); + } + function testb4bfd99fa905f9d7d3902d0d0e94dd5d2d2a50acc472ab2a49d5ba74ddad3d5a() + { + $this->assertTrue(true); + fn() => (isset($test) == $test); + } + function testb5b4ebdc82c499b05e4f5710afa13f0a5a89450cb72e997cabf4cccd8bcd8461() + { + $this->assertTrue(true); + fn() => ($test / ($test >> $test)); + } + function testb7e1e501fc302a4508853e646f261d60a204613a75b18736faea07a4a1bc8be8() + { + $this->assertTrue(true); + fn() => ($test / throw $test); + } + function testbc3802a809e269cdf9d7b936e4b50d1d07590b6dc10cebf35776dc0bcb1ac511() + { + $this->assertTrue(true); + fn() => (~$test == $test); + } + function testbf4d46344e617be931c4c4fa4ae685b481ca13f3cc5549fbf70eff9421a02e8b() + { + $this->assertTrue(true); + fn() => ($test / (double) $test); + } + function testbfaeddd9ff121a352251bc26034d59243300d80682d902bff9a104a3ccd81f0c() + { + $this->assertTrue(true); + fn() => ($test / ($test * $test)); + } + function testc3dcd2ac3b4251eaad81f646628b6cd0c954550399fdbdf811c67a7611bbef97() + { + $this->assertTrue(true); + fn() => (--$test == $test); + } + function testc599a678c5b4c9f3e4f45a532946a6d7a14b8e6952261a9fb669489ae0d5598b() + { + $this->assertTrue(true); + fn() => (!$test == $test); + } + function testc7bd420d06d45c722919e0d95591cd5b1cebec66690cdad07e66e4e2048d3bdf() + { + $this->assertTrue(true); + fn() => ($test / ($test /= $test)); + } + function testc9e521ee66c14f31698eceb2aa1b848a51f578d780122d2e735b7aada3422848() + { + $this->assertTrue(true); + fn() => ($test / ($test ^= $test)); + } + function testcca8b7b2d130f440b2dbd83060a073514902baf8f414ab6d45de9425509aaae4() + { + $this->assertTrue(true); + fn() => (($test =& $test) == $test); + } + function testd39d809971c8fad541dc55359379a512b1bd0d713f659c038c49c4d5c3462cb9() + { + $this->assertTrue(true); + fn() => ($test / ($test / $test)); + } + function testd6dd55566b0ab7bb0fe55f44567945973afce33c7a0ac8b07f8f3d338a0fb042() + { + $this->assertTrue(true); + fn() => ($test / -$test); + } + function testd7bbafa6f8fba86831ff06fac9b65dd24e69d10edb28aafa222640b6a9ae1c0e() + { + $this->assertTrue(true); + fn() => (($test = $test) == $test); + } + function testd98132ef508acd31032ee58b526fa9fc882b35864e54a4081dc62726f0a4731b() + { + $this->assertTrue(true); + fn() => ($test / ($test += $test)); + } + function testdabff68cab43105a6050b90fc499271649299b51c21e5a2b20a6ddecd8a93e3b() + { + $this->assertTrue(true); + fn() => ($test / ($test <<= $test)); + } + function teste1721f763581ddc3b1838eac149de46d155c0e8a61215b1c369e02e68ee99e44() + { + $this->assertTrue(true); + fn() => ([] == $test); + } + function teste641e1b0348d209016237271c5720cd5e674eb454536d0d1d6704b1437ca86f7() + { + $this->assertTrue(true); + fn() => ($test / ($test != $test)); + } + function teste799e4808612fd1215d7712f783d141a3c385a44224c4851bb199b4fa1430c76() + { + $this->assertTrue(true); + fn() => ($test / ``); + } + function teste79d0ad7d2ef1fe5ea9ae4712df39f40236f2decf2916a425856dfded6b09429() + { + $this->assertTrue(true); + fn() => ($test / ($test &= $test)); + } + function teste7ee4a790ac364eef373f7e8f082c5ab218a4fa326c603c333b8b87bb767b33b() + { + $this->assertTrue(true); + fn() => ($test / __FILE__); + } + function tested39cdefb83dfac303bf55851c710c5cfe3c720134bc4dafbcd6d6d3e2be0dcf() + { + $this->assertTrue(true); + fn() => ($test / (yield from $test)); + } + function tested9c2be8b48d41c966ea4f1641244020281bd58b4c28bc8fb05630ba4568514b() + { + $this->assertTrue(true); + fn() => ($test / (array) $test); + } + function testf01ad6d015a066fe77817393ac90baf39972143c956178ccccd765f5fdd84fde() + { + $this->assertTrue(true); + fn() => ($test / ($test . $test)); + } + function testf4bd96421fc32c1b43949072baa1b865648e6c33382b0d1a632ae42fa18fe38d() + { + $this->assertTrue(true); + fn() => ($test / ($test .= $test)); + } + function testfb7c69583b6dfa5b57de961c653eefb4b34de62862570792f115a5344f293689() + { + $this->assertTrue(true); + fn() => (self == $test); + } + function testfeac9b5130fbf6d0e0fdc6fbd59643b73144ef403f675f184b2af1b5ad73e1bf() + { + $this->assertTrue(true); + fn() => ($test / $test::${$test}); + } + function testffb7af92c4eb14bba8404484585be395b2fbc73840d3c5cdaa1ebde2b1b9322c() + { + $this->assertTrue(true); + fn() => ($test / 'test'); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest.php b/testsGenerated/Target/Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest.php new file mode 100644 index 000000000..ee6ab4933 --- /dev/null +++ b/testsGenerated/Target/Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression048ddf8608cca1fa468517dead84aca45543788ca68ecbcafda154581bc534bbTest extends TestCase +{ + function test029f63363f07f1474ac1e3297925cab9d2bbf3b6dade871032dbc7dfa7ef3bb1() + { + $this->assertTrue(true); + fn() => ($test <= ${$test}); + } + function test02ba019fb79fa1b28c7a4dbc3fc6c8345c59b3b8272420bd529644e384ee8a4b() + { + $this->assertTrue(true); + fn() => ('test' <= $test); + } + function test045ad16d26c10a346c60dc9112067d30d0f92281a2a1e464af5f56f33c64315a() + { + $this->assertTrue(true); + fn() => ($test <= @$test); + } + function test12b3df624717a0f25bcc193c543b4ca850d61435bb3f44d136fa94e823d99353() + { + $this->assertTrue(true); + fn() => (($test and $test) <= $test); + } + function test153997bc3f98877dea2d6c03f7b998274317be2f492af019890ed4a355a8fd95() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ <= $test); + } + function test157221a71b583040e1a43a0574c16961fd9e1e07809d9ebf6f38fb2b746c80ec() + { + $this->assertTrue(true); + fn() => ($test <= $test()); + } + function test1b36ebb9a87d83671f2d38879f1455d104b01923316dd84cd975c8848d606109() + { + $this->assertTrue(true); + fn() => (($test ^= $test) <= $test); + } + function test1c58eb8a9d57c182af28a957d8e982fe39d5ff26b5885d749d03a7892fcf517f() + { + $this->assertTrue(true); + fn() => ($test <= ( $test)); + } + function test1df943b22aee5051f99f6ccd1081953f42fbdba2b087ccbd68fe8f0c002befa4() + { + $this->assertTrue(true); + fn() => (($test <=> $test) <= $test); + } + function test1f6a964ab1848d00f713d91132220675980a28b457f24f463a07c5e4168da173() + { + $this->assertTrue(true); + fn() => ($test <= $test[$test]); + } + function test205836e2df9be46523cbd73d4f62db6d1afc8231426126e403c4da5902bebe77() + { + $this->assertTrue(true); + fn() => (($test ^ $test) <= $test); + } + function test2107543c6d81342aa674f626666837d06545e0eb78b9afb4dba54dad54f3aaa0() + { + $this->assertTrue(true); + fn() => (__FILE__ <= $test); + } + function test277c94bf2364f02d630e1541fb1017c058170362c07fd5cf730fa08f3c45911b() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ <= $test); + } + function test299077c4050b8bf59571d0365e765c3e5caa6a04e37213eb694fe0119ef93630() + { + $this->assertTrue(true); + fn() => ($test <= $test->{$test}); + } + function test29aee90d4e45035e449073e32cfdffb0e488729bb3fe8b07a04b6b0de712f2fa() + { + $this->assertTrue(true); + fn() => ($test <= $test?->{$test}); + } + function test29f48b25e9bd79a5ef9ea3bf67a25935ebda78d9bbd59655a0502f1166344ef2() + { + $this->assertTrue(true); + fn() => (__METHOD__ <= $test); + } + function test2b234919401cba4915995da4f022fbb41617f8a98cd0c39cb512e1a017a7914d() + { + $this->assertTrue(true); + fn() => ($test <= +$test); + } + function test2fbaa0c5a9566314210cff4d4a04d1654686f4ab62e5a5d8480f07efc38abdd4() + { + $this->assertTrue(true); + fn() => (($test || $test) <= $test); + } + function test31fb4795cd5b734322d1dc264891cafc139f16aac17928cd3aa2d1d43956e0db() + { + $this->assertTrue(true); + fn() => (($test <= $test) <= $test); + } + function test3936c5f56df8e1e4e6b3c40cb897f3e0270fc036fc534a7f65c6ddfa1f6e9ee2() + { + $this->assertTrue(true); + fn() => ($test <= $test?->{$test}()); + } + function test3c640b56624a2c267de6797513be71cf353307a384e73812d6f73b083db947bf() + { + $this->assertTrue(true); + fn() => ($test <= $test->{$test}()); + } + function test4022f48f3b194908058294839de6920a4983790a8dd482e6b53ae69ab90b6e70() + { + $this->assertTrue(true); + fn() => ($test <= $test::$test); + } + function test412b1f3bde102c958845a229d164aa51e758fa035fb49586969fde588bd45172() + { + $this->assertTrue(true); + fn() => (0.0 <= $test); + } + function test43bfc520af429b7f6b12792eb1088f69ddf125b769b552f696608b96f1457192() + { + $this->assertTrue(true); + fn() => (($test .= $test) <= $test); + } + function test448c9d7159d306f2a143eb42b44d3a381db1cb1d03b51f723e8530b3988c4a7b() + { + $this->assertTrue(true); + fn() => (__CLASS__ <= $test); + } + function test46a728ff0ad0bef46b89703c6b6eda4c7d2b96ad1c79e6d2c2567591b0720859() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) <= $test); + } + function test485c64fc565ecfeeee2ed84ee61cbbd268f508edbc05df4378eaed0326d1efc2() + { + $this->assertTrue(true); + fn() => ($test >> $test <= $test); + } + function test48604b5dd16dca72b3bfa3771aeb76e757bd21fdd23bf70c5d472e45f68e76fb() + { + $this->assertTrue(true); + fn() => (__LINE__ <= $test); + } + function test4bce096759dd38844b66bec032ae3eb5ed06b9e19fb9f7b591dfbfb9f22699b0() + { + $this->assertTrue(true); + fn() => ($test . $test <= $test); + } + function test4c815cb595ad0e5a8f9b3f081fe7da5f460e7564e5e7ddc6332d57fc582a80a6() + { + $this->assertTrue(true); + fn() => ($test <= ~$test); + } + function test4e0bd5c422084e5236d4010e7919f6ab45e92154ed7f08b9b6f6d458ef8f3162() + { + $this->assertTrue(true); + fn() => (($test != $test) <= $test); + } + function test508f8efc59bcfb07908101eede4ec37dd3aeca3c177ba2b83489a50bb3e79ef6() + { + $this->assertTrue(true); + fn() => (($test < $test) <= $test); + } + function test517130efb0b28ed7e1ee978b794f2d15e278a998ab52f67e0527518167124886() + { + $this->assertTrue(true); + fn() => ($test <= ($test ? $test : $test)); + } + function test525a12342169fe51617fe2320a6c113bdee17e922ec9ca7562c7126b23dac366() + { + $this->assertTrue(true); + fn() => ((object) $test <= $test); + } + function test56391e5bd87b12cf1f898e3175e30c680682a713b24c30977356ca2cf3c116dc() + { + $this->assertTrue(true); + fn() => (($test *= $test) <= $test); + } + function test5a538b0d884d30f6ee12554b73d18d214bf1a2f2586421661e8711ee305b33b7() + { + $this->assertTrue(true); + fn() => (($test ??= $test) <= $test); + } + function test5b35a579c04aecfee56181772c96ed25a6468c0bcd38f7588456f5c69a0a002b() + { + $this->assertTrue(true); + fn() => ((string) $test <= $test); + } + function test5b85bda9b0c48bcea042cd59a470578c629199887e1bd142efa64706cd2504ff() + { + $this->assertTrue(true); + fn() => ($test <= !$test); + } + function test64885dcf8ae5084a589db89964b963529430082d20d4f0d2aafe30e97a874ab5() + { + $this->assertTrue(true); + fn() => ($test / $test <= $test); + } + function test66289de6b480fcebad9ae7ed81688199ce061b361f96103f0f1e9e057fd6cd66() + { + $this->assertTrue(true); + fn() => ($test <= $test--); + } + function test66fefb2cde9d1f24c7c4b1f0cb51e0286daee602219b8a9be2dc5240b3d955ab() + { + $this->assertTrue(true); + fn() => (($test == $test) <= $test); + } + function test69dc44486b2de340dd051bc628ac1d39ce2496ce11c3dbbbafeca0a3d1c89e31() + { + $this->assertTrue(true); + fn() => (($test >= $test) <= $test); + } + function test6bdbd9cd49d782098f6afb8e1e8c74d9dd14a80bc7de434fb1755414028f0ddb() + { + $this->assertTrue(true); + fn() => ($test <= $test); + } + function test6dc4612d89bb2d09ec1647e29c96f8a6cf71324a45a0f8ea8ca301e4e50f6da4() + { + $this->assertTrue(true); + fn() => ($test - $test <= $test); + } + function test6ee4f5c994c5c23a0f9b3bc1f34da1f8d2d4d0d3150b5908e51b54e05de269c1() + { + $this->assertTrue(true); + fn() => (($test ?? $test) <= $test); + } + function test720932e3ae1acfc683e96a7da691fffda3bf04f931c3a7a7f9a155d35064d52f() + { + $this->assertTrue(true); + fn() => (__DIR__ <= $test); + } + function test7524c0cc74e33f8def0d710b99dcce376b88548f691f574f18c29eb1e3435800() + { + $this->assertTrue(true); + fn() => (($test **= $test) <= $test); + } + function test7ae1314c37b8cbd0de8f7406041c0e4f6f1fb567c142914b74d005b11810bf26() + { + $this->assertTrue(true); + fn() => (0 <= $test); + } + function test7b6fd59a58769c6a03586966f7aaaf768fa6b54783c4f9c2dcd3d428d4408167() + { + $this->assertTrue(true); + fn() => (($test === $test) <= $test); + } + function test7d90d39b872f3ea5c86f921bbb1c69970397db698fdaf82ceaf5be3bc4bd7dd1() + { + $this->assertTrue(true); + fn() => ($test <= clone $test); + } + function test7f22a5922ed6239ce0787b3482242a844197e06520d5561287dc6742931c1d2f() + { + $this->assertTrue(true); + fn() => ($test <= empty($test)); + } + function test80cca2d48b8d9a7e918d0919f3ac165bd0b223eed6a081b55927ff9a57912587() + { + $this->assertTrue(true); + fn() => ($test ** $test <= $test); + } + function test80d37b6f88b369fd4bb3798dbcfe6191cab8a7778b713059a0affacdada88152() + { + $this->assertTrue(true); + fn() => (($test && $test) <= $test); + } + function test85490b4088559f7be48b1524e3b1356e267e75ef0c854729cbbcc7ce41544adf() + { + $this->assertTrue(true); + fn() => (($test /= $test) <= $test); + } + function test8aa2dd5c0177b0350288f1c471ed88d8a9fd27dc0afe7768d12f9e76eaec23da() + { + $this->assertTrue(true); + fn() => (${$test} <= $test); + } + function test8af3ba304fa50f8ae4236fbbcef96c7299069e4c56cc17ffc7cea6e655ff2ea2() + { + $this->assertTrue(true); + fn() => ($test % $test <= $test); + } + function test8fd2cf9a19670299d9abf139826f13cf37ff2c6e881e9a500b985fbc70a8e399() + { + $this->assertTrue(true); + fn() => (($test -= $test) <= $test); + } + function test92994ece433d4d806165b62b17624cca20fee730491e21bebfc5c4e9a385ac49() + { + $this->assertTrue(true); + fn() => (($test <<= $test) <= $test); + } + function test9552490adaa76edf7d157a12b36fbd92073e6f421310bfa83d2592b77b3803ce() + { + $this->assertTrue(true); + fn() => ($test <= $test::$test()); + } + function test973f62d64823ee8c3b610a214fba3619d9a38e371f85b195619a61c12c61c71b() + { + $this->assertTrue(true); + fn() => ($test <= $test::${$test}); + } + function test9beadfe4ab0a07cad1255c895b3d79b07f384791bc7109d12cc305d68ce536e3() + { + $this->assertTrue(true); + fn() => (($test !== $test) <= $test); + } + function test9cb46ba62216a535a09072e99662a5618ecdeb740d40414cf1e5fedc3fe4049d() + { + $this->assertTrue(true); + fn() => (($test or $test) <= $test); + } + function test9d1d9cca9955457422a15390aec9ab65088ba7f36122f22597c129ae03099a38() + { + $this->assertTrue(true); + fn() => ($test <= --$test); + } + function test9e7d63fe23fc810accdf8f3d9776201b2d4d0fe839064a5c46749609a3920582() + { + $this->assertTrue(true); + fn() => ($test <= (print $test)); + } + function testa5ac7e3eb719029d42355c1414fd8e310a8cc920719e732ab444a01b1483a906() + { + $this->assertTrue(true); + fn() => ($test <= $test instanceof $test); + } + function testac86ee3287e2225e9cc3c6535e8a3fd99b4f15a32b25af09cefe581d100c744c() + { + $this->assertTrue(true); + fn() => ($test <= []); + } + function testb6851478fea5218f1d58d0d92ee027f3f70bc127798b9612fbafd8ec2a3b6b0c() + { + $this->assertTrue(true); + fn() => (($test > $test) <= $test); + } + function testb72733ac06cd8a36bff372d93b15572e91f2de174ad75741abb93bb3230cb33b() + { + $this->assertTrue(true); + fn() => ($test <= ``); + } + function testb737889761010f00019a432481531ce73cdc952667aef4c9a6114de120721073() + { + $this->assertTrue(true); + fn() => (($test & $test) <= $test); + } + function testb806b1e20166ca690cacb0e3f7ef93c806b6b6da08d300570f35c640efd87a0b() + { + $this->assertTrue(true); + fn() => ("{$test}" <= $test); + } + function testb8e110a04edde1cadb3414d46966231b8a8ab993337040a1dbf5668b8eb3f983() + { + $this->assertTrue(true); + fn() => (+$test <= $test); + } + function testb9b654e6a5dc0f50626d598b09ee988773520c13b82361b9fffe94a89c1bb6a6() + { + $this->assertTrue(true); + fn() => (-$test <= $test); + } + function testbc89266e577c033e5964c0ba9467a24d0124dad4d5a29dc32d1f8ad5425203fd() + { + $this->assertTrue(true); + fn() => ($test + $test <= $test); + } + function testbf6affed732fccdcd980629c98bb1fd52fe79f513a7a09ba5c9656d04d03ba2c() + { + $this->assertTrue(true); + fn() => (($test xor $test) <= $test); + } + function testc2710e1b5addf85863046da534458ac9090f7df354a97623a1b332567b179f30() + { + $this->assertTrue(true); + fn() => ($test << $test <= $test); + } + function testc2cce152dfe6b174fb60e3dce90b01e6e807b399bad5b3b16724deda2977f052() + { + $this->assertTrue(true); + fn() => (($test >>= $test) <= $test); + } + function testc6e5bbcf151dde58cdf0665387b3472c826f688a018104267f75ebb640758145() + { + $this->assertTrue(true); + fn() => (__TRAIT__ <= $test); + } + function testc7abcf909e4ba1946d3e6655dc5a992bfc9194de68451989a0428953bb83940d() + { + $this->assertTrue(true); + fn() => ((double) $test <= $test); + } + function testcb58000875ac8262ce6c1457b4a6617f0d693bf8bd842aa3c7376e151c92efd9() + { + $this->assertTrue(true); + fn() => ($test <= ++$test); + } + function testcbdbffa9f114b3e58aead327f3fd58da14acaf261dd3b5ff3ade8403be3f5284() + { + $this->assertTrue(true); + fn() => ($test <= new $test()); + } + function testce3173b043b6fd8587f46f5bc8e44c54130ababd5ae09b3ecf5e2c880ff4815f() + { + $this->assertTrue(true); + fn() => (($test += $test) <= $test); + } + function testce56826022c381eec6cfa71e5ed2de1d0a280a393bb351f3c17f7235806db116() + { + $this->assertTrue(true); + fn() => ($test <= throw $test); + } + function testcf43042f96ec49c66334ccffcc856d36bcc6f229df834a0a81ee5a939c6881ed() + { + $this->assertTrue(true); + fn() => (($test |= $test) <= $test); + } + function testcfa74a70390be1bbaab54b5c494ca49b6bcd339ef8c426c5bfa2428f65944b5d() + { + $this->assertTrue(true); + fn() => ((int) $test <= $test); + } + function testd2ec6d2bf57588fea3ef545fe746ddd4b08f4c423c67a5096581cff1976ce642() + { + $this->assertTrue(true); + fn() => ($test <= match ($test) { + }); + } + function testd5c5a46d0cb5fe09ceb6b57816101118bdd95c3398576f704ad0519050c8c8fc() + { + $this->assertTrue(true); + fn() => ($test <= function () { + }); + } + function testd661e3e522656a9608408562e498905d3dc23ed0aedd46d43ec5f5dbbdf8fe5c() + { + $this->assertTrue(true); + fn() => ((array) $test <= $test); + } + function testddb84874baf3034767807a9c2fcc90734b9d888c81f3d50d723d39f25ebd3ef1() + { + $this->assertTrue(true); + fn() => ($test <= eval($test)); + } + function teste098d2955178494b3db9e97c8d94824759d8198acb6fc6446d5d9484948ae85d() + { + $this->assertTrue(true); + fn() => ($test <= -$test); + } + function teste0e104822e1d96b254f30477288e479bfb8f9dc1f30d2fac3fb656e2383aba30() + { + $this->assertTrue(true); + fn() => ($test <= self); + } + function teste0fb3f4e55cf50718bd31b44dcba24293182b8d6696bc630553aaeae72a18052() + { + $this->assertTrue(true); + fn() => ($test <= isset($test)); + } + function teste2f0afecb3c8e8e748910b0c4bdcd25fbb3e8b6453c37e4901c98af8662a65b5() + { + $this->assertTrue(true); + fn() => ($test <= $test++); + } + function teste52b5149e2aadab47f56a99c56aae23ca7916b6def61be27b3993dafd83952ba() + { + $this->assertTrue(true); + fn() => ((yield from $test) <= $test); + } + function teste60024b2faf51a4eb01cd5bf326af4c24d2c04d451f2a74b2f736c4df23967a2() + { + $this->assertTrue(true); + fn() => ($test <= ($test = $test)); + } + function teste60f71a1b3c34704f794fde1b0ecdf73a3cf654cb301f352108d5c7b38dbc1c2() + { + $this->assertTrue(true); + fn() => (($test &= $test) <= $test); + } + function teste6ca3f89ed79c64989e52bf51bb18a50660f747d40165ec813252ce6d4cfc3d6() + { + $this->assertTrue(true); + fn() => (($test %= $test) <= $test); + } + function teste83f58055b5fb282ce8fb4e0b4ef1871e49646d0658d30a36b196413399970b9() + { + $this->assertTrue(true); + fn() => (($test | $test) <= $test); + } + function testf36981c8a8cca65177bda05acd31b40390c7d251db82d6675147a47bd4b2b7a0() + { + $this->assertTrue(true); + fn() => ($test <= ($test =& $test)); + } + function testf6bc838e87d128cbec9bf591cf774d072e2ac1bb3e48a257fd2beae42366a918() + { + $this->assertTrue(true); + fn() => ($test * $test <= $test); + } + function testf9338679fffa0269831a7f82f10fdb5de608bc6a994f62561d001dd7ae08ba69() + { + $this->assertTrue(true); + fn() => ((bool) $test <= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test.php b/testsGenerated/Target/Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test.php new file mode 100644 index 000000000..67c47716f --- /dev/null +++ b/testsGenerated/Target/Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression0650944291fc5683c0e2432322d95fecbdc0e6ac74d53fca4f96458ecbadeb74Test extends TestCase +{ + function test01567f5ee3b46e53ed7abf9d9fb3abb3c3ab37d961eee9d2d9859cdb2f814c0a() + { + $this->assertTrue(true); + fn() => (($test += $test) | $test); + } + function test016bcfc624f9cc53afe8e29b01eb44c6071819a769db1de07432656ee34af0cc() + { + $this->assertTrue(true); + fn() => (0.0 | $test); + } + function test05075321620565fef3c0b56d62aa9a1c4bc25d30becc25171b0cc220ac427949() + { + $this->assertTrue(true); + fn() => (__CLASS__ | $test); + } + function test0654afa008ee4e92ff1b3dd482491e84c62d686ad4756b6076e20438f52bab12() + { + $this->assertTrue(true); + fn() => ($test - $test | $test); + } + function test07a6d212c2b8c56be6923d9e2bfba92208990ea7eae8fe28aa18c4948d4f16bf() + { + $this->assertTrue(true); + fn() => ($test & __NAMESPACE__); + } + function test08cb8429c1f6e2fe02e8dd9fe174b1ccce2df526783e2314c9c43d75713c5efb() + { + $this->assertTrue(true); + fn() => (($test && $test) | $test); + } + function test0c0de811f8a6c55845275bfab7cd51cba5dbc5643f9aa0f9e1023eee1b90d44c() + { + $this->assertTrue(true); + fn() => (($test and $test) | $test); + } + function test0e8ec7a4306f6ee35b50e5eaf5e9e4c2c52f1551b39b283655dec59285607256() + { + $this->assertTrue(true); + fn() => ($test . $test | $test); + } + function test0fecb6ff2d48dfd4225e0639de72f27d1e483ad168b0a29c64f13bc5df6b75f7() + { + $this->assertTrue(true); + fn() => (($test **= $test) | $test); + } + function test1198508a1ea3d88a815ed0b475b573012c92555d929c12e79c3665fc23b49b83() + { + $this->assertTrue(true); + fn() => (${$test} | $test); + } + function test14612c1eb9c42ad872a6809ec11e3020e820b0f203e01c563b741e7cf87afcf0() + { + $this->assertTrue(true); + fn() => ($test->{$test} | $test); + } + function test1ab94f058023cdc865dada72e1be80adbc566a88c3967664973c1adc2e80c255() + { + $this->assertTrue(true); + fn() => ($test <=> $test | $test); + } + function test1b8684d3a7117153b6aa3dec90ff05a031d347b2c8c2008f30c336aeb27bddbd() + { + $this->assertTrue(true); + fn() => (+$test | $test); + } + function test1eab9b8425ee17147959b0bba9493fb98287ba8a38cceba9c7079547c8ce913b() + { + $this->assertTrue(true); + fn() => ($test | $test); + } + function test2142df85578dbe0c9df552174b37cc921a2e3e28bd8e33394252f11a7d90f2df() + { + $this->assertTrue(true); + fn() => ($test() | $test); + } + function test29ef3b71c94c40a041f240f3aac90794e1d4be9c1107b509687edba0cc1eee84() + { + $this->assertTrue(true); + fn() => ($test == $test | $test); + } + function test2be18fbbf6130a0d64445b28fd0d73857bf86e3c31de7cf88673bb02dbc8eef6() + { + $this->assertTrue(true); + fn() => (($test or $test) | $test); + } + function test2d7ec72f1ab01d50e12b09ffe4f464a308d20ccc9d842e76b7dfccf1d590df2e() + { + $this->assertTrue(true); + fn() => ($test & __FUNCTION__); + } + function test2f4577ad19d5fed7aa56aea1e4639b3b34f0c2ef77d0b59ca30937f11b3aa558() + { + $this->assertTrue(true); + fn() => ($test | $test | $test); + } + function test3068b6f90a7873de2e63bfccf991eb2357e692253b47bb4330e935b58555a56a() + { + $this->assertTrue(true); + fn() => ($test ** $test | $test); + } + function test313eed1a15181f0d49c6f56c6c25605ddfeb29b27202f7ce557d719e1a8e487e() + { + $this->assertTrue(true); + fn() => ("{$test}" | $test); + } + function test31ed115a6d278dd6a64cc8d69456dca0eb58f06b0d7f15b57cfee4d65b958a1d() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) | $test); + } + function test325760a98ec6fac832da4d08a7de5431fdb5b516d9e71897d0176ab886541bc1() + { + $this->assertTrue(true); + fn() => (++$test | $test); + } + function test3ad7fd62b19aadeed7c4a8ad972c322856588f242cd3ce8086091bcd9732cd20() + { + $this->assertTrue(true); + fn() => (throw $test | $test); + } + function test3e8df3c268e3be58bcef8452173aa9454bc21f34e41edef93254d2faa08ffe6d() + { + $this->assertTrue(true); + fn() => ($test & __TRAIT__); + } + function test406c071b6d8c97a8772afbff066f6e69b8c902083eb5ca4445b01e6d56e71e6f() + { + $this->assertTrue(true); + fn() => ((yield from $test) | $test); + } + function test444d8af900b79790d343da792cb7c984d5211289be54f37df0ec7253a1ed4739() + { + $this->assertTrue(true); + fn() => ((int) $test | $test); + } + function test44e72f0f17d75e1db6f14a1d764edaa6187c9a68017a9d35316576dd80cd5c99() + { + $this->assertTrue(true); + fn() => (( $test) | $test); + } + function test462b081a94c4a8871fe3adfafddec4439d5b0bb14a21c6cc3900027f8c5dc8c2() + { + $this->assertTrue(true); + fn() => (($test ?? $test) | $test); + } + function test47f4aa5109171670cffac34a9c4109d3daa1c888e899e89161b4041c83fa2158() + { + $this->assertTrue(true); + fn() => ($test & 0); + } + function test498bfe59fe5bc886bee5abedf8b20c22bbd41e5008ffe0c61a326449bababb62() + { + $this->assertTrue(true); + fn() => ($test-- | $test); + } + function test49e2fc57fa986e07b84143b6b109efb62b8353abd1e746a6de6eda74bccbe667() + { + $this->assertTrue(true); + fn() => (($test =& $test) | $test); + } + function test4a59df19cb2eb787cbe73c174493174665974ed7f3fdd8cc0504441ac26aa106() + { + $this->assertTrue(true); + fn() => ($test[$test] | $test); + } + function test4f26fd437b23e042434e95e117c4a6bee38387ebe19e093ed6ea46e9bfac399d() + { + $this->assertTrue(true); + fn() => ($test === $test | $test); + } + function test53034ea1ec7159919d00da0afd31ced9517fc322d6f3614a2b6cc698b4bb0927() + { + $this->assertTrue(true); + fn() => (($test xor $test) | $test); + } + function test590765adacc38e0e8df31f7cb08a43688c9ea31cfa03cf38c0417fd501205b60() + { + $this->assertTrue(true); + fn() => (~$test | $test); + } + function test5de42dfa3aea393c625b0cc3c763512310b1b9594f78b2d0719812d339f132c0() + { + $this->assertTrue(true); + fn() => ($test & __LINE__); + } + function test64531f1d16d55f8a1e8ab252d1239a966778b6724a977310cb52ba141f47f6bf() + { + $this->assertTrue(true); + fn() => ($test % $test | $test); + } + function test6a4e25081e87d89b8a14df625fbb6b9cc8aef13f632e59ef6b30d74482807cb4() + { + $this->assertTrue(true); + fn() => ((double) $test | $test); + } + function test6a530c6b1441b528f3a59aba20d1b2cf602b997454b130359edb3f6a9aef4761() + { + $this->assertTrue(true); + fn() => (eval($test) | $test); + } + function test6b0b2b08fb79dbb5dc997c0b20444fc9384ab6cc83a6587fda9a444e80799b7c() + { + $this->assertTrue(true); + fn() => (($test /= $test) | $test); + } + function test6cc370a463ba06438a51961dd7f08dfc1070db31c4c02c9afd8ec60cb672901e() + { + $this->assertTrue(true); + fn() => (@$test | $test); + } + function test6d0c8c1b268676aa9a4181843acce3a8b0e84b5a57bf5604ee3d601a505354ce() + { + $this->assertTrue(true); + fn() => (($test >>= $test) | $test); + } + function test6e1cf1f77fb0f99d18d17bef231ce481f677b172b4aec26e26793d8e3c32ca95() + { + $this->assertTrue(true); + fn() => ($test >> $test | $test); + } + function test6f5babcdc0e553209b0b7106e78d7b147e98ba5dd6d46b69044122a7fecf1b11() + { + $this->assertTrue(true); + fn() => ($test >= $test | $test); + } + function test70b85d30971ee10601dee91eba45c6b039e6d685a9487549ddd926b9bea5bb08() + { + $this->assertTrue(true); + fn() => ((array) $test | $test); + } + function test7464cfa1e1d355e8c226e1920af23c29e79223509ada2f61427697acb987c39f() + { + $this->assertTrue(true); + fn() => (!$test | $test); + } + function test7501d2604f1bb38bbea714f6e1b0f0c69726f5a7ca9d1fcabf874bb4d9e5d3e5() + { + $this->assertTrue(true); + fn() => (isset($test) | $test); + } + function test76b58a09b3e8fd41d5f1f977bec91e74e1e9a4ed1e72f8378ed91006c07b5c1e() + { + $this->assertTrue(true); + fn() => ($test & __DIR__); + } + function test76ea55f6bb2dc1457cc22c25e5984f5e27f9a1142c50c1fe700cfbc41b63698c() + { + $this->assertTrue(true); + fn() => (($test <<= $test) | $test); + } + function test78fb09ab10737cece5a5c67553f8f53c61a3cfd02dbb659c0cc296c8f2db595a() + { + $this->assertTrue(true); + fn() => ($test !== $test | $test); + } + function test7fb0359169eeefc09eda659764fb9ba403711dd70552cc3b2adbec436b9f13c4() + { + $this->assertTrue(true); + fn() => ($test ^ $test | $test); + } + function test814a45a206846e38f9d3f0b6dd54d4e702585f40e3fcef22309a951607541024() + { + $this->assertTrue(true); + fn() => (self | $test); + } + function test821988ab4980d82029148b4448d48ebf94a299e014769fd5ba3357c0f1efb073() + { + $this->assertTrue(true); + fn() => (($test -= $test) | $test); + } + function test851b2d2e781466bed0f43070b15129bbfe358fd2f3ecc046b53e22aa3d06039b() + { + $this->assertTrue(true); + fn() => ($test->{$test}() | $test); + } + function test8af5b80545fbcc8f0beca8a342bd5830e2903858385d1b31b48aebddf967155a() + { + $this->assertTrue(true); + fn() => (($test |= $test) | $test); + } + function test8c0b16d4aac51807e03e91b8759f86d3ed1292593cf28919d3a7d4765bb51404() + { + $this->assertTrue(true); + fn() => (($test ??= $test) | $test); + } + function test8df0da03cf9501a4550901ec22bfd6919f5f2af0a2f8afaac26b4cf0c44a8005() + { + $this->assertTrue(true); + fn() => ($test << $test | $test); + } + function test925d910f908bad60d2353fcdb7d4eed57c5267a97a7bcdff25f33f1c49449187() + { + $this->assertTrue(true); + fn() => ($test?->{$test} | $test); + } + function test9323e6a7223ca5a95b10913300358b59c9f5639aaa02866343a64302cc0fb8ac() + { + $this->assertTrue(true); + fn() => ($test <= $test | $test); + } + function test954f98c5a8b1697f9c6a42b669add17255dbf52a19da7b29f9dd97c5cce24409() + { + $this->assertTrue(true); + fn() => (($test %= $test) | $test); + } + function test97364e048ce77120931bfeb82fb1edcf7023a656c35f26f7fe80711e0c5b866b() + { + $this->assertTrue(true); + fn() => ($test < $test | $test); + } + function test98556ef41063a611b556d1fe4ca1ecdff5abc84d7437ebc0a915143428b2e8d5() + { + $this->assertTrue(true); + fn() => ($test & __CLASS__); + } + function test99050d0c7a6977559440660c8d670986a0ce8518b1c56c9f6caee52ed1ce5a49() + { + $this->assertTrue(true); + fn() => ((object) $test | $test); + } + function test9b6dc5c45fa46927d114987ad04add257e6b0adf125482d5abc494ab28e934ff() + { + $this->assertTrue(true); + fn() => ($test++ | $test); + } + function test9be80b0ea8693682ac67909b19020c8c9608ed0d0088467401002be74ffbf5e5() + { + $this->assertTrue(true); + fn() => (($test *= $test) | $test); + } + function test9c27212bdea87cb8b9ea40f5bade6b81a1cf9785d304caf8178a8c7a349e74b1() + { + $this->assertTrue(true); + fn() => (($test &= $test) | $test); + } + function testa00dc57f99a50967499c5a7810707c41a474141d4098b91cacf6b2a16d1e45eb() + { + $this->assertTrue(true); + fn() => (0 | $test); + } + function testa0be6c94999ee76903e1c3d0a44fb827830e82f45f286ffba4d7cecc61258583() + { + $this->assertTrue(true); + fn() => (($test = $test) | $test); + } + function testa16c032ef786583e1214469af464a12e46df4cb17b1202b12429f9cba429a315() + { + $this->assertTrue(true); + fn() => (`` | $test); + } + function testa63851484d91ce4224422e39d92fa8e7d8aeb1e383288b2f9141705e4e23abd0() + { + $this->assertTrue(true); + fn() => ($test & __FILE__); + } + function testa9274f53b05a9217d834145fdb79d5c8f041a95468552ac0dff13def1399f2f6() + { + $this->assertTrue(true); + fn() => (-$test | $test); + } + function testa9f07702145e8db305843db4811c5ef9977de1e21deb2087ca0309ae982dcb08() + { + $this->assertTrue(true); + fn() => (--$test | $test); + } + function testb10d6494f171dfe24c5bcfab69cff01fe7818cfc22833f15f44313df7a5d3e52() + { + $this->assertTrue(true); + fn() => ($test + $test | $test); + } + function testb43a42508af148dcf9f7a387dc2c258d43fa661fb0af252a6d946427a9d50711() + { + $this->assertTrue(true); + fn() => ($test instanceof $test | $test); + } + function testb5d099de5081349cd39fcc55215e1ff3d0a146f1f6089cc31172f56ba0c802f0() + { + $this->assertTrue(true); + fn() => ($test != $test | $test); + } + function testb66c51d4856d07c798e53a0319d8c1b4ee9df1cc74ab5def10089c667f13b913() + { + $this->assertTrue(true); + fn() => ($test::$test | $test); + } + function testba4fd5a72ff26423ec390520f578ab429c32a8fa9e6c3d2f94e6e0143831099a() + { + $this->assertTrue(true); + fn() => (match ($test) { + } | $test); + } + function testbbd372a6202ef9de55412ee3b6601a80d47b06e582dd500a14dcf641084730e9() + { + $this->assertTrue(true); + fn() => (new $test() | $test); + } + function testbe538523b0b1603a97be9d57309485234fbebbf37a46a233e1aea9c33187fbff() + { + $this->assertTrue(true); + fn() => (($test ^= $test) | $test); + } + function testc4d8abdbcba35ff1b340fd1005917fe679e36aff997ea2b8270460fbd2575f3f() + { + $this->assertTrue(true); + fn() => ($test * $test | $test); + } + function testc4fee2cf415f623f52d2e882a3a1cd09364019126ec2ca7b3788d2960eae08bc() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) | $test); + } + function testc7258f2dc72d913142ed5cb1bec8a18c02d56dd15225cbd13140bcffc745f9f2() + { + $this->assertTrue(true); + fn() => ([] | $test); + } + function testc976a01b14ff65cbc4ff5e891c136d0d76db9038fc015dabf7be73d5c56aae7d() + { + $this->assertTrue(true); + fn() => (clone $test | $test); + } + function testca2d22ea9caf644fa660475d8a44c5af0c5c0de6948a32cd571b3c6b7adb4d69() + { + $this->assertTrue(true); + fn() => ('test' | $test); + } + function testca61ca3ee0c07445028b241edacb2a212a63c84e85f84f29f3da2eee8fab2c93() + { + $this->assertTrue(true); + fn() => (empty($test) | $test); + } + function testcba2d826344b26920f520c2dc88af248e2c5ce78f85722b7a16369d1e472060b() + { + $this->assertTrue(true); + fn() => (($test || $test) | $test); + } + function testcbd0eaacff90adc4f54a9d912e2263a927d792c00a30521d22af84ce70ae7a9d() + { + $this->assertTrue(true); + fn() => ($test / $test | $test); + } + function testd019fab3ef0b219fa0c8e087064198ba6f8d9ad738db01caa1e1d5c0a296d46a() + { + $this->assertTrue(true); + fn() => ($test > $test | $test); + } + function testd20ab39c203b3635343ad4d5c8da460926687c88dc9912733dc51c3d3a529ffe() + { + $this->assertTrue(true); + fn() => ($test & 'test'); + } + function testd3c234a493b25564c79fd2500d2c59566a6130a1e8406f02e76423f8d50502be() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() | $test); + } + function testd8ddfc7abfe344ea8a820ee68b0fbd3c3b93035606265cc067b744bd15dbce61() + { + $this->assertTrue(true); + fn() => ((string) $test | $test); + } + function testdbac0d45f63c0b299eb654c345219ab10b4c973000bdab5d7f11d949ffa7e41c() + { + $this->assertTrue(true); + fn() => ($test & __METHOD__); + } + function testdc19d53f884b196e73fb55483f2dcd6d75af54ac29749407dc9da68b096e0c74() + { + $this->assertTrue(true); + fn() => (function () { + } | $test); + } + function teste4890d37ec294938cb45bfd02542447aa267412337e4391bc1492f2fd3dae1bc() + { + $this->assertTrue(true); + fn() => ($test::$test() | $test); + } + function testef4acfd2e2f0742102afeea3e9149b2c39bcd885824203310bae34b66abde990() + { + $this->assertTrue(true); + fn() => ((bool) $test | $test); + } + function testef5d904603cdab3fece99c647dd5431e5f95cbbd08ae7ef114df15d7d065a663() + { + $this->assertTrue(true); + fn() => ((print $test) | $test); + } + function testf092923fb3d0e16e1aac9b5ea87ab073385bac9293cf4ec706aa361470bd48c4() + { + $this->assertTrue(true); + fn() => (($test .= $test) | $test); + } + function testf919149f228b7c675c728a8616e642e0cb167305c4a2c6c79663412bb10c7e3f() + { + $this->assertTrue(true); + fn() => ($test::${$test} | $test); + } + function testfff8e8a97d25a60f10cd3e84e1c024e1e4b54130dc054e8aa9770d21e473dcb0() + { + $this->assertTrue(true); + fn() => ($test & $test | $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test.php b/testsGenerated/Target/Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test.php new file mode 100644 index 000000000..79eb6b381 --- /dev/null +++ b/testsGenerated/Target/Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expression08c9db3730a7c5abcab3dbda6ac5b59b58f2de442f5f137471410560ce4cf8f3Test extends TestCase +{ + function test043d7579acb256893a9a17d15bd66266219bcc43b916192cb114bb1b4038e74b() + { + $this->assertTrue(true); + fn() => ($test |= ${$test}); + } + function test0647b8ce602297a410676033641c56970906878ceacc9915070d4d4e40dc5eb2() + { + $this->assertTrue(true); + fn() => ($test |= $test &= $test); + } + function test0a593c686891f76dc3ca29bbba3228d6762d2b59e98cb45335e053bc48b40761() + { + $this->assertTrue(true); + fn() => ($test != $test ^= $test); + } + function test0b8916f2a55fbe0a73e560a617f0ebb4dd8fd123963ff70cc8339eb12bc0036d() + { + $this->assertTrue(true); + fn() => (~$test ^= $test); + } + function test0d71fd1300441cb1304dfcd1ce1c6b58c565ddbc3c0e1a8f52bfb13f7c39e972() + { + $this->assertTrue(true); + fn() => (@$test ^= $test); + } + function test126797c5c4e08d22d6da6e06aa89283c7ea6e071a0b3161f4549678351e92d80() + { + $this->assertTrue(true); + fn() => ($test || $test ^= $test); + } + function test154daface8a45cfcec32361e854516c586f43e20fdc76df4e44a103fd28b0ecd() + { + $this->assertTrue(true); + fn() => ($test |= $test % $test); + } + function test1871fa65aff6f5663803abdbe1648695aab56524c47b7eaf8eae1d4500c73a16() + { + $this->assertTrue(true); + fn() => (clone $test ^= $test); + } + function test1d9ec88d102dabbb0d9298fe69402e0941b5e46f66d7673db06eb1e2efbb93aa() + { + $this->assertTrue(true); + fn() => ($test |= $test === $test); + } + function test20cd397c5946e54c0f5eaab61659ad33020f5782c7b5891d88ca5641fb1cbc19() + { + $this->assertTrue(true); + fn() => ($test |= $test ^= $test); + } + function test23d2e66fb80449c95a76f434e996495be4a504aecc4b81071dd15f38236fb754() + { + $this->assertTrue(true); + fn() => ($test |= 0); + } + function test258fef5c883f90477170f345004579cd5f4ee5e17c504dc034fc585f257466ae() + { + $this->assertTrue(true); + fn() => ($test |= $test ? $test : $test); + } + function test2845b57c1fb1fbadc59b0145270f70f3bb6d9c16a948402bf454dfabec1948bc() + { + $this->assertTrue(true); + fn() => ($test ** $test ^= $test); + } + function test2c1eb35638298798267c2211079c19244e36d1849d863bfaa68034cbf6564477() + { + $this->assertTrue(true); + fn() => ($test |= (double) $test); + } + function test2ed1f91add0f92fc0f4768b20dd5e347b397dc203f7a5dd050a9a650d54109b0() + { + $this->assertTrue(true); + fn() => ($test |= $test << $test); + } + function test32b5d34c113234238ce0c7f10c05d2e11b2836d4cd72f08ad0a2c4646474c96e() + { + $this->assertTrue(true); + fn() => ($test |= $test .= $test); + } + function test33780575c5f4c5f9f955d5c3adf12dd5d61bc890d5da9326fe3837e851d4ee2b() + { + $this->assertTrue(true); + fn() => ($test |= $test *= $test); + } + function test36cfbc4cf128e0f96c0e91fb68c920fb4347a360f297f9e4d82cf1ae19929a71() + { + $this->assertTrue(true); + fn() => ($test |= (yield from $test)); + } + function test380b30dbabc02535fc5e6149603c70dc71ec0631e23ff440a49800c0c1108b5b() + { + $this->assertTrue(true); + fn() => ($test |= $test < $test); + } + function test38179a007ec7dbfd26521d6f3e058521388187374d736f948ab91e61a7445b54() + { + $this->assertTrue(true); + fn() => ($test |= $test <<= $test); + } + function test39559246a3b33920f41a8b629e028103f35f84b8596bbbc2e61690f69f56dab7() + { + $this->assertTrue(true); + fn() => ($test << $test ^= $test); + } + function test3c2e412cdc0657c014fd0eee1b4cfc2e8d65c4650151211e25fd5c67a47acd1f() + { + $this->assertTrue(true); + fn() => ($test |= $test == $test); + } + function test3ca802aec53e1b0b4a651de0c85162d15c0a0cde450ab228edc64ee125283be2() + { + $this->assertTrue(true); + fn() => ($test |= $test | $test); + } + function test3cd2b7e8f58651ec96019db5b4a4522cab677c8c740db98dc9c9b65344576fa0() + { + $this->assertTrue(true); + fn() => ($test !== $test ^= $test); + } + function test3d988e83d17e5098094bbeff721473911e24501cdd5866012b3fe73b62f3518f() + { + $this->assertTrue(true); + fn() => ($test |= (array) $test); + } + function test48f5689756e4bf150486ed477155b34cb7ba68ee6e957c9fd0aec9653e86d945() + { + $this->assertTrue(true); + fn() => ($test === $test ^= $test); + } + function test4a90b23a8f15b6482b2567dcebf813458be662e00953cbe277b25539842aa0ba() + { + $this->assertTrue(true); + fn() => ($test |= $test && $test); + } + function test5157e814ad6c994cf1a36f17d38cf3f2d4c35e33331d9223a19ac0e5086941b0() + { + $this->assertTrue(true); + fn() => ($test % $test ^= $test); + } + function test5381b826ec78076c272f7263cad019ff93186eb98f4c6b8d0b50ca9be4c09ddf() + { + $this->assertTrue(true); + fn() => ($test |= $test += $test); + } + function test549d2d2e6975ae1d5a740ba4ac73a3ee042bb8d8beab67b04e8074d91d9f99c3() + { + $this->assertTrue(true); + fn() => ($test / $test ^= $test); + } + function test54c66b23f0b63f2aeaafe20940ef564ac7d1ce43cbfac6a3952d1c62dfb459fe() + { + $this->assertTrue(true); + fn() => ($test |= $test /= $test); + } + function test5d652801daf4fb2e28d52f00c5554838af88097d61d99afaa6e6bd1b9b206a8d() + { + $this->assertTrue(true); + fn() => ($test |= __METHOD__); + } + function test5e6113470f4633b0048b54b0517496eee77069b5c0a9aee834fa5359ee76d88f() + { + $this->assertTrue(true); + fn() => ($test |= $test & $test); + } + function test5ec9736dba7bc9fa3b9cc0db06591ca5b4c07edf144b828d9211840042448dd8() + { + $this->assertTrue(true); + fn() => ($test . $test ^= $test); + } + function test617f9b5f233369fbe96668c6ecc3774886142d1dd81f25ef186b4abb639dc653() + { + $this->assertTrue(true); + fn() => ($test |= $test ^ $test); + } + function test62162cbd299aa9e4d6a48c7fa95894437731b73cdefe8df58cbb2b5422334490() + { + $this->assertTrue(true); + fn() => (${$test} ^= $test); + } + function test62f61ab02ab537ed2cb63aaca3987a0318782d08b53d4717e2bde9e128e88550() + { + $this->assertTrue(true); + fn() => ($test |= "{$test}"); + } + function test63e3721642fee74906bce412b0f8ac9923c0ad6811b653ffe990665d5975a7b9() + { + $this->assertTrue(true); + fn() => ($test >= $test ^= $test); + } + function test65b2a72a557c00e63ea6efe6d9c2e240bb0e9c8611c06eddee10254b951a0223() + { + $this->assertTrue(true); + fn() => ($test |= ($test xor $test)); + } + function test66993e2b31e342e5e8070ad713391268b5165429778ee35339e79164f0390949() + { + $this->assertTrue(true); + fn() => ($test |= __FILE__); + } + function test690ac7c93c071c44bcdadf27dd5e9a92f5db06071e1ff18e5cb78d8bb239415c() + { + $this->assertTrue(true); + fn() => ($test | $test ^= $test); + } + function test6c12164b186de9620b0772cdb894f89858294dfb8c33a2fd870c22a37e7e7dca() + { + $this->assertTrue(true); + fn() => ($test |= $test %= $test); + } + function test6e64e9f1c69e701e6f945d39d47d2c241029d5b9cc22f2646e787dd42ba1be4b() + { + $this->assertTrue(true); + fn() => ($test && $test ^= $test); + } + function test6f15137283d43a6d9c3dacd57e88b23204b7d6d9be69b20d3ec224067b0da529() + { + $this->assertTrue(true); + fn() => ($test |= __TRAIT__); + } + function test6fda9839d801f4efbb7a1dc6b5f16a7fb7abf4b82267f6a803b7503b4fb20c16() + { + $this->assertTrue(true); + fn() => ($test |= __LINE__); + } + function test7a4f7091e0890a95010f5b5f6de6a709462bb4df1dc77fe7f6e49403c51816ad() + { + $this->assertTrue(true); + fn() => ($test |= $test >>= $test); + } + function test7a9c0a6366f6f2c7ea9a86bb315f53c6e77d97862c6579c0b3bad6a92ff7e641() + { + $this->assertTrue(true); + fn() => ($test |= -$test); + } + function test7eca54609075088748032aebff49a47ec2b3b1eaf2cae0490c71eaf396445b7d() + { + $this->assertTrue(true); + fn() => ($test ^= $test); + } + function test7f44cdfcd0592a90d884838ce6745109dcbba269c614854b10bb560efddf20fc() + { + $this->assertTrue(true); + fn() => ($test |= (int) $test); + } + function test81cf050810c8ffcb0cacf89390560c2b77aaf78521f75e69f54bd1427faf3005() + { + $this->assertTrue(true); + fn() => ($test |= $test -= $test); + } + function test82190699f3f646621059ec33d86fc184ac7bf5438fcd05a091e4c0491f476166() + { + $this->assertTrue(true); + fn() => ($test::$test ^= $test); + } + function test82ad8e7ac13d7dc71733e0968af0427b96fd6094a93d4942b76204a80db8ab28() + { + $this->assertTrue(true); + fn() => ($test |= $test <=> $test); + } + function test832f2cf5bad7d42dc8f0d54d5b1ac68725997c9424ea9872cae75752592431cc() + { + $this->assertTrue(true); + fn() => ($test |= (object) $test); + } + function test848828413ed50727b440717bab70284d8472e92f3a6a6586909578423717f87c() + { + $this->assertTrue(true); + fn() => ($test |= (yield $test => $test)); + } + function test8a96d87ee67d531ef65e54f83abdea245a401371c8e90c0b85c80adbe558fde8() + { + $this->assertTrue(true); + fn() => ($test |= $test ??= $test); + } + function test8bd250cff7b446e611d73baac0ed14339e6fd9204f4daed3afc50f85b7464b85() + { + $this->assertTrue(true); + fn() => ($test >> $test ^= $test); + } + function test8c6c2af1d5c49b5eaee5b18bd05dc16051a1b9273a39548cfcc2df3442254da5() + { + $this->assertTrue(true); + fn() => (+$test ^= $test); + } + function test8c7c1b5edd283f80fbc403157cab8b31fdad9d68ed203656c6287c471b605cf5() + { + $this->assertTrue(true); + fn() => ($test |= ($test or $test)); + } + function test8ff7b02fb3b2c400211ad5e106b81469f0703570596a70bfc91a0f4f0573eb32() + { + $this->assertTrue(true); + fn() => ($test[$test] ^= $test); + } + function test921450b11026fbaba9773bfa87e4272575bb0ac6cfce25a725ee9dec45023877() + { + $this->assertTrue(true); + fn() => ($test |= __NAMESPACE__); + } + function test92c9c0f027dfdc3926fcbce6254afe529e8d0dfd55671bcbb5c7befb99150429() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test ^= $test); + } + function test9461007e1744b7f5bac5b678956864f321ebfe2c21a43c6d2e8bc17b901e0db8() + { + $this->assertTrue(true); + fn() => ($test ?? $test ^= $test); + } + function test9506ef30a6c2bbf8c70084db24c54ca744925e55d7937b491936a1e59a92804c() + { + $this->assertTrue(true); + fn() => (-$test ^= $test); + } + function test98d6cdf506aa709e41ed4414fd2816fbc86a0287ba2e9cae7e4e79299ac207dc() + { + $this->assertTrue(true); + fn() => ($test |= $test ** $test); + } + function test9b75740a59a8f711e0872d56d9c3ed033dec75280a443a7c5bf2a924bbe533a9() + { + $this->assertTrue(true); + fn() => ($test |= $test * $test); + } + function test9c9d6a7e031e57a4fabd1db80a231ce3b88ea9de50ede582b04c6fc63305b51e() + { + $this->assertTrue(true); + fn() => ($test |= +$test); + } + function testa03e42d645ced797d666e056413f9465a091cf5dd4807bd429d64a3c04e4392f() + { + $this->assertTrue(true); + fn() => ($test - $test ^= $test); + } + function testa14442a6102cafc88d4eddea3e463ad728b147371426bfe2a64a074e2a3cddde() + { + $this->assertTrue(true); + fn() => ($test |= $test **= $test); + } + function testa3039a63888e611aeaf0256342c8d3c6b19ad5b8d6c0160a6e65f97fda731c2c() + { + $this->assertTrue(true); + fn() => ($test > $test ^= $test); + } + function testa3930d9882090fe1ee04cb4490f191ac1aa7ce2bc0eeefedfdbbf9c75da83df3() + { + $this->assertTrue(true); + fn() => ($test |= ($test and $test)); + } + function testa4cad080e15779a99822e13904fa5e2244c34bd6466a3ac09eb6f01bfdc43322() + { + $this->assertTrue(true); + fn() => ($test |= $test <= $test); + } + function testa5cc8d791d4aa98e44b0bb601f3dd56d6e4fc4ba58fca376322166be6fdaee41() + { + $this->assertTrue(true); + fn() => ($test |= $test ?? $test); + } + function testa661118a497b61550127060f6d42c94f9599db7a06c2fb272c198aa299210459() + { + $this->assertTrue(true); + fn() => ($test |= (string) $test); + } + function testabd93acfc7fda123c3dee91a87def5572b862e11d11bcab542bad578668a86d2() + { + $this->assertTrue(true); + fn() => ($test + $test ^= $test); + } + function testabeb4811414f67a45caf9e2dc9df68987651bdccdee5f18347c66addfa0f45a3() + { + $this->assertTrue(true); + fn() => ($test |= 0.0); + } + function testaee816ebb24fc31b9a3dd54f186315a55285eeab93a967f9f3901efdf12adc47() + { + $this->assertTrue(true); + fn() => ($test |= $test - $test); + } + function testb5ab83a11b7eff4205b3fdff350a1f740a617d4fff841bfbfd8d9b242c1d5a64() + { + $this->assertTrue(true); + fn() => ($test |= $test > $test); + } + function testb6edc1f89f712f9ff816f341888d207808fd0bbabe8885e10350c7bc8d172268() + { + $this->assertTrue(true); + fn() => ($test->{$test} ^= $test); + } + function testbb750e93621eaf2bfe1452a200457280b942d97cfde3ab034fda41940f2b27c3() + { + $this->assertTrue(true); + fn() => ($test |= $test |= $test); + } + function testc2796bf54fb7de86b1735ec41eacac39c8fc89305cc09f4c38ffe362e86f7456() + { + $this->assertTrue(true); + fn() => ($test |= __FUNCTION__); + } + function testcedacd55c51bf261e19d1c9b6229d87092bc831f35a92735bf1079b031f4f1c8() + { + $this->assertTrue(true); + fn() => ($test |= $test . $test); + } + function testd5f6c36c5ea29f6780a283b58491af7dccf68d39625fb8b2aa8b83c61e09c3ab() + { + $this->assertTrue(true); + fn() => ($test |= $test >= $test); + } + function testd650d89035dd8700f9f3fe38d0b711ad4ac20b43f1eda66e0e6da432a9bb1292() + { + $this->assertTrue(true); + fn() => ($test |= (bool) $test); + } + function testd7a6104a0dc0827176e9665e367d8e3a114362b4479c418b9ba08c25727b4643() + { + $this->assertTrue(true); + fn() => ($test |= $test / $test); + } + function testd7b7c9ea4d968354233f707d8f1105f7c29567dbfc7624122134685b61f41e2e() + { + $this->assertTrue(true); + fn() => ($test |= $test || $test); + } + function testd8053d07286319e3af2aa967dcdb764e8978c5929c7a9c147f32cf5044000c5f() + { + $this->assertTrue(true); + fn() => (!$test ^= $test); + } + function teste1319401cbb5b3ea49adb26f6bde97ea6f8bb65acda75190af3a4792d219bdcb() + { + $this->assertTrue(true); + fn() => ($test |= __CLASS__); + } + function teste247f450ddb36ae402c3c7b2686500ebe622b532049c7adc6ccb6731fa50de6a() + { + $this->assertTrue(true); + fn() => ($test & $test ^= $test); + } + function teste462114fb1b3ffd7f86685f04c2a342d987a6e5d151af9620c6d9308b4eb09d5() + { + $this->assertTrue(true); + fn() => ($test |= __DIR__); + } + function teste5a53675aa2a557ea24732bb138cda6a6045a94663ff2b14211c9da5b9430de0() + { + $this->assertTrue(true); + fn() => ($test |= $test + $test); + } + function testf005e5009a83ecd823ed9589dc5af229b187e289e42123a9d0a4c1edb09c1811() + { + $this->assertTrue(true); + fn() => ($test::${$test} ^= $test); + } + function testf092c092f92900ed0440534691dfe15cc80f1ecb1c94c57e7fecae101d69af9f() + { + $this->assertTrue(true); + fn() => ($test |= $test != $test); + } + function testf50112f170f45ddf633f973458738cd9fe6e126e2981fe654f75990a4a4d3b06() + { + $this->assertTrue(true); + fn() => ($test |= $test !== $test); + } + function testf5ee5e8b0871c80c0613ceabe2dfe113b0e517c0c38fc392dda278294a05eb52() + { + $this->assertTrue(true); + fn() => ($test |= 'test'); + } + function testf6a77929e8291ef90cb10ee541f33902a8dd0fd38c0149ca5bc82fb5a511e157() + { + $this->assertTrue(true); + fn() => (throw $test ^= $test); + } + function testf9333e93047da2b54aed3ae89ac57aced9cb8e500c03c660a23d1eec224d7f91() + { + $this->assertTrue(true); + fn() => ($test ^ $test ^= $test); + } + function testfb84ef6bbe94bba5b5397af9983103d389e22c2b554484e7f56ff4c1de321cdc() + { + $this->assertTrue(true); + fn() => ($test |= throw $test); + } + function testfd5bef4bb77dd924e29e9549ae54409ce18ef64ec51ffd0cc6311c507e8f400c() + { + $this->assertTrue(true); + fn() => ($test |= $test >> $test); + } + function testfdabfb502854f81822457611a0d2ebbcaf57fba966f515a8fb850002a5ca815e() + { + $this->assertTrue(true); + fn() => ($test == $test ^= $test); + } + function testff65a4b7581ade8be41d90914a35cb3aa6308e51706e621901757796e161eaf3() + { + $this->assertTrue(true); + fn() => ($test * $test ^= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest.php b/testsGenerated/Target/Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest.php new file mode 100644 index 000000000..b89c424c1 --- /dev/null +++ b/testsGenerated/Target/Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expression0cbd90879461880353aba1249f749ee855a42bff12725ce7ecdd050bb6e9e13bTest extends TestCase +{ + function test0206545b38b13f9eae447ba6c5ef776155ff38e5d98e11019582a70e6227c028() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test == $test})); + } + function test03009f83919a0aa7675750d9cd51ca561d009541b58ac26612918b59c92b1921() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test && $test})); + } + function test065256a3a4cd4be695ac67b4b8ccc62fc241646a0fb1612a0a8b656287ea8220() + { + $this->assertTrue(true); + fn() => $test?->{$test >= $test}; + } + function test076a41faf5a398c466a8c2589fc7145bc7785d7fc94255968daeeca57ac6a943() + { + $this->assertTrue(true); + fn() => $test?->{$test === $test}; + } + function test08c1bc95cb54fffc5cb982956676618819f5afb5de336f15f625bf11aec6ca89() + { + $this->assertTrue(true); + fn() => $test?->{(string) $test}; + } + function test0f6fb296e5c86ed9a74177ecb0e34477563c7cee9ac6fc3077cb1b020272dfa5() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test %= $test})); + } + function test1002c9133bc36562fa0bd64ea05e9daba5bc9e7d77d5fd234196be3e3e78d3a3() + { + $this->assertTrue(true); + fn() => $test?->{yield from $test}; + } + function test134bc5ec842555990085768a624678f2abd4638633793e380c7996eb8479d92a() + { + $this->assertTrue(true); + fn() => $test?->{$test != $test}; + } + function test1474e4238ce6402fb2502d52265d7cdee89c427b17603de446ef8d96ac3735b0() + { + $this->assertTrue(true); + fn() => $test?->{$test and $test}; + } + function test16d0755de70f8fbd64dd07eae1bb086cedcfb6f2e9126ab754b3056dccf9851c() + { + $this->assertTrue(true); + fn() => $test?->{$test < $test}; + } + function test18ee4af0c3f50b88760e5ad2e0a06fc78f7136c069818da034403cd9fa0be749() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test -= $test})); + } + function test2288dccdab36d6c140cd0fbb29ea193dc2cb6216ed1c9dafe4e33912938001c1() + { + $this->assertTrue(true); + fn() => $test?->{$test * $test}; + } + function test2b1904c77712bc525516711cd58f27456f3b95b244ea9c294bfdfeec778ae6a8() + { + $this->assertTrue(true); + fn() => (isset($test?->{0.0})); + } + function test3a09f897c622cb6ef5358f8fe659078c2288223d7d733daa2dd4d96d577e1f81() + { + $this->assertTrue(true); + fn() => $test?->{$test .= $test}; + } + function test3ab430b03b994d0cd6bb320b78c143217edcca03b4189102da57efd921897df9() + { + $this->assertTrue(true); + fn() => $test?->{$test !== $test}; + } + function test3bc1cfbc3ec89062ba1e5f44b118c8d9e23e743dd98347c5ec6f2ade9520a500() + { + $this->assertTrue(true); + fn() => $test?->{$test %= $test}; + } + function test4077e8601311e684f87c7c8f8047149ea5d970107bdd3771b38532e3627ff0cf() + { + $this->assertTrue(true); + fn() => $test?->{$test || $test}; + } + function test4730d88326e452c66ae5ee1cd510ebf1dae22039c01d14ad7fb720364649b9a2() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test ** $test})); + } + function test48c9331436e59934660ec4e0fb2c974434771ccb8ab25a6d903e34ebccaaab33() + { + $this->assertTrue(true); + fn() => $test?->{$test ^= $test}; + } + function test498267a6244016679cca30d39ad25e9a965117c42f504ab359a0dddcf4ebdfdf() + { + $this->assertTrue(true); + fn() => $test?->{(array) $test}; + } + function test49ceb28573d48d52b5605ca04c1ccc3a768839b51d6dfe5bb2d19bd8cd9a2000() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test ?? $test})); + } + function test4a5896f20789828fd2b63fc3c43033af82411bbb577806fe2e59f55d993fa374() + { + $this->assertTrue(true); + fn() => $test?->{$test - $test}; + } + function test4be9b545bd1d39c3427226a631bed2009c2029d108d715dded402ef87efc4249() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test &= $test})); + } + function test4e168637e5f664bcf5f1cd6522e160927fb0f328b5b5acd39a3100eccc680a23() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test >>= $test})); + } + function test50a498fffc57b59d69c10c6bf9fc835be6913ac1db840bb3109fe862f4cdc182() + { + $this->assertTrue(true); + fn() => $test?->{$test >>= $test}; + } + function test5236bfef56f3455d54ab1065f075611163fd0fd5e7426769e013863f9b3e57ea() + { + $this->assertTrue(true); + fn() => $test?->{(bool) $test}; + } + function test5299d08c5812aa894a017e950072e157f6ffa2791c45b16f2e4ee1f870247eb6() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test *= $test})); + } + function test5402dbbcfbfb1f3742581bb1216a0e22e6848b2e851a39e5e035403365950ee5() + { + $this->assertTrue(true); + fn() => $test?->{0.0}; + } + function test542ae98c336ed7169375ad28b2b6d43fcfc0e0f799e520e0240d323b7b01b320() + { + $this->assertTrue(true); + fn() => $test?->{$test << $test}; + } + function test54d4fdd6dfeebda1994aac17f8a6e5c4aa09fa205b4800dbeb1a98d853d854d2() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test & $test})); + } + function test57c6e775118d83dad5cd0bc269963ccef803e7be7be273895f9128fafb148cee() + { + $this->assertTrue(true); + fn() => $test?->{$test &= $test}; + } + function test5f9d76bc830264975bf02bb9233e30a3f5f054ef80438ee23b4ea3a868bd4b0f() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test === $test})); + } + function test64dda55e8be17137dbc9e268244c69643cbba04fc82aef3f71a5d5339f8d8516() + { + $this->assertTrue(true); + fn() => $test?->{$test & $test}; + } + function test6747c1a981ca06f40391f4b30a3f8248338065460fa7fedbf16d1e2c1e0d2bbf() + { + $this->assertTrue(true); + fn() => $test?->{$test *= $test}; + } + function test6a562b8e2562d2d23ef7325c865eac61e0089db7b2a427495441b5e76e40d6b9() + { + $this->assertTrue(true); + fn() => (isset($test?->{(int) $test})); + } + function test6d975a002b056b062f6a850fdbc845cc91e0805a35e937ba25064b9059109ec7() + { + $this->assertTrue(true); + fn() => (isset($test?->{(bool) $test})); + } + function test754e6ddd6c8d2a69699ebb2a6d1d418e07a74efd0d9960fd1e646bd4d0e4c02e() + { + $this->assertTrue(true); + fn() => $test?->{$test <= $test}; + } + function test790ffef0d24cd0a2a7db05ef4b304bfe2508afde9b345af78fa67c49daa1e77b() + { + $this->assertTrue(true); + fn() => $test?->{$test >> $test}; + } + function test7b1b20dd8093fbf8f77a61c4ee83a3f46d3795b60033feb7a2634221b8d95df9() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test | $test})); + } + function test7ca6b05c68ffa906e6cdfc22efb5a9465bbf13752bc26b74dcee2f09319c8e07() + { + $this->assertTrue(true); + fn() => $test?->{$test ^ $test}; + } + function test7eb0228f210d586b2df863f329dde741fa34e6fabe347391c53913a87031bf78() + { + $this->assertTrue(true); + fn() => $test?->{$test ** $test}; + } + function test7f1d0cd442c6c41d279fe55840d929ef1ed79de7cc986b2ede60d0d643719dcf() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test > $test})); + } + function test8121a4c617a46708d6ddaabe47d075724ea9b70b7d215be5b92a7ed33aeb3793() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test <=> $test})); + } + function test817595b8e1515059931a476aab5dad89e82591084f4757734fa8a8fef74f88d9() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test << $test})); + } + function test845061fdc8e490d927d503bd14bdd27d0452f7e8ec1fca5c61a04c78a1ed9271() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test < $test})); + } + function test8996b5c40e93a952d4e102684bb26de08b370ad6b0c9996f761b00205f0279ed() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test <= $test})); + } + function test8b4aef3daf91f77fd5e099c50795416d9049184538cef9a573addf76a2aaf437() + { + $this->assertTrue(true); + fn() => $test?->{(int) $test}; + } + function test8d78a2eb1c7761de1ff704cd3d3e80608c0fa296b793c3bac89af9330ef3c7e4() + { + $this->assertTrue(true); + fn() => (isset($test?->{"{$test}"})); + } + function test8ededd18cc35eef3730afa6b17939bd09614af1946e2c7dc7acb9b8edf71995d() + { + $this->assertTrue(true); + fn() => $test?->{(yield $test => $test)}; + } + function test8fb15b2b9aa016d33c447bd0d7664179bce403654c3e64ac0409e1b48bd970b3() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test += $test})); + } + function test954a639aa75a588928b2d3d951ef2f38a5e704ce9e690d421c8242c785971fe5() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test |= $test})); + } + function test95e9b00fb80bf425635f3dacb8b5568fc4eb7fe345d2001a741143bbbe1991bb() + { + $this->assertTrue(true); + fn() => (isset($test?->{yield from $test})); + } + function test95ea5db017c4864345054eb128f6575efae3e58a12af423b0d24df3444573000() + { + $this->assertTrue(true); + fn() => $test?->{"{$test}"}; + } + function test97332ab05f54ac98c19edd9eff2e004df41d78c2a5f73090e1fae5ad155df901() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test /= $test})); + } + function test9b9ea4060af5ff29052dc366f0688b9a7e42e747447a0c807acc3a824a542b41() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test * $test})); + } + function test9d24ead5a5a4ed6d644dfdf2fa9bfd7ebe6d78808950a72c526da62af41797c0() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test . $test})); + } + function testa0431d28b353ff510b384fa5f6e32942d3b55b86379960cbeaa28447a939b4ac() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test ^= $test})); + } + function testa2b1eede0b9506b17998c29b1e0a15f8af608336b8bcaaf323984358adee6653() + { + $this->assertTrue(true); + fn() => $test?->{$test + $test}; + } + function testa49293e69f0c2b83970f3045a71218c077b0e69a485159811394c1a1f1a27506() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test % $test})); + } + function testa4c015776d5a2260a699852bce4f2ffb4f89d623a4763d4111d5981684c39150() + { + $this->assertTrue(true); + fn() => $test?->{$test && $test}; + } + function testaa869c163c2c3c03595c5371d51f36ce8bef474b0f1416c579934eac72eb3eee() + { + $this->assertTrue(true); + fn() => (isset($test?->{(object) $test})); + } + function testabb0434e6ef5f45f808aa3e161852a3929153c8896fd7c167dffb72912404a43() + { + $this->assertTrue(true); + fn() => $test?->{$test += $test}; + } + function testac73d04323272d184658bb9d44adbf21bca50436ecb3357ef0bd025b544221c3() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test / $test})); + } + function testad9482280e3770ed27a71c68a6373e73e45aa4eb055cbeb881ce6d223ed382f7() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test .= $test})); + } + function testb166b2d708d8511d0f5c2d85550e76b49fcffd38cee5d8abb0e939fc00a486bf() + { + $this->assertTrue(true); + fn() => $test?->{$test . $test}; + } + function testb3b4195e0495ccffa6a79033a7009a80c8704d41cd69b59a74762b30a9024ad5() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test >= $test})); + } + function testb5000d1dfc7f79cd94812fc010e2fda668d32740736c0f39bdd0c1579985fd4b() + { + $this->assertTrue(true); + fn() => $test?->{$test /= $test}; + } + function testb6bdf60cd1799e3fdb61cafd2f841a5d34994a9ec874f0ec2b057aadf5c93548() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test ??= $test})); + } + function testb7b6cf9fc1bddcd437a2f45e9661845e858e9829a2497d9efedb8254b91f4733() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test <<= $test})); + } + function testb8ee1cdc079370b3b036387447ad4a9867b6b3551eb01a2f3e531fe9ffac457d() + { + $this->assertTrue(true); + fn() => $test?->{$test -= $test}; + } + function testbb0404560bdda292744914d13a953967100e7733fe42d9348f47c1d66af67f36() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test || $test})); + } + function testbd1e89363749c1f4c90ae62ea5be207d645083d99d1df7c83bb9067fa4864abe() + { + $this->assertTrue(true); + fn() => $test?->{$test == $test}; + } + function testbdfb6ef27522f2e448348f7ac86333cb8fbacf4d89ce412165d1292669c0b6a1() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test - $test})); + } + function testc17f9a7bcf844ca01f88a4f472b9f82964a195d214a63267e25ee5e27190ec0a() + { + $this->assertTrue(true); + fn() => $test?->{$test <<= $test}; + } + function testc28c51d6dd3d00567591343c43b62e0db2d4858b69228006e520db880a78bcf0() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test and $test})); + } + function testc85f6985076f8de45a7f2a7e3d0fbd3ded4f407d79d9feba24fe391e0b2087f1() + { + $this->assertTrue(true); + fn() => $test?->{$test > $test}; + } + function testc90ec0df092ad095d36260d9b6d4a1aee408983bb94e7b56183ffd0391c713ea() + { + $this->assertTrue(true); + fn() => $test?->{$test xor $test}; + } + function testcb461a20720c9f2514d38f045fafc52f83a6a581c771915a6629041900615244() + { + $this->assertTrue(true); + fn() => $test?->{$test or $test}; + } + function testcd7715f511fdc7f765ff2faa0ae794e404b201595453e7be501698cdf16ff32a() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test >> $test})); + } + function testceb992579ed84739371797d45e58813d81d38d9705899dbe0b08e0951ab6a677() + { + $this->assertTrue(true); + fn() => $test?->{$test / $test}; + } + function testd158d3c0c348227f5ed5925fa22ee2cba30d504dafdb616cc697c9067a8e84c7() + { + $this->assertTrue(true); + fn() => (isset($test?->{(yield $test => $test)})); + } + function testd1cff7be3b41151652c13668723434fd0e5edc8b0655b5aa1519f9a0c97e4d02() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test ^ $test})); + } + function testd21cf52512521814c22121d7992c947b21f08e708cee61a50eec3410f2cba110() + { + $this->assertTrue(true); + fn() => $test?->{$test **= $test}; + } + function testd6cd8553f2f2b3f0ea1e7c14eb800406b604e55d901b4ec2db192f84ed91e5a9() + { + $this->assertTrue(true); + fn() => $test?->{$test ??= $test}; + } + function testd73596004c0ce80845c5a4e1f8e97cfc56b50a519deac69a600f506fa6ff48e4() + { + $this->assertTrue(true); + fn() => (isset($test?->{(double) $test})); + } + function testdca42e6a1619fb6f80ba12463f32f8361d2d6f8e604f2aea1855a1e9a035de95() + { + $this->assertTrue(true); + fn() => $test?->{$test |= $test}; + } + function teste04b252de4c8f451405c1d81e6feda2b5e951730003e193fa9de290a070c1bb4() + { + $this->assertTrue(true); + fn() => $test?->{$test % $test}; + } + function teste4bf4b666955032f88b64a4cbe36451ef335fd171371e44bcf42cff0e404a410() + { + $this->assertTrue(true); + fn() => $test?->{$test | $test}; + } + function teste67be7a753ba58470975aafceb5cc34cffd278c61758a90dc9cbb5ec8933b637() + { + $this->assertTrue(true); + fn() => (isset($test?->{(array) $test})); + } + function teste81212064027b01ec44284ffddc5cb7fc9bf8bb210bc0c7d764fd5728da4787f() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test + $test})); + } + function teste973781f40742bf04b854262b373cd5abc5d79c64219809b1a11152a2db17aca() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test !== $test})); + } + function teste9fbb9d4e97d4c3fc2774488e26305669181442ea8392132494dc948585577c1() + { + $this->assertTrue(true); + fn() => $test?->{$test <=> $test}; + } + function tested53dbc9191e658356d1dfea8b1842d1a89cf482ed4a2cbc1fb9ce7286c3bc25() + { + $this->assertTrue(true); + fn() => $test?->{(object) $test}; + } + function testf13268867ba149f16cbf505d3811caeb087a3d328e0834c92cd94e2b4ff075e6() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test **= $test})); + } + function testf1b6edba81a2d2ecf72aec0a3e8759ad06654915565480e26c5b641abce2052b() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test or $test})); + } + function testf444b2c62a56cb27bf60c2481fb1b37746c62b268a5d66a3970a79a103917413() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test != $test})); + } + function testf61a78aa248a045a62beb0868ba6635456862d520cb4544ee93bbf7c9e3e4928() + { + $this->assertTrue(true); + fn() => (isset($test?->{(string) $test})); + } + function testf6fcaf13a1f309dd326bf63c11d6170715936fa595917c3e704a6a9edc3460ee() + { + $this->assertTrue(true); + fn() => $test?->{$test ?? $test}; + } + function testfaec5f63a22ff72dc620878a0906db47ec346580a3ab51e29f1c3d03307588ee() + { + $this->assertTrue(true); + fn() => $test?->{(double) $test}; + } + function testff0f20d30dfde21e434b4992acd414eddac3e6ccc6c4e32aada956b52156729d() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test xor $test})); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest.php b/testsGenerated/Target/Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest.php new file mode 100644 index 000000000..57baf0426 --- /dev/null +++ b/testsGenerated/Target/Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression141e695e7921f874bf823427046434c5e3999ac7d0b22f555c27db87c8f2c98dTest extends TestCase +{ + function test000c753d5b7069960a166b292b455de9fa638300c5920beb2fb1ad17e35a0413() + { + $this->assertTrue(true); + fn() => (($test xor $test) === $test); + } + function test01cac80641d5334032e84506f2fa13f574c3f4856f8e8fa9e064a25c3f0804be() + { + $this->assertTrue(true); + fn() => ($test + $test === $test); + } + function test03a8e9e1946d418db49542c73e1f5a56c4b7894772c7e8f4be678aa44b93b82a() + { + $this->assertTrue(true); + fn() => ($test > $test === $test); + } + function test045d01693aa9f10b6127a87fb23dbeb6879ab17dedcda9a00b7fee74c5a8ca84() + { + $this->assertTrue(true); + fn() => ($test === function () { + }); + } + function test0c32ec2e063895ff06cd5ac63a4d1c126105a8b494870842834cea9ae82a2190() + { + $this->assertTrue(true); + fn() => (__DIR__ === $test); + } + function test0dcd7ccfe9d4fdb966cdd2491ea7f3b3aae541b641b179949d0b3800da7f58f2() + { + $this->assertTrue(true); + fn() => ($test === $test[$test]); + } + function test11137152e6f0915564dd0fe8788cabc80bd6fd31933c6b124ef236ebc48119e8() + { + $this->assertTrue(true); + fn() => (0 === $test); + } + function test1228747843946e9cfe12408d043f2c906524fd3bb33c47f7f696c5f1f4ae4bbe() + { + $this->assertTrue(true); + fn() => ($test === $test); + } + function test1312ab5c3e0e115759d3f0ce4e154d84bfabc31dbb7987716838c1208ac0b1b7() + { + $this->assertTrue(true); + fn() => ((object) $test === $test); + } + function test17c2ea5c659550934a8de71177681b124c4ba33fc34fd90fb530baefed648f54() + { + $this->assertTrue(true); + fn() => ($test === ($test ? $test : $test)); + } + function test18c5d4b1cb7a55e8e4b407640e23ed06f0513f76af33ea52c07743ea9f4b0b5a() + { + $this->assertTrue(true); + fn() => ($test === ($test %= $test)); + } + function test1d95bc2f728b3195fa496b81a15539d1fea833e47f2bf28627b5e91b94a7227c() + { + $this->assertTrue(true); + fn() => ($test === throw $test); + } + function test1e8af9978ceb20b581a04918fd3a8ea8e420078f3f18e6071f17959939c8a498() + { + $this->assertTrue(true); + fn() => (($test ^ $test) === $test); + } + function test1fcfeb66e34334b814c9636c69900676319e3595773b8651d52bd16212a92607() + { + $this->assertTrue(true); + fn() => ($test << $test === $test); + } + function test22a258e9a06672fcd75b3826a72efe51ae15cede5550b8e29f24dba17356843f() + { + $this->assertTrue(true); + fn() => ($test === ($test .= $test)); + } + function test29670b2ffad71c5b39fb47580b7c8c1fdd73f9b0bdf447851d80d90cf2d23bac() + { + $this->assertTrue(true); + fn() => ($test === clone $test); + } + function test2ad158595d5ae7c7b91dc0a4d0d91b60bada6108a978d646438fecdce7d17907() + { + $this->assertTrue(true); + fn() => ($test . $test === $test); + } + function test2affac7248c520ae63931d53add70c80fd0b67a581ed9a7a63d67329a7ff5588() + { + $this->assertTrue(true); + fn() => ((double) $test === $test); + } + function test2cfd94ac99cc2d43f3c165ab193976d894710d8cc3fd2703a485670533d00740() + { + $this->assertTrue(true); + fn() => ($test === +$test); + } + function test38fcc476494715d1d2618407ca51b718e1f9f4306ed92900956ddd61fa15c12a() + { + $this->assertTrue(true); + fn() => ($test <= $test === $test); + } + function test3e9488e2b13f8966ef6cfdaad27f61fde0b38a9e78c7b444d8775e064ad267bd() + { + $this->assertTrue(true); + fn() => ($test === ++$test); + } + function test42538167771105ed86fa5df820365c20ac39424df1604084d06e31877d085267() + { + $this->assertTrue(true); + fn() => ($test === --$test); + } + function test42616c8f7aacb5bc2191087c39f42f5746a593848442699448262aee098ae9f0() + { + $this->assertTrue(true); + fn() => ((bool) $test === $test); + } + function test44b86935db3162d65863a38907d7d5500af6534b5f0aeceb573c22bf6cdbd623() + { + $this->assertTrue(true); + fn() => ((int) $test === $test); + } + function test45a28eb9443fb55bc44f24d777409788a884aa91dec71113342070510bc6a86a() + { + $this->assertTrue(true); + fn() => (__CLASS__ === $test); + } + function test47d2a5cfb8f351b32a553ec872c2146c031d39407383c4223cf4a9c226db5692() + { + $this->assertTrue(true); + fn() => (__LINE__ === $test); + } + function test492079a6a0c35615877b01b034c7501173a31e02d2cd1c6315a31d1434d6e06d() + { + $this->assertTrue(true); + fn() => ($test >= $test === $test); + } + function test49d32d14acca675a0dd71dbce0dbf5c8b874448f77b2a8af7eaeb7ded011f70d() + { + $this->assertTrue(true); + fn() => (($test != $test) === $test); + } + function test4f86e7e15ad805bfb7a7d60ab932d8941caade55a54c7d3cfe080f822995a82d() + { + $this->assertTrue(true); + fn() => ($test === ($test |= $test)); + } + function test50309624e92c27bed12acbe58cc7d2592e4759e3167993f6e2e912cdd21a1a72() + { + $this->assertTrue(true); + fn() => ($test === ( $test)); + } + function test512c9887139d71ea759747c57fdc0576cd8bf342cb946b59727d2a0285b66b31() + { + $this->assertTrue(true); + fn() => (($test <=> $test) === $test); + } + function test532e9c4da71d0c9171f6d3f06df50a72c9f0cdfea7975941398cdd9427187269() + { + $this->assertTrue(true); + fn() => ($test === $test()); + } + function test53a9c901af04aa84c11d74f6adc05ff0753ded6267b00ca1b8d6fffe7e63f0b5() + { + $this->assertTrue(true); + fn() => ((array) $test === $test); + } + function test56e81cde0be53b765f2bf259e586dc0eacd6823699b6f950eac5b503ac49b1a2() + { + $this->assertTrue(true); + fn() => ($test === ($test **= $test)); + } + function test5856841d5a6739a6399735a4776500ad81f140ab29432a42ea8994d8495b42bd() + { + $this->assertTrue(true); + fn() => ($test * $test === $test); + } + function test585ee1525212a14f5915bf5d0ab0afbb8ebbf22151797b632e50993ff9337bc7() + { + $this->assertTrue(true); + fn() => ($test === ($test =& $test)); + } + function test5ae280edac687e0a56d4f9dd3066b3aa6151ec2748b11f168d0f7c59e21d0b95() + { + $this->assertTrue(true); + fn() => (($test ?? $test) === $test); + } + function test5df2dc15cc533b5fc5015a37eecf6a0b048a9af61340db71fde141858c7848c3() + { + $this->assertTrue(true); + fn() => ($test === ($test >>= $test)); + } + function test5ea38bb7aeeaac24aec775e6b59b19fa61fe1de31ed95dafb8b3c6bff51f1dbb() + { + $this->assertTrue(true); + fn() => ($test === @$test); + } + function test5ff642d9e22d708cabcbfc8dc388131b110d585148442353d284f8fbdfcdb3d0() + { + $this->assertTrue(true); + fn() => ($test === $test->{$test}); + } + function test6a2ae5692d4880e44da7d16b8129d9497dec1bae7fa915e8911c025975ced53f() + { + $this->assertTrue(true); + fn() => ($test === ($test -= $test)); + } + function test73fcc7f3e7ae9abd1475176ec607737c3f588a125cbc97eca1f5e06a0320b95e() + { + $this->assertTrue(true); + fn() => ($test === $test::$test()); + } + function test76828baee35b342d845a21acee33a35b7fbdc8b928dd413661dd3357c56f3208() + { + $this->assertTrue(true); + fn() => (($test !== $test) === $test); + } + function test801f368a4bd81f89103fadb0eee363546b3a675b2a97925d6f0980bba5bb6b4d() + { + $this->assertTrue(true); + fn() => ($test === ($test ^= $test)); + } + function test823524be339618822d265d47fbb86423b383c462533a155f39d528d09dfa557c() + { + $this->assertTrue(true); + fn() => ($test === (print $test)); + } + function test8341c7e2af70c5c1aab79d62ed5a54aa7f1fd547f3b73f6a6713911e16e20beb() + { + $this->assertTrue(true); + fn() => ($test === empty($test)); + } + function test859ab142df88e5a9e813059833cd6ba5c7dd0a10f5c2735689927dc07a95e890() + { + $this->assertTrue(true); + fn() => (($test and $test) === $test); + } + function test87fdbccb5255be66c4ea40daccd13caa120f5b92e2614e2b75fae1c37058abc7() + { + $this->assertTrue(true); + fn() => ($test === $test->{$test}()); + } + function test88a497be3cff372ebffd9b75e3772a6aeef9aae55e4541e13f030d24c7353c7d() + { + $this->assertTrue(true); + fn() => ($test === new $test()); + } + function test8a28517370f0aa908893d0a124714406a52d23416d5a5cd7cec2a4932e116c1d() + { + $this->assertTrue(true); + fn() => (($test >>= $test) === $test); + } + function test8aa591b9cb80304f3bf58199d8e2792f123d90454ff3012bed1df0996ca02efa() + { + $this->assertTrue(true); + fn() => (($test === $test) === $test); + } + function test8c294c77c616421f4b8ea2b8c86626fcc076890c5ca9cc1040f48ca0e6b2f1a2() + { + $this->assertTrue(true); + fn() => ($test === ($test ??= $test)); + } + function test8d0a83f4a16a95516591db9a3ac743d047df5dc73f7e21af66577bb77f96ebb2() + { + $this->assertTrue(true); + fn() => ((string) $test === $test); + } + function test8fb7c1242d25f9ae0d95b48a9983660dc2fd1ebed7278d7429f7f8b21eb46a4d() + { + $this->assertTrue(true); + fn() => ($test / $test === $test); + } + function test90e533be232924858013b15191fc2e6e8846a4faa9ba85b542c9f9a6e99282f3() + { + $this->assertTrue(true); + fn() => ($test === self); + } + function test9498ab52fc9973c5a83a96a5ab7256919ba5e4a58088375eca6799ae6debfa5f() + { + $this->assertTrue(true); + fn() => (($test & $test) === $test); + } + function test94ab7694c7e5a11a96a24fcbbb4e7da4062976677aaec39cdefad256aef9f4e3() + { + $this->assertTrue(true); + fn() => ($test ** $test === $test); + } + function test9a0b128ffc1c591ad132b513b5ef66697f8d0b98bbd73e30b2c9ffcdcceb6ffc() + { + $this->assertTrue(true); + fn() => (0.0 === $test); + } + function test9adba4911021301af5a9e1e25603c278e8c3651c8fd9528392862fdb97c75f2c() + { + $this->assertTrue(true); + fn() => (__METHOD__ === $test); + } + function test9b30966617a21cc2bea6c0a1276eaba4e36375a9230a8094c233fea647166f0e() + { + $this->assertTrue(true); + fn() => ($test === -$test); + } + function test9c9880787cad3482959e423a45a6409d5fdd2ee400b0acd7b70a006e9faa69c6() + { + $this->assertTrue(true); + fn() => (($test && $test) === $test); + } + function testa12a2024cd795bb508c9450bfc800e25b9bde5b4ac0632ed7c4bd7837c69f659() + { + $this->assertTrue(true); + fn() => ($test === ($test &= $test)); + } + function testa41c7d555c21fe0d989c7e2a43d50c73f37aab19cd8c552bf445ac4d1c3e3f8c() + { + $this->assertTrue(true); + fn() => ("{$test}" === $test); + } + function testa679d7753466590a580d37f387921a6bbd3e6ae0cf76084c9a77501d6d7c58ea() + { + $this->assertTrue(true); + fn() => (($test || $test) === $test); + } + function testa75d7069e026639c841351bd3664dc386cfc887c3b78a57cd8419e25d68c6704() + { + $this->assertTrue(true); + fn() => ($test === ($test *= $test)); + } + function testab17b259983b3f9a7a0844ff6cb2e9a49bee8cbf4246420aae70236c242b70b2() + { + $this->assertTrue(true); + fn() => ($test === ($test <<= $test)); + } + function testaf958d57f67d0600db6f25462ca6a8d3820f9af69090dfad7b71ac3f5d2d8c4f() + { + $this->assertTrue(true); + fn() => (($test | $test) === $test); + } + function testb3f00e94b009b74030cf84401dda3b7520b8b39ef607b4270bf8f35be920f900() + { + $this->assertTrue(true); + fn() => ($test === $test::$test); + } + function testb49127d4f7d4bc03c934fa0812cb64a7ab05dd7e1db8ae967716388a686c4d99() + { + $this->assertTrue(true); + fn() => ($test === !$test); + } + function testbbc30f683db57fa5c6fd34170c1f017138bf811e3f721d1a82fe99af55db9c95() + { + $this->assertTrue(true); + fn() => ($test === $test::${$test}); + } + function testc07782efa861fd792303395bcd302208cf6708814e2a32e14cab38bc3ba8fa5b() + { + $this->assertTrue(true); + fn() => (__TRAIT__ === $test); + } + function testc19584a3cfd2158e0d140fbe9661107ef30ee24fecf1d249ff53354103ede095() + { + $this->assertTrue(true); + fn() => ($test === match ($test) { + }); + } + function testc217f2664e807b4078b8696592b32dec8c93f129dcca518945a46d55bebcc3c0() + { + $this->assertTrue(true); + fn() => ('test' === $test); + } + function testc2fd78661a9608187413980496d7939fcecc045f9d3bee2569f328f297ea9621() + { + $this->assertTrue(true); + fn() => ($test === ($test = $test)); + } + function testc3956b432414380fc41c675591176ac3f1535a7eea2ecafef96a990c97609091() + { + $this->assertTrue(true); + fn() => (($test == $test) === $test); + } + function testc58bb33e9c4f2dfd4988f8fd78f1a557a4dbc4dc6ed04ec4e9309222347935cd() + { + $this->assertTrue(true); + fn() => ($test === $test instanceof $test); + } + function testc6d3831f64e95ec93dad86a0d07b2de01fb072c8060d7b5e7f18c3ee14b641f5() + { + $this->assertTrue(true); + fn() => ($test === $test--); + } + function testc85299a71eed9f695bc5f1b7252fa68a2f6da870a49f3235d1b2f61a13e64db1() + { + $this->assertTrue(true); + fn() => ($test === (yield $test => $test)); + } + function testc9b0b424403579781d7d1d1b782e1c93c09b8e8353167037d6ab63695e1a60c5() + { + $this->assertTrue(true); + fn() => ($test < $test === $test); + } + function testd03af67425d406613aa4a2f2b46fc29b47562be12fbc9d0c90f839663b0c7363() + { + $this->assertTrue(true); + fn() => ($test - $test === $test); + } + function testd0b723adfbaeb23a9b739f9435c1ca66cec336d768a0b92fedbe73a3db4994c4() + { + $this->assertTrue(true); + fn() => ($test === ~$test); + } + function testd4741bb9672d1af089090895ddb7035ed130930fe03b04bbca4ac3d980e96829() + { + $this->assertTrue(true); + fn() => ($test % $test === $test); + } + function testd685d3e5975852bd0a96ca7c9797ec4a454d6fbc2e753365f883c4f3de2be06d() + { + $this->assertTrue(true); + fn() => (__FILE__ === $test); + } + function testd9eeaaf250326cfc5e54eb3b5f16239dbbd90466fc9e3694c3e88cc22d769e57() + { + $this->assertTrue(true); + fn() => ($test === (yield from $test)); + } + function testd9fb2c8a06630258fc322650a41d31b098d5e346533787fe13e3eb1dcca7fb1f() + { + $this->assertTrue(true); + fn() => ($test === []); + } + function testda3b52a143dfee2d41e24da4d23b8d246c2d91331a2b0633fa7e5f62b4ef0cc4() + { + $this->assertTrue(true); + fn() => ($test === ($test & $test)); + } + function teste212cce72801debec12bef8d9f1036e28d017a4f4abe317bc4948bb7ce43b7d1() + { + $this->assertTrue(true); + fn() => ($test === isset($test)); + } + function teste374461219d9d68a01f6e21a65933e10e3dc8adce3bdd6a7ea801812b017a8c9() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ === $test); + } + function teste520a43e1226c3e71e5921d605f8e72c0452c38492d4bc19924240a180535541() + { + $this->assertTrue(true); + fn() => (($test <<= $test) === $test); + } + function teste90104803c1f64cebaf7b88acfb1c3f53f44b66441f7d8e3687935495b3ba387() + { + $this->assertTrue(true); + fn() => ($test === $test++); + } + function teste92e8cfdcffe7baf8ecf306be9e0ee4f5e53f1b2c058c44369931562dc7f14d9() + { + $this->assertTrue(true); + fn() => ($test === $test?->{$test}()); + } + function testec529eadb40f0a75d6f5c6e4937f12005f0179b75e7c6d79a9ba714966621ef5() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ === $test); + } + function tested81bdd3ac3c91ed3b2d06299ec4a2571bf2ac795b820fb2ff97965438d9b912() + { + $this->assertTrue(true); + fn() => ($test === eval($test)); + } + function tested84f393f88a74973496823d018bc36ad2c45d8451cdc3c699e0033b892d45c0() + { + $this->assertTrue(true); + fn() => (($test or $test) === $test); + } + function testee8ab3e5b2502b8d9f854b34c9275790b174e57ceadedb346471393adb943aa7() + { + $this->assertTrue(true); + fn() => ($test === ($test /= $test)); + } + function testf3a99a495a075de0559cef367dc9427d603f8abe3cac5a280ee0775ac71e2d76() + { + $this->assertTrue(true); + fn() => ($test === $test?->{$test}); + } + function testf92d3c3de4ac7ca22ff621e65d13e790269509445e95bb1eb6393f50a7482b58() + { + $this->assertTrue(true); + fn() => ($test === ${$test}); + } + function testf962f5650f1f280067e81fde8e9ceb70a4a191e87eee52bdb792807992e29638() + { + $this->assertTrue(true); + fn() => ($test >> $test === $test); + } + function testfc75f3a0217e4620997a6378e71ba425a7d2f0b2a0e3474a0559bea1e504de6f() + { + $this->assertTrue(true); + fn() => ($test === ``); + } + function testfd692a9900e8e85ef29d03929427cd74bbc43fa7477710bb2171b894d34ac46d() + { + $this->assertTrue(true); + fn() => ($test === ($test += $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test.php b/testsGenerated/Target/Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test.php new file mode 100644 index 000000000..4f94f7978 --- /dev/null +++ b/testsGenerated/Target/Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expression14931330882ef85853c33c85f7e857cc6fa66dc96fc5c9d541f6733c41e9e490Test extends TestCase +{ + function test01c06996b4d38fecffa83395e500e707b725f5b202b30b9958e4e53a6cf040e2() + { + $this->assertTrue(true); + fn() => ($test -= $test | $test); + } + function test02dd7a17e800fe8a5f75d9f4008f461459e3c461c12cd4f902efff0528a69bfc() + { + $this->assertTrue(true); + fn() => ($test === $test %= $test); + } + function test036a4dd43bcae5ef63cf58904a5ab05a6a0c3eea3e6186487fea30e6b06e6157() + { + $this->assertTrue(true); + fn() => ($test . $test %= $test); + } + function test04ed9e0f53344533e1d8026c330c99322084cfb142126cd5a516eb0f3728d233() + { + $this->assertTrue(true); + fn() => (!$test %= $test); + } + function test071f6a8f2bab6aa41186e5fdc5ee38936532ddef30da2adeb0c314b78106d1a9() + { + $this->assertTrue(true); + fn() => ($test -= (int) $test); + } + function test0845b6d82c27bf51d4987f14dd0d6ef648fd77c3f922fdfaed3b7154d4bfad6c() + { + $this->assertTrue(true); + fn() => ($test ?? $test %= $test); + } + function test0f49a42c215ec6e6e917da3b6fdcaa59a7f7a2f33ba0d934ef588f5b023c6e66() + { + $this->assertTrue(true); + fn() => ($test -= $test /= $test); + } + function test1313249b6d9419993c5b1c05d78269a9ed91101f5aee95c378d2f8cf0242de12() + { + $this->assertTrue(true); + fn() => ($test -= $test - $test); + } + function test1374618986b17c043e079e1ec3098c3d68c77079c9689a213feb995b4d065df4() + { + $this->assertTrue(true); + fn() => ($test -= $test >>= $test); + } + function test1375a640bda35eba64bc57e6d14639404e45b230073f5865ccbd25310f1d9f18() + { + $this->assertTrue(true); + fn() => ($test -= $test ** $test); + } + function test16955f786687b9f5e523aee5b10668f0635fe9b7cc8b9a0b148cc14c16d4bfcf() + { + $this->assertTrue(true); + fn() => ($test -= $test * $test); + } + function test18d8ad641c9315997f22188f23bab06406ab6ca3afb74758352ddff317fa3c56() + { + $this->assertTrue(true); + fn() => ($test -= (bool) $test); + } + function test1b9854d0ecefbbe0dbe64b7a93159287e21cf725f36bba44e8de1267e83c5205() + { + $this->assertTrue(true); + fn() => ($test -= $test == $test); + } + function test1f6b146e70e4df008da480af5e110da3218deb1622b0a62801e9cbf44bb0831c() + { + $this->assertTrue(true); + fn() => ($test - $test %= $test); + } + function test1f6fa2c93dd3dc2fe0da29cdcd636309cb660e16ece0b31d59e43cb8aba6c3c9() + { + $this->assertTrue(true); + fn() => ($test -= (print $test)); + } + function test21e194ae4e6bb0619eb139d59e6f7f7730887e7d52120de53d3972711a8f1fa7() + { + $this->assertTrue(true); + fn() => ($test -= "{$test}"); + } + function test23a062628a6440e70795f351ae534bb8895b96106d4ff9f4f94f4fa61a2e8301() + { + $this->assertTrue(true); + fn() => ($test -= __FILE__); + } + function test24534a66b249d5a774354a9ad266403a4c84ee61bb1fc810a226d0dfb7c67c4b() + { + $this->assertTrue(true); + fn() => ($test -= $test <<= $test); + } + function test2a0a1ca1ebfb09c38fdcb980cf1b25e5b12254cc13f2ef9706f43f93021d719e() + { + $this->assertTrue(true); + fn() => ($test -= (string) $test); + } + function test2ab6f4c963b9934c30a6891c80d70dd43a1755b5eac224257b690c065e610939() + { + $this->assertTrue(true); + fn() => ($test %= $test); + } + function test308c670ab964ec09ffaef581c4a0c681f8eadbf3394337f4b5556e191b30d370() + { + $this->assertTrue(true); + fn() => (~$test %= $test); + } + function test31a46fbe0d32699176d3b7c2810a4ac15fca66c4d59c9cab51a65065ff0051e6() + { + $this->assertTrue(true); + fn() => ($test -= $test && $test); + } + function test339aaf1293b3aa5e4819665a36875015ff7fa037cc87e9a1b6ea128cb7e1d18d() + { + $this->assertTrue(true); + fn() => ($test::$test %= $test); + } + function test348f7cc27c2e44216a97721b6d889197b57dc96e05d08f3d476e6aa24a809e16() + { + $this->assertTrue(true); + fn() => ($test -= $test -= $test); + } + function test372da5933bf91fe0d83dd9cc898b9872f7852563e36ad7ee062337d4e6e85d29() + { + $this->assertTrue(true); + fn() => ($test -= $test += $test); + } + function test39aa190f4afb78115ef16c511a38090d83c836d05f2e302be876edee8063480c() + { + $this->assertTrue(true); + fn() => ($test -= $test &= $test); + } + function test3c6eb38282cb4fb289c477d2b8d5086231dc7649a31de45557a6f9460a14d9b4() + { + $this->assertTrue(true); + fn() => ($test -= $test ? $test : $test); + } + function test3ef5cc11aa5e31cced4dffc957e6eb607b99c57f4b1f17a91abe606e9d0da61c() + { + $this->assertTrue(true); + fn() => (@$test %= $test); + } + function test418dfff064f736b8f2cf754a35a01533b750adcfae1bf037002f6b0938a645ee() + { + $this->assertTrue(true); + fn() => ($test -= (object) $test); + } + function test44d06c547bf1d738ad02b507b5e00af6153668c5112eea3d55eac535ed2bb8aa() + { + $this->assertTrue(true); + fn() => ($test -= __TRAIT__); + } + function test4919362496476857ab27419b6b361780472533e1c5dfde7101745bac237468ed() + { + $this->assertTrue(true); + fn() => ($test -= (double) $test); + } + function test4bff74c1355811261a4cf4bda841bd796ff58880dc11d3b9a07acb0007e03e2b() + { + $this->assertTrue(true); + fn() => ($test || $test %= $test); + } + function test4c395a91a9383aa90578d554914005f96efe605ef9e0e5c56f8d40f279c1893c() + { + $this->assertTrue(true); + fn() => ($test -= $test::${$test}); + } + function test4e2fcf01824a00b2b8e854f9c86e87953a711c8cdd18d5c62a6d1896d3c793cb() + { + $this->assertTrue(true); + fn() => ($test -= $test *= $test); + } + function test4e379951ec59b201a7e4372f3557c06a48b250ac8b7305f29accb5b90b86a511() + { + $this->assertTrue(true); + fn() => ($test -= $test ^ $test); + } + function test5766fb0b8e8d756a86128a781d768c92ce36091a95ae2b6d794918db39cba8e3() + { + $this->assertTrue(true); + fn() => ($test -= $test %= $test); + } + function test57dfb1f58965cf9ed74dad763712237fc321352e18f70b9b23c6ea2854e8e355() + { + $this->assertTrue(true); + fn() => ($test -= $test > $test); + } + function test58d1d847a59c6a6aa52544b1c6c90a7687a30829072e08542ed197cfc39469c3() + { + $this->assertTrue(true); + fn() => ($test -= $test >> $test); + } + function test5f0f766dafe17651714446ce5b79f317bf02fdb20349b76bca8907573db5aa22() + { + $this->assertTrue(true); + fn() => ($test -= __DIR__); + } + function test5f232dba56ad6e65d104c8e1e6f65d250d503ec9f0c24723a479efd46dd50889() + { + $this->assertTrue(true); + fn() => ($test -= $test .= $test); + } + function test6261d838b7b093cda62d35517c8e2ddbd8ec297e3dbcae9ea272463336306092() + { + $this->assertTrue(true); + fn() => ($test -= __FUNCTION__); + } + function test62b9a1fdd129ef8e1492f92b7ddd444e2728b0c133f53979aa932e6eaa4ae30a() + { + $this->assertTrue(true); + fn() => ($test && $test %= $test); + } + function test64385719125389e0322e19e0f775d8859622c9b803064fdb432010484e66756b() + { + $this->assertTrue(true); + fn() => ($test -= $test >= $test); + } + function test678d8ae095462f7c1144ad77a96e1074fa284f32fb66ef836787f95b6979a7bd() + { + $this->assertTrue(true); + fn() => ($test->{$test} %= $test); + } + function test6f9fc30f4eb6759c43928db1288cf16867078e65823db692df8af848a4f3a386() + { + $this->assertTrue(true); + fn() => ($test -= $test != $test); + } + function test717f06b4339227a053f1ca180ece36c0c9763bd3b2d0ccc9cbc3a2882cff375c() + { + $this->assertTrue(true); + fn() => ($test -= $test |= $test); + } + function test7752f43bd16ce296b1b1ab9e54ab26a781d39ddfad0c50039bf5dcfd24545771() + { + $this->assertTrue(true); + fn() => ($test ^ $test %= $test); + } + function test7b31b5c4437d0dda1b7086192138d6934c204ff867b8455ad8c2c068aa7c9412() + { + $this->assertTrue(true); + fn() => ($test / $test %= $test); + } + function test7c7e5c847fd38b53e42d67e24316f12c6b373a9b59b9d764e22713fdc0b0ee38() + { + $this->assertTrue(true); + fn() => ($test -= $test ?? $test); + } + function test7fb988cb1ffc9088544be65e124963031831496492ebe775959b6a4ab8e87330() + { + $this->assertTrue(true); + fn() => ($test -= (array) $test); + } + function test81283f41f5f8ae873d7e0486f726657e484b4b2d566046cb0e3290542f80d3ec() + { + $this->assertTrue(true); + fn() => ($test > $test %= $test); + } + function test830db9aed04c2b2bffa730ac314581ec2cbaf40c72a0499c183569f3f8b9a815() + { + $this->assertTrue(true); + fn() => ($test -= $test << $test); + } + function test8622ff0beb48bcf2daf20b79ba6e126177c73aeb7982c45f7e21823fbd0a1d3f() + { + $this->assertTrue(true); + fn() => ($test -= $test **= $test); + } + function test88443289d106918f67588516c5b8efca156c381790bc9f83986d8ecacc873924() + { + $this->assertTrue(true); + fn() => ($test -= __METHOD__); + } + function test887e6403f5490c68c6f490dd7664a3833715bbc28f172d161cc45f24d70abfa8() + { + $this->assertTrue(true); + fn() => ($test -= __LINE__); + } + function test8ac6cec57bf43758f8097df330e380ae8499fb57d413e34a7e1bffd778ee679a() + { + $this->assertTrue(true); + fn() => ($test -= $test === $test); + } + function test8bc6de23f57b4e5521aa2da768062d122f453a64824f93d503deb6b58e8bb61b() + { + $this->assertTrue(true); + fn() => ($test != $test %= $test); + } + function test8ddfd88e98ea126532122ebe2e103b4a2577c76faaad15f44d7093536f63fa76() + { + $this->assertTrue(true); + fn() => ($test -= $test + $test); + } + function test8f506e7a277f065f6736a7fc7bdfc2140b27fefb8dac87d086efb3998e6e84c1() + { + $this->assertTrue(true); + fn() => ($test | $test %= $test); + } + function test98355d7e1cce78c096123aa737c23cd86e80e080b62b6dadd8ff06c366819abc() + { + $this->assertTrue(true); + fn() => ($test -= throw $test); + } + function test9a1ccdf0769f3577a5a783e25e0f6ca721fdcc43e63fbb1ad392a48768ce6ff4() + { + $this->assertTrue(true); + fn() => ($test -= $test % $test); + } + function test9c09983570fbe01c8bc78b42731cc0208f52c02d2b5d77ff7d384b250f04f9a3() + { + $this->assertTrue(true); + fn() => ($test -= __CLASS__); + } + function testa2930dafdd2248bcdb8037e2e572ebe1d983e4a458aff5e1ea7f5cdf81042aa5() + { + $this->assertTrue(true); + fn() => ($test & $test %= $test); + } + function testa2cea4d27c06347a2407dd11a6aed6ff05027e8093676ff9e4f8234e81aa1dc9() + { + $this->assertTrue(true); + fn() => ($test -= $test / $test); + } + function testa3a7a3f4523d6ff7121c76a61f7cc7f1bc6d31e84f606562e74e4dc2897fb7d1() + { + $this->assertTrue(true); + fn() => ($test -= +$test); + } + function testa77503f3b54430f9c6a927b9fd51fdba262affde72d6285f471a395dba983c1a() + { + $this->assertTrue(true); + fn() => ($test -= 0); + } + function testa962b4c9005bbe96acf067f1f9f07c6862f3a8dcb4b86da0f523c758debe2332() + { + $this->assertTrue(true); + fn() => ($test -= -$test); + } + function testab1a25ec32ff537c87743d1ddda66573a74db2e265bb26ab47f93e46b620820a() + { + $this->assertTrue(true); + fn() => ($test == $test %= $test); + } + function testb2ab27b9f2edeca0f95f6bb129b5a1077cdab165e728688d94097bbd07c1a48e() + { + $this->assertTrue(true); + fn() => ($test -= $test . $test); + } + function testb5d61100ea56203437cac68c4d3173757ffd9ac1079778c324778703b1844484() + { + $this->assertTrue(true); + fn() => ($test -= 0.0); + } + function testb6e06e0c484765536ff3af1e6ec38f92840fc2824b760fc6dba5ef520c8df3bd() + { + $this->assertTrue(true); + fn() => (+$test %= $test); + } + function testb95a05eb20f849f54d3bf5e447c8034f81bd6f64c99a6787f6ffd7fc34ab6f2e() + { + $this->assertTrue(true); + fn() => ($test -= $test & $test); + } + function testb9dd853a1a3b406e1178841af9d6fd8b041ceb8af4a93aecea3f7a22e7d82d9f() + { + $this->assertTrue(true); + fn() => ($test -= $test < $test); + } + function testbb1f34f557aca982baa6b034963a05335c37929a0f83e7ac4ccab5df1a7fd2ad() + { + $this->assertTrue(true); + fn() => ($test -= $test::$test()); + } + function testbdb01fd685a97e49ff3df5ff2b3557020a8b592f9ea11d72efa0556e80729412() + { + $this->assertTrue(true); + fn() => ($test -= 'test'); + } + function testc0abadfa5daba4bfaea9b7c64720f031c232d453d32d5222e451bfea52244caa() + { + $this->assertTrue(true); + fn() => ($test -= ($test and $test)); + } + function testc15d5b65fc733ed6b1fed9d843ef188642e7f557800f8f49cc47134e14a6440d() + { + $this->assertTrue(true); + fn() => (${$test} %= $test); + } + function testc3f71bbec4224df0a742d4a861f1d934d16f89b5dd8e2dbcfde2d0d22838cf95() + { + $this->assertTrue(true); + fn() => ($test -= $test <=> $test); + } + function testc527e3604dc64edfb163178e1fa4c401741d2aacc4659ad470b440f82f55fe6a() + { + $this->assertTrue(true); + fn() => ($test -= (yield from $test)); + } + function testc9bfb4956ec3000f67d8b40597743530ae3300318da68667d70b23c4f23c069d() + { + $this->assertTrue(true); + fn() => ($test -= $test || $test); + } + function testcb3354a24feea4c5d54fd03b3e80f8b928c5f47ba700fbddea4cd6be062c75e4() + { + $this->assertTrue(true); + fn() => ($test -= $test ^= $test); + } + function testcc70012f870f6ea6e1d36038b24bf764fea9c985844d73234faa409845d628b0() + { + $this->assertTrue(true); + fn() => (clone $test %= $test); + } + function testccac92c41c4515732b62501c7b82aaef5ff6f47b0f601a8c09cafc5b8e449516() + { + $this->assertTrue(true); + fn() => ($test -= $test ??= $test); + } + function testce5f60659b361a4c59f3ebb67bf27fea88a79f3a5be48703e434d4eaab387292() + { + $this->assertTrue(true); + fn() => ($test >= $test %= $test); + } + function testd94228544fa7982479337d93e8df02214671b5a4585f6b209ae7a2769737dfa5() + { + $this->assertTrue(true); + fn() => (throw $test %= $test); + } + function testda13eca83eaa9a7ce52179ba477c903ad2541205a5d588f424c222f1140590c4() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test %= $test); + } + function testda83f342006c1c748e1ec024dd2e8bb38acd10a465d172daca6d0a29f54370d8() + { + $this->assertTrue(true); + fn() => ($test -= ($test or $test)); + } + function testdcb411d016d8defc905418b14d1a40357695db89f9cd359642c3ee19e73b7d48() + { + $this->assertTrue(true); + fn() => ($test * $test %= $test); + } + function teste4798a3f377971faf3b7ccaf56bb79e8eaaeddb22e835b108550d23eb97399f4() + { + $this->assertTrue(true); + fn() => ($test % $test %= $test); + } + function teste648f47ad95791057802187e410f2e7eefb0b0b2948bc6e29cbebcab666f1255() + { + $this->assertTrue(true); + fn() => ($test[$test] %= $test); + } + function teste6fce847d6dade9d3092cd442e1f50472f425f52b78de9690ac66ea554dbb811() + { + $this->assertTrue(true); + fn() => ($test -= ``); + } + function teste7474dd9bc0af0bf6ab037fa3fc853dd5e16248f72dc5e987738e2cc7d2bcd23() + { + $this->assertTrue(true); + fn() => ($test -= ($test xor $test)); + } + function teste7833e74145a8c703671e7a9f28b974d6140d0984cc0630a0e85d77bbe649d5d() + { + $this->assertTrue(true); + fn() => ($test -= (yield $test => $test)); + } + function teste87ae48401b69dedc28f0296c77b26faa6526e1706ed7ea226129c8dea2a9196() + { + $this->assertTrue(true); + fn() => ($test -= ${$test}); + } + function teste91bbd0f33456352dd6632c77724babb93bd13a34935c40bf646ecc1ed8b8b15() + { + $this->assertTrue(true); + fn() => ($test -= $test <= $test); + } + function testeb813b816c3c983a8c7a357cb757ef3c24f78bb26d9666c5605f4b2ee9d6aa4f() + { + $this->assertTrue(true); + fn() => ($test -= __NAMESPACE__); + } + function tested41724db63f682b904d170dd6a4f7e0a9f966da218f8431380372f01d1179ae() + { + $this->assertTrue(true); + fn() => ($test -= $test->{$test}); + } + function testf5d7493a0f2b6972963967dc2a523d1c975256970601de3651ffe20c82c27099() + { + $this->assertTrue(true); + fn() => ($test::${$test} %= $test); + } + function testf60eec7d6345fbe1975a9e62feeb588657712cef5a9eb6eb9d507c30022d5d13() + { + $this->assertTrue(true); + fn() => (-$test %= $test); + } + function testf74590b7afb0ee25ec115271a380a36a4cfc3851e9a66a0466d5531cfa971f60() + { + $this->assertTrue(true); + fn() => ($test -= $test !== $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest.php b/testsGenerated/Target/Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest.php new file mode 100644 index 000000000..ada5c7a6b --- /dev/null +++ b/testsGenerated/Target/Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression1667549f36fc1d8fb7a8f77607bfee74ee235006c54d13cd45174297cc744d6dTest extends TestCase +{ + function test0470a1011bd6f29d631880734ce2b124ab9a0df3c2c9927a3a6e0b96b03bd77a() + { + $this->assertTrue(true); + fn() => ($test and $test ? $test : $test); + } + function test04d7ded854039e7848cc621e30c7974fb8fa29eade04161b1c517931a759dc35() + { + $this->assertTrue(true); + fn() => ($test and yield from $test); + } + function test099b18815a2fcfab5a53b1d9652088c4e275b1c0f8aa793b18651391660a8837() + { + $this->assertTrue(true); + fn() => ($test == $test and $test); + } + function test0bd1a664bdd0e1bf98ec4c30d26bfe2646d52811474d01ab027bf44afe702c31() + { + $this->assertTrue(true); + fn() => ($test - $test and $test); + } + function test0f63333de3c887980b5f8d713e3ab19095b20b1815a8e38a3b506032f2100710() + { + $this->assertTrue(true); + fn() => ($test and $test::$test()); + } + function test1392079c7c79face3aaadde54c1e5eb9afaa1a733ead7e5b1e280157c8d2249b() + { + $this->assertTrue(true); + fn() => ((int) $test and $test); + } + function test148879cc49d5aeae253e8ad9edf3bddea4b0298c299c7505c3d14a0d52a439b1() + { + $this->assertTrue(true); + fn() => (__FILE__ and $test); + } + function test1559d65dc1757a046ff195b98923275a7a2125e7cd28b3ff5adaa27a978ffcbf() + { + $this->assertTrue(true); + fn() => ($test and ++$test); + } + function test1978d75e3be42a9d6a836069249972ea525a7c7ae69fc1aef6bb5e1ad419b7c2() + { + $this->assertTrue(true); + fn() => ($test !== $test and $test); + } + function test1c63e9853fee67e486e177f8e563981f5bf290c9c63d79448444417308971e91() + { + $this->assertTrue(true); + fn() => ($test and $test[$test]); + } + function test1c9d37750fed1d5360dbdb1ea19f75968431b1b604e9dd26c25ab91a99d8e2f3() + { + $this->assertTrue(true); + fn() => ($test and $test && $test); + } + function test1ca7ffa8e69183cfa7928454e859398172213f41e538daa24321addbe8cb7cfe() + { + $this->assertTrue(true); + fn() => ($test and (yield $test => $test)); + } + function test1d6fce8ee84567fdb80944b5ad3470040f0161851b4d5c05e0299bb7e960e274() + { + $this->assertTrue(true); + fn() => ($test and $test ^= $test); + } + function test20637dbd1c2d356c1f1d88f4f6544ede22134d394b273236c5105eced239b77f() + { + $this->assertTrue(true); + fn() => ($test and $test *= $test); + } + function test261c5aad1c7845fd90baeb278f4c1d3a0a7658741fd054cdbbe77db8cbee38fa() + { + $this->assertTrue(true); + fn() => ($test >= $test and $test); + } + function test27589af8246f587c5180d933bc7f0a5dc3015d3813b90e431b77d29380729a24() + { + $this->assertTrue(true); + fn() => ($test and ~$test); + } + function test298a7c873af82e08b3739deb2da99e14f06bc9cd921e1fbee167a2e9c4c85603() + { + $this->assertTrue(true); + fn() => ($test and $test ^ $test); + } + function test2c0d008243d5eb0bb4b9c16ca120a0db46917afd67617de0d5f0bbb6b082f09e() + { + $this->assertTrue(true); + fn() => (__LINE__ and $test); + } + function test2ca59af1478ecbcbdff5785c599c0b97d5471c11cc04a6ee4d438b7b3e9b2923() + { + $this->assertTrue(true); + fn() => ($test and $test ?? $test); + } + function test31ef702ee83b860a417a8c8da9be72d4e612b105a2dc025d3469acb1db08f388() + { + $this->assertTrue(true); + fn() => ($test % $test and $test); + } + function test32b42824d160c26936cda279ac6dbd8474394a7fd4e5da904b5ba500110841b0() + { + $this->assertTrue(true); + fn() => (__TRAIT__ and $test); + } + function test35bad05b38e2ceb67df17daea7f58ab980f711108dc22f6c01f0ad3cf0c0044e() + { + $this->assertTrue(true); + fn() => ($test and new $test()); + } + function test388f0b78b7922b341fcf034ac88340b214ceb99d9606703969d81f8ca55e90a8() + { + $this->assertTrue(true); + fn() => ($test and clone $test); + } + function test3cfb2c783fc6ab0ae662f93471eedecde1cec7b2981b09a53f702393642df81c() + { + $this->assertTrue(true); + fn() => ($test and $test::${$test}); + } + function test3dfa088376386a7d5fbc09ee2e61d342ad0643f5f002cb43e2e5e8911d3f32f9() + { + $this->assertTrue(true); + fn() => ($test and print $test); + } + function test3f4330181a00ca2a01457147faf5088562e1c8ddd9125148a44805faa6b4c0ba() + { + $this->assertTrue(true); + fn() => ($test and $test()); + } + function test3f5060185f2ed6025fb945e0a3ae89e744ea9039905a6497ed34e5223b52088a() + { + $this->assertTrue(true); + fn() => ($test and $test += $test); + } + function test3f78bac5d01cb9b7e4b1a1306d55ffc13d5a864fb2dd3fd8022906a2265398ea() + { + $this->assertTrue(true); + fn() => ($test >> $test and $test); + } + function test4266366316be80ba1c162bc10d81f2d02256f0b8eb7b432d1cea3bbb60406817() + { + $this->assertTrue(true); + fn() => ($test and $test::$test); + } + function test455c673656b866b23f13410e08ce37f0c6edbd71663f2b7359a29eb5d62fc298() + { + $this->assertTrue(true); + fn() => ($test . $test and $test); + } + function test4bc8647ade433482a6887e2a41b526e53b64b21e8460b90a2741fbce428fb956() + { + $this->assertTrue(true); + fn() => ($test and []); + } + function test4d4492cc633e3af54e3de0e8525bb983b408be2a755b57b9c0c7e072bffb6bbb() + { + $this->assertTrue(true); + fn() => ($test and $test **= $test); + } + function test4eb515378ddde0ad40d045ab7b677359d12cc271fd3c27267ba0c50c2d84c11d() + { + $this->assertTrue(true); + fn() => ($test and $test--); + } + function test4f555adfa2a0fafdc4e9376cb6cad88dc70ce578d3c20c4d6f6f5347c2c2c439() + { + $this->assertTrue(true); + fn() => ($test and $test -= $test); + } + function test51e99361ea80743e54e0454c3c7c12e47264795d4871a53576bfa306a164dd8f() + { + $this->assertTrue(true); + fn() => ($test and ``); + } + function test57db62102ae66e2c322bc975421e390f7645a87517102329379bb70f2c6ac1bb() + { + $this->assertTrue(true); + fn() => ($test and !$test); + } + function test597ccd3f93f36ffc38197885a2c8e768334f829fd56956e1b750f7fae04e5a50() + { + $this->assertTrue(true); + fn() => ($test and $test >>= $test); + } + function test5a23bf159b4b71b5a859f4ae9e15d2e64222b5cd5ea2ce44f0e8ff17bba43628() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ and $test); + } + function test5e62502aaa6a360c3bb7b9baf1e90c55e90781e246e1ced46f8d0a4e8b0cf88c() + { + $this->assertTrue(true); + fn() => ($test and ${$test}); + } + function test5f5a40425eba7b3f891e725b96acaaefeed42f51d6a06ced5a81fbd605c2f4af() + { + $this->assertTrue(true); + fn() => ($test and function () { + }); + } + function test67efea3c6f9f830e34ac73816b32d8c3f5f427dcb26bb8f96fe65aa9412ac38b() + { + $this->assertTrue(true); + fn() => ($test and $test & $test); + } + function test6956f55fca428ced4ad7b205ea5a299520905302b56c38bb9422d41bfbf4adf6() + { + $this->assertTrue(true); + fn() => ($test and $test | $test); + } + function test69ea80af7bbb2d7b083a873d3c330018151e35b2a6ad47c0c278da822bcc6f01() + { + $this->assertTrue(true); + fn() => ($test and isset($test)); + } + function test6c784040416488c1afd3b3c0e9ba168c6a7f3c3e39889511434cb624a0dd89ed() + { + $this->assertTrue(true); + fn() => ($test <=> $test and $test); + } + function test6cb80dba9e7d7d6477c1657f8e590578325f3403bfee786d3c223d6a19b9794c() + { + $this->assertTrue(true); + fn() => ($test and $test <<= $test); + } + function test75b14a402ac1d3f1b14e6eb9e6003bf04bc7968aa9173f7ccf36a11262754103() + { + $this->assertTrue(true); + fn() => ($test ** $test and $test); + } + function test7674e3dbfa629c9ede2334c5056bf3dcf9f4a151cbe7d7b56d551ceb2b24b47f() + { + $this->assertTrue(true); + fn() => (__CLASS__ and $test); + } + function test82fbe918a10dde40c24a229167751e946a36733a1d68ef9b150fec9367e1873d() + { + $this->assertTrue(true); + fn() => ($test and throw $test); + } + function test842892d687144a933f84db956881fb010771d9d18c4d469365d2e4e309778ea0() + { + $this->assertTrue(true); + fn() => ($test and $test &= $test); + } + function test85a733e30cd9a2f5c2f50977f39248479d1fda5165dd30f53fef1675e870c49a() + { + $this->assertTrue(true); + fn() => ($test and $test?->{$test}()); + } + function test861a485f805fc3977f1235ff606aab848ab48ee1afb41af09bb9980aa370171a() + { + $this->assertTrue(true); + fn() => ($test and $test |= $test); + } + function test8d8cd2d06154fef5ccf72044faf814b905bf951b981a23ae3a054b5022779d65() + { + $this->assertTrue(true); + fn() => ($test and $test); + } + function test8e0363daae33e29f4de97fec8e2cf268c1b3f620520d361f95d1b23ea924a158() + { + $this->assertTrue(true); + fn() => (0.0 and $test); + } + function test8f7b910101f2f1479cc158215baed91cb5f26c0c62fcfe74a93f6cf45686e9eb() + { + $this->assertTrue(true); + fn() => ((bool) $test and $test); + } + function test96ce86e93df6c37f5379fdca094bcc5eb69d3ecc51e5fbcc66ea2ed2dfa0764f() + { + $this->assertTrue(true); + fn() => ($test and $test . $test); + } + function test97855079f7614f1b7e7e3861aca583c8b83793172c84004c60d9eb0630906881() + { + $this->assertTrue(true); + fn() => ((array) $test and $test); + } + function test98553b454c438acb4e6685395fd875520484f9af19b42680522e3e1bed9232bc() + { + $this->assertTrue(true); + fn() => (($test xor $test) and $test); + } + function testa5b86b46fb8ce5d2b650f8723435b39d8fc5b851e6a96cd1599e9e6800834350() + { + $this->assertTrue(true); + fn() => ((object) $test and $test); + } + function testa7e93da67d3e5e11a6690f59abf62140856364b6ba71c3c48fdacc5e27f76ae9() + { + $this->assertTrue(true); + fn() => ($test <= $test and $test); + } + function testa8207f14bb175260905a6b82927c686cbeb7e76111fc0d0a08eb7ea14ab79fbe() + { + $this->assertTrue(true); + fn() => ($test and eval($test)); + } + function testab04627657daf761a788839a037853f37126c3428f9b587dfa6ebaced9e35da0() + { + $this->assertTrue(true); + fn() => ($test and $test /= $test); + } + function testb05bc90e91ee5fcc4ac90874632b1809292ba81057c87830a0a2e61430560b9c() + { + $this->assertTrue(true); + fn() => ($test and $test .= $test); + } + function testb187298788b40c1890d28552ae8d3467d7cfd4c8f7f9153dd2502598bd72b47d() + { + $this->assertTrue(true); + fn() => ($test and --$test); + } + function testb4eb33b533511069ab82848393aa57369a60ffadb4fb0229db16ae19c3534cc3() + { + $this->assertTrue(true); + fn() => ((double) $test and $test); + } + function testbabf154d19fe490b929c9b642de3a0c189494f1233e0ce1bf6199da5bffa9463() + { + $this->assertTrue(true); + fn() => ((string) $test and $test); + } + function testbbdd69e5e443bf7c980d4fdbb00e50603e7592c28a717a42327305f2f2df1c16() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ and $test); + } + function testbd6fa749f95157abc73efa85003854987e8c74af9abf5c2b0b74b1292efa3d5d() + { + $this->assertTrue(true); + fn() => ($test and -$test); + } + function testbe3a5ece86729a1354e4dd2dccd50352b3f8fe506073e4cde5e174a6d6cff2a7() + { + $this->assertTrue(true); + fn() => ($test * $test and $test); + } + function testbe8fbca59fdaa7cab4601bd10e516c45f620116a391dedb3ef28f5f84498dc45() + { + $this->assertTrue(true); + fn() => ($test ?? $test and $test); + } + function testc22f2e62b28f89c85bfcf450b6db1152abd02497e66eabf5d72a129e9d1c3f71() + { + $this->assertTrue(true); + fn() => ($test and self); + } + function testc2324e5786959576a16baa05e24296f2ead26af5c0c3e0e47344ee44686120da() + { + $this->assertTrue(true); + fn() => ($test and $test instanceof $test); + } + function testc3b2091f45ba3decc991ce57cd2cedf29a0335134903d3e7cbf9a4386fa36d6b() + { + $this->assertTrue(true); + fn() => ($test + $test and $test); + } + function testc3e83bd75ab29a3b10ce142ffbb5427ca1fc1f9db2d358ab698be6c31d0edd5e() + { + $this->assertTrue(true); + fn() => (__METHOD__ and $test); + } + function testc7f64fad44f9a168db2298113723e04f10a6ff0db731da6ea591244f32f84ac0() + { + $this->assertTrue(true); + fn() => ($test and $test->{$test}); + } + function testc9fce61e213edb02b1866bef80bc3891fbf886ca0ebe64aa8c67250694eb1d4d() + { + $this->assertTrue(true); + fn() => ($test and +$test); + } + function testcbc8e2baa6795ba09f3a10cf11df8dedf69ad3d02f3e52bf36cf3287c372f6d8() + { + $this->assertTrue(true); + fn() => ($test and $test =& $test); + } + function testcc3744e655d10baf42a72481d3128d6c17344ef8e48a81a08401825cd111a147() + { + $this->assertTrue(true); + fn() => ($test and @$test); + } + function testceaf5296cc6ebe2219a473c4ec289ec6b9925dc2527a5b5585e4c283cc98226e() + { + $this->assertTrue(true); + fn() => ($test and $test and $test); + } + function testd02502c982b1e36106b65a68435ee351d5ae291e65740455d7756fb90d496a51() + { + $this->assertTrue(true); + fn() => ($test and empty($test)); + } + function testd062c81938b2e4cc1e5d0b2889223977373625cbaccf9ba1c1f8f09b2ba3dfe1() + { + $this->assertTrue(true); + fn() => ($test < $test and $test); + } + function testd11aaa6854b02a75363e3ff9a055b90339685312e1ea9de82fae15c9458bacba() + { + $this->assertTrue(true); + fn() => (__DIR__ and $test); + } + function testd1e37316131ee7982020f876e988a0a131dfd303a2a3b834b8feba83d4ee9d0b() + { + $this->assertTrue(true); + fn() => ($test and $test->{$test}()); + } + function testd23b72de2462b650933c51a7a0a28e84b325ed99f7bfb1fd86bce8af455b550e() + { + $this->assertTrue(true); + fn() => ($test and $test || $test); + } + function testd24941955f7d8427a694f777efda5e8af18ad8c724d5df9fdb779ec2e80a97df() + { + $this->assertTrue(true); + fn() => (($test or $test) and $test); + } + function testd40efdc5af1cec50c427f09129f83a4c7e8cb23933fbd764a5f3e2bdbc0d0694() + { + $this->assertTrue(true); + fn() => (0 and $test); + } + function testd4490521dba9c437d5960f5ac54f602d1fde736b6e946d98464d5d714ff16c15() + { + $this->assertTrue(true); + fn() => ($test > $test and $test); + } + function testd94651ae0e4cc62e0a6432157ed220d897c1e47b14c00bcdf9ddf85ec2809c32() + { + $this->assertTrue(true); + fn() => ($test and match ($test) { + }); + } + function testdcc0637f8d021636281d8473ffab7e29088cdf48462af7dfc524f0a227df26f2() + { + $this->assertTrue(true); + fn() => ($test and ( $test)); + } + function teste099be54e476beceea4e529e0babca4d5a5951b6c81f03b3e3a95afa2da639f2() + { + $this->assertTrue(true); + fn() => ('test' and $test); + } + function teste5dc9a01c9b562772ed75615802695de4c426550b1cbd6d2cadf3ef06fa17edf() + { + $this->assertTrue(true); + fn() => ($test and $test?->{$test}); + } + function teste69c15eb8fcc96dd2177b952d142cd059828890d16239be234d165e5d8f4b6f7() + { + $this->assertTrue(true); + fn() => ($test and $test = $test); + } + function teste6a6d5b1fad33edbcce621936b2b4dfaf9e8dea54b8bd90d527d6a41c280bcc5() + { + $this->assertTrue(true); + fn() => ($test === $test and $test); + } + function teste7148823296d0e454465d1366d55182e0bbe774586670e647b2ae0cdd48c20ed() + { + $this->assertTrue(true); + fn() => ("{$test}" and $test); + } + function testeded189490ab5afc775760faad91e4308ef7ae7eacca4b3bc7d455fc4cb3dc08() + { + $this->assertTrue(true); + fn() => ($test / $test and $test); + } + function testf46ef917f7c92abd093db91ae321f02aa7ee87a52bc798d0110dfa3072f7d564() + { + $this->assertTrue(true); + fn() => ($test || $test and $test); + } + function testf793523a75981dbf693869bac88c8c3cb247500fb1b67b1ec0b3562054a47800() + { + $this->assertTrue(true); + fn() => ($test and $test ??= $test); + } + function testf87b90c8b29c9f2fb695f2936d1ef2f2d99cd8c2b893304dad134de36be788a8() + { + $this->assertTrue(true); + fn() => ($test != $test and $test); + } + function testfb9bf04c85207cfba98313d10840a1a326c6913aa102ae3225c30cbb6bb06393() + { + $this->assertTrue(true); + fn() => ($test and $test++); + } + function testfd641bad59af2d2cd729d54a8fa123df0807dee9f097c153a521032f5f49da58() + { + $this->assertTrue(true); + fn() => ($test << $test and $test); + } + function testfec36b73fc09c38577b400dc6c0679c82bc8bd025d7180b0d4da64a97e8d17e0() + { + $this->assertTrue(true); + fn() => ($test and $test %= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test.php b/testsGenerated/Target/Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test.php new file mode 100644 index 000000000..f91161239 --- /dev/null +++ b/testsGenerated/Target/Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test.php @@ -0,0 +1,579 @@ + + * @license MIT + */ +class Expression1b0884c6a6d6b4aa6957f7edae548e8473b612a6545d7b588cc6caeb87b37a94Test extends TestCase +{ + function test04cac53d8e2730d6ee27b7548d072522d7c8999e3251e5ebd7e652dbb6b63fd2() + { + $this->assertTrue(true); + fn() => (match (__DIR__) { + }); + } + function test052d3c524a20ecad32cbd7e32f69ef2e243a4e9e845310d299c07e693dba86c1() + { + $this->assertTrue(true); + fn() => (match ($test xor $test) { + }); + } + function test07ece7f485c22074767bcd136c129c917b73ac41270be1c6f987541ea2a3aebb() + { + $this->assertTrue(true); + fn() => (match ($test <<= $test) { + }); + } + function test0bb42b2b27bf101e7adfd0f3ec31757d1c377330a8c62a972b0c8ef7378a4189() + { + $this->assertTrue(true); + fn() => (throw $test)->{$test}(); + } + function test0f508a8962ccf03ff3fcc4f54611180f8d0a40e48f541b17bd7074a2d5e30ae4() + { + $this->assertTrue(true); + fn() => (print $test)->{$test}(); + } + function test13104a6bb31c7068406c7d7fe62f89a0a3c41346a5da5274503cdb6336218768() + { + $this->assertTrue(true); + fn() => (match ($test and $test) { + }); + } + function test14ffe1da8ac3baac390c361f34fd418ad6f0c72bf771dc005c83783d669b4c46() + { + $this->assertTrue(true); + fn() => (match ($test ? $test : $test) { + }); + } + function test154e52a7708ca0d7ecebee87e38b722c9c82f0abb58a87797a6f0728831f5d49() + { + $this->assertTrue(true); + fn() => (match ($test * $test) { + }); + } + function test19ea0d4681b284bbd56ed72037b02e9d57efc4e54da0b8011159f06964faa624() + { + $this->assertTrue(true); + fn() => (match ($test /= $test) { + }); + } + function test1b3b690e3ae9357162673ece50cce815cf3941e8680e1d6dbeb40ea9bb990c11() + { + $this->assertTrue(true); + fn() => (match (__CLASS__) { + }); + } + function test1b74499314200facd5110d3b44818754b79e88c684a7e7b88698993c0345f1ca() + { + $this->assertTrue(true); + fn() => (match ($test + $test) { + }); + } + function test1e2962a6f7eca332d903b6e5403f80c55e94b3576d225d0ab197c320cad75087() + { + $this->assertTrue(true); + fn() => (match ("{$test}") { + }); + } + function test26514b85dc3c99f36363d0ffaff5d89c48a0286ab254e1b92c7f67f47c33db86() + { + $this->assertTrue(true); + fn() => (match ($test &= $test) { + }); + } + function test2a38a44e1eee21da6b49cdb1f92e459e6b2ee230275b06ae8379388ac3755489() + { + $this->assertTrue(true); + fn() => []->{$test}(); + } + function test2f8d8a893733d5a9daff67acddb1fa5a7e3738c833d5c9f430e50c4da53f4a10() + { + $this->assertTrue(true); + fn() => (match ($test > $test) { + }); + } + function test2ff923806ca861b4a617d8615e7674090c52eca812d579c5ab1bbeb1041c02ea() + { + $this->assertTrue(true); + fn() => $test->{$test}()->{$test}(); + } + function test34b8bec142a45efc08b9236f7a5bfb3cf76180042b672830afdeec8096ce8e77() + { + $this->assertTrue(true); + fn() => (match (__NAMESPACE__) { + }); + } + function test355e2f135a689b29d3c6dac7fe8ededcd74c315f961418a955b4ea099481d7b3() + { + $this->assertTrue(true); + fn() => (match ($test) { + })->{$test}(); + } + function test35f0ffd4ada8ab470aa2f5c331b997292e4fd53f611aa5a11ecb1e9b91cef005() + { + $this->assertTrue(true); + fn() => (!$test)->{$test}(); + } + function test35fe1ffbd68a6bd1e450100f1b31366b5705ca136904fdf1446da2a1f5941c3e() + { + $this->assertTrue(true); + fn() => (match ($test .= $test) { + }); + } + function test36e049f93ba5f9013376eac7472e41f45690d98c114de3239caf964166fbb713() + { + $this->assertTrue(true); + fn() => ($test instanceof $test)->{$test}(); + } + function test3753a48b079468754e4ffa8ffec51aa41c8ef65020486bf85027f386090c777e() + { + $this->assertTrue(true); + fn() => ($test++)->{$test}(); + } + function test40b9bc0d3d9807ba7816bffdb28a184f7a4d0bb205bdc7d4a2a05f24510d0651() + { + $this->assertTrue(true); + fn() => (match ($test ^= $test) { + }); + } + function test42bf153f8cd5c822d140e41dadd8935300ac08fcf118785c0b2f36c587221f47() + { + $this->assertTrue(true); + fn() => (~$test)->{$test}(); + } + function test446f3c1cdfdb90112b0b53dac4ca6ebc900f220b2acb10d8a9510070499e712a() + { + $this->assertTrue(true); + fn() => (match ($test >= $test) { + }); + } + function test458c09899f8fb7ea63cb5f75e650153c4bb042573e2d1e0d1be7c5959a63a7e9() + { + $this->assertTrue(true); + fn() => (match ((yield $test => $test)) { + }); + } + function test4a1ada0e231c2bf6863b6e0ab65640076801336359365632f9f62ee4da326170() + { + $this->assertTrue(true); + fn() => (match ((double) $test) { + }); + } + function test4a72bd2ce111ba3000f56b52a86082f6c1d4b84bbc16ae04dff464cc0786f595() + { + $this->assertTrue(true); + fn() => (match ('test') { + }); + } + function test4b19fbf29ea04d2f68bd50369ec8a8883ae20c3d232cdaf2a31fca1eca6fc499() + { + $this->assertTrue(true); + fn() => (new $test())->{$test}(); + } + function test4ca17441bbd00f7ffaf23e0e223e0a236a8894680aca497f018f6ce99b487f66() + { + $this->assertTrue(true); + fn() => (match ($test += $test) { + }); + } + function test4d885470d8e1549c8cfbbf05ca658ec340974b49da87cb021bac5ef730b8e3d6() + { + $this->assertTrue(true); + fn() => (match ($test >> $test) { + }); + } + function test506d7a3e6ac811678b51600f8365080c27eedde48ad85c16a48d1de649ce5de4() + { + $this->assertTrue(true); + fn() => (match ($test <=> $test) { + }); + } + function test51fedb00919c0ca468217ab87aa9c65fd8eb9d26eac3288864cdb308c6c3c3a7() + { + $this->assertTrue(true); + fn() => (match ((string) $test) { + }); + } + function test52d9e2bc54fecc36e4701e02b0aac870914ed15b18ae219fc3a1fb425618f32c() + { + $this->assertTrue(true); + fn() => (match ($test . $test) { + }); + } + function test56b864fbbd6935b3d31a06217a23a319f53a2df6867a39d311ed24d5d6efe200() + { + $this->assertTrue(true); + fn() => (match (__TRAIT__) { + }); + } + function test56e1c836c2bc02f237c97067fc897f441d21f3d8df201fdc713b2bc0dfdb97a3() + { + $this->assertTrue(true); + fn() => (match ((array) $test) { + }); + } + function test57af623a6f5d62109547746728023bd9aa3bcd56df319b5ef83dd2c5c85a5cb8() + { + $this->assertTrue(true); + fn() => (match ($test |= $test) { + }); + } + function test58784664ab345da4768bd765b1e38a100c0730617aed5e83c517f7fee32c9df7() + { + $this->assertTrue(true); + fn() => (match (0.0) { + }); + } + function test59b77e325ee4a9efc4a55e20cc7e46523e63d5d1d5d1ffb2da073bd624ef6fe3() + { + $this->assertTrue(true); + fn() => (match ($test ?? $test) { + }); + } + function test5aa6d217c296cf72c2d0acc111f09943efb3b0575eeb45f102c3366eff5ad23f() + { + $this->assertTrue(true); + fn() => $test[$test]->{$test}(); + } + function test5fd59ed722c82bc7b15691f16e818d4c5911cdfb2d70832bb5be155334182308() + { + $this->assertTrue(true); + fn() => (match ($test ??= $test) { + }); + } + function test5fdeb7ce2408ed674f06194c9b4693cb5f86ac5f9bec44f02b0010925f70cc47() + { + $this->assertTrue(true); + fn() => (match ($test -= $test) { + }); + } + function test60d0887fa500264625e776ca233a2b86f95777f9145f9ab969ff96df8a5a4ef8() + { + $this->assertTrue(true); + fn() => (match ($test %= $test) { + }); + } + function test63a14d41a9df38fd39334c397772b9f278b2f1dade2a1f2a8613ee6a26dd21f0() + { + $this->assertTrue(true); + fn() => (match ($test ^ $test) { + }); + } + function test642c64e896b2af31d688f0eb948d04b47aed4ba425920ffd28af47e9a572746d() + { + $this->assertTrue(true); + fn() => ($test--)->{$test}(); + } + function test6568e5142badfc8c3b86b04dd51e8deb93385b880c0efad4672b2d23f136c753() + { + $this->assertTrue(true); + fn() => (match ((int) $test) { + }); + } + function test66eeb0fc8ab4cc4dca190f4c7e5e3a41e8b5bb3d19b7c6acdd3ca2322e000bed() + { + $this->assertTrue(true); + fn() => (match ($test - $test) { + }); + } + function test699cdd1f16ce22fb39a0b667afdc07b05044819d7785ba6510958a6098ddd5e2() + { + $this->assertTrue(true); + fn() => (match ($test != $test) { + }); + } + function test6a935cc15f30a3bfacc5f76eeb46192989d4bd74824fa51e0dcb1078ba68ed69() + { + $this->assertTrue(true); + fn() => (match (__METHOD__) { + }); + } + function test6bbea20af3c20a3430c5d803bc6c13ba00e71b7042092ae8cce85c66674f0425() + { + $this->assertTrue(true); + fn() => (match ($test or $test) { + }); + } + function test723a8562ca4c3d1161a4a9dc6f343477090ad3af84296ade995b38c02b35c5e4() + { + $this->assertTrue(true); + fn() => (match ($test === $test) { + }); + } + function test7455512898ea00514a3a7bdaef665c13998f8b0c334606a350e8cc8a14b56303() + { + $this->assertTrue(true); + fn() => (match ($test / $test) { + }); + } + function test7c81a596b0088f837419ec79ed44e4e4163745a4f3bc497f9ed2f2af81bbb1b1() + { + $this->assertTrue(true); + fn() => ($test)->{$test}(); + } + function test7ce3ad107caa06098d6b5aed3d709eb01fa1b5b490258d8bbc2fe99bf270f92e() + { + $this->assertTrue(true); + fn() => $test->{$test}->{$test}(); + } + function test7eadecb12b2d552b9bfa5a6cd25a17bd1de582014526a6db7ab6139faa55303d() + { + $this->assertTrue(true); + fn() => (match (${$test}) { + }); + } + function test7f7587e6ca6707ec4ee16b5590d246813ec4336e82c00401c30795daa3f39b7e() + { + $this->assertTrue(true); + fn() => (match (yield from $test) { + }); + } + function test82fe032fe333ce0f65cc181c5abd03016bd55edd1060e370898bfef37ec8fb31() + { + $this->assertTrue(true); + fn() => $test::${$test}->{$test}(); + } + function test83304045256f51f65b3364c15a9fcc696c06cd6b641e899a68cd1b5c7e18e231() + { + $this->assertTrue(true); + fn() => (match (0) { + }); + } + function test843eac97bff545908d5a98f2686847a26ed9bde11bd61fe1d004fe766187d2ba() + { + $this->assertTrue(true); + fn() => (eval($test))->{$test}(); + } + function test864c49f156d36fc612c9d1939ec93a92c897d50e07dfce8c2a7dc160c68b31e4() + { + $this->assertTrue(true); + fn() => (clone $test)->{$test}(); + } + function test87053c71d43de93feea4f4748bb4c38709717e51c3fc49d97f78cb4549d2c4cf() + { + $this->assertTrue(true); + fn() => (match ($test % $test) { + }); + } + function test8ec05d973f516424a86ba678ed165a68d75d19d08c15c1a981b880af3bcb0244() + { + $this->assertTrue(true); + fn() => $test()->{$test}(); + } + function test9b14169ce601627ae789efd218fb59b5b38095a457894009e909b57d9544601c() + { + $this->assertTrue(true); + fn() => (match ($test << $test) { + }); + } + function test9b96b30a91dcf7b6b3b0cc60b8dcdf826dda44ed1bd344a784f93a0d844ab2f4() + { + $this->assertTrue(true); + fn() => (match ($test **= $test) { + }); + } + function testa64f1d416979cc4077c64e856c0578ab5e92357b9fec7a1f04e4794414b18b79() + { + $this->assertTrue(true); + fn() => (@$test)->{$test}(); + } + function testa6609cb714163db9df70c0d8b24fae53cb46f223ef92ef785d5f85322f8f9c24() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test)->{$test}(); + } + function testa76b3185879abce0e8089f470fc210ec1af31a8acce6935cd75224e7199fbb1c() + { + $this->assertTrue(true); + fn() => (match ($test == $test) { + }); + } + function testa873d79c15fd1593fc5085aaf0f6ab49ec993b1d3bab8a22db624cecfbc0ee17() + { + $this->assertTrue(true); + fn() => (match ($test && $test) { + }); + } + function testb617ccf5bb312ab6f84eb2dff79b878c6d9340aff05245bc7c8c07f6bc83a722() + { + $this->assertTrue(true); + fn() => (-$test)->{$test}(); + } + function testb6528053cafd7f268ff61a9d0b5c9a3d2bd35c478bb0e0691e23140f422cff25() + { + $this->assertTrue(true); + fn() => $test?->{$test}->{$test}(); + } + function testb6ead69c15b6eb54dc8d0daf9f510d73ed7511c7a226c711f551474410d2cbd5() + { + $this->assertTrue(true); + fn() => (match ($test !== $test) { + }); + } + function testc29627f27d020a6afcdeac5bd80530e5506bcb87b61803a894781e055100170e() + { + $this->assertTrue(true); + fn() => self->{$test}(); + } + function testc31ad8eb4667e087e55d047d53a88c9228e26415d8c541f9570472e54ee5d66c() + { + $this->assertTrue(true); + fn() => (``)->{$test}(); + } + function testc4681b11aa9d4dba7635a55e8aad1fc100fb73d2761943a2e691e61d59082eed() + { + $this->assertTrue(true); + fn() => (match ($test ** $test) { + }); + } + function testc4704aa80fabb0107961441e0b3b8d7bc5dadd8966deaacf9def265b3615cb20() + { + $this->assertTrue(true); + fn() => (match (__FUNCTION__) { + }); + } + function testc58fcf91d4409d5b4d20f6ced202c4586991af2f79459ef883ce76307720009d() + { + $this->assertTrue(true); + fn() => (match ($test >>= $test) { + }); + } + function testc592310d6b6d01010982efb31b1c9f29da25a73c269296044b219ca2cd6874ee() + { + $this->assertTrue(true); + fn() => (match ((bool) $test) { + }); + } + function testc7bbbc2d989a8a45f2cf5c6130720bf9b60a9c8ef503372a646baabb7967ee52() + { + $this->assertTrue(true); + fn() => $test?->{$test}()->{$test}(); + } + function testc82eff9b255514ce8d0e856670c9b3142f1b5dbfcd7ed11152c29798aae7e89b() + { + $this->assertTrue(true); + fn() => (++$test)->{$test}(); + } + function testc99ece93a451ba9e7388a2ff32ae9b9408c0d457d57bfc0c53bf5c7b40988ade() + { + $this->assertTrue(true); + fn() => ( $test)->{$test}(); + } + function testcc20fd5f9ddac9c852982b0a01f2b0631dde56fca5cd99bd1eaf0835c5eb4f8d() + { + $this->assertTrue(true); + fn() => (match (+$test) { + }); + } + function testcd34585263d627efdca653e11887a053daffbf8d3149c4ab63f5595227c7c434() + { + $this->assertTrue(true); + fn() => (empty($test))->{$test}(); + } + function testd2bd4581828d4e41951cd06b02cf10f8239a67e56e352a5cb557cb3b4c9384a9() + { + $this->assertTrue(true); + fn() => (match (__LINE__) { + }); + } + function testd32d295df601df437b3b3a87aa6c5df16b07b972a0aafa55d24396e74942d48b() + { + $this->assertTrue(true); + fn() => (--$test)->{$test}(); + } + function testd3b7d86070fcff892cb0122d82a467debeda8566ec8633d1b0a4b69462e82a42() + { + $this->assertTrue(true); + fn() => (function () { + })->{$test}(); + } + function testd429523a736452d744eec6ca5c1500574dac89fbce83f4941268429be5bba6c3() + { + $this->assertTrue(true); + fn() => (match ($test < $test) { + }); + } + function testd656175a1ac03f3149e837fbc87166330f05d91569bbf0bc945f31aa4cffb386() + { + $this->assertTrue(true); + fn() => (isset($test))->{$test}(); + } + function testd9f6c972f03811546942129468457f83daa21fca9d2b2dcf52f1d29936b6bfb7() + { + $this->assertTrue(true); + fn() => (match (__FILE__) { + }); + } + function testda3f0e328fad59c9ac74234b6bb081fa5b824aaca644577cddfa30d3ceb4fb98() + { + $this->assertTrue(true); + fn() => ($test =& $test)->{$test}(); + } + function testda425027ddc11e9617fb55ebc83d1b1eff7987f4a23ba5eb360be6b45aa09136() + { + $this->assertTrue(true); + fn() => $test::$test->{$test}(); + } + function testdc526b23bd2c1b7641eff3d25b1d40df277f169a8a8dca4092a9bda8706286f8() + { + $this->assertTrue(true); + fn() => (match ((object) $test) { + }); + } + function testde57facfbc08381fc24806608533aac17dbcd577eaaa86c44a76f37fde423dd5() + { + $this->assertTrue(true); + fn() => $test::$test()->{$test}(); + } + function teste06f9bfcf9dffc2a4ea4c678f471b900a08b55f92690e18997275b66390edd87() + { + $this->assertTrue(true); + fn() => (match ($test & $test) { + }); + } + function teste353a6d8d359a0149ecbabdab5e1a03e6a0df1730a602796bb557232171a25f1() + { + $this->assertTrue(true); + fn() => (match (throw $test) { + }); + } + function testf7d85e6cf6c91fc8c48dc3cf5be36c7ad286bd731b06a11a66c78d78d922dc8e() + { + $this->assertTrue(true); + fn() => (match ($test || $test) { + }); + } + function testf885bbf2c7f16da1419d92314811b5074af1f183d537b586c3c7fbd45d20a643() + { + $this->assertTrue(true); + fn() => (match ($test <= $test) { + }); + } + function testf9c2f2467a381e7c39502030f821b47abb51042e66679ca916f527a769d9405b() + { + $this->assertTrue(true); + fn() => (match ($test *= $test) { + }); + } + function testfb46954b828d1c2e2efc3be39c5a2b3cc1f479b9e1cca1f5d2441715b619d792() + { + $this->assertTrue(true); + fn() => (match ($test | $test) { + }); + } + function testfbdac43c613a58a8d0bc15aafcf8a276c95af4fe430ee3f74cc474ccb6b38e6c() + { + $this->assertTrue(true); + fn() => (match (-$test) { + }); + } + function testfe45837269cf2a1f8c83b023b09d09b7bc746e85ee073ca08c293d2c5e2dc2f6() + { + $this->assertTrue(true); + fn() => ($test = $test)->{$test}(); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest.php b/testsGenerated/Target/Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest.php new file mode 100644 index 000000000..c4b29ea92 --- /dev/null +++ b/testsGenerated/Target/Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest.php @@ -0,0 +1,515 @@ + + * @license MIT + */ +class Expression1b4fe105538f9520ec6c7000f6c7403fde3be16ccd45ce773b914f3511e83a0fTest extends TestCase +{ + function test02e0163ec752a3c6bb4e12a2f230692271815e98275dc0080045d9f9b9d7f054() + { + $this->assertTrue(true); + fn() => ($test + ${$test}); + } + function test07972e8e642506a9df6d89d01a43a056fc1c820b41ae9c17f09e930ea18c1b88() + { + $this->assertTrue(true); + fn() => ($test + ($test += $test)); + } + function test07aa3ad1c90eacba1ddd45d8b5fa84ffda309889941e83e21bd3f93fdfe15c9a() + { + $this->assertTrue(true); + fn() => ($test + ($test != $test)); + } + function test07d1bea240c8ae01a01fa11755f50ec671f6cfaf0d46d9a46e7afc3dd9bf757a() + { + $this->assertTrue(true); + fn() => ($test + (yield $test => $test)); + } + function test0af2f62a221ae119b56c74aeb91c9c4192cd2bf5d795bca61910f53c21fb1327() + { + $this->assertTrue(true); + fn() => ($test[$test] ** $test); + } + function test17f1ec1fbb7b0bd6536f12cd0aaaeec846b967628d4a325a773d892d6c68aac7() + { + $this->assertTrue(true); + fn() => ($test + ($test or $test)); + } + function test1a630d876341e5ff454d580790c7e8777a313947e63fe27c10eea77421ea3c7d() + { + $this->assertTrue(true); + fn() => ($test + $test * $test); + } + function test1bd4bac45298dbe0ffa6778e3dc9c8c1747bdbac67d1168242d76052e4a5e089() + { + $this->assertTrue(true); + fn() => ($test + --$test); + } + function test1e27b87e1bf361e9b3c13f460b889c7c90bc62f9fa76986b0fa62af65cdcc46a() + { + $this->assertTrue(true); + fn() => ($test + ($test + $test)); + } + function test225d8075b6f9b6452cec8ceb817384e3fb14e2df583b4ff2d85f1d9166a2883a() + { + $this->assertTrue(true); + fn() => ($test + empty($test)); + } + function test23679f036342c53bb2f7377d3738a629aba9bbc24689ea0a4ff60a4c9691dccc() + { + $this->assertTrue(true); + fn() => ($test + 0); + } + function test240d69ab4f073cf200d30b89599dbf52b5e58ecb93ac7e96f1ed4934f9936ee4() + { + $this->assertTrue(true); + fn() => ($test + new $test()); + } + function test28cc81ec31576011bf7e39a27fc24791cc8a90bfd20c9331a3e769407da2be90() + { + $this->assertTrue(true); + fn() => ($test + __FUNCTION__); + } + function test2d95d5290d1f7489bcf2d85f886f132c211cebafe9e35a701443febb0c9a8a0f() + { + $this->assertTrue(true); + fn() => ($test + function () { + }); + } + function test30982d84f4977e0aca7298a7c809f9d3f04b3d2113b5bf473ead65ecac13d60b() + { + $this->assertTrue(true); + fn() => ($test + (bool) $test); + } + function test3594cba9d18128db11745b13d626d99fa96d7a608b953d0bf0673b08e16fda9d() + { + $this->assertTrue(true); + fn() => ($test + ($test ?? $test)); + } + function test3599d7d13c09025c6c15bf1f0aead917920eec592e7a86577cf210eda225c8dc() + { + $this->assertTrue(true); + fn() => ($test + ($test and $test)); + } + function test3752e8facfc09ef9788078e51397ec70bdcf8bda4bb038c014cc4ddaccdfc48c() + { + $this->assertTrue(true); + fn() => ($test + ($test <=> $test)); + } + function test3b3fab3c51e8ad77dde2415bb2f562a2e9778ac5bb7ab396ee6a8e85bf209588() + { + $this->assertTrue(true); + fn() => ($test + ($test **= $test)); + } + function test3db0a00940085a72ad99c2e30299d72f8e28e132ca304f63f3248f16f03bd74a() + { + $this->assertTrue(true); + fn() => ($test + ($test ^= $test)); + } + function test3fea1b779fb0d85f39b823dff64c63b392634f47e22e0ebde93d19dd41f609b0() + { + $this->assertTrue(true); + fn() => ($test + ($test < $test)); + } + function test43bb705cb938fc93743fe0d8476d83ad9ee09049e293edf3fef41a6aa8f11213() + { + $this->assertTrue(true); + fn() => ($test + __LINE__); + } + function test441c85e0403b1b332dc0e670d76d3c988bc4a9baf9569df1514bd2e90d9e2375() + { + $this->assertTrue(true); + fn() => ($test + (array) $test); + } + function test44cc1a609ecadca80f7ea49039fae7787ba3d2613e406d36556753cded8e6259() + { + $this->assertTrue(true); + fn() => ($test + __CLASS__); + } + function test4581ec5a4cf6187a5271a3d39ba0bd20abd17640f4953b58b792ae977006ee8f() + { + $this->assertTrue(true); + fn() => ($test + ($test >>= $test)); + } + function test47034ab1b81812fe7ad6ebd280420fcc868c676ffe0ecbcccc4cc6dee7314ed1() + { + $this->assertTrue(true); + fn() => ($test ** $test); + } + function test4706e273a278b5a221e3a3c2c6761653d90ba920cf2a7fb75b4f3879e52da021() + { + $this->assertTrue(true); + fn() => ($test + eval($test)); + } + function test4ac5a75ed5ebd124845bd73a587274ffea0dfe2676d8fb3fc26c6dbb031ae8c8() + { + $this->assertTrue(true); + fn() => ($test + ($test .= $test)); + } + function test4ca5f07aac1e1c35c710d55bbddab0418a200fd1c7775f826a2514574272cea5() + { + $this->assertTrue(true); + fn() => ($test + -$test); + } + function test4ca788ba223440bd2da3b10b4933e8342f468f3deef248a8c95b388dcca2ad43() + { + $this->assertTrue(true); + fn() => ($test + ($test == $test)); + } + function test4ccd6d568c92c2a0df9149c01c27b99236d54697239b77cb54d496953f94e61e() + { + $this->assertTrue(true); + fn() => ($test + @$test); + } + function test4f45d3ed0f8c789adf17201541b73f0220a56ceccc90ee0ba8fb7a4251a3d24b() + { + $this->assertTrue(true); + fn() => ($test + +$test); + } + function test57b8223379557a89ac5171746c252de84133e57e27f5205be11014b8c7b1a2fe() + { + $this->assertTrue(true); + fn() => ($test + (double) $test); + } + function test596618d94a3f3617c034d845a1dde1c011053cce1536fe4bb68bee0257297d28() + { + $this->assertTrue(true); + fn() => ($test + ++$test); + } + function test5e4b3afe0d47d880d75861af0123e3995926f640ff027c5ed6411e14d704d584() + { + $this->assertTrue(true); + fn() => ($test + ($test . $test)); + } + function test601e29e82bc0645a93518093dbfbea895d29a17d183a9e5b1bf752e0775b5fc3() + { + $this->assertTrue(true); + fn() => ($test + isset($test)); + } + function test624f845568d1f729163b44c00371c80cd5ae44ad25d3a173f70d9341fab39cd1() + { + $this->assertTrue(true); + fn() => ($test + $test--); + } + function test66a5fcfa09c331711c783200051a60fd3b010a058770611aba592928385ea445() + { + $this->assertTrue(true); + fn() => ($test + (yield from $test)); + } + function test6752e1389403ca1ef66ad2a59e462eb23aa6ae82582c917b69bd2bab9cad7e5c() + { + $this->assertTrue(true); + fn() => ($test + (int) $test); + } + function test68e0a3790f1629ccbda99c755bd55394b28edbb81134cda38e20380a7a56382c() + { + $this->assertTrue(true); + fn() => ($test + ($test !== $test)); + } + function test6d0a4d25f55860ee97de10e05e5230ba9f330824ae4a6c246566f8808e763a3c() + { + $this->assertTrue(true); + fn() => ($test + __METHOD__); + } + function test6fc5f593c73c05e8b1a20ea794dbd14b09b940cf951ebba896e4893f889a7da7() + { + $this->assertTrue(true); + fn() => ($test + __TRAIT__); + } + function test7023acf50ff7206ab82db6c083dc26b2f1dc6af886fd408cf4c88b7837b00e60() + { + $this->assertTrue(true); + fn() => ($test + $test ** $test); + } + function test74006fad20c70c794fb22fb16c1503c801f54c9e82f3a6d6959bead7d96b787e() + { + $this->assertTrue(true); + fn() => ($test + self); + } + function test746f30b968d3ce5ad6af26adebb35c775d34ba81e5b111014b73e19842e2a111() + { + $this->assertTrue(true); + fn() => ($test + __FILE__); + } + function test7a34c8695d43332e667314e8f85b93f7d6fa5b94dc87caa5c7b56ba327c0b14d() + { + $this->assertTrue(true); + fn() => ($test + ($test ? $test : $test)); + } + function test7a6dc96310cce3389f09568166bf015ef39aab16a55b5db5e397189dff0d7857() + { + $this->assertTrue(true); + fn() => ($test + match ($test) { + }); + } + function test7b37bea918bfd1eb38f35cc6467c90da8e07e9e47a9b8ba6e065c893f3ce45d0() + { + $this->assertTrue(true); + fn() => ($test + ($test /= $test)); + } + function test7e7ad18a49ea3542b05cd687bf8337f89128e55b6153a9b0138dd88f4f4dfa2f() + { + $this->assertTrue(true); + fn() => ($test + ( $test)); + } + function test811437c8940fe157c1016704bce9bc2f477f82b85fdbc92b5d7fa10f65afe28c() + { + $this->assertTrue(true); + fn() => ($test + $test?->{$test}); + } + function test86935c58f671fcc0029326f375695871ae9b8850b217143cd2c592d6c5847e1d() + { + $this->assertTrue(true); + fn() => ((!$test) ** $test); + } + function test89401806e571b2509571c42fce19452703c0342c63e253e517fdc316bcb228c1() + { + $this->assertTrue(true); + fn() => (clone $test ** $test); + } + function test8ca6fb4b3a818a6b9d6e32a074da9e6e405294d4436d6dfd89be8918caeb6446() + { + $this->assertTrue(true); + fn() => ((~$test) ** $test); + } + function test8e57e655e7150e1bc928c34e4e5b81d6fb56c2af789c88cea1d3eb98f4b89b8a() + { + $this->assertTrue(true); + fn() => (function () { + } ** $test); + } + function test8f3ba9ff7b350d00c1f57098a3c88e6815fcd5380deaf5fe5a4812942b876cdf() + { + $this->assertTrue(true); + fn() => ($test + (print $test)); + } + function test90f2c1592052920e1ee11b0f71770d12135d4fc726f11a576af42e790833e4a5() + { + $this->assertTrue(true); + fn() => ($test + $test / $test); + } + function test9558fd989fe52ffed8c69953e7bcfb085f797a6eec642b95eb6f81be3233c4ef() + { + $this->assertTrue(true); + fn() => ($test + $test?->{$test}()); + } + function test9bf4bba3dc4dc54476c54d73c6dae16481c4b9a45213dc4b6f39f3b8253db5a3() + { + $this->assertTrue(true); + fn() => (($test =& $test) ** $test); + } + function testa1622b276fd32734d2992b2a753400ac57f677da9bed16c36eee2c155101b7ec() + { + $this->assertTrue(true); + fn() => ($test + ($test *= $test)); + } + function testa31e662d60ba444a945774b04ff5b4da7dda507c98ff65dca09e4ef9b49e859b() + { + $this->assertTrue(true); + fn() => ($test + $test->{$test}); + } + function testa4b1b70a9859db6324c802c6f15ec32414c5b100c4283264be4ce86fd2c3c4ba() + { + $this->assertTrue(true); + fn() => ($test + $test::$test()); + } + function testa4f19906914eb8e9a530b4c15e1322ce70ea1aa81e01805f578b1ccdae84aedb() + { + $this->assertTrue(true); + fn() => ($test + ($test <<= $test)); + } + function testa549d45c8968bfe1f29dcf4502ba9e0736057c1fb52019124405adf578174aa7() + { + $this->assertTrue(true); + fn() => ($test + ($test -= $test)); + } + function testa6536c12a422b0dc8a3ac64b5bddd541597421514e489d6c20ceb403a4fba2aa() + { + $this->assertTrue(true); + fn() => ($test + (object) $test); + } + function testa6910795f6f0e0223fc99cbb2176fb036dcfbfcc8413383dab667c7619dffef2() + { + $this->assertTrue(true); + fn() => ($test + ($test ^ $test)); + } + function testad6b1efe831aa612507bfa0c1bd66b28f37aae419c033e21087d2192c9c1ae3b() + { + $this->assertTrue(true); + fn() => ($test + ($test xor $test)); + } + function testaf50ca3fec73d6d15ab6bfb756ef832e25c924fec22a99c4dbfef24393cb169d() + { + $this->assertTrue(true); + fn() => ($test + ($test |= $test)); + } + function testb1b1ed0095faeedcb00f9a7d3912394565385bbf6f8f8a51e86c9af36bba6d43() + { + $this->assertTrue(true); + fn() => ($test + ($test === $test)); + } + function testb3b33a472ae52db574b6bf0807c240f17d02f4f2855da44a50410e05ab191f75() + { + $this->assertTrue(true); + fn() => ($test + ($test && $test)); + } + function testb4b8c55cfd0d909fdde3fce1d3be17b01d102141b7120b81b6c8d4462582a859() + { + $this->assertTrue(true); + fn() => ($test + throw $test); + } + function testb886e4755389b487ff3229db9ec156a86711ec63661d8a66f86ddfd29f615379() + { + $this->assertTrue(true); + fn() => ($test + ($test | $test)); + } + function testbfaaf9936aeea6762fcf744571a504259f8d841c6e4ef5bbb41b94362fb32121() + { + $this->assertTrue(true); + fn() => ($test + 0.0); + } + function testc1abdd263734b2ca823a3d6b74d682024c02d443f909ac99cbdcbc3a9607d75f() + { + $this->assertTrue(true); + fn() => ($test + ($test ??= $test)); + } + function testc45e3eddb201de121ac844afd068afb3145d2ef406ba143ab875627c22cc7c1f() + { + $this->assertTrue(true); + fn() => (($test = $test) ** $test); + } + function testc4d52f386b692477834db404f840e48d3b28c92808f2134444ac6b8394647e8e() + { + $this->assertTrue(true); + fn() => ([] ** $test); + } + function testc785c1983c7ebcce3be97f6589daf4933cd488386c9e021c92ae6f4dee70a2e6() + { + $this->assertTrue(true); + fn() => ($test + $test->{$test}()); + } + function testcdc34486e746ef8d4139d874f07b146d82d47d9cbd2aca8082b1d6971f6c19aa() + { + $this->assertTrue(true); + fn() => ($test + ($test & $test)); + } + function testcebd1399619c738cc7a994503ab13087fcee60e1ea5b84e46210aed1116a74a7() + { + $this->assertTrue(true); + fn() => ($test + ($test &= $test)); + } + function testd0fbb87d66e49e77d07eafaca9886fda3d060be2c9c6b5e8835a9a87d82120b4() + { + $this->assertTrue(true); + fn() => ($test + (string) $test); + } + function testd270d97f21ed9208e7b15d8777d25f7c8164d58a752ab0aed5ff4d5d05e7ee8e() + { + $this->assertTrue(true); + fn() => ($test + ($test > $test)); + } + function testd4250133890f2cfa164428418f284da48e5f7fa07712f9dbd8764f37e7605f06() + { + $this->assertTrue(true); + fn() => ($test + ``); + } + function testda847ea9822f96b1df3184a497a9c1e0085ba3c39856b9df99956f872f374c27() + { + $this->assertTrue(true); + fn() => ($test + $test); + } + function testda8b98546bd38164984204444e8309a35776152423eb2a1449937f7ee57a527f() + { + $this->assertTrue(true); + fn() => ($test + ($test >= $test)); + } + function testdb17ae32e552d1afdf705e5cc2e50d21f50fecfa2ebf5385ad2b1be43b8b5e1f() + { + $this->assertTrue(true); + fn() => ($test + clone $test); + } + function testdb2782000ebc53068f3af47e8f7c1f9adbe05c4b3b21cdf0e161676353a14330() + { + $this->assertTrue(true); + fn() => ($test + 'test'); + } + function testdb51d90ea206f51a905c51e26d1e425eaa14119d50beee85ebad1490c5e48e88() + { + $this->assertTrue(true); + fn() => ($test + ($test %= $test)); + } + function testde503f2c1285f7f0d10a31d190a9b3246934b10e12c02082ec669f051d5ea6b4() + { + $this->assertTrue(true); + fn() => ($test + $test++); + } + function testdfcb6a3bdaea12c48cc214c95b8aa8190ddbec9a2844de0f37d56519c3814492() + { + $this->assertTrue(true); + fn() => ($test + ($test <= $test)); + } + function teste10f39674a8608cc04bff1092f1c5376d3b4351ed694bf7ffea886a672020d99() + { + $this->assertTrue(true); + fn() => ($test + $test::${$test}); + } + function teste33e0683928ad90a9fac5c7c13a4cc8fb0c26865bb07aab6a3243f81f9a6fc43() + { + $this->assertTrue(true); + fn() => ($test + __NAMESPACE__); + } + function teste40bee9b5cd43bdc30a6b91d3c86cdb47016cd64cd0f6c21eea698c66af47fc5() + { + $this->assertTrue(true); + fn() => ($test + $test instanceof $test); + } + function teste48cdebb617a896c82af8c3f8d126be35c2640da9f25faba3de7734e9e1fe713() + { + $this->assertTrue(true); + fn() => ($test + ($test || $test)); + } + function teste97a9b19985109ffb4d89c717f6201eb20d67dae7e2cb0d90f62b1bbe8a7f949() + { + $this->assertTrue(true); + fn() => ($test + $test % $test); + } + function testea70872b8d08445ec63e444b13a7460343dc738a0b9f81fd3d68082c36424d2c() + { + $this->assertTrue(true); + fn() => ($test::$test ** $test); + } + function testec044877cba1ec1d619312b263277356726a9c330622d420902037dad0137495() + { + $this->assertTrue(true); + fn() => ($test + "{$test}"); + } + function testec04c1da780309a6b274cdd2ffa1b2c35dd4d3afb8f10c4364bc010ff5f371fb() + { + $this->assertTrue(true); + fn() => ($test + ($test >> $test)); + } + function testf40a45dceb944c4d4e74b6003ebe8ecef94952f329bd157a951f8ace6841c2ce() + { + $this->assertTrue(true); + fn() => ($test + ($test - $test)); + } + function testf49c2e4186337895f4014899de25c3c5986cb5f711078cf840e47eaffa07b553() + { + $this->assertTrue(true); + fn() => ($test + $test()); + } + function testf643f10e32c4d15cf2f2eb8da9a982e3957b9044e04aa07ef109abc740b11137() + { + $this->assertTrue(true); + fn() => ($test + ($test << $test)); + } + function testfd8b7c48e9cb06dccd7f48328a5baf56901b9dcbefd3e6fc4c65d7c69f623d1b() + { + $this->assertTrue(true); + fn() => ($test + __DIR__); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest.php b/testsGenerated/Target/Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest.php new file mode 100644 index 000000000..7016185cf --- /dev/null +++ b/testsGenerated/Target/Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression1f06a3b0b0bb3356f97baacdb819a1b851b259168a5fdcd6c0cd77179502e4fcTest extends TestCase +{ + function test00221aa96688a338526053ce99e4d9e9e60837f2139ff04e8f3603bd91c8ebca() + { + $this->assertTrue(true); + fn() => ($test < (string) $test); + } + function test082adcf7a0c1705488d02902e5f5b969c2fd3a68c9324dbbf343973e1633046d() + { + $this->assertTrue(true); + fn() => ($test < ($test or $test)); + } + function test0c5dea455d01277df971ea66cfa5b38003cd6ea0eae6a37963569ae0694fd0c0() + { + $this->assertTrue(true); + fn() => (@$test <= $test); + } + function test0e6251d407190566af1d9fa07a322f5770e4f5cf68a9147230619ad0ba1f7252() + { + $this->assertTrue(true); + fn() => ($test++ <= $test); + } + function test13a6585106f281b643967f27e294ad20ae741ab1f63b69dbc4c080532633c3f1() + { + $this->assertTrue(true); + fn() => ($test < $test - $test); + } + function test1799d0afff5f5beee96bc2a638e2e5e3da7cede0969211cd44e341d7df8b8724() + { + $this->assertTrue(true); + fn() => ($test < ($test ^ $test)); + } + function test189bafe0c7c61fa702cc832d9c958938f4f35b2cc5e4eb7e82f970a403cd2cbd() + { + $this->assertTrue(true); + fn() => ($test < +$test); + } + function test18f620a9e867625dc68f474bbc0b1ef15a5a0164faa70c75513c966764b6a719() + { + $this->assertTrue(true); + fn() => ($test < (object) $test); + } + function test19a0ed8d0f880bbe5bbe19680a3a1fa7d67c640503aa0952d4d58fdeff53bd7a() + { + $this->assertTrue(true); + fn() => ($test < ($test /= $test)); + } + function test20081a9a851d075eac08afeba279c23b1aa696c29f926d2d31a098534749f2db() + { + $this->assertTrue(true); + fn() => ($test < ($test += $test)); + } + function test23a2a3a5f2f8405157609889850b3fe5802f0539ccf1fcdc7df9280e6488daa0() + { + $this->assertTrue(true); + fn() => ($test < __FILE__); + } + function test247e7fc877f219f2bf1a1737ee548d10c268a44c034e606d01a08a45751a4740() + { + $this->assertTrue(true); + fn() => ($test < (bool) $test); + } + function test248c211685781c00019558b698fe2df3a0b0e67eee3c4dad9536a83d4678c33a() + { + $this->assertTrue(true); + fn() => ($test < ($test **= $test)); + } + function test2763ba86a0bef03fb3e25348e1f2b0f781ed22c13c5364cc515a68c242f9b8b0() + { + $this->assertTrue(true); + fn() => ($test < ($test === $test)); + } + function test2f5d4fe59e1788b6ca15f270aa4458866aa110d3d3359b701dcf7d170e266ab9() + { + $this->assertTrue(true); + fn() => ($test::$test() <= $test); + } + function test3171bcd0a93c303dd98ee1c7a139e61b61df42102d7e5a915a1ba5f350daeb37() + { + $this->assertTrue(true); + fn() => ($test < (int) $test); + } + function test3184fbc2c2c5d8935b117f995da88365a62d063df100d5492a81bbff1a91f7f1() + { + $this->assertTrue(true); + fn() => ($test->{$test}() <= $test); + } + function test31b2dcf8866df93869c324310386c5f8635724434d1fe2503a307711248aa355() + { + $this->assertTrue(true); + fn() => ($test < __LINE__); + } + function test33a72d279c140fcf52bd759081af69ee5892b2ceeec6e10d4e1c94df5b63b9ed() + { + $this->assertTrue(true); + fn() => (match ($test) { + } <= $test); + } + function test3976091479f15f3709540f66ec9a744c719bd46a6072203b506bf1cb84f7ad40() + { + $this->assertTrue(true); + fn() => ($test < ($test !== $test)); + } + function test39894a0e9477a45f5175411063c8de104ef76ba414c1d78c501523109e437382() + { + $this->assertTrue(true); + fn() => ($test[$test] <= $test); + } + function test399848421a57e6135f15f486f60d18100aeebb7e1191b9118a533fede6ba5b93() + { + $this->assertTrue(true); + fn() => ($test < $test::${$test}); + } + function test3ba575ea8d031d11630c8861acb837dae35a17293a86e2f32ea4f8249e3a40c6() + { + $this->assertTrue(true); + fn() => (isset($test) <= $test); + } + function test3c21186b15ab3cac74b3feee475af6ccc0b674812a24e342b4ebac99e82ec0b6() + { + $this->assertTrue(true); + fn() => ($test < ($test *= $test)); + } + function test3e4329bad8432627ed411e3141734aeb09b30799ab36dce14ef42ec15d9fc4b0() + { + $this->assertTrue(true); + fn() => ($test < __TRAIT__); + } + function test3e9a82cf1bb68e1c3e2bf17f0fb1e7de628d0c301c5ff1f8298e43e155e6e9e6() + { + $this->assertTrue(true); + fn() => ($test < ($test < $test)); + } + function test43479d6002d6fdf85233aad709d7447db5f143acf383ab52c4c2855b902422ea() + { + $this->assertTrue(true); + fn() => ($test < ($test | $test)); + } + function test43b57148c9b09773bc0a19e576b3d0b95abcee8396f32c08d75cb8f264700fa7() + { + $this->assertTrue(true); + fn() => ($test < (yield from $test)); + } + function test43d748cf13ae79abaeeac660cf15d8ffa0317a843d6588dc2bdf0c5e50d9e5f4() + { + $this->assertTrue(true); + fn() => ($test < ($test == $test)); + } + function test4712b9b9af28a0723bdbef8e5cc908fd436aa755319a26dc39e456ed1eee4ca2() + { + $this->assertTrue(true); + fn() => (clone $test <= $test); + } + function test4d72452106facc1482d5452580ad97c0768d8fe2050f0133705072dceb9bfaec() + { + $this->assertTrue(true); + fn() => ($test < $test % $test); + } + function test4edab27e7d899e15b60c73289c3dcc4d180aec61d0da870ebe6c55a9615c34dd() + { + $this->assertTrue(true); + fn() => (~$test <= $test); + } + function test512cda6373c8077b68c722643cf0c729081254b67258d45e2d2daca8cb25a121() + { + $this->assertTrue(true); + fn() => ($test < ($test || $test)); + } + function test51d954b80ec8af5e4ffde7ee540866ef1fd650da900c28194d5b7ace79067a7e() + { + $this->assertTrue(true); + fn() => ($test-- <= $test); + } + function test52e544a21349e0f50afc5fe434f8c8a3359e50d48899af5e700d0d289d3a2f84() + { + $this->assertTrue(true); + fn() => ((print $test) <= $test); + } + function test582c018e85c95cd2205abefe37abbe4d50ac184ec7bfadbe3f1efbe45beaa2e1() + { + $this->assertTrue(true); + fn() => ($test < ($test ^= $test)); + } + function test5af58beececc69bda87da266ec429993d06a1c6b63489abc45bdb1c94341fa5f() + { + $this->assertTrue(true); + fn() => ($test < __FUNCTION__); + } + function test5b353415995d478255c4f4750b3f4150170145dfc6648dd8056d06f31864d296() + { + $this->assertTrue(true); + fn() => ($test < __CLASS__); + } + function test5babd555b9e881b3305f188c2743cafdef10c94efa62f2cf075cdecfa8691c06() + { + $this->assertTrue(true); + fn() => ($test < ($test & $test)); + } + function test62c93c0b0a8391b4b1b5327126f4ab0b3c58dbbfa3717ef677000297b6240ade() + { + $this->assertTrue(true); + fn() => ($test < __NAMESPACE__); + } + function test670cdcfd74c4f167b15509d02e8299911bc3bb832f98c777bdf6ae9131fd23f4() + { + $this->assertTrue(true); + fn() => (!$test <= $test); + } + function test6b40f6622c495cd94eb400b7c19fda48826e378395c75b4c077033a1cad097c6() + { + $this->assertTrue(true); + fn() => (empty($test) <= $test); + } + function test6bdbd9cd49d782098f6afb8e1e8c74d9dd14a80bc7de434fb1755414028f0ddb() + { + $this->assertTrue(true); + fn() => ($test <= $test); + } + function test6c03ddf9657b628a5be0521465051f9050e8aa8907e50019684e10c70ffb3983() + { + $this->assertTrue(true); + fn() => ($test < $test + $test); + } + function test6c0ac388f871d3bc34d35ae5ffc23bae9f7ed1e889a08241c11c32e27271117f() + { + $this->assertTrue(true); + fn() => ($test < ($test <<= $test)); + } + function test6c1bcf4bfdf313d9f57f87824b42e1b199e672e317a8b79e5efa4a7379eb94d9() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() <= $test); + } + function test73103c0f7e0cb827b233649bd0374a7dbaf568cc3c5c8cdef713fe34ce956b43() + { + $this->assertTrue(true); + fn() => (new $test() <= $test); + } + function test754261f345d28254ff61e21239222543bcf89937cd9bb62cde18f90136c69509() + { + $this->assertTrue(true); + fn() => ($test < "{$test}"); + } + function test781d87a0eb89abc75ec026afd38b78274c5173132cd02464b03d6e4644b63eee() + { + $this->assertTrue(true); + fn() => ($test::$test <= $test); + } + function test783cd9d7734865a886e80a9861b8dcb37b457bca4a094f7734f44548e34cdf9b() + { + $this->assertTrue(true); + fn() => ($test < throw $test); + } + function test7d83fdef36fdc2e9d6cf8a1a7879063ac893ac72cc3f32f9f1f959745e176479() + { + $this->assertTrue(true); + fn() => ($test < (array) $test); + } + function test7da336e509cafd24e62219aa2a366c23e4ef6acc7bb8c48153614c18e146391a() + { + $this->assertTrue(true); + fn() => ($test < ($test ??= $test)); + } + function test7f56c68b33f2a7d4ca7ff2051bb79a699cbe03f246ab84d0d15df2ca91fb5208() + { + $this->assertTrue(true); + fn() => ($test->{$test} <= $test); + } + function test810ec82743d8a98f0edd1f11795b3b48e61988daf635a32e439426f5c292da35() + { + $this->assertTrue(true); + fn() => ($test < $test << $test); + } + function test83a8858903ed6cb3c79436d777623fb9072bd99d1d972845679dfaca90cb48c6() + { + $this->assertTrue(true); + fn() => ($test < __METHOD__); + } + function test842b7e3cd6b4a519abae0ecbf8016c05a363f6bb8c3330dce35935a15e5d9db7() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) <= $test); + } + function test84f959a9c8e5ba203d10627d3ca60bb5daed428d6bd2ffd120d9a0f8b407f5cd() + { + $this->assertTrue(true); + fn() => (( $test) <= $test); + } + function test86e893b89fc16efe3ff4d53f41788788e0dcd1aacdcf4789d2b817174854d0bb() + { + $this->assertTrue(true); + fn() => ($test < ($test ? $test : $test)); + } + function test887f0b3814de17f2966893cd790e42c0c192bfd0aa12d58d95e1db1ae7818f5d() + { + $this->assertTrue(true); + fn() => ($test::${$test} <= $test); + } + function test89334b16971dd20b35a0e9d98829090a22d767ea7eee43ef76bad1626c6598cb() + { + $this->assertTrue(true); + fn() => ($test < ${$test}); + } + function test89648793311ca47ac3af3bbe0d308ac438f21273996ec137ae639c5b702722da() + { + $this->assertTrue(true); + fn() => ($test < ($test xor $test)); + } + function test89816a1b24172879e78170bee7efd59399c2862738eb53daaa50fcb14c6f14b2() + { + $this->assertTrue(true); + fn() => (self <= $test); + } + function test8bb95738e685aaf185f4d352e4dfec66eaa3604948b392888eeb68bed4c69b75() + { + $this->assertTrue(true); + fn() => ($test < $test / $test); + } + function test9050ed27512ee476af9afd057df3500779f8c5ff5856e81f3dee5d21ac3f1387() + { + $this->assertTrue(true); + fn() => ($test < ($test |= $test)); + } + function test9479ad94a712391f4ce02c661236fcdf5343cb0ad4688ee79f72f4721ff3ee50() + { + $this->assertTrue(true); + fn() => (`` <= $test); + } + function test96b1fd3b98dfc1f5d5593f03fe478f4e143b8fe214e528869f38cafa59852f6e() + { + $this->assertTrue(true); + fn() => ($test < $test >> $test); + } + function test9758c53d5a0c55cb57f2477c007bf8408041336f7e7ce14a954bc992466d2aa7() + { + $this->assertTrue(true); + fn() => ($test < ($test >= $test)); + } + function test9979221861b54b20e4e97e85d75da2a96bdf351ba507bf72586c4e69378d7ca9() + { + $this->assertTrue(true); + fn() => ($test < -$test); + } + function test9fdfa2868794190a3e6cd92a0290d6e1d3126674a42af8a0bd08519567829fcb() + { + $this->assertTrue(true); + fn() => ($test < __DIR__); + } + function testa26a890300a267b814af94ea482b0b0d61c72cd06ea7ea9cee145e2696b7956b() + { + $this->assertTrue(true); + fn() => ($test < (double) $test); + } + function testa74eda3865196132d3c542d46246ed20932827d6db441ca6cb008e37aa6dc53c() + { + $this->assertTrue(true); + fn() => (($test =& $test) <= $test); + } + function testaf06944b2630d0b06c4718445f198e149b67f0df08f1e284765a8b903dbc101c() + { + $this->assertTrue(true); + fn() => ($test < ($test and $test)); + } + function testb08b5fd617d48fe78e7eeb6212d1f7ffb6836326c2fbc212a9efc16c5037eec2() + { + $this->assertTrue(true); + fn() => (++$test <= $test); + } + function testb0f08e0cc20d1baade1e065d870c36b8661387344a86668bf1bb16cf19bb99b4() + { + $this->assertTrue(true); + fn() => ($test < ($test <= $test)); + } + function testba03528cd3a284a6a0b504ad9c270a2664b8ae6ac84924b65df34b9ce3c19925() + { + $this->assertTrue(true); + fn() => ($test < ($test .= $test)); + } + function testbac6c808496de6b01b42fcd9605067a27bd6820e0b642399d96ffbbeb2f36c29() + { + $this->assertTrue(true); + fn() => ($test?->{$test} <= $test); + } + function testbb75e6fe9d820b7502846aae2d572c3763fd76af13392b89bbe7d347b1f917f6() + { + $this->assertTrue(true); + fn() => (eval($test) <= $test); + } + function testbfaa0a103fe278b0447eaabc0beb6ad5bd6cad51236bcd94d170db38196823c9() + { + $this->assertTrue(true); + fn() => ($test() <= $test); + } + function testbfcaeeeea5718f8a25c7cfc7a2f32ca98c9ca902a4948252fcb9bec9c66f563c() + { + $this->assertTrue(true); + fn() => ($test < $test . $test); + } + function testc1d3ede3dfbd82fb02459cb36559bb0d134c95819c64d0f96ae1bb4ab649c052() + { + $this->assertTrue(true); + fn() => ($test < (yield $test => $test)); + } + function testcbc94d92e8a11e6199ec06fb8a0d46f4ae17bfa6726d157f633213f8dba8f8a2() + { + $this->assertTrue(true); + fn() => ($test < ($test != $test)); + } + function testccdfee0c4c2cc6d2514a9662e23d6208a9db23696b99f7b13e4d5ba93f9cde77() + { + $this->assertTrue(true); + fn() => ($test < ($test > $test)); + } + function testce150b736728c5a0a3a70000180b5ac8729489a57b439431051cfa616709cb2e() + { + $this->assertTrue(true); + fn() => ($test < ($test -= $test)); + } + function testce5fc61e32f63d33b53430e68322ea7106f5b51c962ed504b1780f17fbc31e49() + { + $this->assertTrue(true); + fn() => ($test < ($test &= $test)); + } + function testd03d4d650678f4d89c146c01d483e593c0a806734a012c6faea31a3123176951() + { + $this->assertTrue(true); + fn() => ($test < $test * $test); + } + function testd0cddf64c55914863b7e4c45b7fd0db15269f2f1e5d6722355565e90cef60450() + { + $this->assertTrue(true); + fn() => (--$test <= $test); + } + function testd48122b16eb9054a97da91a146669e41c6ad3d3a9cbe2be37fec8427dc6707f6() + { + $this->assertTrue(true); + fn() => ($test instanceof $test <= $test); + } + function testdafcdecbcebd0f0415c79f7a09e4227884012e862af339f02f4cf83434079b0e() + { + $this->assertTrue(true); + fn() => ($test < 0.0); + } + function testdc82e413c62395197cc4d41ebf290ebf186191595d3bb00160c7582f40796fed() + { + $this->assertTrue(true); + fn() => ($test < 'test'); + } + function testddb8a5127ba804622d4237f4b2174161a9d6e8947d4d2efa8848844c7d4bd333() + { + $this->assertTrue(true); + fn() => ($test < ($test <=> $test)); + } + function teste68a2594e7425254131c8702715e926507e880742504699c078aa8b37204db29() + { + $this->assertTrue(true); + fn() => ($test < $test ** $test); + } + function teste75dd53d432083827e9abf6a5b2ac6090aca22e303ce6079c1f9354c7da34bed() + { + $this->assertTrue(true); + fn() => ($test < ($test && $test)); + } + function teste93ccdef947af47d2c83c22ff8e0904f3e26655560ff07c1b861ace32792d801() + { + $this->assertTrue(true); + fn() => ([] <= $test); + } + function testea2dbd51b0ed675eae2efb0976de712658a5d398914e920061309647a984cad0() + { + $this->assertTrue(true); + fn() => ($test < ($test ?? $test)); + } + function testf104a8302831e2a6bc834b616e74c497bbb5d137610043a16407e4eca577a505() + { + $this->assertTrue(true); + fn() => ($test < 0); + } + function testf35c59562636dc2b6456d144f71a4ab316d7e49b325b780796db09ba3929378d() + { + $this->assertTrue(true); + fn() => (function () { + } <= $test); + } + function testf473f97f48899a6f9269427d7846602a231b60095ef39488a7ce2c1b3b6b1644() + { + $this->assertTrue(true); + fn() => ($test < ($test >>= $test)); + } + function testf5b64dc0f84cf7f6f5dc5549443a343c9cd2184df0869b16b9c7183645757163() + { + $this->assertTrue(true); + fn() => ($test < ($test %= $test)); + } + function testfcbb78be8dcae783ff216a025bb863342dbb3ce6125a9f08b76593b6b58be5a3() + { + $this->assertTrue(true); + fn() => (($test = $test) <= $test); + } + function testfce091fcbc739f1c1026f8d5dbad97069ffb8f9aa462d2d8fe59e725da623f7b() + { + $this->assertTrue(true); + fn() => (throw $test <= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test.php b/testsGenerated/Target/Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test.php new file mode 100644 index 000000000..6d9fa6edc --- /dev/null +++ b/testsGenerated/Target/Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test.php @@ -0,0 +1,508 @@ + + * @license MIT + */ +class Expression1fe63c6ae828329cd70e3c818e78d1e5652662a750c1e669a2182631b0e2c888Test extends TestCase +{ + function test013dc8faeec4346887d0ccb1b3b721db7e6a0a0ce0014e875a4e3bb19d5ffc69() + { + $this->assertTrue(true); + fn() => $test->test(); + } + function test02c597f1928d42e8cd71e8b1372c5c6c1ccd0b3c3ffd584ecf3c550c36c91336() + { + $this->assertTrue(true); + fn() => $test->{$test ? $test : $test}(); + } + function test02dfa08ac7229cf22c3fb6e652630a1c72e33828259c7dbea7ada464ef00656c() + { + $this->assertTrue(true); + fn() => (__CLASS__)->{$test}(); + } + function test06dec31b1e5a1d16d18e39b9c68b5829d2827dfe1ab9e2d734f11e1e1e7e24e9() + { + $this->assertTrue(true); + fn() => ($test !== $test)->{$test}(); + } + function test0ef223b71382cb3af0990c69de7eca19c805d39e7715e7cdf1f2ea014b2b57b3() + { + $this->assertTrue(true); + fn() => $test->{~$test}(); + } + function test15385e66815a81c0c361df33ef60241959e3255e7b2c49f63a29c4cb0ba94cc8() + { + $this->assertTrue(true); + fn() => $test->{${$test}}(); + } + function test16c6fe25a913c0261395d19cb556dce905f9d7442169934a0b9021241ddf5c6d() + { + $this->assertTrue(true); + fn() => ($test + $test)->{$test}(); + } + function test17d5c6333eb593734978f75c42612f34f4dae0d7ab3e3f8d8ac63a16c9c88b93() + { + $this->assertTrue(true); + fn() => (__FILE__)->{$test}(); + } + function test19760e1ec64dc24ab54dbd5cb0e5e24d05791fb20d001c2162b05651b3535ada() + { + $this->assertTrue(true); + fn() => ($test **= $test)->{$test}(); + } + function test1b0891a677c650abf895a5d762e82f4130365a0c383639a017a0726997b7a4f1() + { + $this->assertTrue(true); + fn() => ($test / $test)->{$test}(); + } + function test20570b029dcb6091476fb32e682d24318159c8e6cabacce5363aa2bbe80e8eee() + { + $this->assertTrue(true); + fn() => 'test'->{$test}(); + } + function test2373aa890d20c57577141b362a16e5bb8f3243a991c5eea2f074b226bc4dc0e5() + { + $this->assertTrue(true); + fn() => $test->{!$test}(); + } + function test2a9269d31aecc204669c299a4ea3ade10cb947d0313f777731f9caab2615b76a() + { + $this->assertTrue(true); + fn() => $test->{$test?->{$test}}(); + } + function test2cbe0b0414c566271f309f2ecd59d956b702e3b406f2873dd75e4ff3ed6f5818() + { + $this->assertTrue(true); + fn() => ($test or $test)->{$test}(); + } + function test2fb43a81defc9046ee1d6fe1a56445c4ca4c7e502336f2f8cf9533f08c4c41a4() + { + $this->assertTrue(true); + fn() => $test->{$test::${$test}}(); + } + function test35144abf73ddb313e4759f42be20997f27b9a3ab77f8234b34fbe11404c1385c() + { + $this->assertTrue(true); + fn() => ($test <<= $test)->{$test}(); + } + function test355658ec55abf89002e3eb84362e01a06e729858da630fbfe3207fc8edf2dee1() + { + $this->assertTrue(true); + fn() => ($test | $test)->{$test}(); + } + function test36263cd7187ed5a0b2b87d632851913bd25614d042ad088b422864d1aa7a8900() + { + $this->assertTrue(true); + fn() => ("{$test}")->{$test}(); + } + function test3f5aa6b685b8a53859e88d7f58a2551f1bbe20c2ca804da7f0987a5d8f96a4c9() + { + $this->assertTrue(true); + fn() => $test->{$test?->{$test}()}(); + } + function test403b6644e74e7339260ca10236fa61b0de60699feed34824ecd2a0f412368238() + { + $this->assertTrue(true); + fn() => $test->{yield from $test}(); + } + function test41bf42488e420f3e20bf731766a36a88144052ae2f04d8b90d78f38464ce0fd0() + { + $this->assertTrue(true); + fn() => $test->{function () { + }}(); + } + function test42253160d6b2629fab91b155f5d6bd336378fba1405cbc6cdefe1a6fe8d73289() + { + $this->assertTrue(true); + fn() => ($test += $test)->{$test}(); + } + function test4365df292b750e4486f4c0a74d0aee43ad6e7881a3231a3b0ac81e7cdd6e25fe() + { + $this->assertTrue(true); + fn() => ((double) $test)->{$test}(); + } + function test43a6597e140b376f734c0b3726f843e46038b3236124e4403e2d723445aa8f59() + { + $this->assertTrue(true); + fn() => ($test ^ $test)->{$test}(); + } + function test45b91c91c85988f80f284174f9d8f171d20646c041acccfef7a8ea0a699f1afe() + { + $this->assertTrue(true); + fn() => $test->{$test instanceof $test}(); + } + function test4c84ac21f12ade0e2eb1e077ce92b77ad55ac67d5d68716a44732abec887bb06() + { + $this->assertTrue(true); + fn() => $test->{++$test}(); + } + function test4dd8acb5aa55d95260f7efe9fdff94904a29e0de0275f0a7d5b366b9f6a767c8() + { + $this->assertTrue(true); + fn() => ($test >>= $test)->{$test}(); + } + function test4e0de85be217be1b6c1a257fa3c1e93cd365204712061a66b5505836818d533f() + { + $this->assertTrue(true); + fn() => $test->{self}(); + } + function test4e507009fed1a226a96fb8a1f34e6eee3d569cc27f00698d7905caa8a23c1099() + { + $this->assertTrue(true); + fn() => ((int) $test)->{$test}(); + } + function test4ff8bfa8ed0c994a235126c66b766da43b9e0f413d3b5cb19ffe033c757b3573() + { + $this->assertTrue(true); + fn() => $test->{isset($test)}(); + } + function test51438c0e6ca6725c43366bb41ff3e5ae92270ea7017d8f5d0d85d6724522a7b4() + { + $this->assertTrue(true); + fn() => ($test == $test)->{$test}(); + } + function test537f8d9e6f89cc0011cf50bcce029967b6d91be051131c3802be4f6abecf8b76() + { + $this->assertTrue(true); + fn() => ((yield $test => $test))->{$test}(); + } + function test5449eb8b35ec66525a6ca499ac5fd9cea2ccd6ddf773395752c48f0148a3e1a9() + { + $this->assertTrue(true); + fn() => ($test && $test)->{$test}(); + } + function test548e957d155cf247316c2547e86178893a65251aefec77efa1f844c2edbedc09() + { + $this->assertTrue(true); + fn() => ($test != $test)->{$test}(); + } + function test550daee148240f529f3a38c43b718c9aff24378d9fd7b070b4c803ca3469be6e() + { + $this->assertTrue(true); + fn() => (__METHOD__)->{$test}(); + } + function test577f461541605db17263ed05ff845f732e9746f4e0efde51dc941e6f627d5ac9() + { + $this->assertTrue(true); + fn() => ($test |= $test)->{$test}(); + } + function test600c230ce24f3d36ca2262fbfd0f630f211fcf8b70c329bc131b462c1833c283() + { + $this->assertTrue(true); + fn() => $test->{$test = $test}(); + } + function test62575d27497afd09cfefd792372b1d27e713a6a640e0a53fbf6ab1a86ae81875() + { + $this->assertTrue(true); + fn() => $test->{-$test}(); + } + function test6432693cd55dae5479c7b8f93e29930799c886fb51e0608b29ea5436b68d867e() + { + $this->assertTrue(true); + fn() => $test->{$test::$test}(); + } + function test653e9248a865f0c1d57751f6cefa415ab69f4c7fd4c1e7d26f3ac3a9a49c6f65() + { + $this->assertTrue(true); + fn() => $test->{eval($test)}(); + } + function test67b9458c8393a7d0aa42a1c8b7940e915e2860278c3b2420f179df79d146e1e9() + { + $this->assertTrue(true); + fn() => ($test === $test)->{$test}(); + } + function test6b38e212947ef97bc7a8e6001163f717b6da465a852edf7042e251ee742de5a1() + { + $this->assertTrue(true); + fn() => $test->{$test}(); + } + function test6fdec6d9185a8a7f3c4f00b331ac9d526ac2a3c1889939cbb2b7178b4478c0ad() + { + $this->assertTrue(true); + fn() => ($test < $test)->{$test}(); + } + function test7174f136ce462c87b07b5656eae915c08c6250515c7f1de5cb97866796ba2221() + { + $this->assertTrue(true); + fn() => ($test >= $test)->{$test}(); + } + function test7313643266dd600a0b7ad18b2ef2828c0d72b6946b9256bf6604a0f6477725c2() + { + $this->assertTrue(true); + fn() => ($test &= $test)->{$test}(); + } + function test752287c17ad5746614cfa2ac871df3685c33febada81ce991268cbd1e98d8ee4() + { + $this->assertTrue(true); + fn() => ${$test}->{$test}(); + } + function test75b09a72e3be8f5ceaf2dfc525aceeb4abe72bd342cd012b10ce94b5d359d158() + { + $this->assertTrue(true); + fn() => ($test ??= $test)->{$test}(); + } + function test766bbe6e80dee3c5503f09737e9d1fa8a1e38c433058437bcd4bb1133e89f0cd() + { + $this->assertTrue(true); + fn() => $test->{``}(); + } + function test7850971191568f2bca63cc444fce01d679be6954c58eb61e8a35e2c53dc42a8f() + { + $this->assertTrue(true); + fn() => $test->{empty($test)}(); + } + function test78705baa0a218d4b6b1539f48f91c5d916161a8105fdfc57ca8fb95818992159() + { + $this->assertTrue(true); + fn() => ($test << $test)->{$test}(); + } + function test7a50295a712dfcbf93e9fc9d6fe2184eba993be116f3f1199384069be7638f7b() + { + $this->assertTrue(true); + fn() => ($test *= $test)->{$test}(); + } + function test7c56e6466bcc9b094ce7311d4846b50c620e08bf316719b4894e7d89df6fd87c() + { + $this->assertTrue(true); + fn() => ((bool) $test)->{$test}(); + } + function test82223a821514bf7377bd279fd8aef3add8e24a67f9e43d6854964af601a41fc8() + { + $this->assertTrue(true); + fn() => $test->{new $test()}(); + } + function test84a5cfa91b921934db8d3d6c687d616798d7201463003dd85aa4d701645f2c9a() + { + $this->assertTrue(true); + fn() => ($test ?? $test)->{$test}(); + } + function test893b89a2cc18a67689b49d806426e55f6f0e5da32b33c0116e33d98c0b238ab5() + { + $this->assertTrue(true); + fn() => (+$test)->{$test}(); + } + function test8c73a7a01967858d50a606415f69de7a85fcac292009cfe69e0779f85695326b() + { + $this->assertTrue(true); + fn() => ($test ** $test)->{$test}(); + } + function test8e8134f19e708b0383ca540b6237bb376f940e8221545b1e0234d8a705df07a4() + { + $this->assertTrue(true); + fn() => $test->{--$test}(); + } + function test8effca65d42dd61cc5e3c1ad217b13fdfb71ec0cd815f4b960a92888a5961714() + { + $this->assertTrue(true); + fn() => ($test %= $test)->{$test}(); + } + function test9368876b8154c9f2369ae52218fcd22711c80be4eb158ff4e520108e1e050998() + { + $this->assertTrue(true); + fn() => $test->{clone $test}(); + } + function test94a9c5aade4c8a1a5bccbeeb9882522af45ea4d7e0e877e8c7c5369f0756b5cf() + { + $this->assertTrue(true); + fn() => $test->{$test--}(); + } + function test968b73c349dc916bdbc4e1046209a9a5126dd963b3151f1ebb384901a039527c() + { + $this->assertTrue(true); + fn() => (0)->{$test}(); + } + function test9794a5880777193ed0e176739a1078fd44f8bc5d8c8525ffb473d8bf349f6012() + { + $this->assertTrue(true); + fn() => (__LINE__)->{$test}(); + } + function test989bb6608f3b3eef6745c04d52e7641a9ac87eeca73665453a19bc53cbb00906() + { + $this->assertTrue(true); + fn() => (yield from $test)->{$test}(); + } + function test9bb74e27abfe6d17bec7792e4f1e3058a79a07437aa106f581f40d947f3637a8() + { + $this->assertTrue(true); + fn() => ($test and $test)->{$test}(); + } + function test9e2237bcc43877387fcd5fe138e5954cf07aa815e017cedcd1fdf0826e1a9eef() + { + $this->assertTrue(true); + fn() => $test->{$test::$test()}(); + } + function test9e42749805ef7d98499f7e986f98a648fa07a96574eeeeda216c84960265c888() + { + $this->assertTrue(true); + fn() => $test->{$test[$test]}(); + } + function testa593ca2f0c97036b9abe93c757706888cc85fe0ea0fc2347b2f26b5b9a6d1826() + { + $this->assertTrue(true); + fn() => $test->{$test++}(); + } + function testa7f3aa5e5527719e5b1777116af44360800a0c17364d574168ab2af3fcd3dd81() + { + $this->assertTrue(true); + fn() => $test->{$test->{$test}}(); + } + function testaae4f844ba7920ef96debea464dac578d2e467e181e2b040d7ff5b8e9d76bc9d() + { + $this->assertTrue(true); + fn() => ($test % $test)->{$test}(); + } + function testafb867e6f1bc50691c5e359b7ed72ae3d8b44738ac7d881577e37f8b48bb0dfa() + { + $this->assertTrue(true); + fn() => ((array) $test)->{$test}(); + } + function testb223d123a52bb45ef9706490e3450032c9fc69bf59d0e39c454c38dd5edda504() + { + $this->assertTrue(true); + fn() => ($test /= $test)->{$test}(); + } + function testb856dfcc1430665d26bb0e0e681f0db5bfd71806b5973597f5fbc9be24f1ee7b() + { + $this->assertTrue(true); + fn() => ($test * $test)->{$test}(); + } + function testb963366605089b614e1666ef7b77396e8a58a7c6a4088951eef440a051fd82c1() + { + $this->assertTrue(true); + fn() => ($test xor $test)->{$test}(); + } + function testbc783a7917648c312e37ad62f478e7f71e689102ff5fb0ab9def09ffbd90eae6() + { + $this->assertTrue(true); + fn() => $test->{+$test}(); + } + function testc05ad043982d574ae7c5c7262a9db7238c91a4e6b0cfb8bf9deab942c7ab3051() + { + $this->assertTrue(true); + fn() => $test->{$test =& $test}(); + } + function testc3da6a1be6a4ab6283867161f2723530ae8b7a3ce9c90a3460d005b25246395a() + { + $this->assertTrue(true); + fn() => $test->{$test &= $test}(); + } + function testc5f7e38b6557e85e8f6d248b1e78379e396b0eeeb36c226c37dfdfc475b57009() + { + $this->assertTrue(true); + fn() => ($test <=> $test)->{$test}(); + } + function testcc5f73db224b5ff784c6105aa970959c37b70bf9daf481f8cc90b3ef5c2cb423() + { + $this->assertTrue(true); + fn() => ($test ^= $test)->{$test}(); + } + function testcfc980ed41231892d9d14a1d3d7d0484fc25d3ce94a74a2bb94b6da4fdc04bf1() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__)->{$test}(); + } + function testd13264ddf46772d3cb294f3e659cb5c31d6e48574f5419b360da65920d935928() + { + $this->assertTrue(true); + fn() => ($test .= $test)->{$test}(); + } + function testd241cc21ca36a0712158c4c47c98cb745785595fef5a40a186655d370f18d8af() + { + $this->assertTrue(true); + fn() => ($test || $test)->{$test}(); + } + function testd7ab9dfd120cdf9d79f7914325e12d72bcc346d4bd70525a79daafecfd9e59e6() + { + $this->assertTrue(true); + fn() => ($test <= $test)->{$test}(); + } + function testd7f3256bbbd3272b1c49b0fb231295c14eb75098a8131b8ccb4ad0e06a4a468d() + { + $this->assertTrue(true); + fn() => $test->{$test()}(); + } + function testdc30af46d9b05b6b2a129eb1c40360ec0658f258f27edc7656e5212f9688c713() + { + $this->assertTrue(true); + fn() => ($test -= $test)->{$test}(); + } + function testdf928abb3d1e41465343fee224d8554e55f6fda024a096fdcc35e3b49ad6b120() + { + $this->assertTrue(true); + fn() => ($test > $test)->{$test}(); + } + function testdf999649d5c9ab3a7aada8925e0bb4d0341df35f18988f1ebd5d33e1258dd895() + { + $this->assertTrue(true); + fn() => $test->{(yield $test => $test)}(); + } + function teste22cc9255ee9c71c9043c1dfafd486b7234242ad5b9d3e5c9d5e64a3109d362b() + { + $this->assertTrue(true); + fn() => ($test & $test)->{$test}(); + } + function teste27ad423d0b02c583add24c89084a88af4b6a68791fbb1070842997a26d74eb8() + { + $this->assertTrue(true); + fn() => $test->{ $test}(); + } + function teste5a033e16984a6b4b0f71f5f78cc9c53216da532224aca2c737e363522ab2daa() + { + $this->assertTrue(true); + fn() => ($test >> $test)->{$test}(); + } + function teste631e32b1f60dbccb651571d30fb77e1ab9dd0b3d4e925f0bc26e672e8a7f864() + { + $this->assertTrue(true); + fn() => ($test . $test)->{$test}(); + } + function testea60b58ccf0f895101b9bb84edb22839d9e0c8e90d396e0a7765672230647f0d() + { + $this->assertTrue(true); + fn() => ((object) $test)->{$test}(); + } + function testede516e3b12b0fc4685540616b999b178ab68454203a4c1834ba4de6fa073949() + { + $this->assertTrue(true); + fn() => (0.0)->{$test}(); + } + function testee2e26a20d0d4d2f38f1ab8f1c42b4702fde2606e65e1389a1725c943fb73db4() + { + $this->assertTrue(true); + fn() => $test->{@$test}(); + } + function testf07e13b5ff6b5b8e6eaa643795a6082986b9ef853522d27dd3d85f50d5881388() + { + $this->assertTrue(true); + fn() => (__FUNCTION__)->{$test}(); + } + function testf11d4b1cddaccfe04c72a8ca89a6531cef0a65c2bbc2623ef91f87d034313edf() + { + $this->assertTrue(true); + fn() => ($test - $test)->{$test}(); + } + function testf2ac1052bc6cfb2e3f167b6be6a6a6635d6d49024fa3571e23ecac6c3d80137a() + { + $this->assertTrue(true); + fn() => ((string) $test)->{$test}(); + } + function testf732f5356d07e85a34a2ce8d662dd885468ad0c670066d2f7c71fcd668342950() + { + $this->assertTrue(true); + fn() => (__TRAIT__)->{$test}(); + } + function testf740afb4910b418e3a4267d03859c550124220c56da8d334a14621adef3fa427() + { + $this->assertTrue(true); + fn() => $test->{$test->{$test}()}(); + } + function testf87922426ae1ac8b51caf96fe3645a0cea6b6179a7f0943ed39b7d9c5be932a3() + { + $this->assertTrue(true); + fn() => (__DIR__)->{$test}(); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test.php b/testsGenerated/Target/Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test.php new file mode 100644 index 000000000..6e61b758b --- /dev/null +++ b/testsGenerated/Target/Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression215e855e91f6a937ebf449b40d5a97312208e3cbfced5ac1ccb2499fed0474d1Test extends TestCase +{ + function test040197d395eff963f117d50c8557dc3f5a0dd05befe4731ffa05cea885ed293e() + { + $this->assertTrue(true); + fn() => ($test = $test::$test); + } + function test08276d09140bb9fdf1a6c0cdfd9038a496df38575e0c72ec3d6cd475616ec0bb() + { + $this->assertTrue(true); + fn() => ($test = $test::${$test}); + } + function test0877280728d3be3501b696c569ec5d5aced768cd3318f37f74f2ca1831ac64a8() + { + $this->assertTrue(true); + fn() => ($test ** $test = $test); + } + function test0d1d6a70ee0648d87de2cb830b16494a7ebb53fb26588295c94b1bb728015b1b() + { + $this->assertTrue(true); + fn() => ($test = --$test); + } + function test0d256f1e2a5e680f991b6d47d794d270ed5611d086d33989eac28e41642322ff() + { + $this->assertTrue(true); + fn() => ($test !== $test = $test); + } + function test0ecae5fe0a2f74881ee6cec3294a7d3cdfb6eb7cc01d36eac4ecc62e51a67ab6() + { + $this->assertTrue(true); + fn() => ($test || $test = $test); + } + function test124423f2cd086567d6c139a2435710dbc38f6113b95c2eacc4552d8216c15522() + { + $this->assertTrue(true); + fn() => ((string) $test = $test); + } + function test1aeee38cbb901ef749d7c0dfe9763785732fdd815908ac6411d57d61702d9eb7() + { + $this->assertTrue(true); + fn() => ($test = ($test and $test)); + } + function test1eb65f5e58db467f6cfc73cab64320ee06133b72dda82487f612a5c0b530ae76() + { + $this->assertTrue(true); + fn() => ($test = $test++); + } + function test21640187ddb4807dd21d6aedf77cffea2a01396ddcaf9676ab13eb20c9502f5c() + { + $this->assertTrue(true); + fn() => ($test ^ $test = $test); + } + function test2170397a9f57d38ce56d9dec92380e243bf68dc382ecd95e8d1575b37e54c1be() + { + $this->assertTrue(true); + fn() => ($test = $test?->{$test}); + } + function test23a7d311ecbd0b7944629566083d3792cefc7ed82f4f3c4f0588068e6e461c2e() + { + $this->assertTrue(true); + fn() => ($test >= $test = $test); + } + function test2625885d35bddea834a52e2d3053e9a555cc79b51948b779fc59db35441ef951() + { + $this->assertTrue(true); + fn() => ($test < $test = $test); + } + function test27202322b1352deae0db04bb6038bd3ea383e1e9c3b85b3656cea7fd49181a84() + { + $this->assertTrue(true); + fn() => ($test = $test()); + } + function test2a604acd65698ef9c702a0fe332b9c980dacc2b67c9c8adac6996999650fe291() + { + $this->assertTrue(true); + fn() => ($test = $test instanceof $test); + } + function test2d13cd649a465647a0f3db4288e9421ace2eb5855c35ebb386af8ec5da9e9c10() + { + $this->assertTrue(true); + fn() => ($test = $test->{$test}()); + } + function test2e10bd1eaa25e3a5a155bfb1b3f977ce2dc2c568d227404835f7c1aa1c404db6() + { + $this->assertTrue(true); + fn() => ($test * $test = $test); + } + function test366dfa754bc468fa707c9d85ee252922c20bcb5308caddc71142ad6610ce2776() + { + $this->assertTrue(true); + fn() => ($test = $test ??= $test); + } + function test3ace81737cc9539b05522ec6e78b02af84752bef9ef2ffd42cc0bcfd2ffcb698() + { + $this->assertTrue(true); + fn() => ($test = $test | $test); + } + function test3ae31b24e43e04426a1cdab92ba00696cfb6fea8145b39e4ba53a5b8139c0cfa() + { + $this->assertTrue(true); + fn() => ($test && $test = $test); + } + function test3ffa1416e8675085ec4bc926c417cd3313561b42c1dc123035e5b0d0ee4e558a() + { + $this->assertTrue(true); + fn() => ($test = isset($test)); + } + function test44dedc7ee06de436d170f115663e914bd60d1d8e5ed0a1a6552c27a76de51be6() + { + $this->assertTrue(true); + fn() => ($test = new $test()); + } + function test451afd34c553ce94c3a188145ea24113417805696faac8d20fecc366277291a8() + { + $this->assertTrue(true); + fn() => ($test = $test >>= $test); + } + function test47556abaaf64dcbc82a7127a03b70892d7946f7d946ae4cd6360f1363d28b138() + { + $this->assertTrue(true); + fn() => ($test = $test =& $test); + } + function test47c4fff0984d23651762d82617fc1da1a64a77f05dd466debf0cfa89e3ab5e83() + { + $this->assertTrue(true); + fn() => ($test = +$test); + } + function test485063934ffda3992076b18553a7796cfebd241f0c26dfd323bede9f434405f9() + { + $this->assertTrue(true); + fn() => ($test - $test = $test); + } + function test492bddab85b11d74ba2c7b759ee102ef2eebc9c88770e756ee0e9aa74d97257c() + { + $this->assertTrue(true); + fn() => ($test = @$test); + } + function test4946100271098fb020327f80bed6842180b4a9ee1d630357b187fba324a0b1f5() + { + $this->assertTrue(true); + fn() => ($test / $test = $test); + } + function test4c736487ad05faece9d94cd53690f19aa7873821a0ffd0fddd8214a5174b244f() + { + $this->assertTrue(true); + fn() => ($test = empty($test)); + } + function test4e4c88d5dd0ff227fee69238bb1cfcfb553ff7ee4000697f4fee5bfb1a24d8ad() + { + $this->assertTrue(true); + fn() => ($test = $test <<= $test); + } + function test54b87ed88498da7bcea8fb576da0c00155ef4300c7c9deae582eabd5da92201a() + { + $this->assertTrue(true); + fn() => ($test <= $test = $test); + } + function test56acde7241f36ab171c32cd1d69e10cfba36dd8c229439d295a17f3f45c8cd2d() + { + $this->assertTrue(true); + fn() => ($test . $test = $test); + } + function test5885d5aa29064af31b451a344325739b3d42fb747cb626f4d57d23103830a088() + { + $this->assertTrue(true); + fn() => ($test = ($test or $test)); + } + function test5b9d30391d411a672995d4b44d1d7d7d9620b15032dd9a7fcd3778549807ce49() + { + $this->assertTrue(true); + fn() => ($test > $test = $test); + } + function test601ffaf0632b1024210ad546875c7f5759dfcaa61e1d9d8d64a417f4ff0a5928() + { + $this->assertTrue(true); + fn() => ($test = ++$test); + } + function test60e2beb914e5d37e8e635dea63868b4f16ed8dc3094a1cd97881b82f35a78c9d() + { + $this->assertTrue(true); + fn() => ($test = -$test); + } + function test667ad8bc4a6b4d7a70bf3869be22b363ceba9c5ec3c0cb12b5f8778d9f3025cb() + { + $this->assertTrue(true); + fn() => ($test = $test -= $test); + } + function test68295bc394a857de964f6fde8665bc8d19e1de13caebd2be2fdbaa0a8702cd11() + { + $this->assertTrue(true); + fn() => ($test = $test & $test); + } + function test6d691f3f4bc56fcfb72d01828970407b86299103e7ab127ee692c5081b2d04b5() + { + $this->assertTrue(true); + fn() => ($test === $test = $test); + } + function test70a126c09c85420c5a0942ac6a100c5d8aadd14653924e7fafeaf9d3804dcc2c() + { + $this->assertTrue(true); + fn() => ($test = function () { + }); + } + function test70cfede6cd31d272cd967e6ac1fe7de1e631c7a4f33f86809145093d14d19bd6() + { + $this->assertTrue(true); + fn() => ($test = $test?->{$test}()); + } + function test714614d58fcdd8fcaefb05dd6f747a74727a86cf0511409e9cf622678cb7c785() + { + $this->assertTrue(true); + fn() => ($test = []); + } + function test722f9a71c50a63ac909d8ff7c46148aaf0a93b65dc948b6e15aa0615c2b422ab() + { + $this->assertTrue(true); + fn() => ($test = $test ^= $test); + } + function test74211e39282bcb43df2c5f4b6ae3f20fe7f07099e127652a1d808cfb57ba978c() + { + $this->assertTrue(true); + fn() => ($test >> $test = $test); + } + function test76b9ff28efca23d0dcf7bdbffadb92e363500624140a317e6ea5ad7fdb707fc4() + { + $this->assertTrue(true); + fn() => (+$test = $test); + } + function test7717949df10cd1805ec7e0b2e13ce4e603d9e8e557df475c23f7516449bf7c3e() + { + $this->assertTrue(true); + fn() => ($test = $test / $test); + } + function test7975b583644b46ad2b066c4f74329ad210b77cdadb68904abcbc0179dcf11fb2() + { + $this->assertTrue(true); + fn() => ((int) $test = $test); + } + function test7d68f13a3af3af31335081f999b13e933266c22b42fa3f5efedab480025c5a81() + { + $this->assertTrue(true); + fn() => ($test = ~$test); + } + function test8126e854bbef0a4684fab3b4ddba0d882a3e9c56c84d2c67c61e6101017421c2() + { + $this->assertTrue(true); + fn() => ($test = $test ? $test : $test); + } + function test892a660dc672fc741fd57dfd9d90a0e505f571c6f4f61497a6028a15b71d9d9e() + { + $this->assertTrue(true); + fn() => ($test = !$test); + } + function test8d497b926a1f480f73535432b35c10ae50d8164c2d0b0614e82d3c4dfc6415e5() + { + $this->assertTrue(true); + fn() => ($test = match ($test) { + }); + } + function test8e82c1e8f5c8bf48a1988eda32dd174a5e297355ac17f0f8bde0c1b9e9e9e01f() + { + $this->assertTrue(true); + fn() => ($test = ($test xor $test)); + } + function test91e6eacccf9b69f41dbdfebf3eaebe1ffaa2c784385ac02ad199645da2c743a4() + { + $this->assertTrue(true); + fn() => ($test = $test = $test); + } + function test948f104fb25985718a3935201ff5e07f4c1485831eb2f30c60b4d07f7909a64c() + { + $this->assertTrue(true); + fn() => ($test = (yield from $test)); + } + function test98e6eaea0163d66f7374ab4b9a8b55fdfd6d8e4c2da9d8fd71816c01117f4e64() + { + $this->assertTrue(true); + fn() => ($test = $test ?? $test); + } + function test99260025e5e70153368e201f6df4b6bab404cfe3239bf9799c3fa1d41b41590e() + { + $this->assertTrue(true); + fn() => ($test = $test === $test); + } + function test9a3220664483113eb690d58bdba0c7edff2438ccc46f810b3da1f3d25451b691() + { + $this->assertTrue(true); + fn() => ($test = $test > $test); + } + function test9a9eb108aa24a808576f7856c9d299ff68a24e6618167bfbf37e50781a49a75c() + { + $this->assertTrue(true); + fn() => ($test = throw $test); + } + function test9e93ac99f0f0cb368d9831c66af3e65e7a54651bea344756705616badc362186() + { + $this->assertTrue(true); + fn() => ((array) $test = $test); + } + function test9ec61ee5d5821e5f634373af23945600be369ecd1e112d7995c8d10c0eeb146a() + { + $this->assertTrue(true); + fn() => ($test | $test = $test); + } + function testa72b9c429673e7dcb0f6246725d306b792a29ea3d06eb9414ce226c617b28cc7() + { + $this->assertTrue(true); + fn() => ($test = $test == $test); + } + function testa8a4e3089c04ef8d120ce81c2197c99abf93665afcdd99d933fafba541790ec1() + { + $this->assertTrue(true); + fn() => ($test == $test = $test); + } + function testab307ecf26913e8db138a6eab93c6095f9bb49efa1bec3c1822b16a8b0d379a7() + { + $this->assertTrue(true); + fn() => ((double) $test = $test); + } + function testac6e70aea9d907ca6358230bd6438f7dcc599cbaed7e811eac09d5ef81903ab6() + { + $this->assertTrue(true); + fn() => ($test = $test->{$test}); + } + function testaf07216eff3b7e5a8f5ab25cd06299e01ad891e4eb0c5532cc61df520435441d() + { + $this->assertTrue(true); + fn() => ($test & $test = $test); + } + function testb007f60e2e265b7103b7b4609aed4086ce91359bd2505b9be2d995168c39d38c() + { + $this->assertTrue(true); + fn() => ((object) $test = $test); + } + function testb25f45631f1e75a78fedd986a4cb5a5cdf6ccf1624c531e592069968ff092251() + { + $this->assertTrue(true); + fn() => ($test <=> $test = $test); + } + function testb51d8736dfab4147e8c7dd2209f30e3e8e05f294bfb29e0bf734d5ff3faebcd0() + { + $this->assertTrue(true); + fn() => ($test = $test >= $test); + } + function testb62030b2112f30eca484c71977c2d60ed26fc274095d846dcd4bb8dd4308f7d6() + { + $this->assertTrue(true); + fn() => ($test = ( $test)); + } + function testba8c0624fe1986dbe9105c81c9ad1a0d900b3e6a0875eeeae69a30174816f35a() + { + $this->assertTrue(true); + fn() => ($test = $test::$test()); + } + function testbb2583b087ace351d6e68a133a194d6ca6df0970a52d471ebb67f0d2c2c6b902() + { + $this->assertTrue(true); + fn() => ($test = eval($test)); + } + function testbc0f1f5f41a7377bb9b73e1c9c3b511953c805de5f5f12621eade025386d2e26() + { + $this->assertTrue(true); + fn() => ($test = $test |= $test); + } + function testbd11a027c7d47b2010b99b8cb033dac9b4f3658ec5c713f0b6b756b98fb7dff6() + { + $this->assertTrue(true); + fn() => ($test = (print $test)); + } + function testbe166581de4d303e1530c304e1c738389f824453adc3649d57c1ad5552414e2a() + { + $this->assertTrue(true); + fn() => ($test = $test . $test); + } + function testbe7181f8396f34834dec417efb11110590996462da82fe17fc3ea664a026502c() + { + $this->assertTrue(true); + fn() => ($test = ${$test}); + } + function testbfbdbeb3b626a525323741b632b71383a554024084ea901aed3eacbb0b66ce78() + { + $this->assertTrue(true); + fn() => ($test = self); + } + function testc22dea0b19269eb948101d4ce866b4296dfa70b7de917ffc1bfef8d878367fef() + { + $this->assertTrue(true); + fn() => ($test = $test); + } + function testc3f566f3576deed169fb6e6d7a00ca0b0d7371b00851ab5ce36b882248d59429() + { + $this->assertTrue(true); + fn() => ($test = clone $test); + } + function testc46d9b982ca2aa560d9817ec1ff924101190f2713db3465d268c63151f62c672() + { + $this->assertTrue(true); + fn() => ($test = $test || $test); + } + function testcee27fc32bca57ff7a2bc4f2177b2aef008b98ca243f0f124661bdcc046eb507() + { + $this->assertTrue(true); + fn() => ($test % $test = $test); + } + function testcfa182b868091c449188b4c3d0b405a8408f621ed66e35c37001df6cba519ef0() + { + $this->assertTrue(true); + fn() => ($test = $test /= $test); + } + function testd063f81265e08d1d9a63b96698243eda063a53b628c391ad10e360afcefd7a19() + { + $this->assertTrue(true); + fn() => ($test + $test = $test); + } + function testd079cbee90a75da0eca0310b43086d861d913e6ba9c0f986293f106b97366589() + { + $this->assertTrue(true); + fn() => (${$test} = $test); + } + function testd193a0181c5490405c4eed11f51bd77e55239d21342b1de120eb7e78431d2a1c() + { + $this->assertTrue(true); + fn() => ($test = $test += $test); + } + function testd259fe1baf3e8327482ee7dccf9bb707380645a9b2cd3b2561a60e9bbb646518() + { + $this->assertTrue(true); + fn() => ($test = $test *= $test); + } + function testd3ca7cdfa2c4ca351812dee6c49fa7005b13a8ed108662a6407e9eecb1a13613() + { + $this->assertTrue(true); + fn() => ($test = $test--); + } + function testda39e30f2c2a6c2dfae1d7e479af7699c47f3353c9a80793ab72ce38f2860133() + { + $this->assertTrue(true); + fn() => ($test != $test = $test); + } + function testdb13b61cfb1bd105b9144a3f08c76d9fcb541a84180f417f3e459dc18e692e0c() + { + $this->assertTrue(true); + fn() => ($test = $test .= $test); + } + function testdb6e330cfbbc1888de224c46da11d3d775fed6d24833b5e8645c92c55d451dd3() + { + $this->assertTrue(true); + fn() => ($test << $test = $test); + } + function testdc760fb2385167ce745d1d628132273722058bb6536a04f1dcb099171c662259() + { + $this->assertTrue(true); + fn() => ($test = $test ^ $test); + } + function testdd21b66170ad77fa42f48c86e9f0d45e192fd18bf5aab0fcf5fdb77af22fb242() + { + $this->assertTrue(true); + fn() => ($test ?? $test = $test); + } + function testde58c609d98836436d4136f2cff5222eec077018d2e4bbcbc87a5d7429138ce5() + { + $this->assertTrue(true); + fn() => ((bool) $test = $test); + } + function teste0f45b2eb876b924ae880a58293468154536040693eb9b6ff0eb72ece44b003b() + { + $this->assertTrue(true); + fn() => ($test = $test **= $test); + } + function teste31fe019ff86c548a7297166a7edfe5ff47d57250b64225ab9fba6afb8dc60ab() + { + $this->assertTrue(true); + fn() => ($test = ``); + } + function testeb33498bbf8d351cff9c00e78b77853fd556a2abf5e909260b7e576560707c06() + { + $this->assertTrue(true); + fn() => ($test = (yield $test => $test)); + } + function testeb78628763f75133b0b2ae896c763659d2defd36ae4457f941832d64760bea55() + { + $this->assertTrue(true); + fn() => ($test = $test && $test); + } + function testef9e4692565051db81d2df69463a3e8c620f09d29fd5fe05c3fe8d62dfad4ebc() + { + $this->assertTrue(true); + fn() => ($test = $test &= $test); + } + function testf0056c3054a51b290be280f6e90b676245377a9b394dec9cfc5d53e272bd1180() + { + $this->assertTrue(true); + fn() => ($test = $test - $test); + } + function testf255f10ddac3349c7e20eb21d5e8273273244dc23b6fea086fb2f3f4f778a212() + { + $this->assertTrue(true); + fn() => ($test = $test %= $test); + } + function testfba2b0f50da2a5fda0e09793a7fd5f4765e1844fdbf7bbff75a40e8309831382() + { + $this->assertTrue(true); + fn() => ($test = $test[$test]); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test.php b/testsGenerated/Target/Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test.php new file mode 100644 index 000000000..dbff662f6 --- /dev/null +++ b/testsGenerated/Target/Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test.php @@ -0,0 +1,508 @@ + + * @license MIT + */ +class Expression228d9397a3449c5d89c75f65c68a7cfe45f7c73cef77ff7681c094edf2bb4fd7Test extends TestCase +{ + function test008f76009d1303daf503234d3fa5398f6cdf14b10e025889e342a56ae7a23d11() + { + $this->assertTrue(true); + fn() => $test?->{$test?->{$test}()}(); + } + function test0208811611e1e6ec10308cda8fdc9702ac4c0343790b8d03a8db5c1dd53d0b87() + { + $this->assertTrue(true); + fn() => $test?->{$test}(); + } + function test023be135f6f84797a04427d6edd10edb1b4c143716c84c0ad01087d387da8d5b() + { + $this->assertTrue(true); + fn() => (0)?->{$test}(); + } + function test032559ea203472dbf92105ec9a9e9f97afb948afadb5ff80ac5fe60598ddcd7d() + { + $this->assertTrue(true); + fn() => $test?->{--$test}(); + } + function test034a039c9b8377e9c41ebce5930e088b68762441ce9104c18da19c9d61b50cd8() + { + $this->assertTrue(true); + fn() => ($test > $test)?->{$test}(); + } + function test07939b023aa8d80bc4138b5b2ff2dee0c1efba0a213f3aa88245c204d4b96257() + { + $this->assertTrue(true); + fn() => ($test <=> $test)?->{$test}(); + } + function test099216abedf2035447359c9e65543b8aaf9b22165634470652b7194898576890() + { + $this->assertTrue(true); + fn() => $test?->{$test *= $test}(); + } + function test0d9833110ceed998dd0fbe189ac3ae7d24b94a9e2afff7469064cd653cd64421() + { + $this->assertTrue(true); + fn() => ($test == $test)?->{$test}(); + } + function test0f30facbdc0edea531c8bf24e704b76ed5c48e0846e517a95c4d10258b694486() + { + $this->assertTrue(true); + fn() => $test?->{$test += $test}(); + } + function test1049f12395580e905c99d5ba13d76fa2ed7760c32525f10f2cc478b3a57406c9() + { + $this->assertTrue(true); + fn() => $test?->{$test--}(); + } + function test10eb6cc92d8de8e0e60c3445b604d7bc4560484811e06695044a744236381838() + { + $this->assertTrue(true); + fn() => ((object) $test)?->{$test}(); + } + function test134720c6e66ac6866b431c49708cefaa63acce16861eaf82e8f073f041e7664f() + { + $this->assertTrue(true); + fn() => $test?->{isset($test)}(); + } + function test1ae857940fb1740d1166ea4115ab3d1f62351e0d52db706cd89b2ab2d2494c24() + { + $this->assertTrue(true); + fn() => (__CLASS__)?->{$test}(); + } + function test1b60fa60fe66f92cd3233052a2c6821daf921e0a8c51687c4b78208d22919374() + { + $this->assertTrue(true); + fn() => $test?->{$test == $test}(); + } + function test1f87c307b09b2a383150d9d96f1c5af9d75e145a2399852dc741bdf04d11dbeb() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__)?->{$test}(); + } + function test21b397b7f89a1e9cf5629db4f88a114a940c9f78be228013acf461e678aa9a63() + { + $this->assertTrue(true); + fn() => $test?->{$test | $test}(); + } + function test2666ff7ef96eccd3b723e48fb7e818d97f427cecef42007c3b6743fe7eb10809() + { + $this->assertTrue(true); + fn() => ($test or $test)?->{$test}(); + } + function test2876e19ac65b606972f21e3457baca56e3a1dc94774ecf74f24736191b86ee7b() + { + $this->assertTrue(true); + fn() => $test?->{$test?->{$test}}(); + } + function test288cfbdbb8884c66d8e74042bb3d9c2db4dab9c1fafe6532826b99e05e95db6e() + { + $this->assertTrue(true); + fn() => (__FILE__)?->{$test}(); + } + function test2b00d39c761a9ab1bd1ac2e856034b198d5bdbbbfffb28b4a7d3402ebb7248eb() + { + $this->assertTrue(true); + fn() => ($test <= $test)?->{$test}(); + } + function test30961f6fea6e95cfa535eabb67803a3b3e6ff97c148c2ea31726c6540244f8c9() + { + $this->assertTrue(true); + fn() => $test?->{self}(); + } + function test34ec9e15cd5d288e5e24f1d4e49a7cd678741bef89bdd0dbfe10046d721bc166() + { + $this->assertTrue(true); + fn() => $test?->{$test || $test}(); + } + function test35a0bd3c3d91f8ddff3461d5d3831cd6f734ae4a8cac585f391b50a9e60a5bc3() + { + $this->assertTrue(true); + fn() => (__LINE__)?->{$test}(); + } + function test38d3e2698a625f9a6257200381e74c98ca8863fdb9e769cc98376bd3c1f833f4() + { + $this->assertTrue(true); + fn() => $test?->{$test ^= $test}(); + } + function test400bcf2be3abdc486271da85b557510630e1e685c9974e4ef4f25d23e0f35ce5() + { + $this->assertTrue(true); + fn() => $test?->{new $test()}(); + } + function test44ff7d8ade12dfeceeb78660cf15fb1143e0e40dba355e9a8853cf0867b6cc74() + { + $this->assertTrue(true); + fn() => $test?->{$test && $test}(); + } + function test48f4c7af6d97535eb51d7394646db00f10403a91c4174cc56ea1478d6d8af09a() + { + $this->assertTrue(true); + fn() => ($test + $test)?->{$test}(); + } + function test48fbec87e70f0ae442731dd4c458b47b901b723a60c646394ab91b0d53d87c50() + { + $this->assertTrue(true); + fn() => $test?->{++$test}(); + } + function test4a16e2c19ea5a806a30cd0fffdda24eaaba46fcffc4cbce7f43aadc4ac43abb3() + { + $this->assertTrue(true); + fn() => $test?->{$test === $test}(); + } + function test4a5c71c4ba2043b86cf0428b519dcb564ee7beb57d74d0416ae000fd6c0d9da2() + { + $this->assertTrue(true); + fn() => ($test and $test)?->{$test}(); + } + function test4f74cdd38e2cde9da854b92b1011ffc68df381c1ce49e47df220ec0dc9b0e6e2() + { + $this->assertTrue(true); + fn() => ($test ** $test)?->{$test}(); + } + function test50b8231063939612e3f10b2370e18dd9576a0409c5582165135f415903553ae6() + { + $this->assertTrue(true); + fn() => ($test * $test)?->{$test}(); + } + function test50bf9078f0132689c59a717b47ba95487d8ebceb52c3fe0eb838451824f52bf3() + { + $this->assertTrue(true); + fn() => $test?->{$test %= $test}(); + } + function test5214d6dc4934be68aa8d84216eb66bb6cda4d0b27778d11d053dfc0c220b68aa() + { + $this->assertTrue(true); + fn() => (0.0)?->{$test}(); + } + function test536c1959398f0c6aef501effe4c352b7cd5710879119c0ede7d2a614ee7ea530() + { + $this->assertTrue(true); + fn() => $test?->{ $test}(); + } + function test53c9bfcec15025f8a3c6cb9d622fd6c2070a613287448a69f920fe0368390584() + { + $this->assertTrue(true); + fn() => $test?->{@$test}(); + } + function test552cdd4ae39cb0309798c621dc74992d1c8e7f08498b436653d8786eec9999a2() + { + $this->assertTrue(true); + fn() => ($test >> $test)?->{$test}(); + } + function test55363d531c2c4b6c61d44e7a11769546c07baf6d6d898cd1fe2e8713940853aa() + { + $this->assertTrue(true); + fn() => $test?->{$test **= $test}(); + } + function test5650b44105a610c1516ed629428a4457ea329a00fdc7f235eb71ff62e8533a0f() + { + $this->assertTrue(true); + fn() => $test?->{$test =& $test}(); + } + function test58e688462bff081f5e235a5c78bf934092c446c9e208f81e5c624aeaa42f8ad0() + { + $this->assertTrue(true); + fn() => $test?->{!$test}(); + } + function test5af861bccd92a280a1405449e1a059dde21c38da37f83618beb187501fb7115e() + { + $this->assertTrue(true); + fn() => $test?->{$test |= $test}(); + } + function test61a461827bb6c340569db5d9f6534fb57adb9eb5b044183c2bebcadce24bdbae() + { + $this->assertTrue(true); + fn() => $test?->test(); + } + function test636e6c2045307c0231f7163f9cd49263f57d7181a0d5b765f80c2dfec6a1d9ae() + { + $this->assertTrue(true); + fn() => $test?->{-$test}(); + } + function test68bb4116d6ff45e8974066355dbd3a20a0e5994375811c71989a4b4065d84f1b() + { + $this->assertTrue(true); + fn() => ((string) $test)?->{$test}(); + } + function test6c2e33d1002284cc1a646b14d8403d7dfd6cdb8bc078d6fddd0accab9e3d9382() + { + $this->assertTrue(true); + fn() => (__TRAIT__)?->{$test}(); + } + function test6d3d411310ba4b337545ab8ac2c0c73636cbbdccc0fd4a89665a051b46b9b676() + { + $this->assertTrue(true); + fn() => $test?->{~$test}(); + } + function test7074541f22dcb8fc88e19f35c9ca06d40bf7ef89551a3644ea4a4dd5f8ef53e4() + { + $this->assertTrue(true); + fn() => $test?->{function () { + }}(); + } + function test72003c8ce778587b2d26d7da27b3ec4301e407e36fe7abc18bd89fe303888d61() + { + $this->assertTrue(true); + fn() => $test?->{$test ? $test : $test}(); + } + function test72f5e43fd8f0a202e28273612df9015a68fe013009eec350735e1ef902b0386c() + { + $this->assertTrue(true); + fn() => $test?->{$test &= $test}(); + } + function test77b531b025a8391949a7bae77ecce768c37304799d9dfadb4b8ff27159e54022() + { + $this->assertTrue(true); + fn() => $test?->{eval($test)}(); + } + function test78867b021c484e8ab9b2bab1bcacfd92326d1655f82e35484ceb8cfe0cbed9f1() + { + $this->assertTrue(true); + fn() => $test?->{$test ^ $test}(); + } + function test79531b2b3472b180087b6c956aa007fc1545ff50c0a652bede89aa535f79a92f() + { + $this->assertTrue(true); + fn() => (__METHOD__)?->{$test}(); + } + function test7ae08d5e0930e117f862030d8634c74bea50ca3e4a6596a937dc36167dcaa05f() + { + $this->assertTrue(true); + fn() => $test?->{$test / $test}(); + } + function test7d294a8a95a7e6ca801a7a75df5ddc56a7877903e5e9c40d9cdea9e9453cafe0() + { + $this->assertTrue(true); + fn() => ($test % $test)?->{$test}(); + } + function test7f5cf3fdef6159f5dd62d66b4296a27b1a5adfecf0d2c294bc1735a005fd3bc1() + { + $this->assertTrue(true); + fn() => ($test != $test)?->{$test}(); + } + function test856fe7fed2c56b5fb8a8d4cfd947634a33d1f30a02370095288be6f349a6d09f() + { + $this->assertTrue(true); + fn() => $test?->{$test . $test}(); + } + function test85bfd76f5557860f0c9a7c58a78a56337e14062dd5bfc6048e213cfafe03a49f() + { + $this->assertTrue(true); + fn() => ($test === $test)?->{$test}(); + } + function test8772bcc173e86ab31157ad8419a54dadf584a56bea8e65fd08b25e764fed818f() + { + $this->assertTrue(true); + fn() => $test?->{$test[$test]}(); + } + function test8aa3916ce672653e29d332e3a3be4c2691be362740576923c0a6ab2c3c3a6b66() + { + $this->assertTrue(true); + fn() => $test?->{$test::$test()}(); + } + function test8bbbef78352672fca47540b039e6956516c2c131ea5efc0ed105be846a5acfb9() + { + $this->assertTrue(true); + fn() => $test?->{$test->{$test}()}(); + } + function test8c58ffa0662600d4490eb17f8c7a878445af2879b8b246ed5c405cad5e930c13() + { + $this->assertTrue(true); + fn() => ((bool) $test)?->{$test}(); + } + function test8fd777eca3564c2b3356557314f287983d01add0ce3e76563d1aa1a0176ba572() + { + $this->assertTrue(true); + fn() => $test?->{$test instanceof $test}(); + } + function test9337a95becdb4ef8f2df736c638ad128971abbe4e0b6660259c05e4e2478ab90() + { + $this->assertTrue(true); + fn() => ($test < $test)?->{$test}(); + } + function test95d45c11b19f54f4cf8add8aee1446fab131c83a082d360a1756a8158c5ae7da() + { + $this->assertTrue(true); + fn() => ($test !== $test)?->{$test}(); + } + function test96bb40f5078b2f0b169736ed5ab0264ace47321ca0f293fa37020d2851d93451() + { + $this->assertTrue(true); + fn() => $test?->{$test <<= $test}(); + } + function testa1ece6d47c8788b0528c6409e331f7cb5a027950f11ba16631855d04be9932e2() + { + $this->assertTrue(true); + fn() => $test?->{$test++}(); + } + function testa383fada74e047f569301c737dce55b149980905425c628adc17828c44796dad() + { + $this->assertTrue(true); + fn() => ($test / $test)?->{$test}(); + } + function testac2a13a8d0a871fda90509f13adfa3321c0e15fd13a77d5b087fbf08254d120f() + { + $this->assertTrue(true); + fn() => ("{$test}")?->{$test}(); + } + function testad5cfc17e6e4eb36f32a4213e0cac85d496836a04795f1572b2afc2fe12c676d() + { + $this->assertTrue(true); + fn() => ($test << $test)?->{$test}(); + } + function testaf6dd9d7e82f3056ae222e9d5f18f8288be124555c94460da3a4624894401883() + { + $this->assertTrue(true); + fn() => $test?->{$test >>= $test}(); + } + function testb28d310368f6c91e52ee473efff4973660f494f76d526efa489fc971cdabea88() + { + $this->assertTrue(true); + fn() => $test?->{$test > $test}(); + } + function testb3e2f7e3a28da4592040f68384536eeab6470f2dc4d18ebca7710d4a242625fa() + { + $this->assertTrue(true); + fn() => ((array) $test)?->{$test}(); + } + function testb3fe48de5e15bb88aafa43a518b66722f619822eb967f41adc26129e59c2f1f7() + { + $this->assertTrue(true); + fn() => $test?->{empty($test)}(); + } + function testb4f2dea0cda80698e2108abae5ad81cfd69d8c7da0be64a172fce946ec8a37dd() + { + $this->assertTrue(true); + fn() => $test?->{$test ??= $test}(); + } + function testbadfa497bfe8239ce23d5ff0b0a4e6652209b6b41494c9a841ab46590e1115a4() + { + $this->assertTrue(true); + fn() => ($test - $test)?->{$test}(); + } + function testbee71b63a5acd3fafdd2c133ef9f26c98b647147f33307ed196eb526d5911974() + { + $this->assertTrue(true); + fn() => $test?->{$test /= $test}(); + } + function testc1719ece6a00b889b17cea1ce0f2ff5c31797194ec93d54bda6c7d739155e86f() + { + $this->assertTrue(true); + fn() => ($test xor $test)?->{$test}(); + } + function testc52f5d9c8735c923995e468dcaf4e5e96b925e948ab3e61a464157cb2f94b243() + { + $this->assertTrue(true); + fn() => $test?->{$test >= $test}(); + } + function testccc55787c8883a15fa686c6b298fad2948301af8632f007802f41d11a68796c1() + { + $this->assertTrue(true); + fn() => $test?->{$test = $test}(); + } + function testd3464658989accf3e69f8aff1e5fe93adcb726fed5139ab89fb6541243982aa6() + { + $this->assertTrue(true); + fn() => $test?->{+$test}(); + } + function testd5753c0177fd90d58b0977bf0ff83c45024a6daa8d0ab15b283c68d417b18504() + { + $this->assertTrue(true); + fn() => 'test'?->{$test}(); + } + function testd78888f6ef7523b3b5725d3ce899a9a3f847873d4ffdcb7d373fd1cd37c7016d() + { + $this->assertTrue(true); + fn() => $test?->{$test & $test}(); + } + function testd83b910b68c9a2d73f24bc1ea9ca14a7ec8e1904433ce1d37471649b77980b6c() + { + $this->assertTrue(true); + fn() => $test?->{${$test}}(); + } + function testd9026d7e4dc74cf13876b19ef753b4635d7bbc58e334209265718047a8c0ec7f() + { + $this->assertTrue(true); + fn() => $test?->{$test::$test}(); + } + function testda0bddbc89d1082f28f463db226ee93d6b030ad2a84b6f1ebc0efcdca6783ecb() + { + $this->assertTrue(true); + fn() => $test?->{$test .= $test}(); + } + function testdaebf6ea2c640a9fb284d7852cd2eaa9f8e84554b1d7db8b89220f6eb8576770() + { + $this->assertTrue(true); + fn() => $test?->{$test -= $test}(); + } + function testdc3d8a2d7c32ba785e6eea8cffbbc158903f11157fd5b6b10f22b88b1eea6224() + { + $this->assertTrue(true); + fn() => $test?->{(yield $test => $test)}(); + } + function testde1974d4a3246df61d5566734403674c0dd3d575d069d971f6f839a1a9fba0c0() + { + $this->assertTrue(true); + fn() => ($test >= $test)?->{$test}(); + } + function testde603d4372a6d2c2403a7e8274b1ba3c853690ef1464c7e73ec336d6cc52697b() + { + $this->assertTrue(true); + fn() => ((double) $test)?->{$test}(); + } + function testdfaeabee75c79e37c2473907ce2a8cf88bbe84984d17d479d6e65d775241299c() + { + $this->assertTrue(true); + fn() => ((int) $test)?->{$test}(); + } + function teste25f5db052d228136e83fccaca64e7cb3b5e3d215909ffa5f18e3728a0763510() + { + $this->assertTrue(true); + fn() => (__DIR__)?->{$test}(); + } + function teste471d125c820382f051edee980daa8c56539c1897ee67a2edf7247b4fdb0bd55() + { + $this->assertTrue(true); + fn() => $test?->{$test()}(); + } + function testefb833c9630e38bbe4ca08c3e5ac2e412256a56bad6830c28baae462bb2f5fd7() + { + $this->assertTrue(true); + fn() => $test?->{$test ?? $test}(); + } + function testf1c2cf7e94bb181a5fae89f7a16f773a8cdbe8e56b47b8be3f8f10ab2eb12442() + { + $this->assertTrue(true); + fn() => $test?->{yield from $test}(); + } + function testf4db898b70151ad10652d7a3bd09254aa2cb4937bd0c6572ef444d8accaa9ed1() + { + $this->assertTrue(true); + fn() => (__FUNCTION__)?->{$test}(); + } + function testf7574a3fad409d252d13af987a86a54c3a982825c17efdca449bea9b5df85a89() + { + $this->assertTrue(true); + fn() => $test?->{clone $test}(); + } + function testfa736810bcb03a74168888eb1a50f1eee054eeebe84d6484736eee4954646825() + { + $this->assertTrue(true); + fn() => $test?->{``}(); + } + function testfad728a00ec0b6258d61bf024ab6cdcfa8863ff36dedefaf82f63113455e7264() + { + $this->assertTrue(true); + fn() => $test?->{$test::${$test}}(); + } + function testfd2c0845f5a73dc16b3f24261ca0da30a0dceec371db8331f415618b1898cfc2() + { + $this->assertTrue(true); + fn() => $test?->{$test->{$test}}(); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test.php b/testsGenerated/Target/Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test.php new file mode 100644 index 000000000..05efc734a --- /dev/null +++ b/testsGenerated/Target/Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expression2375f0c8ce61a24ac62a70f7bf5cbeac535c9ce44915c26661b5408a471a8032Test extends TestCase +{ + function test06881bd5fd7b6b09002bc107c930e7613b3909d85a6132ac74c807d83a8b97d1() + { + $this->assertTrue(true); + fn() => ($test || $test += $test); + } + function test0715f3bb795f50caf7de5b83fe28b63d74c0db47210c24cf8b7d746608c54049() + { + $this->assertTrue(true); + fn() => ($test::$test += $test); + } + function test07539b3c790bed28889533c8f4a225463df1fe2ba3d6e8c844a370746c2b041d() + { + $this->assertTrue(true); + fn() => ($test . $test += $test); + } + function test09d59dbcf2213f3ec54d84921760d6ba5aefff7540dd7a8c1bb458d007156d82() + { + $this->assertTrue(true); + fn() => ($test % $test += $test); + } + function test0b8e4b67a37ef12eb5f8f0bd3a806cbd90ddf6161a786e2b4f1221746cd91560() + { + $this->assertTrue(true); + fn() => ($test ^ $test += $test); + } + function test0ef7020d44a1605afb88f2a0b5d7c9f023b09b0ee899ccd6d4f645f24a78617f() + { + $this->assertTrue(true); + fn() => ($test | $test += $test); + } + function test12def17991fe4edfaecce548a9d510889f15b74533ea04de46d62e8ab0ea5308() + { + $this->assertTrue(true); + fn() => ($test *= ($test xor $test)); + } + function test16f9a33cbdc965753f59919043cfa6afdcd0c82524fed309cac0966ddb312044() + { + $this->assertTrue(true); + fn() => ($test && $test += $test); + } + function test1970d7ccffd5317c82842e6d02a70c00d0ae901b033e2faa8f5ecf0e39951728() + { + $this->assertTrue(true); + fn() => ($test += $test =& $test); + } + function test1a2c784d6df771763e5ff2bd70d1f5fcd793cb8484f3f18a9ced5d3ba53a1fab() + { + $this->assertTrue(true); + fn() => ($test *= ($test or $test)); + } + function test1a5d2f809652a63e0aae512ad70dc42bec882b5e53f932e2de643bdb5acd3d72() + { + $this->assertTrue(true); + fn() => ($test *= $test & $test); + } + function test1a8e02bce41d29ce41b85818e4491352564c18b3d3c672cb7c31c0bcb5420d2f() + { + $this->assertTrue(true); + fn() => ((int) $test += $test); + } + function test1cd823d8ed1311385f71f3a85458de8ed1bb942c94730fb0a3253de48d4912d7() + { + $this->assertTrue(true); + fn() => ($test *= $test == $test); + } + function test1dc8d0b48782dd9d4d58660b17144efd168e78a9b4b45bd4f325263ed2b92719() + { + $this->assertTrue(true); + fn() => ($test *= $test >>= $test); + } + function test2766dd68662bcf310435d6b622c84482e76afffa220530b813323842f9511046() + { + $this->assertTrue(true); + fn() => ($test *= $test *= $test); + } + function test2796d0d248394101e90e15d965971c5b73160a2af5340d9fa7a4cb97e8f91c60() + { + $this->assertTrue(true); + fn() => ($test *= $test || $test); + } + function test2bf2536aaeaa720d887e55551346f07ec0b24709a8457d0a8316c94d382469b8() + { + $this->assertTrue(true); + fn() => ($test *= (bool) $test); + } + function test2f369efd8c259af5a7d54c710d291641b0ff623df721dabb61c9e33361c1bad0() + { + $this->assertTrue(true); + fn() => ($test *= __FILE__); + } + function test2fefc32eb70167e8083ee1a66418a785f066bca2e16ba282eda18916ad481f79() + { + $this->assertTrue(true); + fn() => (clone $test += $test); + } + function test2ffb2a810f45ec88ef8685c8ff143d0d8347a1d271eee30db8bfb219b1b0ec65() + { + $this->assertTrue(true); + fn() => ($test / $test += $test); + } + function test326ded6e3fb0e37680fec126e6bdb726bbd00771979a86ac75405f7adae040a2() + { + $this->assertTrue(true); + fn() => ((bool) $test += $test); + } + function test348d6bdc72c0e48d4913979d373eed7e7d0a918911846c937a0dcf1ff5a380cf() + { + $this->assertTrue(true); + fn() => ((array) $test += $test); + } + function test3ce0d11355a83a3ac022beb56580a6db650ec280b6d1e337d763951c2f644e24() + { + $this->assertTrue(true); + fn() => ($test += []); + } + function test3e3f10c6056dcbab8f8f719fe33ef9bb0f5746a5f338d17a69c721f5cedcc7e2() + { + $this->assertTrue(true); + fn() => ($test *= $test && $test); + } + function test400783296c1736081ab8de70ccd1a148252eddbaca0a6b5081635f27a11ab263() + { + $this->assertTrue(true); + fn() => (~$test += $test); + } + function test401ef85164a4a80ada0d09c665c79712d04536fa9e3b4e99cce5e6ec10c68905() + { + $this->assertTrue(true); + fn() => ($test *= $test * $test); + } + function test4170d7f655bace88a264e91d21e51407fc19d324cddada16a51958e7f7809a47() + { + $this->assertTrue(true); + fn() => ($test *= $test / $test); + } + function test41a730802b899be6a050371fb3e8245d5083b4be5b3a19ef83f86ffeee0fb35e() + { + $this->assertTrue(true); + fn() => ($test *= $test += $test); + } + function test42a15fd3951ae60419ee256bf1aa09434b6586fe14883fd8643d294055ff1ca0() + { + $this->assertTrue(true); + fn() => ($test ** $test += $test); + } + function test42df1043d9de979f2f7ee158cb24dbecf7132870740181f310d073ddcc6882e5() + { + $this->assertTrue(true); + fn() => ($test *= 0); + } + function test453c86293bb9d93dbf261719ccf6d08ffaeef9763770d7530395f1c296c69015() + { + $this->assertTrue(true); + fn() => ($test *= $test - $test); + } + function test472335f68bc87b1e5094352e90a884d961d425cfcbedd74332e81fff6de715fa() + { + $this->assertTrue(true); + fn() => ($test *= $test <<= $test); + } + function test48cd368e102a6869c1294f265763e86859d88d24c9cf924c6ceb831ec172bc3b() + { + $this->assertTrue(true); + fn() => ($test *= (object) $test); + } + function test4af1f6ad54b7df0354a45e714a68eb50a420419898a533e0cec48cecbc505506() + { + $this->assertTrue(true); + fn() => ($test *= $test >> $test); + } + function test4b04bf743658dd24ed78ef4da68591e25ac7434e7bfb7654f2adaf209578a595() + { + $this->assertTrue(true); + fn() => ($test *= $test . $test); + } + function test4c64a1bc4f3a76a3c8a41bf7d146c0d2d86758004e5d1c9337b95867ed61e16d() + { + $this->assertTrue(true); + fn() => ($test *= (int) $test); + } + function test4d84e27a1767234c1b57d96eeb12ad2137155683260f6199ce339e55f82dfca7() + { + $this->assertTrue(true); + fn() => ($test *= 'test'); + } + function test4db6f3fa3d02f29d282f2de91cf33d8d5ed1540f146d903a9c5121a195c2e91f() + { + $this->assertTrue(true); + fn() => ($test *= $test <= $test); + } + function test51ffda47f23dc12852a5ff941adee46b3482f7350a22d675dce608684d402a36() + { + $this->assertTrue(true); + fn() => (${$test} += $test); + } + function test53836c8f29914a3e99aa0054ce48de9fb95c2006c903cedfb8f4900df84e4493() + { + $this->assertTrue(true); + fn() => ($test *= $test ?? $test); + } + function test54b318a4058db792786591ff8e8f78ec50e640aa3106deb33c880973bc8b8e84() + { + $this->assertTrue(true); + fn() => ($test != $test += $test); + } + function test564b8ac25cbc0e0d6f41b57b694e32ed92052b74faa9ce4c42ebf7341d5550e1() + { + $this->assertTrue(true); + fn() => ($test *= $test + $test); + } + function test5700e8b2b9f22315a2d1d9a927aaabc9dc8e1768a05e31891648cb593256fcb9() + { + $this->assertTrue(true); + fn() => ((string) $test += $test); + } + function test5951470e82163ed827aa59c8ae5962110839a027b99258715fcaaf393189f2ac() + { + $this->assertTrue(true); + fn() => (+$test += $test); + } + function test6044f0213f394d24c14f5964d00de5010713b8d441de619ae9890f525ff181c2() + { + $this->assertTrue(true); + fn() => ($test *= $test **= $test); + } + function test63a879443d021dd2213db011ff2fb085276a11b0f0dc36dfcf67350078492a8e() + { + $this->assertTrue(true); + fn() => ($test *= $test === $test); + } + function test63f8494692ab99e7321d8009d8c3cd2b5a636ac0580460a8d46589ad10f256dd() + { + $this->assertTrue(true); + fn() => ($test *= __TRAIT__); + } + function test63fac81b9576098393a677ada531273391960bdc46a5ee6cde12c90538f55233() + { + $this->assertTrue(true); + fn() => ($test[$test] += $test); + } + function test66da8eb9550ca32fd254bdb4034d5ec772f6142fac968db1ab9181f4f5c5f33a() + { + $this->assertTrue(true); + fn() => ($test - $test += $test); + } + function test672e4fe5eee7e8bf2662d35aa9b391fb4758a86e4bf1b4d33b3c7fb96822ff05() + { + $this->assertTrue(true); + fn() => (@$test += $test); + } + function test67a47690724b36c430d5e8b83c4d535189442dc186373facbe209016759f996f() + { + $this->assertTrue(true); + fn() => ($test *= $test ** $test); + } + function test6876b5533de011d86efc64b0c9f5b0ae6e35ca1eaf47ff1d747234a5f874d205() + { + $this->assertTrue(true); + fn() => ($test *= $test % $test); + } + function test6a2ad04787d6436b5b85955e32167e3b9dae9c0630cfc6d6710397b703db8598() + { + $this->assertTrue(true); + fn() => ($test *= 0.0); + } + function test6b339aee02aab8ace4950cb2f521e2d67d1aa1dce2cc5c788b4eecc6bb2fc7b0() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test += $test); + } + function test6d12618c23df618f47c7173fc7c002602c63a0dc34c4528ec327fe78ebd7367b() + { + $this->assertTrue(true); + fn() => ($test->{$test} += $test); + } + function test6d6c0661f44335c190b514184860d84d0c98b90999986aa6705d836f08d6e55c() + { + $this->assertTrue(true); + fn() => ($test *= (double) $test); + } + function test6d8c8b9e9a3a6fb29a2ee210c8cff5f364554b396682ade068cd910cca6b28a9() + { + $this->assertTrue(true); + fn() => ($test < $test += $test); + } + function test6dea7cb9bb63ef6eb99af9424a42e6998f49d4da4a1c42479206436a6d064702() + { + $this->assertTrue(true); + fn() => ($test *= $test != $test); + } + function test6f05123c86d7bef8b9ed0825399d91337dc55b5a406743bb527ca643763d32aa() + { + $this->assertTrue(true); + fn() => ($test * $test += $test); + } + function test733680d20b14137338e90803664cc3186f7a87c70efd2ddc006dba0fe2dc9d25() + { + $this->assertTrue(true); + fn() => ($test *= $test !== $test); + } + function test752190b0ba9f3b30d4f83affb0b7a224e1a5b559051541d4ffd199296a312d82() + { + $this->assertTrue(true); + fn() => ($test *= __NAMESPACE__); + } + function test78a3c6c49fa8c0bf8cb1f32619dc65ad9b31181c017f72a6752e3337a9fea5e1() + { + $this->assertTrue(true); + fn() => ($test *= (array) $test); + } + function test7b7716161f48ae2dd54f8b911ff46dfe44804e06a8949fdc20f4963794a21aab() + { + $this->assertTrue(true); + fn() => ($test += $test[$test]); + } + function test7cb7e550c52a020a6ecef243bf4cd74503f6e8b0d0bc90ff6b5a2b2d38fb2a6d() + { + $this->assertTrue(true); + fn() => ($test + $test += $test); + } + function test7f4392eece09cc9fe005e6c7d510ad281541bd60bdfcdcb2fc09e216fd5e61fe() + { + $this->assertTrue(true); + fn() => ($test *= __DIR__); + } + function test809e9821aac0c74e47a6dc3edcc320506cbf142b64649ef4c333c486ba70d181() + { + $this->assertTrue(true); + fn() => ($test *= __CLASS__); + } + function test83d1f3bb950dfc4bfadf3e78f3ba95eabc9fb70b9be13c1de6407768ccd81422() + { + $this->assertTrue(true); + fn() => ($test *= $test ^ $test); + } + function test86e52c4c6f4ba3237261f4e1c7d056fbbc6d79154e621479e2303001bb3204fa() + { + $this->assertTrue(true); + fn() => ($test::${$test} += $test); + } + function test8d55638a94c36d3cf3950e351a0e0b3296a1d245ff18e6f950d0c8661a68eae3() + { + $this->assertTrue(true); + fn() => ($test *= ($test and $test)); + } + function test8f8923c55e0666b90760200ff02989e97303809995b7f0f09a8291ddfbe7391c() + { + $this->assertTrue(true); + fn() => ($test == $test += $test); + } + function test91b45e364d5b22f60946974539f507abf828ce40e54079e4a8b2e2626166be16() + { + $this->assertTrue(true); + fn() => (!$test += $test); + } + function test93a260dc009daf1b4fcd87a04976ff69665b33b39b2322a2cbd33e143854856b() + { + $this->assertTrue(true); + fn() => ($test ?? $test += $test); + } + function test947c05da9208103f9c7d56fa634db2e7ba75e197bff4867d47c816865ccb2fd9() + { + $this->assertTrue(true); + fn() => ($test *= $test >= $test); + } + function test95131875c6b2fa0a9e6191f42d03a1a1d79fa5ea944503731f4648079ec51858() + { + $this->assertTrue(true); + fn() => ((double) $test += $test); + } + function test989fefc40bbfb10a53abcb39c781b07ce288a9d24f3355482635f3334b7ad395() + { + $this->assertTrue(true); + fn() => ($test <= $test += $test); + } + function testa6a33548a7252cec8bebb788a766dc6ef5d76be824b969bdcac5b9daecb76246() + { + $this->assertTrue(true); + fn() => ($test > $test += $test); + } + function testadeb9dae0ae91ed1a39064ecafb6dc304e854cbc9ee0277560b77c160f42d23f() + { + $this->assertTrue(true); + fn() => ($test += $test = $test); + } + function testae2c63cbffb93dc5cf86f6c977530a3d013f6cf634f02771918a2e6205764784() + { + $this->assertTrue(true); + fn() => ($test *= __METHOD__); + } + function testaee201f1c007cd97e03258d96c714473dea1f4704c3aba5349b34822fccc6347() + { + $this->assertTrue(true); + fn() => ($test *= $test > $test); + } + function testb2ddbdb357a344448ede80188d308ae245b2529cc54bc48e0cb1bb07cc8b35ea() + { + $this->assertTrue(true); + fn() => ($test += $test); + } + function testb3f435d17d2f68cec7cfc4ac0a641a5b98f0c6d99b2590af86fe4e613ae9cb36() + { + $this->assertTrue(true); + fn() => ($test *= $test -= $test); + } + function testb83a75adf8b18256a82c376b1e5386d3e7bd98d6570faf54c58c8845d6deb6c8() + { + $this->assertTrue(true); + fn() => ($test << $test += $test); + } + function testb9a64eee73c066c74933babd0d9fd7afe410a856707f06fe5ef3100414dc5caf() + { + $this->assertTrue(true); + fn() => ($test *= "{$test}"); + } + function testbb86764d99d7efcffc17f9bd36d55cf6bc19bd0d4e046d101e8e26699f467797() + { + $this->assertTrue(true); + fn() => ($test *= $test | $test); + } + function testbc1fdea9ed03dd7f7ce7e284301527bf283c73c97cf08d5a008b7cdd1f00eb59() + { + $this->assertTrue(true); + fn() => ($test !== $test += $test); + } + function testbd81fb8d7f697d6a208dce093261be848bbd20a41f324d95f8ebce2b13101154() + { + $this->assertTrue(true); + fn() => ($test *= __FUNCTION__); + } + function testc26927f86c6d7a6ebb6a7f2c820d0ee51bb1d861cf1572fa040ded1e241f3853() + { + $this->assertTrue(true); + fn() => ($test *= __LINE__); + } + function testc3d6a93cf7a247fac199d00271ad6c2138bb658671212640d802b39e40178e32() + { + $this->assertTrue(true); + fn() => ($test <=> $test += $test); + } + function testc4677959affe49e3089c6d915bca523797c70faf2b5e9bfb583b0517f07d1ab9() + { + $this->assertTrue(true); + fn() => ($test & $test += $test); + } + function testc56462a3e035a702b35bea9c88c512daa173c1c624daa94b2f485197bc9c5713() + { + $this->assertTrue(true); + fn() => ($test >= $test += $test); + } + function testca8197c18f19d78d61e326c803c64a663f772de6fcd6c13aa32b39bc48161e9e() + { + $this->assertTrue(true); + fn() => ($test === $test += $test); + } + function testd25488a97e282900610580ab5086c104fba3e3cc7610a66a1cf83e208acbd354() + { + $this->assertTrue(true); + fn() => ($test >> $test += $test); + } + function testd8d80e73dcb9eb3878f9a03f780db5bd736f2494a5744266b18f8da7c9d58174() + { + $this->assertTrue(true); + fn() => (throw $test += $test); + } + function testdc60dc5554b8bff7f9a51a27046cb2f8488344c361bd6c8c6a69ccd02e9799e7() + { + $this->assertTrue(true); + fn() => ((object) $test += $test); + } + function teste55bbe9e9c0da82a0948bb90966a4d47ba6d6c18ad0c8e361b31a0ec151d79a3() + { + $this->assertTrue(true); + fn() => ($test *= $test %= $test); + } + function testeb99ccac1d9be836bf2f5ad593f140a4fddd6c45f5ed649469540b23f102ad3e() + { + $this->assertTrue(true); + fn() => (-$test += $test); + } + function testf0a174d39d6b5d8783b12aebf600cab82d34692520a7708a6f9f95167af6e75b() + { + $this->assertTrue(true); + fn() => ($test *= (string) $test); + } + function testfb953c35b33fc05bf28962418a2e0e65bf43707cd27a9541ec0363c13396f502() + { + $this->assertTrue(true); + fn() => ($test *= $test <=> $test); + } + function testfd9f24ac0da9141648f2edbdfa27d1d500bf08856b57a967ed379eb7adb2f621() + { + $this->assertTrue(true); + fn() => ($test *= $test << $test); + } + function testff3ca19805927f4155b39956dfa59f85012da2cf4bd328b3883d8aa7e4d5aa62() + { + $this->assertTrue(true); + fn() => ($test *= $test < $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest.php b/testsGenerated/Target/Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest.php new file mode 100644 index 000000000..c5933d488 --- /dev/null +++ b/testsGenerated/Target/Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest.php @@ -0,0 +1,507 @@ + + * @license MIT + */ +class Expression24fa70ef4eeb1fa02d0aca54152ae3334164ea726607f07b78181c0540f8242dTest extends TestCase +{ + function test014c1d91c6238a49b631cd02f47cbb8b46ed1f179e7235b15e52608f2a69ab75() + { + $this->assertTrue(true); + fn() => (${$test} =& $test); + } + function test02f671fabe7c72141883ffcc9a6cc95db225bcd4df092cd73fdf4d4a315b0d04() + { + $this->assertTrue(true); + fn() => ($test = __FILE__); + } + function test0391766147cbd282e8188551cdc46617d3c5c6409cf8fe51185be52924165d4d() + { + $this->assertTrue(true); + fn() => ($test = (double) $test); + } + function test0799a664c78fe7cdfc1f9d249ce444fece7dfa5a9e3426514535d9601d802151() + { + $this->assertTrue(true); + fn() => ((double) $test =& $test); + } + function test09d8c31c18c8b0ee24385b2e10503e0a14f0122160f3623ebd9aa1118cc9d7c6() + { + $this->assertTrue(true); + fn() => ($test * $test =& $test); + } + function test0cf473b638fcaad3adda51f06f5d7e4b0da1bb2d4811719702d23b37ff1564fb() + { + $this->assertTrue(true); + fn() => ($test = "{$test}"); + } + function test10bbfbd9f14de55244ca5e134f488519ff46c0f14dfad51b24b711f252d06ad7() + { + $this->assertTrue(true); + fn() => ($test =& $test); + } + function test17a8864b8eaf55838a41f5d7be65a46b965d1b462d244bee7e6af93b052f2bc7() + { + $this->assertTrue(true); + fn() => ($test && $test =& $test); + } + function test19d6e77a381973666cfdd9da949ee2474667a2fbed9282a180acc5b7e3b23425() + { + $this->assertTrue(true); + fn() => (@$test =& $test); + } + function test1d3304a900ea1ad8cb8edc8d72ac253038722da8e46a25540cf55d703e169c81() + { + $this->assertTrue(true); + fn() => ($test = $test + $test); + } + function test1dd1edf4b487239e9ccc5a8e052856edb779fe6408de038cd52d557e4fd31ad4() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test =& $test); + } + function test1deb2ae413a36a925b2042453c6c92c9bc90d3b7f35b0cdbf71d25abd59de8e5() + { + $this->assertTrue(true); + fn() => ($test->{$test} =& $test); + } + function test202dc0a371e5e0e9b5758384781df568108688c7659ee387ad390175d3aada26() + { + $this->assertTrue(true); + fn() => ($test ** $test =& $test); + } + function test214a7b8d31750078d0b4fbd3eaa698afe5b0b1284c3db8c10f1e41a92c53f1ae() + { + $this->assertTrue(true); + fn() => ($test = $test * $test); + } + function test215e195593790f2d09842940f684035bd4cdd3e90cfc1680ecdbcd20fae16d95() + { + $this->assertTrue(true); + fn() => ((object) $test =& $test); + } + function test264dc038d3b4f7a49e05ff39b899bee7ff6404eec29e49f277698e505058c31a() + { + $this->assertTrue(true); + fn() => ($test =& $test == $test); + } + function test2cbbaccc3849411c330f60c3d121faf5fd0f532a91bbcec41c3c199515289d98() + { + $this->assertTrue(true); + fn() => ($test =& $test->{$test}); + } + function test330d4862ba544595d619edd2a7e5c8b254c50ae338de9327c3c9b83f5311d374() + { + $this->assertTrue(true); + fn() => ($test = 'test'); + } + function test3762600f894f2023ca69fcf1b41295b1b51cfb55f886a8f8854c901b961699d9() + { + $this->assertTrue(true); + fn() => ($test =& $test > $test); + } + function test39c7ca0b22b509568604eb140882980e3243a95349c5da60cfeeacfe7ed954a7() + { + $this->assertTrue(true); + fn() => ($test + $test =& $test); + } + function test3b67f7661c870ae11b6e9ea4d8535adf6f401251d5acc51252f215ef395dfa33() + { + $this->assertTrue(true); + fn() => ($test =& $test >= $test); + } + function test3c558586e59b345b99b45f9aa8689ac0b907de936b996c2543d7ae8083856211() + { + $this->assertTrue(true); + fn() => ($test = $test <= $test); + } + function test3f64b551206427ff3b64843e5b696d056e8a528d7245cd927a1288b64875eac7() + { + $this->assertTrue(true); + fn() => ($test[$test] =& $test); + } + function test3fe224c004a7a134a9717f704a9bef428d7bb23ce9628657f21511b70393cc9b() + { + $this->assertTrue(true); + fn() => ($test =& $test instanceof $test); + } + function test42001db90fa2e11a86fee2146225548b8e70fc2305f8b157b3eef352770a7563() + { + $this->assertTrue(true); + fn() => ($test / $test =& $test); + } + function test49d7bf474405ecfacaa4d1104cd57fb8b3bb492f75199f3628b2c6b9c4033665() + { + $this->assertTrue(true); + fn() => ($test & $test =& $test); + } + function test5ad3af83b05798cef903baff56edeaa674ac8897a7a4a5b446a78af2daf01bee() + { + $this->assertTrue(true); + fn() => ($test = $test !== $test); + } + function test5cf42e1dc6d4cdf44bb81fc3430023d1c0ba790cf4943efe184ae2976f36eee0() + { + $this->assertTrue(true); + fn() => ($test =& $test->{$test}()); + } + function test5d2e6d726160301e2c10f8dd9c1f360e67343ba8b53510f9a692a5bfc2b8b071() + { + $this->assertTrue(true); + fn() => (!$test =& $test); + } + function test5eb96d8350f6f6fa90e45db3638aa0a56ed51be8bb0df78647cfa42b75dccf07() + { + $this->assertTrue(true); + fn() => ($test =& $test % $test); + } + function test62dedf03d2bf9ce9b44f93c85ce34dfd81b5fa936cdf23e45286d8b45110976a() + { + $this->assertTrue(true); + fn() => (-$test =& $test); + } + function test641677e96215fa0b1feae68fe1c03c66055a6fff4e6b405e5f727fdc01fca45d() + { + $this->assertTrue(true); + fn() => ($test = __LINE__); + } + function test64686633063b5475cb36e6f4b79d2514c8b950f5d52a96838a351f22bac8a28d() + { + $this->assertTrue(true); + fn() => ($test =& $test()); + } + function test65cad09cdb2acaccdd4cb62adb04fdfebc715b06b1f86a802084c08cea53aa41() + { + $this->assertTrue(true); + fn() => ($test = 0); + } + function test689bf864d2925012509adeb7732a66855b4b266db646072b5b9f8e2363991ba2() + { + $this->assertTrue(true); + fn() => ($test::$test =& $test); + } + function test6ac3fb87ce5e7e8d1d611783a4a3facc4f1ef19b4145a2ca0906cd25fef87e3f() + { + $this->assertTrue(true); + fn() => ($test = $test ** $test); + } + function test6c36c15a1daf1f622a2a266bc382a5d2754729aba098b68eeb3e2cfb144eae8f() + { + $this->assertTrue(true); + fn() => ($test === $test =& $test); + } + function test6f2381b2ad48bf6d64288a126f83acf22db8bc78e4ce6885423e1c6268f97922() + { + $this->assertTrue(true); + fn() => ($test <= $test =& $test); + } + function test71c70b45d8f7b329fde00ac98d59541547f268b1229352b240295b212379dc0e() + { + $this->assertTrue(true); + fn() => ($test = __NAMESPACE__); + } + function test720e194547b72198a325b1afec6699cdbad512e9aea996a3e7f67e1b10d5e934() + { + $this->assertTrue(true); + fn() => ($test ?? $test =& $test); + } + function test7313e1caeabab363fb168d62fd4f545bead05ad50de1b215c7615d33bd611c49() + { + $this->assertTrue(true); + fn() => ($test = (string) $test); + } + function test7a7b4031980b5039962d197cbf87a103efd34b5ee9076880587d307595ebb66a() + { + $this->assertTrue(true); + fn() => ($test == $test =& $test); + } + function test7bd79a5cf3747fdac6deb11fc71af4bec8fe81f4009d099cb1910593a14448c2() + { + $this->assertTrue(true); + fn() => (throw $test =& $test); + } + function test7bdd7efe4a69cdc5e1b31d52747a2e3331b93b7414ca457c9ad8c8606bf11493() + { + $this->assertTrue(true); + fn() => ((bool) $test =& $test); + } + function test7e9bb27f6fb24d5373fe02f257f92b4affaa2d040a69631703c552ff21d3a651() + { + $this->assertTrue(true); + fn() => ($test = $test >> $test); + } + function test80c68b301424a602508defb1b3f35237444b99043a50caab2f4f5424b318699c() + { + $this->assertTrue(true); + fn() => ($test =& $test::$test); + } + function test849436271d1d261c62c9835ba6f50cad8bea344a672cf10801d240b3b6f1da9c() + { + $this->assertTrue(true); + fn() => ($test < $test =& $test); + } + function test874b801b530f5e6a965391e02cbd976bcebe83d8cddc964212386f49f3c12257() + { + $this->assertTrue(true); + fn() => ($test =& $test || $test); + } + function test887e138e25a8a0afc31c78c5a1df5e8cd65e9131bc398c2facefb36472688b4d() + { + $this->assertTrue(true); + fn() => ($test > $test =& $test); + } + function test91c2571870a4b72c38c2b90e63e43e62352fe79e1852043ed41ac949895bd1d8() + { + $this->assertTrue(true); + fn() => ($test =& $test ^ $test); + } + function test91c393e58097d2ab5acc061d08589127f42e190931643fad5774bba0586279a7() + { + $this->assertTrue(true); + fn() => ((array) $test =& $test); + } + function test91c741ccabf51ceceaff87b274a8765455e2eb008f046a79bfdcbb1109f40d67() + { + $this->assertTrue(true); + fn() => ((int) $test =& $test); + } + function test94046b5654432751448b76891651ca92baf30652d20cab8541fff1125b49ec77() + { + $this->assertTrue(true); + fn() => ($test =& $test & $test); + } + function test95d1ca688c8da7a32f25d6f8e52aa2aaf4e27c08d3d9c8ec65f77d9dc737ffa4() + { + $this->assertTrue(true); + fn() => ($test | $test =& $test); + } + function test95f309c8c93b8818785dc106e0080b10a6e961d283e0e2e1ee970af0ee7260cb() + { + $this->assertTrue(true); + fn() => ($test = __CLASS__); + } + function test96e7da58536b833afd52806cca514430ba752d1419195d8787e2ac6c33363974() + { + $this->assertTrue(true); + fn() => ($test % $test =& $test); + } + function test99a02f7a274a7f204ce1cf747b13f33fc89a8de9f20890577f9e1ca024af0fa7() + { + $this->assertTrue(true); + fn() => ($test =& $test && $test); + } + function test9c021ef7ee1eea5b7727ca46ce8c58d87d19c2561952f187c1ec5856cdd09eea() + { + $this->assertTrue(true); + fn() => ($test = $test % $test); + } + function test9c05738f82c8d049f36ab1f7aa390cbf958d5300104ffabaca3ab077657d3e2c() + { + $this->assertTrue(true); + fn() => ($test =& $test . $test); + } + function test9e583758a0021f0b73d4fe20aa2cfca48c7b1431bfc3416fc0f8785791e04d2f() + { + $this->assertTrue(true); + fn() => ($test =& $test * $test); + } + function testa0818d5ad487bc30b190c11dc6bde1f33f7aa2ae53d41dc5027a6af51e654ac9() + { + $this->assertTrue(true); + fn() => (~$test =& $test); + } + function testa33adf7bf189ea97b005f11376c92552eb46d72bcdeaa5bbd06ba4ceb8c60ed0() + { + $this->assertTrue(true); + fn() => ($test =& $test - $test); + } + function testa5d23114d694decc2af5deb25a838527e7ef17384b2d454c6621d271b00c0e55() + { + $this->assertTrue(true); + fn() => ($test >= $test =& $test); + } + function testa7ee693696ff73454ddab064e037f9c71d5c19ba0fa509ed4c4a405c836e5a95() + { + $this->assertTrue(true); + fn() => ($test = (object) $test); + } + function testa95743ff89c33f450b5ee1875670d422fd321223abb9c7404f3ba98fa837b02e() + { + $this->assertTrue(true); + fn() => ($test = $test != $test); + } + function testabbb7d7601fbf610cbf4d07a0b6f84ba34463a58fbb0c58ef87e894cdb3f9df4() + { + $this->assertTrue(true); + fn() => ($test = $test < $test); + } + function testabd9f9fe5f6535805465d95a58b3bdd54f122e5cd917947756ab6de33bd5d1b7() + { + $this->assertTrue(true); + fn() => ($test =& $test::${$test}); + } + function testac1958da6060719813ed69a5e0596dede7d6fb8a5f5a8c514f05f06970a5f49d() + { + $this->assertTrue(true); + fn() => ($test >> $test =& $test); + } + function testb28e3fd3b7afac42cfb62bd19cda0d16b0e4eda31069fb517195e68e1e1987ec() + { + $this->assertTrue(true); + fn() => ($test =& $test::$test()); + } + function testb446095a3b464325dcfd3aa8a178dca3fcc9ba6200ff9037d020f8d39e8a0b5b() + { + $this->assertTrue(true); + fn() => ($test = __TRAIT__); + } + function testb97cb43027a4b5ffcc95896a6f79b20204d1c19d9586b9a5e1d0ca39e049549a() + { + $this->assertTrue(true); + fn() => (+$test =& $test); + } + function testb98b8995f613ffae58dd6465278c658eb504debb3517090b2b62c7bb65a723c9() + { + $this->assertTrue(true); + fn() => ($test = __DIR__); + } + function testba10d2900bddf6b0dede681eb99fa11a2dc4aae5c15efbdaeb642482cfd5b687() + { + $this->assertTrue(true); + fn() => ($test = 0.0); + } + function testbb007d4b7f61956f7f83b85cf299c30560aabaf858308edf7447ab3a5f9d2e64() + { + $this->assertTrue(true); + fn() => (clone $test =& $test); + } + function testbc6313ee4961968af956b5e95c8c165e20244c448f4d1c628f27dc7f104a2c0c() + { + $this->assertTrue(true); + fn() => ($test = (array) $test); + } + function testbced7b5b3e24c4b8b538c9fb259029b75cca9012ac109d9ae1eeef2bce2a3f82() + { + $this->assertTrue(true); + fn() => ($test = $test <=> $test); + } + function testbf8839e842a84454cd324bc38a23f6d8205f035fcefa84291a8366355e82bd5a() + { + $this->assertTrue(true); + fn() => ($test = (int) $test); + } + function testc3e56103e3817cf3a458023272a5c25f9274d966c6e6ac9ad9f9d03fa85b4761() + { + $this->assertTrue(true); + fn() => ($test =& $test[$test]); + } + function testc8dd2bda597ca89ec9e10e1e22bb3ec1241848a4269025e6bf06591f836eb297() + { + $this->assertTrue(true); + fn() => ($test ^ $test =& $test); + } + function testc904cdc6e5c2de1ab876b48972eb9d0541b0b76ab605d06a414dfe118502f09d() + { + $this->assertTrue(true); + fn() => ($test = __FUNCTION__); + } + function testcb90037072c6e2ef46c264054066dc9bb072bd66c521271f90676e42c2314e93() + { + $this->assertTrue(true); + fn() => ($test =& $test != $test); + } + function testcc3f306c53de6a9fc4e52b451fd14402d68b2463609ae64192ff33c175a5e377() + { + $this->assertTrue(true); + fn() => ($test =& ${$test}); + } + function testcd4a5aad3a9e868f19995eca2d3c4fc7ca1823c7668da67a57431e57392ce729() + { + $this->assertTrue(true); + fn() => ($test =& $test ? $test : $test); + } + function testd218c35ac7d25f4e40b7ca7e717b2faa14b35dc29afd55c396d83a27f85e6ea2() + { + $this->assertTrue(true); + fn() => ($test = (bool) $test); + } + function testd79cde27bac49f7a741d449ca524d48e9cec19bb79630eeedd6791cccee22cba() + { + $this->assertTrue(true); + fn() => ($test != $test =& $test); + } + function testdd0ed8e5a1eb3424cccbe937af0244cc93091a4f0c3b56d1555c23fd1927c862() + { + $this->assertTrue(true); + fn() => ($test = __METHOD__); + } + function testde54b0a58755a1541864894c6883160878592fbe4670b8b87a815b92d489262d() + { + $this->assertTrue(true); + fn() => ($test::${$test} =& $test); + } + function testde5afee6504997677ccca5888337bb82268b9f084d4085c46ab9c1ce6fdecc2e() + { + $this->assertTrue(true); + fn() => ($test =& $test ?? $test); + } + function testdf4eef9ed9df6f0fe9938e22e23697556b08773f36f0d33e01d12af784a235d0() + { + $this->assertTrue(true); + fn() => ($test - $test =& $test); + } + function teste54abb1fbdf43095c405262a3158100a586440403c922287ac9c7a8ba90f6351() + { + $this->assertTrue(true); + fn() => ($test =& $test / $test); + } + function teste5add2e7e4474c96598e8b46e33621d749b649bf740051c046450dbc048b4364() + { + $this->assertTrue(true); + fn() => ($test << $test =& $test); + } + function testeba62e7225cca796de37e570cf74e18c4984045b71ebbd3a60c7cc90125016e4() + { + $this->assertTrue(true); + fn() => ($test || $test =& $test); + } + function tested14d4f30158c413ef074a88d14b5b8e702c3bf61150cd9607f0840db1a5f5e3() + { + $this->assertTrue(true); + fn() => ($test =& $test === $test); + } + function tested16275df5fec39b15e5b7d89fa74dbcfba769f7ad6c494a8fcd6885f9ccd4c2() + { + $this->assertTrue(true); + fn() => ($test =& $test | $test); + } + function testee557edc13acf1a0519403389f7da427e789a93d9d903303e3a8641cad46008c() + { + $this->assertTrue(true); + fn() => ($test = $test << $test); + } + function testf0348f541a40e1b1d5fe5b6d54b740349d7770e632a187bd7749293a2647f315() + { + $this->assertTrue(true); + fn() => ($test !== $test =& $test); + } + function testf1017206e06714a968f166b22cabe3f9bf47b3c4be85bc71d7dddfa6d9989d90() + { + $this->assertTrue(true); + fn() => ($test . $test =& $test); + } + function testf568ff127ed6c176c6b2325037f0782fff1ab32d2e3efff79bcb39640a4ff709() + { + $this->assertTrue(true); + fn() => ((string) $test =& $test); + } + function testff2ae7a6e8aa0996c3fc62fa6692c0aea35937ae938166217fe9610354faf56d() + { + $this->assertTrue(true); + fn() => ($test <=> $test =& $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest.php b/testsGenerated/Target/Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest.php new file mode 100644 index 000000000..12e5d4f30 --- /dev/null +++ b/testsGenerated/Target/Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest.php @@ -0,0 +1,509 @@ + + * @license MIT + */ +class Expression25421c49bbdb393a5967f2ace50cc2e67196e7ea340ef58e31363364bef1152cTest extends TestCase +{ + function test009ca6107f7deb3ff75ad1aa41591498981c2698ad47520b90e5f9e53218917b() + { + $this->assertTrue(true); + fn() => ($test::${$test} -= $test); + } + function test010c3b68dca84c59208d43552a8adfd3e6c2ccdc98660090978df96a993cd4ec() + { + $this->assertTrue(true); + fn() => ($test /= $test % $test); + } + function test037af3d379e93afba45893677daace9acecd9331ceeb740ac97f18070a1e28be() + { + $this->assertTrue(true); + fn() => ($test /= __FILE__); + } + function test0811dd9b353aeb22eb63e45c7b8369a84d1e3724f1e491c1001a9be6515acfd7() + { + $this->assertTrue(true); + fn() => ($test -= ++$test); + } + function test087cba03b5ace8d7dacb9223f10a20cd7b680c41fe0dc5191fb98c7f179693d1() + { + $this->assertTrue(true); + fn() => (!$test -= $test); + } + function test09172494a1fd023b3b0692141e071ce7c9544859677d5f9d8c86198f8abe827e() + { + $this->assertTrue(true); + fn() => ($test /= __DIR__); + } + function test0952e1642e2e6f2b2f537eb2151e1ee2d8de5757d8de4c90c7b4441fff5eea5f() + { + $this->assertTrue(true); + fn() => ($test /= $test << $test); + } + function test11eb86fbdd24c9a2a3a944b8bf11f76e86f1fec3b0be9f4a90060becccfb40be() + { + $this->assertTrue(true); + fn() => ($test -= $test?->{$test}); + } + function test13bb94fe821e69718a1733322b70d923764a4d12c708788dc47e81d6e299b9a9() + { + $this->assertTrue(true); + fn() => ($test -= []); + } + function test167d2c5f7f237058e323bc1cfdc86f22f6c3fece69993b93bd6f7fdaee577fc5() + { + $this->assertTrue(true); + fn() => ($test -= $test); + } + function test1704c85b69cdcbe1a4b5877170a9b7de63d69ddeb10dfccb66809c9f324d13f6() + { + $this->assertTrue(true); + fn() => ($test -= $test = $test); + } + function test1952199df8108442d1af1bf8d6bf4ec969db9f14b3b01d66ae75234af239937f() + { + $this->assertTrue(true); + fn() => (${$test} -= $test); + } + function test1c7ae0c8333b0a92f0afa5d73bdd1cd9cc0ffe8b21bfb4583ce424ba7c85af78() + { + $this->assertTrue(true); + fn() => ($test /= $test >> $test); + } + function test1d037192d7f017839a4e50bded9b71219ad62b545daadd4d187ef23c0c052b3e() + { + $this->assertTrue(true); + fn() => ($test /= (bool) $test); + } + function test1d66eec4325677ce7e68cb746a9cf6db5ab0a803ac3f3012b78f0bf1f209ed7d() + { + $this->assertTrue(true); + fn() => ($test -= $test instanceof $test); + } + function test21a4ced45fba67abdd032d96bedba0b382cc5aa87f83d5f475a5b36176f13857() + { + $this->assertTrue(true); + fn() => ($test /= 0.0); + } + function test22f6add0caded7049e653d2fd97ccc82252480cfd5877e283ef3e53b3ebffd4f() + { + $this->assertTrue(true); + fn() => (@$test -= $test); + } + function test25d3096a6f01fc7d1db0fd3d4c74b84c213c71890da63a0a914b1d2a701c3fcc() + { + $this->assertTrue(true); + fn() => ($test /= (double) $test); + } + function test273de0cb3820b782dfd54c926945850058fefdee6bae462084b85fc9c65bb938() + { + $this->assertTrue(true); + fn() => ($test -= $test =& $test); + } + function test292eaa35bf34a3dd5fee0a2ee70ba5a194f7ffa8307170b0382701df52f739dc() + { + $this->assertTrue(true); + fn() => ($test /= (int) $test); + } + function test298172b696384c03f2830f2ea92321c087c24438ec7298ba1046629127f454ff() + { + $this->assertTrue(true); + fn() => ($test + $test -= $test); + } + function test2c2a27a584a1b31a793d6424a06ee4c278ba8198d66c0805e0b7fd0b67251fee() + { + $this->assertTrue(true); + fn() => ($test /= __NAMESPACE__); + } + function test302334df11ac5262522016f60e84839d70bace09b54602da50e692c59ba3f2be() + { + $this->assertTrue(true); + fn() => (throw $test -= $test); + } + function test30cabc0f21c08ec82151ad7e83221a3b5b2e1be76c1c483d57867a241d3f2d09() + { + $this->assertTrue(true); + fn() => ($test -= ( $test)); + } + function test33a85609ca829e6513cf1bc2ce30f729026cd978a6cdfb7e188842523868b97a() + { + $this->assertTrue(true); + fn() => (clone $test -= $test); + } + function test36592c17eb27077e1bff335a8a961804105dafb2093d1f00c687728948f70b19() + { + $this->assertTrue(true); + fn() => (-$test -= $test); + } + function test4084f3a21d025876aec737561bbd62882547a5390d515721eedd33f3dd94f573() + { + $this->assertTrue(true); + fn() => ($test /= (array) $test); + } + function test46045456dc9e9111d033dd1c888641b76794b9d34607494818412ce9297c136b() + { + $this->assertTrue(true); + fn() => ($test -= new $test()); + } + function test4d9767b509853b5917ec1a97324f674c3ac55ea037f66d5fbaf5fc0054b089a4() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test -= $test); + } + function test4f24eaddcb9bba12c259a23645a40c6343815ce1e873a7b70ee505a0667d3db3() + { + $this->assertTrue(true); + fn() => ($test -= isset($test)); + } + function test52ff9af229a8c500e8cac6c21b61da99a0cb6fccb1561c23f55202c6375fdfbe() + { + $this->assertTrue(true); + fn() => ($test::$test -= $test); + } + function test545eced2be81acacbb5f2d164db70c2c7ba9296a8e77a7987d24cf450014061c() + { + $this->assertTrue(true); + fn() => ($test -= eval($test)); + } + function test593283e8e4ef5dcfbbbd6f2e810505b41e57f8aed51c1b5bd2e810947862e7c0() + { + $this->assertTrue(true); + fn() => ($test /= __CLASS__); + } + function test5951eca12334b7449b7200debbfe6d60aeae2ae4c1245eb5c418376169b5164b() + { + $this->assertTrue(true); + fn() => ($test -= ~$test); + } + function test5a1aad9f17c00e4d2c17d4d35031faafa11d70b7d8347a5b205a8060de33b160() + { + $this->assertTrue(true); + fn() => ($test /= $test <= $test); + } + function test618ad9c9dd2a291b6e533e439b764dac3ae4f3263fccd5e95e9334580ecf5e25() + { + $this->assertTrue(true); + fn() => ($test * $test -= $test); + } + function test657f725fae7b1b00f26699d677376cd89b0a2ab3a7802574ffde1f0819ee2dae() + { + $this->assertTrue(true); + fn() => ($test /= __METHOD__); + } + function test65941618d0b87c400b9f5cc3678fd41ecb3c346dbc3a59c9589447f35bb029fc() + { + $this->assertTrue(true); + fn() => ($test ** $test -= $test); + } + function test65f36043cba76f31b76f46693b1012d33b3227cded94d94e98e08baaa912babb() + { + $this->assertTrue(true); + fn() => ($test /= $test * $test); + } + function test70f890442369fd99387870484bb14e7ff60b68250557668d2ee568ba30139f2d() + { + $this->assertTrue(true); + fn() => ($test /= (object) $test); + } + function test7201dbe1bba9d12e2c77bd0b0bd5e084231e59a44e81d738952fce5045ba2720() + { + $this->assertTrue(true); + fn() => ($test << $test -= $test); + } + function test7a6c3ccfcfadf644e4fc3f29220acfe8bbb2b28f9f9ea881f2bc63f3e0fc95b6() + { + $this->assertTrue(true); + fn() => (+$test -= $test); + } + function test7b12e287360911573eaa63b2a9cf70dd27d33d1593d55f8b08b320b6abfb7825() + { + $this->assertTrue(true); + fn() => ($test / $test -= $test); + } + function test7bef0972fb813cb96fcffb3f3091416eacb1a1f4bbfaf762277829e1b615bbbb() + { + $this->assertTrue(true); + fn() => ($test <= $test -= $test); + } + function test7c50f491421ecd046e2010ee80c8dec701e2b9e48ebb4f99f57fc3111eaa229b() + { + $this->assertTrue(true); + fn() => ($test !== $test -= $test); + } + function test80d44593c0cdbb909d6e9b6bdb6922153d246639da7c4bec6e7d4d428abe6db7() + { + $this->assertTrue(true); + fn() => ($test -= !$test); + } + function test83f8e5569504ef8fb81cfb42af6e3685f3fb9ec88efa0b0a5f2c0ba2e5699cc9() + { + $this->assertTrue(true); + fn() => ($test && $test -= $test); + } + function test86da48d12a2b7712ea328a289de66e849af44922d716fc0e5e4ffeb290fab64e() + { + $this->assertTrue(true); + fn() => ($test -= $test::$test); + } + function test87b61947816cd2dcb11b9b6343a3dd0f3e5072643014b9163988b7c4e34b1ac1() + { + $this->assertTrue(true); + fn() => ($test ^ $test -= $test); + } + function test893ddec614fe48083380cc74e29a1c04c3ff3bc407d14ce53f54ba99e1d810dd() + { + $this->assertTrue(true); + fn() => ($test /= $test + $test); + } + function test89bd043b1e20b2eed8f62820c5f27a1364efff8f9781b784e0946b1801d4c6d6() + { + $this->assertTrue(true); + fn() => ($test /= __FUNCTION__); + } + function test8ab5fd21c03bfad79b13f7c856538712cf56f00c5f88acb799e080e3a04282c1() + { + $this->assertTrue(true); + fn() => ($test < $test -= $test); + } + function test8df778d66245092f553b8bf19c752f762b7fd66f324e457cdbbbf4b1762df37a() + { + $this->assertTrue(true); + fn() => ($test /= __TRAIT__); + } + function test8e4cff6fcbc0a3767b2c7d23b06a78a65d984b4dd62e017000351f37adf55a96() + { + $this->assertTrue(true); + fn() => ($test || $test -= $test); + } + function test90c8a554be734afba18572484640db1567cd67236e3995ee4ea1a0af5fb12e07() + { + $this->assertTrue(true); + fn() => ((double) $test -= $test); + } + function test92cf833efe9cac35ca88b4585834322155b4d727da298747ec010d262e4afaad() + { + $this->assertTrue(true); + fn() => ($test -= clone $test); + } + function test9a0ae3ea34b22c465a09bd1b19f0308ff0977c3ccb2284d3d506ad36969a9cad() + { + $this->assertTrue(true); + fn() => ($test > $test -= $test); + } + function test9a2fc1b909363b7cff9d402d88ed1eabc05e006cce4b7f9066598038378077e0() + { + $this->assertTrue(true); + fn() => ($test ?? $test -= $test); + } + function testa1c5c75393e38f654707ffff6d080eba370e2a20b0ea2f418cd27891887a1727() + { + $this->assertTrue(true); + fn() => ($test /= $test !== $test); + } + function testa46fb83d6c5acac8f52dc57de8e37d6f022aa7bd8b2973bda693e88b4ef2cbce() + { + $this->assertTrue(true); + fn() => ((bool) $test -= $test); + } + function testa6a3cebb921d189cac19d42fc8d833c636e63ec59f61f867a89949d5111201f6() + { + $this->assertTrue(true); + fn() => ((array) $test -= $test); + } + function testa87d91272a40d8471a8e01fb829c9d9787e7025e2a554fa89cbb00e7e7f2d17f() + { + $this->assertTrue(true); + fn() => ($test . $test -= $test); + } + function testa89ff9464d2e60668c814f4c06d835e92cb69a261d188dc38c6c3b63d61364e0() + { + $this->assertTrue(true); + fn() => ((object) $test -= $test); + } + function testa9cc8cfc05132d1fbc14592df1aa92e430499127b394b662899edf439513730a() + { + $this->assertTrue(true); + fn() => ($test /= 0); + } + function testae5d9bb12ee866582fc55fe10e6ac1e1bf8ee24b36c0f1b906d7c1b59e3c85ed() + { + $this->assertTrue(true); + fn() => ($test /= $test != $test); + } + function testaeb58e4b962edb42e7f623a6cb68e9505acd4caee1de714f2c5344b6af3a87ee() + { + $this->assertTrue(true); + fn() => ($test -= @$test); + } + function testb02beb06ea82b08c7efb7b6f497fbcf623726e863a5fcfb5ed1ec2a512027cd9() + { + $this->assertTrue(true); + fn() => ($test /= $test ** $test); + } + function testb10bc04653488008767bef03d7c274b54cdc41057b9d433540df064cb2901e6e() + { + $this->assertTrue(true); + fn() => ($test /= "{$test}"); + } + function testb4622cab552772ab71e11224b8e6f8a1d0f89c8c869132b52e9c96e1782b632b() + { + $this->assertTrue(true); + fn() => ($test != $test -= $test); + } + function testb52e25d716483195af824198a76c61ccc06dcc5c68c651ac99bc3fd135bafa54() + { + $this->assertTrue(true); + fn() => ($test /= 'test'); + } + function testb95bc414249c8854ff2a4b0e8fcdf0e4e1409bdc1e81e25651690edb0b54e561() + { + $this->assertTrue(true); + fn() => ((int) $test -= $test); + } + function testb9b00ee55839cf9e07fd9ed16353c4a208b3d9b41d007d84d498f84417fc1f58() + { + $this->assertTrue(true); + fn() => ($test /= $test < $test); + } + function testb9cca09bc80d5a51e1a66044edb60caec9fb018ee2396878738deb18f174d1f7() + { + $this->assertTrue(true); + fn() => ($test->{$test} -= $test); + } + function testba37d531b108dd150ae539e67aaf77315758fff77d96e7c830f513a411bf91a6() + { + $this->assertTrue(true); + fn() => ($test -= $test--); + } + function testbc9c39e10bab170e6a262c0667178ba5553e7e09db850c74946ab048e1837371() + { + $this->assertTrue(true); + fn() => ($test & $test -= $test); + } + function testbe88a711e1eeb6a71ebb76832790907023fee7dbb25e5fc80fca1c4d33c5f28a() + { + $this->assertTrue(true); + fn() => ($test - $test -= $test); + } + function testc2e40631bb957592bcf49c545c5f6c200868fe691de71d4e97cbbf87ae555c08() + { + $this->assertTrue(true); + fn() => ($test /= __LINE__); + } + function testc3006b4e58f1f22c1bc26efcbafb8a4fcf09f8fa6023ab9b0f406e9609910d9e() + { + $this->assertTrue(true); + fn() => (~$test -= $test); + } + function testc7504e6d9c9cc4866c6ed510bf901c99784c88114daf92ff21dca4fadbfe20da() + { + $this->assertTrue(true); + fn() => ($test /= $test <=> $test); + } + function testc8ad61fc4b722aa8951bb7f5f4230c68ab12047f1adec6d4206fe54268ef7282() + { + $this->assertTrue(true); + fn() => ($test == $test -= $test); + } + function testc910ff73cb12dd26bf4e30778725ff18312ec5c5227894ad35eef7aed9d420d0() + { + $this->assertTrue(true); + fn() => ($test <=> $test -= $test); + } + function testcaa19b55aeda2814def77f8d6e415c977b9516c2f1e772fbda20733bed8ef78b() + { + $this->assertTrue(true); + fn() => ($test -= $test++); + } + function testccb3a80eac25d2831e9bac738b2243d04778000f2207e41152e2930c39b3bd8a() + { + $this->assertTrue(true); + fn() => ($test -= --$test); + } + function testcf31ff98b93ab4848a16e00596475e7b3acbd4759c6b350b0c843ba0f5aa67f3() + { + $this->assertTrue(true); + fn() => ($test -= function () { + }); + } + function testd051b9515a96cc78b6be556a77a099ea0b85ce1d4a57f044df5199357bd3dd80() + { + $this->assertTrue(true); + fn() => ($test -= $test[$test]); + } + function testd074321edd9ce6bbb991c3e65eb65513133421b3160dd76e028da9753271cefb() + { + $this->assertTrue(true); + fn() => ((string) $test -= $test); + } + function testd18877ecfeedc52c64e6c3fdeb51c8f173acad1e6794c2ef69a69a3c0402abff() + { + $this->assertTrue(true); + fn() => ($test -= $test()); + } + function teste2efc122999411951738b37c9032687afc86053a86b0c480183086299ebc1550() + { + $this->assertTrue(true); + fn() => ($test -= empty($test)); + } + function teste80dbc580444d141bd3f8f1c1e725776779b97ebc482ceee17097ef459e6c800() + { + $this->assertTrue(true); + fn() => ($test >= $test -= $test); + } + function teste87ef1c03b57b58ea5d7018a5a6cba45adf429953fad59c0e41c25ec965b4db3() + { + $this->assertTrue(true); + fn() => ($test -= $test?->{$test}()); + } + function testea39fee16bdf940d6e9dea02ac4741c8c00152c3327d7b2fb57b38ddb2bf9fa4() + { + $this->assertTrue(true); + fn() => ($test === $test -= $test); + } + function testefdb26a51f89a04482e6ef7548e771d893ad8d6e5ab953481c5cdeb3c6174f81() + { + $this->assertTrue(true); + fn() => ($test[$test] -= $test); + } + function testf29841c3d607e2ba0c933e936d670a37976dbcabd93080ba0e4ec5848d763327() + { + $this->assertTrue(true); + fn() => ($test >> $test -= $test); + } + function testf4c779d8e2f72525c58c8f6749b9cd6ee65aac823cfd758641e261518a3f9ca3() + { + $this->assertTrue(true); + fn() => ($test /= (string) $test); + } + function testf58dfa33bf69a6478560e6bd8c66df3ffc84c63003cc22b5c4e492e65ceaa190() + { + $this->assertTrue(true); + fn() => ($test -= self); + } + function testf9967b383f2d15bdb0626fc720b83186e4df5a76848b2f8b8e35915a5d4bae6e() + { + $this->assertTrue(true); + fn() => ($test % $test -= $test); + } + function testfc2a61545f9861c02cf09b1b877dfec0c9f125ecfe000437e01a3ca4f5ffb3ab() + { + $this->assertTrue(true); + fn() => ($test -= match ($test) { + }); + } + function testfecca37cdae2fa0cab0a183941ae7e20104fe9243f7e31f34891202eaf14745c() + { + $this->assertTrue(true); + fn() => ($test | $test -= $test); + } + function testff8f8b885ab0671151ff0e8c74e7ae9781e8250df34fca47785caaeb04f9248c() + { + $this->assertTrue(true); + fn() => ($test -= $test->{$test}()); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php b/testsGenerated/Target/Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php new file mode 100644 index 000000000..272e5bf2a --- /dev/null +++ b/testsGenerated/Target/Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression2b47cb9717520010c6517bc19a9eaf20417ca15fb1d78d6a6a7b9dcd660d70a9Test extends TestCase +{ + function test0441009f9f40240edd912710b3e23196fce7a4c2323a0bc874a87ea66e6e3178() + { + $this->assertTrue(true); + fn() => (throw $test === $test); + } + function test06609755cadc3f4a7e1621becadd3053d3d176b987d5e05de67139225ddcfc28() + { + $this->assertTrue(true); + fn() => (throw $test = $test); + } + function test0956b72adc7a044e227f471f70622851f218e1f10bae8eeccfdd85f58c3ab4c2() + { + $this->assertTrue(true); + fn() => (throw $test |= $test); + } + function test0bf44b6115762bd8833753779bb8c9882c86d29eb886b38b71ab4fa4b081f634() + { + $this->assertTrue(true); + fn() => ($test ? $test : __LINE__); + } + function test0cfeaf2800a62be7a5b3e27713ab9265d8ccf239a505b025b0c0b3936a31306b() + { + $this->assertTrue(true); + fn() => (throw (int) $test); + } + function test0d96baad55cd50fa607430f75bb8bde90d4066db5643398370ef6a39a5084cdc() + { + $this->assertTrue(true); + fn() => (throw $test::$test); + } + function test0db6a83467c9402fa5bc282bc0853179941910a0a11432a5452534eab7c827fd() + { + $this->assertTrue(true); + fn() => ($test ? $test : 'test'); + } + function test0e40b63c48c343aa0cb09b02b645b0e28ae145dcad589ca10eeeec7f31e0b26d() + { + $this->assertTrue(true); + fn() => (throw $test ** $test); + } + function test0f2b7f7e6669b05103e3a8a0210f84db06a50e705333943972772ab2ecd5cb41() + { + $this->assertTrue(true); + fn() => (throw function () { + }); + } + function test0f9e511d1c880cb98099f87918ac4a68c84b22a2c9a109ef7af2d42b854ffa28() + { + $this->assertTrue(true); + fn() => ($test ? $test : __CLASS__); + } + function test107fd21d814c400857be214c92b72bfe7e78736119d2195d4c72f0883cc10632() + { + $this->assertTrue(true); + fn() => (throw match ($test) { + }); + } + function test10dce8e71037d428d18280fbf72608ea0ba866289a1c80cf103bf4e43b5f9b22() + { + $this->assertTrue(true); + fn() => (throw $test >> $test); + } + function test12acc7a6a8862474a7bfca88085fd663a1b0770ed01682cac63cb4505255ce74() + { + $this->assertTrue(true); + fn() => (throw (object) $test); + } + function test14d6f54a6f65ae1a7640fc4432fd3c922f1013fa4309949f0a4c5b4aa78be38d() + { + $this->assertTrue(true); + fn() => (throw --$test); + } + function test172648da82bdb7c225fb3c614c37fd4ac31c1fb1432e9c1f42e21ba4755819d9() + { + $this->assertTrue(true); + fn() => (throw eval($test)); + } + function test19975637f9ac2201838414917437259b663ad4b94e26eb4b95d61a53f99c290a() + { + $this->assertTrue(true); + fn() => (throw []); + } + function test19c566000cb24c181b36163996372f7a5527ed970e9ffb6a2c82a0e2c60a811d() + { + $this->assertTrue(true); + fn() => (throw $test .= $test); + } + function test1db220c78b27c956e00efd65237e85c08c24e13a346d28b17c5cdf6741fe5431() + { + $this->assertTrue(true); + fn() => (throw (yield $test => $test)); + } + function test2d03fb7448dad0042a6d99bf6bcc2c9738aa68a07326094cb4b4207d27c4889f() + { + $this->assertTrue(true); + fn() => (throw clone $test); + } + function test302334df11ac5262522016f60e84839d70bace09b54602da50e692c59ba3f2be() + { + $this->assertTrue(true); + fn() => (throw $test -= $test); + } + function test319b8e3858717f3116f4885c40dae0a78e91a49958f3e635173e6965d0a66e6b() + { + $this->assertTrue(true); + fn() => (throw yield from $test); + } + function test321742c7258148d5ed91dfe54b868ed45592e1c862e97e3cf8a29a99040ef523() + { + $this->assertTrue(true); + fn() => (throw $test ? $test : $test); + } + function test326dcbbbf49f031b82f2b1759ef0116c34c80474b481558e82b2e4e6ccf30221() + { + $this->assertTrue(true); + fn() => ($test ? $test : __TRAIT__); + } + function test352897241a356ad0065320359bd6378244af27abdb2b127bc3fc133aed676203() + { + $this->assertTrue(true); + fn() => (throw (bool) $test); + } + function test36631431a77d68269055f0b0586494bd66b14e2c5cf2b0fbc7c4f82984caff60() + { + $this->assertTrue(true); + fn() => (throw ~$test); + } + function test378a44e2e620155408ac5838a7a472d7ec0a0997bc6e14553df0cce2cdd1696e() + { + $this->assertTrue(true); + fn() => (throw isset($test)); + } + function test3a6ba6be217a77eaf26e0e547aa22df600a16dac20f14bd15dc1194e631b9a3d() + { + $this->assertTrue(true); + fn() => (throw $test != $test); + } + function test3ad7fd62b19aadeed7c4a8ad972c322856588f242cd3ce8086091bcd9732cd20() + { + $this->assertTrue(true); + fn() => (throw $test | $test); + } + function test3d01d86851071bbe855784cb8e4c71c279d2d7c8b26f44eb60ec2748b3061abc() + { + $this->assertTrue(true); + fn() => (throw $test || $test); + } + function test3d9415a37a0750dbe8ae986bde34c9c9201b8a5421c23828f0fb2cf75af21d9e() + { + $this->assertTrue(true); + fn() => (throw $test !== $test); + } + function test44dda1158ebf1a0cb65c15b96ab17390b137cd237c1769bbc6aa3338b68da3bc() + { + $this->assertTrue(true); + fn() => (throw $test?->{$test}()); + } + function test47b1ff33e8dc3b59daf3414a8c832466ff7625022eab58b7f1a0a0ed0edc0215() + { + $this->assertTrue(true); + fn() => (throw ``); + } + function test484af9d921357e919f146f35efd94311d606755237066c67997e86e985bcafa6() + { + $this->assertTrue(true); + fn() => (throw $test < $test); + } + function test49d16d018cc134b578b37a7997df62c0f4eee5e5d2c05c04a570043f5630f15b() + { + $this->assertTrue(true); + fn() => (throw $test->{$test}()); + } + function test4a1ac634590b2cf11ae82ce15def8fccac6c587c57464fe61d014ef793a4c45d() + { + $this->assertTrue(true); + fn() => (throw $test); + } + function test4d43c68a1bf295035af52594be43a6981e598bc5835de0d84914bb57842c9345() + { + $this->assertTrue(true); + fn() => (throw empty($test)); + } + function test506657cfa66232df9bfb8e7090c24206312c29a207c7ea8161af4bcda39175f6() + { + $this->assertTrue(true); + fn() => (throw $test++); + } + function test51b531d81abd305fdbe505b3b18932d5b97e87e201cfbefa14bbcf201624f6f0() + { + $this->assertTrue(true); + fn() => (throw $test **= $test); + } + function test52dac888a8dd8d85fdc89746cad11ba811ba1036279900c19ba3ffb50365b076() + { + $this->assertTrue(true); + fn() => (throw $test . $test); + } + function test58181516fd6ed371ce991c3c98fe71753c2c589d2ecd5481f7beb72fa4c75e45() + { + $this->assertTrue(true); + fn() => (throw "{$test}"); + } + function test589441f6d4c5af1680cb6c16270ffaf26eaa9d2ce901096ce85badde765edc95() + { + $this->assertTrue(true); + fn() => (throw 0); + } + function test5e62cdcf62286c4ffff5ba960b0e7dee37dad96082b752ae7cc475bb437b15fb() + { + $this->assertTrue(true); + fn() => (throw $test::$test()); + } + function test5f4c9d6cab00ea8691f1690c678cf5e1b6ddcaa6faa3c2ec33e95d7c8f9ba7aa() + { + $this->assertTrue(true); + fn() => (throw $test <=> $test); + } + function test607bbf6f91ffbd8f233beaa466f2a27b7c8742b55192f376e34c5e7b782bc83d() + { + $this->assertTrue(true); + fn() => (throw $test or $test); + } + function test6123d0b744644864037657e9549fdba2de55958488e87821c51f154595611180() + { + $this->assertTrue(true); + fn() => (throw $test / $test); + } + function test6263ca4eba719c4ac5941bdb4bf04c2c37d1efe28b1fe3745cf3f6978ea71448() + { + $this->assertTrue(true); + fn() => (throw $test >>= $test); + } + function test633d1c40774ed5d991aaf3e4113f0210fa6644942e16b5562eaaa1c48cf701b0() + { + $this->assertTrue(true); + fn() => ($test ? $test : 0); + } + function test6415117ef8338153e5f494dbf764f4f177e1d35fb89481a00a510c2855ab3502() + { + $this->assertTrue(true); + fn() => (throw $test + $test); + } + function test672e20b7aa37d5f2865955034f70f8476c4c3dc440ad254da99023947bd9da90() + { + $this->assertTrue(true); + fn() => (throw print $test); + } + function test683ffc51dc53b58501a5158fe77bd2a4094d37d36fd0098c057ef2e6fd9bd412() + { + $this->assertTrue(true); + fn() => (throw $test and $test); + } + function test69aed9dd7ba2047d7f83d54d97836ec6aad9754452f0d185e4155338821b4381() + { + $this->assertTrue(true); + fn() => (throw $test <<= $test); + } + function test6f31b03139c82845cad88f113f5b9097481730eed526dfd36175f60da7624fa6() + { + $this->assertTrue(true); + fn() => ($test ? $test : __NAMESPACE__); + } + function test78424bda74503b072a21fc9b6f3a8c04b17f215b82f55c558895c518718ceb50() + { + $this->assertTrue(true); + fn() => (throw $test &= $test); + } + function test7baf1a3a319fc3601068daeab591fcddd97070b5ce58e0eead69ef0903fcb3a1() + { + $this->assertTrue(true); + fn() => (throw $test >= $test); + } + function test7bd79a5cf3747fdac6deb11fc71af4bec8fe81f4009d099cb1910593a14448c2() + { + $this->assertTrue(true); + fn() => (throw $test =& $test); + } + function test813b914c484736941d519a160ebd540b72603c5b83bdd2998941e9f8c24fe27f() + { + $this->assertTrue(true); + fn() => (throw $test ?? $test); + } + function test8220596629d3a8c00e4c4c62aaacce6168c53f26575f2e2a2591ad24bc31da84() + { + $this->assertTrue(true); + fn() => (throw $test && $test); + } + function test824fef6a50be2cd544e7cf30f2fddba0f2d42ab70bc3207c56266a7b21513b87() + { + $this->assertTrue(true); + fn() => (throw $test--); + } + function test82a65185df4dc4fe796a08434fc7cd880a105751514901230f1cbe8c7a02b63d() + { + $this->assertTrue(true); + fn() => (throw 0.0); + } + function test834223a1f5df209776fe26759fdf5537286578305762914917507ce5fcf79e4a() + { + $this->assertTrue(true); + fn() => (throw (string) $test); + } + function test84f3d4c0629e445bb2cd0027645643e536d9381739a26664d4932931a7b76272() + { + $this->assertTrue(true); + fn() => (throw 'test'); + } + function test8669bb5552a5feda547afce41aded2bd8215ad73f2d7e1c92bd122914c1e67cd() + { + $this->assertTrue(true); + fn() => (throw $test - $test); + } + function test874e186c388f268bbead6bd4e02f47c59efc92f92d6e330771bcf25208417cab() + { + $this->assertTrue(true); + fn() => (throw $test << $test); + } + function test8753e114811735757aa8543ea7a06d6e2a878ba6e7bebbf7079a8b1fcd954e7e() + { + $this->assertTrue(true); + fn() => (throw __CLASS__); + } + function test88fa473649f0c6924848358d91655b6f90aa2bbeb70d1215995f2dc0d86d1b81() + { + $this->assertTrue(true); + fn() => (throw $test()); + } + function test8e6c14e3b498826b5daf7ae455a97f65d252e75bb1b5969fb2396a78c2de79ea() + { + $this->assertTrue(true); + fn() => (throw $test & $test); + } + function test9be145d9d04f0665c3bc6fcb10ce90b2e20c35c9b87a088aecb038fa5949d881() + { + $this->assertTrue(true); + fn() => (throw (double) $test); + } + function test9ce3bca2d5602b0ff4f4fb67e67cf327eecf6ce21a358221e658f83d517acf62() + { + $this->assertTrue(true); + fn() => ($test ? $test : __FILE__); + } + function testa12fa7b1edf708561073b820fb864c89a30a7d321fef9442116ebccecabaaae8() + { + $this->assertTrue(true); + fn() => (throw $test * $test); + } + function testa17817105156dc328dbbfeaad73c82a18b05a5f558d86da16cea8728fb16b308() + { + $this->assertTrue(true); + fn() => (throw +$test); + } + function testa1da06767fa4bb4f1e5c20c8c9236b0d18694bcb5d8ee491d05836726b3d817d() + { + $this->assertTrue(true); + fn() => (throw !$test); + } + function testa254f6dc4148f3697cbd6952068c81f791544635876d10df509b5298506fd926() + { + $this->assertTrue(true); + fn() => ($test ? $test : __METHOD__); + } + function testa35717b2ea30434de77d886122544ac429b6caaf8e5ced87148527899ecfa3c0() + { + $this->assertTrue(true); + fn() => (throw new $test()); + } + function testa4110e5edddaeac9a77553ef4edd72496325f9c16848074ca405ca0ae21eb9c8() + { + $this->assertTrue(true); + fn() => (throw -$test); + } + function testad7ad140b5cd03475a8fbee627b01c4188087247437dbb914f22c568f6cc4f66() + { + $this->assertTrue(true); + fn() => (throw $test::${$test}); + } + function testaf541d88483171366c87881a96c99c080858ea9913a914bd964228c5ad6133ef() + { + $this->assertTrue(true); + fn() => (throw $test > $test); + } + function testb59b701f7b1e01444645b871836c009f37cd815f6d7361b4caaaaf72297d3621() + { + $this->assertTrue(true); + fn() => (throw $test % $test); + } + function testbaa875faab2ea1b4f6025b1c3b75131b666022c210a2a5540ce7eab794b735e9() + { + $this->assertTrue(true); + fn() => (throw throw $test); + } + function testbb517ea8a26cdac2325955310e7e19b197460a890ac6f6ea016493e9978f4ee7() + { + $this->assertTrue(true); + fn() => (throw $test ??= $test); + } + function testbc4c8f609a9b5129ad81ed56ea4c4a29fe6d4000cd12606d4418cff00e959112() + { + $this->assertTrue(true); + fn() => (throw self); + } + function testbe6afe4e91c7ed904ada7b36e6367b9dd68652b65e982a96de7ba3cf787543fa() + { + $this->assertTrue(true); + fn() => (throw $test?->{$test}); + } + function testc0dad1fa5a5dc5e37ffb959648acf504af91208f0de766df985ead42cc223ace() + { + $this->assertTrue(true); + fn() => (throw @$test); + } + function testcdd0daad1a2dc14e7ec2f04d041d2439cfc7d838106ab247788322d8dee35839() + { + $this->assertTrue(true); + fn() => (throw ${$test}); + } + function testce04a3dc5a1052522f4e9fc74fcc1eb6e31f6a67ff7113dfc50c9502cacd3473() + { + $this->assertTrue(true); + fn() => (throw $test xor $test); + } + function testcf3a1aecc9d50f75009f3f5de5747c2becc44d1995ef5c36f392fcedbc21e67d() + { + $this->assertTrue(true); + fn() => (throw (array) $test); + } + function testd009238a468fe16495fe88631a8c6367b733a07b689741fc75491658293ea94d() + { + $this->assertTrue(true); + fn() => (throw $test == $test); + } + function testd49a1418dda27dbce53f6105f4b4b15832448547ad7e8e974683ba40ccc48cc1() + { + $this->assertTrue(true); + fn() => (throw $test instanceof $test); + } + function testd4d7eec4b9991638541c28fbd1769bbfc22bedbfe4812542266aa55729386a03() + { + $this->assertTrue(true); + fn() => (throw $test /= $test); + } + function testd8d80e73dcb9eb3878f9a03f780db5bd736f2494a5744266b18f8da7c9d58174() + { + $this->assertTrue(true); + fn() => (throw $test += $test); + } + function testd94228544fa7982479337d93e8df02214671b5a4585f6b209ae7a2769737dfa5() + { + $this->assertTrue(true); + fn() => (throw $test %= $test); + } + function testda90d1c7d052806cede70aa3e962bd3cdeecf69e85cf867a5017640b114a1a8f() + { + $this->assertTrue(true); + fn() => (throw $test *= $test); + } + function testde55d22816fc646ef079866bb527d3793930ff918bfe801ccf86c2fabd04fc31() + { + $this->assertTrue(true); + fn() => ($test ? $test : __DIR__); + } + function teste6508654c6385046fda63589e1a3915d2f14b52372c7c64c6368c015bfffa3f9() + { + $this->assertTrue(true); + fn() => (throw ++$test); + } + function teste7e3c18f7755b2ed65aa3295bc13897939b9c92a75d52110c59cac25087f0cdb() + { + $this->assertTrue(true); + fn() => (throw $test ^ $test); + } + function teste8299de4e3199f147edfbb045652490a7a7e59a600b8af67d1aa982cfe528e51() + { + $this->assertTrue(true); + fn() => ($test ? $test : __FUNCTION__); + } + function teste94a2ea64eeee604c7a80cb023574715d409fb5c410df385341edbe6f5a108e4() + { + $this->assertTrue(true); + fn() => (throw $test[$test]); + } + function testf6a77929e8291ef90cb10ee541f33902a8dd0fd38c0149ca5bc82fb5a511e157() + { + $this->assertTrue(true); + fn() => (throw $test ^= $test); + } + function testf84ca6a91c9c5bb1be414cde78ebd52feaeb6126f30251afc412be88a99e0bbf() + { + $this->assertTrue(true); + fn() => (throw $test->{$test}); + } + function testf9c035269282c895a8c9fafb0cfc6a00b701adc9e134c9cbaf3fdbb251f91202() + { + $this->assertTrue(true); + fn() => (throw $test); + } + function testfce091fcbc739f1c1026f8d5dbad97069ffb8f9aa462d2d8fe59e725da623f7b() + { + $this->assertTrue(true); + fn() => (throw $test <= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test.php b/testsGenerated/Target/Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test.php new file mode 100644 index 000000000..15f1f14f8 --- /dev/null +++ b/testsGenerated/Target/Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression2c09246a319dbc833bdb81f3e7b9579678676f113fb6738d27e3ca26d1638980Test extends TestCase +{ + function test00a3e1d6fb7b83d5d2d55a76c503709f0c803c79170d39c30e32b481c0de8126() + { + $this->assertTrue(true); + fn() => (eval($test) / $test); + } + function test058ee947596ba5887d32695f305a5130890aa94a631fc561040194c5c007801a() + { + $this->assertTrue(true); + fn() => ($test . ($test |= $test)); + } + function test07d34a1180b50e7336435fee371e533c0bd7693adc9a753cd35463e1f8062633() + { + $this->assertTrue(true); + fn() => ($test . __DIR__); + } + function test0ae97cd988ddba939cd2646621d3205c6274880a4dad993f0bc1b5b837e5a5b9() + { + $this->assertTrue(true); + fn() => ($test . ($test += $test)); + } + function test0bb78e536e48694f9f8e0627f500979cd4aa89521e1076540077756380062f57() + { + $this->assertTrue(true); + fn() => ($test . ($test ?? $test)); + } + function test0c3422ef41ded706c2d21add78be0a264e2fe236e312c2a9f88c045289ad85ee() + { + $this->assertTrue(true); + fn() => ($test . ($test < $test)); + } + function test0f138887dbe427665d1319c2eee524df735f1cced93a95d264acaa9fff281c68() + { + $this->assertTrue(true); + fn() => ($test . 0.0); + } + function test1344675dfec80014e2a32cf9cb9a8801b76abfea8f422afbd0bfc2355042229f() + { + $this->assertTrue(true); + fn() => ($test . ($test *= $test)); + } + function test1395b2f6637557a799400fd26039f185e703e61022b67d8103e12a9a752ea664() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() / $test); + } + function test13ea75c612b9b5071278488875330856aaa7d797d34acab8c49eaa558aa91baa() + { + $this->assertTrue(true); + fn() => (isset($test) / $test); + } + function test16920e4948a986dafc423441d983de7ae2fd9ba1def58a371ec60b9607abacd5() + { + $this->assertTrue(true); + fn() => ($test . (array) $test); + } + function test18f1c0f21949ca5fb283a698b775fb210f759abc2768d985c18923dbd08d2c81() + { + $this->assertTrue(true); + fn() => ($test . ($test <= $test)); + } + function test1982bc674cc1aa0aecbe1bce436903f6230f4ea39dca0e7625b79608b99296f0() + { + $this->assertTrue(true); + fn() => ($test . $test++); + } + function test1a822ce74a32751a849b8db6967a0d5fe77e316655e1e9284efb2ee5214a67c9() + { + $this->assertTrue(true); + fn() => ($test . ($test >>= $test)); + } + function test1bfe1c8696ba79a2389c5a1549844d92996e0314609543dfac4d4680ab6c4cee() + { + $this->assertTrue(true); + fn() => (@$test / $test); + } + function test1fe40233df78dd8b2cef5cf04ae43de9f2a982c20bf0e68fcce1c0beaee6b1b1() + { + $this->assertTrue(true); + fn() => ($test . ($test > $test)); + } + function test22f96172aba9d027681986fe8cce6dfc376209a8d3c7dc164750690528c3b58b() + { + $this->assertTrue(true); + fn() => ($test . (string) $test); + } + function test24d4650585a5a3cad093328a1b392fdc46eed8804b7a13b349b58c172c47cc46() + { + $this->assertTrue(true); + fn() => ($test . ($test . $test)); + } + function test25cd1b5b23887e604d55440541c305c0f7b748f8b3dff93b84f6f20f628d2571() + { + $this->assertTrue(true); + fn() => ($test . $test--); + } + function test282c540f91c06cf5a246f8678fa947fe69b6539543b9dce2c345e44c1dbbaa01() + { + $this->assertTrue(true); + fn() => (!$test / $test); + } + function test2b00c1082f2422a04fdaa68b04d62a5d004b83059109dfbd37d2e2b1f73f64bd() + { + $this->assertTrue(true); + fn() => ($test . ($test >= $test)); + } + function test2c5ac656bf4277bcf83188dbaea2ff043da6fe89c1398349dc8309ef75d9a0b7() + { + $this->assertTrue(true); + fn() => ($test . ($test <=> $test)); + } + function test2d22118a5fca26863f7c610e629bd33026674ff7a3474bb1646eeb6489a08eee() + { + $this->assertTrue(true); + fn() => ($test . (int) $test); + } + function test2d345a07346d36691bd21043eec5ffdd6491861c71a1f9f592fff01ad35910f1() + { + $this->assertTrue(true); + fn() => ($test . (yield from $test)); + } + function test2e0b7af4c36ed7c0baf67bd3bbc2bdf200b5dce5bf9708b645286dbfa810345f() + { + $this->assertTrue(true); + fn() => ([] / $test); + } + function test2fc176d25641c2ad34c0f94cb60f16c89f511f1dc9293fe72ce1badf012f7d7e() + { + $this->assertTrue(true); + fn() => ($test . "{$test}"); + } + function test32ce28ac9f2db0d604bc540ee15ff334e8a524d2f39fce46a1e3292bce8290a2() + { + $this->assertTrue(true); + fn() => ($test?->{$test} / $test); + } + function test345e6dc6e51c14566487a199bf7b8bc1fd712c5ffe528e28ecb8b938a0fc795a() + { + $this->assertTrue(true); + fn() => ($test . ($test && $test)); + } + function test3873ea48b6c9f6017d7ebea1c29842cb2bb75d507c5913433b73c149fb601152() + { + $this->assertTrue(true); + fn() => ($test . ($test **= $test)); + } + function test3916b2a966e0e50a06fd45bdc607d30c537cd7825e6f388fb7026f2db088605a() + { + $this->assertTrue(true); + fn() => ($test . $test % $test); + } + function test396b7a4b0cf9bbfd3589cc24858554b43d77a9d78265769d1a7206790c63640f() + { + $this->assertTrue(true); + fn() => ($test . $test->{$test}); + } + function test3c54be8065819e5bac2add7d56bf4ff64e019d81d61fb1250b22672141fcc0e0() + { + $this->assertTrue(true); + fn() => ($test . __FUNCTION__); + } + function test3dc7e7af5c819aeeaf8bd6fe1cfe34d9827821bb39474ca1a02976e32aea8aa0() + { + $this->assertTrue(true); + fn() => ($test . ($test >> $test)); + } + function test4194b6006e1ef69e733d64f60eafcea443852b1f06a2e754614434ffde37295d() + { + $this->assertTrue(true); + fn() => (~$test / $test); + } + function test41959e172e8aa233756ff1e5f2fd0a15763c4ffe0fc9b7ea40e971aab7a358c4() + { + $this->assertTrue(true); + fn() => ($test . ($test ??= $test)); + } + function test43afab8f5a607a282926b4029e992b356d139726f4caeddcda461445eb83230a() + { + $this->assertTrue(true); + fn() => ($test . ($test &= $test)); + } + function test446059e51f70585db956cca83499b8ccf157fb3a07100b1272d3b47662fa14e0() + { + $this->assertTrue(true); + fn() => ($test . __FILE__); + } + function test47a3ba12950d77648ddb39e5416a71f68cb3a86f9a9623bdf8c5651e25f21eda() + { + $this->assertTrue(true); + fn() => ($test . (double) $test); + } + function test4955fb1d1c92d65173b8fa7d782ca6dcfd5901a40bbafe1c8949b88ec407ddb1() + { + $this->assertTrue(true); + fn() => ($test . --$test); + } + function test4e1b5369356fef9aea6cb2dd07d91bf349ccc74995eb522e0d243eb7b3e48608() + { + $this->assertTrue(true); + fn() => ($test . ($test <<= $test)); + } + function test4e3fa674ff2a36fd52ea55b34a2b4cfc17dfe92694703f6b902f4e5de3c91434() + { + $this->assertTrue(true); + fn() => ($test . __LINE__); + } + function test4f7bb9645f48caf702d917abf3e1aef171afaccdfe2c126aef64aaae054cbce8() + { + $this->assertTrue(true); + fn() => ($test . ($test ^= $test)); + } + function test50ca2054dcb52d6cd87f0a2b721d594cd2d09b98988581a427a32a1abed54ad1() + { + $this->assertTrue(true); + fn() => ($test . ($test ^ $test)); + } + function test55bda07b890a66b5c6e35cca374f9418fe98f02fbbe6e86a8508ae2afd5fccfd() + { + $this->assertTrue(true); + fn() => ($test . __METHOD__); + } + function test572ee030def654d105ca1bf1742ee6747d9cdb05e02cb9d812a5e550dc5686bd() + { + $this->assertTrue(true); + fn() => (clone $test / $test); + } + function test588a329a77545c290e03fc26ff60bbb7c955e1771c6ef7d1bca814d0dda9c6b8() + { + $this->assertTrue(true); + fn() => ($test . $test ** $test); + } + function test5a4cd517d8f96b7cf0cb0e01adb3d5f459d94b126b3d4cffccde1ca5891fd136() + { + $this->assertTrue(true); + fn() => (( $test) / $test); + } + function test5c292bd2cf517358a5236f67273391c1edbe296af7b45b074571b5da0eef2616() + { + $this->assertTrue(true); + fn() => ($test . 'test'); + } + function test5c465f024832fae79d140368691be8c0c7d2e7666e231d06a72fc706934d6e33() + { + $this->assertTrue(true); + fn() => ($test-- / $test); + } + function test5e0a7796537b1a0f8641b18d3934e3e611b801fd318bed7285472d68364b15db() + { + $this->assertTrue(true); + fn() => (($test =& $test) / $test); + } + function test65c539af1abe6ff53ea0a879ec5c155aab1fc0f271fe53f655a6bf7dd502616c() + { + $this->assertTrue(true); + fn() => ($test . __NAMESPACE__); + } + function test6682c9102125fd27c79d715fe846820f9d2eba5b6bd52909554b2801756adb29() + { + $this->assertTrue(true); + fn() => ($test . $test * $test); + } + function test6933c3244411e4b65d426ffd6782b0f9e6fc5d7bf048b9a86cdffb26c7b3e2ad() + { + $this->assertTrue(true); + fn() => (self / $test); + } + function test717d4011b130d48ef88498c0df0d281077147f1e223b2454c0ffb0cd7aec469e() + { + $this->assertTrue(true); + fn() => ($test[$test] / $test); + } + function test7263943a971adb2024f10cbbd562f0e51b26a325affbeeb2ea008048a69bdee5() + { + $this->assertTrue(true); + fn() => ($test . +$test); + } + function test7852192a1ab37b17b16c44206b733ed98994f1bafee38c9c8fecc13064521e38() + { + $this->assertTrue(true); + fn() => ($test . ($test ? $test : $test)); + } + function test7add50121abef772043d102b861f698509f78abd8ad977cb1c24f1737bda9cc4() + { + $this->assertTrue(true); + fn() => ($test . $test / $test); + } + function test8826a7f293acaad569a41e30507c3a82376bf84eade9e55698bd356ad99bc553() + { + $this->assertTrue(true); + fn() => ($test . ++$test); + } + function test88d3ba689ea6706d9de21812ad3afdcba52aa4f92bc8dd84ed3d1d12e2fb209f() + { + $this->assertTrue(true); + fn() => ($test . ($test & $test)); + } + function test890cb4669abf075f5f0c3cd9a7faae5d0eb4bce7afb47ee252ac17fb1adc395f() + { + $this->assertTrue(true); + fn() => (function () { + } / $test); + } + function test8cda66a9231ba919079073aea86fe11704226f3e8380359c5fb6b1344fe42c69() + { + $this->assertTrue(true); + fn() => ($test . ($test << $test)); + } + function test8d892d2a8f8509f4dbe8bc5ee810cdafe7a45596c9c51f85a9335164a57ba7c5() + { + $this->assertTrue(true); + fn() => ($test . (bool) $test); + } + function test8dfc0314587ccf98e9991e4266a93c75e4d2f00d9717d613c6cfa230314fec1e() + { + $this->assertTrue(true); + fn() => ($test::$test / $test); + } + function test956ded35045daa3242b0f1da099e40915e6d07cf5e863aab2a32f27e6bd30964() + { + $this->assertTrue(true); + fn() => ($test . (yield $test => $test)); + } + function test9b709deb48ceee261a3bb36494a8764293a759901ac23cf95cfddfd3eb3c93d4() + { + $this->assertTrue(true); + fn() => ($test . ($test == $test)); + } + function test9c5ce568a3566c011e26eadea51f2074bd889a6d569c49a3fa0b2c64f67a0347() + { + $this->assertTrue(true); + fn() => (($test = $test) / $test); + } + function testa03eaf43d81e58cb7bbb2b224ea5db370da6be25ad04951af1f8766dae364478() + { + $this->assertTrue(true); + fn() => ($test . throw $test); + } + function testa396a85f605eea51a0cb3a1b489383d7327ed03b2fb54b5e52ff2e90dd9a3041() + { + $this->assertTrue(true); + fn() => (new $test() / $test); + } + function testa8406563b222a823dae9191395f51b3086a35a82950b6dd0780fb922406fba69() + { + $this->assertTrue(true); + fn() => ($test . ($test -= $test)); + } + function testaafff63fac874d64139d45ac533a9197e350f97d0d6e3e0e4acb900597b110ad() + { + $this->assertTrue(true); + fn() => ($test . ($test - $test)); + } + function testb5c734e4d062b9546212610770584627ec77f9977892830cec3c37d173fb3d9e() + { + $this->assertTrue(true); + fn() => ($test . ($test != $test)); + } + function testb92cfe211ef249849f78e876d778d2d36ebce9333820df5bc61e58e10f665bf6() + { + $this->assertTrue(true); + fn() => ($test . ($test || $test)); + } + function testbc60182255a017d73f7210241bf1e6d6278110e0e21b5e571ecbf0014f4990db() + { + $this->assertTrue(true); + fn() => ($test . ${$test}); + } + function testbf08b80dbab1d2d91cf8283d84e51df49ef69ff5c1627183416ebbc42f117bf7() + { + $this->assertTrue(true); + fn() => ($test() / $test); + } + function testc01cb1b3209cbadda73aaaaf03dd53f62b379af8d3d4e66145cae7e680cd3f5e() + { + $this->assertTrue(true); + fn() => ($test . $test::${$test}); + } + function testc6ac33de47d17a1eb4e2186e3ec3848c7c716d28f2cc77a6e8950ead0f8edc27() + { + $this->assertTrue(true); + fn() => ($test . __CLASS__); + } + function testc7e99090a852b3ca14b725b4f8b99b213f814b3c8d6630e8b55238b7f361f41c() + { + $this->assertTrue(true); + fn() => ($test . $test::$test()); + } + function testd12f4dbe9aa0316d5fe5e4632bfd769ee7fe53b4a8ce24041e38062d72f1fc31() + { + $this->assertTrue(true); + fn() => ($test / $test); + } + function testd32ce2bfc9677287fb8f63494af74efbcadc8a376889b3767f972e178dd05c3f() + { + $this->assertTrue(true); + fn() => ($test . -$test); + } + function testd47bb1838e6a11c60b8d33bed38071cc10ef865079482900db59c1cbf3af2ddf() + { + $this->assertTrue(true); + fn() => ($test . (object) $test); + } + function testd6eadb4b6b0761c0943f5637fdc8c8315a30440e67799121071e631708043106() + { + $this->assertTrue(true); + fn() => ($test . ``); + } + function testda2c3bc0fa36ebc926cdd06e8f2853e41d149e0fe164604099e2af483832f7f7() + { + $this->assertTrue(true); + fn() => ($test . 0); + } + function testdbb172819f8a14ca66fa0396316a3fc12517a8a0985f41693b3041eaa68c0d56() + { + $this->assertTrue(true); + fn() => ($test . ($test %= $test)); + } + function testdd0136098a810fe7baecbec95e771da0ec494d583440af2d7997ed26a8731def() + { + $this->assertTrue(true); + fn() => ($test . ($test | $test)); + } + function teste0e00eba30c10fda666a93cf0a835582dff670e0b56a7356906ec0e7cae7bc94() + { + $this->assertTrue(true); + fn() => ($test . ($test === $test)); + } + function teste2be12e8a558c5fdbfce8e2c82c6693903749bbaac807de3cc2dc8b66b5ddc82() + { + $this->assertTrue(true); + fn() => ($test->{$test}() / $test); + } + function teste7066aaa11a5c4a3c7645b8f59976046ea96c0bed38df0a459e4dc4d69332102() + { + $this->assertTrue(true); + fn() => ($test . (print $test)); + } + function teste8e4885ca19cdf04281b0dc812fba87096d285a631b15d81ab37427b82d8a1b4() + { + $this->assertTrue(true); + fn() => ($test . ($test /= $test)); + } + function testea751300d3a82f047d97b661e7129db06509756a49cfa85b705bf86f4e75f60d() + { + $this->assertTrue(true); + fn() => ($test . ($test .= $test)); + } + function testeb60940ac86b40399561d5dbb6460e42ccadb8694804b7718ca641668bd359db() + { + $this->assertTrue(true); + fn() => (empty($test) / $test); + } + function testec3517f5408f9ce4672b778bcd545a1fe3189a273770ad212059bf20624eac63() + { + $this->assertTrue(true); + fn() => ($test . __TRAIT__); + } + function testee7dd4327c5ce1f5476bcd262461774008c3af212802c11b992635e7564b982b() + { + $this->assertTrue(true); + fn() => ($test instanceof $test / $test); + } + function testf0f198c579aa07922a72a1fd2f310aee3a8dc330fb7d88cfd205026ad799f412() + { + $this->assertTrue(true); + fn() => ($test . ($test !== $test)); + } + function testf0f9e7c46e787e96a3780d408a533f7674ae3639038a05c5e89c44c881b5c270() + { + $this->assertTrue(true); + fn() => ($test . ($test xor $test)); + } + function testf5d5c4268c635b477e7e5196a2a742cd2d61442db2e976b755e1b742ea85a077() + { + $this->assertTrue(true); + fn() => ($test . ($test + $test)); + } + function testf70e22e304a2dd6d6885298dca41dc4ccd2ea69480cf78a06aaad4a96c5ee4ef() + { + $this->assertTrue(true); + fn() => ($test . ($test and $test)); + } + function testfaa4904d9b4f92c541174c2aab0a9b681d7c910db98169f85b83c7c6661a2fd6() + { + $this->assertTrue(true); + fn() => (match ($test) { + } / $test); + } + function testfc21e2405c60eb266fab05dab2cf2beed63de0a89842679ccba7152e08f5ffc9() + { + $this->assertTrue(true); + fn() => ($test++ / $test); + } + function testfc6236ba354b102bec5a4ee6a53233e1b554d1d74f2fea2a6ca28f8ff3f8dc30() + { + $this->assertTrue(true); + fn() => ($test . ($test or $test)); + } + function testfd92a6d03c2a5360d3507ab27df23a5cc57498aa0353586bfe6e814b2a838dd7() + { + $this->assertTrue(true); + fn() => (--$test / $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php b/testsGenerated/Target/Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php new file mode 100644 index 000000000..68c95392b --- /dev/null +++ b/testsGenerated/Target/Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test.php @@ -0,0 +1,513 @@ + + * @license MIT + */ +class Expression2c0b05c5769f50ca967468b81fe1b0f8dd22e88a509e71533a6c2b1a2b8c7d01Test extends TestCase +{ + function test006229d4900b16655b8e776283d918bac580720be60007d7f695f165a3b462a2() + { + $this->assertTrue(true); + fn() => ($test .= $test %= $test); + } + function test00772fbde4bfbc1f95e10c94726fae22c120a0bdc5cceb51ddae7a276baf970c() + { + $this->assertTrue(true); + fn() => ($test .= throw $test); + } + function test04fbc776ea30fd41370b2678aff42b530f492f7a15c67e841aa68435e2982d6c() + { + $this->assertTrue(true); + fn() => ($test .= $test <= $test); + } + function test08d43c73f38ab08901f6ed46ceaca3acc60b18ba5351522266b318b40054fa5f() + { + $this->assertTrue(true); + fn() => ($test .= new $test()); + } + function test0de69afbb6ee50d116c9556555acd5681ae536540c724b0e4fb365a8b683aab5() + { + $this->assertTrue(true); + fn() => ($test .= $test |= $test); + } + function test0e81bf71afed943eb0ad0ce9e114a0f92b7b9903c39d898faec722f7795364bf() + { + $this->assertTrue(true); + fn() => ($test .= $test == $test); + } + function test0fad5911dee8aad1b6c114c1da5e4b40175484eeed3534d958f976bd5fecce52() + { + $this->assertTrue(true); + fn() => ($test::${$test} /= $test); + } + function test0fb66d92462c48d07f5c574d45280a8d986855436eb1853601bfb22d22866c22() + { + $this->assertTrue(true); + fn() => ($test .= $test ??= $test); + } + function test19300c9ad7ac704a5c2aaa969eb93d1ad6e3a87b35865fb51e8c7f5e9708802b() + { + $this->assertTrue(true); + fn() => ($test .= $test); + } + function test19d3a5aad503dad2706a43a928491334b95d2b1c5e263d4d3848964e45a7767b() + { + $this->assertTrue(true); + fn() => (~$test /= $test); + } + function test1d66546c24b02141a55d23581849963447d59ed8f751a82dc937f371b1556ae4() + { + $this->assertTrue(true); + fn() => ($test .= $test < $test); + } + function test2275a6c2adb2a03cf6d8219554d4a856fac449d6c73fe46ff438a285cf6e774d() + { + $this->assertTrue(true); + fn() => ($test .= $test::${$test}); + } + function test2625e94637c01c26c2a7bfdb9e92870456d080207129a36eaf07fedb4ad3bf61() + { + $this->assertTrue(true); + fn() => ($test .= __FILE__); + } + function test29bea9f8546b6ba94392012d515e0fdf6b0ab9b3462f00d2d808cb6ebd331b4a() + { + $this->assertTrue(true); + fn() => ($test .= $test ?? $test); + } + function test2ddc3350dde1c41f0aec2452eecd5d621115c73a84345f14b8141f7ed43d88d1() + { + $this->assertTrue(true); + fn() => ($test .= (double) $test); + } + function test3122290605048214b665520508c0ed3b06b28cee3a92e1ae3bbcae8edbff68ab() + { + $this->assertTrue(true); + fn() => ($test .= __TRAIT__); + } + function test31a4631e51597c56da7ba512162af274c0d779d67524e6df0d6a25920150e602() + { + $this->assertTrue(true); + fn() => ($test .= $test != $test); + } + function test33b07089937b25c0e8bde6f53532ef9c33b3654374b5f27aa0d04d8155b44d4f() + { + $this->assertTrue(true); + fn() => ($test .= $test - $test); + } + function test3706a51fc748477256de02d03750606934cbc8865f470ccafc96da83f6aa55bc() + { + $this->assertTrue(true); + fn() => ($test .= (yield from $test)); + } + function test384c2a69f5f18639531d9f2de346131c0c05a7fe7d0fe6326d4832826c19d646() + { + $this->assertTrue(true); + fn() => ($test .= ++$test); + } + function test3b492908aa8e8b1e884cc35b398f0c838b97a9768a8eaa0517d1840b67024913() + { + $this->assertTrue(true); + fn() => ($test->{$test} /= $test); + } + function test3bddb9698181fe35883b1731d9c570a708c9338c12b08a1531026cb9e13f7c71() + { + $this->assertTrue(true); + fn() => ($test .= --$test); + } + function test3c1b93bd2d4fc1480d3c494b0fd43fb9358fea471c2d80143502d17b326b91aa() + { + $this->assertTrue(true); + fn() => ($test .= $test ** $test); + } + function test3d299ac9a7a4498c6cb57226a7847a27fa4ef88c710c1de98ec6f412e1feaf77() + { + $this->assertTrue(true); + fn() => ($test .= $test ^ $test); + } + function test406b01fd3502187b713c25c1574b17fbb6c254375341742f1f16ac20f6040034() + { + $this->assertTrue(true); + fn() => ($test .= $test /= $test); + } + function test42cba10eb4030cd412597daabb7adc8a8bcf2bc7f310d033796766b2ec70743e() + { + $this->assertTrue(true); + fn() => ($test .= ``); + } + function test48b14fb35d5d722bb3140c37e62f500ffa8f3b340bb98c9b19731ed3aece3800() + { + $this->assertTrue(true); + fn() => ($test .= $test >= $test); + } + function test4b1780a1f689c15cf9d857c6c355424a982fa1b3468c02a4bdcdcbfffa1b5952() + { + $this->assertTrue(true); + fn() => ($test .= match ($test) { + }); + } + function test4b58754ca50cbf223909fb1e9d34b6553ace80e8c52d00f4494da452b5b29904() + { + $this->assertTrue(true); + fn() => ($test .= $test::$test()); + } + function test518113caf73ee4785f1bdf38c9c2ff1be6d7bb972c6aad3622e064a506b043d5() + { + $this->assertTrue(true); + fn() => ($test .= $test && $test); + } + function test5189fb5a8392a767bc74d787e7803ef1608239cd36507e8c6b5bd11d2cefd44d() + { + $this->assertTrue(true); + fn() => ($test .= $test & $test); + } + function test56ac162cff2c3f437ccc7d24f3c159c1dfee5e83ebfdff39cf372dbf8e371782() + { + $this->assertTrue(true); + fn() => ($test .= __LINE__); + } + function test5a1d5c7b0fe59304768adf3071467af1a9b4a96c6ffdd98c10a48311e8bbe288() + { + $this->assertTrue(true); + fn() => ($test .= $test / $test); + } + function test5aad9d3a5ffff9c43da07fadd6f2c4230294fbe587c9cab488f11e0617d921ab() + { + $this->assertTrue(true); + fn() => ($test .= $test ? $test : $test); + } + function test5cfe153cae80d0dc3a6f3c4a0a0138eead33b6289b34e0171d9dc50fcd01361e() + { + $this->assertTrue(true); + fn() => ($test .= @$test); + } + function test63cc06fe89028451a7473b998959962b44a50fb78b20bf36b6285bc1335075fa() + { + $this->assertTrue(true); + fn() => ($test .= $test->{$test}); + } + function test65d81c29c3a1d2955db027f7607467b83af80765af7080f30cf24c32cc1e25d2() + { + $this->assertTrue(true); + fn() => ($test .= 0); + } + function test6854bd3107b56ac91b1904f5231081b05d2c89021a6b99e92a1e80398e7ce1c6() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test /= $test); + } + function test68d00d07b7de86f79fb329d5c5ed84559ebf2760c562ba7394ff5a62cf05094e() + { + $this->assertTrue(true); + fn() => ($test .= $test | $test); + } + function test697d5ad2088cca073d0ba0e98ab352d634ec2ae3e59d26504ed54d2b877f882c() + { + $this->assertTrue(true); + fn() => ($test .= ${$test}); + } + function test6bd5dbdd236c3f0d20f36d23662e8beab4d860fe29628319629b3bff58db8d53() + { + $this->assertTrue(true); + fn() => ($test .= empty($test)); + } + function test6bde304b76813e0ced100790cb7a6a2b118cf81e18c5eba742ea6d084defb596() + { + $this->assertTrue(true); + fn() => ($test .= $test->{$test}()); + } + function test6e9ce7c014bd2d83e83022ced43f778fc5941127eba30e453789cea69a514b1e() + { + $this->assertTrue(true); + fn() => ($test .= $test <=> $test); + } + function test753fa5b05e18341927a50b8c5e8f9c7de2927c84cafc670c661712d003cf604e() + { + $this->assertTrue(true); + fn() => ($test .= $test !== $test); + } + function test7d9334dba43467705e255aac84ba4a43ba83c6ce61cc71ba2b07ec8b54879aef() + { + $this->assertTrue(true); + fn() => ($test .= $test()); + } + function test7e5451760d67d2d846643ce7536405f8868aaf84f58fc7634df34568b2c38cfc() + { + $this->assertTrue(true); + fn() => (clone $test /= $test); + } + function test7ee676adc33f6562efd996aa270f6573618135cf9128f1e42a6155512319da3c() + { + $this->assertTrue(true); + fn() => ($test[$test] /= $test); + } + function test7f3ebf0612f6598f7886ed534531abaeca4f309fe1216ef5b71598dd464a0a53() + { + $this->assertTrue(true); + fn() => ($test .= $test >> $test); + } + function test820562fd19fc1c9a05edb6cda124754eb185d2a30d81bf255c5340ff40a054c1() + { + $this->assertTrue(true); + fn() => ($test /= $test); + } + function test827873e58288daa69063fbbf2fd801a3a0d899c498ae635191722b0e8da892fe() + { + $this->assertTrue(true); + fn() => ($test .= $test += $test); + } + function test86dd200a779e4a017f86c3fae929e3a66be0f67813f76e3ca83ec1ed91768cee() + { + $this->assertTrue(true); + fn() => ($test .= $test?->{$test}); + } + function test8979b1ec3fab6d7d5dd069d88b497ee7b827a88c91ba4ee4a772945a28a78a1f() + { + $this->assertTrue(true); + fn() => ($test .= __CLASS__); + } + function test8d3e451884d8f248d20aec880075227bca73a6825e2976c1b8c72358e4254fa9() + { + $this->assertTrue(true); + fn() => ($test .= ($test or $test)); + } + function test8fa0a70d6188e913650aab1c81cad09be2e62f9b269bc2e89368afdde0ed98ab() + { + $this->assertTrue(true); + fn() => ($test .= (int) $test); + } + function test91cc0f1e9f1ab9c92be3a476393adccc92b9663a87d82cf0e2103a7dc7f47d36() + { + $this->assertTrue(true); + fn() => ($test .= $test % $test); + } + function test94115fb6ee61caea198e0db1c1d5cf0221f8a9014c1451f5d72753fe3cf5500b() + { + $this->assertTrue(true); + fn() => ($test .= ($test and $test)); + } + function test947521018249aae28ae431cf24352d79e5b2a5f9f36e6b2d9bb73fd46fcd8ea5() + { + $this->assertTrue(true); + fn() => ($test::$test /= $test); + } + function test949a722e0d269abf5a6a0194623798bde17041cc0572f4c00c669dc4eb70a058() + { + $this->assertTrue(true); + fn() => ($test .= $test &= $test); + } + function test97eecb834830b3652b32329f6afbf75cbf59d98b363c52c9fe5c27aac501f384() + { + $this->assertTrue(true); + fn() => ($test .= 'test'); + } + function test9899e3329a8db17de79ac41aafdd8ea6bac9ad3150c73a0a54b130144a50004c() + { + $this->assertTrue(true); + fn() => ($test .= $test ^= $test); + } + function test997fbeb4a918d555288c68e4b620865678a41a55927f0ce21e3765f7e7cc0c56() + { + $this->assertTrue(true); + fn() => ($test .= (string) $test); + } + function test9caec1e17c1451ff80e9f91962786bd26e5db08c844aee1236ff005f1eafdbc2() + { + $this->assertTrue(true); + fn() => ($test .= $test === $test); + } + function test9cb6e82b7e8c473914704a015cebff3787e6744fe24410bac6d6d324be3969d8() + { + $this->assertTrue(true); + fn() => ($test .= (print $test)); + } + function test9da58e1ea5c30d60d54e3276e5a52b5a83057dc120fa840979c930979ac69bfe() + { + $this->assertTrue(true); + fn() => ($test .= $test?->{$test}()); + } + function test9ea7712264401d9b3d4a9de59f4c23e32274ccdb3d9cf66ca59d20d0bde8068d() + { + $this->assertTrue(true); + fn() => ($test .= $test << $test); + } + function testa1f654af9e1fb25bfa40d3b19686f3b0259febbab8c025ae0e774cfa099ecb3b() + { + $this->assertTrue(true); + fn() => ($test .= "{$test}"); + } + function testa4f70ab82e47b8eabe3952020ae70c210e886f6d5dd9176594821bccaa113a03() + { + $this->assertTrue(true); + fn() => ($test .= __DIR__); + } + function testa60ee32ee1642714c3185dbb351f4ab002b5e717141288a3bce00f7088b46b61() + { + $this->assertTrue(true); + fn() => ($test .= $test -= $test); + } + function testa6233a31d79779925753fe0d59357bb0add633d62d050454563a3a961840ba7e() + { + $this->assertTrue(true); + fn() => ($test .= self); + } + function testa7bf63d5166c9d8a949245f28f427dea823c31f8e6d4eca58e61e4ecae35dc24() + { + $this->assertTrue(true); + fn() => ($test .= $test++); + } + function testa80b02b6bb97329ba82c493fb473fe237e88239e8f15b5f55417cb2211e4b737() + { + $this->assertTrue(true); + fn() => (@$test /= $test); + } + function testab18f0db69917251db668dc19ce9f24cb41612160ebbb6e1efa2d98520b649a3() + { + $this->assertTrue(true); + fn() => ($test .= -$test); + } + function testb4ab51cfce4ba5ef388a4ec31269452fe9309e2af97b53729b138d91133571a0() + { + $this->assertTrue(true); + fn() => ($test .= isset($test)); + } + function testb65c714cd9d7998c0d41faac06c0e9f354bb2316a61143b4379adfa69b38b854() + { + $this->assertTrue(true); + fn() => ($test .= ( $test)); + } + function testb7a8b89b7037340750a21aea0cfb001fd8e0c6c266f249e7764f4671ac303e55() + { + $this->assertTrue(true); + fn() => ($test .= 0.0); + } + function testbd28e6a24b84b4834c14ff8e5c031a912125a747e5f07677d547129bfd86bcc1() + { + $this->assertTrue(true); + fn() => ($test .= __METHOD__); + } + function testc062a0046f8525ace2d4b27ea30cc81b31ad08f69bdb24d04a38f86789596332() + { + $this->assertTrue(true); + fn() => ($test .= $test * $test); + } + function testc0cb59d26df0bb027d9beb24c5c10171d7eb6153d7a1466cb45f5d35b5c8a327() + { + $this->assertTrue(true); + fn() => ($test .= $test **= $test); + } + function testc1fd376693813e8c4042dd0e5baa22c9c6dcba835a80f9e311e253ae697c0175() + { + $this->assertTrue(true); + fn() => ($test .= __NAMESPACE__); + } + function testc31a8d82134a7006140e37640b4459e0347888deddf96c011a1d73e1b688a294() + { + $this->assertTrue(true); + fn() => ($test .= (array) $test); + } + function testc44bc48b3275ea1ed374476d57c3a8467c3a7d49062a18ec2fbb83c9abcb5010() + { + $this->assertTrue(true); + fn() => ($test .= $test--); + } + function testc9e6f862607ca25faa96bb9e89a3e44caaf85481afa8a72cec4681d8aaeb0562() + { + $this->assertTrue(true); + fn() => ($test .= $test <<= $test); + } + function testca3d2109341ac51081cae0ba0e5b09283b761537b5a5d7c938153517fc77b60d() + { + $this->assertTrue(true); + fn() => ($test .= $test *= $test); + } + function testca3f940ed2a862ccaa2225776bf2c5683e8ff0520abf8ab49659a2666d0ff375() + { + $this->assertTrue(true); + fn() => ($test .= eval($test)); + } + function testd1c6a69316d847ca3e9842706a9823e696168ced9322927ff6e4ef18b03c39d2() + { + $this->assertTrue(true); + fn() => ($test .= $test >>= $test); + } + function testd4d7eec4b9991638541c28fbd1769bbfc22bedbfe4812542266aa55729386a03() + { + $this->assertTrue(true); + fn() => (throw $test /= $test); + } + function testd7bf06d022abad602fedd9c83da330075e5b8caee005c2539cff08b262392613() + { + $this->assertTrue(true); + fn() => ($test .= __FUNCTION__); + } + function testdbb3b247693b00a90e366fc2d02f5905dd1b2b230fd3a3408d4ab80006091fa3() + { + $this->assertTrue(true); + fn() => (-$test /= $test); + } + function testdc206464fde8cd2142e24c132093631c3c6336096e5c2e46a3af2a35eada97c7() + { + $this->assertTrue(true); + fn() => ($test .= (bool) $test); + } + function testdea39e256fc9009884b927c86dabe457a266f9ba3e8c7036f506579689249715() + { + $this->assertTrue(true); + fn() => ($test .= $test . $test); + } + function testdf6db266d7fc34e0121583defb52d4df6b955f99d30926d7fb08cddb693455ea() + { + $this->assertTrue(true); + fn() => ($test .= $test > $test); + } + function teste1617b8a4b59d1e3dbaf2075271de9cc658577836b63b6e943309609ccf0855a() + { + $this->assertTrue(true); + fn() => ($test .= (yield $test => $test)); + } + function teste227d13b78f6e666201709f35102bd07cb0370e9da5860cfb66f976a5ba1b1e6() + { + $this->assertTrue(true); + fn() => ($test .= ($test xor $test)); + } + function teste3473f91a28cc1f36e01cac6f677ac83888b84c6e9d156cd58fcc5fdced4bd66() + { + $this->assertTrue(true); + fn() => ($test .= $test instanceof $test); + } + function teste39f0e9480fe8ae237aeaf03eac9f61f00d4cd69d13a9c911a47b7c3097ac753() + { + $this->assertTrue(true); + fn() => ($test .= (object) $test); + } + function teste57da905a1f6834d9aa7497e7681efc04e06ece37896f02543bf6dcb09bb2bf1() + { + $this->assertTrue(true); + fn() => ($test .= $test .= $test); + } + function teste6c8b4ad556b6465cc408de9462e815201cbb48592c1280d6f610f1c6cf09ec9() + { + $this->assertTrue(true); + fn() => ($test .= $test || $test); + } + function teste9bac80fa7575134eb745aea55f70b479e08b9e3e547b858a15b93858c155d63() + { + $this->assertTrue(true); + fn() => ($test .= $test + $test); + } + function testf1f34c4906f07b6b02bc8167f6e3c5da03d555fc5cc443e10894c59fe186b320() + { + $this->assertTrue(true); + fn() => ($test .= +$test); + } + function testfe187b26d902df58471365a37f06c39d23bee1ec53543e8b5959928ed0014241() + { + $this->assertTrue(true); + fn() => (!$test /= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test.php b/testsGenerated/Target/Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test.php new file mode 100644 index 000000000..dd2057ca1 --- /dev/null +++ b/testsGenerated/Target/Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test.php @@ -0,0 +1,546 @@ + + * @license MIT + */ +class Expression2d07d9e5f211b281763780c8ea9894fc624fbbd117192a32b50ce0767d7b6f14Test extends TestCase +{ + function test00b037dcef44c613bfa47a41bf1900e8496946dbd1d2226304a6c600ffc9cd4c() + { + $this->assertTrue(true); + fn() => (match ($test?->{$test}) { + }); + } + function test017a5f8b1f3eacfba5022a2032e0ed001a1e9a6340f80294c305c8c5d22aa157() + { + $this->assertTrue(true); + fn() => (match (clone $test) { + }); + } + function test03c9386dda65e26b4525376b2de76c5a75e63b821bd27ba1d31f40993c750aaa() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test ^= $test)); + } + function test044780fd2dc3e7c695f9b7aa65234c75caac913e3076c09ef9d1d129351661ab() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test * $test)); + } + function test0534e33a9a814bc125d4be28b65fb8b894a734ace2b790bcc8ebe1ab58153037() + { + $this->assertTrue(true); + fn() => ($test instanceof ((bool) $test)); + } + function test0631b2cbbf5164dfab23bd9138be0068074b8eed35d6133a3358085f612969fb() + { + $this->assertTrue(true); + fn() => ($test instanceof (__NAMESPACE__)); + } + function test0b10b9571075d6e30ad6d66bc412798503792351e2b7299c08c057e73d3db224() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test %= $test)); + } + function test0bd019cd00dab7ff1fddb59d84140c87ab4ac8ade900fbcc82e7a2a20d4d9b29() + { + $this->assertTrue(true); + fn() => ($test instanceof ((int) $test)); + } + function test0c0d52aaf34d9565fc0ef55318b4612e1b7b527ff320b12086156227e172d905() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test > $test)); + } + function test12684513945c2ad5f4e1e994aefbce9ca722283d25d24b3d54bc45505cfb2d7e() + { + $this->assertTrue(true); + fn() => (match ( $test) { + }); + } + function test1665101f48757954b386a33c4ae4afe58a40eac2d901e010414a19b53dbd9fd8() + { + $this->assertTrue(true); + fn() => (match (empty($test)) { + }); + } + function test1746b68abcc8e7dcb30c6a22020fb663e461df0ebc1838fa528deb57b4d67f27() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test or $test)); + } + function test185270849ce4f6d4da56ad980f4967ce11f61e82f00d614ba2423237e8d9da4d() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test /= $test)); + } + function test19784fc5eded40108b959f413e8b692432e4c6ed7c810490aaf2fc704b77a1a2() + { + $this->assertTrue(true); + fn() => (match (match ($test) { + }) { + }); + } + function test1b8fba08720d4ae6b458bc8e169ea008deef2cbe09e1f065d9bcd324b20f60ef() + { + $this->assertTrue(true); + fn() => (match (new $test()) { + }); + } + function test1ea78fca12b79349d1ba9ca05d9e07e7fea9c305a83643e1fe17c03c436ad3a2() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test **= $test)); + } + function test1eaebb86698acf358826982b41e9a421360efad9222d27093971baafd0fe1ba4() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test >>= $test)); + } + function test1f1482c4095c45c6cf77ab59410e713ca0b5a44677fab7581fe3a09e354a95cd() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test and $test)); + } + function test2372cc97a8e9fa57d03f58a4ab2f58e5e99689f75f824bb43ff09c3d67cbb450() + { + $this->assertTrue(true); + fn() => ($test instanceof ((array) $test)); + } + function test25e3e66596f639612d1a4402d1c7b72f595f13b205be3d71e8a08719a7c334a9() + { + $this->assertTrue(true); + fn() => ($test instanceof (__FILE__)); + } + function test2692400192cf11aa1ed3de82303fa06d56f48e137a841a3f78e76c2d58fb0090() + { + $this->assertTrue(true); + fn() => (match (@$test) { + }); + } + function test26cf2ec6066cbf5badde2eb40ce6bd738951ca6329fc64a54f9e48db583d648f() + { + $this->assertTrue(true); + fn() => ($test instanceof (-$test)); + } + function test29a233cee588cdf4cf5b1e577cf493dacaed5d77b62546a00625ef5fe09c96f7() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test | $test)); + } + function test2cf19cfe7e81a7d7fd43b12923b50280c5a3ab20f82fc8d8d8548d6d19962df5() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test - $test)); + } + function test35e487aa9c9c067f22b19df73ff008419bf4587fe4a3a3e027c63b4aac8bdd80() + { + $this->assertTrue(true); + fn() => ($test instanceof (+$test)); + } + function test393cfd011f2f5bc3ab630b302ca5107a247f9b67322fe8b7e7c1c52e98ff3ec5() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test ??= $test)); + } + function test3d15c808567c00feb79b1ef1842ddcde5c4528518dc8747c48d2e623c01ad6fa() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test ^ $test)); + } + function test3ddae4ae6c760624f1600094cc9d82b00c8139dd9ab2726d190909090c6b6250() + { + $this->assertTrue(true); + fn() => (match ($test--) { + }); + } + function test3f979b37a234e78ec1a4303cf4732d42912cc0ffc7f41886806f1a430ecdfbcd() + { + $this->assertTrue(true); + fn() => (isset($test->{$test})); + } + function test3fe7f5e7a08e7bf8ad56201b6eff90bfb3cd9768e4ebb7542948f2d47cbc2217() + { + $this->assertTrue(true); + fn() => (match ($test->{$test}()) { + }); + } + function test44b99041dd01792b2c553e0f4022556acf934353b64481f38b2b0bbf0b6d8359() + { + $this->assertTrue(true); + fn() => ($test instanceof ((object) $test)); + } + function test477aa4c24b6e113a2faa8e46ee817e29721acc335de39458f247aba3e676ce78() + { + $this->assertTrue(true); + fn() => (match (~$test) { + }); + } + function test4c893f01a0afc65e650a810836ac8c738fcbe9e130379c4ac801a6da815248c2() + { + $this->assertTrue(true); + fn() => ($test instanceof ((string) $test)); + } + function test4cf1cb8bcb121b0b220a72fdd2a4072c6c077980e246f6c990ecd09fb2fa5106() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test -= $test)); + } + function test4d469634455e67712188d90fed6a19b5167c576086b57ea72963322b3eb871f8() + { + $this->assertTrue(true); + fn() => ($test instanceof ("{$test}")); + } + function test507d26b251c6202caeda6208b8e702268f390d6ca1f0cf42db6f104bcf652c85() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test << $test)); + } + function test5292af76ff97a4e19956160cc75f5cf299e1ce914824ff642a0a506e493ebe1e() + { + $this->assertTrue(true); + fn() => (match (self) { + }); + } + function test558aad70689c24106184742492a2d9ffb4b77d1d0862920992d8e511f0253a06() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test == $test)); + } + function test57a5f32eb36532f9a62ed38183dfdf42753774e3595126bfba10314ed5fb5179() + { + $this->assertTrue(true); + fn() => (match ($test instanceof $test) { + }); + } + function test61e1dd32926579669fb298824ec0af2bee6b74bd1b96c996cc69052f62a306c7() + { + $this->assertTrue(true); + fn() => (match ($test =& $test) { + }); + } + function test69953b4cf09b496ebfbe180ef9fb4da86700f153dfa8ddf39ac1b95102ca7b35() + { + $this->assertTrue(true); + fn() => (match (print $test) { + }); + } + function test6c40db9701e46d0e94d544cfe1fee8c477e207b8f6ea900178e185879d378b9b() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test})); + } + function test6fa61dd5e77fa067996e6163e7e2d906682adb5991ec48287c4376093b90a875() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test *= $test)); + } + function test6fe183a6428e997dedbe1451570378c003583c5390c19e799365aae21f74979d() + { + $this->assertTrue(true); + fn() => (match (++$test) { + }); + } + function test702d864dd2a2313a7293dbf4623523ac5cb15d8e9c7a758b4f0ce55c4eef908b() + { + $this->assertTrue(true); + fn() => (match (!$test) { + }); + } + function test7033e030b7450200b73405f7d3bb6ebcecb3e8dedb9613a73dae64ab858ed00d() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test % $test)); + } + function test73f923940bf26079a3f50f11b6bd3cee793be94731c3d5b3530a0bcb0122a282() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test < $test)); + } + function test7429ed96d3b2a375b8ab8a520241e5b4150786982073eee2243c1ce5b7fc9a7f() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test + $test)); + } + function test78d1850a0affdb0cead60c594b55d0790bbaeb77f12499716002c4f632f3687e() + { + $this->assertTrue(true); + fn() => ($test instanceof ('test')); + } + function test7d4cbb3b96164c8672adbd88967e3c9c69e1278c1ae6be9b69fabf0cfbcd59d6() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test &= $test)); + } + function test7d67f99b67eaae0ead2895cafc657ba6e8429bebc4f87b44e6312bf8264961dd() + { + $this->assertTrue(true); + fn() => (match (--$test) { + }); + } + function test7dd1dadcc7c79826cbf1c1aeba0771826f6ec3de109c77a442832bafbe2200a8() + { + $this->assertTrue(true); + fn() => (match ($test) { + }); + } + function test807d43d1c7e8d6911ef0e1b4a7ebffdcf659d8ed00130e58fe4c9f1f9048a47e() + { + $this->assertTrue(true); + fn() => (isset($test::${$test})); + } + function test824b4ecb5876e2b5c612e4e2ff2ef01aaf9e03fa265ef21fa042b357026f4118() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test != $test)); + } + function test868dbefe8b4496d0ec1d1a9b9a62b3f4e96efe4f31ea62f53ae104a36fef6c15() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test >> $test)); + } + function test8e1efde6eb30f2768ca7e58f71cf5e4cd147f639b2e969872e48df3b1be1f40c() + { + $this->assertTrue(true); + fn() => (match ($test = $test) { + }); + } + function test8fb61a9248b1e26c5c75eb123a3082f53b5ec031b746eb144a967344cba72e08() + { + $this->assertTrue(true); + fn() => (match ($test::$test()) { + }); + } + function test9345e4a811f1725558a7a80cabe23289fc8ebc7d71b775c4ebd27c26b11847de() + { + $this->assertTrue(true); + fn() => (isset(${$test})); + } + function test95b73e2d95d42731146ca681e28029054f78093468a47f4468824aa86a08348b() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test <=> $test)); + } + function test9c4abb5954f16a5c5bf276201b51a2222238995502ea4e4cb8f6ec6c46f1cf07() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test ** $test)); + } + function testa5da4aac5ff53d03c34737ace940a996fb0393ef1a4a65198acfef2135093d72() + { + $this->assertTrue(true); + fn() => ($test instanceof (__DIR__)); + } + function testa6251d458559feb493e24d2e123f4800635e565b79037f2e68da297a93deca16() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test & $test)); + } + function testa74c3ca372fb8e4feeebd707bc5aa45da40fec93369bb8764ca2e88384f572da() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test ?? $test)); + } + function testa76bfcd77dbfa77caef5345ec805c9c1cb1aa2f5da48259ee219c69237077e14() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test . $test)); + } + function testaa39452e5944afa55cb0d8bdfec448deaf03ea64afcd43648525b2bfd49e3e43() + { + $this->assertTrue(true); + fn() => ($test instanceof (__TRAIT__)); + } + function testb0ee8e07618f0f0328db82ab2f7fada9f71ca9bd23fb4811e323b5cb5721f9a7() + { + $this->assertTrue(true); + fn() => (isset($test::$test)); + } + function testb296e283600bbd70ebae704d4df8ff00978c95f3fc606be05426732f4ec9b2eb() + { + $this->assertTrue(true); + fn() => (match (eval($test)) { + }); + } + function testb712736249baa9d62770c9f8917c4e33f01163cad12edbc23464d1373bc26fa3() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test !== $test)); + } + function testbc24635be64c2862d3fa34e72fbed275fa0e30131bcbd94b2ff705780e92d1dc() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test && $test)); + } + function testc0e92fcfe820195bedd2b0dccc5911c28a4fda22bbc90bb98801a12ff2d0fbff() + { + $this->assertTrue(true); + fn() => (match (isset($test)) { + }); + } + function testc2bb9cff69c3461077897577e44fb863964b790f5cd3b202b1faf8c43b1481b0() + { + $this->assertTrue(true); + fn() => ($test instanceof (yield from $test)); + } + function testc3975da6abafe916c0b5e6c70e23f20126a104c3d042c9da95ccb91cb45af76e() + { + $this->assertTrue(true); + fn() => ($test instanceof (__FUNCTION__)); + } + function testc46a364cc3c808a54dca66c83d6492c65715c3d543d28136000d1495f9607519() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test <= $test)); + } + function testc48eb6633d6d218b0bddb1fa155010b69a5ff22ca32290ec1d187b999bd9c930() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test >= $test)); + } + function testc51cf7a2b42516867d77b5e396c081b73485375f3752c2492ecbfeb27de7f11e() + { + $this->assertTrue(true); + fn() => (match ($test()) { + }); + } + function testca16c9ca966506e264c2f21f04554d1a1953ece8132f759a01b0bf392b69d165() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test <<= $test)); + } + function testcb5648fd2fba469d5313b92713751cd07d13696e3ae5fd99e848bb04165d348f() + { + $this->assertTrue(true); + fn() => (isset($test)); + } + function testcc62715da219dc3eb7c6e69780fc81b3653324334184549e635ced3a06734770() + { + $this->assertTrue(true); + fn() => (match (function () { + }) { + }); + } + function testcfe43cff25c6513418856e26c1357780f92a47fd39a0856e5537a2b14bf7dcbe() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test xor $test)); + } + function testd13fdf7d523ba18d5ca3e8bada8f3eef6b7bfa626483f00c41c7db960c75f8dd() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test / $test)); + } + function testd9fa75e52e0a851cb95a2c34f9bfbeb7deebb9f296720540558fbad3def6fa57() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test === $test)); + } + function testdb611ae54814bb5f22c5b1623a9481eeb8edf79555e616c3dbb4a5d408cbafcd() + { + $this->assertTrue(true); + fn() => ($test instanceof ${$test}); + } + function testdd685855693a19d6e432c85ebf469feb9a0002e5f6999016f651faaa84d45ee8() + { + $this->assertTrue(true); + fn() => (isset($test[$test])); + } + function testde2676381fa879ddfaa303d17c6f4da213cef18adb1dc8b9909a0debcc877dd5() + { + $this->assertTrue(true); + fn() => ($test instanceof (__METHOD__)); + } + function testde6aaba5cdc7d707af1088ba7550455788bda7734a79bb16625b37b2b5faf25e() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test += $test)); + } + function teste2bf28b2b0dec1ea08926322a08ed75484645a9f76036d98c98d17c025e9ccd3() + { + $this->assertTrue(true); + fn() => (match (``) { + }); + } + function teste32ea68e7c72aa157ec774ab18db6bb90c3d5987ac1d6a6028de969672892742() + { + $this->assertTrue(true); + fn() => (match ($test::$test) { + }); + } + function teste5f2293fa5f8434e248b9a3ae8f2b1a918b7c4b501dc8434f96a5d3af3a78cc6() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test |= $test)); + } + function teste6469314b5ae51adca318834a1c51dfbb7535783c83c2a9897baa3c5951ca40b() + { + $this->assertTrue(true); + fn() => ($test instanceof ((yield $test => $test))); + } + function teste6acac3bbaa70df834b87440e738e260a59691826e9592b8583bcc0064f19285() + { + $this->assertTrue(true); + fn() => (match ($test++) { + }); + } + function teste75b7ff5da9297518a414794ec3d74819b049caad1d7a3f525b775d2c426aacd() + { + $this->assertTrue(true); + fn() => ($test instanceof (__CLASS__)); + } + function teste94b2c086bc7848fe321578528d4c25ba9ac8cf791b4fc8f113346ddfffd302b() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test .= $test)); + } + function teste9eae7644e4e6c7132fe566e86b47acb2436e5d70838bc0dc08573fa0d45f314() + { + $this->assertTrue(true); + fn() => (match ($test[$test]) { + }); + } + function testeb92b41637d492ba53ba26837c67f3bff6cc8e84bb0fff626a737ce9bf385884() + { + $this->assertTrue(true); + fn() => (match ($test?->{$test}()) { + }); + } + function testedc91f6b9abc4128b0f639ba340f5935db19909c7ba12baf17a227d41fde939c() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test || $test)); + } + function testef3fa734326e035098806bad8ff43143e236d9c2685d299882c2f9391fd4e388() + { + $this->assertTrue(true); + fn() => (match ($test::${$test}) { + }); + } + function testf1e336f822fed73cd1c832d3cb1abd1454e93efe8d69d7163ce83462c12b865d() + { + $this->assertTrue(true); + fn() => ($test instanceof ((double) $test)); + } + function testf4c2825c173932b5b7e46147b36e41c1b68a5cf0351397d5cc9ed7889a49b614() + { + $this->assertTrue(true); + fn() => (match ([]) { + }); + } + function testf4e8b6996266f646f61d25691bdb0a25a866e9afa943762e5aab724a7e3c9ccf() + { + $this->assertTrue(true); + fn() => (match ($test->{$test}) { + }); + } + function testf77e82701d0ba78f6b4a465b6b1ae3e12be2aa51711451efbf3492377f86bfd7() + { + $this->assertTrue(true); + fn() => (isset( $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test.php b/testsGenerated/Target/Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test.php new file mode 100644 index 000000000..ff8953363 --- /dev/null +++ b/testsGenerated/Target/Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression30d676622883125df4c211173472da0cad3c2a4cd957b6fac3d79c36817673a4Test extends TestCase +{ + function test04874f2e675f770374a039d71b46dfc164dd116b4c3ae89842b4ba8973a53db1() + { + $this->assertTrue(true); + fn() => ($test & (bool) $test); + } + function test05a95138d48baa1f952540c6213c5ee3beb420ff5dbc3d037419ccb937149556() + { + $this->assertTrue(true); + fn() => ($test & (int) $test); + } + function test0998ba4c4e11edfa01812d2c189c75277162738a84d753156a895f26b61396a8() + { + $this->assertTrue(true); + fn() => ($test & ($test %= $test)); + } + function test0ea774f97c50610596c479d730766fcb449bbf25bff2cd8da03f44019d5b5b79() + { + $this->assertTrue(true); + fn() => ("{$test}" & $test); + } + function test0fc40229f2986275907f1ee6911126546d9857862d5ae480f3c41c66e0ff2a82() + { + $this->assertTrue(true); + fn() => (__CLASS__ & $test); + } + function test10f3b778de924473856ba0aa85624081334c96cc97832fa8f0d685170124c9cb() + { + $this->assertTrue(true); + fn() => ($test & []); + } + function test1153fe8549970ac0c47dafd693e408c52662b8514f18a478386d9b66a7c67f6e() + { + $this->assertTrue(true); + fn() => ($test & ($test *= $test)); + } + function test13e45a39ed9865a5a18b1de240a032e349c319c65e6f0f8e25ca2f7537b87302() + { + $this->assertTrue(true); + fn() => ($test & (yield $test => $test)); + } + function test17761f41731a2f981ee00842811f7b387eb492ef72c807c65f4badf72dc030ed() + { + $this->assertTrue(true); + fn() => ($test & 0.0); + } + function test1b1ca918d7269030467d81fddb75e3bc4fcbcc84b5faadd41a5f688135321080() + { + $this->assertTrue(true); + fn() => ($test & empty($test)); + } + function test1e999773a0d15bcd8403b1aa0c730cf2c9e3aeaee8371f75a8ade39520dd53e7() + { + $this->assertTrue(true); + fn() => ($test & ($test and $test)); + } + function test241df8560e8ff924fd2c89130565e99c45ccde4fcd5d9eec1f584dccb8c09345() + { + $this->assertTrue(true); + fn() => ($test & @$test); + } + function test2501ebb4a8333060ec4b261847abdee155bed413993825a6646f65e126d1d8d0() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ & $test); + } + function test285092fd254d0cd29af515cbacec0fa3ac887953f8ebbdadf5d9512e890c5e2d() + { + $this->assertTrue(true); + fn() => ($test & ($test += $test)); + } + function test29aa384b67605787cb6329efe34034d6f23bc68075acf409fd4ec6c90f41bfe0() + { + $this->assertTrue(true); + fn() => ($test & !$test); + } + function test2dac275de40a1b99ada91aff7805300e38a7466c8f5a897d7ce01574e27ac34f() + { + $this->assertTrue(true); + fn() => ($test & $test !== $test); + } + function test31851742f80eda3dbab0e88dfe0846b1a3946bd062ef3b24e4ee73f8ce5814eb() + { + $this->assertTrue(true); + fn() => ($test & $test <=> $test); + } + function test349ef767eaa64b35b9ad2e8445de7cb837d5c305b93ef3ec81d99312882f770b() + { + $this->assertTrue(true); + fn() => (__DIR__ & $test); + } + function test3679ffce1b71ea270c2672e292ab063b7b155c6d0ebc3763996ff0187ff06cc4() + { + $this->assertTrue(true); + fn() => ($test & ($test & $test)); + } + function test374326472e3ad33818818950ed3f595b67c05f7328537626a6728f7c00374f3b() + { + $this->assertTrue(true); + fn() => (__LINE__ & $test); + } + function test37d32a0091b4aa5bd3ab9f67838fe9beacf521bc7311a442213d40bec7911bda() + { + $this->assertTrue(true); + fn() => ($test & (array) $test); + } + function test384aae7361a5c395ed313d56a0e4ed44e48c699e74c34668dce1bc9787152154() + { + $this->assertTrue(true); + fn() => ($test & $test . $test); + } + function test3de6b4d2b6b73fd83ee0253ab60d0d382fd43a0ccc2d05d94d10c6893f611df6() + { + $this->assertTrue(true); + fn() => ($test & $test === $test); + } + function test40b32ee46d0046bbc50cb955c3bb99923f652ab0ee22603ee0f60ba9235fc13c() + { + $this->assertTrue(true); + fn() => ($test & $test << $test); + } + function test466a636351e5a8adff396e0a2683907a486d388d84fb4c3f8d5ae58f846ccbd5() + { + $this->assertTrue(true); + fn() => ($test & ($test =& $test)); + } + function test48797a8c516e5c1da1b52e82d245b4719a1892677e470465549c06b2d5f0361f() + { + $this->assertTrue(true); + fn() => ($test & match ($test) { + }); + } + function test48e892488202f3e8e889220ffa0a4dc03a1dc60f14a9e1718598de4d86b163af() + { + $this->assertTrue(true); + fn() => ($test & ($test = $test)); + } + function test4acb67904bf9d976c0eedd823fb648d9e5f623a481f1997aa682f5d5983d410c() + { + $this->assertTrue(true); + fn() => ($test & ($test <<= $test)); + } + function test4ec35586aca6b40ab498bd08964e66bdcebef74779904c09057a4f5168b614bb() + { + $this->assertTrue(true); + fn() => ($test & $test < $test); + } + function test52f9903af7bc8e1fe96c18a7b93a25735e85140fce8f8ff8319d1e4cd0923482() + { + $this->assertTrue(true); + fn() => (__TRAIT__ & $test); + } + function test539aec1da2523be7c157b56c4f46d3599eb4c12155657ec4c16e011d092c0172() + { + $this->assertTrue(true); + fn() => ($test & $test->{$test}); + } + function test53f26a4b56e4ab57111ef2825f9877bda49fb4c0abc54632e1f49a41b676b27b() + { + $this->assertTrue(true); + fn() => ($test & $test?->{$test}); + } + function test548ab8bb6af8dbe74c6e6fdbd1224f578bd4e385b26f45ab2da504dbe0e7a727() + { + $this->assertTrue(true); + fn() => ($test & ($test >>= $test)); + } + function test54918ed6bfea67ad1ae73499b5854083b88a5cbf9bf5e03eda15e68606258aa0() + { + $this->assertTrue(true); + fn() => ($test & $test / $test); + } + function test5585e1ab774218d57f0f1897b20061653177953e80c53406a40c88278e9ed301() + { + $this->assertTrue(true); + fn() => ($test & ($test ?? $test)); + } + function test55c0b3f80b27d1c93e5490af8f9fb9244ba155057f84b1c2e0631b26ca4d1bbd() + { + $this->assertTrue(true); + fn() => ($test & $test >= $test); + } + function test59e997f8525533cad846c79b6b68ecfe1c7aa316725f81313ea6dee75bf527e2() + { + $this->assertTrue(true); + fn() => ($test & ($test || $test)); + } + function test63d258c2ebedb6c75e23ce021c3ef87479b167488c73a7f93ee7cab9042a64ba() + { + $this->assertTrue(true); + fn() => ($test & $test != $test); + } + function test6558acfd3d11d3887235b2546906bc48dd765e152846d1a726331aeacfb18c1c() + { + $this->assertTrue(true); + fn() => ($test & $test > $test); + } + function test6bc98fa14e127c47ea80830d87a6e6d0d4ee1c070b7b5be7fadab456855f0237() + { + $this->assertTrue(true); + fn() => ('test' & $test); + } + function test73d6ec30af4ff52dc1ec22355741c31c6d3d0f28de2136f3c4edf8b2c83c9b87() + { + $this->assertTrue(true); + fn() => ($test & $test++); + } + function test7c1e94f2b154db0079e231d62edb0914d0557e7195947363eb54b71b57783b5f() + { + $this->assertTrue(true); + fn() => ($test & -$test); + } + function test7f071d8eea5603ee46b7c5e7d1435c2aa4c4dcbfdbdaa51ef8de2a75969cd911() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ & $test); + } + function test7f4e5b5cbfeb637b991706261f7079d47a52e0404cea484c0285be4e6663d6d8() + { + $this->assertTrue(true); + fn() => ($test & ($test -= $test)); + } + function test7faf6803faef646f0343c6defeff25b40b55b487bd2cb3c9c1eb5ff790f4a57b() + { + $this->assertTrue(true); + fn() => ($test & ($test ^= $test)); + } + function test8335f7525bbcc59ada9cb16bc0246f5ffe7219e781e9fd579d929cdc1b1527eb() + { + $this->assertTrue(true); + fn() => ($test & $test - $test); + } + function test83c6bdb9ddd073857428e1ec4eb35169d87e0e5fc89c1e88b2293552602a05ad() + { + $this->assertTrue(true); + fn() => ($test & (print $test)); + } + function test84dcaaee9cc2f97569fe70a239cb3e603f9194c8aa9634f854695d7af9db2912() + { + $this->assertTrue(true); + fn() => ($test & function () { + }); + } + function test87e4699c19532d010220db0c8b026102e9f8a10f9fe9b209f52f4a727301c398() + { + $this->assertTrue(true); + fn() => ($test & $test + $test); + } + function test89315c051fd92440330ea1d51fac9d3b59f9627aafd443009337bcfce02417ce() + { + $this->assertTrue(true); + fn() => ($test & ($test ^ $test)); + } + function test89a3f6f79238b4d92f8f032595cc60bcbdea19de300f09491bf92deb348d6492() + { + $this->assertTrue(true); + fn() => ($test & ++$test); + } + function test89b977b615a3c3916c1334783f6f6d34a9a7e73b2a5e9d3faee71c6774c35480() + { + $this->assertTrue(true); + fn() => ($test & ($test | $test)); + } + function test8ad0f572e3c6c7112c702671b0a745308cd86a9437b1d416f9f702c15878afa9() + { + $this->assertTrue(true); + fn() => ($test & $test >> $test); + } + function test8c503545196ac0d172987c481577b9962cf2a3dbf2cf23797e94f6a987ad3889() + { + $this->assertTrue(true); + fn() => ($test & $test->{$test}()); + } + function test8d054e404fe57db1bd16b94d90af0a46034b467c9d8727bc1872b934261ce8e4() + { + $this->assertTrue(true); + fn() => ($test & eval($test)); + } + function test8dea098d43b479952b44802fe94a767f6150558d7cce3b158268df5e3203dbd3() + { + $this->assertTrue(true); + fn() => ($test & clone $test); + } + function test931b6b3e25c74cd29c01c1c85642678c019b5a5aaacd764414fcc353938105b8() + { + $this->assertTrue(true); + fn() => (0 & $test); + } + function test939e449ffedac0ec37480df272a2d99286acd6f6e5a98ddfb28ae833e64e8fad() + { + $this->assertTrue(true); + fn() => ($test & $test % $test); + } + function test94deaab40d5a57321781e67f489f426dc4a286e8119929b2c56aa26eab677107() + { + $this->assertTrue(true); + fn() => ($test & (double) $test); + } + function test952a90dccbfa6621b44ef0b87078a39ef73575d46a81258fbfbe9c986f753081() + { + $this->assertTrue(true); + fn() => ($test & $test); + } + function test9a2ef10bedee54b8b72bbd31811d0b7a6d0356b7b1419cebcecc6d0892902875() + { + $this->assertTrue(true); + fn() => ($test & ~$test); + } + function test9a8195dcf1d71d3f1948fcf1f7600ef243937771dada099f92f8d050ac6022dc() + { + $this->assertTrue(true); + fn() => ($test & ($test xor $test)); + } + function test9b4a7ba1c5d5d89739759b86ddbf2651c0c64fc3d439af2c2e487c5a598618c3() + { + $this->assertTrue(true); + fn() => ($test & $test--); + } + function test9b89300c6a97e4833937eb0071a05f2e0ee3e217dbefbf2e67d22d5252996afe() + { + $this->assertTrue(true); + fn() => ($test & (yield from $test)); + } + function testa01659110d58e3865f29bce59804ed29827d381de3da6f28504a4a2e9813139c() + { + $this->assertTrue(true); + fn() => (0.0 & $test); + } + function testa02ba4c901c4af7ecb60d51281fe60924139f43da5162887c9404d2f5c825e00() + { + $this->assertTrue(true); + fn() => ($test & $test?->{$test}()); + } + function testa1595de897cb0a9be3ec5fe4a119f5e37ff249cf0e3c330215907cbaf30e9da4() + { + $this->assertTrue(true); + fn() => ($test & ($test && $test)); + } + function testa1c27d0332bdbd074463187a5ac63afc51a39f33becefa074bd621e2651da77b() + { + $this->assertTrue(true); + fn() => ($test & ($test &= $test)); + } + function testa3d1fa289a284492fa47d59c84de4139a5738f77a79b4be795ef6f4974cc3572() + { + $this->assertTrue(true); + fn() => (__METHOD__ & $test); + } + function testa5b0b94b5c106f50ad9e97ea1ee8387872e06cfd5432e9de1453b77f53bdbd49() + { + $this->assertTrue(true); + fn() => ($test & $test * $test); + } + function testa6eea67ba2d8f1a706c2fe0abc50eced60723e2ebcc767dc124ccb4cbffd3e58() + { + $this->assertTrue(true); + fn() => ($test & +$test); + } + function testa71c5696a50da0d49ce7e47d88233da217cb3338dae0401140c576dac60fcd40() + { + $this->assertTrue(true); + fn() => ($test & --$test); + } + function testa83cace859add5151e9ca0e65b3113252b066e52f8620dde9aa5dc35cb1829a0() + { + $this->assertTrue(true); + fn() => ($test & ($test /= $test)); + } + function testaa08047dd78033a1a3c781befb0d29f81164cf1624f7d02b63bca11c27e46b5f() + { + $this->assertTrue(true); + fn() => ($test & "{$test}"); + } + function testaa0e3ef010a8b48de205bd95bfb6bf9a7cc30596493095a315b2c4d6a68acd8e() + { + $this->assertTrue(true); + fn() => ($test & $test == $test); + } + function testb0493c4b57e899952a3c7e77f7dc172a3386092346d8689353e12a597c61bbce() + { + $this->assertTrue(true); + fn() => ($test & ($test ??= $test)); + } + function testb0a3dcba21b47f45586502ea77009e405fb4474bd669e290cc1ee39ef0424bb5() + { + $this->assertTrue(true); + fn() => ($test & throw $test); + } + function testb143cf664d08577a8ab5e3eb7798f0cf0843f4e75ee060d7d742720f75972aa5() + { + $this->assertTrue(true); + fn() => ($test & ${$test}); + } + function testb37b755d4ca14d8aac2293148537bdba7bd3c4f15e4ef43a856f805dac4e0bab() + { + $this->assertTrue(true); + fn() => ($test & $test[$test]); + } + function testc01b657bf2e457b6ea094db7977494d5f7515aed9bb107306e1f51f4cd885c42() + { + $this->assertTrue(true); + fn() => ($test & $test::${$test}); + } + function testc1214a65c1dc8bd201e8064fb3f7fa2bd5e68f8d56a0c3894d54b07a535188d4() + { + $this->assertTrue(true); + fn() => ($test & ($test **= $test)); + } + function testc8e618d51165175e7d482ae315acc61b635bbe3fc27752b7c88ed397523d9dff() + { + $this->assertTrue(true); + fn() => ($test & $test ** $test); + } + function testc9dc6fcbeb1f3e1cb2803fe171eeed2ef05b2a50bd18c9a6cf809bef2b25a64c() + { + $this->assertTrue(true); + fn() => ($test & $test::$test); + } + function testcae761550fa3e8a8a8f35a23b720304d9ba7fbcaa5b63cdeb0e7eb1911866243() + { + $this->assertTrue(true); + fn() => ($test & $test <= $test); + } + function testcafad96d7e13b4ba1f4b1d559f8f993383f5ae335cf468d9a5b99aeaaab73c41() + { + $this->assertTrue(true); + fn() => ($test & ($test .= $test)); + } + function testcbdfb6524409eab105707733c67452ab218a91cf744874696ea66b195d647488() + { + $this->assertTrue(true); + fn() => (__FILE__ & $test); + } + function testd521475748bc15c8457b7c8f17d0859b4c9b4dd2e35565ce3aa8a6571c94c9e4() + { + $this->assertTrue(true); + fn() => ($test & (string) $test); + } + function testd7fbc931689a279cb267e231e67ad7808a895603139c0035426bc6ddfecf16d1() + { + $this->assertTrue(true); + fn() => ($test & ( $test)); + } + function testda749fe87130867c3a1b1b7f9fa100eefbd65b7ef09ed7578554ebfc8a02e764() + { + $this->assertTrue(true); + fn() => ($test & isset($test)); + } + function testdaa4ca56cf9656634d7128fa15a4ffee5afb45030fefd9e579aa2b3dd8466968() + { + $this->assertTrue(true); + fn() => ($test & ($test |= $test)); + } + function teste3c938e8753fff7390063a5af534b3df7a75d10fda3118be91985cbb1f331699() + { + $this->assertTrue(true); + fn() => ($test & ($test or $test)); + } + function teste513a488b52e67843a93793eb53e6507bfad25140bd8b30d8ce468e6d4fe3bb6() + { + $this->assertTrue(true); + fn() => ($test & ($test ? $test : $test)); + } + function teste880e9c423279cc96619951924a11c6ce02514bbf0a70ded3d160ffb5534f8f3() + { + $this->assertTrue(true); + fn() => ($test & new $test()); + } + function testebc0a71f3ea7b424cab95d88fc7a18b2db7bfd4dcca508cc479f16196b0f655a() + { + $this->assertTrue(true); + fn() => ($test & ``); + } + function testee9989bf4c8d9518674b33655da409594635a57e7179517c7b6379e9c7b2d5f7() + { + $this->assertTrue(true); + fn() => ((string) $test & $test); + } + function testef2f74c21d994f50aacf7c940528ff76abfa4a097c05ff8327590543987aa91b() + { + $this->assertTrue(true); + fn() => ($test & (object) $test); + } + function testf14990fa96bcbc20650e4b825bdf44c63493dc75c3ddb87598851873c2964437() + { + $this->assertTrue(true); + fn() => ($test & $test()); + } + function testf9f982c59e5432dfabbdcc9fa5a0c2b4df9d264246ee490a345e51e13d9a82b8() + { + $this->assertTrue(true); + fn() => ($test & $test::$test()); + } + function testfbfadae2eba3b5508c5dcb7ac70e283b44ca7e09e689af4bd827d248b8c6e03a() + { + $this->assertTrue(true); + fn() => ($test & $test instanceof $test); + } + function testfd645418434d363eb6572b144e792c64f50cc28cadeea9e4677faa5365bc139b() + { + $this->assertTrue(true); + fn() => ($test & self); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest.php b/testsGenerated/Target/Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest.php new file mode 100644 index 000000000..aeb150fe4 --- /dev/null +++ b/testsGenerated/Target/Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression32963c5cc6d3f247e78de2c7c1a9758c9e75d277db7df14f74182ac709558dbeTest extends TestCase +{ + function test013bb8a0b00e1892fc7ddcc6108f47f10a8e7ca8d34d856dbed9143ab71ced65() + { + $this->assertTrue(true); + fn() => (!($test ^= $test)); + } + function test038c2bf273379dbaffb26d1fe80acf12f4ee0a5b8d5bd88117f37bb757407ea7() + { + $this->assertTrue(true); + fn() => (!+$test); + } + function test04257ccb6049c7135bceee0c0cb7e571b7f64e214f53bf250d702e300a444d3c() + { + $this->assertTrue(true); + fn() => (!($test **= $test)); + } + function test0637035c5e5ddcf07dac0593313b0d0a1506a113e7299e877552c00b17bd538f() + { + $this->assertTrue(true); + fn() => (!($test .= $test)); + } + function test0763d8a8c1096f19661123305cc87b9f3267bbf9dc19738224667e7dac0e7233() + { + $this->assertTrue(true); + fn() => (!--$test); + } + function test0994fa67df7879ac9cfb63bf4710be2504beeb8075a3f27264f26b9294d2df11() + { + $this->assertTrue(true); + fn() => (!($test and $test)); + } + function test0da16db23cec562b731a8798baa4f255a90f388bb2f8b17a8947960400acdbbd() + { + $this->assertTrue(true); + fn() => (!$test->{$test}()); + } + function test0e054690124dbaa0630a428c7675a69190e71086d77f6e19c06c89cca1f2c3df() + { + $this->assertTrue(true); + fn() => (!$test->{$test}); + } + function test0ec51fd8ebfb22ee85bd67f2531c83d8edb3e88761c37fe4479fc2e16b212048() + { + $this->assertTrue(true); + fn() => (!($test < $test)); + } + function test118561e0f553be4999b9c39424bf689b05a6322ae2829acdb1f6315fda8d2eed() + { + $this->assertTrue(true); + fn() => (!($test == $test)); + } + function test1475fe74552731d0cf3808f97e59962a0d1bf6e4b42ed6abb51f48a0a401963b() + { + $this->assertTrue(true); + fn() => (!__DIR__); + } + function test155d222179a789b1fb010b2260056b692f2fa37d2f17f4e3a2b71ee8c67955d2() + { + $this->assertTrue(true); + fn() => (!__NAMESPACE__); + } + function test163e56c2d422df30bf4fa78be1cdf59d2536e3dc99bc98871c653b0607ad712c() + { + $this->assertTrue(true); + fn() => (!($test >= $test)); + } + function test16b56b196e96b8cfd0d895dcc454338534ab322e1e00eaa7d71d2d4aad7e42b3() + { + $this->assertTrue(true); + fn() => (![]); + } + function test177f4cd864cd04d424daf7380390a4499515f7336231532ac6109cc40d56598f() + { + $this->assertTrue(true); + fn() => (!($test === $test)); + } + function test19fef30c4b50e3c95d954ea726b0bc2092e53d1622cf8e15bbd5f5a6c0fd53bb() + { + $this->assertTrue(true); + fn() => (!$test?->{$test}); + } + function test1a3fbb78e4ee001805cbfca604c707273f6d543c5f3bc32197df3e311a016a32() + { + $this->assertTrue(true); + fn() => (!($test %= $test)); + } + function test1b830610098afbe51d9b53002576b42a8ff1f61f81c539ac678ce96d05412665() + { + $this->assertTrue(true); + fn() => (!clone $test); + } + function test1f1e95ac1c0143c5573a75b47c76ec807db2722a37576dea3806845b7ba14550() + { + $this->assertTrue(true); + fn() => (!( $test)); + } + function test2780baa80af2eb7613eb83f15e02aa611a3992d5e194ee16574ee2c38fded402() + { + $this->assertTrue(true); + fn() => (~__METHOD__); + } + function test2862a17b9a1391a6c2e51b5ba35da12234a076b310812f38de9f4f516e5644a6() + { + $this->assertTrue(true); + fn() => (!($test ? $test : $test)); + } + function test299afc2490364e78790b8b41f0171f1a4ba7c732d4c6b1ee9a4528ca6fa0e895() + { + $this->assertTrue(true); + fn() => (!($test /= $test)); + } + function test29d413333dc8625288ff8d56e36b3dc76bf655b5f83d04eaede9ca6edf4ac1d0() + { + $this->assertTrue(true); + fn() => (!($test >> $test)); + } + function test2a52bf26fdbb3b0d0b492a3995dd8ec9a94ad64295c43bc1698cafee84c76cd3() + { + $this->assertTrue(true); + fn() => (!($test & $test)); + } + function test2df45b424e737f2654a8bf6b93677bd29fc3155d36f125c6dbd82e53386516fe() + { + $this->assertTrue(true); + fn() => (!($test % $test)); + } + function test31265646a14010639c4f32c103f57ae3a8f790dcba7bb8bcc0ea6a2afcea653d() + { + $this->assertTrue(true); + fn() => (!(yield from $test)); + } + function test352b1afcf00a64a0549f903a50ea577a0d49e663908457fa5fadcd9bbdc90f1a() + { + $this->assertTrue(true); + fn() => (!($test <= $test)); + } + function test395c5c84bdbba2c64350858668a043ffbd397e949d89e16d3d0736bb45db301d() + { + $this->assertTrue(true); + fn() => (!($test | $test)); + } + function test3be794a0f8aeadc1f0dfcdd90bd826cc8392ea612850f739717a19c74dc1827b() + { + $this->assertTrue(true); + fn() => (!(array) $test); + } + function test3bf0ab0761d685c80b9c2be21b251cda496b8eea5d1437935cea55243d810ad3() + { + $this->assertTrue(true); + fn() => (!(yield $test => $test)); + } + function test3c26ac10a4f10f61f0437bd15bce26fecd068b3330e2da0d95e8546b9e7f4ba0() + { + $this->assertTrue(true); + fn() => (!0); + } + function test3dd16e4a3fbe8d7119e64e92a572d9a8e11333cc8d91a5886d363bc333f51b89() + { + $this->assertTrue(true); + fn() => (!($test += $test)); + } + function test40245d013c42a5a3dfc378fc22067747d838c4b26692f3aab31fb86f764b4a19() + { + $this->assertTrue(true); + fn() => (!function () { + }); + } + function test40c9548446741180320cbd6122475237edab4a70e93305ee7ae564bf40e7eb60() + { + $this->assertTrue(true); + fn() => (!($test . $test)); + } + function test44300b292c42a1de80fca2c210a970951ade227287eb7280dd71844e356a08fd() + { + $this->assertTrue(true); + fn() => (!__LINE__); + } + function test45f1ec8ebf4b88a8f9c88a01a8167e1719a9c5bb964a8708f2e7a04e09898467() + { + $this->assertTrue(true); + fn() => (!($test + $test)); + } + function test4769c9907948dd8f42e6240863c0a4b36272539e88c7b5e746534a5eace2c083() + { + $this->assertTrue(true); + fn() => (!``); + } + function test476dcac6e09e0e7b905954e98d4fa3653ef1b977a94bd6c6ed1c194fc6b1a5fd() + { + $this->assertTrue(true); + fn() => (!$test--); + } + function test480d62a0740bac1c703379ab51b8c1b68f3a24e4915bd241413ded1a5c0716fb() + { + $this->assertTrue(true); + fn() => (!0.0); + } + function test4a7e2147ff94db583bfbb172e1b6d7aa0aae17bd09565e14d73d89c32283bedc() + { + $this->assertTrue(true); + fn() => (!($test ??= $test)); + } + function test5053ce3143ba493267b69cd25b60709043544fb328a87203ebe62750b90c4f5a() + { + $this->assertTrue(true); + fn() => (!${$test}); + } + function test563f8ff1ca858d587effbdfa283b42684591e74f4dd9e57ce6bdfdf1d82fdd23() + { + $this->assertTrue(true); + fn() => (!$test[$test]); + } + function test5c1b7b15335a6fac7ecc18afc6b853ca35afbbb28c46c4503d977e66497587eb() + { + $this->assertTrue(true); + fn() => (!$test::$test()); + } + function test5c1c0d9ee0faa9d48f96dd5fce769981236b5815846963e9950e2aad79129e4c() + { + $this->assertTrue(true); + fn() => (!isset($test)); + } + function test676e43e41b793e29ef1a1d101ca90a4250c8f7dbd60fed07d1f118c00486f03d() + { + $this->assertTrue(true); + fn() => (!$test instanceof $test); + } + function test6b970bd5ab3ac33dbbc54dfabef3b1403cbbf1b5805a59ca25187e31bb2fe1b0() + { + $this->assertTrue(true); + fn() => (!empty($test)); + } + function test6c31632a87bfca877e729ef0ca616f421dd8c169f51a6c50520961414813840a() + { + $this->assertTrue(true); + fn() => (!__FUNCTION__); + } + function test6c7bcd63695bf431334291144b51390b838f861e88179257f765e95ad4a32ea5() + { + $this->assertTrue(true); + fn() => (!__CLASS__); + } + function test6f6526b37131d3b967157098c54aa95cf9e3aa8a0b6eff79b99491e005028575() + { + $this->assertTrue(true); + fn() => (!@$test); + } + function test6fa0558a50360ecb0e1b67d775de0598b8a926af2dc31cb9b112fd5ddf4b0180() + { + $this->assertTrue(true); + fn() => (!++$test); + } + function test72838a7ca5b07c4482a7db40a9594c0e199b8ebc28be0c030fe6e44ac97d8b2a() + { + $this->assertTrue(true); + fn() => (!(object) $test); + } + function test76faed54307ece49808eb0571a172a66b22f2b4e5f0746bd476148f97266cbe9() + { + $this->assertTrue(true); + fn() => (!$test::${$test}); + } + function test797f408f379cfe7471dc13656ec3daac14827f792e7094038a76e539d9f0b8e1() + { + $this->assertTrue(true); + fn() => (!($test <<= $test)); + } + function test79b105b06d7eb8923136e753d4a3b43c5412fd5e45da04b20803e18e9f4098ba() + { + $this->assertTrue(true); + fn() => (!self); + } + function test79dafb24f0582eb18e946771b7a3a840d4202034a1f4373696694e8b5463cef7() + { + $this->assertTrue(true); + fn() => (!($test =& $test)); + } + function test80fff0b3292687f2de17fe25c7a3f87fab197d06eb92d45e04087c6eed6ecbbf() + { + $this->assertTrue(true); + fn() => (!$test ** $test); + } + function test85af0b11e41ca28bbfd6040f6aec76f63afac45231ef3161e499391036ebb2a7() + { + $this->assertTrue(true); + fn() => (!($test << $test)); + } + function test8dd6d52013d7666089068e263b91b1ef333dbb0689f407df4fad028cd625c3e6() + { + $this->assertTrue(true); + fn() => (!eval($test)); + } + function test8fa51828fb96d35563a61fc936d39a54ef2638148f47b514978cc81f1d944dc9() + { + $this->assertTrue(true); + fn() => (!($test && $test)); + } + function test8fe41b58f093d73ff441bf83e08a120e61efce9053e8754457d3f32993cc067e() + { + $this->assertTrue(true); + fn() => (!($test -= $test)); + } + function test90ed23e9c059998f68c3e873747c4f49ef1bb33e975682b55a07a9ae74419b8c() + { + $this->assertTrue(true); + fn() => (!-$test); + } + function test9eebf2564489284124ceace1111b1a4cfec9512bd51fc74c4e55dfa63df40d66() + { + $this->assertTrue(true); + fn() => (!!$test); + } + function testa05ede4ff9e318b4765c81146f21991815bf3a3fe2899cbe38848a976a46338a() + { + $this->assertTrue(true); + fn() => (!($test *= $test)); + } + function testa06e3c7cfc6ebe2cbfb71d7e94e62506eb1cc6b865b785fe5bd0658c34c1da25() + { + $this->assertTrue(true); + fn() => (~__NAMESPACE__); + } + function testa1a25db92455cf2e519ed52be25aa0187668caff4f9f6afffdb7403f8585a83f() + { + $this->assertTrue(true); + fn() => (!(bool) $test); + } + function testa8eed7c869413a8ce8336fbf5317b7af89b3516034b2c6962b6140878b4bca7d() + { + $this->assertTrue(true); + fn() => (!match ($test) { + }); + } + function testa97cae4e47a4024f44ccf2e830077a63360df69bfbf8183add4eff37bef4baa4() + { + $this->assertTrue(true); + fn() => (!($test >>= $test)); + } + function testacce8d7831d2c094895b6fa4fc1ca20d9bdae853a3d4ee894422a1ac015c1a55() + { + $this->assertTrue(true); + fn() => (!($test || $test)); + } + function testadc3ae2823b22f6a9af769e5d9bbc6ef8ee491ddae3c185a997521597363806a() + { + $this->assertTrue(true); + fn() => (!(double) $test); + } + function testb326c538ede4aff1856e7edec1747c0fa7a71e5a9808cfa4d823813b061f3829() + { + $this->assertTrue(true); + fn() => (!$test); + } + function testb407bb92ad91e97d41e76ab9fc09e9c5307e1ee617afcf5003e58f4e27f33898() + { + $this->assertTrue(true); + fn() => (!($test xor $test)); + } + function testb90b522fe75ea3da9bbd3170d8d0791bc25c5bdd0ee35d8afcfed630f5d99b29() + { + $this->assertTrue(true); + fn() => (!$test++); + } + function testbb8045c63ab3c1a76053a30316d46f30de143a611c5ed1df4bc0926e3360772f() + { + $this->assertTrue(true); + fn() => (!($test - $test)); + } + function testbcf742db1b3f00c5e680b178e44adbf0b0d3744936c8788057d48508bb77fe43() + { + $this->assertTrue(true); + fn() => (!__METHOD__); + } + function testbd8a4ba566f898d98eb355681f1d6b9ef9d379d62603175e45d8de5f2cf456f1() + { + $this->assertTrue(true); + fn() => (~__LINE__); + } + function testc054024f793837448616d387dbb81f10218864e95a1a7804231ba7c7d33f02f7() + { + $this->assertTrue(true); + fn() => (!($test <=> $test)); + } + function testc0fd7ce181ca1704cd17a58f0e8e1e6d9b9cda75a4c5e7ac85773f734b8bb4e5() + { + $this->assertTrue(true); + fn() => (~__TRAIT__); + } + function testc641b8b4dff66b49c9baaab0f28f56ae764caeaec3673093be856c2c5afdb69c() + { + $this->assertTrue(true); + fn() => (!(print $test)); + } + function testc86e40cb902a7bbe3f19322e0a314d54346bd6e7efc676c7958c13bf2151450b() + { + $this->assertTrue(true); + fn() => (!new $test()); + } + function testcaaeda6a0920b20e48c4e1179996e5f6fc432f33c4382754610ef862be7c4099() + { + $this->assertTrue(true); + fn() => (!__FILE__); + } + function testcac1b18aeccd3ac505b82425cffc75f25cf05ef3b32fce24a8dc635f3b15c507() + { + $this->assertTrue(true); + fn() => (!($test * $test)); + } + function testcb833055b2ba6dfcc71be559a539e70c69e7200b312ba08d45f8894476497449() + { + $this->assertTrue(true); + fn() => (!($test != $test)); + } + function testce7a10825befd934fe64bd3c8ab058b2e1b56a2888f76d85fde299c733b78bc0() + { + $this->assertTrue(true); + fn() => (!($test > $test)); + } + function testcfd45818f70e306a8299685464e547d2acc901e2d92c1e7ba74a9caa78ff0856() + { + $this->assertTrue(true); + fn() => (!($test |= $test)); + } + function testcfe3f4f13e77c41ac00c38dcd93b806737aa51e7f8e4108c06398c835d69a8e4() + { + $this->assertTrue(true); + fn() => (!($test ^ $test)); + } + function testd02e055a12770ccbfd3e30f68d1942a0307ebb077df2a4fcc59abbb9b767c65c() + { + $this->assertTrue(true); + fn() => (!($test ?? $test)); + } + function testd3855e321c19a27209066d932a81c76d5d11f380f478564e021f916de94de949() + { + $this->assertTrue(true); + fn() => (!(int) $test); + } + function testd782ab0209b20f6edc7fad0798d12a515c8ab1e523f2840450540ff25d159721() + { + $this->assertTrue(true); + fn() => (!($test = $test)); + } + function testdaecb91c54e4e086d9eb25af50c4ce5daadf9d024c9f9f3639339ef536a2414b() + { + $this->assertTrue(true); + fn() => (!~$test); + } + function teste3d290afb708fb306f1b9022ab60e3766d6e77811a39fb6d7bbe7b40dff81fd5() + { + $this->assertTrue(true); + fn() => (!"{$test}"); + } + function teste4cf955e90c81ceffdcc6977b5c56897192a33b5348db7b45da9cca13a41005a() + { + $this->assertTrue(true); + fn() => (!$test?->{$test}()); + } + function teste6390573cac6732dbc735dc43cb744286d201f643e9c44bb64a9ccb8c5635c73() + { + $this->assertTrue(true); + fn() => (!(string) $test); + } + function testebadf06f0b33dda255f87b5230ffca43eb75952fb5ad3ced0ea15f433ffdc201() + { + $this->assertTrue(true); + fn() => (!'test'); + } + function testec9a1954bfe9da6c365753bed933b91839444932b2b8b3ae2a5abafc748a7f8c() + { + $this->assertTrue(true); + fn() => (!($test or $test)); + } + function testf1a40d1b9051b953e4cbcc357ce6584371cf1978752153d5b4c9d0b37ead508f() + { + $this->assertTrue(true); + fn() => (!($test &= $test)); + } + function testf34c492c6c0f8621c976c501c66dcac245f30920a9f10737915ee2bc9ecfdaf6() + { + $this->assertTrue(true); + fn() => (!$test::$test); + } + function testf74c2d7b18381e28412457cfc34ec8a32050822bfcbfba15497b1187501f692a() + { + $this->assertTrue(true); + fn() => (!throw $test); + } + function testf8188607217b2f7015d51dea81cc1d58fa547373b7a36a99635e62fb52d7cfed() + { + $this->assertTrue(true); + fn() => (!$test()); + } + function testf9dad0516a52f056bfb3577b137920100f4982f4d31380d581deec45d33a4ae6() + { + $this->assertTrue(true); + fn() => (!($test / $test)); + } + function testfa266e95d069b3a4294d4bf953759b68df85c4dccc80fc28d4fa276435f928fc() + { + $this->assertTrue(true); + fn() => (!($test !== $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test.php b/testsGenerated/Target/Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test.php new file mode 100644 index 000000000..c5da13b01 --- /dev/null +++ b/testsGenerated/Target/Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test.php @@ -0,0 +1,510 @@ + + * @license MIT + */ +class Expression37204a90ecba43617b4fd23a429344227755a623c6aec50679991a8df37d30b9Test extends TestCase +{ + function test011181636e2d06f53b70df8bfdbaeb1cec1f28590cfadc5030e0faee526c0d16() + { + $this->assertTrue(true); + fn() => ($test * $test || $test); + } + function test044155a41cc2f7319631174e460cf24be03b7302f03b429b41ebfea019050658() + { + $this->assertTrue(true); + fn() => ($test || $test); + } + function test056caf00a9fde4fd13511228de74e90dbc2bd4930b0e84804ab5e82850433ab7() + { + $this->assertTrue(true); + fn() => (match ($test) { + } || $test); + } + function test0645b7f0c9ad15609ec2b5c19c009544ea8882e6c4e803afe7838134a2d01faa() + { + $this->assertTrue(true); + fn() => (${$test} || $test); + } + function test0cfe81289eccae72cac180dc726b7134d7acfbe04a2d1481724db3964021b11f() + { + $this->assertTrue(true); + fn() => ($test >> $test || $test); + } + function test0ddbf06140df03471e2f379b3675ef051260e5f2934248122d0ba33bb6ef1c15() + { + $this->assertTrue(true); + fn() => ($test % $test || $test); + } + function test1073c1309598c2e7754d9f978e0447a1911fa445f1626d06f2a7cde060ba1b9b() + { + $this->assertTrue(true); + fn() => ($test() || $test); + } + function test11c4f967659237548a9402c15eeff39797e2acd7934f149a431230a7442ae1c4() + { + $this->assertTrue(true); + fn() => (($test ??= $test) || $test); + } + function test154ea8aa8cb91408afcf402c7afd185a28858f768dead06c684d6c363ebf6f15() + { + $this->assertTrue(true); + fn() => (+$test || $test); + } + function test16b10195ea3c590f8fa7a58c650620c5cc3469709a7f2147db3991b7f4756bc7() + { + $this->assertTrue(true); + fn() => (++$test || $test); + } + function test19780710bb4db33590b1e59c2cffe42163e17dee837ef290791088c6539653bd() + { + $this->assertTrue(true); + fn() => ($test < $test || $test); + } + function test1a7773a14e17edaa3104475666c299e7e69fc044e31b32cfec8fd200a918883d() + { + $this->assertTrue(true); + fn() => (( $test) || $test); + } + function test1cdfedcf874b78608579b79a327be9830e9fa81ab85162b75bebe0fdc63e70f8() + { + $this->assertTrue(true); + fn() => ($test - $test || $test); + } + function test1e85e73ee2dd1ee08286961859d15b764c554c1ac8f22b571a0a7b11ac3a2387() + { + $this->assertTrue(true); + fn() => (0.0 || $test); + } + function test1f8209a3e0ccf4bbbbfba6867657d774334896ced4ce6fe66cba95e2b659b48e() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() || $test); + } + function test231be877a10c27d8ab6b79e3cb7fe08b5eead11bc419feffd5f23d2b8e5e1f9a() + { + $this->assertTrue(true); + fn() => (($test >>= $test) || $test); + } + function test23b0de3eb34e23f5d6b74b64161a240bacfcf5124d8f73ccb4480e56b7c7cf39() + { + $this->assertTrue(true); + fn() => (empty($test) || $test); + } + function test23ff94094bac5fd20048f1e7b70517b16e91ca6059f85a7993f4707d12fffa42() + { + $this->assertTrue(true); + fn() => (__FILE__ || $test); + } + function test28c3d634b53b0a55d32c4d981ed5715071d4e0d8c19f63710dcc043bf4ebef6e() + { + $this->assertTrue(true); + fn() => (($test and $test) || $test); + } + function test2b5cf15b402324b2d7afb4c327dd1080814556a57ee29335453a127e88bab6b2() + { + $this->assertTrue(true); + fn() => (new $test() || $test); + } + function test316763d0dab28cfb75493f77c30c9cd3ab5031d2ff1788761ab87d9b814edcd1() + { + $this->assertTrue(true); + fn() => ($test || $test::$test); + } + function test352ddf872c8710b3f7535ef76aeec3603d2cec309fae8b8831c381fc545692d4() + { + $this->assertTrue(true); + fn() => ($test | $test || $test); + } + function test3689701c58b2c8337d97686f1894c021cca08b96ecfd26683af6fbfec74c1145() + { + $this->assertTrue(true); + fn() => (0 || $test); + } + function test3a7c829924f7fc9228a26a2a3762a6f64a39c220af217af41d9282087c4159bb() + { + $this->assertTrue(true); + fn() => ($test || ($test = $test)); + } + function test3c8d8a1abd8c576690e4156268245730c7f894c3f4b2e4f379ebf3e9cf01d441() + { + $this->assertTrue(true); + fn() => (($test &= $test) || $test); + } + function test3d01d86851071bbe855784cb8e4c71c279d2d7c8b26f44eb60ec2748b3061abc() + { + $this->assertTrue(true); + fn() => (throw $test || $test); + } + function test407e77eb4b312218ad08639c6a44006a073a4a8185f6e70491bd601d14535f8b() + { + $this->assertTrue(true); + fn() => ($test ** $test || $test); + } + function test46a6b69390bebf3473023f88302a7cc93398a3fe457bb9d8aed132b2325a5f35() + { + $this->assertTrue(true); + fn() => ($test || self); + } + function test47551859792555cb372ab5f279eb8355fd3baaa33e52f75cc4811731e123dde5() + { + $this->assertTrue(true); + fn() => ($test >= $test || $test); + } + function test4a1cdf8496ff3c5f02fda52982f754453753291b444431a39b00b1ea2cdbc694() + { + $this->assertTrue(true); + fn() => ($test?->{$test} || $test); + } + function test4c74980c4c5c4caabf965cdd7d1c5c9d7a1e2cd9ce28fa3e29286b76db953e14() + { + $this->assertTrue(true); + fn() => (self || $test); + } + function test51e3dcd47fe80fa1a7d2494f6810705d953b11027e941af5e1e6e0a19223c14c() + { + $this->assertTrue(true); + fn() => (__LINE__ || $test); + } + function test52ec820355f01dba677fcec29305408428d1130891e6c0f4d183b4477b45c3a2() + { + $this->assertTrue(true); + fn() => (($test %= $test) || $test); + } + function test578a0de360ecf70b8042636b1967a2c4ffe09b2ae0e0eb44870f36abebaacede() + { + $this->assertTrue(true); + fn() => ((string) $test || $test); + } + function test58efaf43326971ba7587085b1c57e4d642b0d83590b3ffc4f0bddcc024b2719a() + { + $this->assertTrue(true); + fn() => (($test <<= $test) || $test); + } + function test5c88fa270685cf3169caa66ed53786cf4ddb7a0c0050662127b355b17efeed6d() + { + $this->assertTrue(true); + fn() => ($test->{$test} || $test); + } + function test5d62a7dd0bf582fe58f1730ccc55a27876cef1b3f6c5ac01877284e08fd3bf92() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ || $test); + } + function test61cf4b2b3b4ff31a801ba3b308aa77fff76b4b65c2cfccfa6ca7bda9afaa688f() + { + $this->assertTrue(true); + fn() => (eval($test) || $test); + } + function test654222a398ff471a6790542a8cbb8fcf3b8476fd703ddad6a3462d5ac8f2b0a2() + { + $this->assertTrue(true); + fn() => ($test || function () { + }); + } + function test66a367a52b795df85589e987e0c348492f02610efe946425120bcaf2890f37ce() + { + $this->assertTrue(true); + fn() => ($test->{$test}() || $test); + } + function test69730ebfabfa1dc4efbe9807d278146c44325a50bb0aa1138860b3b6eaa8e1e1() + { + $this->assertTrue(true); + fn() => ($test || ($test =& $test)); + } + function test6b632f010e4dd530ab438ae8ae2cde384d559c60d28d71f1bf2f81f806fe35bb() + { + $this->assertTrue(true); + fn() => ($test <= $test || $test); + } + function test6ba0861ba6a7c2cf9183df7aec0425fed8336ad84caf11e381d7998c34208365() + { + $this->assertTrue(true); + fn() => (--$test || $test); + } + function test6da51dac2001d23e452fd09f5d0f9b28d5c7ae27eb13493d48e2000e2feefdc5() + { + $this->assertTrue(true); + fn() => (__DIR__ || $test); + } + function test6e5a2c088846e2ea99a5e57600f02dc5ca07cbfa532d4319a77c92b39216bc35() + { + $this->assertTrue(true); + fn() => (($test *= $test) || $test); + } + function test738331eceb58d9bfd6f9f9e5690ea0a7f0b4decc9d9fdc111e437d2df1bbe843() + { + $this->assertTrue(true); + fn() => ($test + $test || $test); + } + function test73de7c6d965b8eecf503e1a36383746016e03465940797399c4c6e163196b04c() + { + $this->assertTrue(true); + fn() => ($test || $test || $test); + } + function test7411140bae9b5019ca5a753859971085ac22aaae606282c7211458e3bdb8b316() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) || $test); + } + function test754e1a531c9557d95ac0e5ccc0004f3ea13b85221e5d4bc0d8c34bd4069cae43() + { + $this->assertTrue(true); + fn() => ($test << $test || $test); + } + function test75c654cfd2c58e2ead825d5fc9dbd1a6df9feee5a98636a7715438318a81de8c() + { + $this->assertTrue(true); + fn() => ($test . $test || $test); + } + function test799621f370b0b3b027910bf6f1b1605e80d25f9372c2fcb67d3f35ba80eb5718() + { + $this->assertTrue(true); + fn() => (__TRAIT__ || $test); + } + function test896b9c4a484ecfda84d35132f44d7d1a01b2f9217efc7fbc5a0c516e079f2d99() + { + $this->assertTrue(true); + fn() => (($test .= $test) || $test); + } + function test8b48875b7a80e2b4dc1ff672b7a11507f04371368426a6c7d27f2e859618d856() + { + $this->assertTrue(true); + fn() => (`` || $test); + } + function test8bcba4a78a44f314c70da3e08b438d56566a1285fa62d053751a08e104fce5f1() + { + $this->assertTrue(true); + fn() => ($test::$test() || $test); + } + function test99565bec511e4012cb4c4ffda6705135572b82d7a967c2b52d508495e3f7e227() + { + $this->assertTrue(true); + fn() => ($test::${$test} || $test); + } + function test9cb7887d0c6dcada76ffa80e100cf9052edb965d7c553224cb8c48f2edb0969b() + { + $this->assertTrue(true); + fn() => ($test / $test || $test); + } + function test9f994e72b96ec0646784624f28eb236d27725ef32c170dcd13448ca2d22db60a() + { + $this->assertTrue(true); + fn() => ($test || $test[$test]); + } + function testa15ec8d72d7a7af1e7b622a117a824b3f4eb7b1467e9f099245f738e7b400d30() + { + $this->assertTrue(true); + fn() => ($test-- || $test); + } + function testa1ddfe07104daee8df8e5353ccad79daf8cd2f7a9075c99874de345d1be8c223() + { + $this->assertTrue(true); + fn() => ((array) $test || $test); + } + function testa3aca2d686fe7655eb6be50277cb6523a262d7908757ebe968704a273c765e52() + { + $this->assertTrue(true); + fn() => ((object) $test || $test); + } + function testa4c48d3e4b9343298e13d51b0d969f4ec40fb215d7907a4ab2da2b6203834610() + { + $this->assertTrue(true); + fn() => (($test -= $test) || $test); + } + function testa63bd4f47bd21f65e949ae64d1c4d54bf7e9b5bf26d1cc2c5c1e2dacb059724c() + { + $this->assertTrue(true); + fn() => ($test || clone $test); + } + function testa7c95d4db2387860e17e313d65c07df3fa09935d6c63d3f71e43a544cae5b903() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ || $test); + } + function testa7ea9aef61b7dc54f25f939432940572f673555372602650adde59ef7117f7f1() + { + $this->assertTrue(true); + fn() => (__CLASS__ || $test); + } + function testa9707c873048e33a613b79f770bd06370b89226248997b2ed7c5577d02ca9141() + { + $this->assertTrue(true); + fn() => (($test ?? $test) || $test); + } + function testaa7af519cafa8dfc37e9b8487117e3b0f9ae87da3529786c88b455069027651c() + { + $this->assertTrue(true); + fn() => (-$test || $test); + } + function testad73e5450f5ea56533eb255cdbd56f08e960b2261c97840ce096518cacd335a2() + { + $this->assertTrue(true); + fn() => ($test === $test || $test); + } + function testb00fb7b68b19172cd6574c4efd13e23322e58238aece4a6d9376d2c26d22f378() + { + $this->assertTrue(true); + fn() => (isset($test) || $test); + } + function testb09a36a0da122e382c0bb6e2ce3022d09bc11ea2154fc74369394933891b8a8c() + { + $this->assertTrue(true); + fn() => ('test' || $test); + } + function testb49885b3be7fb3a33482b5017c3c45a132bc918853e187d284aa6841c1cc382c() + { + $this->assertTrue(true); + fn() => ($test ^ $test || $test); + } + function testb6dd5424eb6a81a1787a0cb2c410b0ceea7205ccd7cad386085753d85daf65b9() + { + $this->assertTrue(true); + fn() => ($test instanceof $test || $test); + } + function testbbabc02fe6d3ee195279d498ddd7c50a73a7e9a373e0860a3f74d1dbb7d566df() + { + $this->assertTrue(true); + fn() => (($test |= $test) || $test); + } + function testbc0d1abc5fee153f11424629c42553eb93df29f920d6953052c8db73d3a2e87e() + { + $this->assertTrue(true); + fn() => ((yield from $test) || $test); + } + function testbd6af77f25910dcacb523e44f0ea71bfbf8e8a0657784a61d72565fb7ced0b05() + { + $this->assertTrue(true); + fn() => (($test /= $test) || $test); + } + function testc4c23d8001f9ac5c7ace56eba26563bb369ae92d972f1c5a2715bf54d0104aba() + { + $this->assertTrue(true); + fn() => ($test <=> $test || $test); + } + function testc5def639e05e81f126fd0e1d98c1644bcdf00e8e9f425c5ed652b61872cef30b() + { + $this->assertTrue(true); + fn() => (($test xor $test) || $test); + } + function testc67c3357b740588520b0e391370e21bdf0e06ed542af3219d12271f633fcf7b7() + { + $this->assertTrue(true); + fn() => (($test **= $test) || $test); + } + function testc75a50b176916dfbee178b7f50cc86409568e912832aaedbb0294b72498ae5bb() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) || $test); + } + function testce82bae1926a50aa0185893f354f5eb063580899a3db1a91364a20e37293bdf3() + { + $this->assertTrue(true); + fn() => (($test or $test) || $test); + } + function testd4edf4d99bbc5115a8086f13fc93b15b5b092abf7b86afbea0e347c60de45a38() + { + $this->assertTrue(true); + fn() => ($test || []); + } + function testd79d319c6e1805419c73fcfd42da25d5c607183a86547fddb712ef178a8ddadd() + { + $this->assertTrue(true); + fn() => ($test && $test || $test); + } + function testdb48d19e7909095848417249c655d5439377ba54e6cfe2b4fd731bc9c97203cd() + { + $this->assertTrue(true); + fn() => (function () { + } || $test); + } + function testdba7048541b66e7a01937e9032be91e96efb64b82603035f7c2382ab2b84eec0() + { + $this->assertTrue(true); + fn() => ($test > $test || $test); + } + function testde687a89772ceac099e1c79b0feb65be0dc8a3095b2d2abebcd2d928f6895543() + { + $this->assertTrue(true); + fn() => (__METHOD__ || $test); + } + function teste2d372c60c8a77cbf664e1ec09f220294fe2898a594d286db4044672c00f96e3() + { + $this->assertTrue(true); + fn() => (($test ^= $test) || $test); + } + function teste758e877ad4a384446170b4d5fc78226e97b9cc6668cf79fe7a83d8af5fe7f04() + { + $this->assertTrue(true); + fn() => ((double) $test || $test); + } + function testeac4670ba7e410db7a66257b793fea8ce82ca5fff3e3e9b2d0d96863e5f3c355() + { + $this->assertTrue(true); + fn() => ($test !== $test || $test); + } + function testeea43068f75b240a8a20ab30d4cc2a01d4612b154079dd316b4b0ee5146c629b() + { + $this->assertTrue(true); + fn() => ((print $test) || $test); + } + function testeec0fe264015dfdb84b655bbe1a8a175410b4364fde5ffbcf6d3a53e9461e0db() + { + $this->assertTrue(true); + fn() => ("{$test}" || $test); + } + function testf0221108bcb49fa24226713eccf71819bbe9d416dc7f3081b07b8524fb467bc1() + { + $this->assertTrue(true); + fn() => ($test == $test || $test); + } + function testf16ef2f321f6e32e96a9c66789e49aecd4514d05ac06d6731c6e209c4fd06287() + { + $this->assertTrue(true); + fn() => (($test += $test) || $test); + } + function testf1fa289e5a0dec601173b55a459248bb58f45bec03734ec42bc3daf0ab970fab() + { + $this->assertTrue(true); + fn() => ((bool) $test || $test); + } + function testf2b02a9755a0de356e296eeff654469a514e5c9e625a580ea2769a4e18edf0fa() + { + $this->assertTrue(true); + fn() => ($test != $test || $test); + } + function testf38af4245f627616496c6db11690af3620d5a09cc56e02f9098aff2661aa339b() + { + $this->assertTrue(true); + fn() => ((int) $test || $test); + } + function testf4d48dc423e659c8a1d66d35d20908ae3abcf9693c4090a07448bb894e54da6b() + { + $this->assertTrue(true); + fn() => ($test++ || $test); + } + function testfa1735d8f2e170df895797b87f331b17a05ec0bc9d2b90ae743d8b0d2814b4de() + { + $this->assertTrue(true); + fn() => ($test || !$test); + } + function testfc851fcf35499e78ed1eb1be3ec7145285a9e3f5d07f629e4de1850d00c3c1d7() + { + $this->assertTrue(true); + fn() => ($test & $test || $test); + } + function testff193aede2b43ea5e350b72ae48640ceb8f2204f321652b460ef78b4135e6e2c() + { + $this->assertTrue(true); + fn() => (@$test || $test); + } + function testff6b12617368d96364cebaaab11dd1139f53f9ed65676f196374bee62aa4ce11() + { + $this->assertTrue(true); + fn() => ($test || ~$test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest.php b/testsGenerated/Target/Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest.php new file mode 100644 index 000000000..3f6dd377c --- /dev/null +++ b/testsGenerated/Target/Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest.php @@ -0,0 +1,508 @@ + + * @license MIT + */ +class Expression3a06c3334512c6af5e74c9e86606bfde1bdfffcbad2ecc40734ad381cd8db73eTest extends TestCase +{ + function test04b3b292bb2fabd92e071ccbd9cc9592de46974fec7f7f1851966cdb79fab92e() + { + $this->assertTrue(true); + fn() => (new (isset($test))()); + } + function test053e86c7dfd8feba2b79a8e9ca51f125df55dda585ef47dc4a0bacea937fb61b() + { + $this->assertTrue(true); + fn() => (new ($test)()); + } + function test07f2544cd407c2def32992624a2a4302dbc8fba71c45628880586cb003a82309() + { + $this->assertTrue(true); + fn() => (new (-$test)()); + } + function test13496d41641520ebd29354f11dc4a14909d0d00d94fe8e259d6e8c69795bd83b() + { + $this->assertTrue(true); + fn() => $test->{$test + $test}(); + } + function test1514daf32eeb6a2a37da19fcc9df049b61711a0f7ffbb7fde4bd54084d40a437() + { + $this->assertTrue(true); + fn() => $test->{(object) $test}(); + } + function test1868ce08423d9600c784ba8a0eed7282ac5520030312a9f70e09f1bc1764cd79() + { + $this->assertTrue(true); + fn() => $test->{__NAMESPACE__}(); + } + function test1f8c18f1e84e88f079a7d4da5679ae992ab14e79bef7e8f91467164fdd98478d() + { + $this->assertTrue(true); + fn() => (new $test[$test]()); + } + function test1fb2cf775c0fd9d45ce66203035375b037d38582eee078245906476b07ad4ce2() + { + $this->assertTrue(true); + fn() => (new ($test &= $test)()); + } + function test22a9ff3da5a6cc9928c2666fc62aa9f3833f2ae61d8b7ccecc34f4759beb446c() + { + $this->assertTrue(true); + fn() => $test->{(array) $test}(); + } + function test25877a04846f43b838a93c45ea8dff586815ac0bfc4ded727ecf0b0e6ce279fb() + { + $this->assertTrue(true); + fn() => $test->{$test || $test}(); + } + function test2823770b51d242aeecca34464fbffb4777e4b888c3f6d0f4268cd15f3307262d() + { + $this->assertTrue(true); + fn() => $test->{(int) $test}(); + } + function test2ad78258b934c5f879acbac5acc7526546a21aa63d4dc73381c20119d4c6a9b6() + { + $this->assertTrue(true); + fn() => (new ($test %= $test)()); + } + function test2f031d6f49f77d01371ae5f36d233131e155a9f1cd0d0054c817e2244adc86d9() + { + $this->assertTrue(true); + fn() => $test->{$test %= $test}(); + } + function test2fa4b88138a75ed5d5d223f0c2ee2505a865cb2d9b1940742f549b6839cb62c3() + { + $this->assertTrue(true); + fn() => (new ($test =& $test)()); + } + function test2faf09fd62355b6bf0de809f59fafee91332f0ce3959d71cb99d56f4bcbfeba3() + { + $this->assertTrue(true); + fn() => $test->{$test - $test}(); + } + function test30aebd2892bbe0144d7fab2508f55787b2aff705eb2ee62dda6fef9a6ffa9333() + { + $this->assertTrue(true); + fn() => $test->{$test -= $test}(); + } + function test35bff3c1afb5e1d6c8f2f7a178ed6b0057f416bed68a845c3e24cd13669b603f() + { + $this->assertTrue(true); + fn() => (new $test::${$test}()); + } + function test35fff66e34309bac2b44e88124e4932d8e2166b8ab7ef3a6f2467044ebfe97a6() + { + $this->assertTrue(true); + fn() => $test->{$test |= $test}(); + } + function test3618036bb1ddd0d58e51c613f335bece1bc02cbd121b637ea37c3d97df8f8796() + { + $this->assertTrue(true); + fn() => $test->{$test >= $test}(); + } + function test39da6647195ed89f0805161a10cb8d90f2f51ac7256b374b038bfa076a53a32b() + { + $this->assertTrue(true); + fn() => $test->{$test ^ $test}(); + } + function test3d4af0d53abf39fd86b7d52533e3c2808ce7a3aaaed4005f9f79a1b7353bc7c7() + { + $this->assertTrue(true); + fn() => (new ($test++)()); + } + function test40b37c9cdbe47ef6ec93c5cd4d4d954edb3e26e4f1c64eb2db35d50fff3f03a9() + { + $this->assertTrue(true); + fn() => (new self()); + } + function test462cc29461c40c70f3a51c549ee1d5471721739a13bcebc5ab70ef639d5b824e() + { + $this->assertTrue(true); + fn() => (new (``)()); + } + function test49b6ad82c71a31f334af6e62a1ef28bae2aadd92741f40a2555575967230c62e() + { + $this->assertTrue(true); + fn() => $test->{__CLASS__}(); + } + function test4a89f47644fa56c4353e5cc16b1fe23a3bb720092946ff20790fbab186aba6cb() + { + $this->assertTrue(true); + fn() => $test->{$test and $test}(); + } + function test4cdb961aab629885916a984b3cffc2442cef2d8d7b26f6a231fa1fda1e9f1527() + { + $this->assertTrue(true); + fn() => $test->{$test < $test}(); + } + function test4d969b77e39f666c9d7f04ee16c01240364dfe41ba480a2511ac61ccfc1d0f1d() + { + $this->assertTrue(true); + fn() => (new ($test **= $test)()); + } + function test4ee74effe2777c86049e772c423254a6d2006576f10a1bd71b851059574da45f() + { + $this->assertTrue(true); + fn() => (new ($test ? $test : $test)()); + } + function test546c402c0872bf8668cc810915d0a00a42d333a326843fa7172c164a0c542372() + { + $this->assertTrue(true); + fn() => (new ($test -= $test)()); + } + function test549167bc10becdcf9c85e962b1a4b1894ff582372545d43988abd1b049076281() + { + $this->assertTrue(true); + fn() => $test->{$test !== $test}(); + } + function test54d2379b1fbd2cf8854f40c08559d31bf5694f6a79e21d6bea03d837df4d5b8a() + { + $this->assertTrue(true); + fn() => $test->{$test * $test}(); + } + function test556592f3eca3eff6a8add6303286c99bfb973305064f7d194f2741a73344f919() + { + $this->assertTrue(true); + fn() => $test->{$test or $test}(); + } + function test5665c26734d40a516173f113c97dc74d3a4de1f28925adf29ebf6238cbf33756() + { + $this->assertTrue(true); + fn() => $test->{$test <=> $test}(); + } + function test5693a011d0dea13963aadcf7e9e8efea96d97cd57d0ef1c1288446cc1e10b6f3() + { + $this->assertTrue(true); + fn() => (new (new $test())()); + } + function test5757d5024414cb643fc14d63fde0f21cd12493d34f35978df045411a82d09444() + { + $this->assertTrue(true); + fn() => (new $test?->{$test}()); + } + function test5b64bf6445b7a5b1075e6244ed8303589ff6cf9ae1c53a486cba71fe466298b4() + { + $this->assertTrue(true); + fn() => (new (@$test)()); + } + function test5ebdde897c25fb3cc1d8a2ab4a06a42159f32961bb8ed1cad5ccef2b3a237d0f() + { + $this->assertTrue(true); + fn() => (new (+$test)()); + } + function test5ee0a73c5a1e850b75e506490c7f59d96d0ee3624bc5a3cc209bcf4e9187821d() + { + $this->assertTrue(true); + fn() => (new ($test |= $test)()); + } + function test61f802c3229fe3f4e9732dcff2c35c841682ce1ac9293c1b766a7fb0a09282bb() + { + $this->assertTrue(true); + fn() => $test->{$test % $test}(); + } + function test639a8f37bd08020f69b52b79ff5a99cfa6028801b8ad273a24caaf378b6d34bf() + { + $this->assertTrue(true); + fn() => $test->{$test ??= $test}(); + } + function test6498ce1f8154679d120c6514e1bbf07942f3b20da15e68a5851d6fdea40bec47() + { + $this->assertTrue(true); + fn() => (new (eval($test))()); + } + function test68751b69c38b9ab5c64a9f1ab6e608901c2173f11923a7f2ed6f2f7acf1638f8() + { + $this->assertTrue(true); + fn() => $test->{$test > $test}(); + } + function test6e7098cb73eb33f73037093f779d656e7f9c1ccab48129ab9c34d27cd59fc5e0() + { + $this->assertTrue(true); + fn() => (new ($test ??= $test)()); + } + function test71401b415ac7c1190050ef60313de8be95ced86d7c1638252f8c859ffa8a146f() + { + $this->assertTrue(true); + fn() => $test->{(bool) $test}(); + } + function test717e56f58514720eac89be8943d98bee76ee454cb4428926a9bd3b1d656251ae() + { + $this->assertTrue(true); + fn() => $test->{$test === $test}(); + } + function test74fe9a9220928a7e60cb5fc6d9b48958241df244882cb778a884eb45535bc7d6() + { + $this->assertTrue(true); + fn() => $test->{$test *= $test}(); + } + function test76b1378cdd4af9650a0463648de1fae7df68e34a657cc0a7b2c9781af90f9ac2() + { + $this->assertTrue(true); + fn() => $test->{$test / $test}(); + } + function test7899a1e6cdec0f84f8d4b78faabfccbee8ef2dc855108b930f2a80725bf5ff04() + { + $this->assertTrue(true); + fn() => $test->{$test <<= $test}(); + } + function test7b737f6eb2459c525abe4540ff943e27b9d777305d6d97181d7ab5c0209d050d() + { + $this->assertTrue(true); + fn() => $test->{$test <= $test}(); + } + function test80de74917ed53f06bf6cdb0924504ca17c889aec7d4f69ed902ed3368708cd41() + { + $this->assertTrue(true); + fn() => (new ($test <<= $test)()); + } + function test81e5a3a2c3cde5376a60d975fb9d2eb70ed29d195d34cd9abe83c32282de51cd() + { + $this->assertTrue(true); + fn() => (new (function () { + })()); + } + function test81e8d0ffdac79da1277806ffb284f80e77211827aaf6c68131fc48a920a74c3d() + { + $this->assertTrue(true); + fn() => $test->{$test xor $test}(); + } + function test820304dc1bb290e4ca0b4f6949fe825f834eb2d23ccb473aead221394b48a46b() + { + $this->assertTrue(true); + fn() => $test->{__FILE__}(); + } + function test83aaabca48d303ed7c604e7c14b779bae1a5934a17563d59143066c7b73d1998() + { + $this->assertTrue(true); + fn() => $test->{$test & $test}(); + } + function test87f5c895ea2e01f2333d3139ec8e6cbb523ad2354d3f46537269c681c14736b2() + { + $this->assertTrue(true); + fn() => (new (--$test)()); + } + function test8c0aa1f1a3a613992f93be6c1c5e81914bf218d33c58d7ac2e4b069c58b1cdc5() + { + $this->assertTrue(true); + fn() => (new ($test += $test)()); + } + function test8d4becfa7a8c801d79ff70ffdffdfa06c30983ccfcb67736cf78a37f09fb1396() + { + $this->assertTrue(true); + fn() => (new ($test instanceof $test)()); + } + function test8f408f4b61a23b65253536a11c4097487be93b7856ac82505f2869fa158c1a0d() + { + $this->assertTrue(true); + fn() => $test->{$test >> $test}(); + } + function test91069117794cc5ea764a809b3aaaffa502c02aed785d47fb56fdd81e132dc9fc() + { + $this->assertTrue(true); + fn() => (new (++$test)()); + } + function test9113ada20fd045e2795b8daaabfee77093a16897257ace4606abd3275eaebf27() + { + $this->assertTrue(true); + fn() => $test->{$test **= $test}(); + } + function test93e8a5d46d1012f4f7b7c358e7e58b6e53e59597a0b7fa08a1686ca45c22b058() + { + $this->assertTrue(true); + fn() => $test->{__FUNCTION__}(); + } + function test9ce59e4ac8cc6f777bf33edf45754453d8dda510370c6719466c69f5bdebee6e() + { + $this->assertTrue(true); + fn() => (new (empty($test))()); + } + function test9eb312077d928de0928e78cd7fe0e64642f152f41ad23bbafbeeb9b10f84212f() + { + $this->assertTrue(true); + fn() => $test->{$test != $test}(); + } + function testa3797c9bec5ea6ad003f9090c26c09c127ffbb7d9230e4fd43c2154092040baf() + { + $this->assertTrue(true); + fn() => (new ($test & $test)()); + } + function testa3a992782b520bda5adcc4e5b4428eff9c503720dc62f16b0024ce9a3b656cab() + { + $this->assertTrue(true); + fn() => $test->{$test << $test}(); + } + function testa4a71a80ed22b5113e003c7370b50a82fc15efb237060d3015b74354f8642511() + { + $this->assertTrue(true); + fn() => $test->{$test == $test}(); + } + function testa8eaba92274e954291a2b76972c0ab6254a572df9fb00d53a478b7acdc7b1235() + { + $this->assertTrue(true); + fn() => $test->{(string) $test}(); + } + function testb39a4862495d96d9c966724a3f9fea4608210bcd74c3642bfd35614022363719() + { + $this->assertTrue(true); + fn() => (new ${$test}()); + } + function testb58dea91bb8819f1914948c71e6264fb64b954719ff8f422c121a0110fab681a() + { + $this->assertTrue(true); + fn() => (new ($test ^= $test)()); + } + function testb6c993fe6335c91f89888fe1bf4f22fd1666c322efef3cc284aee8cf5581ce0d() + { + $this->assertTrue(true); + fn() => (new (yield from $test)()); + } + function testb77d35d80b23fdfb2314774b0173aee9452a6316c892a4e9eea8b93125611c67() + { + $this->assertTrue(true); + fn() => (new (!$test)()); + } + function testb857cf3c3bd92322515dfd49dafa93cb63c4019e4faa927839b869874c6c6962() + { + $this->assertTrue(true); + fn() => $test->{$test . $test}(); + } + function testbaa894db059d1f6a30365d43ae95a9cacb16e9225b8f592bacaf768ecac8c60b() + { + $this->assertTrue(true); + fn() => $test->{"{$test}"}(); + } + function testbe6e3976f594dfd3a236faaf7806596c1b9e2cbc377fa546f831a32f421276d0() + { + $this->assertTrue(true); + fn() => $test->{__TRAIT__}(); + } + function testc0b6f76d1f7c0c7fca1115fbefb5c64cf96407ef49fe775a28735f7e89ec2574() + { + $this->assertTrue(true); + fn() => $test->{$test ?? $test}(); + } + function testc6302ff00f34201d7d7cea3868dcd658bcd2ae2fa57ac2414fe6324c42c3a91c() + { + $this->assertTrue(true); + fn() => $test->{$test += $test}(); + } + function testca9c70865b6719882bc80796da2c82c7400cb54f9180c285b9b6d8486493f120() + { + $this->assertTrue(true); + fn() => $test->{$test ** $test}(); + } + function testcb95cd088857b161e99215854fa5b052db8968b81842d4eef876c48d256ab1b5() + { + $this->assertTrue(true); + fn() => (new ($test .= $test)()); + } + function testcffdf9dcef0027aff8e0915db5116850f0f60114f548c80c6617563d91aeea56() + { + $this->assertTrue(true); + fn() => $test->{__METHOD__}(); + } + function testd2d6385b94adb0fccfb91ad48fd7f66aa2d6d9afff6605c3c7d4eb257d4015b1() + { + $this->assertTrue(true); + fn() => (new (~$test)()); + } + function testd30ea37ccaef6a357d365fdc2eb8512fa0767ce7761ac30d7f2525c518bc460a() + { + $this->assertTrue(true); + fn() => (new (clone $test)()); + } + function testd6db09adbe5687309103e25ccfea54c2ad1fcfbd9760cd9bb3c58e1418aeb39f() + { + $this->assertTrue(true); + fn() => $test->{(double) $test}(); + } + function testd7f789bf4307f78d1d2419b918940897c03c5f5bb08ab3cff905fc7eeac49427() + { + $this->assertTrue(true); + fn() => (new $test->{$test}()); + } + function testd8d9d97e6c161ab68d64a94b2e257833ed1df3216eaef125421e9c782f454b6e() + { + $this->assertTrue(true); + fn() => $test->{'test'}(); + } + function testdef0eee28ec2787ed984859f14c62c8a811dc3476f96f66209e36f5b09c7412e() + { + $this->assertTrue(true); + fn() => $test->{__DIR__}(); + } + function testdf5564a6ca4bc731b3f11ad2bdbf476c0ea50f9b54ead776ff293d001cd0898a() + { + $this->assertTrue(true); + fn() => $test->{$test .= $test}(); + } + function teste31d8b7af3a6a798df462f4cbfcf80392b179944556ba1db685bd78ed7b4ff1a() + { + $this->assertTrue(true); + fn() => (new ($test >>= $test)()); + } + function teste4df56dd482a9246ebb5475a77b487196c6d6c910783dff5204115055ed19dbe() + { + $this->assertTrue(true); + fn() => $test->{$test >>= $test}(); + } + function teste83307fca2629998d3325a0b84623192962a3527bc337f317719031da66be0ad() + { + $this->assertTrue(true); + fn() => $test->{$test && $test}(); + } + function teste917028bd1babff77a65828c74b3a00d9420767ddae02784ce4670de61ce37dd() + { + $this->assertTrue(true); + fn() => (new ($test--)()); + } + function testeaaf8a8e7308ecd339515caf4c67e4987f025c02f2e91dbffac92be03db92182() + { + $this->assertTrue(true); + fn() => (new $test::$test()); + } + function testefd14db05567f18f7dabf112b255044d1c87f239eac4372d0329054efcebbaa3() + { + $this->assertTrue(true); + fn() => (new ( $test)()); + } + function testf0a480eb77204fb3b7a7f8b37afeba467e5eb67b150e5af2a4fa86ba12b3d3a7() + { + $this->assertTrue(true); + fn() => (new ($test *= $test)()); + } + function testf3365928bca12b7808e81c398fbf00ff47c016fb7ab942eb794155c96aeefbd5() + { + $this->assertTrue(true); + fn() => (new ($test = $test)()); + } + function testf74a8605db5b17f5d5337be81d4e9200fcdc7a4c4430765b13b8bc91bcaeda86() + { + $this->assertTrue(true); + fn() => $test->{$test ^= $test}(); + } + function testf84b51aa2b0ca1967dd7ab565fbf7486fffd1724d257b1f565c0606b76bc8f95() + { + $this->assertTrue(true); + fn() => (new ((yield $test => $test))()); + } + function testfce9eb1af17e96bc5702df9ca469d1d33bdf9fab1ca7a3ee3b4fe11f8140c395() + { + $this->assertTrue(true); + fn() => (new ($test /= $test)()); + } + function testfd379cdfe3532f45173e3750d0f64ee8e710f5c4b1acda8698bc1396db74df43() + { + $this->assertTrue(true); + fn() => $test->{$test | $test}(); + } + function testfd99ef86e709aa741e040236e8c76e0cb834705da064f7ffc32b9d7da65c0168() + { + $this->assertTrue(true); + fn() => $test->{$test /= $test}(); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest.php b/testsGenerated/Target/Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest.php new file mode 100644 index 000000000..2b686ce79 --- /dev/null +++ b/testsGenerated/Target/Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression3a36ea26c99fff0a759a64b5a675cd5533f41c49f9a4f727707443e712468a3eTest extends TestCase +{ + function test013daf4a27995e1d648965131c05b7a1dd9ea63e4705576d3bc62f7e529163d8() + { + $this->assertTrue(true); + fn() => (__CLASS__ or $test); + } + function test04196550a50337b1cbbeedbfa1491e0ecef5206a298d366d8d2b539eed139e53() + { + $this->assertTrue(true); + fn() => ($test or $test::${$test}); + } + function test041f75af70cdebd3216f9d05fed5369021e6e7fb4af008c712aa443b98136c4c() + { + $this->assertTrue(true); + fn() => ($test or -$test); + } + function test0b04af36dd2086df6f6ecfd7f868d87933f22451ad3ea85a51530a53c3df5a99() + { + $this->assertTrue(true); + fn() => ((double) $test or $test); + } + function test0d338b77406b6bc813f48675e3f7861cca572090a5eca0f7dade98de2ce481fb() + { + $this->assertTrue(true); + fn() => ($test <=> $test or $test); + } + function test1417e2a6576fb5593429f32427f1f8c14b8bd9aea011fc8dde0fbd84997b910f() + { + $this->assertTrue(true); + fn() => ($test or $test %= $test); + } + function test14a16cf2e0739eafb1f33884d43db070a31de778696e410faa7cd73d012d5d3f() + { + $this->assertTrue(true); + fn() => ($test or $test &= $test); + } + function test16b8841a67c57bca6adfa78a7d7627fb8055736d4d688de26c0ff42a95b43778() + { + $this->assertTrue(true); + fn() => ($test or $test -= $test); + } + function test17d92afb7191751fcb61d1717d5852eab93ddd7d9015460e4ae2a9d914a36cc0() + { + $this->assertTrue(true); + fn() => ($test === $test or $test); + } + function test18c1d2db5edf683f475534628dbeadad8c4724fbd374cb751c551dda72dbc5ad() + { + $this->assertTrue(true); + fn() => ($test <= $test or $test); + } + function test1af4794a4993f4e925d1d63c7cb861c5075320bafa22d19f320f3ac9915f6b79() + { + $this->assertTrue(true); + fn() => ($test or $test or $test); + } + function test1eeaff90f93ed3e14768a005b53ad0a28a44bdffd48b43cd36efd440323e5169() + { + $this->assertTrue(true); + fn() => ($test >> $test or $test); + } + function test1f80a3b96a1d267ca10a71bf376232c3c148ba1fbe27066ec145eec2fcc6a636() + { + $this->assertTrue(true); + fn() => ($test or $test ^ $test); + } + function test20b58524e7f8173407b68c2e95da6be28e3a5f86e8f1a916fa553e42d4b5afb3() + { + $this->assertTrue(true); + fn() => ($test or eval($test)); + } + function test2498d889095136fb7de17b944634a154be9f4d01b8a813bdc7e9f37a2a09fd83() + { + $this->assertTrue(true); + fn() => ($test or $test and $test); + } + function test2983912855527aac69f4f30d4d860f3d09e24a06a4ad900012a7cee44a3f56ee() + { + $this->assertTrue(true); + fn() => ((bool) $test or $test); + } + function test2e53942d5e5025990bb31193807155d25d97a22ed40782ac7de8c7b0e993df52() + { + $this->assertTrue(true); + fn() => ($test or $test()); + } + function test353f93492ace9d4d5ef253c46cd3cf4d4e326318d93fbdfed3221740aabe1467() + { + $this->assertTrue(true); + fn() => ($test or isset($test)); + } + function test38c406bf1f1d29dfab23f661df4f802d21bb5df914f3c9ddfd42b3e41492b192() + { + $this->assertTrue(true); + fn() => ($test or print $test); + } + function test38efe0b3378d238051d7b08104a6a0a2d0ba6bfff7d5e8c1ad639d9e0e8d7a62() + { + $this->assertTrue(true); + fn() => ($test != $test or $test); + } + function test394d24fc2aa44f30dee546dbeef1493f4b65a0bc18b91d3d437b932f3ab6dc0a() + { + $this->assertTrue(true); + fn() => ($test % $test or $test); + } + function test3e2a12ca35eac4598c32237b11a0ae9f3b535ddb2b2838f801cec98900e70f66() + { + $this->assertTrue(true); + fn() => ($test or $test .= $test); + } + function test40b49744d19f7102a7d18a1dfe573ab8a73c23d66219f361e482c73e2e70341b() + { + $this->assertTrue(true); + fn() => (__DIR__ or $test); + } + function test448907adcd8221e3b32ac0a9924da65c29429ab42ef167dc394d4f0fca28bb4e() + { + $this->assertTrue(true); + fn() => ($test << $test or $test); + } + function test46104aa9469b518006c80056d2ab611caa21ab05d2d91a3818e0f201cf593cba() + { + $this->assertTrue(true); + fn() => ($test or $test . $test); + } + function test4a212dbbae45bb169ddef8982a102fcd770d7152cbad07942097f9d2c55b4c3b() + { + $this->assertTrue(true); + fn() => ($test or $test / $test); + } + function test4b173206e48a2a99ba0cf2cf3c24bc450a90e3adec9e9f612c9bb3e23e153433() + { + $this->assertTrue(true); + fn() => ($test or $test || $test); + } + function test55568ddde9daf58977676234ef12ac84f458be5504ead33808e60ce9295c5501() + { + $this->assertTrue(true); + fn() => ($test or $test--); + } + function test57730ca5037210a970400aafec82d7575c7504f9289027ec8d2603c27792d503() + { + $this->assertTrue(true); + fn() => (0 or $test); + } + function test583ec5b04dd3dbbc81e29a39a6b19b3ddcfbecdd9685229ea5b33cfcc7226a5b() + { + $this->assertTrue(true); + fn() => ("{$test}" or $test); + } + function test5934c329b7e315cf5f55dd1198a1cbece6c0e7a3a4a20f69b395c5e9a1af00d4() + { + $this->assertTrue(true); + fn() => ($test or $test |= $test); + } + function test5fa1c6e907a1611e3957af66c9d30bed3a223f00d6b482788a0b6e6fb35d091c() + { + $this->assertTrue(true); + fn() => ($test or $test **= $test); + } + function test665cc15f26e8831fdf2fab8ec28c443cc613fbf38939f61a95dcb36240e4e31c() + { + $this->assertTrue(true); + fn() => ($test or $test ? $test : $test); + } + function test66a3ec58d2dab80495e33eaef9d09dbe28d4dd46dd2727a8bb13f95ea32a0666() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ or $test); + } + function test6ba6c848bbd411d3f1e68bee6042c3de055b70a211eef6c28413886884911e43() + { + $this->assertTrue(true); + fn() => ((array) $test or $test); + } + function test6cc4e909199813c7f43f652eb8b65b071e889ecb860b6741dbe46e3735f6b317() + { + $this->assertTrue(true); + fn() => ($test or $test *= $test); + } + function test6d0bfb8314975d16c93f03c82f6295c59d7d7d88ccf21ea3fbf1b9e0418a8b8d() + { + $this->assertTrue(true); + fn() => ($test ** $test or $test); + } + function test7602ce895e42a9dd023a1be1f8debc32e67b6e5e343100875def45d2ede58714() + { + $this->assertTrue(true); + fn() => ($test or @$test); + } + function test77e2e43f78fecb3c7716f45d2bd6417a530d3e766edc92fba78c2d30d3421e8e() + { + $this->assertTrue(true); + fn() => ($test or ~$test); + } + function test78f9a21eb53d648c3b8882a511c5cfab0c69cfe5b8db5f635f6688a154a235ba() + { + $this->assertTrue(true); + fn() => ($test or $test->{$test}()); + } + function test7b922b5cfe7cd9b7ddc13e7316ddd53ea39726e48c7c4ff05cd4126f990d26e7() + { + $this->assertTrue(true); + fn() => ($test or $test ??= $test); + } + function test7c163af06f184da0137b52de9f816a630f316e389b0b54789173f8daeaf67604() + { + $this->assertTrue(true); + fn() => ($test or $test >>= $test); + } + function test7c267f33f404d594f2547437431ed47c18e65cef62b974d221002abeb51ea274() + { + $this->assertTrue(true); + fn() => (__FILE__ or $test); + } + function test80b07bc9cd83b7d33f432c16d35a99742145dfee78b52f5a459ef22bfd780441() + { + $this->assertTrue(true); + fn() => ($test or $test =& $test); + } + function test818f0065781855c48d189d83130b6dfc88976f993b08697785b5b94c57e5ea09() + { + $this->assertTrue(true); + fn() => ($test or $test /= $test); + } + function test869f313546f4afb9e673602f7d772375db570c2e379de1b5f0e9e4b7c41fa829() + { + $this->assertTrue(true); + fn() => ($test or $test); + } + function test881ca2a8326107190c3096ce08573b0f78a35d3bbcc55d40889eef6d1188ee9b() + { + $this->assertTrue(true); + fn() => ($test or []); + } + function test882d1e29d595da5e691e48d5cd7b23b2da96c7b36d755703d4ef320f5e53731e() + { + $this->assertTrue(true); + fn() => ($test or $test | $test); + } + function test89f6c3ff30c674f8730dfc6f51e2f44126d222a7e8e63f727c36c2ec9b49f404() + { + $this->assertTrue(true); + fn() => ($test or clone $test); + } + function test8ac4a3d8de97e0245cb1b6e2ba05ef880804799e0aad1ea99ae35940c06b81ca() + { + $this->assertTrue(true); + fn() => ($test or $test += $test); + } + function test95f3321289b43613ef05cae7497b978cc6de20a795e2ed54620b0ef10a9aac6d() + { + $this->assertTrue(true); + fn() => ($test !== $test or $test); + } + function test966c6e2842df1815ad7b45d21593bcd80068457f57952fc69a874469c29702e4() + { + $this->assertTrue(true); + fn() => ($test or --$test); + } + function test96d2515232d1a2415da73815748d6b95a41f94bb2074fe19e019c0390f10ae2e() + { + $this->assertTrue(true); + fn() => ($test * $test or $test); + } + function test9af1e4c268eb2371d94b9e01df9e082bd326f34484d42dd76d692b773e5d07b6() + { + $this->assertTrue(true); + fn() => ($test or $test[$test]); + } + function test9e9a2fa1bb62ca0d8fe9a2687a3b321a7f007b648d33d64a5a8024a9724c184e() + { + $this->assertTrue(true); + fn() => ($test - $test or $test); + } + function testa028eafd7df7944e87c099cc2aefce519c494e66fcc7b9a75de3e5d11b5cf33f() + { + $this->assertTrue(true); + fn() => ($test >= $test or $test); + } + function testa0f595018a36adbd3b02435c5ce158f8a4d194b3aa59a94d117b12f4cbffd7aa() + { + $this->assertTrue(true); + fn() => ($test or self); + } + function testa28c1569cbfd567847a22559c670cecb2d8e54aad147c12a5691ac2a52cc9bd2() + { + $this->assertTrue(true); + fn() => (0.0 or $test); + } + function testa505d4529f50722f0a18381e1cc20c665af0998f34d52c7b5f9b0de1c28b0545() + { + $this->assertTrue(true); + fn() => ($test and $test or $test); + } + function testa59a88978c739c531cadddcf1f5a482b989c5cd1729e1db64e0b89c18076465b() + { + $this->assertTrue(true); + fn() => ($test or $test === $test); + } + function testa74136a782f638fe2fa74a62137909ab9dbd045b8665b26c4d26ec26718f0a30() + { + $this->assertTrue(true); + fn() => ($test or $test <<= $test); + } + function testa95c27f5a3c0be8d8001be4d2d92354767ae95fa306cacaa098983536513bcb8() + { + $this->assertTrue(true); + fn() => ($test or $test?->{$test}); + } + function testa97441cfb1b5f34b4b084b147aea01149cdce17a3c326e25db433a95965c9e88() + { + $this->assertTrue(true); + fn() => ($test or $test && $test); + } + function testac970443a4d544685d182e3076939efe6cbe912a2937fba87fbfd1dd3a80e661() + { + $this->assertTrue(true); + fn() => ($test or ${$test}); + } + function testb0b91390dda5dec3c2d538cb667736d6c1f97f7c78e18eaeff5dd8bbefe5e86e() + { + $this->assertTrue(true); + fn() => ($test or $test = $test); + } + function testb26423d5ebb82065f6245ed53c34bb55e572b0a3e1ed32b2003d6345759aad88() + { + $this->assertTrue(true); + fn() => ($test or $test ?? $test); + } + function testb543e379aa943f34568fa25724ae84e65c1477a68cc1bda9301aae4e5f576e5a() + { + $this->assertTrue(true); + fn() => ($test or ( $test)); + } + function testb57e21b4f110785ec8538c2d20e1582994207128749cbb8ccd9f6bdea06eeccd() + { + $this->assertTrue(true); + fn() => ('test' or $test); + } + function testb5d68c8e660803b25754008ea17de4e68b21f8a9426cdac2e1b1d8d67a773318() + { + $this->assertTrue(true); + fn() => ($test or ++$test); + } + function testb6eb91acd9a744ddd3e4fadbb5d51499671c80ab53db2d058d0199f2ac397738() + { + $this->assertTrue(true); + fn() => ($test or $test instanceof $test); + } + function testbc65f5582f7c89c863f508faec5ad2dc08a2a84f1f9b5b1d6eee1739a85c2b5d() + { + $this->assertTrue(true); + fn() => ($test or function () { + }); + } + function testbd96e460fced4d8c9e044ce3091080eab8ae19f112ddc1f01cf262a4aaf0d20a() + { + $this->assertTrue(true); + fn() => ($test or empty($test)); + } + function testc2aa3c4c16a86bdd3bc119aa31bacc770dde41db974fd5d39fd350d557ab822e() + { + $this->assertTrue(true); + fn() => (__LINE__ or $test); + } + function testc2b21fcf35561ad837fcd3a9f0df51e4d56e2e1b0de0d9b55cd48e61d2c86639() + { + $this->assertTrue(true); + fn() => ($test xor $test or $test); + } + function testc7d3c427d35d7d782a74f63d99352e18ebbb690e8c436e2c7f0152637551d7c3() + { + $this->assertTrue(true); + fn() => ($test or $test::$test); + } + function testcd9cc264b95cf03e51980ac42ac4ee63e6fa377f180e6c1834325876bcc094ec() + { + $this->assertTrue(true); + fn() => ($test or match ($test) { + }); + } + function testcdb94078db18834f1d7d6548f39f56b8283cde40abb3fd916b37cf2656322047() + { + $this->assertTrue(true); + fn() => ($test or yield from $test); + } + function testcddc829a913a5df262b0ae741a363b245d52ae3351e6f02bda3b3aad2fbcd589() + { + $this->assertTrue(true); + fn() => ((string) $test or $test); + } + function testcdf00bcf94b03c19c190f0a4dc88e8ccb9513c2b9c236477d74f8fb2f4bef2de() + { + $this->assertTrue(true); + fn() => (__METHOD__ or $test); + } + function testd4f0eaa52b7ba40221301ac78298050ff4300cfcd590147763d41123b15f720e() + { + $this->assertTrue(true); + fn() => ($test or $test == $test); + } + function testd9d0f276a5b41291062cbe657ef318acb9e0dd80498449bbdc3fbdce21f125e5() + { + $this->assertTrue(true); + fn() => (__TRAIT__ or $test); + } + function testd9e5a8228ca01b91bb72873176a9077bec2091f77a2ee94cd9cf186945396114() + { + $this->assertTrue(true); + fn() => ((int) $test or $test); + } + function testdb7f55568ddc99c57b013497d3f65440a83cc281d765fd0120a78cab90a9c213() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ or $test); + } + function testdd36ffa00d3accce07d3f2451576253903eb5485ec5ab0dc9a05b7341bd55f9b() + { + $this->assertTrue(true); + fn() => ($test or (yield $test => $test)); + } + function testddc057a01cb0d17e9462d5b0975d425b2b7aa07fe858b3583876e7b234798e58() + { + $this->assertTrue(true); + fn() => ($test or !$test); + } + function testddcc9d175e527d70e5d85357779a06e1720d3863eebd03369ee6edaa4ce67196() + { + $this->assertTrue(true); + fn() => ($test or $test >= $test); + } + function testdf5e4b8d7bbcd5825df8d32f78eb0ae6e7e054c0cc9bab31723081d2f8a7bcf2() + { + $this->assertTrue(true); + fn() => ($test or $test > $test); + } + function teste56398cd58cb0571fe5a737017305f5f4bd3d612c0c269077a07cdbbd336723d() + { + $this->assertTrue(true); + fn() => ($test or $test & $test); + } + function teste8cdd5c0ea96f04e7bd60205fefb334ef0360319802a227df495360bd0f1888e() + { + $this->assertTrue(true); + fn() => ($test or ``); + } + function testea2c9b92c1d03dca844c03eda7c348a342053d9a27c46a4ae5580649eead08f6() + { + $this->assertTrue(true); + fn() => ($test or $test ^= $test); + } + function testea498309c42aea81764d889b145f3c7b452f6fbf4651565eaeca7b135de234f0() + { + $this->assertTrue(true); + fn() => ($test + $test or $test); + } + function testec568282d1f0c090854e2a35992bc0d09767973047d4eeacf5c0f4de8f52959b() + { + $this->assertTrue(true); + fn() => ($test or +$test); + } + function testec9fae7f489cbee39710276aef32127aa4fa4f0c6672150d9c5ffc1b59172e97() + { + $this->assertTrue(true); + fn() => ($test or $test++); + } + function testef934ff9b2fd7e2b2110635eca773a2f8a1144c300d874a2e36fe3316c3088f1() + { + $this->assertTrue(true); + fn() => ($test or new $test()); + } + function testf0c0ef9ef06e741edf70fdfafd547026ca9f026f5dd5223c36915cf294ee21c8() + { + $this->assertTrue(true); + fn() => ($test or throw $test); + } + function testf705d5584ae995c534b48da87715fc88ac3ce7d11fef94de771dd163afe0a3f3() + { + $this->assertTrue(true); + fn() => ($test or $test->{$test}); + } + function testf8640aad7ac9958d1d051db3b435b4eb75a70dddfe5cfaf8da348c7aeb945aa0() + { + $this->assertTrue(true); + fn() => ((object) $test or $test); + } + function testface41df17faad3c8034fdf55eb529e0d363f2c3a38eef2f20a8b2b33da5bd3e() + { + $this->assertTrue(true); + fn() => ($test or $test?->{$test}()); + } + function testfd76c746e1f70c1651c8336e6f2012c1dc460536a985195bf948b5646ab9be5f() + { + $this->assertTrue(true); + fn() => ($test or $test::$test()); + } + function testffe119e582a90f2ee38ceaa026bd894d91cf4069f365ac60e2672f1bed3f4b02() + { + $this->assertTrue(true); + fn() => ($test < $test or $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php b/testsGenerated/Target/Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php new file mode 100644 index 000000000..d68094e66 --- /dev/null +++ b/testsGenerated/Target/Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression3d62cc15878e7aa017b079a5c45ab7c13c37a2ba69f252c9c7d6aa937bc2d89cTest extends TestCase +{ + function test0031aaedfcdae49f1cae4fc0996a3ed796d754c409fb4b5a84d492817dfdbb57() + { + $this->assertTrue(true); + fn() => ($test->{$test} <=> $test); + } + function test01455ca549cb16eebf27852caffa8cb93b21164005458d9674be259f8836309a() + { + $this->assertTrue(true); + fn() => ($test <= ($test <= $test)); + } + function test036cf2197fbf4be16d2d04cd9336f91e433024892fbd2772be4c24f2ac04652d() + { + $this->assertTrue(true); + fn() => ($test <= ($test |= $test)); + } + function test05b05850953cbb8de63ee0642722dee73fbd95605820ddad23f0a42502e09423() + { + $this->assertTrue(true); + fn() => ($test <= ($test & $test)); + } + function test06d1db3e206676c6660496ffaca2c083e6c4ae48a8b1e9819af50c213d1661e7() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) <=> $test); + } + function test0b2fa74e8f5205a2a4edaafa0e7c0b5cd8e1360bcb42431709a5825387aba73e() + { + $this->assertTrue(true); + fn() => ($test <= $test % $test); + } + function test0eb38d354889147a532f7bba8ceb2c6695468e0cacb07189459efab75aeac4dc() + { + $this->assertTrue(true); + fn() => ($test <= ($test == $test)); + } + function test0ef01dc0fc13bf1c0d8fed908d64229f6a6c897792f2d49ca263913e45d8812e() + { + $this->assertTrue(true); + fn() => ($test <= ($test >>= $test)); + } + function test0f0ade965925acb5d49a2a701faf1636d25a43e5ca39d05d2247db650095750e() + { + $this->assertTrue(true); + fn() => ($test <= ($test %= $test)); + } + function test0f95abec920ca7168f7d8f7f4965d3b2a8ed09d4fe6320a2d6faf666507ca80a() + { + $this->assertTrue(true); + fn() => (($test =& $test) <=> $test); + } + function test0fe09c0fb38ee444a3c408b04f0f8e25c37da2c478a5cded8faec190214811c0() + { + $this->assertTrue(true); + fn() => ($test?->{$test} <=> $test); + } + function test11ff16a883c574b095f29c497febae2b61e7541df200f18ca10df60e7de199e5() + { + $this->assertTrue(true); + fn() => ($test <= (string) $test); + } + function test121c66f526abbe9da3dd992300ecb51d2629bcedd67e83dffd08c8ee99b80f8b() + { + $this->assertTrue(true); + fn() => ($test <= (array) $test); + } + function test1345ee963f63a0bc71ad2a548a7bb84cdc45423ee91f70d19a408d68945cef94() + { + $this->assertTrue(true); + fn() => ($test <= (int) $test); + } + function test17f18f16668c31eb750ae3d20e3db423278bee44eb94bc4cbf6d7ee1560c088e() + { + $this->assertTrue(true); + fn() => (@$test <=> $test); + } + function test1941a39da2100b7bfcba275d11eca861253c1d1ce50680fb740ea01fba8b1da8() + { + $this->assertTrue(true); + fn() => ($test <= $test + $test); + } + function test1959ab1875c77f894f3814cf3243a2d6542c79d37ebbff150317af283961b850() + { + $this->assertTrue(true); + fn() => ($test <= (object) $test); + } + function test1af89542f0b2cc58cdd4decb1073d4b55e3e5836bc5e49396897723d57df6cd3() + { + $this->assertTrue(true); + fn() => (eval($test) <=> $test); + } + function test22f7b83b8f3ee493a97e7bdb314cbeb4bb84b9afe3ac853d2bdc2b246d61c623() + { + $this->assertTrue(true); + fn() => ($test <= ($test < $test)); + } + function test231b543e2f1617632972648b7c73cf12d6ad0277ca839f62840e3ebc1708add2() + { + $this->assertTrue(true); + fn() => (match ($test) { + } <=> $test); + } + function test258f7afff3b6a6a6068c2a37a9b4d4b5d1804dfe8c88170b164d9fcd5c994ca9() + { + $this->assertTrue(true); + fn() => (~$test <=> $test); + } + function test25b3b69628ab6297cb93a192761287f4bc0228d81332acbed1943de1a434e07b() + { + $this->assertTrue(true); + fn() => ($test <= (yield from $test)); + } + function test29be2ac1977ded86b020261e98de1a99e9d74466b3e9e60934c5fb1a3b6e1a4f() + { + $this->assertTrue(true); + fn() => ($test::${$test} <=> $test); + } + function test2bc6c7ef0b3a8fa8251154b390d5f1b90bb4f3572f883d09ebd539a7ced30582() + { + $this->assertTrue(true); + fn() => (clone $test <=> $test); + } + function test2f55cfe6ded8502d96ed4a2c774b4dcd96c922bdcabc75bcee26e2d91378c4f1() + { + $this->assertTrue(true); + fn() => ($test <= ($test ^= $test)); + } + function test37e75aa14fef08ab45727ad6f1468c3e2b3d5728d28739b40b1e43a6287fbc9f() + { + $this->assertTrue(true); + fn() => ($test++ <=> $test); + } + function test37ff2b2844b7486dc2f4970eef2a22d8e11190a0c690d4af2bd003fa0ff9bf71() + { + $this->assertTrue(true); + fn() => ($test <= ($test xor $test)); + } + function test3a3461f96389c05cf0973ac8b7269aad4a7398d7902c7a5af0f22f834ba05683() + { + $this->assertTrue(true); + fn() => (function () { + } <=> $test); + } + function test3aa07b7ea2c7820ce61b0f2d486177b35f02d0d0bdd62ae3ad52b234c1c74338() + { + $this->assertTrue(true); + fn() => ($test <= ($test /= $test)); + } + function test3bcc967a00ca821d992d284c63f9e44ca895bdad09d54c1a53f3c1ce0bb3a409() + { + $this->assertTrue(true); + fn() => (!$test <=> $test); + } + function test3eb616a28b947840a8223a513bed0c6491b7d6d3e4025a4c13d71609158867e3() + { + $this->assertTrue(true); + fn() => ($test <= ($test && $test)); + } + function test477f42eef4ba7466e8864fb6b3d5af72a17b50a9d469c5c2a87d17f8eb534006() + { + $this->assertTrue(true); + fn() => ((yield from $test) <=> $test); + } + function test49d943bb36f4d5dfe1f32a099a6d14820bb663395091c48581016cbedbb6d765() + { + $this->assertTrue(true); + fn() => (+$test <=> $test); + } + function test4defb05bd6f95dfc2f22a014aa83a7ea9cc64f5eae47510cf66e2ddd7f610991() + { + $this->assertTrue(true); + fn() => ($test <= ($test *= $test)); + } + function test5185907334a228cca8c4b208c971efef3907de5c6cee6495cc36f57f3c3cdeb8() + { + $this->assertTrue(true); + fn() => ($test <= ($test and $test)); + } + function test52e3080a31f2cc465146f0d42332aa03bf8f5524c8777f565a55b81957bf9bab() + { + $this->assertTrue(true); + fn() => ($test <= ($test || $test)); + } + function test5556b58623d0c341eff2ed27809f6f3980cff8d72b5b78af2b5c40ae7ac7eb72() + { + $this->assertTrue(true); + fn() => ($test <= ($test ??= $test)); + } + function test57423bcc98254166e861f5c1a679bc43d52ae27247622e86dace5c19519ce317() + { + $this->assertTrue(true); + fn() => ($test <= ($test !== $test)); + } + function test5eaa6cc8e8295754f34b8693e80ed03a529f620004d1cbed07ec9ab70980739e() + { + $this->assertTrue(true); + fn() => ($test <= $test * $test); + } + function test5f4c9d6cab00ea8691f1690c678cf5e1b6ddcaa6faa3c2ec33e95d7c8f9ba7aa() + { + $this->assertTrue(true); + fn() => (throw $test <=> $test); + } + function test62dbfa7d3c9099e26e2ffd4ef710ecf019fca7499fb48d202e859804d8493ba2() + { + $this->assertTrue(true); + fn() => ($test instanceof $test <=> $test); + } + function test6813fd1ae4eb31bf46d62696b3ffa3f38e038fdfa977abe42c19e987197a147f() + { + $this->assertTrue(true); + fn() => (empty($test) <=> $test); + } + function test6a0241b63b36d86b0e9b277f820f8fc89fd3d1bb169e19ddb827fb329c342164() + { + $this->assertTrue(true); + fn() => ($test <= __METHOD__); + } + function test75366663fa898e4bd0f2d242b3bb401226d167229412eadc592935e9b92ebd95() + { + $this->assertTrue(true); + fn() => (($test = $test) <=> $test); + } + function test753ecce8a618f8c85dfde123415db3f5194af514aa4e12e6841943982c3dc669() + { + $this->assertTrue(true); + fn() => ($test <= ($test **= $test)); + } + function test778ca28760393074a57014c76c12fe55575cb7d5f9748b93c4b299ff41d9f622() + { + $this->assertTrue(true); + fn() => ($test <= $test ** $test); + } + function test78688d54ad5455e3959f21586c5e012c229c0646a7f5f4deca2c24a8dca84150() + { + $this->assertTrue(true); + fn() => ($test <= __CLASS__); + } + function test79edb776391f6aefa663b5922b841ed72d6049c3f3a2a3ef355c4b79756aa977() + { + $this->assertTrue(true); + fn() => ($test <= ($test <=> $test)); + } + function test7d3ebd6f5b8e4500579bbd779632af2c1b845dc38d14fc15e023c63ffa480c27() + { + $this->assertTrue(true); + fn() => ($test <= ($test &= $test)); + } + function test7e846709bdf3452e748e7a6431e658d8f80cb10365db1cdcacfa1be154e37477() + { + $this->assertTrue(true); + fn() => ((print $test) <=> $test); + } + function test7ff9736f5209ac6ec7358e1eb9c189d55bea41b867593f360680e0e763432968() + { + $this->assertTrue(true); + fn() => ($test <= ($test != $test)); + } + function test82ed396c112fffe4015cc4e0717b2ad89e78cc1a41a96f3103834f21e3e5df1b() + { + $this->assertTrue(true); + fn() => ($test::$test <=> $test); + } + function test8755da5e0b36ab1cdb3637a565a5f0f343365d77361053a1fae2a61d22ddb7d9() + { + $this->assertTrue(true); + fn() => ($test <= $test / $test); + } + function test8a12b3f2ead50ace46921bdaf3fe0405aac148ea0dc18fe18a36ab8ed256c1de() + { + $this->assertTrue(true); + fn() => (++$test <=> $test); + } + function test8e12ee6ced024bb2a72fd01db15828376ff87ce7c66c6b262a6c2dc48eacbc32() + { + $this->assertTrue(true); + fn() => ($test <= __LINE__); + } + function test91a9288d0e36632c6ec9ff7344d306be55de5541bf53240a00a5e69fcb18397d() + { + $this->assertTrue(true); + fn() => (--$test <=> $test); + } + function test95a6456af535eaeda1d293ea83d500946b42a0ac7496d29e35ae1aeb1c8867e9() + { + $this->assertTrue(true); + fn() => ($test <= $test . $test); + } + function test99f314824e3dee5bb9a934f86cd9df1c14b262bb2b23a78927014e7ea7fedd38() + { + $this->assertTrue(true); + fn() => (self <=> $test); + } + function test9a485ea9e6445b7e52c6af83e18cc77d3c7364f4018d2c5c0d3e171dd6c882e7() + { + $this->assertTrue(true); + fn() => ($test <= __DIR__); + } + function test9f0163d7a1d0b41e2a1c2c2dd08eb6a862a5a8cd2a76499385e06b3daf2ff363() + { + $this->assertTrue(true); + fn() => (( $test) <=> $test); + } + function testa0f1639ca478a50666af971d87e4f3171632c83077bda34ea8a21c7810fa1b1f() + { + $this->assertTrue(true); + fn() => ($test <= ($test += $test)); + } + function testa14a2e0eff00e03caa10e92f3dd646d54a61637e2c3ea84edebf9eda893a998c() + { + $this->assertTrue(true); + fn() => (new $test() <=> $test); + } + function testa15c355489188097757637b62980b74b8fd02b100a4e730a33fa545971995d5c() + { + $this->assertTrue(true); + fn() => ($test[$test] <=> $test); + } + function testa41964ef7d0cba829e3b373d54b3a71927ecf82aad989e4d41d24856ca7c4e63() + { + $this->assertTrue(true); + fn() => (($test &= $test) <=> $test); + } + function testa6170bc26d1151bb71e8644b28a1e5d683fd618df0708ca8b0cff33009cd0594() + { + $this->assertTrue(true); + fn() => (`` <=> $test); + } + function testa7f143188f17704776eee9f3241b0dc989577279862a62415e6af42e2a2ee3f6() + { + $this->assertTrue(true); + fn() => ($test <= ($test | $test)); + } + function testb06830cf35b99a45ea47bcf15bbaca5e3d494dc4ef8ced80621c161112798344() + { + $this->assertTrue(true); + fn() => ($test <= ($test -= $test)); + } + function testb48328d6679f1688bbaa80dc8b9c58018fd5ccf7020fe324593a538771ee3fb7() + { + $this->assertTrue(true); + fn() => ($test <= 0); + } + function testbaebf53c947d53c2c35c420e8050e6e25c08847396a2a20f8b5fabffd3bac9bf() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) <=> $test); + } + function testbb3d465d1439a430396260281ebd5bac3081e72c85a08c4aa9c5ea638a19d7b4() + { + $this->assertTrue(true); + fn() => ($test <= (bool) $test); + } + function testbba387ba070e5596371c34a38ef8263c81a8b3046fd5533272fef72f1b6fab04() + { + $this->assertTrue(true); + fn() => ($test <= ($test > $test)); + } + function testbde1ba046b2096609a935b069502db68103346720f7100d842167ec850de094e() + { + $this->assertTrue(true); + fn() => ($test <= ($test === $test)); + } + function testc16065343d523479c52146f57db895bc630ef95f64ac8077fb04fcae70584557() + { + $this->assertTrue(true); + fn() => ($test <= __TRAIT__); + } + function testc251698a34d829d1f0c59d10a1a338f47beb17515aaa0413fe3bbf14200a1116() + { + $this->assertTrue(true); + fn() => ($test <= $test - $test); + } + function testc39aca701a72a59794ae1d54f313450506ecb2cab17170212947dc9601f51fd3() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() <=> $test); + } + function testc717d059ebe766a46abfc51835b6792edea88ff668384bf9b8cccd5fbf5f2389() + { + $this->assertTrue(true); + fn() => ($test <= (double) $test); + } + function testc72c0336da5e4ff2791d4e48321e29c902c99786ee735ee50c41b8ad9d2b0a96() + { + $this->assertTrue(true); + fn() => ($test <= $test >> $test); + } + function testccd800f659118ebc02c4f2f8007551ba615821d987cce986223b844c70bb7c32() + { + $this->assertTrue(true); + fn() => ($test::$test() <=> $test); + } + function testcd42d21c7970ca0fb3fdb51989538551500ff42221275f7474f9f6f7c70b332d() + { + $this->assertTrue(true); + fn() => ($test <= 0.0); + } + function testcd7319d045d61a3015e3784bf8b5686ea44482883080448f59a4037d23b42b47() + { + $this->assertTrue(true); + fn() => ($test-- <=> $test); + } + function testce4ff49a3b84acdfea6503d7240380998b8e8c4e2b3b4443ea56c45680874b72() + { + $this->assertTrue(true); + fn() => ($test <=> $test); + } + function testd0c2f0ba0563273d9747fae72d4a6018ce1aef03b0e0a132b4fedf3bee7b6c09() + { + $this->assertTrue(true); + fn() => ($test->{$test}() <=> $test); + } + function testd0de12dc9fe89c6549ba67d6818a79f237dca00c16f3ce431001073a3d4cb878() + { + $this->assertTrue(true); + fn() => (isset($test) <=> $test); + } + function testd6077c252358097f2992abde8a4a39052a83b992c8d3fac4e67e0d492efa8d55() + { + $this->assertTrue(true); + fn() => ($test <= 'test'); + } + function testd738cbd8a5e3ee94e3936340b719ea5f94cbce552907b4a1cbc20c57d3f382cb() + { + $this->assertTrue(true); + fn() => ($test <= ($test .= $test)); + } + function testdc889b0ca2abfea93b76dbc9195cd70ec159f9d85671e203fb98cfa9d8c3d2e9() + { + $this->assertTrue(true); + fn() => ($test <= ($test or $test)); + } + function teste0afe40fdb16e268950bc3a73b1a568a3ca8624198af43d7fd2f97bf06ff7c83() + { + $this->assertTrue(true); + fn() => ($test <= ($test >= $test)); + } + function teste7762983f268d09d59d9f91ca02adf9e00e53c422cc340fa3bdd21750e1a5d37() + { + $this->assertTrue(true); + fn() => ($test <= __FUNCTION__); + } + function teste86307f59df1b8fd2edf6c5ab54dbe75fccbbd61a168e16cd616a16bce0816b9() + { + $this->assertTrue(true); + fn() => ($test <= ($test <<= $test)); + } + function testeb1f7df57203053458c70b9cb7d343464fe98ab42d646eead6833bdf07022534() + { + $this->assertTrue(true); + fn() => ($test <= ($test ?? $test)); + } + function testecd622e1fd7b13aaed3a1ae4ff9c4ac3e81780d3811f89df2acb2102753b8099() + { + $this->assertTrue(true); + fn() => (-$test <=> $test); + } + function testece8f0c8c04172f38715fb47b39ec58468368edca3b924415f7f34503aca9b80() + { + $this->assertTrue(true); + fn() => (${$test} <=> $test); + } + function testee29c35f2505b3b3efc413e5df3e6d9852179936fd9f738155df7e0ef0a2d9d2() + { + $this->assertTrue(true); + fn() => ($test <= (yield $test => $test)); + } + function testf1b3acdc1618d26585a5f09825722c342f58ece8e588c56cbf823e6ab36ece71() + { + $this->assertTrue(true); + fn() => ($test <= __FILE__); + } + function testf47fc6b3af73e9016c93a8b5f45e9092f2fabafeee17ec23a74694c8d979d099() + { + $this->assertTrue(true); + fn() => ([] <=> $test); + } + function testf663d2440f9a60d6b6df7cb282c3597895ad9d76334388a560fd1eb819d9ee5e() + { + $this->assertTrue(true); + fn() => ($test <= __NAMESPACE__); + } + function testf7f9263a04a55537c9a946ced485846696dfebd783aaaf1be90a718d12ed10b8() + { + $this->assertTrue(true); + fn() => ($test <= $test << $test); + } + function testfcbc85ec19abaf05ed7a15540f91d9e50c397d539cb0305427ddfeef1c63b7fc() + { + $this->assertTrue(true); + fn() => ($test() <=> $test); + } + function testfdb07bb2879546688007fc3540ceed3906b7a795b5b593a8d50e25757e718ae2() + { + $this->assertTrue(true); + fn() => ($test <= "{$test}"); + } + function testfe968055288eedf06ade8bd4e34bd7041966d08b9f247f62e12df951ac52bcd7() + { + $this->assertTrue(true); + fn() => ($test <= ($test ^ $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test.php b/testsGenerated/Target/Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test.php new file mode 100644 index 000000000..5be6e8677 --- /dev/null +++ b/testsGenerated/Target/Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression3f620aa4c0766b3b9fb5a416e61dd002171200598941955144e383410aab7c79Test extends TestCase +{ + function test0059d596ba2616238811cdb6fda9f340a0ce572a0433d18c199722afb6e84937() + { + $this->assertTrue(true); + fn() => ($test / $test[$test]); + } + function test0145c3ef7eae77b2a4f3422c89afe1714b3e5174d1f77a795b53cbd690e5a5dc() + { + $this->assertTrue(true); + fn() => (__LINE__ / $test); + } + function test06f6bb9a1b8181dd70d1ed2232b43938d179223bbcd36d50abb76b8dbd0ccd24() + { + $this->assertTrue(true); + fn() => (++$test / $test); + } + function test0cbda68514158500ce58c59269480856559ea152c5c356e62ab3ee07d951bff1() + { + $this->assertTrue(true); + fn() => (($test |= $test) / $test); + } + function test11dc1992dddbbe98f03f9bc1963ea936a95bfd4900ba74270fb24f9d2f19ad7d() + { + $this->assertTrue(true); + fn() => ($test / @$test); + } + function test15224f1349a1d95b060f69fe451509ac7e915809b41e644a2fd82716fef89a5e() + { + $this->assertTrue(true); + fn() => ($test / isset($test)); + } + function test173b12ec6193a9983ba76e4f9da4106d402b743805cc16851592d52ffe9a09f4() + { + $this->assertTrue(true); + fn() => ((double) $test / $test); + } + function test184d2035878f16760fdbea49e8a47e8bb44f7620c4346961d4d567aacb973467() + { + $this->assertTrue(true); + fn() => ($test / []); + } + function test19f5226127d3f053c5f3a78898f0df2150c83918e89c92ff89db4e14aed9ddb4() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) / $test); + } + function test1b017f16fb4167d33cb3dcf65913d1fab503def842280e0b57050ebe31ea7391() + { + $this->assertTrue(true); + fn() => ($test % $test / $test); + } + function test1b4ffd9f33667ce56ca3f85b08bb12e88f1bea0f940131acb0497b927e4a217a() + { + $this->assertTrue(true); + fn() => (($test . $test) / $test); + } + function test1fa7a717a8449232a50e86cce18dd7d8e62c15b911c85023e6ef837b4bc527c9() + { + $this->assertTrue(true); + fn() => ($test / clone $test); + } + function test222201f04dfddda0456bc7d5f5605cbfd593be1a9e239077ffd99054546f403b() + { + $this->assertTrue(true); + fn() => ($test / $test?->{$test}()); + } + function test2399b5d5408fac8c33f26843dfbf2fa1d6128716e211a59a05d132436169da37() + { + $this->assertTrue(true); + fn() => (__DIR__ / $test); + } + function test2844b3912d51f3244d0b531326f8feed44080657e680ffb5e162964f316607eb() + { + $this->assertTrue(true); + fn() => ($test / match ($test) { + }); + } + function test2880eee8445e67aca819e6bff7f0c30712a8648352e86cd13b68b0a706db1768() + { + $this->assertTrue(true); + fn() => ($test / $test()); + } + function test2eb0b82add072f6048937c213dc82f279aff3c9651c6d5cf88ef9aaf543a4fcd() + { + $this->assertTrue(true); + fn() => (__METHOD__ / $test); + } + function test2fcae3c9de3873878b9a07396ef8c4aa9397bb8ce9980c5312e08a3ee2c150ac() + { + $this->assertTrue(true); + fn() => (($test /= $test) / $test); + } + function test310e3bbba9958bd2e5fada341e30392b29d9c58be0ec7454dd79f8c4c1365843() + { + $this->assertTrue(true); + fn() => (($test != $test) / $test); + } + function test3136faf57758d8915377d42dbbd6026babf0ef8163aa69ab8bb4fa13fe80e0f2() + { + $this->assertTrue(true); + fn() => ((array) $test / $test); + } + function test3276a98611de0141bef5892b89efb5a267f9396a401315e575f4a65d751892bc() + { + $this->assertTrue(true); + fn() => (__TRAIT__ / $test); + } + function test34f0adf9918c2bd49ebe97fb3611df514158330f726a54100763f91062b1ae3a() + { + $this->assertTrue(true); + fn() => (($test < $test) / $test); + } + function test353156f410c079cdc0af99c5385c412cb9ae9f2e4469959158d6e2740f52effb() + { + $this->assertTrue(true); + fn() => (($test %= $test) / $test); + } + function test39034d8b7fe71b276c55e49282776292f0cb81f32a6d32cd4f8774c18c272b81() + { + $this->assertTrue(true); + fn() => ($test / $test / $test); + } + function test3a0907ab105098fe6d7017ebe663e6c9557921a12144d64601241e74b4e496c2() + { + $this->assertTrue(true); + fn() => ((object) $test / $test); + } + function test3b412f86cfea1ee780d82c407f6d096bc354313004cadc322d04ab53cb7039f0() + { + $this->assertTrue(true); + fn() => (($test >>= $test) / $test); + } + function test3ccd6c3cd54c302115e85861491b47b6dd7777aa6de8c2f55ba8cc0db4b9ccfb() + { + $this->assertTrue(true); + fn() => ($test / $test++); + } + function test3cd87ee1b5eb4e16b8864b5fb9250715aca34f6f488bb5b1eb43a12af441bc87() + { + $this->assertTrue(true); + fn() => (($test << $test) / $test); + } + function test3ef02dddea1500da005a618755792fe938658b217c8bd0c9f92631a41e29af92() + { + $this->assertTrue(true); + fn() => ($test / ($test =& $test)); + } + function test4dd256ad7143e421834018e029700462b27cbf35abf81a8e140d04111dd915f8() + { + $this->assertTrue(true); + fn() => ($test::$test() / $test); + } + function test4ddc27c8eb7044ddccb2beb96b248b0efb737d4ad4c7ab3336d70ca4177051f7() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ / $test); + } + function test4e0bcc02a296c01619312adb00fc0c8b187a8d824ccaabbf9957f9ca1191fd79() + { + $this->assertTrue(true); + fn() => (($test !== $test) / $test); + } + function test51e9e487ecf9b0cbce8d49295f543a8ae53e2cd416a04d934d8655f06ad7efc0() + { + $this->assertTrue(true); + fn() => (($test -= $test) / $test); + } + function test55312e1b0224b5efe8b96b7a3678e90405b49db3eb67c67f18a8e656b4745691() + { + $this->assertTrue(true); + fn() => ($test / $test instanceof $test); + } + function test59b5c1d2bd9f65a273eb85b5e064edb99097ca2817da8b857163014a5227105f() + { + $this->assertTrue(true); + fn() => ($test / $test--); + } + function test5e0a92aac6ce67e9acba94ad03b276d37effa5a6048d1a627a0f29d1002a1a28() + { + $this->assertTrue(true); + fn() => (+$test / $test); + } + function test5f1b2c12ec99d145d6f6e54aae792db29ebe2155e44f4c29d169b95398067bd0() + { + $this->assertTrue(true); + fn() => (($test + $test) / $test); + } + function test6123d0b744644864037657e9549fdba2de55958488e87821c51f154595611180() + { + $this->assertTrue(true); + fn() => (throw $test / $test); + } + function test6611ae47c658b13e04de6ca5246436b2c5322d7949d8de1b7ffc86e208e9118b() + { + $this->assertTrue(true); + fn() => (($test || $test) / $test); + } + function test67b0089dafa860ed7e293947649bd0b6d0eb2bbfabff3393655754f71ba25645() + { + $this->assertTrue(true); + fn() => (($test ?? $test) / $test); + } + function test6bb99ad47f46c408c1632a4d744ae196029f1506b07018f24417e38b21ad8614() + { + $this->assertTrue(true); + fn() => (($test and $test) / $test); + } + function test710913be4d999706afcc47eaf5dc57ceed8d5373935f0ae13995cffd225748e6() + { + $this->assertTrue(true); + fn() => (($test == $test) / $test); + } + function test739962213a6610b8492a00c38b8d25cb9310e178f25bfe35673a66b14c7a0fc5() + { + $this->assertTrue(true); + fn() => ($test / ($test = $test)); + } + function test742f11c7709cc070a9a029dac5a6694576b231b2bfbe970599ca812f44db4656() + { + $this->assertTrue(true); + fn() => (($test >> $test) / $test); + } + function test79c8f68f7441f14c12a42efd42a3692a3025805f340a312af9b4746ffe9916b1() + { + $this->assertTrue(true); + fn() => (($test > $test) / $test); + } + function test7c1f25d3b7bf46c030e1db42eccf259178694355580265613e596d6d660009dd() + { + $this->assertTrue(true); + fn() => ((bool) $test / $test); + } + function test7d7d6b2b075d2334b64f3f8d9f07df3946f8e65e4f1f5a682147eb6dc720cb76() + { + $this->assertTrue(true); + fn() => (($test & $test) / $test); + } + function test7ff2f813e6342b2ccf0b878369b0e6e2f03dfc2c77b4b5932ceaa38f766884c5() + { + $this->assertTrue(true); + fn() => (($test <=> $test) / $test); + } + function test85d925ee9dfeafef3bb2f5116f5b901fddd3504e6169f25d2e0be985a29dcb71() + { + $this->assertTrue(true); + fn() => ($test / self); + } + function test86b05fe7ab38925ab61e2f7280f43b2f21facec99994f1d54369262aa7deb48b() + { + $this->assertTrue(true); + fn() => (0.0 / $test); + } + function test8a876ea65145fe14a79fb2c4e23d6c37fdccaaa052ad4477f80494904c8a8807() + { + $this->assertTrue(true); + fn() => (($test xor $test) / $test); + } + function test8ceb1da520c42d5e7516fd3eb561a0e52e5d2c7076e8ab07c8224c9eaaebb02c() + { + $this->assertTrue(true); + fn() => ("{$test}" / $test); + } + function test929ba67f017d16c303a1b73cca2fb7f866d48f43f44d667c56067bb0d6739644() + { + $this->assertTrue(true); + fn() => (($test ^ $test) / $test); + } + function test932e8b9b999caad447d0712482c4a6fe2a233353f90232043fa13dc6fd1962f5() + { + $this->assertTrue(true); + fn() => (`` / $test); + } + function test9563aa58e07b5d9b3dab31d847173050754dff7bf7b9080c994c5f56a64cacd8() + { + $this->assertTrue(true); + fn() => (__FILE__ / $test); + } + function test96cd17084ee25e93edb74d0f974cc3e59de75d271d5c880e1eb99f74d104b9ee() + { + $this->assertTrue(true); + fn() => ($test / --$test); + } + function test970c88bb35ffad0109c388ee40f66b5bcb99aad925dc2a007cb6dd6d820caa17() + { + $this->assertTrue(true); + fn() => ((int) $test / $test); + } + function test9b8fa22fd2c283372f26d102449e7c02c23d5d2589cae395b75aff67be1a35cb() + { + $this->assertTrue(true); + fn() => (-$test / $test); + } + function testa3ef6458a15ccd48e9553167c7f76698a6736f9d3c5be0f49da932a3b9f5220a() + { + $this->assertTrue(true); + fn() => (($test *= $test) / $test); + } + function testa4bb14ce361a2de4d0ca7e07a0503b715b6b7af0f77de6f704b136fd517a12cb() + { + $this->assertTrue(true); + fn() => ($test / !$test); + } + function testa6704bb6a3a2a191f77a4c708261a1fecb5609e4aac67796f4feb2dc9e7b7592() + { + $this->assertTrue(true); + fn() => ($test / eval($test)); + } + function testa9cbde6df4c5f66697c93a09f415f4dd86520720d5c28c829f604b6f644ad15a() + { + $this->assertTrue(true); + fn() => ($test / $test->{$test}()); + } + function testab2394dcc5839cfdf9681e15c12df642c3d2fccb6691943b72d63dbb9a01f5ee() + { + $this->assertTrue(true); + fn() => (($test ^= $test) / $test); + } + function testac521bbfc9969cdbb135ef9ebe8dd5d0c74f9ae8cd1d39f0081c0245174cbdc0() + { + $this->assertTrue(true); + fn() => ($test / ( $test)); + } + function testadb79260237f99630afadfeb313371fc1298c3922c8909b3a501f5ce298bfa27() + { + $this->assertTrue(true); + fn() => (($test ??= $test) / $test); + } + function testae7ec6622b32a47bfa52138feb6c12ee2d2536d3611dcbb7c4542414d5f37f43() + { + $this->assertTrue(true); + fn() => ((string) $test / $test); + } + function testaf679416e4cf654f71471e555f9de28d26c143c6c91f70fa030b46b64ce8b563() + { + $this->assertTrue(true); + fn() => (($test **= $test) / $test); + } + function testb078fdc17a88679a031232c345629956755f1137265076e73fde99f1c6c3d3bc() + { + $this->assertTrue(true); + fn() => ($test / $test->{$test}); + } + function testb44e66d8f1a9cffe073287228497604e26efb5b3c2615ad7a473f6f741b90cd8() + { + $this->assertTrue(true); + fn() => ($test / ~$test); + } + function testb89c9088620ba05c3196fa6d05ea771b47ab1d09a62c74257edff6e3c110bbbf() + { + $this->assertTrue(true); + fn() => (__CLASS__ / $test); + } + function testbe77d8be953856be1f6a03263667fda70a7f57f11e443bf8b95741dfa95d0c21() + { + $this->assertTrue(true); + fn() => ($test::${$test} / $test); + } + function testbf9ee098bafe9b590dac9776ff99b8751096a64b1c115dd10872718a4f7ed07a() + { + $this->assertTrue(true); + fn() => ('test' / $test); + } + function testc6840c4922b4f941f9cfac6a623a6b298eac223c2fa54e137989c3f9711089e9() + { + $this->assertTrue(true); + fn() => ($test ** $test / $test); + } + function testc773e12ca895a9bbed51fece68ed65a67fcde0adf81045b6acc3113eb896d3eb() + { + $this->assertTrue(true); + fn() => (($test .= $test) / $test); + } + function testca74df657b1b87abb7cc57e345eb49f7665fa15b7462867b8e2184ae9ee27087() + { + $this->assertTrue(true); + fn() => ($test / $test?->{$test}); + } + function testcb196bf8dcd36f7485f69a404b1d8309ffe14729c7a747fcc5a1a49195e9d88f() + { + $this->assertTrue(true); + fn() => (($test - $test) / $test); + } + function testcc5f5eafa670fc27a151482c1eb51e2136092700881c3908c56cb063d9958e0e() + { + $this->assertTrue(true); + fn() => ($test / ++$test); + } + function testcd4be3166db90b51dbd3d903fc851ddeb631bcae9adff5dcb7dafc7133bf806d() + { + $this->assertTrue(true); + fn() => ($test->{$test} / $test); + } + function testcebd3971b1185e099862ff99fea12fccaa041cef06380eb1f4fbb53274acb5f0() + { + $this->assertTrue(true); + fn() => ($test * $test / $test); + } + function testcf08c3922742981d06bdad3f822f9f3d6e3c4c7ddfd5976553831fbcb454f54b() + { + $this->assertTrue(true); + fn() => (($test >= $test) / $test); + } + function testd12f4dbe9aa0316d5fe5e4632bfd769ee7fe53b4a8ce24041e38062d72f1fc31() + { + $this->assertTrue(true); + fn() => ($test / $test); + } + function testd4be98f55be288c8d2fb0fbdfee734278a0b41a8f94585a3da8cf508209c7b39() + { + $this->assertTrue(true); + fn() => ($test / $test::$test); + } + function testda08314a6f513becc2a93f2639fedfb8fef2f0f6f873a4d1470f789020e58a6f() + { + $this->assertTrue(true); + fn() => (${$test} / $test); + } + function testdf66e685c413d55e9b87a4e140a3a9340bd6c225fd2592803308d7b3f676f6ae() + { + $this->assertTrue(true); + fn() => (($test && $test) / $test); + } + function teste07932f8656ee0b71820d5310de4a4f8b529b5a514a3be093faba084d782a6ef() + { + $this->assertTrue(true); + fn() => (($test &= $test) / $test); + } + function teste25ff42befe5c90dc6212ea042e1f74e9c04ac13369f118f09de2ff4720dc441() + { + $this->assertTrue(true); + fn() => ($test / function () { + }); + } + function teste72bfa81e956db783ba21f888414b9a91ef72f00bb534dd5cfde5ffe558e55e5() + { + $this->assertTrue(true); + fn() => ((yield from $test) / $test); + } + function testee1e57c9df1cb0488cc2bd8af811a05fc292983f7aa3213d7d16dfdf0b98d45f() + { + $this->assertTrue(true); + fn() => ($test / empty($test)); + } + function testeebc7e32ceba403568c7bd42d079a1cb87d3f4b45e92f5820203295f8e774102() + { + $this->assertTrue(true); + fn() => ((print $test) / $test); + } + function testef17151106bd3c86ee9b21a302c15330dae41e23f077b13bee4cc455486e8e74() + { + $this->assertTrue(true); + fn() => (0 / $test); + } + function testf0d483ec429f3f37ed03a00edb9b7fc9bc314c5285f402a2b601aba5df8d2c5c() + { + $this->assertTrue(true); + fn() => (($test += $test) / $test); + } + function testf1b72e70c0bd03276a1f648e3141cf0a2577d471600d77e8280d5fe9675dda0d() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) / $test); + } + function testf22e3a9068a3f7cf24ea9a79cc1a79d378cdd1b497684c12dbc5c2adb1678269() + { + $this->assertTrue(true); + fn() => (($test | $test) / $test); + } + function testf317500d5fda5b5d98e457703c9f0c16fa83e47503edd2516f0f98ddf3da2c04() + { + $this->assertTrue(true); + fn() => ($test / (print $test)); + } + function testf47f28e0b24c178ae2e0fce7eaaad27ef9cdae27d8bd5cc4a423928f024b3daf() + { + $this->assertTrue(true); + fn() => (($test === $test) / $test); + } + function testf78349edde3c9fa19f9f22d3f94f1928ca5be10921010c2f98ce3ec5c939fd4a() + { + $this->assertTrue(true); + fn() => (($test <= $test) / $test); + } + function testf826c08e34b29ca86c142e146588056c7e7774e163148df68fd79c751233e320() + { + $this->assertTrue(true); + fn() => (($test <<= $test) / $test); + } + function testfa8757533301571cf8af8844b721d701003ae34de31bf8f9e86b17226fe50930() + { + $this->assertTrue(true); + fn() => (($test or $test) / $test); + } + function testfd885aec53cad0bf8baf807ee60c1b815068fa77807f08366820c5257a4e3e7c() + { + $this->assertTrue(true); + fn() => ($test / new $test()); + } + function testffc1c6fdb7a2792e48a6472466155cd57a3814cfd0cedeb0a54aad4d653fd018() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ / $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest.php b/testsGenerated/Target/Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest.php new file mode 100644 index 000000000..936ce34ec --- /dev/null +++ b/testsGenerated/Target/Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest.php @@ -0,0 +1,509 @@ + + * @license MIT + */ +class Expression42eaf3330b12eed9fa8a6038e88f688445b54d9e35c221fddb5bdd569a0e3f7dTest extends TestCase +{ + function test01af9d35c83eb68ea29127b60cc5058debb61995fac023eb0c02048b467c8258() + { + $this->assertTrue(true); + fn() => ($test |= --$test); + } + function test041a723fd2d187947746c66a29acb48aff87724f4459709e31f2a0893b762afb() + { + $this->assertTrue(true); + fn() => ((array) $test |= $test); + } + function test04be3d377dc85e9e8ffe66c4b73349de3ae9080e5f1189370ec294a02f00339f() + { + $this->assertTrue(true); + fn() => ($test % $test |= $test); + } + function test05a9a6c54b6911cf32b8a2142f4d502fe03563b84e5894b0ca43d78c002408eb() + { + $this->assertTrue(true); + fn() => ($test === $test |= $test); + } + function test0956b72adc7a044e227f471f70622851f218e1f10bae8eeccfdd85f58c3ab4c2() + { + $this->assertTrue(true); + fn() => (throw $test |= $test); + } + function test14d805e783246bdb52a7502431740df23345d5a0a30f56055c7a2a0f4c9db988() + { + $this->assertTrue(true); + fn() => ((double) $test |= $test); + } + function test16375afff407ed49d43f0603f5b622e7bf8ccda4f8c319ad22aa5a29dcb4431d() + { + $this->assertTrue(true); + fn() => ($test |= clone $test); + } + function test169ccd0d5b97c90117187f1d1de79bfb17e96436152678062cf15fad71f68d31() + { + $this->assertTrue(true); + fn() => ((int) $test |= $test); + } + function test16aa9785b1ae1d2ff17e72eac8227c3a5c1ca632add2bbacfc330fac11ac4d01() + { + $this->assertTrue(true); + fn() => ($test / $test |= $test); + } + function test16f36771846279951919ca6467fc013345b7fcffaf80a65a87c8ff6a14a3b3d6() + { + $this->assertTrue(true); + fn() => ($test ** $test |= $test); + } + function test18547a9eabf5ad8ffc7cd4310a849dd4c4959dcbbb672a280766e68102f74304() + { + $this->assertTrue(true); + fn() => ($test |= $test::${$test}); + } + function test1b6f39f7cd61ad4c4692c2bfc6b54bf35984f05282db9e1d2dad5632c35bea59() + { + $this->assertTrue(true); + fn() => ($test &= $test << $test); + } + function test1c792d45758449d8827fed9a8ffb7c59fb1578108f442e6caeafa42ec014fe40() + { + $this->assertTrue(true); + fn() => ($test &= 0); + } + function test20a07cc2664d5ce3040c8b0de4acc36ada77caa1afdce853970a8bf0cba8bfe6() + { + $this->assertTrue(true); + fn() => ($test |= self); + } + function test2408bc00ae35a17ec34b64929c1f9ddf922098450b3f36729c5c2dbc80a67fe4() + { + $this->assertTrue(true); + fn() => (${$test} |= $test); + } + function test2e87b5ec8c57a945471253a8cc08d569fe5a5d739844102c71ce18f5a520db5b() + { + $this->assertTrue(true); + fn() => ($test |= @$test); + } + function test30353dfad98a190ce6ba71c67378d4e14ba9cfe9e54f4dc57b7fa57bb40f468c() + { + $this->assertTrue(true); + fn() => ($test &= (object) $test); + } + function test308c5cc600670196e6ecd4313c28a9d450811d1a5f94548a3b860f9a4863b754() + { + $this->assertTrue(true); + fn() => ($test |= !$test); + } + function test326b597c888de92e5b8ad582e31e27fd89ac65e79ec0c8b0c481511d4ed1ab9e() + { + $this->assertTrue(true); + fn() => ($test &= (array) $test); + } + function test36bb5dc9001c18a221e260b357d844a079790e932aefa8286f7c3968036f8385() + { + $this->assertTrue(true); + fn() => ($test::${$test} |= $test); + } + function test37c0e7111e7be4eeb0dea5e994317b896d6427950bbca0e90f94b2587180abe3() + { + $this->assertTrue(true); + fn() => ($test::$test |= $test); + } + function test38ed87673673e87475ee37c8fb3c7cac27f3db6956e73576103ff09b28402256() + { + $this->assertTrue(true); + fn() => ($test |= []); + } + function test3adf03bc5064c070fcd790c8bb2e58db0c76c51a2bd2e19633375e16ac5b70fb() + { + $this->assertTrue(true); + fn() => (~$test |= $test); + } + function test3b8367004c7beb9c4cecf6c134a1d4cadbee1d8b22faec83956563f5ea5b8a11() + { + $this->assertTrue(true); + fn() => ($test |= $test::$test); + } + function test3e4e04d1effd2b3eabc1eea54395ac0aaa12db118bdbe5e50cfd3532c6403287() + { + $this->assertTrue(true); + fn() => ($test &= (double) $test); + } + function test40bab7d0af8a16888feaf7095cae44bccd9b3617c9fae2c74955870f27c0ee57() + { + $this->assertTrue(true); + fn() => ((object) $test |= $test); + } + function test40c51708fb4e343a98c3da34afc53c8d2f6b6b9954ed1f146bd7a9e4874a3306() + { + $this->assertTrue(true); + fn() => ($test |= $test->{$test}()); + } + function test41795da9ba44e2c25da7e2feef7b46100041ad2e38c03514024fe45dd2790d29() + { + $this->assertTrue(true); + fn() => ($test &= __LINE__); + } + function test42bbdca930849f956361edd92bc4ef6cbd38c00295983dedf5102169606b3116() + { + $this->assertTrue(true); + fn() => ($test |= function () { + }); + } + function test44ce8d7e76a81d2d2b6fea1bbc6fffaf4f844e8d4f126cbb36802e6bce169621() + { + $this->assertTrue(true); + fn() => ($test |= new $test()); + } + function test504d233407f35e0d9cf9c69b223c4bfb1698a41f89136eb2365bb9a500990f55() + { + $this->assertTrue(true); + fn() => ($test |= $test instanceof $test); + } + function test56c277f641b4d5024705c5a369e89079ce312d1d2d277e61ed17d7690b8f5a9e() + { + $this->assertTrue(true); + fn() => ($test->{$test} |= $test); + } + function test581328893474f5f92c1a19913f8692f2532b5e500e145b901162be1dd0364dae() + { + $this->assertTrue(true); + fn() => ($test |= (print $test)); + } + function test5a15fbc59541d18ccf5ee59c62b25c05534c519b4b4d2114c40ded43765185ec() + { + $this->assertTrue(true); + fn() => ($test &= "{$test}"); + } + function test5e11fc47d4f36817b517744032f5952b71627a93d491cc6e2e5e7dfe7f713c79() + { + $this->assertTrue(true); + fn() => ($test &= __FUNCTION__); + } + function test5faf84419f7c7eab4b46dfe160f327e46d365f473b531dbd502b207ea9416645() + { + $this->assertTrue(true); + fn() => ($test |= $test = $test); + } + function test5fdd8b0957bad173353e0dada6c9f8fa8129312cc1a34926e8cb3ef0d4838a5f() + { + $this->assertTrue(true); + fn() => ($test |= $test()); + } + function test60bfc160f4bf0ecb2cdb8cfadc2225e7e610b25ee530b82fe6774e0f88e9cb71() + { + $this->assertTrue(true); + fn() => ($test !== $test |= $test); + } + function test6193a4c0032aa49cc99b25a31a599ac1c38ac4a2b31452c3a7dc43ac6f29ed77() + { + $this->assertTrue(true); + fn() => ($test &= __NAMESPACE__); + } + function test6204e05fcb03a3b9c9384622cffe95406a8c754c253a76f8c9230e5827f323b2() + { + $this->assertTrue(true); + fn() => ($test <=> $test |= $test); + } + function test6335ebd2dc7079437cecaafec18e00513ba233829f2132526452c2abe62d8376() + { + $this->assertTrue(true); + fn() => ($test >> $test |= $test); + } + function test6394a79eddf0994b78619a2ec2798020d1e5820716ebec7d328ed23c52939156() + { + $this->assertTrue(true); + fn() => ($test | $test |= $test); + } + function test63c155feba30180e04682255ce419261745f7dff5d83b2b4a71f79a7252321b7() + { + $this->assertTrue(true); + fn() => ($test |= $test[$test]); + } + function test655e5458261269b3df94a7903422bb0c764b9b947b323aefc6db7f8230aa972f() + { + $this->assertTrue(true); + fn() => ((bool) $test |= $test); + } + function test68d40fba6b0f83145e55c2b8ba6dba174ba18e05f855f0eb6dbe332855febc8d() + { + $this->assertTrue(true); + fn() => ($test < $test |= $test); + } + function test7545718c4e829368775259884c412c1d42e13fc2061a7f8968ade4ef5e25369b() + { + $this->assertTrue(true); + fn() => ($test &= (bool) $test); + } + function test75863aa2145ffaf920b00371d54b69642b330012226daaad4c57735ec06263be() + { + $this->assertTrue(true); + fn() => ($test &= __METHOD__); + } + function test764171768867e348e2ecc40b88301a2dbb1b9c89efc89124ca39e2beea29ff3c() + { + $this->assertTrue(true); + fn() => ($test &= (string) $test); + } + function test7c63638da9f9feb848f95ebd3fa5ba6aafb9dfbb5def584ad4c45668d5bf8578() + { + $this->assertTrue(true); + fn() => ($test |= $test?->{$test}()); + } + function test7c8f586aa18b1e7459b1631ceb9252ef16ea1054e198c11f129535b801d21ed0() + { + $this->assertTrue(true); + fn() => ($test |= $test::$test()); + } + function test7f22d11870add15aa0aa6959540db4a828a0f8e4de961fab0e1a04916dd1d7ae() + { + $this->assertTrue(true); + fn() => ($test |= ++$test); + } + function test825be4384947b00f8cce830517646283ff0285e769dc5f881a28729fdbda30a3() + { + $this->assertTrue(true); + fn() => ($test &= $test ** $test); + } + function test8290c06eacb3305084afb933c5b78df3b679e1b616911ca0b6ec3543dcf3b434() + { + $this->assertTrue(true); + fn() => ($test & $test |= $test); + } + function test85bfe31045fbdd306b49e851cec5e7471022514ba0d48b2590913e1d5bc48083() + { + $this->assertTrue(true); + fn() => ($test != $test |= $test); + } + function test8655f51951979b495b780dba347e33337d1c887e28252209bd57337214b69f38() + { + $this->assertTrue(true); + fn() => ($test << $test |= $test); + } + function test866e5e5a42b86d9f2b4b86ee8f8ead9721cb9028874bef108ec79798ae9cd2e0() + { + $this->assertTrue(true); + fn() => ($test &= $test <=> $test); + } + function test88986d98a3d4a3142eef0d7640521d8a17d2a40158379a96a5d988df99c13762() + { + $this->assertTrue(true); + fn() => ($test &= 0.0); + } + function test89599deb58084984bb78caf63ff47730bb0d941fba617b64920ae7e2c3300bad() + { + $this->assertTrue(true); + fn() => ($test |= $test); + } + function test8c6b29dde965ed6b243dd6bf0910e5066dc28db2469d26369450600154ea7a35() + { + $this->assertTrue(true); + fn() => (+$test |= $test); + } + function test8e927915b758c533b81c882df8a4aaca77be6da2780333b9c1045729d1f52623() + { + $this->assertTrue(true); + fn() => ($test |= empty($test)); + } + function test8f0e6ac3eaf64e1533380ec83e62f2ba592edd9a0fb21b58eff3cefab58e9cad() + { + $this->assertTrue(true); + fn() => ($test |= $test++); + } + function test91f6c4e77890b4565cfb597d9018e439daef7a837a587c9833dcf23fb400d81b() + { + $this->assertTrue(true); + fn() => ($test &= $test >> $test); + } + function test94b4083243efbf97dcfb66957ab0dafbd4ee96af03c887eb392a546134feec9e() + { + $this->assertTrue(true); + fn() => ($test |= $test->{$test}); + } + function test98bfc92d1a2cf5a875489b920cf5987b3ed99fe823188fd365f252d788bb4a97() + { + $this->assertTrue(true); + fn() => ($test |= ( $test)); + } + function test9a59d62ec4071cafa052b97b025740176f0f2e4c21a8285eafc327e07cd4f213() + { + $this->assertTrue(true); + fn() => ($test &= __DIR__); + } + function testa2af1ec3cdeac3540d72e26da23152555199f26be4eafbf1a42c643db9d196e8() + { + $this->assertTrue(true); + fn() => ($test >= $test |= $test); + } + function testa421bfa3fd2068b61a39400e851b5fffa76e961f024e1fbf7e60920e75630e9a() + { + $this->assertTrue(true); + fn() => ($test ?? $test |= $test); + } + function testa51d625383eb5e6ae5f1e678d3e6f9965a2eac0bb2fc1ee9987f9f2f8d15019f() + { + $this->assertTrue(true); + fn() => ($test &= $test < $test); + } + function testa7a7b40cf3fd22417b8af10197f120ef5311adf0b1b9195737b6573292565c33() + { + $this->assertTrue(true); + fn() => ($test == $test |= $test); + } + function testa990250bc0dd1034e807d4b8cf1ee7e3e73786c1db44bbfd6915a16b2d973d4e() + { + $this->assertTrue(true); + fn() => ($test ^ $test |= $test); + } + function testa9f8f1779eded39a25fe30c0a02796403b63bc7b5d99b6507d712cb4f2d06bc9() + { + $this->assertTrue(true); + fn() => ($test &= __TRAIT__); + } + function testafc016545d725a95f612c2cc949ff86cab2c78bf1cacb406f5ab11165ee24cd9() + { + $this->assertTrue(true); + fn() => (clone $test |= $test); + } + function testb124d41e9b5d266b49f341e1abf6b7886ff788e75d3d404b56ef1b7fd2ec398b() + { + $this->assertTrue(true); + fn() => ($test &= (int) $test); + } + function testb2f2ceb9934086211ecc5704e938fe272b2f8d2f3669b8ec9c34519388de53c7() + { + $this->assertTrue(true); + fn() => ($test |= isset($test)); + } + function testb5f21b91f94af2c25753977731937a3bfe93d6abe34464abdda6578c4d933abb() + { + $this->assertTrue(true); + fn() => ($test &= __CLASS__); + } + function testb761b0beb9f87a5da9f833e2dcaeb24bc7ec5796ed67173563292582854ec40a() + { + $this->assertTrue(true); + fn() => (-$test |= $test); + } + function testbc01983813e56c1c62d135a0144509b5157c257ee571f8e05e69d78ee4bbccff() + { + $this->assertTrue(true); + fn() => ($test |= ``); + } + function testbdd170297050071572055273c8bddd77a9ee5a5dec991ff00a291307822a8ab9() + { + $this->assertTrue(true); + fn() => ($test |= $test?->{$test}); + } + function testbf9cbfa0557053f11b8418417023139e28fa0fed2b48fc8ae786892bcd3a67ec() + { + $this->assertTrue(true); + fn() => ($test . $test |= $test); + } + function testc07e69383a8761cb726f87ecfb4539175cf6c617e50a4eba9d9410680e086646() + { + $this->assertTrue(true); + fn() => ($test * $test |= $test); + } + function testc8426f17acaff4c5c47bb6af6b8df04343d1de32b875db20280df13a7346363b() + { + $this->assertTrue(true); + fn() => ($test |= ~$test); + } + function testcc0b8b5d097fe1c2ef77d867bd9da01c8e808c1d09a0281f6ec66c5dc656bd6a() + { + $this->assertTrue(true); + fn() => ($test[$test] |= $test); + } + function testcebd1ffcd1d6f84fddcf0ccfd84a8a05778517750a6dc72f059336071d33f8f0() + { + $this->assertTrue(true); + fn() => (!$test |= $test); + } + function testcf9a621f2a454480250753f3ca31f4518b759838446eb664265f92dcc6c081c5() + { + $this->assertTrue(true); + fn() => ($test &= $test <= $test); + } + function testd3a410f4ada7f30aec0254dac106e757e4f803a8988d0558b469c0a1d7e4c4b2() + { + $this->assertTrue(true); + fn() => ($test <= $test |= $test); + } + function testd4d8c61558d961f3c2f8dc6006f3d30e3f537c100200553444f730c20376b018() + { + $this->assertTrue(true); + fn() => ($test - $test |= $test); + } + function testdc1df80d9690c65af77505c9f8f44bd933cef3fa4cf697e25863609d0164e8a3() + { + $this->assertTrue(true); + fn() => ((string) $test |= $test); + } + function testdde747174215d976839805bab3c047bca894845e15ca127c93d5efb4dd91cea9() + { + $this->assertTrue(true); + fn() => ($test + $test |= $test); + } + function teste60726df942e3a3212a2f920967552da90c7ebec628e7e94ee3fe1ff6de70d63() + { + $this->assertTrue(true); + fn() => ($test &= __FILE__); + } + function teste99498d040f79d2d9140e5b423fd7de51d7d19fdb335e05b04a9c515493f90e0() + { + $this->assertTrue(true); + fn() => ($test |= $test--); + } + function teste99c65a256ee67a373323fb98d93a429d4c80520472e0c265e0c2cd16634513b() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test |= $test); + } + function testec5d8f7e5e94c81fa1155c606402bcb17b0319a4b99f2a52c28080dc27206cec() + { + $this->assertTrue(true); + fn() => ($test || $test |= $test); + } + function tested11022bb57457c20edb67a4e8800d0c663e31c6782d4a230b7ac61bcbe259e5() + { + $this->assertTrue(true); + fn() => ($test > $test |= $test); + } + function testf0bbb7d2e3f1208ff360bf053cbb5d8cd15a7f0dec4e3076f19227778fe0246e() + { + $this->assertTrue(true); + fn() => (@$test |= $test); + } + function testf38f417456b7172829c6ac9314fac6c2ab902268a2a90405bbe2a2cd7d9a404d() + { + $this->assertTrue(true); + fn() => ($test &= 'test'); + } + function testf50e2992d4d7bb00fd7b994b6ba38e2cdfa6781c743adcdf0b7ce27aeea29918() + { + $this->assertTrue(true); + fn() => ($test |= match ($test) { + }); + } + function testf7829a93c345187b51cbd54a7142da4d2969ea502f10814a8fb9a483f7da8011() + { + $this->assertTrue(true); + fn() => ($test && $test |= $test); + } + function testf99b8ea8075c1eac2ce66ed0a5b8de2c794621f9c16e53f3c4db817c3c1c5d6d() + { + $this->assertTrue(true); + fn() => ($test |= $test =& $test); + } + function testfb0c12ed5278666d250c08e4fc04f292f5ee57a3ba0c085feb1a178d0e323932() + { + $this->assertTrue(true); + fn() => ($test |= eval($test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest.php b/testsGenerated/Target/Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest.php new file mode 100644 index 000000000..c45b26383 --- /dev/null +++ b/testsGenerated/Target/Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression47743847c1d11a05140d0c06c7147ea9d4ee1c55d7249abf23dcea640c07f5cdTest extends TestCase +{ + function test068f012f4f11a81132841ef468cb406d08e4b2eca92ef664d9679cba8482624c() + { + $this->assertTrue(true); + fn() => ($test >> __FILE__); + } + function test089b9adc57e68f24cabcb8a5e3053a2148c0286fe536b3805911c976f3b5916b() + { + $this->assertTrue(true); + fn() => ($test() < $test); + } + function test0e99e9a64e49b3146df3266c11864adf4dad4bbcddcf2efdfb0f2e6411bff40c() + { + $this->assertTrue(true); + fn() => ($test >> ($test || $test)); + } + function test11fc86dc19c37296bc906e435c1afc546ff8037497031ecf1bd4e13b483cf79e() + { + $this->assertTrue(true); + fn() => ($test >> ($test === $test)); + } + function test12055dfbb0bacab090ec3e2db70a10f1c8f0c8de35ece56ab07de069a2409ddb() + { + $this->assertTrue(true); + fn() => ($test >> 0); + } + function test14bf9816b0a7e716b4f3ae4e26d85de1b3d7cb545e3be5396cc8a0f7fe4e909a() + { + $this->assertTrue(true); + fn() => ($test >> ($test &= $test)); + } + function test15dcaf6f6fafd36957b9f41ce25e02843ba425e79dc3057a0d4978a5a3bed888() + { + $this->assertTrue(true); + fn() => ($test >> ($test << $test)); + } + function test16788275332f624f7167268a310158f16e1a0a421044860420745329124939d9() + { + $this->assertTrue(true); + fn() => ($test >> ($test !== $test)); + } + function test185a16a802c2552a10c2e0ef8104c1a9da25033266e5b27f14155e178510d855() + { + $this->assertTrue(true); + fn() => ($test >> ($test & $test)); + } + function test199c29b31157cd119b7549feb67483da19f3625bc8da289d1f49c8211e8c0d69() + { + $this->assertTrue(true); + fn() => ($test-- < $test); + } + function test235923db41640c27a34ddb810c70ef9936ae526f857708ac06e5060868d2f18a() + { + $this->assertTrue(true); + fn() => ($test >> ($test <= $test)); + } + function test24ee50852b65ce0ff76d5b1b8dd5dbb0b11e6fe6de7bf63a439ed20d8a535c3e() + { + $this->assertTrue(true); + fn() => ($test >> __FUNCTION__); + } + function test26122a3b7972a34d18fc96b4cd99c2995dfadf02814e09ec270af7d80dccef6c() + { + $this->assertTrue(true); + fn() => ($test >> __DIR__); + } + function test300ade80e2fb9c2eb51880b0151bb758d773eedad1946fffc0c4c738f653ef2e() + { + $this->assertTrue(true); + fn() => ($test++ < $test); + } + function test313de800363303e34e6ce0aeb728362ae8445ba642473afa5ea433cf71d1acec() + { + $this->assertTrue(true); + fn() => ($test >> ($test .= $test)); + } + function test366f071b0cec6cc7f06b2e606ded14cd98a8e5b47f33f288dc662518ede0b3b2() + { + $this->assertTrue(true); + fn() => ($test >> $test / $test); + } + function test36c5ad74ce51ea1e949cd80838a0a9641096254c7c445f0208f27f5337e5e167() + { + $this->assertTrue(true); + fn() => ($test >> ++$test); + } + function test3816464a181b4fbeae13798dd2875ba7e96edf564f91d97e36c7d26106754463() + { + $this->assertTrue(true); + fn() => (@$test < $test); + } + function test3912e4b6f2d99d89429f76e88f1db2e98defdfbcca49942937437279ce14ead0() + { + $this->assertTrue(true); + fn() => ($test[$test] < $test); + } + function test39ea1cee4f76b2d4fad51fab99d52b5af3fd846a08b04713b10fb245f010ec9c() + { + $this->assertTrue(true); + fn() => (eval($test) < $test); + } + function test3c982e69f8b4b07a2200580410ceb6e121b80015824e4a710ef49577283f75e8() + { + $this->assertTrue(true); + fn() => ($test >> (bool) $test); + } + function test3fab0ab33240f9c1910a71416a7c1244f06ed05f3ebd55de29b2283f1dcb10d7() + { + $this->assertTrue(true); + fn() => ($test >> $test . $test); + } + function test3fcba1be0ea172246988d48b64db87373f38abfa3681704d8ae9148b7695b918() + { + $this->assertTrue(true); + fn() => ($test >> --$test); + } + function test40d6be67085cf8baab8dcca51564154c63a3e908395de548accecaf66b9f4e00() + { + $this->assertTrue(true); + fn() => ($test >> ($test += $test)); + } + function test42e60496d2d4d02c343d30ed01ff45f040f844933a821acf9a8d056342b6e6a4() + { + $this->assertTrue(true); + fn() => ($test >> (array) $test); + } + function test45684f1c3e9a30397df83c8c950ec24d10745f68d550ffd5c33f089ff6e009b1() + { + $this->assertTrue(true); + fn() => ($test >> ($test -= $test)); + } + function test4785ad9131da9c0b347033d07c549a675454c6c3ce5ab07550addaf19c891b9b() + { + $this->assertTrue(true); + fn() => ($test >> 0.0); + } + function test4f81f3fee2b5389a791226146521bd1d5584e5a7d6bcc356b72c3c0efd041eba() + { + $this->assertTrue(true); + fn() => ($test >> 'test'); + } + function test5051321c69473de7a098864eec4f11ee38a8c0f7b696e8ff994578fb00c8021b() + { + $this->assertTrue(true); + fn() => ($test?->{$test} < $test); + } + function test5e2c711a8c4df1b0363dcb7030f3af1af63bd4093de91d3a30b32c405aa9f0ae() + { + $this->assertTrue(true); + fn() => ($test >> ($test != $test)); + } + function test60d2e6878a58d552ac737d83bce8221d0e539941ed4a704645dfcdd00d8e9bb5() + { + $this->assertTrue(true); + fn() => (++$test < $test); + } + function test6e57aaec41865e581f85fb83bf522bbd0928834492ab7469031702ebd214e7b3() + { + $this->assertTrue(true); + fn() => ($test >> ($test >>= $test)); + } + function test6f490832a9c1fecf8e7bad8bf04adf8f41331d0a11d5ef8140b38992d2116e0e() + { + $this->assertTrue(true); + fn() => ($test >> ($test ?? $test)); + } + function test7520126e3da60ce8494d8ba8dfa73203ca12e467a7a6274af8a701b67a3f435b() + { + $this->assertTrue(true); + fn() => (function () { + } < $test); + } + function test76003c1e4a65c9ff3785c8a76af62727e5e73d7abaf1e59a2012f1e093efecda() + { + $this->assertTrue(true); + fn() => ($test >> ($test %= $test)); + } + function test7817b8823f791e7dc6bebc1013c1fc8c846ad0b862ed9a9f0bb4570a33ff5b0b() + { + $this->assertTrue(true); + fn() => ($test >> ($test | $test)); + } + function test78a238c9a692fab39843716da722368f99ed201b7fdd3a18f5b93ae6794f3e07() + { + $this->assertTrue(true); + fn() => (match ($test) { + } < $test); + } + function test7a5bde5975828c214f51683645e8a2edf5fc1d4e85feed4a0f93fc98809fe8d4() + { + $this->assertTrue(true); + fn() => ($test >> ($test && $test)); + } + function test7ab84c6f1f464c40fc00041afe713630650a66f39c97cb9ffa11723545f731df() + { + $this->assertTrue(true); + fn() => ($test >> $test ** $test); + } + function test7b26d1fc62157e28c522e5e5634115b85d2d6e354ff02ec84ded053156d882c4() + { + $this->assertTrue(true); + fn() => ($test >> (yield $test => $test)); + } + function test80b543832748176faa38e82d48cd54eb0ceb22e7a9589e5f615d5f3c59042c78() + { + $this->assertTrue(true); + fn() => ($test >> $test * $test); + } + function test80b755cf2c62613e1efa5a7a26e36bb0199121e05bf79094b36828d0474f2a14() + { + $this->assertTrue(true); + fn() => ($test >> -$test); + } + function test82afb3d4ec9322fe742c5a937db6676f75a18944342f89ee7e04a8db409923df() + { + $this->assertTrue(true); + fn() => ($test >> (object) $test); + } + function test836f3263a739e47bb3a7c6aae6f6341ae8d82deb4dc788360cd2604ac06b3b30() + { + $this->assertTrue(true); + fn() => ($test >> ($test *= $test)); + } + function test8405160221f2a10bad701cc5bd37ec42f0c812ec8f6b77f84c62381ed8d494b5() + { + $this->assertTrue(true); + fn() => (isset($test) < $test); + } + function test843b7467744cf4826c83b117cbc564fbb83e8a63093d24c6f07030b068e24936() + { + $this->assertTrue(true); + fn() => ($test >> ($test or $test)); + } + function test848dc1b6c0bd11819634edb3dc416bf899eec70aa2e4e457921ae9baaea3eaa4() + { + $this->assertTrue(true); + fn() => ($test >> ($test ? $test : $test)); + } + function test85ac0b1b79babd280711464d9dd663ea6fb697d50317fade3497cc9487bf2470() + { + $this->assertTrue(true); + fn() => (~$test < $test); + } + function test8cfa36b53691898a147dbdda90c671032d117da308f2e6164dbcb679e632c9ab() + { + $this->assertTrue(true); + fn() => ($test >> (yield from $test)); + } + function test8d1369754579a5d0f755adc5b32a2ca552cc95ee4ea66b31ef6432a910d7b583() + { + $this->assertTrue(true); + fn() => ($test >> __TRAIT__); + } + function test8d34838900c28f83d1ae5897b01693b3430f6039a50c9a34f6513d01f69dc5e3() + { + $this->assertTrue(true); + fn() => ($test >> $test->{$test}); + } + function test8e8741d221cf7a262385f676ddf199b92576d0a9c277c2cb67e4c8e77cf5b367() + { + $this->assertTrue(true); + fn() => ($test >> $test - $test); + } + function test8f99276b0a0557c671b2c06aa0daa2cf084f2d172c1ebb3875ffa8cddb040edc() + { + $this->assertTrue(true); + fn() => ($test >> ($test |= $test)); + } + function test92ddfc3336445f74ff22396e422de07ee3319ee108cd12e83a1cf11a1e34e188() + { + $this->assertTrue(true); + fn() => ($test < $test); + } + function test942e94f584ea7c6a23707a503176144bcb9ae1b75570d3858a6aa7a220b79fb1() + { + $this->assertTrue(true); + fn() => ((print $test) < $test); + } + function test94bc1e6a574c82650e21e30b20f8dfe73a1ad2d177f38a6270ff78512fc7b996() + { + $this->assertTrue(true); + fn() => ($test >> ($test <=> $test)); + } + function test9762d4d731610a7b8dacffee2e41c6183514d998ea656cbea4bee698fd929d6d() + { + $this->assertTrue(true); + fn() => (clone $test < $test); + } + function test9768267dfbceb86ac88d5814c7303716d8a71a30676b27081fff9b0c0b0000c4() + { + $this->assertTrue(true); + fn() => ($test >> ($test < $test)); + } + function test997e5ee7e95b05827caa0d41e9b1b45fe2e25c009ad6c91b766c825c420249f1() + { + $this->assertTrue(true); + fn() => ($test >> (double) $test); + } + function test999f0142f17ef9627f9dab080db3e352afc9d034aaa1e17822b18e4c1f09f47b() + { + $this->assertTrue(true); + fn() => (--$test < $test); + } + function test9d3a877f0bd3e4ea1ebf632565d51fa64f02f603902817cdc7322121bf13c85f() + { + $this->assertTrue(true); + fn() => (( $test) < $test); + } + function test9d437571e472f1767a4194ad6320c81383d18dc1261ed669681c2875f6874fc7() + { + $this->assertTrue(true); + fn() => ($test >> ($test <<= $test)); + } + function test9d606e19de99b55c97e6e8d05eac6e8b8bf1184d7bd0e0a6e78224959a2d765a() + { + $this->assertTrue(true); + fn() => ($test >> ``); + } + function testa011bd65d692e0b6368f7971b923214333e1032f8949d034e3f66688efb1371f() + { + $this->assertTrue(true); + fn() => (($test = $test) < $test); + } + function testa18ce3d3ea6f7605b54d5c35f00820caac21e43e516b88980eda5d6de005baf3() + { + $this->assertTrue(true); + fn() => ($test >> "{$test}"); + } + function testa5d4e0ae8a51cc5633e18caed30f1eeed6832175ec319a078acbb598f7623248() + { + $this->assertTrue(true); + fn() => ($test >> +$test); + } + function testa64292c0aea90cace4cc5ab908796c6380d8c4644dacd3d804406df227e72f6c() + { + $this->assertTrue(true); + fn() => ($test >> ($test >> $test)); + } + function testa76708a462c9aa88a1ccc78844524363f2c4bcd51ff5003104fe89d4792d0f9c() + { + $this->assertTrue(true); + fn() => ($test >> throw $test); + } + function testa986f5e1cfb3e662295c3a1be0f44d9f80a7a877a4a5ae971ebc08a6f8f517a7() + { + $this->assertTrue(true); + fn() => ($test >> $test::$test()); + } + function testaa20c56f5c7ebe293669ab2a8a57bb888e3011cb7913cdd9331ba701da7f6b3b() + { + $this->assertTrue(true); + fn() => ($test >> ($test == $test)); + } + function testacae2ed87fbc998d2d3aeb0880a7ed4fdca90bd92002110bece7f73cf1778c83() + { + $this->assertTrue(true); + fn() => ($test >> $test::${$test}); + } + function testaccb958d27019bb1de49ffd7ff6aec314f91eb01cef06fec6a2d59c9b7b0a119() + { + $this->assertTrue(true); + fn() => ($test >> (string) $test); + } + function testb055e7818edf05480b788892c4138dff7a435565198b47dfe32864390c069689() + { + $this->assertTrue(true); + fn() => ($test >> ($test > $test)); + } + function testb421ef22bb195e784c29196156585203db4cc9d8dc52fd1f484645c795a95ce2() + { + $this->assertTrue(true); + fn() => ($test >> __LINE__); + } + function testb95973a9ffff062a6eb3aa00ebadabd7cc55bd5ceb19c7a8b513e47309d874ce() + { + $this->assertTrue(true); + fn() => ($test >> ($test /= $test)); + } + function testbaaa03df204252181ba0191d30ac95427ac007f5a96cec616800402319dde514() + { + $this->assertTrue(true); + fn() => ($test >> ($test **= $test)); + } + function testbaef0d5337489dc8b79e6197d486084ab9b0d7bb85ffa983c2ef6b27fb3133fb() + { + $this->assertTrue(true); + fn() => ($test >> ($test and $test)); + } + function testbf39db29d2f31723a96e7dacc5955ed1e8ef43a1d7a13ca1319103f41555f2ca() + { + $this->assertTrue(true); + fn() => (!$test < $test); + } + function testbf9f5d594aa6d770150b29728503cfba4fb8d258fd7e93e7632de7419590bd91() + { + $this->assertTrue(true); + fn() => ($test >> (int) $test); + } + function testc1775e5367bb16b5ca3581dd02bcbaa1d673d486e92d8bb80f7d1774b20ee674() + { + $this->assertTrue(true); + fn() => ($test::$test < $test); + } + function testc225a7c976ec4bb57bbe920b37e9706517d5b4b740eff17da61010b58be9a149() + { + $this->assertTrue(true); + fn() => ($test->{$test}() < $test); + } + function testc8a90ede217ecf2e9ed593023585006370adfb0ebea68337ad2118cda289e219() + { + $this->assertTrue(true); + fn() => ($test >> ($test ^= $test)); + } + function testca6ae965bacec83daa9bc9f92311426b46a37302673075b0e35025853cca9f05() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() < $test); + } + function testca8a3558460e366346209718efd55acf725cbec22991b574c1defce0e8e29912() + { + $this->assertTrue(true); + fn() => ($test >> $test % $test); + } + function testca912ad170173fc82edadb815eea3a25fb3fa71b978d9a4c1925995b1b631512() + { + $this->assertTrue(true); + fn() => (self < $test); + } + function testcea9807999414d764591bbb179aff51b733889d502ff767ee1c84fe73fab3a1c() + { + $this->assertTrue(true); + fn() => (($test =& $test) < $test); + } + function testd4630a84325c90412de6c25c4a4354faa2fda649228f5e25b40eb37842fa1cc8() + { + $this->assertTrue(true); + fn() => ($test >> __CLASS__); + } + function testd58643c8dbe0e0ece1bfc25ab28e1674b2c7faaf99a76002e5b2524e08c06f4b() + { + $this->assertTrue(true); + fn() => ($test >> ($test ??= $test)); + } + function testd75cf111f0fd442fa5408beb210366bbb6370cde9ebac760c4255018f2a7f630() + { + $this->assertTrue(true); + fn() => ($test >> $test + $test); + } + function testd7ea70bbaeb04f4673fb324654e0a453dd73508c5733041003530ac94af36378() + { + $this->assertTrue(true); + fn() => ($test >> __METHOD__); + } + function teste62dcb66e5fa9f20ec058a89f13e597eaaaad3d472fb319c23b96884d6a6b788() + { + $this->assertTrue(true); + fn() => ($test >> ${$test}); + } + function teste7aec2f12fa2d6c9e4ed8cca11861d61668bbd9784b36b3cd8a5363b96e5ed75() + { + $this->assertTrue(true); + fn() => ($test >> (print $test)); + } + function tested45c33797ae58e22da2258c3ca44438733a52cf4405400cd7fcef52e3c3af44() + { + $this->assertTrue(true); + fn() => ($test >> ($test ^ $test)); + } + function testedbe0e6d299318058fa8596a57d71f204465598b2706a9d7e7a6086b409c1970() + { + $this->assertTrue(true); + fn() => (new $test() < $test); + } + function testefb2ba704dbf29962dad9a6c36d5d598637872605190dfd895a0f811c895e2f4() + { + $this->assertTrue(true); + fn() => (empty($test) < $test); + } + function testf4aad7141f63df4180984ff2c260e4eda353d7ca5e19e140233534eea8fa6d62() + { + $this->assertTrue(true); + fn() => ($test >> __NAMESPACE__); + } + function testf647057d5e77138d7485df803db31e136c4a67be51e69fc6822e6ffd4b7edb6d() + { + $this->assertTrue(true); + fn() => ($test >> ($test xor $test)); + } + function testf7270298f4b05005029d0cc6807404f6afaf489ce5054859b3a02e91b51ddc35() + { + $this->assertTrue(true); + fn() => ([] < $test); + } + function testf7477a8b52fd0d1cacccb93fa47114ed51784e823807411d7d2796324981fc9e() + { + $this->assertTrue(true); + fn() => ($test instanceof $test < $test); + } + function testfd22f09479dfb0dfa82fab70eccc336efc98e269b4923764d75853116cffff10() + { + $this->assertTrue(true); + fn() => ($test >> ($test >= $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest.php b/testsGenerated/Target/Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest.php new file mode 100644 index 000000000..d2a0ce714 --- /dev/null +++ b/testsGenerated/Target/Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression4bb7db3c1262870dfcbba4abc6c726f1c370b065f4e2511aede2ed34f95f536aTest extends TestCase +{ + function test0347d38b95e0f3b7cf576ad7d57e0b5d49047f43b23bab3a4efa11941cd9b56c() + { + $this->assertTrue(true); + fn() => ($test?->{$test} or $test); + } + function test034df2f9ddcc6b59f5e7ef2b0e54f8518beaafbfcfa1d04af89ec35814878bbf() + { + $this->assertTrue(true); + fn() => ($test and $test <=> $test); + } + function test04a26194795f544a786b53ccafdacb0dfbe9d22f55a86be5d2596e769d71de91() + { + $this->assertTrue(true); + fn() => ($test-- or $test); + } + function test057567407b6b5bad6d67e8210e3d7476a5e4df110e272e6c3d265306795c4aad() + { + $this->assertTrue(true); + fn() => (function () { + } or $test); + } + function test066e1fcc151bb3b9a5bfc0a453edf8b1bfa2ee3d3b004a4a6681bf7a3fdf58ab() + { + $this->assertTrue(true); + fn() => (isset($test) or $test); + } + function test09805bee2844049a7e5c0cdd29027af6609aea54cbbbd4e9a9f4af526c7b2f46() + { + $this->assertTrue(true); + fn() => ($test and (string) $test); + } + function test0b545bf846f6ce62d27451dd72e7b5fc9bf41c8f5c2ecda3fb7efbc511b3e811() + { + $this->assertTrue(true); + fn() => ($test & $test or $test); + } + function test0e0f0d04b4ee1e0077de5469304b9b3723468034a0ccfedc91cf6c37a34abbab() + { + $this->assertTrue(true); + fn() => ($test->{$test} or $test); + } + function test127387cd92636c0447d2d8edc9f45d316cfd25886b68ecccdc12e785a109841d() + { + $this->assertTrue(true); + fn() => (`` or $test); + } + function test1476333d4666462a4e7186796499cdd45b0a383c42b1f6f677e0807af53ef927() + { + $this->assertTrue(true); + fn() => ($test |= $test or $test); + } + function test1a43338061e9c3e699aed06a29d9daf08819f7c4cdc92c5f2cdb15302b4e670e() + { + $this->assertTrue(true); + fn() => (-$test or $test); + } + function test1aff9aeae7692ec1bd0e2c1de73cea2cee07062e74f0291ee497ec60f975eb4b() + { + $this->assertTrue(true); + fn() => (!$test or $test); + } + function test1b7ab5cb8dd2ddf8b6bd95a3045172fd54a260dd7afbc6d7a6eb4788ea758e85() + { + $this->assertTrue(true); + fn() => ($test &= $test or $test); + } + function test1d50903138145e6beb081fd26a6c4c2a7cb5bdb239b1441f33adb17c1fe6611a() + { + $this->assertTrue(true); + fn() => (${$test} or $test); + } + function test217ca5790a7d28add931792e5716494b8d70793e73511667b89a1ae4ca505f2e() + { + $this->assertTrue(true); + fn() => ($test and $test % $test); + } + function test22a2af5ed4fdbe7c78ed42a01c5198b581ee4ea0628e53ae0d9afbd04bd9a67b() + { + $this->assertTrue(true); + fn() => ($test = $test or $test); + } + function test24f3f0dd0302b02cad89f4729fd1c7874c79f0a0c2842fa2c748a9a597cfc851() + { + $this->assertTrue(true); + fn() => ($test and $test !== $test); + } + function test2674596382e71964c28814946bb64fb4b079283308e1003304f4641dbb3e44b6() + { + $this->assertTrue(true); + fn() => ($test and 'test'); + } + function test28a70b8dabe1308e7de7ecdac08e8a8918002dd108b202dafac0119119c22041() + { + $this->assertTrue(true); + fn() => (@$test or $test); + } + function test2af2ddc1253a0a2357fa3bfd2a493435cfac2464b0207a703bc164e3c89a4f20() + { + $this->assertTrue(true); + fn() => ($test and ($test or $test)); + } + function test2cb0d8800ea1c17d05ba8db14c9e05377f49395eb0b5a09ea8acc4fec482e920() + { + $this->assertTrue(true); + fn() => (new $test() or $test); + } + function test2ea38a1c9ed4061d7b54cad1e158ef2e07c318ac1b60050372acd97495bfe5f2() + { + $this->assertTrue(true); + fn() => ($test++ or $test); + } + function test2eeeaad20c342c395aa72b638b6ba9796048f8c0df2f446f6157322a4a37ed7a() + { + $this->assertTrue(true); + fn() => ($test and $test << $test); + } + function test304f9593a8315010936c7be8f8b2376c527606a7e3de1d0832cbc28caa01dbc8() + { + $this->assertTrue(true); + fn() => ($test and $test == $test); + } + function test355bc05fa6889cdb5fd88d54fe5ecbb709ecf2eca888a55337b2c0adedfbacb2() + { + $this->assertTrue(true); + fn() => ($test and ($test and $test)); + } + function test36b9d5c7337dda50fc0451320adaa164b4997a2c4d8b909c30d257551af68c1f() + { + $this->assertTrue(true); + fn() => ($test->{$test}() or $test); + } + function test38c54c7f8e302a471af960410d9b6242d701071df13750afab453b731e2cb790() + { + $this->assertTrue(true); + fn() => ($test and $test - $test); + } + function test3924d43f5bfb12d19408459af52bca316ca8fab81368ff018099b76d66f03a03() + { + $this->assertTrue(true); + fn() => ($test and __METHOD__); + } + function test41dae0c98f4b2646c1ee3e473291bd832938da8b05d0c519c042b24eebcbc44d() + { + $this->assertTrue(true); + fn() => ($test and "{$test}"); + } + function test43f3aeb9bb234c42c897e327f81d338be31322dc2fe792a7fc39b18e39c8e5dd() + { + $this->assertTrue(true); + fn() => ($test and __NAMESPACE__); + } + function test447e54040605696cd16692be64e6c72c3e8c458870cf091715c064f4c207f6d1() + { + $this->assertTrue(true); + fn() => ($test and $test >> $test); + } + function test4bfa54afc0522e70723136a1c29c95939806fccc684543dc2dd7353a4dfbcb78() + { + $this->assertTrue(true); + fn() => ($test::${$test} or $test); + } + function test4c849bbd903cb5fbfaf36c7990ccb0570a7e67fd2d6cb8f44667c9c107767797() + { + $this->assertTrue(true); + fn() => ($test and 0.0); + } + function test4dd63d7e1e78255e5658002597730495d5cafd4f1cf7474c9b7b2ce866b043ae() + { + $this->assertTrue(true); + fn() => ($test and __TRAIT__); + } + function test52cb79d3f54056ef86163f10d47fa1070d2d368d1e478b3522950d3a3106c029() + { + $this->assertTrue(true); + fn() => ($test and $test < $test); + } + function test555e111d559187a906274c95c96aca93ba74a1353efd218b7d81dded92f955fe() + { + $this->assertTrue(true); + fn() => ($test and (object) $test); + } + function test55dc4b729c79da79db3d14b874bafcf7da4cf8729c5896da82e5f86e803a6fd3() + { + $this->assertTrue(true); + fn() => ($test and (bool) $test); + } + function test568f6abd40e28fa409c78c36ae0c863948328d6d16c0c2cb5ff12fe01d02bc62() + { + $this->assertTrue(true); + fn() => ($test **= $test or $test); + } + function test5d0ba1b810a526e37cc5169c6751368c8458e649a708c387d75350d12067989c() + { + $this->assertTrue(true); + fn() => ($test and (int) $test); + } + function test607bbf6f91ffbd8f233beaa466f2a27b7c8742b55192f376e34c5e7b782bc83d() + { + $this->assertTrue(true); + fn() => (throw $test or $test); + } + function test61bf9b1da0feb8c5341bdab037da73a372698f028fb82dea2a6513fbc0a8461b() + { + $this->assertTrue(true); + fn() => (--$test or $test); + } + function test65f3ff227a26908bfee834f3763ebaeb557056b90a112974ea21302421fad0fd() + { + $this->assertTrue(true); + fn() => (yield from $test or $test); + } + function test6794c567a63bce9494073a4860a5e042bff81be3852b1b2baf8a977008f27818() + { + $this->assertTrue(true); + fn() => ($test and __CLASS__); + } + function test6d1dfac4ac629fb12f584e078beb493a4e00de2060b13a35db5897f0f035d68a() + { + $this->assertTrue(true); + fn() => ([] or $test); + } + function test755341dcdb1670867d7ff5d4611c0297f2b361d4e057f50ec07f50f3d61980da() + { + $this->assertTrue(true); + fn() => ($test && $test or $test); + } + function test7916891b03073af78be56d3a33940f40310b3467cdc136497f932f263a32d9d7() + { + $this->assertTrue(true); + fn() => ($test > $test or $test); + } + function test7a31abe4e3ea53252f0c69bc28d02c47da9a0f9407e0164bd4894bbce2edcd55() + { + $this->assertTrue(true); + fn() => ($test >>= $test or $test); + } + function test7d8025a0a9eef2558cbd7fb5674556927f683a3b090cdc555d97387142cc9776() + { + $this->assertTrue(true); + fn() => ($test += $test or $test); + } + function test7e02cb0ae0bc5e7d8faf5734dde87bb5dea838c97f450fdb3c7a19f594d9ad00() + { + $this->assertTrue(true); + fn() => ($test and $test / $test); + } + function test848408000ae1cb2d83122b796e8368addd106a14dbaf04d83589b1b97efe1147() + { + $this->assertTrue(true); + fn() => (self or $test); + } + function test869f313546f4afb9e673602f7d772375db570c2e379de1b5f0e9e4b7c41fa829() + { + $this->assertTrue(true); + fn() => ($test or $test); + } + function test86a2f33b980720e726fe98991dfa2909c1644592d089839ee56554e9da6b974a() + { + $this->assertTrue(true); + fn() => (match ($test) { + } or $test); + } + function test875993a8498c2f756ff2860047658ae588f871d38db3673356fa0dcb2b04951f() + { + $this->assertTrue(true); + fn() => (empty($test) or $test); + } + function test882e2ed2d966869c3e0b0baf588dfd6ffcc884124f43c19737ba69ce25cb16c7() + { + $this->assertTrue(true); + fn() => ($test::$test() or $test); + } + function test8991c04e12eb39ab356f17ad6f31b1b5590061bbe42b9eac2b95e99cafee932c() + { + $this->assertTrue(true); + fn() => ($test and __FILE__); + } + function test8ce6c39f5d252b8bab0ea289df509f5a9a83241fe0731bec8aecb6468c75cfee() + { + $this->assertTrue(true); + fn() => ($test / $test or $test); + } + function test8e33dc5e5d91a9ece2f409af42ea0cad0cd9dc3748ec8bc407b6415f307016e1() + { + $this->assertTrue(true); + fn() => ($test <<= $test or $test); + } + function test8ef54160b2771ce3402ddc05e3cfe693ae1704e9ffa33170e6035b624539bb41() + { + $this->assertTrue(true); + fn() => ($test[$test] or $test); + } + function test91a484f977b4f82b0251bb841896f590b255a799bd50e9fce4af96e88d57e3fd() + { + $this->assertTrue(true); + fn() => ($test and $test > $test); + } + function test94238debde656279c21cfc14c502321d9e9e9b01b78f7973d20a4b01eddbbcb1() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test or $test); + } + function test9564dd8e79caeb8c91c374c0e36324778d531c7eb66f85d21c25c52625bdb40b() + { + $this->assertTrue(true); + fn() => ($test and $test >= $test); + } + function test9991c325898536d098036f48f742c6ffcbb84a763890e8244cc0f7fdbb8c9d88() + { + $this->assertTrue(true); + fn() => ($test and $test === $test); + } + function test99aa12358901a011436ba80d39bff25496823d1d5c08146654a1603eedebca8f() + { + $this->assertTrue(true); + fn() => ($test ^ $test or $test); + } + function test9b0ba31fc51dc3fef9f68e0fd82e63c08fee6cd3cac0caa46f0ddea13c52a6ef() + { + $this->assertTrue(true); + fn() => ($test and ($test xor $test)); + } + function test9b61da84912db74a57536c6b412a06b01af35aa4c5e4df1456bf6f8910f7c0d2() + { + $this->assertTrue(true); + fn() => ($test /= $test or $test); + } + function test9d8e4c6ec147d318a25706c090f2d5dbc9add15d816354a34dac21090aa6a7ba() + { + $this->assertTrue(true); + fn() => ($test ?? $test or $test); + } + function test9decbf5f04bdf5e7ab1d5ed5c330c504ea19439a86640efabcaffdf5af68d8af() + { + $this->assertTrue(true); + fn() => ($test::$test or $test); + } + function test9f1f96cb15a32def56b9a500a97c895328af2df3596225d763965b5f1c2f79a5() + { + $this->assertTrue(true); + fn() => ($test and $test <= $test); + } + function testa3d5e02a1a6cb984d6df83e7b3cec738a13dcb77344c729f601b7bd9db686fa0() + { + $this->assertTrue(true); + fn() => (++$test or $test); + } + function testa4ea8c759536247ae72ae85455401ca74cdc84590f0aa27f676c480911789c53() + { + $this->assertTrue(true); + fn() => ($test -= $test or $test); + } + function testa78a7ec376b3ee0d8ea7b04fc3e429cb62e7752d18bc506d72e01079ecbcb184() + { + $this->assertTrue(true); + fn() => (( $test) or $test); + } + function testae45a212f52f110cc3bd6a598ab4184287bcc83a2f2f01e7badf296fb496f80b() + { + $this->assertTrue(true); + fn() => (clone $test or $test); + } + function testaecca7603acf0fb19ba52e6010468622e53674b7f864483567c0dac41e3ba850() + { + $this->assertTrue(true); + fn() => ($test and __DIR__); + } + function testb01336e5537f604c93a2c1fe68ce5c08227ba9af504d8ec12b004be9d4ca5a03() + { + $this->assertTrue(true); + fn() => ($test .= $test or $test); + } + function testb039adacc3e887b0322d5346aa544ae5b60b3039a270b016f4ff61fcd2c78f53() + { + $this->assertTrue(true); + fn() => ($test =& $test or $test); + } + function testb1c4ea81a6ab6bd5e5568c0d59ff46cf5b311d9c3885ef1a71bc9c40f3a5b9d8() + { + $this->assertTrue(true); + fn() => (eval($test) or $test); + } + function testb4c2d9089a98409877c7ec10e98a545bb39da9ad390114390f196a62bb7500b5() + { + $this->assertTrue(true); + fn() => ($test and $test != $test); + } + function testb518f52622fa83611f1813c55df65802b632f4a769ce64c9c4513050ebc2517f() + { + $this->assertTrue(true); + fn() => ($test *= $test or $test); + } + function testc089d07bc11cebfd747f3e2844a6aa8db35a8f20f3ee01674911ef985cd70c39() + { + $this->assertTrue(true); + fn() => (print $test or $test); + } + function testc30dc6bbcaebf526a9355491487376c9e4210d952a4e6be74143a44cebf4c1ae() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) or $test); + } + function testc61a850bf5886b9e6affa012019de2b25288a8a68bf83195c5df8698e9729047() + { + $this->assertTrue(true); + fn() => ($test and __LINE__); + } + function testcab0243119b4a1983a2da6ce4600403299dd2fbc02cde810b1e576c86b9093de() + { + $this->assertTrue(true); + fn() => ($test and 0); + } + function testcb9d1beaaabd5909143588d9dcebc492c9a7f248a5965b6b0cba3b1aa2c09c90() + { + $this->assertTrue(true); + fn() => ($test ??= $test or $test); + } + function testcc00809bce99d47ea4d6f561333fdff18cf7e1d58fd0c261f5b6aab9dd9eeead() + { + $this->assertTrue(true); + fn() => ($test and $test * $test); + } + function testd451da894d84d7c0c8fa7106dc1487a6f7751d6c0086f02fecb243cf1c304943() + { + $this->assertTrue(true); + fn() => (+$test or $test); + } + function testd52f9c685b7807b150c9d9246fd3e786069513110efbe13fa6ca77891167ff92() + { + $this->assertTrue(true); + fn() => ($test and $test ** $test); + } + function testd71060d42e0e8b83d12f6b84e3fd8e62d7701f19633e87fd0ce8fe7ae2eefeed() + { + $this->assertTrue(true); + fn() => ($test() or $test); + } + function testd78cc5d5cc5e043c71ba0bad6d22727fb260703ad7945da7007573dd06ebf88e() + { + $this->assertTrue(true); + fn() => ($test %= $test or $test); + } + function teste56f0fd8b0858a857308b6837bcbbdc352ce479f6aeaf0180b36af2605c13a73() + { + $this->assertTrue(true); + fn() => ($test . $test or $test); + } + function teste6089418eb31e6a2083bb8e86bb8b4bf2fe00f3bcd99807f787389ff7385aa0b() + { + $this->assertTrue(true); + fn() => ($test instanceof $test or $test); + } + function testeb95fae076b349a78ccd135a49d9c8d23b141b3c6d59c05c22bdd925e772c666() + { + $this->assertTrue(true); + fn() => ($test and $test + $test); + } + function testedfcc585b39664b6fecb4b1951f46526873bfb247b2eb81881bd6cd6377d189b() + { + $this->assertTrue(true); + fn() => ($test and (double) $test); + } + function testee3247f64cfb113b858d2220d021827a620da739f0862cf74700b9e86126437a() + { + $this->assertTrue(true); + fn() => ($test and (array) $test); + } + function testefc2aeca62044e83d116d951413e1c0deddabb7cbcd843506e8b818c0ba409e6() + { + $this->assertTrue(true); + fn() => ($test ^= $test or $test); + } + function testf08f8f602faa0e88b9292a8a3b4f9bb3603136639c0712031298e44cd5aabcad() + { + $this->assertTrue(true); + fn() => ($test == $test or $test); + } + function testf0bb9e69f68884cb3a74ba7a3c2ca669b576bdea4f502e1c78fb1ee69fb41c72() + { + $this->assertTrue(true); + fn() => (~$test or $test); + } + function testf3c85710284a6aef7b035748d87eeae5befcf56ad92b7a3d25bde396454f3acc() + { + $this->assertTrue(true); + fn() => ($test | $test or $test); + } + function testf75e4f035424e3375db819ecba9f99393d5dc8fd435e011fdb024a638b42486f() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() or $test); + } + function testfdbd2e6c181e38a08b19dba74dff0b210e2d9473e2544da04b2b747739cbcfe1() + { + $this->assertTrue(true); + fn() => ($test || $test or $test); + } + function testff835b6c070b76fefb6777dcf6c43de28df6b2afd2ae1625193fe622e7e1bcc2() + { + $this->assertTrue(true); + fn() => ($test and __FUNCTION__); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test.php b/testsGenerated/Target/Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test.php new file mode 100644 index 000000000..b70f04362 --- /dev/null +++ b/testsGenerated/Target/Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expression55dc34b253d8ac2aa98f0cceb34fbd4c5cffe75f816ee17714a01daeb063ea22Test extends TestCase +{ + function test00a99e93e1974a85cc2715872944beeb870949388a0d722215c33a694ba5ebe7() + { + $this->assertTrue(true); + fn() => (isset(($test < $test)[$test])); + } + function test01971a0a2aa1bf8135decdd3e7dd1fd7fe2421ec9ee0c0dbe60fc1ea76ee015d() + { + $this->assertTrue(true); + fn() => (isset(($test or $test)[$test])); + } + function test02f30de4ef88735a14af8b8430ad824ed5d96a2d408c03e194435f3c2f1c9468() + { + $this->assertTrue(true); + fn() => (isset(($test !== $test)[$test])); + } + function test0a252b7d58341da7f6a998808cc2648ff0461ef7caa20ec5a63c1bb824c10630() + { + $this->assertTrue(true); + fn() => (isset((__DIR__)[$test])); + } + function test0bcc25d593b6bbc74788bebbef58d6e5839c4a425faf5b00fdc1e29d0f52ffca() + { + $this->assertTrue(true); + fn() => (isset(($test >= $test)[$test])); + } + function test0c850db4941ab37caac89bf57bc0f59172550333cc8605245d2cf1337cbe52b1() + { + $this->assertTrue(true); + fn() => ($test << $test)[$test]; + } + function test0d52230b0c16f7926319552aca90b4293df4af0cbca387c33d5c150c6adbef66() + { + $this->assertTrue(true); + fn() => (__DIR__)[$test]; + } + function test11d634ebbbd68765eb1f3db572448c05ed9a2a7a4fa7bdb44f168562cd5f8073() + { + $this->assertTrue(true); + fn() => (isset(((string) $test)[$test])); + } + function test13d5dd4138a5d1de116641c71d280262d4fb5a1cd148786a13dd3cdc05600bbd() + { + $this->assertTrue(true); + fn() => ((array) $test)[$test]; + } + function test14a67b5e22f3f19f54ec606bb0eaeba8fa6bd2eb35b25a6c4118a04a4b5f307a() + { + $this->assertTrue(true); + fn() => (isset(((int) $test)[$test])); + } + function test153c30215d6778dbe78c5912ef17ef562a83df5911b4c3dc6d0a0896e808d203() + { + $this->assertTrue(true); + fn() => $test[$test[$test]]; + } + function test16cb2e0ea3d87664e17e900abb93f656d825ec1ed15e144aa62911365609c052() + { + $this->assertTrue(true); + fn() => ($test ** $test)[$test]; + } + function test1a33b25d5a9d46a0740ac19906f3212abf8d53f8a3101b473937592d9cbdcbd0() + { + $this->assertTrue(true); + fn() => (isset(($test * $test)[$test])); + } + function test1aa24ffb30053b163f183feb740e08c5cb0acd79d90d87cf9be4d292675e393c() + { + $this->assertTrue(true); + fn() => ($test >> $test)[$test]; + } + function test1de1eb2644ad6ef7ff9b5b1f18c00d5899c0e6605f090558ce857485c9bf8001() + { + $this->assertTrue(true); + fn() => (isset(((array) $test)[$test])); + } + function test2315728460b036fba4edd1690cbe4dff80e4006d4b37368f017acd99dd722b5b() + { + $this->assertTrue(true); + fn() => ($test * $test)[$test]; + } + function test249670e12327b1663c2051ace62fe45b33c66a70b759cc2f8abd4c934d63efbb() + { + $this->assertTrue(true); + fn() => (isset((__LINE__)[$test])); + } + function test254ad866e863e039e5284a51e24f4cd168c550a804f0cc399f0c6e5dda73986f() + { + $this->assertTrue(true); + fn() => ($test % $test)[$test]; + } + function test2619617d20095e7853121b40407b3240697313b794a0e17b7e60f411b6f82384() + { + $this->assertTrue(true); + fn() => ($test & $test)[$test]; + } + function test29fc1e82f5bac80e123bc4344752ffb768d03f54b43126705789d8c39aff35d0() + { + $this->assertTrue(true); + fn() => ($test < $test)[$test]; + } + function test2bc979e53281adbc3b9bf86462a2e6ca8b5d55b94fd4c457ba0689553403cad6() + { + $this->assertTrue(true); + fn() => ($test > $test)[$test]; + } + function test31d9b9becafa77531a821b85e6a7602919345f20752b4ea0a18933624e5257ec() + { + $this->assertTrue(true); + fn() => (isset(($test ^ $test)[$test])); + } + function test3376e2447c2ff622c26d42f8473efc5d702702f5c382c018c43998bca70f012f() + { + $this->assertTrue(true); + fn() => (__FUNCTION__)[$test]; + } + function test369d8b9eff8d843e0d2e1ca697b77de3ea860a47243bfc5ede83970de1219f6e() + { + $this->assertTrue(true); + fn() => ($test <<= $test)[$test]; + } + function test37404cb3dcde91e5c16f65c7595066030f34fa92fac6777ee70aa266d23b7a09() + { + $this->assertTrue(true); + fn() => (isset(($test xor $test)[$test])); + } + function test37b4178472e1f536441e65d78536a9683abb778da72c6656e7d376578553e57b() + { + $this->assertTrue(true); + fn() => ((int) $test)[$test]; + } + function test3c1d3ca32e0d70032f4fcc9dfc08b17f624b14e75003fe1acd63ec4652cd703d() + { + $this->assertTrue(true); + fn() => ($test | $test)[$test]; + } + function test3fd822e81dedc0822c0513b95025b40ef721e9297f481959a9af3d803a2fe9a7() + { + $this->assertTrue(true); + fn() => (isset(($test | $test)[$test])); + } + function test439f89a7d73339c52d6cb7cf2dcf1d85e84783c1fef7cf2c9a843126323ae35a() + { + $this->assertTrue(true); + fn() => ($test ?? $test)[$test]; + } + function test4503c6cb281ac396cf969788ca532f3bf3d3ab4c27f6f3306d73726965688b09() + { + $this->assertTrue(true); + fn() => $test[[]]; + } + function test4815f65627cafbbd035869934a88a165d331d7c9c353725e1dbdd594c9123a9a() + { + $this->assertTrue(true); + fn() => (isset(($test and $test)[$test])); + } + function test490b50407b30f95a618dfe67f2dabf39d58fd7bf89afddb0ffd2398a59c9669d() + { + $this->assertTrue(true); + fn() => ((object) $test)[$test]; + } + function test4c197f6fac7984af74b1380c393f0b2a3de04fb45b98cfd47b4f28611cedb7c3() + { + $this->assertTrue(true); + fn() => (isset(((double) $test)[$test])); + } + function test4f6bacf5ad5bd3ed82c1816d1ad8b11ca12644eee28280ed9bc7b5c50f2110e6() + { + $this->assertTrue(true); + fn() => (isset(($test && $test)[$test])); + } + function test552186378d98974db446fcdc74e7898766d3d115acc4f7e325b235060ca8c114() + { + $this->assertTrue(true); + fn() => ($test and $test)[$test]; + } + function test578532bd5834d5a68f654fc517959e80375775505d589353aff4dc1bb8bc73f4() + { + $this->assertTrue(true); + fn() => ($test . $test)[$test]; + } + function test5d20525e40ec7cc0d509358034d3e5607ce05e0f3971fc91e87132e90df04e44() + { + $this->assertTrue(true); + fn() => (isset(($test <=> $test)[$test])); + } + function test5e1dfaf928928272d1b51ade9cf8349a4d50c9aecfe737395ef7260feaf09bd4() + { + $this->assertTrue(true); + fn() => ($test && $test)[$test]; + } + function test5fc5eca6c02d50d340c12152f8e5f7391b064c674e0a6d1a23296bb34ee89b10() + { + $this->assertTrue(true); + fn() => ($test != $test)[$test]; + } + function test63463d015a5c4892e0a0014ea5d57c18dc2c8c64b1571e81f49319bf9d603f90() + { + $this->assertTrue(true); + fn() => ($test ^ $test)[$test]; + } + function test635aeb89bda8785ee7a7ed137c05035e4be709804d376ea5acd4ad189543157d() + { + $this->assertTrue(true); + fn() => (isset(($test <= $test)[$test])); + } + function test68ee27afe4a040ee5421a0275bc4f5677fce9c90ebfca6d8580a2a66e4a6b13a() + { + $this->assertTrue(true); + fn() => (isset(($test == $test)[$test])); + } + function test721cd8116bec111747ac46691e0a5655b77ab11dcd7102f892408cfd2d6bae41() + { + $this->assertTrue(true); + fn() => ($test >>= $test)[$test]; + } + function test7787e556aa3b1db613aaffebe6a036393f65f8594aad8cfb73335bfc50dbd816() + { + $this->assertTrue(true); + fn() => ($test - $test)[$test]; + } + function test7d55c292084c2ba87a525dace8a391cbf3cedad825a56c521472bb267db4d7c9() + { + $this->assertTrue(true); + fn() => (isset(((object) $test)[$test])); + } + function test7ed2a74bd8113d1c826a9591ccda20d748b6ceaeeac579c62c32e01b8f24c9ba() + { + $this->assertTrue(true); + fn() => (0)[$test]; + } + function test817fc5d3f92e2a31926ac672a276d2b00208bfe4bcf39d3a2c3959f6e2cb1c05() + { + $this->assertTrue(true); + fn() => (isset(($test === $test)[$test])); + } + function test819a002c2c348489c6b262aed1fd2b9faeff814d135d96c56a7b5d012b8bdcb1() + { + $this->assertTrue(true); + fn() => (isset($test[$test = $test])); + } + function test83cfdf41cbc97a57caf81290b0e632266407065748b21c146cdb28dbc8fff0fc() + { + $this->assertTrue(true); + fn() => ($test >= $test)[$test]; + } + function test8421da9a74d514b83c7fa3c00300d195e5d0e57d5bb14438e76b7fd431358b92() + { + $this->assertTrue(true); + fn() => (isset('test'[$test])); + } + function test8c01953e1f8e944d24c749fe9791489abf53d06cbf34b6927bae3a6a26761ba1() + { + $this->assertTrue(true); + fn() => ($test or $test)[$test]; + } + function test8c834f5a37bbdbe25bbde7c8487cf9f2ab859417913d2c7738f8d851a225d5da() + { + $this->assertTrue(true); + fn() => (isset((__METHOD__)[$test])); + } + function test907ffc74aa5a6047f98d7663d40def221415b25d6e1b63f7fe15d0c6b2fa5994() + { + $this->assertTrue(true); + fn() => (isset(($test ** $test)[$test])); + } + function test90c179d4cd03b7481183231aad10d2206e5cd35766071cb35eaea4a796794518() + { + $this->assertTrue(true); + fn() => (isset($test[[]])); + } + function test90e9a8a918c34253662cdf7d0a526011e6d246d980431a2e6c6896b4c0bcb1f2() + { + $this->assertTrue(true); + fn() => (isset((__FILE__)[$test])); + } + function test975f101cb20bd9796b8b0006a0909a83cedf377034f9c754a8b3148b545a1c57() + { + $this->assertTrue(true); + fn() => (isset(($test >> $test)[$test])); + } + function test9a45da5add55a3ea0db839d8af96b9ac3ca7969dd4875e23a492b295a2ea0369() + { + $this->assertTrue(true); + fn() => (isset(($test << $test)[$test])); + } + function test9c74c7e06b3574b0dd3bab16d0c37778a4d9e1a87d2d4f163da12d61f49d0df6() + { + $this->assertTrue(true); + fn() => ($test + $test)[$test]; + } + function testa56a6836910b0b37fb3519553821c4ee681fc9596b3ab7ffc46b0115490bfcd8() + { + $this->assertTrue(true); + fn() => (__TRAIT__)[$test]; + } + function testa6ef461b4a07d96f44d8689d2d5618fec9c19a967f68d365da8658e52f842bd4() + { + $this->assertTrue(true); + fn() => ($test <=> $test)[$test]; + } + function testa820fcc845a3992834a6bf2349e416affb09fb0b8f2a54a66daff584d3901f18() + { + $this->assertTrue(true); + fn() => ("{$test}")[$test]; + } + function testaad1a5e1d727263ed7a323e49484ab8c4a14ff514d96f967c0794886e8b95241() + { + $this->assertTrue(true); + fn() => ($test || $test)[$test]; + } + function testaebcc3a5030463442540019d66772e3e35498f994070e2e3ae1aef61686bdef3() + { + $this->assertTrue(true); + fn() => (0.0)[$test]; + } + function testb482fce48c141703cbe387945109756d39ab970efa2e71f1936960dc04ca72c9() + { + $this->assertTrue(true); + fn() => (isset((0.0)[$test])); + } + function testb5cef17af2888736dc692e2e817821f0838311f6c77a12a584cff1aa8cdb5558() + { + $this->assertTrue(true); + fn() => (isset((0)[$test])); + } + function testb7c04e71a7ec985344bcf6e652e510962536b25e5f8c84d6fe168ca7341dccbd() + { + $this->assertTrue(true); + fn() => (__CLASS__)[$test]; + } + function testb858ae5d4a907c3cfa688d031611dbd3a3f8f09a266a205ebb633d6306ead111() + { + $this->assertTrue(true); + fn() => (__LINE__)[$test]; + } + function testb90f628e13a97477f9a8766f9ad75572c953474888fc2d317a3f3a0b17de20cb() + { + $this->assertTrue(true); + fn() => (isset(((bool) $test)[$test])); + } + function testb957be1dbed3f1ddecd8ddf88fcb7468bd9f5bd1eacc2be237791ddea5c43fa5() + { + $this->assertTrue(true); + fn() => (isset(($test - $test)[$test])); + } + function testbda4ae6f8fdc4506fb2b0dd222b4c168d46fce76d5ed5912eca6553a3fb180cc() + { + $this->assertTrue(true); + fn() => (isset($test[$test[$test]])); + } + function testbf3741db5f04e39110d6c558c5b795be5f09ee159bf519101f37f0ef90b8c89a() + { + $this->assertTrue(true); + fn() => (isset(($test . $test)[$test])); + } + function testc083f254dcd0a613794a25f0860016c57c028096aab9d48a980380d2a7d77419() + { + $this->assertTrue(true); + fn() => (isset(($test <<= $test)[$test])); + } + function testc6898decff753a385c3626f51afd37c95cbb238dee923aacb1e2e28cd0f86862() + { + $this->assertTrue(true); + fn() => (isset(($test != $test)[$test])); + } + function testc72e4df84fbe1ba2dde8165f48aca3428c972f30e071fc01f336c6d58e312869() + { + $this->assertTrue(true); + fn() => ($test !== $test)[$test]; + } + function testc7c140b29aa893f2b3babac536db697011f3374e4baf52d3374c8e2f584c319e() + { + $this->assertTrue(true); + fn() => ((string) $test)[$test]; + } + function testcd39195d8488e056fadd11c7094283493a4d0b27822f08bfcddd179f9466e726() + { + $this->assertTrue(true); + fn() => (isset(($test + $test)[$test])); + } + function testcdb20df27f2219985b9c6d8cb6cfccefebf683aee15876a28a855499e8f86427() + { + $this->assertTrue(true); + fn() => ((bool) $test)[$test]; + } + function testce9e2ed5e3538cfcf5458273f94bb549cc20b8e8f50c16fe85a296b82f8b7f38() + { + $this->assertTrue(true); + fn() => (isset(($test > $test)[$test])); + } + function testcec49dfc11b1e4fb1b99426fd06f0cb3664e2151ca5448a41ec791182e2fc2d3() + { + $this->assertTrue(true); + fn() => (isset((__NAMESPACE__)[$test])); + } + function testcee267b7b0f50652b14ed141bb8802d37dd3ba0a6b3e2c409ef4b9847a98395e() + { + $this->assertTrue(true); + fn() => (isset(($test % $test)[$test])); + } + function testcfc726a4c76fa543b992566d15b5b7c913276868fef0eba2cf802444b1370388() + { + $this->assertTrue(true); + fn() => (isset((__TRAIT__)[$test])); + } + function testd38c2bbd95a33f018b4392a28efd75f5908c070ae8dd255b14e922a1de1b296a() + { + $this->assertTrue(true); + fn() => (isset((__CLASS__)[$test])); + } + function testd4b2c02b26ba69ab43b20431657041f493726852d2f716ff4fce64ba887ae20c() + { + $this->assertTrue(true); + fn() => 'test'[$test]; + } + function testd758af9c0dc1fef3c1cd4d3d539bc14d96be05897953103d97b540861cb1e26b() + { + $this->assertTrue(true); + fn() => $test[$test = $test]; + } + function testd7a070621a16257c07e6b9c60bd8d4eb31824330288910185c33cf677eeb017d() + { + $this->assertTrue(true); + fn() => (isset(($test ?? $test)[$test])); + } + function testd868a26f11d7677e106fc8b4091a8e2f77f64eb938737338da4813524b143be6() + { + $this->assertTrue(true); + fn() => ($test <= $test)[$test]; + } + function teste12340008487e2fc6efaaca610d3b25e91c4cb29af352d51e7070f681953de42() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__)[$test]; + } + function teste1f9cda60dec649319bb2d7b32bb11683424722e4f983821ec7c059c0133575e() + { + $this->assertTrue(true); + fn() => ($test / $test)[$test]; + } + function teste6364a96398e000ebb81cfd16cdf572a289b2801b70dcbb01b2732e8fe0dc72b() + { + $this->assertTrue(true); + fn() => ((double) $test)[$test]; + } + function teste846fd0695a45c82cc1556b5e3e175c90a5c2602f4085b3fcaa1716baab7e012() + { + $this->assertTrue(true); + fn() => (isset(($test & $test)[$test])); + } + function teste997e212428b25bd88021e373300d4bb1e5b74c0be10b3edf14e3932271a4192() + { + $this->assertTrue(true); + fn() => (__FILE__)[$test]; + } + function testec4695d1133433b6f9b70e96f700190591918a3fb62f1b8675cb6be7dde879a6() + { + $this->assertTrue(true); + fn() => (isset(($test / $test)[$test])); + } + function tested71d6017e9c9f1ab271f41fbb5009d6f3f74f71836e63f24787d84504f75f3f() + { + $this->assertTrue(true); + fn() => (isset(($test || $test)[$test])); + } + function testf31e56c5f6ab00215c98ee759fb688aa68fdceff8b04585569457a26891ec8b9() + { + $this->assertTrue(true); + fn() => ($test === $test)[$test]; + } + function testf5ce1c2585c9457267f2c2340bd84dddfffc9361ba3acc34237d74748e266406() + { + $this->assertTrue(true); + fn() => ($test xor $test)[$test]; + } + function testf6b7ecc17cfb7f6b5c3d4403a1b9d73c77057adaaf2a3f6017d509ac2149fa87() + { + $this->assertTrue(true); + fn() => (isset((__FUNCTION__)[$test])); + } + function testf73aac921c99690101cebc0a86698cfdb6fb02a082940f68af1a181776649f18() + { + $this->assertTrue(true); + fn() => (isset(($test >>= $test)[$test])); + } + function testfaef3f400f7d64d9a605e7a62cf2bdec5f2d59d345757e50b7832e8ef9b3e2cb() + { + $this->assertTrue(true); + fn() => (__METHOD__)[$test]; + } + function testfe9626ff5d29db09d5a2601e0324cbcd61593473aa45cc9b755bb5b001e63a37() + { + $this->assertTrue(true); + fn() => ($test == $test)[$test]; + } + function testffc943766d84015540a7d1f7a984d98fa9ab42f406959d01367846f590a1b9eb() + { + $this->assertTrue(true); + fn() => (isset(("{$test}")[$test])); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php b/testsGenerated/Target/Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php new file mode 100644 index 000000000..daf1d990b --- /dev/null +++ b/testsGenerated/Target/Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression5764172e48f86fb90cd91c35f06d6b6fe0a64cde4d8bf107a1ba62a9eead0c27Test extends TestCase +{ + function test01ca3558803a858e27e2d32374455bf8d759b6de7bdbbd12befe98a8bdc0e2ea() + { + $this->assertTrue(true); + fn() => ($test ^= ($test and $test)); + } + function test034054a6782f3cc4e457a4cedf61d5f1473e10887f9a8de589821e8f8418a33d() + { + $this->assertTrue(true); + fn() => ($test ^= (print $test)); + } + function test059384ac1960fb76e757dd746393d8167837481e1e9b3774ff11e9c4adbcdb7f() + { + $this->assertTrue(true); + fn() => ($test ^= $test->{$test}()); + } + function test074f70b9a6249c630c7dccd0af27d31424e16029b5d56b0d08e498616af31f55() + { + $this->assertTrue(true); + fn() => ($test ^= ${$test}); + } + function test08af9564554af3cc4510e843874a0697478b57f17eb86045580062df625d99d1() + { + $this->assertTrue(true); + fn() => ($test ^= $test::$test()); + } + function test096c01bbb66314f59b7a152a68aed095e7ef181529b9c56d4369d3d98ba35676() + { + $this->assertTrue(true); + fn() => ($test ^= $test::${$test}); + } + function test0c1aa5e7ae0b7bfe25a4d5ab0d861ae66429104641fe04ad2f1f4bdeeef2a25f() + { + $this->assertTrue(true); + fn() => ($test ^= $test ** $test); + } + function test13115bf5d95c1c6f881ef587b6dd68b27d0ea3431aa45f22890bb9809b731adb() + { + $this->assertTrue(true); + fn() => ($test ^= "{$test}"); + } + function test131302e94e6a341906974f7fb4cc3b8979852995448e83e3a034093bb6786f85() + { + $this->assertTrue(true); + fn() => ($test ^= (int) $test); + } + function test169146ea9f326885ef8b9bf63d0d4d24b6bece771fb5f9a86ef318c624c73033() + { + $this->assertTrue(true); + fn() => ($test ^= $test instanceof $test); + } + function test1ac087eaffd3b6d1487d28dfb6392124745750062360920edcc2a4bb40809e7c() + { + $this->assertTrue(true); + fn() => ($test ^= 0.0); + } + function test1cd6a1a939787c289fe7117a4fac02200a5ea551426a8066ec968a758e102264() + { + $this->assertTrue(true); + fn() => ($test ^= ++$test); + } + function test1faa799d9360fcf9ffed6bc644fe9b924ad20c588284ed815ceed08410dc6039() + { + $this->assertTrue(true); + fn() => ((array) $test ^= $test); + } + function test213e52a316107b7b7cfc22e68f0f704dba5dc7d18edb5efd6152ab6e8f0813c3() + { + $this->assertTrue(true); + fn() => ($test ^= $test / $test); + } + function test21e9e6a208a7645bba2e430a08cf52285b78c2c40dd02070d9a27840d1ca015b() + { + $this->assertTrue(true); + fn() => ($test ^= $test . $test); + } + function test232bee2d1239522430cd9f9bc239522929c40333653f41e65db1c98dadf9d848() + { + $this->assertTrue(true); + fn() => ($test ^= 0); + } + function test23f541a7c500c23c261dc0161e16e88668ab87e2db1f2e4011a85e0fde941d95() + { + $this->assertTrue(true); + fn() => ((bool) $test ^= $test); + } + function test2845af0db6e5ce53e91d83f9fce750b957f519fb12b6a59145f94c6a19ce6575() + { + $this->assertTrue(true); + fn() => ($test ^= (array) $test); + } + function test287ffa2d41a2262d53140e42f7b5c4e77d03cbf8c1d6454e86b9274932e28742() + { + $this->assertTrue(true); + fn() => ($test ^= empty($test)); + } + function test2cd41cb205e32e2dac359454191d177402de26819cd282025b3d88bf07257aba() + { + $this->assertTrue(true); + fn() => ($test ^= (string) $test); + } + function test2d1cb6ae46660b64f6d227b2ae7755594a9c97767665f7a621a2440f919c9afa() + { + $this->assertTrue(true); + fn() => ($test ^= $test * $test); + } + function test2f0694f8eb82b870d3dd38d3040ca01c302acc7c4c2a5e6efae9d60bf5a8e042() + { + $this->assertTrue(true); + fn() => ($test ^= $test &= $test); + } + function test33afe8f47cbfe1898a4fcbccf08fd1235b77995eceb42b352dd38bb74af125c3() + { + $this->assertTrue(true); + fn() => ($test ^= (yield $test => $test)); + } + function test367a40413b7fc2011d9715d82c17c790ff173e50c7e2962fe756ff138a3d54ee() + { + $this->assertTrue(true); + fn() => ($test ^= $test?->{$test}()); + } + function test36bfd23287a4ef595b7229838e6939ea7c3f5de9185266c222d537fa50eee4f0() + { + $this->assertTrue(true); + fn() => ($test ^= $test **= $test); + } + function test3757cd7ed5425d04684a3bd165322e91c15875eecb42e4804477e8be2311676e() + { + $this->assertTrue(true); + fn() => ($test ^= $test |= $test); + } + function test3853744bb1c0fae0c3c8ac853f82a73bc49c4765ccdb29fafa635f97bb9cc548() + { + $this->assertTrue(true); + fn() => ((int) $test ^= $test); + } + function test3a2f2162a4d8ebd3dfebbdd20f6d093b1004e16703090ec95629a34874bf07e8() + { + $this->assertTrue(true); + fn() => ($test ^= $test < $test); + } + function test3d9db8895c2cac67d5690d6f34a4466c90167b224a0afdf656258f5bf34de1dd() + { + $this->assertTrue(true); + fn() => ($test ^= $test -= $test); + } + function test402558e809f2d83224f4e5861e848591a5513cb932a68e163605c1f0b0d331d3() + { + $this->assertTrue(true); + fn() => ($test ^= ~$test); + } + function test418e40be8d1ab1fc3531046f47dac7cf7ca1ab814d51d527af7663712ad574a5() + { + $this->assertTrue(true); + fn() => ($test <=> $test ^= $test); + } + function test41a022b5fcaba7b49501c081fb38a292740a2d183fa18ae208f131b416535d76() + { + $this->assertTrue(true); + fn() => ($test ^= eval($test)); + } + function test421fd8c31d6aa335360b14d0949b9b65b5e4d2853e977a57c520e4276ff6987f() + { + $this->assertTrue(true); + fn() => ($test ^= function () { + }); + } + function test42cf2f646581090fd40441579bbf6859d60735ce25c2dae4a1ebb015d91c7069() + { + $this->assertTrue(true); + fn() => ($test ^= $test % $test); + } + function test444d0de02f02b1346de1432e18a4ab5d147751486821c63de0c07e0e3ecab5e3() + { + $this->assertTrue(true); + fn() => ($test ^= $test > $test); + } + function test46721301975459e6ca3346b299f4ebea0c339349aab5d57f91e41073be12cd82() + { + $this->assertTrue(true); + fn() => ($test ^= $test()); + } + function test47e4bd718e78af1da8472acb98fea88d8185e5b51dfd6f57888382a9c250b115() + { + $this->assertTrue(true); + fn() => ($test ^= $test /= $test); + } + function test49cf7a0db45b5ec45709cfbbbe8d46b650cb2198442e62953f917addef634bb8() + { + $this->assertTrue(true); + fn() => ($test ^= !$test); + } + function test49d68f0c4189072adbbe3d85921ef175e491ea95b1bf935aadf53f1059fb180d() + { + $this->assertTrue(true); + fn() => ($test ^= $test !== $test); + } + function test4c8c2f8152b20e659bf95daafb2365909015dcd2d930fba51d34e73e0d1cbbba() + { + $this->assertTrue(true); + fn() => ((string) $test ^= $test); + } + function test4ee1f8a9d05e994b59331810a0611f4a1289a97e691f50da6974933ca1cd0b26() + { + $this->assertTrue(true); + fn() => ($test ^= $test <<= $test); + } + function test4f77d5f3f7a12a6dc11a99b045765a37aae0a4a0c40fb6f2e73ba39683b98596() + { + $this->assertTrue(true); + fn() => ($test ^= $test %= $test); + } + function test50dbd24ca1a349a5fb4f1223882fe30dbc879fd3fce763c0f4b5ab7a8135134c() + { + $this->assertTrue(true); + fn() => ($test ^= $test--); + } + function test5333136c8e8afdc5ad0b62fb0a4dd4461a6038e6f30eb5c22fa0fa8aa8900098() + { + $this->assertTrue(true); + fn() => ($test ^= $test[$test]); + } + function test54368dc1c83e498064452e5b5da973dedc6901e3ce11c5e57ea265a1b98ddbde() + { + $this->assertTrue(true); + fn() => ($test ^= $test != $test); + } + function test549899d8b72dbfccb1601c2403fab98862cfa1d392c5c03f6835e5b1b024667c() + { + $this->assertTrue(true); + fn() => ($test ^= clone $test); + } + function test57b4ed056ac9ecd208e8a35a8c1c7b0adbd5be2a6fc5e10ab14ea72d8d793a47() + { + $this->assertTrue(true); + fn() => ($test ^= $test ? $test : $test); + } + function test5bbbd8438d2186715516dbb05ab2f683fbe9ccb9e2002d50cba7c129039b41e7() + { + $this->assertTrue(true); + fn() => ($test ^= @$test); + } + function test5cd893a0326bf3ea060762dc3ced3b41f2e3bb4e8a0e8a11e748653760e0bbb2() + { + $this->assertTrue(true); + fn() => ($test ^= (object) $test); + } + function test5dee15084e247b170fa85eee95173d81d0f4221ea3fa62811c3e58b258fc323d() + { + $this->assertTrue(true); + fn() => ($test ^= $test | $test); + } + function test644322046b39b08d62d487b980db1cc11dd24c4da5158f03a76452b46ba24a0d() + { + $this->assertTrue(true); + fn() => ($test ^= $test == $test); + } + function test68d4377e4f832cdfca748fb0bc260eb807f1ff1c22ecdb06eb650e1e2f7f9788() + { + $this->assertTrue(true); + fn() => ($test ^= $test - $test); + } + function test6ab7fae85452717f17638ec59defbaa5cc15c10ffa08e1a9a70849c9203ee42c() + { + $this->assertTrue(true); + fn() => ($test ^= $test <=> $test); + } + function test6b720b9d81a1416d6a6b3b75cc02830b4f70d526c4a529ed71bca28b2838e4f4() + { + $this->assertTrue(true); + fn() => ($test ^= __DIR__); + } + function test6ca059bd59e8f900732e969a8f3adfbe19c73692a3d0d9e9a43a631f057a914d() + { + $this->assertTrue(true); + fn() => ($test ^= -$test); + } + function test6d508b61c39e7e00b7c2cd3a9472758f718457809ddd90e926efec4259fa0d9c() + { + $this->assertTrue(true); + fn() => ($test ^= $test && $test); + } + function test6e421331b8fc833f7ea91def6c3fd162087f0debf70570b1b06f2f8830ac4eac() + { + $this->assertTrue(true); + fn() => ($test ^= $test++); + } + function test72c05935445340a940264bf865b99381fa2fafe0ad404a358beebfed60edaae3() + { + $this->assertTrue(true); + fn() => ($test ^= $test << $test); + } + function test7416dd71a514c92f2eea60d14fe6ebda41f9b40450ee75e23caa7b83aff54a7d() + { + $this->assertTrue(true); + fn() => ($test ^= self); + } + function test74a04432940844ce45bcc8b4e34a4f14268695c379d81a8641a9600a1f036868() + { + $this->assertTrue(true); + fn() => ($test ^= $test *= $test); + } + function test78e428a6bc3285eaf122ed98d33b3d887e007cd77ab76f55012a3c5dc680cb70() + { + $this->assertTrue(true); + fn() => ((object) $test ^= $test); + } + function test7b1c692b1bb2a8d64692a4230d38f4be898350950417934e3dd6f5399bdbf18a() + { + $this->assertTrue(true); + fn() => ($test ^= ( $test)); + } + function test7ce035a33f4795bbf7ec2c724084746aa8c41dd203aa2c19fdc8489cf56bc847() + { + $this->assertTrue(true); + fn() => ($test ^= $test += $test); + } + function test7eca54609075088748032aebff49a47ec2b3b1eaf2cae0490c71eaf396445b7d() + { + $this->assertTrue(true); + fn() => ($test ^= $test); + } + function test7fc127e9aec6be31924e8d9772217bebc4e564e9d44661f3bf2a435940bcb08f() + { + $this->assertTrue(true); + fn() => ($test ^= new $test()); + } + function test8898bf728857b814c961c857989ae7d3c60aa962c09604a2cb49c98e6ef129ba() + { + $this->assertTrue(true); + fn() => ($test ^= $test =& $test); + } + function test8d4e5d262e31ed4717a6a7dccf83af2870e88fe65cee48a4ad7b8c7da782c582() + { + $this->assertTrue(true); + fn() => ($test ^= $test ??= $test); + } + function test8e133347e9ebb0722fa7f41e53dd8367ff7dc6f91caad9ee4799f2abd9d98b3c() + { + $this->assertTrue(true); + fn() => ($test ^= ($test xor $test)); + } + function test8e69f71536af553b7eeaeadba38c5e80788a8dda468aec6af5ff5416cebcd8b1() + { + $this->assertTrue(true); + fn() => ($test ^= --$test); + } + function test98b506b05a0034be14b726d0f2c56edc65e6d72847c42572db381d4a7ae094ef() + { + $this->assertTrue(true); + fn() => ($test ^= 'test'); + } + function testa09756a562779cd896854e05213b05d448421e34eee941269d043061c212886b() + { + $this->assertTrue(true); + fn() => ($test ^= $test .= $test); + } + function testa35ab7fb52b01453aa1110147c584d5d7ebe81208b6a95f2ef11921873bd8cbf() + { + $this->assertTrue(true); + fn() => ($test ^= []); + } + function testaa95951fc5025a62bcdc92af9c6f57d5b848fb1bb8ac50690db5e30df50c8757() + { + $this->assertTrue(true); + fn() => ($test ^= $test & $test); + } + function testae30457d899ea74582e945be4dac9569f86c1cd54c161529576778b8e59a5ccf() + { + $this->assertTrue(true); + fn() => ($test ^= $test || $test); + } + function testb4987307f719de096a9d4b4fb07fd093c5ae8cb87242374d1bd974626cda7b6d() + { + $this->assertTrue(true); + fn() => ($test ^= $test === $test); + } + function testb512c391fa5e86dcefa0043e23b18d6629e249f260da569c624246acbc0c245a() + { + $this->assertTrue(true); + fn() => ($test ^= $test >= $test); + } + function testb6342951ba9d2415125df097786c3d48813b6a886a72c0fd35f1e7e9a1d57016() + { + $this->assertTrue(true); + fn() => ($test ^= match ($test) { + }); + } + function testb638b2c50a07f337d330fecefa5d74e40f3259328cb3ac6dc57c6197075e698c() + { + $this->assertTrue(true); + fn() => ($test < $test ^= $test); + } + function testb896881093b11a353e2097b5e4844d794c7799409f6af6d0275a6ebdcb6ccb77() + { + $this->assertTrue(true); + fn() => ($test ^= __CLASS__); + } + function testbf676607d9689af59d671348cfbf1b0d24922982df5964cc7f292c873aa3ed2f() + { + $this->assertTrue(true); + fn() => ($test ^= $test::$test); + } + function testc010d7e1eec677c3a4ca955610089995b69c730f83d0964396bb461ef3e5ab2d() + { + $this->assertTrue(true); + fn() => ($test ^= ($test or $test)); + } + function testc3ec189664f16674e379227e304adbf0f73dfaacd1c07a00dcd764d24cd3e737() + { + $this->assertTrue(true); + fn() => ($test ^= $test <= $test); + } + function testc4829c8c3b44aded0f1a93ac08bdbfa2de4cad8020939c6992d186ba8ebc7805() + { + $this->assertTrue(true); + fn() => ($test ^= $test = $test); + } + function testc48b443094edc441ab2ea0ea5f0d74b4679926454387e2fc6dda06bb3ea69829() + { + $this->assertTrue(true); + fn() => ($test ^= (double) $test); + } + function testc78dbd5c2079800905058c1ba1d51ba9252925b31fe77ac1f20ce2a685e40be1() + { + $this->assertTrue(true); + fn() => ($test ^= +$test); + } + function testc839b2969358a8138ff5ef43d933b17b35258f60ac86f9e899d3e90298d555ff() + { + $this->assertTrue(true); + fn() => ($test ^= $test?->{$test}); + } + function testcb4c21093569b1418a8d75a4ee29d842b48ca5f40b5447b4409bed472ea6a839() + { + $this->assertTrue(true); + fn() => ($test ^= $test ?? $test); + } + function testcbe9b69788aeba20dcbc398081655b1cd59bb12d74f14225824f3a63c0a7a9be() + { + $this->assertTrue(true); + fn() => ((double) $test ^= $test); + } + function testcdf00554f5cfd8cabde45beb90957cf17ea703c4fab5e851ee31766dcd2ae6d2() + { + $this->assertTrue(true); + fn() => ($test ^= (yield from $test)); + } + function testd1eeecbe8e0b92b238113782a2d5515e009f19602818a371e9c6206f502ddc1a() + { + $this->assertTrue(true); + fn() => ($test ^= ``); + } + function testd8f7944e27cd1d56b95de916250ce4cdcc230b20c828aa82042d6d10aa445fe9() + { + $this->assertTrue(true); + fn() => ($test ^= $test >> $test); + } + function teste345be1f993c21feec04466466149cc2ae277d95ed62399e9b5d7f54b7da4441() + { + $this->assertTrue(true); + fn() => ($test ^= isset($test)); + } + function teste5076970d7ae18791f4388d3aa19eaf74604e460178667fe1c41cbbf8c2c77b1() + { + $this->assertTrue(true); + fn() => ($test ^= throw $test); + } + function teste604909a78d1016dc59e04ec6ea358b75775f98cd1a9b391f46df0d1f23b4cb1() + { + $this->assertTrue(true); + fn() => ($test ^= (bool) $test); + } + function testefa79afe839d5e4dfb77e483f03a81c5c04f00d6d5dac6397a8c47390f6574e9() + { + $this->assertTrue(true); + fn() => ($test ^= $test + $test); + } + function testf1fbf95444f8be43e11f45a9d9bfdae1e96b0e3bdaee0963f0d51245d323d7c4() + { + $this->assertTrue(true); + fn() => ($test ^= $test->{$test}); + } + function testf8f88d0f356903fbefe1766af275068e398caf404233d30850a4f3481c8055f3() + { + $this->assertTrue(true); + fn() => ($test ^= $test ^= $test); + } + function testf9e5a55ee79b858cdf60954725773f57f5b59e0eba0f60e60e1957630da5cd3b() + { + $this->assertTrue(true); + fn() => ($test ^= $test ^ $test); + } + function testfc4a3385461ec51c2be1e920cdbe14a6bec88b1a6442c4b6a758adb339b7251b() + { + $this->assertTrue(true); + fn() => ($test ^= $test >>= $test); + } + function testfdb1831699237b3b8a7d2ed9b6d26f60bfef106bafa3dedd3dde279f81993e0b() + { + $this->assertTrue(true); + fn() => ($test <= $test ^= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test.php b/testsGenerated/Target/Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test.php new file mode 100644 index 000000000..e08a2223d --- /dev/null +++ b/testsGenerated/Target/Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression5c7d85e51adcc4dc183346d5ced5eb8b10789ca83658d0e1d48c4faea7313d81Test extends TestCase +{ + function test005d7789f2fadfb189bc6080c701510f9b3cbc5fbfaf6e88f0fdd9e6fefba9c3() + { + $this->assertTrue(true); + fn() => ((double) ($test ? $test : $test)); + } + function test017d72d57fe0c184ef5ef156d2947e038ddd77f2fec91ff2b02696ad5efebbf0() + { + $this->assertTrue(true); + fn() => ((double) ($test ??= $test)); + } + function test01f848d5d894eac03bd8b32b71afcda32c9583dfa830f4468b1121777d581902() + { + $this->assertTrue(true); + fn() => ((bool) __CLASS__); + } + function test0c77a397752f6a5bbfbac50e81ad4fcad390910e76e5eecb408c2f766eff71bd() + { + $this->assertTrue(true); + fn() => ((bool) __FUNCTION__); + } + function test0e811b2d8f274760e62b1136f77f590158e79a6c164ee031cc5fd554554faf89() + { + $this->assertTrue(true); + fn() => ((double) ${$test}); + } + function test0f48a1b6b1dca23cbc24fd4a4008e44bd914a44144246e3d221be280023c2b00() + { + $this->assertTrue(true); + fn() => ((double) +$test); + } + function test104d53eb537a19aa4b4a9fe25500c3c0fbeedaae3ffb4099ff7466ef2f85fd80() + { + $this->assertTrue(true); + fn() => ((double) (print $test)); + } + function test174400733679eb76cdefc3fc3576d38e93aa728a002a94558805533bd6835ba6() + { + $this->assertTrue(true); + fn() => ((bool) ($test <= $test)); + } + function test19f233ff2ec496c1253e94975c189a1f133725300ba868f072a4ee1ac7b1aa72() + { + $this->assertTrue(true); + fn() => ((double) clone $test); + } + function test1a0b6c326f343fa7c0970a4e312387ed4e99a1b82e1fdb90a8ccb980e5f5f9e3() + { + $this->assertTrue(true); + fn() => ((bool) 0); + } + function test1cd592a34a7b6ec8f948a2dd6d7d84261d1180236095e2ebbf0857eea0925788() + { + $this->assertTrue(true); + fn() => ((double) ($test %= $test)); + } + function test1f2a521a359f91d7b9ad0ed123517efec3c9881ad726f50dbbae01e9220985d4() + { + $this->assertTrue(true); + fn() => ((bool) ($test & $test)); + } + function test1f7c9a590893fed43d01b58cb7e42d5685314ef3b9e5c675cdd56784b5a6f18f() + { + $this->assertTrue(true); + fn() => ((bool) ($test === $test)); + } + function test23eac0a63fa67df551ae931811b7d08f52c0c3a053c689a7bb16c88904e2f60e() + { + $this->assertTrue(true); + fn() => ((bool) "{$test}"); + } + function test260c24e050987065c29b97b985bf255ec6bfd4d0069781de514b4dca7d2438f2() + { + $this->assertTrue(true); + fn() => ((double) throw $test); + } + function test295db244786f509689b82da5e22e2f9c1f6269e603aa99bbf28f315c39e16468() + { + $this->assertTrue(true); + fn() => ((bool) 'test'); + } + function test2c5ef7493bfc87fc8b435f874186aab984960ca9277f45349d756b39d9787f34() + { + $this->assertTrue(true); + fn() => ((bool) __METHOD__); + } + function test38eb23e8658ccebea605d485390dda5e4544859dd14bffec2e87138cb28276ea() + { + $this->assertTrue(true); + fn() => ((bool) ($test << $test)); + } + function test3ae63bd06682ab07b5d99b11292083191a9ff328a9d61cb0316106dc75d60cb6() + { + $this->assertTrue(true); + fn() => ((bool) (string) $test); + } + function test3c5239f2bb043d17be938f36edf9db052a341fc31db7951b78cf2db9669a9e71() + { + $this->assertTrue(true); + fn() => ((double) ($test &= $test)); + } + function test4575d6ad06b1f61e1000de71affabaa7e4d22124491fd1c9eefeffac03599900() + { + $this->assertTrue(true); + fn() => ((bool) ($test !== $test)); + } + function test46e98113331a4149eda4ddece366d72cba195c24766c52fb1de2d1a72288d736() + { + $this->assertTrue(true); + fn() => ((bool) ($test / $test)); + } + function test48976c234e9c2f45b26dd0fb4ee7f6c3f295ada700f69c9501cba3576598d488() + { + $this->assertTrue(true); + fn() => ((bool) $test ** $test); + } + function test4d2110cbeee191b9d8417ce700044edba77581097a6ab10693f22159182496dc() + { + $this->assertTrue(true); + fn() => ((double) match ($test) { + }); + } + function test4fe8112f734ff713318364cca0ae9b7c227e5a74dfe506174529c053c2f25bd0() + { + $this->assertTrue(true); + fn() => ((bool) ($test and $test)); + } + function test52903c7d9d79fef7b0125462cd8488cf4ffc49766b6c71a71e1200d87fe67579() + { + $this->assertTrue(true); + fn() => ((bool) ($test % $test)); + } + function test558cb7f2c92a2808aef67e80040f35cfde89a7eaf8935b9d47bce6ad36e70593() + { + $this->assertTrue(true); + fn() => ((double) ($test = $test)); + } + function test55fa3bf9d6e1ebfd99c46bf0119434eecded64dedba37f2a5a9f84aa4aa23db7() + { + $this->assertTrue(true); + fn() => ((bool) ($test or $test)); + } + function test5a724a18fd417a66d96ec423b8fb18cf7fc41a5d238d9b641e8300d2951003c0() + { + $this->assertTrue(true); + fn() => ((double) $test?->{$test}); + } + function test5d8a420bdf7fcb5b3664e74c7a46b406520514926a53adbcf49a3559d24eb6ee() + { + $this->assertTrue(true); + fn() => ((double) self); + } + function test5e695e382b1e95e7051408397ba6895099169f16b178cfec1ad65f3fa0bf5caf() + { + $this->assertTrue(true); + fn() => ((bool) ($test ?? $test)); + } + function test5ee11fb0edf3bc6a8807f95940447eddc744e5662673b6cadbc8054dbe886edb() + { + $this->assertTrue(true); + fn() => ((bool) ($test || $test)); + } + function test62bad6535e9869eb6f9b7ff5f5b95ac525037d6b2427334b0dd2b3eb4a25b942() + { + $this->assertTrue(true); + fn() => ((double) $test::$test()); + } + function test63589827e3b8ea667412ff9ead65c4926ec44cf957117f4a91a88aee51499bd7() + { + $this->assertTrue(true); + fn() => ((bool) ($test * $test)); + } + function test63d1364809805d6b62ea5f7691b1c7df607ee36149bb6224415da3a031ca8c57() + { + $this->assertTrue(true); + fn() => ((double) (yield $test => $test)); + } + function test65056fba5fc2f7d951be5ffbda87adef9901bb752ccd449ac0b8ffd561a7f796() + { + $this->assertTrue(true); + fn() => ((bool) ($test < $test)); + } + function test6a3ac9977d0725ec76f2bde996f03f4db16ee230b11ee535adb45d6c550c73e4() + { + $this->assertTrue(true); + fn() => ((bool) (object) $test); + } + function test6d332d5df044a6543a9d34aff5666b0b6f0b2e8d5beb19c7ae9956e596815ac1() + { + $this->assertTrue(true); + fn() => ((double) -$test); + } + function test6d3c66b4c431a88bfc44db1a8abc6bb0921917debfba83eb778cfe45dc067d98() + { + $this->assertTrue(true); + fn() => ((bool) ($test <=> $test)); + } + function test6d3feee5588b90e4066dfb7fcef80d53eb703349fb87c801f59da3690d4817c7() + { + $this->assertTrue(true); + fn() => ((double) ($test >>= $test)); + } + function test70be1971a263cb10adc0f36ae8dbdbb436a7fd05b332d8cc7fea1c3cc3f9636b() + { + $this->assertTrue(true); + fn() => ((bool) ($test != $test)); + } + function test72f00cf39841d0171664a71ccc5ffc9010e79f37666235bc888a57f4966212e3() + { + $this->assertTrue(true); + fn() => ((double) isset($test)); + } + function test7a463b696e5ae628f9d393a20e8707b61460ee8148f1fffbcaa5b7079f88807f() + { + $this->assertTrue(true); + fn() => ((double) ($test ^= $test)); + } + function test7b451706a700615a15a3b9228d22a0bd1f51937e043d733ab4e2a1ee80182ba5() + { + $this->assertTrue(true); + fn() => ((double) ++$test); + } + function test7f16a11bc91ac88d6049cb7aa2ee62beccdadff20357162c332d46a6b714ec7f() + { + $this->assertTrue(true); + fn() => ((double) function () { + }); + } + function test854163b16961b112872425326d3e68c4e833e76f6e8d1e23e60f0262869fd2b8() + { + $this->assertTrue(true); + fn() => ((double) (!$test)); + } + function test87ac7ef01d661f5a21ea4a9c17a5c5f31d8538629f136445514c29eb7782395e() + { + $this->assertTrue(true); + fn() => ((double) $test()); + } + function test87c3aca41968e5ce94ad083ea68477fabee652a28e2b4d57925180401f7ab2b4() + { + $this->assertTrue(true); + fn() => ((bool) ($test ^ $test)); + } + function test8a692f8480d93369a626c5c75a22ee4af728498898ae48ade7a06fac7ff2cc92() + { + $this->assertTrue(true); + fn() => ((double) $test->{$test}()); + } + function test8ea74af4a8ba5089619ed497ee729d607b36e5bbb343bffc90c4f1308fa279dd() + { + $this->assertTrue(true); + fn() => ((double) ($test |= $test)); + } + function test909666d2d891287354023c331c910cd5145e45dbcedd13cbb3493b20860c261c() + { + $this->assertTrue(true); + fn() => ((double) ~$test); + } + function test934b53f2476a8ee95912f41fbe0422d4e026df3a5ce371a782d5c1d991536083() + { + $this->assertTrue(true); + fn() => ((double) ( $test)); + } + function test95471d07d902eaa5aafe93421a09460b3abd31c7d8fed5a4884be809a453d7ca() + { + $this->assertTrue(true); + fn() => ((double) $test++); + } + function test9a8f0a1bada37001014c13d2da2f5ecda54a31b1e2512328d9060bb899a4bcf5() + { + $this->assertTrue(true); + fn() => ((bool) ($test <<= $test)); + } + function test9ea1ffa55579df9995d1468a74b43e0f324d1d67098fb667911c7dc3d1d3ff06() + { + $this->assertTrue(true); + fn() => ((bool) ($test >>= $test)); + } + function test9ed14ddb8dbb5eba9988cd441c4f54b7a3ac122ee30db515bab7da26daccd801() + { + $this->assertTrue(true); + fn() => ((bool) ($test > $test)); + } + function testa0645e8b473761808716f6b38aef069b97af8006ca99f7e239e450e08444f938() + { + $this->assertTrue(true); + fn() => ((bool) ($test xor $test)); + } + function testa23645c89373d3573edbfca28b09712b252017f78fa261d9ed0d843728b63808() + { + $this->assertTrue(true); + fn() => ((bool) (bool) $test); + } + function testa25bc3f1f13fb90e4f7086c064c0d62ad391559ad916b8e60835e67f44a7df98() + { + $this->assertTrue(true); + fn() => ((bool) __NAMESPACE__); + } + function testa29ecae4a4ead31b3e52ba32cdf41b1c357c42e32a74bade08aa9267496bcf09() + { + $this->assertTrue(true); + fn() => ((bool) __DIR__); + } + function testa4d23750cc7d7253ca67529141f9ba24883d8e39b675a7c8013d8a499ee0f9d1() + { + $this->assertTrue(true); + fn() => ((bool) 0.0); + } + function testa65e5d1e805a69f950deefcb75bb4c92245833e5fb1e42b2de90c8ce754d0244() + { + $this->assertTrue(true); + fn() => ((double) $test[$test]); + } + function testa75896c97c36835015204a8e14396a4b21eff614f59291ee0a6e9ae5de214918() + { + $this->assertTrue(true); + fn() => ((bool) __FILE__); + } + function testa96a4a3a86e475f150663e96a12935c4bda51c2937b058a1f56864f7b3cd8f33() + { + $this->assertTrue(true); + fn() => ((double) $test::${$test}); + } + function testa990c8a6a79e21aa8e4f618f4f23370aa1b4023af4746e6f18a236482c3993a8() + { + $this->assertTrue(true); + fn() => ((bool) (int) $test); + } + function testac119f0d35a99a5e98764d3f5b685b0e548e1144901a843b586c49800f0a7e4f() + { + $this->assertTrue(true); + fn() => ((double) ($test =& $test)); + } + function testaccf3361f694e8217323067471cae3c938301d90d8011fc66377181aabece153() + { + $this->assertTrue(true); + fn() => ((double) eval($test)); + } + function testb08c2b15f10f620a95f426d1cc07fde568655af5c84e17554bff9d344b692d96() + { + $this->assertTrue(true); + fn() => ((bool) ($test **= $test)); + } + function testb26ae741ae2261d04eb1142566e067f1524abd2b954af1986a4bbfa39f5ff615() + { + $this->assertTrue(true); + fn() => ((double) new $test()); + } + function testb35e3b6923917be302cdfc6e1b9f41d5dc66e6d1fd353c16344cad64bef5531e() + { + $this->assertTrue(true); + fn() => ((bool) ($test . $test)); + } + function testb547b2e1b7d0014543435a40942057221aaf516347f524f4472027ce83992670() + { + $this->assertTrue(true); + fn() => ((bool) ($test >> $test)); + } + function testb5b7f7397cbb09a6983fc209eb2f7041d7ab51209008578019be55627caae770() + { + $this->assertTrue(true); + fn() => ((double) ($test /= $test)); + } + function testb67123416727404db09f0d582b902422deb8d387615d85f824013b2cf08ff856() + { + $this->assertTrue(true); + fn() => ((bool) __TRAIT__); + } + function testb6b27755de968b81b8ea1a25454eca6205438dc6988d30042d4fa4c5683c1391() + { + $this->assertTrue(true); + fn() => ((double) (yield from $test)); + } + function testb719e63e08d629114bf9a20c3616eb4518eca73406b82f191f6e66587c5faf14() + { + $this->assertTrue(true); + fn() => ((bool) (array) $test); + } + function testbb15d0532896ba431d98db8e1389e7d6bb51fd4241b543c86b4ed71bdb918fcf() + { + $this->assertTrue(true); + fn() => ((bool) ($test - $test)); + } + function testbb5393262c6a5a3ec294a626bc7511d34946cc71319220a41bb1700ff19fd306() + { + $this->assertTrue(true); + fn() => ((double) []); + } + function testbeedd96fd3d0ae5ad7493c7554eea4ce5e008c9e02ce7d24fbed4c4d01eff52e() + { + $this->assertTrue(true); + fn() => ((double) --$test); + } + function testc4d67ed789acd5523d78b29118d28b2a97c64be33ed240feab0aaa54b7bce2dd() + { + $this->assertTrue(true); + fn() => ((double) ($test instanceof $test)); + } + function testc4e596576a325b66f0117752eba0dbe66efb53d7689189160d51efbfb0caa289() + { + $this->assertTrue(true); + fn() => ((bool) (double) $test); + } + function testcaaa00f0c14b1045f4b001e9bdc615026e50ec8adc351ff4c7d3fab59c5e69e9() + { + $this->assertTrue(true); + fn() => ((double) ($test += $test)); + } + function testce683a0127a6b43ec0db27108399c9b86558a3c6222de8dba6a258786047865f() + { + $this->assertTrue(true); + fn() => ((double) $test); + } + function testd299b90a3ebfb38a4c4938451ba3407ab4c30b7df9cbcf7c1e9de2dfdff181ac() + { + $this->assertTrue(true); + fn() => ((double) $test?->{$test}()); + } + function testd8ab0486451b4b02da64f86d91615fcf1cc83398fa00d92eb2169ef3642ceebe() + { + $this->assertTrue(true); + fn() => ((double) @$test); + } + function testd8ead083d47d568c7d3a2fc3afba5a118fec96365c298ba3c8d270888b494c9a() + { + $this->assertTrue(true); + fn() => ((bool) ($test == $test)); + } + function testd96c27cc14e9528355ed69a721212bc8c258aaf80ef94f6ee6626cdd2316368d() + { + $this->assertTrue(true); + fn() => ((bool) ($test + $test)); + } + function testdad56bbf2fa8529ded5db74019fe95ac518759ed372f4f3a8bca77b997345500() + { + $this->assertTrue(true); + fn() => ((double) $test::$test); + } + function testdb2e086f4be43e074a7d0000138655a8c48f92ab307e61f51fb421fdd38f895f() + { + $this->assertTrue(true); + fn() => ((bool) ($test | $test)); + } + function testdb965bdfe829192c8e1939e3529d6852d21fdb0e6e14c06df48e82b9c9145446() + { + $this->assertTrue(true); + fn() => ((double) ($test .= $test)); + } + function testdcb62854720f15440c85b9b356d1b78fe7bb13c63ec4a1f279129f651b6ac37c() + { + $this->assertTrue(true); + fn() => ((bool) __LINE__); + } + function testdeb5e9e595e0448c2b9e5d9d9d7c90d291670c8c5e3b134048c77a611f9bf0cf() + { + $this->assertTrue(true); + fn() => ((double) ($test <<= $test)); + } + function teste0567985f80d6769ae0c20f5df2ff501ed8d0a9a16a2a926783a9cb1c5eb40cf() + { + $this->assertTrue(true); + fn() => ((double) empty($test)); + } + function teste815b56e225a915aa3533c3246df3a8560c52b77fa5d6ec9c6955e5bd42c706d() + { + $this->assertTrue(true); + fn() => ((bool) ($test >= $test)); + } + function testec1cd9c37a45962cf08c4b06f15682f2948482182051158cbeb645db9a99a6a6() + { + $this->assertTrue(true); + fn() => ((double) ``); + } + function testef9962344e62f3e2b6e04135118271b2e1383efa138af4a80420ad15cbc10d7a() + { + $this->assertTrue(true); + fn() => ((double) ($test **= $test)); + } + function testefa32a9425bbede7b17d5a7027edf08f203c565439d971e5370655fb8332eb53() + { + $this->assertTrue(true); + fn() => ((bool) ($test && $test)); + } + function testf4b687e558e4dc24b59494af0c876c08d59e08b84650a6d61a697d78234868c3() + { + $this->assertTrue(true); + fn() => ((double) ($test -= $test)); + } + function testf513cf3680b3b3b1aa91a3f230c1ac66a4645865f276f86ff35082ad0e8efc68() + { + $this->assertTrue(true); + fn() => ((double) ($test *= $test)); + } + function testf75b34444e3aefd613dd901ceae95ed8f032e737f910b4e6ade1d769b9713d5a() + { + $this->assertTrue(true); + fn() => ((double) $test->{$test}); + } + function testff9f3892d8342b8b121315bfd0570ad95000b8434e4b2c407030050e11f5ec57() + { + $this->assertTrue(true); + fn() => ((double) $test--); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test.php b/testsGenerated/Target/Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test.php new file mode 100644 index 000000000..5d982fa82 --- /dev/null +++ b/testsGenerated/Target/Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expression64f1ae3cef1231e9c4b315f2df565ba8e7590af729274fba91b003694885ec14Test extends TestCase +{ + function test053d6b01d0d2ee09865d2d134f8b2efd83b05ef71d65ba8d0c161daa04682c70() + { + $this->assertTrue(true); + fn() => ($test !== $test)::${$test}; + } + function test0568c6cfcdbb385004c8b669909f017ec9741977a14acac8aaa1a45fc7a6267d() + { + $this->assertTrue(true); + fn() => ($test |= $test)::${$test}; + } + function test0c6fd5c2db91f2cedcf12d0cfa72967fcef40f5b71091b8635d4aabe0f97daf8() + { + $this->assertTrue(true); + fn() => ((yield $test => $test))::${$test}; + } + function test0cf75a36f1c2a7460cd6afcfde6aa9c3f22cc6323da3b4af8883567bbf4f0ef2() + { + $this->assertTrue(true); + fn() => (-$test)::${$test}; + } + function test10ce2b5e2f25d024ab9749cc09d95f896ace7a2afa3907298f3c23d6b377276b() + { + $this->assertTrue(true); + fn() => ($test == $test)::${$test}; + } + function test13ad236e0b9859f1d7aa958b43149df1c866967a6112c7ae210aa26f1aa259c4() + { + $this->assertTrue(true); + fn() => ($test % $test)::${$test}; + } + function test153a5b39185d65ca77820f3f8fe9f19dd8ff527d1f4399cb85bec6662d3919a8() + { + $this->assertTrue(true); + fn() => ($test . $test)::${$test}; + } + function test15421527e4b85c05b4fd1487469319ee23b64871474e10848d495d83d95a1360() + { + $this->assertTrue(true); + fn() => ($test or $test)::${$test}; + } + function test16ef44bb136204f35960f59e16328342450e04f88621bb300758ab0a5ce2e848() + { + $this->assertTrue(true); + fn() => (isset(($test .= $test)::${$test})); + } + function test1bda5f17de8f9c254bbb999de6754ba959ade3e3669a26c8978c5779b3e80a45() + { + $this->assertTrue(true); + fn() => (isset(($test || $test)::${$test})); + } + function test1bfce33da3732bf58d54cb342568eb175d01aa00259ea056fb32bb560f8cd15e() + { + $this->assertTrue(true); + fn() => ($test / $test)::${$test}; + } + function test24b22674555130c9b6feb41c678ffe408d879ea8485b583fbe0fee61be68684a() + { + $this->assertTrue(true); + fn() => (isset(($test | $test)::${$test})); + } + function test24f4a9d2540c85ed33648fc065578e5d0d5dd6c6b760cb25f5aa2dd578edeb25() + { + $this->assertTrue(true); + fn() => (isset(($test += $test)::${$test})); + } + function test2983d66883ea8b5cb3c34d5bc2f3c8f5eb360845722d69fbdbdb74c6f8a4b387() + { + $this->assertTrue(true); + fn() => (isset(($test &= $test)::${$test})); + } + function test325a4ab45b143f1bfdbbf9044b5f7ac839ea4c3598f7ca6b6574b9739a06c638() + { + $this->assertTrue(true); + fn() => (isset(($test **= $test)::${$test})); + } + function test33d3652bac48082170ba4c319624a2631d53f15b87c17b48377dd0c329dc1ef3() + { + $this->assertTrue(true); + fn() => ((double) $test)::${$test}; + } + function test34c7a3525616dc2919fc7ce842b6d48c752e1feee8e29c41fb281123ffdd5d2f() + { + $this->assertTrue(true); + fn() => ($test *= $test)::${$test}; + } + function test3625aec7665a39410d3a78981259ce85c45efa979794e231765a05c3905dfc6e() + { + $this->assertTrue(true); + fn() => ($test < $test)::${$test}; + } + function test36e5ef0ec828987dc0198e9b5b8b24c96a1942408efa36cddc6c23897c67854a() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test)::${$test}; + } + function test3d6bbbb565144823f8e2809a40e264b405511454191cd51eb4295fe3965de615() + { + $this->assertTrue(true); + fn() => (isset(($test <<= $test)::${$test})); + } + function test4021605811f69a8916097f833b1124d051cc19c384fe408d54bae680a0bc6f7b() + { + $this->assertTrue(true); + fn() => ((array) $test)::${$test}; + } + function test40af7bb23d06e2c30389b9ee6022bcc8c6486d6349c404ca79bf76d5c7b7088d() + { + $this->assertTrue(true); + fn() => ($test + $test)::${$test}; + } + function test446254728be88ab6f52c910c7e55bddc72417337b5adf80156eed71a4f5457ad() + { + $this->assertTrue(true); + fn() => (isset(($test != $test)::${$test})); + } + function test452cecb40fb0ee12c24813007b84be7438f9c0d64d4b75218ce834196cd2a8f4() + { + $this->assertTrue(true); + fn() => ($test and $test)::${$test}; + } + function test466f1ccc4c670d73b1664484a21c70f8fed5d94abf846c25caf6fefebf6ef453() + { + $this->assertTrue(true); + fn() => (isset((-$test)::${$test})); + } + function test493b4cfe5a3eab5ad2a98135808bbb42505e8f86d5fcfb43177c2a0257d844aa() + { + $this->assertTrue(true); + fn() => (isset((yield from $test)::${$test})); + } + function test503ffd40cd2ca6de3bfdac604b865e250ef6d7c3591bc29051874cb2fda1636e() + { + $this->assertTrue(true); + fn() => ($test xor $test)::${$test}; + } + function test5656b5858ffaa6e21e7400a503859d0c46002fbf01c1a3871d5a0600faf3cb60() + { + $this->assertTrue(true); + fn() => (isset((+$test)::${$test})); + } + function test597134b8b8931e34dc16131899d6f32a6cd3811fc7acd76ca219382d8ea07d83() + { + $this->assertTrue(true); + fn() => (isset(((array) $test)::${$test})); + } + function test5b953047a866a93e9831aded7cbd0692891f5afc98d069eb28e071cfb2444a15() + { + $this->assertTrue(true); + fn() => ($test **= $test)::${$test}; + } + function test5ddba5becf99fc51c6e4bdd34fbc698740776a1b654000599ab7dce165fd0777() + { + $this->assertTrue(true); + fn() => (isset(($test & $test)::${$test})); + } + function test62c394042aee17904a98bf0c8d70f766327a0f6f76686956e9c2cd6293365f6a() + { + $this->assertTrue(true); + fn() => (isset(($test && $test)::${$test})); + } + function test69862551c00bf6d5aa912cbd2e7aaea5c9eabf2be3c55a83e3de606c9511c0be() + { + $this->assertTrue(true); + fn() => (isset(($test >>= $test)::${$test})); + } + function test6edbc0699be557fdc5ce8cdb1d06c213877da3703df675b97c4e6cf34858349d() + { + $this->assertTrue(true); + fn() => ($test ^ $test)::${$test}; + } + function test711cc2ff508b3a6d7c893f678d9751791dd2d362a1a40b5b0293a7ef9d0ce926() + { + $this->assertTrue(true); + fn() => (isset(($test !== $test)::${$test})); + } + function test7bf412cd5e5a511c94184365e2aa210a38f3d426800462437429b9921d59c07e() + { + $this->assertTrue(true); + fn() => ($test ?? $test)::${$test}; + } + function test7ed9cf7d452f49c69057ce0b3bfe976a96d79dec6be4b8385a07b553ec01fe58() + { + $this->assertTrue(true); + fn() => (isset(($test and $test)::${$test})); + } + function test7f1f5bb597a397037397e91556d5a376276a6702aa46266102eb00f6897d7e72() + { + $this->assertTrue(true); + fn() => ($test || $test)::${$test}; + } + function test7f2a59beea80db44a4557689c207956c30a9c5015c7af44af0f06d6eedb3f53f() + { + $this->assertTrue(true); + fn() => (isset(((double) $test)::${$test})); + } + function test81d47115c933856ecba3dce72ffe5d30f01e71296c24aeb724878df41ccb90fc() + { + $this->assertTrue(true); + fn() => (isset(${$test}::${$test})); + } + function test87092ec86458b2d44ebfe16fe58c550c7f733bdb57060ca3c7f34007687ae832() + { + $this->assertTrue(true); + fn() => (isset(($test + $test)::${$test})); + } + function test87de0feb1f887b9cde3204fe8a00cb742eea9eac4f636df816a59e2c41e5aa53() + { + $this->assertTrue(true); + fn() => (isset(($test ** $test)::${$test})); + } + function test88242007c345f0702d6e78a2f6801765bc819391387315c569c21863cea07fd8() + { + $this->assertTrue(true); + fn() => ($test >> $test)::${$test}; + } + function test892c0b97f7ec208ce3bb35ebf28d2927718b3a06353bd54470a5ad1a15165234() + { + $this->assertTrue(true); + fn() => ($test .= $test)::${$test}; + } + function test8c0a8d3cdfe72052c6fa5d2bfb02ecdbfce16ee6274950bdbbca31795fd2d71d() + { + $this->assertTrue(true); + fn() => (isset(($test ?? $test)::${$test})); + } + function test8d159c4367f716049e5a41933befef92ea32d3cc57b5c972f61947e0d486e890() + { + $this->assertTrue(true); + fn() => (isset(($test ^ $test)::${$test})); + } + function test8da5c89422030571b6c811f307778f9bb5197b6b18b79889314539ce1d9fb447() + { + $this->assertTrue(true); + fn() => ($test === $test)::${$test}; + } + function test95b4fc595b7eeaded74e719159598cb05ff3dd10967f61469266518cf7caf8c3() + { + $this->assertTrue(true); + fn() => (isset(((yield $test => $test))::${$test})); + } + function test9b02f49a7e05c5936cd451126e18e157d0b0d667742e2e1e15c5d5bc199e4531() + { + $this->assertTrue(true); + fn() => ($test -= $test)::${$test}; + } + function test9f824ca244e66adc7e0ac35c489cb0ff1ba3cfb7e5e306cbf7a902abd32daf95() + { + $this->assertTrue(true); + fn() => (isset(($test << $test)::${$test})); + } + function testa182721e54c3703f99c0f52b2418057b397c77d3c21ea0f7b284b314bfe070d0() + { + $this->assertTrue(true); + fn() => (isset(($test xor $test)::${$test})); + } + function testaabd7b0ef63e616a850e79e038e1f02c7ed81cbf11c6ee8df06833be69bf6d4b() + { + $this->assertTrue(true); + fn() => (+$test)::${$test}; + } + function testab352e4dade675ffde230fa18b19a766078cdee8f4f29e8e456667e4efea0d0e() + { + $this->assertTrue(true); + fn() => ($test ** $test)::${$test}; + } + function testae48914ccfdc855d0b4360b92766550531724281565954ed97b25672220b5955() + { + $this->assertTrue(true); + fn() => ($test >>= $test)::${$test}; + } + function testb2da3e8de9dbc7cc1f927c9cb04f2fac154de813a1cae399aecfca8d7e9bbb30() + { + $this->assertTrue(true); + fn() => ($test | $test)::${$test}; + } + function testb31ba2d69aecfa45fec21712254cdd6e3ae8e57ca6bddc0a9400706d3fc41f3b() + { + $this->assertTrue(true); + fn() => (isset(($test / $test)::${$test})); + } + function testb3a911e9278bd03c72270333db4ef0687460753a716d8c0e5b637584355c495a() + { + $this->assertTrue(true); + fn() => (isset(($test %= $test)::${$test})); + } + function testb3bfc64268fbc366ebfe6a1256800bebb204d21ad23ac61a1befe07f84c99227() + { + $this->assertTrue(true); + fn() => (isset(($test *= $test)::${$test})); + } + function testb448947d63c477fa486a57a56098ebded277d9a1d65bad745729bd7fb74efd65() + { + $this->assertTrue(true); + fn() => (isset(($test ^= $test)::${$test})); + } + function testb59767449fbb12f8c3568a0f1dd52fa8c8a919c6c5d00dd5f531e811f8b17214() + { + $this->assertTrue(true); + fn() => ($test << $test)::${$test}; + } + function testb5c0d13c88d6d23fcf12a1009fc3f60e9f4984981ed543a56cde18511d17ede4() + { + $this->assertTrue(true); + fn() => ($test ??= $test)::${$test}; + } + function testb5fe7e8fb1eb5fd801a20d277ed5ba760cfa816e1c00faab31e1d4c610ef59ce() + { + $this->assertTrue(true); + fn() => ($test <= $test)::${$test}; + } + function testb6141dd9347387f7207e107fb50cbbe009517d46c1024d5f2ceafac2ffe805de() + { + $this->assertTrue(true); + fn() => (isset(($test * $test)::${$test})); + } + function testb9b19cc9d69ee8efe4dec87b8e2e8f8f8c9886e45c1045e631ac11b4dc46605b() + { + $this->assertTrue(true); + fn() => ((int) $test)::${$test}; + } + function testbbea101665fda25582861aecf6272e978e899c47e063ac18b645d0f8b458ce6c() + { + $this->assertTrue(true); + fn() => ($test >= $test)::${$test}; + } + function testc0b4f7a0e25cb861114daae740c89171e4d01e9fda71e458021aede5e791482e() + { + $this->assertTrue(true); + fn() => ((bool) $test)::${$test}; + } + function testc3a3a6f96bd3ae7b4977e4f2485e04a11b8c50091b8efeb4e34bd44f6d4d10da() + { + $this->assertTrue(true); + fn() => (isset(($test <=> $test)::${$test})); + } + function testc580e7bb53b6bf6d532abbc2e1d81adcbc6f5270f6a3c5e05615098d20c5d355() + { + $this->assertTrue(true); + fn() => (isset(($test - $test)::${$test})); + } + function testc83d91c70ec09cbdec53cdb80395b7f24c70086092c87ac1c85eb2532cd74d60() + { + $this->assertTrue(true); + fn() => (isset(((int) $test)::${$test})); + } + function testc89c6162b36a20cfb26167ab385a6f9c3c743c328017843e40243ea2363c03c9() + { + $this->assertTrue(true); + fn() => (isset(($test == $test)::${$test})); + } + function testcad9585c218ace936e717edd90535a116284e734cc0298ac012030fdfdd8e107() + { + $this->assertTrue(true); + fn() => (isset(($test ??= $test)::${$test})); + } + function testcc6029cb656ba4144b5ced6fdb97632f982520eac819ab9be9f8817b8a6fc3b9() + { + $this->assertTrue(true); + fn() => ($test != $test)::${$test}; + } + function testccf4ecb424becbcc22ac4b3edcdbc2f0d864c5ee08c39683ef69553f3896e93a() + { + $this->assertTrue(true); + fn() => ($test %= $test)::${$test}; + } + function testceac74a4960967eb8ea7b0c9c0ceeab06bf2c8bf88a3a826df111f71879d936d() + { + $this->assertTrue(true); + fn() => ($test += $test)::${$test}; + } + function testd0b7e91abf3c2b095b2d0338bd7b3ea66f67a5aad1db218e79b47378250cd959() + { + $this->assertTrue(true); + fn() => ($test && $test)::${$test}; + } + function testd22bc2f256e6bdfed9dbc5f73d22bf16f7ad04a93b150a5a404a77e0f9832a5b() + { + $this->assertTrue(true); + fn() => ($test ^= $test)::${$test}; + } + function testd363d19ff9e5c50a8227116e7476a7348431226af46a20b66babe24b99d938b9() + { + $this->assertTrue(true); + fn() => (isset(($test . $test)::${$test})); + } + function testdcf48f876fdd455f5fef5e166803821ea1af7dfcd4a648c78e2f4a8af76c5a67() + { + $this->assertTrue(true); + fn() => (yield from $test)::${$test}; + } + function testdda7bc9afe4b1cceedae2b658da7ea59e563eba80215bc33df15bac442e2ccb3() + { + $this->assertTrue(true); + fn() => ($test > $test)::${$test}; + } + function testdf3954deeb834b5f3a825072740e1d344ab773eb9e5ac6a55432044b257a356b() + { + $this->assertTrue(true); + fn() => ${$test}::${$test}; + } + function teste023cd3c04b8d1e5962401dfb80471b1768dd345b49888632216459c8d6d3d3b() + { + $this->assertTrue(true); + fn() => (isset(($test > $test)::${$test})); + } + function teste06618660750ac0ac2917320697f0d8f9a274418610735d5164837d20a07d89a() + { + $this->assertTrue(true); + fn() => (isset(($test === $test)::${$test})); + } + function teste1247d6d4e9b1ebcff3d57e0fafc2780276c2a67db7cf673137c150d513aa3e3() + { + $this->assertTrue(true); + fn() => (isset(($test ? $test : $test)::${$test})); + } + function teste24725607142979c45db3517e56b791f21b5712e41e60e2cd4deae62c994c2b6() + { + $this->assertTrue(true); + fn() => ($test &= $test)::${$test}; + } + function teste2521b8e088a1e80dbfe18bb9ca6137907ba56a516e8c7554f83d48e538ec793() + { + $this->assertTrue(true); + fn() => (isset(($test >> $test)::${$test})); + } + function teste47f59015fc6c0dd00283bd2edd3f103b866804bfbb849292502a9611aed761a() + { + $this->assertTrue(true); + fn() => (isset(($test |= $test)::${$test})); + } + function teste575c89e8765600a65ca53a3a6f541234bdb9027aa5156f752d2be12ce7f5dd8() + { + $this->assertTrue(true); + fn() => ($test <<= $test)::${$test}; + } + function testf15f84af38463309a6996209b8bad3d39649f8ce8580c75c0c9a8b68684dd6ab() + { + $this->assertTrue(true); + fn() => (isset(($test or $test)::${$test})); + } + function testf2682bab178d46de97acb7c798e82bc651e47677f85d921e368e6d1a6c3fd383() + { + $this->assertTrue(true); + fn() => ($test <=> $test)::${$test}; + } + function testf3a168103405f10b46e11a5733f779896575654f35b0e30a64f61036f4e79443() + { + $this->assertTrue(true); + fn() => (isset(($test /= $test)::${$test})); + } + function testf4eeeee3ddbe400eb04b767db0ca024ed68a7cf8e3f80aa6c62e04668837900d() + { + $this->assertTrue(true); + fn() => ($test * $test)::${$test}; + } + function testf53c9cb0336d6822a8dd877aed0d35ce288d45d6ba50aa60ca8382792ccc530f() + { + $this->assertTrue(true); + fn() => (isset(((bool) $test)::${$test})); + } + function testf56af486a3797452bac5433a062438d42ff33e16d7064e8d1005ea00c82f4b53() + { + $this->assertTrue(true); + fn() => ($test & $test)::${$test}; + } + function testf9b1679f0490dedf6f8fbb69a3f066cdb9f6acb0d8186f9ab162e95b4e8f0132() + { + $this->assertTrue(true); + fn() => (isset(($test -= $test)::${$test})); + } + function testf9c88daca92e51b18616819c8faa932ba6a04516ea5194d8d98dca8d1ebb115a() + { + $this->assertTrue(true); + fn() => (isset(($test < $test)::${$test})); + } + function testfb7e6b20019fcafe2448dd9e54e24bf995705321bd07ce03cf49829fb003c1a1() + { + $this->assertTrue(true); + fn() => ($test - $test)::${$test}; + } + function testfc2bc88824cc5cc3020672d4e62081cd14f1c8ed1fb78113c03ebbb5f55c8d0e() + { + $this->assertTrue(true); + fn() => (isset(($test >= $test)::${$test})); + } + function testfd195ffdd2b9960bf6a0a23c38c71fb4d5bd2d9acf0c932ebfa53ffaaa7eb77f() + { + $this->assertTrue(true); + fn() => (isset(($test % $test)::${$test})); + } + function testfd6ad5e9b752d8d80c32b74299d03021cac33cf9c9e81941b97ec8d266294dfd() + { + $this->assertTrue(true); + fn() => ($test /= $test)::${$test}; + } + function testfe49c5e25b3dd997896b801226386e54b42dcda83d59d9f715d9d9c7ceda40ea() + { + $this->assertTrue(true); + fn() => (isset(($test <= $test)::${$test})); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test.php b/testsGenerated/Target/Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test.php new file mode 100644 index 000000000..80238421f --- /dev/null +++ b/testsGenerated/Target/Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression6985ac605c55e2d7e64c788adf7f2ab9a676e8986525e30a3d8ae4730fed3a54Test extends TestCase +{ + function test019bc160056b3e07a19f17906366dccc21ef89ae967d966597d5edd043577365() + { + $this->assertTrue(true); + fn() => ((int) $test); + } + function test0265b57473442c6425a0533684b694ebc3b209fd05d9f6b32db18ecd6586d8a5() + { + $this->assertTrue(true); + fn() => ((int) ($test & $test)); + } + function test053161fe3c95389cc90847db82a97207aa2296916e8c3f6bece2b1bf193e211b() + { + $this->assertTrue(true); + fn() => ((double) ($test % $test)); + } + function test05afdead8581b8d402a31e552dd5e9ff3916d61a95074ab54654d4016bf61ac7() + { + $this->assertTrue(true); + fn() => ((int) match ($test) { + }); + } + function test0c868b6e9c3780655967653bcdd925dcf71988de96a769cb0eed5cd11e1580f8() + { + $this->assertTrue(true); + fn() => ((double) __DIR__); + } + function test0e9accee1e6128d44e971976e5145e996e941661db1d5416a2330eafc3857cf6() + { + $this->assertTrue(true); + fn() => ((int) ($test .= $test)); + } + function test11ce4215902ef828307507bc6a450b2be67b5d2517f1219dbd05c382c666e3cd() + { + $this->assertTrue(true); + fn() => ((double) __METHOD__); + } + function test13f708e39e2bc78d78ad6b3ddf526294e9d62656162979a1de1b9bba3d447062() + { + $this->assertTrue(true); + fn() => ((double) ($test xor $test)); + } + function test1db99d3d32aa5f83182d8559be5d696fb4df0d4be7b21f2030b41e1b4abaf7ea() + { + $this->assertTrue(true); + fn() => ((double) ($test && $test)); + } + function test23edf09d322db00a0c0f7cbb3b4b181330428da68a936b45b3e6ad9ff2354751() + { + $this->assertTrue(true); + fn() => ((double) ($test * $test)); + } + function test2cf3c7725d1dec11f5d86d51dadb7a081c0acad3e89d20872bbfe30ebf7b8225() + { + $this->assertTrue(true); + fn() => ((int) @$test); + } + function test2d53aef530687503f9439391497939aee701ec5fbedfc473dae0221da68d4302() + { + $this->assertTrue(true); + fn() => ((double) __LINE__); + } + function test315afa7456cd1d2ca29fdf3f3293b875aa61067628d64cb0d6e0681374a4612b() + { + $this->assertTrue(true); + fn() => ((double) (double) $test); + } + function test3388496e323849e2bf76acfb1a7cc18cdb0a8b05e259f359f457c43273953a2b() + { + $this->assertTrue(true); + fn() => ((int) $test[$test]); + } + function test443d6f8f58d858424a337fab6b89629767d34254a2d7e55aa5bd15bff41180e3() + { + $this->assertTrue(true); + fn() => ((int) $test::${$test}); + } + function test444dab715d6228ef69aa4c17a50f22bfc6035e1676cf17ee4f3337bab36442ce() + { + $this->assertTrue(true); + fn() => ((int) ($test ^= $test)); + } + function test45c8509a1b3e0909158d18f0cba064624cf3ed2b67d41ce1029ab71e6673e142() + { + $this->assertTrue(true); + fn() => ((int) $test?->{$test}()); + } + function test4d75316a5a31f6eaaad5087f586d9f389ddfaaa2901f8119c3084f5ceb25f006() + { + $this->assertTrue(true); + fn() => ((int) ($test /= $test)); + } + function test4e6fd33e68b6e73692874914466dbf63627322d59ccd5dfa1a748c69f60d72c3() + { + $this->assertTrue(true); + fn() => ((int) ${$test}); + } + function test50157b7d7d46f32ca3444770f5fece0dce40c96cc730d08299d64e4c55f8fba9() + { + $this->assertTrue(true); + fn() => ((double) 0); + } + function test508573c1b7e38a8b272b50ec73175e757d51b852d2450b847ee251a6bccb642e() + { + $this->assertTrue(true); + fn() => ((double) ($test & $test)); + } + function test51ddc7248a69037aec80f22cc61e7504232ab729023f04d0a4b6f0148f13a602() + { + $this->assertTrue(true); + fn() => ((int) ~$test); + } + function test52c6c03711b266e7671fa7342b141bebb812604bca634e89bfd9c56b1a7801c8() + { + $this->assertTrue(true); + fn() => ((int) ($test &= $test)); + } + function test56e1d81a16281cc69579e38a241bd93aed2da39ee14c5a2093b7b1eee8e93fb9() + { + $this->assertTrue(true); + fn() => ((double) ($test >= $test)); + } + function test57e1033f89e3f4e03ca7e7503ad8331f6b4820459f01f617e9c25a46f8a14143() + { + $this->assertTrue(true); + fn() => ((int) (yield from $test)); + } + function test58aa5e097bb58c2423264ed45144a1699f3c99943df07bab28935190192ba3a4() + { + $this->assertTrue(true); + fn() => ((int) $test::$test()); + } + function test592806376270d7e6730bd64bf4a4a616085ec9987329878fdf45c8507ff3e66f() + { + $this->assertTrue(true); + fn() => ((double) ($test <= $test)); + } + function test60731ddcbbc3e0383f4b55e6cdd4dcf9958180960a9b51e339228f6e00ecf7a3() + { + $this->assertTrue(true); + fn() => ((int) $test::$test); + } + function test6177fcf518e759076f865f7cf1559c8afc92a21db5286115b2a82d3b631c63e3() + { + $this->assertTrue(true); + fn() => ((double) ($test + $test)); + } + function test6628a10292158fbe305fd38251982c159f1d2363ba490acb6b4c97d4efa19ba7() + { + $this->assertTrue(true); + fn() => ((double) ($test and $test)); + } + function test683b1be1af5e220625307ca96ddf034617555359c1722ba13c8bea5cccd28e12() + { + $this->assertTrue(true); + fn() => ((int) function () { + }); + } + function test6a5d0407d3608552be9c02f2f6003a6c4668ae3b07f0afef37c289693cc8861d() + { + $this->assertTrue(true); + fn() => ((double) 'test'); + } + function test6fb94eb6160b6e1c2f6feb216878651e7cd4ad33a74399ce8467488f593c0bd1() + { + $this->assertTrue(true); + fn() => ((int) ($test ^ $test)); + } + function test74dd2f64e67b1a69bf60f549c1e898d884813c232ec3cb8e080b6870efdc5750() + { + $this->assertTrue(true); + fn() => ((int) ($test ??= $test)); + } + function test756df2a9a989bd21e894ea2dad093423786368086103ae164eddf7b0f48bcc7a() + { + $this->assertTrue(true); + fn() => ((double) __TRAIT__); + } + function test78ef1f9fabf09c8866b715380ae0e3a258129181f7b471c58360edacab9dd68c() + { + $this->assertTrue(true); + fn() => ((int) empty($test)); + } + function test79777d82990a970fea65452a663474af6a1763c13a49d24734bcbba4f58b0d4c() + { + $this->assertTrue(true); + fn() => ((int) (!$test)); + } + function test797ccecbd384f37193a958d594e85d725b0169751f3b9d23fd63a239902baa99() + { + $this->assertTrue(true); + fn() => ((double) ($test - $test)); + } + function test79e956e7f7697a96ef0189c870bbeb86e0f0deb7851f0b0c3112b2d371ee27cb() + { + $this->assertTrue(true); + fn() => ((double) ($test | $test)); + } + function test7bd9329c49b06d2a38e8227172dfbded6500daeb4290640af9fb16d046464f3a() + { + $this->assertTrue(true); + fn() => ((int) (print $test)); + } + function test7d8b66a63af146171da859c6383cd82e571cd06b0d0353cba40c0cd95f893565() + { + $this->assertTrue(true); + fn() => ((double) "{$test}"); + } + function test8174136928f6f5c23ebd086286bc9e14c0baf197e370cb976ce4a3ddb5c6772e() + { + $this->assertTrue(true); + fn() => ((int) ++$test); + } + function test846855fe4a48afaad1990480af8cd6c25851dcd77ac669ad657fc56489eb4da9() + { + $this->assertTrue(true); + fn() => ((int) ($test = $test)); + } + function test8522f186663b02ed0d362280ffba7b8fcbdfb5c3cf6edf004f0d40c9bf28b755() + { + $this->assertTrue(true); + fn() => ((int) []); + } + function test8bd613f0a394976d9644a76a959bcaf5aa3c980cea8f078b4d91dce4e87d13da() + { + $this->assertTrue(true); + fn() => ((int) +$test); + } + function test8bfc46dc3c11a7488ddffff90d9f41667270acf50716417f13b318e7285168dc() + { + $this->assertTrue(true); + fn() => ((int) eval($test)); + } + function test8d95b3857efd2608e17bf3f0273b13b8c424a960fc7630c852b9de0b275dcf5d() + { + $this->assertTrue(true); + fn() => ((double) ($test or $test)); + } + function test90b16820eb9aa9e4f25249821d814566684d19c8efce9b8d6dd09bc8c3b7b350() + { + $this->assertTrue(true); + fn() => ((double) __NAMESPACE__); + } + function test923f4e6cad6c928369984d826751da030cd5d064b5b6d8ec0415d253b540b347() + { + $this->assertTrue(true); + fn() => ((double) ($test . $test)); + } + function test9419c97c9cccb6ad939e89b4aebe3cf2003c84995b0bd51a2c83d804988ef9d6() + { + $this->assertTrue(true); + fn() => ((double) ($test ^ $test)); + } + function test958cd4d2330569476b3dfd29c23b4259757afb904fb2420d58d0544dcf1734fd() + { + $this->assertTrue(true); + fn() => ((int) ( $test)); + } + function test9694efd818faf665c6cde7a78a203c2d03a825bb212c3c5486e7302f25a6f465() + { + $this->assertTrue(true); + fn() => ((double) (array) $test); + } + function test99b8930d78d8f1eefed96060923677c1ed0166841a23c5775017ab11af38cc1e() + { + $this->assertTrue(true); + fn() => ((int) self); + } + function test9a0badd78037ab40590d301a53216a623e0464390393e9503bda6ba5b598448a() + { + $this->assertTrue(true); + fn() => ((double) ($test / $test)); + } + function test9e0b413ea85a8d725a7e221901959768e41fa3f0516d492b8c7c0ce49cbcd0db() + { + $this->assertTrue(true); + fn() => ((int) $test()); + } + function test9fd0592aa10e04358b4717faac84961f122c871824f4adedbd47af50e412a8a8() + { + $this->assertTrue(true); + fn() => ((double) (string) $test); + } + function testa08b1a5d17ba8db662144100cfb50e9e6d4cfbf5f521626482697727d2932a97() + { + $this->assertTrue(true); + fn() => ((double) __FILE__); + } + function testa0e4c038136a9dcf6599473e02b3c21bc080eaf0237488191f2aec83ee7a7f44() + { + $this->assertTrue(true); + fn() => ((int) ($test ? $test : $test)); + } + function testa84bc4ed51131e3e8456b0ed3454fced5fc61edcdf84fc39e20df4b7cbc5a00c() + { + $this->assertTrue(true); + fn() => ((int) ``); + } + function testaa28bbdab876f48b32d9c90fa584df7fd157bccf4f4a19591abbb265efc6344c() + { + $this->assertTrue(true); + fn() => ((int) ($test | $test)); + } + function testabfef6be760ef1abb1f766f17761f632f693a72ba81c75ec59f533365b0ce712() + { + $this->assertTrue(true); + fn() => ((double) ($test === $test)); + } + function testad2c1f87523facfa4c4b8d06f56456bb4021a29fc832b7103c6f95b4a72ebd4a() + { + $this->assertTrue(true); + fn() => ((int) ($test >>= $test)); + } + function testadbd8649b83dc496a120b49c277d46ff9d74d43adc0e85187d11a454be7c946e() + { + $this->assertTrue(true); + fn() => ((double) ($test < $test)); + } + function testaf888c2ff81a19d2c20f9f2fcf3c060c36041c837585f2f53e66500033ef2852() + { + $this->assertTrue(true); + fn() => ((int) ($test *= $test)); + } + function testb574c507d9eb8f4b664c69929d1d909ab0753dadb9d30d573ec9490c42d1d7da() + { + $this->assertTrue(true); + fn() => ((double) (object) $test); + } + function testb5feca0c129a49b12315fb14aa8c136383b667926ea4280fb456e5636280705e() + { + $this->assertTrue(true); + fn() => ((int) clone $test); + } + function testb68bf28651fdc971bf8d084454d98ead8a3eb9d3ddd460ed18c4ae4137ac18b8() + { + $this->assertTrue(true); + fn() => ((int) ($test += $test)); + } + function testb75d2380be09b03ab75e870eca7c051e2a05b978a095b40d060ccdc8a9be8c5e() + { + $this->assertTrue(true); + fn() => ((int) new $test()); + } + function testb75fd5637d22b5d38d1d3afaa46abec711200a97c3b5ab99c2d677caad2aca60() + { + $this->assertTrue(true); + fn() => ((double) 0.0); + } + function testb99eefe13f50cdf2de0968c6267e8c1c8122a1c62386a392761dac2820bf6466() + { + $this->assertTrue(true); + fn() => ((double) ($test != $test)); + } + function testbdbcd217c38c6af15cd6bd59619c4d9a8292cdfed148e232f3f24daca93d4492() + { + $this->assertTrue(true); + fn() => ((int) ($test **= $test)); + } + function testbf8eaceac6d95334ca18e59ffe3e71548546e4d09c9f80c7c40dff317aea5482() + { + $this->assertTrue(true); + fn() => ((int) throw $test); + } + function testc084b0ee670ce74386e80a134a214d313734be57a3ee595f668511213d750ea7() + { + $this->assertTrue(true); + fn() => ((double) ($test <=> $test)); + } + function testc5ae723fbcfdd0555427eefc5e5d8882cd50a2589478ea7c148047d4063cc3db() + { + $this->assertTrue(true); + fn() => ((int) $test->{$test}()); + } + function testc714cd47aff21a896eaa448d8089e4cca297b4e4aed00deac8ef6b6791fed026() + { + $this->assertTrue(true); + fn() => ((int) ($test %= $test)); + } + function testceac7f43e4be37f24012ad1f115499a640043d1a6510a6ca5b895851c5ebbdd3() + { + $this->assertTrue(true); + fn() => ((int) --$test); + } + function testd28fa04acf404ed59032d7cc0c28734be18567d541f481cc2b48f837a3f5e4df() + { + $this->assertTrue(true); + fn() => ((int) $test?->{$test}); + } + function testd58e14c27e1f891d6921a3c16f5ad8269791b133348effb1005bd130e9bfe198() + { + $this->assertTrue(true); + fn() => ((double) ($test << $test)); + } + function testd5978cccf3fe4e4ed2e1bf2b33db990c02478305c896fa70dace44f1c82341e3() + { + $this->assertTrue(true); + fn() => ((double) $test ** $test); + } + function testd661c244c8380a1b9e712d552d32fb1828d2eb5b960063f945f59631aa824343() + { + $this->assertTrue(true); + fn() => ((double) ($test > $test)); + } + function testd9344e8e273e36abb308559f078049d5adb3abeff4adb07b785614a061330e6c() + { + $this->assertTrue(true); + fn() => ((double) __FUNCTION__); + } + function testd9ed262731717f7352d864cb2cb39bceab08a1bf4bb4cb12e61751740c20af9d() + { + $this->assertTrue(true); + fn() => ((int) ($test =& $test)); + } + function testdbd9d7201edc7a00e2d0fc87d407cb2a4085c032e6baf5392aab4d495a0a870f() + { + $this->assertTrue(true); + fn() => ((int) ($test instanceof $test)); + } + function testdc104ed931d5f1bdae0ddb66fcb8e0d815bc3f29d36256305896f17c79ebf9d0() + { + $this->assertTrue(true); + fn() => ((int) $test->{$test}); + } + function testdd5e97a98b692f44e87cf572eedeaa924e6723ba276593df43684f4ea2fc7895() + { + $this->assertTrue(true); + fn() => ((double) ($test !== $test)); + } + function testdfc54619eac2807af6c741968ea3914399cf63aa0452fcfd5a17e95866e78612() + { + $this->assertTrue(true); + fn() => ((double) ($test == $test)); + } + function teste49209d792c8b039a4e86ba5f1c0447e4ba37afa926ac420bc1098ffe6727cfc() + { + $this->assertTrue(true); + fn() => ((int) $test++); + } + function teste6499a21c2d57021e895573e95c198787b3b1cd42c535d666b27556f0dea8c59() + { + $this->assertTrue(true); + fn() => ((int) ($test |= $test)); + } + function teste72dde883298c2e864709a5d9bbf4d0dbd365ef0b38b27fe93391d0384dc2e68() + { + $this->assertTrue(true); + fn() => ((int) ($test -= $test)); + } + function teste7653102e731387a4f9ad2354ce7bb345e3f80636f255a9c6e9807d65c42de0b() + { + $this->assertTrue(true); + fn() => ((int) isset($test)); + } + function testeb4509e5c5c6f0ee41094cdfc4588a410a51be474939461091d9ca8d96355065() + { + $this->assertTrue(true); + fn() => ((double) __CLASS__); + } + function tested40068ff8090941477b1fd66032df27d4aaf8cc8bd7c337d4808adb62f36660() + { + $this->assertTrue(true); + fn() => ((int) (yield $test => $test)); + } + function tested51047e518c1ee8e79cd1f9ba6e513a998d38faad2b3dd3c8f4f66265951993() + { + $this->assertTrue(true); + fn() => ((double) (bool) $test); + } + function testf50fcacd967afe60f358297b3990601b8b5bcc87ed422cf11c17248a8856a915() + { + $this->assertTrue(true); + fn() => ((double) ($test >> $test)); + } + function testf52c55e7fc126089bf0a74e893122793d9f61ccb9097402c4b90d77d42b4565b() + { + $this->assertTrue(true); + fn() => ((double) ($test || $test)); + } + function testf76421051bbefd7dbdcf7bcc14897128a8a7d31b2a51d54b0c7ee35883c8cc62() + { + $this->assertTrue(true); + fn() => ((int) -$test); + } + function testf81b4d86ed6375f974b3ce714872018cf02bb96feefcd25abb9ebe951dbbc12f() + { + $this->assertTrue(true); + fn() => ((int) $test--); + } + function testfda4a66305321347e54016701f4ae7eebec42f5da1c02d64dc5d277316f44670() + { + $this->assertTrue(true); + fn() => ((int) ($test <<= $test)); + } + function testfded7b6a4fc02ba3011bd7d69fc7edc646b25637bb3a81710b7b82dee73b4ee0() + { + $this->assertTrue(true); + fn() => ((double) ($test ?? $test)); + } + function testfeed25349db86f406c3e1ac8504c36eca087e54253fa9a7b91780f2b97320793() + { + $this->assertTrue(true); + fn() => ((double) (int) $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest.php b/testsGenerated/Target/Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest.php new file mode 100644 index 000000000..864673690 --- /dev/null +++ b/testsGenerated/Target/Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression6e853fa787db38b783cf0ec643486f6dfe42ae823580ac5c30ebc7cb985d701aTest extends TestCase +{ + function test00e22b5d3184acc1f196444bf1cdf5696fdfc9e767c15a41db5b85c5b3f622d4() + { + $this->assertTrue(true); + fn() => ((yield from $test) ^ $test); + } + function test0131297a9e41be04466e25a3aa862bd10f3d87d9f98ff6b110a95fed7ef15f8d() + { + $this->assertTrue(true); + fn() => (0 ^ $test); + } + function test019e7b18f50d185bd727871acbec693f2218d8588bacb96cf76d06d0c2745139() + { + $this->assertTrue(true); + fn() => ((print $test) ^ $test); + } + function test01ce05cbc19c7d03d44ece0b4dfe0d25632f53656c586b4bca039e401d6f10a9() + { + $this->assertTrue(true); + fn() => ($test::$test ^ $test); + } + function test07582c24bf9f68d46b92ab824325a059d365786e361a859c60be7125b385661c() + { + $this->assertTrue(true); + fn() => ($test->{$test}() ^ $test); + } + function test078f9d005dde0d9bed22f4a409afdc8f7de4945b750a55e996a908f831a91225() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() ^ $test); + } + function test0a82edbd71729bf4c776c466197bfef01cdbd4085e48b28f96cd12766fdd17de() + { + $this->assertTrue(true); + fn() => ($test != $test ^ $test); + } + function test0aa5cd8f2a6d289024243a13b6c8c59d1ed226320d096b370ddaf1823a7c0f00() + { + $this->assertTrue(true); + fn() => (eval($test) ^ $test); + } + function test0c4ccdc06193a05ea358d814334cbb38488bb05208cc97ef023e2ccef91ae401() + { + $this->assertTrue(true); + fn() => (($test *= $test) ^ $test); + } + function test0cbccd1dd652d7c74a5038c507af1fc9424ccd8e7cff19ae491eb845ea29abad() + { + $this->assertTrue(true); + fn() => (( $test) ^ $test); + } + function test14a4e37e38a4892a1e16e51490d97f93dbea0f852072e2236184b005e41e4b5b() + { + $this->assertTrue(true); + fn() => (__LINE__ ^ $test); + } + function test1615dcb1c74aab08af359ba51b6fd2e78feacc63d80f6744bcaee1d497ae1da7() + { + $this->assertTrue(true); + fn() => (function () { + } ^ $test); + } + function test1febcfe48f580ec045c5a790730420b21a7aee9437ed44c4abb952cc33f085a7() + { + $this->assertTrue(true); + fn() => (__FILE__ ^ $test); + } + function test1ffd238ff3df4de10502057277e73088d0b34e596a7e3c7ea88712aa367543ff() + { + $this->assertTrue(true); + fn() => ($test::${$test} ^ $test); + } + function test2034a6793f75afc7595c4b4f7baf10788fcc4a405b2e2fa73c20f4aae696b854() + { + $this->assertTrue(true); + fn() => (+$test ^ $test); + } + function test211899c16392a74e20b7ffb0439785ad89fc18b79b37b895b6a744ad19cb5dc0() + { + $this->assertTrue(true); + fn() => ($test | __METHOD__); + } + function test213ccee033b0649dbdf9b0b2ef189304958e2dcfebe6f9abed188af691bc02fb() + { + $this->assertTrue(true); + fn() => ($test << $test ^ $test); + } + function test22a3d46b1597b1d0d4dbe4ab6b7a1e21abaee2d96e2005282d60981e3bf1c311() + { + $this->assertTrue(true); + fn() => (isset($test) ^ $test); + } + function test2ca6720bcc75b09c7e6cda48b37dec451da55733710aa43c8ea590e60e1c223c() + { + $this->assertTrue(true); + fn() => (($test **= $test) ^ $test); + } + function test2d1b44802db21cdca53a689586d03cadffeaa33427aa132b82d972c70ed3de60() + { + $this->assertTrue(true); + fn() => (($test ?? $test) ^ $test); + } + function test2edf56906c460e2b29b8c2e5548364c7c32426125283ac677a8aefd0d2eeb844() + { + $this->assertTrue(true); + fn() => ('test' ^ $test); + } + function test3103baffd657b07a38507d7389de652957573e11cc9c5e228620c1217306d4c2() + { + $this->assertTrue(true); + fn() => (($test %= $test) ^ $test); + } + function test35e1c33e02133412641b28ca0944046ff485d930be9fe1607b99f849f6efbd86() + { + $this->assertTrue(true); + fn() => (${$test} ^ $test); + } + function test36afcdd2f4e378c9ed76691324310b1c6cab8818e97debd304f964daa2c69236() + { + $this->assertTrue(true); + fn() => ($test->{$test} ^ $test); + } + function test3810d79640cd41c737f4b43bf6c137517c27cfe0ead799e6c287cea693f4a85e() + { + $this->assertTrue(true); + fn() => (--$test ^ $test); + } + function test3bde5d9d4ef9e25ceb1f198e3b55d37c691e2cf78ebd1fc73222ebf4beba5a96() + { + $this->assertTrue(true); + fn() => ($test?->{$test} ^ $test); + } + function test3c0b6e5faedc49aa2fc581d4d73ace0384867385bdd5ca15df4581579598836d() + { + $this->assertTrue(true); + fn() => (($test || $test) ^ $test); + } + function test3c9e17a2579e525fc83fe3fc48c6d1c8ce9d370f0b68ccd883fbae47f6f22924() + { + $this->assertTrue(true); + fn() => ([] ^ $test); + } + function test43354d682882f92f32e2f912d26dd2fbb145c6bdc0a88a7ae451b523634d0e58() + { + $this->assertTrue(true); + fn() => (($test /= $test) ^ $test); + } + function test43ac74d7193417e9fa88dbd4378a8c3dc1033388a070f97bcb868c4cadd6e5c8() + { + $this->assertTrue(true); + fn() => ($test <=> $test ^ $test); + } + function test47faf43123429fd686d6dae788adfb5f36e0464e7521ed148ba71c7295abc751() + { + $this->assertTrue(true); + fn() => ($test ^ $test ^ $test); + } + function test4dade4e60fc24b109f983f294da1594e280dbe34cc2b323ec3032559fe112a4b() + { + $this->assertTrue(true); + fn() => (empty($test) ^ $test); + } + function test5222a38a6409f3d17d572f40f21cdf1c1fee337bdfcf816d73dc261a98f04361() + { + $this->assertTrue(true); + fn() => ($test[$test] ^ $test); + } + function test52d26e2ad954d36fe6dbd75fa96a909ce745fced74e28a86dc1eeec18a088c67() + { + $this->assertTrue(true); + fn() => ($test !== $test ^ $test); + } + function test565d89d1618509c06a555a7e23875d6c1678fe1068e0ad728f8c71a6524f313e() + { + $this->assertTrue(true); + fn() => (@$test ^ $test); + } + function test5a60c2d690f8adb24e163930159ccc69ee5c0257e27ec1941208b4d838dddf9c() + { + $this->assertTrue(true); + fn() => ($test() ^ $test); + } + function test5e3a4b38242b41ff18382f74ea34e349adafce2a0305d7ec320a88e0cae46207() + { + $this->assertTrue(true); + fn() => ($test ** $test ^ $test); + } + function test6349e431e6b565d644a7ac6597a4f2f0ab9375647a53aa8d02eb20ec2406a201() + { + $this->assertTrue(true); + fn() => ($test | __NAMESPACE__); + } + function test663d940a2e59d318eb26d1b4a1850a5b324500ee0a5cedff34da5129eaaa45ed() + { + $this->assertTrue(true); + fn() => (($test xor $test) ^ $test); + } + function test67a930bde6db5bed50dff42520b7cf069e6b03762a73d00dbdc000a9c09680d2() + { + $this->assertTrue(true); + fn() => (0.0 ^ $test); + } + function test67af956004a3c977956408fe602aab32d7b74a6300e0cf2e481963a77457fc4e() + { + $this->assertTrue(true); + fn() => (self ^ $test); + } + function test67daab4eca646da3b6df68e7431bb3d16a93e4d9d4f205b56e55736f5e6d485d() + { + $this->assertTrue(true); + fn() => ($test | __LINE__); + } + function test681eeb42912e8e8270417fdb04e46df9acb1081c4c46d00694379ce5d7e38559() + { + $this->assertTrue(true); + fn() => ((bool) $test ^ $test); + } + function test69a3557e4d54dac698e5c1e2d043885add3b7cb51ff2fbb01a0f9dd7bf229330() + { + $this->assertTrue(true); + fn() => ((int) $test ^ $test); + } + function test6c831326f52a6bbf44209c0e9c7071f1b59f2fffe3d0619a1e2924864acde72e() + { + $this->assertTrue(true); + fn() => (__CLASS__ ^ $test); + } + function test7163f28f59bf70d60912a9e8c778c69ed36b94de29748c9605246ccf1fb264ad() + { + $this->assertTrue(true); + fn() => (($test and $test) ^ $test); + } + function test72589c1a6fbc5fcad98ba5cb8bab9acd818152d3dbc76ad04ab1853d95ce4175() + { + $this->assertTrue(true); + fn() => (__DIR__ ^ $test); + } + function test75f7ca8144d43961ba1ce3b6fb9737093d4291a5a8c7ba060d256a3f52c3b3c8() + { + $this->assertTrue(true); + fn() => ($test == $test ^ $test); + } + function test80a33684186c561497c6448c968bfb66a5ec856e353568ad1eb12478d274fb38() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ ^ $test); + } + function test82de55f4f526fb70c6b2045e4f957d848b8f8e431bdab7f26bfa4284825ba632() + { + $this->assertTrue(true); + fn() => ($test & $test ^ $test); + } + function test844a0793dacc0cc9dcae81e0590d4fb55b57c913139e801dbcab140efcc227c3() + { + $this->assertTrue(true); + fn() => ($test * $test ^ $test); + } + function test889f7de6ee11250320fb47b0b561f6269f0ae9d9bd4362f907bb78545b58f804() + { + $this->assertTrue(true); + fn() => ($test >= $test ^ $test); + } + function test88a7d42f7bf6a1d46fb718540db129ec49c2113e13631f8b5ece24f45fbc3a3d() + { + $this->assertTrue(true); + fn() => (clone $test ^ $test); + } + function test8a11360a5e9010bbf329cfbcd8240ae5f5d74dff29e59352b121c8887fb6abb7() + { + $this->assertTrue(true); + fn() => ($test ^ $test); + } + function test905f9c994c5ea38f247f6df9942dc7cdb563fda2727a6398818d627d73ba9ee6() + { + $this->assertTrue(true); + fn() => (~$test ^ $test); + } + function test91902e3937ab00cc5b203637f74b6e032da4d2bd13bfa6c924fed5b05a555adc() + { + $this->assertTrue(true); + fn() => (($test && $test) ^ $test); + } + function test990367dba026162864b83da58b9a7d15b6b77636c55129cea7131dfb28678f35() + { + $this->assertTrue(true); + fn() => (($test &= $test) ^ $test); + } + function test9f2aedba0fc1cc49cef8bff46f0260b94f678dae991f93d03d84975db1d59e1d() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) ^ $test); + } + function testa854a0430e517b396ec8515f28192e642a9ec141123bb1327a62ce90e1632d92() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ ^ $test); + } + function testaa2a338d0e4995b0a61cea813b11935ec2b0cbc8796148a5336cbb01b06ffc2e() + { + $this->assertTrue(true); + fn() => (-$test ^ $test); + } + function testaa7005dfcd9cfbf809220fc801746ee5d56909a27045ff1d335259a6777f3cfc() + { + $this->assertTrue(true); + fn() => ("{$test}" ^ $test); + } + function testaace43c7a94f74a92804994f55923f059e5602d6500ce97eb56ffd3aafec9c4a() + { + $this->assertTrue(true); + fn() => (!$test ^ $test); + } + function testab34bb09796aaaa5c74904c06d852b89ebe241603e825acd2ea225389596a44d() + { + $this->assertTrue(true); + fn() => ((array) $test ^ $test); + } + function testabbb59c62ae71122127fc9482b5d453040ff25f4d76261c7472d808d99af743f() + { + $this->assertTrue(true); + fn() => ((double) $test ^ $test); + } + function testac06a76e0669a8caab630a9e97d21a1fc90e7721a379f1ef82bf185b4ae2af2b() + { + $this->assertTrue(true); + fn() => (($test ??= $test) ^ $test); + } + function testac4d96fb20cdc4854c0dedc46dd929b4a748087bbb9c1819303bf2aa9b46caf2() + { + $this->assertTrue(true); + fn() => (($test | $test) ^ $test); + } + function testaeb376e88b6f57df3b57d2b8d68c7ab2604f81782429132235e6b990d1cb9f0c() + { + $this->assertTrue(true); + fn() => (($test >>= $test) ^ $test); + } + function testaf656cd06304b5040db6fbfc8b63c6d5e13019bd35099358935a1f2ac7f7b6b0() + { + $this->assertTrue(true); + fn() => ($test::$test() ^ $test); + } + function testb01b3d745d0a2ef26c0706bb3a7a5f3e197904f706f89267587e42fa4e52c993() + { + $this->assertTrue(true); + fn() => (($test <<= $test) ^ $test); + } + function testb068061423eff154bcaf526bab4872b04724df8dd5d147e63f132181c4e83a00() + { + $this->assertTrue(true); + fn() => ($test > $test ^ $test); + } + function testb0fbac78e67fb479f46bcab42b47b65e2adef607687b55c01f51c78fcb8bcb86() + { + $this->assertTrue(true); + fn() => (new $test() ^ $test); + } + function testb3a7df2ea61399abf20464b55d3023c10a3f839af23679c0518905409f51e62f() + { + $this->assertTrue(true); + fn() => ($test | __TRAIT__); + } + function testb4a4b9628ee8bbed52f7555f998c1f13faf7cc83cacdddaaf142f0e925ee7a54() + { + $this->assertTrue(true); + fn() => (($test |= $test) ^ $test); + } + function testb8309cddcca5811da136cbc57be2a3419e08663b2b90cccb3425c2898e93e1b5() + { + $this->assertTrue(true); + fn() => ($test instanceof $test ^ $test); + } + function testb9545ce8fa72fd7f7296da8e35607d4d35fe517d2e9ffb795821eccf58d43638() + { + $this->assertTrue(true); + fn() => ($test === $test ^ $test); + } + function testbedaa935db48ae755a0d72e3ad0be5705de3ae933fb08d0fa0012e9050d7bd05() + { + $this->assertTrue(true); + fn() => (`` ^ $test); + } + function testc157d048553707d5ed0441132a0154bc70934ce0610d622eb3934c0d1303495f() + { + $this->assertTrue(true); + fn() => (($test .= $test) ^ $test); + } + function testc294977f937ede095e77f15fdd32e9c12f0632b2bd95a8b4df841601f800b2e1() + { + $this->assertTrue(true); + fn() => ($test / $test ^ $test); + } + function testc33c2723b755f492fc5f76e3794ceed5649408b398729ea4d089616627164a18() + { + $this->assertTrue(true); + fn() => ($test - $test ^ $test); + } + function testc64495e50b422d8c9fce233d17b095a0a91c22a34d96524fbf6510ec11e60e30() + { + $this->assertTrue(true); + fn() => ($test < $test ^ $test); + } + function testd47aa593275594baef8c8c7baf96e003a5c5ed583723ac85907857c312377df2() + { + $this->assertTrue(true); + fn() => (($test += $test) ^ $test); + } + function testd864b736ae5179d663084dfb0f0d7e66a5df784d23d5020bab83571ebad70431() + { + $this->assertTrue(true); + fn() => ($test <= $test ^ $test); + } + function testdac5be840e783b297f76dd48611ad014fc43ae65158439c6703b720cbec20173() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) ^ $test); + } + function testdbf0cb6c02f41da4d72e0811b08c7e91103cd987259a4544971547bbddd5058c() + { + $this->assertTrue(true); + fn() => ($test++ ^ $test); + } + function teste2d6dc63c0510ae491184068c0b32ff0124a402065780406e8a7cd936a969b2c() + { + $this->assertTrue(true); + fn() => ($test-- ^ $test); + } + function teste79f576f3b606b47e07c2a579bc0ed6035627e1550514a11b17d7a47515723b2() + { + $this->assertTrue(true); + fn() => (($test = $test) ^ $test); + } + function teste7e3c18f7755b2ed65aa3295bc13897939b9c92a75d52110c59cac25087f0cdb() + { + $this->assertTrue(true); + fn() => (throw $test ^ $test); + } + function testea0e05b06eaa9e5a99b913d57b955a367e488a5d5662c30a4d355ef856113046() + { + $this->assertTrue(true); + fn() => (match ($test) { + } ^ $test); + } + function testea7579ec3fe2661c922e2917bc7bd20f2f3d10218ab748c858ceff01a5d2144e() + { + $this->assertTrue(true); + fn() => (++$test ^ $test); + } + function testeab0c9dbdef414580ec12b8c3ef43234038dac759367d396c40c31baf02ba855() + { + $this->assertTrue(true); + fn() => ($test % $test ^ $test); + } + function testeaddfcef2aa91b366c0c750e56dc059b81f2410d0f3e2da3d6bb53e7fea7d2a9() + { + $this->assertTrue(true); + fn() => ((object) $test ^ $test); + } + function testeb6ab5db2fe0cd7d705e6cb61c3eafebf381a791e0a5835baf4901dd1744cd73() + { + $this->assertTrue(true); + fn() => (($test -= $test) ^ $test); + } + function testef05b644c974f7c9fa4fb8034fc8a074fb53542fb1d989de6bd4ddc877224a45() + { + $this->assertTrue(true); + fn() => ((string) $test ^ $test); + } + function testef079372d169845fcd26c775553bfcfc7792b6733186c8b60badf6f063dc2ea4() + { + $this->assertTrue(true); + fn() => ($test >> $test ^ $test); + } + function testef60be3cc6df953e2d5ebf32e36b2d19429ec552c751f184a49fe654b44a293b() + { + $this->assertTrue(true); + fn() => ($test + $test ^ $test); + } + function testef850bba054028e82f7abfc3f9fdd57ebde6965777e8e93dfdd94419ce4dc4f2() + { + $this->assertTrue(true); + fn() => ($test . $test ^ $test); + } + function testf0dd88cf0691fcb9e4b8fc82a40dc97bd41133294dbe18d1d5b90729c1a9efb5() + { + $this->assertTrue(true); + fn() => (__METHOD__ ^ $test); + } + function testf6974a2587130ece11c881619168c82501e5536cb8066f0c7e29747f66ec8748() + { + $this->assertTrue(true); + fn() => (($test =& $test) ^ $test); + } + function testf855d50e5bf0b81132c873052cbef825bf4e143f1bc039b8bc3bc3386243db0b() + { + $this->assertTrue(true); + fn() => (($test or $test) ^ $test); + } + function testfaacaccb0ddce59eb5211bda6e405850e9ab480f69bcde85fe04309552194e97() + { + $this->assertTrue(true); + fn() => (($test ^= $test) ^ $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test.php b/testsGenerated/Target/Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test.php new file mode 100644 index 000000000..d586dcd1f --- /dev/null +++ b/testsGenerated/Target/Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression72ead26dc42a1dea1cae958255dd1c58efff0d13e37a83bb77ae9071f01d0df5Test extends TestCase +{ + function test013f7be2f1bdd231c97ba55e765cbbe66aae529d21f5cf97e8f82920c228b762() + { + $this->assertTrue(true); + fn() => ($test > self); + } + function test0162b70bca9e488d331efb19a00d59f9358c18faa69468fdeb4aa0c4c0dff589() + { + $this->assertTrue(true); + fn() => (($test .= $test) > $test); + } + function test03377940c06fb5d15eecbae62bb5367b54d831fcaad34d2ccda1b1aecd056b52() + { + $this->assertTrue(true); + fn() => ($test > -$test); + } + function test048bf25e103b8a0388fc55319d8a7e80b942109572173ee95ba89507b9a9bcc9() + { + $this->assertTrue(true); + fn() => (($test != $test) > $test); + } + function test04bd5bf84a24dd5a0b26a6add1f64e276b43a427153ba273116011eeef361244() + { + $this->assertTrue(true); + fn() => ($test >> $test > $test); + } + function test04d980fa95d3a60d2f61717aea14c8aa43cd45611997e2eb6b63c6db7dca08c8() + { + $this->assertTrue(true); + fn() => ($test > $test?->{$test}); + } + function test0cf88af09b7ced62313d6dd35e723765e1d643d869f133e92d78eec204d2514f() + { + $this->assertTrue(true); + fn() => ($test << $test > $test); + } + function test0d3cac1f466a4abe60dc60f077140734db1912207f33ab5f3d14d248a40b3437() + { + $this->assertTrue(true); + fn() => (($test <<= $test) > $test); + } + function test0dc38423bd96ce5e79aefe41576b7f34b8d7ba1fdbe4f7f0eb700ee99b8135e3() + { + $this->assertTrue(true); + fn() => (($test >>= $test) > $test); + } + function test0f2a661bfa302c332440c935de6ccc3b92b287b612afacbd5bef8797ed9856dc() + { + $this->assertTrue(true); + fn() => ($test > (print $test)); + } + function test0ff36f8af06195f2acd9248f01d0155b86cdc52c8447ed8bad9ce057133c5e64() + { + $this->assertTrue(true); + fn() => ($test ** $test > $test); + } + function test138f21069a867a6da0f9381de4e2764e72c7d4fca3cd265a6d1423c0f3845bc8() + { + $this->assertTrue(true); + fn() => ($test > $test[$test]); + } + function test14a9918b93b95cd6918d15f661179e01ef6133bc5b9d25c9d19bbd76d56b9310() + { + $this->assertTrue(true); + fn() => ($test > $test::$test()); + } + function test1719194ac4b68845f89cbdf559ccdc252336bd7c03ceaad17df2462610814c42() + { + $this->assertTrue(true); + fn() => ("{$test}" > $test); + } + function test1d9b704c7899806fd885ff7e9b88b4676eac5f1784c409d1f9e725f034cf3b09() + { + $this->assertTrue(true); + fn() => ($test > $test?->{$test}()); + } + function test216d5fb4cd23d01261ab326171147418e6de89bf8d38d1387f3248a6e856a087() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ > $test); + } + function test236c53f9a9e9f1fac8670a2a76e5523746c09a0b93d0ad1664869c31d097a107() + { + $this->assertTrue(true); + fn() => ($test . $test > $test); + } + function test25f16c90049299437179e8fb55cc8c2d0b05e519ea4657d9465943c82cc08d45() + { + $this->assertTrue(true); + fn() => ($test > $test::${$test}); + } + function test26a7c130b149131408e5626ade3e86dba2936c7233e0aa7409410f1308ba1332() + { + $this->assertTrue(true); + fn() => ($test > $test->{$test}()); + } + function test28e02bbaf32949625139de4461647661d2d8b3a354661ea17ebd3318039f8738() + { + $this->assertTrue(true); + fn() => ($test > $test instanceof $test); + } + function test2906dea4865c36a34a0a0923bfd7ca14e30cda4649ea1ff317ffef8091be7880() + { + $this->assertTrue(true); + fn() => ($test > @$test); + } + function test31333ba45a81ab4ceb784b36120900dbc5dfc2f864d5022d46e8500fc014f084() + { + $this->assertTrue(true); + fn() => (($test |= $test) > $test); + } + function test32d079b23e47d8084d0c527f983e889e2a6cbeaa91a80280f53701bf7f39ca33() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ > $test); + } + function test36a0943df046b5bfeec95dc526fd7ec3f97dac307903e4c8e259fc45e90be9b0() + { + $this->assertTrue(true); + fn() => ($test > $test()); + } + function test36aec36f0c527a8bf5bb2e19bb4516873076a6f4878016994b03dba58377d9f3() + { + $this->assertTrue(true); + fn() => ($test > --$test); + } + function test3821a390c14467370cad45ac1026df6bea54b931798f0219d6f466b7cd7c4625() + { + $this->assertTrue(true); + fn() => ($test > $test--); + } + function test3844f731e4cdb1c2536e947bcb9c5075343961cd35198abfce1292b4e0ee2f85() + { + $this->assertTrue(true); + fn() => ($test > empty($test)); + } + function test395392932be0cf13b24b86f2013a16f4273e95d719b8c88adbe8a5df6799b622() + { + $this->assertTrue(true); + fn() => (($test ??= $test) > $test); + } + function test3a504f1b7a6455ebca9adfa4d963758a4f0b6b383e42607cbb0ddc9887cdff49() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) > $test); + } + function test3ded9b3164f02952322908dfc7101d3c1584635ee73160bbcd4ea09bdc641d65() + { + $this->assertTrue(true); + fn() => ($test % $test > $test); + } + function test448019629bf8e12907a99e15847ff321df35530f2e61459fd0291df264b0b95e() + { + $this->assertTrue(true); + fn() => (__CLASS__ > $test); + } + function test4cf8d0944ea24008a13d67a6eb2115ea0ed9492e8333ba2c07f4cf67d7092fa3() + { + $this->assertTrue(true); + fn() => (($test -= $test) > $test); + } + function test4da0485d7382c027a98a97e8de2ba11b30756768f9c21ad3014d033e65954050() + { + $this->assertTrue(true); + fn() => (__DIR__ > $test); + } + function test4e98801ebab9b5937f581be7d4aa451f56920202b87ef7b02ed98e176a6a9028() + { + $this->assertTrue(true); + fn() => ($test > ++$test); + } + function test534b9c902795e1cace1f1e9fab0530b260cee691bbdd4033541769096b03fa85() + { + $this->assertTrue(true); + fn() => ($test > $test); + } + function test585931ee86329339a260d630cd500165b92ff207b4047492622cafa256346855() + { + $this->assertTrue(true); + fn() => ($test > $test::$test); + } + function test597aac32bf681506bf830c3c15c37791358e748527595d6272c976cd1ad6b960() + { + $this->assertTrue(true); + fn() => (($test *= $test) > $test); + } + function test5b82cf2aa98f7894cfb822039fbdca3419a2a4fc01753e2958cfe227eea5c515() + { + $this->assertTrue(true); + fn() => (($test || $test) > $test); + } + function test5e40f5fb2012675aa5f99ba75dc39bb91e78bc9e1a8ae3c6b85779ed836b9d79() + { + $this->assertTrue(true); + fn() => ((object) $test > $test); + } + function test61891b8980f1a13a078e7dae74360e2bab4abeee487cdfb510a0d28428a6d33f() + { + $this->assertTrue(true); + fn() => (($test **= $test) > $test); + } + function test65cae41730a62df0a07dc81782fd963437e6d016a8750a1083a86f33cd677b26() + { + $this->assertTrue(true); + fn() => ($test > ($test ? $test : $test)); + } + function test6b911dad1012502230a6be5f9aad5f259d3b6a714793a6374f2dfbf03ac0a07d() + { + $this->assertTrue(true); + fn() => ($test / $test > $test); + } + function test6c3fe306099f9ff2baae39a33249d46a6b40b833043bf6aacf91e7cdb847d09a() + { + $this->assertTrue(true); + fn() => ($test - $test > $test); + } + function test7202ac0a1ea24c3cad70afbd7082ce6a9f1e3eac933fd600f480ef2fa7be5564() + { + $this->assertTrue(true); + fn() => (($test %= $test) > $test); + } + function test78e17b68862efde18bc04d063690d16a21589ce3b9358b5de238ad62313edad3() + { + $this->assertTrue(true); + fn() => ($test > !$test); + } + function test7bbcc8983e7a99c97a92ed702e520444c04f19ca12867d85c2b57e1db480b263() + { + $this->assertTrue(true); + fn() => ($test + $test > $test); + } + function test7db3876f6d3f4a1ea54ab8f8329a4aa852e1537f28f7402a05173c244ad09297() + { + $this->assertTrue(true); + fn() => ($test > ($test &= $test)); + } + function test7f0d3ec790c58dd4d126d0b6d6c44074eeaf809974000f1a9a788cb5093cdf64() + { + $this->assertTrue(true); + fn() => (($test >= $test) > $test); + } + function test8bfa88b9304042f0a103b080540bd763b42c7dc4098333eae6ab88de3b264861() + { + $this->assertTrue(true); + fn() => (0 > $test); + } + function test8cad0f5b8558d5c3476979be7e56a99dbce3ad04a1cbf403e4799f5fb8ec283a() + { + $this->assertTrue(true); + fn() => ($test * $test > $test); + } + function test901654dd38cb5bfffaaf5b43ad6ef4c7203940be955ffc8979ccfac415731002() + { + $this->assertTrue(true); + fn() => ($test > eval($test)); + } + function test9044b8c8a6ce70cda368f9f6202232d3afaf5f08ac2485d8599eac25e2b87ade() + { + $this->assertTrue(true); + fn() => ((bool) $test > $test); + } + function test93a77a7a65bd5e4801c679e8ccb50aa2ef69813997189f255943a37145e05bdf() + { + $this->assertTrue(true); + fn() => (($test < $test) > $test); + } + function test948049da1a2f44232b421137b595fbbf980765aa60d4098d53971c2b89204aaf() + { + $this->assertTrue(true); + fn() => ($test > (yield from $test)); + } + function test98b168420de6c3d11c864057396cad3b7b9c8077d9770cdae337bce5103e4002() + { + $this->assertTrue(true); + fn() => ((int) $test > $test); + } + function testa36a0040ee979deb0de67100084d1c5816c4a68668a6ad8c40753b232840c883() + { + $this->assertTrue(true); + fn() => (($test & $test) > $test); + } + function testa3fd173ea93b30c37589b81aa79a30f8ab6d030f14758d2c3e779163cae3d81a() + { + $this->assertTrue(true); + fn() => (__METHOD__ > $test); + } + function testa46644dd12636d2a51c5981998b60657434499dc4647c3077f01cfc4c5d02a1f() + { + $this->assertTrue(true); + fn() => ($test > ~$test); + } + function testa4c16227a7044c5bb863c2c05044f1d3ee6e05a21c6ce48994858d81a2ae1fe7() + { + $this->assertTrue(true); + fn() => ((string) $test > $test); + } + function testa7add5b52cc08107c33a714f995c51522af6f16f8af8c8a5407e08b8f2804a32() + { + $this->assertTrue(true); + fn() => (__TRAIT__ > $test); + } + function testa843683b6905c114cad2b437fe662baa3454c3dbf0afd3ab7de3e4540a6f3044() + { + $this->assertTrue(true); + fn() => ($test > new $test()); + } + function testad85183f6f1bd6bbac27cb0ab8caefa88dc6469cf66215c9a27ef64c957fed81() + { + $this->assertTrue(true); + fn() => ($test > +$test); + } + function testaf7a9b0abb74cb6f336cc59e6c914393906c6de4794f8decfd889924517c5101() + { + $this->assertTrue(true); + fn() => ($test > function () { + }); + } + function testb159fc99674efe668f62a115dfbab4f8b8d290fa18f6d90aa854987b770d1434() + { + $this->assertTrue(true); + fn() => (($test ^= $test) > $test); + } + function testb2917a0605a350e7e9d2943fd51eee38d0b37b41b9a93bdf695b53a032284cd0() + { + $this->assertTrue(true); + fn() => (($test ?? $test) > $test); + } + function testb5f1fe8f25d17810bb6286c056dbae7c691b3f8666c2d65d9d82a62560a91cda() + { + $this->assertTrue(true); + fn() => ($test > ${$test}); + } + function testb67c57fb600eb84b08855f061b0e50e6c4f8c871a5230d57ed21c3a5bf883871() + { + $this->assertTrue(true); + fn() => ($test > $test++); + } + function testb8be59086664179ee276dca0793fc650716874abf1866a504b24926caedae182() + { + $this->assertTrue(true); + fn() => ($test > isset($test)); + } + function testbd8a4f9845b58b37583f284fef4d521e0551d7630bc7429ef65cdacd7c50519d() + { + $this->assertTrue(true); + fn() => ($test > ($test |= $test)); + } + function testc05701e3740d044474a2fcdd12584b16bf94c0994dc5164adb34f6701f043921() + { + $this->assertTrue(true); + fn() => ($test > ($test =& $test)); + } + function testc0a53cfc55f06b0ff9fb6dc7696142ff94d57751582d65be397f1fbb62aab026() + { + $this->assertTrue(true); + fn() => (($test && $test) > $test); + } + function testc272c1a93ecbb1e88c4a6b1f293fd514112f4e216655ab27447c6fd4db0a09f7() + { + $this->assertTrue(true); + fn() => (($test and $test) > $test); + } + function testc50d23256df46c63869cbab8c0f7fe57761dd4f3d3029f12169f570825856050() + { + $this->assertTrue(true); + fn() => (__FILE__ > $test); + } + function testc71a72ab4106e735ffef2ac09a1dad7d2dbb00304616fe4d1a4e549d90485448() + { + $this->assertTrue(true); + fn() => (($test === $test) > $test); + } + function testc7e688d78aac474a4d775a19f385df49f43c4d3b0495aa64bf0a2a74b52466c1() + { + $this->assertTrue(true); + fn() => (($test or $test) > $test); + } + function testc950d4cccb796a0f7dd7140e518c2502b3964f7b887e04096634c8e83242501a() + { + $this->assertTrue(true); + fn() => (($test == $test) > $test); + } + function testcb7e11b11f55e09f7ad9de312a56b43d5a6fef8a809446ff13122eeb7d2b4d75() + { + $this->assertTrue(true); + fn() => ($test > ($test = $test)); + } + function testccd288ba6c5a40dc3a23e76191b1a23bb5cb437f283392ea6ba5aadd0175dfb4() + { + $this->assertTrue(true); + fn() => ($test > throw $test); + } + function testcd3e9bc9070162fa56f67678003d6f070557dd029e9f701ecd4ff4799236cdc4() + { + $this->assertTrue(true); + fn() => (($test <= $test) > $test); + } + function testcd4554e09cd7961311b0ae908cd34a8ab9cbb59de620cf4568dc7d77372da706() + { + $this->assertTrue(true); + fn() => ($test > match ($test) { + }); + } + function testcdc1ccb812cc92073b771900ece8775ecf06023e67a4301c481e025fb5581dfa() + { + $this->assertTrue(true); + fn() => ($test > (yield $test => $test)); + } + function testcdd4625c89a04ff6f960212acaee7ceffda55d0bdaaf2a2db88295ceeeae6ce7() + { + $this->assertTrue(true); + fn() => (0.0 > $test); + } + function testd36502931410ddad3783e7730427134fd19df5b728b3963e078e31f7206d77ed() + { + $this->assertTrue(true); + fn() => (($test &= $test) > $test); + } + function testd4f7722b867eb42160ebec5ece94f16366c4068de379222f76ef64286a45aa7b() + { + $this->assertTrue(true); + fn() => ((double) $test > $test); + } + function testd6ea6cf7e9aab7c89559d64817f7ef906fdb05a3154fc8b76437f7ba63cf163e() + { + $this->assertTrue(true); + fn() => ($test > $test->{$test}); + } + function testd8455581bfc0d40f9b4f350b739738ac1be372771e8a240f469cbefd0e603e2c() + { + $this->assertTrue(true); + fn() => ($test > ``); + } + function testd90f132f5c16ac53cba3f6012c1c612b84f7102cc0d4d35294cc288b3ed6fe6c() + { + $this->assertTrue(true); + fn() => ($test > []); + } + function testdd431e3ff3b6efaac6b2e7f9f0f8726144b6c1519158e400b3118740381db8c5() + { + $this->assertTrue(true); + fn() => (($test !== $test) > $test); + } + function testdd522c538b9dac60c3939fe9975a68549310a329c19ca2510ecca504b9a168d4() + { + $this->assertTrue(true); + fn() => ($test > ( $test)); + } + function testdeb3a13ee0e2e2b2e8ac5da2978aab91021cfef9d1e1f92b332f96f70b5a8c5e() + { + $this->assertTrue(true); + fn() => (($test += $test) > $test); + } + function teste22ddc10b477a6ce3755d39f7998b9eb8078f581de183661a7b75dc5e1532698() + { + $this->assertTrue(true); + fn() => ('test' > $test); + } + function teste708a4997026756ed6ef8b71de7279a10a884b2db7289df7c8b3407757662180() + { + $this->assertTrue(true); + fn() => (($test | $test) > $test); + } + function teste90c6bc92e8cc2588ff41b47b445be3078da2836b3149f9d91b6d96628631e6c() + { + $this->assertTrue(true); + fn() => (($test /= $test) > $test); + } + function teste965f0db6a2f563dcb7fe7f26ff2f1ccabb7c7148e326e9a1f60a8a2b662fb59() + { + $this->assertTrue(true); + fn() => (($test > $test) > $test); + } + function testeea79716baf76a96ebecfbc9942081d5998e9f058cbaae76e5c67f3434f3aab2() + { + $this->assertTrue(true); + fn() => (($test xor $test) > $test); + } + function testf366fa12f8ce6eb3598511501ae4095e657937db886f717eb8a7a25cab9411c1() + { + $this->assertTrue(true); + fn() => (($test <=> $test) > $test); + } + function testf45899adaf39727e182ed7390d88abc5e02e8d9ce1611db164772f14fe577bc0() + { + $this->assertTrue(true); + fn() => ($test > clone $test); + } + function testf58af5c5909fa6e07ba7b528a32702e3a7b77b8b6b078e8c54623a8778eaba3a() + { + $this->assertTrue(true); + fn() => (($test ^ $test) > $test); + } + function testf651e31b6e0976feb3ac95cf59c793962d8db839589b0f964687966b84e185e9() + { + $this->assertTrue(true); + fn() => ((array) $test > $test); + } + function testf9da00d3e4a55c8956ebbf194deea25118b30a2b6878516a4b9d96474bc11afa() + { + $this->assertTrue(true); + fn() => (__LINE__ > $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest.php b/testsGenerated/Target/Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest.php new file mode 100644 index 000000000..0fcd8fa71 --- /dev/null +++ b/testsGenerated/Target/Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest.php @@ -0,0 +1,508 @@ + + * @license MIT + */ +class Expression758dc1413383c51e7fb14fb6c713e322fbb0aace926df5054602294f0bdeab2fTest extends TestCase +{ + function test024f974bd9c6f01258a33b70b5e5b29c0290aa5ed776bb39985b45a7bf7cf9c7() + { + $this->assertTrue(true); + fn() => (($test - $test) instanceof $test); + } + function test03bed1057eda3a1633c5c29e776a75f72177cc839099c34bc5033144878dbc0e() + { + $this->assertTrue(true); + fn() => ((print $test) instanceof $test); + } + function test0570564d18caa4454efad98a301d11f8de4cb435c128c9ee7b3ca3886d884187() + { + $this->assertTrue(true); + fn() => (($test ?? $test) instanceof $test); + } + function test0828fa61a58b87fd463b474fac7f9dc90241b3b8759bfbfc2ba13d445d12fff7() + { + $this->assertTrue(true); + fn() => (($test xor $test) instanceof $test); + } + function test0897565c36b7a9dac260119beb1b406e52332e0322da3cf98aed24f7911c498f() + { + $this->assertTrue(true); + fn() => (($test or $test) instanceof $test); + } + function test1022d0a7fc5bec841bfca66db3928be9429de0dfd67324e2dda6d1a65681ee5b() + { + $this->assertTrue(true); + fn() => (($test ??= $test) instanceof $test); + } + function test11a90d9b811a4bf06e8662dbb8d2391955561e2fa111389a29f6aa97e2e50210() + { + $this->assertTrue(true); + fn() => (($test <<= $test) instanceof $test); + } + function test1cb46e52b4e2aef6eaaa3c818736783091360e5070a3cb1aa8168559b6db5055() + { + $this->assertTrue(true); + fn() => ((bool) $test instanceof $test); + } + function test1ded0e1a339d9cea11b4c317bbd6477e889b0d16e972450b387ff61ff242dc8a() + { + $this->assertTrue(true); + fn() => ('test' instanceof $test); + } + function test2038a101f486402063b209f1679f808f9f0321b54ecaa74f2219f4921a0c92a1() + { + $this->assertTrue(true); + fn() => (++$test instanceof $test); + } + function test2197ed10e0c05a57889f28f5c70a94a59d64ba9d8c7e657a4b43fe8842c24538() + { + $this->assertTrue(true); + fn() => (($test + $test) instanceof $test); + } + function test2245eb38e54d015cf161b141b83b20ae0e669a1a8b3c80c2730df5bfbef550cb() + { + $this->assertTrue(true); + fn() => (($test **= $test) instanceof $test); + } + function test293eebfde57587115481744844d0c3a2cf04aea12943563f533cb71ef1e7a3ff() + { + $this->assertTrue(true); + fn() => ($test->{$test} instanceof $test); + } + function test2e4df66ab7623e9b714daf719a759654364f08f4740130bc73144750721a48f8() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) instanceof $test); + } + function test3217daef5d0d45b88c872f2edb7ff69483b75bca62d9c99137a04494262ce680() + { + $this->assertTrue(true); + fn() => ($test instanceof $test::$test); + } + function test39b2407a189b88630d2af8d150e5dd8720f578e3467a6e8f2dae1f05cafc3755() + { + $this->assertTrue(true); + fn() => ((int) $test instanceof $test); + } + function test40a194eb97664a808dd4b6b4e952673c96b3da4b9978d27704043ea33621046f() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test instanceof $test)); + } + function test4894d9f90bf270f30b89942ab2e76c08f585002611eccc6f1d3123719d9777ce() + { + $this->assertTrue(true); + fn() => (($test <= $test) instanceof $test); + } + function test4adc2fca7dbe5c1c52bc08dca0d75551d2997c776318706fbe67ca357896a043() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ instanceof $test); + } + function test4eace7ab09d9038a4787d216c717bbf9a9c6bb8ded9968be9d5d41ac35436220() + { + $this->assertTrue(true); + fn() => (($test !== $test) instanceof $test); + } + function test5416fe1804769c23fab2cb4a59d23b1556d280500bd3c395533776a0f84dd51e() + { + $this->assertTrue(true); + fn() => (($test &= $test) instanceof $test); + } + function test55f8c4b662b6267773312ee48948fea9409d7187fcf7794cf02f8fe2bbcccb12() + { + $this->assertTrue(true); + fn() => (__LINE__ instanceof $test); + } + function test561a4f2383dc98f6c729c65fda8efe5ac7eb8cbdbb02d2a233214bbf22b25afa() + { + $this->assertTrue(true); + fn() => ($test instanceof (++$test)); + } + function test5950b4c5df7fb42b842b1ff89faa2c0255fa4477d0b059053076abff30009334() + { + $this->assertTrue(true); + fn() => ((array) $test instanceof $test); + } + function test5a1fdb70e3aad7cf04e5276466675169c28de3296083ee3aacb50c2ff62d6b91() + { + $this->assertTrue(true); + fn() => (($test || $test) instanceof $test); + } + function test5b6f2a5b6e2c3dfaf18b25a0012e9bc3f953a23e406c705ab8369f7c7869ba95() + { + $this->assertTrue(true); + fn() => (($test / $test) instanceof $test); + } + function test5fa2270111bc2823dee1b943b0ffa49d0b456c8ab015064c01179f53afdf3182() + { + $this->assertTrue(true); + fn() => (`` instanceof $test); + } + function test6107931692ac8f147615a3373de16de0cf9a554485504ad58a6ede54f3408293() + { + $this->assertTrue(true); + fn() => (($test & $test) instanceof $test); + } + function test639a51666fe4c7e49c9c61fe1b74f2211c0a9209df74cb327a13bef42aeaa787() + { + $this->assertTrue(true); + fn() => (0.0 instanceof $test); + } + function test6400437ef9e9b37c3dab10831d99a6292fedb2959f8116a2c16eb965546eee03() + { + $this->assertTrue(true); + fn() => ($test instanceof (``)); + } + function test6527899a377f0494da60213c81642c435d7ebb7ef8200c54874d4828f862a699() + { + $this->assertTrue(true); + fn() => ($test instanceof (clone $test)); + } + function test669d9a5a8ba7e5cf847b26704d30023c2d945652ab3d7eac5b9c3cfa9361b6a6() + { + $this->assertTrue(true); + fn() => (($test %= $test) instanceof $test); + } + function test6776a68e7ec9db22b21963b9889db9bb8e61435b93ced2e8d9ce5a92a108df2e() + { + $this->assertTrue(true); + fn() => ($test instanceof (empty($test))); + } + function test68f8c9fdf3bf13b06b77c26ab3f114cc10188d4450326f471c9e78326306e44e() + { + $this->assertTrue(true); + fn() => (($test . $test) instanceof $test); + } + function test6960cbeabf2e94ad0cc7207d028d4fc55387a7e794bb508eb413025d6db0e293() + { + $this->assertTrue(true); + fn() => (($test |= $test) instanceof $test); + } + function test6d1f63c460665a7637201145e0dc537eefb895be40b4750ee89c2df08de7289d() + { + $this->assertTrue(true); + fn() => (($test | $test) instanceof $test); + } + function test6f3df786879c61545fa981a1a938616d0a45760d49942d3cd60cd5a99ad907fb() + { + $this->assertTrue(true); + fn() => ($test instanceof ( $test)); + } + function test6f77f56cb7fad08c81791794d21b4b17bef513fa3713f3a66f91c9537c9b03c6() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test =& $test)); + } + function test70b226fcdbf6c007ef6336fdcf66e0f3c0ad50ea9b5d60449f6b01e848c8b772() + { + $this->assertTrue(true); + fn() => (__METHOD__ instanceof $test); + } + function test725ff87f0f6909fd5531f39d860a199246d339ad720773a5099096b56b1bb4b5() + { + $this->assertTrue(true); + fn() => (($test != $test) instanceof $test); + } + function test7403274ad6b1efb56a57ef4593809d563049b7a12daf180e013bd83fa5cf004a() + { + $this->assertTrue(true); + fn() => ($test instanceof self); + } + function test744ea679d3788979433d933394301e6fdf9974ed7be8417765ed779bca7a17fa() + { + $this->assertTrue(true); + fn() => (($test >> $test) instanceof $test); + } + function test78d1a955c40ba867fe22e3d4278e05487542487f2de5ddd8a2e13cf83916a868() + { + $this->assertTrue(true); + fn() => (($test % $test) instanceof $test); + } + function test7a11e78db4264c3131dc1f043ad0ecf5ed64e3fcb31d84042be26e164575f09c() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test++)); + } + function test808ec038e16644e13155b7471d51af1c20bf4cb4b4f9434702de8c1e36ed9cce() + { + $this->assertTrue(true); + fn() => (${$test} instanceof $test); + } + function test828855da1cdd30469cb3552e1f398e28a3565d3d3c40f2f3af81f56dc37be94a() + { + $this->assertTrue(true); + fn() => (--$test instanceof $test); + } + function test83b02c339705f7586ee862153fd896c83ea697b9ec468299c1e5239bd50b8209() + { + $this->assertTrue(true); + fn() => (($test && $test) instanceof $test); + } + function test89f4aea282577c25ee50eaabacc9b0a0560659f619046bbfccb150cf26a9c33c() + { + $this->assertTrue(true); + fn() => ($test instanceof (function () { + })); + } + function test8aceeff18ee9c9ae4e806f08fbc10e09bf1895900f9fd8f9b8446008b5191949() + { + $this->assertTrue(true); + fn() => ((object) $test instanceof $test); + } + function test8bd5f7918c7823ff9589cf984f1dc04eb8e39a7b77353251c65070fcf496dd54() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test--)); + } + function test8fe29a67d6fdc6735e4a6d171a1ed3559bcdd64db546a654aa1f88345db6b105() + { + $this->assertTrue(true); + fn() => ($test instanceof (--$test)); + } + function test9735716f5ede34c5a128eacd903ef644938b6d5276307af5b7b90c44eb3bda2f() + { + $this->assertTrue(true); + fn() => ((yield from $test) instanceof $test); + } + function test97b1dbb9a8354c1f6ca23d4040ef1d4c7534ecbea7632aa24395d4d01152ae38() + { + $this->assertTrue(true); + fn() => (($test >= $test) instanceof $test); + } + function test987c80f0fbeccda3f8729d1a1f703c6f9e50206286015dc9315cec6b663f7857() + { + $this->assertTrue(true); + fn() => (__DIR__ instanceof $test); + } + function test99ea61281099fc2f1552beb44c8703095ae9074d57bb33eece7e7c8952da619a() + { + $this->assertTrue(true); + fn() => ("{$test}" instanceof $test); + } + function test9be5fd772fd7e78246752e32a0c9b166fe637beff7110cb53d25f4e07218a206() + { + $this->assertTrue(true); + fn() => (($test ^= $test) instanceof $test); + } + function test9f32fc7cf26c89c8db9b796f4587cb67eda5d0de254566ed14098b1a55df997e() + { + $this->assertTrue(true); + fn() => ($test++ instanceof $test); + } + function testa158e33c78fa93cbb2fe86502fd1b46dc303a87d9e3fd10e3f6dce4e2446bb1c() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test = $test)); + } + function testad054ff8fb65f0f810ba33a4585edf05e6959004277871df502c17277e81fbc9() + { + $this->assertTrue(true); + fn() => (0 instanceof $test); + } + function testad4694bb5b5963109cf3a30c4f5c9cbe34ed4e7919c037472ee91cf92d0e97df() + { + $this->assertTrue(true); + fn() => (($test and $test) instanceof $test); + } + function testadecc1479ac000db3eea0018f70f3bcba261766bdf0515e40b2a5e7c9693b969() + { + $this->assertTrue(true); + fn() => ($test::$test() instanceof $test); + } + function testae320eca1542d931ed032f1de460ea08210363e88c012bdda5b798d021ad6c66() + { + $this->assertTrue(true); + fn() => (($test /= $test) instanceof $test); + } + function testb0257c0a00c02c546f823745c5084eff3ae3ebeb9fb5310eeb8a512d231e23e1() + { + $this->assertTrue(true); + fn() => ($test ** $test instanceof $test); + } + function testb35bd367e982bd6ed447b02d7d18912dc434449737135b65904d3934580568d7() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) instanceof $test); + } + function testb9d0bcd2d30ddbb3a6ae6e9e78e0f14ce45e0177a6286319cd1c479e9dd47ada() + { + $this->assertTrue(true); + fn() => ((string) $test instanceof $test); + } + function testba58e5b2d14b32784b14081c687886e87b21ebc2d78eb1249128c0b1a741c887() + { + $this->assertTrue(true); + fn() => (__CLASS__ instanceof $test); + } + function testbc21535f8732eedc50e83b298361cea324a4930a4b363408c348b523a4c590f3() + { + $this->assertTrue(true); + fn() => ((double) $test instanceof $test); + } + function testbc537a53ce1a4b529da014c856ed953f9f11596a1431b5953476f4e3e3c73312() + { + $this->assertTrue(true); + fn() => (($test *= $test) instanceof $test); + } + function testbdac308b3decd695dbd6cdc56a126c8d5fb0c3fae914cab4e21dce1cfc0d23af() + { + $this->assertTrue(true); + fn() => ($test instanceof (!$test)); + } + function testc0fc5f27c3dfe1ddfda35843592fc39049b59a8ba688b216043233783c96234e() + { + $this->assertTrue(true); + fn() => ($test instanceof (new $test())); + } + function testc1357f857db9e3b3e7452d0ebe149231a98a2f56d7ea2a0f0691b69ccdd22ab1() + { + $this->assertTrue(true); + fn() => (($test < $test) instanceof $test); + } + function testc650e27f55237623bb3b8cd67fe3ac2fc8dcfbb70d7974e343b7537e66accdf8() + { + $this->assertTrue(true); + fn() => (__FILE__ instanceof $test); + } + function testc7ae235a1d298f63ae0c806ef344f3b6a6e35458f79207e21959ed6054fb4b06() + { + $this->assertTrue(true); + fn() => ($test instanceof (isset($test))); + } + function testcb0f13d6dbabe1f91dd140ec187843d2a3aa2e04710241239d72b7660c411f01() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test ? $test : $test)); + } + function testcd20a066b539bde53f4ec0fde361b8976d5f6543c48f42a303030f95abedf87b() + { + $this->assertTrue(true); + fn() => ($test instanceof $test?->{$test}); + } + function testd0c6e47569920fac5e8bde47548f5b24d761a38b48c11a404dcc25299c1c09ba() + { + $this->assertTrue(true); + fn() => ($test instanceof $test::${$test}); + } + function testd4594c277cec2fce4d08b20eb09d5a357551dd450be17c2fe404cd36500f5810() + { + $this->assertTrue(true); + fn() => (($test == $test) instanceof $test); + } + function testd49a1418dda27dbce53f6105f4b4b15832448547ad7e8e974683ba40ccc48cc1() + { + $this->assertTrue(true); + fn() => (throw $test instanceof $test); + } + function testd4b1a9b0b8a8e72916cba4692a5f3626a11f98b662b4f704c960854b00c36055() + { + $this->assertTrue(true); + fn() => ($test instanceof $test->{$test}); + } + function testd5406416aeaefd02177fc8d3dd6b8c17f0a2c51dd347b988b74e076f8df429d9() + { + $this->assertTrue(true); + fn() => ($test instanceof ($test)); + } + function testd5711d88373ea32df4751d5bf37ee23d1edd3d75e639323611b4d1c73f483cd5() + { + $this->assertTrue(true); + fn() => (($test .= $test) instanceof $test); + } + function testd7746c089533a2dfd601c7a08f147eac908e1f2b965bcfd0bd15d37520fcbe0a() + { + $this->assertTrue(true); + fn() => (+$test instanceof $test); + } + function testdb1195ebf2f274e02933a96583ec5c4640f6809f345c63422e2b23d34e5748a3() + { + $this->assertTrue(true); + fn() => (-$test instanceof $test); + } + function testde8ca71cba6732e13a88689ecdf684aca9f9face41efa0a6fe74229d8df0f9a7() + { + $this->assertTrue(true); + fn() => (($test === $test) instanceof $test); + } + function testdec520361772514e2455c8c8c4eeae4212d399d136a08b6a94766dd673741a0e() + { + $this->assertTrue(true); + fn() => (__TRAIT__ instanceof $test); + } + function testdf446ab2fea5baa2bdcee6a6c30b6287b149412d704a0fe7287fd4375f973867() + { + $this->assertTrue(true); + fn() => (($test <=> $test) instanceof $test); + } + function teste0b6e340b1538f7ceb612b20f381c8ef0e03a4a510d0db8bc664a7595b3f328a() + { + $this->assertTrue(true); + fn() => ($test instanceof (@$test)); + } + function teste1cfb4763675d32c7b4aaf5605e4427d5dec881066ea9515344abf8f645a1eab() + { + $this->assertTrue(true); + fn() => ($test instanceof $test[$test]); + } + function teste5c705c7fd899a225efe07269d16ad64e8a89ab58e3b4455d22581e812304245() + { + $this->assertTrue(true); + fn() => (($test * $test) instanceof $test); + } + function teste75de30efd9fc01bb4a20b64591a2fd09ed1d7496785553c27e3e8898da411d6() + { + $this->assertTrue(true); + fn() => (($test >>= $test) instanceof $test); + } + function testea7cae0145b283376d9179569ab73850069eced12492e13443eb70f8c83a18cc() + { + $this->assertTrue(true); + fn() => ($test::${$test} instanceof $test); + } + function testecde94d7f6953f332d4bcadaf545bafbf9b5cd499583bd428974cb94cd6b4518() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ instanceof $test); + } + function testee39512db80813a0e45ea54cc60af50c76382ccb697b9c5d4101f4a40a4c9bc3() + { + $this->assertTrue(true); + fn() => (($test << $test) instanceof $test); + } + function testf10013c0a57963819f8a6baae5562ad3bf1eb341e815cfd174ca328c5ac6c932() + { + $this->assertTrue(true); + fn() => (($test += $test) instanceof $test); + } + function testf531f00f37ad762092028a29c833519d06187e53af5e5d04252e84a9352181be() + { + $this->assertTrue(true); + fn() => ($test instanceof (~$test)); + } + function testf90924e750f95b4997c2ca171634984d2aa795efbcb3432021ab7e07c6aa5005() + { + $this->assertTrue(true); + fn() => (($test ^ $test) instanceof $test); + } + function testfc44380468801f3395cfbdfa61fe94b76c3219dedb3b5f210f6ec00c5ddc98f4() + { + $this->assertTrue(true); + fn() => ($test instanceof (eval($test))); + } + function testfd6aab955f456039cc4400305e43d6dbd173f2de2e0d6a1accab44e14974e36f() + { + $this->assertTrue(true); + fn() => (($test -= $test) instanceof $test); + } + function testfea3596a0258628ed7fe59c25db5a2bdad4930e339e1c1f129ec271f83cdfb08() + { + $this->assertTrue(true); + fn() => (($test > $test) instanceof $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test.php b/testsGenerated/Target/Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test.php new file mode 100644 index 000000000..18c780b41 --- /dev/null +++ b/testsGenerated/Target/Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test.php @@ -0,0 +1,515 @@ + + * @license MIT + */ +class Expression776be219d3ce5eb2c2ed1e7aca225b9ffb638e2b69c311c38b3ca3d154ff5c40Test extends TestCase +{ + function test015c89a5a57a47ef04708f79d054b6072e64fce83e7cbcc38d9dea2c7086e32b() + { + $this->assertTrue(true); + fn() => (empty($test /= $test)); + } + function test094728e0aac2f244e8aa5c591b7ba084cf9a814695f4e3460c59b5c2dc4136a2() + { + $this->assertTrue(true); + fn() => (empty(throw $test)); + } + function test0b2653c8ad02c2f3f1b3078cdc86c0c279e99fa88065ef8a791ae0e052f6c5de() + { + $this->assertTrue(true); + fn() => (empty(++$test)); + } + function test0d84a3f6d8bd8ef9f8ae89971e7b1c6f8e4bf21c6d4eee94b5b010e83e7a58b7() + { + $this->assertTrue(true); + fn() => (empty(__FUNCTION__)); + } + function test0f925fcf8ef0368e35ce17097f61575a51777aa6c2a81c3dff2a5e58039c588d() + { + $this->assertTrue(true); + fn() => (empty($test++)); + } + function test0fab1f17d1e1f008720acc9e578c27d7cdecf2783282fe69cdd7f20b17a9e1ac() + { + $this->assertTrue(true); + fn() => (empty($test <= $test)); + } + function test12d498b4967dbcafe7d68f337d84d1a948755cc5758153cd9b9eea3eadfebbdc() + { + $this->assertTrue(true); + fn() => (empty(+$test)); + } + function test18b15e508e06f0911993713bbd510d5d427fe5c2e5870d70fa444289957484dd() + { + $this->assertTrue(true); + fn() => (empty($test ** $test)); + } + function test1abdb8b93a1274cd6019a05081ab10b14d87855369839259f8cae87ba6512410() + { + $this->assertTrue(true); + fn() => (@$test()); + } + function test1e7a08ba090f12e51228d5ab9ca6c87807991dd9ec6e8cc581e953af590b961f() + { + $this->assertTrue(true); + fn() => (@$test->{$test}()); + } + function test1f8d28d939fe1dc48774e15e8989ddea22cfc103e878d733a7fee036c656bb9c() + { + $this->assertTrue(true); + fn() => (empty($test?->{$test})); + } + function test1fcc027592e6336569a99b643d46691ae24b557db355407d28cd88f29df4c3f1() + { + $this->assertTrue(true); + fn() => (@[]); + } + function test21aae739f8d5baeb113b22ec3ab5415e84dc665bca7f151cb74c55b8337e416c() + { + $this->assertTrue(true); + fn() => (@function () { + }); + } + function test21e945e059dd6d06c8e98cb2c32ef9dfb7b96c1251b94cc8d9583c740b33649b() + { + $this->assertTrue(true); + fn() => (empty(match ($test) { + })); + } + function test2335358c8a55a4746a99aedef5e969352d66dc95bb5f434aa41af400923f93bc() + { + $this->assertTrue(true); + fn() => (empty($test != $test)); + } + function test2401b5279a524ab2494bab4448a613d95cfcf95d652e9868551de7ad0d1a4de5() + { + $this->assertTrue(true); + fn() => (empty($test >= $test)); + } + function test26eb1e7edba2cb9a14ce2bf1e10d87aa354c7a9b58244db0809ad5c39f9142fc() + { + $this->assertTrue(true); + fn() => (empty(yield from $test)); + } + function test273f67244b2aca379fee42b5db86d8d6c24031df0e17833eed8aa02aa19e3edc() + { + $this->assertTrue(true); + fn() => (@($test = $test)); + } + function test31aa745283e917b771b4d828919e22926ac229d7666fd04b4eb31958394acbe2() + { + $this->assertTrue(true); + fn() => (empty($test <=> $test)); + } + function test347d3e0219ffa055894f7ea03077d2620e922eb524b01f5cdc9aa82748c1febc() + { + $this->assertTrue(true); + fn() => (empty($test == $test)); + } + function test35be7dffd7a6f9ea0af9fca18ad76e98bf41880f3568e2522426f2943c0296ee() + { + $this->assertTrue(true); + fn() => (empty((array) $test)); + } + function test35c25a6dc755a47ad79e1564b2d62517a18defb214644a76d3a2b89d1b639a60() + { + $this->assertTrue(true); + fn() => (empty($test -= $test)); + } + function test3c616becf16c6e01ddd026d8fdb5bf57f2c9beace93e633ca4770e3688188e2b() + { + $this->assertTrue(true); + fn() => (empty($test--)); + } + function test3c76478f59c4555eb9b0e8bd70e8b89812c58bd9bdd27070544c122dba82a914() + { + $this->assertTrue(true); + fn() => (empty($test ? $test : $test)); + } + function test3e54f68b403c9cac99d9205d0955370cccab3583591811b6e463eed8e9ac0af5() + { + $this->assertTrue(true); + fn() => (empty(${$test})); + } + function test41a2d9d343344866346134a290a55b5129c36a8357d5ed72259430b949f3a2f4() + { + $this->assertTrue(true); + fn() => (@isset($test)); + } + function test4211833ed8053323ae7be82391cb8be21cf392296dc26297672ad02a32279340() + { + $this->assertTrue(true); + fn() => (empty($test->{$test})); + } + function test4259e82ca32ee87c0acaf759b3394a1463e3ef7004235f632f19e7b714f7f38b() + { + $this->assertTrue(true); + fn() => (@eval($test)); + } + function test44f2da76c2cfd21c96a41c06dc4b0a82479471ce504a951ac077443eef376c08() + { + $this->assertTrue(true); + fn() => (empty($test !== $test)); + } + function test458115c77c62c67de10e56465f4ec410f73f0b600c3445c28ac934d5a25a6c9c() + { + $this->assertTrue(true); + fn() => (empty((object) $test)); + } + function test4643af66956ff9ee53dee44772f77f00f3bb013934a99e1337d6e5e7c8b7b322() + { + $this->assertTrue(true); + fn() => (empty($test >>= $test)); + } + function test4ccba2a908aec9d6a03fa0a0b7076a4ad88b7566e0a7124d7471cddd3dd41b8b() + { + $this->assertTrue(true); + fn() => (empty($test <<= $test)); + } + function test4f5c4fe5a0736b6b02c8ad2e4fb1493304c1d0b92b7708f1058d65c1ae3f8642() + { + $this->assertTrue(true); + fn() => (empty($test ??= $test)); + } + function test50158b4ed9f9167719a567bb56b53dd434f5fb0a46730ee0b996d06a0319fbfd() + { + $this->assertTrue(true); + fn() => (empty(--$test)); + } + function test592f23dc2f78dfc4482ae5716389fb916ff291e824ff4d178ac6efb2fdfa6c2b() + { + $this->assertTrue(true); + fn() => (empty($test - $test)); + } + function test59f99a75ee8f71190529bb1bdbff417aaa85b0c55f0144d75ef5df86696ce75c() + { + $this->assertTrue(true); + fn() => (empty($test & $test)); + } + function test5b4a51563e6b02aa117e65f64ad556232c8d9bb95c06720704fd98ef1fb26bf9() + { + $this->assertTrue(true); + fn() => (empty($test ?? $test)); + } + function test62bdbe278d1e7fcfa16d4d8ed85db6a02ded7ef52cb88f0b53323472e6c8f923() + { + $this->assertTrue(true); + fn() => (empty($test / $test)); + } + function test64dfcb11edd4c9080e40a1fe880f67541a07b7106452c108303065f89b7e295c() + { + $this->assertTrue(true); + fn() => (@self); + } + function test67ac2f013ac8826eeb2be89494304e5dfa446c7896f4385abd3c83ad8c8d4916() + { + $this->assertTrue(true); + fn() => (empty($test .= $test)); + } + function test686c6eea71a2802a6a02a524a81499667165f8bf935a6522cdc7eb57e9c55fc0() + { + $this->assertTrue(true); + fn() => (empty("{$test}")); + } + function test6909d13939c4e0c096b5ae1db2c0a6c4279761bb62f582b9e250e933d0d44249() + { + $this->assertTrue(true); + fn() => (@match ($test) { + }); + } + function test6c3a431ec99e986db81562961fa2f1e9ab0b539688f7f879eb7f9609398f5267() + { + $this->assertTrue(true); + fn() => (empty($test || $test)); + } + function test7b388aa7b6989432e23afccd495ec3614e444d383a727723326ec211e2fe03da() + { + $this->assertTrue(true); + fn() => (empty(new $test())); + } + function test7c3ed5a15d496d0dee2a28b17972b748fd847ccda789d4bcf620f30d669de484() + { + $this->assertTrue(true); + fn() => (@@$test); + } + function test7c555d750f26b6d5056ce018524cb9e1195665e7e95b3a90d190a049d4302a81() + { + $this->assertTrue(true); + fn() => (@clone $test); + } + function test7cace0b0bdacd8f892131d30204ade7a09727d2ec56598ef63c12100386f7387() + { + $this->assertTrue(true); + fn() => (empty($test?->{$test}())); + } + function test7f9742a6ad776f9ba00737903af7e9dfcd9e67ba03bf8b1606aaa52dc1847d79() + { + $this->assertTrue(true); + fn() => (empty($test *= $test)); + } + function test7ff195378b1170aa885ea532430d019641e9117c36fd61728c538eae69bd4b66() + { + $this->assertTrue(true); + fn() => (empty(``)); + } + function test80c993083cd39e24cd4588df93675041e1e33b105c115463a6f828dc624f9f00() + { + $this->assertTrue(true); + fn() => (empty($test . $test)); + } + function test80e4ff09806ecc2a3efa4876cb01a96212163709a02283ec5598f3213d9f5cfb() + { + $this->assertTrue(true); + fn() => (empty($test === $test)); + } + function test8159bd1d3fb472a4fba456a4f4472c5b27cec32a276f31cb417a363d0f172a11() + { + $this->assertTrue(true); + fn() => (empty($test << $test)); + } + function test8379e63d5177d4ba14776e597099b3e16734a6ae1b16ecc2e6bbf05bf1f557eb() + { + $this->assertTrue(true); + fn() => (empty($test ^ $test)); + } + function test87d7777db70954c9e0aaf4429d79ecb2dac3d803f2f3537e371059b3e446d733() + { + $this->assertTrue(true); + fn() => (empty($test % $test)); + } + function test888fc47adb43f6db6d67dad822033dc36dff2cd43508805885552c5a1373e56a() + { + $this->assertTrue(true); + fn() => (@(!$test)); + } + function test906e53f68e90c4efd9377040d1c962b432da724f9915d94cfe908d13813f9963() + { + $this->assertTrue(true); + fn() => (empty($test ^= $test)); + } + function test943b26fc4aa53bc602711676fca32cfca24d59a5b5a498294b968c273e133364() + { + $this->assertTrue(true); + fn() => (empty($test %= $test)); + } + function test96e035374972f6fb780b9df16f1b2796e54c2b3d83b207e320f8603a56416bc7() + { + $this->assertTrue(true); + fn() => (empty((yield $test => $test))); + } + function test97a7598759d00d492d54dbf6a174e3d865cfb60e78548087dfa94a9e3b71c24f() + { + $this->assertTrue(true); + fn() => (empty($test &= $test)); + } + function test9f0c3647a823d936e972f8ffa6848d3e3d5729d668ea8c503ca8ee10044787f5() + { + $this->assertTrue(true); + fn() => (empty($test |= $test)); + } + function testa0420264f5fccd7ddb8eaa138ea28ae54a22dccf5db77f2af3384bdf6fe0361e() + { + $this->assertTrue(true); + fn() => (@new $test()); + } + function testa2b71d1f432027e2fc9af6d09fe9c2b1afc8bc960a6359e3e0671af75dc5bd11() + { + $this->assertTrue(true); + fn() => (empty(0)); + } + function testa37a3018de258a099b3f59cd58e1caf091a122611d35e9088c7d03b176d86860() + { + $this->assertTrue(true); + fn() => (empty($test->{$test}())); + } + function testa591c367af98c48292601b81a46a6941330b13ea2ac93378cdb88f098a1e3259() + { + $this->assertTrue(true); + fn() => (@($test =& $test)); + } + function testa5eaa25c4afd574854d41d2889115ef4a1e9e136378d1c1da2aea2bb02bb0110() + { + $this->assertTrue(true); + fn() => (empty($test::$test())); + } + function testa6c61a4ee61673899694936dfc093b6d0496b9cdb2c58293b01c70fe096b3b42() + { + $this->assertTrue(true); + fn() => (empty(__TRAIT__)); + } + function testac70d61955de153d437d57ff1ddd82487384a335ccf55e358ad4a07b75375eb7() + { + $this->assertTrue(true); + fn() => (empty(print $test)); + } + function testafb38049d4b32f24f3be497d458abdfbabd49623b888cb148a64069b24add866() + { + $this->assertTrue(true); + fn() => (empty($test > $test)); + } + function testb11e5da346a1f025e63e8cf35721e70ea9897ec3820511dbbcc9016ac8ee8d0d() + { + $this->assertTrue(true); + fn() => (empty($test **= $test)); + } + function testb2ce7f8304580cd298fb7226d36e74ec18dd137d5dfe601c4dc03ac8e43d63a0() + { + $this->assertTrue(true); + fn() => (empty($test or $test)); + } + function testb9cb152211c3d0be71986ece4051418817291b6471b23de430757a6b78706941() + { + $this->assertTrue(true); + fn() => (empty(-$test)); + } + function testb9d2029f68e0213f555e7e58b88083443639bba645dd4683caf89416accf4bb4() + { + $this->assertTrue(true); + fn() => (empty($test xor $test)); + } + function testbf395faadf3c799e3b33cc487977177b30e126f3132e0475bf87aa8fe7ba7fce() + { + $this->assertTrue(true); + fn() => (@$test[$test]); + } + function testbfe5f4fd46a356bef0f2e5d692d0754280f43d92852f020d534bff0871291f08() + { + $this->assertTrue(true); + fn() => (empty($test and $test)); + } + function testc2df55b7a30afd4684bfb7d55312a85c0267dedf22bbcdcb4e9c72a3b64b9167() + { + $this->assertTrue(true); + fn() => (@$test); + } + function testc66cba8a671cc572efd99880bd531117d38d8ca8ccff92291d797d6f15171031() + { + $this->assertTrue(true); + fn() => (empty((string) $test)); + } + function testc815c8fd086b548a087a28b58341c20af453141bbe97229eb30fb9ed98051d5f() + { + $this->assertTrue(true); + fn() => (empty((bool) $test)); + } + function testc93c2e6d747f28a80251deb63979b05b0c3da5273556f3f40713b392be17001e() + { + $this->assertTrue(true); + fn() => (empty($test && $test)); + } + function testcacef60e3790435ccd239c630d20758a8feab2cd96e5f197ff7e775e4e5a33e6() + { + $this->assertTrue(true); + fn() => (empty($test * $test)); + } + function testcb10ddea5d33830b90e66dac3c19f5d77cd791e724a966ec2a7a3f002b0d167d() + { + $this->assertTrue(true); + fn() => (@$test::$test); + } + function testcf97c63a16b8f96947ec4150acefbab83931b20cf88e029ed326d5f6919cc192() + { + $this->assertTrue(true); + fn() => (empty(__METHOD__)); + } + function testd2d5df0535a317a88aefdb26613fbd1429c97b5b3cc510eb9dc6b97b2eaeeb17() + { + $this->assertTrue(true); + fn() => (empty('test')); + } + function testd7e81b506f5838bd810629520a65a84386e8f9a26813139d24f642b82c66ab54() + { + $this->assertTrue(true); + fn() => (empty(__CLASS__)); + } + function testd7feae096df7792661257ad90cafbc2bff2c884d3e14b8bb544d889bce18a22e() + { + $this->assertTrue(true); + fn() => (@~$test); + } + function testdb0c2bf0e6b765ad4f5fc85e9f7b133df294ff56e31fa24897906c159aa79562() + { + $this->assertTrue(true); + fn() => (@( $test)); + } + function testdc7d6320841034e4068ce1de3502d508973d4bba2ae1883001886336cc33f07f() + { + $this->assertTrue(true); + fn() => (empty(0.0)); + } + function teste2c18b0de33ccfee964fecf547caf6da4c224c922dc3b7bfa45eb3a40de14805() + { + $this->assertTrue(true); + fn() => (@($test instanceof $test)); + } + function teste3b97aa550cd4c0766eface1e3277f4ae2101b6219814863ebc899fc0fec0d38() + { + $this->assertTrue(true); + fn() => (empty($test::${$test})); + } + function teste5d24bf9a048cfb4a75bd29ef97a38dcc3071cde8293e28ec366d3af63123738() + { + $this->assertTrue(true); + fn() => (empty((int) $test)); + } + function teste7a57edd48ac9c89fbccef100db0c5dbb10cdc8fb2abc5b9558071a08fa93c96() + { + $this->assertTrue(true); + fn() => (empty(__FILE__)); + } + function teste9c3dabb3f887da695d02f442919e8a0fe808e7d45da3304f29453b13f4a8605() + { + $this->assertTrue(true); + fn() => (empty($test | $test)); + } + function testea66b7ae71ee9daf255ea65d7cae4708ea8484641ec87276253a50e64e3c8ac5() + { + $this->assertTrue(true); + fn() => (empty((double) $test)); + } + function testf3787f20edfadf2d32076c2f885c36d5ce6f384e32fd4727aee2d5ed6592163b() + { + $this->assertTrue(true); + fn() => (empty(__NAMESPACE__)); + } + function testf73d9b94aa10940bb224b56ea9c552daf8617df8a272267260daf61c43ae1204() + { + $this->assertTrue(true); + fn() => (empty($test + $test)); + } + function testf74ac41ead81a8c0993bf8a96a89480ce135925a96c159ba2ed2784b53a88f49() + { + $this->assertTrue(true); + fn() => (empty(__DIR__)); + } + function testf82d0cc0101bb3e446ae0b0e8d69b0cb1119e5ab1bf3851257109271b08f7ba8() + { + $this->assertTrue(true); + fn() => (empty(__LINE__)); + } + function testf9d92a630d7e8af7adec4d6581a5544d3e8db92873e2f5c607d3257f10671dee() + { + $this->assertTrue(true); + fn() => (empty($test >> $test)); + } + function testfb2d576b174907d592bfa31d9fcbabc8e7c02aa6ea91469933f8194f33230115() + { + $this->assertTrue(true); + fn() => (empty($test += $test)); + } + function testfe3f1b64c887a53494a2079467ce5bbe4e10f45121665419cc13f9cf7db14ac9() + { + $this->assertTrue(true); + fn() => (@empty($test)); + } + function testff7986971f5eecd62e3945f2398d4950556b1a05f162c4270c1d25d186072ec1() + { + $this->assertTrue(true); + fn() => (empty($test < $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test.php b/testsGenerated/Target/Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test.php new file mode 100644 index 000000000..a2531d5b2 --- /dev/null +++ b/testsGenerated/Target/Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression77be3d98aa46583564a4aaf0df93b43c57787e7dcf078d7faece2ee3c66d0d33Test extends TestCase +{ + function test0125976db556b534a01dc6b8ec6f116db8e930163b7cb70b3a3a5b18a603d8b5() + { + $this->assertTrue(true); + fn() => (--$test >> $test); + } + function test0487057703da14511e9154289e9748f59a9aa0d3870b9dcac96f51f8c9452882() + { + $this->assertTrue(true); + fn() => ($test >> isset($test)); + } + function test071b3b66b68bdfacdd3af22232ff80ab444832db06cd68e2dd18036e84fd1b6a() + { + $this->assertTrue(true); + fn() => (($test -= $test) >> $test); + } + function test09e51b32b81e0e7faeb3252de546cd5571bebccc5658628aaaf2f86ed5539eb7() + { + $this->assertTrue(true); + fn() => ($test / $test >> $test); + } + function test0aeda4b9519bd665dc4e2f4ab41a220507939ee4230429268b141c0e41d20dd8() + { + $this->assertTrue(true); + fn() => (${$test} >> $test); + } + function test10dce8e71037d428d18280fbf72608ea0ba866289a1c80cf103bf4e43b5f9b22() + { + $this->assertTrue(true); + fn() => (throw $test >> $test); + } + function test10e35c377e53cf86bd472cd62e554d450424444ee172e0ece1dd02ee27583538() + { + $this->assertTrue(true); + fn() => ($test >> $test::$test); + } + function test1371cdf27a697bf088c52258565ff1507ce6c30369a52d3d136e11ba077f1964() + { + $this->assertTrue(true); + fn() => (($test < $test) >> $test); + } + function test23ce021809e2ef6d2236632fc92957e42e94cc5d366acf4ec0e9ad6196e5f14a() + { + $this->assertTrue(true); + fn() => ($test::$test() >> $test); + } + function test255e9a76e39ce237e89bce1ea28ea0d4ef6d63b60d542a8bf7d3e3d05ec43d72() + { + $this->assertTrue(true); + fn() => ((string) $test >> $test); + } + function test279a340b158a93e8ce8699e502f4004c1da65af387ad5c83357c5b4364452a67() + { + $this->assertTrue(true); + fn() => (($test xor $test) >> $test); + } + function test2c53ae89c98ac5cf5e9a74d592a5aa6ff8b75b1c916a482a01bdc83336b52d4f() + { + $this->assertTrue(true); + fn() => (($test += $test) >> $test); + } + function test2c61b813f3587794debe3f84e9b13fe20e72ecbe577583783d11638db0aeac51() + { + $this->assertTrue(true); + fn() => (($test != $test) >> $test); + } + function test2c82f00da5270bf6161d11ed8f3df0bc178b1bdc77791b877a9e9e5a282cf447() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) >> $test); + } + function test2e19ccaef0a0df2d05dd43333e287cd5d09faaeebfe9d8798a3b768bfc95544a() + { + $this->assertTrue(true); + fn() => (($test or $test) >> $test); + } + function test2feb7fac8ab784741cdc4431d87f05d9d96f55d14efd458c8290db16b049eb6a() + { + $this->assertTrue(true); + fn() => (+$test >> $test); + } + function test31da4e25060a17b8300292b4f174f4f518833c801e4a0e0946af975faa2646a9() + { + $this->assertTrue(true); + fn() => (-$test >> $test); + } + function test331891c661c8240fe0bb5d4b86f17258a2017ae031265fd1fa60cb46f1c79381() + { + $this->assertTrue(true); + fn() => (__TRAIT__ >> $test); + } + function test351f7904827b389ea7a10d91136fcc92efdeaf1ab58217d900fc4cf58934a074() + { + $this->assertTrue(true); + fn() => ($test >> $test()); + } + function test3926abb3a40ee1af086c99089a15c80a8343e9f8a0a8542710b9ac7f74d834d3() + { + $this->assertTrue(true); + fn() => ($test::${$test} >> $test); + } + function test399f12b8b2a7973e881f4a6bf9e886c229419deeb62114b45e37a6d43ceedaf7() + { + $this->assertTrue(true); + fn() => (__METHOD__ >> $test); + } + function test3a5ae8ca0386ba8487d817bb29b27ff4f98db96078e57a666bd35d945832fd52() + { + $this->assertTrue(true); + fn() => ($test >> $test--); + } + function test40d7e2da4eb0d69598ede3f854dca3b4d5317871a4c72207144ad7dca244dada() + { + $this->assertTrue(true); + fn() => (++$test >> $test); + } + function test417aa961e2cac8032769744ff0cf7f2225fb9f06f76a608c641b3eb1cc003764() + { + $this->assertTrue(true); + fn() => ($test >> function () { + }); + } + function test41eb9e24081d78b3bde4b4eef7b075e39a676c47256dcf4082728741a0907909() + { + $this->assertTrue(true); + fn() => ($test >> ($test =& $test)); + } + function test4255fed2622192fc798f6b0bbe73b6aa5e2acadb36bddde5a89ef0a5f9317649() + { + $this->assertTrue(true); + fn() => (__DIR__ >> $test); + } + function test4acd1458d7effaace7725228c0c77a651c45c053e3481f853d82cba8c7f294b6() + { + $this->assertTrue(true); + fn() => ($test >> []); + } + function test4dc58e93b78a6e0ac78e1258541bbd14606c29d45c5558dadee21b7f60839028() + { + $this->assertTrue(true); + fn() => ($test * $test >> $test); + } + function test4e6ce11429f7d2fa4c4c3de3ccfa5259ad639ce0c07eeb84f730c43ace88370c() + { + $this->assertTrue(true); + fn() => (__LINE__ >> $test); + } + function test517fa5a3ead874e218576d590f030450a2b973c98fd6f9bd4c58ef8f24eb2443() + { + $this->assertTrue(true); + fn() => ($test->{$test} >> $test); + } + function test55a909bcb9915890ff5fbf4a7277a095c54cde1271613dc09dba0acd20b8efa3() + { + $this->assertTrue(true); + fn() => ($test >> self); + } + function test57743f8071c8e63a0ed8a3ecca4b310719cf9a32cbbe65eb3e708c8d238d29e7() + { + $this->assertTrue(true); + fn() => ($test % $test >> $test); + } + function test5d1fbb019b92a12ac509def10b1e97a6b274d28a7fb7fe4cbdbc9882c6be48d4() + { + $this->assertTrue(true); + fn() => ("{$test}" >> $test); + } + function test5de1dc5ba3cc97e8f6dcda360e30d3c6494384e734c2d4dd4f610b6f46a7f701() + { + $this->assertTrue(true); + fn() => ($test + $test >> $test); + } + function test5fa84b3cb03c519696fc3bd3768a167fc1a69852646ea9fd0ffd909338ade276() + { + $this->assertTrue(true); + fn() => ($test >> new $test()); + } + function test5fb922cc8aafef6e6241ff1434fd16d552896031265a8070f63b4a793715c271() + { + $this->assertTrue(true); + fn() => ($test ** $test >> $test); + } + function test620de0da27fde65bbb792d4b8ea17cf209a6fbbbdc2751dd81795fea3543bf90() + { + $this->assertTrue(true); + fn() => ($test-- >> $test); + } + function test6493b768dded2eb8f30fb5d5542cf81b2a825f0f8af80a48c91d2427d07c3d45() + { + $this->assertTrue(true); + fn() => ((array) $test >> $test); + } + function test6930bf0c6e25b09bd8b9f32d5e580d1c0a361d1efbce1f187efd9de260d1eb65() + { + $this->assertTrue(true); + fn() => (($test ^= $test) >> $test); + } + function test6c15dd26a1bb18300c9f848c50782f30f8a4c795e3191e91fecafa89cde239b1() + { + $this->assertTrue(true); + fn() => ((print $test) >> $test); + } + function test6d7b5154e0c9eea9df8abc370a3295d3ae869894cff9be689e16161e26f66af5() + { + $this->assertTrue(true); + fn() => (($test && $test) >> $test); + } + function test714f9c6ba32d3a121884ea541a5d52139666f86a299b4a17307bcfeefcc1cbb0() + { + $this->assertTrue(true); + fn() => ($test - $test >> $test); + } + function test74e3cc45ca4de6d3ddf3c8860ce05c27adb3ba251916137d1a81e802bab6cc17() + { + $this->assertTrue(true); + fn() => (($test >= $test) >> $test); + } + function test789037c8fa590c71d36675e58baa2db3f91de31b1c714f7b2173ebe6ff9c923c() + { + $this->assertTrue(true); + fn() => (__FILE__ >> $test); + } + function test7e6e89152d8ca0124736b222312c0f8333ad89ac0b503cc9ce0e4e19e6d5bd9b() + { + $this->assertTrue(true); + fn() => (($test >>= $test) >> $test); + } + function test828d19ce5cac6222506cb92915222f4bc726d61dd4cd2639464c3a36c5598619() + { + $this->assertTrue(true); + fn() => (($test ??= $test) >> $test); + } + function test82e9001588f649f585be36f5af3b9bb5b3f0fd8cad0832558c01b0e9656ca5fd() + { + $this->assertTrue(true); + fn() => (`` >> $test); + } + function test8374304a8654e9a79710277a67f3a6dffc12f3dfbbea7f9b7b082412272c194b() + { + $this->assertTrue(true); + fn() => ($test >> @$test); + } + function test8428a99827f3435b177d37079b671ab350c0537cff72328bc3223a914bb929c8() + { + $this->assertTrue(true); + fn() => (($test | $test) >> $test); + } + function test8653a977a1bb35771bf5b412f25b96c607c359e3229031809325fece1023387d() + { + $this->assertTrue(true); + fn() => ($test++ >> $test); + } + function test8cdbabeb7aaa76884df04c0df80654dd5ebba13e0c0c28fe4ef24009f31459f6() + { + $this->assertTrue(true); + fn() => (($test === $test) >> $test); + } + function test8f1b7ef499fd0bd1f23913cf403509b69144dc123b386c98a48c27dced0ad022() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) >> $test); + } + function test9155c3253bdb95b2ffb6f1141e5b3209dd09475749f98d5611d7bd00f9c468ff() + { + $this->assertTrue(true); + fn() => (($test ?? $test) >> $test); + } + function test91fbc65ef0b1e5f6196b4482b3257b0bedb2e2586f7be37376618c86943da746() + { + $this->assertTrue(true); + fn() => ($test >> match ($test) { + }); + } + function test94d3eb76262dceca72e79be163f11992bf9cfb1ac1aa92c0f4aa3079b172528e() + { + $this->assertTrue(true); + fn() => ($test >> eval($test)); + } + function test957dea061f4cc1b9e82acca1d6a6fc0ca278fcdb8898c81503cf2f72108a136e() + { + $this->assertTrue(true); + fn() => ((bool) $test >> $test); + } + function test98068c37ddeae234ef6ba46d06df2808bab7449c75751403fb99795e10cf2b6d() + { + $this->assertTrue(true); + fn() => ($test >> ($test = $test)); + } + function test982f4443b75d2d70c9640800e5ab2e3134edd62d7dd129af8241cbc7ff1d9a0f() + { + $this->assertTrue(true); + fn() => ($test >> $test instanceof $test); + } + function test9945e6bf1e063282a766b144317c4d48aa3dc5b14abe13c74b4efe6fc1e5150f() + { + $this->assertTrue(true); + fn() => ($test >> empty($test)); + } + function test99b46a632193d6b0008cca5340466a7bd429f7b5c9596666acd9a0728ba47a9d() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ >> $test); + } + function test9a6486c630e157a2ea3b8185ba04e19cd84569f233d7e329a6a5a32c2d16fbeb() + { + $this->assertTrue(true); + fn() => ($test >> ( $test)); + } + function testab222413ed5cc81e239530e116f2996bb6ac273ea4e10f484a93a190366709ac() + { + $this->assertTrue(true); + fn() => ($test >> $test[$test]); + } + function testabb024d391a285f1485352f9afac4563ec1a2200e277b872f0a2e726776a3ec1() + { + $this->assertTrue(true); + fn() => ((double) $test >> $test); + } + function testac07da629fc2dc21d089d679f5be660532028f71bfca502537ca63adaf586e4e() + { + $this->assertTrue(true); + fn() => ((int) $test >> $test); + } + function testac6f665e049e2daaf33eb773744d806789843b4f7d83f0b5f78f729bd27b7525() + { + $this->assertTrue(true); + fn() => (($test <=> $test) >> $test); + } + function testaca456aa4353227bc172ceef3777beaf4136aab14afe8d2608ba24f8f490c262() + { + $this->assertTrue(true); + fn() => (($test ^ $test) >> $test); + } + function testb50c0d3d487ed5498841bc765964a6a4af8c592e5fb732d081e0c14cf1923686() + { + $this->assertTrue(true); + fn() => ($test >> !$test); + } + function testb5effe387f4039a482c1cb4930ef5f26082c3e037cd9846292c12d1a002217b8() + { + $this->assertTrue(true); + fn() => (0 >> $test); + } + function testbe577adb20d3317337c78fa441fcf8c0daa608d377554424811236a9f18d0316() + { + $this->assertTrue(true); + fn() => (($test &= $test) >> $test); + } + function testbf1703fdc9daf378786e3e3569eb216299d5910ae20a8b142fb1a0bf16a4bfb5() + { + $this->assertTrue(true); + fn() => ($test . $test >> $test); + } + function testbfa3d25757285ca1a91c0f2d135d337b1f76393ec4d4509b152f35f070284ce8() + { + $this->assertTrue(true); + fn() => ($test >> $test >> $test); + } + function testc1d9debaf931ae8ea62849f9c72dcb7b419596c38e2727d5666adeb76b0cd594() + { + $this->assertTrue(true); + fn() => (($test > $test) >> $test); + } + function testc3bbc34fcd616537348633b66f0723c3823e8237467b9f18446ceea10996486c() + { + $this->assertTrue(true); + fn() => (($test <= $test) >> $test); + } + function testca4572c39ba9c4635bcd17776bd0b26d57ff8692c0a2e00ff4f1dd80bb90f27f() + { + $this->assertTrue(true); + fn() => ($test >> $test++); + } + function testcc802c4ec3fe87df7d484dae0d7e83177866cf3b810e3fc1c9724653425eeecc() + { + $this->assertTrue(true); + fn() => ('test' >> $test); + } + function testce25b83f76141265e07f4ca3eba2f49dda5f2e661708fe999bc3b7134cc283a7() + { + $this->assertTrue(true); + fn() => (($test !== $test) >> $test); + } + function testd1f9f916aa91140544df5caf229d193d4d0507e17a2c9f3a00e5852dcc60c095() + { + $this->assertTrue(true); + fn() => (($test <<= $test) >> $test); + } + function testd24ca0c9b86a98cf45e8a7aac8de3bb45f3fc01da70c37ba32ae004f67d55491() + { + $this->assertTrue(true); + fn() => (($test *= $test) >> $test); + } + function testd2e60907b2f6fa50f166095cab6a38b59892fb19f74af01f52ec0ff1c6ed6f1b() + { + $this->assertTrue(true); + fn() => ($test >> clone $test); + } + function testd3de6c4d4a6aa2c79dcad5e4d50822f3d425536fa0a572d87064b3a0d9922af6() + { + $this->assertTrue(true); + fn() => ($test?->{$test} >> $test); + } + function testd44770e5442b46e6a4885ef68683cf4f1bae7ef8b71e4306c9195993995651f5() + { + $this->assertTrue(true); + fn() => ((object) $test >> $test); + } + function testd5cad87858c8de68c6cf7fb4438192e0bb35bb6130db205adac01e4d798e40d0() + { + $this->assertTrue(true); + fn() => ($test >> $test?->{$test}()); + } + function testd7353675ba229c55fe888a96cd33f5c09c6e7ab547517955915d7c1b2b6ec5ff() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ >> $test); + } + function testd9742c0d72a83c168fa8370abe54623b0a289d6dc5adbd827b9c769504d3dcc2() + { + $this->assertTrue(true); + fn() => (($test /= $test) >> $test); + } + function testdd584c320c160116034858cae15f9c0f99d0656bc81425997efa7e6c963575af() + { + $this->assertTrue(true); + fn() => (($test || $test) >> $test); + } + function testdf2989f4d7902ea5fd176879d09719dd111a9678597439a45d25e10accca9fa3() + { + $this->assertTrue(true); + fn() => (__CLASS__ >> $test); + } + function testdf91c5a576de3f1b3d5057bb5135b2bff4c73032663a5ae0df44d94bdc3acafa() + { + $this->assertTrue(true); + fn() => (($test and $test) >> $test); + } + function teste0ceb742b4a22af0c5675b5e89ba7af0b964fdc7d74dfaa996ec03998a89e8ec() + { + $this->assertTrue(true); + fn() => ($test >> $test?->{$test}); + } + function teste12baaa665f7ccfa64f2a0f027df2229f47d868b224b05086c98c467941d1e64() + { + $this->assertTrue(true); + fn() => (($test %= $test) >> $test); + } + function teste1b33c135ddc0341b73c630940dc29e7e88bd30678f1b1421d334f0321d7b423() + { + $this->assertTrue(true); + fn() => (0.0 >> $test); + } + function teste1ec18a116a1c18227efc59ce08b6e1b03f30f2a1fdc15dcf2d372da96abdab6() + { + $this->assertTrue(true); + fn() => (($test & $test) >> $test); + } + function teste247be11842c30ffa06360df9f26fceecfa6d8b4c1e56ac6cfa19aa59d16c2e2() + { + $this->assertTrue(true); + fn() => (($test == $test) >> $test); + } + function teste66aa9de05769190d7c0bc3f9ee87f52b06acc589ac5461b0fb6d272ddeff144() + { + $this->assertTrue(true); + fn() => (($test **= $test) >> $test); + } + function teste78695967514b1241ab53434bba54867b278ff2c1cf9b27d7c04beb726c1f331() + { + $this->assertTrue(true); + fn() => ($test >> $test->{$test}()); + } + function testebd3a5aa448d632f27b319fa409f0ea9901e699a6e1820b7dafe9417e456e302() + { + $this->assertTrue(true); + fn() => ((yield from $test) >> $test); + } + function testf13dc0f9e2bcbbc6b6b2d04ecfcb547e71f902a00158b5d66409f7df479639fd() + { + $this->assertTrue(true); + fn() => ($test >> $test); + } + function testf55dbebfc2b0c97c5084028a638ebc78c50e5ec68be093c78ca6b5912d4f8912() + { + $this->assertTrue(true); + fn() => ($test << $test >> $test); + } + function testf7430f743bac46a5f6223f1f7302b96181b2da69d09a5ff027f3d95dea895824() + { + $this->assertTrue(true); + fn() => ($test >> ~$test); + } + function testff2681c0637761e2db588b724d765aa1c7f9c375fe2ac789a8b41dcaac7822a0() + { + $this->assertTrue(true); + fn() => (($test .= $test) >> $test); + } + function testff735597fcd9173ffcb8165c63832abc8fc2a904ffd011e9583eeee3ad5e3906() + { + $this->assertTrue(true); + fn() => (($test |= $test) >> $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test.php b/testsGenerated/Target/Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test.php new file mode 100644 index 000000000..447de007c --- /dev/null +++ b/testsGenerated/Target/Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test.php @@ -0,0 +1,516 @@ + + * @license MIT + */ +class Expression77cdab37eb2965b3876e0cfecd9c78f26d75a081e929b946f34acb8bead59e58Test extends TestCase +{ + function test021a880c05a54118c97ad1f32ba9b264404f2395bbcbb2a3ee00f28b05fd513f() + { + $this->assertTrue(true); + fn() => (isset((function () { + })?->{$test})); + } + function test038357a8edce04b208982bb86231af60869c2859dde9cb41637b351a26fbf385() + { + $this->assertTrue(true); + fn() => (isset(( $test)?->{$test})); + } + function test054e22420e5a220c95fa6f7c8124d7bff6055d7b787d849210a9c555d26b19d9() + { + $this->assertTrue(true); + fn() => $test?->{__FILE__}(); + } + function test0609c7a50f0a3af8bbd14dc664ed7a044d4d52b9a34a5bb4c6fd77bb719b3196() + { + $this->assertTrue(true); + fn() => $test?->{$test or $test}(); + } + function test0672653d8c57624e331f91df7056282e76639b514fcbbede279d0f8f655c0acd() + { + $this->assertTrue(true); + fn() => ($test = $test)?->{$test}; + } + function test06dc578d9d8c233e02e306bfca868dde0be64ad6295a50d09840c4a810c29e33() + { + $this->assertTrue(true); + fn() => $test?->{$test != $test}(); + } + function test11db589e30559a67d26a8173d42ac52aae4cce027f25f73103ac5cde647e19ef() + { + $this->assertTrue(true); + fn() => $test?->{__CLASS__}(); + } + function test12b0254873d6b305b3c0ddaf62bf63df77aaf65103917e64b412b0a91252d389() + { + $this->assertTrue(true); + fn() => (new $test())?->{$test}; + } + function test16d4533256fa3de2a1565a924a288368162173c7560b5af7c285fd9043093671() + { + $this->assertTrue(true); + fn() => (isset($test::$test?->{$test})); + } + function test18454296a4cb3e393168d4cc38d2104d4079967ffe1df252b4ae8113f0f208c6() + { + $this->assertTrue(true); + fn() => (function () { + })?->{$test}; + } + function test186333ff8aaf03f3c6443bf9018e7e632646189ccff4fa085703b39097f7c6d9() + { + $this->assertTrue(true); + fn() => (throw $test)?->{$test}; + } + function test1a5c180ec778b5c139ba87126677c2ecead2bb40562a412c936cfaa9399842bd() + { + $this->assertTrue(true); + fn() => $test?->{$test + $test}(); + } + function test1afc0613c530b255a7e0421fd75b5c860db90013f108461f5c96cd52a74122eb() + { + $this->assertTrue(true); + fn() => $test?->{$test - $test}(); + } + function test1df2809e170e4ab149d41c31ff4ab1b5dc43fe475b1d3c523fa150d7044e9e24() + { + $this->assertTrue(true); + fn() => ($test instanceof $test)?->{$test}; + } + function test2588ff21eeb26901ac4fc17092d414270e8201987edb1f44738c570860239606() + { + $this->assertTrue(true); + fn() => (print $test)?->{$test}; + } + function test29f57c1f0f861b4be08712188c1c549ce2ecde81a5028d49a0317bb48dc8a4cc() + { + $this->assertTrue(true); + fn() => (isset((``)?->{$test})); + } + function test2ac5fe8ab469b825ac22c19445fc183aee0b0e6aa3a8af49af666f1ae32d042e() + { + $this->assertTrue(true); + fn() => (``)?->{$test}; + } + function test30ce5d797f5911c037e7bdcb7542eaf2318e70e26cd01141677ca94779292cf2() + { + $this->assertTrue(true); + fn() => $test::${$test}?->{$test}; + } + function test3217cfffde0cc4c64527bbc446e34ac6fa555e1458a695cd719a3627e9883a22() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}()?->{$test})); + } + function test3293f411f033eb495378ad0ed74510c6517f74bd4e6940e885b590954894c4c9() + { + $this->assertTrue(true); + fn() => (isset($test::$test()?->{$test})); + } + function test336942764d1467e7743a4722c2a0072748ee3eac1a9b98b6b0391d60d0b79e91() + { + $this->assertTrue(true); + fn() => (-$test)?->{$test}; + } + function test342c61cac5d7c0c1cc21582f752e87ee3e8fb6d54a3927c529d7503050a9a3f8() + { + $this->assertTrue(true); + fn() => (++$test)?->{$test}; + } + function test350f4429f3a419d1a6f11c4e9e4ead98080d119a5380bd01df1bb9289b78fe03() + { + $this->assertTrue(true); + fn() => (match ($test) { + })?->{$test}; + } + function test353ac00a4de13949529809e273c47b63caacabbc264be073adc7b0aeadf9fe6c() + { + $this->assertTrue(true); + fn() => (!$test)?->{$test}; + } + function test3a70de9a0f6fd0098199d9748214e353612a0b990ca216459a58a1301e57d72d() + { + $this->assertTrue(true); + fn() => (isset($test::${$test}?->{$test})); + } + function test3d00b9c14d99f2ce078eee08e2ded86ea5067cbadffd4ada272bed21850c05b9() + { + $this->assertTrue(true); + fn() => (isset((throw $test)?->{$test})); + } + function test40ff5dc13c902606146e34c20478c90dbbd6729fd58abac556f603885055d843() + { + $this->assertTrue(true); + fn() => (isset((print $test)?->{$test})); + } + function test4c5d639b9f57b6aeee5c6d879d46934965af631dcb912fe095b3aafd36086355() + { + $this->assertTrue(true); + fn() => $test::$test()?->{$test}; + } + function test5400e0f2314d7eab7726689a785f4fbf151d9c791b9526f37fabb025053fcc88() + { + $this->assertTrue(true); + fn() => $test?->{__NAMESPACE__}(); + } + function test5707302d2ab97639ccb199e6c8275a77daa849b955b714046cd623abf3c86766() + { + $this->assertTrue(true); + fn() => ($test++)?->{$test}; + } + function test5941bca2ceecc4b400eaeb04e27218c7d5eb00282c865ccbe1c151182184fca7() + { + $this->assertTrue(true); + fn() => (isset(($test = $test)?->{$test})); + } + function test59888e8eee38dc8ccf0b4b7ed34f9c36acd62fc6836421fd66799e0858b87dc9() + { + $this->assertTrue(true); + fn() => (@$test)?->{$test}; + } + function test5a3560edc4fdefcf3531bb553cedac876f8a1aee8fdd32c063de62f69b6833ed() + { + $this->assertTrue(true); + fn() => $test?->{$test < $test}(); + } + function test5f967c5c6dd7f0a351abda516bf572610d8c84eda96bc67554a1bb679e03d2dc() + { + $this->assertTrue(true); + fn() => (isset((-$test)?->{$test})); + } + function test6523c4b741121133bd80835e54a4e6644402158acb74bc0b2dbc9b3e56cf8bca() + { + $this->assertTrue(true); + fn() => (empty($test))?->{$test}; + } + function test6573753ae13e8ad333464a6780316e50d9cec6a686ffe292653b04b5abf9a503() + { + $this->assertTrue(true); + fn() => (isset(($test--)?->{$test})); + } + function test6be23ff206758ddd69fc1a793f4ff8533fd39929472a2fca52eb7d17e7604029() + { + $this->assertTrue(true); + fn() => (isset((eval($test))?->{$test})); + } + function test6e9f85d842a135e64b1605c4dd43d31c0a6296a362ae69cb828efa1ab69799b7() + { + $this->assertTrue(true); + fn() => (--$test)?->{$test}; + } + function test7227297da9e1fedcead945db5012ea918bf1733b9ee5ad0804246c7696849038() + { + $this->assertTrue(true); + fn() => $test?->{$test xor $test}(); + } + function test729752b6bf79df1f71b5b5dd5db88f5efb015a15ee3ee904941a934a7c03d35f() + { + $this->assertTrue(true); + fn() => (isset((@$test)?->{$test})); + } + function test74499204a0eae47a22e6ee355c7b0c2ea56a5e0e606d9aa4aa4148d1de515612() + { + $this->assertTrue(true); + fn() => $test?->{__DIR__}(); + } + function test756b64a65814b1ca70680a1e40c337d54c2d7b6013f10d554f857ec06932c1b3() + { + $this->assertTrue(true); + fn() => (isset((--$test)?->{$test})); + } + function test76ab8efb93c8d03881babc1715f878d9a2254f0349bf63eb6f07f70a7d52afc2() + { + $this->assertTrue(true); + fn() => []?->{$test}; + } + function test7ac61c72cdab6bafb4b84cfc8127df22dd9a46a744db418de754547ef265f95c() + { + $this->assertTrue(true); + fn() => $test?->{__FUNCTION__}(); + } + function test7bc3ae0a816c33a39fa63e512af8834d35e1b2a8beb7cf7fab384cc34f8eba77() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test)?->{$test}; + } + function test7d29493c8abab804f38a34c2b16f0eb9f39b4adf117fbee50100938385c05810() + { + $this->assertTrue(true); + fn() => $test?->{$test << $test}(); + } + function test7de6a99fc083fca89233663b8e65d3cc000aaf1af0dd0fd84c7a32342b9f315f() + { + $this->assertTrue(true); + fn() => (isset((++$test)?->{$test})); + } + function test7eab0e46380d6f86940ca03e0afa95184745d39ed342a8cecc04723cf2adee65() + { + $this->assertTrue(true); + fn() => (isset(($test instanceof $test)?->{$test})); + } + function test7ec413c53452e2faeeb80232d0d74404547c4466641a43e7d8bcd61178c20019() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}()?->{$test})); + } + function test84fb58fbacf187f7ed4184ebc740bf642623f6eb36f249ec2a95b33e0af95ae2() + { + $this->assertTrue(true); + fn() => (clone $test)?->{$test}; + } + function test87730a7beed75328b1349fc120fca0573acd3a730d09aa5ac59d12a271bc5acc() + { + $this->assertTrue(true); + fn() => (isset((empty($test))?->{$test})); + } + function test8aee2e1795b27e5679d6ef1fef0e3a55d9f48846305d91777d8b59956537d047() + { + $this->assertTrue(true); + fn() => $test->{$test}?->{$test}; + } + function test91407d0a2c79e57e341f093c91b31b2b5e44aabd44ed926bd53054f978dedc51() + { + $this->assertTrue(true); + fn() => (isset($test()?->{$test})); + } + function test930c6ef3e186ddcc031510f627c36560874f9bdda1aa00cb6fd0c033eb1f1129() + { + $this->assertTrue(true); + fn() => $test?->{"{$test}"}(); + } + function test94d76b6ee4805f49766ddf1f84238e493de9466b2c5bb6da272c05e19a9267c0() + { + $this->assertTrue(true); + fn() => $test?->{(array) $test}(); + } + function test98245904f4d1d9898c42845be35c7038e72568345538576e1a47fe68a973e57a() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}?->{$test})); + } + function test988e24c15c5d897b5178aa6b9e5a1a4a52e4b950f3e65973237a9afd9d7e400b() + { + $this->assertTrue(true); + fn() => $test?->{__METHOD__}(); + } + function test9be949299ab9cc73caeb37efe1f8fbdbfb68b2f6ea8417c78ffb94ee6a2c1437() + { + $this->assertTrue(true); + fn() => (isset(($test)?->{$test})); + } + function test9bf2879c7f3a0e10d3e49427d67fb0bb9b2881e22ab8a1e7bc6d8da4537df945() + { + $this->assertTrue(true); + fn() => $test?->{$test}()?->{$test}; + } + function test9f39c5ea5342ef3cb6593536bdac778075458b8b30cee5add2e52d770a55e66d() + { + $this->assertTrue(true); + fn() => (isset((~$test)?->{$test})); + } + function testa0b42515d18575026da82945aa5ffbcf0232bcecaf414f6936db3b71677f8b96() + { + $this->assertTrue(true); + fn() => (isset(($test++)?->{$test})); + } + function testa17c45c16ce4243345546b57308308836a4d992cf17ccba1c3f486589208402d() + { + $this->assertTrue(true); + fn() => ($test--)?->{$test}; + } + function testa96f9bb3f07e1749addf1d3edc9324c072cfdd70d74f5b66454d5553ee4581f7() + { + $this->assertTrue(true); + fn() => $test?->{$test ** $test}(); + } + function testad2f059efb2a5f3c5f2d3fa4ddf499b37cebc142773f8d4710ddf638e77cc7f1() + { + $this->assertTrue(true); + fn() => (isset((!$test)?->{$test})); + } + function testb287d04d715b7fb43a10e3c6116249417bbd89ff44ccbd59fdb849d32982b89b() + { + $this->assertTrue(true); + fn() => (~$test)?->{$test}; + } + function testb4b11332b217638b97d027bc82f3db31e4219c3a3cfcc854c28995610144727f() + { + $this->assertTrue(true); + fn() => $test?->{(bool) $test}(); + } + function testb5052cdf90ae30272e2d0b2daba734b3247f3991f221c01bd18f18916c1b5c5c() + { + $this->assertTrue(true); + fn() => $test?->{'test'}(); + } + function testb5109b40fa30c1c97d283b3610ab718d5f0f2c91cd5f184eb86b7628cbaf5150() + { + $this->assertTrue(true); + fn() => ( $test)?->{$test}; + } + function testb56d864aef68c75186462c2f40df015318a5fd291d15bbfec83228b356d4711d() + { + $this->assertTrue(true); + fn() => (isset(($test =& $test)?->{$test})); + } + function testb8bb9ce8ac0d0ed38e318ed70dc7760621f1d4fad41e28f24b116900dc402055() + { + $this->assertTrue(true); + fn() => (isset(($test ? $test : $test)?->{$test})); + } + function testba734fa37e7f4ef46ce568a083d478b443023d0e1733a72405b728d73d132fe4() + { + $this->assertTrue(true); + fn() => $test->{$test}()?->{$test}; + } + function testbac918e5ac64cba1bd529ce0048688ba53d4b9f0c6cd542c99729b27cef2328e() + { + $this->assertTrue(true); + fn() => (eval($test))?->{$test}; + } + function testbb07f845771a5d81dca78dce791c589afa5ed3ef7bde46c0b91b82cf3cd1175a() + { + $this->assertTrue(true); + fn() => $test?->{__TRAIT__}(); + } + function testbc20f737236f01b8260aae2ad8e5c9ad2cfa2164404597c3606f63b1c078adf9() + { + $this->assertTrue(true); + fn() => $test?->{$test >> $test}(); + } + function testbd4bf3e35b99b734c3936e9b5b314bfdec5afa02d1c325d0e3c0e3e6d7d36a9f() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}?->{$test})); + } + function testc2127f4990c768964544c0e913403d9773e6e50970bb4da648a55a67eb8afd5d() + { + $this->assertTrue(true); + fn() => self?->{$test}; + } + function testc247dc8f33cda7f6331e44c6f8621b4504ae8e5df520b21e8f1ae9d5bb514dfe() + { + $this->assertTrue(true); + fn() => ($test)?->{$test}; + } + function testc9cc5744c5a4c55fa487ab1b06a9295795023dfb6a6cb41945544015edb0c96c() + { + $this->assertTrue(true); + fn() => $test?->{(int) $test}(); + } + function testcc36e9f0604cd5664d16e6394cccb3367e4e4d66eac17627580edd05f993f52b() + { + $this->assertTrue(true); + fn() => (isset((new $test())?->{$test})); + } + function testcec742d69941cf9c7b3cf5b4befd456f4d2a979e9b05fadb1a6d7e5874957540() + { + $this->assertTrue(true); + fn() => (isset($test[$test]?->{$test})); + } + function testcf3e5cc258c4b9e743478f1e39995a5764b7e11c071066c97cb6222721f24f7c() + { + $this->assertTrue(true); + fn() => $test?->{$test !== $test}(); + } + function testd50715187d66db2ea93cf51ce04655e341fb99540cff99ba08d1c746fe02d1c2() + { + $this->assertTrue(true); + fn() => (isset($test))?->{$test}; + } + function testd5efc4e5f8219c4a7f594fda5e7444f284bdbf50b7dcfe27cf7c61892b18a280() + { + $this->assertTrue(true); + fn() => $test?->{$test <=> $test}(); + } + function testd6c2f003e2f0959e8d1b56cf7bf5697c234391fa46fbc014ce5192c0f4db2904() + { + $this->assertTrue(true); + fn() => ($test =& $test)?->{$test}; + } + function testdab0a8dc1b55a260fa5b7350ca5e31dbb427afbcb409718ee484e73a18c73c1e() + { + $this->assertTrue(true); + fn() => $test()?->{$test}; + } + function testdada05e11fa8405e14bae22ac0eb12860ed4218c64f108e27f465b13d53ac4c3() + { + $this->assertTrue(true); + fn() => $test::$test?->{$test}; + } + function testdb5299a97bc4c3105c5008fa824112e2e6bdf4874f1a6de68a3e61afa724d92d() + { + $this->assertTrue(true); + fn() => $test?->{$test}?->{$test}; + } + function testdc1c634eef965c07d85bee36fc624dec826c6114860d645f1e827f2f1f92730b() + { + $this->assertTrue(true); + fn() => $test?->{$test % $test}(); + } + function teste88362bc6d4d452d35443bacf1323f08052f2518f3d6a4d6b7b1844810bf491c() + { + $this->assertTrue(true); + fn() => (isset(self?->{$test})); + } + function teste8f316437bea758d8eba535bfd5f0049be5d58c79b6ddf9851ff67f611f8338b() + { + $this->assertTrue(true); + fn() => (isset((match ($test) { + })?->{$test})); + } + function testebb87f855d85e3b0069406e80afc722e27baa4c4b80e3513c45425b9ac6c4580() + { + $this->assertTrue(true); + fn() => (isset((clone $test)?->{$test})); + } + function testecfbe5185f1fe5c8dd42054974c41df93ffc83609ff1f3509f77ad7808b359dd() + { + $this->assertTrue(true); + fn() => $test?->{(double) $test}(); + } + function testeea09d5a290dfda31db439f7921a973531ddb61674847d20c7a38b3a6e98c0eb() + { + $this->assertTrue(true); + fn() => $test?->{$test * $test}(); + } + function testf2b64245c69089186385b9bc0afe0b2d03a22e50e406e2c29a0f370ea9c66c99() + { + $this->assertTrue(true); + fn() => $test?->{(object) $test}(); + } + function testf3685f4c24168ce6ba497a57f7d8289255476ec8de310b85aa846f564a587628() + { + $this->assertTrue(true); + fn() => $test?->{$test and $test}(); + } + function testf5f353b2e5b8fefe8316c7a430ad99192e8874a64ada51cc387bd16093b64ca2() + { + $this->assertTrue(true); + fn() => (isset((isset($test))?->{$test})); + } + function testf69607f01965667f7152c24c69d0ef9c3e13e054e31817b9c18f31765523e78b() + { + $this->assertTrue(true); + fn() => $test?->{$test <= $test}(); + } + function testfbcd42b424f9ce901cc8a6a055555b62f7c76e5e06e87041e68d2a57a0d74197() + { + $this->assertTrue(true); + fn() => $test[$test]?->{$test}; + } + function testfd3e789221a920d847563952158016321e3a815cc9abf49b3c87a2a0b2bb3900() + { + $this->assertTrue(true); + fn() => $test?->{(string) $test}(); + } + function testfe0ca8a97b472e7721a4ed1d142fea443ea5444fad99d39fa80933555207da16() + { + $this->assertTrue(true); + fn() => (isset([]?->{$test})); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest.php b/testsGenerated/Target/Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest.php new file mode 100644 index 000000000..a8342f14e --- /dev/null +++ b/testsGenerated/Target/Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression78ab01ab294953c506a3431aae6d41e390b787b448608637d9e5bbdeec31a65bTest extends TestCase +{ + function test00efae06f493eecbf181821db68883ca3ce73602c0891887fc4e48340d1c2078() + { + $this->assertTrue(true); + fn() => ("{$test}" < $test); + } + function test043a35c888d6b8d0ec4bbcf0bca615527079b92849576f668a8fceaa09818260() + { + $this->assertTrue(true); + fn() => ((bool) $test < $test); + } + function test06c7efc61f02a39d726964abc0c9c160c7b0d81a744ad8af05749d55bfa2482a() + { + $this->assertTrue(true); + fn() => (($test == $test) < $test); + } + function test07c07638151e6f55f645bd22effbec5a4f5aa9ee45d51c84022875fb4f0a4ace() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ < $test); + } + function test0ab9bb58a8e4dbcb30a509d4e3ce21f0e82da0de258cd905e3a54eccd7be83e6() + { + $this->assertTrue(true); + fn() => ($test < function () { + }); + } + function test0bb53cea48cd1d05287c3545c5dd814bb3b9ee3227692bd3308ca1c1dceb0bc3() + { + $this->assertTrue(true); + fn() => ($test < (print $test)); + } + function test0dad9ac81027d01233228eeff45116582748a2a96ceea1ddd381d8575b0d1092() + { + $this->assertTrue(true); + fn() => (0 < $test); + } + function test0e269b8fce4cb1561fc5e96715c24ff008e955bdbc833dc0fe0ddd1a2eb42871() + { + $this->assertTrue(true); + fn() => ($test::$test() < $test); + } + function test10f6c4fa4dc1b57fa54383a67d92f0acea0c60af573044a652d0913f586aa50a() + { + $this->assertTrue(true); + fn() => (($test -= $test) < $test); + } + function test1e7f32ce77cb233b514f8bcf8f60b91cb96d7e90bf7ae2f477155e2dba739b6a() + { + $this->assertTrue(true); + fn() => ($test . $test < $test); + } + function test22915e985c7858e7f07913dec7f48c3b72f11c62e84bfeb040f5df3ac6c33e29() + { + $this->assertTrue(true); + fn() => (0.0 < $test); + } + function test24ae5b4a3d738a52ed3dd0a6dca3fd31fc519617c81e5457b0a2a49a0c58a4ff() + { + $this->assertTrue(true); + fn() => (($test ??= $test) < $test); + } + function test2536cf1851466a9bb282f18991e815b9def5035472f651f370621ae69dcfac46() + { + $this->assertTrue(true); + fn() => (($test xor $test) < $test); + } + function test259ba390d399ed1e27134ae42fac11600cd3637ed973f48f213c651c6d6eca96() + { + $this->assertTrue(true); + fn() => ($test - $test < $test); + } + function test2872f40121faadd551e82a13a426b7d4b8b8c1d047cc5d1a14e59bce5b4320a9() + { + $this->assertTrue(true); + fn() => (($test !== $test) < $test); + } + function test2a96e99fe9addc0c5b381a5687c4dc8352e66cc5f33357fea5471c39795ecb6c() + { + $this->assertTrue(true); + fn() => (($test || $test) < $test); + } + function test2c72075deebe2ab29eb2df277ee3933fc1103037ecef6d1e516e2395c19577a9() + { + $this->assertTrue(true); + fn() => (($test *= $test) < $test); + } + function test2ea161b9307ddd498ba35336766052abc355cce1ca2331289534b616ff5bd7e1() + { + $this->assertTrue(true); + fn() => ($test < $test?->{$test}); + } + function test2eca56858f4a852ad3375c905c6780006df336205c0230d7bff8c7fc1f9f0261() + { + $this->assertTrue(true); + fn() => (($test ^ $test) < $test); + } + function test2eed2e1e76487deb92b9dd2928f8a055deb63d44d17186b57647168afe779ad0() + { + $this->assertTrue(true); + fn() => ($test < $test++); + } + function test34cc44c5b9b42115554661211a02377a3e65be60e833a1b528b7896470077084() + { + $this->assertTrue(true); + fn() => ($test < $test->{$test}); + } + function test44f6769abe72595598d12372cc56378829ffba672ef34a2953f2143b33492d1b() + { + $this->assertTrue(true); + fn() => ($test < $test::$test); + } + function test484af9d921357e919f146f35efd94311d606755237066c67997e86e985bcafa6() + { + $this->assertTrue(true); + fn() => (throw $test < $test); + } + function test491b9edbe18a296c5052e630e719bf6d433d7575c66526f90278ebfe33e01df3() + { + $this->assertTrue(true); + fn() => ($test < ``); + } + function test4b69a5a18d5ee0d78b77ecb13727fc9ffb07434bd7f392970a76a9086ffecb7f() + { + $this->assertTrue(true); + fn() => ($test < $test instanceof $test); + } + function test4e61334d0682f4a5478c6a858bb9d0ba7c23a75bc82ae5ab7bd9074ad7848b89() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) < $test); + } + function test522d0027cecbd485539593bef7ed24af28afe1a7c2b0ff8666b8a68e1ca6d08c() + { + $this->assertTrue(true); + fn() => (($test &= $test) < $test); + } + function test5250b5fe3b95c49c809bd3261c792329858a464d8eaa37ddf4a9bcb42689f263() + { + $this->assertTrue(true); + fn() => (($test === $test) < $test); + } + function test58385ec22c288f24c9b65685e4dbcbbeaa0ac1c36e85a9211923f9e3750704fc() + { + $this->assertTrue(true); + fn() => (($test <=> $test) < $test); + } + function test5a532e65a52f1dff572a7baf470e1d74d1ba2de4f93048bc36ac1581af432844() + { + $this->assertTrue(true); + fn() => ($test < eval($test)); + } + function test5d81de2292591f420bc849d92a6ea768a1569287f2bee464f227efb484497216() + { + $this->assertTrue(true); + fn() => ($test < $test->{$test}()); + } + function test6368ba302e5868c4251dd9c9d8c8646627f1dd2a42e458270770d51e24d391ee() + { + $this->assertTrue(true); + fn() => (($test > $test) < $test); + } + function test65f5bc1d4774e5ca7f83e8cbcc767e518659ef07ae1f720356cd494722869b07() + { + $this->assertTrue(true); + fn() => (`` < $test); + } + function test66548763792bcf406e888f095f6846b15da2eb73106a717d3bdeba14720c56e1() + { + $this->assertTrue(true); + fn() => ('test' < $test); + } + function test684aea1a8e7912593b2596ce4578199375a9cf2b50494abb0ec5a84dee509d3c() + { + $this->assertTrue(true); + fn() => (${$test} < $test); + } + function test6881cdfc08683661347482a2fb915a9495207cb4637baeeecf7c5d9211fe6fdb() + { + $this->assertTrue(true); + fn() => ($test->{$test} < $test); + } + function test6ed71a7590cf61d01cabb2e7c80ea8528037d1ce26adf3e252ea1b521536eb9d() + { + $this->assertTrue(true); + fn() => (__METHOD__ < $test); + } + function test70d4121d2bfce6be7b6c29faa2444f1a4751f1dadfa641e72878d5da755f905e() + { + $this->assertTrue(true); + fn() => (($test <<= $test) < $test); + } + function test725f7bdf57312c11f842c3503451e6dff12a7d6653186969a0c125c6fcf21618() + { + $this->assertTrue(true); + fn() => ($test / $test < $test); + } + function test769b22188b26685d641fbf76f67892544843415cbfa18b51059c78c181a1119c() + { + $this->assertTrue(true); + fn() => ($test < $test[$test]); + } + function test77e255a2859a520a9426fea8f91ebe18377e80ae6f2c320503d6685377c58a36() + { + $this->assertTrue(true); + fn() => ($test < --$test); + } + function test786d1402f241d6d8522f84f16296c85d0a40afa3b2e168c04161069acb9debcf() + { + $this->assertTrue(true); + fn() => (($test < $test) < $test); + } + function test7966c87ed5b8a2e756b931ffb73545799c097bd2ee038ce5734bf2810abdd3fa() + { + $this->assertTrue(true); + fn() => (($test | $test) < $test); + } + function test7b77135ef43fdcdba9ce2ca7b78fd2d6618d1a4c302f1720c80ca2df448d832a() + { + $this->assertTrue(true); + fn() => ($test < isset($test)); + } + function test7eb3bbb416df64f002af4a1725b0d9b0a8d17c996316f755b1a09a116ad82e85() + { + $this->assertTrue(true); + fn() => (($test and $test) < $test); + } + function test868d2a73301798a702bb6eba24aa5f727a0b80a4664c1bbdff94a744f92ab6a8() + { + $this->assertTrue(true); + fn() => ($test < empty($test)); + } + function test8714cadc3a426c995350a0e58be343dbdb368cf132bae32af1923b323f844ba5() + { + $this->assertTrue(true); + fn() => (($test & $test) < $test); + } + function test882ae1d117de6f9919ed4a0b93a52eecbf586f257bcff1a4516fa6678cb1e2e2() + { + $this->assertTrue(true); + fn() => ($test < ~$test); + } + function test8bcb29367e78462007e76a1780fa4056f08fa4b4eed90b6e14ee6fc483518054() + { + $this->assertTrue(true); + fn() => ($test < !$test); + } + function test8d59ade1f00c583abdc9b1b0e4395391e16c8e5d9aedd32fc86753c1635288a6() + { + $this->assertTrue(true); + fn() => ($test < ($test =& $test)); + } + function test92ddfc3336445f74ff22396e422de07ee3319ee108cd12e83a1cf11a1e34e188() + { + $this->assertTrue(true); + fn() => ($test < $test); + } + function test935d314b33009f98449387ac5b88f978bafe06e49b9304dd52f3c49e725e7a1a() + { + $this->assertTrue(true); + fn() => ($test < $test::$test()); + } + function test953297d2a0d430d26f9976783c11870da37aefc5a8956222414ed25165c5ca44() + { + $this->assertTrue(true); + fn() => ($test << $test < $test); + } + function test9559530ac1e1ba73cfae1be5bd5891b7c0d40137e1164b7030b12e3aa1913565() + { + $this->assertTrue(true); + fn() => ($test < $test--); + } + function test9a2eb39f7b104b84d8d21f8509b30a965ddd47b193e94dfc81ca61a82688a9c1() + { + $this->assertTrue(true); + fn() => ((double) $test < $test); + } + function test9aa4ee914fbc5c945ee41eae2819ebc25b2945400bf43b42ece255ac042c2730() + { + $this->assertTrue(true); + fn() => (($test /= $test) < $test); + } + function test9c28fb3eb2fc38aec497b228afd983207efd3598f65b8664496dbc9233c88823() + { + $this->assertTrue(true); + fn() => ($test < []); + } + function testa27f3208ea3d8432b675b133c4dcaca00af94dbc3d8c2602ca4e3cf48bdb9dd0() + { + $this->assertTrue(true); + fn() => (__DIR__ < $test); + } + function testa2dacb3dc9611de6367b4af784538bdf81fc7608c660baf5a986e2a428cb8af5() + { + $this->assertTrue(true); + fn() => ($test < self); + } + function testa38fd07a959ca5ad1004a87fb910da0f34bd0d907026e4f1cd9beef6071f5ac7() + { + $this->assertTrue(true); + fn() => ($test::${$test} < $test); + } + function testa3dc521f137dd03d8e2f2837c14fd669e335e4da1047050d3152ec1d4cc66a65() + { + $this->assertTrue(true); + fn() => ((string) $test < $test); + } + function testa5e08a50864688927fb0d7b4d8cbc1327e60217c5105a4085fbf8f0eaae37f0b() + { + $this->assertTrue(true); + fn() => ($test < ++$test); + } + function testa9f1f4b76e05de99106ae6bed5a0b28671acc621a5ca7117034e6af113f8153f() + { + $this->assertTrue(true); + fn() => (__LINE__ < $test); + } + function testab64a5fb45fd65b780f6130a157fd81aa238ddee52506be44c2fa91eb6dd9b71() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ < $test); + } + function testac6f7ebd3fcbf02b2062650a2f15cf979a178672483befb69636bfbc40e1a23d() + { + $this->assertTrue(true); + fn() => ((yield from $test) < $test); + } + function testae190947d555b5d9055ef169b6358677512ff1f9f39f2a46580bf871dd2acd24() + { + $this->assertTrue(true); + fn() => ($test ** $test < $test); + } + function testaf61a76e55330b316b164acd7fbe9be58176137861f09e1c24b7d28a7b733984() + { + $this->assertTrue(true); + fn() => ($test < new $test()); + } + function testaf878f28d7ecb5a6ee8c63a291af499c42fe4529e9437064a5ff7edfde0e9e44() + { + $this->assertTrue(true); + fn() => (__TRAIT__ < $test); + } + function testb73b0ce926b9bfa63ce424d30385db3c6ab388f98daa1265dbe605e6968cb359() + { + $this->assertTrue(true); + fn() => (($test %= $test) < $test); + } + function testb86aa06ead8093530dac208be90815b4c4287c0cb2fbcef2602d04c8228be017() + { + $this->assertTrue(true); + fn() => ((int) $test < $test); + } + function testb94995fb4f93776cc834017bc330459825e06b91ab15cf8386425f0847d27a2e() + { + $this->assertTrue(true); + fn() => ($test < ( $test)); + } + function testbdd70d933de11f1c50404adc4f358d4f6d6da61315a93db3967dc1e670f70811() + { + $this->assertTrue(true); + fn() => (($test >>= $test) < $test); + } + function testbdd9a7332f6733734eaa03de6eeb9364181c7628ef22df95539a3d29f2df3875() + { + $this->assertTrue(true); + fn() => ($test * $test < $test); + } + function testbef9fbf3636bbc84ca9031cd79ca4e78590ad39b54de9750bf74e020cfe47bdf() + { + $this->assertTrue(true); + fn() => (($test **= $test) < $test); + } + function testbf811f961fcec5586ce7e8d53075402979274c30e9502502486ec794d27589cd() + { + $this->assertTrue(true); + fn() => (($test .= $test) < $test); + } + function testc488ac184d5dfff9c75c33f479014876715f4705dab48871ac5bd7f3a1385f06() + { + $this->assertTrue(true); + fn() => ($test < @$test); + } + function testc65529e4c03e2380c00b7701a8e687193ac62d6f5f361a767a7737e73d079b10() + { + $this->assertTrue(true); + fn() => (($test >= $test) < $test); + } + function testd18964aa4085a33b2a51108c217ad4508aec472811522df83f9b1f3283c768f0() + { + $this->assertTrue(true); + fn() => (__FILE__ < $test); + } + function testd36db42368f865892158aa11d1189a9545441ae5b448c5f14f0f631d18dd0dc2() + { + $this->assertTrue(true); + fn() => (($test <= $test) < $test); + } + function testd515276025713774c34f58243cb7545273479787a9bb86e9b4c72a1ab30b188d() + { + $this->assertTrue(true); + fn() => (($test or $test) < $test); + } + function testd57165111f6019517b7d335c969d9560d867cb25f6e61cfba724e03a3e88a0fb() + { + $this->assertTrue(true); + fn() => ((array) $test < $test); + } + function testd6820100b3998740420272f1e4c2236e1dce523328e7fedd7ac8c29fa83be1d3() + { + $this->assertTrue(true); + fn() => ($test < match ($test) { + }); + } + function testda71db54e5ba286a198cd8437d99364aec56dd1a0f6f902141080d24ca6b06fc() + { + $this->assertTrue(true); + fn() => (($test != $test) < $test); + } + function testdae2a123fe13c928a494e67e156062e2ab6950104f38f74488856c3a1e938419() + { + $this->assertTrue(true); + fn() => (($test |= $test) < $test); + } + function testdc2c8424f60906f2864351f1ef7f464411274be6ebbbe1fa9e6f92e477a6cee3() + { + $this->assertTrue(true); + fn() => (($test += $test) < $test); + } + function testde4e24dacf58bb6d72d1a4031fe5b998a5fe08f69de2ed252ab1d8b9cf623edb() + { + $this->assertTrue(true); + fn() => (($test ^= $test) < $test); + } + function teste37e7ad13985bed8c6c70be84308118ba35c5489255d35e866ef7ec2e3e5b0a9() + { + $this->assertTrue(true); + fn() => (($test && $test) < $test); + } + function teste37fad7abf38abcbd61b57df35bd7690ccf97731e4e88fb0e88432f132f3256b() + { + $this->assertTrue(true); + fn() => (+$test < $test); + } + function teste6a16620ac9e2767b388d984b1bc4a7b4c366dfa692f7de85f9e97b77642f641() + { + $this->assertTrue(true); + fn() => ($test >> $test < $test); + } + function teste8607614e6b612e5acd95b8e9d475dbc10520ce22028acab295c974826f51006() + { + $this->assertTrue(true); + fn() => ($test < clone $test); + } + function testea17f40e9da29373f446cb3e139e12276cd3efc58ef470d7adc74bc48cebb827() + { + $this->assertTrue(true); + fn() => (__CLASS__ < $test); + } + function testeb10453319ea356eb281e05e16fa214c96772071180b1fd2cff3a79443536276() + { + $this->assertTrue(true); + fn() => (($test ?? $test) < $test); + } + function testeb39301ce1108c8a9a926d6f7f684216ef30f66ae376230bbb3e95a681442d8a() + { + $this->assertTrue(true); + fn() => ($test < $test?->{$test}()); + } + function testec3514b15ce1943f0c419372beb1346dd003fa2645fc5180a56a3e979434cc2e() + { + $this->assertTrue(true); + fn() => ($test + $test < $test); + } + function testec3c1c84f0c533d2c9a8d1c4dd681496d7b26f4e8255d157effe623a97338231() + { + $this->assertTrue(true); + fn() => ($test < ($test = $test)); + } + function testecdaebf605e14e07dedeee3afaa07dec99d4eb881b30c91c55e9d0825e434ef5() + { + $this->assertTrue(true); + fn() => ((object) $test < $test); + } + function testf3b1592de1bb5e605f60e9d445d6651badf1d968281ba9d5c968c031b638ac35() + { + $this->assertTrue(true); + fn() => ($test < $test()); + } + function testfdfa5c05ecb9f0159a1649940339016193c82f00acec212927b1f883fd4239c2() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) < $test); + } + function testfe09ebe3e24b6190cc97889722e3a8dd5b65b0ccfe74108da0eca1dd0a25aa17() + { + $this->assertTrue(true); + fn() => (-$test < $test); + } + function testfe94c5c75c14b60ac1d772a55da1970c4b4422b2ea93e1d0bbcbe7dfdc1cf08d() + { + $this->assertTrue(true); + fn() => ($test % $test < $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest.php b/testsGenerated/Target/Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest.php new file mode 100644 index 000000000..312aa1393 --- /dev/null +++ b/testsGenerated/Target/Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest.php @@ -0,0 +1,508 @@ + + * @license MIT + */ +class Expression78c1c492a642f610eed6bc953e8e52871ac4067b533ac972902a166d57537a8cTest extends TestCase +{ + function test00b9409b7b31f205ed5993df343c29e77099bba352bdfdbf1f459fedf751ce31() + { + $this->assertTrue(true); + fn() => (isset(($test > $test)::$test)); + } + function test04d88af989af4758b56ab4765fe38041eed061b0f80f98e4f03544ff1f8f3e84() + { + $this->assertTrue(true); + fn() => (isset(($test | $test)::$test)); + } + function test0747436bf04e061cd965cb80b0d9b1a5e251fa565e90ff075797ff8ed10f67cc() + { + $this->assertTrue(true); + fn() => (isset(($test >> $test)::$test)); + } + function test099c1d1ce87eeed571717abd0ac3367b3a50876b72235657b293165318c4e001() + { + $this->assertTrue(true); + fn() => (clone self); + } + function test0d390399ac31df6837436b2ac5efca7f84c0bce30f7115ec7c40a3efa8d70609() + { + $this->assertTrue(true); + fn() => (__FUNCTION__)::$test; + } + function test114b51b4fd2b6ac79bde007ba9ac099e05280d48eb3fc258ba50897e33833cb8() + { + $this->assertTrue(true); + fn() => ("{$test}")::$test; + } + function test12f4a6754a8d13d675db8159388f2864e2cd55ad22f983933d23988b28dd5a2e() + { + $this->assertTrue(true); + fn() => (isset(($test ** $test)::$test)); + } + function test13bccb58da536e6d149065dddf04e2c0c2ff703359b0701e81d73bc0d47b7827() + { + $this->assertTrue(true); + fn() => ($test - $test)::$test; + } + function test198d49d64767b5714aafef910595f6d769077a7a1d79259fd3325c013029d54b() + { + $this->assertTrue(true); + fn() => ($test % $test)::$test; + } + function test19967ba26fe08ec842ae59f143a03336680b039d3133f088174eecf149cc5588() + { + $this->assertTrue(true); + fn() => (isset((__NAMESPACE__)::$test)); + } + function test19f68e5a65c6138a1c4b89e2f74946d2f1b6228a5313899aeb0b171d05b84f51() + { + $this->assertTrue(true); + fn() => (clone $test()); + } + function test1bad3c57cc568aec44fbdfa2a161150a9a80260ee84e5b629a9dce04a001693f() + { + $this->assertTrue(true); + fn() => ($test ** $test)::$test; + } + function test1c0c52389c89c0359e87950d2ab33fcfa6a247e4e54bbef4c4fff08cb51c24cf() + { + $this->assertTrue(true); + fn() => (isset((__TRAIT__)::$test)); + } + function test1e0ea3877753187772a88bc5231a5823a974a6984324904c3ccbd3534d06fe03() + { + $this->assertTrue(true); + fn() => 'test'::$test; + } + function test1fa936e1536a2501df4cd379330ac93c748a6ef622d6d1bcbd989ffae00bf32e() + { + $this->assertTrue(true); + fn() => ($test + $test)::$test; + } + function test240711ac651430244ac04b9fe122d923a2b6e8d2d8c6036ab1bfeb35f92dd8a5() + { + $this->assertTrue(true); + fn() => (isset(((int) $test)::$test)); + } + function test26220cf0d600a2379769361631ca59ace2faec9372f97c35ba41e81181ba8ebe() + { + $this->assertTrue(true); + fn() => (isset(((object) $test)::$test)); + } + function test2a698a11ef5f387164b884c449146a3e514f0be8c5cb64af0739ae9b57602ab5() + { + $this->assertTrue(true); + fn() => (isset(($test % $test)::$test)); + } + function test2f4952c5621386aa1bcd97cfc64854b0a712338cd639507811e9037077daa08c() + { + $this->assertTrue(true); + fn() => (isset(($test != $test)::$test)); + } + function test300967e4fb0d64a7f34c05b000a743d4d35b4420c821ebe392d0bea7d40a49e0() + { + $this->assertTrue(true); + fn() => (isset(($test . $test)::$test)); + } + function test308a70218e4cb08958467dc50e686aa26882213ed3aba5893f839934dd735f00() + { + $this->assertTrue(true); + fn() => ((double) $test)::$test; + } + function test314d2fbbad1311585315ce0e63159c015d70ee92b59504a4ae8190371b18de0a() + { + $this->assertTrue(true); + fn() => (isset((__FILE__)::$test)); + } + function test34d7ff9142ab4c395560effb888fbaf569985412c65b63f4005bc6d296904818() + { + $this->assertTrue(true); + fn() => (isset((__FUNCTION__)::$test)); + } + function test395455e1528220438c02c6000c28dd5b751d0415e26f705e8098d39bc0e2acab() + { + $this->assertTrue(true); + fn() => (isset(((double) $test)::$test)); + } + function test3a20488197e9828095f860b4b9428a06654e468ee1821e08161398075b6351a1() + { + $this->assertTrue(true); + fn() => ((object) $test)::$test; + } + function test3b0862456fea7938459f04cff8063a7533dab0f65a8ac34c5ffbd345f9c79d12() + { + $this->assertTrue(true); + fn() => (isset(($test ^ $test)::$test)); + } + function test3ba3ec7fa83d1b6fc6c39b61b9b68abd307623581550b0b525ebeb50f0c4d297() + { + $this->assertTrue(true); + fn() => (isset(($test !== $test)::$test)); + } + function test3c659eb8f17c4ca29dd7fdc27cbc8b9f8ab8cbb37afc286e5c828f422074a2a8() + { + $this->assertTrue(true); + fn() => (__TRAIT__)::$test; + } + function test3e2679cc8296abb7ca8ab695f7b28336ac6bddba263e3fb927e2e592c473b1ef() + { + $this->assertTrue(true); + fn() => (isset(($test ?? $test)::$test)); + } + function test3f9e03d29b00c046d2a29b84aa95682c6ae3f5dde91d969f89c2d4b2d2758f29() + { + $this->assertTrue(true); + fn() => (clone $test); + } + function test454d45cd7f747cd88275a8b14dac4c975ad51bc8dea538369598d483249ddf5d() + { + $this->assertTrue(true); + fn() => (isset(($test & $test)::$test)); + } + function test48235d9bbfa7343c8aa91264b4cc65612682d00280d008b0ef6b277d8a6b6593() + { + $this->assertTrue(true); + fn() => (clone clone $test); + } + function test483b51c6b9bc70bf73a61ec52d8c7f9727cd765a427d7897a2b3b3f0cd5f1ba5() + { + $this->assertTrue(true); + fn() => (isset((__DIR__)::$test)); + } + function test49e70d6f1aa4aea6365a0ddf39a2cb71220ac1ad7b2a4dbceeeb211d3485941a() + { + $this->assertTrue(true); + fn() => (clone !$test); + } + function test4a939863eb044f253f23918a2f99295a46b6c3ae6e47f9fe256880f7c7b082b5() + { + $this->assertTrue(true); + fn() => (clone @$test); + } + function test4f5db3ed535e936e24bd17fe51137cfe41081a013a05e9e99386940dd1d7e766() + { + $this->assertTrue(true); + fn() => (clone $test[$test]); + } + function test4f8d1ba6a61961cac1eafa5ba3968e5ffb118a592a89b942c8a6bf26048a07d3() + { + $this->assertTrue(true); + fn() => ($test / $test)::$test; + } + function test55a8f2d2dbaaf8435a4993c47cf4ae647d30d94ad446743bb4c0a0d4430eaea9() + { + $this->assertTrue(true); + fn() => ($test !== $test)::$test; + } + function test59d351059e8e4a4cf1df82928334a6b1cb343c01c2ebb5968a9b1cfa29af1fa4() + { + $this->assertTrue(true); + fn() => ($test || $test)::$test; + } + function test5d450e548bc09de8e8f0daee657d103470c33e2f4c1b24b77142bf3859119e4c() + { + $this->assertTrue(true); + fn() => ($test and $test)::$test; + } + function test5e10da241a5b4532d7a3306725fa471040af5548ea9d46214c1be461196da234() + { + $this->assertTrue(true); + fn() => (isset(($test << $test)::$test)); + } + function test5f32888d2035f768661580a7d58db1ef6e59dcf543461b7e7acde0b6cfdc8b24() + { + $this->assertTrue(true); + fn() => (isset(((array) $test)::$test)); + } + function test66db98098fe9824ddf510ee1858255fe0414e407daf5257d431ccaf30fac17ec() + { + $this->assertTrue(true); + fn() => ($test xor $test)::$test; + } + function test68221a08941052b7908d2f48c71ca0849a3edc4732eef9f61d6b33b36a0e30e3() + { + $this->assertTrue(true); + fn() => (clone $test::$test); + } + function test6c9476af0ccf6514280515d2bda259360a5e66787b993c73fd00385e468ca287() + { + $this->assertTrue(true); + fn() => ((string) $test)::$test; + } + function test6ce519ea77554701048e3c88371a64e9c10fda273b61d3abd46848bd58c22af7() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__)::$test; + } + function test6dfc3f99402a4ad6bb0067cdf80c1ced948d518ec3f585321641e1ac0f337d2c() + { + $this->assertTrue(true); + fn() => (isset(($test or $test)::$test)); + } + function test71a0a725a139685e9580d60e823c5be108c8d2e00f40a114cd0bbbc852c3672e() + { + $this->assertTrue(true); + fn() => (isset((__METHOD__)::$test)); + } + function test71a866fdae17964cf6bb434e4bbfd1e12fd4ae0291aa14d77232ed9495f6dc6c() + { + $this->assertTrue(true); + fn() => ((int) $test)::$test; + } + function test74460eb43e2a8c83f7441909e926dabaed46d7471a8026e1a5f309e285199049() + { + $this->assertTrue(true); + fn() => ((array) $test)::$test; + } + function test76965e475c7fd3acc27c07451ef22dad7939cfae28c02ad1ac313f8cc7682129() + { + $this->assertTrue(true); + fn() => (isset(($test || $test)::$test)); + } + function test79a90bfde451839d554df568afc523316d89c55336cef8fd6719951bcd714b39() + { + $this->assertTrue(true); + fn() => ($test >> $test)::$test; + } + function test7b40498003921feedaaf570e0df8659e3a480fc9fe06162859e7baa0e8281643() + { + $this->assertTrue(true); + fn() => (__FILE__)::$test; + } + function test7c23cc7e214fbaaf36bb7033097c2dcf5344cb6b266f6e608038767242625c20() + { + $this->assertTrue(true); + fn() => ($test > $test)::$test; + } + function test7c65680e108d4482ad5fd0a339b3d17bbc1c37942aee337c7e622fd6806c8c1e() + { + $this->assertTrue(true); + fn() => (isset(($test <= $test)::$test)); + } + function test7d1db9cb44d0b2786813202f115de3aceea9d2de83bea1c3ef34e8b338fa8f62() + { + $this->assertTrue(true); + fn() => $test::test; + } + function test886cacaadcfcd85137b0c32ff9d401cade0a00085934561ac6eb3f659bdc5a65() + { + $this->assertTrue(true); + fn() => ($test or $test)::$test; + } + function test88d8b09f01a91c9bf2d361fcbc894178e45637e77414cee59754b8dbbe07c343() + { + $this->assertTrue(true); + fn() => (clone eval($test)); + } + function test8c126dae3660e8a674a021174e49965eac1596bad890a292340012bb2446d927() + { + $this->assertTrue(true); + fn() => ((bool) $test)::$test; + } + function test8fc0544bf9ad457f2a4c6d053f9627488cb331bfa89ade7c498f490c93a77991() + { + $this->assertTrue(true); + fn() => (isset((__CLASS__)::$test)); + } + function test8ff0ef72faa7de8ad99b243b14114ac4c0d6d3d97b2aa973df1835b26acf6d64() + { + $this->assertTrue(true); + fn() => ($test ?? $test)::$test; + } + function test9261d84e5f46b4949cbe0e086e0eb2599884988c9810704b7ded0236a12c8f29() + { + $this->assertTrue(true); + fn() => (clone empty($test)); + } + function test93fa71f932e08f2678132838efd9f95540d6f20548216bc27df9671507324fb1() + { + $this->assertTrue(true); + fn() => ($test * $test)::$test; + } + function test93fb2c2d2c32cc09426a4bd3fe60621b9e94ddcbc3adecb3f888b0961116e128() + { + $this->assertTrue(true); + fn() => ($test ^ $test)::$test; + } + function test96c931acd2d917f3d8dcd9e355a6eb5d17ef4797342818643121e797a5e2bde2() + { + $this->assertTrue(true); + fn() => (isset(((bool) $test)::$test)); + } + function testa299e5115c8fe99bec1ea2884a9e82f87ec891d83b72feaf24a1fdbbf9e2e555() + { + $this->assertTrue(true); + fn() => ($test | $test)::$test; + } + function testa37d968076f05b821926dab1be1ff032a61e011dc741afd2d8ca6177db238a73() + { + $this->assertTrue(true); + fn() => ($test >= $test)::$test; + } + function testa38189a7b4c2cd466cd8696ecdb4ab3f2c6465a87cb53a2fe8485bc07c33ce7f() + { + $this->assertTrue(true); + fn() => ($test === $test)::$test; + } + function testad2b110645a056fdda6db2c730768ad4f559dc3326ba327096226ba3e921fdbd() + { + $this->assertTrue(true); + fn() => ($test << $test)::$test; + } + function testb7bf1b0444edc3c46f228c96328f931230203e3afd9391d78512c797331a08bd() + { + $this->assertTrue(true); + fn() => ($test < $test)::$test; + } + function testbb007d4b7f61956f7f83b85cf299c30560aabaf858308edf7447ab3a5f9d2e64() + { + $this->assertTrue(true); + fn() => (clone $test =& $test); + } + function testbbbbce76ca65a335202ea4104bece36d4a20816c64a28adc71a41430283e78bc() + { + $this->assertTrue(true); + fn() => (isset(($test == $test)::$test)); + } + function testbcfd308d3874d1768b8eea2040b9ed03e5a4da51503769210704a94b342b3370() + { + $this->assertTrue(true); + fn() => ($test == $test)::$test; + } + function testc0e3061ea4aeafcf47f6795708f88f1aacbd6d865770e68ff341d6c706117591() + { + $this->assertTrue(true); + fn() => (isset(($test && $test)::$test)); + } + function testc2b942866a4dc02e721a290305991a9717db4b15bb7f1bb74df192855b49b642() + { + $this->assertTrue(true); + fn() => ($test <=> $test)::$test; + } + function testc36b3108485368487b028984d6481879f8d754ebef33c2f55b1300043e4acdb1() + { + $this->assertTrue(true); + fn() => (isset(($test and $test)::$test)); + } + function testc65225138343f625570b26573dcf89e1f2ff4ade1b3742d0f2abf2785fb5888d() + { + $this->assertTrue(true); + fn() => (isset(($test <=> $test)::$test)); + } + function testc67dd1ae7c1ef63a08df667059b8f1e3bb0b65b3b812841f654be143ed5a50f9() + { + $this->assertTrue(true); + fn() => (isset(((string) $test)::$test)); + } + function testcb38d752d24c6710b8d5e4512dbbe8cf6e2fb193c6426ffbcd04ee8c6b356820() + { + $this->assertTrue(true); + fn() => ($test && $test)::$test; + } + function testcd55c378c54eba116e6137ce3e2cf8dcdaf46393ced763dc4ab31c191504deba() + { + $this->assertTrue(true); + fn() => (isset(($test xor $test)::$test)); + } + function testcded56a95886b0f84959a95dc187e783759864b8f99b3850cff9aa0115244a1f() + { + $this->assertTrue(true); + fn() => (isset(($test + $test)::$test)); + } + function testce294b95fe3cf8d3d2931c88a3c738e97b92c0985fe1e073ebe1949991eb33a9() + { + $this->assertTrue(true); + fn() => (__METHOD__)::$test; + } + function testcfc0510713b782fd1d52a99a673dbb878d6b907aa6b1d098605eb474e7c4b16b() + { + $this->assertTrue(true); + fn() => ($test != $test)::$test; + } + function testd760607b5aab13b1f77b5ca50e1427762e0cc469e04236462e02e22d77a7d024() + { + $this->assertTrue(true); + fn() => (__CLASS__)::$test; + } + function testd7c99bcbcf9fd805b2f0e817a24751d984977ae58127e7a0249addf4162a1ab6() + { + $this->assertTrue(true); + fn() => (clone $test = $test); + } + function teste05ad4a67f272dbf166e4b7df6a0647189369bfb1f203222b46d10354794bd9c() + { + $this->assertTrue(true); + fn() => (isset(($test - $test)::$test)); + } + function teste0e0f567876a583d053c4c94fdb7205a2fc70323551504d2eaba9a95e52d5d85() + { + $this->assertTrue(true); + fn() => (clone ~$test); + } + function teste39e82fd9e6bdfe7efbc3b8fab37c2b357e33139ed9bdf05545d7038263cc824() + { + $this->assertTrue(true); + fn() => ($test <= $test)::$test; + } + function testea17cc9266e6c973ae4aa90f2c044d787a5bab6d43ed91cc9ccd00e27ba9be2f() + { + $this->assertTrue(true); + fn() => (clone function () { + }); + } + function testea6a87dd015baea5120e80f456f2c4d896415c35ba392bcebcd5be14342469e6() + { + $this->assertTrue(true); + fn() => (isset('test'::$test)); + } + function testedb1f23d34f19145a46018a9f07d79ed72931119a41e733766a6b73add044527() + { + $this->assertTrue(true); + fn() => (isset(($test / $test)::$test)); + } + function testf2323d463a5fc0e8660ae47249b7537b1caa4df2441cb2aa10dc950aa3d1d2ee() + { + $this->assertTrue(true); + fn() => ($test . $test)::$test; + } + function testf2c9326e12be1ac22eff6151502bab0bff844329d62b11eda82289754cbe960f() + { + $this->assertTrue(true); + fn() => (__DIR__)::$test; + } + function testf75540eb31e91ac1b8bdf0cc7eeb52a15655b2857cb01d214e4943862410777f() + { + $this->assertTrue(true); + fn() => (isset(($test * $test)::$test)); + } + function testf922f7c4d0e34e1b4f4dc8ee6bff34689670a89bec9fe4477db9e38b1af37497() + { + $this->assertTrue(true); + fn() => (isset(("{$test}")::$test)); + } + function testfa4bee5ccb75109378fa6cd2fe13688a9eeedb0d3d3fb762f7549f8b9628f18f() + { + $this->assertTrue(true); + fn() => (isset(($test >= $test)::$test)); + } + function testfc7f717f277f94129d9db6b03588ebd6a789e9aa0e44a10727a60835417ab90c() + { + $this->assertTrue(true); + fn() => (clone []); + } + function testfedef8da7834f6a7e92fbe95f8cc93cb87589901c4bacbe3f6f60bbbc0ac3fa2() + { + $this->assertTrue(true); + fn() => (isset(($test < $test)::$test)); + } + function testffd3ceedee075387bf0a213135ebb9c3acebcc88789c57f432c0974bcc041894() + { + $this->assertTrue(true); + fn() => (isset(($test === $test)::$test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test.php b/testsGenerated/Target/Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test.php new file mode 100644 index 000000000..50e3910c2 --- /dev/null +++ b/testsGenerated/Target/Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression7a71a00b6ad45317caed734518a81954ae01f9c548b3bccd799391c3adefdd27Test extends TestCase +{ + function test00d8ee3df5fd4bafcb1fb5c6af25abf66286d547bcf541fc1eaf240bf52afaa1() + { + $this->assertTrue(true); + fn() => (!$test + $test); + } + function test053e59587952fed748506164f8ada482bad07e90dc72e82e0af5eececbd9ac6f() + { + $this->assertTrue(true); + fn() => (($test <<= $test) + $test); + } + function test0b0aa52128baf8a9770a4e7bee3a9299414f7eda94dd197b095bf32084935abd() + { + $this->assertTrue(true); + fn() => (`` + $test); + } + function test0c0db5b043c8f292c1614a635cd2c476b7ebeea42d763b1b2915745e61b9a974() + { + $this->assertTrue(true); + fn() => ((double) $test + $test); + } + function test107f46225dda401589bd6919449011635769b03008b97810c15b7c2316695f35() + { + $this->assertTrue(true); + fn() => ($test::${$test} + $test); + } + function test11fb7e0e806bffa03d5d9ef39840aa5c5822b9e635a49bf317d16bd0468a6f1d() + { + $this->assertTrue(true); + fn() => ($test + !$test); + } + function test121865eb6778cabd6c25f87ba1257130c8525666779a659eeb7fde33d4bce5e0() + { + $this->assertTrue(true); + fn() => (($test | $test) + $test); + } + function test16e14c8e398dd453747535810a4bc2dc4e437fa291141a7594781a9659ffc6a1() + { + $this->assertTrue(true); + fn() => ((bool) $test + $test); + } + function test19703e798ebfae2e075322d546c027d87d6916d4f5be5b33c0cad59daa931169() + { + $this->assertTrue(true); + fn() => (--$test + $test); + } + function test1a4e99163eb9b1ea8c9f5596974059bf017b8d081d2a46c5d9b879448861e0a1() + { + $this->assertTrue(true); + fn() => ((yield from $test) + $test); + } + function test1b4f594e0078b6059f8b7f13841c5ab40b6d1d44f7935480b1a44dc208242931() + { + $this->assertTrue(true); + fn() => (function () { + } + $test); + } + function test1c2779f885bc5d3b9b86d4c32afa6df6fd842fdf821176b566b3b2ae768d15bf() + { + $this->assertTrue(true); + fn() => (($test >>= $test) + $test); + } + function test1f24d563b61399b7370e13995f0499416463e0e1334cc9b884fb936bc09ee9a5() + { + $this->assertTrue(true); + fn() => (@$test + $test); + } + function test217ee043738f6b6986a959c813bbf9d2ea8e1b96d54b7354ad7465a404071265() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ + $test); + } + function test24ce143a81b4f0328ecad7711cc5bed50347a1e4aaf78eb6e591912ff04d27c9() + { + $this->assertTrue(true); + fn() => (($test << $test) + $test); + } + function test25485fde5249dcf01eb83a4cef9a3a38124e54d50bae7064578c9b1332ec93ee() + { + $this->assertTrue(true); + fn() => ("{$test}" + $test); + } + function test29f0e4cf6c6838f2de41c81fc1b6e2ce141cb8631dd54e390bd901e0539b08c5() + { + $this->assertTrue(true); + fn() => (~$test + $test); + } + function test2b8fa28afee642b58f9c8bf109af618bda4f3862b49ca4a5d1095bd96e166462() + { + $this->assertTrue(true); + fn() => ($test ** $test + $test); + } + function test2d8c6bbe148c097dc2644b3ee8713199196c80b6f253698ca169c2af247379af() + { + $this->assertTrue(true); + fn() => (+$test + $test); + } + function test2daa80fb0b37666efbae812675a62f0bbb52779d8f75acf1fcead5cfab7a5092() + { + $this->assertTrue(true); + fn() => (($test *= $test) + $test); + } + function test2f1646a815ed56f9f188b69e50a4a3ebd43a2f4feee3e1800f752ccdea784a37() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ + $test); + } + function test34abceee401985c0e6df93a6e79468fd1a99a630683820153935148f15c5d415() + { + $this->assertTrue(true); + fn() => ((string) $test + $test); + } + function test374cf4baaa04fd680795d0c71dc823ad6ca2040757f125fc823fc6b1d5e8a952() + { + $this->assertTrue(true); + fn() => ($test + ($test = $test)); + } + function test3830456cef16f3af75a22baa64b1c606044d1b208c4a1a99606981d44528637c() + { + $this->assertTrue(true); + fn() => (($test <=> $test) + $test); + } + function test3847068a6c426d056c118133da18ffe6fb991df83ffa5a8e250e3adad9ffeae5() + { + $this->assertTrue(true); + fn() => (__TRAIT__ + $test); + } + function test3c00a9ec0fb91216cd83deaf4fa2df71f490421adddb7443a1dd42f66268b492() + { + $this->assertTrue(true); + fn() => (($test > $test) + $test); + } + function test3eb92b81537bfd43232211c902b800905c1ab51701557d2aacd5ed5528b11939() + { + $this->assertTrue(true); + fn() => (clone $test + $test); + } + function test4430badec4c032aea531cb1427fa95480ac12c8f24ed0187b4c2f748699bef94() + { + $this->assertTrue(true); + fn() => ($test / $test + $test); + } + function test4725d728f579108f231b7d2566d02cec8e4812cb41a19cfe62172bf70717b2b2() + { + $this->assertTrue(true); + fn() => ($test + ($test =& $test)); + } + function test4a80e98fca19b9fd7d9741e952f938c8f4ee7f205ffa5386876f15f637b28bfa() + { + $this->assertTrue(true); + fn() => (self + $test); + } + function test4e9c96c905d3543cb144b8f06a67ee3cb8fad847ffbd58f0664e8e41aa54770c() + { + $this->assertTrue(true); + fn() => (${$test} + $test); + } + function test53b95cf4cbd00dcff409829d24cd10f26d8c65998562f8ccff15728960e63a11() + { + $this->assertTrue(true); + fn() => (($test -= $test) + $test); + } + function test5438573b5c0138b1bc608c5631d488955366f43605a2606ba97f97c678e1ced4() + { + $this->assertTrue(true); + fn() => (($test < $test) + $test); + } + function test550a39c2822f2c6e5b9ca878a4cc17825faeb35377b0795059b819cd2b547028() + { + $this->assertTrue(true); + fn() => (($test ^ $test) + $test); + } + function test56284d0a83fbaf22af43b54aa23b452527bd0b9140e5cd01bb2005ae28ecdba0() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() + $test); + } + function test5e10b6df8637cabf76721250ae83f5a8bf0950138d15795856867c7267c9f67d() + { + $this->assertTrue(true); + fn() => ((print $test) + $test); + } + function test6007e7327e317a6aacc3c44966c471787f442d06fed60b875931619b8ab3bfd0() + { + $this->assertTrue(true); + fn() => (__DIR__ + $test); + } + function test6415117ef8338153e5f494dbf764f4f177e1d35fb89481a00a510c2855ab3502() + { + $this->assertTrue(true); + fn() => (throw $test + $test); + } + function test6c7ee5fa97fae330addf01262f81742a8d58d1f7b5712c12698801e1af5d946c() + { + $this->assertTrue(true); + fn() => ((int) $test + $test); + } + function test6f1fc5af1400f90537b18235c06742cde1bd5fb0c7d90eb4d2dd0367b0767f05() + { + $this->assertTrue(true); + fn() => (($test &= $test) + $test); + } + function test705a2e80054054c42d8cd2f9035f0f115ae78777c3c517d873082b107124be86() + { + $this->assertTrue(true); + fn() => (($test xor $test) + $test); + } + function test72fdeaec3a78216ae931631d6002c09680c17d6138d70df1910ba0314c445166() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) + $test); + } + function test75c9b67e063a793e1422b9907b0d417b70b172bccc384e7ba36ce51b46c630b7() + { + $this->assertTrue(true); + fn() => (__LINE__ + $test); + } + function test76039e34d942590c86a8b4bc63680c090943d1806773a9b08c596450dfad9208() + { + $this->assertTrue(true); + fn() => ((array) $test + $test); + } + function test7703a9a1790631838326b31b5388ce99ae5ac73ffd587710c93d7be475b8688e() + { + $this->assertTrue(true); + fn() => ('test' + $test); + } + function test77c8d4b97c1ce309b71d066c1b74d006eb70b011bfb64f24b34db7bfca8ac5a2() + { + $this->assertTrue(true); + fn() => (($test >= $test) + $test); + } + function test7a8ca7df4f440f38b1bdb6cf4b365b45b222bf48eb88d3090c45effd7cc249c3() + { + $this->assertTrue(true); + fn() => (($test ?? $test) + $test); + } + function test7d7acdfd13b209cfc8d5a7826b6519a12971a0f7c5aff829a6a9e70fe4914ed6() + { + $this->assertTrue(true); + fn() => ($test + []); + } + function test81f0776706a787290dd8df4c82d443070d2e7127c7e2850a4e1230e2b685a4e4() + { + $this->assertTrue(true); + fn() => (__FILE__ + $test); + } + function test82362d228eaf7e0a5d3e123ce86941eaa26c45c09f992e1dd111bf128690d79c() + { + $this->assertTrue(true); + fn() => (-$test + $test); + } + function test892bd2755d01119878ab340d8565093b69a51d78107fd25fc90ef0fd9594d127() + { + $this->assertTrue(true); + fn() => ($test instanceof $test + $test); + } + function test8c99e16f99fc8e5be0e03321e2ddc0e797a75cc6c39b1fe5dd025d0842c7d4ef() + { + $this->assertTrue(true); + fn() => (($test ??= $test) + $test); + } + function test8c9ae7db43b0723cec1bc08300268aa30c73cdc4c8ca7eef85dda29b3607d977() + { + $this->assertTrue(true); + fn() => (($test != $test) + $test); + } + function test8f025c99a4a5cd938e02772f86a7758da30be89c074db5d09120b1e913c2ff6c() + { + $this->assertTrue(true); + fn() => ($test::$test() + $test); + } + function test92a31c35085b38d1d2637cf4b4fe95423384254831f192fffe07adb455cd7d0e() + { + $this->assertTrue(true); + fn() => (isset($test) + $test); + } + function test938bcf604d1184ba29a15e7725cadb0de8648d6c39d2e8a8b0a6e6a937e0c6eb() + { + $this->assertTrue(true); + fn() => (($test & $test) + $test); + } + function test957402157de98eb4a38d8fb3e427643e44f3b8a62efcb816f7ad4a979c969553() + { + $this->assertTrue(true); + fn() => ($test * $test + $test); + } + function test96886d79186c845a9708196401ef6d206474302d6a00bf31f5a38af5a3ad0461() + { + $this->assertTrue(true); + fn() => (__CLASS__ + $test); + } + function test992a15f1c6085fd45bec09f64d0215f06681fd817b8b8074ea597c5666b2c9c1() + { + $this->assertTrue(true); + fn() => (($test %= $test) + $test); + } + function test99b605ea48925f370c503c0da16ab327e5e476c58113eb9049ee37098ea152f1() + { + $this->assertTrue(true); + fn() => ($test++ + $test); + } + function test9cf641ef30a9cc8a1ef7e580cd8c17c2bcb28073811eaf60c48c4d6cabef538d() + { + $this->assertTrue(true); + fn() => (($test and $test) + $test); + } + function test9df0561fb345644a9878d097dd8ca3d9d8105ec1281a082ee14377b8e3d451a0() + { + $this->assertTrue(true); + fn() => (($test >> $test) + $test); + } + function testa115d0f547a0bc61b964f875eb4e2db87b9e6b0736ab553e2002e45eba80d462() + { + $this->assertTrue(true); + fn() => (($test **= $test) + $test); + } + function testa614d4987917d6854c12880df43a4d315875f4242e442fe10f427af4373f8a2b() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) + $test); + } + function testa6e798c714db6f24e84e135444859f18a7ba0d40d1bd81f24433a3f04d5be30a() + { + $this->assertTrue(true); + fn() => (match ($test) { + } + $test); + } + function testa756bcf5082a04d529577bde959edf9576e8d893e1a9095dd3e3b64a1c78b166() + { + $this->assertTrue(true); + fn() => (($test <= $test) + $test); + } + function testa79fd1aeb5f684540d784c60d284ad0ca7f208612f03e739be6ebdcf681359b4() + { + $this->assertTrue(true); + fn() => (($test += $test) + $test); + } + function testaf226535155db6ef1ac0bc7698365bd47549b4e760c3da3e931a4dc67eeb2e1c() + { + $this->assertTrue(true); + fn() => ($test::$test + $test); + } + function testaf333ac7d6d6360719485949f96b40c8ef4456e3c822e876db3d2fd417793293() + { + $this->assertTrue(true); + fn() => (($test === $test) + $test); + } + function testb216afa0b6f23b232b10e3d2df8a9a1a3633139f99ff4a97b893c8ca82ea6f8b() + { + $this->assertTrue(true); + fn() => ($test() + $test); + } + function testb3b2cbd1ce8dcd1bbd129cfe4fbeafd43cde7c4d45248c4de6bcbd24a3103869() + { + $this->assertTrue(true); + fn() => (( $test) + $test); + } + function testb69abd7bb80ef8b7121017cbe3ba382a71cbebe57f91661821146075eadee88f() + { + $this->assertTrue(true); + fn() => ($test % $test + $test); + } + function testbfedeb9ae336a81541ed5b3e0e6a3367035130978d8d98ca6e8d7616dfa5c435() + { + $this->assertTrue(true); + fn() => (new $test() + $test); + } + function testc34289a55188cc3b699f9496f84fddc3305aafbeb0baf80ee11ab3dfa57a4f47() + { + $this->assertTrue(true); + fn() => ($test + $test[$test]); + } + function testc4a3efd46d304c531a2296377eb314bee3cff843eea564d73814480089074e3f() + { + $this->assertTrue(true); + fn() => (($test /= $test) + $test); + } + function testc85da18c90039c266c7c7014222966474c85ea37753eca785f33837ff1813db5() + { + $this->assertTrue(true); + fn() => ($test + ~$test); + } + function testc8bffbe7ac1bb38c041dd93f6db45a1cf3efd8f67981b9a2778ed2382a6f7772() + { + $this->assertTrue(true); + fn() => (($test || $test) + $test); + } + function testcb3419d563f01d356a17a5d549b754ad8a61dc6239b2acf3cfd0f9a37a7d0ee4() + { + $this->assertTrue(true); + fn() => (__METHOD__ + $test); + } + function testd465b1485e71d84024850c0ffca3d4e41aa3ee44c10be3d48ba1e4526fb6e164() + { + $this->assertTrue(true); + fn() => (++$test + $test); + } + function testd95ac3343d056c6527983c57e800bab559ff9aca70f6dc6218de825457dd083f() + { + $this->assertTrue(true); + fn() => (0 + $test); + } + function testda847ea9822f96b1df3184a497a9c1e0085ba3c39856b9df99956f872f374c27() + { + $this->assertTrue(true); + fn() => ($test + $test); + } + function testdbacf350b5b2f018586a0e4f8d8e41399ba393a731c15fd26cddf66a04bbd5cf() + { + $this->assertTrue(true); + fn() => ($test-- + $test); + } + function testdd143fa8d5c836fc0cb42372311a9ee834363bbfa1e62d647029c88ae51f823a() + { + $this->assertTrue(true); + fn() => (($test ^= $test) + $test); + } + function testdec043dd0a654b64a14126153603715608a1bb3450c95f98d1e52b5d6f228ade() + { + $this->assertTrue(true); + fn() => (eval($test) + $test); + } + function teste0ba6fa5d55397c548a191b9c8e79c1444952a67749d6c15924c595f0100cfeb() + { + $this->assertTrue(true); + fn() => (($test !== $test) + $test); + } + function teste20475a4ae5838ac2ae7c6b08aa7c33ac0994c50f1a0a92ef8e11dcb9284a277() + { + $this->assertTrue(true); + fn() => ($test?->{$test} + $test); + } + function teste23dd604d9f078be95d955fda81ade8714dc483dbe471546357ceb0be138d5f0() + { + $this->assertTrue(true); + fn() => (($test && $test) + $test); + } + function teste4ef2d67fb10ddd727ab06f90f39b1e8206bd387a5c8f597afa6b1497b30269e() + { + $this->assertTrue(true); + fn() => ($test->{$test} + $test); + } + function teste61536ee68b208d76b33f4046499709dcadc402acc57ef6aceda5d355481b938() + { + $this->assertTrue(true); + fn() => (($test |= $test) + $test); + } + function teste67c1345467519887a420359c3de979dd8e1b5872582b356a6d7be6f4db099aa() + { + $this->assertTrue(true); + fn() => (0.0 + $test); + } + function teste69ece8c7330d6267101998c081b2b807b4c30c3a93367848d17bea034989147() + { + $this->assertTrue(true); + fn() => (($test .= $test) + $test); + } + function teste7429093cf8799180c2b2517fb26c78ee8c2302238b12434099f0063324f52c5() + { + $this->assertTrue(true); + fn() => ((object) $test + $test); + } + function testee0ee1eb2db13f6b18e6d7e8cdb403cf201bba34cabf70682cacfbcfdb22d7f5() + { + $this->assertTrue(true); + fn() => ($test + $test + $test); + } + function testeee1406f9271eb3a79dd944abc67174d1f5bcfac6c46f83bf6a292aed6c52e9d() + { + $this->assertTrue(true); + fn() => ($test + $test::$test); + } + function testf2c59606fa388fe9a7a1cb205a2b863f8d2052cd45ad249d655ff5e9a3b375c4() + { + $this->assertTrue(true); + fn() => ($test . $test + $test); + } + function testf6165659ebf928d812f8dcfb71b647c08197e8242afd1ab668de14d27e05176f() + { + $this->assertTrue(true); + fn() => (empty($test) + $test); + } + function testfa0574a2aa300b56237290f0d9681b1c97c63ec5243ac57ffa8d6f1cea563e45() + { + $this->assertTrue(true); + fn() => (($test == $test) + $test); + } + function testfd1dee68ac146125d9a50130ad86b29f0017467ad1f54d2eec297875b1c08220() + { + $this->assertTrue(true); + fn() => (($test or $test) + $test); + } + function testfdf1929fc5a10a44ec28619e7a19e886b69ea2134522309c8a91f5da51d1df93() + { + $this->assertTrue(true); + fn() => ($test - $test + $test); + } + function testffcca8070c06fd3b304bfbf39433dc80490429f90214947cc7fb465233a5f3af() + { + $this->assertTrue(true); + fn() => ($test->{$test}() + $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest.php b/testsGenerated/Target/Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest.php new file mode 100644 index 000000000..115d9e1f9 --- /dev/null +++ b/testsGenerated/Target/Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression7b9c8f19c15b4ac22ac1e766f2894117fb5d1a46d786482d2357f05fb7bb341cTest extends TestCase +{ + function test01a94d9136d46bcb5563529101eaa716a03188ee784b2be88062b2ec5683ed16() + { + $this->assertTrue(true); + fn() => (print __NAMESPACE__); + } + function test0376610399e4a41f4172ccc72ab8db5801822c1e3483e536ba9efe752d04c163() + { + $this->assertTrue(true); + fn() => (print (double) $test); + } + function test065b3da442c8d7eb01418ce35ce061ebb2257d7956962c725d0e0be12b72d4fe() + { + $this->assertTrue(true); + fn() => ($test = $test)->{$test}; + } + function test081ffb09496b48ceb54f326a5b9c9f60413322800ce1d54aece48c5bab9c03b9() + { + $this->assertTrue(true); + fn() => (print $test <=> $test); + } + function test11d1bf19b52547576ce913294a091a37137a6a67e9c9b9de19fa67d7e11eb932() + { + $this->assertTrue(true); + fn() => (print $test *= $test); + } + function test12551a2bbe97e886d87a306684b194ab65ea06bf9760642714debdd6fa22e5b3() + { + $this->assertTrue(true); + fn() => self->{$test}; + } + function test16bb78d23ed009e8ce504a66c3f95a1230ad44c2d6322c97b926476cce140791() + { + $this->assertTrue(true); + fn() => (print $test | $test); + } + function test170b51f0d3a2b22dc19d8b5058f096a006e248922cac743f382f21dc6193e037() + { + $this->assertTrue(true); + fn() => (print +$test); + } + function test1ccaf1a18e7f4f4736433406f136c5dff2b3de5bc4da23f657c75ba6285ea2fb() + { + $this->assertTrue(true); + fn() => (~$test)->{$test}; + } + function test1f475929d475decd61d72f77876f4e59fb97d24159c42923b2c16507263aae2b() + { + $this->assertTrue(true); + fn() => (print $test ** $test); + } + function test226f76c26b9f9b7b34294ceef34b818a9d239d7563e524bf313f36503cda913e() + { + $this->assertTrue(true); + fn() => (print $test -= $test); + } + function test2439c2df713a688159e59cae2b6715ba0affa4145f04890fa297868dc433e42a() + { + $this->assertTrue(true); + fn() => (print (object) $test); + } + function test24578de0dacb248370b7191c10c781e257ca21be8b22d60fb2a63dcdfd792405() + { + $this->assertTrue(true); + fn() => (print $test && $test); + } + function test257959183c961ffff95a4ab5d3670ab016b0841fb8597a1c31bcd980f1a92d45() + { + $this->assertTrue(true); + fn() => (print ${$test}); + } + function test29a11c37a52476d60ff658321a0611c4f2f44712a59720fb47cf1c40e90584ea() + { + $this->assertTrue(true); + fn() => (print ($test and $test)); + } + function test2b6f5b2fa883bc30e3753858b51d0f5fa50137f77a378b604e887698ea995024() + { + $this->assertTrue(true); + fn() => (print (string) $test); + } + function test2d0f461834370eb8b698a0bf6f4b1086e999e784d3dff99fcd3e1e6d7d4f95ab() + { + $this->assertTrue(true); + fn() => (print $test ?? $test); + } + function test2d383e3f02bae996d7098f9680d9070734f0992b4278b8f90fdd7b5b1e8ffd42() + { + $this->assertTrue(true); + fn() => (print (int) $test); + } + function test3491dfca90ce5f7e26dd3dcd8c35db757abb475b5757a7b58ac8c8bc2dc4d999() + { + $this->assertTrue(true); + fn() => (empty($test))->{$test}; + } + function test34ee7f8d8ec66240ea1b599d44615e2a1b9dc2044a91668b689ef3806139d9ca() + { + $this->assertTrue(true); + fn() => (isset(( $test)->{$test})); + } + function test3583cb4d08f3ef5923fe20c81f6e6c341e0bf0117a560abd9fc8f2269a464d05() + { + $this->assertTrue(true); + fn() => (print 0); + } + function test36567a2c2716ef34c591c479b096b606f593ef90ee2ed5c7815fd49d08245def() + { + $this->assertTrue(true); + fn() => (print $test ? $test : $test); + } + function test385f0756148b76303b20a10706b076a5f2e60abab2dd876a263eea6579e05415() + { + $this->assertTrue(true); + fn() => (print $test %= $test); + } + function test42c2c56c4079ecad8af97b0bef19771919a7d625e49c4618cd8e8ff183c449c1() + { + $this->assertTrue(true); + fn() => $test::$test->{$test}; + } + function test42e869432f15c0fd3cc668e46546f8ba5283f38e57ac9f3122095fd8375246c5() + { + $this->assertTrue(true); + fn() => (print $test->{$test}); + } + function test4598a2812cc1505c075bd93c3ae1fc3e3f295cbca5fcd03b4fa3a7877772e064() + { + $this->assertTrue(true); + fn() => (print 'test'); + } + function test49987712118fa82ee4151952be22d474b3c255f8a28c143efc3ac9ac7acbf2bd() + { + $this->assertTrue(true); + fn() => (print $test::$test()); + } + function test49d2b967618a4644782275513394e25ca6e402de9cc6b7d00e8e7f5572171d7c() + { + $this->assertTrue(true); + fn() => (print $test /= $test); + } + function test4aa5bd5edadaadaa3073f2fff39c202bef6366c1add903262e0d4f67aaad9fcb() + { + $this->assertTrue(true); + fn() => (print $test **= $test); + } + function test4b449f19a271f7e505d874b1520137ef62df7af38b524bfd9035e269f3043b27() + { + $this->assertTrue(true); + fn() => (print $test |= $test); + } + function test4c2dbc3dc17de75c8c3696385cf1b62b52fe199026f9bf72f885558de99fa458() + { + $this->assertTrue(true); + fn() => (print $test <<= $test); + } + function test658569709de9c8fcb2e9ba0be73550f220a48144cc72bb6a556bf5b1dedbb8d5() + { + $this->assertTrue(true); + fn() => (print $test != $test); + } + function test66a9f661ff921819a6792f4bef831b288e7bd540655badef98b242596515da96() + { + $this->assertTrue(true); + fn() => (print (yield $test => $test)); + } + function test686d044bf6a59cee3a8790e0f73246b8776554cfa21619dd57004e14b22d0b21() + { + $this->assertTrue(true); + fn() => (isset((@$test)->{$test})); + } + function test69f92bf10e27c05f347fc3412933734b225a3f9f83e6186299b9d61c712b639d() + { + $this->assertTrue(true); + fn() => (function () { + })->{$test}; + } + function test6d89d945d66cde280ac77024a89a88ebed8819bf1dbae76431839db003b553df() + { + $this->assertTrue(true); + fn() => (clone $test)->{$test}; + } + function test70b7bf8ee4315368e4468faf1e97a56a6b401a45a9ba99180bed80c978bbcdc4() + { + $this->assertTrue(true); + fn() => ($test =& $test)->{$test}; + } + function test73d7ef4b4c93a34a6441d956af1bcc10d9fddfef31e1c660780bede54e0a3d46() + { + $this->assertTrue(true); + fn() => (print $test || $test); + } + function test7c05d001e85a81f2e374219189fe5c378100ed93f942825e625781bc877c5a01() + { + $this->assertTrue(true); + fn() => (print __FILE__); + } + function test7f1fc142064a4ca8321987462644dad882377c5a4d1d6d71ab77e0c7aff10484() + { + $this->assertTrue(true); + fn() => (isset(self->{$test})); + } + function test800726d5e5fbd4b743718d451e8a81c44d350338e08d3156e73195fb5c30dee2() + { + $this->assertTrue(true); + fn() => (print $test ^= $test); + } + function test82075a25e7d1cf94995369b7eec38ed6c849ac0f52b0a510d6345ed4f35e58cc() + { + $this->assertTrue(true); + fn() => (print $test < $test); + } + function test831f42e4db1bf64343d48416cbca49a62c733cb1a11bdf46d236d56354d31732() + { + $this->assertTrue(true); + fn() => (print (bool) $test); + } + function test841a98ddf90b137709f7478c0cd675b946a985c0e61c3f4afadbfee05ae0bbb3() + { + $this->assertTrue(true); + fn() => (eval($test))->{$test}; + } + function test866d0cf37971f282774ad95d338d6f3bce8e8e359e399c0b2d4d519b0d1d6787() + { + $this->assertTrue(true); + fn() => (print ($test or $test)); + } + function test8a058c06627f7f4672486afd32db770363f2595012fee32d0c44d9e16c72a434() + { + $this->assertTrue(true); + fn() => (!$test)->{$test}; + } + function test8bdaa22ec95a751ba9ea82b6c60a2e03dba6df68e17f5d16237c5b956cfdbc05() + { + $this->assertTrue(true); + fn() => $test()->{$test}; + } + function test8de8c1f6297adbfebdddf50e87f2a9f0bd62bf77e5f086241ed3a3217f48ad35() + { + $this->assertTrue(true); + fn() => (print throw $test); + } + function test95b321e39aee937f8c32dfb45225b340cda064075944d8df9fd31e07ec2cd433() + { + $this->assertTrue(true); + fn() => (print ($test xor $test)); + } + function test9ac37c10f1065618dce4ba938da8ec629021e055ce3fb6fd48d427eee680d284() + { + $this->assertTrue(true); + fn() => (print $test >>= $test); + } + function test9c0b801b95c656f063afddd20d1c1d2e8786e9300965c08b53295ad95f25ef21() + { + $this->assertTrue(true); + fn() => (isset($test()->{$test})); + } + function test9cb308df5f4a4a2808a47a324575111860abc2465800446ff01f9cf44663d9c7() + { + $this->assertTrue(true); + fn() => (print -$test); + } + function testa02d26342b1df99350044134a90fcc9235c9a9066b1b32d5b03df097048ae95a() + { + $this->assertTrue(true); + fn() => (print $test .= $test); + } + function testa05c207d9a337268f902aa2a9661c8177c1e984cac0616b2100839b410f5af57() + { + $this->assertTrue(true); + fn() => (isset(($test =& $test)->{$test})); + } + function testa3b63a30308a7fb8a4424f3474020900dccfc91c317705d04ba40769b59afaef() + { + $this->assertTrue(true); + fn() => (print __DIR__); + } + function testa664e19f333ed8b801a551b9031e943c4cdaacd6b8a30209451ac627c9247429() + { + $this->assertTrue(true); + fn() => ( $test)->{$test}; + } + function testaaf9b1bf7c9ec9f4107816ec25b8a72049401892f2b562c58a1475acb153e87b() + { + $this->assertTrue(true); + fn() => (isset($test[$test]->{$test})); + } + function testaefc46dd276662a92ad2f9afbddace5f57554737212a5640614d25ff0a6c21fc() + { + $this->assertTrue(true); + fn() => (print __FUNCTION__); + } + function testb17baadfa2962820368aeb8ab74013779b90fbaeb471d60b32a67f3e199255d6() + { + $this->assertTrue(true); + fn() => (print __TRAIT__); + } + function testb5db4c762d9c6e96fe9b368d314b507a40772c6a10c8d71eec217b623a427299() + { + $this->assertTrue(true); + fn() => (print $test * $test); + } + function testb62fa922b0a4e22ea43646ef304cb6937873257657bc64ce94c569a2e0cc9e20() + { + $this->assertTrue(true); + fn() => $test[$test]->{$test}; + } + function testb8dc738b6e9eba41ab0cb3d1d32e26e0b449963dbd733d504ca82bd1ae2254cd() + { + $this->assertTrue(true); + fn() => (print $test <= $test); + } + function testb9a143cabb1a58cffc000e80eb78d0b2ee661e944b4c6d42a3d86f55ea741c3c() + { + $this->assertTrue(true); + fn() => (print $test == $test); + } + function testb9e6c94f7b849d94de40636d974201407c12da782fa9bd1ef2c79195932bd811() + { + $this->assertTrue(true); + fn() => ($test)->{$test}; + } + function testc0d5f6db02348da1983b833fd73443f31950771d0411af8104b8b61da780fb17() + { + $this->assertTrue(true); + fn() => (print $test & $test); + } + function testc139d3edafb1d35c4000bce3d96b9e7e4d8030f129ffed13a76758a3f120c72f() + { + $this->assertTrue(true); + fn() => (print $test::${$test}); + } + function testc20eaecbb240702ec7ede83ebb3b8fdd3cc0604805741590de4e0b7448f754e9() + { + $this->assertTrue(true); + fn() => (isset((function () { + })->{$test})); + } + function testc24a8f07bf32cc876abc0fc958c81869d70ded25860e7fdfb0ac3506f3258331() + { + $this->assertTrue(true); + fn() => (print $test > $test); + } + function testc4cb7eafe0ddca4c0a62815223f48efcb9b428c500355359b3cfe82b4316451c() + { + $this->assertTrue(true); + fn() => (print $test + $test); + } + function testc7cd3eecff6ac25bd14b95aa141bba7147efdc51c24f82de7d017a3815593dd1() + { + $this->assertTrue(true); + fn() => (print $test >= $test); + } + function testc7fdc096904ff494f9ab3f480c67530594ade191178da688d87741224bd7dffa() + { + $this->assertTrue(true); + fn() => (isset((~$test)->{$test})); + } + function testc839c6e0fbe9c310626b5600a1b453f817f365b909f8f0687db3e4a552237449() + { + $this->assertTrue(true); + fn() => (print (array) $test); + } + function testc90cb081c4340e45689759a849b6be8d4ef8915c05b1b657fe2ec6f9c034170d() + { + $this->assertTrue(true); + fn() => (isset((empty($test))->{$test})); + } + function testca67a819f5d403ae0f6e9504cfab01b905317d54448aee3185ee23f18cb5e81f() + { + $this->assertTrue(true); + fn() => (print $test % $test); + } + function testcd1febddb1367d3a6af2dcb79ad411cd29058550c1aa17d1d995a4267ee092da() + { + $this->assertTrue(true); + fn() => (print $test ^ $test); + } + function testce3f7bd7e91c5ec7d4aedccae60b552f27ba1201555eb7aafcefa58415762da0() + { + $this->assertTrue(true); + fn() => (print yield from $test); + } + function testcee1d4e36c97fba6e2d9acef38328a9781c08cd470951b1de5c8dbe3dad8452e() + { + $this->assertTrue(true); + fn() => (print $test >> $test); + } + function testd01a9d82654941f511b7c80bb9ed362cb109001e61a3c59c246f5021033afcf6() + { + $this->assertTrue(true); + fn() => (print __CLASS__); + } + function testd28b03b14ea54503d3dc35603800f0f56599e04288def9def92dc99ab2be499d() + { + $this->assertTrue(true); + fn() => (print $test . $test); + } + function testd3f035e0147e2f5763da7b7e8570351cf66298ead4e28b568993f87c59370847() + { + $this->assertTrue(true); + fn() => (isset($test::$test->{$test})); + } + function testd63704f21d6951fb6d7dfaa90d50fad60c314578cf637598b29497db42a01482() + { + $this->assertTrue(true); + fn() => (print __METHOD__); + } + function testdce9facb982244e7a98736e596c566bda3badd94e5ccddb65174f7ba85d077ec() + { + $this->assertTrue(true); + fn() => (print ``); + } + function teste1fe28904c520992ab2de9ada9dcf279017a182ee836e6d1db2f96bbb951f62d() + { + $this->assertTrue(true); + fn() => (print 0.0); + } + function teste49fd517bc0bcc4ee3052efcd11451fc95871ccc408cd12fe2f4615a53bf8cec() + { + $this->assertTrue(true); + fn() => (print $test - $test); + } + function teste8b4d872152384a2547f9b559165f9618f924fe66175995c87d62c2e14ce5773() + { + $this->assertTrue(true); + fn() => (isset(($test = $test)->{$test})); + } + function testea406a4a86191f15f7a8ce9ded56bc5ddc9c8ac1a7fd3ad804ccbd6cdf59386a() + { + $this->assertTrue(true); + fn() => (print $test / $test); + } + function testecd51c8f8e84b3198e0dab205e8c585e3a84effe33a827058257522057b445ad() + { + $this->assertTrue(true); + fn() => (isset((!$test)->{$test})); + } + function tested1b755ec8e6a52aa5d4693c8a53407928812947cd3b88d9157fc8bde4f15343() + { + $this->assertTrue(true); + fn() => (print $test !== $test); + } + function tested322d1132fd3dfd430332342a8fb8bb78d77fa1a51272ef630f248c832ccc90() + { + $this->assertTrue(true); + fn() => (print "{$test}"); + } + function testee12813e0a30a39889c0b6325b8a63e3c757062126b2b11f03c1d8193aee77b0() + { + $this->assertTrue(true); + fn() => (print $test &= $test); + } + function testee70468d6477e666e4bd90e2b2994a4a4ceb67b09a9b5e34bfb5fa71ecba84ae() + { + $this->assertTrue(true); + fn() => ($test instanceof $test)->{$test}; + } + function testeecc81fef11c37c909e97292e10184fe8764eb548173a7ae408a5d89f3bed02f() + { + $this->assertTrue(true); + fn() => (print __LINE__); + } + function testeee4438310b8ccb97ce0125759a86f8ee89ca76d805a89fb9d2e4bc9efb29028() + { + $this->assertTrue(true); + fn() => (print $test << $test); + } + function testef4d3391104b000dbbe80dede19180f5c4d93db0d97a9439a1cc736ecd74393c() + { + $this->assertTrue(true); + fn() => (isset((clone $test)->{$test})); + } + function testf2cc83a9be7c6f38b37f0ef09b749bdbb32e5a2932e2086e32e62790c1535480() + { + $this->assertTrue(true); + fn() => (isset(($test)->{$test})); + } + function testf866069dec64088964fd4792b061571ddf03c6010d40bc454a0096706eec5010() + { + $this->assertTrue(true); + fn() => (print $test ??= $test); + } + function testf8e61c013846b02938c8901eaa4249115acd4ccedf0c07342d118b968413bbae() + { + $this->assertTrue(true); + fn() => (@$test)->{$test}; + } + function testfa1fcacbf50b835736084d36aa10037905a15041db4f256c0c3aee1fee595630() + { + $this->assertTrue(true); + fn() => (print $test === $test); + } + function testfc0cf2d2b063030c8e5159acd4e1316f724f2ac53c4a69e1a62059508a087e22() + { + $this->assertTrue(true); + fn() => (isset((eval($test))->{$test})); + } + function testfd186cd10966e515edab0182d58f1a1723f07227207f46d6dc4253b3a8051894() + { + $this->assertTrue(true); + fn() => (print $test += $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test.php b/testsGenerated/Target/Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test.php new file mode 100644 index 000000000..654fb919a --- /dev/null +++ b/testsGenerated/Target/Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test.php @@ -0,0 +1,515 @@ + + * @license MIT + */ +class Expression7bf6f52bc8fe35d0f164a0e1470e8e96772e5b2acc8de38f3ce3d2fc85020c39Test extends TestCase +{ + function test01e80e9aaaecdb90137c9fe93bd02332912b17ec92396de41b4b9f5f15d5efde() + { + $this->assertTrue(true); + fn() => (yield from (bool) $test); + } + function test073cb4595d32acaef85286ef02d037fec5702edab97b8d2505025b7028b20881() + { + $this->assertTrue(true); + fn() => (yield from empty($test)); + } + function test083f4228bcaddbe828d5c2a1f0e355230a0d0ff8ff22af3222a6b5506d242411() + { + $this->assertTrue(true); + fn() => (yield from eval($test)); + } + function test0c2615993a069c679ac1938043fafbe4e41014c1037785917efd1b8d1987be9e() + { + $this->assertTrue(true); + fn() => (yield from $test instanceof $test); + } + function test10751b76834e7aff9a4165cda7c815e1d748b88db1565963b4f00ea4448fb178() + { + $this->assertTrue(true); + fn() => (yield from $test()); + } + function test123bf0853eeb307b95368eb2f47e1c5004c816dccb217c5cef835b1ed5400777() + { + $this->assertTrue(true); + fn() => (yield); + } + function test17d00d53be67998c1e596dd0fcf3eb25528835124399cf60c416d3445017d4c4() + { + $this->assertTrue(true); + fn() => (yield from $test *= $test); + } + function test1a138e01d1f2b8dc334b421a07c12d40faf47795878e3061eb02f3cabd216484() + { + $this->assertTrue(true); + fn() => (yield from $test >= $test); + } + function test21db9f47eed0b3686d91e52b70221368df10dfae158a00b4c251cbad0f8d3a14() + { + $this->assertTrue(true); + fn() => (yield from ++$test); + } + function test22a5ed99e24d2355d31bba3aadee5c1f465130c941d8f385d4cc9ebc0db3ef00() + { + $this->assertTrue(true); + fn() => (yield from $test->{$test}); + } + function test24c1ec01dbc0a96b155eddb28d38dab425cb7f5bd22714b8c141aa9df866d44c() + { + $this->assertTrue(true); + fn() => ((yield $test => $test::$test)); + } + function test2a04a86cdb912af7eda10d7041edf0372423c12297318b8e21d9705a34a7f596() + { + $this->assertTrue(true); + fn() => (yield from ( $test)); + } + function test2bd56f7c7ff7ac554e9f36756ca269dbe971055b99eff217050396293fa7b99d() + { + $this->assertTrue(true); + fn() => ((yield $test => !$test)); + } + function test2c2b1d213bb797e75c7ba7989175e52f208214a4e1bd48505387d9a1efc1f62d() + { + $this->assertTrue(true); + fn() => (yield from $test::${$test}); + } + function test2ef34e06a46e6d2f13a3fa4d3b61629e65831ed6bd03ec847da96530b4c10e57() + { + $this->assertTrue(true); + fn() => (yield from $test < $test); + } + function test305f63b87e00bc70f04e355120af36dc80dfb5ac9a29b07141ef33bfe72e4cd1() + { + $this->assertTrue(true); + fn() => (yield from clone $test); + } + function test346644b0d6380e9884fca878548fee239bdcb0b7a3c37a81a40bbb16d5589b91() + { + $this->assertTrue(true); + fn() => (yield from $test && $test); + } + function test398fa1e3ceee5db18ab7232a779e110b87fcd88b977ba06547e8a7a36322248e() + { + $this->assertTrue(true); + fn() => (yield from $test > $test); + } + function test3aab4982ffd151ae525bb7107f5973426806c9d9d3ac00ced1e811a32319ad2f() + { + $this->assertTrue(true); + fn() => (yield from $test **= $test); + } + function test3b93a0b84217e16e396e90c677f4414cae78645e35555d550914b4b4fc0214e8() + { + $this->assertTrue(true); + fn() => (yield from $test >> $test); + } + function test3d2908b85b5a14154c8ed0e3b3740c4bd4854575fb3d15fcbabd00b5be709cde() + { + $this->assertTrue(true); + fn() => (yield from $test ^ $test); + } + function test3d5cf32703d0f0417e9e0d8b5e6b855a4d010c58731fb4bedd3927a8693a447b() + { + $this->assertTrue(true); + fn() => (yield from ($test or $test)); + } + function test3e7a53330ef93ce6fa1d2f6fdb27c22c921ca2a2928ba24ecefc0600b3374173() + { + $this->assertTrue(true); + fn() => (yield from $test || $test); + } + function test44742d46175eb09b416999f24d48aa490239e80469d4c9d2258b5ac0c798250a() + { + $this->assertTrue(true); + fn() => (yield from $test %= $test); + } + function test460aaf89be70d59d42944b1ed33b3a4e25ee1a953c573d8bfaf17489d2d86624() + { + $this->assertTrue(true); + fn() => (yield from (string) $test); + } + function test471440835fde034f3760f09f872ff435443a6c6d0a7ef030be3f33f1126b40a8() + { + $this->assertTrue(true); + fn() => (yield from function () { + }); + } + function test488705dd6cbc575e169def8b54ac81ff15ebccc03abc8888f5970571a6c76ad7() + { + $this->assertTrue(true); + fn() => (yield from $test += $test); + } + function test494cc51105f6831e5aeaeace8f93a1942c1a976679cddb074e0513bd5e1fa610() + { + $this->assertTrue(true); + fn() => (yield from $test == $test); + } + function test4c0b7a330fc1b6dc06f55ee3446af53bb2d5d00c05f276752e12d6aa815976cb() + { + $this->assertTrue(true); + fn() => (yield from $test ^= $test); + } + function test5324cc6a137b301a46a743c341d3cc00fb9a65e06bb401359f4be2e6f9661ab5() + { + $this->assertTrue(true); + fn() => (yield from $test::$test()); + } + function test5693c669fb91683f4675256073e0510abedb979767a5fd9d2e630436414eb784() + { + $this->assertTrue(true); + fn() => (yield from $test <<= $test); + } + function test56e2f2d4739a48a2a83346b0f2052edceeccbf4999b958974bfa208c170fd4b1() + { + $this->assertTrue(true); + fn() => (yield from $test != $test); + } + function test578621ad1c2870fac596f37fe2703d5e5cfe1aa0ded4165faeeb700384d98df1() + { + $this->assertTrue(true); + fn() => (yield from __DIR__); + } + function test5815b5fefadcbe75fe5c4c6ae5d49ce4d825b62cada58f73d5fa2e1c1cd0fd75() + { + $this->assertTrue(true); + fn() => (yield from (int) $test); + } + function test5dfa486b28ff635cc784eafb3c3159e3013ba249f05aa79dcf073cd9f82b7545() + { + $this->assertTrue(true); + fn() => (yield from match ($test) { + }); + } + function test64c7b7651dd89a00da9bc15fe553dd7d742486aa1ac324fe69923013551d093f() + { + $this->assertTrue(true); + fn() => (yield from __NAMESPACE__); + } + function test687430e7c03227719830af4ec71ddfabf3e25d64f063b823e2c21e85729eda82() + { + $this->assertTrue(true); + fn() => (yield from +$test); + } + function test6b6b8a8fd2d571c4246d6f41717d02688a614ef81d97e362d310e09f75218619() + { + $this->assertTrue(true); + fn() => (yield from new $test()); + } + function test6bdd77452901775b454a0a1ceddced3e9d446ee118f34dde740fc4116b8ab2f0() + { + $this->assertTrue(true); + fn() => (yield from $test ?? $test); + } + function test71e2795c515c77405fcb462be33951f1f8d296e1d622677ad2d72ec3d7d2d8f5() + { + $this->assertTrue(true); + fn() => (yield from 'test'); + } + function test736594e0adc51cd615e20b533445dcfe8eba38e0e6ce55fdc7f6cae8cbba773a() + { + $this->assertTrue(true); + fn() => ((yield $test => $test = $test)); + } + function test7da92429e1d3494319c61cc9a5df1fe7811a97a19d1789942923e26f0e4ffa2f() + { + $this->assertTrue(true); + fn() => (yield from ``); + } + function test804863c40cd2308f4277e77d2c361231948589042b57e7915e506125bf940e21() + { + $this->assertTrue(true); + fn() => (yield from $test |= $test); + } + function test80992a359fc4c6b9e32e3b021d34c831f767b8b7aa39f1949710c727f1f82f26() + { + $this->assertTrue(true); + fn() => (yield from __FUNCTION__); + } + function test80a2065e9d4a1a4ec815223dd9c8a51ca9f5812dfdb92d7da25700866e22bd09() + { + $this->assertTrue(true); + fn() => (yield from $test << $test); + } + function test8139de6e1052ddce28e59b5a818545dc578d48e799d01fde243f673e60f69c47() + { + $this->assertTrue(true); + fn() => (yield from $test - $test); + } + function test81b8b796eb6539cf88d9549762210e3067a85349c9a5507722923f4e46e3d19e() + { + $this->assertTrue(true); + fn() => (yield from -$test); + } + function test82b266fa7626f0f10d2616849457a1f703f9b1bc9be4d12debe9dc36c843183c() + { + $this->assertTrue(true); + fn() => (yield from $test / $test); + } + function test89e9bf782b7d91c13c5c5b9bd4941e501b4c1dbfe20f7293ece05058b235c3aa() + { + $this->assertTrue(true); + fn() => (yield from $test /= $test); + } + function test8a0456d2da3a7f40a9789a2af3324d8ef0a71439eea6565b2c2e5761ea802311() + { + $this->assertTrue(true); + fn() => (yield from $test <=> $test); + } + function test8b2375d7cd209938c74d637dab6c941582283fe378c9bdbc24ed767548dfa533() + { + $this->assertTrue(true); + fn() => (yield from $test ** $test); + } + function test93b694ec98708404b3bcdbcf8e3d1668fc16f8cd24aea65a472c0f6eb1596227() + { + $this->assertTrue(true); + fn() => (yield from --$test); + } + function test96e4f1b919aa527cad3541adb23547586d35eba99800af8fdfee922be3f34b21() + { + $this->assertTrue(true); + fn() => (yield from ${$test}); + } + function test976c3ab1369c74c84032d017a9b4e02b3582234ad7d0493576838dd5f2cc561e() + { + $this->assertTrue(true); + fn() => (yield from $test . $test); + } + function test98410e1f31c65255e2b726395ed3af75900f50c44432e944f900149f704081ea() + { + $this->assertTrue(true); + fn() => (yield from $test >>= $test); + } + function test9b45db672e8827d71e313b712bb23291460454040773b8e3fd6049d9c56da31c() + { + $this->assertTrue(true); + fn() => (yield from (print $test)); + } + function test9e2ca980f1584cf805de38b01fd68d17273f78198bcda91dfe35f2aa5e39afea() + { + $this->assertTrue(true); + fn() => (yield from $test -= $test); + } + function test9ea013ec31ccc45ac5edd2d8c94f8aef4910da2107bff7eba6beeb79bd9149c3() + { + $this->assertTrue(true); + fn() => (yield from $test === $test); + } + function test9f6594e07b902cefb3ed746aecb3e517ed6f19c98a19f32fac609eadb2c11097() + { + $this->assertTrue(true); + fn() => (yield from $test * $test); + } + function testa21f245fa9a1a17a49d75c89373848bdeec53f49a194afadd226a1e71d20c143() + { + $this->assertTrue(true); + fn() => (yield from yield from $test); + } + function testa50e19a4235258d791941a844c04ee02291136677a34de7b69757070d36092bc() + { + $this->assertTrue(true); + fn() => (yield from @$test); + } + function testa8556c1f7ade83b8d41cabbfeb57e047b82e28150353d1ffd1ba17d756b8ed03() + { + $this->assertTrue(true); + fn() => (yield from 0); + } + function testabd54435b9011716831b0ffc6b0dd36028198f5b866993684289f746ba6ecf41() + { + $this->assertTrue(true); + fn() => ((yield $test => $test[$test])); + } + function testafa47e3fd923f644365b2b0236b85a3b41217e167128e260c40158ffb330f41a() + { + $this->assertTrue(true); + fn() => (yield from (array) $test); + } + function testb1fa47b7d0cb799bde1eca34bae78ddaf4c8e8e9207572f2b16035fe11552fce() + { + $this->assertTrue(true); + fn() => (yield from $test &= $test); + } + function testb58d002020aa6c785ee6e61105e7fdffe6e611d93ab927dd6ed49325deba7526() + { + $this->assertTrue(true); + fn() => ((yield $test => function () { + })); + } + function testb7474c6e84f9b4b413d4a9d43456a0a83a9786f863bf3d4824855536c8b3b15b() + { + $this->assertTrue(true); + fn() => (yield from self); + } + function testb80e908bdb26bfd8bb750f4bc4cc90723b01f07447590b3a42ac72d13561a72b() + { + $this->assertTrue(true); + fn() => (yield from $test?->{$test}); + } + function testba8601fc6f784fda5a77200edc27ded179e2435dac043d990874767357721b0f() + { + $this->assertTrue(true); + fn() => (yield from (object) $test); + } + function testbacf15af3c79ce3389d7bc7e467fb281b8078384e940a0d096932f5cf4b425a4() + { + $this->assertTrue(true); + fn() => (yield from __FILE__); + } + function testbd25e6e82bb14ec8c3fb62159baece0fd5688b1c8ec8b21bfd3d46fe3c706645() + { + $this->assertTrue(true); + fn() => (yield from $test !== $test); + } + function testbfe0144d30d26458e91fb225ce9c6a68a162da34ff137a764582b3cd7c95cc72() + { + $this->assertTrue(true); + fn() => (yield from isset($test)); + } + function testc1041ad977736efc1e1b5d62a7d48ae8738d5d0d3a4ea15aade8691ca578f1f6() + { + $this->assertTrue(true); + fn() => (yield from throw $test); + } + function testc32e900739ee5efeb6e89842df8b9ff568b70fa66bdd7f9e4fc5b1e860e49c5d() + { + $this->assertTrue(true); + fn() => (yield from __LINE__); + } + function testc55b607682da460e318f394cf65a24d268cbc2b8cec695e48997f5f2f0b08493() + { + $this->assertTrue(true); + fn() => (yield from ($test and $test)); + } + function testc5a73c6acaa2c910bd4cdead9f233879aa41c222b4c2414327ea7acb303c6c4d() + { + $this->assertTrue(true); + fn() => (yield from __TRAIT__); + } + function testc62c8f2bf8a66273e207936131cdbfc9b7fcf4c09cb659cb94b6a860ea0a67ce() + { + $this->assertTrue(true); + fn() => (yield from $test & $test); + } + function testc9a2e22f014b694c63ec67db003cc8f7f0aeea972179b88ee5155864b9fcb155() + { + $this->assertTrue(true); + fn() => (yield from $test?->{$test}()); + } + function testcad5384a4ce5bcd812fcd132a541d4d3ab25da901d69b7f82dd6c3a66b117821() + { + $this->assertTrue(true); + fn() => (yield from ($test xor $test)); + } + function testcb732753de9a97520a49362f603ab493c91e3ed6b56190fa417cb2afc26e0480() + { + $this->assertTrue(true); + fn() => (yield from __METHOD__); + } + function testcbb5413b740a244ede80d2073e3dc8ab5ab711e4670f90187d594f71f7a67578() + { + $this->assertTrue(true); + fn() => ((yield $test => clone $test)); + } + function testccf1ea087580f964c40f8028398928a8eb28822632892a6f5c9053b352f8d482() + { + $this->assertTrue(true); + fn() => ((yield $test => [])); + } + function testcf15580ccd8393769d1b1e2abfef093c549adb657314a38e860facd7bd476d71() + { + $this->assertTrue(true); + fn() => (yield from 0.0); + } + function testd08353b5a5faa59cb8a89b9e4939336436bcc98768bf2eb508264f1b8238e4ca() + { + $this->assertTrue(true); + fn() => ((yield $test => ~$test)); + } + function testd1e154af637730cc9203e5c673f46f47eac2996eb9b6d926988dd19ba1e66b9d() + { + $this->assertTrue(true); + fn() => (yield from "{$test}"); + } + function testd465188d936c096ea6d1b560eaefa0b8886b1476c14e78ff8e0d7347ee42da06() + { + $this->assertTrue(true); + fn() => (yield from $test ? $test : $test); + } + function testd5b028b7b5ccceea0d226ba461f2a46649c5fe0e9d6954457e9e7a6721fb2bba() + { + $this->assertTrue(true); + fn() => (yield from __CLASS__); + } + function testd9d0a01210baa1608eceae75e5a7b13bb7ce7eb28e8bdebdc9ba04d21eea3769() + { + $this->assertTrue(true); + fn() => ((yield $test => $test =& $test)); + } + function testdbcb238d486320dae683793e9a687dd47a96cebdd0ef51e3953abe69aa5df6cc() + { + $this->assertTrue(true); + fn() => (yield from $test ??= $test); + } + function testdd274755b152d4fd34be63730c624b01a50b3950c024c504ef58cad284d67b3e() + { + $this->assertTrue(true); + fn() => (yield from $test | $test); + } + function testdd8f54fad0294dcd95f7d362dca7bd90d9877653b715f70cbb830b9e116d406f() + { + $this->assertTrue(true); + fn() => (yield from $test % $test); + } + function teste2deb71de3f33960d511646d62f15c479187dfedf85be0d4aecf59741469d29f() + { + $this->assertTrue(true); + fn() => (yield from $test->{$test}()); + } + function teste833bb69497ea97d675202d3b517a95c68e324b30d650b8cc651c6d12205b853() + { + $this->assertTrue(true); + fn() => (yield from $test--); + } + function testef95f93fbed7ade97401de203142786a207490dac937e84eaaccd9d79f47b8e2() + { + $this->assertTrue(true); + fn() => (yield from $test++); + } + function testefa9a07040bce5b39a050dcc6f78c9170d78f8818883e1ef8c294121c8546856() + { + $this->assertTrue(true); + fn() => (yield from $test); + } + function testf2ef48048e80ea0f87d6b324a461b5f258444a8329ce931ce4e1ff900e530fba() + { + $this->assertTrue(true); + fn() => (yield from $test <= $test); + } + function testf343dc082388229593d245c60d5683ac76dc9fe01d1c3dd712de6dffa164084b() + { + $this->assertTrue(true); + fn() => (yield from (yield $test => $test)); + } + function testf5ac7acaa9ebe1ba9b3151e6e7d88408da71eeab0366fe7197c6473e686dea54() + { + $this->assertTrue(true); + fn() => (yield from $test .= $test); + } + function testf8cc56bfd9815b92526448473598cc1416d94760638ea742eb719b46507590a4() + { + $this->assertTrue(true); + fn() => (yield from $test + $test); + } + function testfcb6b4eba62514677ae3ba6d366ba656fbdf98eb09871c8cb52225fabc5b5e61() + { + $this->assertTrue(true); + fn() => (yield from (double) $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest.php b/testsGenerated/Target/Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest.php new file mode 100644 index 000000000..3de2eed45 --- /dev/null +++ b/testsGenerated/Target/Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest.php @@ -0,0 +1,508 @@ + + * @license MIT + */ +class Expression7d5c86e8dbec1323cbb7d47a41836853896c8d8f6f6cec7173e8678d6ff1ed4cTest extends TestCase +{ + function test03f39cbcebb5dd8cb1353451758e27e633bd799f8542ebb12f09be5f0205ec1e() + { + $this->assertTrue(true); + fn() => ($test -= $test)::$test(); + } + function test09daf2f751b2213a9b03adfdfb39a5c149b3ce1978b292a2c3279cccfe08e7ec() + { + $this->assertTrue(true); + fn() => (isset($test->{$test != $test})); + } + function test0be02621f58bfc0686a461f579e9a0d15989325a5120b5c7900ebc4c72c9edc6() + { + $this->assertTrue(true); + fn() => $test->{$test}()::$test(); + } + function test0f1c880a361f3f4ac3cabf6b45185e60db9d6110f84c1082c5bd884130982d14() + { + $this->assertTrue(true); + fn() => (isset($test->{$test <= $test})); + } + function test12f3c9c7f8327023ae7b9308652cc75793f9f9f1677a2c6614638c8813783ad8() + { + $this->assertTrue(true); + fn() => (new $test())::$test(); + } + function test1398aebcdaf1e66a325fcd506b68fa8e70e3aa25f08097492f32072ed1d6e2a4() + { + $this->assertTrue(true); + fn() => $test?->{$test}()::$test(); + } + function test1f322bb9bf8428bb76f533231fffee814fef9bfe59c47f64274904bde1fbf8d7() + { + $this->assertTrue(true); + fn() => $test->{(double) $test}; + } + function test205d73eeb78ad99d72fb32240b15f80311c26942c9546892baf52cd18c80f640() + { + $this->assertTrue(true); + fn() => ($test &= $test)::$test(); + } + function test220998cabbf8941d3bd3dd7dd6d06c8076bd6707c318fd6d093b36f6bd2effc4() + { + $this->assertTrue(true); + fn() => ($test instanceof $test)::$test(); + } + function test2241985f240dfb409ec6eb4ab35aedcd3d160dfba66104b3de137df2648275e7() + { + $this->assertTrue(true); + fn() => (empty($test))::$test(); + } + function test22766f2b5f9cfb2332205c6203a3a2e050c3fb0c22ea3dfc0bba8e858ce5b9f0() + { + $this->assertTrue(true); + fn() => $test->{(array) $test}; + } + function test260c81c12ede440d8ff52a5133f2f7963b38e8372603c2764faddb0d45a6ea5e() + { + $this->assertTrue(true); + fn() => $test->{"{$test}"}; + } + function test2b6d066c3f4d77ac27d073e3c77369fa6f543fa3ea95ef9eba541290527c1ab5() + { + $this->assertTrue(true); + fn() => $test->{$test <=> $test}; + } + function test2d163b0d9b7b37efb12a4c003ab1efd4744d068d338dccf69c176f20ce0f8238() + { + $this->assertTrue(true); + fn() => ($test |= $test)::$test(); + } + function test2e48f77b569d332bc312562fcd5d6ba562868002a6e42436c654cacb2074c326() + { + $this->assertTrue(true); + fn() => $test->{__FILE__}; + } + function test32b694c5db1cb7cbcf94713f540ffd64ca6f25e6afd8ea1ff12f52c4a3581ee5() + { + $this->assertTrue(true); + fn() => $test->{0}; + } + function test33a7dd0229b56ca3cd2a15076a09e6db689654c1d8b7dee64bec4cd9fe5770ce() + { + $this->assertTrue(true); + fn() => ($test /= $test)::$test(); + } + function test3486ac095d69d60acb304a459df38945d7a825896668774f1020b443cc598333() + { + $this->assertTrue(true); + fn() => (isset($test->{$test < $test})); + } + function test3a17907b31b95626390e14d93efc505f5b5509a4d667d27ee13d76c690aa167f() + { + $this->assertTrue(true); + fn() => $test->{(object) $test}; + } + function test3b245eb0941fb16c3fe3804d33200fa1eb256ad4c7ca0d3ec72b06ea3d82d7a7() + { + $this->assertTrue(true); + fn() => $test->{$test < $test}; + } + function test3b70d35bc97125b457984f5811f4edf51f68136d0a8982a146657d870cab6906() + { + $this->assertTrue(true); + fn() => (isset($test->{(double) $test})); + } + function test3c7906d6c3ee7f2cc6321e0d3d96a74b52b482bd82d91d18fc52955c84c4a599() + { + $this->assertTrue(true); + fn() => (isset($test->{__LINE__})); + } + function test3fa7f71726fe495ad32e10897dc8ff57647b7c30fdc3a31bc9797050b5649bef() + { + $this->assertTrue(true); + fn() => (isset($test->{0.0})); + } + function test42bd8b08872a9567e77333c3fa3a7b9559d5d60a124f45b17eb5ae6e2c1e20da() + { + $this->assertTrue(true); + fn() => (isset($test->{$test << $test})); + } + function test44e329cdd96f0118380dd98fcda5a7e2d2ef66d14c3b3db6acf2e792338a5d41() + { + $this->assertTrue(true); + fn() => (isset($test->{$test % $test})); + } + function test45102c1730b33703c6c151859f50cfc5bfddb905a3a6b60ce228171cbbd2628c() + { + $this->assertTrue(true); + fn() => (``)::$test(); + } + function test4772b38753c785b23af0aa5926b6e605746f4e07a54a896509ebf6fc38742b06() + { + $this->assertTrue(true); + fn() => (clone $test)::$test(); + } + function test4bf36241a85470fa00997ab16c2bdc54b07e2c0ddf5b05c2323d186feea2dd68() + { + $this->assertTrue(true); + fn() => $test->{$test}::$test(); + } + function test4e7d3d54d0e4726dad7522e183b0dc8017d2728ee8ffeba7c9393540adf6cdc1() + { + $this->assertTrue(true); + fn() => $test->{$test !== $test}; + } + function test53ddeb4f1ee82f1a40e7b2a86c14aaaba2d3819cc0b623caf90ddd569b948cbb() + { + $this->assertTrue(true); + fn() => ($test ??= $test)::$test(); + } + function test54825b365988a114f1efe3552bc2ad537a8075526ca088cd44449c2bf1b7faa0() + { + $this->assertTrue(true); + fn() => $test->{$test ** $test}; + } + function test5c2fec94336926da4c08ed4fac4bb7b7f4e261fe49bedaf64a689a599a9aaaa0() + { + $this->assertTrue(true); + fn() => (--$test)::$test(); + } + function test5d300786d4ad06f6ab470a5a3661e1e13d047d2946e29403e8abacaca4ae22a1() + { + $this->assertTrue(true); + fn() => ${$test}::$test(); + } + function test5f8f91e91d72a9c121ca600004af47b990b35766f6eb2b7f112f531f0a3ec45d() + { + $this->assertTrue(true); + fn() => $test->{$test != $test}; + } + function test6145601133be0772c3bc90fe1e615dc48cc2381027d070911cb8cf39feb793ff() + { + $this->assertTrue(true); + fn() => $test::${$test}::$test(); + } + function test6227e51417f6f5a99f5f8dffb2207626ad9dc6215d44da365763aea074dcc8ac() + { + $this->assertTrue(true); + fn() => $test->{__TRAIT__}; + } + function test6477b54a355152e4920d83f2fd4214ca96e5af529d757c94349b46f540bdde47() + { + $this->assertTrue(true); + fn() => (isset($test->{__TRAIT__})); + } + function test658a862df791cce3b2e43563c8d45c87ffc74d722d0c8586f85f01fc275a2570() + { + $this->assertTrue(true); + fn() => (isset($test->{(array) $test})); + } + function test6a9480875001770b2abd385ca11d7ea209c83ab2da616fad8c5062e11cfd6fe8() + { + $this->assertTrue(true); + fn() => (isset($test->{__METHOD__})); + } + function test6c2f2542575afbbec184b79d433332811c48da3f1af45e1b181a2d5ddcc147a5() + { + $this->assertTrue(true); + fn() => (+$test)::$test(); + } + function test6e08475de9a5da33148d33aeedc292e62073f9d94aa74672cc93fd477a322f50() + { + $this->assertTrue(true); + fn() => $test::$test::$test(); + } + function test6f2604493fd0afb610a8821e3f851022f6b3ffa94a1b4026b93ab1d5a968cf5b() + { + $this->assertTrue(true); + fn() => ($test--)::$test(); + } + function test6f449ae7575d05ce2e78c7d175accf71c71b0e2bf8ef01b3cbed05af0dda38f8() + { + $this->assertTrue(true); + fn() => (isset($test->{"{$test}"})); + } + function test7265a8993025fae7d42ab21175801d34034c14decdfd85c431b755929518d305() + { + $this->assertTrue(true); + fn() => $test->{0.0}; + } + function test770b354bf89331efb9ed99eb7d0f6953c1acb22ebf0ed367f0ae78d8900527b7() + { + $this->assertTrue(true); + fn() => $test->{__CLASS__}; + } + function test7c713f79dc3b935ec9a7a17f79a122722ab1d69ca152f8c4f76542a42c7f3139() + { + $this->assertTrue(true); + fn() => (@$test)::$test(); + } + function test7f2a4077aaca905d6a46a78a44a23bf9a7ddaa8d8b550ea9de8835f437634fa3() + { + $this->assertTrue(true); + fn() => (isset($test->{$test * $test})); + } + function test7fb65810f525a1e1aa009200be740c6327b23ec3c2b83699dbaeb546ca3a6054() + { + $this->assertTrue(true); + fn() => $test->{__NAMESPACE__}; + } + function test826e7ed911d823b6f303fb614fad8636d26654e447d8ae2e0d2cdb8cf6191a28() + { + $this->assertTrue(true); + fn() => $test->{$test << $test}; + } + function test82d5a3a75407451afcc07119ed5549f07315142864d3dfa5944617e7886ca792() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test)::$test(); + } + function test8591fcbc2951e0a689fe77714791687ff84276519f3ebe2ed4df43b0eb6af328() + { + $this->assertTrue(true); + fn() => (~$test)::$test(); + } + function test8913b59bcd0cd7af6ce886f71fd5e1dd8be7f503e824fdeb62d765f64e8ff8fc() + { + $this->assertTrue(true); + fn() => ($test =& $test)::$test(); + } + function test90d021a853401e51ba81aa2dd86e2973bfe2c6670415d46e212899f8fe9be022() + { + $this->assertTrue(true); + fn() => (yield from $test)::$test(); + } + function test9277475a732467401efa2300852ab141ecfb0b288b74903080e37197fe01749f() + { + $this->assertTrue(true); + fn() => (isset($test->{__FUNCTION__})); + } + function test94dfcec43f893072e41ace88599e2d654b255bf2f934729f008cd1b598e1579c() + { + $this->assertTrue(true); + fn() => (isset($test->{(string) $test})); + } + function test9536bb428adec1bbddb4370e1c02672da0de809df14d96a0cd59a1391f0e633f() + { + $this->assertTrue(true); + fn() => (++$test)::$test(); + } + function test95c375bbc1a5d40d69fb441f1c7009a55d6bd9de78491d029a21d41fb8ba92af() + { + $this->assertTrue(true); + fn() => (isset($test->{$test <=> $test})); + } + function test9671189bedebc0bab432dfeeea0f6a7aa834a0fda694011d3da1f964d5d218fc() + { + $this->assertTrue(true); + fn() => $test->{$test * $test}; + } + function test96e7559cb9164461b7b175465fe1c7af52e805c93bc901e3dcd159658f5f5cdb() + { + $this->assertTrue(true); + fn() => ($test .= $test)::$test(); + } + function test975d27aba35c661cfbe0a34ec035bb84a916af3ed3882057a568cb6c479bcdf0() + { + $this->assertTrue(true); + fn() => ( $test)::$test(); + } + function test9a62a0a241fef2d2b2703fb67abf64882a2d770c5145d47e077485801d5882e3() + { + $this->assertTrue(true); + fn() => (isset($test->{$test ** $test})); + } + function test9c4614bb34d90a4fb21638334a8bea22877e48827dd8e6f90fcbb39caa246f99() + { + $this->assertTrue(true); + fn() => ($test ^= $test)::$test(); + } + function test9c8d66403b8fa7bde8d6010f196ccd4b3a3b2c07dfb8aba10b6918387bd2820a() + { + $this->assertTrue(true); + fn() => (isset($test->{$test + $test})); + } + function test9d3eb64cee22ceb8f3126e390a00f229e4c616165eb6733ddc544fe0ed7a6c11() + { + $this->assertTrue(true); + fn() => (isset($test->{(int) $test})); + } + function testa1c4d177706b07a7b0f5274a33948fa91eb8669febf97d17d597d3b8b3501851() + { + $this->assertTrue(true); + fn() => $test->{__DIR__}; + } + function testa446c04a09e53b0698976cf201ae0fc7cc42632b10675e322f5f2f1ea09232d3() + { + $this->assertTrue(true); + fn() => $test->{__LINE__}; + } + function testa495cc14c34668d0f414d3c5cb6a7eb5778b465a64b751f964fbf68218f043dd() + { + $this->assertTrue(true); + fn() => self::$test(); + } + function testa4fb94ce8a4786bf0299090964131d1c9b1cdd92b0d63a3cf04cd4e333b7926a() + { + $this->assertTrue(true); + fn() => ((yield $test => $test))::$test(); + } + function testa598c939353eaa65cea1d9ecb5accbda8d471cea7bade6689a3f1ead9de7c292() + { + $this->assertTrue(true); + fn() => (function () { + })::$test(); + } + function testa607631c38bc643b8c82d42c48df8defa9e98fa9dafaf5241d47889b693d5bd1() + { + $this->assertTrue(true); + fn() => (-$test)::$test(); + } + function testa6bcd0d8e076d837d57240981974abb52ee67a49eaceeb41d23eb32d32927252() + { + $this->assertTrue(true); + fn() => (isset($test->{(bool) $test})); + } + function testb11891e3c0a415147204e6c57b26704f51ae9942fb028230477592fda769b93d() + { + $this->assertTrue(true); + fn() => $test->{(bool) $test}; + } + function testb4c5a88b5fd303922dec0b8457cab83064ca16785bec0ab9918d5dc2e7a70bf1() + { + $this->assertTrue(true); + fn() => $test->{'test'}; + } + function testb5e765abb48bbe731ad31c33b89e4335f266d1cecc8f2ac42d0a0ccb69b4d36f() + { + $this->assertTrue(true); + fn() => $test->{(int) $test}; + } + function testb72db6f0f3eef3329931f9fc9bdce020f3fbb3de39d91cf77c15df897edfa23c() + { + $this->assertTrue(true); + fn() => (isset($test->{__NAMESPACE__})); + } + function testb817f557bc90b98575f1446c920eeea3116e2f6cd72241a28176749dd93fc3be() + { + $this->assertTrue(true); + fn() => $test::$test()::$test(); + } + function testb935ae158aaba1612749439e080c33081254372af5b0e0f3a837485c29ea6eb0() + { + $this->assertTrue(true); + fn() => $test()::$test(); + } + function testba0c1188e2bad466978f132f837b6a8b9582f5c25b489ff96af20dccd37fb5bc() + { + $this->assertTrue(true); + fn() => (isset($test->{(object) $test})); + } + function testbc6bf2451f6a7eeefbd2df4aa9545e0b5785b49df0cb10c99b3e5a8abc367891() + { + $this->assertTrue(true); + fn() => (isset($test->{'test'})); + } + function testbedde7498fb05f7f348d75c8b92333006c4fc82c64852ad8d7e02bd8fe1d57cf() + { + $this->assertTrue(true); + fn() => (isset($test))::$test(); + } + function testc7b8916d29035b5abeda24bcff46e6c657c983333363d93d6012302ba3f8c7a4() + { + $this->assertTrue(true); + fn() => ($test)::$test(); + } + function testce315857baa063f00d26b3bb6c2b5e2194d7c3f9903390b6ff116eb7471e5e32() + { + $this->assertTrue(true); + fn() => (isset($test->{$test !== $test})); + } + function testd03630a294cd88b39b23a92121986d7b7e013ced0eb6ee87020d3aaebd8936ff() + { + $this->assertTrue(true); + fn() => (isset($test->{$test >> $test})); + } + function testd17b2bf6da24c2a5948c7e59dba66986fb18561410c223441590f3249f237b1f() + { + $this->assertTrue(true); + fn() => $test->{__FUNCTION__}; + } + function testd4e648b1400f6f56c9d3ed9ca05d6aa682aee576a0cfec430eebf1b4f256eec0() + { + $this->assertTrue(true); + fn() => $test->{$test <= $test}; + } + function testd7ec8a8bffb55dc03ab2fb96c0c886cdbb614e51b8c46858680a1a51c276b484() + { + $this->assertTrue(true); + fn() => (isset($test->{__CLASS__})); + } + function testdcbc690f8cbd1a95cbcff512798b74dca57cda84aa23b30fd88e1e1ee437d292() + { + $this->assertTrue(true); + fn() => (isset($test->{0})); + } + function testddc2356099e60a5ced8bfbdf2d84130a5dec5158276a9e389ce5cf703318797e() + { + $this->assertTrue(true); + fn() => (eval($test))::$test(); + } + function teste10eab39021fc2c04fa4b689989075a156e34b5b99f1e8397937bb430e092c0b() + { + $this->assertTrue(true); + fn() => ($test++)::$test(); + } + function testecb8390d78f7e71832ca0ae3c927a82dae9099982717db8284665e0dc0e331fc() + { + $this->assertTrue(true); + fn() => (isset($test->{__FILE__})); + } + function testeced07db2e3a86dca9ad7baa2d65b3b6db8e8737712a6a642f3ad8a76632509d() + { + $this->assertTrue(true); + fn() => (isset($test->{__DIR__})); + } + function testee8c996c096d1229e8c70ecbb9b294900ff451bc32bc594eee7ffb165ad422f1() + { + $this->assertTrue(true); + fn() => (!$test)::$test(); + } + function testee975ecd0bd8a2505fa80364e8e36a5aa55c4274d572f8b6839aca360a74e8f8() + { + $this->assertTrue(true); + fn() => $test?->{$test}::$test(); + } + function testf1e787cd1b16acce0ba1a9a0e3694b0ebd50327fa5afd2fa29c85f15d2c4c985() + { + $this->assertTrue(true); + fn() => $test->{(string) $test}; + } + function testf2768e6b9b8109832d47836b755333da1b5cd553355487364f2674ca4bba5a58() + { + $this->assertTrue(true); + fn() => $test[$test]::$test(); + } + function testf40553a7ee6a7db1e5da44796edb4b727b1fb0ac4e5ae3c26706d6fd57de164f() + { + $this->assertTrue(true); + fn() => ($test = $test)::$test(); + } + function testf72c619209558d9d14b192f7dc748130448d0745fde284c418fa76c8c304ed21() + { + $this->assertTrue(true); + fn() => $test->{$test + $test}; + } + function testfd9611e0ff7bbaafd960ff5af30eca242238fbeb34b326cfaba230266769c775() + { + $this->assertTrue(true); + fn() => $test->{$test >> $test}; + } + function testfdd16ca8421e0d6ee5415298a2e6652ea8acd7057714fc3e42484b564819a23c() + { + $this->assertTrue(true); + fn() => $test->{__METHOD__}; + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test.php b/testsGenerated/Target/Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test.php new file mode 100644 index 000000000..02b166ee7 --- /dev/null +++ b/testsGenerated/Target/Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression7e30e4c2f37f2d9c21163d49a1d0d0e785d5a570938a3eb176bc7041a23c4856Test extends TestCase +{ + function test05544173d44450e93db2ab7fd049ef1399362c8c762da2e83a7a977330127388() + { + $this->assertTrue(true); + fn() => ($test === (array) $test); + } + function test172e275f8bb325b6f5dffc59419d8b59c531a02db000d0332135de2769674f93() + { + $this->assertTrue(true); + fn() => (match ($test) { + } and $test); + } + function test19b6e7c289b093b0ef5ec7df4d378eda36378c76b9eec79d02020341e1043a29() + { + $this->assertTrue(true); + fn() => ([] and $test); + } + function test26342b99897c3ae7ec5bbef6414d20aeb80c63b8a0fa52890acb5bbce49d1329() + { + $this->assertTrue(true); + fn() => ($test === __CLASS__); + } + function test2724d5535796efcf59f9ba021651ed35ca8afe2b46050a3e318ba832da3e985b() + { + $this->assertTrue(true); + fn() => ($test === $test + $test); + } + function test281fca21b4485fd9431383b30b3824a312a891c7c403fd76a3ca92b1c776dd55() + { + $this->assertTrue(true); + fn() => (!$test and $test); + } + function test2e15071aba9e091dbf1d875eed50233592052ff4e122361a912d9e04c05bb737() + { + $this->assertTrue(true); + fn() => ($test === __TRAIT__); + } + function test2f2292d509d2a7fa13a6d2b9ad46a79ca7756b780262f56d3ee70d78d63c162e() + { + $this->assertTrue(true); + fn() => ($test .= $test and $test); + } + function test326be07de1cb0f245851749eb5327fd6bbb274974e21e0196d9d39732fda950b() + { + $this->assertTrue(true); + fn() => ($test === ($test !== $test)); + } + function test343779e07e902d424b87b0743cfc2f730b53560515621b7a3e02c11ea8cdd5c5() + { + $this->assertTrue(true); + fn() => (isset($test) and $test); + } + function test353779446bd7bb53c10efd5e778b4027949b18bbc75365bf115391da7ec0440f() + { + $this->assertTrue(true); + fn() => ($test &= $test and $test); + } + function test375eeaccf4c562a64fd05a72418e9f6662ab0b87c7adf6ca1b7085f105f8b857() + { + $this->assertTrue(true); + fn() => (self and $test); + } + function test38250628719e3ad21c9f070811beb582e662fd1a2cd096ef0d1f60e7d54b65ad() + { + $this->assertTrue(true); + fn() => (( $test) and $test); + } + function test3a4e48db67fa1b74ec5944b4a900717e564b23997aa4d9032dbc024fccfd6aa5() + { + $this->assertTrue(true); + fn() => ($test === ($test === $test)); + } + function test3eefcc53ffd7274ec70102b334c307a71c8a840e57e5e72bfce293a7da79eb49() + { + $this->assertTrue(true); + fn() => ($test === $test % $test); + } + function test42a083c8bdd5777228ddaedf368c54f7b8bfde4051badc1dd275291da6bafe8b() + { + $this->assertTrue(true); + fn() => ($test & $test and $test); + } + function test43744e546e0dd131b7ec3ff345940c8cfc45239a208b8d04ce1abb1902445a7a() + { + $this->assertTrue(true); + fn() => ($test === $test >= $test); + } + function test447333f1d703909a68ef2b2acdc76de76a714b28b3a58f852209a1e3615348e3() + { + $this->assertTrue(true); + fn() => ($test === $test > $test); + } + function test45cc45272d3b3c470f4f58d2719a7f93640080bcecdda4669e1402c6a2827041() + { + $this->assertTrue(true); + fn() => (+$test and $test); + } + function test45d18756e42610e4f459398f864f81a7164c23e821e1552b44c6cad581520cd9() + { + $this->assertTrue(true); + fn() => (--$test and $test); + } + function test487921a900ef79db398e6e76e3d71d648a6f1face2fd848437a962eff6d54394() + { + $this->assertTrue(true); + fn() => ($test instanceof $test and $test); + } + function test4b5a0d58f569b88aa784401a1302a0f923824b7d1122e04f648210ed8fcc71dd() + { + $this->assertTrue(true); + fn() => ($test === $test << $test); + } + function test4d7b52b337efa7fa474a10d30c42ea29f5ade830cc89aaa181c43b275d3b1866() + { + $this->assertTrue(true); + fn() => ($test === __DIR__); + } + function test4f719eb8afe4f911d3e8cd54babdabbe33754dbc0f3f10e2c075fbcc02032591() + { + $this->assertTrue(true); + fn() => ($test::$test() and $test); + } + function test5197879a40fa17f914f811089009c55352f30abfaaabe19849d3eae1e18f85ca() + { + $this->assertTrue(true); + fn() => ($test === (int) $test); + } + function test5589a79d70efc074fe1dc83340243c78de719d7f718103f8603b01fc1ca9d01c() + { + $this->assertTrue(true); + fn() => (new $test() and $test); + } + function test5925378b3eb4b0706480a58286654df34d319ade494dd830e9b7ebb895bd9a0d() + { + $this->assertTrue(true); + fn() => ($test === 'test'); + } + function test5f5d4023a4af8181002eda06580bd3607711172a5494047b8617894c55a15dda() + { + $this->assertTrue(true); + fn() => ($test?->{$test} and $test); + } + function test62d1befe2475f10f78442ec3b28ccfc6c381f3d75aab62d456c3ab05fd79061b() + { + $this->assertTrue(true); + fn() => ($test === ($test or $test)); + } + function test62e56b0fe3113b156146697a85a91cea461d76da88a6b19834595aef8e083c49() + { + $this->assertTrue(true); + fn() => ($test =& $test and $test); + } + function test660a68937cb3bc6dfe32ad21f4552b7079cdd75966810d65bfbcec1f8fd59980() + { + $this->assertTrue(true); + fn() => ($test === $test . $test); + } + function test683ffc51dc53b58501a5158fe77bd2a4094d37d36fd0098c057ef2e6fd9bd412() + { + $this->assertTrue(true); + fn() => (throw $test and $test); + } + function test68d2760781726a5f66b6fc26723a33fe0f59f5421e830cf785ce09e0f6a23baa() + { + $this->assertTrue(true); + fn() => (-$test and $test); + } + function test6fa3ca936519f8edb8c358a4d54354b3d2c87308bd978cb1f8356f7fd5f7e13d() + { + $this->assertTrue(true); + fn() => ($test >>= $test and $test); + } + function test72c7fa423d0627848b460dd62367035a6e064cb0ec6d770ea8d8aed30a857e66() + { + $this->assertTrue(true); + fn() => ($test **= $test and $test); + } + function test730dffdcf29a52e9a03f9bd37840f476b93e5af1402b2195f603ca85897937bb() + { + $this->assertTrue(true); + fn() => (empty($test) and $test); + } + function test768fc21103f18a5666ac5c720d40143c9fc560c98956bcb1b756334a9eacb414() + { + $this->assertTrue(true); + fn() => (${$test} and $test); + } + function test7d155c09ef9d1d3dab02f4ba0331bcd77a901570ef79d61a28eea34a806b31e0() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test and $test); + } + function test7f563d5dbc84d298a80ed46107cd98ae65d613771287b965e388c4e7d99ea844() + { + $this->assertTrue(true); + fn() => ($test === __NAMESPACE__); + } + function test8057853f22847ce2df7833061112b06a7ffe9db1efd103143a5a287d799c6ba0() + { + $this->assertTrue(true); + fn() => ($test === (string) $test); + } + function test808562accf916c36fdffd6caab399da7e53bcbc288534068bc013779da04d2db() + { + $this->assertTrue(true); + fn() => ($test === ($test != $test)); + } + function test851cf57b6309fd9433fc44c63589cd48456609fa43bb454dcc256a61bd4ba459() + { + $this->assertTrue(true); + fn() => ($test | $test and $test); + } + function test877aacc990a7cadb4900a3560a3d283d000d5cd6e506ceebf6abf6423a6f3eed() + { + $this->assertTrue(true); + fn() => ($test-- and $test); + } + function test881118997160d833066a2ddd76cf2bef6a429fcf581874407ef791ec1cf1a6f9() + { + $this->assertTrue(true); + fn() => ($test === __FUNCTION__); + } + function test8907c34ea4f93d6600f2a374f4da90966f38a7d5cc5f22524147022d141de1bc() + { + $this->assertTrue(true); + fn() => ($test === $test / $test); + } + function test8a786c78d66af9df53d16d472a2499ce4663e6e92255f5fa7ce19d0a7e901398() + { + $this->assertTrue(true); + fn() => ($test === 0); + } + function test8c7f3f91b6509c1d606611237f9f1b9b75107355a1f4848524adabc200f9ffe8() + { + $this->assertTrue(true); + fn() => ($test === __FILE__); + } + function test8d8cd2d06154fef5ccf72044faf814b905bf951b981a23ae3a054b5022779d65() + { + $this->assertTrue(true); + fn() => ($test and $test); + } + function test91518d733be7823f9d4f46aa8c7a9b53a6ad0f33286b3762b3c0695b40f499c8() + { + $this->assertTrue(true); + fn() => ($test === $test < $test); + } + function test921e43be401241eef66cb06c44f7da78d14787ed3fc80cb6568f8a03bd6f7f03() + { + $this->assertTrue(true); + fn() => ($test = $test and $test); + } + function test951004f5b35f79cf419066ba444fbda447f8e93f7a2f1dbfb11e026ee40f9c60() + { + $this->assertTrue(true); + fn() => ($test::${$test} and $test); + } + function test991b7a7bc14c6782ee26ce2a3538f25f636a99732f89abec79244b11686e4dc0() + { + $this->assertTrue(true); + fn() => ($test === ($test and $test)); + } + function test9d66b97da39255ef5c574dac448b05070867aad861957698833424cad9b641dd() + { + $this->assertTrue(true); + fn() => ($test *= $test and $test); + } + function test9fa4f3e4b479177b2473d155c50affa7120739bd95c866db0891bf39dc906c16() + { + $this->assertTrue(true); + fn() => ($test === $test <= $test); + } + function testa205cf30979eb24f14e424083bf2c93030b854f4596724c58160263207ee0877() + { + $this->assertTrue(true); + fn() => ($test && $test and $test); + } + function testa22c2d6111fb288cdf314898f88ecf84e6d884370fc6ee9675ddf75f17a765be() + { + $this->assertTrue(true); + fn() => ($test === (bool) $test); + } + function testa3702af592afe383fdb3fa506838efddde4a3da5d3746fcc73c59c60bb9570d2() + { + $this->assertTrue(true); + fn() => ($test === ($test ^ $test)); + } + function testa373d58944cff5ec03eea3c994f3251cea320a8791648be0b1a2e231da27120a() + { + $this->assertTrue(true); + fn() => ($test[$test] and $test); + } + function testa4555c91c6ea469003557c124e6a2cb4803366ddea0c90a1f18729661bd266f6() + { + $this->assertTrue(true); + fn() => (++$test and $test); + } + function testa50aa241c48df9dff16503f731ef74e446310637ef7f05171eef897c97dcb181() + { + $this->assertTrue(true); + fn() => ($test->{$test}() and $test); + } + function testa585c0e908b422ae91a9054a018adf86325ac15ad858d14d2df81d1830f491a3() + { + $this->assertTrue(true); + fn() => ($test === "{$test}"); + } + function testa6e045e17c74af9064f56a2c8cbc5f153e149969fa72f02c6bc1446d83be372e() + { + $this->assertTrue(true); + fn() => ($test ^= $test and $test); + } + function testa8439d2b38e327f1e24669624bb63d9e7a4998fbbd8818e6ad7b00d84cabc4d7() + { + $this->assertTrue(true); + fn() => ($test |= $test and $test); + } + function testab2d0a4cd62b7382503b5233d4a61902d8d7b331e3dde06d3ea53eaa0822586f() + { + $this->assertTrue(true); + fn() => ($test -= $test and $test); + } + function testac2a4247bc8273d0e0381b18fc8670a802ce6ac09995351563ad3f54b99fa378() + { + $this->assertTrue(true); + fn() => ($test /= $test and $test); + } + function testaf15b2d4465c64c473b0ffeb30f70dbfe9764a958fd249b7428116b18327f32b() + { + $this->assertTrue(true); + fn() => (function () { + } and $test); + } + function testb03ca6559b42100bc58733f509b3a3a7739b6660f791c67238aa38a8fab9ea18() + { + $this->assertTrue(true); + fn() => ($test += $test and $test); + } + function testb0d69ea392acdfb382e87e8dd98b26490116e02a4a582d8b2b8edda1fda6f5f2() + { + $this->assertTrue(true); + fn() => (clone $test and $test); + } + function testb2abe9b1b1ab2b5653df24fe5cb02a02ead8dc94448c2dd96bae1d66b3711b47() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) and $test); + } + function testb39d2cb9852edf7a334ffad6a2d68f24efc3affb9381cf66ab4eff74a1cd8189() + { + $this->assertTrue(true); + fn() => ($test === ($test <=> $test)); + } + function testb5f28206457769d99c40d84f4e7da48b81851c39ca6156d7fe24e774adce14e4() + { + $this->assertTrue(true); + fn() => ($test === ($test && $test)); + } + function testb85e10a1c2895b27edc4b09fb6ba743cddd8f5863ac2bbb3addd62a8ae6c5133() + { + $this->assertTrue(true); + fn() => ($test === 0.0); + } + function testb8be3bb4be604957dde22f7da9ed43b8cae3fe1f6d288e302a186bb4c2715f70() + { + $this->assertTrue(true); + fn() => ($test === (double) $test); + } + function testbd3244c321370717c1b8937a1f18fd264e74175a99a36347a0cecce9be5cabd6() + { + $this->assertTrue(true); + fn() => ($test::$test and $test); + } + function testbd58ae45a79764522e2684f3be8377257fcbf7a52cd6f7d7771ec66b27005b29() + { + $this->assertTrue(true); + fn() => ($test ^ $test and $test); + } + function testc07b6aee8e25ece0512fdab0be7f32ae8b316595678635ad8d09d68034fa0c52() + { + $this->assertTrue(true); + fn() => (yield from $test and $test); + } + function testc0b113d85afe6735da5f2ed7d5567699e8c44e3001416682116a45b5f6c861f9() + { + $this->assertTrue(true); + fn() => ($test === (object) $test); + } + function testc633c440f538792ac2bd6900bf9a644e61e226f12e90d78abee4b10d78fa6346() + { + $this->assertTrue(true); + fn() => ($test === $test - $test); + } + function testc73065fd0060cf933f8ee79fbe528d5caad5957253e06b35e6ea3c23ca53bfa7() + { + $this->assertTrue(true); + fn() => ($test ??= $test and $test); + } + function testc83356a7928cd98194133787696adce3eec4a0b82c131bc236bb39bbe5e065cf() + { + $this->assertTrue(true); + fn() => (@$test and $test); + } + function testc8d57a008e5f0c06d834875b27cdd554698455b178c515e2ef43df37159bc96c() + { + $this->assertTrue(true); + fn() => (eval($test) and $test); + } + function testcd87bef6433edae5c9ee382f9059b2bf82328c10543a6c6f1882a1cf7da7cde1() + { + $this->assertTrue(true); + fn() => ($test %= $test and $test); + } + function testd07664084e49c77c58c07b8a60cbf1ccf79994cfa3efd6fbdf713828c198f7a9() + { + $this->assertTrue(true); + fn() => ($test === __METHOD__); + } + function testd46f938bbcf20b59e077ea0eae4331ec8b3cc0acb8436793d9f00d344c46e559() + { + $this->assertTrue(true); + fn() => ($test->{$test} and $test); + } + function testdaa89bde952b6c685fd69763092121e137acd6987ee0a1df04f57ca28819e205() + { + $this->assertTrue(true); + fn() => ($test === __LINE__); + } + function testdc77c3d520571125d951f2dc338494ebc32041cac2a83d47fe3409fd7abc6281() + { + $this->assertTrue(true); + fn() => ($test <<= $test and $test); + } + function testdff07648ec23d89c1d572551c69332fe441a5c083634f1bb9b85ab70086a7b55() + { + $this->assertTrue(true); + fn() => (print $test and $test); + } + function testdff3f5570653aabcdb31bbc61f0fedd2970c73e8086916bb00338576f17c1686() + { + $this->assertTrue(true); + fn() => ($test === $test >> $test); + } + function teste02c56ffb33e67b214c96a47bc07858c171b8566d4c669a54a0e11fa12815751() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() and $test); + } + function teste2eea2973351c50345723d9ccb81966faa5ca6f92679bd15389a88ddfc556b3a() + { + $this->assertTrue(true); + fn() => ($test++ and $test); + } + function teste5caf1f166e02b70894e25ce4a4081ca7ad493061893a2b21136a6191674e88c() + { + $this->assertTrue(true); + fn() => ($test === ($test xor $test)); + } + function teste72e58c72bae4a4c48a47198335ed295bb553e4aab4ff7641686db3636a72114() + { + $this->assertTrue(true); + fn() => (`` and $test); + } + function teste969c082c3e9c5a1da2835d319a713ce6c2d1887fdd9c361d55879ca74ccf145() + { + $this->assertTrue(true); + fn() => ($test === $test ** $test); + } + function testea09766ded9f6696f296af17eedcac46b58b4b2692f70971229cd9501b3e7100() + { + $this->assertTrue(true); + fn() => ($test() and $test); + } + function testebb06d672b7f2988e6546726fd93405278366625b8a4f53bce877355b6489e30() + { + $this->assertTrue(true); + fn() => ($test === $test * $test); + } + function testec4bc7613f03f5043b05d6c251ec1094a48bcee67c2b14d275af56987f1c0368() + { + $this->assertTrue(true); + fn() => (~$test and $test); + } + function testeeb2f47745b9b6ee069fd5fb66fc5b02244f60d3f4c6e5570f02e617938bc613() + { + $this->assertTrue(true); + fn() => ($test === ($test == $test)); + } + function testf8b7cee7e81e621e86db283525605c0987f90da7a56b0a0cf1cb80c10e917cca() + { + $this->assertTrue(true); + fn() => ($test === ($test ?? $test)); + } + function testfbee5dafc8f1d7fb0b5c45f097bff3e83eefed226efa6b0fcd32f140d5e416e6() + { + $this->assertTrue(true); + fn() => ($test === ($test | $test)); + } + function testff78c3adab56a3fd312b425f1ac751958a20dea9f15ce5eb94d37a09f3337338() + { + $this->assertTrue(true); + fn() => ($test === ($test || $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php b/testsGenerated/Target/Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php new file mode 100644 index 000000000..8e735f384 --- /dev/null +++ b/testsGenerated/Target/Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test.php @@ -0,0 +1,504 @@ + + * @license MIT + */ +class Expression7eedf70dafbfe3da028f5928899cf92cc3cdd26d5cb3a646b6f35656b70c0cf0Test extends TestCase +{ + function test013e932b08c5ea0e779b3ea7c7215d2766c65546cc8e63701786574105bb140e() + { + $this->assertTrue(true); + fn() => (isset((yield from $test)::$test)); + } + function test046515cc5295adfff5593260a27e79dc02768152d81a81d628efdab854a26e1a() + { + $this->assertTrue(true); + fn() => (isset((function () { + })::$test)); + } + function test068dcd12b2b75dd12e0f58e141872e026508bd3459fc257c5fa30ce4be558373() + { + $this->assertTrue(true); + fn() => ($test & $test)::$test; + } + function test0d8c43a9a99dde5bcedd8e48d5ce7bbfefe1dea7fcc7c867d5a443d0af40d7b1() + { + $this->assertTrue(true); + fn() => (isset(($test ^= $test)::$test)); + } + function test0f49d9b56d61486a643ef2909a87d8f769a7d169f88dfb8d2d1608d799d81f0f() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}()::$test)); + } + function test107b52abda9f83f6ea564b5da6c91eb92e783cd8b6b8cf90eff829da8604a001() + { + $this->assertTrue(true); + fn() => ${$test}::$test; + } + function test11832f7915fe667d8f3d7592cf77760d89b98f1d35459c0cf2c3439abf794d2d() + { + $this->assertTrue(true); + fn() => (isset(${$test}::$test)); + } + function test135418a3cf8bb70f5f43f0643ac01cb493056464c78bfefcc9da3bd986854214() + { + $this->assertTrue(true); + fn() => ($test .= $test)::$test; + } + function test15e29b4e87f1e40555b523ad00be5d32b2c8f8206d95f420cd2b74943df7f422() + { + $this->assertTrue(true); + fn() => (yield from $test)::$test; + } + function test1759f203ef04404c602acdc7bf995e464680cf12fdbfcef713a2653c8f4c9f90() + { + $this->assertTrue(true); + fn() => $test->{$test}()::$test; + } + function test177bc5f8cd3a36804b231ad4c3f7eca0d293f4cb56f28608a5948a6c16a3e366() + { + $this->assertTrue(true); + fn() => (empty($test))::$test; + } + function test1c89673f1ff5b9852c27c5eba882711b11f9eca4323544fd468da933a04f6bc0() + { + $this->assertTrue(true); + fn() => $test()::$test; + } + function test209017ecf1e57a52407fc0f0528b990b478be34fca54e9d90fb8947601e8e345() + { + $this->assertTrue(true); + fn() => (isset($test::$test::$test)); + } + function test230d99c5f93d71d3e364fbf4760e2672dcf507b4a9175b7aac696e6c08384be9() + { + $this->assertTrue(true); + fn() => (isset((@$test)::$test)); + } + function test235ebadca56cb183a66b1feb1e5e2270089cd4fcb80536ac4db21f42dfa51429() + { + $this->assertTrue(true); + fn() => ((yield $test => $test))::$test; + } + function test24ceefe1f696a3950fd2b7878dbbf61e0db2c4a094b3eb51684531b815c1f12c() + { + $this->assertTrue(true); + fn() => (isset($test::$test()::$test)); + } + function test279adcb02a676a264fb99777a4ee984faf1289478f8e2014015746fbc978e955() + { + $this->assertTrue(true); + fn() => (+$test)::$test; + } + function test27a31245ce649a9743cfc88f27ad7fb6cb8da84bdcea63215b73b212a1475e1f() + { + $this->assertTrue(true); + fn() => (isset((``)::$test)); + } + function test2a1246200f71758bf09506835ef07be8e22c770a2a9f10359500eb9fbf3778dc() + { + $this->assertTrue(true); + fn() => ($test /= $test)::$test; + } + function test31d769cd5d1edb2f8dd038ba2d283f6876ab43fd1642e11d2def3e60dd1e8048() + { + $this->assertTrue(true); + fn() => ($test++)::$test; + } + function test34e50b99bcd08daf58b2f6d151b6a8896d13d03c692eb5d417791a2ee57b4fec() + { + $this->assertTrue(true); + fn() => (isset(($test /= $test)::$test)); + } + function test383bbef49386fe2831f4d0126b7ef996e730ddf513e10056f709317623db9b76() + { + $this->assertTrue(true); + fn() => (++$test)::$test; + } + function test384b7d305e9befcf968dc0876e26e2f11fc71185305cf0f5ad180c09f9cf6ed5() + { + $this->assertTrue(true); + fn() => ($test |= $test)::$test; + } + function test385fe92dc6e2d5002f8468bc9fd61fac9cc9f00d3a856581b55554ef4097c5f6() + { + $this->assertTrue(true); + fn() => (isset(($test .= $test)::$test)); + } + function test3e91b76e6f9834e4dc03fa4c1572e309b91c8d8f4b575853f785d648355e9e82() + { + $this->assertTrue(true); + fn() => (new $test())::$test; + } + function test44205ae668ba5833b6b527d92503c77de8e5ef4c31d4a7a14a88c176199eb329() + { + $this->assertTrue(true); + fn() => self::$test; + } + function test4af4719fe86dfd54c501ff71a4a0de06cbb1e755aaaec10e8719d07855e7523a() + { + $this->assertTrue(true); + fn() => (isset(($test &= $test)::$test)); + } + function test4d8fe27e656957f901b0dda29bd84f777427dae9e127ba9a83e5580a51568a38() + { + $this->assertTrue(true); + fn() => (eval($test))::$test; + } + function test4dfda8723e335d8dbb58dee408b2f08871f24f2807e5290a8699e3aa746b86d4() + { + $this->assertTrue(true); + fn() => (function () { + })::$test; + } + function test4e6f267339978be99fc9af3f61703bf11e9202f658a3b802fa79b4276d900810() + { + $this->assertTrue(true); + fn() => (isset(($test >>= $test)::$test)); + } + function test5021037a6bff8118c6944266083727ead6d5f8bc02f6747f5d2603edd72090f5() + { + $this->assertTrue(true); + fn() => (isset(($test <<= $test)::$test)); + } + function test5030c738f1120d4b5db844ce0bd4d318b8fbaf395626e603e2ed38f60272d4e2() + { + $this->assertTrue(true); + fn() => (@$test)::$test; + } + function test50fd9552d4b4bb0ab0859e21f0f080927b9f55f24cfa81fcfabbcc2b253df9bc() + { + $this->assertTrue(true); + fn() => (!$test)::$test; + } + function test54608ac588e859785a29798bb7df66d17e50e603061b2a63ef5a100ed6069e13() + { + $this->assertTrue(true); + fn() => (isset($test::${$test}::$test)); + } + function test5496e05df79dada9d317f35b56b512ff9968ca809bdee4167763e080c5a58c4e() + { + $this->assertTrue(true); + fn() => (isset((--$test)::$test)); + } + function test55fdcfe0207c45929084f07f2709496003c85c46e934e6c1ff1a65f5c9e0e0b3() + { + $this->assertTrue(true); + fn() => (isset((clone $test)::$test)); + } + function test599c5acf89862b243f4fb5d32fbd34c1b08b7b948b15f88eb3e3486a9893d3ce() + { + $this->assertTrue(true); + fn() => (isset($test()::$test)); + } + function test5f2fa6c71b81dd988623819bc0ca52e0350d72cc0550845cae57a51153e5ec09() + { + $this->assertTrue(true); + fn() => (isset((+$test)::$test)); + } + function test60495a64944192aecbaf5b2f664076e70a02e621a703d8596cf231aa64e00843() + { + $this->assertTrue(true); + fn() => (isset((~$test)::$test)); + } + function test6a9cfe8da4229887e0e326fa14e7730f31f3cc51133edc334a83b407b1f35ac1() + { + $this->assertTrue(true); + fn() => (isset(( $test)::$test)); + } + function test6f780e9442f4cd6d338a927551a7618386917eee5daf91afb405a121a7554e8a() + { + $this->assertTrue(true); + fn() => $test?->{$test}::$test; + } + function test7596ce697a5417189ea32156cc415169c27bfc84877e68b822b524ac93197dc5() + { + $this->assertTrue(true); + fn() => $test->{$test}::$test; + } + function test7839956c28929aa4fb765599d6e92300c45fbd5e5ac4c58f0640b5ffc2c6e43a() + { + $this->assertTrue(true); + fn() => (isset(($test -= $test)::$test)); + } + function test7b1ba5f8c5f0dd9428c27e7f13bb555798bd1e3d2d2b8bffaf9511f5bcbdb632() + { + $this->assertTrue(true); + fn() => (isset((eval($test))::$test)); + } + function test822ab284bd546e20e5c646f871c4f15d0e00b48bbc030aaabd58d4aea766dbf1() + { + $this->assertTrue(true); + fn() => (--$test)::$test; + } + function test85e996c50726b962143afe7201f2599cac2910851a37a33772f3e70a802f83e8() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}::$test)); + } + function test880990fe237d58107880ffc939aa41970d7cd452a23ca1cdfe32daef94fff2d7() + { + $this->assertTrue(true); + fn() => ($test >>= $test)::$test; + } + function test896c0588114f09e25aeb0a0d0fac76f2f4ad6feb12902e00b2cb8eec7cff2fa1() + { + $this->assertTrue(true); + fn() => (isset((new $test())::$test)); + } + function test89ad8c0c6ec9bcc30d1f4715b9bb9c7f5ed60611d2ba91dd164f4e46c0943cae() + { + $this->assertTrue(true); + fn() => (isset(($test =& $test)::$test)); + } + function test8bcf57a61c1dad06166c088e45a1ad151cad9b26dfd62135d94eb05f3eac8d69() + { + $this->assertTrue(true); + fn() => ($test **= $test)::$test; + } + function test8c20f2aa1c0502623614b4932b671d9efda1f4dee8687d83c4a909d465db52b4() + { + $this->assertTrue(true); + fn() => (isset($test))::$test; + } + function test8f5dd52bdeb6eb34a8bf94e6a745425c5003c6c7878c8af3e7c778b2489c3c63() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}::$test)); + } + function test914e6aa204353e657cded22b4f83ad8cdb7d6615f578f37448274e62c2f0d8c3() + { + $this->assertTrue(true); + fn() => ($test += $test)::$test; + } + function test92c0675840ab95427b5553e3447775fa07d3663e580423868f7cf82028e94746() + { + $this->assertTrue(true); + fn() => (isset(self::$test)); + } + function test9d609eb5b2ddae9ff26d1f4edc780b87d126a8562e6c3673802027025584adad() + { + $this->assertTrue(true); + fn() => ($test instanceof $test)::$test; + } + function test9e38dd7941e6167590bbabfc86ef006f432d152b92a3f84d68bed4b443c5237d() + { + $this->assertTrue(true); + fn() => ($test &= $test)::$test; + } + function testa1870f63e9659ca44a62593193c061cb00dac03563eb3f4d46965698ae49e68e() + { + $this->assertTrue(true); + fn() => (isset($test[$test]::$test)); + } + function testa1f0aa9e5eecacb568d31e24458b419998f4bf868104a9fb86d26bbe13ac25b6() + { + $this->assertTrue(true); + fn() => (isset((-$test)::$test)); + } + function testa2788d590cd974067fb0e61d620a0fec8869af1dc66df65c12c254b0ecd21903() + { + $this->assertTrue(true); + fn() => (isset(($test += $test)::$test)); + } + function testa2fa061b11fd8ef71fbc1af1459112c0371ccd0b59d8136cf4e115b6cacc75d3() + { + $this->assertTrue(true); + fn() => ($test ??= $test)::$test; + } + function testa6478cd5e90cdccc17cd777c925a76802c1c73fdd359e79424495605b079c168() + { + $this->assertTrue(true); + fn() => (-$test)::$test; + } + function testa7def32c563334cd7f1f69baa83209c13d87a3af935243a9f306f72ff4e7cb21() + { + $this->assertTrue(true); + fn() => (isset(($test)::$test)); + } + function testa885ddca3120b5fcd7137af9fc01e20ccad3a3eeafa28e3b04ae3d308c8add7c() + { + $this->assertTrue(true); + fn() => ($test ^= $test)::$test; + } + function testa8f9fa0b9e55d701700c9d13e421e55612ced44dadfe796b17628ae7425d4944() + { + $this->assertTrue(true); + fn() => ($test)::$test; + } + function testa94349a53722fd8172ed9c0c47f8a356403eca63104ad256c564e14185df4a70() + { + $this->assertTrue(true); + fn() => (!__TRAIT__); + } + function testab0788efa3d933213ba93ecebb0a01fcdeb3a4e5405cd358b6ce9a9c60a65e4a() + { + $this->assertTrue(true); + fn() => (isset((++$test)::$test)); + } + function testacd02530259c4e613fa24c184b20f71dfe372841a64c574159e09a857aa637a3() + { + $this->assertTrue(true); + fn() => (isset(($test instanceof $test)::$test)); + } + function testb1e18b9b250a0e91626e9b8f984101f04a79429cdfd46934717fc36ee13197a0() + { + $this->assertTrue(true); + fn() => (``)::$test; + } + function testb3b3e1b5c6f4e46a5ce5ef1c74932199f2909a86f211fcbecd4ce5ee2b37c1c8() + { + $this->assertTrue(true); + fn() => (isset(($test **= $test)::$test)); + } + function testb73c758966f212e7726ff3345e7343f4cea29e00907272fc195d44cfdf0ecfb7() + { + $this->assertTrue(true); + fn() => ($test *= $test)::$test; + } + function testbcc93bd6f54401d7039df852e6a18c289f48d0c649e4a242e53e3238583d6bd0() + { + $this->assertTrue(true); + fn() => (isset((!$test)::$test)); + } + function testc031d55ce1659e9fbc2aa7df2ce7aa33cc52a6a345d228fa5bab72dde0267d6e() + { + $this->assertTrue(true); + fn() => $test[$test]::$test; + } + function testc15267fb550500ab0a83e113f92f3430cefee17dc3a6746d98c35d52a66ab0a3() + { + $this->assertTrue(true); + fn() => (clone $test)::$test; + } + function testc2510e8f19f0f6b00f54aa3fb9157ba505d0e02d8b3cc3effe67566378b69e18() + { + $this->assertTrue(true); + fn() => ($test--)::$test; + } + function testc264a22c08cabaa3873dfc22cbeeaf15bb389b885d12d209ea2b083a51c9db1f() + { + $this->assertTrue(true); + fn() => (isset((isset($test))::$test)); + } + function testc2ccf74f65b6ef48bcc63d284ca19960d99e95d62ce524ec2d5ad5123fd83af1() + { + $this->assertTrue(true); + fn() => (~$test)::$test; + } + function testc2f5ea26d288976eb1d9d89b23eb7f24c674a4e89f0ea083d9e940eb57f37e7a() + { + $this->assertTrue(true); + fn() => ($test %= $test)::$test; + } + function testc3942eecce436165418efec9c71b40f580e1bd2367e2acdec82de24c34c55b75() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test)::$test; + } + function testc4538c989deced6909686215b995c96c9a971e0d4563d366102e5040e4bc6a03() + { + $this->assertTrue(true); + fn() => ( $test)::$test; + } + function testcdd19993bb6956e3a7bbcd16d500f4303c935b2da8d2dcbeac3aba278dc14719() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}()::$test)); + } + function testd175116ac7daf19a690c4ff6d61d4e4bbee9a350e6f604aa034af627c6f6996c() + { + $this->assertTrue(true); + fn() => (isset((empty($test))::$test)); + } + function testd1a2ac4ed112668d25fb771f83f7d8ffec27fc365d18619d3e20b6e05fe74692() + { + $this->assertTrue(true); + fn() => (isset(($test++)::$test)); + } + function testd52456930e1418d3d19ff582fe1a8070190851c13e045b5a30acaadb687197d9() + { + $this->assertTrue(true); + fn() => $test::$test::$test; + } + function testda79313b3016e7ff2469f8c25953e756d1a40d5625fc4df6a00a0ded82346c24() + { + $this->assertTrue(true); + fn() => $test::$test()::$test; + } + function testdb67db6f49012563e8aaeeff3ede91f0ecdb87237177c7fdfff4ea1a876a22fb() + { + $this->assertTrue(true); + fn() => ($test =& $test)::$test; + } + function testdb7ad093e13569c86b33920e6aed7b6089da30bf514f6593bc05dfa14e9deda5() + { + $this->assertTrue(true); + fn() => (isset(($test %= $test)::$test)); + } + function testddcc717003c6aa34a37948d79693158f7ec09b2b2dd6d95d29d6400f1e8aaee9() + { + $this->assertTrue(true); + fn() => (isset(($test *= $test)::$test)); + } + function testdeaa32902f036505d110be4b2971d22f08b561050c23ccdfa5dffaa3c76933e4() + { + $this->assertTrue(true); + fn() => $test::${$test}::$test; + } + function teste46b535080712a9fbd6b30cda3da8c3522a334c998559b6d0aa3abb0f015b60c() + { + $this->assertTrue(true); + fn() => ($test -= $test)::$test; + } + function teste669898c3a2ac2ac7d56b795f8ea233bf160ccb1afeaad903b102fd9e85d06a6() + { + $this->assertTrue(true); + fn() => $test?->{$test}()::$test; + } + function teste697c4cc1d6932f89348974bcdd437c74d1a648425099d399dc4d086b3be7b81() + { + $this->assertTrue(true); + fn() => (isset(($test |= $test)::$test)); + } + function testeaa7f80b8175f33baa51eb0840e33b81373f35134673ce532394a2a1566f6364() + { + $this->assertTrue(true); + fn() => (isset(($test = $test)::$test)); + } + function testeb03714508864e6ebe1531bb3f1b1c0f81c8290819724bc9b735b528bc4854fe() + { + $this->assertTrue(true); + fn() => (isset(($test ? $test : $test)::$test)); + } + function testecc807ee57ead0492b6ea2bfb8de6a7de90d7b486ddfc4d7630df0f7cb1ee4a5() + { + $this->assertTrue(true); + fn() => (isset(((yield $test => $test))::$test)); + } + function testee1d35cbd704b8c5b33330b95d7e4c250a3273776a60233a72e62027924b7976() + { + $this->assertTrue(true); + fn() => (isset(($test--)::$test)); + } + function testf2bd9afd0533f13cba8905d1bf0aa93df60cfda86ad8d9a7a56541b431175c3a() + { + $this->assertTrue(true); + fn() => ($test = $test)::$test; + } + function testfd4e3a139aca161ad54025450bcbf8b7a4319a03712f37d3c9c684da541d75f5() + { + $this->assertTrue(true); + fn() => (isset(($test ??= $test)::$test)); + } + function testfddb23cc4e2ca9b03d15264d28bb0692c23d60d60e62244da519d3b53b04c83a() + { + $this->assertTrue(true); + fn() => ($test <<= $test)::$test; + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest.php b/testsGenerated/Target/Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest.php new file mode 100644 index 000000000..7b7aba213 --- /dev/null +++ b/testsGenerated/Target/Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression7f9d9b5f25ed394857a6e50d7c9830e7d3424eca29de0c16bb52ffd0c03bfaabTest extends TestCase +{ + function test0193faa97d25e7817c179889782e04b7e524d4a347b3e14192d80642be082bc5() + { + $this->assertTrue(true); + fn() => (($test === $test) !== $test); + } + function test05d1dde776d42154cf5615c048e8a77cc4a3fcf2a321f03d907d5fc3be3fe941() + { + $this->assertTrue(true); + fn() => (0 !== $test); + } + function test062464e9d90e679eb294c68918d9a28b4cbeaca2a0e6f0376fde1a0e766f4d4d() + { + $this->assertTrue(true); + fn() => ($test > $test !== $test); + } + function test075824077c4cb97ccabf5956a19d1b45b1a2ecaeb500d9ea9c182b2898e5ce51() + { + $this->assertTrue(true); + fn() => ($test < $test !== $test); + } + function test08f571dab25b71ecb5eac667737e2cee1ce059d6241273d5a092818f2c89c746() + { + $this->assertTrue(true); + fn() => (__FILE__ !== $test); + } + function test0cdbdfbbab1e77d9ff0f587c5be22f0cc383001a1ec6c3e4f09ee0e409fc1d59() + { + $this->assertTrue(true); + fn() => ($test - $test !== $test); + } + function test0d1c6d33014cbba7b30f693e03c52d2b52f4a5af8ed4d678e6d8b0372974df82() + { + $this->assertTrue(true); + fn() => (($test /= $test) !== $test); + } + function test0e7ba34bc7a3f4c62317fc65ae54013ab70aceedb4a85fcf382ba599d7d878cc() + { + $this->assertTrue(true); + fn() => ((array) $test !== $test); + } + function test0f401d071232647400e9d7652e86ffdd7b8a493d88dc5194aa9d7a3a3fecfec2() + { + $this->assertTrue(true); + fn() => ([] !== $test); + } + function test109129e19a4bcb3920aedd836863f84c20aa8f5c12aacd83630ee6233e8ab2c0() + { + $this->assertTrue(true); + fn() => (($test %= $test) !== $test); + } + function test12f82ca985dece30546c0e53f5ed0d8babadd24c3dd9cb37fff530871226c274() + { + $this->assertTrue(true); + fn() => ($test?->{$test} !== $test); + } + function test165e8a5242b8ef2c7933321bc83ddaebc029c4930f8662f1532aed62371a8a20() + { + $this->assertTrue(true); + fn() => (new $test() !== $test); + } + function test17ef445d1f1d160646ff88ba82749ee3e5857ff47bbc2906a8c47839ed47d366() + { + $this->assertTrue(true); + fn() => (($test & $test) !== $test); + } + function test24169f382cf38f8fa6f53708f4d1388e670565d43394ef5ea1a05cecb3cc932b() + { + $this->assertTrue(true); + fn() => (+$test !== $test); + } + function test29a26858a86a4bb9b825c225bc03e34202e7c4d7f78bcfaa9e792c5aa8bc8b2d() + { + $this->assertTrue(true); + fn() => (($test or $test) !== $test); + } + function test35c680e5b60d756e803285b94932390a9d069baa778d1847a38461e70d666fe3() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() !== $test); + } + function test36de14257f4d8a299b8a56df89bd1035d68fa651e272adc71e93c0c5c0ca39f6() + { + $this->assertTrue(true); + fn() => (clone $test !== $test); + } + function test3d9415a37a0750dbe8ae986bde34c9c9201b8a5421c23828f0fb2cf75af21d9e() + { + $this->assertTrue(true); + fn() => (throw $test !== $test); + } + function test3f4ee2f1176dd21ac7b6a51e3ce88553cd1b65382316a998904378b0892ad219() + { + $this->assertTrue(true); + fn() => (__METHOD__ !== $test); + } + function test4263f8a4e373b53d8f00f357e277e0f5fb4e7437de9bf879638a981ba424938f() + { + $this->assertTrue(true); + fn() => ('test' !== $test); + } + function test4408187b7c70728ac658dddd367b2b3dfa1f4c56c720fdc76a60ff68b7abee3f() + { + $this->assertTrue(true); + fn() => ($test::$test !== $test); + } + function test44d5c08dfa5f229bdf7bf0aa74d03b12a44e5c26f85979e98046cd71c3e1740e() + { + $this->assertTrue(true); + fn() => (self !== $test); + } + function test4e06378d90268f98e102cd6b0f615dcdf1d6e0883a9114bdb1a8d8fb93d75e51() + { + $this->assertTrue(true); + fn() => (($test | $test) !== $test); + } + function test4e8c57ccbd0cbf99c6000dc8207e14f43edf4fcf9ed14e3654cb81e0e51a8ebe() + { + $this->assertTrue(true); + fn() => (($test &= $test) !== $test); + } + function test4f27e1e4d3a3a93d70a61f5de70d7aa8763b8af05488b10e734b042180201fe2() + { + $this->assertTrue(true); + fn() => ((yield from $test) !== $test); + } + function test4f8c56c1c344ff6ed6f4b95752cbc370d1c39ea974725060edd3eac813aa16e4() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ !== $test); + } + function test50e9d51ccdad65e21777ce23344ee3f1586dba5840a779db8bfb3b7790528adb() + { + $this->assertTrue(true); + fn() => ((int) $test !== $test); + } + function test5363175c5dd82756ebe25d50f03dbe3ef25bfaa0823760d0434af9cfc3e190cf() + { + $this->assertTrue(true); + fn() => ($test->{$test} !== $test); + } + function test556234926e6071fe61271e64c816c58d585f76f7217dc2319ba1f0b741d43351() + { + $this->assertTrue(true); + fn() => (($test **= $test) !== $test); + } + function test56ee9ed4a4f8e4797cea3d2ad3eaebaf53573d27b10bc485da69ac659bc3ffe0() + { + $this->assertTrue(true); + fn() => (function () { + } !== $test); + } + function test57634eb5e53153da4b71f5b2529ccdfce84060f40b43ad7d7f3c47af2e0a5392() + { + $this->assertTrue(true); + fn() => (__CLASS__ !== $test); + } + function test5ad42519a494ec5d1e697b917b70ba075c2635c82a2be2749d433a1051d93b43() + { + $this->assertTrue(true); + fn() => ("{$test}" !== $test); + } + function test5d9e1a996ebd641e49da3531f997b46785403a36bfb4ba0addbcab10863a6ae7() + { + $this->assertTrue(true); + fn() => (__LINE__ !== $test); + } + function test649cbc9c7260993363053540a410eaca7307e23a6ceb997324756ffbdac1f5f6() + { + $this->assertTrue(true); + fn() => (($test *= $test) !== $test); + } + function test671a58c56dbef701e5c2095c2b20b9f91cfeb467d92d57c8b3056bbb023a16d6() + { + $this->assertTrue(true); + fn() => (($test ^= $test) !== $test); + } + function test69ac643742aedbf6dc0f13673526b3908d10ace975d13f01e36e64ef3631c3d8() + { + $this->assertTrue(true); + fn() => (__DIR__ !== $test); + } + function test6ca6036e5f512d98ad091bbb2e70dd811d604df62e309d5a7f372ed775fc5307() + { + $this->assertTrue(true); + fn() => ($test::$test() !== $test); + } + function test6e1dd316ae2838821fafc77efa96e65af00c16200e14182a0851434aa2519779() + { + $this->assertTrue(true); + fn() => (($test == $test) !== $test); + } + function test6f851b622ee5f49f567c89c821dc5da1e45d3ced3f03db872eb9b6e1b03f2564() + { + $this->assertTrue(true); + fn() => ($test + $test !== $test); + } + function test7183d7b276d7a937d5b87d7115571c39e1d47ce381a1f4934dc1c987e9de9848() + { + $this->assertTrue(true); + fn() => ($test ** $test !== $test); + } + function test76f441dbf7cc9e26dfedde6dfd4d0f3067766ce42b542f327f228d81e048b10f() + { + $this->assertTrue(true); + fn() => ((double) $test !== $test); + } + function test7aa27567db4b876557326c081aa7299957713a64402c0a735eeba319ff534724() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) !== $test); + } + function test7cd41ce7d749d671bd8a18edb83bd82807937625c247f741534fad889a504260() + { + $this->assertTrue(true); + fn() => ($test->{$test}() !== $test); + } + function test7d8fbae93565d3b0463680b4b7aca37810fe24331bdd1b90cda3895432cd8da6() + { + $this->assertTrue(true); + fn() => (($test += $test) !== $test); + } + function test81493526d00b1375039f15f1badbf9dd620c4771489f453434cf7a43e8438096() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) !== $test); + } + function test8395c7f20a2db769ead6e36efbebdd04502528a9698814c0afaea0839eab001c() + { + $this->assertTrue(true); + fn() => ((print $test) !== $test); + } + function test83f7d005468249b1b9c1c4940b3942815e45e8d604315914fea3ec2bafaed544() + { + $this->assertTrue(true); + fn() => ($test >= $test !== $test); + } + function test8415e6a6eaa9b7794a445444139e4a0f6a5a1e9b7bf679291143f6423f5d52be() + { + $this->assertTrue(true); + fn() => ($test >> $test !== $test); + } + function test85bb928fc5d8d1a9aa949128ed37e0044492dca639c04dc2e8fd019456af4de7() + { + $this->assertTrue(true); + fn() => (${$test} !== $test); + } + function test8619af7c8b34b830fbd0ff2fa43e037fbee6788c059630b2bade7813cd6e8002() + { + $this->assertTrue(true); + fn() => ($test << $test !== $test); + } + function test87a6032415258789e7ea08a36265eb4dd6e40c1ecc119501a8592e8be7c8e718() + { + $this->assertTrue(true); + fn() => (($test <<= $test) !== $test); + } + function test87f04d88d75e5fcef166a6f3d8a29b9470932273e0b6c80e12f4c830ccd667d2() + { + $this->assertTrue(true); + fn() => (($test .= $test) !== $test); + } + function test8994b3125bedca76f94394179b67031e87ce54d460cdc8e63e95d23fcbe1f368() + { + $this->assertTrue(true); + fn() => (($test |= $test) !== $test); + } + function test8ab98af13052934780dbdf921c6f31119b415a87f7817014c20146de1d124327() + { + $this->assertTrue(true); + fn() => (0.0 !== $test); + } + function test8d26cd62d54f822aeddaba94efd15bbe42231d76db0b0eb0162a0b75fc6fc5a5() + { + $this->assertTrue(true); + fn() => (($test <=> $test) !== $test); + } + function test9242714720619b5004adc836e233d91094ea90a6396f64b6f90ff4afc8b9a624() + { + $this->assertTrue(true); + fn() => ($test <= $test !== $test); + } + function test92fadd227ed6678a07ab972bde12a7b4b60cc894f1bd99f838b61dccffb96745() + { + $this->assertTrue(true); + fn() => (($test =& $test) !== $test); + } + function test942c88196ddb0b53698262683ee919794b267a84cb36966ffff38ddd70c4453f() + { + $this->assertTrue(true); + fn() => (match ($test) { + } !== $test); + } + function test99357aa68e28487dbb9978907758cc330d292a1b0e3279b66d25f9ca70954137() + { + $this->assertTrue(true); + fn() => (($test ?? $test) !== $test); + } + function test99bd3f187b1cd3419ea1e7c82788bb9d5942bbcb254d94938ae922a39f6cfcf4() + { + $this->assertTrue(true); + fn() => ($test instanceof $test !== $test); + } + function test9caee27646ae85f00fdbb79d5fbaae13611dc4406e043ee06b22db7db33a68d4() + { + $this->assertTrue(true); + fn() => ($test % $test !== $test); + } + function test9ed965f7acb5af188e388a45d8975d90aaac7340d32d65fb889306c961a0db5e() + { + $this->assertTrue(true); + fn() => (-$test !== $test); + } + function testa35dbdacc4986ebb616768e407f64f2168010e81bb4912757dd61f5a0e75e390() + { + $this->assertTrue(true); + fn() => (isset($test) !== $test); + } + function testa8c8f0074b3d9ca039c1b262a727ad51a8f122e9a413534c669c309700f46b16() + { + $this->assertTrue(true); + fn() => (empty($test) !== $test); + } + function testa9f3eeed8ed884d84627aaf980a9868412d12dde96f7c33f6fd136be5157e4f0() + { + $this->assertTrue(true); + fn() => (--$test !== $test); + } + function testabbe5a6a4e2018abe68b7eb0a38579cf07a56beec615e94211e9b60f53e74e80() + { + $this->assertTrue(true); + fn() => (eval($test) !== $test); + } + function testabf44ab6d0b2b1ca72934047730458dd068cfe5fd9327ce4f143b3b1ad020ec4() + { + $this->assertTrue(true); + fn() => ($test !== $test[$test]); + } + function testad7917178daea2e4e9500aaf8392cf202b13780a7b60d8461318b1fa03b9cc3c() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ !== $test); + } + function testadabca7247a5a4736b73093463d7329a6ead5b196e191c1e345d9cf7e26a4bab() + { + $this->assertTrue(true); + fn() => ($test . $test !== $test); + } + function testae2037b7fed6bf38e1b4c4c62375134511e04befa00ba9f974e7beefadca53b2() + { + $this->assertTrue(true); + fn() => ($test-- !== $test); + } + function testb399e983a82f6feb03522bf79d42e41831324b1654ab2d6ded2179bc5a8e1f8c() + { + $this->assertTrue(true); + fn() => (($test != $test) !== $test); + } + function testb3f162d660138f4c156fd9a3896a928b34c82f500d724d9a55ac0e1f0726a24b() + { + $this->assertTrue(true); + fn() => ((string) $test !== $test); + } + function testb4a9fa11ce9044973079e199ca164f7492f49fbcd8505a93002a29e15f27d1f5() + { + $this->assertTrue(true); + fn() => ($test != __TRAIT__); + } + function testb54da7892ebcc3bbdb512f85d31774e2825d182d655b65a8a07bd1ec4e81c4b9() + { + $this->assertTrue(true); + fn() => ($test++ !== $test); + } + function testb6eb313fd270bcfd3d3f52cf512b1fbac45482993f96122e43c3c2f394394906() + { + $this->assertTrue(true); + fn() => ((bool) $test !== $test); + } + function testb73d5a552a28e27b957f7f677c183b1810f566066882b2882ea2836e1995aac1() + { + $this->assertTrue(true); + fn() => (~$test !== $test); + } + function testbd94cb316c7fa55ae319688fa9720c74adfece3f3879b71ab63e43bec4124640() + { + $this->assertTrue(true); + fn() => (__TRAIT__ !== $test); + } + function testc25501be2d3b2b7c19ed13575e28369a8390ff6ae27ee9d024e5b9521109103f() + { + $this->assertTrue(true); + fn() => (($test -= $test) !== $test); + } + function testc808fdb980e62a3f420c104330ac6d4c6d2d84165ec9384057cac1cfef841980() + { + $this->assertTrue(true); + fn() => (`` !== $test); + } + function testc954eadd529128f5453fb3f5437e8477aebaf3526f3af1fce2e3de9441a33901() + { + $this->assertTrue(true); + fn() => ($test / $test !== $test); + } + function testcb17a9743db63d48856767ed5af5b1227dadde16ec62e079b9fa08538bd268bd() + { + $this->assertTrue(true); + fn() => ($test() !== $test); + } + function testce3319913d02aa3175fbdd078f6359307a17bed52ac0df95ff1424d75d88d11e() + { + $this->assertTrue(true); + fn() => (($test && $test) !== $test); + } + function testd62e551ed48867d9c6d5f3796f186a3aba183fd275f5cd8ab82938b79932828e() + { + $this->assertTrue(true); + fn() => (!$test !== $test); + } + function testd655f820e6d09a209a86b326f77378ab34fd5360042ee35269061d0c3ac5f93b() + { + $this->assertTrue(true); + fn() => (($test !== $test) !== $test); + } + function testd8f690f44c09aedb058deb293bb789af13ee9ba1b5c3b3e45de39451bd4e61b8() + { + $this->assertTrue(true); + fn() => (( $test) !== $test); + } + function teste3b55c5fa9f0b6daff6432aedc34606759ffecc30af548c6cf6250ef5f5ef9b5() + { + $this->assertTrue(true); + fn() => ((object) $test !== $test); + } + function teste42a8f19ba44ce5ee8726081337a2d148f44312e8aecc8563dbcf19e34c24f12() + { + $this->assertTrue(true); + fn() => (($test ^ $test) !== $test); + } + function teste73566fd512b7a27a5538c013db5e83b6005abe342c3de672a513d18e79670cf() + { + $this->assertTrue(true); + fn() => (($test xor $test) !== $test); + } + function teste90d3dcd090fd384ff4e0329e64f8c24bfa63c295da643967a8d6648898e63fd() + { + $this->assertTrue(true); + fn() => (($test and $test) !== $test); + } + function teste99b1b58b36071bef67f104791703e37e5136ebf1c06aab5859fb088389db16e() + { + $this->assertTrue(true); + fn() => (($test = $test) !== $test); + } + function testeb3a34c7a7dcd41419ce062c8ae27190aa2d044f0a99c86e6eb69246518bbb00() + { + $this->assertTrue(true); + fn() => (@$test !== $test); + } + function testf25e2bcfad0d387919bb06f718776c4388b2399988a7d526ec712daec3df395a() + { + $this->assertTrue(true); + fn() => ($test * $test !== $test); + } + function testf2884f61ac7835708b7d9755d2a302bba9c4eb169f0370b54fcd543a31c76a4b() + { + $this->assertTrue(true); + fn() => (($test >>= $test) !== $test); + } + function testf2a5fb6a0c35551905bdbe61bd6557c6ee2a1dfeb6421fce1d56a0380c25b650() + { + $this->assertTrue(true); + fn() => (++$test !== $test); + } + function testf67f046b49fed71ffa49aab834b7b7fd0f962872fa6f36e93e45663943c40a30() + { + $this->assertTrue(true); + fn() => (($test || $test) !== $test); + } + function testf9881b26122b46ecac4f06c5ec3136b7c0a5e7a1925e66fb0313ba06fd7c1606() + { + $this->assertTrue(true); + fn() => (($test ??= $test) !== $test); + } + function testfb3c04a77fc963a99eb83a4f51585288a88b61e55042d86db39f8dfa9b3fb252() + { + $this->assertTrue(true); + fn() => ($test != __NAMESPACE__); + } + function testfc29d9a0c153f1452d9416b664a49f4d89334c8e8992bf62f47efc02d35fa984() + { + $this->assertTrue(true); + fn() => ($test::${$test} !== $test); + } + function testfc8029a55f6f2d054d92b1b8b2a5927e334aac260961432ba6f2e42c48e47de8() + { + $this->assertTrue(true); + fn() => ($test !== $test); + } + function testfe0a7a8eb9b654026fd1ce8323e304564146ff0d188124ba16f8d558ebd8b4df() + { + $this->assertTrue(true); + fn() => ($test[$test] !== $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test.php b/testsGenerated/Target/Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test.php new file mode 100644 index 000000000..5ce2fad57 --- /dev/null +++ b/testsGenerated/Target/Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression804201faa6b195f796bd740107b21d8314676a6664c2b8829c7ffa9e4a5c8a99Test extends TestCase +{ + function test00df8c4a894658c2a6936db2786975dcae42704b0f9f8cab65499b5abe6a1436() + { + $this->assertTrue(true); + fn() => ($test ** (++$test)); + } + function test01a7a40c2a5974f4753bc9c126a7111ee68e3395a48fca0257072f67f6253892() + { + $this->assertTrue(true); + fn() => ($test ** ($test ^ $test)); + } + function test0250d082baebe4831705b2e051c5b9127e3a4bd6942781d4a2ba0fcad611426b() + { + $this->assertTrue(true); + fn() => ($test ** 0); + } + function test039ae0484fa143bd93d70c5f95a3496b813ba46c4db70d79201fda2ada2af218() + { + $this->assertTrue(true); + fn() => ($test ** $test::${$test}); + } + function test045adb2c76773e2161dd8a8902ed7377cc1a43b46ad089a8371c8e12bae4cf39() + { + $this->assertTrue(true); + fn() => ($test ** ($test & $test)); + } + function test060d03e839b686870e87c42e19d6bcbdf3111d83f8bdf50eb8f3ddf962b59b6b() + { + $this->assertTrue(true); + fn() => (( $test) << $test); + } + function test0756dcd7aff8cb68d31906129cb43e3c9a2268625171a78fb37b8e96f141c263() + { + $this->assertTrue(true); + fn() => ([] << $test); + } + function test0c07e33445abbc8aac9c18fd2bd3c83150da648f012a3ca379bb30547b90cd5f() + { + $this->assertTrue(true); + fn() => ($test ** ((double) $test)); + } + function test0dfdffbbb0856232fc7a495966a54df7efe36415a0f339d58597e7cfffc12fe2() + { + $this->assertTrue(true); + fn() => ($test ** ($test **= $test)); + } + function test138dbf5d6cf5a002978d0567cd393354c94c2bcef5e040f0625895b3ec0273e4() + { + $this->assertTrue(true); + fn() => (function () { + } << $test); + } + function test19525a7ae3408f1384dbe265f6e5e5b6766817c6aab43f62d7be0f218e8ef732() + { + $this->assertTrue(true); + fn() => ($test ** ($test .= $test)); + } + function test1aba47956f0e72de9a4ee77892cde4b651b804b623302c293777e50eaee4f7e0() + { + $this->assertTrue(true); + fn() => ($test ** ($test < $test)); + } + function test1ad083692d46189f24c802b4b523766c75a1c773ca8bb8a4b7e88f6adaf62662() + { + $this->assertTrue(true); + fn() => ($test ** $test?->{$test}); + } + function test1b2f1d475680164e74f4ec5ac1f54790ac0893e1329a0ec6e8547e9d11959471() + { + $this->assertTrue(true); + fn() => ($test ** ( $test)); + } + function test1bcf3edb3b8002390e4ee4ec1a4afbfa753d0d71620e721810b510f82dc88fcf() + { + $this->assertTrue(true); + fn() => ($test ** ($test <<= $test)); + } + function test1bda912440fdaedc176295e7324282fa5f99543e3dc48669c8c642aa1868dfb7() + { + $this->assertTrue(true); + fn() => ($test ** ($test << $test)); + } + function test1bebd0b91909021bb38898bf993e1878835440d024da1633fe95c7fbc762a1ac() + { + $this->assertTrue(true); + fn() => ($test ** ((array) $test)); + } + function test1e3159372e30ec8d76ae38c2a586b93e5d423be77c49beabfae3e7a588fcc0cf() + { + $this->assertTrue(true); + fn() => ($test ** ($test !== $test)); + } + function test1ffd33d0e80aa3c79dccd6b082ad57d2fee6d7cc1b40696fe1dff2211a3b82bb() + { + $this->assertTrue(true); + fn() => ($test ** match ($test) { + }); + } + function test1ffffb5046bdf2b6cdeb096ab9ae8319cbf40563729241eb9ac807e4531685fd() + { + $this->assertTrue(true); + fn() => (@$test << $test); + } + function test240e0a7aa6d82e3d341af0686f91f4e3d3618650efe0832a53db044ed667e471() + { + $this->assertTrue(true); + fn() => ($test ** ($test ^= $test)); + } + function test24167160d2c4084dd22572ca3478522f0d9e69ea83b8245f3c6cb4b93deb8c62() + { + $this->assertTrue(true); + fn() => ($test ** ($test and $test)); + } + function test2734e567e3309e6619e3a243a8d260e15dbd75aee04a479153fe7e6385176231() + { + $this->assertTrue(true); + fn() => ($test ** isset($test)); + } + function test297b711883cac7fa660c3d7f6a525e5364819101c5c8c1b0271aeab6361b2c44() + { + $this->assertTrue(true); + fn() => (!$test << $test); + } + function test328ce2f72daf2a94d771fe7d20cc16ea6453e6ad3d77b16817db94a1ce9aa8b9() + { + $this->assertTrue(true); + fn() => ($test ** $test->{$test}); + } + function test343dea94b47b30e49f2c42716714ab473c4207f755db018aa0223035678e78bc() + { + $this->assertTrue(true); + fn() => (empty($test) << $test); + } + function test34becce7e0f01e47e3d2159908d223e0ccda8c7c072d16773995201c145e22c1() + { + $this->assertTrue(true); + fn() => ($test ** (-$test)); + } + function test37b66c3be639c1ec5810a563f4452078357f1c2459a8c85b175b5fe8892f9821() + { + $this->assertTrue(true); + fn() => ($test ** ($test >= $test)); + } + function test3ca3a1e508083beb3f5ac32689be79efeab3a4f81bef98434ceb0c846afaab57() + { + $this->assertTrue(true); + fn() => ($test ** __METHOD__); + } + function test446291f40082345379f8f4eb23bf3124dd64f65809a555faaeec4f0b8e93c7e7() + { + $this->assertTrue(true); + fn() => ($test[$test] << $test); + } + function test447566756732f7230f368ff6fbf48b0bbb96e9f8aa228eb48107d69c6e9eed84() + { + $this->assertTrue(true); + fn() => ($test ** (yield $test => $test)); + } + function test45dc87740596d47eb31292f3e5f9f8dd9dde9944db00763d68a72ff2cf1fd69a() + { + $this->assertTrue(true); + fn() => (clone $test << $test); + } + function test46d76c9f001d34a3542d9a880f53e44955a0f5f1d05f8437265899f93a69d202() + { + $this->assertTrue(true); + fn() => ($test ** __CLASS__); + } + function test48b9ca8e94f61f6b350a659cfb57689c6305a5b0744a59f78a369d12ec8b7426() + { + $this->assertTrue(true); + fn() => ($test ** ($test / $test)); + } + function test4b4d2bc39e0adbf34f6e5ad3b0cbe84b0c116bb32d449de1abef3411e8df7dc1() + { + $this->assertTrue(true); + fn() => ($test ** ($test &= $test)); + } + function test523a79e8a12cfbacccf6b36aae4e748b502a25e2101c9eb485d2e4acecf22163() + { + $this->assertTrue(true); + fn() => ($test ** 0.0); + } + function test530dd30c99e26f6255b10a60acd7c8339eea9a5518ffc3ce60d80681dbb300f9() + { + $this->assertTrue(true); + fn() => ($test ** ($test === $test)); + } + function test539c0da964151a6bc77b548c4ce6e1d75fed2b5869bd6738743aa97668308b28() + { + $this->assertTrue(true); + fn() => ($test ** ($test . $test)); + } + function test55058ccba9e2642f41f591bed88e2cb7c24f3919b855327bdf703a5e2148337d() + { + $this->assertTrue(true); + fn() => ($test ** ($test > $test)); + } + function test5737e98c877ca6cfa7c3d8851c034d9b7c3709c3eb2c9cd813c08c17c27e843d() + { + $this->assertTrue(true); + fn() => ($test ** ($test *= $test)); + } + function test5739bde1ba83c4af22798067e208fd94afdea26ebb2c83c59ac91c40df3ad2c2() + { + $this->assertTrue(true); + fn() => ($test ** __NAMESPACE__); + } + function test5b1c011f15d13dd64239ffccc33bd9d699accc1efd5bf7766faff0b28b054b04() + { + $this->assertTrue(true); + fn() => ($test ** 'test'); + } + function test5b70106467590e8b8d0e0ee813cae248b024f9c5d8a4c69be6e05373b369b00a() + { + $this->assertTrue(true); + fn() => ($test ** $test->{$test}()); + } + function test5cb4cf21c35b48a6f5107fa6f419a2cb1c0312c1c69cd0371ed7aa8118af9be0() + { + $this->assertTrue(true); + fn() => ($test ** ($test + $test)); + } + function test64f6d7795480e58a9d9f1553552f073dfa3f1ae8c864dea7d21be2e408d9d635() + { + $this->assertTrue(true); + fn() => ($test ** ($test && $test)); + } + function test658f32acf2f3b86e109587bd48fb7436caf333eb5fe41c14c0c1440fe7e3211a() + { + $this->assertTrue(true); + fn() => ($test ** throw $test); + } + function test6988a071fe0ba2b8d31cdcf0c4adfb27a61544f0abc1cf3388cf5f17c8262a51() + { + $this->assertTrue(true); + fn() => ($test ** ((string) $test)); + } + function test6ed363f8a4d0de41f17c8ce7abeec8c1f03e9b8d71857382a41cdb90392c7fdb() + { + $this->assertTrue(true); + fn() => (($test = $test) << $test); + } + function test6fe9fe880188dd295b60b3d6c539798e29bf132f985b353b5d4edf4910b51d0e() + { + $this->assertTrue(true); + fn() => ($test ** ((bool) $test)); + } + function test7275fc93c3341871a79de4734793d1e93de2c774d345176e0672b427145aa266() + { + $this->assertTrue(true); + fn() => ($test ** ($test * $test)); + } + function test77645380ea2c6c596d594c3c55bc83976968ebc2788f20ef744f4920b346eb0a() + { + $this->assertTrue(true); + fn() => ($test ** ($test++)); + } + function test77c747be56f29bb5a83946872d3605721d3f5111a219feee38861a6c5da588ba() + { + $this->assertTrue(true); + fn() => ($test ** ($test != $test)); + } + function test77d251bd3ae4b20a02670cadb83101e1a44b131b1c865c00e8151070b2dea45d() + { + $this->assertTrue(true); + fn() => ($test ** ($test -= $test)); + } + function test7d6608cf25ed21e1735a0b883126cc37b79ef6ec33376dcd07a61ec96e634442() + { + $this->assertTrue(true); + fn() => ($test ** (yield from $test)); + } + function test7dc9e68f2fb24d00219bdda627195cc4181ad90b4608160f8ba78f0b6131f92f() + { + $this->assertTrue(true); + fn() => ($test ** (+$test)); + } + function test7ece83c21f3a807aa895270b139b8d16e1b077464b0fedaf462e3e1a0bce641e() + { + $this->assertTrue(true); + fn() => ($test ** "{$test}"); + } + function test83c6557ef0ee14604dbc82cb4a871ba25e39d273f4b377ca62d1d32fa16c38de() + { + $this->assertTrue(true); + fn() => ($test ** ($test xor $test)); + } + function test884b2e89d4d6e761c80a4ad2bb9b53c6610f629be35daa8c9a8e4979f48eb811() + { + $this->assertTrue(true); + fn() => ($test ** ($test ? $test : $test)); + } + function test8951beaa8941496d8c18c275e5b40784db720b07e3eeb14271786f6a00d1924b() + { + $this->assertTrue(true); + fn() => ($test ** ($test or $test)); + } + function test8a4e1d693ea3f6c9c9b7b9a6af5be0e448881aa624b0d7d6f3b03b07f96e07cf() + { + $this->assertTrue(true); + fn() => ($test ** ($test >> $test)); + } + function test8df49aa4cf9f66d13b1d208e09e89f0cd2f3aa7f6bf8365e2ef0dbf847c0e877() + { + $this->assertTrue(true); + fn() => (self << $test); + } + function test8f03d925d55cbf59cbe5e2df75cfa1691db8790483c82943edddf6661305f73d() + { + $this->assertTrue(true); + fn() => ($test ** __TRAIT__); + } + function test95b10688ab38dc7215839288f27e030968e31c60593424fe6a6ae78d81b95c79() + { + $this->assertTrue(true); + fn() => (eval($test) << $test); + } + function test979b824e3d4c6accf67442c87f57ccaa7a69110341d1ea15f46e02e7770b2621() + { + $this->assertTrue(true); + fn() => ($test ** ($test += $test)); + } + function test97b3e222180bd6563e8d4e0ecc3d5bc213075ddbd5df58f28e37fcdc3f4301d8() + { + $this->assertTrue(true); + fn() => ($test ** eval($test)); + } + function test9f60d77d40600dd1ad1badf06662e999896b8435b249b4dbe317c091e1d14dd8() + { + $this->assertTrue(true); + fn() => ($test ** ((object) $test)); + } + function testa2e29039e3d4ad7d1d5de72e155421daa161b1fca81065de009f6fd4cabecd30() + { + $this->assertTrue(true); + fn() => ($test ** ($test == $test)); + } + function testa2e38197bdd451ad4669c5e325c3f9cedb82717a8d6900ae0bf4f441c4c57937() + { + $this->assertTrue(true); + fn() => (($test =& $test) << $test); + } + function testa69e105c0dc7c3690018acbb6a0ba62dedca19e8e7673169bd834b34409ecc47() + { + $this->assertTrue(true); + fn() => ($test ** ($test /= $test)); + } + function testa76d2eceba6404f119183304dd4fbade368e56bad12892490c5e4c7d6a33f200() + { + $this->assertTrue(true); + fn() => ($test ** ${$test}); + } + function testab9fbf3b411e6be0628842763f5bdfbc9b1cc55553c2cf4b71fe47798d1b7904() + { + $this->assertTrue(true); + fn() => ($test ** __FILE__); + } + function testad941e5dc9cd29b9980ed8d77f0f40c9de83a9465e31816bbd37fd92be83d57e() + { + $this->assertTrue(true); + fn() => ($test ** ($test >>= $test)); + } + function testaeda7abe32b9699ca015025726f7b21e4ec05ad055e579c1083d3a8599aa7ed4() + { + $this->assertTrue(true); + fn() => ($test::$test << $test); + } + function testb0a4804af187a9c6a0a31d8a8fbccc685e735ad2f83dae7a1aa4690b8ec6dfdb() + { + $this->assertTrue(true); + fn() => ($test << $test); + } + function testb0efa8fd1212c4b909050d207a3ec17e5d59992511bbb886279f71f7faf90f75() + { + $this->assertTrue(true); + fn() => ($test ** ``); + } + function testb300fcd718d0e6ba86a268aac4c64b9decfd693ad7520880bd817b1e5caf897e() + { + $this->assertTrue(true); + fn() => ($test ** ($test ?? $test)); + } + function testb466ed97eaa055ae128b2898b9828a6d9b2dbbfba5ea1e645b0b85ee311b3b69() + { + $this->assertTrue(true); + fn() => ($test ** (print $test)); + } + function testb5f2914eca1b92a2845abc27899aeb468b195a4c6932844e3a08634c74629f17() + { + $this->assertTrue(true); + fn() => ($test ** $test()); + } + function testb869c04c3ef76cb29c005ceb7104a361d367c8e6ca57be83d7b1235bdcdb6399() + { + $this->assertTrue(true); + fn() => ($test ** ($test--)); + } + function testb994e46a7981d96a2c1529c11057bcf820bd6c62608b38d3631bcd92518b1084() + { + $this->assertTrue(true); + fn() => ($test ** ($test ??= $test)); + } + function testbeae51c0539bc0c53de87236493116783c506ed4f42bab9733d212762ae15cec() + { + $this->assertTrue(true); + fn() => (~$test << $test); + } + function testc00370a7f51aa8c75994a97f3e222fff1f0d5f69ed558d7eedef85160912d3d7() + { + $this->assertTrue(true); + fn() => ($test ** ($test % $test)); + } + function testc3504a843175b57bbc444bb5123f5a7cc91343db791fb21e8ad595745e8a1acb() + { + $this->assertTrue(true); + fn() => ($test ** (--$test)); + } + function testc94129a43ec1463b9d5db72c8d2e8262914f6a9c21e7c7fa0d9e9caab1348d00() + { + $this->assertTrue(true); + fn() => ($test ** ($test || $test)); + } + function testcaa320e9dbe9e074a17ad391729e7c3b769e2fc21f1f1385920c842b79a252dc() + { + $this->assertTrue(true); + fn() => ($test ** ($test %= $test)); + } + function testd0c34928f5bf910dede075ede58643d7a99af97f4cfdbf0f3ee3f46e4fb330b7() + { + $this->assertTrue(true); + fn() => ($test() << $test); + } + function testd21f06b7e8e22f987529f4a7610cbcc8b36e9f16dd53dd2098af1267169b0cca() + { + $this->assertTrue(true); + fn() => ($test ** ($test |= $test)); + } + function testd3d99f67cb29730f30876db40a8dce9eaa31fac83dd77b22ca6e6fc645bea26c() + { + $this->assertTrue(true); + fn() => ($test ** ((int) $test)); + } + function testd4538b971adb7a2c50a2de63a155e07bde7e8abba92c15f94bbf771a911ba470() + { + $this->assertTrue(true); + fn() => ($test ** ($test <=> $test)); + } + function testd5100746fbad0a44f2634a2098e7f8c2e4ec27a7392420101eca6021d295eaaa() + { + $this->assertTrue(true); + fn() => ($test ** ($test <= $test)); + } + function testd766c846f28549d31e0fc775e552a6fabc09736523c488c0f3c620a899173e0b() + { + $this->assertTrue(true); + fn() => ($test ** __DIR__); + } + function testd85013c89a5909214a1957c20405cc3bc9299d7b55f40c4af7054894463a6a2d() + { + $this->assertTrue(true); + fn() => ($test ** ($test | $test)); + } + function testdbca7c947f5542c28e45e3a8165dc867d31d183f084dbf66d26a53d6a0f92a9e() + { + $this->assertTrue(true); + fn() => ($test ** $test::$test()); + } + function teste3575c7a2397bf0bbb8e97effc59eb3341bc1bfd2e9d0073b1fe346ca236b14f() + { + $this->assertTrue(true); + fn() => ($test ** __FUNCTION__); + } + function teste46f06555b059467342c3774a26cb1c66af469aba2624e6e5016d6327fa98a94() + { + $this->assertTrue(true); + fn() => ($test ** __LINE__); + } + function teste5c126b0b9ddc2ed122ee64cbf1199f4c3c64624337788fcaf39f8c5eb6ed387() + { + $this->assertTrue(true); + fn() => ($test ** $test ** $test); + } + function testec2e3cf2b2efe1b53278461e120968cbad3d24ea6588ac59267b6ae4fe7c44f9() + { + $this->assertTrue(true); + fn() => ($test ** ($test instanceof $test)); + } + function testf50250bcfcd13336613cf6a2be461074a58ac9792361030f6ef0d288612bcbe5() + { + $this->assertTrue(true); + fn() => ($test ** new $test()); + } + function testf807e5297f7e87f53522db3e4d2a03e0325b6dbf74eef50f6b161e50f80bd098() + { + $this->assertTrue(true); + fn() => ($test ** ($test - $test)); + } + function testf9b6e9bc38a4ecfb51c41eb4a16f714ab0b78a59de4582a782eb0325a3cc5885() + { + $this->assertTrue(true); + fn() => ($test ** $test?->{$test}()); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest.php b/testsGenerated/Target/Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest.php new file mode 100644 index 000000000..c95552432 --- /dev/null +++ b/testsGenerated/Target/Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest.php @@ -0,0 +1,515 @@ + + * @license MIT + */ +class Expression807753a7eb4951b4ecd97ee8d38dc8cce23c0b326c67d55c4dca043f94d12d7cTest extends TestCase +{ + function test01d1bdf6b4b24377ac45939df019ea18e382fc6e4273338662c96427fca80bf5() + { + $this->assertTrue(true); + fn() => ($test ?? $test === $test); + } + function test025660332d0aa1af27c3157520562e8ecb7498a3ce4894415710e26480d1b52a() + { + $this->assertTrue(true); + fn() => ([] . $test); + } + function test03d99ebcb6ee7b712027bec29da2706d481f05db4488db3cc7a6cdea1621d2cb() + { + $this->assertTrue(true); + fn() => ($test ?? $test?->{$test}()); + } + function test046f9d84d77e71623302ecb992e9581dfda334b507c868ab7b358327dc047c64() + { + $this->assertTrue(true); + fn() => ($test ?? $test + $test); + } + function test09f0a18373e0d797ae57859ab2b19e79261b62ae01f1ea58f5cbb45666ed751e() + { + $this->assertTrue(true); + fn() => ($test ?? $test !== $test); + } + function test0d48d3d72bda23286badc8e8be22430ea428ead8fee4e6094c8ea90ff4528bb8() + { + $this->assertTrue(true); + fn() => ($test ?? ($test &= $test)); + } + function test0d9d0ce6ad682e4cb8583c6fa7958bfd03d7cf33b442a9e996c07285e923e4b8() + { + $this->assertTrue(true); + fn() => ($test ?? ($test or $test)); + } + function test0da8ecc2ec12f8b5d9e42461778d6c1f19b7193f25c5a2a60aede2311b81f4e0() + { + $this->assertTrue(true); + fn() => ($test ?? __FILE__); + } + function test1010ca250f8d4daced54bc8623b406f9cb56a4eb620c44711749bb5ee508fa7f() + { + $this->assertTrue(true); + fn() => (~$test . $test); + } + function test1035f0ef1c8abee0b2400fe948066de490b3342d756bd20a0230cbd52e3d95ce() + { + $this->assertTrue(true); + fn() => ($test ?? ($test and $test)); + } + function test11b4cf8892cf4dc6b205345803e8c9ffeaa8b1c300e2b7f8ec700a5519e75736() + { + $this->assertTrue(true); + fn() => ($test ?? (double) $test); + } + function test11e6d30084199a808d51d9d5e817b3c91da185b8ea847c750fbe3d7b096df6c4() + { + $this->assertTrue(true); + fn() => ($test ?? isset($test)); + } + function test1477c2804890d8733ffa05f41b7e1a9c264e8a046b6685fc9bbe914595389f36() + { + $this->assertTrue(true); + fn() => ($test ?? ($test **= $test)); + } + function test186d57562d1a134b7b81f9710c70a5a59720d1dc2173a69a89ef453444222e59() + { + $this->assertTrue(true); + fn() => ($test ?? +$test); + } + function test197c8b717c58425f3765dccfd4ab86f2940434277f97d8e6dfd6dc42cf9437d3() + { + $this->assertTrue(true); + fn() => ($test ?? (yield $test => $test)); + } + function test2161f0ab933440375b354084be4a4f3cadb07dc3e7beaf34b7bf43f0f8d8479b() + { + $this->assertTrue(true); + fn() => ($test ?? __METHOD__); + } + function test22ce55285bd8a37e4a33fa69dda2cb5f0d20ecb34a92a3dd1efe2e71581752a7() + { + $this->assertTrue(true); + fn() => (match ($test) { + } . $test); + } + function test23c0de70dc95ec78826caaae311958122599c59c4e75b231cb7332a938925e97() + { + $this->assertTrue(true); + fn() => ($test ?? ($test ^= $test)); + } + function test247bb59a53fd6aff3d89536b1a08cd6c15f99ac72eec866f966e8d2027492010() + { + $this->assertTrue(true); + fn() => ($test ?? $test::${$test}); + } + function test2745e6383a80eddb9bc3011c6596888016a8771d22bde6f8a5c3040f6d3cbb78() + { + $this->assertTrue(true); + fn() => ($test ?? (object) $test); + } + function test2e33e17402a09818a60b21524994c26e222b3cca6b9cbfde934ad6a3419d7730() + { + $this->assertTrue(true); + fn() => ($test ?? $test <=> $test); + } + function test3696570aaeed122f231a845ec4dca38408864bc434710ec0f83acb4ba7cd3b10() + { + $this->assertTrue(true); + fn() => ($test ?? ($test -= $test)); + } + function test3926372fd20c1eeb640fa76fabf1438b6fdf458e05b0d2a948952244a8ff03ec() + { + $this->assertTrue(true); + fn() => ($test ?? $test || $test); + } + function test3c304ae38406f07858fe02110c396f75fb6ef030b3e8c030fb7b7f719c07e5c8() + { + $this->assertTrue(true); + fn() => ($test ?? 0); + } + function test40eabf6d7d2b60d4caf4a7c1563a69f74beff57b318268b6bfae00385dd35999() + { + $this->assertTrue(true); + fn() => ($test ?? $test != $test); + } + function test446c79fbfb0c9006903b95b32ef28f5cb018df3e61715970fb13a373fa078723() + { + $this->assertTrue(true); + fn() => (@$test . $test); + } + function test4e497a2f7ed27ad44f6b2a2317639bff309aafd699994802c673e3c0d9af937f() + { + $this->assertTrue(true); + fn() => ($test ?? $test::$test()); + } + function test4e7c23a6d60f82de4374195c298af25e041a9a2f7e9dab19cbcdcc5ca2ebeb63() + { + $this->assertTrue(true); + fn() => ($test ?? $test << $test); + } + function test4efcd7a7f559e92ae43f8579f148318edaac20d0fd107c58930d2f2288394d36() + { + $this->assertTrue(true); + fn() => ($test ?? (yield from $test)); + } + function test50886a89a25cbf5d3af1712e5aaa33dd1389f8d4bbc10073b8f63b84a1a611e3() + { + $this->assertTrue(true); + fn() => ($test ?? $test & $test); + } + function test50e6d63b9f10ff24e038df4670facb0a8f052850cc26b3f1040ce01b73f76a2f() + { + $this->assertTrue(true); + fn() => ($test ?? ($test |= $test)); + } + function test52de44d46b34ec8cbb5d86573c1311f25513fe2ed915041b7339d30fa934f65d() + { + $this->assertTrue(true); + fn() => (function () { + } . $test); + } + function test5cb7737d6e767ac0115c7a0840e50dfdc7ae775a45c0089380dbd470bcd15052() + { + $this->assertTrue(true); + fn() => ($test ?? __CLASS__); + } + function test63afd26b1fe0384ed7a7f53dd69a0b6579b938e7f70d9290c823ab030c8fa870() + { + $this->assertTrue(true); + fn() => (!$test . $test); + } + function test63fa19dafa6967f2d9a3615c4ca6eeb3580ac216e83c457ecf4441c3fad71ced() + { + $this->assertTrue(true); + fn() => ($test ?? 0.0); + } + function test665842a5dcf690d0a90ec7705f9a48d42e0ef159b4a85aad500f8565a40d44d2() + { + $this->assertTrue(true); + fn() => ($test ?? __LINE__); + } + function test665a85b9f9e14b08c49448e975bfd63a13acffac8c44e57191f1f864d2cb17ee() + { + $this->assertTrue(true); + fn() => (($test =& $test) . $test); + } + function test6d49a32b069b1c649c0d4093e5fed69155db9f74f877237c29ada9a2763ae926() + { + $this->assertTrue(true); + fn() => ($test ?? 'test'); + } + function test72a92e5b83a9053d1bae75d01cd395f11a255379fdcaa31fb7321b0df27ef791() + { + $this->assertTrue(true); + fn() => (empty($test) . $test); + } + function test72ea333522d0d61c811423ed53c241b14d63862c7fb01d657bb2c5ed43523e6d() + { + $this->assertTrue(true); + fn() => ($test ?? $test | $test); + } + function test799e9a4754142adf4d4b7a0efedb5f9952331612f27399a2d4157de67cd91f63() + { + $this->assertTrue(true); + fn() => (isset($test) . $test); + } + function test7e77bff81e20bf124c3d899972c1ae83e497852a5e2cd4eedd3b0b7df938dfc9() + { + $this->assertTrue(true); + fn() => ($test ?? $test--); + } + function test83fff456e95c368923a898e13b0fb5eb5719e6265b29bd25f8ede1108ccbc3ce() + { + $this->assertTrue(true); + fn() => ($test ?? (int) $test); + } + function test855517170d57f67805f3b5aa05db8b0d3d6fa1442e5c86e10b974ec6c1bd7c26() + { + $this->assertTrue(true); + fn() => ($test ?? ($test ??= $test)); + } + function test860ef9b313da386351ff6ce59290208638de95373bfa96b951587919ca0dce30() + { + $this->assertTrue(true); + fn() => ($test ?? -$test); + } + function test861bcff84c9cb0b8006847dfe7cd7398ea5a023db8edee81fadb49adabec47b8() + { + $this->assertTrue(true); + fn() => ($test ?? $test * $test); + } + function test8c1b877a3c576bb88fa7dc16fe6fb7ad7557cdddc8f884a62b43fca5780b46c4() + { + $this->assertTrue(true); + fn() => ($test ?? (string) $test); + } + function test8c8776c392e54d4fcd140fc2959801cffd252ebc35523b40330f8f94a33d4203() + { + $this->assertTrue(true); + fn() => ($test ?? $test->{$test}()); + } + function test8d2e0a4ad78bb76558a903c343cef1b36cde18825b9fccf321ede4515408371b() + { + $this->assertTrue(true); + fn() => ($test ?? match ($test) { + }); + } + function test8e20afeedef1e45bf7c1fe0bfeac38443d8c9e76bf4137a4577be832e528daa7() + { + $this->assertTrue(true); + fn() => ($test ?? $test - $test); + } + function test909e31768d29e6d9eec1a6d0824358f6857c0fdff93b18e4bbf009442618b1bd() + { + $this->assertTrue(true); + fn() => ($test ?? __TRAIT__); + } + function test91d37da920f16a952126a28a18b3c1c98806d67616e1c8774ff5efb6ca39da9b() + { + $this->assertTrue(true); + fn() => ($test ?? ($test *= $test)); + } + function test92ad60aef575ea837b56e0114c6afdc950922a1fa2b0906dbe1b99f3deef05b6() + { + $this->assertTrue(true); + fn() => ($test ?? --$test); + } + function test930811078c9cd623159c3808b1a9a141eca02bdcef6d9b89e8b332bf686e9a77() + { + $this->assertTrue(true); + fn() => ($test ?? ($test += $test)); + } + function test93eef9258bf69f0c3c8a852971602c3bc6241d03e85366e443304ac497b94424() + { + $this->assertTrue(true); + fn() => ($test ?? $test?->{$test}); + } + function test95099f50b1808e7e01b66fb3e2f3c403d688399c1cc65ace0a2344bfeaec1c05() + { + $this->assertTrue(true); + fn() => ($test ?? ``); + } + function test964cdf97853747c8b72e64b9429c0df06a5088379d199e36649cc712ffffbefc() + { + $this->assertTrue(true); + fn() => ($test ?? $test >> $test); + } + function test98950f5b899c595c56b939f61450f925ea672e427f59ec28faca3a2dd763a981() + { + $this->assertTrue(true); + fn() => ($test ?? (array) $test); + } + function test98b386cab84170311b39fd6f29f16800630c68f52a96a830b13f82360dc8a0fc() + { + $this->assertTrue(true); + fn() => ($test ?? ${$test}); + } + function test9ad079e9e9105a563fd97954a5af8d7bcb3f27fe34e15f29676d9e475bebd71f() + { + $this->assertTrue(true); + fn() => ($test ?? ($test %= $test)); + } + function test9e4a95358836a4ec9e40ecf6ad0d3dfa3ee83a03af99d3c15daeaf9f272b46d5() + { + $this->assertTrue(true); + fn() => ($test ?? ($test <<= $test)); + } + function test9e708c85147b851257ebe9bcef022dff991e79349ecd0c8d9458568e7d56f0da() + { + $this->assertTrue(true); + fn() => ($test ?? __FUNCTION__); + } + function testa5861495323030e6eca9f1774c81ae67d77f71c2c7b78fc1bd43328d5e9b4461() + { + $this->assertTrue(true); + fn() => ($test ?? (bool) $test); + } + function testa6643b32b8166a6f476b8cad4b2d62a70a4e3f43d82d366beff013a2823e49ca() + { + $this->assertTrue(true); + fn() => ($test->{$test}() . $test); + } + function testa80c3412e498b479040fd26835af994ec96bafc779f61d10a9fcc9b00bada71f() + { + $this->assertTrue(true); + fn() => ($test ?? $test >= $test); + } + function testa93cba3c7e64a2375434791c8da9bc49c084f4b82328b64b492e98e6422f4c2a() + { + $this->assertTrue(true); + fn() => ($test ?? $test ** $test); + } + function testaa367fe72b55c5a4b10b97c255d3309f390cd886fdc47f7f8e9c5be39dd8f007() + { + $this->assertTrue(true); + fn() => ($test ?? ($test /= $test)); + } + function testaf81872e526ddffe3484c02e0ba03c8eddef35c882736ab38d38bd75131ab922() + { + $this->assertTrue(true); + fn() => ($test ?? $test / $test); + } + function testb2bbec48271823d22a222d399780f4429ee3a861a7acf23ee992b64b743250b7() + { + $this->assertTrue(true); + fn() => ($test ?? $test > $test); + } + function testb5e433b701c847c853509fb631ff462102d48a301fa94b64b08bd6f6016d616b() + { + $this->assertTrue(true); + fn() => ($test ?? $test == $test); + } + function testb6a6da47b92f4b923b11376e825157bc462ec39c2c376c27466283feffd0ee6c() + { + $this->assertTrue(true); + fn() => ($test ?? ($test >>= $test)); + } + function testb7673b8560afc6ba4dfd7db147a2874b10f20bc2c5c3b018307937260071e24b() + { + $this->assertTrue(true); + fn() => ($test ?? ($test .= $test)); + } + function testb98dc4e841155890d5f8ad92ebd4c0ff77ff4b1d37721ba90cb737b1f7938d0f() + { + $this->assertTrue(true); + fn() => ($test ?? "{$test}"); + } + function testbaa520c9351ceab7f4460441f5f4d4a73a8f9fda6742595d6b974572722b7b83() + { + $this->assertTrue(true); + fn() => (self . $test); + } + function testbb4b6db4353543352cfc1e1d8d2461138b7016e514640dd461d2c3dd67a1bd30() + { + $this->assertTrue(true); + fn() => ($test ?? ($test ? $test : $test)); + } + function testbc9e6b606fb8d13afd2c040f17514aa69ff945730a811acb0b578d7315e3088e() + { + $this->assertTrue(true); + fn() => ($test ?? new $test()); + } + function testc467cd9791be4e1d7720fccf03e69cd7e1a018945187b969aa42b3b7c879cde3() + { + $this->assertTrue(true); + fn() => ($test ?? ($test xor $test)); + } + function testc5fb534c22e754d5c10aeadd6027bbef5b52499a3057607e13695dc51cb670c5() + { + $this->assertTrue(true); + fn() => (($test = $test) . $test); + } + function testc62e4b52227e7c372c9a9ef6310b3db043948087333b98766c6571fae2e1a446() + { + $this->assertTrue(true); + fn() => ($test ?? $test % $test); + } + function testc92f326032aca05c18b5d6b22de93454f15ff116bab0f2e3911ab59fbafd43a4() + { + $this->assertTrue(true); + fn() => ($test[$test] . $test); + } + function testc956ff21f27414dd87141f1cced8687d6a1abfdd1f1c853c21287915358990f5() + { + $this->assertTrue(true); + fn() => ($test::$test . $test); + } + function testccd73a4797dd86c9d39e4dae9914b612a83099989f7d8091d27d9216252ccaf4() + { + $this->assertTrue(true); + fn() => ($test ?? $test <= $test); + } + function testccdff6e0bcc45c2ef4330cc8bb967e929de7675152d8b24b116685d1c4bfb557() + { + $this->assertTrue(true); + fn() => ($test ?? throw $test); + } + function testcdd1282df04f673738ba1ae4f1807d5617fa31279289c71e4e28704b6f0b699f() + { + $this->assertTrue(true); + fn() => (clone $test . $test); + } + function testd0df7b1887a1b4c26d9a0fabfde59493d1d2bb7f6fd906c0106132a6e56f7edb() + { + $this->assertTrue(true); + fn() => (( $test) . $test); + } + function testd109618a98c0ac8a140be93dda11a7585c35aac02aded64ba761e2c4141cab3d() + { + $this->assertTrue(true); + fn() => ($test . $test); + } + function testd315a47a2090fd85a2dc8437f6b60c8916d66fbdf1f4cf1292f64d78086db5e6() + { + $this->assertTrue(true); + fn() => ($test ?? $test ^ $test); + } + function testd5b852aa88b44dfb1e634b7c31479067a09b2ba40e6efaf2c8b1f3b2c2ad00e3() + { + $this->assertTrue(true); + fn() => ($test ?? $test . $test); + } + function testd712cbbf859c030649df68c86448b6745e5cc396c7f01b94f8f89fb6ab310afc() + { + $this->assertTrue(true); + fn() => ($test ?? $test ?? $test); + } + function testd7495f15b35d9c75bc1a8cdf89f2ba1c81f0cc71f0a99d219e972fe9cfb8fe44() + { + $this->assertTrue(true); + fn() => ($test ?? __NAMESPACE__); + } + function testd7bcfc89466f0073deb47045fcf3600df551d4a9fdb4e2edee3c7651a5e1f2cd() + { + $this->assertTrue(true); + fn() => ($test ?? ++$test); + } + function testdc21d4ac34893826f203658979a8e6bb6afd9aeb93771c62d17d5407a9603a65() + { + $this->assertTrue(true); + fn() => (eval($test) . $test); + } + function testdd5ac4a04483c8439ff4a944d746693adfbb75e73828f6d04648370f3acf13be() + { + $this->assertTrue(true); + fn() => ($test ?? $test++); + } + function testddc497aaa2f289f9374403fc50aec87f1320bdbaeaa36e29c7041ee380bc122e() + { + $this->assertTrue(true); + fn() => ($test ?? __DIR__); + } + function teste028bd8cb939d87c29ee93f3799a74c3cbbd476974e0e738729b7439742a2262() + { + $this->assertTrue(true); + fn() => ($test instanceof $test . $test); + } + function testeaccf1d829e4d9ef6bb53dbf4011fb77754c03f8b48cd80e645a86e55d6cc8ab() + { + $this->assertTrue(true); + fn() => ($test ?? (print $test)); + } + function testeb865b510362f5ddcd12bfc19ef4170e7f0081121fb0362cbdb1bbf211faf39f() + { + $this->assertTrue(true); + fn() => ($test ?? $test->{$test}); + } + function testfa940e6ded3fc8ac73943abc03549e9827c2c69e39a363e415b03f88c8d84302() + { + $this->assertTrue(true); + fn() => ($test ?? $test < $test); + } + function testfcaa1db4915bdc3b3815708ea5cf52cb072bdfe40d370e6d6352a2b2400b93bd() + { + $this->assertTrue(true); + fn() => ($test() . $test); + } + function testfd75ffaba18564e12b90c23b7c90d94b83b501531e1c6bda651a1af20ef3ac2e() + { + $this->assertTrue(true); + fn() => ($test ?? $test && $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test.php b/testsGenerated/Target/Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test.php new file mode 100644 index 000000000..04009e81d --- /dev/null +++ b/testsGenerated/Target/Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression80de9d4358772c72a5826d5233dfbfcf8eabc9b97ec8c709d26ac8d70e443637Test extends TestCase +{ + function test0704558b119a8e015ac395c24198b5db8c3936816b5438234e0bcdbd2eb5dbdb() + { + $this->assertTrue(true); + fn() => (($test /= $test) * $test); + } + function test07326bccf9f3ff129a38416d45f4552c5d3d8c27c1d649db398d3d0ec2ca0ce1() + { + $this->assertTrue(true); + fn() => ($test % __DIR__); + } + function test081909503e7985c1ccda37831733ba99a51259b59290a967d48a8187785c1f74() + { + $this->assertTrue(true); + fn() => (0.0 * $test); + } + function test0907388587f69b4cba394930fe15c8d9b263c1d0665f966a369327e578fc54af() + { + $this->assertTrue(true); + fn() => (++$test * $test); + } + function test0b310c157747412856bea58b9db514ec1288a276b74302e023f12978393e2167() + { + $this->assertTrue(true); + fn() => ($test % __NAMESPACE__); + } + function test0f1688f9970005d5ea8515d20b9babd4c37185af8a4d8bd1d6174394b7063a01() + { + $this->assertTrue(true); + fn() => (($test = $test) * $test); + } + function test0fa70889f48f30bfdf60f38356340603a2ae341a23cb1be2c65470c602e52d4c() + { + $this->assertTrue(true); + fn() => ((object) $test * $test); + } + function test11e4b31c12ddd3c8d56296f82eca38d23429340c49a89bc4e52cb1cb6194dce0() + { + $this->assertTrue(true); + fn() => ($test % 0.0); + } + function test14b874b466f11644e3a1154d1f521d156224f7c54b35812dae4b0cfb2f657f02() + { + $this->assertTrue(true); + fn() => (($test *= $test) * $test); + } + function test16b01b3c2d958b2195c3bca71682f8f5b71346d3aeef03235e31dd29c9f8a9ee() + { + $this->assertTrue(true); + fn() => (($test | $test) * $test); + } + function test17c3f833a053874e15ab2156a8818c17f637e14d9f2c1ac5f72e54d647aed41d() + { + $this->assertTrue(true); + fn() => ($test % __LINE__); + } + function test1b01a6deb5498ab4288cb8bb48ac915133b3c825f28e34d7a0363188b49f8394() + { + $this->assertTrue(true); + fn() => (($test ?? $test) * $test); + } + function test1d4bc8ea926c6ea19d49b7b6be2edb54134bae0a742a45555f3406daa716f1b7() + { + $this->assertTrue(true); + fn() => (($test and $test) * $test); + } + function test20cfc17beecd27b2aa754c2540a7d0d95e0d5fd4ed6b2754c5647ecf7b9c739a() + { + $this->assertTrue(true); + fn() => ((double) $test * $test); + } + function test20e087211ff904b806f8cfb05df10ac0972f0742eb65f94af3e3612cbcb3f249() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() * $test); + } + function test20f4eabaf4d4cd56149246404cc9a475c7f62853f7415190031f081653620357() + { + $this->assertTrue(true); + fn() => (($test &= $test) * $test); + } + function test21493561a2d7850bfa6fa07c8e31f19e47ee47560637441775424730f091e8d2() + { + $this->assertTrue(true); + fn() => (clone $test * $test); + } + function test21949454d6538009f3b6d34c7605b79d129b188575ac4add0d21664c68076366() + { + $this->assertTrue(true); + fn() => ($test::$test * $test); + } + function test22f83934eab8dc3e2896c1662e718906fcef1aea97754bca9d0374cb4ec7d3bd() + { + $this->assertTrue(true); + fn() => ($test::${$test} * $test); + } + function test254e6a485baf4bdc4c8063427b336000652b7dfb7989b97c76377789ab2ddb2c() + { + $this->assertTrue(true); + fn() => (($test >> $test) * $test); + } + function test266543a1c3c5ece017ff38ddcde4975e5b86cbacd83641477e8d5d61b6f142c7() + { + $this->assertTrue(true); + fn() => ($test % __FUNCTION__); + } + function test27a9bc8bc47b5449aaef674274011ca701cb93608edc9d70cb4663d852cdd5fd() + { + $this->assertTrue(true); + fn() => ($test::$test() * $test); + } + function test2dbdf6ee0a91dafd026adea62efe0f681110b41bc2ca0a050da10e90b06c3f11() + { + $this->assertTrue(true); + fn() => ($test * $test * $test); + } + function test2ddd1ac7849247f8136c1df6cf1731aa947b934713789f0dc62a574c4d1f2c29() + { + $this->assertTrue(true); + fn() => (($test == $test) * $test); + } + function test30cfa24c87ba58c229767883d23947c582ef0629c9951e9b2422f46421d9f74c() + { + $this->assertTrue(true); + fn() => (($test or $test) * $test); + } + function test329e6e70943afe02f8a31b7d0088944601c5f064ee67fc6607c066d3e80e57dd() + { + $this->assertTrue(true); + fn() => (($test <= $test) * $test); + } + function test32bc75782cfc07c74e1b4054a77601789fb416ebcc443f326e70c15a827259db() + { + $this->assertTrue(true); + fn() => (($test - $test) * $test); + } + function test346d0cf5a2143b148cace70134448606209f5bf13af6b5b823eae9b7920cb7e4() + { + $this->assertTrue(true); + fn() => (($test > $test) * $test); + } + function test3e9122d543daca324f3f9195908f5fa1bd69018bdff1f6cd613d15ad5d7096cb() + { + $this->assertTrue(true); + fn() => (($test >>= $test) * $test); + } + function test3ea08833cf4e3e4cee790fd8c0b550ebedc20b8b3ea835d78853126140dfcd37() + { + $this->assertTrue(true); + fn() => (-$test * $test); + } + function test433f708e8a79c00bc56ff3fed4a4a06e01daa4e47a978faaa0226c6350f942ca() + { + $this->assertTrue(true); + fn() => ($test % (string) $test); + } + function test453d31550cb03365e5e48c9bb681867c05fae1d8e11bf7f52fe650edcfb6176e() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) * $test); + } + function test4678ee0836f2b159bb71324a54b99633e1d84733c592f94bb7890d1c75523bc5() + { + $this->assertTrue(true); + fn() => (${$test} * $test); + } + function test46e7d2031b5cf7947c72ddb73c100f5a92b95dc145a09d763947e0f217849637() + { + $this->assertTrue(true); + fn() => (isset($test) * $test); + } + function test47d2674b5e18e4a092280245d528e55f2f136ed99a2a860e67cf45a14bdb99b4() + { + $this->assertTrue(true); + fn() => (function () { + } * $test); + } + function test480f262d82e7010fca4eb5221325a48ed63f07e32f41104a2b0e9f3af10b42bb() + { + $this->assertTrue(true); + fn() => ($test % "{$test}"); + } + function test489d0909bf6100aef011c4519a7bab77d0ee8772beb08d9e121199b492d51009() + { + $this->assertTrue(true); + fn() => (($test ^ $test) * $test); + } + function test4c2d913e68c0849ae75c1f371383281f02edb267a5b4fd0c2fe54fbea37a34f3() + { + $this->assertTrue(true); + fn() => (($test <=> $test) * $test); + } + function test50be4a3822a198bedf6d3ff55c51ca2212ef526c22add9e33eb8d0d909a31b6b() + { + $this->assertTrue(true); + fn() => ($test % __CLASS__); + } + function test51edeacd6ec6e348a033ed338f5a4c4679aefabe8d2394f4b5f4806ea79b7348() + { + $this->assertTrue(true); + fn() => (($test xor $test) * $test); + } + function test53ffd2e4131025498e69e71b361e5b6ea7a4f3e945a2b93772d2023e9b63c7b9() + { + $this->assertTrue(true); + fn() => (@$test * $test); + } + function test553196f69c28e1fc2c780e33b147160231aa69813840b3772bc2c08593e49cc3() + { + $this->assertTrue(true); + fn() => (+$test * $test); + } + function test555f410fc936cd57bce8ac465bf3adca730e2d9dba9a7039b8475a6639100960() + { + $this->assertTrue(true); + fn() => ($test % __METHOD__); + } + function test56457cc4a502958a1f4986c05e31e602967e3abf61cdc1ce07adfca37f9e0904() + { + $this->assertTrue(true); + fn() => (self * $test); + } + function test572ccba2ac2bb2b5043a3d60c1f35adbd321d5a0ea144481e6535c9135367f27() + { + $this->assertTrue(true); + fn() => (match ($test) { + } * $test); + } + function test58115755ecebde69ebaa434184fefa4c011126d7ac0ff8b1ef5a2898860f073c() + { + $this->assertTrue(true); + fn() => (($test << $test) * $test); + } + function test58295423fa5cb6f16ec438521a211a429e82d0db540128910e7c6d28e97f120c() + { + $this->assertTrue(true); + fn() => ($test->{$test} * $test); + } + function test5f7e325a85f0f213af737bcbc9d30952e8672a6a093655a309256bc29f89cfc1() + { + $this->assertTrue(true); + fn() => (($test =& $test) * $test); + } + function test61bc3ce0b8f5197537d3bdcdd8519a07ad755ced72cd633acbeef174b1a240e8() + { + $this->assertTrue(true); + fn() => ($test?->{$test} * $test); + } + function test65abe7434730624d1984365e825fd604264cf7129dc8caad5a265662771bb339() + { + $this->assertTrue(true); + fn() => ((print $test) * $test); + } + function test66efb210302fce3a1de56befa7281d5b4bb4f28a19e329111d3208e820ef5796() + { + $this->assertTrue(true); + fn() => (($test **= $test) * $test); + } + function test68fea800641e0bbe185d5b0acf607bf9e74b507f8ecc87c241ea2054acedbc5b() + { + $this->assertTrue(true); + fn() => ($test[$test] * $test); + } + function test69de36d8a3eeb31a75043a96d7b287d4080906f9493ea47050dc1939802f710b() + { + $this->assertTrue(true); + fn() => ($test-- * $test); + } + function test6ca825ce875a2054dcfd163c600a58ffa813cad2728ad91d9f3af8bd9fc1eba1() + { + $this->assertTrue(true); + fn() => (($test === $test) * $test); + } + function test71cfbefa5a62b9cbf285fd8771a6c59de299eba73e056a14e9a64e51f604ae62() + { + $this->assertTrue(true); + fn() => (($test + $test) * $test); + } + function test7214a261fb428b750fd768850d85cc42f6aacfee741b3bdcc282c65612ba32c5() + { + $this->assertTrue(true); + fn() => (($test < $test) * $test); + } + function test7a08883beafd1fac3918a5c495d3788942a22206d98fc0a7c9aed0979ac17bc4() + { + $this->assertTrue(true); + fn() => (($test <<= $test) * $test); + } + function test7ccfd2d4fbb5ed111b0173fdcb8943d360b3602602f86627b53c17e7e394b265() + { + $this->assertTrue(true); + fn() => ((array) $test * $test); + } + function test810d86c6a995435d9769320df93824beaa0f115b46ee3b51bf9c00a8d83a4125() + { + $this->assertTrue(true); + fn() => ((yield from $test) * $test); + } + function test81387d72250a4069ce661410ec5520dcdca1b375c9f07c8e436daf53e5246446() + { + $this->assertTrue(true); + fn() => ((bool) $test * $test); + } + function test82051f810ffabb7f4f80f9296fdb697d156069f3e3fff3ed5c5ee6e6150a6f6a() + { + $this->assertTrue(true); + fn() => (($test . $test) * $test); + } + function test83c5493cb1debc3b2d8578e9849abae333fab6721cbf2c63eccbeea32761f5ee() + { + $this->assertTrue(true); + fn() => ($test++ * $test); + } + function test83d5674fdd9d7aee7936895c0315ac5377a5b09d75b42a0f3c9a5a7ebc781e99() + { + $this->assertTrue(true); + fn() => (($test %= $test) * $test); + } + function test8baab8d2f8139afe6d8f3716bdd733872a7b3ee5bd49b7dadbae4b4e457397ed() + { + $this->assertTrue(true); + fn() => (--$test * $test); + } + function test8bc277cb8ef0e54b4d7ecc51b6997c35f8e9b226ee3e4a2012f361de328c0b53() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) * $test); + } + function test8d994379f3acaabf5a353abf97ac24fbb91a9685e2165991f800ce5085c639be() + { + $this->assertTrue(true); + fn() => (($test & $test) * $test); + } + function test8e44f3903dcf6f1efd673b74d1980d7443c9786703739ef29f7ab39afbcab63c() + { + $this->assertTrue(true); + fn() => ($test % (object) $test); + } + function test90ffbec42bae9fd3dbdbcafbfbdb3a5adbd14f659925d458061cf738cb3a92cf() + { + $this->assertTrue(true); + fn() => (($test != $test) * $test); + } + function test9184852068cb80cb666fe88327311cfbd44b40cb0f9d5a1c86cba561cd830aaa() + { + $this->assertTrue(true); + fn() => (($test && $test) * $test); + } + function test991fa31cc9ffa1c6542db806e55ddb6709b384f97df3af35375e260bebc9c491() + { + $this->assertTrue(true); + fn() => (`` * $test); + } + function test9b7a2b98bbf919c65bccee1ef6b9749e2396e51ca01541068d19a2d7171d533f() + { + $this->assertTrue(true); + fn() => (($test >= $test) * $test); + } + function testa12fa7b1edf708561073b820fb864c89a30a7d321fef9442116ebccecabaaae8() + { + $this->assertTrue(true); + fn() => (throw $test * $test); + } + function testa5f6e8e2409357db1f0f81a65f1490777c1fd6d0a3b844362bed2351324330be() + { + $this->assertTrue(true); + fn() => ($test * $test); + } + function testa65410aa0acf0af375bf3444123a37cb87982892b2aa21bb758fbfaaf971be1c() + { + $this->assertTrue(true); + fn() => ((string) $test * $test); + } + function testaced9a2250249b2ebd4ae73d6918cfadc96de119864436166777050a734d2dc4() + { + $this->assertTrue(true); + fn() => (($test ??= $test) * $test); + } + function testad68edcf6516e06647a13a3d70fd3a6bbc808676ffad529210847c7dccaab40f() + { + $this->assertTrue(true); + fn() => (~$test * $test); + } + function testad721d4e0d68feec316173d025796efbba229a0c8ada351d55f8106afb38e446() + { + $this->assertTrue(true); + fn() => (($test += $test) * $test); + } + function testadf4577fb6d9408dd2f5551ef8666c8245219d45e24d1ff6d35cc2f36ad6c3ba() + { + $this->assertTrue(true); + fn() => ($test instanceof $test * $test); + } + function testb0155bf406e567ea69f0c7449a8374d560a663520eac9daf56caa65a0ac151b3() + { + $this->assertTrue(true); + fn() => ($test % __FILE__); + } + function testb16c00ab66c2eadab310e9b21afdc8cc248b02e60a9f07538dd271d52e569d1a() + { + $this->assertTrue(true); + fn() => (($test .= $test) * $test); + } + function testb40f6090ae30a11819e7725049bc903f54a63995cd8e413a1978ff7277c1f152() + { + $this->assertTrue(true); + fn() => ($test / $test * $test); + } + function testb46f0426fa7ff00a2faa4f07ed2fc04b0c09f405326874e38cf1ea9ccdeb7965() + { + $this->assertTrue(true); + fn() => ($test % __TRAIT__); + } + function testbb4654a5db7ed591863aa591f7ea69bc17530edd709baff4cc31a416a38a11c2() + { + $this->assertTrue(true); + fn() => (new $test() * $test); + } + function testbf3775b59b4e8e4cb8f0f994b702d8bd4f4d54c8b7a60b193045f3b9925d6135() + { + $this->assertTrue(true); + fn() => ($test() * $test); + } + function testc1169ac0369c60a9e6fd1da760df8727c71dc49d7ba27e53b713f2de72e4d62c() + { + $this->assertTrue(true); + fn() => (($test ^= $test) * $test); + } + function testc6d4ffef6f5211f782bbf7afd4af8fb0da1e4356901d6a2f483b145674ae078d() + { + $this->assertTrue(true); + fn() => ((int) $test * $test); + } + function testca73530e2d06162f8f294d1ad157cb8414fa8573702d924d6be70df67c0e1352() + { + $this->assertTrue(true); + fn() => (empty($test) * $test); + } + function testcd9f21416963e588922c249c61f9e4fb9d9dbe27c16a524b9a29ada4da898a41() + { + $this->assertTrue(true); + fn() => (( $test) * $test); + } + function testcef46c04b8ed4ad8a120e974ec5cf17ad77e65d9b93e6bd2fba4763bad0d18b0() + { + $this->assertTrue(true); + fn() => ([] * $test); + } + function testcf3dc4df92395c4323f0d49a39e893dcb47fbe700188713e93f6e0d561e53cbc() + { + $this->assertTrue(true); + fn() => (eval($test) * $test); + } + function testdfdc90de6b5408c617af189f2c241d6bf1c4641dfbecf470637f6061b47906d5() + { + $this->assertTrue(true); + fn() => ($test->{$test}() * $test); + } + function teste1f271940945e49d003cdbbdf1024728b6efb90596d530b5804b0505955d2d55() + { + $this->assertTrue(true); + fn() => ($test ** $test * $test); + } + function teste30f72f9a41024bd0048a0080e6eea586ca4e462e71bfe49c9a1bd6871db7098() + { + $this->assertTrue(true); + fn() => (($test -= $test) * $test); + } + function testefaa588345c6314229ce01f4243c576047cfd0a8a2cfa7287c724b34a9ab1d7b() + { + $this->assertTrue(true); + fn() => (!$test * $test); + } + function testf70edcdc67e7107a28deb186d4e745b4a3b47e216c1665cf3b70865c07da4101() + { + $this->assertTrue(true); + fn() => ($test % 'test'); + } + function testf9dd54ca218d55d009706ab50e1290903b77f86703cafcccd469bb78974e1310() + { + $this->assertTrue(true); + fn() => (($test |= $test) * $test); + } + function testfa8329dd26000d0a11d1b3101aa94e10c9dd42e37f76f3068f370024b99159be() + { + $this->assertTrue(true); + fn() => ($test % 0); + } + function testfb6f0e6bbcddea6dc250799a4342acb8e15677723b8ef580a4becd5502be1e39() + { + $this->assertTrue(true); + fn() => ($test % $test * $test); + } + function testfd71b814a39c918d85c06e0fb2e226b6a951ad2b99c9a19eca5826359951fcd7() + { + $this->assertTrue(true); + fn() => (($test || $test) * $test); + } + function testff4674cc69ead23d653f6e0677c27d5e186739c2b941877b1b211bbe7a997af6() + { + $this->assertTrue(true); + fn() => (($test !== $test) * $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test.php b/testsGenerated/Target/Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test.php new file mode 100644 index 000000000..7c72774a5 --- /dev/null +++ b/testsGenerated/Target/Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test.php @@ -0,0 +1,444 @@ + + * @license MIT + */ +class Expression8109526ecb940cadd203e6358be502a372b7dbe851cec8d002b70a6fd104f137Test extends TestCase +{ + function test01056872858ca5b0e3ae7917950a18040b1be408b5f362f51c2ef149e433ce7b() + { + $this->assertTrue(true); + fn() => ("{throw $test}"); + } + function test01359c3a4d936cebb0b975df9f7d627392e3cf423242d47d4b06da13d529536f() + { + $this->assertTrue(true); + fn() => ((string) ($test >> $test)); + } + function test03b7c07c2e1edeb2fdd5242380992eca3e057a86580b3096ebee45eb4a0d3691() + { + $this->assertTrue(true); + fn() => ("{0}"); + } + function test043481fdae7575529076085ff21022c913f08b487f55f67466f347b76ce07b90() + { + $this->assertTrue(true); + fn() => ("{ $test}"); + } + function test04c7c1581e4e0f9393fc8cd7aa8f191d54323d23b57958950e8cae4a06ff2357() + { + $this->assertTrue(true); + fn() => ((string) (int) $test); + } + function test08009bbc9ba5170ba333bf82e216cfecb28f91b9ac150d646a55ca312697a9cc() + { + $this->assertTrue(true); + fn() => ((string) (object) $test); + } + function test08b8b4078888ef485e7507d99adca6f8b62e90dfdcd0ff27f7cbb5643bf55880() + { + $this->assertTrue(true); + fn() => ((string) ($test and $test)); + } + function test0ae5ae2159b6de55cbe44be7aa9bb564f5a44c70ce8a596462bf41b24c9d5870() + { + $this->assertTrue(true); + fn() => ((string) ($test <= $test)); + } + function test0d89c86dfa31c98e56f0c8d1a0b70caae898521dcd88bb752ced6ce94f2cdab6() + { + $this->assertTrue(true); + fn() => ((string) __CLASS__); + } + function test1108b209e5747068f91296593c3f5c5b0c5dad63dc227e91fda535f7caba50e4() + { + $this->assertTrue(true); + fn() => ("{(bool) $test}"); + } + function test17f3c86ee576b2944e902c9e51d123e0f08f03664b43f5e976f4b473731e4410() + { + $this->assertTrue(true); + fn() => ("{$test::${$test}}"); + } + function test190a63516b7674d26cad9f10552c9e3dce31ad599656d4b566b898e64d7a55ac() + { + $this->assertTrue(true); + fn() => ("{function () { + }}"); + } + function test1df85260b2acb5e316a7465d52587e52eee2763ec694e35d3be1e007713f88d7() + { + $this->assertTrue(true); + fn() => ("{$test()}"); + } + function test1eefb45c98444a6a6f25bfbc8cdf60c424ce5a597b31162ddb6b77da7d448fa0() + { + $this->assertTrue(true); + fn() => ("{clone $test}"); + } + function test1efcf2c67e8b26a68632a0419241d59f300f63d7d5939eb876f6c841daf46a12() + { + $this->assertTrue(true); + fn() => ((string) __METHOD__); + } + function test1fc7851cb4c7c6de10f901be69016c66902ac52209828f8b5ff0cd7c6cfafa97() + { + $this->assertTrue(true); + fn() => ((string) ($test >= $test)); + } + function test25c3afc650bf2dde722edce71842ee2f8baa292193b9f592d90b7f936d79104c() + { + $this->assertTrue(true); + fn() => ((string) __FILE__); + } + function test2d8efc7b0e09d56870114876756619e092d12c885ebb356be11d24e66975a1fc() + { + $this->assertTrue(true); + fn() => ("{__NAMESPACE__}"); + } + function test304cc764ed1d647bd528786a0c6b567a56789b9ff799d7d36a67aa4c693d3f04() + { + $this->assertTrue(true); + fn() => ("{--$test}"); + } + function test3057343dee0ea4b22b8733f662858e7b40ef96941f7c384f443cf8eeec374bc1() + { + $this->assertTrue(true); + fn() => ("{__LINE__}"); + } + function test387a3115c5482ed8f5fd8b07d6a7929a8b6137cfdc39f3c43233224d32333de3() + { + $this->assertTrue(true); + fn() => ((string) ($test << $test)); + } + function test395331659857cc4db83f68123f7ae6ef394ed019be78d527654957605eaff7e5() + { + $this->assertTrue(true); + fn() => ("{__FUNCTION__}"); + } + function test3b59fd81374e63ec559c7783b56014fb492e080d876995bd3096f8fa47bcc46a() + { + $this->assertTrue(true); + fn() => ("{0.0}"); + } + function test3b69e37b49cf15089b4692f42a456bd46fd5277574f0d4b7a579f7e2bb614efa() + { + $this->assertTrue(true); + fn() => ("{+$test}"); + } + function test3b98dd95f42a327896c34ea63e68363f34052d479affe837a36147d46346a324() + { + $this->assertTrue(true); + fn() => ("{@$test}"); + } + function test3f9ed031b4350e5ad689ed9bfb2bc0c90a8659486afffbc50a11d27a7228a050() + { + $this->assertTrue(true); + fn() => ((string) ($test + $test)); + } + function test4ce4fd14adb8c8464337d4ce0466ffe706506b396fac3a6efc8e64e92210ec38() + { + $this->assertTrue(true); + fn() => ("{self}"); + } + function test4ee739ee8974a6ef0064f18d3592d9f57deefdced8004ebd1b463528df19dca4() + { + $this->assertTrue(true); + fn() => ("{(yield $test => $test)}"); + } + function test50d3e636436ebb45f4b39454a88cf76cd4306e2a0b477d0dda22e6b88c806522() + { + $this->assertTrue(true); + fn() => ((string) 0.0); + } + function test5518dd53f66cce30f44d816139f3eebb228ee25db8eeba08790e3d5a80e0b607() + { + $this->assertTrue(true); + fn() => ("{~$test}"); + } + function test6ec3de7416becc31694ae3c71bf29d5af967b852c4e9e079b6d4cb6120eb8f88() + { + $this->assertTrue(true); + fn() => ("{match ($test) { + }}"); + } + function test78c6d41c9427741628c9aa94eaade4c28ce22cc5174a6cd081e1e4d95f02e759() + { + $this->assertTrue(true); + fn() => ("{$test?->{$test}}"); + } + function test79f40a685063e9c92a4470ad03de1cdcde551b7aec6940639c5e7c441630d6d8() + { + $this->assertTrue(true); + fn() => ("{-$test}"); + } + function test7c37209f99c686119984f868839ab43312156c4c7482f27087b170f12c4a4b09() + { + $this->assertTrue(true); + fn() => ((string) ($test > $test)); + } + function test7ce9aed24ae62dd702269e44d1a14ad0829b2643becb630c14e6a959570547d4() + { + $this->assertTrue(true); + fn() => ((string) (array) $test); + } + function test844b468bdbca78b2082b4dc4b9d969f674cf4da7ac992e06bf86e862190b004a() + { + $this->assertTrue(true); + fn() => ("{(array) $test}"); + } + function test89f20dc1d430fe8e67fce058de58a509ebaae70de73217925479c00532789a5c() + { + $this->assertTrue(true); + fn() => ("{yield from $test}"); + } + function test8b6fb7e3ada30265ad26c8248a0ba4b3972cce077e25695414b5fa0b6173ed6e() + { + $this->assertTrue(true); + fn() => ((string) __DIR__); + } + function test909e4b0e45ec239093d1126af326d1b12735a3d3b466754f9423926ece6bc338() + { + $this->assertTrue(true); + fn() => ("{__TRAIT__}"); + } + function test9115c4a625b450f71f17589b9d0c997242d8d5d3315c95af76e81ea1cebaf344() + { + $this->assertTrue(true); + fn() => ("{$test?->{$test}()}"); + } + function test912155d38047e6701929837293ed96d1201aec1e4cc36cd8e78770216c4f554b() + { + $this->assertTrue(true); + fn() => ("{(int) $test}"); + } + function test91d5e39e14fc15d995714fc727056e49d123942ecc5e6d6b5bb66539f44a542d() + { + $this->assertTrue(true); + fn() => ("{$test::$test()}"); + } + function test91e78cd2c9f4c0618015a251c83f2dd8d97bb6bdc792e93cd2eef8fa13033198() + { + $this->assertTrue(true); + fn() => ((string) ($test % $test)); + } + function test92c3b134d5e9bbefd69b86ad33c2e62e06af19c7b85bb87d5043a39912915b83() + { + $this->assertTrue(true); + fn() => ((string) 'test'); + } + function test9547b04b43abc2db6424782c88d744395971ecfe7d3d179369b861634ebe13f4() + { + $this->assertTrue(true); + fn() => ("{$test::$test}"); + } + function test95ef2316d156c8c079091ad76b39cbec3edb5770ea0fd06b857c96399f5a2c9d() + { + $this->assertTrue(true); + fn() => ("{(double) $test}"); + } + function test9cf756522d1ba0dcfa6c69107399352674cc55fdffdf635dea8a2ec2ff184b63() + { + $this->assertTrue(true); + fn() => ((string) __FUNCTION__); + } + function testa088391a0c3c2f79b8082adbdfe9a243f4203814531495c168d73c2e489a9b3d() + { + $this->assertTrue(true); + fn() => ((string) (string) $test); + } + function testa36031d8a1b059f33a87801a07b0e139ece1c3c6a7bc0ff867e9db086fd48502() + { + $this->assertTrue(true); + fn() => ("{``}"); + } + function testa48c880cef04f8419c0572194465502d60deced9f2efb5bc36ee5522fc709040() + { + $this->assertTrue(true); + fn() => ((string) (double) $test); + } + function testa4f0956a87f7a5216c086742648543e003d3c25303e76ed82af29bf6eabaa0ef() + { + $this->assertTrue(true); + fn() => ((string) ($test !== $test)); + } + function testa563c0f8fb309dfcc20be13adc09d7e27c7d7a8eaeee77c59adf7fb21f73d33b() + { + $this->assertTrue(true); + fn() => ((string) "{$test}"); + } + function testa5ae5acfbf142d825d4ffcccad9ce3aace2b19bae3d1531fdf97d217cec81567() + { + $this->assertTrue(true); + fn() => ((string) ($test xor $test)); + } + function testa63e4aa3f183c1a294996bb80b38a23b1357d6545dfcae07d74615ba554429ce() + { + $this->assertTrue(true); + fn() => ((string) (bool) $test); + } + function testaecf28ba5985e348cfe9b0fd503280dbfb2f76ff8819ae025ad118f16735d1fb() + { + $this->assertTrue(true); + fn() => ((string) ($test or $test)); + } + function testb00e1cf7780bdc67a910171ca57834ddf22e0185cb2b1e1cc1b0fcbdd7bdc463() + { + $this->assertTrue(true); + fn() => ((string) ($test <=> $test)); + } + function testb3fb7c57cdf5d9bf0a093f87bc7513023249919af42ed32d8e8531d65d55c870() + { + $this->assertTrue(true); + fn() => ("{isset($test)}"); + } + function testb6f4b21c1fa024469bb5f79da02e110f8f9da2331e6d4b90ab592e3ba0f6c618() + { + $this->assertTrue(true); + fn() => ((string) ($test - $test)); + } + function testb96194a3608cf22b92bcc6638771b8083f490980322c8be19253c02c30e40020() + { + $this->assertTrue(true); + fn() => ("{${$test}}"); + } + function testbcc17e623526ced2a42b88741e7a2979bbe8b0233f52d50f866458e57daedea0() + { + $this->assertTrue(true); + fn() => ("{[]}"); + } + function testbe5606b8caf2628d2b2f19f6b240751cea91678b267ff04bc7b650f8dc0b11a3() + { + $this->assertTrue(true); + fn() => ("{(string) $test}"); + } + function testc01eebb389783dfb1dde095e4a5813524afa1a0cd03ec5685afcdd6b39e99b73() + { + $this->assertTrue(true); + fn() => ((string) __TRAIT__); + } + function testc0dc6420d33a0e60131873a4c2e77680546f067dbd726de77dfea93a9faa4d95() + { + $this->assertTrue(true); + fn() => ("{__METHOD__}"); + } + function testc52652f7a0ed7310857e46262215a423851de6e40494906d02607c89b2a4b965() + { + $this->assertTrue(true); + fn() => ("{eval($test)}"); + } + function testc6529ae13cd4a7b206b325a22c06e7444177b2d069425f44c9a56cb809eec92b() + { + $this->assertTrue(true); + fn() => ((string) ($test < $test)); + } + function testc7cd3d6342e5b34de115c2ee2d309858d6d3b1e4739fcf26646b76f72b449ae8() + { + $this->assertTrue(true); + fn() => ("{__FILE__}"); + } + function testc814f4fe057f8a677fd5b379c59f7667cd4ba9bc9178cabcd4b044265d2eec16() + { + $this->assertTrue(true); + fn() => ((string) __NAMESPACE__); + } + function testc8d5bc1b6ed26eccfd8d834e304bb916d9054e18a80bd319355f457b00d4e55f() + { + $this->assertTrue(true); + fn() => ((string) ($test != $test)); + } + function testc928a583c48c56150eebe054204f71f6c89e2d00578960bb6aec309ac1500cbc() + { + $this->assertTrue(true); + fn() => ((string) __LINE__); + } + function testc9d8fdf17978dc92876ea1e699bede328adb07c466c703dee7ad4ae5bafe0b81() + { + $this->assertTrue(true); + fn() => ((string) ($test === $test)); + } + function testcce97aeff9982cf6a78e5cfe02a47886d6c89106ae7a88b1201aad13bf3caaea() + { + $this->assertTrue(true); + fn() => ("{!$test}"); + } + function testcfac6e1e873e7dd97c8d500392dbe17e8bb0cd9b723838e69a260ff4e954cb4b() + { + $this->assertTrue(true); + fn() => ("{$test}"); + } + function testd297540b5a4dcd9679f55b37d1c6a15dba2e9019b837290f0194a975a7a9d059() + { + $this->assertTrue(true); + fn() => ("{'test'}"); + } + function testd41da91f1c4ee4013209494709aa6d909583f3d375fae93c8222dc65a3759880() + { + $this->assertTrue(true); + fn() => ((string) 0); + } + function testd77ab5e416203cb60b885f14e03fb57139140b9c3965bf2452bd5754e2bcdbd1() + { + $this->assertTrue(true); + fn() => ((string) $test ** $test); + } + function testdab5f74759caf2d2912629e3b862deff9df00d986c82872481beec8247f7b227() + { + $this->assertTrue(true); + fn() => ("{++$test}"); + } + function teste34ce909fadc6f9869314c693a1002b2ab7457ae1521dfad91db73b5798dea6e() + { + $this->assertTrue(true); + fn() => ("{$test->{$test}()}"); + } + function teste6caafd90a63aebaeb9e4a7d86363f6de5dc0338a7477e699490a499bdb82158() + { + $this->assertTrue(true); + fn() => ("{__DIR__}"); + } + function teste8889a7e67e0a47a1fbc21e24815919f91fb8c4f8aa9bf8b851e8a0c6210ac22() + { + $this->assertTrue(true); + fn() => ("{$test->{$test}}"); + } + function testf0105c016c3b8ce4010c9fe148817fcb3144167f5d81e9d75969e0b1dca70bcc() + { + $this->assertTrue(true); + fn() => ("{(object) $test}"); + } + function testf0677225951f49b30e9c372e0191378fc086a886487f551e5ad1f1bde2374cbf() + { + $this->assertTrue(true); + fn() => ("{empty($test)}"); + } + function testf4094c510a0850a2a0e59aebc3496d19c149f56950ffb7be685f52400595fc7a() + { + $this->assertTrue(true); + fn() => ("{$test[$test]}"); + } + function testf9d6e29d49464b10f27fa26faeec930e93c666f437c8503a16bbc6784e27866f() + { + $this->assertTrue(true); + fn() => ("{__CLASS__}"); + } + function testfbe60f8f77c95a4fa056da7d01d97ca3c05678bd91493569bca9273c29174505() + { + $this->assertTrue(true); + fn() => ("{print $test}"); + } + function testfc19f6b10926857d463b6f61588902c42078574ae802eb185c394fed8b683ff4() + { + $this->assertTrue(true); + fn() => ("{new $test()}"); + } + function testfd6f0fd116683ee08d1a55c4936bbb7b4733e02ea364cc1408cba5e8eabfb1f8() + { + $this->assertTrue(true); + fn() => ((string) ($test * $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest.php b/testsGenerated/Target/Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest.php new file mode 100644 index 000000000..b9dafabf1 --- /dev/null +++ b/testsGenerated/Target/Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expression820ca4aec5836d32e00e20c7327be9aa54d24a882d231e4fe6b909d52a6c13ddTest extends TestCase +{ + function test015bcfd0c1068cabc1b08ba76411805d6e552c27402845a8081e19ce3473aa7d() + { + $this->assertTrue(true); + fn() => (isset($test[$test / $test])); + } + function test054cbe9dc30f2d48160f67dc2587d47efc560a8c1b8723de0ab6aecb9f23b496() + { + $this->assertTrue(true); + fn() => ($test[$test] = $test); + } + function test06609755cadc3f4a7e1621becadd3053d3d176b987d5e05de67139225ddcfc28() + { + $this->assertTrue(true); + fn() => (throw $test = $test); + } + function test07036895bfdbd00fb884a6de03663fef54da58d4f0d35645fa81c1f9012135e8() + { + $this->assertTrue(true); + fn() => $test[$test / $test]; + } + function test086188ea59492a51e96526fe2d1a5ccd384faa7b4d9160c02f62b36a5240c127() + { + $this->assertTrue(true); + fn() => $test[$test <= $test]; + } + function test091158f97e34ff92e692a38538ee8d1ffad90632c0e002260e82823e0197c995() + { + $this->assertTrue(true); + fn() => (isset($test[__FILE__])); + } + function test09dd996346107c8b4f31de10eeaabfd6786a11c04b3ed125a01228bb9f9a20d0() + { + $this->assertTrue(true); + fn() => (isset($test[(string) $test])); + } + function test0a7246eff374e627fc4488b2e959ed96a74e3cb6c8605c64c92716c4bbd1ef23() + { + $this->assertTrue(true); + fn() => (isset($test['test'])); + } + function test0ae9079a389c8edfe4e4cd0e30b3f0c2286ebf1b1f02e5cf4504a01e3cf31947() + { + $this->assertTrue(true); + fn() => (isset($test[$test ^ $test])); + } + function test0cd5f718522b8c70cdd2e88be14e2fbbe26696c22ecc00e441b8dd98e5fce602() + { + $this->assertTrue(true); + fn() => (isset($test[$test . $test])); + } + function test0e53592d26014dea915470da3e1473ff35e085b1d109b167af07bf536ccc53f4() + { + $this->assertTrue(true); + fn() => $test[$test - $test]; + } + function test11acfc78908136e25022bace57dede672c7108e8dd47cbe7db5f5a39acfd1780() + { + $this->assertTrue(true); + fn() => (isset($test[$test * $test])); + } + function test1215a426cc31a51dfdf5a6e81c11333f77e9186c55bd38a91a7de697d2e2bbee() + { + $this->assertTrue(true); + fn() => $test[$test > $test]; + } + function test13d8d49eed10f9a183927ce3db3f993fed9ae7096647556df76b2f68caef4495() + { + $this->assertTrue(true); + fn() => (isset($test[$test << $test])); + } + function test1415008c4692d04951f132298a2e8e3172bf29a0a37d71c4acac3bb0d69e313e() + { + $this->assertTrue(true); + fn() => (isset($test[$test + $test])); + } + function test1643e9e31d3a9d69837443a1d91e7926c3b4147bbbaf0cea293609754ce087d3() + { + $this->assertTrue(true); + fn() => (isset($test[(object) $test])); + } + function test1716eaeec596a79b8486f09cfee8e3e6edddaf73298d6b22d8d207b15c35b842() + { + $this->assertTrue(true); + fn() => $test[$test < $test]; + } + function test1cdb04565e7d2b5be68452413684f0e27f6d7a4fe978f26e8eda3247007d0ddb() + { + $this->assertTrue(true); + fn() => $test[$test ** $test]; + } + function test227822b78d0f2bc115063d31df06d03888001cfc6d64ad7825f9f1ae6b2a6a79() + { + $this->assertTrue(true); + fn() => (~$test = $test); + } + function test2374fddc66ee641dc2e77e8594d6406fb5acf36e58db4d0dcdb49fc2c7924afb() + { + $this->assertTrue(true); + fn() => (isset($test[$test % $test])); + } + function test25084350068b6a6ab0e47842380e437c736574047ced6fec31db0c9d547a59ed() + { + $this->assertTrue(true); + fn() => $test[$test | $test]; + } + function test26e3067933ee6782adcda1bcc3f6101b33671cda329de5d78bb6a09752a7dcff() + { + $this->assertTrue(true); + fn() => $test[$test != $test]; + } + function test2b7ecfa632bc10feefc1a95fb08068050c7a227b75bfe4532731e7ae90d117c2() + { + $this->assertTrue(true); + fn() => (isset($test[$test < $test])); + } + function test2c0bf2ba52bcecc89e0e46b291ae8570e7048416c70ed15426b47a31ed339c41() + { + $this->assertTrue(true); + fn() => $test[$test + $test]; + } + function test2d63aa493732b8c58a49a421ac7bb1887d5fbcb687470767371e264c94fb32a5() + { + $this->assertTrue(true); + fn() => $test[$test || $test]; + } + function test30c954070675b2011861b1ba92d1276d9b5aee2ecd06c2a2319ba448f851f623() + { + $this->assertTrue(true); + fn() => (isset($test[(bool) $test])); + } + function test35934702d48a96e57f4150ad7f3866061b819c80e3165c679998024d866d066d() + { + $this->assertTrue(true); + fn() => $test[__FUNCTION__]; + } + function test390b3b32106942524c2567f7eafb1c1f3373c71fd8281ab8cd7ebaa71034500a() + { + $this->assertTrue(true); + fn() => $test[$test ^ $test]; + } + function test3d519df6fda0c39a7421bbab88f7de3c3f4a728d452252bf824b64e0d097dbbf() + { + $this->assertTrue(true); + fn() => (isset($test[$test !== $test])); + } + function test3edeebe60cd3bafa6a4f24d724c36c7225641fd4f86b417d993352fd5f2677a5() + { + $this->assertTrue(true); + fn() => (isset($test[$test <=> $test])); + } + function test424efa3cde54e4a3bdffe7c4196c81aac5ed72259e25ec43fefba6c21fd3ac37() + { + $this->assertTrue(true); + fn() => (isset($test[__DIR__])); + } + function test42fb3fc91c9856b59896205477c54323350550c752f976b71affb146b27adbac() + { + $this->assertTrue(true); + fn() => (isset($test[$test and $test])); + } + function test465b58029bcd99b75b0b8c1f661892af6af55be81418af4b74067f69f40b35d5() + { + $this->assertTrue(true); + fn() => (isset($test[$test - $test])); + } + function test498d3458df3c83c2d7f972fffc1d78d9429b8dd101a160960e73d5aa0e46cca9() + { + $this->assertTrue(true); + fn() => (isset($test[$test >= $test])); + } + function test50f6618fb71531cdb341cbc317595426d35d090589fa981169791797086cecca() + { + $this->assertTrue(true); + fn() => (isset($test[(array) $test])); + } + function test51bde7ac7ea212a7d90639fd0e5d3a78ed031735987f29eb785db300e798b282() + { + $this->assertTrue(true); + fn() => (isset($test[$test && $test])); + } + function test51c64153135fd9ac360bd06410b1c99737654c20afa5fee0846e2d49c9ded5ed() + { + $this->assertTrue(true); + fn() => (isset($test[$test xor $test])); + } + function test542be749caf9d7c49a53a94e07723f731420e2135b41047bdca3df56b0e26ada() + { + $this->assertTrue(true); + fn() => (isset($test[0.0])); + } + function test54936dcdfd0c3f406cfe7746de6417bc671820de531389da659cb94b6dd62f69() + { + $this->assertTrue(true); + fn() => (!$test = $test); + } + function test54bf44b77a14ecdfa37ff6bef0d1f6efbfddbe819d1d444dc98ee40cf14b5fb7() + { + $this->assertTrue(true); + fn() => $test[$test == $test]; + } + function test592f8adb10a51281079fe829b262fcdcf09edcbcc719830624b59eefc983d747() + { + $this->assertTrue(true); + fn() => $test["{$test}"]; + } + function test5aac14d361ee8a64be1c940e927669ea36f611d53ca0fbb6b2d043d66cd7f968() + { + $this->assertTrue(true); + fn() => (isset($test[__CLASS__])); + } + function test5c06b414d12aee3df02bc9f189be6b6d8ef53256dbfdf84495fde05590bf2409() + { + $this->assertTrue(true); + fn() => $test['test']; + } + function test612001e8068866be58e6891399a9b1cf663122018c2982374a7d403b587d4607() + { + $this->assertTrue(true); + fn() => $test[$test << $test]; + } + function test62253ff4526b52a7fd74915697fa781b3f9fe2fbf37ebe0d709fcb5b730cc379() + { + $this->assertTrue(true); + fn() => (isset($test[$test >> $test])); + } + function test65e340387f39aa103c50ee32191145cf5f365b23d291fecca798f19fa7f6dd20() + { + $this->assertTrue(true); + fn() => $test[$test or $test]; + } + function test682000c774ffefac5d2f210fd713d48337120cbb48a3264445119f86fb81b7a3() + { + $this->assertTrue(true); + fn() => (isset($test[__TRAIT__])); + } + function test68551f172fa33d72cca735507d6782e073b79dd448a2f3cb6e780e01276de5fd() + { + $this->assertTrue(true); + fn() => (isset($test[$test || $test])); + } + function test691b5af4cd219aad68bf47539bc4fb702a21baafa1c036d82cafb57e6d4250b7() + { + $this->assertTrue(true); + fn() => $test[$test and $test]; + } + function test6ea2443a3c97f6ef2cdea6edb3039cf38975294a434dfadc4e3af8c9b70129b9() + { + $this->assertTrue(true); + fn() => $test[0.0]; + } + function test6ebb4d8463685d667d0cc69c61ea798ab42839f40db81f1f984d2475c21b8470() + { + $this->assertTrue(true); + fn() => $test[(double) $test]; + } + function test72e32e8a50dfbe730e3fbae25b0114e4fa4e69f9144ebc3cf6d868d26319a85d() + { + $this->assertTrue(true); + fn() => (isset($test[(double) $test])); + } + function test7d4fa63fb45c86faa07e0496acaebae6dca93e8575068f54286f7a5329af1c66() + { + $this->assertTrue(true); + fn() => $test[__METHOD__]; + } + function test7f3bd867cec0b09cd395b91ea2749c2aa900e1d6f2a1b5081e3a241bdc413f02() + { + $this->assertTrue(true); + fn() => (isset($test[(int) $test])); + } + function test7fa60f363b348684291019b34d07a6762adf66823f092a0f44ca306a8b2cd861() + { + $this->assertTrue(true); + fn() => $test[$test % $test]; + } + function test844aa0405fbbdb4f6fb3db754d44156da2981b9147a19d2f3cc1f41da475127c() + { + $this->assertTrue(true); + fn() => $test[__FILE__]; + } + function test88b7f42f9491e8b765cfb7908d947bcc0f6a7da9d073e3c119c0cdbadb610b27() + { + $this->assertTrue(true); + fn() => (isset($test[$test === $test])); + } + function test8a6ed5a1c2cc008bea23f7553e061af63d34d0b4160f9e252771e362666b842f() + { + $this->assertTrue(true); + fn() => ($test::${$test} = $test); + } + function test8c7d132d43d40b7ee45c96005cdcd47a5fafaea2a9b4383dec26c6f6839cdadc() + { + $this->assertTrue(true); + fn() => $test[__LINE__]; + } + function test8cd5f008aa46e8a36475f29f91474dbea7521bdfc964a885ca76954b5a7c412e() + { + $this->assertTrue(true); + fn() => $test[__TRAIT__]; + } + function test8d104d8dddbdbd5d7389c3e427249596b0aa344ae736fd1b8810e11c8f1d0b64() + { + $this->assertTrue(true); + fn() => (isset($test[__LINE__])); + } + function test8d893b6e5b47960b62ae69d6339890da4783046286fc7bc31c6863e4b86bdd3d() + { + $this->assertTrue(true); + fn() => (isset($test[$test == $test])); + } + function test8edad22c5b196c3a62194e24b1e1ca50966e73e859cf87dee6658fb8719b8c6c() + { + $this->assertTrue(true); + fn() => (isset($test[$test ** $test])); + } + function test8ee1f7e5ed5976c6d5ccd83e663073767870d0457758d4ca7f0a8f88b462a045() + { + $this->assertTrue(true); + fn() => (-$test = $test); + } + function test908341484e78da7c315b53f577275587cf152bdb445354b61483b007d314960a() + { + $this->assertTrue(true); + fn() => $test[__DIR__]; + } + function test924772873e4cdb305a61a17615a5939e789f194fc6f91d338ee1b2fda37f3872() + { + $this->assertTrue(true); + fn() => $test[(object) $test]; + } + function test958db7660751115b248fa492275a2454845aad23403d85e8b9714667e209fe18() + { + $this->assertTrue(true); + fn() => (isset($test[$test <= $test])); + } + function test9610ac5582185fed390cdeb67cda926000f51053e16a814534342d473fc75648() + { + $this->assertTrue(true); + fn() => $test[(bool) $test]; + } + function test967e114812f5903f977119b6fc00da51f25f8fc80a09a318a84918b7f63c29d9() + { + $this->assertTrue(true); + fn() => $test[$test >= $test]; + } + function test97c9dd50d4542a9a5316f5d289c95384257dd1aca0663a3f75dd0e2b967b910e() + { + $this->assertTrue(true); + fn() => $test[__NAMESPACE__]; + } + function test9c042f906f912f081ac266ec53e56693feea0182893b743f1e76e5fb5e8451d7() + { + $this->assertTrue(true); + fn() => $test[$test === $test]; + } + function testa2095ef499efd4d8bb42129e377bd8521e8a0edcae9d64599e307b2803f5fad7() + { + $this->assertTrue(true); + fn() => (isset($test[$test | $test])); + } + function testa9ffd92d4466767b207909dd29de44146bed9dd4ea97430dd1293cf859914f5f() + { + $this->assertTrue(true); + fn() => (isset($test[__NAMESPACE__])); + } + function testada2d19106a059e0d7ca65af0c4ee72eec489e0500bbe3c469fc74558e4196f0() + { + $this->assertTrue(true); + fn() => ($test->{$test} = $test); + } + function testae255559aee4c94e669e844cabcf017b25bf67cc7f8488bd7e17fa1b736d7c6a() + { + $this->assertTrue(true); + fn() => $test[__CLASS__]; + } + function testaea785e9247c8dff54b1e5f71d843e44e4fbaf0c1a9a98d7a5e6103e34158606() + { + $this->assertTrue(true); + fn() => $test[(array) $test]; + } + function testaf15a9bb4fc01ae1905e2486132dd391700dee86edf4f6227fd4055fc49ec395() + { + $this->assertTrue(true); + fn() => $test[$test !== $test]; + } + function testb317b5da5d8f23a3973644a826b6967ddd297bdd85ec9742b72200c109b9eab6() + { + $this->assertTrue(true); + fn() => (isset($test[__METHOD__])); + } + function testba3540f4664389b1ee87cf10f9d741fe341881842613b1b665b0292617364631() + { + $this->assertTrue(true); + fn() => $test[$test >> $test]; + } + function testc22dea0b19269eb948101d4ce866b4296dfa70b7de917ffc1bfef8d878367fef() + { + $this->assertTrue(true); + fn() => ($test = $test); + } + function testc4d94132e96037abd998f21e60545ae1910d393f43cf7740897751e036f71d6d() + { + $this->assertTrue(true); + fn() => $test[(string) $test]; + } + function testc5b9c6b0ee958cc53cb51064c6d759d3fd0fe8b04ccf351aa2485bce582dfb45() + { + $this->assertTrue(true); + fn() => $test[$test && $test]; + } + function testc87bb00704d5915b2ede24af5e9dea69f08a78e315f83513d46f1754e67980fc() + { + $this->assertTrue(true); + fn() => $test[$test * $test]; + } + function testcb0f11f31f1943e7531199cff728536d35942c3f9e1c40643f179e7c7cf33092() + { + $this->assertTrue(true); + fn() => ($test::$test = $test); + } + function testced6457b37389b5653fdd5c7075c1fff2ad1ad50ad50344a0892f8474be030d0() + { + $this->assertTrue(true); + fn() => $test[$test <=> $test]; + } + function testd47fd842d58f0bd61af5391d297ac5cb19ca712ff67ea4e406419b6d28450f7a() + { + $this->assertTrue(true); + fn() => $test[$test ?? $test]; + } + function testd637ed7b12d6938a107c23de2b567ac688cc19b8700e132d5d5294f072d45f44() + { + $this->assertTrue(true); + fn() => (isset($test[0])); + } + function testd7c99bcbcf9fd805b2f0e817a24751d984977ae58127e7a0249addf4162a1ab6() + { + $this->assertTrue(true); + fn() => (clone $test = $test); + } + function testdf39ee55cae52f2049f1dad7becd4a3b82ec5391ced2c1123b8d762bc82d75c9() + { + $this->assertTrue(true); + fn() => (isset($test[__FUNCTION__])); + } + function teste10ae0c6cca90fe6738311e00289fe68d924ba9b410b4f846a2d59a203905137() + { + $this->assertTrue(true); + fn() => (isset($test[$test ?? $test])); + } + function teste3d85c49d41223b48a01d470b9cd812de3757a3a4f02ddaffaccc8a27d175fea() + { + $this->assertTrue(true); + fn() => (@$test = $test); + } + function teste928348f8d5b192ff02bf6ff50c7cc920fb3870d6ae98a5870658c723a7e2046() + { + $this->assertTrue(true); + fn() => (isset($test[$test != $test])); + } + function testeb1d9bb493adf04de69d88cf82b44d978b3e0047114058fedadd221b080dfb50() + { + $this->assertTrue(true); + fn() => (isset($test[$test > $test])); + } + function tested830b2c4560d233aca71d449094c31daeda06a7af2b1ec6c692441f4ad2f8fe() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test = $test); + } + function testf22352b8d759d081da9f590452b5f489999512462c7f73290ccbbb119283a2ba() + { + $this->assertTrue(true); + fn() => $test[(int) $test]; + } + function testf5dbbb0d9b9b79b0743beb8c50599c17e6d0f277bd3aca9810f1533993c2050a() + { + $this->assertTrue(true); + fn() => $test[$test xor $test]; + } + function testf9dde47c279a4f5026db422ca1093b843d60482488773cd8811c5dbc7d766019() + { + $this->assertTrue(true); + fn() => $test[0]; + } + function testfa036c5a909a92ec2f6f972a93930d396b5524eb2ac18f30c4ef7fe7f47a7a58() + { + $this->assertTrue(true); + fn() => (isset($test["{$test}"])); + } + function testfb526c8cb88fe98943fb377944638db373e3e2a30f1e05d105a484a9e169426f() + { + $this->assertTrue(true); + fn() => $test[$test . $test]; + } + function testfbbf5172b6f34895352f0ffa99c82a4136d775e91cfc1fb54c4c9c004374571b() + { + $this->assertTrue(true); + fn() => (isset($test[$test or $test])); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test.php b/testsGenerated/Target/Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test.php new file mode 100644 index 000000000..0092db485 --- /dev/null +++ b/testsGenerated/Target/Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression82838cc1d0568eebe4b207788085abb8fd6fbe993b569e522bc12889bc45bd45Test extends TestCase +{ + function test020cc1df8183c5c31767cc9576cafa2b55b56612740ffab5bfc30519b1ba132d() + { + $this->assertTrue(true); + fn() => ($test xor $test + $test); + } + function test07b720878de20f49eee2daa714510028247500add985d8a3ca39266085afa721() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) - $test); + } + function test082be7578937410530eab9aa5adf2b65feb608b074506c61279f7d274ad17c5f() + { + $this->assertTrue(true); + fn() => ($test xor (bool) $test); + } + function test08c8b9bc73cb6b4b66830e58841396bf9229335a81a1dc7b62d04056a997cc80() + { + $this->assertTrue(true); + fn() => (empty($test) - $test); + } + function test0e5620177e68ca1bdfdabff1e68fc8293f59c612ba0cf514036cd5beed73eb9f() + { + $this->assertTrue(true); + fn() => (self - $test); + } + function test14bbe67fb0a1382decd5423d721af830bb32d69475fa061c118b97c52315a0cb() + { + $this->assertTrue(true); + fn() => (${$test} - $test); + } + function test154f03da48a6745d1cb6b91cfed1b3ea1529bba44f0aad72c345d90de2e18727() + { + $this->assertTrue(true); + fn() => (($test <<= $test) - $test); + } + function test1561d51936bc7c573b4d106a327e723191bedcdbc3f2b2133fe9fe5827a4eb10() + { + $this->assertTrue(true); + fn() => ($test-- - $test); + } + function test1640617a9f09fe462913a97a2e2d1907b22105734ba53a55ce7ab2f91937a40e() + { + $this->assertTrue(true); + fn() => ($test xor $test <=> $test); + } + function test177d6466b354869578889638863b800a260859efc378d65608d5b2fb3d875e48() + { + $this->assertTrue(true); + fn() => (($test === $test) - $test); + } + function test199bd4e2386341c12a6d9a6a4a76984ce84ca7bdfaba006be268d3ee892bbf6e() + { + $this->assertTrue(true); + fn() => ($test?->{$test} - $test); + } + function test19e5e31cdc6b3241b2d00f9aa4b12833493190667ca6e7e943b1f77fb484bfcc() + { + $this->assertTrue(true); + fn() => (-$test - $test); + } + function test1a0263830e49ea4dad65051ae6c28f7335954388c6f08ae6ab096a53928acce2() + { + $this->assertTrue(true); + fn() => ($test::$test() - $test); + } + function test1be71da85cdd7aa71999cd02579f6d4fdfb2afe2a482df42f6e95ce71b872239() + { + $this->assertTrue(true); + fn() => (($test != $test) - $test); + } + function test1c579c1f690794f1c64e339036f1a7660d102a388247ecd35ca9892d27de5399() + { + $this->assertTrue(true); + fn() => ((yield from $test) - $test); + } + function test1c7986a7c95ae2f064faa99feb8517731e6a7ab9d56f58eda2bb3770b439fe98() + { + $this->assertTrue(true); + fn() => ($test xor (string) $test); + } + function test1f4507a46771110a9a3efd8b693afc0b481504e535aa9bf37926d244ffb6097f() + { + $this->assertTrue(true); + fn() => ($test instanceof $test - $test); + } + function test21e3a061b52fb74acc886885a421e25bde12f91f638150e2f2837cd7bb000dbf() + { + $this->assertTrue(true); + fn() => ($test xor __METHOD__); + } + function test24e8ae59211b16dcbed4826e77cd49d8cd405bd906fcbbc786f9553c7d84e6ff() + { + $this->assertTrue(true); + fn() => ($test->{$test}() - $test); + } + function test299d7ed2b5f565a606085862f58495baafea1c514a017ca933b75c9bca35c836() + { + $this->assertTrue(true); + fn() => ((print $test) - $test); + } + function test2a803bac2f55b9192212e3bf39cba9f399fc29dff6f81b75ad4f2236adf47c03() + { + $this->assertTrue(true); + fn() => (($test > $test) - $test); + } + function test2f45a5d62eb41a4fc3e1351f711a5955d70da9a1da120ff9b88d9186a71754c2() + { + $this->assertTrue(true); + fn() => (($test & $test) - $test); + } + function test332f2514adcb274615a3c648e6284a55042b9724f3988c9b5224f021ae656e0f() + { + $this->assertTrue(true); + fn() => (($test ^ $test) - $test); + } + function test3521b3530a48ae8fb31b69e062b52b60f9ef32d56e0fa55654d46d87f0a5993c() + { + $this->assertTrue(true); + fn() => (($test && $test) - $test); + } + function test35e1cf0058829f5cadb9bb2a35ae898314ad9bc03cff7ba7fc33fd255f75beff() + { + $this->assertTrue(true); + fn() => ($test xor __LINE__); + } + function test3718674a3e40cb7130af079cb2bc33f4ea030cf678329e03ee503b13e8926112() + { + $this->assertTrue(true); + fn() => (match ($test) { + } - $test); + } + function test398f0d797ff97d09ac540557fdbb4ed9294f48078efe7667c1c603d8e18c2534() + { + $this->assertTrue(true); + fn() => (($test !== $test) - $test); + } + function test3aa84171a65b76a3364baa0b58b4ea68ee1f2f8e3493141af1e2e5f91ed9a4bc() + { + $this->assertTrue(true); + fn() => (eval($test) - $test); + } + function test3dcb9d9e9a9c1a310499dcfd6a5463be322435982b586b0d55f9f67c40c847fe() + { + $this->assertTrue(true); + fn() => (($test and $test) - $test); + } + function test3df6bf7ea59a1a44dca5920dfe264886e37c5e6755d33923f214d57dac5beccb() + { + $this->assertTrue(true); + fn() => ($test xor $test ** $test); + } + function test3ea01382802bec48d3d126df910e513d69df3108bf9ca26e55df8df76d810531() + { + $this->assertTrue(true); + fn() => (($test |= $test) - $test); + } + function test45481cae50d2cede361f0851908f4e33908355400e3e8239536b3ec4185f800e() + { + $this->assertTrue(true); + fn() => ($test++ - $test); + } + function test45a827f12f7e0cde5150315aba1e257e15cfd4772e8c52b24a018f4f6a860f1a() + { + $this->assertTrue(true); + fn() => ($test . $test - $test); + } + function test496f947ed7d720412af9770834c583dfdf03aaea84f277b1ded798ee228c3916() + { + $this->assertTrue(true); + fn() => ($test xor __FUNCTION__); + } + function test4c6b866b90063056abecd2810926da8f490899a6ab8fa076fcfe40a13418107d() + { + $this->assertTrue(true); + fn() => (++$test - $test); + } + function test4cc837a23ed560e70e64796a1802bbf61bf991416264e48110600b8da89938e4() + { + $this->assertTrue(true); + fn() => ($test xor (double) $test); + } + function test4e10dd53e488f03556f69c03a71dd2668f9a993813519e5d07e6271c2a4b81b7() + { + $this->assertTrue(true); + fn() => ($test xor __NAMESPACE__); + } + function test4e5bfce7f88d2e6fc90a96235b52d0757152fc4a3f971fb9ee6311abcbbcbfe8() + { + $this->assertTrue(true); + fn() => ($test + $test - $test); + } + function test515dc376c84fd73b7c0f8cfde7e8520b647024a42db415548811fc801d7d5495() + { + $this->assertTrue(true); + fn() => ($test xor __FILE__); + } + function test51b1e6f6959300348504182ac02333883989f4a7137bc72c31c17a6c838188e0() + { + $this->assertTrue(true); + fn() => (($test =& $test) - $test); + } + function test53590971bb882ed1334671ed6b6254abd8947b1a840587ace5547b02824d75bf() + { + $this->assertTrue(true); + fn() => ($test xor "{$test}"); + } + function test59e5301dbbc35431fd54eb6857dfd16363a8b8d16ebd0194b1285178178eabdb() + { + $this->assertTrue(true); + fn() => ($test / $test - $test); + } + function test5bccc5a6e0e3cd71cfc800ba5623acb8bb7b8c98e8cc891b4187618ff433a4f0() + { + $this->assertTrue(true); + fn() => (($test xor $test) - $test); + } + function test5bec5316008751dbc884942b3f0f10fb06066b15177e987f0b094253a864a013() + { + $this->assertTrue(true); + fn() => ($test xor 0.0); + } + function test5c6d852946af9bfa69ec237ef86aaa63207f1da04fb5cda6165892f4a134c39a() + { + $this->assertTrue(true); + fn() => ($test xor $test >> $test); + } + function test63569627e42ab13c45ac24e1ab9bb5dd59d9c1fc503d0fa5a3ea339a8d9d7591() + { + $this->assertTrue(true); + fn() => ($test::$test - $test); + } + function test6551f9a6d1cdc1fed2fa16d301561cd2c19706e94a998190d6682104fa725e63() + { + $this->assertTrue(true); + fn() => ($test xor __TRAIT__); + } + function test6b3093689245354940e777465a7fc4f31e297a6e5c51c70066c3e2ffb166e2d4() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() - $test); + } + function test6b7fc98bece9e2f9fb3505201125812419f6ddfa0f0dd24c217f426ee98d9bea() + { + $this->assertTrue(true); + fn() => (~$test - $test); + } + function test6f7e1851a2b3cf7cde451f687ace2a32973f038eb6099fbd96467cade09b10ad() + { + $this->assertTrue(true); + fn() => (@$test - $test); + } + function test700d890e26f7801b641ce9db19f7fb424166845d2b5c8dc64d16f8422a0e942b() + { + $this->assertTrue(true); + fn() => (($test **= $test) - $test); + } + function test7076899f14c6f99cb356a7d823efb48aba27c8446c6f2a24639ef7a8aed491c6() + { + $this->assertTrue(true); + fn() => (($test >= $test) - $test); + } + function test71705cb7020853d7fe5d43d376fbe52ca49ca20589a4414aabfba4a60646dc15() + { + $this->assertTrue(true); + fn() => (($test .= $test) - $test); + } + function test7553b0e1aa12d6f796cd8bbee8fcc0023245ca32b3822fec8f8a54dd245c3336() + { + $this->assertTrue(true); + fn() => (function () { + } - $test); + } + function test7b6aa9cb02d75e5d511ffb9e9a0cc3b82beba811e9b8191fb50f17688ceca812() + { + $this->assertTrue(true); + fn() => ($test xor 'test'); + } + function test7dfd38bc185124f3c1e4129031346f2bb96379b7c863e534b8ef30d673961bea() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) - $test); + } + function test809fd808fec16791007a0922a3aa96cfc47705f97680013ac5f7317991bff685() + { + $this->assertTrue(true); + fn() => ($test * $test - $test); + } + function test8669bb5552a5feda547afce41aded2bd8215ad73f2d7e1c92bd122914c1e67cd() + { + $this->assertTrue(true); + fn() => (throw $test - $test); + } + function test86766d0370723be0ae5cb96dfb3795dd50f7218909dccff8c058c13ea7bb2600() + { + $this->assertTrue(true); + fn() => ($test xor $test < $test); + } + function test88df08caf8d82de262edda4dc79db93da8cd1cfcdcdc57be85caae6a7a90413c() + { + $this->assertTrue(true); + fn() => (($test >>= $test) - $test); + } + function test8bff4da44f3f4ed9aa1c47b3b783f991526e1b0ca56178494c9188450f5a3384() + { + $this->assertTrue(true); + fn() => (($test ??= $test) - $test); + } + function test8e3f2d414546224f234f23e211259651e75ca6860103e2331121908df099defe() + { + $this->assertTrue(true); + fn() => (($test | $test) - $test); + } + function test959b8154cb3e5c8de1b251c4804c671886fcacfd97f328ff4f89eec1b372fd6e() + { + $this->assertTrue(true); + fn() => (($test ^= $test) - $test); + } + function test9b9298bcfe6cee7ca8f8db9b7db8ad896893bd299247aed5fd16cbecbcfc296c() + { + $this->assertTrue(true); + fn() => (($test == $test) - $test); + } + function test9ce063837d82784c525872d7f5395e38476ed754154fc459c8f4026cd97a5d5b() + { + $this->assertTrue(true); + fn() => ($test xor (array) $test); + } + function test9f53bb9c23aa2a216378d3980c2ef450e15e490e8af6d086bea10821d092ccf1() + { + $this->assertTrue(true); + fn() => (($test ?? $test) - $test); + } + function testa0f4c54e2a986d2f98cc4400d38c8b5bc55816583f6c09f841e02fed4cf965f8() + { + $this->assertTrue(true); + fn() => ($test xor __DIR__); + } + function testa43aa15e8fbe8ba638e73257f03c50d7a0a52e1f8fce974a7e48ec45c038a0d0() + { + $this->assertTrue(true); + fn() => ($test->{$test} - $test); + } + function testaaab279b319872e69968f457469d8e6c4bb47f80c894d3b252556ff7fdf08b0e() + { + $this->assertTrue(true); + fn() => (--$test - $test); + } + function testaf0196e1f428625a102aa7290c81776c67ef745879fb0c92618fdb0f9a2b87c7() + { + $this->assertTrue(true); + fn() => (new $test() - $test); + } + function testb0a0262efc8bf61673bbe64fdd9dd8e8aafb8c078a5c0a40a05fc1443209df52() + { + $this->assertTrue(true); + fn() => ($test xor 0); + } + function testb129d7b42bf98f9abf71bc606ddba833a8649d455c2d4e84c3ba2ad84034fb21() + { + $this->assertTrue(true); + fn() => ($test xor $test <= $test); + } + function testb4b08566505674a96ffbef0b11ee06dd6176acf0a13aed1fa62a5b5c49581697() + { + $this->assertTrue(true); + fn() => ($test() - $test); + } + function testbb364eda651e71143b367e8ba2e48ce9fc93aff0feb465f37946b4bd76e2f849() + { + $this->assertTrue(true); + fn() => (($test += $test) - $test); + } + function testbc7b58a52688ecad1767c5b8218c105696ae9d79098ff8dbc56f1c58e3d94c75() + { + $this->assertTrue(true); + fn() => (($test = $test) - $test); + } + function testc47f503a3db2573143e1190436316d6edff063a962483309ec90cc3ea25fd753() + { + $this->assertTrue(true); + fn() => ($test xor $test !== $test); + } + function testc7e5a337d769eabd62216d4af23dfe704b1dc6dab5f9d9c1527b43a35aad0630() + { + $this->assertTrue(true); + fn() => ($test - $test); + } + function testc93472945e85a7f36cb55c688a0d026c6d29d8a486d8775bb73b86534b66a061() + { + $this->assertTrue(true); + fn() => (+$test - $test); + } + function testca76efe51c92c62ebcc3c70314a7d4541877c6f584ec34ba41ef94ab813881d1() + { + $this->assertTrue(true); + fn() => (clone $test - $test); + } + function testcb831dffab5a4e2bfdd4efe367b90ab7847c417f1a8395a96972229227288c05() + { + $this->assertTrue(true); + fn() => ($test ** $test - $test); + } + function testcd122469aff0f7544ceec8dbb0de1ba933d55799e7fb46ab20a1b548c77ccfe8() + { + $this->assertTrue(true); + fn() => (($test -= $test) - $test); + } + function testcf2fb3b2e3d6e73c807deb852f1b0a98e3fe503c750f624220a70c21c658549d() + { + $this->assertTrue(true); + fn() => ($test - $test - $test); + } + function testcf668b9509ee337bb5480eeb0f23d49b8400cfadd5935bd546ad9e4dded85bd4() + { + $this->assertTrue(true); + fn() => ($test % $test - $test); + } + function testd077665bcea0ac2c2420c989317c148abe9a62fb6046bf1f55bfabdefeee0b0f() + { + $this->assertTrue(true); + fn() => (`` - $test); + } + function testd7e3d6a3dda842cd387815fce337f8834c74ffeb9fc27d260710a54559cbbd44() + { + $this->assertTrue(true); + fn() => (($test or $test) - $test); + } + function testdc9d3a057e7c4f013efa769d5ee1b230b4f96e3728032fbaf4241525b0e6dccc() + { + $this->assertTrue(true); + fn() => ($test xor (int) $test); + } + function testde5cfb536a12ca59d6aa3bcc8a116dda49dc5265290e86005518460409589eab() + { + $this->assertTrue(true); + fn() => ($test xor $test << $test); + } + function testde7efb764c1591d0b8ea4ce484155046d00894fadc72ed4b766d4c812219a8ce() + { + $this->assertTrue(true); + fn() => (($test &= $test) - $test); + } + function teste190db1e27d7dd5a6bc3f734ca7109c8939e90937911eec305e7691effaf1953() + { + $this->assertTrue(true); + fn() => (!$test - $test); + } + function teste375c93e77f9af76ef6c43051ee0c355423c459184aa2e3b11f088bfd46408b3() + { + $this->assertTrue(true); + fn() => ($test::${$test} - $test); + } + function teste7a8a8106a8252d9e8f5915460670b28c4975462c0d8ce293e2a6d67ba97e7a8() + { + $this->assertTrue(true); + fn() => ([] - $test); + } + function testea311aaca322b4109a37ec37dbebfd34f4af880ab1db48049463de451b7ce8d9() + { + $this->assertTrue(true); + fn() => ($test[$test] - $test); + } + function tested0b945f725982413f65f714c2f9714fdf2ea854f5b1dca452c54677e01a7b7c() + { + $this->assertTrue(true); + fn() => (( $test) - $test); + } + function testee9da4dbacdcafec3b0f1731cfa768cc83f24825c9658f1ef0ba953297dc0e63() + { + $this->assertTrue(true); + fn() => (($test || $test) - $test); + } + function testef014192471492696614bfa017ed59f9c31133d6a71e4d857e754117f03893f0() + { + $this->assertTrue(true); + fn() => ($test xor __CLASS__); + } + function testefd07869caac9e6566338e3234c9b9ab3d4339e5042489937c93c60092a39455() + { + $this->assertTrue(true); + fn() => ($test xor (object) $test); + } + function testf0106038d32ff3f90396e930a5535869840af83ab6691b5a7d85300808f162bd() + { + $this->assertTrue(true); + fn() => (($test /= $test) - $test); + } + function testf4f421e4431c73204d581f7335181ea53a7810055026d8468d837bbfd8becefe() + { + $this->assertTrue(true); + fn() => (($test %= $test) - $test); + } + function testfa0627462488157caeab6e0c375c4215808aa99ea5d4b48619bfa6f59bd50f1a() + { + $this->assertTrue(true); + fn() => (($test *= $test) - $test); + } + function testfacd00f33a8c1246d48c5e377b856c282b42bda5f8e8e16995d84a63196fb0de() + { + $this->assertTrue(true); + fn() => (isset($test) - $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test.php b/testsGenerated/Target/Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test.php new file mode 100644 index 000000000..ff4a7691c --- /dev/null +++ b/testsGenerated/Target/Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test.php @@ -0,0 +1,513 @@ + + * @license MIT + */ +class Expression856a0504c83eb95ef6459646efeabdd82ed6d6f7fa5d6905a63fc1ea01418f19Test extends TestCase +{ + function test021f173707728540be3493c293b428013141b8e7e8c674a259ad4ce41baf70ce() + { + $this->assertTrue(true); + fn() => $test->{$test ^= $test}; + } + function test06cce853bd19a26dfaa79b678cd4ce14570b05dd2a88dd0f920071f15719ad9f() + { + $this->assertTrue(true); + fn() => $test->{$test xor $test}; + } + function test0e06cad5d97a6b703582c8c0a452f698eca97b46e8eba2ec55f1ecb892557fec() + { + $this->assertTrue(true); + fn() => $test->{$test->{$test}()}; + } + function test12c018b17c38720f8c095090dded2a0b4f5182864788795b5a575589d727bbb8() + { + $this->assertTrue(true); + fn() => $test->{$test::${$test}}; + } + function test1605b9629b1d9262b4b4c1d64bb539092fda9afb69cf228e0c041ab4d5f6e489() + { + $this->assertTrue(true); + fn() => $test->{$test || $test}; + } + function test178703e66c50817c2a71c4e1523dc67fec0f1867ef1c5e68e067bd0873a0d6f9() + { + $this->assertTrue(true); + fn() => $test->{-$test}; + } + function test1df2ea90dc22f9fbea3641e5b749aa638db0dcc2bdcea35193ac50369281e3e5() + { + $this->assertTrue(true); + fn() => (isset($test->{$test <<= $test})); + } + function test21a45b296f3416d8d0410918415a20297b57b77dadc8d39be3405280ce4fb31d() + { + $this->assertTrue(true); + fn() => (isset($test->{$test > $test})); + } + function test21f541c098caa967db5dea9d464e6a990ccde0ff46aee782b178c6a6ca546ec5() + { + $this->assertTrue(true); + fn() => (isset($test->{$test xor $test})); + } + function test223c78bb069bc18cffc0773740fd5c5271954ce69191711756e88e062ec2ab65() + { + $this->assertTrue(true); + fn() => (isset($test->{$test . $test})); + } + function test227ebce9ff66f18ef511d16af3abf0f19c8100e1aa35a1ce94d90ba66abf23c3() + { + $this->assertTrue(true); + fn() => (isset($test->{$test--})); + } + function test26484812db8b8163bd832248f8c0e77bf2200794ecf7610641d8e266b9af7c90() + { + $this->assertTrue(true); + fn() => (isset($test->{$test %= $test})); + } + function test284ce444f5084c7286a06f9e3d109b5423c69d13a6b91cfed0c8856ee1dab5c2() + { + $this->assertTrue(true); + fn() => (isset($test->{$test++})); + } + function test2b024ad627339e8118236207793b5236c4f80354b0ff366119cb9385b697c77a() + { + $this->assertTrue(true); + fn() => (isset($test->{$test |= $test})); + } + function test2c6c480ed38a5910ae3cd214b62d6bb5b3f423c69b73356e193e605e2cf0e2d1() + { + $this->assertTrue(true); + fn() => (isset($test->{$test?->{$test}()})); + } + function test2ea5788e4331b2f8d4e730681475f8a561854f0cafcb5217479cc6ef13e69fa0() + { + $this->assertTrue(true); + fn() => $test->{$test::$test()}; + } + function test32e27b886b080c4e7b79587efc2dd8811108cc315f9d5cd3e549b0e0789f7b50() + { + $this->assertTrue(true); + fn() => (isset($test->{$test ?? $test})); + } + function test338bd0f128334f327af858f7a831a8d8e5571033c25c71b8968f4dcabc55f4db() + { + $this->assertTrue(true); + fn() => (isset($test->{$test & $test})); + } + function test3686b2136d1a15dcf577258521e2be4124436e2aba9aefab20f5924b49dd0ad1() + { + $this->assertTrue(true); + fn() => $test->{$test or $test}; + } + function test3d5183e704c54487a22cc95442a472b2a3c8026daa1d69e79588b94d49b8c541() + { + $this->assertTrue(true); + fn() => (isset($test->{$test or $test})); + } + function test420cf704b710fa4d5af5e5a13c907c1c6c768ddbfeb8b4f047558ba1ccbba7e0() + { + $this->assertTrue(true); + fn() => $test->{$test > $test}; + } + function test455bbc2de98947da887501c33aedc37b9e3fa7f226e387e66c890bff46867445() + { + $this->assertTrue(true); + fn() => $test->{+$test}; + } + function test455f620bea694047fac5301ab4eafb57d1cb700e73ada1ee009bf763553c345d() + { + $this->assertTrue(true); + fn() => $test->{$test ? $test : $test}; + } + function test48d1bd24445965bb97806d4768e75b04a0be2b7753435792c794f442662fd36d() + { + $this->assertTrue(true); + fn() => $test->{$test & $test}; + } + function test490919ca53ae8b8747b39f715323fece1fb0d58c3af8299adfa4201a1a328096() + { + $this->assertTrue(true); + fn() => (isset($test->{$test += $test})); + } + function test4bbfe1e5679746f94ed12d1492df893fe057de9be0a5021f3ef2c45fc5c8a417() + { + $this->assertTrue(true); + fn() => $test->{${$test}}; + } + function test4e2b689f8231f6140f02111ae4cb9174774823cc35db95c2315d06fbfc9cedbb() + { + $this->assertTrue(true); + fn() => (isset($test->{$test *= $test})); + } + function test5159cb29edd266450de78c625398535d19e54dfac82f17ee5d14a8873b646a56() + { + $this->assertTrue(true); + fn() => (isset($test->{${$test}})); + } + function test517625f990fd8e070e25df132c336f82ea92e906f60716cf5ba07b004b967644() + { + $this->assertTrue(true); + fn() => $test->{$test == $test}; + } + function test54a03f8c8203c4ec64090f0cdb662590cb940fad9d41b2b4c65114737c436261() + { + $this->assertTrue(true); + fn() => $test->{new $test()}; + } + function test5752b579e79c6fc1e9b7c0414e5a2dea26f6b12bfbd85bbe389b3112fc102332() + { + $this->assertTrue(true); + fn() => (isset($test->{$test || $test})); + } + function test59b6503fa38adc62daf873d38c66dd2f5abd969a2096f45be6f8f39f37d839b8() + { + $this->assertTrue(true); + fn() => (isset($test->{$test / $test})); + } + function test5a982d2a2f432c3bbf21cba37fe884a4d67e29aa9ebaa6f33abf20a512c8c015() + { + $this->assertTrue(true); + fn() => $test->{$test /= $test}; + } + function test5dbbcb9d0e1335589a6d45896b449ff9d49a1aba32e87a208d4a6bbd7b527ed6() + { + $this->assertTrue(true); + fn() => (isset($test->{-$test})); + } + function test5e0a1a002dee20e460858bf09b4dedb3b12e6a3a1de3d8c75404a6091a1e1d62() + { + $this->assertTrue(true); + fn() => $test->{$test ?? $test}; + } + function test614d4447b3c19e5ca48a28bd4f0785a28811e6a734564562cdebedbca7cd4527() + { + $this->assertTrue(true); + fn() => (isset($test->{++$test})); + } + function test646cfee434a33d3828b2a31665de135a4c84d75d800887e40b13d24b44098a32() + { + $this->assertTrue(true); + fn() => $test->{$test ^ $test}; + } + function test6485b014844931bbb2188b1fcdee851305dfc80b0370281ccc4e1c718f3f1c2f() + { + $this->assertTrue(true); + fn() => (isset($test->{$test::${$test}})); + } + function test65e5c21568127cd680304bedb947e5ed6f88c2ce4fbee59a4e33eb609fed3f68() + { + $this->assertTrue(true); + fn() => (isset($test->{throw $test})); + } + function test69d547dd10e559a13024a002cb196faf6e4912e0ae6526874b2a62a0f9418b98() + { + $this->assertTrue(true); + fn() => (isset($test->{--$test})); + } + function test6c2fbeb84cbc8b96e8a0c578b0b60fd8f300080ba43242aa3084c6f5e67cc41e() + { + $this->assertTrue(true); + fn() => $test->{(yield $test => $test)}; + } + function test73111998883e715551fcbc3e1ce744707addc468324890b6b81410db74ce798c() + { + $this->assertTrue(true); + fn() => $test->{$test **= $test}; + } + function test751fc58bfadff19a666501f6e2e4b21bf0aeb8ef425b3a9b4b342c08b2105ce3() + { + $this->assertTrue(true); + fn() => $test->{$test %= $test}; + } + function test785cad574697ab27e7bf031aff57c116aefc6e9c7152ea99e054cde7c76ee8e4() + { + $this->assertTrue(true); + fn() => $test->{throw $test}; + } + function test7ab2edf7a266b4d343ab5d0060f0f82aedc70961ec0905aebc7ab6b40356a45b() + { + $this->assertTrue(true); + fn() => $test->{$test % $test}; + } + function test7de005a4d0285b2367f8e50662664a45ba96c29cde661733339ba61e9deb48f8() + { + $this->assertTrue(true); + fn() => $test->{$test ??= $test}; + } + function test7e70128f91164b630e7d5cdc00e38553504e2119e147ce5419fb062d0d0c2535() + { + $this->assertTrue(true); + fn() => $test->{$test and $test}; + } + function test7fc4e9827668f3bc06dbf5d6d26466a40c9bb5243f1b14c6dc7e0c1e05229041() + { + $this->assertTrue(true); + fn() => (isset($test->{(yield $test => $test)})); + } + function test804deb6ae3ff6cc714ed66e5164ba451c3ec6c3238f14195fb415d665646ef90() + { + $this->assertTrue(true); + fn() => (isset($test->{$test === $test})); + } + function test80fcb7a39c8d4bf63c0f8afed5c7f1136f85f5eb420910d01ec964014121ec15() + { + $this->assertTrue(true); + fn() => (isset($test->{$test ??= $test})); + } + function test8174daa37eda5a061fa2e0f62011d07e120fd4ffa6fda0b68ad018d8a85498fe() + { + $this->assertTrue(true); + fn() => (isset($test->{$test **= $test})); + } + function test831a45a3acdf9e678afcb09ec8c9f6971e2a9cee84e12b2f79d6a307a1b74d45() + { + $this->assertTrue(true); + fn() => (isset($test->{$test /= $test})); + } + function test857d30a2f75d591762569887767afefdcf819af7cb62c76c3ea142c006a9945f() + { + $this->assertTrue(true); + fn() => (isset($test->{$test | $test})); + } + function test89b75512b78d4184b0704413e56cf3b4c8356140b835fd791dd0f547a32b3bc2() + { + $this->assertTrue(true); + fn() => (isset($test->{$test->{$test}()})); + } + function test8b2896107803e2ae51d2d03b3ada294f602909a837bfd85ed9073249fadfd26a() + { + $this->assertTrue(true); + fn() => $test->{$test += $test}; + } + function test8bca585b6c78feed769adb3426757f4fcff1fd533deada287115430cf295c876() + { + $this->assertTrue(true); + fn() => $test->{$test / $test}; + } + function test8bd09823bf1dce4198f96df683a2e1ad1624acb7019b65a64652f9228006288c() + { + $this->assertTrue(true); + fn() => $test->{$test .= $test}; + } + function test8d22bc8606d400269b03ec30757bfc082a503259180e30b76a1b04cfb981796a() + { + $this->assertTrue(true); + fn() => (isset($test->{$test?->{$test}})); + } + function test90a6652e20811bcb943b23f570150af4c387df2f91fb4eed715c3c1de5387974() + { + $this->assertTrue(true); + fn() => $test->{++$test}; + } + function test932e82e4feaacf6cb676ed4508050cef14644d455c74c6b30348a5f3e3101bd7() + { + $this->assertTrue(true); + fn() => (isset($test->{$test >= $test})); + } + function test9a973531c1a329c2b72c631eadd2acfe7ec1712228dd1e2b4bb1901fac10e33b() + { + $this->assertTrue(true); + fn() => (isset($test->{+$test})); + } + function test9c1c8849b1bbb3b090738090e21404d842f90d52ae8aacd5fa1bb280dbfacee8() + { + $this->assertTrue(true); + fn() => (isset($test->{yield from $test})); + } + function test9dfa264207d40a7db623a6e01135ce188427c256cfea627e8ff405191a549633() + { + $this->assertTrue(true); + fn() => $test->{$test -= $test}; + } + function test9f023ade72b588a1b337983c44a49e90dc56fce61859f2db4d60fc35d363534e() + { + $this->assertTrue(true); + fn() => $test->{yield from $test}; + } + function testa9f31bcd7b123a8ca81addbb1e5ce610249af18d5bb0f2d45ddac9a570f81c0d() + { + $this->assertTrue(true); + fn() => $test->{$test >>= $test}; + } + function testabcfabb209f0340e83ff1c37cdd928e0e6eab272117ea92ab1771c91dae0725b() + { + $this->assertTrue(true); + fn() => (isset($test->{$test - $test})); + } + function testabf83d5735603b4b9616d3c7b50ecc90f135e985e88128c934b5f2d7bc330073() + { + $this->assertTrue(true); + fn() => $test->{$test >= $test}; + } + function testacb99042c1414c99643a9f45152b760e54aaa94c1e75d441e08ccb530b456b13() + { + $this->assertTrue(true); + fn() => (isset($test->{$test &= $test})); + } + function testaf4020d9076a73aefc61200f7982687c1b1fe1b4d5db931e6f66c9b527eda494() + { + $this->assertTrue(true); + fn() => $test->{$test++}; + } + function testb2776e35e3218db0c7ebdce984378ba4407c0e9ad5b7a0353c866c8cd983d0b7() + { + $this->assertTrue(true); + fn() => $test->{``}; + } + function testb3c254e3b8bee2a464aa8a0697f1fb7b04d519d6c215710974c450cea6b46d91() + { + $this->assertTrue(true); + fn() => $test->{$test?->{$test}}; + } + function testb80f663be6d8baabde9727f539d354e8d830d02fee201daf8b18a77ae31c0b7d() + { + $this->assertTrue(true); + fn() => $test->{$test?->{$test}()}; + } + function testb96612921d93cc52092ff3355405933af3666dc1e4b6c9d723c203791f429e58() + { + $this->assertTrue(true); + fn() => (isset($test->{new $test()})); + } + function testba36787f76da54f386c1e989eb88784239b69cd8cd171475685e147986d1f864() + { + $this->assertTrue(true); + fn() => (isset($test->{$test && $test})); + } + function testbaf9f0e35097c6e3506ca4370703951bc9ab9db28b451b30d55f61b5f0f51399() + { + $this->assertTrue(true); + fn() => $test->{--$test}; + } + function testbcbbc045cd98cfe19ff16d3dfa53d0ea9e97547c3d650c369f672c74ed35ee3d() + { + $this->assertTrue(true); + fn() => (isset($test->{``})); + } + function testbe0f83420b20ddc7089206b027b4c0c03b6595d059913ea68a979ae48647c7a9() + { + $this->assertTrue(true); + fn() => (isset($test->{$test::$test()})); + } + function testbea2a298e63ee1133aa1c7641b7c63c56ecd7e551f99b81353ea3c1c063792c5() + { + $this->assertTrue(true); + fn() => $test->{$test <<= $test}; + } + function testc0d59ae715edcd380274b9de5e5cbbe10d8da61663c60ad14c099ad4a73aacef() + { + $this->assertTrue(true); + fn() => $test->{$test . $test}; + } + function testc1109dd4fd92340fc6991dcca022639d81c98ac9974b4752e52dcb54cc00771c() + { + $this->assertTrue(true); + fn() => (isset($test->{print $test})); + } + function testc29383f836226473d1582404b0b18fb66f2bc8f1acf8cc1ae3a5a209e3a4d2dd() + { + $this->assertTrue(true); + fn() => (isset($test->{match ($test) { + }})); + } + function testc3684bf209fb9c09e5a68aedad781b80342958d60f9af0f2410370d55e751d0b() + { + $this->assertTrue(true); + fn() => (isset($test->{$test and $test})); + } + function testc69cc6ac210fd0e58ade32903cf6dabd02a6342c6ae38e8f3580656e9561208a() + { + $this->assertTrue(true); + fn() => (isset($test->{$test ^ $test})); + } + function testce42fe205ec9ea3e9895d5024258dd643647ff092945073982670f1ecc5df266() + { + $this->assertTrue(true); + fn() => $test->{$test--}; + } + function testd1e3d1bc464236318a70baec574f05da5467ba6fa345fb818b395cdbc564ab97() + { + $this->assertTrue(true); + fn() => $test->{$test === $test}; + } + function testd387d596e5190d8052f94ad1864c20b05b9a150c871cbc2231ea6dfb4c672635() + { + $this->assertTrue(true); + fn() => $test->{$test->{$test}}; + } + function testd4f742ba0f9569e1014e560f8e37e1045b25838687181745dd997f1ff8b900f7() + { + $this->assertTrue(true); + fn() => (isset($test->{$test .= $test})); + } + function testd70306ce1165c820fe9825e9f9014b341ac34a52f9a52f3e9a887836ad5ba8db() + { + $this->assertTrue(true); + fn() => $test->{$test && $test}; + } + function testd7fc6b43bf45b23af867df3eadeec7a10c4f366e1237b94025d211eed1f9c97c() + { + $this->assertTrue(true); + fn() => $test->{$test *= $test}; + } + function testdb59cb6d2e00d6a1d3f628cd4e4d2417734f0b9db378b429bb01899afca879ea() + { + $this->assertTrue(true); + fn() => (isset($test->{$test ? $test : $test})); + } + function testddc2aae8236c53584570018497ff6aac67b6ccc61a709e3c02c542653fa7412e() + { + $this->assertTrue(true); + fn() => $test->{$test | $test}; + } + function testde82feaa067ac8d00a95d3a3c891ab7a9989a0d79e7642a35bc7f05f4a91c653() + { + $this->assertTrue(true); + fn() => (isset($test->{$test->{$test}})); + } + function teste352437141dc9916160de4fd4a4add840ddc10948b72538bdd9caafe5499d11c() + { + $this->assertTrue(true); + fn() => $test->{print $test}; + } + function teste49a94115508b4adf34217a729f58c4cdbb240c675bf8516d9feb032641227ea() + { + $this->assertTrue(true); + fn() => (isset($test->{$test == $test})); + } + function teste948c281f838ed626b4a38a139193b158144b939a326f94f930e3377d8a72ba9() + { + $this->assertTrue(true); + fn() => (isset($test->{$test ^= $test})); + } + function testf23d357adfc826d1d8dc3384fa4a8a4e77b64ebde2ed909ae2dbd39f4f9fb3eb() + { + $this->assertTrue(true); + fn() => $test->{$test &= $test}; + } + function testf377a7373b7ba6e8d0d7d79cdf9f9a91177857b4d25a9e015e13df3493c7a475() + { + $this->assertTrue(true); + fn() => (isset($test->{$test >>= $test})); + } + function testf6ee71ebed69d37185a3f61b5061a402e9d481d364dae53b85f8cad019596914() + { + $this->assertTrue(true); + fn() => $test->{$test - $test}; + } + function testfcfa8157b3c60e1697a90cd697ebedbffd4aefd8c5af0fb889a31f56dc8f3209() + { + $this->assertTrue(true); + fn() => (isset($test->{$test -= $test})); + } + function testff991ff3408c3cebcd7848f45842877f0f8768eb7127dbb6d2d4697821350ce3() + { + $this->assertTrue(true); + fn() => $test->{$test |= $test}; + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest.php b/testsGenerated/Target/Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest.php new file mode 100644 index 000000000..48363e11a --- /dev/null +++ b/testsGenerated/Target/Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression88c4c0ab52a26a2509604fd01d384eaee5f0da9489c96041d3a397272ffcd62dTest extends TestCase +{ + function test02a6aa94d2f58f97104e9c85f43e3db429d5261734d461a5440c6c63f96fece8() + { + $this->assertTrue(true); + fn() => (empty(function () { + })); + } + function test0b1542c9a08f38da06291d60e95e0c283dce19e3864f0f1399093edac492c0f7() + { + $this->assertTrue(true); + fn() => (clone $test **= $test); + } + function test0d13ea5b10237f10bde97ffa994f1fb385b9cbb3a3c35c23770bf21c4e137cf1() + { + $this->assertTrue(true); + fn() => (clone $test >= $test); + } + function test0dd2ab960556eb8e347fa85e0285d16aa502fcd3841fc3e761fe8fbc01fc6e7d() + { + $this->assertTrue(true); + fn() => (clone __TRAIT__); + } + function test16d3fb10a1d5d63367ad4d4e7e0d00c48e0fbd324ba05e45d6013c8c281fd284() + { + $this->assertTrue(true); + fn() => (clone $test &= $test); + } + function test1871fa65aff6f5663803abdbe1648695aab56524c47b7eaf8eae1d4500c73a16() + { + $this->assertTrue(true); + fn() => (clone $test ^= $test); + } + function test196c706559ddef6054688daf45303477c78b7567febd442257b53420a2005833() + { + $this->assertTrue(true); + fn() => (clone $test || $test); + } + function test1f465fbe9e446cc5f77407d6d46d25304c2ff97b215dc8d460b489f7c042d50b() + { + $this->assertTrue(true); + fn() => (clone $test++); + } + function test211e3c4eaaed9d3d3efb5d47a1929719f6f205662921cfb5af5b9dde71485f98() + { + $this->assertTrue(true); + fn() => (clone yield from $test); + } + function test21493561a2d7850bfa6fa07c8e31f19e47ee47560637441775424730f091e8d2() + { + $this->assertTrue(true); + fn() => (clone $test * $test); + } + function test24048a78822fae71df12c95429550ada2dd83b965caaaf86dca8b735cd3ffc95() + { + $this->assertTrue(true); + fn() => (clone $test?->{$test}()); + } + function test241a7a6ddd9cc4631fe47ccdcccd22690694d09d6408ab06d658ac1204000404() + { + $this->assertTrue(true); + fn() => (clone __FUNCTION__); + } + function test24b8c30ac5d2d6fdf3702c888338855f97d7fb0701e39223b94395423f524fb5() + { + $this->assertTrue(true); + fn() => (empty($test)); + } + function test276d8ed8ed7fb953c4ae1982cb9ad38325ad850075ec8c19296309092195f5e8() + { + $this->assertTrue(true); + fn() => (clone $test >>= $test); + } + function test2bc6c7ef0b3a8fa8251154b390d5f1b90bb4f3572f883d09ebd539a7ced30582() + { + $this->assertTrue(true); + fn() => (clone $test <=> $test); + } + function test2d22bd947b4812a4a00e593b466e246cef753d96f44903841cbf4406ddc15f78() + { + $this->assertTrue(true); + fn() => (clone match ($test) { + }); + } + function test2f4ef31876b772db07249deceb9b08a54182a08463bb3a5efee4b464e93d89f3() + { + $this->assertTrue(true); + fn() => (clone print $test); + } + function test2fefc32eb70167e8083ee1a66418a785f066bca2e16ba282eda18916ad481f79() + { + $this->assertTrue(true); + fn() => (clone $test += $test); + } + function test3205d7b143811593d484fdabc29292378b2568f6d034be6e7c9b9da296051e30() + { + $this->assertTrue(true); + fn() => (clone -$test); + } + function test337cd502a3f3d0f19fcb31643d4daeae95630cff30d31800efc88acb3090e767() + { + $this->assertTrue(true); + fn() => (clone $test === $test); + } + function test33a85609ca829e6513cf1bc2ce30f729026cd978a6cdfb7e188842523868b97a() + { + $this->assertTrue(true); + fn() => (clone $test -= $test); + } + function test36177785d5f7ca76b61624ca69c4bca51d97db2239b0c62afc68d3389f1b1199() + { + $this->assertTrue(true); + fn() => (empty(empty($test))); + } + function test36de14257f4d8a299b8a56df89bd1035d68fa651e272adc71e93c0c5c0ca39f6() + { + $this->assertTrue(true); + fn() => (clone $test !== $test); + } + function test3dbed8967641107086ffe5ba5eaac0b0e063431b9f3cd7d8a260b8b9d8727341() + { + $this->assertTrue(true); + fn() => (clone $test xor $test); + } + function test3e188c3a3f3bc91d417beed5c52c378e0d5d31c30898f2cdc2811139bf23c430() + { + $this->assertTrue(true); + fn() => (clone $test & $test); + } + function test3eb92b81537bfd43232211c902b800905c1ab51701557d2aacd5ed5528b11939() + { + $this->assertTrue(true); + fn() => (clone $test + $test); + } + function test45dc87740596d47eb31292f3e5f9f8dd9dde9944db00763d68a72ff2cf1fd69a() + { + $this->assertTrue(true); + fn() => (clone $test << $test); + } + function test4712b9b9af28a0723bdbef8e5cc908fd436aa755319a26dc39e456ed1eee4ca2() + { + $this->assertTrue(true); + fn() => (clone $test <= $test); + } + function test4cdaf58af624b681db41b24eabfbb89ab0f8f37045aaa0f58901609b9b2308b7() + { + $this->assertTrue(true); + fn() => (empty(isset($test))); + } + function test4fae67d9ec2b748839c5a13f2d92c1e035c0c5897e22fd15e1ae627f07d25353() + { + $this->assertTrue(true); + fn() => (empty(eval($test))); + } + function test4faefcada02d0b89dc3e40d51191d36b43f121ba1da25418fcb70e83aadd59bc() + { + $this->assertTrue(true); + fn() => (clone $test); + } + function test50bdb72f5d357e26fee13eaf703d4debdf60fe05e992b8baa8312b9d159dc3d5() + { + $this->assertTrue(true); + fn() => (clone $test == $test); + } + function test52903af96bab61ebeca74775701682203e932ec49497f9d8e61d1093a874e907() + { + $this->assertTrue(true); + fn() => (clone $test != $test); + } + function test572ee030def654d105ca1bf1742ee6747d9cdb05e02cb9d812a5e550dc5686bd() + { + $this->assertTrue(true); + fn() => (clone $test / $test); + } + function test575ab02406b57565d80df3167934acddf50fd7e61cad57f42cfcc2b2ce381b7b() + { + $this->assertTrue(true); + fn() => (clone ``); + } + function test5a7633424fef19dca6427bde63dcb921644fd74bb96cc94f77c89659614072db() + { + $this->assertTrue(true); + fn() => (clone (string) $test); + } + function test5b141f092781219f61dd4d034f8bd1ba16c0f02bfa85d56e82580b1e73831048() + { + $this->assertTrue(true); + fn() => (clone throw $test); + } + function test60357f4173e8ad5d44bb29abae9416b7931bcd1bfa116812349c0bf4e7e560de() + { + $this->assertTrue(true); + fn() => (clone (double) $test); + } + function test605b89838455d63f70880eff5cefe6936da59c73c296ec754957cafd05fc3cb4() + { + $this->assertTrue(true); + fn() => (empty(self)); + } + function test60cb76e1cfb2736049710f70d22f86f91c8005e198ade163f42d1ba67856b777() + { + $this->assertTrue(true); + fn() => (clone $test *= $test); + } + function test6516eab464aa942dfd7bf191a62778beb9d977d323b0cfa820ac75190e79527c() + { + $this->assertTrue(true); + fn() => (clone (bool) $test); + } + function test661b5494d7545c519ef9f5640e6ed37139f069285d65fe471f9134996e35c551() + { + $this->assertTrue(true); + fn() => (clone $test % $test); + } + function test695b684d39c372e445107aacb5496f7861ba2dca5333898701ce91102d950871() + { + $this->assertTrue(true); + fn() => (clone $test ?? $test); + } + function test69927f0ed648cdfc31dea4968c8812e02441f07e2df5dbca5da4ba783b03cd04() + { + $this->assertTrue(true); + fn() => (empty($test = $test)); + } + function test6ac3465a06afcdecc657627ba53f7b7352b083b3fa69a3be299158c7d1af112f() + { + $this->assertTrue(true); + fn() => (clone isset($test)); + } + function test6d29598ca92c2f4cd78e885971c685f0b9e86067c1640adcb3cc021b3b0947e0() + { + $this->assertTrue(true); + fn() => (clone $test >> $test); + } + function test731849f038f84db15171c413b6b12a9596642ac492cf38f14c946349a372c216() + { + $this->assertTrue(true); + fn() => (empty($test::$test)); + } + function test76542e352fe6c3563d457a54c17c24c2d9d1de5e5d817a5953f094404e8adfa0() + { + $this->assertTrue(true); + fn() => (empty([])); + } + function test7903b04f6a5a56e9ee50f8cfc12be3738a74677f6aaa4e411cc69288a8da116a() + { + $this->assertTrue(true); + fn() => (clone __NAMESPACE__); + } + function test7acdaa41d1ea6e32e7846b61694bb56398484f7482e0246494195a19a1db3a0e() + { + $this->assertTrue(true); + fn() => (clone $test ? $test : $test); + } + function test7c2167cd57baa52fdd4827a3591671568da79e054acbe592d73caf43c192f82f() + { + $this->assertTrue(true); + fn() => (clone __CLASS__); + } + function test7dbbca6b9ff8a726c4c2cc4d5cdfdbb1c86bb7df649007921573a35f346ec6a6() + { + $this->assertTrue(true); + fn() => (empty($test[$test])); + } + function test7e5451760d67d2d846643ce7536405f8868aaf84f58fc7634df34568b2c38cfc() + { + $this->assertTrue(true); + fn() => (clone $test /= $test); + } + function test7e59284ff0e7dc1629f957ec88e19db21c96ecdbdc24e7b9e2dd27de1c89d018() + { + $this->assertTrue(true); + fn() => (empty($test =& $test)); + } + function test7ef04ff81a3374d1d89877f06f712d460a79a89ac2a5d570032beaf1aded935f() + { + $this->assertTrue(true); + fn() => (clone 0); + } + function test81160c2d797e6187fa79013a6034e968abd37bc05af1ea57ef3863727453be16() + { + $this->assertTrue(true); + fn() => (clone $test && $test); + } + function test820fd3d9fcd8ab1ae6ccfce37ac0eba7e67758820762b367961031c8061ca868() + { + $this->assertTrue(true); + fn() => (clone new $test()); + } + function test8393210efb66b6129b681cb4c666fd38c61409bbacb074076f1367801bad2296() + { + $this->assertTrue(true); + fn() => (clone ++$test); + } + function test8749e41997b8d1b86e6cb0e0c78154c9513102292397ad1edb4604a62dfaef50() + { + $this->assertTrue(true); + fn() => (clone (yield $test => $test)); + } + function test88a7d42f7bf6a1d46fb718540db129ec49c2113e13631f8b5ece24f45fbc3a3d() + { + $this->assertTrue(true); + fn() => (clone $test ^ $test); + } + function test89401806e571b2509571c42fce19452703c0342c63e253e517fdc316bcb228c1() + { + $this->assertTrue(true); + fn() => (clone $test ** $test); + } + function test8a7e828e70d17f1451a47fb23e7eb6f0e9c6a096eca770647c46f8e7d51e3948() + { + $this->assertTrue(true); + fn() => (clone $test ??= $test); + } + function test905159f84a4431e878907110c414c3bdcb5162383047f2f1cfdc3ddaae961bbb() + { + $this->assertTrue(true); + fn() => (empty($test instanceof $test)); + } + function test90e314dacbb1f8e45b5e35617e6aea7cb4efffd6f5a1b461c9c6e4312a8cf57e() + { + $this->assertTrue(true); + fn() => (clone __DIR__); + } + function test914df6e3cf9cdbdf7b2e816b27c85c6e264c0f36d25c53678ab1bbcd4ab8d799() + { + $this->assertTrue(true); + fn() => (clone $test?->{$test}); + } + function test91baf82e545581eb75565390cc12d1b54e5ae6797842691f4354c21e7925ecb6() + { + $this->assertTrue(true); + fn() => (empty( $test)); + } + function test91d6f5489f8a4e6a9330d02dbd98032ce310992edcc86fa2c1357b6d4fbaa723() + { + $this->assertTrue(true); + fn() => (clone --$test); + } + function test95817b1549b8803b7e148cea856540fa872885b3dabbf4801d143b6d6cc74f66() + { + $this->assertTrue(true); + fn() => (clone $test::$test()); + } + function test96f7a2ad52f06b599e12134fcfb961e36b9839e8b62c245636a8baec05e3d31f() + { + $this->assertTrue(true); + fn() => (clone $test instanceof $test); + } + function test9762d4d731610a7b8dacffee2e41c6183514d998ea656cbea4bee698fd929d6d() + { + $this->assertTrue(true); + fn() => (clone $test < $test); + } + function testa70dcb1e95bf8d109ab5edcdf8731afc2a9c7361ecd1856f8b8a433aa7ef8aa4() + { + $this->assertTrue(true); + fn() => (clone $test > $test); + } + function testa8f0330f163aebd687421b98deccb094acdae2648aba659f17196c3a98efb0ae() + { + $this->assertTrue(true); + fn() => (clone $test::${$test}); + } + function testabf7a0bf6811aedaf406110dd7dde7a12ff23280fd654fca67a5299b8b4177d5() + { + $this->assertTrue(true); + fn() => (clone $test .= $test); + } + function testae45a212f52f110cc3bd6a598ab4184287bcc83a2f2f01e7badf296fb496f80b() + { + $this->assertTrue(true); + fn() => (clone $test or $test); + } + function testafc016545d725a95f612c2cc949ff86cab2c78bf1cacb406f5ab11165ee24cd9() + { + $this->assertTrue(true); + fn() => (clone $test |= $test); + } + function testb08be790469f2b353182bacd7c5601a86787d3c413e3f1fc61f250cb58549d9a() + { + $this->assertTrue(true); + fn() => (empty(!$test)); + } + function testb0d69ea392acdfb382e87e8dd98b26490116e02a4a582d8b2b8edda1fda6f5f2() + { + $this->assertTrue(true); + fn() => (clone $test and $test); + } + function testb20ac8c8d86bb5999ddab3c4e6ecbaa6b86e6ae7a288a33523b96628389c72cc() + { + $this->assertTrue(true); + fn() => (clone __LINE__); + } + function testb80935fe6a08c9ffda0fc3422bf12d4204b9221cc4c70d3f856f41213cfbe4e7() + { + $this->assertTrue(true); + fn() => (clone __FILE__); + } + function testb856eb547ad126355818e6cdb8d7cf14b9642ed03c76eb36d43cafc8a4c00b78() + { + $this->assertTrue(true); + fn() => (clone 'test'); + } + function testbb18e34f862d96e7a13394cdc1c466fa4fca93b80d6363a041774b2121f2c69a() + { + $this->assertTrue(true); + fn() => (clone 0.0); + } + function testc4baaf8cace732565968132844c89c9b0e2c60a6d102c4d797f456a46b419e6c() + { + $this->assertTrue(true); + fn() => (clone (object) $test); + } + function testc976a01b14ff65cbc4ff5e891c136d0d76db9038fc015dabf7be73d5c56aae7d() + { + $this->assertTrue(true); + fn() => (clone $test | $test); + } + function testca2d986eb6e02ba21fc99977109ccb044977ef0666eb4fb1cb049769266091f4() + { + $this->assertTrue(true); + fn() => (clone (int) $test); + } + function testca76efe51c92c62ebcc3c70314a7d4541877c6f584ec34ba41ef94ab813881d1() + { + $this->assertTrue(true); + fn() => (clone $test - $test); + } + function testcc70012f870f6ea6e1d36038b24bf764fea9c985844d73234faa409845d628b0() + { + $this->assertTrue(true); + fn() => (clone $test %= $test); + } + function testcca71edbe77d14eeef20cefa3e696c8e175e24e8d167cc0eb6689549b0617fa3() + { + $this->assertTrue(true); + fn() => (clone ${$test}); + } + function testcdd1282df04f673738ba1ae4f1807d5617fa31279289c71e4e28704b6f0b699f() + { + $this->assertTrue(true); + fn() => (clone $test . $test); + } + function testce5fb03a45f928f7c5a066a4f8cf51fcdb35f1c7634ed5a3b82b9403a99e7d60() + { + $this->assertTrue(true); + fn() => (clone $test->{$test}()); + } + function testcfebabdbac5e2553c5a11293e64749262259e75a0f993fa155646947d246622c() + { + $this->assertTrue(true); + fn() => (empty($test())); + } + function testd4b981c973aee2e73e9a858d6bc1b520bc2623ed9391bb35906622cb6b4b8321() + { + $this->assertTrue(true); + fn() => (clone $test--); + } + function teste133f87a1146fe79f812972662333685ed6e3b2d6266cd2fadd1de6b5ddcbd1a() + { + $this->assertTrue(true); + fn() => (clone $test <<= $test); + } + function teste1d309ed87aee697d005b8d59bc2cee8ce91fbff9439f1bb2d59fe817a3d8632() + { + $this->assertTrue(true); + fn() => (clone (array) $test); + } + function teste1e709a98960251109182189607cf89da175039e1bc06ed67544b571f5f0b5dc() + { + $this->assertTrue(true); + fn() => (clone $test->{$test}); + } + function teste7f7b1eb7779b035364bc2b38885c24cb8764e8e647fa501390438913bd4c757() + { + $this->assertTrue(true); + fn() => (empty(~$test)); + } + function testee4498e9317071741c769f23878131ab58d2c4db4cabedf44b82921b0324065a() + { + $this->assertTrue(true); + fn() => (clone __METHOD__); + } + function testf2ba5c9f355a9df11bebf480cbfc2fdc36954a96253162f185e881c13386dcf7() + { + $this->assertTrue(true); + fn() => (empty(@$test)); + } + function testf443ab329c0751848cae3add71d051b4d63ea39cd4a36d5534174daeeac80b3a() + { + $this->assertTrue(true); + fn() => (clone +$test); + } + function testf527a42144e2c3fe9758f9dc155531e5d79f1d8282492db6622b2ecdebccf25f() + { + $this->assertTrue(true); + fn() => (empty(clone $test)); + } + function testfb2daf6d579945f2ef1a17367c00bd388218ef8787a8a406c76f819d8a0b4fbc() + { + $this->assertTrue(true); + fn() => (clone "{$test}"); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test.php b/testsGenerated/Target/Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test.php new file mode 100644 index 000000000..e1aa6a4b5 --- /dev/null +++ b/testsGenerated/Target/Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test.php @@ -0,0 +1,504 @@ + + * @license MIT + */ +class Expression8cf0ed45af2586445f2de7afdf0e5e9aa67ed370bead121d9a6359f3d41728f5Test extends TestCase +{ + function test00e4a0b24495c564db351b903ca628c6ec679d1096ec2a2bc79eac6999608c4d() + { + $this->assertTrue(true); + fn() => (isset(($test instanceof $test)::${$test})); + } + function test01d093da14bd77a3eb9e9454757c80c3e3f01257ef2f96e714d87e1c028ccd02() + { + $this->assertTrue(true); + fn() => $test::{$test && $test}(); + } + function test054e9dc99e43d7fcc74d8b6e811e49148d8d447265b81119012e61d06d5fcdd3() + { + $this->assertTrue(true); + fn() => (isset((isset($test))::${$test})); + } + function test0726d9ec7bc6d59885c1512c05b9356cc892800f7f534cea90667d237491212e() + { + $this->assertTrue(true); + fn() => ($test instanceof $test)::${$test}; + } + function test0962be7fadc4ee6fb09a1de2f2155a5c8ddd3b0645cea227e07c7e826b905dfd() + { + $this->assertTrue(true); + fn() => $test::{$test >> $test}(); + } + function test195f434de2180db9073e9e3d9442dc77e79ce032c89032f9e1a50eb4580bed53() + { + $this->assertTrue(true); + fn() => $test::{__FILE__}(); + } + function test19f3756ed0a0e7aa0173d4eda957d682343bbc92672ad9919562a0e9dfefbd04() + { + $this->assertTrue(true); + fn() => $test::{(string) $test}(); + } + function test1bf45a76863b75c4337693e8c9cd77b049fa801337d171e5fbcaffdcccb666f6() + { + $this->assertTrue(true); + fn() => $test::{(int) $test}(); + } + function test202ec577b4956b119288f16691b0d5ed6fee77fe195c98713e9e28d920997623() + { + $this->assertTrue(true); + fn() => $test::{$test || $test}(); + } + function test275c0bfe56753fddf584a78cf6d434a632aa977c7f21596a32a56277d51f0c59() + { + $this->assertTrue(true); + fn() => $test::{$test + $test}(); + } + function test29ed3898c4ab6262487e52f6acf2b486c4b3ef00b51b4f885beac0daabcd5652() + { + $this->assertTrue(true); + fn() => $test::{'test'}(); + } + function test2db6e4fd1a7a4419bd72852bdafe97f5890ad64ea322f389fd5a487e6fd8c8cb() + { + $this->assertTrue(true); + fn() => ($test)::${$test}; + } + function test2f2055f91ac4f4c88dc7641307e94a28ad79f18053daebfe2650557413f06ced() + { + $this->assertTrue(true); + fn() => $test::{$test or $test}(); + } + function test2fd240f8faf9a2fbec0040ef756647b6cd3488c2df9475f51aa25c26a5e67f5e() + { + $this->assertTrue(true); + fn() => $test::{(bool) $test}(); + } + function test32158c43f8f648c995190a743499a4213b077ae7722ddee2a52dbdd4ee432278() + { + $this->assertTrue(true); + fn() => (isset((@$test)::${$test})); + } + function test35245db7ba3142bd9d707ebeeea93c8da96e73952fee767ca0c06fdc6ec0283f() + { + $this->assertTrue(true); + fn() => $test::{__METHOD__}(); + } + function test36a13688b74fbe855cff2757f338fa1e166c3164a6cea41b1375d6fd57cd7f58() + { + $this->assertTrue(true); + fn() => $test?->{$test}::${$test}; + } + function test36ea08bef6cc6d68f2d4363e73b944360cf78a7e33d63c89ffffd47a951229cc() + { + $this->assertTrue(true); + fn() => (function () { + })::${$test}; + } + function test3946df59616750ea951dcaf39dbfdc04bbd969192abe96d09e6f323af3fc099f() + { + $this->assertTrue(true); + fn() => (isset(( $test)::${$test})); + } + function test44c2ec37b762737090206dcfa76ac4e9de6df94cff690c823e532b0b76a0c34b() + { + $this->assertTrue(true); + fn() => (isset($test::$test()::${$test})); + } + function test46b7d1a18100baf7fa33ffb617406d73ab77dac0cfc1f06de4273cce2893d390() + { + $this->assertTrue(true); + fn() => (isset(($test++)::${$test})); + } + function test49ed1d5b957fdcb9a30ca9251db2e1a7d2fc852b4fc90882edfb4ab2587dd86b() + { + $this->assertTrue(true); + fn() => ($test =& $test)::${$test}; + } + function test4ad9d76f5a0a9073ee56c9f53e4169118a549e714774bf11ff1713d5a30c36fc() + { + $this->assertTrue(true); + fn() => (isset(($test =& $test)::${$test})); + } + function test4dd4332b3097ea6ecb4e005ebc2a5d78a5acc5f22d71a6a9f6af10ba2547ea35() + { + $this->assertTrue(true); + fn() => (++$test)::${$test}; + } + function test4ee34f4f48bbfb5a10b95e8d2137c12f59c48dc1cf43690027d4406e612f8d8f() + { + $this->assertTrue(true); + fn() => $test::{$test . $test}(); + } + function test51dcc01b09035376db179893ca1e7c55fd14d417a5332ae628b8ef649d26cd5d() + { + $this->assertTrue(true); + fn() => ($test--)::${$test}; + } + function test532fba018234265b7548c8b3450d79885104838980df5086a72c7574a9fa8ac8() + { + $this->assertTrue(true); + fn() => (isset((++$test)::${$test})); + } + function test53765ed0bd553345e67421c502c9512026445669e153839807c3badae1c6e883() + { + $this->assertTrue(true); + fn() => (isset($test::${$test}::${$test})); + } + function test572e2c0c2f9a2a86197b2c9262814888314e6c16bf3dc316062ae7da6146c3c4() + { + $this->assertTrue(true); + fn() => ($test++)::${$test}; + } + function test57b0b88991c8b2cf3208ebfe0e01021c2f7d55509e5ecf3b42ee21871dddc457() + { + $this->assertTrue(true); + fn() => $test::{$test === $test}(); + } + function test5ace668a5e3c66ad667c1e4266358d62ce6f0826e24fa22b7fa8f6a3c3f62cfb() + { + $this->assertTrue(true); + fn() => $test->{$test}::${$test}; + } + function test5bc8a8a63eff70eb9920bf81f8130269eae7ae28e94c85b5e167c409afed198b() + { + $this->assertTrue(true); + fn() => (isset((clone $test)::${$test})); + } + function test5c82e98761ac166f07d77c5616a1da128b55db54d72f81e7c8d177e2844c761b() + { + $this->assertTrue(true); + fn() => $test::{$test and $test}(); + } + function test6286c49eb45b3c4db6fc27589900ff6bf8a015354f02a16c3b9128e816aadf0e() + { + $this->assertTrue(true); + fn() => (!$test)::${$test}; + } + function test64a5f78ba01ab169b2bac53fd28dc737e378585080f6a6671858dfad2a4f3ffb() + { + $this->assertTrue(true); + fn() => (~$test)::${$test}; + } + function test65081c8fefa1f03484e3b52bd970a782183ecc577283945821afadc5dadaaaf0() + { + $this->assertTrue(true); + fn() => (@$test)::${$test}; + } + function test66651514b89bc8949b1d967d3155ad5d49c16cd412b7a1cceb2829d586d7e239() + { + $this->assertTrue(true); + fn() => (isset((~$test)::${$test})); + } + function test66b98233568723f461499b557c11f6c05041aca9e94cf690d47b123a76b0f564() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}()::${$test})); + } + function test67008f15ae14f6c648c4e4b18ecfa10200ddf67c48d50fd48b1b593a2c30eead() + { + $this->assertTrue(true); + fn() => $test::{$test <=> $test}(); + } + function test6a98bd00ac2e8eb19c140e2ed2a1253c16e60dcafe10f82fd322112b6052a932() + { + $this->assertTrue(true); + fn() => (isset(self::${$test})); + } + function test6b58597ed231e5f6414245f49bed414c0eee6e52b2f05d0d83ae74e39292111d() + { + $this->assertTrue(true); + fn() => $test::{$test << $test}(); + } + function test6c9138315a4c57b1bb93de503cfa3cc951ca1747d7c47da4d30c9bcc896caeb8() + { + $this->assertTrue(true); + fn() => (empty($test))::${$test}; + } + function test6e28758faadece8cc6b171d5274107b16acc80d67debaafeffeaeb1a99c92dd6() + { + $this->assertTrue(true); + fn() => (isset($test()::${$test})); + } + function test6f452e69e6e8f48e27a70055e01d8a58eb129504422f202d6c2d7d3bed0970ce() + { + $this->assertTrue(true); + fn() => $test::$test::${$test}; + } + function test70e964cf6aaa92dd0e2d2e430f6a7c5c12ab7ab2180e3d3582eac41f6081a2f3() + { + $this->assertTrue(true); + fn() => (isset($test[$test]::${$test})); + } + function test71982c0c4c3a8e7fc0872fa6347bceb8124c6173d244df25140dbcbfcc052538() + { + $this->assertTrue(true); + fn() => $test?->{$test}()::${$test}; + } + function test750acb9dca7afaf1217e85eb9dc50c237d56a002a0810cbacb7591d05cb9d65c() + { + $this->assertTrue(true); + fn() => $test::{__TRAIT__}(); + } + function test77f7a42e2e375ec99b59994c02c7849a66afa05bc6c0ffa65815c60cf3f2c57a() + { + $this->assertTrue(true); + fn() => $test[$test]::${$test}; + } + function test80fcb57f1505c1bc52f9dc1b1226a2e1a68a616867248a735ecd1fa3c6e77c7a() + { + $this->assertTrue(true); + fn() => $test::{$test >= $test}(); + } + function test820b4b7fe1b4d4ab9e26b805054537b893b85190079dc9f90cb2019f83049450() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}::${$test})); + } + function test82701e70fdeae260a03b8566373ef4d20848114da961f6873654829b261ffdb6() + { + $this->assertTrue(true); + fn() => $test::{$test xor $test}(); + } + function test87e6f896546c69984bd0438a4b03081002cacd21b081deefa6345b404b9b22e1() + { + $this->assertTrue(true); + fn() => (--$test)::${$test}; + } + function test8891ef7a0e14ba1daf38c2f73601bc10e2b47c34a0df7efd5a37415f7c2040c5() + { + $this->assertTrue(true); + fn() => (isset(($test)::${$test})); + } + function test8e3e3b306313b3e7042390ee725842e367952a71fe5ff64c635086a64a62e43f() + { + $this->assertTrue(true); + fn() => $test::{$test ** $test}(); + } + function test8ec06502bf22ecda300ec9874f8932f6537bf63ff1a4ce3371b76adb53cfa25d() + { + $this->assertTrue(true); + fn() => (isset($test::$test::${$test})); + } + function test8f39e229bbbb86d634ac6399049436b9fb5235d3b6c1c832fb552dce26609516() + { + $this->assertTrue(true); + fn() => $test::{$test !== $test}(); + } + function test902695c39856a4ec564ae5f9e730af27b17134ea263ab024c8c85b6dfa77768d() + { + $this->assertTrue(true); + fn() => (isset((function () { + })::${$test})); + } + function test975b3d2248427aaae36c729226baeda37b4774e0d249e2be3434ab38f2a93056() + { + $this->assertTrue(true); + fn() => $test::{__NAMESPACE__}(); + } + function test97b7411abe2a9bc484794d178a82112b863425816accb3426ac9cceaf9bcca3a() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}::${$test})); + } + function test989ddf814f153a767718497596de767ab92c053b00c7feb35728e30d0bca5e6c() + { + $this->assertTrue(true); + fn() => (isset((eval($test))::${$test})); + } + function test9bd561e407eb7f1b68870a5ce01727242d5a8350570783f3b877bab012ddbb07() + { + $this->assertTrue(true); + fn() => (isset((``)::${$test})); + } + function testa229d2ecf3ca4c9d9925c0073e589f869f147368a5f918ce81ba3191b722845f() + { + $this->assertTrue(true); + fn() => $test::{$test > $test}(); + } + function testa5a86a30f586f1d35b5843bdd8823fd080792d4de8689afee7944b835ba6ec97() + { + $this->assertTrue(true); + fn() => $test::{$test - $test}(); + } + function testa74aed464c119e808e1ea6ca168877b526239eba3d90032d79d742c365b6da61() + { + $this->assertTrue(true); + fn() => $test::{(object) $test}(); + } + function testa8a60a2e391ff53f41b80b8c1c06e3a2b820d79118e638b21ca955db68b46657() + { + $this->assertTrue(true); + fn() => $test->{$test}()::${$test}; + } + function testaf354511f9543013f68d850c8e9104f232e527e692fd16099dd762c549c68b15() + { + $this->assertTrue(true); + fn() => $test::{(double) $test}(); + } + function testafc7b4ef273808a25c41a96f4b125128e751e058fe8e49f0f0f3341ff6bfe07f() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}()::${$test})); + } + function testb3478c46c26bbd5b2d75264ee7c036715aebe83e843cbc083ba20ae2bde3cd2d() + { + $this->assertTrue(true); + fn() => (isset($test))::${$test}; + } + function testb3b05ed6e467986420ddc8a72bcf6c687999b783198430c081e02fdd702e7e72() + { + $this->assertTrue(true); + fn() => $test::{$test * $test}(); + } + function testb5acf87759788db21280b8d4a70f09b90094eca973a2d02dd2778a7ec03b0ad4() + { + $this->assertTrue(true); + fn() => (clone $test)::${$test}; + } + function testb7df5016be93c01892db3af3b909529c33372d97cd00dfb575f3e4fb5a672b6e() + { + $this->assertTrue(true); + fn() => $test::{__CLASS__}(); + } + function testb8545cf3a4a05dc7e2438c8581790b227fba5d9dede98429a7454b4b9ac794aa() + { + $this->assertTrue(true); + fn() => $test::$test()::${$test}; + } + function testbac7b5a79907d9a0634dffe50e039a482c04a4f5db122b0d65868767f69b11ea() + { + $this->assertTrue(true); + fn() => (eval($test))::${$test}; + } + function testbc1c7e362d2123de19d2c90b4049c1b1ff95db64aefd80abd5fd6e3778b96600() + { + $this->assertTrue(true); + fn() => $test::{$test != $test}(); + } + function testbfdad26fa4e0e30d012cbac1efc839e12268cf858ca8ee6d698de85cdb5f1144() + { + $this->assertTrue(true); + fn() => (isset((!$test)::${$test})); + } + function testc103f45570000443b1c43c464b700255c300ed7a632a30e886e86177edc33b89() + { + $this->assertTrue(true); + fn() => $test::{$test / $test}(); + } + function testc4bbba9e73951d0e441c0e67444c5da0680a25b7f6e0b684f4c036c7c32e1a10() + { + $this->assertTrue(true); + fn() => $test::{$test <= $test}(); + } + function testc7b9fa69f44b9775130d2aaaf33b9d8dea9e283b1cdf30fdee811080df9b4304() + { + $this->assertTrue(true); + fn() => $test::{$test ^ $test}(); + } + function testca64569bd0e263a5bdcdfbc7c019e842f47450c3d9a56beea92e9812d2f5071b() + { + $this->assertTrue(true); + fn() => ($test = $test)::${$test}; + } + function testcff6103df7bc20c0093aaf6bbbe18289c13a00ab443eff9bed423004e6dad423() + { + $this->assertTrue(true); + fn() => $test()::${$test}; + } + function testd02f29cd77b5edef7d79c2d2a44ffa8e13390497c9682aa81c58362e9571ee92() + { + $this->assertTrue(true); + fn() => (new $test())::${$test}; + } + function testd2550ba066bd47c337246dd7190e6b96fc62720c4468ab66b6571fe16f264980() + { + $this->assertTrue(true); + fn() => (``)::${$test}; + } + function testd4fcd4452d1e75afaf0ad2cee40d27818288ce1d58a5b8d8885cf61ec077c698() + { + $this->assertTrue(true); + fn() => self::${$test}; + } + function testd504efbceab6c0486401ad1e2ce76e2763006300b9271dde0cdcc6692a964aac() + { + $this->assertTrue(true); + fn() => $test::{__DIR__}(); + } + function testd9587de0f5820c9044881daabc2e5243b2418b38107a035b9da367ff23ce90eb() + { + $this->assertTrue(true); + fn() => $test::${$test}::${$test}; + } + function testdd2ab5e50bff94da93d40a181a530325a0eeab254060ae9cf56228f549d6995d() + { + $this->assertTrue(true); + fn() => $test::{__FUNCTION__}(); + } + function teste331dd333cd115b72e62e451797ed834bc7ecbb8e0487a7c70f0947ebf868fda() + { + $this->assertTrue(true); + fn() => $test::{$test % $test}(); + } + function testef03b99405dac6f61ad5d0eab9daba1e6f59f7638fa3c64aa910a95b4c19ce34() + { + $this->assertTrue(true); + fn() => $test::{$test < $test}(); + } + function testef6b1656c4a6eb094fa56fffc96ca5b3dfa9bcea5bcc6aacc0fe687d66598303() + { + $this->assertTrue(true); + fn() => (isset((new $test())::${$test})); + } + function testf4f5fb73f536341f6484805851883875595991591ed5a3ca8ad57b26e04985f3() + { + $this->assertTrue(true); + fn() => (isset(($test = $test)::${$test})); + } + function testf7671d8da7f75c7e5c1361e1109f922128d7998b6ef6a344065554603960d763() + { + $this->assertTrue(true); + fn() => $test::{(array) $test}(); + } + function testfabdf6589873547ac5a26ac9857b162c792b030f868d5b01e44282a141b3f3d8() + { + $this->assertTrue(true); + fn() => $test::{$test == $test}(); + } + function testfaf38f9a5c3281e3f66198ecb5ead19190ada9b50eef887a2f9da1bfcaad207f() + { + $this->assertTrue(true); + fn() => (isset((--$test)::${$test})); + } + function testfbbfd28bddf22e0d37308c4366bbb039d779a7936dc9a3867b00cc0f35f77c9c() + { + $this->assertTrue(true); + fn() => (isset((empty($test))::${$test})); + } + function testfbcf0a8a4f33142c9e61497715d57454a20c370f976a79fafaf6da1ab9d10d91() + { + $this->assertTrue(true); + fn() => $test::{$test ?? $test}(); + } + function testfe1a5339d28f507c59286fd8f28339868f72fd348ef4c106e0d4ce984da173c6() + { + $this->assertTrue(true); + fn() => (isset(($test--)::${$test})); + } + function testff398aabc16d9c4ce5b939844a79599ead6450fbe41624fe536d3229f3315947() + { + $this->assertTrue(true); + fn() => $test::{"{$test}"}(); + } + function testffe8f7ae4a5cdf657efdcdeec3d6c7b55a0d9e69609785d1bd2f4188ea2051a3() + { + $this->assertTrue(true); + fn() => ( $test)::${$test}; + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test.php b/testsGenerated/Target/Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test.php new file mode 100644 index 000000000..309d1ff55 --- /dev/null +++ b/testsGenerated/Target/Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test.php @@ -0,0 +1,505 @@ + + * @license MIT + */ +class Expression8f6600d50d4409d231f9f221c52692501ce30c4a71101f16ee68cebeabac3e10Test extends TestCase +{ + function test007c470f9a69cd8026ec21fdd229f9ddc725c0e22ae35756e34d1c3a476b4098() + { + $this->assertTrue(true); + fn() => $test->{$test::$test}; + } + function test03242534529c3d993a79c6ba2b4094ef080c3463b45ee12557c95a01145c4457() + { + $this->assertTrue(true); + fn() => (isset((__LINE__)->{$test})); + } + function test0669254530eae1c40b132e1bba1c8e061380ab0c4765b4bf5be1265c3c6e7154() + { + $this->assertTrue(true); + fn() => (isset($test->{empty($test)})); + } + function test090bb8605f76f503bc5247beb2b2e46eac12a8874f917ef2247741abba4f0dc2() + { + $this->assertTrue(true); + fn() => $test->{~$test}; + } + function test0c066b84181305e12e5942f0650f118b02bb059a8779f4473e860255f216fdf1() + { + $this->assertTrue(true); + fn() => (isset($test->{self})); + } + function test0ff8742bcf1d210cedb175be1be6d56690fc58bfc7632bdfcdaaf4d946864017() + { + $this->assertTrue(true); + fn() => (isset(($test - $test)->{$test})); + } + function test1216222978d0c2687fa2654b3158c79c04027b0e61f776ca1984000e2fc42769() + { + $this->assertTrue(true); + fn() => $test->{$test =& $test}; + } + function test1a2d0fcd62c81c0ff5c9765212dbe485a7fdd0ad308440453bc39957acfd6e17() + { + $this->assertTrue(true); + fn() => ("{$test}")->{$test}; + } + function test21f42e6fb5d6f00deabde7fe509069a80a60a7b51c74c467c0ead9c50cf3e8ab() + { + $this->assertTrue(true); + fn() => (isset(($test != $test)->{$test})); + } + function test256c6e31f965065eee3c54f3fa55fea58ee58635fc333e73a8e35baa48a4b8b7() + { + $this->assertTrue(true); + fn() => $test->{match ($test) { + }}; + } + function test310defcbe61252581a4289a5562331c042c19f9ee5230287431d15a6a545a4d1() + { + $this->assertTrue(true); + fn() => ($test - $test)->{$test}; + } + function test3152460d1d45fa7028471c664c1984b75c1bd22184af34f7bd1c9b2894a14d15() + { + $this->assertTrue(true); + fn() => (isset($test->{$test()})); + } + function test315b3cee0618b25099cea2b589c01707fe48b757969a2af9bfc068f14ef41d2a() + { + $this->assertTrue(true); + fn() => (isset($test->{$test =& $test})); + } + function test3489b75d07b7488f2ab748ebea9dc2248c6797d933f002080863566751617c61() + { + $this->assertTrue(true); + fn() => (isset((0)->{$test})); + } + function test34fc2ac4118de78e5d5fbf758e6319b968f43443a40bf472779dccc3c0c5b930() + { + $this->assertTrue(true); + fn() => (isset((__FUNCTION__)->{$test})); + } + function test358087789011ef714be02a8746f9d9622d15afb928ccfb19008b9cdd6de71994() + { + $this->assertTrue(true); + fn() => ((int) $test)->{$test}; + } + function test3626f178377a52c67371b12892ad3732c51af469c0532f2ea6816e004339383d() + { + $this->assertTrue(true); + fn() => ($test * $test)->{$test}; + } + function test36a972e6fea62ed816760fb727f8ab46c5df800f07cd1979dd767927b9d3e1cb() + { + $this->assertTrue(true); + fn() => (isset((__TRAIT__)->{$test})); + } + function test3cbd0c650c73663f9ff24909bdc8d6e1d6d709149c8c718a66e7e59d410b0262() + { + $this->assertTrue(true); + fn() => (isset($test->test)); + } + function test3f979b37a234e78ec1a4303cf4732d42912cc0ffc7f41886806f1a430ecdfbcd() + { + $this->assertTrue(true); + fn() => (isset($test->{$test})); + } + function test41c4569231d35a8a8ea50c460a109a1412172a5624169a34c8238f8ee239c1d4() + { + $this->assertTrue(true); + fn() => $test->test; + } + function test44f8a2ae1a5a5f9605221aa48f35d0641e75eab1ac7583dbf9eb0fceb83e418b() + { + $this->assertTrue(true); + fn() => $test->{$test instanceof $test}; + } + function test4721f3ddaf6b1e447579b9af93ab14c90b0423bd75bd74072f4352c47d1f37a0() + { + $this->assertTrue(true); + fn() => $test->{$test[$test]}; + } + function test47e9d5241bed1ded0eaba206a6f3f96287c6337f3f6b141a08c1db00e2431bc2() + { + $this->assertTrue(true); + fn() => ($test << $test)->{$test}; + } + function test4acc18533bc5b74777466d8e6213a2da19098dbeb790664c9a7642cd589e50a2() + { + $this->assertTrue(true); + fn() => (isset(((string) $test)->{$test})); + } + function test4b82a685780a345c528cba928d486317eb3f55738a4a052b25cdf7aa7dfd9955() + { + $this->assertTrue(true); + fn() => $test->{isset($test)}; + } + function test4c935f2e27a8eb3bd24263d3ea3accb2502eb2d5b635ed9b8c40ba405ffb3365() + { + $this->assertTrue(true); + fn() => (isset(($test !== $test)->{$test})); + } + function test4d2aa545fc58efa02345929f56cb6a73ad011ac686fec872de0163923a762019() + { + $this->assertTrue(true); + fn() => (isset((__METHOD__)->{$test})); + } + function test51b441b11fff9e2b99da870bffa92f00736988afa9e9784c746b9b00a9e0d27d() + { + $this->assertTrue(true); + fn() => (__DIR__)->{$test}; + } + function test531773ed60a2ba9a1145c8c9518303ad3fd394a69ad95ec10ce8c2d7b3f8fdc3() + { + $this->assertTrue(true); + fn() => (isset($test->{$test::$test})); + } + function test589b63a0757894ccf49fccfe6ed3fe63ffed97daf6fd21904ad10c3d600c1cab() + { + $this->assertTrue(true); + fn() => ($test < $test)->{$test}; + } + function test58d7b9750bc521255a1eddf4ea68b5d348a5666cb9dccc4753090921eafed68b() + { + $this->assertTrue(true); + fn() => (isset($test->{@$test})); + } + function test5aaa74141866286e1ccbd6602d35420cb41d8b38b2c60f88b37804b90ede8daa() + { + $this->assertTrue(true); + fn() => (isset((__FILE__)->{$test})); + } + function test5bcac079036b68b21d6dfdeb937b4734704645ae0d51756502d547d4737d23b2() + { + $this->assertTrue(true); + fn() => (isset(($test + $test)->{$test})); + } + function test5bf0548ee2cbd50eb672af509dccbcf98371b1b06e97cb906923f6679d8c37ef() + { + $this->assertTrue(true); + fn() => $test->{eval($test)}; + } + function test62bf55e59b1bc465b6641e8d1c360df6aae182f39a7c9d7f4cc19e7b202a3258() + { + $this->assertTrue(true); + fn() => (isset(("{$test}")->{$test})); + } + function test64ac94b7a81c9a27e83ed68ba30b536515b59e3449c17bc3e2d0b80c1695feb6() + { + $this->assertTrue(true); + fn() => ((object) $test)->{$test}; + } + function test688a813c7e76a8e991880d81b7e796c5f200c05b700215a53709bbea858c508a() + { + $this->assertTrue(true); + fn() => (__CLASS__)->{$test}; + } + function test6b6bc9e2462a4ad9761e59a7b52bb438e727cedf2ffea9dae0b1d15dcbef62ca() + { + $this->assertTrue(true); + fn() => (isset(($test * $test)->{$test})); + } + function test6cb8bafaf007ccc732f33a8482fd1e6dbae2ef00ca76bf1986e449663d01ab38() + { + $this->assertTrue(true); + fn() => $test->{clone $test}; + } + function test6cc01ff5a0fb44b617b221763feff0415a16ef0855447913fc8b09ca9679445d() + { + $this->assertTrue(true); + fn() => (isset(($test % $test)->{$test})); + } + function test6d2f92ac7b7299ca875c4fdf62eabc46c104b65d07953e3e67d5e3a6685e74dd() + { + $this->assertTrue(true); + fn() => ($test != $test)->{$test}; + } + function test6dfa21aee09994cd79228cd16c87825c2e6a915685f04fa0e647ff5c7e1e9e69() + { + $this->assertTrue(true); + fn() => $test->{!$test}; + } + function test6eaa7bc0ec4cb55dcb59c5d201e1a75803d1ba275bb425e0bad6b394f8f191f0() + { + $this->assertTrue(true); + fn() => (__LINE__)->{$test}; + } + function test6fbe8fcc8247d351a8accb433c1385978daa26e0ccb9b3f8694f649ff599e2be() + { + $this->assertTrue(true); + fn() => (isset($test->{!$test})); + } + function test7183f2fcb2fd6c709b3b612ecd626a039597c22b535a6f35f1ac887a5e780010() + { + $this->assertTrue(true); + fn() => $test->{@$test}; + } + function test78a0f4dfa75a77b27746b0f5e86df661d0ef3aedc07ed52e6a6091941c04e30a() + { + $this->assertTrue(true); + fn() => (isset(((bool) $test)->{$test})); + } + function test7e8e354dd71e82541df408737bf2175752251a23405c8655738d283ac93e107e() + { + $this->assertTrue(true); + fn() => (isset(($test << $test)->{$test})); + } + function test7e97c9ea2ce3e3d27415979492b3b5cfe5d664aada985069648a98f79e6cac36() + { + $this->assertTrue(true); + fn() => (isset(($test <=> $test)->{$test})); + } + function test7ec0cb11671e26ca072618c29b170719a7d0b13f59b7b7c1d0c19de745f89d3b() + { + $this->assertTrue(true); + fn() => (isset((__NAMESPACE__)->{$test})); + } + function test827b077883e14548c226c5764a1a5cc2f2c9ddb347113b36b4c84c33df6f42c9() + { + $this->assertTrue(true); + fn() => (0)->{$test}; + } + function test849dca7e857aff75ca086c295555975448b15d7464fa224ac80ed78608c90c48() + { + $this->assertTrue(true); + fn() => ($test <=> $test)->{$test}; + } + function test8f5629ffaa4c43a0e5e777a4cd9d42b672021955afcfc5a14a92ed44acb5eeb9() + { + $this->assertTrue(true); + fn() => $test->{$test()}; + } + function test90469dab086493260af2f5535b27f99ce8fd69188de5630026a810383918ab94() + { + $this->assertTrue(true); + fn() => ((bool) $test)->{$test}; + } + function test90ae7dad828b1d4f71021534373dafe763d3e8e9673ea6f18a8d263eeee89f05() + { + $this->assertTrue(true); + fn() => (isset($test->{isset($test)})); + } + function test96f2d918cc7c387c077992c119a7ae1e6ac9f36ec368cd6b986d67fe9f755866() + { + $this->assertTrue(true); + fn() => ($test !== $test)->{$test}; + } + function test97e53951efcf0bd350f61a303289f041c95df239311c2e4f8a33300a69ae448a() + { + $this->assertTrue(true); + fn() => (isset(($test < $test)->{$test})); + } + function test9b2ace203b9032ab14c1f8e2cde197a05095f29877753de4a110f63a8086e65b() + { + $this->assertTrue(true); + fn() => (isset('test'->{$test})); + } + function testa2e96b20f1a87323c6497d93377c5a94beb4aa2cd07cf9b45eabec66867467fc() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__)->{$test}; + } + function testa36f28e12c08a7315e6fe605e191356777d7ae4b07e1d41dbb66ff30c23eb410() + { + $this->assertTrue(true); + fn() => $test->{self}; + } + function testa8a0b2a15cef6ca358f6ea09b9afec2cc3e6e043e249f3a8296afa686afb5d90() + { + $this->assertTrue(true); + fn() => (isset($test->{$test = $test})); + } + function testa94a1ae665d4a7f64c6d804aa90d015645a1c59f6275d412f3f7186b8f8b6f6c() + { + $this->assertTrue(true); + fn() => ($test >> $test)->{$test}; + } + function testadf5a60061373c4c1bbff90870f769f562dbe7840533bf2803468677b9b0a572() + { + $this->assertTrue(true); + fn() => (isset($test->{eval($test)})); + } + function testafd901f2ae5ab1f5c3b8ce159abffe57e6453df666d56c6d5696e783ae7886e5() + { + $this->assertTrue(true); + fn() => (isset($test->{ $test})); + } + function testb2231ed2aa2315eb7e7a77049202fb3bfca85c8674d0bf65b9cbd9c74dc08816() + { + $this->assertTrue(true); + fn() => ($test <= $test)->{$test}; + } + function testb46828a85792469c9caa71a2f71bf36978d6f7b7029eb1fcade8e72a538a1e8a() + { + $this->assertTrue(true); + fn() => (isset(((int) $test)->{$test})); + } + function testb50db17343c11d2795311fc338a6dec8fcdf09248e6c1212d1f14f4907eb4d39() + { + $this->assertTrue(true); + fn() => ($test + $test)->{$test}; + } + function testb612dd260e403e4c24c53be7fbdabcd055827b3db2d659c7503ca6f7a5a9597e() + { + $this->assertTrue(true); + fn() => $test->{function () { + }}; + } + function testb643f9063f438fcf500c5dccd3e5747bfbe3efeaa6eba5a6ac4c333669522a57() + { + $this->assertTrue(true); + fn() => (isset(((object) $test)->{$test})); + } + function testb80b67170d8be8077ac604db9c2ad75e20e7871f133d51d6d2d7a85ba296dbaf() + { + $this->assertTrue(true); + fn() => (isset(((double) $test)->{$test})); + } + function testb89487e601e8cc793f1575ccc0cff2eb0b182e05324d3a92f8bf52939b56677a() + { + $this->assertTrue(true); + fn() => $test->{$test}; + } + function testbb0b3dc35549acb8b6d54997899a946fad21547e0861a2a6f7272bb8f67002f6() + { + $this->assertTrue(true); + fn() => (__FILE__)->{$test}; + } + function testbc1cfffd129a0e62bfe5a63e6091f33ae917730348e59f79c593b83cc8c14a5e() + { + $this->assertTrue(true); + fn() => (isset($test->{function () { + }})); + } + function testc30e8e775e91ef17c7f98d0806b602ca1b4e941cced38f6b37c62051ac327c19() + { + $this->assertTrue(true); + fn() => ((array) $test)->{$test}; + } + function testc41ffb119718f82d9a6ce70d3fb5e7324bc21f08267a542d9439931a74a4aa80() + { + $this->assertTrue(true); + fn() => (isset((__CLASS__)->{$test})); + } + function testc4438c655e424a8a2af380e77449fae2087749ce506cc123bdbae7fb42f2da03() + { + $this->assertTrue(true); + fn() => (0.0)->{$test}; + } + function testc5f151ff5d872e849c75313981b8390c725b38cc9693049e90781a469ffcc5be() + { + $this->assertTrue(true); + fn() => $test->{$test = $test}; + } + function testc913236a7f9cea6b063a9a084dc2c450598225fa6b353950d238d8abce80cc85() + { + $this->assertTrue(true); + fn() => (isset(((array) $test)->{$test})); + } + function testcc00fbc9fbac4c59cd41452342bd87b6aef326ca816d189b09671a28128c75b3() + { + $this->assertTrue(true); + fn() => (isset($test->{$test[$test]})); + } + function testcf7057a13eb2a379411a1afde178a34c402dad4e7cb370f8c563cc4b72798ec9() + { + $this->assertTrue(true); + fn() => (isset($test->{clone $test})); + } + function testd8025ff6f5275586facf4b7e15f568bda15e7b13fa7d6fdf7917c4da2d8564e2() + { + $this->assertTrue(true); + fn() => (isset(($test >> $test)->{$test})); + } + function testdffb681d2106c9ff6e904f9ab9b72c7bd67cc3b9275c28bc403dabcbbb7d7c7c() + { + $this->assertTrue(true); + fn() => (isset($test->{~$test})); + } + function teste17c2466250e4832add421a7a5656dd0310b896215266d80db46c82e68a11b4d() + { + $this->assertTrue(true); + fn() => ($test ** $test)->{$test}; + } + function teste59286a3ab6cda7ebe45a27f655bbff55dec349a21f0391e2b707db26bf14300() + { + $this->assertTrue(true); + fn() => (__TRAIT__)->{$test}; + } + function teste5c25af44f708227a542f37752d23812786a78094dc43414a446c4f3126a341f() + { + $this->assertTrue(true); + fn() => (isset(($test <= $test)->{$test})); + } + function teste5d40fb773877ea9fe8e39bc3653f80ae0071edb3751fbb5d8a8719d71cf8a83() + { + $this->assertTrue(true); + fn() => (isset(($test ** $test)->{$test})); + } + function testef1ea70540e0e5738e49a40a5b3905f4951afc9f82485a7a8e34694ef90a4d82() + { + $this->assertTrue(true); + fn() => ((double) $test)->{$test}; + } + function testefbb65a360337896c51d0b259e7d56eed09a2b89d7586260a8e6e146de62c440() + { + $this->assertTrue(true); + fn() => (isset((__DIR__)->{$test})); + } + function testefc20b0392e1a748e56ffc35f4ebdac4ab3a5dc83efabdefd94f2cfb38a8c054() + { + $this->assertTrue(true); + fn() => (isset($test->{$test instanceof $test})); + } + function testefc318c87e5222a0c9940adbc24c96815951dd4a4943bf91db888e700c510f6d() + { + $this->assertTrue(true); + fn() => (__FUNCTION__)->{$test}; + } + function testf2c1c3255f7512308fd84f73db1f2b55e3dce72b7a9add7619dbacb8e03ed8c6() + { + $this->assertTrue(true); + fn() => ($test % $test)->{$test}; + } + function testf3d7dea2093c0c812520dc8e9ab9cc142e4804535f10a30dc65b34dac27167ea() + { + $this->assertTrue(true); + fn() => (__METHOD__)->{$test}; + } + function testf41ebff2aaf818138af9970c240ca45400ca9909ed962f0f7786772272f785b0() + { + $this->assertTrue(true); + fn() => (isset(($test xor $test)->{$test})); + } + function testf653c96aaf5de57e1923040108362e2e77e19f1e53cef6e4144f46aadf77ffef() + { + $this->assertTrue(true); + fn() => (isset((0.0)->{$test})); + } + function testfc08843aa965f595dccd5c64af7c9c6a171ab4c820ad3c6b724dd07b218c05f5() + { + $this->assertTrue(true); + fn() => ((string) $test)->{$test}; + } + function testfc0c98949724bbeeeda9e11310aada9e9e3ccfe57533f61533feca7e838d5522() + { + $this->assertTrue(true); + fn() => $test->{empty($test)}; + } + function testfc62f91c9fc949668908709c123fa3c1454a0c9d8783f61c9bd0844e42076fc1() + { + $this->assertTrue(true); + fn() => 'test'->{$test}; + } + function testfeac04d5d62d4867522c0061c0ef26dbab7fdfda6b8b5f34dc1914e42bf2c0a7() + { + $this->assertTrue(true); + fn() => $test->{ $test}; + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest.php b/testsGenerated/Target/Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest.php new file mode 100644 index 000000000..51a13f255 --- /dev/null +++ b/testsGenerated/Target/Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression942fd2c20c112524b2ee936973370d5dd7d6f468773b06624813d2b38b64cd6cTest extends TestCase +{ + function test00933cd14cf120243af0dfd3ad7bb8378f0edaeeb0b04b068970b4d476503bb0() + { + $this->assertTrue(true); + fn() => (__DIR__ != $test); + } + function test04a2b6e1dc36b04346572a8d45a8d9618263911c88b0d124aba596bc6a042d0a() + { + $this->assertTrue(true); + fn() => (match ($test) { + } != $test); + } + function test0c782785bc6b3e88a4def5b4613ed6ce820a473a583b26da36635e1ebfed0459() + { + $this->assertTrue(true); + fn() => ($test ** $test != $test); + } + function test10699520f92eb4652036630bd7557964f4245bf5ff427696d8d3955b5fdf77fe() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() != $test); + } + function test18bdfae96e9accb5d68f19ffeb547887766aa18ef259b3a94975d2762eaa0504() + { + $this->assertTrue(true); + fn() => (($test <<= $test) != $test); + } + function test1ac4e1f231517e9186eccaafee35c44fe10e8193d922fffcd0b582bb97b1b8d8() + { + $this->assertTrue(true); + fn() => ((array) $test != $test); + } + function test1c4442cba2da021baa4b567c1505a001ef5321a7258248c6bb08472daf565d7f() + { + $this->assertTrue(true); + fn() => ($test-- != $test); + } + function test1ed583b0f3ee805fa33b20c8a430e50b19c29eed8ea0e303f80f7f4f35bd6187() + { + $this->assertTrue(true); + fn() => (($test xor $test) != $test); + } + function test25f6a5c82a6c2a3e4e8a5fb96d1be8fa51f785003cd5db8e0b40228cc7bd14b0() + { + $this->assertTrue(true); + fn() => ($test::${$test} != $test); + } + function test265b8ab173f0e2071ec652537c9f17ac5909bd06cf30a384f0f28ae599f00e29() + { + $this->assertTrue(true); + fn() => ($test * __NAMESPACE__); + } + function test26719a6ee8341200d21dc113cbe5ba2a58426fb67aa0429374dcbd92b33cf4c3() + { + $this->assertTrue(true); + fn() => ($test?->{$test} != $test); + } + function test2acefd07738a3ce6996d82ca71de9f5cf577a4a18c1524945bba0990707d8e47() + { + $this->assertTrue(true); + fn() => ($test - $test != $test); + } + function test2d0262b4892cc51d647fa16298382f7532cfd651ed670fc90a0c340bce64a19d() + { + $this->assertTrue(true); + fn() => (`` != $test); + } + function test2f221b39d65e5d42c310aabb2d16afb2cc1d59411f47a0e66b2baef253f22880() + { + $this->assertTrue(true); + fn() => ($test >= $test != $test); + } + function test30b204ce6103034e87e4ad5471c7442cc615b6ab540c3ee4f16cdbcebb3e9d5f() + { + $this->assertTrue(true); + fn() => (($test | $test) != $test); + } + function test32548b16f4a79f8afc80ee5a389f8f89c6b84851580e8ef9de639670f8b4faa4() + { + $this->assertTrue(true); + fn() => (self != $test); + } + function test3a6ba6be217a77eaf26e0e547aa22df600a16dac20f14bd15dc1194e631b9a3d() + { + $this->assertTrue(true); + fn() => (throw $test != $test); + } + function test3aa292b69cd131bb6af460cdbfee47163ed96c1f806698ac624a545251a82ebc() + { + $this->assertTrue(true); + fn() => ($test / $test != $test); + } + function test3abec132e5e5ffd2cd94baaf198c973a6923e3a0a04598ece11162c814a0d9ed() + { + $this->assertTrue(true); + fn() => (($test |= $test) != $test); + } + function test3b52c92aac253149e1ab188327b05883a28779eb1cf030f1e5f62914e3e12127() + { + $this->assertTrue(true); + fn() => ($test != $test); + } + function test3c04637ba713f287f8dd99a9269e04ac014c5dc94d682ef3978beeddcd8af32d() + { + $this->assertTrue(true); + fn() => (${$test} != $test); + } + function test3df2c13e2c44705684390412d5d62e111476ca016fd908cd0f712c309a8ad3ff() + { + $this->assertTrue(true); + fn() => ($test++ != $test); + } + function test409695838864255b4b51dd5132fe68e6a4f9d233bcdcac5f88ad733323eda36d() + { + $this->assertTrue(true); + fn() => (~$test != $test); + } + function test4199acca88859965fe6f199e68ec27204851681a80f5ef12f10a78c29145d49f() + { + $this->assertTrue(true); + fn() => (__FILE__ != $test); + } + function test43a406fa64b64c14e3e0e1a81926514934cfc9a5ce7a1000acc156b4129bca8c() + { + $this->assertTrue(true); + fn() => (($test ^ $test) != $test); + } + function test46eb58e391acb728a1ac4c65fdebb1c8053d43779f4774b57c1c4fd3f9165050() + { + $this->assertTrue(true); + fn() => (($test %= $test) != $test); + } + function test47a111279212f9d6827ac802995493279751e5203eb6e00f7397a5e3fe735d7e() + { + $this->assertTrue(true); + fn() => ($test[$test] != $test); + } + function test48413afa8826fa0246ecddd76b2b17f7eda787b889e15e5efa0f60a86e746eb7() + { + $this->assertTrue(true); + fn() => ($test * $test != $test); + } + function test4a48ff716a1e06f9fd213f3c89dccfa584f8e6bb74ed9c89efa54e7b406ee823() + { + $this->assertTrue(true); + fn() => ("{$test}" != $test); + } + function test4c290debc3bfab55aca000491de1f4acd5519bd132bc0a7c86d53a7a538be98d() + { + $this->assertTrue(true); + fn() => (($test and $test) != $test); + } + function test4ea92dddf84e8ac5922f2941f2e69859c5357afdf45fb641181adb9e32ddeb30() + { + $this->assertTrue(true); + fn() => ($test * __METHOD__); + } + function test4eb57c847024f3aa09220fe675cef1b2c4e1a767e01348d8acd56c86ca5f4eb7() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) != $test); + } + function test51052096835924742c165d3e3ef5e28a09643a52e56cd54622e125b139c53d46() + { + $this->assertTrue(true); + fn() => ($test > $test != $test); + } + function test51534290357460e7e59426260cdc10bb9fd951b244685eaf72752dc20bb8c8ce() + { + $this->assertTrue(true); + fn() => (($test === $test) != $test); + } + function test52903af96bab61ebeca74775701682203e932ec49497f9d8e61d1093a874e907() + { + $this->assertTrue(true); + fn() => (clone $test != $test); + } + function test5477a4dba6147a95dcc6b199f7b4a88461aa59b8a05408913149d10c242e4115() + { + $this->assertTrue(true); + fn() => ($test->{$test} != $test); + } + function test55d9ab140c5f70abb5bbdbd5e153637bf62195be344fee5342ea8ffbddd036fc() + { + $this->assertTrue(true); + fn() => (isset($test) != $test); + } + function test55f1b9b740dc39d68e042a44a673eea8bbaa0b045c9b8de65df140fdb6b84b7b() + { + $this->assertTrue(true); + fn() => ($test::$test != $test); + } + function test5672ba618fcadc56fcd7e9f90d02b467438a17a49bc8bae067500372fcd7b9bc() + { + $this->assertTrue(true); + fn() => (++$test != $test); + } + function test5f0acde929264cf49f68ab115894df2a22db643a251b70f82d1b4cdb7f0f30a2() + { + $this->assertTrue(true); + fn() => (($test ?? $test) != $test); + } + function test604191b02d0f421928f316fa4dc346984997bf45d81e6dcfcb1f1701bbd37790() + { + $this->assertTrue(true); + fn() => (($test or $test) != $test); + } + function test61f3b0eada49a5a990dbcb5d3f35c76d8c79f410636aa7615a55595270396581() + { + $this->assertTrue(true); + fn() => ($test instanceof $test != $test); + } + function test678b3d3180a09412259148e1ec8956f5dcbeb69fe0865c1b97b699dbb8c2bd47() + { + $this->assertTrue(true); + fn() => (($test &= $test) != $test); + } + function test6a8a71fbc8ee8d1051f840a055157c55b508e9c66e9a366c1293df0b29b565ff() + { + $this->assertTrue(true); + fn() => (+$test != $test); + } + function test6b9396a787ab2120faeada2199f6aab2e22ad3a3472d210e00076f2665939e0c() + { + $this->assertTrue(true); + fn() => (eval($test) != $test); + } + function test6be6acd4f5cf41eeb1c98d9fe38e80661fc2a2b960d69cffa11018e9a9fdb311() + { + $this->assertTrue(true); + fn() => (new $test() != $test); + } + function test6ec113646b8510c4242ac7280dc3f0378e611303fa0a865bc924d0158f0958e5() + { + $this->assertTrue(true); + fn() => ((bool) $test != $test); + } + function test71b4f5d2c969fbcf0fa6f91aa40810ef2b2da341be25bfba9354116d8fa35647() + { + $this->assertTrue(true); + fn() => (0.0 != $test); + } + function test7310dbfb4c311786b25a6f13e8e7ca521e024cfb81e7427e52961c0926c055d7() + { + $this->assertTrue(true); + fn() => ($test * __CLASS__); + } + function test74d96fe77cd4cc0653101038a4e4e6dd96ec866aa687234cd1af4828ea399bb7() + { + $this->assertTrue(true); + fn() => (__CLASS__ != $test); + } + function test762812c8de572778c4c7c3cbcf99ab7a1bb6ad086633f2ddeadbd8cddf6f5210() + { + $this->assertTrue(true); + fn() => ($test::$test() != $test); + } + function test79652fc5f2359c025924235c2ce120e8bc3ed0a7d56b5df405de03dcf7b40acc() + { + $this->assertTrue(true); + fn() => (($test == $test) != $test); + } + function test7e259f60ff34f495c0f8a1a363807ca7c79d57cd832a5e1a821a4be5573875ef() + { + $this->assertTrue(true); + fn() => ((print $test) != $test); + } + function test800e73802df908a770c478fae330599031e9d470bd7c93cda80b379dccac05e7() + { + $this->assertTrue(true); + fn() => ([] != $test); + } + function test828ee3c48f2facaf6f732af39f8666a3dd5b77cc32fadce048ffdd46246cf7d0() + { + $this->assertTrue(true); + fn() => ($test % $test != $test); + } + function test83081868c4d24ff52e79422e97b4b74e51af81b3b0d75531f8c8694c3e227e3f() + { + $this->assertTrue(true); + fn() => (($test >>= $test) != $test); + } + function test833de7ba7f9bdf2784a222cd6ccb0b48777b60601b6e0a80029b8ebac00f88f8() + { + $this->assertTrue(true); + fn() => ((string) $test != $test); + } + function test836c8c1335d70f68cc74f4670c03dd05e41fb3452314aaed2f97c04e2442980d() + { + $this->assertTrue(true); + fn() => (($test /= $test) != $test); + } + function test854125b2a44f570c040944e261833950cab0083b8bb5494bf36ed7bc336a6da4() + { + $this->assertTrue(true); + fn() => (($test ^= $test) != $test); + } + function test87ea97ede0f39ff80db38ce24492bd7e78aa0c34830741c435b55f98f51ba3c8() + { + $this->assertTrue(true); + fn() => (($test += $test) != $test); + } + function test88d5b6c2221850d538fe9d0ca07c150537e4db4458eb3701709756998babd7b6() + { + $this->assertTrue(true); + fn() => ($test * __LINE__); + } + function test8c9ccdc7ef265effcbef594cc5a7570c30060db499e28a6c910ba86e52fbf03f() + { + $this->assertTrue(true); + fn() => ($test * __FUNCTION__); + } + function test9359c23e9f0e02a6697fc03691e874b165669cd1b6ff7949062cdd6e4f25b641() + { + $this->assertTrue(true); + fn() => (($test !== $test) != $test); + } + function test95338ec333b2e0d82fe04b247c4ccaa724444bdf63684a6d3030965be12e6b75() + { + $this->assertTrue(true); + fn() => ($test * __DIR__); + } + function test95d72f309b52363ba6482811ee788ba622ca597c66df07a03cec62b8e03e6981() + { + $this->assertTrue(true); + fn() => (($test **= $test) != $test); + } + function test984168b5c27334938717ef3eda005cf339897093949bcef48a09ddfc88f3561b() + { + $this->assertTrue(true); + fn() => ((object) $test != $test); + } + function test984d183802fa644fb0d0d37789d7a094dc85b5696577a675276370a7a7424245() + { + $this->assertTrue(true); + fn() => ((int) $test != $test); + } + function testa34b3b2f6a7df54d4e2af89412d0ced75d28d834c954559c55ad8e85896405bd() + { + $this->assertTrue(true); + fn() => ($test * __FILE__); + } + function testa3db964cb47e1c43f6dca9790fc24ea0acf99672129e7fef28a3df805b2b3b72() + { + $this->assertTrue(true); + fn() => (($test || $test) != $test); + } + function testa603406fda105d70ff4f3ad2b380da75c64a853ad0c1aea39efb1baa6f2fe64f() + { + $this->assertTrue(true); + fn() => ('test' != $test); + } + function testac53b6f4a541cd3e69dddb693d8d357e22f8176b51df0643cf5cd3c59fa6aca4() + { + $this->assertTrue(true); + fn() => (@$test != $test); + } + function testadcb9745c84c7757faae6309d35923c9e7ffdfcdda6d2d3398a2282c4bb1ac90() + { + $this->assertTrue(true); + fn() => (--$test != $test); + } + function testae37b2c01cc7ff5f2b1e51dd7f6b4d02d1dd2113c96e6e99e2afb2820cd15574() + { + $this->assertTrue(true); + fn() => (0 != $test); + } + function testb0dc9f7aeddcfb2c7120216f9cfdaf23900412fe9d4d3389ef618f5ddb791e2a() + { + $this->assertTrue(true); + fn() => ($test <= $test != $test); + } + function testb57c5edfb7de7e240f4d996e20b2ea23dc19411e75ef8f95f697477c4ade2772() + { + $this->assertTrue(true); + fn() => (($test != $test) != $test); + } + function testb76a8e483bbcf490e2de67b99a6e74d4508cc8d59baaf41036d2e8f30aa93908() + { + $this->assertTrue(true); + fn() => ((double) $test != $test); + } + function testbc448450c88b4e537d42ce1bf90d85fa059e74a7f89012e396e41b29adb54d1f() + { + $this->assertTrue(true); + fn() => (($test & $test) != $test); + } + function testbc576eebe6aa7785bcedea90caf2919c754692b16bd99e0e883f8f58013b2a5b() + { + $this->assertTrue(true); + fn() => (($test =& $test) != $test); + } + function testbca11d6c20eefe42dc3650c8902453a115b5c749d3474275438bc4ac50655e68() + { + $this->assertTrue(true); + fn() => ($test->{$test}() != $test); + } + function testc1bb2707d6f5dc6ac754526818a97a3524fc6df3bbbec87ddd9e42a8484773da() + { + $this->assertTrue(true); + fn() => (($test .= $test) != $test); + } + function testc5afa44f28b08f65a6503804a266fe0bdc56d114aac14f53e82c63fd3efcaac5() + { + $this->assertTrue(true); + fn() => (empty($test) != $test); + } + function testc6bf32e9dbd03a1cdfdea90753b374a28bc2745957e7d8cdb6f8a89154fd06c1() + { + $this->assertTrue(true); + fn() => ($test * __TRAIT__); + } + function testc72951e9dc1c99d9c759c11eac99d46e8834e1e597ecc526ee0e4fa64309c055() + { + $this->assertTrue(true); + fn() => (($test = $test) != $test); + } + function testcb6ebcd2a67a514a5c4659ef2cf259bcd85b502e8d6db172a25b1b60c413bee9() + { + $this->assertTrue(true); + fn() => (( $test) != $test); + } + function testcb97aba151c5307e1a52aab7b50d8b053c811a241c1e30a0ab34a9a96fd05a82() + { + $this->assertTrue(true); + fn() => (!$test != $test); + } + function testcf10fb4947901245c486e2fe445bb16c5bca0b5dd5b83efe1ff4984ed754f4d4() + { + $this->assertTrue(true); + fn() => ($test . $test != $test); + } + function testd0b9029d6097c9275faaa05ff67141d14a5b60df1086802586ecf44f6e3b9c41() + { + $this->assertTrue(true); + fn() => (($test ??= $test) != $test); + } + function testd17123ff42f63ae97a4fd5077f547a48b45cdc3a789710442b2ef9af44dfa8a4() + { + $this->assertTrue(true); + fn() => (-$test != $test); + } + function testd1d4b2d7613cc6d3cfcc0dd22675c93168f990fa8c50b90af4855caa20677eb1() + { + $this->assertTrue(true); + fn() => (function () { + } != $test); + } + function testd23cfd1edc0b15c8157f663ca424e0a491c76d4333eb1d48e961bc14ebf66c19() + { + $this->assertTrue(true); + fn() => (($test && $test) != $test); + } + function testd552ae489f8e364687986050ffcb4f1e21ce3a3bd4cfe9c4b60f6130aa5d2dc4() + { + $this->assertTrue(true); + fn() => (($test -= $test) != $test); + } + function testdbea055d8b3b0e5ecd6b62031cb92231fdc73ccb686713f602f1c0853f264e99() + { + $this->assertTrue(true); + fn() => ($test() != $test); + } + function teste7418d50903f1f9934a2aaddd73f0914369ce9a3165722d91a218db027daa704() + { + $this->assertTrue(true); + fn() => ($test + $test != $test); + } + function testeac925b318f7c2ba2a14ee2715be044e4b03d99969f66225402d9b6d243b7f3d() + { + $this->assertTrue(true); + fn() => ((yield from $test) != $test); + } + function testece79e6bede5cff1ae506e1a6825f1e93a556f58590db135c3b2d15b968eafe2() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) != $test); + } + function testf3b315dc2018f660c7ff2fa5b81ce2d512f2ee02c58775e64f3359cfcaa39046() + { + $this->assertTrue(true); + fn() => ($test < $test != $test); + } + function testf4d3c2fd30f4804d4a1910ec2f0ddf6137c4fc84ca802632c16f21081d8702ff() + { + $this->assertTrue(true); + fn() => ($test >> $test != $test); + } + function testf5e7706fedfbdc45e9858c862933938a63fbe7ac888fca6a5171a989fc737a39() + { + $this->assertTrue(true); + fn() => (($test <=> $test) != $test); + } + function testf93eae667110421380a87202437b9520a52faf57e35aa161560a4a2e6bd469ac() + { + $this->assertTrue(true); + fn() => (($test *= $test) != $test); + } + function testfccf920554c08ca2d47e964ef3775136fdadc0622cdab1910f261bc52886e37c() + { + $this->assertTrue(true); + fn() => ($test << $test != $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest.php b/testsGenerated/Target/Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest.php new file mode 100644 index 000000000..1744bbb8c --- /dev/null +++ b/testsGenerated/Target/Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression9bf032ab186cfe3b5ab9338757fa094013e28ea5d9b7e08fa399737204cb3aecTest extends TestCase +{ + function test01b84eba6541b370c0810e86d23230e957ea011f473c75010ba80bb553fe5949() + { + $this->assertTrue(true); + fn() => (($test xor $test) % $test); + } + function test05f987329ecde4fde1cfd934623d3e2a8b129eafe3e9251b219989e724e74ede() + { + $this->assertTrue(true); + fn() => (($test && $test) % $test); + } + function test0da3c0934455b6201fbc223631ba647e574656b84e962ce644edd7fa37b94bb3() + { + $this->assertTrue(true); + fn() => (${$test} % $test); + } + function test15f6d6045a1a5ac22e33eb01a3060307e47d934a942b45fe05458f3f5040e8a9() + { + $this->assertTrue(true); + fn() => ($test % $test % $test); + } + function test1673ec0211ba8061acf786d491a525c1ef18cc56d919ad0f866d3724bfbcb496() + { + $this->assertTrue(true); + fn() => (--$test % $test); + } + function test16e545a8ba1b15a3f6f7dc9dd910d01c34585d9b92de4025b9301cc777ecf3ca() + { + $this->assertTrue(true); + fn() => ($test::$test() % $test); + } + function test1739d686d72e1c3f1c53d8bdf44bff56693c7018f051503c0e51fa4899774acd() + { + $this->assertTrue(true); + fn() => ($test instanceof $test % $test); + } + function test187f84ff13b66058727f0eb15c4c9ae2ab44bd2f91a12c726bd8967f98fec4e5() + { + $this->assertTrue(true); + fn() => ((print $test) % $test); + } + function test1c78cf31ebbccc8c506984956fcf17d23f5044ca01f052cef7c81e6a0fbe4dbf() + { + $this->assertTrue(true); + fn() => (($test |= $test) % $test); + } + function test1d39f7c1cd013ab9d70bac39460a566edf6e6089fdfbb7f31268c810bff59e1c() + { + $this->assertTrue(true); + fn() => (($test <= $test) % $test); + } + function test1ddf717f745226f1a4babd3a57ca98442b1eb5349b621133c015959765de0092() + { + $this->assertTrue(true); + fn() => (($test = $test) % $test); + } + function test1e6921801b9f91c9cba148968e2ab3d692d9447f2627c133bb3bd9d4e91abd24() + { + $this->assertTrue(true); + fn() => (($test += $test) % $test); + } + function test2175a1de8d8e4a48addba153e9f222b3176c3112b862adc6b4339cf61c66e117() + { + $this->assertTrue(true); + fn() => (($test .= $test) % $test); + } + function test233f7439bda97afa1715efca71c7a4a59b183a9a90cc54ffe6f2c7ba99fc57d4() + { + $this->assertTrue(true); + fn() => (($test > $test) % $test); + } + function test25da8cf8814093f68baa7b0b5b0c0c1819996b72e6698533527acfe1fe1e2295() + { + $this->assertTrue(true); + fn() => ($test - 0.0); + } + function test292f5467cbbea686665e8abd446349801f4c01bc5414524e760748cbc4f14e38() + { + $this->assertTrue(true); + fn() => ($test - (string) $test); + } + function test33b45903e8e3cc78a59580d4a18a821c9af27a139086c50cf5b2032992d5bb5c() + { + $this->assertTrue(true); + fn() => ($test - 0); + } + function test3652eb761f51859dffc8225b06f0f05fd69e55c5dc99a1d332d308a11d433f17() + { + $this->assertTrue(true); + fn() => (($test <=> $test) % $test); + } + function test39c750a91f9d575f95505e2729d155e733da976926fbb30357f77218113a2ce5() + { + $this->assertTrue(true); + fn() => ($test - (int) $test); + } + function test3dc32bd5f478301d1eb6dfbe3489121b8b0b75afc9772a6ac5ec8113d363d836() + { + $this->assertTrue(true); + fn() => (($test & $test) % $test); + } + function test4089df1ee4638a04756f66afeca69fd7c649b7a23f5feb0a60f3287095a5d569() + { + $this->assertTrue(true); + fn() => ($test / $test % $test); + } + function test41849e4f2708ede316903f9cc88755b75b937858f4495ccc7bad381f9d4a1588() + { + $this->assertTrue(true); + fn() => ($test - __FILE__); + } + function test41d9fe99463674b711500c3390729319ae8bd1fa6ccf69ee4e69a8dadfc7033e() + { + $this->assertTrue(true); + fn() => (+$test % $test); + } + function test422522c35999352a4e793afda64d3e766ee5e6ff39d8e6f8e478205dc07ce7ab() + { + $this->assertTrue(true); + fn() => ($test - __TRAIT__); + } + function test45d1df6bbe362b43171662cd974981212922df938022bce1303f3eee46027ccd() + { + $this->assertTrue(true); + fn() => ($test - (object) $test); + } + function test4b7aaaf7b7da0584419f832222403c5359b3e8e0452a26d4cdc546d702451ed9() + { + $this->assertTrue(true); + fn() => (isset($test) % $test); + } + function test4c30ec9b1af5fb411634fb78f32843a0fe36ffaad5d94ab8408100ad87680edc() + { + $this->assertTrue(true); + fn() => ($test - __FUNCTION__); + } + function test4cb7581ed784b3a1ceb06242d3974468fb4cd74127cc4f1fd5aebb8fac9c8a2d() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) % $test); + } + function test4ccdea09bff87616a1b29fc6aeccfd6cda9351a70eac57b4a314b7bb8e0d9d95() + { + $this->assertTrue(true); + fn() => ($test++ % $test); + } + function test4dceae4b279abd55623bbbf09583add56544e4a216b2e90ed52ce38369896875() + { + $this->assertTrue(true); + fn() => (($test /= $test) % $test); + } + function test4de9499d4423d79367ec83f5a4a66914d88038e44604998cb2a54e0d18265101() + { + $this->assertTrue(true); + fn() => (($test >= $test) % $test); + } + function test4f318b02cb419bf29063cdfaaee0eedee801a22f3de194ef6d288a28f6f1c573() + { + $this->assertTrue(true); + fn() => ($test[$test] % $test); + } + function test65ab98fc7c887763766d186831a95fb9f4fecbc4cb24d9c4b465d70dc100f674() + { + $this->assertTrue(true); + fn() => (~$test % $test); + } + function test661b5494d7545c519ef9f5640e6ed37139f069285d65fe471f9134996e35c551() + { + $this->assertTrue(true); + fn() => (clone $test % $test); + } + function test6732fbe58b2a27e3b64da7db2d95f1f4b4169e3c87793d3483afb49e6bb8ecf9() + { + $this->assertTrue(true); + fn() => ((array) $test % $test); + } + function test6d06c00de3d49e18880cdc15f4c71ac194472f00d7ba74f09196713c9462c6d8() + { + $this->assertTrue(true); + fn() => (!$test % $test); + } + function test704bf3839c612245d10fcfa3d77c4ded25e75d6ef17e83e5b2e87c5aa36ed019() + { + $this->assertTrue(true); + fn() => (self % $test); + } + function test724d364e4b44fcfa37e06ea62ccffa92ce96cb3c7849f758789379c0849adbab() + { + $this->assertTrue(true); + fn() => (function () { + } % $test); + } + function test7292866fc1fe6af7444c54bab844a877e316cbd7c500cee86bac7c4d742a9152() + { + $this->assertTrue(true); + fn() => ($test - __CLASS__); + } + function test730b98258fdd42a5230ca0d34106ebb342dfa39da76b25c116e356d7630deaba() + { + $this->assertTrue(true); + fn() => (($test ^ $test) % $test); + } + function test7567ab42c35ce3b97f2edf5d47e7d16f32c04fe3d9152477a63499cfeb33ae2c() + { + $this->assertTrue(true); + fn() => (($test | $test) % $test); + } + function test762441a216a80fa9626d5375c85b66bc6828c9fc636c1677185aaf13a3c016b3() + { + $this->assertTrue(true); + fn() => (empty($test) % $test); + } + function test768ee7f4a09d25ad3974e237364f839b4d53116b5250203b5b89da22939d957b() + { + $this->assertTrue(true); + fn() => (($test . $test) % $test); + } + function test76ff620c451f1ff0be94ca080309e072ca88e7c59d3c422b25cb0edc537098cd() + { + $this->assertTrue(true); + fn() => ($test->{$test} % $test); + } + function test7864f8b4f64a95b91674d39a9ef90a842dd4df9a3388a50f04c3d7662f68501f() + { + $this->assertTrue(true); + fn() => ($test - __METHOD__); + } + function test7a73770bba2bba93e4c84e2af9528a932b6f5368aee67e630e8b6fcf0da6a685() + { + $this->assertTrue(true); + fn() => (($test || $test) % $test); + } + function test7b33b498f48500cd92ee403867856cc7096511503f30f4941597ca8e60fc459a() + { + $this->assertTrue(true); + fn() => (($test and $test) % $test); + } + function test7d73c5e360da6dd88429331882a8428c0e327e12faeedf3d553b4ca38e5d9028() + { + $this->assertTrue(true); + fn() => (($test **= $test) % $test); + } + function test8110b9b71b38cbf470834e5e0d9a29b126553e57477503af2176a69694d9b114() + { + $this->assertTrue(true); + fn() => (eval($test) % $test); + } + function test81ae32103951e3bb2a65950f842a823793fe2c03cc49118b6f2ff235dc7c64b6() + { + $this->assertTrue(true); + fn() => (`` % $test); + } + function test82b087c650e02db4017b1a6cb8134f92bbe48723f706c3936b2aacebb0661fdf() + { + $this->assertTrue(true); + fn() => (($test == $test) % $test); + } + function test836e2ee849909319d92d8b5ad118b30bc537ddcec5ee68d0b52717a0564a0894() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() % $test); + } + function test8c01a705af0ea749f6d1b908c202c6e5639e7d78676ac3ce942519b355c4bced() + { + $this->assertTrue(true); + fn() => (($test - $test) % $test); + } + function test8d22ae51fee26fa4c78cfcd1a418edaaebe1e675144311bbc74145a59c1390bf() + { + $this->assertTrue(true); + fn() => (($test + $test) % $test); + } + function test8d72c188ed131ab6271257590d14bdbd03e68e948c2d40bfd07fa3ddb9fd5c97() + { + $this->assertTrue(true); + fn() => ($test - 'test'); + } + function test8de05b3770947a8c881de81fec28a3db84e3d67e88e04ed38dba253b40f51a9f() + { + $this->assertTrue(true); + fn() => ($test % $test); + } + function test8e6bc5841d6088c37940fd2f663672ec8bfe73fb73a15cfd92dcdd2a47e2fd88() + { + $this->assertTrue(true); + fn() => ($test - ($test <= $test)); + } + function test92fcf00311d326bc6e6daf436e0ee96c794d5d18a4e59ee510e005ff47b45b31() + { + $this->assertTrue(true); + fn() => (match ($test) { + } % $test); + } + function test95638918b8d2d3aa07de1d340e0845cf3623d1a719dbf0ff45de0d8403aef3bf() + { + $this->assertTrue(true); + fn() => (++$test % $test); + } + function test96055fec6d51b23450affd778cf73f53653b8947739104e50da45bbe193b7e41() + { + $this->assertTrue(true); + fn() => ($test() % $test); + } + function test9bbd5c33bb7d7b4b311982ea75862d451cb5eb561a9910e3198b59ae0f32647e() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) % $test); + } + function testa12a47a78f39f57c926d8908091d4dfd9d542983282aa2c283fa3bfee452e162() + { + $this->assertTrue(true); + fn() => (($test <<= $test) % $test); + } + function testa5e1f4fc4bc311ade5bde21916a4e8e0d3bacba141b37199ec280b431b6ee49b() + { + $this->assertTrue(true); + fn() => ($test * $test % $test); + } + function testa677aec0c78c86f7add1f31c849f1ff6e014664ecf48ec544f6d24db5c86ed41() + { + $this->assertTrue(true); + fn() => (($test *= $test) % $test); + } + function testa8186d3e5a6e77deaab81c2c73d5555d88147218840df1808d125d692043ae31() + { + $this->assertTrue(true); + fn() => (($test >> $test) % $test); + } + function testa9b20333a47e2d6b42380f3232f9185db22d64696d40c9b8785d334de067467e() + { + $this->assertTrue(true); + fn() => ($test::$test % $test); + } + function testa9c4459c04ac395efe5318ff12a86b7dead25e00804350b71288286a7f20c24c() + { + $this->assertTrue(true); + fn() => ($test-- % $test); + } + function testa9db87ff3b517d481745650793bda4c13c599722f7188bcd840b7e5d794d58db() + { + $this->assertTrue(true); + fn() => ($test::${$test} % $test); + } + function testb0f420980291156f852c8bb255352f729c9fe0553a499152c42ddf6c2e4d0711() + { + $this->assertTrue(true); + fn() => ($test - __DIR__); + } + function testb2a2c0e28d7c838bd07a6b4fc5c5d92cb1e4e3af08bc47d00f7932b4b0e531c5() + { + $this->assertTrue(true); + fn() => (($test >>= $test) % $test); + } + function testb3bb80b7b4d0edb92e222f9be64cf481926c3db2cee378272dc6a26ddaa7b074() + { + $this->assertTrue(true); + fn() => (($test ??= $test) % $test); + } + function testb3bca54e5f72a58b0770eeef71ae945de865cc48db2531cf1f43ecfe4f18d704() + { + $this->assertTrue(true); + fn() => ([] % $test); + } + function testb59b701f7b1e01444645b871836c009f37cd815f6d7361b4caaaaf72297d3621() + { + $this->assertTrue(true); + fn() => (throw $test % $test); + } + function testb6f8c408b6da87b1a56772ac21433ceb65e827ea0cca70460a41657146a8f9fb() + { + $this->assertTrue(true); + fn() => ($test ** $test % $test); + } + function testb8c562cde0b9385b059206fd9780ef857bc9fa2f0e96dd5d33fec58b1232d3e7() + { + $this->assertTrue(true); + fn() => (($test === $test) % $test); + } + function testbc74540f364d6421afb3de255d34f491285a850af2a37214bb455dd1fec21faa() + { + $this->assertTrue(true); + fn() => (($test != $test) % $test); + } + function testbc85488b25790a57d69327ee15fadbffc4e885b2388710fbc62213edb346f84f() + { + $this->assertTrue(true); + fn() => (($test =& $test) % $test); + } + function testbed7e614c22300c22f529e43fadee6e45a1ed11c2c39d2c83617f5166663bc15() + { + $this->assertTrue(true); + fn() => ($test - (array) $test); + } + function testbedb17bb8ef8528a4961d86cd363e0389a1b62c70ac8fae2697257afe751b27e() + { + $this->assertTrue(true); + fn() => (($test or $test) % $test); + } + function testbf8316586534eaa0c611dc76f35775f923975f288a57cdf94425425d643c6925() + { + $this->assertTrue(true); + fn() => (($test -= $test) % $test); + } + function testc0ea9fc915a1dfcf604d6b33114751ea6d76aa01a5e2b276dff2cec19afa27d8() + { + $this->assertTrue(true); + fn() => (($test ?? $test) % $test); + } + function testc170384a8e1261967a2c46b633d2c4aa42779433bca9606228c0a471b334333a() + { + $this->assertTrue(true); + fn() => ($test?->{$test} % $test); + } + function testc4ca239bd7075fc516b7d071d25cc7b328567f4a70edfcf9d2b4efa2a75e88c5() + { + $this->assertTrue(true); + fn() => (($test < $test) % $test); + } + function testc909e81d390f1d6042e7d7ce658b5ff82b3353b2573199dc0b21d64548d6315b() + { + $this->assertTrue(true); + fn() => ((yield from $test) % $test); + } + function testca1d37973482b2ee055b8adda6b3c52dc15f7be1f5d86329dbfe4ad1d9ec1f28() + { + $this->assertTrue(true); + fn() => (($test << $test) % $test); + } + function testd79f1523c9bf5c6154cf9373787d73312f45178950ad9586f51f0c22207b8aa1() + { + $this->assertTrue(true); + fn() => ($test - __LINE__); + } + function testda0802ffc14311cfe3ab7d134e479e71515de4eb2c5ad6548a6d3cf6e8877124() + { + $this->assertTrue(true); + fn() => ($test - ($test <=> $test)); + } + function teste070f9527c0f9fb93983a580a70cbbf951cdba1635a225804babcef7b2289ea2() + { + $this->assertTrue(true); + fn() => (new $test() % $test); + } + function teste5a8fb0c1a71558d89d64f2b8a4b11a5eccff639131f4d9f848764b0a488fec7() + { + $this->assertTrue(true); + fn() => ($test->{$test}() % $test); + } + function testebdb94c839b413f52c38603d61a07d12bcfd5df73d7eba2ba774dfacbc6d9676() + { + $this->assertTrue(true); + fn() => (@$test % $test); + } + function testf3c40ed7589d31826527581a50a269c1573ba6489f881e14e8931c0fa55afdeb() + { + $this->assertTrue(true); + fn() => (($test %= $test) % $test); + } + function testf4101292d857f5f0ce4bd06011bb427c1a1cd724ca1e606a2ca2a60516444248() + { + $this->assertTrue(true); + fn() => (($test ^= $test) % $test); + } + function testf4b60ad65ab018b93b34a8d5751138b5cd81c5468e2edc2ae32d6aad1b35168e() + { + $this->assertTrue(true); + fn() => (($test !== $test) % $test); + } + function testf54772d5247f065f4f51590f9985f79e064b07dd326ca863ddc51f766bcf8277() + { + $this->assertTrue(true); + fn() => ($test - __NAMESPACE__); + } + function testf6f8a6dbb054e574cb8b4fb0e053b05a3db0dfdc44b7cef6528cf5511cae81b5() + { + $this->assertTrue(true); + fn() => ($test - (double) $test); + } + function testf72dcad0b80669f9e68e737562f351048cf1fca7078db240496c74d853ace2ff() + { + $this->assertTrue(true); + fn() => ($test - "{$test}"); + } + function testf7aa63ed3f74fdd707f35824ac8935f2111da3989c2f52abd04cbcaa447f8c45() + { + $this->assertTrue(true); + fn() => ($test - (bool) $test); + } + function testfbb86ba1d761c226ece7ba1e70883404868914111cde01794432b380f8c9d621() + { + $this->assertTrue(true); + fn() => (($test &= $test) % $test); + } + function testfd9ace7995beb5ff371e69755e356f3a052d0bdf890f31600d76aff477c79181() + { + $this->assertTrue(true); + fn() => (( $test) % $test); + } + function testfea794ef7726bedca0eed29d52ccec062a38621e8bc434f0516dfe53ee12c46d() + { + $this->assertTrue(true); + fn() => (-$test % $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest.php b/testsGenerated/Target/Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest.php new file mode 100644 index 000000000..2687ba214 --- /dev/null +++ b/testsGenerated/Target/Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression9d08624d0df19755cf8bf65d8ecc4ececf3b6805dace828396eeff3739c0739cTest extends TestCase +{ + function test010de25ed0c54b8dc187442dbe70e40f04837db6fa7d73df4d28e2122eaa047e() + { + $this->assertTrue(true); + fn() => (new ($test - $test)()); + } + function test0129dabba4caf4d82b1e8e2f303709eae1b175edef50b74809af9711e146fcce() + { + $this->assertTrue(true); + fn() => ($test & $test)?->{$test}(); + } + function test0292776f5a4d499c3d76e3ea2161a1cde77b561a51f580860d37745079e493b8() + { + $this->assertTrue(true); + fn() => (isset($test))?->{$test}(); + } + function test04cf2d01dd3958328e0ffc58b4c7418d27e984a9c4d79cee4920f416fff7ff0a() + { + $this->assertTrue(true); + fn() => ($test /= $test)?->{$test}(); + } + function test056dd37544aaef8f9e5bd02aed1bc4a537392e1186580380a0ada9ad9456660d() + { + $this->assertTrue(true); + fn() => ($test--)?->{$test}(); + } + function test060280bca05d4c27fa73af61774940803e54cd741754255ab9eb60f163377ded() + { + $this->assertTrue(true); + fn() => (print $test)?->{$test}(); + } + function test07fad94906fa4b488aa79ec1e2caaf6a11f2a5e79c4e3953db40ba8b82d6e046() + { + $this->assertTrue(true); + fn() => ($test += $test)?->{$test}(); + } + function test0bda6a80fa7e2db9db0174a56f3482b8c5d23ffc1a7bfbaef0127a93bace3f6c() + { + $this->assertTrue(true); + fn() => (eval($test))?->{$test}(); + } + function test0fc1574e6421eea306d904421d8e44688ed43364d1459720705db483e0f9ee12() + { + $this->assertTrue(true); + fn() => $test()?->{$test}(); + } + function test1a50d6e105edbdd16e72497429347e54d2dcc9a6772b73bb6c73b4462880c52e() + { + $this->assertTrue(true); + fn() => ($test ^ $test)?->{$test}(); + } + function test202f97627cae655ef5e20da0905bbdca0b4b94ffa36b0d08eef30a0e4b437ea9() + { + $this->assertTrue(true); + fn() => $test[$test]?->{$test}(); + } + function test21feb2a4a44fa0b543a41c8f581c102e60a05a1038fad5e636fc6263c3706b92() + { + $this->assertTrue(true); + fn() => (new (__FILE__)()); + } + function test28973e1aaaadee61b189f0e2d5f2b8f94d6185bf4daae32cb386ded78551985a() + { + $this->assertTrue(true); + fn() => (new ($test != $test)()); + } + function test29648c03fe42b41deffca849114ae23f25ab690957382cc9fdd45cec3ebb989f() + { + $this->assertTrue(true); + fn() => ($test | $test)?->{$test}(); + } + function test29f19c23a4be2b92a7d9f85b2d6b135ed5f8995d3d0f3537a6a5c0be3f7896dc() + { + $this->assertTrue(true); + fn() => (new ($test !== $test)()); + } + function test2c3d98fa500a5c756c7a8eb1b20d35ba66a32ea8132c771290db64e9091095bf() + { + $this->assertTrue(true); + fn() => (new ($test + $test)()); + } + function test2f5275765d5a5c380d9052a303abd9d91fda5f6b8e87fddf7d9bc0450f0e1380() + { + $this->assertTrue(true); + fn() => (``)?->{$test}(); + } + function test3013fc4d98b1bad28ccc781d95f806a029b39600713f5722e6435d3317a23ddc() + { + $this->assertTrue(true); + fn() => (new ((object) $test)()); + } + function test33053b5274f124b5031822f4adb2eea59c0f017a961a18ef5ccbb18a64b932b5() + { + $this->assertTrue(true); + fn() => (new ($test > $test)()); + } + function test346f15bc2bc909e93ee10c484f9eecbe048b849bb2eabe65bc7ce4ca54d800c1() + { + $this->assertTrue(true); + fn() => (new ($test ?? $test)()); + } + function test35096acaea64b6489e93e8b533103d0dc8d89b8ac56ae48688c6b55d335c625b() + { + $this->assertTrue(true); + fn() => $test::$test?->{$test}(); + } + function test3998a8a2b43161a7c7a278cf05456760f36e3cabad9225aeaa7c9a6c2d3e9ecd() + { + $this->assertTrue(true); + fn() => ($test . $test)?->{$test}(); + } + function test3e751336dd1ffd3de4eae3d106d3a610aed49dc5218f70a0f46f20333bab69e1() + { + $this->assertTrue(true); + fn() => (new ("{$test}")()); + } + function test3ef2f31cb2c75a5d483b1ecb52e05bade3d5b9d300ce3551c2d9482105c33cac() + { + $this->assertTrue(true); + fn() => (function () { + })?->{$test}(); + } + function test42468f12038c0c5b0cb36afcef118485c39082237efdbb0b586812ffaf801b62() + { + $this->assertTrue(true); + fn() => $test->{$test}?->{$test}(); + } + function test427b17be5ff8aa95e5e3ec0e0d8776fcf875a4d98ceaa0523eea8c583efe048e() + { + $this->assertTrue(true); + fn() => (new ($test / $test)()); + } + function test4410f3ccad669256186568bec639226d018533467d667b52739860aa115c8273() + { + $this->assertTrue(true); + fn() => (!$test)?->{$test}(); + } + function test480b719964b9405288007ab2dc16f6d823be0e15546111f63983199a5169a51e() + { + $this->assertTrue(true); + fn() => ($test **= $test)?->{$test}(); + } + function test4cfdc5aade85a08c9b22caf928e0013fb0f58a32acf2638e22c8d4898ee63db1() + { + $this->assertTrue(true); + fn() => ($test |= $test)?->{$test}(); + } + function test4d4e7873be5717275ce103eb8b032bccb9ba3180a7c77e66547abb95d8f8e4f7() + { + $this->assertTrue(true); + fn() => (throw $test)?->{$test}(); + } + function test4db5b6a3f3e5979ab8a815dae04e48728938a5671ff9453ec28bc550c2fcbfd3() + { + $this->assertTrue(true); + fn() => (~$test)?->{$test}(); + } + function test54f79a0c11c9111691aa6f3ff3f2c14c81cd46bf3b9ee4a76de7ca3c44b8f956() + { + $this->assertTrue(true); + fn() => (new (__NAMESPACE__)()); + } + function test5a254ef04c8c2a4ac36b88fe7861afd07df1a6a095a73056ff7c3fd25f2400c0() + { + $this->assertTrue(true); + fn() => ($test =& $test)?->{$test}(); + } + function test5a966f2571c0e0b8b55a568f08652ed2e456de63d0fa779731c4c2b96cf37941() + { + $this->assertTrue(true); + fn() => (new ($test >= $test)()); + } + function test5b8e1087b168088fbc75aec78af3656b9260024cac9b662c41ddf9bc1e19808a() + { + $this->assertTrue(true); + fn() => (clone $test)?->{$test}(); + } + function test5ca503615d92925165f6921a2c9976b6ad7c554a56b573fb6c439ccb5de5ca8b() + { + $this->assertTrue(true); + fn() => (new $test())?->{$test}(); + } + function test622164a57c7bb041e1b27053285d33923f9e1e1209decb3a1787a1775edfc4f7() + { + $this->assertTrue(true); + fn() => ($test %= $test)?->{$test}(); + } + function test623d9983988e05f243a8e3002d0937f4d71438a97caa47f8c13d0db1643e54e9() + { + $this->assertTrue(true); + fn() => (new ($test and $test)()); + } + function test6333bc454243b78d033b0eea149966459fe2281dcc07b376ffd6020a86b1e82e() + { + $this->assertTrue(true); + fn() => (new (__METHOD__)()); + } + function test6615853320092d95b6dd589df4e87a806ae2a7b2fe013e02b776a27fcfdbee34() + { + $this->assertTrue(true); + fn() => (new (__DIR__)()); + } + function test66b21042e5a49a8ec396d5ad154138de529ea949606f847f1918fdc1255a2c64() + { + $this->assertTrue(true); + fn() => ($test &= $test)?->{$test}(); + } + function test671d1466c3acde8611b2c81bfdda0cdacf72d3922f69b8a53dd0a5d2c11980dc() + { + $this->assertTrue(true); + fn() => (new ($test == $test)()); + } + function test6b9e370d19b99cd7be73c78b5da0c2872260f3519b20f78893f572ade464cfbc() + { + $this->assertTrue(true); + fn() => (new ($test && $test)()); + } + function test6d7b6020abaf19df167f5cae0a3913cacda6466dbb9a518a642348224694886d() + { + $this->assertTrue(true); + fn() => ($test *= $test)?->{$test}(); + } + function test6ea028558fd81ae9cc0ab49268cb6235892cad38a0fdc75594f438372d4f49e2() + { + $this->assertTrue(true); + fn() => (new ((string) $test)()); + } + function test6eff5cd02a0a2293e815e4d69f8877695e24d5df8f2447b3fcfd6b64806885d0() + { + $this->assertTrue(true); + fn() => (new (__CLASS__)()); + } + function test6f45efd32f13ef41793e2d007f07bc98d5378108761ed08a5a0eba0b4dd82ba5() + { + $this->assertTrue(true); + fn() => ($test ?? $test)?->{$test}(); + } + function test72bcedc67365303472f027c57949721e571f9571a41c9976a0029aedf07efdd4() + { + $this->assertTrue(true); + fn() => (new (__FUNCTION__)()); + } + function test734dbcd536bd2b44d4fcf43a665110c759cab5fe69d3b25abd38d3645e7b6e16() + { + $this->assertTrue(true); + fn() => (new ($test or $test)()); + } + function test74a5e4dc31fa53e176ae7b91c1830e5794590a2fa25767869509241c1be77d21() + { + $this->assertTrue(true); + fn() => ((yield $test => $test))?->{$test}(); + } + function test7592932000bced861b3fb3af2097707f3fb84cd53a229384fe85ab99fdebba6c() + { + $this->assertTrue(true); + fn() => (new ($test % $test)()); + } + function test7f1717d0e715a5d75178cb28a69975e4c8028e2f6c31a53aff002b036f894e76() + { + $this->assertTrue(true); + fn() => (new ((double) $test)()); + } + function test802a174273942388413f95c13ff83ea4c8251cec41a6a613eec541c8170aa639() + { + $this->assertTrue(true); + fn() => (new ('test')()); + } + function test82d0aa4f1544de2e2df568431946da0689cf1de6fd6a2ef75fbc0a0cbde187cc() + { + $this->assertTrue(true); + fn() => ($test && $test)?->{$test}(); + } + function test8666a6c5ff0aca5dc6347c2c6a4852746f4c076b1b24dc1f51a8c902c0c996c3() + { + $this->assertTrue(true); + fn() => (new ($test <=> $test)()); + } + function test86e5bc3136c7d01f55a53bf54ee8a7f00dcbd6d579f02808aeafcc1aa51b731b() + { + $this->assertTrue(true); + fn() => (new ($test xor $test)()); + } + function test8bdcee081fcf2ac99850acf2467ec209bca05223a690ca6e3b1c3caac0b38b60() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test)?->{$test}(); + } + function test8f426a8323ca1c36e5d68988598cf1d9f3bae561fdbbebc6206468031c761375() + { + $this->assertTrue(true); + fn() => ($test instanceof $test)?->{$test}(); + } + function test8faae3c56e0d38bf869cc34fec8edf973d61d0f4348046909922904e57222b25() + { + $this->assertTrue(true); + fn() => $test?->{$test}?->{$test}(); + } + function test90f530fbca4b025ee7c9506b9c4028108f4c6685ca0efce73547ce4efd85b4e8() + { + $this->assertTrue(true); + fn() => ($test <<= $test)?->{$test}(); + } + function test91b9ccd6b005d2b166f1c89516adcadccb1218536dfa86a751ecbad49f1b9ba2() + { + $this->assertTrue(true); + fn() => (new ($test ** $test)()); + } + function test926c56c0cb7cf969fec0a31e2a97ea3de451608a9547cc11a0642e0c178fe7eb() + { + $this->assertTrue(true); + fn() => self?->{$test}(); + } + function test96a9545455563c00163f64494fa0dd06f93b27db878005631743eca168666aa8() + { + $this->assertTrue(true); + fn() => (new ($test >> $test)()); + } + function test9aa6c15417289a31812d26f5d0419406457eb00ba46348421f68be2b740c67e7() + { + $this->assertTrue(true); + fn() => (new ($test <= $test)()); + } + function test9d78f95fa5b6c01017b6f66c17d874044db70352d3171f6315d2fcd05d2a61aa() + { + $this->assertTrue(true); + fn() => (new ($test < $test)()); + } + function test9dea62ab905cf3dc12070b5dd45d8a6c1445d4ee8ab2a68dad462ac1c9608d9b() + { + $this->assertTrue(true); + fn() => ($test = $test)?->{$test}(); + } + function test9e0031a54137da7958cecd74b0f197b868b5d88c1810dfb35d81138cf81dfb1a() + { + $this->assertTrue(true); + fn() => ($test ^= $test)?->{$test}(); + } + function testa35e9a84f661f5d2b8877c2b5a8e700654e3564a2d204872774348b254c43f08() + { + $this->assertTrue(true); + fn() => (new ((bool) $test)()); + } + function testab19347b4dbf7eac6c04429bf5d3ba2661500b70ff01834582473541e2ea1ba0() + { + $this->assertTrue(true); + fn() => ($test >>= $test)?->{$test}(); + } + function testac4540ec8ee3fc398d062fc608afc8a1e0fee5c941c77093deefc72ad98b82ea() + { + $this->assertTrue(true); + fn() => (new ($test ^ $test)()); + } + function testad750458693f7f443ecea789a517b2a5be8059411a9042035bffe0be31514cf8() + { + $this->assertTrue(true); + fn() => (new ($test || $test)()); + } + function testafa741f61a2f19226eb2d378756a25d97b452438beea57bc8ab3ef737c8aba7a() + { + $this->assertTrue(true); + fn() => $test?->{$test}()?->{$test}(); + } + function testafdc6063c78b0f71f8ad7ec0ab28f893c5ef98dc9082ed16931ea20e2b911259() + { + $this->assertTrue(true); + fn() => $test->{$test}()?->{$test}(); + } + function testb2087770e09d9a38860eec7ed6f399db31a4e5b96b697a929c611f2bb51d0180() + { + $this->assertTrue(true); + fn() => (++$test)?->{$test}(); + } + function testb33fe4f257a296ec7d748a38fd61ad9b108255fd0f7972643d8aafba49be39a1() + { + $this->assertTrue(true); + fn() => (@$test)?->{$test}(); + } + function testb9af5eec782d465f1909d52639aed951443e5e4ec7f7faf1819031d8f5ffd05c() + { + $this->assertTrue(true); + fn() => ($test++)?->{$test}(); + } + function testc2ebeffbb1c8bc856cb4c5f6474eb1c2e6a7c319d01249092be852d3982e4579() + { + $this->assertTrue(true); + fn() => (empty($test))?->{$test}(); + } + function testc826454609c1409a3d034f74c5ec9acf974d15a30324b75d2d73888479b53933() + { + $this->assertTrue(true); + fn() => ($test -= $test)?->{$test}(); + } + function testc9456f5579e22f520a03f0d0692343e9efd42b791ef8b36fe96dced4dbf959fb() + { + $this->assertTrue(true); + fn() => ($test || $test)?->{$test}(); + } + function testd177aceebec14abbaefb39482ad29d4ca4e6ee1c68f25b3680602f5f02506634() + { + $this->assertTrue(true); + fn() => (-$test)?->{$test}(); + } + function testd3f82abb4320e77bcaced485711eeba598718c337b60a213acd5072cf333d869() + { + $this->assertTrue(true); + fn() => (--$test)?->{$test}(); + } + function testd467e8482a1290e811c8b22d5db667653abaa5ddf08e294960fee5b47ac9c126() + { + $this->assertTrue(true); + fn() => []?->{$test}(); + } + function testd6d8e4fdd24536a7a1df6c87e2f2522bc953207c26f4ff45f6a92d7a00ebf66f() + { + $this->assertTrue(true); + fn() => (new ($test | $test)()); + } + function testdb2f35003da5fbca35d7addb73051f242ff2b4832046b5031dad1470e711d899() + { + $this->assertTrue(true); + fn() => ${$test}?->{$test}(); + } + function testde72d029e9ae012441705a1ba19b8ab0a3afe8efd1de6691d4dbda0819bce3df() + { + $this->assertTrue(true); + fn() => (yield from $test)?->{$test}(); + } + function teste077fd64cd62913e4774ed497686a2cde2d1b4327eb2499fd442c14fa8bf1aab() + { + $this->assertTrue(true); + fn() => (+$test)?->{$test}(); + } + function teste0cf87f4e0a84f959e9cbf7327c6529e362aa448fba1d5b558adf1e654ce8f1e() + { + $this->assertTrue(true); + fn() => ($test .= $test)?->{$test}(); + } + function teste11fc119ee3fe8b1aefe0180cf402658547d284eee7dd4664ae26353f0033186() + { + $this->assertTrue(true); + fn() => (new ($test * $test)()); + } + function teste13a819cbf2d15d7b72dfce00f3d43f44e9206cdd6e8fc6ac1d3bbdc74e426e8() + { + $this->assertTrue(true); + fn() => (new ($test === $test)()); + } + function teste23495dacabd5b0f7b79f2cb6623ec4c85889cc1723d748a4317af13382440a9() + { + $this->assertTrue(true); + fn() => ($test)?->{$test}(); + } + function teste43728192fe4426a56b76e1a637e903c2538ec3ec189a40746c847568fc45614() + { + $this->assertTrue(true); + fn() => ($test ??= $test)?->{$test}(); + } + function teste607637e166d11b9e737ee1ec93494b9df0f9308fc8c216ad7b8cf7eb6efb191() + { + $this->assertTrue(true); + fn() => (new ($test << $test)()); + } + function teste764b1f6503361c86cdb0fc4bc92e377cfec82bd6a61d02fcfa2f76bf20cc696() + { + $this->assertTrue(true); + fn() => ( $test)?->{$test}(); + } + function teste7d1c9832270416ba9501baf0988a476c91265b0a98bd4cc6fcf8a36e58df598() + { + $this->assertTrue(true); + fn() => $test::$test()?->{$test}(); + } + function teste8edf75a5dcd5f99b0850a2c187208cbee6312761ad3965d11b2b3b0b6b07377() + { + $this->assertTrue(true); + fn() => (new ($test . $test)()); + } + function testf5426c01ae9872c5824daa9547707621f4d81a33153b7f0405891f907c131262() + { + $this->assertTrue(true); + fn() => (new ((int) $test)()); + } + function testf5b1bd73eaaad138e60966e634a74448167d20ba132bc5da465de0aa5ef3fbb8() + { + $this->assertTrue(true); + fn() => (new ((array) $test)()); + } + function testf5b2a12951b99c119023a75aa9841fa0378399b4cc2c9bccc0bc1a34800f0e7a() + { + $this->assertTrue(true); + fn() => (match ($test) { + })?->{$test}(); + } + function testfc1bd8aedc554bb239dafbb2a7ce74e3b01b28f9007168a99bf832aa4cd9b699() + { + $this->assertTrue(true); + fn() => (new (__TRAIT__)()); + } + function testfe85f371df3392665db8c8ac2b9e4b5d92d95d15b7ec6e0696b4bca754f55288() + { + $this->assertTrue(true); + fn() => $test::${$test}?->{$test}(); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test.php b/testsGenerated/Target/Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test.php new file mode 100644 index 000000000..bcc7dd0c5 --- /dev/null +++ b/testsGenerated/Target/Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression9d52b51fe41c8328f822d8c7d5fbcf746a7431e09eda84ae3e9bbcd69405bc92Test extends TestCase +{ + function test01f0e7fb55057333feda9f6a51b0430bfeeda746f7332903f63311200b06331d() + { + $this->assertTrue(true); + fn() => ($test > (double) $test); + } + function test02660319804a614c6e43f20fca4c86c4839eacb79e99bde88e755a65f7ea4603() + { + $this->assertTrue(true); + fn() => ($test > ($test ^= $test)); + } + function test0546c24a16122edaa9db34da62d200967bbe8031772a1ed89021e1cb2909b08c() + { + $this->assertTrue(true); + fn() => ($test > ($test -= $test)); + } + function test0b4df4bf40975c38c5e52431fd292dc62652408459a3db069cbcaf90b97d1ac3() + { + $this->assertTrue(true); + fn() => ($test > __LINE__); + } + function test0d13ea5b10237f10bde97ffa994f1fb385b9cbb3a3c35c23770bf21c4e137cf1() + { + $this->assertTrue(true); + fn() => (clone $test >= $test); + } + function test0da50c3adb621ac26294367663d1e0e3ee4cd081af03f0b4c3cd5272671b8db5() + { + $this->assertTrue(true); + fn() => ($test() >= $test); + } + function test0e0b0cd7f52ad1e2619f7e5833e67871831cd5c2164fc029f8cbb856be75a2bd() + { + $this->assertTrue(true); + fn() => (($test |= $test) >= $test); + } + function test1310d78f080227c98bac7ff5820266f5d2666d6b1eb2262ce29a9961a39b8c96() + { + $this->assertTrue(true); + fn() => ($test > __DIR__); + } + function test15664ddaf7c2dfc6d77f43e198b6f0ddf6d1e63b5370b1e561bf5ecb3f63f6aa() + { + $this->assertTrue(true); + fn() => ($test?->{$test} >= $test); + } + function test1c2849ca42fc7a27901e1fdcf49923d67058205edde8f1ca3c8288f90349132e() + { + $this->assertTrue(true); + fn() => ($test > __CLASS__); + } + function test1e84613487b13008a69a05390fd3d67a51bd61ae284f78d1d01e04a8732eba27() + { + $this->assertTrue(true); + fn() => ($test instanceof $test >= $test); + } + function test259f292f9be448e8ca86d53742a939e1ee97c715cd0bd21e9f30cc7db21c6a3b() + { + $this->assertTrue(true); + fn() => ($test > ($test xor $test)); + } + function test26026c2138c303180519c7888cd638e587fa751400dc8b14d14dfffb0659c31f() + { + $this->assertTrue(true); + fn() => (new $test() >= $test); + } + function test265b35c81e221fa4d3ccbb2afb8bbfefc3ddfca473b4c04e2bfefa96ae59366f() + { + $this->assertTrue(true); + fn() => ((print $test) >= $test); + } + function test29985d5ab94f5a8ae08f3dcb17f81f6179f533d86bcfe4d32bbd3ad11cb1951d() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() >= $test); + } + function test299d0af813248d35b449644339a2bd40e2cc6acad2ae35c302c482c55266bc91() + { + $this->assertTrue(true); + fn() => ($test > $test + $test); + } + function test29b450bf09a5dce149e09acf1f1044aa554d0b0c44a313725889663eeadfabd2() + { + $this->assertTrue(true); + fn() => ($test > __FILE__); + } + function test29cafd7f0c59abe4f88ec65a37dce596b3a9e2364be37a1ca7e07c5638bda50f() + { + $this->assertTrue(true); + fn() => ($test->{$test}() >= $test); + } + function test2dd129b8609853dfb11cea3fc4c4ca8a56e630f703faac50946f244f8e77d309() + { + $this->assertTrue(true); + fn() => ($test::${$test} >= $test); + } + function test31540ec81170d811b7b06680d68252444aba5552a1e356889fcbbafeab1d08bc() + { + $this->assertTrue(true); + fn() => (($test = $test) >= $test); + } + function test34b3d8130cc4ed7c2d4efc9f128191a23be2d0eaab7e7fe4b288037befacc036() + { + $this->assertTrue(true); + fn() => ($test > ($test <<= $test)); + } + function test3503e8aa40fbf95a090ddec8cdbff9cf8f95415a7994cc68634d28eb614932af() + { + $this->assertTrue(true); + fn() => ($test > $test % $test); + } + function test39f353b27230c4070969755d6cb009af094f8a6a8781ce2216c5ad46e17eea45() + { + $this->assertTrue(true); + fn() => ($test > $test / $test); + } + function test3a912fb8e8d980fbf7bf6431fe729bcc9250937cffe7c440999320e8fda12365() + { + $this->assertTrue(true); + fn() => ($test > ($test !== $test)); + } + function test3f8e5b3adb3f36982f736dba64af861e0b4b081a61458e9d6eee3390392de96c() + { + $this->assertTrue(true); + fn() => (@$test >= $test); + } + function test3ff733f521344544a59674a9258fb77e748fca23ab335369c7aae62d6ea632db() + { + $this->assertTrue(true); + fn() => ($test > ($test ??= $test)); + } + function test40dbbc377750e321a515f4fcda6639cdf689e6e315d88f7cc63c14a5a325e3a7() + { + $this->assertTrue(true); + fn() => ($test > ($test == $test)); + } + function test4d5b584f1a0fd64b96e03029917bd2a2b553e903f5bf2b749151ebe94a302190() + { + $this->assertTrue(true); + fn() => ($test > ($test **= $test)); + } + function test4df5e1a2df78cd6e73992578c871fa3a983bf5896d0917b4bccd62ca7497eb3b() + { + $this->assertTrue(true); + fn() => ($test::$test() >= $test); + } + function test4f94d3d32b739e50c44a0ca9c133b6510701591bf54e95e508c684fad22fba0a() + { + $this->assertTrue(true); + fn() => ($test > (int) $test); + } + function test5023e69dc48e40b929f7f542aa4ba46efa0f65c133c47a183211073d0cb0700b() + { + $this->assertTrue(true); + fn() => ($test > ($test .= $test)); + } + function test55f18fef16315fcb064681c4566c29009609b7e8963a002604bf940178a2ec8f() + { + $this->assertTrue(true); + fn() => (empty($test) >= $test); + } + function test56f2da9500e66f49f2188ebc43b650cd78a317da418d30d2f3b27788b3a73584() + { + $this->assertTrue(true); + fn() => ($test > ($test < $test)); + } + function test57c5c83ea665b8ac767b8ec085a78a9823b6777ba61c3be38ce418dd55238c90() + { + $this->assertTrue(true); + fn() => ($test > __TRAIT__); + } + function test5af78faa3cd41409c2bd1e40290fe456744d4d66ba4e37c94cd6cff06b6910b8() + { + $this->assertTrue(true); + fn() => ($test > 0.0); + } + function test5fe6a2569202f57737e5a181ef15256daff8dc287232eb297e5cf944fc5ed4bb() + { + $this->assertTrue(true); + fn() => ($test > 0); + } + function test60969aa96a2cc331a6bdfdda1a55959816cd80d126f9341eee4a0bc7649123d3() + { + $this->assertTrue(true); + fn() => ($test++ >= $test); + } + function test6476b7711fccf1439e2dfb8b05dd3a1e24b29023bfdcddaf40b7e2508fead427() + { + $this->assertTrue(true); + fn() => (+$test >= $test); + } + function test668f01fbd20245948d971442a664de7d9defb6dd1d57b9ad207c0d2e939d7ead() + { + $this->assertTrue(true); + fn() => (isset($test) >= $test); + } + function test68132eeaeb5c95e1caabe66e14d6b3cc079f7880c4ba0859a5bbbf519187a04f() + { + $this->assertTrue(true); + fn() => (${$test} >= $test); + } + function test6b3ff392f2931aa227942c85d6e656ef07dd68a094ede360f0045302bc28cce1() + { + $this->assertTrue(true); + fn() => (~$test >= $test); + } + function test7230ce89ee137ce57f1a4ed4e8d257f166421d51820c4a367ec644f889fa12da() + { + $this->assertTrue(true); + fn() => ($test > ($test <=> $test)); + } + function test73fdc55af09345b6b812c01e9a5646b80acee979c229314ee853403659333b59() + { + $this->assertTrue(true); + fn() => ($test > ($test >= $test)); + } + function test74cf6a430afd4b431e0668442425fe54ddaa937bdbaed881a8f9145903cf8737() + { + $this->assertTrue(true); + fn() => ((yield from $test) >= $test); + } + function test74ed19ab36f48f2bb0806c539700a204400b101c27c9b78895b0bba043d3f767() + { + $this->assertTrue(true); + fn() => ($test > $test . $test); + } + function test7777b5026a0c84eddb76e6a2484777a53affac5524d53b2ac171336c6cf338ff() + { + $this->assertTrue(true); + fn() => ($test > ($test <= $test)); + } + function test7783f3f98993a8243628e80b386ba686d979a4ea99d010b674febac30b3ac1ea() + { + $this->assertTrue(true); + fn() => ($test > ($test === $test)); + } + function test7baf1a3a319fc3601068daeab591fcddd97070b5ce58e0eead69ef0903fcb3a1() + { + $this->assertTrue(true); + fn() => (throw $test >= $test); + } + function test7cbe3675dd76ca54f0ad2dd1b3a6c621ee12aa9970208cd42087e72eb2c306d4() + { + $this->assertTrue(true); + fn() => (!$test >= $test); + } + function test7e8e94e4c7d7a5f4ef39806cc59f1d98c3cbbca737aaa0b8c50ccc42b274806c() + { + $this->assertTrue(true); + fn() => ($test > 'test'); + } + function test82e8da1fc5381f3b065a033be0e30c52fa23384fc46778d7a71a10538bd2b482() + { + $this->assertTrue(true); + fn() => ($test > ($test or $test)); + } + function test83a53195bd4efc72c0081bae322376fe31fd241f436d4ce3cd29aae5b9c8f9e9() + { + $this->assertTrue(true); + fn() => (($test &= $test) >= $test); + } + function test85b179ab5784250f9412cad07bc483b1242ee1ec1518d71ddc3e0a92b777f79e() + { + $this->assertTrue(true); + fn() => ($test > ($test | $test)); + } + function test8702d75676ecad98fb74831e8b0bcd11768b48072e4bcf81ef7602fb5470845c() + { + $this->assertTrue(true); + fn() => ($test::$test >= $test); + } + function test8734f4d1234fa0b1844b6e4f4a9e17e95f00a8b9d89b94abac1ca768980aa999() + { + $this->assertTrue(true); + fn() => ($test > ($test %= $test)); + } + function test897606f74327725cadbdd6b44d2bd37aff6276771d2aaeba31a80c1f56b005d3() + { + $this->assertTrue(true); + fn() => ($test > ($test || $test)); + } + function test8a5c6c51bcd4fec6a7b7033a0e613abdef923ef063c56be5caf616541565323f() + { + $this->assertTrue(true); + fn() => (($test ??= $test) >= $test); + } + function test8a9b8da0336078b2afc4806debaadf851d16d8377c2bda8366a9460db5db42dd() + { + $this->assertTrue(true); + fn() => ($test >= $test); + } + function test8d3c4d322ead45a54fe7cf0841bbc8efc0b217fa48a5e95ea97e7bd92bfff1a7() + { + $this->assertTrue(true); + fn() => ([] >= $test); + } + function test92ac70eecdcb9edf5e9568a24cb81507592bb80d2f155d49c5f17237f1b9850b() + { + $this->assertTrue(true); + fn() => ($test > ($test += $test)); + } + function test948e0af5a52ce1d3fa52fbfc3fec0be167cbe287950e9044bb347432e763bc87() + { + $this->assertTrue(true); + fn() => ($test > ($test and $test)); + } + function test95f4f4aae8f413cb044982a29d8e23d9bf6a6299d5a4846e5b5798d6ab3f7f8b() + { + $this->assertTrue(true); + fn() => ($test > (bool) $test); + } + function test976d70c05b4145755be52588e930c9cd4605e187a1478f03b9acefc771de6609() + { + $this->assertTrue(true); + fn() => ($test > __METHOD__); + } + function test9c9cca7aeb8eb2793376f8241a50cf6216c358a84f0a283e6b1a0f727a80171a() + { + $this->assertTrue(true); + fn() => (eval($test) >= $test); + } + function testa2c91e0c75763b182749ad32d38b28f119cdc51bf2271f581a7069f540878bb6() + { + $this->assertTrue(true); + fn() => ($test > $test * $test); + } + function testa3363ebf41e5b4876879af33bd0d866d5f4001fc9cd6e8b0177d85b4b1a8bb63() + { + $this->assertTrue(true); + fn() => ($test > $test >> $test); + } + function testa46e0a7263232c716e6c85fefc3b0d234cf214b35735ce46720f396e5f42f10f() + { + $this->assertTrue(true); + fn() => ($test > (string) $test); + } + function testa8001b75d91e0628b8b5ef2db088eb31db5a73fa60ca90b5a8d6d89178e5256a() + { + $this->assertTrue(true); + fn() => (--$test >= $test); + } + function testa9d703d2af7352f0c328243ea395930e7266123aa6fb228c5e39dcde03d35e21() + { + $this->assertTrue(true); + fn() => ($test > $test ** $test); + } + function testaaf918642fd5749df5257bd5b26ca4b6cce68876e7294bcee27ec0f062d2fa2c() + { + $this->assertTrue(true); + fn() => (($test =& $test) >= $test); + } + function testab82fdfb65ea181576421fe36ae7ab3c9a57bec8fd57a45fcc2ff5133f32b683() + { + $this->assertTrue(true); + fn() => (-$test >= $test); + } + function testacd59e65080d2a5d3a079392c663ee7c016b19d3e26234d512018d1e5077d07c() + { + $this->assertTrue(true); + fn() => ($test > (object) $test); + } + function testade8b928f9cd775ca04ff8521bf7260964b372aa2200f2eea3b3c12116bb5f94() + { + $this->assertTrue(true); + fn() => (( $test) >= $test); + } + function testb041bd620dcf276b7ef8d67de9dddb30f22c6255d00347c8518963a090b2454c() + { + $this->assertTrue(true); + fn() => ($test > ($test > $test)); + } + function testb1c5cee096c0ceaf5dfcd82e4dd06b8bf74f71174b9820f2cd6aa566519bdcdb() + { + $this->assertTrue(true); + fn() => (self >= $test); + } + function testb283c59f745329fdd929103be805c9ea8ccfec912510688ce14887a1233801e0() + { + $this->assertTrue(true); + fn() => ($test > ($test ^ $test)); + } + function testb6837812e0505b43abc1a6990f163845c64a50307e5ca9e980ca124d27b0d02d() + { + $this->assertTrue(true); + fn() => (++$test >= $test); + } + function testc0b9b51ea5beaf18a6f06611c070c1644f6e834c7af7ce3334ff6e9922f9ab27() + { + $this->assertTrue(true); + fn() => ($test-- >= $test); + } + function testc2aababaf0e6f75dafe12477924a9bf3e3433e0e47aaa5f87e62a70ea2601567() + { + $this->assertTrue(true); + fn() => ($test > ($test >>= $test)); + } + function testc4c8afc21f9226d0a5826cec47f3b054f8d7e66f03e8008f25e92fa0cd23a66d() + { + $this->assertTrue(true); + fn() => ($test > ($test && $test)); + } + function testc95776475b34d09e1e8be6d5a0c55732412dc122f0d8709d0b3f09b5fcb19ec2() + { + $this->assertTrue(true); + fn() => ($test > ($test != $test)); + } + function testcb04359440173a2c1e0e32174215a979c50ac160ddc45d9085500aeccef52c2a() + { + $this->assertTrue(true); + fn() => ($test > __FUNCTION__); + } + function testd080c6416a3277a875c0e8ecaa48be3c58692d8b6ebd90ba79c27c81ae4e06ab() + { + $this->assertTrue(true); + fn() => (match ($test) { + } >= $test); + } + function testd346e5d1f5b5dea470f68373e99972fd51b341d75bd198b20a5123d85e591d97() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) >= $test); + } + function testd53391272afcd8d932ce1d14508cbbcc22a3f093ee69d41f8d578afb4e8eb309() + { + $this->assertTrue(true); + fn() => (`` >= $test); + } + function testd63cded2473f1c6a210e3e3ccb90ce70d4d9b4276dccdd7623f9e014ffc676a5() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) >= $test); + } + function testd790b65bb50d9a21be5b400b82a5ebfb0db6ff1be16b24024e4426079716a33a() + { + $this->assertTrue(true); + fn() => ($test[$test] >= $test); + } + function testd9853e674dc7a52aae8086a5f2bdbe80f55b06afe60a9d577fad18a05e3290a9() + { + $this->assertTrue(true); + fn() => ($test > ($test *= $test)); + } + function testdb3261d661a7a5ff03b264f1854bc1fc04e2a326bbaa8ff042e07ccc71fccbb6() + { + $this->assertTrue(true); + fn() => ($test > "{$test}"); + } + function teste2be1003905375f63414262ffd2613e79777886d53a612333398a22c654b0bdd() + { + $this->assertTrue(true); + fn() => ($test->{$test} >= $test); + } + function teste69377a8af10fc2644f69e4d3e33b03c750cb2d6cbbe1c743d5549882d83b9eb() + { + $this->assertTrue(true); + fn() => ($test > ($test /= $test)); + } + function testea4610ac9559749f4c79f7978acff24bd62bc372f7ab0ba77fe28667ee8ab107() + { + $this->assertTrue(true); + fn() => ($test > ($test ?? $test)); + } + function tested36462abc0cf8d9a2325ec1d034f284ae94f3430fd711b55132d5d88e93cc61() + { + $this->assertTrue(true); + fn() => ($test > $test - $test); + } + function tested5212f58b238fcdb1872cc42922849353bb17c4044e791d451f1008ce018e77() + { + $this->assertTrue(true); + fn() => (($test ^= $test) >= $test); + } + function tested717d441cfa380e46921cfe453fecdef4c2320a2a435ec10d1f28ca43100f3e() + { + $this->assertTrue(true); + fn() => (($test .= $test) >= $test); + } + function testef70b75ce64ce8d7862a95f27398d62818c70c2a0ce25cd0e11c5d58672af51c() + { + $this->assertTrue(true); + fn() => ($test > $test << $test); + } + function testf13c946dc527437ad929e545cbd26db4a744c2bbba837c334561c96f86d22c35() + { + $this->assertTrue(true); + fn() => ($test > __NAMESPACE__); + } + function testf74eafa10db338cbd314d4abd0f978c48e6496db6267a2529deef1e75d2933ca() + { + $this->assertTrue(true); + fn() => ($test > (array) $test); + } + function testf9db3a915c0a88ba7ce0d069698d1141218e8b4c02a5800b8901f507609f4ce3() + { + $this->assertTrue(true); + fn() => (function () { + } >= $test); + } + function testfc3dd37d2af455bf83d0ea90d975f6237ceb9b9d0ec0c0847606a066f41c3c93() + { + $this->assertTrue(true); + fn() => ($test > ($test & $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test.php b/testsGenerated/Target/Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test.php new file mode 100644 index 000000000..2b581cb02 --- /dev/null +++ b/testsGenerated/Target/Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression9d6fc6586729b40e84e80ad4f8dd6e0999c57a7f832e2d3206e4997773247102Test extends TestCase +{ + function test00d4f527063a5b3e9ea894b6b222953fb973ebd13bca899247f56cfbdf59495d() + { + $this->assertTrue(true); + fn() => ($test >= ($test ??= $test)); + } + function test052571d2e8b10cd9abd9ff5fe04f2b5d091a6cf85cc5543894abe4a42d63dd37() + { + $this->assertTrue(true); + fn() => ("{$test}" >= $test); + } + function test09930ccdb2767700631189b28d7338a1a33708dcad03bf832add2048b715494a() + { + $this->assertTrue(true); + fn() => ($test >= $test?->{$test}); + } + function test0ebb5feb9636f246663b194eca543cb6e123650d6e495ea6e82b4eb1435209c6() + { + $this->assertTrue(true); + fn() => (__DIR__ >= $test); + } + function test140d8eb2e9991d19549d3c36e7718cdf6f0d9b4a2d9f0e183294874eee72b0d7() + { + $this->assertTrue(true); + fn() => (($test /= $test) >= $test); + } + function test172446826af96df67d2a002dfedd928777370120234cc081d53fbdfaa2ffff0b() + { + $this->assertTrue(true); + fn() => (($test %= $test) >= $test); + } + function test17d20571d53c7c672b3964a700c419a9b416bd78f97dcebfd4b7aa4f219b843c() + { + $this->assertTrue(true); + fn() => ($test >= []); + } + function test184fb64c660baad1b9c3fa0b43b86fe4e8dbfb4f495de1e4e9bc0fecb53c5f82() + { + $this->assertTrue(true); + fn() => (($test && $test) >= $test); + } + function test18b81d343376f40d3e4bd3a3678d15287d902d5e59449d8bcee913b9dac145d5() + { + $this->assertTrue(true); + fn() => ($test >= (yield $test => $test)); + } + function test190ca0570bba0954b0cb53305318c75f6403501f6dfb18ee997872eff406f442() + { + $this->assertTrue(true); + fn() => ($test >= ($test /= $test)); + } + function test1944eccb76b1d2f1639bea2ab4152cc3f70b14bb5a9d4d7eae20c313376c6893() + { + $this->assertTrue(true); + fn() => (($test ^ $test) >= $test); + } + function test196531934544acd37be8d6d932d63a0e9dc7179f14f94bb7142d491ec75ca767() + { + $this->assertTrue(true); + fn() => ((array) $test >= $test); + } + function test289454503f93884b72ddb5c36a61dd92048a4424bb8a9aec8b713398a8380019() + { + $this->assertTrue(true); + fn() => ($test / $test >= $test); + } + function test2c788c364a746e89db851eb22ac35df472e8e3aa3f2be2620d60fb5a7b3dc099() + { + $this->assertTrue(true); + fn() => ($test + $test >= $test); + } + function test2ca0a2763c7947438bcdd36e89c26858af9231995b5f99eb9fc4c0705defaf8f() + { + $this->assertTrue(true); + fn() => ($test >= ($test .= $test)); + } + function test2e83828283f6cc892546807b0ed71935fb0d3afec5e7952a41452a91e6d272a2() + { + $this->assertTrue(true); + fn() => (($test += $test) >= $test); + } + function test30035a0571446617875e5a2da6419c7b747edb5c05c798fb11c54939b3f940cf() + { + $this->assertTrue(true); + fn() => (__FILE__ >= $test); + } + function test319d4296297f7bb8d630987bae1a0c25a4433ab69e2d6ca805b17e47e0158aa3() + { + $this->assertTrue(true); + fn() => ($test >= -$test); + } + function test331ce547edec0a61547377e87a37551b07d345c1e2294f9165edfe31d692fcc5() + { + $this->assertTrue(true); + fn() => ($test >= $test[$test]); + } + function test385e5f485d8f2d8cd5072fc63f77d0dcb8fe22750f16708fe7deb25eea9e381a() + { + $this->assertTrue(true); + fn() => ($test >= ($test %= $test)); + } + function test3e5da7aff76f056ca959a19f9e31ff31b8d387e445de66b3480a3a8fe79d5ea8() + { + $this->assertTrue(true); + fn() => ($test >= ($test =& $test)); + } + function test416ebcb75fada8f3fe1f7ea8ee7859b698d7f893d18e85d47f5e4119c6f4fa45() + { + $this->assertTrue(true); + fn() => ($test >= $test::$test()); + } + function test477c1605de9aa5bb9ce880c814894f2856f246498ccb3d690d58ddaeaeaa4a8b() + { + $this->assertTrue(true); + fn() => ((object) $test >= $test); + } + function test4e3a61c4253a23af6969f800bebc05f56e687d0cda61debf20265195f9f7ead4() + { + $this->assertTrue(true); + fn() => ('test' >= $test); + } + function test5047a991d11c9c82aaef037c8482ab30fa8f2dac4afbdf266a116f3cad1fcc30() + { + $this->assertTrue(true); + fn() => ((string) $test >= $test); + } + function test507821f8029330427414b7ce85d08a744a9a4b2b7ef5aada07c13b936bfbe1c5() + { + $this->assertTrue(true); + fn() => ($test >= eval($test)); + } + function test5753cd6fe0f5ccb06a00efe77b734f9d3706cd1336699f9ffa1e93cbe95bda3a() + { + $this->assertTrue(true); + fn() => (($test === $test) >= $test); + } + function test57d2b5f003a5eac5bebf0fad7c9e880da0faf533b4d3241e603d3d3866e0516f() + { + $this->assertTrue(true); + fn() => (($test or $test) >= $test); + } + function test59b6c4fb5a7a5e954c9e54268965f0e507fde629dc43e8bc6ee406ad1856ce83() + { + $this->assertTrue(true); + fn() => ($test - $test >= $test); + } + function test59e8fc2483e66a336cfd5925083566bc39a6511d8674a973c9ff62ebe0ca2f70() + { + $this->assertTrue(true); + fn() => (0.0 >= $test); + } + function test5ca1f990dfd5377185f5ce50c1ed0efba602e12cfe598b8d54a2c586bce89d20() + { + $this->assertTrue(true); + fn() => (($test **= $test) >= $test); + } + function test6753b2a1c487ff768800ed0612fd50084459d7fa032e419586f958768fbfa1c1() + { + $this->assertTrue(true); + fn() => ($test >= ($test -= $test)); + } + function test6f764956107b1be882b1b5a9ea9556bbfc9614d37f24fc93517f62a417f56e39() + { + $this->assertTrue(true); + fn() => ($test >> $test >= $test); + } + function test7001cfd2c4fe8a00075c5ff684202bcaedf88c5a355883e71ccce964afdc5576() + { + $this->assertTrue(true); + fn() => ($test >= $test?->{$test}()); + } + function test70a7e680b9d8c55a1c5ea9abf0dd955661329ef6f56fbff98d81b98b8f6979f2() + { + $this->assertTrue(true); + fn() => (($test >= $test) >= $test); + } + function test7320da53390325be56b81f7fadbf925dfdcf4e9fee6686d8ebabe0bffcbf9889() + { + $this->assertTrue(true); + fn() => ($test >= isset($test)); + } + function test785f45125cb58414871d54b5d54e383e9c6f9dc242f104bd741c23883ef32bb6() + { + $this->assertTrue(true); + fn() => ($test >= ($test ^= $test)); + } + function test79e3f80d7a3ba351d6ab4a5eba2d719142c020e327c9013079b90758eeb8b7a8() + { + $this->assertTrue(true); + fn() => ($test >= throw $test); + } + function test7a3b2b87260e3390f35edce1e9d343abfce14f24ea2883a73ec5820e1727060b() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ >= $test); + } + function test7cf889061a374d833ffb65b24364de2a1395f654c462f63fe8e9c81cd3e1c882() + { + $this->assertTrue(true); + fn() => (($test != $test) >= $test); + } + function test7e8f96cf136d8a2b7f0bd19305ef9653c0726b6eb6c1640aeabb4090f78e1054() + { + $this->assertTrue(true); + fn() => (($test ?? $test) >= $test); + } + function test7f44e563f78504eddfdd0b3afc7473deb0cd63c0761033a2faf2322280f3280d() + { + $this->assertTrue(true); + fn() => (($test <<= $test) >= $test); + } + function test7f5c7c692f654be5005c6cc967947e1b3e7a67c5db6a4107596705269a2b0344() + { + $this->assertTrue(true); + fn() => (($test || $test) >= $test); + } + function test7fd4babbc63e1f35b1a6cb0312a2bb4fc8b92865f33c23654c3962bfaee519e2() + { + $this->assertTrue(true); + fn() => ($test >= (yield from $test)); + } + function test8423e5a8818a159671211cc619e1ad0ca6355422cb866f0b700815dd623243ce() + { + $this->assertTrue(true); + fn() => ($test >= $test->{$test}()); + } + function test853e2c6bc8ed896faba6a7620b6daa1c8fc954b0ce45cba10a3db1c0b92e6e5a() + { + $this->assertTrue(true); + fn() => ((double) $test >= $test); + } + function test85a41fb9558dafd3d3f62f5b3fccf0140a24afde22807c54265eaeec2e813d5a() + { + $this->assertTrue(true); + fn() => (__METHOD__ >= $test); + } + function test86357c6015d93f826ae61940ee63c860948dbcf34c774f194d4153a0cabd6b28() + { + $this->assertTrue(true); + fn() => (__LINE__ >= $test); + } + function test878847b3cac60fe390cd956cd6da13d1ec5781953dd27942bf9c2d94abbc8ad2() + { + $this->assertTrue(true); + fn() => ($test >= clone $test); + } + function test889e0de8b89fcde47de0a370531df0b5936d09332557b49e7eef7b8f3f6dbbbb() + { + $this->assertTrue(true); + fn() => ($test >= $test++); + } + function test8a08e3992bd7848415469dfc3316012658bb84c934aec47818ec40a9efcdf153() + { + $this->assertTrue(true); + fn() => ($test >= ``); + } + function test8a9b8da0336078b2afc4806debaadf851d16d8377c2bda8366a9460db5db42dd() + { + $this->assertTrue(true); + fn() => ($test >= $test); + } + function test8b117825d88910679dc3e6a02b664fbc013109ae2dc8bd2a69e82766ee59f8c8() + { + $this->assertTrue(true); + fn() => ($test >= !$test); + } + function test8c13886acdaa8622c959549b80cf147ea73b14fb9f704a42fa55ea3c711fcbab() + { + $this->assertTrue(true); + fn() => (($test -= $test) >= $test); + } + function test8d44c8c31d35669adbf5f0cff949677fbb3e2b2c978bb97025119faa27a20035() + { + $this->assertTrue(true); + fn() => (($test <=> $test) >= $test); + } + function test8d4f25c5f777358af189b8e73bb99c92f5f52e50e9b54ba459e67fcc2823ce67() + { + $this->assertTrue(true); + fn() => ($test >= $test::${$test}); + } + function test926d2eccac39f6b62186e06ef5600b0c327bebbecc163b8b6d80e48a25eac8d3() + { + $this->assertTrue(true); + fn() => ($test >= ${$test}); + } + function test9723e154e08af05abdeafda199d0042813f6b2ab219bfbe2da2d38db6d485027() + { + $this->assertTrue(true); + fn() => ((bool) $test >= $test); + } + function test9743a69af6c3e100a34fd3f3380293b3c5acb701a9fcee3e1b6832b1ab339add() + { + $this->assertTrue(true); + fn() => (__TRAIT__ >= $test); + } + function test9cd4e0d5488d2396b2786caba7c8a8dddf95aa1b445dc99cb5919fd730fbc531() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ >= $test); + } + function test9e06c5d2d1cda8af28927c52641600a8b7a95e32f4d49540c56f726936481fb1() + { + $this->assertTrue(true); + fn() => ($test >= $test()); + } + function testa030cb81755ad7b3a6b2fce20fe015490a453810026d99e2958ad5d5611ced31() + { + $this->assertTrue(true); + fn() => ($test . $test >= $test); + } + function testa19e41ed06f1757458ab2ab4ec2247ab7c5efea080a1700da622d3a7f1ab8303() + { + $this->assertTrue(true); + fn() => (0 >= $test); + } + function testa25c94ad17756f3fd0dd86b87c79f6f08b88260d82ada2049fe44b2be7609c4a() + { + $this->assertTrue(true); + fn() => (($test & $test) >= $test); + } + function testa51f939150143c45abce33bbb491bd9451de678048e4efd80011117e18c4abbe() + { + $this->assertTrue(true); + fn() => ($test >= empty($test)); + } + function testa62d6e75d2b7491ec3e9a61cd672201728a1f09309555ffb66ac50ff57aa5060() + { + $this->assertTrue(true); + fn() => (($test == $test) >= $test); + } + function testa6f2fdadfd376f03b798c21fce752e8aeeaed2097cbb5af028cf3d84ef4c485b() + { + $this->assertTrue(true); + fn() => ($test >= ($test |= $test)); + } + function testa911be0d1295152f6436e5693aaced2a7ba37d54690f4b725cd93d30a2b8496b() + { + $this->assertTrue(true); + fn() => (__CLASS__ >= $test); + } + function testae23c8ab9d9fab2331d492018d1537f9f1da43e1983da7d11e8890817599b7d9() + { + $this->assertTrue(true); + fn() => ($test >= match ($test) { + }); + } + function testb2ccac2480cdf2d2d909fcbffebb3f2ddabc7159d3484da0a3aa2b0dc2bd2c0d() + { + $this->assertTrue(true); + fn() => ($test >= self); + } + function testbacd1c02975507bcd82ea328034a88eaac765eac6d927de20786470ee38147a1() + { + $this->assertTrue(true); + fn() => ($test >= ($test &= $test)); + } + function testbadccafac7d33aafeaa2b170f8eea4d6498c23cbc7019731eca0efca02168a26() + { + $this->assertTrue(true); + fn() => ($test >= ( $test)); + } + function testbb3baa2b031f0f8caa477061d92f9b1fad456de9ada2046727dc48cd149e098d() + { + $this->assertTrue(true); + fn() => ($test >= @$test); + } + function testbeaf5b0974fe8d7f5532e97f93a9847e8fad8d1d340d4fb9a0eedf695b4764c0() + { + $this->assertTrue(true); + fn() => ($test >= ($test = $test)); + } + function testbfdeceab0ff6b741985a7d0292edb6119810eb8ae803763ff3a63d365d5f7542() + { + $this->assertTrue(true); + fn() => ($test >= $test instanceof $test); + } + function testc0a28b6b16960042979a5f43138b32970e9ddc20a4a16262edcfa36d0c9f0a24() + { + $this->assertTrue(true); + fn() => ($test * $test >= $test); + } + function testc300aa5b10456a0570febe61e73243ec4f506490e74d89ad1d59f8ed5c589759() + { + $this->assertTrue(true); + fn() => (($test !== $test) >= $test); + } + function testc42703ca23f30890a632cc7a1f6203811303d5bf44e9cd47f6088eeb74eb7f6f() + { + $this->assertTrue(true); + fn() => ($test >= new $test()); + } + function testc6dff5295b200f7c65a5e5470bc42d1a6e18a8ebea64798f9b950e6e0df7263b() + { + $this->assertTrue(true); + fn() => ($test >= $test--); + } + function testc9930ec50ecf6554cb002c26343c04bff2bbfd0ae0ac33e5a1e3e5c693067e0d() + { + $this->assertTrue(true); + fn() => ($test >= function () { + }); + } + function testcb6a45639fc91f8bd9d3dfa6b6855bd4de86f4aafa26760dbe2e69bf7f6e40ea() + { + $this->assertTrue(true); + fn() => ($test >= --$test); + } + function testd15390169b300a0cd9534e8347aa2c89a5c584d1cf4c95fca91149ca26729e50() + { + $this->assertTrue(true); + fn() => (($test xor $test) >= $test); + } + function testd2baebad003496310ad4604faadd081c798b455dfd8bddde3b5ce7671c0c892f() + { + $this->assertTrue(true); + fn() => (($test > $test) >= $test); + } + function testd5f999a51a0f3593012c15d1bd2cf59f4e375be01909ef754b15deae3f08d344() + { + $this->assertTrue(true); + fn() => ($test ** $test >= $test); + } + function testd6aca0f8b4f40ca1483b3f42885ece6fc0c819591f95ed23c28c42941809a7f3() + { + $this->assertTrue(true); + fn() => ($test >= $test->{$test}); + } + function testd6df24fb4197ae3b198a6547830eb0165828d685e04804fc11436486d402bd08() + { + $this->assertTrue(true); + fn() => ($test % $test >= $test); + } + function testd7a508bea2b83fbe460fa2909935d608992ec2279772df31bb5d4cb38caea960() + { + $this->assertTrue(true); + fn() => ($test >= +$test); + } + function testd8290af180bd116976281b03d14fbc73198010049c103116a54dbf891c429f58() + { + $this->assertTrue(true); + fn() => ($test >= ~$test); + } + function testdd757e9c7a96dce6b3497ebfe5c43a47a445eb3c4fdc833fc2e42259d75b855f() + { + $this->assertTrue(true); + fn() => (($test < $test) >= $test); + } + function testde23828001a9f97e29cb2b4d3c77ba4274934d6686babf18e30ab24e9d92ace7() + { + $this->assertTrue(true); + fn() => ($test >= ++$test); + } + function testdf3b8b6447acff720129b31748ae3d286f8b5f14359fafb7b21e1295e1956374() + { + $this->assertTrue(true); + fn() => (($test and $test) >= $test); + } + function teste22b7ec703db8427e61c5b184d5de40356e563e16bec2ea347b1783df0afbb29() + { + $this->assertTrue(true); + fn() => ($test >= ($test ? $test : $test)); + } + function teste7b54c7c7018c9f88ac49a0d1efd93e14974773439ad8516f8e67efd1b3349e1() + { + $this->assertTrue(true); + fn() => ($test << $test >= $test); + } + function teste9fdad57869ed604002b894cba57640de535f1108be77c50e8317679474e369b() + { + $this->assertTrue(true); + fn() => (($test *= $test) >= $test); + } + function testf14385ce762fb955a3cb718965e203109ed6f83bb78751aa37f5e7f4133e90fd() + { + $this->assertTrue(true); + fn() => ((int) $test >= $test); + } + function testf24f4661bda2d1b7aad2a38a79f4d2c1b6bd0073141ec728d3e65a7e0f0038ce() + { + $this->assertTrue(true); + fn() => (($test <= $test) >= $test); + } + function testf5407101840ac72ff66b252d48fb66e3ef2c97f7ffe6849d8107d8ef5dacf33f() + { + $this->assertTrue(true); + fn() => ($test >= $test::$test); + } + function testf88e9f4fbe47200066b2493ce5a0c6691b9da70f7054a19b5ac688919d67908e() + { + $this->assertTrue(true); + fn() => (($test | $test) >= $test); + } + function testf9189dda7fb02a9857604b1084b35390fcdb5c50f228d192a764f00f672557eb() + { + $this->assertTrue(true); + fn() => ($test >= (print $test)); + } + function testfe520c85c528581d2dc013e4808818d7b74d640a773c86d339cb165f0498391b() + { + $this->assertTrue(true); + fn() => (($test >>= $test) >= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test.php b/testsGenerated/Target/Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test.php new file mode 100644 index 000000000..f793a299e --- /dev/null +++ b/testsGenerated/Target/Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expression9e5f10068f3093611c97e20892fb5234eaa8b54c3b094cab6e091f351cb83622Test extends TestCase +{ + function test0722744c05d79cb9301664762d85a8c88e8e03ac3571f2cd8a3655e816ddd16e() + { + $this->assertTrue(true); + fn() => ((object) $test()); + } + function test07bc2986d328361ff0040726307242e2fe26491f64261d16f2c04b5635db3d40() + { + $this->assertTrue(true); + fn() => ((object) eval($test)); + } + function test0ed2ae2ef9af6a4acc5ca6d050a98ba2d0e021163ca97c2196726ee94c267890() + { + $this->assertTrue(true); + fn() => ((object) (!$test)); + } + function test0feb848162336ac136b3f64bea2e174a60a9932dd141ac1757a1f905f7af08be() + { + $this->assertTrue(true); + fn() => ((int) "{$test}"); + } + function test10be607fe768b04611168ffcfb9ead8290da987c6c317fb3db2ad68b1cb8aa57() + { + $this->assertTrue(true); + fn() => ((int) __TRAIT__); + } + function test127d6af5f609e0710e975460189a0548c3ff1b4b2e22dba11dab41394e315b65() + { + $this->assertTrue(true); + fn() => ((object) ($test | $test)); + } + function test14667559ee9478fd93fa0e8ba343f3442197878926ec679e3f023487f92c9dea() + { + $this->assertTrue(true); + fn() => ((int) __DIR__); + } + function test15c8f57290bcd4f4c4968ace4d4e14cf00b33b2e1515bc234f49717e25442f12() + { + $this->assertTrue(true); + fn() => ((object) +$test); + } + function test1e6de97620f665a07c0ed89d0c936ec79a13ddc6067a9615c328b9e66f9c2a10() + { + $this->assertTrue(true); + fn() => ((int) ($test xor $test)); + } + function test22538654c70892c3bc307f6c69ec6da1806b532a30ef6f7f4b02b3a5506a0d11() + { + $this->assertTrue(true); + fn() => ((object) ($test && $test)); + } + function test22a410a7ad900823ab63a4ba94e7c4d78fca858534e8c562a104b23f8b5550d1() + { + $this->assertTrue(true); + fn() => ((int) ($test >= $test)); + } + function test2500255dd97b094a00da7d60196774e9052a7a86352ac3abe07bed5f64a44e20() + { + $this->assertTrue(true); + fn() => ((int) __LINE__); + } + function test274998c440e2f83bab645b56b40b81312983663cf7d5eeedb3bf1724e0946fa3() + { + $this->assertTrue(true); + fn() => ((int) ($test != $test)); + } + function test28e7698fdf8020475658010b26e79c101642fbcdc7c46cf43ddaa97397a2a28a() + { + $this->assertTrue(true); + fn() => ((object) $test?->{$test}()); + } + function test2be6aa51df144a4fa47eb2ffa065cf43b87262f0a029030e62077fbc1d4e43aa() + { + $this->assertTrue(true); + fn() => ((object) $test->{$test}); + } + function test2d8685dafadcfa32fd563c4fe2469bf621588e474b91e9b56f374ace083836a0() + { + $this->assertTrue(true); + fn() => ((int) ($test !== $test)); + } + function test303023e0a56100c52d78168d602e135ec8183436e36106407bc77d124b8713d6() + { + $this->assertTrue(true); + fn() => ((object) (print $test)); + } + function test30e79b629672189ea35d6599c9f35d737f9596ad0a792cc596502b217850f3e6() + { + $this->assertTrue(true); + fn() => ((object) ($test |= $test)); + } + function test350e38182d0e35dc6fb8cf71af6d469825481096755ac914b591a69a35646b69() + { + $this->assertTrue(true); + fn() => ((object) $test?->{$test}); + } + function test37cadc8f5c876de30c2010cd5f150a6e4aded3543c2069d133f731e00182f996() + { + $this->assertTrue(true); + fn() => ((int) ($test % $test)); + } + function test38e4b0549b5d13ea44c7af5676afcc1afe7b7811c3fead0f3182a0665c77ece7() + { + $this->assertTrue(true); + fn() => ((int) ($test and $test)); + } + function test3965653932466aa57ef25dbd9aacd14d58e5de68de8500747a1889d5469f33a0() + { + $this->assertTrue(true); + fn() => ((object) @$test); + } + function test3bb2a26d86b92c1f637a0a10daeef7102b95e1bed2f3febb31e5e7cf802ad6eb() + { + $this->assertTrue(true); + fn() => ((object) ~$test); + } + function test3be8c9f812cd062e60d6a18811e1a314d347a1c9c4cee8e86c9b4e62c4169597() + { + $this->assertTrue(true); + fn() => ((object) ($test .= $test)); + } + function test3c1d962c6100b6f4882dace56673f999f10126f81ee77fa1f6abf4ef21559830() + { + $this->assertTrue(true); + fn() => ((object) (yield $test => $test)); + } + function test408ca139166c1ac09245fc140fc1a05f2ecc3e56c524acff0a00f085f76bdd04() + { + $this->assertTrue(true); + fn() => ((object) match ($test) { + }); + } + function test4568b4aee7fca8702d09599110c127cb538cc3e04d583e751984dbc9c7a6d129() + { + $this->assertTrue(true); + fn() => ((object) ($test ^= $test)); + } + function test4db57262479f9842d047f4b6f109af796af89f5c861436347eb7dde9e2d68b65() + { + $this->assertTrue(true); + fn() => ((int) ($test == $test)); + } + function test5054423c0e1d0475a3b0a3adae931d7af10105d0d9d6cc3d0a13c8d54def44ee() + { + $this->assertTrue(true); + fn() => ((object) $test--); + } + function test58acd2af7f861af3e6595c51459c3b82a16f15e1568ed1e2837d14de7b0dd425() + { + $this->assertTrue(true); + fn() => ((object) ($test || $test)); + } + function test58d77b3b468a93ac03325528373a670f46ac43eb327a9a492e409aa849a201c2() + { + $this->assertTrue(true); + fn() => ((int) ($test <=> $test)); + } + function test5a0e2e3a2fcf1ba4fb19d95f1159c30ad12fd27f6a2500c779e91bcf713fc1aa() + { + $this->assertTrue(true); + fn() => ((object) ($test & $test)); + } + function test5ddbd88f62500e6e184cacffe26e4c4e086ac07f33d7904bc630d82feffb57d6() + { + $this->assertTrue(true); + fn() => ((int) 'test'); + } + function test5ece31122c964853967c359db14cc919d74b7deb7a8c0966ce599eaa49f7fb71() + { + $this->assertTrue(true); + fn() => ((int) ($test - $test)); + } + function test62beb25b0cb11da1577cda2b9b817aaeabe4383794b64dc6b99327a4286a6b6c() + { + $this->assertTrue(true); + fn() => ((object) $test); + } + function test63a10511aecb047a4608e01a7bb40f8ced556beb8d645b147a59b5d3d4d6cbca() + { + $this->assertTrue(true); + fn() => ((int) 0.0); + } + function test666e71dddbb083cd35aeb930d18eb549a8c21a0efc1da31103c4800fdae7acd2() + { + $this->assertTrue(true); + fn() => ((object) function () { + }); + } + function test6c76a11c530c4b00f05afba01ce569fbfc594ba4872d0ebac6f028952865730a() + { + $this->assertTrue(true); + fn() => ((object) clone $test); + } + function test6d4fa28c29ac4a695c563a1a6b741443a5bade5326e953407896c74b25ab44d3() + { + $this->assertTrue(true); + fn() => ((object) ( $test)); + } + function test6f9fb915612c2237b6385c1a3f5c2a04aa5887c48c1419ef015284ce40ec295e() + { + $this->assertTrue(true); + fn() => ((object) ($test ??= $test)); + } + function test71386b155e018a6ad0fb77b3b9040654077b60e3e7ea50633ddca183efd5c7a6() + { + $this->assertTrue(true); + fn() => ((int) 0); + } + function test739aa00e98a0bc380ad7e13236969f338e49505f4a6e336ac35ed23296384da3() + { + $this->assertTrue(true); + fn() => ((int) $test ** $test); + } + function test74f36e1c17c478d99fe12d934ea9cbeb3ee740d967c9ca8873a171a23fb9347d() + { + $this->assertTrue(true); + fn() => ((object) ($test **= $test)); + } + function test75b093249421405705a24dccd683e9d4e21228e59d9d5d79d817bc0bb7828ec1() + { + $this->assertTrue(true); + fn() => ((object) self); + } + function test783c2d2ac4089695d2e396c6becf62df7db585b385e1dd4b6e399544b69165bf() + { + $this->assertTrue(true); + fn() => ((object) ($test instanceof $test)); + } + function test809dda5a0e3665736fb68c79922b1d606f0b56933a572a40ea2a53b0a4ec96ae() + { + $this->assertTrue(true); + fn() => ((int) ($test === $test)); + } + function test82187a36a730777907a71e28d169ab9f1bd660e80b290c792ee1e4c5e4d19d9f() + { + $this->assertTrue(true); + fn() => ((int) __CLASS__); + } + function test8e3bf601b7adee155c5465af70b3dcdce0cbb092e7baa3db1f770bd4aef2a08e() + { + $this->assertTrue(true); + fn() => ((object) ($test += $test)); + } + function test8f2b2528b6db5bf6dcbe0ddbe0bb00b015f9e2f9f52bb7d9c43e766546741f78() + { + $this->assertTrue(true); + fn() => ((object) ($test ^ $test)); + } + function test8fb5ab94967993db5f5fef37f7271f4312d91a6dc5568335d8de8b150438d06e() + { + $this->assertTrue(true); + fn() => ((object) throw $test); + } + function test9169e7b1b2b5f2655c7247a47f185c6749e568e5f92362681b6fd3ea9e1ea5ca() + { + $this->assertTrue(true); + fn() => ((object) isset($test)); + } + function test9267d0bfcdd8ddbf9879ef57fd67aeb5bcdd9558f877d1b2a0a14855123acb44() + { + $this->assertTrue(true); + fn() => ((int) ($test / $test)); + } + function test97ab236cb088fd8455d4a39a405a620af5c70a9875df4cb3e3a5f258933b56e5() + { + $this->assertTrue(true); + fn() => ((object) empty($test)); + } + function test9920386b744510c67ba4c7598a3bc8cb656118ed1bba7ac35f22196606d1231a() + { + $this->assertTrue(true); + fn() => ((object) ($test <<= $test)); + } + function test995dcc3aa446407e3f97dc057e4ebedf508c76e48036ab8b5f46aa1abc927b44() + { + $this->assertTrue(true); + fn() => ((object) $test[$test]); + } + function test999ed377456732800483f4553866f5ef23fd650503ff74889d62d3699fcee2ce() + { + $this->assertTrue(true); + fn() => ((object) ($test %= $test)); + } + function test9c89c05173f859c760af252bf1a122e313813b0b6e2c8c6d5050732b4ea04970() + { + $this->assertTrue(true); + fn() => ((int) ($test or $test)); + } + function test9e92abf557492708a545fc36351e8900f8197a81aac01a2ca66a4e3b0d89d3a1() + { + $this->assertTrue(true); + fn() => ((object) ($test /= $test)); + } + function testa1518e1f45e48edab5b205b107bbdb7096d4707ca6cc6f28e0243bb8fd8dc192() + { + $this->assertTrue(true); + fn() => ((object) ($test &= $test)); + } + function testa25119b6b9a2c3f56d0287a39fecdd52828bafd917ab4c3ce04136ca4609b5bc() + { + $this->assertTrue(true); + fn() => ((object) ``); + } + function testa5b062e46021878f5a6a9b3645da3199af6ca7caac6e87ac3cc99127fb3d7c64() + { + $this->assertTrue(true); + fn() => ((object) ($test =& $test)); + } + function testa5e54cc6a8b7c990356964f3576a77c757b2bfc841d56871c1ea680561dce33e() + { + $this->assertTrue(true); + fn() => ((object) $test++); + } + function testa716ebc7cff353a535971302ca9fcc437ae5744a3c567e1c99af7373c194fa54() + { + $this->assertTrue(true); + fn() => ((int) ($test << $test)); + } + function testa76fb3e9cfa8f9808202577c9141395953a01b55a4700733e07c7a45ef5c7bd9() + { + $this->assertTrue(true); + fn() => ((object) ($test ? $test : $test)); + } + function testa7e43b2b605b84d1ca4f0151112f6997184d07dd3652c1b9a435a354906b2d02() + { + $this->assertTrue(true); + fn() => ((int) ($test < $test)); + } + function testa88f8612e2a5fec18b520df046bff959acd48a69e887c20daf402c4b3ce40f1f() + { + $this->assertTrue(true); + fn() => ((object) $test->{$test}()); + } + function testa8defeed52ac5f21de10c0fbbe7543166b15b7f425261626667b9b277d387e03() + { + $this->assertTrue(true); + fn() => ((object) ++$test); + } + function testa8f5a44790e102cdeab28f602f08c1ee4f5703b86a946c77d141176a5ccdcfe6() + { + $this->assertTrue(true); + fn() => ((int) __NAMESPACE__); + } + function testaacda819a60fb5c97b0f9835c2eaefc3e1e8c00bddf9e78ae281e5b94b84676e() + { + $this->assertTrue(true); + fn() => ((object) []); + } + function testab90e80c460566917d2a7f54466c3ed3279b7604babef91554b57f22ee19fb88() + { + $this->assertTrue(true); + fn() => ((int) ($test . $test)); + } + function testad6d99a30ec614b5ea00888748c8baba2cc33faa4e62df166184246ac9579396() + { + $this->assertTrue(true); + fn() => ((int) __FILE__); + } + function testb10c548bad7a9e203705c3aea3dacc6323827384466e2bfc05116b2800e08977() + { + $this->assertTrue(true); + fn() => ((int) (string) $test); + } + function testb492f1879d9bd86ef4a069bdf9104cc9984d8aab64f993a4f07eb77fcba5f594() + { + $this->assertTrue(true); + fn() => ((int) ($test > $test)); + } + function testb4b61d4f0850c5f7537877182d23f885a85f60e05484aad0a7e23006d2ffd948() + { + $this->assertTrue(true); + fn() => ((int) ($test >> $test)); + } + function testb506ca104dabe3ed1eb8b82782706911e49db8089cafa6269b1408c97ad2b9e1() + { + $this->assertTrue(true); + fn() => ((object) -$test); + } + function testba00dcee4eec8b9fa0e03c655a9259f8ef1b74d7e85806542657285236542422() + { + $this->assertTrue(true); + fn() => ((object) $test::$test); + } + function testbc6b7431271f3287d7dfb0be8734f5686713d16ba92580c758efd896764d0af4() + { + $this->assertTrue(true); + fn() => ((object) ($test >>= $test)); + } + function testbf488a1f4634898173fdb06868f22da0d6a84181e91f3e88a305a48ef5c9b346() + { + $this->assertTrue(true); + fn() => ((object) $test::${$test}); + } + function testc03f71fd86a02485c3a26536d89a8e8abf0ecb2985671293fbfcdcbd445604d8() + { + $this->assertTrue(true); + fn() => ((int) ($test + $test)); + } + function testc14e9f3429c512472394d5211fc22bcd355cff824a79623db42a9b7ae24d4e13() + { + $this->assertTrue(true); + fn() => ((object) ($test *= $test)); + } + function testccfb75c92b3ed509ee4f395865017fc5acc7deea4c83cbdc82aae85f43e05117() + { + $this->assertTrue(true); + fn() => ((int) ($test ?? $test)); + } + function testcd360dc630e9f8987e433461042a3c0d0a8ceccde21b74b968d399d9b593e126() + { + $this->assertTrue(true); + fn() => ((int) __FUNCTION__); + } + function testcd6d6f77e79f0e6ebac364862cd3093ee40e07c800629af6817dc47362cd196d() + { + $this->assertTrue(true); + fn() => ((int) (int) $test); + } + function testce9569091a363cb405eaf06772b9eadf74b7040c432fdea7009a4729e9ebe14d() + { + $this->assertTrue(true); + fn() => ((object) ${$test}); + } + function testceb36efa12dda8cec3829a2c5fa1ee0ea9715db4f8f3c0e768afb73fd061dcae() + { + $this->assertTrue(true); + fn() => ((int) __METHOD__); + } + function testd2507ad6570b78a7084a8b1d13e01f7c3d842bc5b489f50d1b1dc90da2e42422() + { + $this->assertTrue(true); + fn() => ((object) --$test); + } + function testd3f544f1338e48066ea6ff5ac745293f6ed4170f644b2fa7b8fd02e5f521fabe() + { + $this->assertTrue(true); + fn() => ((object) (yield from $test)); + } + function testda9e89ca37f1f11d29ca3aa049078a585a6574af955c338684f9ace95fcebbd6() + { + $this->assertTrue(true); + fn() => ((int) ($test && $test)); + } + function testdf3f9d52c6a627ad15c7869f42033213e9034c7c8a0ae899caab71138a857177() + { + $this->assertTrue(true); + fn() => ((int) ($test || $test)); + } + function testdfe8636e654adcb59082d6380730795386187d5777ccf588c64943b5ee665077() + { + $this->assertTrue(true); + fn() => ((int) ($test <= $test)); + } + function teste2453011200a8c3ed49bd837ee3a2e7515fab2cf9b0455bb3a8fbd0a0a7eebf5() + { + $this->assertTrue(true); + fn() => ((int) (object) $test); + } + function teste4aa14f5f06865dc4ca33febf2ce547422fca4e48d2a4e6fa4c189e8db71e57a() + { + $this->assertTrue(true); + fn() => ((object) ($test = $test)); + } + function teste918854ec1e18d1c94ef7886bd312913b73d4d906af473f68c657051f6125094() + { + $this->assertTrue(true); + fn() => ((object) ($test -= $test)); + } + function testebf5038d5e1114db066fae066d7a290ead7b5c318bb72df97ae356802a87ad92() + { + $this->assertTrue(true); + fn() => ((object) ($test ?? $test)); + } + function testedfa7e0d371e382242245a493ced43025d2eb1eb6082b76ed87f3df927e6eb5c() + { + $this->assertTrue(true); + fn() => ((object) $test::$test()); + } + function testf5db6443ba9886d1f30533bc311e75c2c60533890fa72b965019506b839e020d() + { + $this->assertTrue(true); + fn() => ((int) (double) $test); + } + function testf8f76e7c4d8311ff7b716415260a81ff633fdcd3ac80100fc07a1807f5c3f075() + { + $this->assertTrue(true); + fn() => ((int) ($test * $test)); + } + function testf9c10ef323c0b6dda5bc36e9bfb2367af6c6335934b4d2daf2b717bc80405cc2() + { + $this->assertTrue(true); + fn() => ((int) (array) $test); + } + function testfadffd9f4d73eeef99f764c9a78d07ae794b1160b6c32d70f1eeb16b367418ba() + { + $this->assertTrue(true); + fn() => ((int) (bool) $test); + } + function testfb4857625cc95d43b1592bc224099955ba37463fb6e977c8078a4ab58a86b721() + { + $this->assertTrue(true); + fn() => ((object) new $test()); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test.php b/testsGenerated/Target/Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test.php new file mode 100644 index 000000000..65f9f7045 --- /dev/null +++ b/testsGenerated/Target/Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test.php @@ -0,0 +1,509 @@ + + * @license MIT + */ +class Expression9f9b0502914bccf0c1aff92f669465ec8b73a544550a6f2c9f252f42a247b968Test extends TestCase +{ + function test0bb8c6fca086b40c353d5c0cd015e8356eeb39731615b2fc9973d5ffe4b8597d() + { + $this->assertTrue(true); + fn() => (!$test *= $test); + } + function test0c2bb756f237ac81c10c3fc243ea1c8d0f438a670dcda350686fa79ff090bb9d() + { + $this->assertTrue(true); + fn() => ($test *= $test++); + } + function test0c9368c24e06bcd7508d5ed915daf170ffe1d1f436d880f27b5247f93810efcc() + { + $this->assertTrue(true); + fn() => ($test *= $test |= $test); + } + function test0d131714739524585a215e4b5f23595b8793c081c6757b100afee3cdce3a57df() + { + $this->assertTrue(true); + fn() => ($test *= self); + } + function test0e17b4987b531422387128759e59d79400d38c24b5a7a1bd361199619014479f() + { + $this->assertTrue(true); + fn() => ($test %= __NAMESPACE__); + } + function test0fa4fb0c3f3749e3c6d8fce6bfbf530c989d5d85f81f8466a24aa6b0e67b04b3() + { + $this->assertTrue(true); + fn() => ($test *= $test ? $test : $test); + } + function test124b8821accdbd4e807daab60c9b4a99ee72d858a900b8627c2506839542074c() + { + $this->assertTrue(true); + fn() => ($test . $test *= $test); + } + function test13dd79138bf2ffaa4da764f4b26bdb2cb09cced5f9d8d654b264d92350baa74a() + { + $this->assertTrue(true); + fn() => ((string) $test *= $test); + } + function test152ca5f27245119aa5dce783e194aba4c36e2a2e3eb771bfe05dd52b3f0339e5() + { + $this->assertTrue(true); + fn() => ($test *= $test?->{$test}()); + } + function test1a746834a90af465bc1a20f6ba33129174f38ee2b669041ebf58cb493b0915fa() + { + $this->assertTrue(true); + fn() => ($test - $test *= $test); + } + function test1a93c167fa2572e6e58c031499cb7f9172f7631df53c2c09c494c6fd55ffd250() + { + $this->assertTrue(true); + fn() => ($test *= (print $test)); + } + function test1b9636d2f078733f37509bf27a38ca0d088cdbc11d75f79a63bc80821b0ba57d() + { + $this->assertTrue(true); + fn() => ($test *= function () { + }); + } + function test1bae193f3c8ba7ebbac9e3faf2ce4d5380eabe0aaed82e3eafdb476c2a3affa2() + { + $this->assertTrue(true); + fn() => ($test *= empty($test)); + } + function test1c9c4a34579b20f1b8a5c96d93904902c4b8355e89a65fceb165440481e1f8e4() + { + $this->assertTrue(true); + fn() => ($test *= ${$test}); + } + function test1defd3be90b632cb5b8f070ec8560033d39380525bcce7d72206b5e97b7d181f() + { + $this->assertTrue(true); + fn() => ($test !== $test *= $test); + } + function test2a520168b73be6f599ae4a3ad7b821337c98a9b0e03e39d9c0244625b1ef6d82() + { + $this->assertTrue(true); + fn() => ($test *= $test &= $test); + } + function test2ab449057389b55890625b4c83ea4b15aacbc15601f6754878ec4167b3005ead() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test *= $test); + } + function test2e57d8a8fd0077d0815dfbf3c87e48f9ebff5d6ce2a9c42b0e7be368c79cd947() + { + $this->assertTrue(true); + fn() => ($test *= clone $test); + } + function test2e74a0bf5e8cd5467deab4c0cc5c844b874b313e7d21198409a1f5c02888cd84() + { + $this->assertTrue(true); + fn() => ($test *= match ($test) { + }); + } + function test326c4c70d41cedffe5a929f7cc0d300d5db3aa9be4ef03b6a1647ced246fdd30() + { + $this->assertTrue(true); + fn() => ($test ** $test *= $test); + } + function test39aab11b9913ff3241dd2d6c1d42000dc5de5ea69dfc7463adf999c7c213922f() + { + $this->assertTrue(true); + fn() => ($test %= __TRAIT__); + } + function test3d46685fc3b0772af9d3d45201c96bfdb5a3bacdb48ecdd012aebda70b09805d() + { + $this->assertTrue(true); + fn() => ($test *= ~$test); + } + function test431475730fc9a9fead09486a2ab606d6e3884ec9200abb2cfd4f40f7298b8fe7() + { + $this->assertTrue(true); + fn() => ($test << $test *= $test); + } + function test497dde1b01aef028621a490b44cfc9a67d9c43c760d040bae3551c8bc516ba31() + { + $this->assertTrue(true); + fn() => ($test *= $test = $test); + } + function test4e6333ac7caf771e0f10211ea38cbd6df39a18e33acf12d13134d99ed8c7cfcc() + { + $this->assertTrue(true); + fn() => ($test *= $test?->{$test}); + } + function test51b334f4e10b2bf3895782b7a8ebe0315fd66e629646b116836ff64e65e85aae() + { + $this->assertTrue(true); + fn() => ($test >> $test *= $test); + } + function test52d296295d6169d93129379318c790370d304c2cf81c7bc6180aebddb5f14967() + { + $this->assertTrue(true); + fn() => ($test / $test *= $test); + } + function test52da7c9043973860811012acabbdfb645406dc360efef2d39115dd96b4e80b2a() + { + $this->assertTrue(true); + fn() => ($test *= !$test); + } + function test548a2b2aa579d84f7edec4f9a146428cfebf9892833aca49bbab22db667c8134() + { + $this->assertTrue(true); + fn() => ((int) $test *= $test); + } + function test56016462389ffb97c143f7a78a705eb2b760be545b5969233ce8ee5810e27f30() + { + $this->assertTrue(true); + fn() => ($test *= --$test); + } + function test5784ee85f379dcf626e85055d509fcfffe2ba7e184c91303f2f0fbc54cc72a0f() + { + $this->assertTrue(true); + fn() => ($test | $test *= $test); + } + function test5d0d98525f63996630b5c7f616bb620cf2e4c9533d57188e75b44e7cccce06b5() + { + $this->assertTrue(true); + fn() => ($test[$test] *= $test); + } + function test5e92643a0a10d5a7b66c06e7203b27b0f03f51a0e6e0672bc76c9b8824449322() + { + $this->assertTrue(true); + fn() => ($test + $test *= $test); + } + function test608a04038295d27c30b495bfb7a55001674eaa9a7e67ee0a691f9aa26d6b80ae() + { + $this->assertTrue(true); + fn() => ($test == $test *= $test); + } + function test60cb76e1cfb2736049710f70d22f86f91c8005e198ade163f42d1ba67856b777() + { + $this->assertTrue(true); + fn() => (clone $test *= $test); + } + function test625fa2230a8da1f25e7a28caf175da7c44276ac48c9a5017645408608f75506f() + { + $this->assertTrue(true); + fn() => ((double) $test *= $test); + } + function test691991268bc144255bd50abfdd5dab53997ae836c832cc5f943154aacc851bec() + { + $this->assertTrue(true); + fn() => ($test <=> $test *= $test); + } + function test6959638d7a822d1ebe4930b1ab6b076623fa6514f6214ed2814f9163857b5e1b() + { + $this->assertTrue(true); + fn() => ((array) $test *= $test); + } + function test69d0bcd885a48e7429907020e1b4ba3e969f949d7f2ce1312caa82bbd4fd236a() + { + $this->assertTrue(true); + fn() => ($test <= $test *= $test); + } + function test6c842508a7333fb4e7fef27ed2c82372eefd6285087301c10f4d89f2b801f99a() + { + $this->assertTrue(true); + fn() => ($test *= ``); + } + function test725f8701eb2e4f11a7f9f92362a87f0c7b86faf872f3802539eb203f41aa8252() + { + $this->assertTrue(true); + fn() => ($test *= $test::${$test}); + } + function test72b4da875d8be3417197ac1d2a939569370681a6a5ccd9413070e491532330a1() + { + $this->assertTrue(true); + fn() => ($test >= $test *= $test); + } + function test74697b0cde556f3e69f386a4c654066cdbbde6c70543a4e0dce643693c1657ff() + { + $this->assertTrue(true); + fn() => ($test::${$test} *= $test); + } + function test7580b3915217532d1450debfb629e5a39aa7cbb13c15a30c3fffe8c418c35133() + { + $this->assertTrue(true); + fn() => ((object) $test *= $test); + } + function test78bfbfec3e647fb94f0a5b4e7763488d205a1ef586846d59dc1231af4046a4e5() + { + $this->assertTrue(true); + fn() => ($test %= __FUNCTION__); + } + function test7dab28b3cb545491b53fe088d0c646c5d195f2fedc0b22919f41850b030b6f1b() + { + $this->assertTrue(true); + fn() => ($test *= $test--); + } + function test822374a4a8a5196a8ee67e42396f84855dc47636972690a23c0c5421ffa0b841() + { + $this->assertTrue(true); + fn() => ($test === $test *= $test); + } + function test83a12ddaee8b1d2ae966620f47525e6cccb4c934a6f1d9a4ffe0fd14b535bfd1() + { + $this->assertTrue(true); + fn() => ($test *= $test instanceof $test); + } + function test849414f47a6d76fe8e2e2a75bfb526dcb0f4abae024a0026adc459051e6c001b() + { + $this->assertTrue(true); + fn() => ($test::$test *= $test); + } + function test84c10684244ce2424b95b7d2d5c75240658181ad6cfa70c8663a61b81318a753() + { + $this->assertTrue(true); + fn() => ($test *= $test /= $test); + } + function test852a9c21e7817bf2cda0a864c4e8b362a1e2bf8e5899eefdaaa28892f91492be() + { + $this->assertTrue(true); + fn() => ($test *= -$test); + } + function test85ead9d98bac392985364c0475d0414aa784fcb0a62fecbbdb1f505c377f416d() + { + $this->assertTrue(true); + fn() => ($test *= ++$test); + } + function test8a30c99be69c2cbe2fc0f72006b4eb0fedc59993d7e89fb2b74f560037a63826() + { + $this->assertTrue(true); + fn() => ($test %= 0); + } + function test8f1c491e7d08aff7f2d0439519e6a6e3b6e162d3e141b71e90bec0398a95613c() + { + $this->assertTrue(true); + fn() => ($test *= $test()); + } + function test969439b27ebaebea4424deb873766f6a7e2560af9acee465d1eeefd937c0b667() + { + $this->assertTrue(true); + fn() => ($test %= __CLASS__); + } + function test98b1bc26ea0782b75fc5fd7ea320f1ffecbc64c7f7b0f68ee1a49ede4bd60610() + { + $this->assertTrue(true); + fn() => ($test *= $test ^= $test); + } + function test9b9c34fcfe8ec50c76198829da8ee272c666679f9cd7460e77e7dc0e10ddbed5() + { + $this->assertTrue(true); + fn() => ($test *= (yield from $test)); + } + function testa216cde778bff072ca236ad928de5a7193d51d66548256889671eccfa7303e85() + { + $this->assertTrue(true); + fn() => ($test *= (yield $test => $test)); + } + function testa460c9dce065620013c2461c84374e612ea1b3c419660c1a95e13495dc27252b() + { + $this->assertTrue(true); + fn() => ($test %= __FILE__); + } + function testa9074a059f6cb72416171c53f17f44e1358a68c32f8b58faa77ef51271dab10a() + { + $this->assertTrue(true); + fn() => ($test *= $test =& $test); + } + function testac3c368178fa2c68c35940980998ecd87a83c6f46b81bb93a09308180e8e421e() + { + $this->assertTrue(true); + fn() => ($test ^ $test *= $test); + } + function testb6739e41e7b1f49e1ba00a671d928a41262d8e9be3de8171ba0c0773c711d535() + { + $this->assertTrue(true); + fn() => ($test %= 'test'); + } + function testb80e98c302cf79b830f18680774249768d152e73e35f235790011010efe097df() + { + $this->assertTrue(true); + fn() => ($test *= $test[$test]); + } + function testb8f2d3a2a20e8de3b2b77128371543464c0711a3f4cf698b03e7dc7810551b36() + { + $this->assertTrue(true); + fn() => ($test *= throw $test); + } + function testb91942c8a28ee68d3c7739b945bd9939e0eab0335bf6d2b8fc59510e679d8aef() + { + $this->assertTrue(true); + fn() => ($test & $test *= $test); + } + function testb9615965a88ad0aac2106582f31f1f98148012ef36cadeaf3881962d7e1d94f7() + { + $this->assertTrue(true); + fn() => ($test %= __METHOD__); + } + function testbae29d9b18c963fecc8ffb8215d5f04e5881a4367fd7a3d1176931c264c9b73a() + { + $this->assertTrue(true); + fn() => ($test %= __DIR__); + } + function testc2521a236fd99bef51d402ded0ce950b23875d3071581d413b48ce4b3d76d2ff() + { + $this->assertTrue(true); + fn() => ($test *= $test::$test); + } + function testc2786f237d34c2bd8213e89eeb8803a8841055aca4d5aa62a337d7bc97b99d25() + { + $this->assertTrue(true); + fn() => ($test *= $test->{$test}); + } + function testc34fcf8edb78f876767537d7fd2631deb5b15f33831e77c37063ca9c3ab6cba5() + { + $this->assertTrue(true); + fn() => (@$test *= $test); + } + function testc3fb7dd265079d4f1ecea9c6c2c1f0b2b644f8ece7f294287e05f27e9eb3e881() + { + $this->assertTrue(true); + fn() => (+$test *= $test); + } + function testc487aa3aaf34e6631a86fa8a0dc99753e78ee3941a3abee2718c161d47b6f6f9() + { + $this->assertTrue(true); + fn() => (${$test} *= $test); + } + function testc55b51bedffd0e9cccd6907b1ecaa2568d971a5efd14fa05fd700bf3eecbfefb() + { + $this->assertTrue(true); + fn() => ($test %= __LINE__); + } + function testc57ae7edfdcbb755adcabe01c4b58c98ff60c5c2a615b47327c71a0a501e851f() + { + $this->assertTrue(true); + fn() => ($test ?? $test *= $test); + } + function testcc66bcaceed13522bd4b208dc540f45cbd19df8b8ee680787b5ed474ece619fb() + { + $this->assertTrue(true); + fn() => (-$test *= $test); + } + function testccd1e9122322aa485501dd7852638a88308928495154b4c283f1adcf856034f7() + { + $this->assertTrue(true); + fn() => ($test *= $test->{$test}()); + } + function testcd8be3c71693fed198acc092629ca3cde0f5dea4c32dbfa983edfde4a704fb87() + { + $this->assertTrue(true); + fn() => ($test *= +$test); + } + function testceaef979976e7a5e8c0a80a220c54cd48ec7cb5146f1beef450e8cd5301794ed() + { + $this->assertTrue(true); + fn() => ($test *= @$test); + } + function testceed727672a26c918aeecd30ec37c311d0e6aa39726816759afcc1c477675b9e() + { + $this->assertTrue(true); + fn() => ($test *= eval($test)); + } + function testd3798728d5869d0309ae7688f594efd33cdbf8b4ac60f6828826810469be12f5() + { + $this->assertTrue(true); + fn() => ($test *= $test::$test()); + } + function testd599bee780ac574f4be444316d4caeef95762a1287075cc10226efd6e457dead() + { + $this->assertTrue(true); + fn() => ($test && $test *= $test); + } + function testd6e6c3c0c68155a0cfc73644f57e8408fb26daab28d47d1ef79fd97bb81247c1() + { + $this->assertTrue(true); + fn() => ($test->{$test} *= $test); + } + function testd6f8a362242d5db982f9a0282f0f6eb3d4a58b984586b3ce611da92ed80cd20a() + { + $this->assertTrue(true); + fn() => ($test *= new $test()); + } + function testd8a0ee18be65b628dfc64711e9bb2a788b414829ce23272e0be5fd344746c1c4() + { + $this->assertTrue(true); + fn() => ((bool) $test *= $test); + } + function testda90d1c7d052806cede70aa3e962bd3cdeecf69e85cf867a5017640b114a1a8f() + { + $this->assertTrue(true); + fn() => (throw $test *= $test); + } + function testdc588be7333a9ec87dd2702d9c29a692301b27dc726025d143596410062ef63c() + { + $this->assertTrue(true); + fn() => ($test *= isset($test)); + } + function testde06453775aa3f6c5ea23a69e11da6a3ced869158318adf64f55af1392476a99() + { + $this->assertTrue(true); + fn() => ($test < $test *= $test); + } + function testdeb33f7cd7cf2451669b8f3257143644254e8a5efff98565b505df54fe36aad0() + { + $this->assertTrue(true); + fn() => ($test *= $test .= $test); + } + function teste399335a222a18b290dd56d63531ed493b58d8a88479e710d31172dce78b10a9() + { + $this->assertTrue(true); + fn() => ($test > $test *= $test); + } + function teste4570675fa32b6c2d148516139997aca5b92b723c0d6cebdc15f4201b298097c() + { + $this->assertTrue(true); + fn() => ($test || $test *= $test); + } + function testeba16de414f3bec835f7064667865e29a3f7e89740ba4172613680cdb55cb9e7() + { + $this->assertTrue(true); + fn() => ($test != $test *= $test); + } + function testee18d10bf06af6f603ef9e43efd528fbacacec19cf8d47f885a43f1236a92b92() + { + $this->assertTrue(true); + fn() => (~$test *= $test); + } + function testf0331fd2e1424c70d6428f489db45fe75539251defbb39774de6a49c571a3fd9() + { + $this->assertTrue(true); + fn() => ($test *= []); + } + function testf112f13b6216e596db6b92a0ca96ebfac49ad7a8ebc020e1084dca7c38fa90ba() + { + $this->assertTrue(true); + fn() => ($test *= $test); + } + function testf6a11eaa9ce2f9e5458425fc99b00ce62b80125eea8ffa7d29754e9786434b8d() + { + $this->assertTrue(true); + fn() => ($test * $test *= $test); + } + function testf84b49fd46b7f0e923d670d997f929ff4ca253f1b7818b6125426393c5a8346f() + { + $this->assertTrue(true); + fn() => ($test %= "{$test}"); + } + function testf8be698e92bb55cbee571142cdf84110a7a595a91a3f42685c80dd4716b2faed() + { + $this->assertTrue(true); + fn() => ($test *= ( $test)); + } + function testfbc9874d9bae1dbf4260ab1ff10b2007f78be81b74f8c132e819885e57a0fe78() + { + $this->assertTrue(true); + fn() => ($test % $test *= $test); + } + function testfe4ceed21b220057724d72f6113a49c03bb569d80bd4ffaddf4416765094f796() + { + $this->assertTrue(true); + fn() => ($test *= $test ??= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest.php b/testsGenerated/Target/Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest.php new file mode 100644 index 000000000..7dde381e4 --- /dev/null +++ b/testsGenerated/Target/Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiona31bb697d330612ee24af148bafee23b013132b7ef8915a91981e7be18f81f5aTest extends TestCase +{ + function test0273bf6f883f25807f2ac27b5e1a9b4b03f97ef0bbf875a475f684312fab4fa3() + { + $this->assertTrue(true); + fn() => ($test xor $test::$test); + } + function test11109e64cb86dfb077b9436198ff9c666e37eb403c4b9b5fe03f1cebc20deb9b() + { + $this->assertTrue(true); + fn() => ($test xor $test .= $test); + } + function test1151e928430fe44ae134cecf23c0a41ad836f74dccc2d381723e872870bc3fc7() + { + $this->assertTrue(true); + fn() => ($test xor $test **= $test); + } + function test153569948435dee7d08a5ffad5f02d9102e73e171ea632d7d088fc02b0c94df6() + { + $this->assertTrue(true); + fn() => ($test !== $test xor $test); + } + function test15b83e46a76e48daff8ba0f9ff5dca6ce93b125c8c57fbd8435e793c72f065e2() + { + $this->assertTrue(true); + fn() => ($test <= $test xor $test); + } + function test1805d50ec27e8daa496735b03838daac3f71684dabe1950fcd1f5eaba70e2f1a() + { + $this->assertTrue(true); + fn() => ($test xor (yield $test => $test)); + } + function test207fe1d7a9d5516a1923c37590fefaea51f85fe13ad9adb8e77d4df5f250c4c2() + { + $this->assertTrue(true); + fn() => ($test xor ++$test); + } + function test22e84839547f9b7b04d66a37ddf8d2ac4137d7526f57a1e721f3100f70ccf110() + { + $this->assertTrue(true); + fn() => ($test xor $test and $test); + } + function test258a9e7217d7464b64dcf6ed68bf191dc60a816d6492117f214e3adfe38a5e02() + { + $this->assertTrue(true); + fn() => ($test xor $test ?? $test); + } + function test29249e7b2760826125f55ad5794fca3f69939a7ec82a42d28978d9cc839eb3ad() + { + $this->assertTrue(true); + fn() => ($test xor $test &= $test); + } + function test2996d97b8d74f877c7a15673e5bf96935daa83dafe6e15828f5cc1fc5d2893de() + { + $this->assertTrue(true); + fn() => (__FILE__ xor $test); + } + function test2a20665c871deb68ec4909474f088b69a349c1725d11ae63fc42e2cba9497639() + { + $this->assertTrue(true); + fn() => ($test xor $test / $test); + } + function test2dc7bee19d54950ac2d4394c6751219914e582e4a7798ebd2ef210e5774c190f() + { + $this->assertTrue(true); + fn() => ($test xor function () { + }); + } + function test2f3483e6a3bf8bb5453a133e05a4d0f541620a41ac54998e8776ee1c79db3fd0() + { + $this->assertTrue(true); + fn() => (__DIR__ xor $test); + } + function test304a30fb1d50ce17bb0ec5722a18216fe3b6fe754186145f09e7f2f5ca042d82() + { + $this->assertTrue(true); + fn() => ($test xor $test::$test()); + } + function test312ae8d9712dc201c761624f7553ae2d1fe72642c744d828b4d194ab6ad881f6() + { + $this->assertTrue(true); + fn() => ($test xor self); + } + function test3281c26edc715a1bb3e13093ec73f0d5c430d4d2cc4748c41b71d7b749359375() + { + $this->assertTrue(true); + fn() => ($test + $test xor $test); + } + function test3713d68b08c42ac81ee0befe86cd941ad7ebd86f683664f552f9112d4438affd() + { + $this->assertTrue(true); + fn() => ($test xor $test[$test]); + } + function test3882754198ede8611b4fd552290166952b6887835af52e7ccbb7aebde7fe1b1e() + { + $this->assertTrue(true); + fn() => ($test xor --$test); + } + function test3d7266926b79efb72bd451e80fab746abbcd7df41a242cc7e9e8d00c454e3051() + { + $this->assertTrue(true); + fn() => ($test xor $test - $test); + } + function test420612029df74ebade5aa6ac4d239b6d8daaff0cda851a95c11d497c9b21576c() + { + $this->assertTrue(true); + fn() => ((array) $test xor $test); + } + function test430df5251389a9950b02eb1bc5180d063bc6171cede5afd36fe6ffd8b3136ba3() + { + $this->assertTrue(true); + fn() => ($test xor $test--); + } + function test4824efb81fcd9a46aedcce8ca0aa42e8fdf1cad937e9603ab2fa44f77bcc8389() + { + $this->assertTrue(true); + fn() => ($test xor $test /= $test); + } + function test49a81d302344ced64336b0b388ecb51d423c517d8197f386eb2ac7ecb00273af() + { + $this->assertTrue(true); + fn() => ($test != $test xor $test); + } + function test49a90c35486fcf935617397f61549cf43513e5875b615951a3bd47970011c88d() + { + $this->assertTrue(true); + fn() => ($test xor $test | $test); + } + function test50726acdef16e8d4179fe6e1fdb2ddf2b28277edc727263dd9f6c4923a907551() + { + $this->assertTrue(true); + fn() => ($test xor $test . $test); + } + function test54982419a00a8f26770096dd3ff8431d4c71d3b08369b7f041fc28d9d7913ea4() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ xor $test); + } + function test58ed1538b4bba281533f48fa4f8076117b0520ee53d5e78cd9e796181a832133() + { + $this->assertTrue(true); + fn() => ((string) $test xor $test); + } + function test599de51bb3ee2221b890f140ec6a514aa3370ddecee6fb53cd7e7d31b46bd678() + { + $this->assertTrue(true); + fn() => ($test xor yield from $test); + } + function test5f22906161093cc2e44e77b10301a9fdde3be013544859406d9d102a9330d808() + { + $this->assertTrue(true); + fn() => ($test << $test xor $test); + } + function test65a011c9d23162e95a8b387b66c6abf1d59e28d1ab6f82a2a8f6f0d4222a6f59() + { + $this->assertTrue(true); + fn() => ($test xor $test ^= $test); + } + function test76e11674df69585e22378c0dfa8ce0ac36b9cea1fbecbe0b5f07bc5218628402() + { + $this->assertTrue(true); + fn() => ((int) $test xor $test); + } + function test7bcdcf23288f7d6b0ce018ca89bb9b673713907d4e9dca0fc71385ce69777055() + { + $this->assertTrue(true); + fn() => ($test xor $test ^ $test); + } + function test7e30191a0d045b73310a4fb60d83b921405559af6fe89f6ff7339a5ccb15b53c() + { + $this->assertTrue(true); + fn() => ($test xor $test ??= $test); + } + function test7f9ec4d1f6ba0ff4bd2671b88f474bdaaa7e037728a47a70ad8723dcbb625647() + { + $this->assertTrue(true); + fn() => (0.0 xor $test); + } + function test82d8c3b278ab6708ff48dc210e5b11327426766fd366e53cbdaec258321b2993() + { + $this->assertTrue(true); + fn() => ($test xor $test <<= $test); + } + function test83aada69a113acc2df4a4612290b0a955689bbba00a9934ae21d324da44530a2() + { + $this->assertTrue(true); + fn() => ($test xor $test -= $test); + } + function test83cd4d00074f6a3740550e6913ce01975bde93ebac461991f9ea3c87af1bc33b() + { + $this->assertTrue(true); + fn() => ($test xor $test++); + } + function test8641d325f348d99ea04904f351052a84cdc4d87f29323251db7acccbe64ee673() + { + $this->assertTrue(true); + fn() => ($test xor $test >= $test); + } + function test86ae18293b647d7c77b5ba4e34694cf260045474325888f5a9a6a963ecf3fbed() + { + $this->assertTrue(true); + fn() => (__TRAIT__ xor $test); + } + function test884998f0262718638f09e1a1d2c8a92b23af34cbb24315e096d4e3ebab4d3db9() + { + $this->assertTrue(true); + fn() => ($test xor match ($test) { + }); + } + function test891750744d2f13a6261821452db38c69027fa7e8a7e2cbbc306bc465dfdab36a() + { + $this->assertTrue(true); + fn() => ($test % $test xor $test); + } + function test8d4f6417ba8ceb000d5dc52a0a45df9fed3fbe8fbc637a3a26d4ec680702f6e2() + { + $this->assertTrue(true); + fn() => ($test xor $test ? $test : $test); + } + function test8f54f21b282b0a472ca47c8e946522e2113110c2c6e46578f208c140140e0eec() + { + $this->assertTrue(true); + fn() => ($test >> $test xor $test); + } + function test90f3cb9e9ee5a6c8485e68b43794e4036268ce5e4bccfe1a20ab768d6cd32734() + { + $this->assertTrue(true); + fn() => ((double) $test xor $test); + } + function test9334c465f10ef6dbc64907bb423ce66b89d8df5766778a9b59ae7fc06bcd86d0() + { + $this->assertTrue(true); + fn() => ($test xor $test % $test); + } + function test94283c2f3c93dc692e9e31465b1cf9c6ffe0fd6a224fbab0d4ba0d2aa17a4df6() + { + $this->assertTrue(true); + fn() => ($test <=> $test xor $test); + } + function test976218ef496552a89b45572e988441207982d1f47498caec531ba7a5ba3edd7c() + { + $this->assertTrue(true); + fn() => ($test xor $test *= $test); + } + function test98737e5742ace38b8496b8d32cbd0d1edb594ab08ea4c4809ac3555107237f71() + { + $this->assertTrue(true); + fn() => ((bool) $test xor $test); + } + function test9936a60468c0cbddfd98edc8a7cbb6a0441d2430509167e701395d52a31b6cb2() + { + $this->assertTrue(true); + fn() => ($test xor $test %= $test); + } + function test99ca613ead698a0ee64b936faf50a02845f2349f9bec2e22cb7cbef1bb2a155d() + { + $this->assertTrue(true); + fn() => ($test xor $test instanceof $test); + } + function test9b854bd48ff48aca6de0d6c00a7f6b5453897a7fdd467bae71221016bee31b88() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ xor $test); + } + function test9c09e4acf24b868b5d9e2ec224a552c534e956ee7d0a9fcf020b702eb844b3ca() + { + $this->assertTrue(true); + fn() => ($test xor clone $test); + } + function testa209c187842956ac537b98018d4f65665c85056361a2c9aa20a77cd52b2f50d2() + { + $this->assertTrue(true); + fn() => ($test xor isset($test)); + } + function testa2bfe3d00191ca7b28612a08708309f484b33dc85af83b41219c147979b42861() + { + $this->assertTrue(true); + fn() => ($test xor print $test); + } + function testa4180203f6c6b10c54c1f5c3e378764e641cca675c289d568074981b7dd0ec1d() + { + $this->assertTrue(true); + fn() => ($test xor $test >>= $test); + } + function testa819fd7a316e8b603cac3588aa371e7500ae5756cd33e4f50dc544ab990a19a6() + { + $this->assertTrue(true); + fn() => ($test xor $test); + } + function testa93fed41d09c90060b24270572bb49894a08d57ff4b96107b9865ddf7fabc68d() + { + $this->assertTrue(true); + fn() => ($test xor $test?->{$test}()); + } + function testa9878e2612c75a16297235772a9bc56bc7b88660559a31c6d30499902bc649eb() + { + $this->assertTrue(true); + fn() => ($test xor $test && $test); + } + function testaa515831f71d20377a38f26efacf3bc9d8b8bc3267dd136bf7afb27690db8d25() + { + $this->assertTrue(true); + fn() => ($test xor -$test); + } + function testb128cce87ed02910d8e80ea942dabeecc7183129af17c6399fa39b233ef03f9f() + { + $this->assertTrue(true); + fn() => ($test ** $test xor $test); + } + function testb2a928ba6f86327fce05c07ecd7171c5e36204ed89b7c6db10f430da315eebb2() + { + $this->assertTrue(true); + fn() => ($test xor $test::${$test}); + } + function testb61817cf350f3124a5e95068bb9d3dd33ffdecd91ac5df2baa2e48e91ad297c2() + { + $this->assertTrue(true); + fn() => ($test xor $test |= $test); + } + function testb85705a6ebef24c16c5582152562131be77b431c33543e63a05828c8f916a4bf() + { + $this->assertTrue(true); + fn() => ('test' xor $test); + } + function testbd21af5ca0162e9bb3c6d63ea7406a933ea4a90356088e745a418a506607b7c9() + { + $this->assertTrue(true); + fn() => ($test xor throw $test); + } + function testbfadd19668d765d099feee1a49c54269669a2b7ebdb64e91caccb3706c1d3b2f() + { + $this->assertTrue(true); + fn() => ($test xor empty($test)); + } + function testc0e0d2ffbf220bedbbc25b8a75146a8cee777bdf718338158b7d88a1a8695d55() + { + $this->assertTrue(true); + fn() => ($test * $test xor $test); + } + function testc12d2738fcf36848a941dc7114bca5dd051873d08d335eb54bb29112b304945d() + { + $this->assertTrue(true); + fn() => (__LINE__ xor $test); + } + function testc415c5c442870eb7ce9f22c1b66be14e5d7e6a1f275adad540c5d819786e7247() + { + $this->assertTrue(true); + fn() => ($test xor $test += $test); + } + function testc50d6d9ec21f6b610be16333038df07c6e67afc87e9dff483e04f02ff7b8b30b() + { + $this->assertTrue(true); + fn() => ($test < $test xor $test); + } + function testc5904a912bb29b7eae27afb26441b168d5babb7f4cb2b4b44bdaeb075def5bdf() + { + $this->assertTrue(true); + fn() => (0 xor $test); + } + function testc9395629441ce2ac774111fd3801215924387975e3e7b778bc8681a139da5ad7() + { + $this->assertTrue(true); + fn() => ($test xor ( $test)); + } + function testcb4efd84d88742df6b0bd64f230748f6149efe76ffd389e8a15fcbe1f5b27030() + { + $this->assertTrue(true); + fn() => ($test xor @$test); + } + function testd08cc3a1e9a0d7abe5c076433c38f8bee226c3c79e2fed581411f39190fc07c6() + { + $this->assertTrue(true); + fn() => ($test xor []); + } + function testd307b62ebca48d8e9f7bc3a48f6600c1d55ed486fee7e1d68e2de81d22a022ae() + { + $this->assertTrue(true); + fn() => ((object) $test xor $test); + } + function testd829449d0decb1bda6d868a928cc9236d3dc1b1854f025189ec20b331e76a3cd() + { + $this->assertTrue(true); + fn() => ($test xor $test || $test); + } + function testda1ae5548489ede9d21f91604f70651337bbb2d671ed41facfc0c29a86f79d54() + { + $this->assertTrue(true); + fn() => ($test xor $test =& $test); + } + function testdac92b08cf5a75d807c99a1944e12b528b4d6ac5276afc7db228295891a0a725() + { + $this->assertTrue(true); + fn() => ($test xor ($test or $test)); + } + function testdba14378c7ce3864a280f229db8ebe083f413f0cc393867c7c343d28887b7665() + { + $this->assertTrue(true); + fn() => ($test xor $test != $test); + } + function testddedab0afc06cf87ab5ab39cd772bb32be82dcfb054055909786dbe12dc3f07e() + { + $this->assertTrue(true); + fn() => ($test xor $test()); + } + function testddfbc95870e0b4e41ff6defef96918e044a6ee01709ff2e922b415194fc06c1a() + { + $this->assertTrue(true); + fn() => ($test xor $test * $test); + } + function testdf54383457577f99402f850303eb2c21e3e053e5d989f83f3bd70fbbc47e69ce() + { + $this->assertTrue(true); + fn() => ("{$test}" xor $test); + } + function teste0d37a80f0ce63afff3f89053d55c2aaff5e95a10c561b0e804c1fb52835396b() + { + $this->assertTrue(true); + fn() => ($test xor $test?->{$test}); + } + function teste1ada7120569c1c82e78f6ee4d3db19004a10f38a7de8269156f145828f147e2() + { + $this->assertTrue(true); + fn() => (__METHOD__ xor $test); + } + function teste3870daeff349a35c0002afca314d0ff71d591cf9bb3e6524a986aaaf5d3c6ef() + { + $this->assertTrue(true); + fn() => (__CLASS__ xor $test); + } + function teste3c5ebe6e5ffbfed655d177372900adc2d6801c3e5178aa1836499b6bb95903f() + { + $this->assertTrue(true); + fn() => ($test xor ${$test}); + } + function teste3dcf505c6e1249f86fddc6b626301b2fa9a347a3c20b44b1b5ad5604428f085() + { + $this->assertTrue(true); + fn() => ($test xor !$test); + } + function teste458da3ca1eceb6d16e79c278403c34f5a3ae0998942475e86b2aefea58ecf64() + { + $this->assertTrue(true); + fn() => ($test xor ``); + } + function teste491030e86ccf70d58757e21975ad0b1d86120fc2f2b45ca57bab12fb282ddc2() + { + $this->assertTrue(true); + fn() => ($test xor $test->{$test}()); + } + function teste924523dc2565060eb8225415ae461ce0b8a097cdb3be4b6614f25cc04f841bd() + { + $this->assertTrue(true); + fn() => ($test xor ($test xor $test)); + } + function teste9d35ef303797b5858b83f8e359649b2911427ee397e9a26688705366e2b03b3() + { + $this->assertTrue(true); + fn() => ($test xor $test->{$test}); + } + function testebf5c95e8990b6e3f96709e9343fd444b14e5bef105de470d72361cd34d4f87f() + { + $this->assertTrue(true); + fn() => ($test xor ~$test); + } + function testecfbe02130a2198e1b9a2b2e8aed6f4dc0fd05557240e69fcfbe2c5132157488() + { + $this->assertTrue(true); + fn() => ($test xor new $test()); + } + function testedb810d44f0e041b5cbe8318f8af75fbc70f01d321903435099ca93e0ed31e37() + { + $this->assertTrue(true); + fn() => ($test xor $test == $test); + } + function testee91b8bb747052ec507697629ad3ee982f2a4a146cf32a68eb8ba3ba9b22b59a() + { + $this->assertTrue(true); + fn() => ($test xor $test > $test); + } + function testf4b04179d3ef6c275f56608b01efc62201c39ed1c2a755e7b26a2e979f43bca4() + { + $this->assertTrue(true); + fn() => ($test xor eval($test)); + } + function testf72c9f7e4bcee006c0873a7b5c15bd908f165947fd038e833221dcf956d4d47e() + { + $this->assertTrue(true); + fn() => ($test xor +$test); + } + function testfb059428c806ba51bd7f535f3fc9b97e38cd3b922770d5e51c4429518ca4cd32() + { + $this->assertTrue(true); + fn() => ($test xor $test = $test); + } + function testfc4e4bdd89c07d24b325fba69c1dbd81c5923673da1b32364449a862636d4d94() + { + $this->assertTrue(true); + fn() => ($test xor $test & $test); + } + function testfe9fa5afbe38b6959247d7ee0015a2199fc5c989e1d21482156a7e178e67641f() + { + $this->assertTrue(true); + fn() => ($test xor $test === $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test.php b/testsGenerated/Target/Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test.php new file mode 100644 index 000000000..8c402d826 --- /dev/null +++ b/testsGenerated/Target/Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiona4697e8f4e739ecc8f9e4ce70287ba01e15ea8ad049a4c4a1116af7499dda0f5Test extends TestCase +{ + function test043cb472fbc85f5eb88ae8a1faedbccd2875f4226e58cf220e2f212b52550077() + { + $this->assertTrue(true); + fn() => ((bool) --$test); + } + function test0468b8c68592598b830f24d1cb02e4118bcf79c701aa8b37b21a49f09f1480ba() + { + $this->assertTrue(true); + fn() => ((array) "{$test}"); + } + function test0519bf23b4bb3e4a846394dc89b0e5477a19c00a7ddf39f5c4753e5eaeb4b911() + { + $this->assertTrue(true); + fn() => ((bool) ($test ??= $test)); + } + function test05cf170d565002f447bd2a8681c5bc15234cf4878e6d1815064a22c00214cfa7() + { + $this->assertTrue(true); + fn() => ((bool) function () { + }); + } + function test07ede4c9acdb58b22f1f2df34429a14707d85fab5c40d262191c7fea73bbcbef() + { + $this->assertTrue(true); + fn() => ((array) ($test * $test)); + } + function test095eb46fa1bbaeddd890fb95388b5253d30743a1932398d5307b35fb6356ccbc() + { + $this->assertTrue(true); + fn() => ((bool) ($test += $test)); + } + function test10bc2775ec328e408ac801cff18b8c1da3e8815ad2f639959af0ee012ff2a19d() + { + $this->assertTrue(true); + fn() => ((bool) ($test /= $test)); + } + function test16b54bba1360c31d7ec4c89ba96a421f1dbb63b6a905bd9b9d72e0492400cc9c() + { + $this->assertTrue(true); + fn() => ((bool) ($test = $test)); + } + function test18d65923879d07bde500a78fcaecf72c6f99cc33dc9953010c2dbcb2262dccec() + { + $this->assertTrue(true); + fn() => ((array) ($test %= $test)); + } + function test1b236c4b72181ad847048615ae51e97a55bcaa6b8e33ef27c63cbc81690ec178() + { + $this->assertTrue(true); + fn() => ((bool) self); + } + function test22506e4a1a81e38c7bb42ff162a9ed9d7e089eaae25fa7d29397e6b9ef272c6c() + { + $this->assertTrue(true); + fn() => ((bool) ($test ? $test : $test)); + } + function test24bdd80e02fd169ddde8ae22c7d96bdc7cfdd132b1af0de2d2d9c2bc6494457b() + { + $this->assertTrue(true); + fn() => ((array) ($test += $test)); + } + function test260fabc3c89f5d78125822692ffe0978b447af7668b304e5006de2a37eeeaa2a() + { + $this->assertTrue(true); + fn() => ((array) __FUNCTION__); + } + function test29b9e9796e600710122e8b1ad301dbf087ddf3617109d1f9f6c7b8ceaaf8179a() + { + $this->assertTrue(true); + fn() => ((array) __NAMESPACE__); + } + function test29f89a9e1cb764e247e839e594b43b789f5d5ab6163e200c3cabec444116071c() + { + $this->assertTrue(true); + fn() => ((array) $test ** $test); + } + function test300af3982a0765090bac4eab6f5c03410c9c7a7d2b19c5b7d6a6ab119839ce6a() + { + $this->assertTrue(true); + fn() => ((bool) -$test); + } + function test331f694c9c77bc6a47795dabf81585e1093696f7172cf32383048958da681dcf() + { + $this->assertTrue(true); + fn() => ((bool) $test?->{$test}()); + } + function test33a7cd63f1d949a6a1befcfdc7fd71e3e50d64bb53a07066f72314e25f4c61b8() + { + $this->assertTrue(true); + fn() => ((bool) (print $test)); + } + function test3a2065224debc183a81ff810e8117f8b6fb83209373760c94554bc0b120faad6() + { + $this->assertTrue(true); + fn() => ((array) (int) $test); + } + function test3d113e7d9cd889ebb57ff1ded66475aa57d574353e04778600c074b358d88809() + { + $this->assertTrue(true); + fn() => ((array) 0); + } + function test3f1c7e93eb1a1381ef7c99cfc791a08c9f369ea11975d7d2987d0f5940a3a771() + { + $this->assertTrue(true); + fn() => ((array) ($test % $test)); + } + function test411a88ef11ad5262ff3932b721cb16810db9541b051dff20f9ab790d870c8c5b() + { + $this->assertTrue(true); + fn() => ((array) ($test <= $test)); + } + function test421a341c541dc4ee80c871cd94444c834db89d19eeb1b5082e71fc0bb3bccde1() + { + $this->assertTrue(true); + fn() => ((array) ($test **= $test)); + } + function test4693d0ceb1747cb0d32df51d32abbfd2c3ced02087a562b66e9e67c8dbbdb75b() + { + $this->assertTrue(true); + fn() => ((bool) eval($test)); + } + function test47693f326ae9f67a34fea6266bcccf6c1b4dd4e325ea5be5cb1d9cad26562ce4() + { + $this->assertTrue(true); + fn() => ((bool) $test::$test); + } + function test4f5088b1e8d931d3373b0bbb873ed11240b466e3d69fc1701e1675095155598d() + { + $this->assertTrue(true); + fn() => ((array) ($test != $test)); + } + function test53c8f5bbea594ecc0d2e5c9ee524dd74c8835ed0e6c68bae4449445d3c75729d() + { + $this->assertTrue(true); + fn() => ((bool) $test?->{$test}); + } + function test5714304b63851577da41920730f0eb5a6b57bad582a5c419acee3bbee653abbb() + { + $this->assertTrue(true); + fn() => ((array) ($test or $test)); + } + function test58e12c27837b5ad9840fa7009b3b3bde03c50def3afe2fa6f088240a169dbf2f() + { + $this->assertTrue(true); + fn() => ((array) ($test || $test)); + } + function test5b8391025162bff615027fd2fd3129e3b86e72c92aec03e57d3acd68c7d8b334() + { + $this->assertTrue(true); + fn() => ((bool) ~$test); + } + function test5ea8c750cf7e03265c807857608fadf68ba54acb4fc98bc19dc66e2059c5c31e() + { + $this->assertTrue(true); + fn() => ((bool) $test); + } + function test6170185112c6589f95a37a8d653ee3efcee8ed862c07fe789217c82df8e3a0c9() + { + $this->assertTrue(true); + fn() => ((bool) ($test ^= $test)); + } + function test618bec95d4978d95b6fbc62266c13896924218c3952a22a5fec8786589ab35a6() + { + $this->assertTrue(true); + fn() => ((bool) ($test instanceof $test)); + } + function test6210e044dac3fc3ab40c9fd9d038445bb5f7b967577b1961bf288cbad2569fc7() + { + $this->assertTrue(true); + fn() => ((bool) ${$test}); + } + function test65aba863971d7cd992dbd4876963b75dfa5fbcb4ba86c0d32d9457639f1e3cf5() + { + $this->assertTrue(true); + fn() => ((array) ($test <<= $test)); + } + function test6a3dfaea5e5208701b11a64a89422ce8814aef99f10ae663a3e27a11a33b3517() + { + $this->assertTrue(true); + fn() => ((bool) (yield from $test)); + } + function test6c2768585fd3609f0fc93e9659467b354302f61cb9cee984638c5f5ae7c00184() + { + $this->assertTrue(true); + fn() => ((array) __METHOD__); + } + function test6c7b4b4d7f52f2504518397c8111d5fa39b5339950377aac37c390a4929136b4() + { + $this->assertTrue(true); + fn() => ((bool) $test->{$test}()); + } + function test6ce9524e9f834bbd162cbe293834ad745885e0b52386df7739cd5549a97495dc() + { + $this->assertTrue(true); + fn() => ((bool) ($test *= $test)); + } + function test6ecdd9f56152d3a07f8e78a875ddb85aaf0dc40351e9493237593140ecb6ecdc() + { + $this->assertTrue(true); + fn() => ((bool) ($test &= $test)); + } + function test744a0c8a8b1bca93055da7466fad46a789b08e1a988dbdd5be07a68cc2048532() + { + $this->assertTrue(true); + fn() => ((array) ($test == $test)); + } + function test74e769b9ce5a4cdeaead70574b0f7ee8f7384ad40feeeb9a88154345ce9f85da() + { + $this->assertTrue(true); + fn() => ((bool) clone $test); + } + function test7507868f34eb92229876ad0159a491196e08b88eed56a44077c51c0e9e1b20e1() + { + $this->assertTrue(true); + fn() => ((bool) match ($test) { + }); + } + function test7ab3edf0aa93e7b080dde5993512bda53ab1691d85cb0a7bbac7e13498a4627c() + { + $this->assertTrue(true); + fn() => ((array) ($test and $test)); + } + function test7ae71733ad2614a24cd366d7b352f97a1de1ed9fe9912379723787bbfb2e89d2() + { + $this->assertTrue(true); + fn() => ((array) ($test ^ $test)); + } + function test7b6a5a5f4d6962f2a643061ae9eafd1d973187971919d7f05d934440376d394a() + { + $this->assertTrue(true); + fn() => ((bool) @$test); + } + function test7bcd4d134f9e5379cb5ee2c0821184f6c4fb68149e2a9e3f296f1685984ca963() + { + $this->assertTrue(true); + fn() => ((bool) empty($test)); + } + function test7dba9be74a014cf489fb2c04c495e72cea4b89259929a17d8d0493b14abef9cc() + { + $this->assertTrue(true); + fn() => ((bool) ($test %= $test)); + } + function test805b1ffe4e8089b0342e0bdbbaa127fb573be023b9e1e0daff9555aaf0221341() + { + $this->assertTrue(true); + fn() => ((bool) $test--); + } + function test82d4260ae7775feb86460b78052a33cd6651f650d1dfa8f37f9129f72d6587b5() + { + $this->assertTrue(true); + fn() => ((bool) ``); + } + function test89e9d0d7f63fc66156ba8523b81c837ba84ffe6484adf5fdddff3b51f74cfe1c() + { + $this->assertTrue(true); + fn() => ((bool) ++$test); + } + function test944dfd249112e90467ea012b99518af455c67d282bb55c8004d4242f078291be() + { + $this->assertTrue(true); + fn() => ((array) (string) $test); + } + function test949d166e861f8d8ce2a6766a0a9c59b718ffe03bc84ba6ccec849cf2208d85cd() + { + $this->assertTrue(true); + fn() => ((array) ($test xor $test)); + } + function test98b1b20b75a0ada9be4c267c7ac67b02f41f1b74c34d2594be75c5f0247608d3() + { + $this->assertTrue(true); + fn() => ((array) ($test < $test)); + } + function test9a20af7f6940405515110fb11910b0ffee249a898d07a0978bd2017dd1da901c() + { + $this->assertTrue(true); + fn() => ((array) (double) $test); + } + function test9fb81d0dc2e5f7d55ccdbfe080290c1df2576224451992d9464e6f3c0eaafd60() + { + $this->assertTrue(true); + fn() => ((bool) new $test()); + } + function testa03ed65faad9c1779e4463cdd3816ba8f07f89d1f9b6d195af0d62c27583f0ea() + { + $this->assertTrue(true); + fn() => ((array) __LINE__); + } + function testa1578b116940eda36ea55ddf03dddfde28d1e93829125e5027fafd246f5bb528() + { + $this->assertTrue(true); + fn() => ((array) ($test & $test)); + } + function testa580d583be0b84f9b40096de37c4c94c765474ec8366ac07f2f4cb79f7193aae() + { + $this->assertTrue(true); + fn() => ((bool) ($test .= $test)); + } + function testa68c91076af9492e987afe532fa8800463e72175b2df61b72f290961ea1fcc80() + { + $this->assertTrue(true); + fn() => ((bool) $test::$test()); + } + function testa747578e97865c6029e9677267e71e00ba48e2c1650fc2eedb477cf143491ad6() + { + $this->assertTrue(true); + fn() => ((bool) []); + } + function testa80882139a96702bebc7bfd0bf7ca49fc25ade0d1d53e9bc32cb6017384af2b2() + { + $this->assertTrue(true); + fn() => ((bool) (yield $test => $test)); + } + function testaa64692b9add3234832eef1f3bd1f5c34a18e861da0050fe1ee625a0117d057b() + { + $this->assertTrue(true); + fn() => ((bool) (!$test)); + } + function testaaae70e911296c69d25b5519f6e243be42692cd67b5b7946c1c24a5c85074e38() + { + $this->assertTrue(true); + fn() => ((array) ($test ?? $test)); + } + function testaad8c6740955af990aae825ee9d371919b31c7d940bb542b00202db5fbbef59e() + { + $this->assertTrue(true); + fn() => ((bool) $test::${$test}); + } + function testae1339ba5741c9c222ea5dbb547bc49578377771edf12af14b77f6162ac1de3c() + { + $this->assertTrue(true); + fn() => ((array) ($test !== $test)); + } + function testafd02e3a1711d3970ab7742c0b228faccaf2893eab4a619167bed98a16bfc3e9() + { + $this->assertTrue(true); + fn() => ((bool) $test++); + } + function testafd32af1a0ee61f7ae2787a93b6afa4b7b2df15300e244fea93894fe2aaaed9f() + { + $this->assertTrue(true); + fn() => ((array) (array) $test); + } + function testb17b79b0eb7097861702f2ec7fd5794704e6952566d26d28a7e5766c7f424905() + { + $this->assertTrue(true); + fn() => ((array) ($test === $test)); + } + function testb330255fb3ee32943e7af110c084eaf54ecb527f8871a645d6905f48c9ea6e11() + { + $this->assertTrue(true); + fn() => ((bool) isset($test)); + } + function testb525b13b2efd279c0d39969fc4b950392e9ee7b05ac007662f14b6fa3bc6e830() + { + $this->assertTrue(true); + fn() => ((array) ($test <=> $test)); + } + function testb69f7489e6fe6e444c5e78cf0af12abe2e730ec5d34051acbde35dea56dc6729() + { + $this->assertTrue(true); + fn() => ((array) ($test - $test)); + } + function testb85584bcab53207025020ac9eb0bdaeb9c68f5b4656dec4f8762ee94f0d2686f() + { + $this->assertTrue(true); + fn() => ((array) 'test'); + } + function testbccd8b9ba536ec1c0ad49a84635ddff20c4893304239e4b5d689862785bcad60() + { + $this->assertTrue(true); + fn() => ((array) ($test && $test)); + } + function testc015b316235234a9bd1b52831918a40e9d3468e7843f7b2081d0e7fce5adbd35() + { + $this->assertTrue(true); + fn() => ((bool) ($test =& $test)); + } + function testc16399900454bf2c7f960df59f8758595e6cc7b24cb828451217289231e37c80() + { + $this->assertTrue(true); + fn() => ((array) ($test >= $test)); + } + function testc34c1a1a24a94e4ae3e0ecae354ed9ef6983e9552b89c209b780709c96fe59b9() + { + $this->assertTrue(true); + fn() => ((array) (object) $test); + } + function testc8dd31bef28887ec657d920565ef120078fa912abea3a19c9e3339c202f20a0f() + { + $this->assertTrue(true); + fn() => ((array) __DIR__); + } + function testc991f8ac907b9afc1e9f455671ec71291d6c7af1f338cc2526046b30d7e84183() + { + $this->assertTrue(true); + fn() => ((bool) $test()); + } + function testcab08329ccfed259e5ff43252f53195b0958df720671c3e5d6d4b9536a984b11() + { + $this->assertTrue(true); + fn() => ((bool) $test[$test]); + } + function testcd4f1525142cfc9cc63f582b4acc6de9acbb91882cf461ee8af393176fae4b61() + { + $this->assertTrue(true); + fn() => ((array) (bool) $test); + } + function testcd7f47d8a25b0900f6ef124685044dd13189c5daa2ce76e10c3a68ab4c4586d3() + { + $this->assertTrue(true); + fn() => ((array) ($test >>= $test)); + } + function testd16e3c6766518a22aacc3fd2ab1affc84a76b5e2c1d7e37bb9ba430d546374a6() + { + $this->assertTrue(true); + fn() => ((bool) ($test |= $test)); + } + function testd250ce10312c80d1c1640cb7077154dfa266b17baf4bcc91adcc384f34224fe2() + { + $this->assertTrue(true); + fn() => ((array) 0.0); + } + function testd2bade779498e16380e56a547c6309faad48cb1334203c8de6947bbd0d08bbbb() + { + $this->assertTrue(true); + fn() => ((array) ($test >> $test)); + } + function testd3f80cb504749343f668236d70fef103669a26097cd8f66b490cfcb780f56b1f() + { + $this->assertTrue(true); + fn() => ((array) __CLASS__); + } + function testd5b5e5c7b75ab242569bdb697b790bd9bae5e9e87d7a8a3caa9b4d42632f54be() + { + $this->assertTrue(true); + fn() => ((array) __TRAIT__); + } + function testd8b6a69daaf52d866910254a4acf9c565e2e2eebbb65bd3b612f3aa0b5ef2db4() + { + $this->assertTrue(true); + fn() => ((bool) +$test); + } + function teste32ea918630533cb5e86e2ece566c586305c9174d3734fe83be81363f380eb8a() + { + $this->assertTrue(true); + fn() => ((bool) throw $test); + } + function teste3842257227c8286916ee2f33783cb8b914b78bbd12cca8502f4ed4fdeba66f0() + { + $this->assertTrue(true); + fn() => ((array) ($test + $test)); + } + function teste4188d918b7a4fe915f146f046420c3653ab32483c363ac7e554f0cfc2f038ba() + { + $this->assertTrue(true); + fn() => ((array) ($test | $test)); + } + function teste6797745abad1d9d784aefaa0b37bf8db3e11daa400aab50b92cb7c351906a9d() + { + $this->assertTrue(true); + fn() => ((array) ($test > $test)); + } + function teste6ccde4e1bf54c53c3ae52c31d363cd0687b2925697185039ab08717a8e5a994() + { + $this->assertTrue(true); + fn() => ((array) __FILE__); + } + function teste9dbfbfe2fa3db41c39c7e93493bdc19dfad88644a7b35a249ff3e53a80a6a49() + { + $this->assertTrue(true); + fn() => ((array) ($test << $test)); + } + function testf53041c624ec9d23d9ae0063d0b930fe6058e7c3a4015f4db10ecafd23b794f2() + { + $this->assertTrue(true); + fn() => ((bool) ($test -= $test)); + } + function testf804574937cc0b0491bfd592f3dd83753fe7deda7a4cc899cc854138431cc396() + { + $this->assertTrue(true); + fn() => ((bool) $test->{$test}); + } + function testfa13b9c26181cfc02af5ec02bd3bcbf01738a0af88e3a9a3f0204ae43dad4526() + { + $this->assertTrue(true); + fn() => ((bool) ( $test)); + } + function testfb53d8812fa08000f154b7e2936c90819d3209c4dd190dcd84e4b3a1cdb05905() + { + $this->assertTrue(true); + fn() => ((array) ($test *= $test)); + } + function testfcebc6558a265d08bd34ad0a14effc619da9d05c98aa7bad4dcad21c9f0faa0f() + { + $this->assertTrue(true); + fn() => ((array) ($test . $test)); + } + function testfd268e58d60be755005af5a01ad4bf6c4012f3a8e905ad6da8ead51d790f1316() + { + $this->assertTrue(true); + fn() => ((array) ($test / $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test.php b/testsGenerated/Target/Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test.php new file mode 100644 index 000000000..414ab63d4 --- /dev/null +++ b/testsGenerated/Target/Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiona609d0eea5d8d950dbf81bbd1af42e9e4e7e8ea229213749e675d4c2d9ba99b2Test extends TestCase +{ + function test0026e14add06125eb6997adeb0169f4efbddd4a23cdf6c88bd470cf368c2ba1a() + { + $this->assertTrue(true); + fn() => (print $test =& $test); + } + function test020b881b717a1e573fa6889462d85e07c603688bfa9770f5a252ee96e5206af3() + { + $this->assertTrue(true); + fn() => (--$test[$test]); + } + function test027721f1f55393827a24f131167cf39a74a707c96bfec22e01164cefcfcfda2f() + { + $this->assertTrue(true); + fn() => (+$test++); + } + function test092b12213e65d4de5e6d0cd60cd5c1f70e91a1c6e846a9d45cda14f94d0a87fd() + { + $this->assertTrue(true); + fn() => $test?->{0}; + } + function test0ba6216cc926072b8b300a05ff64a75851e96be7eb94e7ff18397118656bbf5a() + { + $this->assertTrue(true); + fn() => ($test++); + } + function test0c0a20de202f415cb975ebac03ad9d1660fadd0e617cdd8727d045eefc7276f6() + { + $this->assertTrue(true); + fn() => (print !$test); + } + function test0eae7c00b0f2a8c16271564fcd189b5d7de1b045eaea49e83a988d541fba7f03() + { + $this->assertTrue(true); + fn() => (print @$test); + } + function test0f30e8213e10b0414ba44c8e6afc9ff6a1542dc24ee32ef52449073161d11f5a() + { + $this->assertTrue(true); + fn() => (isset($test?->{'test'})); + } + function test131181f5ff28e7645815987e9597312ad4123222868deef598ae6c965014995d() + { + $this->assertTrue(true); + fn() => ($test--); + } + function test13d26155e8dab3745bf93d6b24ae4f332c89d8fe5b6aaa5ac43fbd8173734d56() + { + $this->assertTrue(true); + fn() => (isset($test?->{__FUNCTION__})); + } + function test19d838313da5db6f5b1e4a915482fa6f4b1e87606ea6fe145589797e8fc07311() + { + $this->assertTrue(true); + fn() => ($test->{$test}--); + } + function test1ab86760dfe4ffe9d6d69a86982eead6e4435c215c6c9be569164cff77b5a12d() + { + $this->assertTrue(true); + fn() => (print ++$test); + } + function test1bf83e955e80f78db43521ca2554ff877705334ab962a67529044780fb86c42c() + { + $this->assertTrue(true); + fn() => (print ( $test)); + } + function test1f465fbe9e446cc5f77407d6d46d25304c2ff97b215dc8d460b489f7c042d50b() + { + $this->assertTrue(true); + fn() => (clone $test++); + } + function test231ce5cab5d45bf818955307c155aca7b55b75864cb0272547b530f9520feaf2() + { + $this->assertTrue(true); + fn() => (@$test++); + } + function test2977ce700b11350dd3fcf16bf649bb98d2c8501843051b28179845b2a3764460() + { + $this->assertTrue(true); + fn() => (print print $test); + } + function test2a67cc5d5225ec3214d052b9e412f3939ec619647c2c3cdcc0f06a91d3561a90() + { + $this->assertTrue(true); + fn() => (${$test}--); + } + function test2b209a7c96fa36ad0e572e736a8af0ca941ae2aca0870cfeceb0beb679386caf() + { + $this->assertTrue(true); + fn() => (print eval($test)); + } + function test3caec2bcc87952ad78dec72ce524c49c38ef56946c657148f77d6d2f6dc20beb() + { + $this->assertTrue(true); + fn() => (~$test--); + } + function test3f5d328569dec973fb7ed55251b811914952230b9cdb7eefc8cc35bf03c70d3e() + { + $this->assertTrue(true); + fn() => (--${$test}); + } + function test40b0d8738875a1542a05802cea8ca0d9b0a7cb0627bd44c88f69e4afa541ebd2() + { + $this->assertTrue(true); + fn() => (print isset($test)); + } + function test41db526ba6b395a95322c394c686e40e7b86a55f30f99d25364f7e74b09ec4ef() + { + $this->assertTrue(true); + fn() => (isset($test?->{__CLASS__})); + } + function test44464289a074e8dd7a3ce64921f7841ae16a81a9fb7ca15cfb7ae05c47b2aff1() + { + $this->assertTrue(true); + fn() => (print match ($test) { + }); + } + function test446c0be77c1458d6844eae33c747553c5f26596830734ede4c33bdbacb5f7374() + { + $this->assertTrue(true); + fn() => (print ~$test); + } + function test44b8de336643415b9f215b4ac986b9d3de504663ab851df695b938b452aec5d7() + { + $this->assertTrue(true); + fn() => (print function () { + }); + } + function test47f96e97b61bd55b76d5be78adb447e03beae197fdda85cbd9b33612f8971271() + { + $this->assertTrue(true); + fn() => (print $test instanceof $test); + } + function test4927253922f8d7dc2979c1f7364213fb49c7e323310283f8a0b1582b1b25b075() + { + $this->assertTrue(true); + fn() => (print []); + } + function test4c1017989d79dc928cd79af7277d44ec55cbad4346dd6f78cf1955c911d173f2() + { + $this->assertTrue(true); + fn() => (print clone $test); + } + function test4c9d317c1461fedf087b17e41caae1644672c6f27f0dc47ecc076acf1b476fe2() + { + $this->assertTrue(true); + fn() => (++$test::$test); + } + function test4e702e98d66d2c502246de94f6a3cb59743ad093767f3e76bb985355d9bd606a() + { + $this->assertTrue(true); + fn() => $test?->{__METHOD__}; + } + function test5054423c0e1d0475a3b0a3adae931d7af10105d0d9d6cc3d0a13c8d54def44ee() + { + $this->assertTrue(true); + fn() => ((object) $test--); + } + function test506657cfa66232df9bfb8e7090c24206312c29a207c7ea8161af4bcda39175f6() + { + $this->assertTrue(true); + fn() => (throw $test++); + } + function test54ab83e7a4c7d2323004ac22651a44a183cd8b048e864ba78b190042a660baba() + { + $this->assertTrue(true); + fn() => (isset($test?->{__NAMESPACE__})); + } + function test5776fc44b5566496254a9a90ecef740b296797bbfd2056cfb4368db306771d75() + { + $this->assertTrue(true); + fn() => ((array) $test++); + } + function test5a3460b4423667794b4973e60254715d3ff592f690c11aa4a8223f1e22dd5cf7() + { + $this->assertTrue(true); + fn() => (--$test->{$test}); + } + function test5db85431d37288f1695cbe2e23fc729bf0c21e22e1e9bdbedb997c761cd86183() + { + $this->assertTrue(true); + fn() => (++$test::${$test}); + } + function test612dd3b730b60c83f27ef6b6a9cc35facf97de85e68abc2ad5e48b4b752d43c7() + { + $this->assertTrue(true); + fn() => (-$test--); + } + function test6ac4c3a1bfdba7044fb4e25ac67a9b53ecea8569a27f719b7d83fd2274deab0c() + { + $this->assertTrue(true); + fn() => (~$test++); + } + function test6b7a197e90f0f00227a378943f1214b6d2ab6110b6d65be8a394cc3c391c91ee() + { + $this->assertTrue(true); + fn() => $test?->{__LINE__}; + } + function test6e3ada4a5ff103f693110cf8292ce20deaf0bc07dbe614547ca2d6f65cddea62() + { + $this->assertTrue(true); + fn() => ((string) $test++); + } + function test7329913df9043933a317195b685eeef82ca44f611d262ff4549a3a5b0747658d() + { + $this->assertTrue(true); + fn() => (@$test--); + } + function test751cdd63c99cb9afe3f606a5fcffa4e5f6dc53db5df7aab014a5a00e7e373190() + { + $this->assertTrue(true); + fn() => (-$test++); + } + function test78c1620ad8d07c7f1e13bee3c786063a0d8744a5fd7b974388683d27f3a9faca() + { + $this->assertTrue(true); + fn() => (print $test++); + } + function test795128a523521edadb349804ad0c4e7c444ba67edb5f6c446d9e4c02c2ec08de() + { + $this->assertTrue(true); + fn() => (isset($test?->{__TRAIT__})); + } + function test79b09ea80128e48e908ab0abaf7addc27796eb8975f41d214ee52cbf15a9d305() + { + $this->assertTrue(true); + fn() => $test?->{__FILE__}; + } + function test805b1ffe4e8089b0342e0bdbbaa127fb573be023b9e1e0daff9555aaf0221341() + { + $this->assertTrue(true); + fn() => ((bool) $test--); + } + function test80c76a86863b598948ce16024a768119d0f16c46ab2cb828d66e8e270c250503() + { + $this->assertTrue(true); + fn() => ($test[$test]++); + } + function test824fef6a50be2cd544e7cf30f2fddba0f2d42ab70bc3207c56266a7b21513b87() + { + $this->assertTrue(true); + fn() => (throw $test--); + } + function test87f17772b9bebf43c9d206df28dbdc8874a7d2a605798656fe7104fa3b20d088() + { + $this->assertTrue(true); + fn() => $test?->{__FUNCTION__}; + } + function test8af6a212941905dfb0b374f568d7a833aa537463e3c614e00c46d69cb21ec2b8() + { + $this->assertTrue(true); + fn() => (--$test ** $test); + } + function test8c6080ec552afc4df076d2a2082d13feb37d92aa29ecb76b6f8971e08e1ddeae() + { + $this->assertTrue(true); + fn() => (print $test[$test]); + } + function test8cd092020ef6dbfd74e24df421f02ad083fa8b570d970306a400b7a21d66dbc3() + { + $this->assertTrue(true); + fn() => ($test::$test--); + } + function test9000389ad0b28e38006984efca4f19a8afa2be95a63c8ba31cbe073732229315() + { + $this->assertTrue(true); + fn() => (print $test()); + } + function test912209761c151aa1416d5e7aa937465eee37da3444445fdbfff9e57ca0e73ce4() + { + $this->assertTrue(true); + fn() => (print $test?->{$test}()); + } + function test95471d07d902eaa5aafe93421a09460b3abd31c7d8fed5a4884be809a453d7ca() + { + $this->assertTrue(true); + fn() => ((double) $test++); + } + function test95e537132203302f368ea3ea3322ced6dc66af4615e85025035c00fc4c6f0db6() + { + $this->assertTrue(true); + fn() => (isset($test?->{__DIR__})); + } + function test97f4ea423e65386583510cf9eb0feb167c4eeaff72f8d1193c735a35b628559f() + { + $this->assertTrue(true); + fn() => (isset($test?->{0})); + } + function test9d15b1a3655093e1a22140362b59f778b0ed3c7ea7ce60196262a78b692b3073() + { + $this->assertTrue(true); + fn() => ($test::$test++); + } + function test9d30099b8ae4166e89a6a722381c44dfa930ab6d7fa278959039e4086b16acf6() + { + $this->assertTrue(true); + fn() => (--$test::$test); + } + function test9fb67c02b2da034370edc123dbd42a97aa12d27ba1d9a70d4a07eada622ee4f7() + { + $this->assertTrue(true); + fn() => (++$test); + } + function testa2a7b2e6095ce4a99c8d884075ea7d5e63eb79ddba72e13bfdc3dc1b28d1349d() + { + $this->assertTrue(true); + fn() => $test?->{__DIR__}; + } + function testa2bb476f47dacd76f44aa3fec799ed914a166fb9d64358208f019d7a5eaafd5b() + { + $this->assertTrue(true); + fn() => (print $test::$test); + } + function testa5e54cc6a8b7c990356964f3576a77c757b2bfc841d56871c1ea680561dce33e() + { + $this->assertTrue(true); + fn() => ((object) $test++); + } + function testaa0a83f061ddb2e6d45410ec8079224f75bbe6c6a8dbd292ae9f72fe6bf83696() + { + $this->assertTrue(true); + fn() => $test?->{__NAMESPACE__}; + } + function testaa64e3cdd02be14e486c5bed69c77b58db4af46fd441a9af4dab1843b9e4699c() + { + $this->assertTrue(true); + fn() => (++$test[$test]); + } + function testae58513207bd1a5927d2241642ed49e62f6980a8e5c4c5458093a4802bf0a663() + { + $this->assertTrue(true); + fn() => (--$test::${$test}); + } + function testafc64df476e662645224670963d776f4867e7b53601094b19d05c8d5e7023078() + { + $this->assertTrue(true); + fn() => (print new $test()); + } + function testafd02e3a1711d3970ab7742c0b228faccaf2893eab4a619167bed98a16bfc3e9() + { + $this->assertTrue(true); + fn() => ((bool) $test++); + } + function testb4f7e737e7a96d2c18fd92ede9d033667586082da5088c30f4b8b38bc7d5256a() + { + $this->assertTrue(true); + fn() => (print $test->{$test}()); + } + function testb668eebc2502f410cb59232cbc22b3cbdc7b96f80055644a3ad0d2799bdf98b3() + { + $this->assertTrue(true); + fn() => ((array) $test--); + } + function testbdc516fb0f1877b876161bdb2037dc2619f52e13a27d9ed12f5d6b99d4a2f992() + { + $this->assertTrue(true); + fn() => (${$test}++); + } + function testbf48b3c0bc642b3f326c3f0150f2e8d8da1e6f17f1d5cb67807c50980b132166() + { + $this->assertTrue(true); + fn() => ($test::${$test}--); + } + function testc079326e1e4439c924706c9968177f79978250a9d6be636d2b59de954f61b4cc() + { + $this->assertTrue(true); + fn() => (isset($test?->{__FILE__})); + } + function testc6b86ffaa12dfce76855fecde49f6af8add1116698525d1bce8cd3c03a62cca5() + { + $this->assertTrue(true); + fn() => (print empty($test)); + } + function testc6feb4f2d561f907802dfd20f68b02ebf0e366ef777da0015d0a93b144539d72() + { + $this->assertTrue(true); + fn() => ($test->{$test}++); + } + function testc83859bae909adcdbbb9138b011ee25655a250a2964532167828f06d0934d776() + { + $this->assertTrue(true); + fn() => (print self); + } + function testc9e48d1a84a4617db8af1854277da66af98e85568dedded2ad4a74b8fe495c6a() + { + $this->assertTrue(true); + fn() => ($test ** $test--); + } + function testcb010b3891859a1ac4af5d4a4c2f797f4996e3b3376cf04d575f7c9aadeb8947() + { + $this->assertTrue(true); + fn() => ($test::${$test}++); + } + function testd34cbf90434cbd021cb6cffac270f3de4f0e62c77a59769ca422597331159bbf() + { + $this->assertTrue(true); + fn() => $test?->{'test'}; + } + function testd4b981c973aee2e73e9a858d6bc1b520bc2623ed9391bb35906622cb6b4b8321() + { + $this->assertTrue(true); + fn() => (clone $test--); + } + function testd8ae5c64dd3060dda96c5d3675f8864fbd2c0f418cf77e2d91e6f0cef5d893f8() + { + $this->assertTrue(true); + fn() => (++$test ** $test); + } + function testdbad3686367786730840a2259335721d8031936cd93b8789507fb832eff0944a() + { + $this->assertTrue(true); + fn() => ($test[$test]--); + } + function testdd38f4508d396d221dd83d0490c05133ff6addf7656397655a44164987b2adee() + { + $this->assertTrue(true); + fn() => $test?->{__TRAIT__}; + } + function teste07db4eeec9e3c16413ab66f7fafacd7b8f9aa4810283f86e334f81f13ed1853() + { + $this->assertTrue(true); + fn() => (--$test); + } + function teste252859eb2b927300728a6b57aa8905fcccc9a480efb6b5b7b2ef44251b5a167() + { + $this->assertTrue(true); + fn() => $test?->{__CLASS__}; + } + function teste49209d792c8b039a4e86ba5f1c0447e4ba37afa926ac420bc1098ffe6727cfc() + { + $this->assertTrue(true); + fn() => ((int) $test++); + } + function teste646bf4e32972dec986fe3ab73faa029d60add622a829c9b5c0b522004e98c03() + { + $this->assertTrue(true); + fn() => (++${$test}); + } + function teste674f89701b4f5f56f53803f7025c21e403b87d23c88af5032adbc86f7b62d41() + { + $this->assertTrue(true); + fn() => (isset($test?->{__LINE__})); + } + function teste7f351bf29540ac924b481b9b8c2140a43b7d7745f64aebf1f8324c0d8cafbf6() + { + $this->assertTrue(true); + fn() => ((string) $test--); + } + function testeee241810bcbcdde3209968389d6832b5002a7d17f5bc34ae7ec940fdc148c32() + { + $this->assertTrue(true); + fn() => (print $test); + } + function testf0675a0038a10c4df9ca850c0333b7e9f04fc8174a72f8cb1b885180b2bd7ed2() + { + $this->assertTrue(true); + fn() => (+$test--); + } + function testf0ecc8f33eb19b7c8bbdcff12cf718012556dc61f8d1283f93604197f6412230() + { + $this->assertTrue(true); + fn() => (print --$test); + } + function testf47cb3441d891fdc106d0f9681e6c66eec9e883e4e555b15e99845dce512ea32() + { + $this->assertTrue(true); + fn() => (++$test->{$test}); + } + function testf5cbac592aa388b8e3d317ca22264d4182e3241e487e17f622c472eaee1a5aa7() + { + $this->assertTrue(true); + fn() => (print $test?->{$test}); + } + function testf81b4d86ed6375f974b3ce714872018cf02bb96feefcd25abb9ebe951dbbc12f() + { + $this->assertTrue(true); + fn() => ((int) $test--); + } + function testf851fa197ca4cfcf37d13a2ab4ac5d4f61d052939bcc8b47d416c9b2eb0c0c62() + { + $this->assertTrue(true); + fn() => (isset($test?->{__METHOD__})); + } + function testf8f8e7ed263540d65d1de0a3ac885591bc7c3fddb7b5cb31de9673f1a7ee8cec() + { + $this->assertTrue(true); + fn() => (print $test--); + } + function testfa39f614deb79df4be804d0fed1d34798585b6e46419a0f30a451c28e6749e60() + { + $this->assertTrue(true); + fn() => ($test ** $test++); + } + function testff9f3892d8342b8b121315bfd0570ad95000b8434e4b2c407030050e11f5ec57() + { + $this->assertTrue(true); + fn() => ((double) $test--); + } + function testffa8b8fa70f1d3260e6284ad6d47750a884054c262724dd39612086bc0e3c4cd() + { + $this->assertTrue(true); + fn() => (print $test = $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test.php b/testsGenerated/Target/Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test.php new file mode 100644 index 000000000..d2cd0074f --- /dev/null +++ b/testsGenerated/Target/Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test.php @@ -0,0 +1,509 @@ + + * @license MIT + */ +class Expressiona70aef75de276ed528ae345b6953b05fd8a61e03ed26397352f5250d69a6f675Test extends TestCase +{ + function test00d5b26fd41ad440d3414c7a780e2bd45867cfbbe85315ca1de88f99b52b1121() + { + $this->assertTrue(true); + fn() => ((yield $test => $test <<= $test)); + } + function test088a0f5e7803bcd668c9cd54bfab5763306afe2bfa44c68adafd7c9443d3483a() + { + $this->assertTrue(true); + fn() => ((yield $test => print $test)); + } + function test0be060c418ced4595edaee8385fc1483d1b14431a464a43dcad62894a2743e07() + { + $this->assertTrue(true); + fn() => ((yield $test => $test += $test)); + } + function test0da4701418495a55e428dd9171431bcdaaedde2bd6dd958e6c293669d7a37abd() + { + $this->assertTrue(true); + fn() => ((yield $test => $test::$test())); + } + function test10e250ee181b75fc57439a3296d853000d8f0f85d0f52127dae426bbc44c4766() + { + $this->assertTrue(true); + fn() => ((yield [] => $test)); + } + function test12b34ac0ad6942c19aafd34cc0146a1c40b41f692b3c33ab2453d1d86399ffaf() + { + $this->assertTrue(true); + fn() => ((yield $test => __CLASS__)); + } + function test13da705f0ef288f0b45a7baeec11da68e11ca07bee144c8d1463d9644d9feac0() + { + $this->assertTrue(true); + fn() => ((yield $test => (string) $test)); + } + function test152858c777414d65b9300b4d8d5a0106136ca8ec08d853695b7a57ac05a8dc88() + { + $this->assertTrue(true); + fn() => ((yield $test => $test or $test)); + } + function test161b489b40d12bf1db0a84187fb77160f22b9ee31a21e44e980b0a942a03887e() + { + $this->assertTrue(true); + fn() => ((yield $test => +$test)); + } + function test1c0f55a4d6b1f3151fdc68e9cc9781829c2d0c3b8edce0b8aa0fe30187b71b37() + { + $this->assertTrue(true); + fn() => ((yield $test => $test ^ $test)); + } + function test1d0c6a3dc958a5519f66bc6679f5d6a09c151646d31fe9e3eb4bc6b4dae4ae8a() + { + $this->assertTrue(true); + fn() => ((yield $test => throw $test)); + } + function test1d39bb9670e31e7e8d0fa7ef87dca2262a40b4bdacedb13dea1d7a8d3bc60300() + { + $this->assertTrue(true); + fn() => ((yield ~$test => $test)); + } + function test1e31f9314a4ca2dfcdca8244a7f3ee5232c1dd536b48393935de582f255d6d8a() + { + $this->assertTrue(true); + fn() => ((yield $test => (double) $test)); + } + function test200243def1f4ed071c3d7604bf9aa2a9ed3df189c991ed8c89db8958c7711442() + { + $this->assertTrue(true); + fn() => ((yield function () { + } => $test)); + } + function test2045bed2cf341263b52b5cc538bbc09bc9ccb8dbcbea60af49b87c599b06b464() + { + $this->assertTrue(true); + fn() => ((yield $test => $test .= $test)); + } + function test23f497d019fe8b1711f771631e41991181b41aa3b984d13ea405fa44b3aaeb82() + { + $this->assertTrue(true); + fn() => ((yield $test => $test++)); + } + function test25c7e321c528c22a85409ee774f224ff28977daf0a3b961eab77c07e2201ed18() + { + $this->assertTrue(true); + fn() => ((yield $test => $test |= $test)); + } + function test2ad812052e0bcdbd243ee6c6af2fc07c4b02783e260b164ea63d3bc6175098e2() + { + $this->assertTrue(true); + fn() => ((yield $test => $test >> $test)); + } + function test2b0da689646869ca7ba1911dfbf5d06d261f4732b7037667ca5da3f3c57f3c46() + { + $this->assertTrue(true); + fn() => ((yield $test => self)); + } + function test2c5bd18f87ee6c5d457407cdbeb3a9926897891f47552205b5ddfc4abf1a0ede() + { + $this->assertTrue(true); + fn() => ((yield $test => (bool) $test)); + } + function test2cf184e808165ce23d625e17bdfb31517f14ea2131d371f7c11e8d62ed302a07() + { + $this->assertTrue(true); + fn() => ((yield $test => yield from $test)); + } + function test2d8fbe0db72f632e550de20ee004999f48483fc20000b50daaab716d4d8fea91() + { + $this->assertTrue(true); + fn() => ((yield !$test => $test)); + } + function test3040775087e886410f0cc31abc92aa7841252c068c90a228b72afc7db1927e2b() + { + $this->assertTrue(true); + fn() => ((yield $test => $test())); + } + function test32270f234bd9032870e7956d3356a724930ab2fcb05b18f58cb02f7cc1862ab1() + { + $this->assertTrue(true); + fn() => ((yield $test => $test >= $test)); + } + function test34f3d0b4af3402b8530dc19cbe1725d64eb16a3aa7ba8a0c836315bf29aa1803() + { + $this->assertTrue(true); + fn() => ((yield $test)); + } + function test34f94bc18d5a5e84966244da27e038d5296a296e4e1ca2723eb9ec6af460d480() + { + $this->assertTrue(true); + fn() => ((yield $test => $test)); + } + function test364aec1fb080fcce5cf5bd2a65a2e5a5abb3851abbc5dce698ac0e5abda1257f() + { + $this->assertTrue(true); + fn() => ((yield $test => $test->{$test})); + } + function test3ec24de15ab45387aa12a52891cb26a496e97f85c87f62ba3a255163de5d810f() + { + $this->assertTrue(true); + fn() => ((yield $test => __LINE__)); + } + function test40dc1c3c0d0f5e26e70164340f9bd45bab30c3fdad7b496f9054411b8607c5d4() + { + $this->assertTrue(true); + fn() => ((yield $test => $test?->{$test}())); + } + function test527536f2e9e69514847b87b81d37d54d3939d4fe10641b922f8e78e4f7d14ee6() + { + $this->assertTrue(true); + fn() => ((yield $test =& $test => $test)); + } + function test52b376a7519ff580402e0c499f986df7e20a81ef3e5ca81426b3ea04652de9f1() + { + $this->assertTrue(true); + fn() => ((yield $test::$test => $test)); + } + function test55b4928ca6ba5cadc1fc136c9449ab76b7ea580e44bf486a88caf5961388ee2f() + { + $this->assertTrue(true); + fn() => ((yield $test => $test *= $test)); + } + function test5abb251506ef7defd37e0c4319fdd5f7a75b1454ef167c48f5111427df2a6f98() + { + $this->assertTrue(true); + fn() => ((yield $test[$test] => $test)); + } + function test5fcf4adf3e6877dafad9150de30a4cb92f40ed59af56f618285aaeacb7484ce0() + { + $this->assertTrue(true); + fn() => ((yield $test => __TRAIT__)); + } + function test622c3295b5a915ccd28e690ca3db8160d0c36d5a2513f95b25207e4dff609f4c() + { + $this->assertTrue(true); + fn() => ((yield $test => $test ? $test : $test)); + } + function test62bc33070b72fbab338cd9a22e40840e3ff1c0a4235e7fbdee9e0b9d545d5c85() + { + $this->assertTrue(true); + fn() => ((yield $test => $test || $test)); + } + function test62d1164b1909423ec192c2abd048b71fa7a768cb27667fe2f99d9d132779f172() + { + $this->assertTrue(true); + fn() => ((yield $test => $test != $test)); + } + function test654a60cedb89f11d88eebc87338cf8d8e59a92b621dd8a3e3a4474464a98a23a() + { + $this->assertTrue(true); + fn() => ((yield $test => __FUNCTION__)); + } + function test67575d7e2eff9bede792e9b49524c1bbab2313ab441fb1ae6a3ffd58fa364b95() + { + $this->assertTrue(true); + fn() => ((yield $test => $test < $test)); + } + function test692dd373113d557064b00bd4cd71dc67ec7e9205bee21d49ce080db1f658d055() + { + $this->assertTrue(true); + fn() => ((yield $test => $test ** $test)); + } + function test6a24e45887a2679e144ad73dcae0a37fb74ff8b391d41e4054956e8e1cea641c() + { + $this->assertTrue(true); + fn() => ((yield $test => $test === $test)); + } + function test6a53f193523f2583fc13287acdbc9d86628aa5d547d617a854efe8717aa8053a() + { + $this->assertTrue(true); + fn() => ((yield $test => @$test)); + } + function test6de4ecbcea9145f27e9c85810f1f2bc40c37b7f52e7e464c2db0f9b641018c00() + { + $this->assertTrue(true); + fn() => ((yield $test => empty($test))); + } + function test6efc14437e4114a00289ee0c914b2999098aafa18f867e71cd7a5f4bf64e51fa() + { + $this->assertTrue(true); + fn() => ((yield $test => $test instanceof $test)); + } + function test705a085168aa0dbcbe317040898cd0e3e57171079b2b54277fe8321fd12889d3() + { + $this->assertTrue(true); + fn() => ((yield $test => $test ??= $test)); + } + function test71606f391110c481ecdc9c0bd0e451643f9d5ca8b01576ada8f6330e04015aad() + { + $this->assertTrue(true); + fn() => ((yield $test => $test &= $test)); + } + function test71a8726bf756f162b5682721fac65110f20938b1790ba2451e1d69da5366c456() + { + $this->assertTrue(true); + fn() => ((yield $test => $test - $test)); + } + function test78c69bb62bbfe518f637322b8ba060e5cdbc7e4e5817b9030fa9af33998ee986() + { + $this->assertTrue(true); + fn() => ((yield $test => $test::${$test})); + } + function test799d7f309fd44f056d785d068f3681a361caf446947ab3c74fc3fe673bc83c8f() + { + $this->assertTrue(true); + fn() => ((yield $test => $test %= $test)); + } + function test7eb9779ae9cc5d756becc305f43e40b5d12bc40603e691e64df785625f94fe3a() + { + $this->assertTrue(true); + fn() => ((yield $test => $test?->{$test})); + } + function test830e78fd0e812f4c0cdcf00533459fc071d49620a3484c81be68afd69f4f036d() + { + $this->assertTrue(true); + fn() => ((yield $test => $test * $test)); + } + function test83c527664f1f3127b04ac216df899201c49ee10187b76822559b7dfe6a74d77d() + { + $this->assertTrue(true); + fn() => ((yield $test => $test <= $test)); + } + function test84bfcf36ae3be558384d39d3b192cdecf261d2e6a21d0f5e1c84af99814760ea() + { + $this->assertTrue(true); + fn() => ((yield $test => "{$test}")); + } + function test854fe9d8cdfd1d91e42fa70d8af161168a759e721f4109f6d42b4b18a60046ec() + { + $this->assertTrue(true); + fn() => ((yield $test => $test)); + } + function test891d77be6c102004066ca5300ba34f83ca422c686f2402acf97122eb56ac605e() + { + $this->assertTrue(true); + fn() => ((yield $test => $test >>= $test)); + } + function test8b66ac2929d96d29ef5ead4a0548a9ba3264d1cca7c1e9885594154139b4a55c() + { + $this->assertTrue(true); + fn() => ((yield $test => ${$test})); + } + function test8fa8b4ac4021938463a4d27af8a20e139357053015b9a26cc9f13b8b11cd81aa() + { + $this->assertTrue(true); + fn() => ((yield $test => ++$test)); + } + function test906417ec8977c87744a7d3c72c5b300a9ed8866b6bf524ceba138c96f95147c2() + { + $this->assertTrue(true); + fn() => ((yield self => $test)); + } + function test91f4c8926b95e64b8962e0a02fd86173050b3399c0f44716ea20afa4d35dba47() + { + $this->assertTrue(true); + fn() => ((yield $test => new $test())); + } + function test928955067ba6ac67df91259f8327b6bca72c619dd9ed34cf63d4dddb8573e847() + { + $this->assertTrue(true); + fn() => ((yield $test => $test | $test)); + } + function test978721fe5b7d872b7b420ca98f6e157cd74573ec973e7e80dd8335f1be566855() + { + $this->assertTrue(true); + fn() => ((yield $test => (array) $test)); + } + function test9a1d902171795e7223b7ca7f6d8b1320795a65da25bac0bcf7ed68be6cd8dfd1() + { + $this->assertTrue(true); + fn() => ((yield $test => $test & $test)); + } + function testa0220e86f65950ec0fac6eb1a6be95724c45d9b541d1113200d23266978406b6() + { + $this->assertTrue(true); + fn() => ((yield $test = $test => $test)); + } + function testa06a27fab45151c3f7c69f7526a82efa2156b5b5a74ef6eec615cfb187fcde9b() + { + $this->assertTrue(true); + fn() => ((yield $test => $test ^= $test)); + } + function testa1d27be3d4372e419ff9454bf24d3922d17e269b360224479a1dfb9390e02588() + { + $this->assertTrue(true); + fn() => ((yield $test => __FILE__)); + } + function testa32953b0492a2aeb80354d7b06ce6cb7dbb0b6d98128b4e8a0bb62308bf2c451() + { + $this->assertTrue(true); + fn() => ((yield $test => $test / $test)); + } + function testa37efb73aee92b7538b6306be3d27438b2c9b1f454da923b38302c763559369f() + { + $this->assertTrue(true); + fn() => ((yield $test => ``)); + } + function testae98846372c6fa6158e1b399a4722a32cf5715e799eca366e01b8839fc697c9d() + { + $this->assertTrue(true); + fn() => ((yield $test => $test !== $test)); + } + function testaf47b1e61848132567e5dbc806c6e2d6d8d5f69146738791d02ed184359617c9() + { + $this->assertTrue(true); + fn() => ((yield clone $test => $test)); + } + function testb43dd0bad0ea54e9d9df687554d0e908fc953d629ccec7b79cb1cffff591bdf8() + { + $this->assertTrue(true); + fn() => ((yield $test => $test && $test)); + } + function testb58313d521521097147793cb2f3bd7683fd85e682e6863b5ff3f5d32252956c3() + { + $this->assertTrue(true); + fn() => ((yield $test => $test + $test)); + } + function testb782b19b248776e4f7834ca15e860a4c224c2373454117e6d4721c93ddb49dac() + { + $this->assertTrue(true); + fn() => ((yield $test => (object) $test)); + } + function testb8f0f3df07e806ac2f955e04cdf7130ef3347bb9696891a646b0f95027b22cdc() + { + $this->assertTrue(true); + fn() => ((yield $test => $test /= $test)); + } + function testc3f0cff97d05bdbcb5ccb6e9e093276db04b68dfa3c4f5a1f3b5341d737cf742() + { + $this->assertTrue(true); + fn() => ((yield $test => $test == $test)); + } + function testc6dfe189ebf8eb02b2394b8951cfe272026340d95b0166789493393be49fb795() + { + $this->assertTrue(true); + fn() => ((yield $test => match ($test) { + })); + } + function testc774778030b1f9ec7fb4a3ce7cef986234a2b984f5e8b6f1edd721e74a4c3c65() + { + $this->assertTrue(true); + fn() => ((yield $test => 0)); + } + function testc9235ec16928f940dad2a77319c235105262542ec0fee7e6e0839e7a4ee1fda7() + { + $this->assertTrue(true); + fn() => ((yield $test => 0.0)); + } + function testc95ff333ba6552041b2c6b8912297ee35c70900c6ce6530459e51a7eed50f214() + { + $this->assertTrue(true); + fn() => ((yield $test => $test <=> $test)); + } + function testcc5f7a90bb5f98a5e5ab4464da9011b26f2d42744b23b899fe095be84fe0df57() + { + $this->assertTrue(true); + fn() => ((yield $test => $test **= $test)); + } + function testcec0a274afeab30d22a2392b9c10ed2413f2088409818d9f5b4b59aee6b80f31() + { + $this->assertTrue(true); + fn() => ((yield $test => 'test')); + } + function testcf08471d8cc19a9d69e5ca54708a6aa470c6a6c3ff592eb0c919afb6ae41bccc() + { + $this->assertTrue(true); + fn() => ((yield $test => isset($test))); + } + function testd266fac63ada4a4202f9c6f387e0cdba4bb328ac65dfe1e1f5ffa26f631547a8() + { + $this->assertTrue(true); + fn() => ((yield $test => $test and $test)); + } + function testd433c9475ea88a7c3b4b7688eb1c28c723120a487aadf2c4db83728112fd4b44() + { + $this->assertTrue(true); + fn() => ((yield $test => $test . $test)); + } + function testd76b0ce53ef351e9ebf171946a777a16daae84654cb7d47e436a5170dbf8f280() + { + $this->assertTrue(true); + fn() => ((yield $test => __DIR__)); + } + function testd783e9c6fd549c489af6b124c55d47b943efc80a28431df7f8ec9c4c476b1942() + { + $this->assertTrue(true); + fn() => ((yield $test => (yield $test => $test))); + } + function testdc369ff2ddef03be6c60c6bbc64acf45facbef692bf2951c4508a22cbfb61b50() + { + $this->assertTrue(true); + fn() => ((yield $test => $test--)); + } + function testdcfd93f04a2f30e94c281d1759b0e8edaeb83d9182a45859cada6d4263098d4d() + { + $this->assertTrue(true); + fn() => ((yield $test => --$test)); + } + function teste0136c93c220d6dc46fcb0ec303542566905ca32749adf1494b6d7067ba04fde() + { + $this->assertTrue(true); + fn() => ((yield $test => -$test)); + } + function teste1183512f852f5566afca76aff729108552f7943cde880c654b2c0ca810f21bf() + { + $this->assertTrue(true); + fn() => ((yield $test => $test->{$test}())); + } + function teste1ed493c9f2c1a062d2d6a7abbc453f6a3f5b6250d8da32903dc927a51b367c0() + { + $this->assertTrue(true); + fn() => ((yield $test => $test -= $test)); + } + function teste20d5caf3644c05ee6c21b2aa4d08dd968631963e3734bcfccf3863599639855() + { + $this->assertTrue(true); + fn() => ((yield $test => (int) $test)); + } + function teste2842f551381abd93eb88b43c8d92b40d1075e6ae47dd1e02eb12af73a2b4555() + { + $this->assertTrue(true); + fn() => ((yield $test => __METHOD__)); + } + function teste540a0596ffe212727e83b582693cc6614ecae04824ddb46582f2bb8de5cab01() + { + $this->assertTrue(true); + fn() => ((yield $test => $test << $test)); + } + function testeb775e625d39ef75e2dbbed2eaffff3d11558a30c36bd13f5cd2cb716eb27d35() + { + $this->assertTrue(true); + fn() => ((yield $test => $test ?? $test)); + } + function testeba91bc38f747e7befae85fc5c492b2ce30408b38e0fb38a7f403e9db98ad0db() + { + $this->assertTrue(true); + fn() => ((yield $test => __NAMESPACE__)); + } + function testec08307b2968eac4a41935000fabcda3d00e6e5e2e2a772607002681efcd67e2() + { + $this->assertTrue(true); + fn() => ((yield $test => $test > $test)); + } + function testf8ebdddb6e63104db7929606ab838f170cc0f1f6f6fedf667b28becfa9098765() + { + $this->assertTrue(true); + fn() => ((yield $test => $test % $test)); + } + function testfc0c4d79c11c6aa00a1ba81eef3244536e69c63a7e3d1a35443b91f1c5c0296d() + { + $this->assertTrue(true); + fn() => ((yield $test => $test xor $test)); + } + function testfd49e72f95cb0d619d1bb43ff7aac8c3a09d71654fa7cdf9a1ef25b4b1ad0856() + { + $this->assertTrue(true); + fn() => ((yield $test => eval($test))); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test.php b/testsGenerated/Target/Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test.php new file mode 100644 index 000000000..e9c09ee05 --- /dev/null +++ b/testsGenerated/Target/Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiona89a7d4112f51b49053468f49f8bb77650395fe80861cd44b38b7ee3c29b1bc7Test extends TestCase +{ + function test03f1fc10ce7d955a480994a70c45959870ed5507644c29344714806b32238c8e() + { + $this->assertTrue(true); + fn() => (($test or $test) ** $test); + } + function test09f7679c6b3b0a2b6eca64e83ed187f7377e0c61971d57dc723e1920dafbc1e4() + { + $this->assertTrue(true); + fn() => ((-$test) ** $test); + } + function test0c663c2207323e8ae446b912945003585246398f8c9266c6421b9ceba52c3529() + { + $this->assertTrue(true); + fn() => (`` ** $test); + } + function test0e40b63c48c343aa0cb09b02b645b0e28ae145dcad589ca10eeeec7f31e0b26d() + { + $this->assertTrue(true); + fn() => (throw $test ** $test); + } + function test0f290fb9ebe1d87f469cbebbcb7660570ab38b55bf8395de245fdca088ec462c() + { + $this->assertTrue(true); + fn() => (0.0 ** $test); + } + function test12bed85fa5ce533dc12a284a50ab9c9b11759d56232fe4c98354dc7b2f2bc3ca() + { + $this->assertTrue(true); + fn() => ($test ** (!$test)); + } + function test135a4ba02525cd7f48064517f3809d730d2d0d4912a074feb29139417e0c7534() + { + $this->assertTrue(true); + fn() => ($test ** []); + } + function test13f0d7048d6e8289ac922f432634940a44b0cb57e42986882e09f6e1edfd3df5() + { + $this->assertTrue(true); + fn() => (($test += $test) ** $test); + } + function test148770a76cc48a3e0b3001d78cc6338414b97c6eda6bfa841fa229558985317e() + { + $this->assertTrue(true); + fn() => (__FILE__ ** $test); + } + function test18314c4204c90973ae6cacc4de6e700c925e0bcfce71c26cc596bf590d10bd54() + { + $this->assertTrue(true); + fn() => (__TRAIT__ ** $test); + } + function test1cf3b26aa3a05683834d76b8284959be222f7cef9b0257e22734484a62547f3c() + { + $this->assertTrue(true); + fn() => (($test - $test) ** $test); + } + function test1e1e2fd7657cf8808052914a057b3f072fa73beabf811905df323ff1c7a57573() + { + $this->assertTrue(true); + fn() => ((--$test) ** $test); + } + function test1e58ed33f291a593a8cd330a7f20ca1765c7e8cc5cbae4d8728f6ca959f3a64f() + { + $this->assertTrue(true); + fn() => (($test <=> $test) ** $test); + } + function test1fed0ac32d785b37bf264f408ecf48a2dc07cc863896f9b04f88b7c49e1a6ef2() + { + $this->assertTrue(true); + fn() => (($test &= $test) ** $test); + } + function test2079b979eb0a8a3a19b781b5060366c871a6bae244f37ed79b41859100260c6d() + { + $this->assertTrue(true); + fn() => (($test <= $test) ** $test); + } + function test3123401a7c9c650a046e98439c904389cfb520b59c4074adcbcd0a0f0917732b() + { + $this->assertTrue(true); + fn() => (($test === $test) ** $test); + } + function test33b00decf402c12f4674f1e357810920c4a8abd022eb77a958187978da7919ad() + { + $this->assertTrue(true); + fn() => ($test ** clone $test); + } + function test33b18290f60eb8a3b4f4f56acc608e692bb28d4533d4feb0ceb4c4f6cc6ba3fe() + { + $this->assertTrue(true); + fn() => ($test ** ($test = $test)); + } + function test34c4b3aff2e7c15f1834ecbbaf4fb24ca92b3e2d3de5bdba34345d988d9ab549() + { + $this->assertTrue(true); + fn() => ($test->{$test}() ** $test); + } + function test35266a232d7903becf93c4fcb5a07ac140f83e6ad33c4ca29183775f5f4a832a() + { + $this->assertTrue(true); + fn() => (( $test) ** $test); + } + function test3aa010ddf1108af390156f140c6f2215cdf6c8ab16f329f45ce7752abd72a385() + { + $this->assertTrue(true); + fn() => (($test < $test) ** $test); + } + function test4345fc48b2c183e82615ff26d18ebac5c81be6db152917c547fd5464abc564c0() + { + $this->assertTrue(true); + fn() => ($test ** (@$test)); + } + function test46127a38e0e3d036f172e4cb6335fba64a652138bb8725c35ba6c0b68f69ab54() + { + $this->assertTrue(true); + fn() => ('test' ** $test); + } + function test47034ab1b81812fe7ad6ebd280420fcc868c676ffe0ecbcccc4cc6dee7314ed1() + { + $this->assertTrue(true); + fn() => ($test ** $test); + } + function test48fb03fdfde99d46e9798df94f6a939e0608fab68920421372b40129dd66848f() + { + $this->assertTrue(true); + fn() => ($test ** ($test =& $test)); + } + function test4a98741a15e49afa8ef116b69ff5dc844c5d5b636a8ac9ba2f413f22cd62cb66() + { + $this->assertTrue(true); + fn() => (new $test() ** $test); + } + function test4bcc365771d1396b2ee7817b880003098f54bed30f80cf2aceb1b519e1be13a9() + { + $this->assertTrue(true); + fn() => ($test() ** $test); + } + function test50812107ec418b219355dfe68e5e133cd1729070d114bad86d34f97562e8c031() + { + $this->assertTrue(true); + fn() => ((print $test) ** $test); + } + function test538d8482e3faf0f4f9566229bb0e0d605ba6293afc026e216910493aa293c53b() + { + $this->assertTrue(true); + fn() => (($test . $test) ** $test); + } + function test53deebcf8bda2b3260691e1926c1a82d0abca067010ed584374f23fc064b31fb() + { + $this->assertTrue(true); + fn() => (__DIR__ ** $test); + } + function test5bd44ecd964ede2b55436966b8eea4066eb4a9b2f1923fe4631d15e9b6f153c7() + { + $this->assertTrue(true); + fn() => ("{$test}" ** $test); + } + function test5cb9b00b654b9751ad333ed1736d9060055d0b7b70dc65d7fc60580c814c03e4() + { + $this->assertTrue(true); + fn() => (match ($test) { + } ** $test); + } + function test5dafc50020d19f38fe24ebe15a4a548900109b12c10465956632171b8ad534b1() + { + $this->assertTrue(true); + fn() => (0 ** $test); + } + function test5ff3d07899e9505a4715e9ca9c439de4c0b358f587841d040440d8afca092b72() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) ** $test); + } + function test601f2abcad48a2872a6861275bc97b2d457e0b8ce758fd60674c40ee89608ba1() + { + $this->assertTrue(true); + fn() => ((@$test) ** $test); + } + function test6033818cb3932ccab1219697639a2670fd49226fc17aa428b742744755ba47df() + { + $this->assertTrue(true); + fn() => (((double) $test) ** $test); + } + function test61e43af0feebcc648da087099f57c53f74a7226161a8b065fb5fe588f39fbb5a() + { + $this->assertTrue(true); + fn() => (($test and $test) ** $test); + } + function test6555c2636eeffe67e8f4be19c56859155568566aae1c39e7907676ffe12e4c5a() + { + $this->assertTrue(true); + fn() => (($test && $test) ** $test); + } + function test68ab81cc8bccf06b4d8b4fec5e5d8955950706a539cac50a380ed2583f8d121e() + { + $this->assertTrue(true); + fn() => (($test & $test) ** $test); + } + function test6c048bfada6dbe55154f5dbcab5e3fb51c25fde054d58e4b6e094412dd3b4e29() + { + $this->assertTrue(true); + fn() => (($test **= $test) ** $test); + } + function test6d76f44c8a2cb61f6a032d486ca05b2a89d7f4e8c01f9a97e49dd1ca704afb36() + { + $this->assertTrue(true); + fn() => ($test ** self); + } + function test700999f665e6ba00b417203bddabe7b8462d4749596afddf8da3c43c3af620e7() + { + $this->assertTrue(true); + fn() => (isset($test) ** $test); + } + function test7070bebe52c6cfd679630c06b7e7bf450bb92cd2e5b99737ba3655273dd9f65c() + { + $this->assertTrue(true); + fn() => (($test || $test) ** $test); + } + function test70e382e3666e8d184e00e93ea5ac0f6197b79fa60cab6174ddc1bffbb6d0a082() + { + $this->assertTrue(true); + fn() => (($test--) ** $test); + } + function test71b4c50d25eb7d2b39a8ada188e2dfcf0d671b41566399bfc5431242f0a0d0b0() + { + $this->assertTrue(true); + fn() => (($test >= $test) ** $test); + } + function test749e30e7d87595910cbae9ce37b084c7c8ea61fc255ac2d75edc4ddd1a547ecf() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ ** $test); + } + function test7d0981e89e2650058a8837d13f86fc1f2838f7ed2def05549ae51fc1d9795453() + { + $this->assertTrue(true); + fn() => ($test ** $test::$test); + } + function test82d10698edf8c6e1769a15273fc07ff15c3df3477202e85856065c9ddb8a4753() + { + $this->assertTrue(true); + fn() => (__CLASS__ ** $test); + } + function test8326648c537dd80cd724368e13e57063d9cbe3b1b2c087d4129da94741db07cd() + { + $this->assertTrue(true); + fn() => (($test ** $test) ** $test); + } + function test8437bab1bd845362b9fe4fdfa2e300ddf2ab3ced7bcb3182ab25b3aa35d66fbc() + { + $this->assertTrue(true); + fn() => (($test == $test) ** $test); + } + function test8706db3e6d6653122708a69987130d12b9bdfae2e0364a9ca0a86c644e2e6542() + { + $this->assertTrue(true); + fn() => (($test ?? $test) ** $test); + } + function test88431dc51645ef9bc38d32b52f7a34c8cb3929e5e8d570a856e2e11bfa8840cf() + { + $this->assertTrue(true); + fn() => (($test -= $test) ** $test); + } + function test8b2d6a5436b8a6631768c35a94b296cf6462e2780cc1228ee8c1360244667f99() + { + $this->assertTrue(true); + fn() => ($test ** $test[$test]); + } + function test8cc03e85c67d679b8043d1317cef615f3f6b67170d0c060c59e107d9763ed935() + { + $this->assertTrue(true); + fn() => (($test << $test) ** $test); + } + function test8e250b93e333801cb9d13212d795f99c630a99c195b858405d71b556c3df30fd() + { + $this->assertTrue(true); + fn() => ($test->{$test} ** $test); + } + function test8ee2c9c655c2d64b1ed23b4fe76d93fcb64e0a13634c72592726bc8f262eef9a() + { + $this->assertTrue(true); + fn() => (self ** $test); + } + function test94c4b7e36a2d1f10f22862f62a97d405926d07521fd8aa8ce05f9d4e1e620299() + { + $this->assertTrue(true); + fn() => (($test |= $test) ** $test); + } + function test955762fd455daedea7c8375f877296cdb43ea14ff0d2e33f3f7fbc28e0b2ad1b() + { + $this->assertTrue(true); + fn() => (($test + $test) ** $test); + } + function test9aecfbc5ef34f2e9db8d856704585c8ceee286189c2f9ac8bb1b9c190fadd333() + { + $this->assertTrue(true); + fn() => (((object) $test) ** $test); + } + function test9afb11048b099d51d0f199395af464add30b5c5867dcdd7cb2ff3ddc3e427090() + { + $this->assertTrue(true); + fn() => (empty($test) ** $test); + } + function test9daae75363a96942f9268251db28f869076041451b5cab925d157d089621529e() + { + $this->assertTrue(true); + fn() => (($test ^= $test) ** $test); + } + function testa01aab73d291225374d1230a657aff798b1cd269542e87e8ddca73cc5285f1aa() + { + $this->assertTrue(true); + fn() => (($test %= $test) ** $test); + } + function testa08ff221edac69b7acd90650b2537281ba45352a3b1a7cf1734291d6be07ec29() + { + $this->assertTrue(true); + fn() => (($test % $test) ** $test); + } + function testa5a3ae4ed3554397d3c1eff1b1683885854723209e2f19fe2e5a352ca60821bf() + { + $this->assertTrue(true); + fn() => ($test?->{$test} ** $test); + } + function testa6604e495a50926366daf122b89a59e4c593ead9c938232b395eabdd11a1a140() + { + $this->assertTrue(true); + fn() => (($test *= $test) ** $test); + } + function testa7254044b061c10f39bfc0b563aaab136bd65fc7985b014fcdebb506294a195e() + { + $this->assertTrue(true); + fn() => (($test / $test) ** $test); + } + function testaecaefd25e9e6791f2307e15fba96aea2f02e4059cb229399731910c8a6f9bda() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) ** $test); + } + function testb7d8ee8857ed261d27518b8dc1335d0c744f9e8bbc6c14f13918e47fd8e7f127() + { + $this->assertTrue(true); + fn() => (($test /= $test) ** $test); + } + function testb882bb9296a42816bb36f01edea822dbb30813636a1ad5eed488dd238636c9ab() + { + $this->assertTrue(true); + fn() => (${$test} ** $test); + } + function testb9750c4ae3ca4176f3941069dfc2ee260e1f590a3e399a9eca0d1644bd12eb91() + { + $this->assertTrue(true); + fn() => (($test * $test) ** $test); + } + function testbc1b2ac23dc2704dc93a6665aa7808113877abbc32d7e7abf784353cfd085342() + { + $this->assertTrue(true); + fn() => (((bool) $test) ** $test); + } + function testbe570077477d8fe1c78f545abd1f1be38e2fd3f26793caaf1d0ce8358dc604a1() + { + $this->assertTrue(true); + fn() => (($test | $test) ** $test); + } + function testbff598f6993a1dcee3dd75c6f144d23a409ea2fb4289fc6a1734f1797b6df0ed() + { + $this->assertTrue(true); + fn() => ($test ** (~$test)); + } + function testc33d3142b0cb96ceb87115421d3117f8b46ec5cdcd696034c51e6f32b70ebeaa() + { + $this->assertTrue(true); + fn() => (($test !== $test) ** $test); + } + function testc3af084d428d1a6161d30c134141719a828b456baef308e504628280e865891d() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ ** $test); + } + function testc4b5222e89de1075a0ce6f6494c3f9296ee04aa13253b6730f978ac4e614a9c1() + { + $this->assertTrue(true); + fn() => (($test++) ** $test); + } + function testc4bc880c39ec77ee3246e459aac388cbf90155c958a198d3f3a5d2cb1af3a758() + { + $this->assertTrue(true); + fn() => (((int) $test) ** $test); + } + function testc5d861e1d598a3c65a265fa081203d6230f5ceee2c6a6f6e3a7c768f2d917bcb() + { + $this->assertTrue(true); + fn() => ((+$test) ** $test); + } + function testd03e123e3ba4cc597f76081959ce5123e1821cb5364f3f64329da46f7f785a15() + { + $this->assertTrue(true); + fn() => (($test xor $test) ** $test); + } + function testd16cef268f32862408fe0c8085170b8476bf5f813899c7f63ac864a96c83e889() + { + $this->assertTrue(true); + fn() => (($test != $test) ** $test); + } + function testd219698d320439bae7df594a0a6e9fecf7cad7557cae5e4f22b6aa8b759b624f() + { + $this->assertTrue(true); + fn() => (($test > $test) ** $test); + } + function testd489adff4fc5dc7515259634095ca2c717f04cb56485dd73d6b73bba6d47d881() + { + $this->assertTrue(true); + fn() => (__METHOD__ ** $test); + } + function testd57ba577c525fed5ab6aeca08be2793cbd83e58d0c88bff4223cf66b79c58d64() + { + $this->assertTrue(true); + fn() => (($test ??= $test) ** $test); + } + function testd6758350b6eeb184a72617992162972c893bb3af211565279cd303de0aebb4d8() + { + $this->assertTrue(true); + fn() => (__LINE__ ** $test); + } + function testd686fbc19c0af908e190fd02474a41957692b2afb8d560d382663894f64f1ae6() + { + $this->assertTrue(true); + fn() => (((string) $test) ** $test); + } + function testd6f8ab0cb69bf39aaa2f0a397e7db2f0d19f584b4b40846fe0fb30c88a613092() + { + $this->assertTrue(true); + fn() => (($test <<= $test) ** $test); + } + function testd7d988dc0cd7d232891059a375738a9fd2a8ad004d5bed5fdabdefe2695819af() + { + $this->assertTrue(true); + fn() => (($test >>= $test) ** $test); + } + function testd9ea9876f3ac6c29a5868fdad8bf3492623073abb71e31cb79f666572af48a9d() + { + $this->assertTrue(true); + fn() => ($test ** function () { + }); + } + function teste02a1033866909177b6b66762a96450dc447fe6b7dd011b46a43e40959452a9b() + { + $this->assertTrue(true); + fn() => (($test instanceof $test) ** $test); + } + function teste1e8080cc8ae5598e9b5226d87e62a9d28a0441f1189c6a8807c41c93d727875() + { + $this->assertTrue(true); + fn() => (($test .= $test) ** $test); + } + function teste55a99f177865eb5c0f87f3733d63fdb36da33e86f9391edf91490196d8970d3() + { + $this->assertTrue(true); + fn() => ((yield from $test) ** $test); + } + function teste7ce9b32e31ca3bd4a1378c06e8836c35f31fec3e6c3469effc61d56532aad37() + { + $this->assertTrue(true); + fn() => ($test::${$test} ** $test); + } + function testecad79835867d6d381b4b01450f1c9bfa61422f4c7a240a88262704d4ef5d8bc() + { + $this->assertTrue(true); + fn() => (($test ^ $test) ** $test); + } + function tested2df405b18ab88735b9d4cecf99011efcdbf3cea7651e481d500bad15e05ab1() + { + $this->assertTrue(true); + fn() => (eval($test) ** $test); + } + function testee184e590050cb33e82c02e83c87db84390a099130e0b1f08ce88ef9714b0ab2() + { + $this->assertTrue(true); + fn() => (((array) $test) ** $test); + } + function testf351b6865e7783815eb55ca6ca6dba4dd21a0152dbeb55f0d98c0131e2bccd26() + { + $this->assertTrue(true); + fn() => ($test::$test() ** $test); + } + function testf390b991e22e1e22024782fb2b8c8ef25b9e0280d04d06021428ea353fb41b10() + { + $this->assertTrue(true); + fn() => ($test ** empty($test)); + } + function testf858d364f0e04873f82ac32bad922d128cdb08f32812a648143f09d684602aa0() + { + $this->assertTrue(true); + fn() => (($test >> $test) ** $test); + } + function testfa0a40c0314157f0f9d59ed4f4c40aa921797a4fe2dcf518b152e02daf9b932d() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() ** $test); + } + function testfc1e20a11b6c3a49a71b6c68c2969e1ac4634b994dff2f52f829108b90cac737() + { + $this->assertTrue(true); + fn() => ((++$test) ** $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest.php b/testsGenerated/Target/Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest.php new file mode 100644 index 000000000..d09474cf8 --- /dev/null +++ b/testsGenerated/Target/Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionab439db531f3a5a2b5a081829bf0a9e75a636813ab9adfe68d6392d54a91beecTest extends TestCase +{ + function test034abb4a840c8dede10ef1a94755574547624d3d6992416492917a9c7b88c4ef() + { + $this->assertTrue(true); + fn() => (($test === $test) <=> $test); + } + function test043737736fb6c930a960e6c064bb631dd85fda264c6aa7bc05fd58952c38553f() + { + $this->assertTrue(true); + fn() => ($test <=> (yield from $test)); + } + function test071a27e57a97a2ee1c5f5f0128e66109ca31147c51b8aa5097e7378c5f14bec6() + { + $this->assertTrue(true); + fn() => (($test ??= $test) <=> $test); + } + function test079a212c3525c7129aec2a8802aaf54e10ac79a775b9c379726bb6f2b5b902cb() + { + $this->assertTrue(true); + fn() => ($test <=> function () { + }); + } + function test0b75ccd0b27fb1d8ad48795a7f98db616b647f78df6cddde9ca8bfa3fd35e0ea() + { + $this->assertTrue(true); + fn() => ($test <=> ($test ??= $test)); + } + function test0c8a8cd6de7887c8765e1355afdc3ea4d6bef20fb13787992e7a564693403190() + { + $this->assertTrue(true); + fn() => (($test ^= $test) <=> $test); + } + function test0d429302ca1191d8f68b2a3b66354d1c77076b1c40afc7273efd33bd38ce84f7() + { + $this->assertTrue(true); + fn() => ($test <=> isset($test)); + } + function test0ef21e6cccd11e609f37335589c557880f0e149c321de454ab37acd81618b0a9() + { + $this->assertTrue(true); + fn() => ($test <=> eval($test)); + } + function test0ef9c92cb201db7f821f0d3899cd4013c0f09987692c9453ecb963909c3badac() + { + $this->assertTrue(true); + fn() => ($test ** $test <=> $test); + } + function test122a156c2c19d34200409a6aacb8355b2c786a4112f2ad132eebaa857d28f5e8() + { + $this->assertTrue(true); + fn() => (($test >>= $test) <=> $test); + } + function test133c2dcb6f684f63e4d901443ccc5e1ae3c97a8b111aad43a39827e51f13b41b() + { + $this->assertTrue(true); + fn() => ($test <=> ($test |= $test)); + } + function test145400be9058f7237316fda59f7eedefff2b91b02c42d48bbb65a9ba32b33741() + { + $this->assertTrue(true); + fn() => ($test <=> ($test = $test)); + } + function test1897fcf29ac5682f326992330d0d397eaec4af1198bb90496d0b76e794e5f44b() + { + $this->assertTrue(true); + fn() => ($test <=> +$test); + } + function test20e9391b8eaa029a8c15baba69cf62e46e398945d0b8b1d4ef4146d592dec696() + { + $this->assertTrue(true); + fn() => (($test ?? $test) <=> $test); + } + function test25ab0a4de3dadbb7df2f0e1dffa710f4fae5b3ecd847b249fdb48d7c2fe3731c() + { + $this->assertTrue(true); + fn() => ($test <=> $test++); + } + function test2859dc47db1847b1daa5c3a6512879fc47b095874ad12749898bdafd810ab628() + { + $this->assertTrue(true); + fn() => ("{$test}" <=> $test); + } + function test29bf7e802185482e6ba4ca23cab17bd0bd51e2f6a48cbeaada921a8dc4e20236() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ <=> $test); + } + function test2b53c49cedcc4d5dcb7c77d6e91e6cd9c3e49005814678ffc479221334f6de9a() + { + $this->assertTrue(true); + fn() => ($test >> $test <=> $test); + } + function test2e029e1ad9f6569d4a52bc64fe62ee4c2fbc9617a1b1b8f8c50bef02f5949a81() + { + $this->assertTrue(true); + fn() => ($test <=> throw $test); + } + function test306dbece61deee35a7392d26b17ec5e6e803d150e2327d913e3974563191b83e() + { + $this->assertTrue(true); + fn() => ($test <=> !$test); + } + function test3691dfc38ee8361e2ce8ddd5a2980822231ca84bb0a62868a419f61253a27f94() + { + $this->assertTrue(true); + fn() => ($test <=> -$test); + } + function test379c0c797664a01453f20585f36f4096353d6fb541afe4dc5ddc019207f3cf18() + { + $this->assertTrue(true); + fn() => (($test %= $test) <=> $test); + } + function test37bd974f6607d572afee9ab2b6945d9e3532127e62a034cae3cb2db6b88b2133() + { + $this->assertTrue(true); + fn() => ((array) $test <=> $test); + } + function test388fe608300af94a0438a190f078d9465ec1f6948bba17aebf9f55f0daf20961() + { + $this->assertTrue(true); + fn() => (($test <=> $test) <=> $test); + } + function test3bb12c5501212405cf4ebed8345c4d358fea30851dc2b52274035a7dad28a446() + { + $this->assertTrue(true); + fn() => ($test <=> $test[$test]); + } + function test3c41e0b95c88a80434cfba46b42cc7f0f3e4f6811b78e78573a395a6937af836() + { + $this->assertTrue(true); + fn() => (0 <=> $test); + } + function test4078b06a3213dda6a0f66cf1191a76fa6297ef2b6d5685b200ad0584dd80dbc2() + { + $this->assertTrue(true); + fn() => ('test' <=> $test); + } + function test4a949584f842bdfff46e608c898c62d3a4b314126f9b3425cdd39d0dd64481a4() + { + $this->assertTrue(true); + fn() => (($test && $test) <=> $test); + } + function test4e60204c8ed5e59b3493f66589e08282ffb2f091af829bfb280f2a651ab029fb() + { + $this->assertTrue(true); + fn() => (($test /= $test) <=> $test); + } + function test50787da7c0c08486bac86df6c542f0f68df2ed9afae6012d8d128105ad64451a() + { + $this->assertTrue(true); + fn() => (__FILE__ <=> $test); + } + function test52d5054ad6fa80f8ffb69708d016bc6c998a3ea949e5566b71c5a591656fecb7() + { + $this->assertTrue(true); + fn() => ($test <=> ($test ^= $test)); + } + function test56b875eff83ec2fd16ecf09553d098c8cbab829929dc442497fb5f94e72395ec() + { + $this->assertTrue(true); + fn() => ($test <=> ( $test)); + } + function test5ac08c01be58a2e0f11653af8c6bdbb7978995bc964b8c4056df1be69b29b4e5() + { + $this->assertTrue(true); + fn() => (($test || $test) <=> $test); + } + function test5d442effb4d6ba499069de9d9477fa9d386e863b5027d669d5d0af1b9fdced15() + { + $this->assertTrue(true); + fn() => ($test <= $test <=> $test); + } + function test5dfee7e007e825520bf955fbcfec899ae2f62f5026c959c211bbe959ab1b88f3() + { + $this->assertTrue(true); + fn() => ($test % $test <=> $test); + } + function test5e1f24ae083e8c20483ab30268e90cf47fcf9adb3f56609e353ecbdabe0c4046() + { + $this->assertTrue(true); + fn() => (($test !== $test) <=> $test); + } + function test5f0bccd92ef8607ba520e92c8328f1d0af9cbfc095ee3401870af9f3484a02b4() + { + $this->assertTrue(true); + fn() => (($test or $test) <=> $test); + } + function test5fdf2d9e1cfb57e5758b5a596a9cc4e5af944502c6eb9e429535e643c7975136() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ <=> $test); + } + function test68d274b4e425d7cfc867d5cb764fc53de8d24aa6cee13d8d838af509d4dabe9d() + { + $this->assertTrue(true); + fn() => ($test <=> $test::$test); + } + function test6bc6bba59551479922973f74d22bb678b29a9d7c1cde6a910f489c0fb0687b21() + { + $this->assertTrue(true); + fn() => (($test | $test) <=> $test); + } + function test7324f5cfb03c2e24147877d79424966a85558a0ad31f4922fe9ea5f23d6e2693() + { + $this->assertTrue(true); + fn() => ($test <=> $test::$test()); + } + function test7584f9dc12fa4fd3a55cd362b83c6bba8131c9eb56920cf41c3e7b881e27f118() + { + $this->assertTrue(true); + fn() => ((int) $test <=> $test); + } + function test76cc946e106c3c0b0d9a075a130f8defd33832ca31de6933bf189f3cebaaa9f3() + { + $this->assertTrue(true); + fn() => ($test - $test <=> $test); + } + function test7744805cae1f6ca424a5678a123f83b1a7f59ecaee5233e5ce8e8696a5ecf397() + { + $this->assertTrue(true); + fn() => ($test <=> ++$test); + } + function test80b849cde307dd5ec7f8cddb54b0723554be50f20a43b838c8263becc21cb422() + { + $this->assertTrue(true); + fn() => (($test != $test) <=> $test); + } + function test82995d7ef770c4ef54d8646ff340f2cf708c650c6ab032319c93eaa0e768988f() + { + $this->assertTrue(true); + fn() => ($test <=> $test?->{$test}()); + } + function test83df49c6ca1665affa34cd190b7ae5ddcf5a0a603f97bd49c9f08a9fa9b714cd() + { + $this->assertTrue(true); + fn() => ($test <=> ``); + } + function test856d26ded73f4633b68d60431e8c9aba977d59c3b7a18668b0f52cb952bda238() + { + $this->assertTrue(true); + fn() => ($test <=> $test->{$test}()); + } + function test8605fd90d72ab2281cee7c852a8255d16b297bdc4007c51857255df4f7a30ec2() + { + $this->assertTrue(true); + fn() => (($test .= $test) <=> $test); + } + function test86e2131222a249d5de234454a2864838b04e22117f13baf954ac267434da7870() + { + $this->assertTrue(true); + fn() => ($test <=> $test?->{$test}); + } + function test8c6d78cbc6c3cbe9119e2a11c93dcc4997b94af5bbc637f481edd371d0be4fec() + { + $this->assertTrue(true); + fn() => (($test += $test) <=> $test); + } + function test90350fe94bc11084731b99369431c87e6c788634de660edd0384801f4f6389ac() + { + $this->assertTrue(true); + fn() => (($test **= $test) <=> $test); + } + function test9577f2944e327a7f92b0b807ff2b73e909d042f40443de2c2f5676b0eaf7acdb() + { + $this->assertTrue(true); + fn() => (($test *= $test) <=> $test); + } + function test991e23a134f8cc9e11fbc9d26ce9eda783a00a94a4ff3482660b975b90ff681c() + { + $this->assertTrue(true); + fn() => ($test <=> self); + } + function test9bc4245ecba14740dc581eebef6b18f16d55f957b23c6ed4a46a3ec318845051() + { + $this->assertTrue(true); + fn() => ($test <=> ($test ? $test : $test)); + } + function test9c0c35b5e76c4f3f1142a772d169c4a0b7779caf56fc9ac3b0a84974abebb61a() + { + $this->assertTrue(true); + fn() => ($test <=> $test()); + } + function test9edd2e7204690fa929118b4399b8161a8e6554d04f04e015e0915b2bf3ab320e() + { + $this->assertTrue(true); + fn() => ($test <=> $test::${$test}); + } + function test9f5e1d01c1212327a4c468075451ca45a30e4912f85d899c95dbea02fe9e6d8c() + { + $this->assertTrue(true); + fn() => ($test / $test <=> $test); + } + function testa18aff53643744cbdc8f55adc8013168b398b7548d7c6fd027c0eaeb198d4f0e() + { + $this->assertTrue(true); + fn() => ((string) $test <=> $test); + } + function testa28bed67f1021d0b4bda972793ec4892f6368b367fa097fcabdd5894b372f70d() + { + $this->assertTrue(true); + fn() => (($test <<= $test) <=> $test); + } + function testa42e14b9c18dccaad19e3f67c41a4f6f91bf0bc9fe98df5cddd9a4b7716c21f0() + { + $this->assertTrue(true); + fn() => ((object) $test <=> $test); + } + function testa522e5a4f0e75e4e77568fe5b88d08b6889b84d01b4f3209d456b95ed25659b0() + { + $this->assertTrue(true); + fn() => ($test < $test <=> $test); + } + function testa5b46630560b671445919d96bba1ad7db82802398deb5b3fdf4bdf3b2bf02eec() + { + $this->assertTrue(true); + fn() => ($test . $test <=> $test); + } + function testa99fee6bf0481b92b74ca8710cdde43c80f3247fa76d7b691dc5eeb7408d11ec() + { + $this->assertTrue(true); + fn() => ($test <=> (print $test)); + } + function testabc467d03cbd558dc06e1d237f20230a932775b190f888f174a10aa590620736() + { + $this->assertTrue(true); + fn() => ($test <=> []); + } + function testaddc9f405d0a498257e24453171a10410d846e51022352ffdd1c33f1112167f5() + { + $this->assertTrue(true); + fn() => ($test * $test <=> $test); + } + function testb03e2bc5453cc0c047ad6b14791bfc8f8742cecbab4de4b5bc4b2da44dd5bf5c() + { + $this->assertTrue(true); + fn() => (0.0 <=> $test); + } + function testb4222e46c20b99beb4fa921d9d2cbefe6fc81adb95a923018b494c81167f069b() + { + $this->assertTrue(true); + fn() => ($test <=> clone $test); + } + function testbcf218af631e5d98e0cc91ad5bafb3319be8c636700ae53187c154fcbbb8da6e() + { + $this->assertTrue(true); + fn() => (($test & $test) <=> $test); + } + function testbf917c37b63459bcfed03489c48edd3bba15e332b28c7e34dc9981cf6e33b90c() + { + $this->assertTrue(true); + fn() => ($test >= $test <=> $test); + } + function testc08977a37b18468e2ca67f07070a0a34cd30bb5c3345394e999e89d6a0ec14cf() + { + $this->assertTrue(true); + fn() => ($test << $test <=> $test); + } + function testc1132d1ca620dbe127d4a23c61e7455d057ca08f3ff5bcd929f1924672ff3c0c() + { + $this->assertTrue(true); + fn() => (__CLASS__ <=> $test); + } + function testc2b0942514471d033466a4aa56af953ba1aa4d02ed6cd558a448a5e62e7bfa21() + { + $this->assertTrue(true); + fn() => ($test <=> ($test =& $test)); + } + function testc4962831ae0aa64477f8fb9ec3d45c28f5feba7c9d17d3b82ca8b0ec95f130b5() + { + $this->assertTrue(true); + fn() => (($test -= $test) <=> $test); + } + function testc750acaf115c7990def7930c70526f7db84871815d1998606f836d874a131816() + { + $this->assertTrue(true); + fn() => ($test <=> match ($test) { + }); + } + function testc782aa72836d9af089a1b00d52a4bbc3ea282193ad7a30a3771023f45b36b5bc() + { + $this->assertTrue(true); + fn() => (($test |= $test) <=> $test); + } + function testc8de37aabc4fa34017ebbe61c5bc1c0462a5cb91532afb9a6f4800eacff22581() + { + $this->assertTrue(true); + fn() => ($test + $test <=> $test); + } + function testcd05ffddd0e1c4dcd03c07761559df156abf4d01c5d5aa03b98ecc76c025be25() + { + $this->assertTrue(true); + fn() => ($test <=> --$test); + } + function testce4ff49a3b84acdfea6503d7240380998b8e8c4e2b3b4443ea56c45680874b72() + { + $this->assertTrue(true); + fn() => ($test <=> $test); + } + function testce70376f6366dd165fbf68a56db8eea4b8ea0dfafbe4bfe36b7fa5ab2b9efdd3() + { + $this->assertTrue(true); + fn() => ($test <=> (yield $test => $test)); + } + function testce87a2c5d78ab970c4dc1b5f086c79374ff9bad48e591b60ddab63d3051b6522() + { + $this->assertTrue(true); + fn() => (__METHOD__ <=> $test); + } + function testcf652f97596b94479d8d162b41ca6b8da3dbd2fe80516ac4d4ae26cc15b761b3() + { + $this->assertTrue(true); + fn() => ($test <=> ~$test); + } + function testd87b087898e49eb6fade1bdca60035a96499174b03ad19ccfafd5795cc394f97() + { + $this->assertTrue(true); + fn() => ($test <=> $test->{$test}); + } + function testdbcfb64d8f41f449d11ac43aeb82588a55614670966a795469b0b22ab934ffb6() + { + $this->assertTrue(true); + fn() => (($test xor $test) <=> $test); + } + function testdc32c51756d4be402faebaa94a9d4f2a20f272bca47b647ac558ad2d2e796187() + { + $this->assertTrue(true); + fn() => ((double) $test <=> $test); + } + function testdc9f7c036d267fc682570f2d7dcfc2139c71ee2d657f9594f72ec25be087f57d() + { + $this->assertTrue(true); + fn() => (__LINE__ <=> $test); + } + function teste2f32241943a3f975e659e234adedc7ee9c4fbab20bce5a3bd0905003b2a77be() + { + $this->assertTrue(true); + fn() => (($test ^ $test) <=> $test); + } + function teste30b54a41d0ec5505e31e5e125d461d08a002d08b566cf68b4bcf4523f337f8f() + { + $this->assertTrue(true); + fn() => (($test and $test) <=> $test); + } + function teste36f2d4bfed5c3dc9f3070cff975b54b2f615b336ecf324c0a782fdc1f7bc057() + { + $this->assertTrue(true); + fn() => (($test == $test) <=> $test); + } + function teste4a27882d26933e68298a3b87e0e8ccf910f9cc9ac9591c9e2c06ecd02902889() + { + $this->assertTrue(true); + fn() => ($test > $test <=> $test); + } + function teste7c263e3264a0f621d003551226c4c0efd7c1ebd1758f7fd441827bb0d5aa1a7() + { + $this->assertTrue(true); + fn() => ($test <=> @$test); + } + function teste82d8888af838332d454704dbeacc31ffa300861faaed288ad53602ae7fd8306() + { + $this->assertTrue(true); + fn() => ($test <=> empty($test)); + } + function teste9ed73895fe97b9d1bbc87ea9d255e7da531f059055befc5d555582ef5e81e72() + { + $this->assertTrue(true); + fn() => (__TRAIT__ <=> $test); + } + function testeb7eadda4fc521eaea03eafd702fd0b2fc262b56f3f2850af94140d4e689f124() + { + $this->assertTrue(true); + fn() => ($test <=> $test--); + } + function testf6391215966e2e06fc0e515faa68dbb624e9458c369caa911170566c7f424dd6() + { + $this->assertTrue(true); + fn() => ($test <=> ${$test}); + } + function testfb1d2fcf8412a3e66dcd94b0d7a562f5d434959a9ad07eec4361e221229a1f2e() + { + $this->assertTrue(true); + fn() => ($test <=> $test instanceof $test); + } + function testfb92a9db1291064af4c021d3eded92fb48006c62ca70cc207c65c1e7ffaf936d() + { + $this->assertTrue(true); + fn() => ($test <=> ($test &= $test)); + } + function testfd495578d2be5d1aa761dd6b996a1d4c11f475157eadf7fb25df14b29d7b025f() + { + $this->assertTrue(true); + fn() => ($test <=> new $test()); + } + function testfdbfb20edc7c3fcc805992b29e326861ae72dbecea125ff89c11c4dfb87ca881() + { + $this->assertTrue(true); + fn() => (__DIR__ <=> $test); + } + function testfdcb5b0efaf832bb059dff3010611b3d70224e0eaf1d1c976e69b4ff1f70bf2e() + { + $this->assertTrue(true); + fn() => ((bool) $test <=> $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test.php b/testsGenerated/Target/Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test.php new file mode 100644 index 000000000..458d358cc --- /dev/null +++ b/testsGenerated/Target/Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionab888634eb7e2d0f7a96f734892e73703936c1ad094242840e0671f1f99a9c06Test extends TestCase +{ + function test06f21bbd96807e6f97dfaef26a8c1d662b467877c2c0923fc7a41b1100ad4998() + { + $this->assertTrue(true); + fn() => ($test == (int) $test); + } + function test083d0b8f0b9265b607af8f9e7b97dd7e837a23a2a02a0ee4572f2e3999847c4f() + { + $this->assertTrue(true); + fn() => ($test == ($test || $test)); + } + function test0be3c9ce3a08ad1410fe498e081c483cf637988c8773ea84d939623b47690e96() + { + $this->assertTrue(true); + fn() => ($test == ($test != $test)); + } + function test0c63bf635e8dbe7c46ba5fc4fb461cd24ae5d262bcff0710e2b199eddfe8924f() + { + $this->assertTrue(true); + fn() => ($test == $test > $test); + } + function test145d7dcbafb94fa8e58abd3c8f053dc3e20cd60323539e071f6d928e0e304065() + { + $this->assertTrue(true); + fn() => ($test == __NAMESPACE__); + } + function test15823df3947a8315d5259e9f0be3861a6ac32a813bad2e49ee805ebde19528ca() + { + $this->assertTrue(true); + fn() => ($test == $test . $test); + } + function test181d9133bc11fe49318fae25e8e0dbc6e049980d1bb59f323c4ae9f66f311150() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() > $test); + } + function test1a26886e65b0120938d427bac8b4ad098672b69e8d6bf0d20d77e7b469d58d61() + { + $this->assertTrue(true); + fn() => ($test == __DIR__); + } + function test1b7899714a3907dfd3589132d7cbc7fbd0cccff6b4d0fe8eea77c1d89b85d4fa() + { + $this->assertTrue(true); + fn() => ($test == 'test'); + } + function test22f3a7d39139b0b67744800ea0b89ac6d35ceb3f8c74dec431b415f6e27f893d() + { + $this->assertTrue(true); + fn() => ($test == __FILE__); + } + function test254d8fa613f31c19e34da092ce95480e397801639c71b22e54a5528a775ac603() + { + $this->assertTrue(true); + fn() => ($test == ($test *= $test)); + } + function test257e7698d39500ab22b65f626f8408b47733b0716f9af8825885f9bcce4e282f() + { + $this->assertTrue(true); + fn() => ($test == (string) $test); + } + function test25b5d130a5b95da1c6101160c1884a6bc43efb4a28560acfb7c8ba163de06118() + { + $this->assertTrue(true); + fn() => ($test == ($test .= $test)); + } + function test26ea6a1bd744e4df9ef29b133c480b578c135d82001166faa3af9a489d1100c6() + { + $this->assertTrue(true); + fn() => ($test == ($test += $test)); + } + function test2835519be8c950582c9a41eb3996b8904ba7164a2d074470c67de5292eefd6c2() + { + $this->assertTrue(true); + fn() => ($test == (array) $test); + } + function test291d8c7c9b623a95153ab04ee05bc26332476347dc0aa7c9e95290f8ea4499c3() + { + $this->assertTrue(true); + fn() => ($test == (yield $test => $test)); + } + function test33cb5d74be79a8096cc4e31ec17a8c27c6b2fbe0d89fa2637a79dadd0e0de956() + { + $this->assertTrue(true); + fn() => ($test == ($test >>= $test)); + } + function test3843433f6c3af68ffff46ba888b9ce8f60a6a87d44edfff5d591a111226bcbda() + { + $this->assertTrue(true); + fn() => ($test == $test < $test); + } + function test3bfaf9515b9647dd45ee97fa32c1b711e11078bac94128daf9d6c03db723b300() + { + $this->assertTrue(true); + fn() => ($test == __METHOD__); + } + function test3eb1ef0979dc431baca040675707132bef2488467a60c5eb6c50f96c0d172b7b() + { + $this->assertTrue(true); + fn() => ($test == ($test -= $test)); + } + function test41816eada82879d25273dde789103601c66fdd5d9bc67079520e7f6743bc0f76() + { + $this->assertTrue(true); + fn() => ($test == 0.0); + } + function test46b6c8a7c869cd7591c91dcdb73a50ce36df48bf15359efaf85339ab34179ea2() + { + $this->assertTrue(true); + fn() => (~$test > $test); + } + function test4712e7d9e892f67549ec6408590d2977174b744e73fedb782f2b74c178cfb930() + { + $this->assertTrue(true); + fn() => ($test++ > $test); + } + function test47304d4bdc592c39233fa844c4e0bb703a530dc2d93c034208044911bce9d593() + { + $this->assertTrue(true); + fn() => (${$test} > $test); + } + function test4a35a221efb4357f4e555f0405ddcc5206110012417eb7df784730a6e7d786ea() + { + $this->assertTrue(true); + fn() => (match ($test) { + } > $test); + } + function test4d8bfc1e0a51cb033fe58cdf94e40f0840912a2fa027fcd475a74d4cffa05a7b() + { + $this->assertTrue(true); + fn() => ($test == (double) $test); + } + function test4f0a8230365e904bfd9c0072b4ba69ab2c9c624be0d4b7f8cd7a23e14c6a90a8() + { + $this->assertTrue(true); + fn() => ($test == $test % $test); + } + function test51ec2055bc7a384c9066b54847ed94ac6b28227705a3d819db71bc805bc06dfc() + { + $this->assertTrue(true); + fn() => ($test == ($test or $test)); + } + function test53407ff7687a59baf3c3de93283c0ff3a2e3e52195a627d3bad5cc1d63d0c53b() + { + $this->assertTrue(true); + fn() => ($test == $test <= $test); + } + function test534b9c902795e1cace1f1e9fab0530b260cee691bbdd4033541769096b03fa85() + { + $this->assertTrue(true); + fn() => ($test > $test); + } + function test560a1ae914b592e657dff45e1cebb5a91417bbb6f15aceb2b4e2adbf64462a17() + { + $this->assertTrue(true); + fn() => ($test == ($test && $test)); + } + function test5b064b2892f373dddd6dda52521a096ba82d5574a32251798d99a618b04d063f() + { + $this->assertTrue(true); + fn() => ($test == $test << $test); + } + function test5c0e02fdf4c432eab2d09d33deee6ac2162e00493e70dd263599896bc01dabc1() + { + $this->assertTrue(true); + fn() => ((yield from $test) > $test); + } + function test5e3d703a255154ce239e30fd7493d33ee7f39e6dcee170ff439c4054ced7df00() + { + $this->assertTrue(true); + fn() => (new $test() > $test); + } + function test5e51a3c0756616bde1fb24212648aadab238deb8da3d36d0e256412d82c56b42() + { + $this->assertTrue(true); + fn() => ($test?->{$test} > $test); + } + function test60c0c9533ef5a97df7a48fa05528ec301ccead44b709924acd7af8740aba42b7() + { + $this->assertTrue(true); + fn() => ($test == 0); + } + function test6229f08a93251b47c866fe26231bd4c4ace61ee0415e75b966f3cb6bf3296d56() + { + $this->assertTrue(true); + fn() => ($test == ($test !== $test)); + } + function test625aadf69fa6cfb00490032e4fbdb67ac3965e4cf3a670384227a87588aa3411() + { + $this->assertTrue(true); + fn() => ($test instanceof $test > $test); + } + function test6343190148ff19a9e4478aa55c414ab4ae2ee782c9ae856ea2612114686f96e0() + { + $this->assertTrue(true); + fn() => (isset($test) > $test); + } + function test63fd9bf5cbea47d4a272915e56283b0238860b3f4e88851a0308a2de42c8cbb4() + { + $this->assertTrue(true); + fn() => ($test == ($test === $test)); + } + function test678017ed21743bf7f013da43424e712c052cd6abdde3931dfd401459826a6afa() + { + $this->assertTrue(true); + fn() => ($test == ($test /= $test)); + } + function test67d30250199128eeaca781b48cf0f80fa1a0bcb7465eddf0cebd3f012d9cc970() + { + $this->assertTrue(true); + fn() => ($test() > $test); + } + function test68b8165dfc44a257397daad5b5d83da819b9d24d579507af4b9aaa3bab90f536() + { + $this->assertTrue(true); + fn() => ($test == $test + $test); + } + function test6b6fc662c18b74db10a7464738da1ab0a2ac71c0c1ed8906114429c35915e1df() + { + $this->assertTrue(true); + fn() => ($test == ($test ^= $test)); + } + function test6e32c70d574763a06c055f0700201a703e71540421b34a901f0f8119979427bf() + { + $this->assertTrue(true); + fn() => ($test == ($test **= $test)); + } + function test6ef4afe05a59da6f43f7f38e1b052b9c85f311ec06c3debf9b3520ad43dfd13e() + { + $this->assertTrue(true); + fn() => ($test == $test >> $test); + } + function test7671b794ff69dd4ffb77086874f0e91896cffb2b696cc3390c3c8b562ae54b4d() + { + $this->assertTrue(true); + fn() => ($test == "{$test}"); + } + function test7b4bc215fd2d3bcefa1ec5c4b54ec196329ad6f50c25b3ddbe38868eac1b12bf() + { + $this->assertTrue(true); + fn() => ($test == ($test ??= $test)); + } + function test7cb9b4c58c6eab3cdf3fc47780fe34fa2a34f7dd6de07fadba373b8c94815b7d() + { + $this->assertTrue(true); + fn() => (`` > $test); + } + function test7d9e517402bbd15beebd4e357051e6fadf1b15cf62e39b4c5d3ea0b68dfc08ca() + { + $this->assertTrue(true); + fn() => ($test == ($test |= $test)); + } + function test7eb2dbabe8a82db7032c3b41b4251ec5c400815b5b792ad5ae7d7a923d1aeadd() + { + $this->assertTrue(true); + fn() => ($test == __FUNCTION__); + } + function test84d782b409497a8a14757399b8d0eafae10727fb73343132d5f3ffa19903ad39() + { + $this->assertTrue(true); + fn() => (--$test > $test); + } + function test88c3539a9ec3bf9e4c529be56a7ffb0d4f85217295e02167fadf3cbd6d65c7e5() + { + $this->assertTrue(true); + fn() => ($test-- > $test); + } + function test8a0d676bb3b2e2fae5f76c98f30fd8d25fd2672af4fa74904d8a8ca236a99d3e() + { + $this->assertTrue(true); + fn() => ($test == ($test <<= $test)); + } + function test8b3a64d8e6b9db43704a2c2f99b7d6b9e5ef2c51e5455e2ed907d7169e05ee74() + { + $this->assertTrue(true); + fn() => ($test->{$test}() > $test); + } + function test8f38d32160a740c70615ba9b6cdff00fed7bd6401f39d1200e386c3b1d744e24() + { + $this->assertTrue(true); + fn() => ($test == ($test xor $test)); + } + function test8f9528e2917c1df94edd41094963f47907fd6cb0c7c67b61cc0e307063b35c6b() + { + $this->assertTrue(true); + fn() => (empty($test) > $test); + } + function test967cd7ed1a2a45a1eae7a73f33adc26b6297dad80a4d763f36198b784cf6960f() + { + $this->assertTrue(true); + fn() => ($test == ($test | $test)); + } + function test9a8dc1fdf12e357da551a0c5397a05c45e5b57807c616c0f510716a04a6dce6d() + { + $this->assertTrue(true); + fn() => (($test =& $test) > $test); + } + function testa5c8f5cec939d4d7d8ec6da3f2000a49d55104403a22d4e8bb0d511696789c3a() + { + $this->assertTrue(true); + fn() => ($test == ($test == $test)); + } + function testa70dcb1e95bf8d109ab5edcdf8731afc2a9c7361ecd1856f8b8a433aa7ef8aa4() + { + $this->assertTrue(true); + fn() => (clone $test > $test); + } + function testacbc5b366ae17d7e96c4c9c01a0143e163936c6475f1787f8e73ac21144d1b42() + { + $this->assertTrue(true); + fn() => (!$test > $test); + } + function testaf541d88483171366c87881a96c99c080858ea9913a914bd964228c5ad6133ef() + { + $this->assertTrue(true); + fn() => (throw $test > $test); + } + function testaf8dc7b2bc0db8175a0d2fc4b5106edf65b5398ebeeb6ad0c6fd57223421eb4d() + { + $this->assertTrue(true); + fn() => ($test == +$test); + } + function testb19f6ceedfa8540bcac03d0d74789d3e621da17b9c7c7b1aa912f3fc1b7bdf07() + { + $this->assertTrue(true); + fn() => (++$test > $test); + } + function testb80f1d61d0493980188b04127dc7dae69583eaf1488191938a1ac047d6d722e6() + { + $this->assertTrue(true); + fn() => ($test == $test ** $test); + } + function testb92226a8791bce30742097f8aa7840e8c40688750de872adba22490b2335b321() + { + $this->assertTrue(true); + fn() => ($test == (object) $test); + } + function testbe1cf9a3294f1df61d542e63e117fc97bbebef82f891ada278385e6daab27831() + { + $this->assertTrue(true); + fn() => ($test == __TRAIT__); + } + function testbebe5311e2dd179347d77a58009c3aa72a3e123673502586f1a3aa1d9a30d556() + { + $this->assertTrue(true); + fn() => ($test == ($test &= $test)); + } + function testbf0d73513986c39c2df55b327a356d5b7f4d35f785cb801b0b46f6db528b7e1b() + { + $this->assertTrue(true); + fn() => ($test->{$test} > $test); + } + function testc010fca2b8c72d78dd32a054f0d2b386bcd8034230e65420d0137394c0046d02() + { + $this->assertTrue(true); + fn() => ($test == __LINE__); + } + function testc015d139c8be60578a23629fd001c819118c744be16acf3b31770c46b91f7886() + { + $this->assertTrue(true); + fn() => (function () { + } > $test); + } + function testc16792fe62194254426167d37f084b2cda028cd4af81ccb7ec2b09964c62f43a() + { + $this->assertTrue(true); + fn() => ($test::${$test} > $test); + } + function testc41531d0e2b7feec84ee5d888419352f7f0c60603c1187bac9bdb6f93b0eadac() + { + $this->assertTrue(true); + fn() => (self > $test); + } + function testc4fe367e3f2f3a92db4d965f0eb51100eaad2f6bb02e9ac08480e914ca25bfa6() + { + $this->assertTrue(true); + fn() => (+$test > $test); + } + function testc5742021aac1cce70dd469a5464d9f4ef8ac13a1b259e7279c5169087f523aac() + { + $this->assertTrue(true); + fn() => ($test == ${$test}); + } + function testca84ec56568aa856d0bfd072dce68b9f26446ec201477227d3e00667ce36573d() + { + $this->assertTrue(true); + fn() => ($test == (bool) $test); + } + function testcc0cdcd29ac2f5d0b90bbc2bb414321a29f8a3c34ca553f00af6d34d94c8a1ca() + { + $this->assertTrue(true); + fn() => (-$test > $test); + } + function testcc3509b43f86727d1b46a4f6c8c54da48fe17f266ce7df418fbeb083ddd03c51() + { + $this->assertTrue(true); + fn() => ((print $test) > $test); + } + function testd59e332cf0cb8d95f23e119c8a5166ea59dd05091423371c3d632a8077d7f387() + { + $this->assertTrue(true); + fn() => (@$test > $test); + } + function testd5a65ac5a58c29fdc88e06e291cc41db41de8e36ed80889b28b45b095768b00d() + { + $this->assertTrue(true); + fn() => ($test == ($test & $test)); + } + function testd5c12d9bbb388e064c1846eb1ee3fc04fa7336975a1b77e3aef0fe82f3c43f90() + { + $this->assertTrue(true); + fn() => ($test == ($test <=> $test)); + } + function testd7541ed275f2589dfb2a85a3807f9c7fa126fe38fdbfc72a5388992d7f3e74f7() + { + $this->assertTrue(true); + fn() => (($test = $test) > $test); + } + function testdc32a245d67d0ba46d3503fdd561d88a96f6037ee83adf0f4d0fdcf6a3be414e() + { + $this->assertTrue(true); + fn() => ($test == $test * $test); + } + function teste3ed5fd91259bf5d550f3eadc30aab859ef6a623ae7f3b39dbd9e36b936030ab() + { + $this->assertTrue(true); + fn() => ($test::$test > $test); + } + function teste5f3fb4b0c2cb333e3c2eef08d13c05e03e1d41ff0e854e5f8366bf1806971e6() + { + $this->assertTrue(true); + fn() => (( $test) > $test); + } + function teste99774e1cc79f75c4da0399f8dba011aeb44df9ebe0aab1d58a5bf725e2ee048() + { + $this->assertTrue(true); + fn() => ([] > $test); + } + function teste9caad45c185775a8df6cf6dc705640f1304782e3cf5e5a01dcabe44452e840d() + { + $this->assertTrue(true); + fn() => ($test == (yield from $test)); + } + function testea6a2c5b77d22f94fd4db6bc8b40fa91d16ef8ed5c9b26f706ed91b39021a6f5() + { + $this->assertTrue(true); + fn() => ($test::$test() > $test); + } + function testead8a96ebf92c436216ffc5df9cd98eb356fbf85332aad0d892ba02914ebaa08() + { + $this->assertTrue(true); + fn() => ($test == $test / $test); + } + function tested78658dba3637204dde5a2ed826665a7a6e9a99b02f4c6e4e1bfe2c89a31d14() + { + $this->assertTrue(true); + fn() => ($test == ($test ^ $test)); + } + function testedd057d053705999b73e71acc0960b29a88259d235247fbbfd50530fca18abaf() + { + $this->assertTrue(true); + fn() => ($test == ($test %= $test)); + } + function testee6c29c4015e48fc8781eb8001c6d684b098633df1e1f2ba35a66c64d6b1715f() + { + $this->assertTrue(true); + fn() => ($test == __CLASS__); + } + function testefcfd18c83e17335c363aad32f0ffcf886274b4fa05df3c27df2c7027a82040c() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) > $test); + } + function testf03d55e14f4189d2465817c8bcd80c650de5880f3e799578e6d8f4cb7b1e7b35() + { + $this->assertTrue(true); + fn() => ($test == ($test ?? $test)); + } + function testf11d8ef397069849ec7a32c856704a4cd4319d8deb2d8fb5709766985ab130a0() + { + $this->assertTrue(true); + fn() => ($test == $test - $test); + } + function testf4762ac90777cd1ab7ffbe7054e3f1d97e3b6aec5f301b8ac38b0573a3895d43() + { + $this->assertTrue(true); + fn() => (eval($test) > $test); + } + function testf7ba5d7b0ca6d7b35815bb52afdb4655720903b79215d88bbfebe10442a95827() + { + $this->assertTrue(true); + fn() => ($test == $test >= $test); + } + function testfc411b2c9fffcd1a824e8319a68c5680cef6c0749daf20f308d2ff056b5170d9() + { + $this->assertTrue(true); + fn() => ($test[$test] > $test); + } + function testfcb17f9ab3f3505788508ac1cf6952389446ce9523d459e34de45ee5c0e7f76a() + { + $this->assertTrue(true); + fn() => ($test == ($test and $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest.php b/testsGenerated/Target/Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest.php new file mode 100644 index 000000000..5b3244d89 --- /dev/null +++ b/testsGenerated/Target/Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionabe375b9bae531a236025fc60d6faff8271fc5503b3c1ea0902e3969a82f851dTest extends TestCase +{ + function test02e6c667d4ad4d1ab0d7a18b3ab58b827af85344fec5ecac0f868cd790b73c02() + { + $this->assertTrue(true); + fn() => ($test ^ ($test |= $test)); + } + function test0728c1f270a8b323eb1d41977d694e72a9001bea9e08374ee4f055e5db787d71() + { + $this->assertTrue(true); + fn() => ($test ^ ($test **= $test)); + } + function test0ce05330f664f13620c26ef4913bfec2cac61435b1bb3ffaa0f064fcb596d23e() + { + $this->assertTrue(true); + fn() => ($test ^ throw $test); + } + function test0cee29b28b78f388eb95ab1d3330d63b8956746998ca0ad0efd6100edf199434() + { + $this->assertTrue(true); + fn() => ($test ^ (bool) $test); + } + function test0d72cc5b03d4356e54c797203d494031a5ada0f5cea247cf5de0499401d80651() + { + $this->assertTrue(true); + fn() => ($test ^ ($test *= $test)); + } + function test0e72bd2f64da29b0a52781366308df8c9a3616e48c43830072f4505a1c4f4179() + { + $this->assertTrue(true); + fn() => ($test ^ ($test .= $test)); + } + function test10b827a667e7f2c35738a40c283d6fa78dca453947d276afc9662858a2a912a6() + { + $this->assertTrue(true); + fn() => ($test ^ $test()); + } + function test134edbf73cf6014c685ccdf54ea1246c3161e067eb14ccb241d4b22d99128c0c() + { + $this->assertTrue(true); + fn() => ($test ^ self); + } + function test15ac3acbf19b1d5a1beb61054296eb258952fe007cfd1679a2c132bfc5f99f08() + { + $this->assertTrue(true); + fn() => ($test ^ clone $test); + } + function test19cfabc103f7013053cd65b407b0f4e9e40a5618e7983813b6c38fc21a4c6c02() + { + $this->assertTrue(true); + fn() => ($test ^ ($test /= $test)); + } + function test1a08490c667f141bbb363a1ccc27c83805cc770158cf897192bf17724b814e3b() + { + $this->assertTrue(true); + fn() => ($test ^ ++$test); + } + function test1a6203f1add37236ea39e6a75764485ac554d41f088c78403612d93015947212() + { + $this->assertTrue(true); + fn() => ($test ^ $test < $test); + } + function test1b29adf00ca4a0113042c2fc131146b42f9d6fbfd1f94c0c0627ea3903680334() + { + $this->assertTrue(true); + fn() => ($test ^ $test++); + } + function test1c16653df9e1b28a19afa7f1df11b07bae1b7060db2d524f119cda195da6bf36() + { + $this->assertTrue(true); + fn() => ($test ^ ($test or $test)); + } + function test1e86033dd5c74dd41d5cb3908a8e138dd99abf15ca1570eae4188423c21dc93b() + { + $this->assertTrue(true); + fn() => ($test ^ ($test %= $test)); + } + function test1e89c004666eb63790641dbf38c39925b9a7f1a16576c85c500b9dcaa5580957() + { + $this->assertTrue(true); + fn() => ($test ^ ($test || $test)); + } + function test20547f167cfc3e14f75f6b925ecba60241b99f8e126c2967415be949fea1da60() + { + $this->assertTrue(true); + fn() => ($test ^ $test::$test); + } + function test214cf0f73fc0462fef872a2a21b698e16d2f24eb7b9fc1281ef7d2007d54d8e5() + { + $this->assertTrue(true); + fn() => ($test ^ ($test ^ $test)); + } + function test2344b281904440e10cad0324c64f6942123bd9c91c229234edcd2b6c3637719e() + { + $this->assertTrue(true); + fn() => ($test ^ ($test = $test)); + } + function test254c33667282dde66f47695742736523ec570a9ab588013b4ca516f9f2f81f86() + { + $this->assertTrue(true); + fn() => ($test ^ __DIR__); + } + function test2704ecd00802e891ea0a5ec9e947e278982f9190e1d31691415658c6fb74be50() + { + $this->assertTrue(true); + fn() => ($test ^ ($test | $test)); + } + function test272f7b1b5747acf135a13485e4fa3fd3505186d854f0ca4a6a71dd42a878111b() + { + $this->assertTrue(true); + fn() => ($test ^ $test . $test); + } + function test2b49d495932fe296e4bedf62c4087057c4853b7ab7db752c44a76f39f9b7d692() + { + $this->assertTrue(true); + fn() => ($test ^ !$test); + } + function test2cc00a6dbc71fe10aefa23ca23af7ca1e5bed76739fcdcea231311dda6803731() + { + $this->assertTrue(true); + fn() => ($test ^ $test <=> $test); + } + function test2e5a8d5b17fc5cee781cfdba8e8dffa0cbdfe80334ede69a6c31e6a8fd624ac0() + { + $this->assertTrue(true); + fn() => ($test ^ (print $test)); + } + function test2f7358970ea3a94a865b58bc4917a8af8990daecb1ce881a8ef7e2c0ad92d658() + { + $this->assertTrue(true); + fn() => ($test ^ $test::${$test}); + } + function test3346f2d6082fb4a2aeda1d2741214f78fadf3b3fde57763b4461b3e00a29035f() + { + $this->assertTrue(true); + fn() => ($test ^ $test - $test); + } + function test37c418a4c0caf953812f82c92b03037113b8ace658e388add0feb1976f17c2e5() + { + $this->assertTrue(true); + fn() => ($test ^ 'test'); + } + function test3e3b4352b50be0e8001a7c64a53e9b8aac84b473ec3c516a5ec860d2984fc7c2() + { + $this->assertTrue(true); + fn() => ($test ^ ($test -= $test)); + } + function test3e3e06b48b2ac2077ce97b15c35d0e4607f1df833dd101a921a5e143beef1263() + { + $this->assertTrue(true); + fn() => ($test ^ $test?->{$test}); + } + function test41d951452a44e3c56f48a3839be38df8e2ff8209e1f425013ce22a5ffa2a6b90() + { + $this->assertTrue(true); + fn() => ($test ^ (string) $test); + } + function test46b19ceaf107dbfe83a2dda675bcedbc0695a412deb604c5dd4ba278149c395a() + { + $this->assertTrue(true); + fn() => ($test ^ ( $test)); + } + function test47fcaa011f3bc6b3d2c36109df0fce39a193b0cef3a5db61d035178e641fa224() + { + $this->assertTrue(true); + fn() => ($test ^ ($test =& $test)); + } + function test49dc3a5a429dab0710a1ba3f4f2f05b001a21fd948e6218d2bdca38e6de207a4() + { + $this->assertTrue(true); + fn() => ($test ^ $test >> $test); + } + function test508b61ade7c461d929bd81380f4beb5a858c9950c4d656e7c84f29b7bcb6ecd1() + { + $this->assertTrue(true); + fn() => ($test ^ ($test ?? $test)); + } + function test545e63f08b2d93d2f06adfa1721963ac68e1c136613733447d44d82648a4948b() + { + $this->assertTrue(true); + fn() => ($test ^ $test instanceof $test); + } + function test55d64f150d60f7ebd4674cc7ef28a78d6fd519e438c27acd3b896d16eef43f97() + { + $this->assertTrue(true); + fn() => ($test ^ ($test ^= $test)); + } + function test5e2c052e4ea9aa31d6e548b53576f6980622a3ed92e1ab3befe160ae24d7b733() + { + $this->assertTrue(true); + fn() => ($test ^ $test >= $test); + } + function test5f4eee826543f9da1a303c26d5d830f9da484134cfa67806b8b6a9d4b990fc25() + { + $this->assertTrue(true); + fn() => ($test ^ $test::$test()); + } + function test6426c723e95ff086453360599e709f3fa4b0c9afca3b1d9a34b1cbfaa73cc145() + { + $this->assertTrue(true); + fn() => ($test ^ __NAMESPACE__); + } + function test653e41ee99ca93390c8fea94d49d399ab9f4952d4b3d9eac1f2c6d6439ca9743() + { + $this->assertTrue(true); + fn() => ($test ^ match ($test) { + }); + } + function test65a6fb673305e26597ac7fb4b44f397c3d81acef456c543dc96c3f09c2c1ab41() + { + $this->assertTrue(true); + fn() => ($test ^ empty($test)); + } + function test69db701c1b79cc618a30d1ef024ab7c8f3111ee5c7cd35a46cc4f25fa5bca19c() + { + $this->assertTrue(true); + fn() => ($test ^ (object) $test); + } + function test6e7907cdb214d2948870ab5d423337b52a714575970c451cb890ce217cc08e6a() + { + $this->assertTrue(true); + fn() => ($test ^ ($test ? $test : $test)); + } + function test6edd27041294fc0cf7dd5096a5de0b366f9f55ef7dd57906ffdaa966019af006() + { + $this->assertTrue(true); + fn() => ($test ^ ($test <<= $test)); + } + function test716dca89a2fd2c77af2a2c768cf889a7837d4898a846564bff362cd829daffa5() + { + $this->assertTrue(true); + fn() => ($test ^ eval($test)); + } + function test71f61294de44af09a8c5f86f7a0a67b24ef3120aac2daeb32e9fdee4c02bada8() + { + $this->assertTrue(true); + fn() => ($test ^ __FILE__); + } + function test73b73908efd758312ece5b8ae683ca6dab49ac4c634bceff51c09db8e8b4e310() + { + $this->assertTrue(true); + fn() => ($test ^ -$test); + } + function test7db4ff3651bf508b60618cc6812aa2fdfe263fb29807820461344209262a1d67() + { + $this->assertTrue(true); + fn() => ($test ^ $test == $test); + } + function test7e519b31873c2cbb22b3c9739d12d9ff4cb985dee313294c23a5bf3254e45e4c() + { + $this->assertTrue(true); + fn() => ($test ^ $test !== $test); + } + function test7ecce9a02e5d4c846e91a4555a2a734699eaea8502d893a6debf32a42a2eeef4() + { + $this->assertTrue(true); + fn() => ($test ^ $test[$test]); + } + function test7f9bf5895a1e021ee51edd189f9c50048855282c8ac10aaee9e6cd6502017d85() + { + $this->assertTrue(true); + fn() => ($test ^ (yield $test => $test)); + } + function test85e917cecbb6ca826586285c0069a160e0cd43548f7c2d1f61a89be715749985() + { + $this->assertTrue(true); + fn() => ($test ^ --$test); + } + function test8644c64cd421f4d8ffcd3cf0858ca8d7ae984e8011ebeb6420f4b2c2a79cdb2d() + { + $this->assertTrue(true); + fn() => ($test ^ ($test >>= $test)); + } + function test877b88292231d4cd729e3727256db0d3fd98a179e11fff63dcab796f38e76ad9() + { + $this->assertTrue(true); + fn() => ($test ^ ($test &= $test)); + } + function test89e06c7c4ab808125dbe90d0b276630461b5767961abe6cd4f425ba57b2c5dae() + { + $this->assertTrue(true); + fn() => ($test ^ __TRAIT__); + } + function test8a11360a5e9010bbf329cfbcd8240ae5f5d74dff29e59352b121c8887fb6abb7() + { + $this->assertTrue(true); + fn() => ($test ^ $test); + } + function test8c8e4a0cd00972603e415755837aa18f22d23fdf20c211f6860b801aba2f70e1() + { + $this->assertTrue(true); + fn() => ($test ^ __CLASS__); + } + function test9455e0d9cd701abc03fc25cccf0f36bcb351a9e4ee9849ae1377207f608ef956() + { + $this->assertTrue(true); + fn() => ($test ^ (array) $test); + } + function test96252d11e0ff279f9a551f457f40a926c632b663a36788815fc4082f4c1b3144() + { + $this->assertTrue(true); + fn() => ($test ^ function () { + }); + } + function test99e582e7d6298d078e370fe53e6443feed0552683a226278310831dd1b2712a4() + { + $this->assertTrue(true); + fn() => ($test ^ 0.0); + } + function test9b8feb2a99491d87cc91aaea0a6747179cce7eb9c7fe063f25d1f483545d7d41() + { + $this->assertTrue(true); + fn() => ($test ^ $test->{$test}()); + } + function testa45d1c50780fbcdb4e3fd1e79dbbf0176d2d1b12b59d73846843abe70eaaf14f() + { + $this->assertTrue(true); + fn() => ($test ^ $test != $test); + } + function testa47b90a4afd577dd737c863c7620de366f945d70ecd395d1de0d79c170d445b3() + { + $this->assertTrue(true); + fn() => ($test ^ $test->{$test}); + } + function testa8af8a2765d1bd6095b659a07b48bbac7e94d3add00b0c15bb97526746276745() + { + $this->assertTrue(true); + fn() => ($test ^ $test ** $test); + } + function testa8b439f0ba8d78ff2d01e6783b7b620cbb92100d5296bc9f73626b3bedb1a3c9() + { + $this->assertTrue(true); + fn() => ($test ^ $test?->{$test}()); + } + function testa8b680194258503b1dcdef09aaa09d82d58be1a89cb1591e5c2e6a8c65dce742() + { + $this->assertTrue(true); + fn() => ($test ^ "{$test}"); + } + function testa91edcfb474e77a7182e28218c7211f460e3f69a375a0b3ccd039bcfdc20030b() + { + $this->assertTrue(true); + fn() => ($test ^ (double) $test); + } + function testaae71ceaacf5d14c751416f8ffc630d489999fe16cfd89f31f60717b7c4dca7a() + { + $this->assertTrue(true); + fn() => ($test ^ $test + $test); + } + function testabcdff29e380c5da53037a92ed990a353696be8a872e1ca8db360cea5b339f53() + { + $this->assertTrue(true); + fn() => ($test ^ ($test and $test)); + } + function testaec51dd6fbed0650195de6460a314bf4660a4154ae66ee60bf94fb5fdb49991d() + { + $this->assertTrue(true); + fn() => ($test ^ $test % $test); + } + function testb41bc82205512fa334c2b54f68bf620283e7e4001f888f0f52afb23d4474435f() + { + $this->assertTrue(true); + fn() => ($test ^ $test === $test); + } + function testb6481b666cccdd5ab5db24a1fc194650340a514a5bfba319fade8a298544ae56() + { + $this->assertTrue(true); + fn() => ($test ^ +$test); + } + function testb76a9f15783ffed560b531773a210ba096c4d602697a05d530147f982a252606() + { + $this->assertTrue(true); + fn() => ($test ^ $test << $test); + } + function testba999fb3ed9bb16d8fcf73100a5b16e254eadd210af74ef9522c0d88cdeb9fd0() + { + $this->assertTrue(true); + fn() => ($test ^ ``); + } + function testc44372f4ae751f3fdf96fc4b5bfce510c4ad5666134f60c3e84150201d4bc4fc() + { + $this->assertTrue(true); + fn() => ($test ^ ${$test}); + } + function testc4c7e19e714c9b1bf7931b1d0aa5b408d50106f051c2b08ca216b2cd90a7fabd() + { + $this->assertTrue(true); + fn() => ($test ^ (yield from $test)); + } + function testc5ee9dcd4877d477d96924b622289c18d044b9a28ba3adbd6a70e903ad6cc0fb() + { + $this->assertTrue(true); + fn() => ($test ^ (int) $test); + } + function testc864319251298e1c1b1c5de597e52793e885461df76186d739ff4a5bb580bd84() + { + $this->assertTrue(true); + fn() => ($test ^ @$test); + } + function testcab252863f5ef569f2c761eb45a739b090cb813975282fe93e4d3fbbf38bb9f5() + { + $this->assertTrue(true); + fn() => ($test ^ 0); + } + function testcac6ae9fcccbe3dcfdafd3ccdc6a891f40f13bb3ea05c0378adee204555b4a25() + { + $this->assertTrue(true); + fn() => ($test ^ ~$test); + } + function testcb42e19ee357fc896cb96fc014e46be7746bc0770de98ac14e4c37b3372e492d() + { + $this->assertTrue(true); + fn() => ($test ^ __LINE__); + } + function testd06fbd69f86ae859828c6dbd064770c6d1fae3c857961daa3bc54c48fbc66ad5() + { + $this->assertTrue(true); + fn() => ($test ^ ($test += $test)); + } + function testd355696602b3e2dfb9f44e93d75ccd8a81b9290debb980cc305dfd4d0cca65e7() + { + $this->assertTrue(true); + fn() => ($test ^ $test & $test); + } + function testdf39c68fddf938abe3f5fbfc22c546d01bc0d2438a8faec85283df4b7c5fe472() + { + $this->assertTrue(true); + fn() => ($test ^ []); + } + function teste726aaedb799e4af757556e6c502f2455670e03230d481ed68dc367ad19cdf4e() + { + $this->assertTrue(true); + fn() => ($test[$test] && $test); + } + function teste82959eeb5fdcbeb2751408c2ee0117defa8221ce664cdd5e40df97000328342() + { + $this->assertTrue(true); + fn() => ($test ^ $test > $test); + } + function testea57f9f3836cdecd14b53c03c4daa953d8bb8a274c57df59159d176fe560363e() + { + $this->assertTrue(true); + fn() => ($test ^ ($test xor $test)); + } + function testedda29454503c574cc217b7b1b2b35bba0d02cf14089ef27438db2ff4a5e78a7() + { + $this->assertTrue(true); + fn() => ($test ^ new $test()); + } + function testee24ceadb047c6084015c474ce33f39251042c402cfdb0b95a987a3889cd4c74() + { + $this->assertTrue(true); + fn() => ($test ^ $test <= $test); + } + function testf2bc690b263683440bf71b677b3ed63be854e7e003bc309a5f37f485d955cea3() + { + $this->assertTrue(true); + fn() => ($test ^ __METHOD__); + } + function testf423e8889b7ec77c151ab4287db86f2368465ac1baf8cd583b4baa22d2c11884() + { + $this->assertTrue(true); + fn() => ([] && $test); + } + function testf4ea2e129a7bddd00620df6d818d78e654589732f88886cc6a296b95af8aed1a() + { + $this->assertTrue(true); + fn() => ($test ^ $test--); + } + function testf52e56fc67b3cbe2ecbd47d3a4320ec4c299317bdd52265234dcb3eaa075dc61() + { + $this->assertTrue(true); + fn() => ($test ^ __FUNCTION__); + } + function testf838616d670d9075d95f5959e2c107fa32adc046dc41421a87521a04bffe3c11() + { + $this->assertTrue(true); + fn() => (__TRAIT__ ^ $test); + } + function testf858f61e9a4849e65b03a65940a169bb8b61de5211ad58412422f102045dbcfb() + { + $this->assertTrue(true); + fn() => ($test ^ ($test && $test)); + } + function testf9239c2667edb67e3f3c9041eac38f0ea4cf4abd8b498ae076bf985028a96533() + { + $this->assertTrue(true); + fn() => ($test ^ ($test ??= $test)); + } + function testfa3740bcccadc07be596e1a540d0fcb5ded775444bd7912e7094486f23c306ce() + { + $this->assertTrue(true); + fn() => ($test ^ $test * $test); + } + function testfc4da680b3b790c8be9f001136bb21c836983c9c712708397ffb15860bb20326() + { + $this->assertTrue(true); + fn() => ($test ^ $test / $test); + } + function testfce88c93606deb28db3178d944b3c4c718c2374c60adda29b712e1390b37b630() + { + $this->assertTrue(true); + fn() => ($test ^ isset($test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test.php b/testsGenerated/Target/Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test.php new file mode 100644 index 000000000..9c814e292 --- /dev/null +++ b/testsGenerated/Target/Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionabf1442fa71adc1a3202e85db264a25ec1790869681ae9438fead5482f7bf551Test extends TestCase +{ + function test04d19329d1f3712c664cc699296af00730746d0ba05602b160d1d428c732f29f() + { + $this->assertTrue(true); + fn() => (__METHOD__ | $test); + } + function test0600a186eac8740a86f313b7db3cb8222bcc3026d1e57a811b0688c2d40a0f3f() + { + $this->assertTrue(true); + fn() => ($test | 'test'); + } + function test075b37f8e9a8b762bba331ecb317db3a07b7baff7c9ebede1308010fc38f5418() + { + $this->assertTrue(true); + fn() => ($test | "{$test}"); + } + function test07d14937f8c43ee17c6c08e390cf52ba60fead3053ba94b9ad9c4817e1df7bf3() + { + $this->assertTrue(true); + fn() => ($test | ($test && $test)); + } + function test07d8badcb2a9f7769c693694ec6489e69d5ca147d437ddd0dad86df1c7b993f9() + { + $this->assertTrue(true); + fn() => ($test | ($test &= $test)); + } + function test0871a0e0cb495216c2c6a55e02ca6011a53cdad8e50689cae07ed8de848526a2() + { + $this->assertTrue(true); + fn() => (__TRAIT__ | $test); + } + function test090f4cb5685fda17ae2f126c9c165eb1fde14f46f5c2afad2e19931e18a25557() + { + $this->assertTrue(true); + fn() => ($test | isset($test)); + } + function test099a787418e5120da8d6473e666b86ec36c86413f3a2adc2ae776cd312a69d7d() + { + $this->assertTrue(true); + fn() => ($test | $test <=> $test); + } + function test0bbdafd8b2eb638ab61a305e18c4610c4577f9c474776a357c13ced7f2911070() + { + $this->assertTrue(true); + fn() => ($test | function () { + }); + } + function test0e75e09bce736ec112f2c2738ce8faf967ce0c748d3c3a4354c265ef6cf0bec6() + { + $this->assertTrue(true); + fn() => ($test | ($test >>= $test)); + } + function test121f0c67329cd5ae3782e39c276853b966e0246c6349095ce850acf9c2bf65f1() + { + $this->assertTrue(true); + fn() => ($test | $test . $test); + } + function test15faec3e8e3b7ea03eab5e451befe4add7dff1bfdcb12a0087f6941d1a50606f() + { + $this->assertTrue(true); + fn() => ($test | ``); + } + function test18cac1e38b4549b17d35f48ca3d8cffd44b613bc62101035ae07039c2eb9ca15() + { + $this->assertTrue(true); + fn() => ($test | ~$test); + } + function test1a0722296a15ffda047368d708f4d017b86da889b26782039b7258180986f018() + { + $this->assertTrue(true); + fn() => ($test | ($test **= $test)); + } + function test1d83f59bfdbf897102ef7cdb5d223b25a82c2339fd07d511894394214bfb7d5a() + { + $this->assertTrue(true); + fn() => ($test | throw $test); + } + function test1eab9b8425ee17147959b0bba9493fb98287ba8a38cceba9c7079547c8ce913b() + { + $this->assertTrue(true); + fn() => ($test | $test); + } + function test200708c848303848ec1188f3bd2dd9c81cd0a760a18166e13a8fcdb84ad7f8ea() + { + $this->assertTrue(true); + fn() => ($test | (array) $test); + } + function test2045dfab5969e15f0147dd770799bbe49499b68d0c87706c25f83083347c88fd() + { + $this->assertTrue(true); + fn() => ($test | !$test); + } + function test20cc5511046426f0370faa71ce759e830eb1860d529611498730f58719c5e52d() + { + $this->assertTrue(true); + fn() => ($test | 0.0); + } + function test210d4cbcc246c7e2d0988dec64562c83e7facbca07fc5582e4309907b69a6d8a() + { + $this->assertTrue(true); + fn() => ($test | $test > $test); + } + function test22052d6a2c35aa396fd245b030cd95f4d2a9d4fdfd9c0bd5864830159c4076b3() + { + $this->assertTrue(true); + fn() => ($test | ($test and $test)); + } + function test222d95ea633b4a6384ed981fd0dac336f94e8b5ee7828840fcbf5aad31b60c1e() + { + $this->assertTrue(true); + fn() => ($test | ${$test}); + } + function test2809c5998da64521240d15cdc3cd7cf26fac55e8be72888098ae1ebf973ed781() + { + $this->assertTrue(true); + fn() => ($test | match ($test) { + }); + } + function test28746573caa60b6be605313b80191490a96fa1ae1aa3cfe71657492e980543b7() + { + $this->assertTrue(true); + fn() => ($test | $test === $test); + } + function test28b94f7c381cadc31192d815936175ad7204d2203a6873a4e889faf914fe2ae2() + { + $this->assertTrue(true); + fn() => ($test | $test?->{$test}); + } + function test2a878e1197d9667bca4691cfa64b00e331c51a43eda9ed40605caa91bfa10410() + { + $this->assertTrue(true); + fn() => ($test | $test << $test); + } + function test2af1f73a0cd30e391769a36d716758c10a05b819ce1e77ca3e4a2b645b62fa12() + { + $this->assertTrue(true); + fn() => ($test | ($test .= $test)); + } + function test32ad2b40a7519b0ac7833439e36728c92098632457ecb286737960f13daadf8a() + { + $this->assertTrue(true); + fn() => ($test | $test::${$test}); + } + function test33147be5b7e9a829d2f136a98953f709975d9fbb157507e3bd4c7d0343bd3ba3() + { + $this->assertTrue(true); + fn() => ($test | +$test); + } + function test3431b08e0276d6a199e5de6bd480ecd04c198fe53eaa1812e8f7be16b054ea06() + { + $this->assertTrue(true); + fn() => ($test | ($test = $test)); + } + function test356620e58397efd9fb0307125c1219577b2d259c754f0952078ea349f8a9529f() + { + $this->assertTrue(true); + fn() => (__DIR__ | $test); + } + function test359458410a6af207e1d4b263cba251d80b59c18b66cc2af95faa093eab2f8ee5() + { + $this->assertTrue(true); + fn() => ($test | $test--); + } + function test394d07358e5ba4b162185bf3aaca4737bec49151add32f3b3bced0b21b77602c() + { + $this->assertTrue(true); + fn() => ($test | $test?->{$test}()); + } + function test39d0bfaa368ee2b74b7966bc5adb9a1cd523b445de5b9d9714ae61311a28302b() + { + $this->assertTrue(true); + fn() => ($test | []); + } + function test3c9b97d8eaf0f391d8e49d51c548048434ae9fa95af611e0a8ec4b9ae65c6bfb() + { + $this->assertTrue(true); + fn() => ($test | ++$test); + } + function test3e8e0cebb9cc19af3e350fc73e6e13735ea4b995c1475cd6b9ffcf0732764cc2() + { + $this->assertTrue(true); + fn() => ($test | ($test ^= $test)); + } + function test3f753952f30ea1b177289714897b4f63958025ec17281bb344100dab599fbfd5() + { + $this->assertTrue(true); + fn() => ($test | $test & $test); + } + function test40a50411bce721a605828471a96b957375412390e5f16f0903e563e14f5fa2cf() + { + $this->assertTrue(true); + fn() => ($test | self); + } + function test42a3a951576d5c51e8a8d9c1f9682d982ec39d03d9e29051705bfd17808253c2() + { + $this->assertTrue(true); + fn() => ($test | ($test xor $test)); + } + function test459a37fd6e2275c4251c0b368e37bc2cb4cb40bcc903ef1da9065d18e341fceb() + { + $this->assertTrue(true); + fn() => ($test | (yield from $test)); + } + function test4dc8ebac702fd7f4b322265187817d74a50906a298d9fd76af82b7dcb13755e8() + { + $this->assertTrue(true); + fn() => ($test | --$test); + } + function test4e229036ea495f5f9b63a845400b12e931f5c2077830d0ada4b965065d0e730b() + { + $this->assertTrue(true); + fn() => ($test | new $test()); + } + function test5081e39c9cbba186f06b828ab0d3a1cfaebbc6d3cdb9b387812813c757a9c5f8() + { + $this->assertTrue(true); + fn() => ($test | $test != $test); + } + function test5353980d37b3fafc64f838b654b0a177a482968846e8670b248e1280aa62a35e() + { + $this->assertTrue(true); + fn() => ($test | eval($test)); + } + function test57bf79d485290e43c15f707376d681037d92fc85371777717829a63b29c0e959() + { + $this->assertTrue(true); + fn() => ($test | ($test or $test)); + } + function test59f9fb72920b73abc6d9ecf54cfeec9140eae6e1d98c66534cf01ed7ede9173a() + { + $this->assertTrue(true); + fn() => ($test | ($test ?? $test)); + } + function test5b48f6adede45d566c60efe3c6042672f53f694e8f89b6b4c0930160d7273113() + { + $this->assertTrue(true); + fn() => ($test | ($test -= $test)); + } + function test5b597825b9253e2678ed5cff3b3064dcb80dfef8d08115836b89ac474627fdcd() + { + $this->assertTrue(true); + fn() => ($test | $test instanceof $test); + } + function test5cadf7ee7b61b48d8b380fc22f222f21cb8791cff1310f8e331ba4e837663c47() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ | $test); + } + function test5f7f8dcd5f47d2bb97d439e31dcd8a4b2b447aa03f561b778f16ba0cbcab0952() + { + $this->assertTrue(true); + fn() => ($test | $test + $test); + } + function test606072c70eaaa21f4398bc75936ce5e5d5aa5ce329bd66e84ad05fd0d4ef329e() + { + $this->assertTrue(true); + fn() => ($test | $test - $test); + } + function test609d71d36c18a399c570bf951eaa2b02c6b9f6ea7ca9ac09052aebce007a91e4() + { + $this->assertTrue(true); + fn() => ($test | ($test || $test)); + } + function test611d2fcde6ab6e1ea3eb78be5caa9be2a6111d2b1566b2359bada62f7c2a9ca7() + { + $this->assertTrue(true); + fn() => ($test | __FUNCTION__); + } + function test698199163052fce703c65d4111e624ae20434f3fbebb1113800417644d6555d5() + { + $this->assertTrue(true); + fn() => ($test | empty($test)); + } + function test70289328e845cf8e174237516f22839c508f49fe7ce41213365c3640e607b9b6() + { + $this->assertTrue(true); + fn() => ($test | $test[$test]); + } + function test72070e1a3c56ca624c4d58593c70cce1ec5a6d298823c9a7ed33fddec90e0daf() + { + $this->assertTrue(true); + fn() => ($test | __DIR__); + } + function test73405704c4572f80a4eeb10551f7021349b84e7f87453a6645be49bd7d964e0b() + { + $this->assertTrue(true); + fn() => ($test | ($test | $test)); + } + function test7bf25b1829cdd5761e8a7902c791de73cb4e90e8a295b76de70e6efa738ea5fd() + { + $this->assertTrue(true); + fn() => ($test | $test * $test); + } + function test7ee160e4783c279be2f445351346b47b384bacb8516693ca510dc59599c8d994() + { + $this->assertTrue(true); + fn() => ($test | __FILE__); + } + function test7eeca6a9d2e2b8640a2cdd07980c4e424c5ca0a43b5a62644a72090ce5d38293() + { + $this->assertTrue(true); + fn() => ($test | ($test =& $test)); + } + function test82b3bbacdc3334150ec6b81c752906d65c215c8444b3a76ba1b5ae634fb2e3bc() + { + $this->assertTrue(true); + fn() => ($test | (bool) $test); + } + function test8569dc9d86ea89fb08e613e152fa712061aba56e9cc1e04b4e5aa6b4c539f358() + { + $this->assertTrue(true); + fn() => ($test | (print $test)); + } + function test8627941a6c67e431fdf640c4a150a25150810a6291400dd004906781989868aa() + { + $this->assertTrue(true); + fn() => ($test | $test->{$test}()); + } + function test8995c6a6098b7e88cd010d46346fc331e970894319ab440ffc6e76c5edba50be() + { + $this->assertTrue(true); + fn() => ($test | $test ** $test); + } + function test8e36462ed8b6bb0597fc3db2c7df5f0b4b7eae39ec6dffcffa3d4cdc4ffe09a1() + { + $this->assertTrue(true); + fn() => ($test | $test % $test); + } + function test902541b4b9622527946f7841dca95da220aa31cbd689b691f2ed7a9fab3a0bec() + { + $this->assertTrue(true); + fn() => ($test | ($test ? $test : $test)); + } + function test916ed0d979d1d44f9c1c0ebe2cb166ccfcf5e0572ded2f394dfd533655abdf5c() + { + $this->assertTrue(true); + fn() => ($test | __CLASS__); + } + function test947669ee4dd7bd53facb342c6f6e1fad96c1b48a465748210ada19c998d0503d() + { + $this->assertTrue(true); + fn() => ($test | (string) $test); + } + function test9a9a3031b150f4dc562101c076448041b9d34c2fc70e962d1997221754853dfc() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ | $test); + } + function test9b3e2aa089993d0898ebf32fc640fcc585121fb917e065d9d89b47978ca38a85() + { + $this->assertTrue(true); + fn() => ($test | ($test %= $test)); + } + function testa084866ac622b19cb18ddf5bd754be8f2fd55279d1b45ac97a9ba32326bfab53() + { + $this->assertTrue(true); + fn() => ($test | ($test /= $test)); + } + function testa4ea0030f0a3219647f0768b6788bdbec56482961d4d375e4a4dc9487f048357() + { + $this->assertTrue(true); + fn() => ($test | ($test ??= $test)); + } + function testae2c71dbde2858059b06cc625a26e9c6d2b9d5c996adbd5244219107076c4ff7() + { + $this->assertTrue(true); + fn() => ($test | ( $test)); + } + function testbb2b8745edd2bb1864106ac4972624e5547c1abaacd582f9fb7c33c23f225b5a() + { + $this->assertTrue(true); + fn() => (__LINE__ | $test); + } + function testbc1fc23519bd76822cf6fb1e60744766f6fc4baedd419556b5158f5017a09e92() + { + $this->assertTrue(true); + fn() => ($test | $test++); + } + function testbcc727b66570cbc8f22904d405081ac6c6759a0a6c1ee3a128638e470bcdd3bb() + { + $this->assertTrue(true); + fn() => ($test | $test()); + } + function testbd684fe88622a7c5c28e4feec724dfb5ac5b3843a095aa65c7e5d88d1bdb5749() + { + $this->assertTrue(true); + fn() => ($test | $test < $test); + } + function testbf03e048d6ca5bae90f2d7b4e305589e6ffb352eb89f5562948bf56d78d341cc() + { + $this->assertTrue(true); + fn() => (__FILE__ | $test); + } + function testc59711d1b46e9661334e5a55bda88c1fbd40da51122a6700bfb3a6b93725c58a() + { + $this->assertTrue(true); + fn() => ($test | ($test <<= $test)); + } + function testc69273156dc15a77e4144bf56a9e71e705bb67869c01ccd53c379f646e0b0b9f() + { + $this->assertTrue(true); + fn() => ($test | ($test *= $test)); + } + function testc80cdbd685e410e8b0673bd6265cbac3df922ee7ac67359cdc0291eb23c38e3a() + { + $this->assertTrue(true); + fn() => ($test | (int) $test); + } + function testc8baaa6ad0c91a4a42ee68b1712101bd28695520fce6f526ef467bd5455bcbc4() + { + $this->assertTrue(true); + fn() => ($test | $test->{$test}); + } + function testcdee5d7783f6b380a573f6f74e6b4b7a8338f016c039a3f59bad60c3d6238250() + { + $this->assertTrue(true); + fn() => ($test | $test >> $test); + } + function testd17edb7da030eca604cdd191d29ccd2531c068c15bd5c55663db4baff0f4d87f() + { + $this->assertTrue(true); + fn() => ($test | $test !== $test); + } + function testdc4522ccb40d3551ceb13993da00fad6bc3b73d303bae4856bd260888ee8ebce() + { + $this->assertTrue(true); + fn() => ($test | clone $test); + } + function teste1992d332621c69ce1a5af7c5d682c5b7b0e4d11b6609ef4823a8fb343429ff8() + { + $this->assertTrue(true); + fn() => ($test | -$test); + } + function teste2604abf8171407dc26f444b27be20fe3bf0756b936bf6bfcba9e2ffde8d9adb() + { + $this->assertTrue(true); + fn() => ($test | ($test += $test)); + } + function teste691432c4d57f1dd582adcd8f331345cdbf841078770bb7951c077698dd44cd8() + { + $this->assertTrue(true); + fn() => ($test | $test / $test); + } + function teste74b0877d498833fb3dbfbc29d2fee1e9942e79c975bbd54bda4426967f99d4b() + { + $this->assertTrue(true); + fn() => ($test | $test >= $test); + } + function teste7593f2fb3d8fe88269969b27239426d095dc98e09677b70096e029018662acb() + { + $this->assertTrue(true); + fn() => ($test | (double) $test); + } + function testeb0539f19cac4fbd8bb21fed7029ad7f9f1f5228cc7c8c8d2edcf26aa37b6fad() + { + $this->assertTrue(true); + fn() => ($test | (object) $test); + } + function testec3d4c73b54d465b2b0b34045a2e49a6a5ca62194c91b5116263083e287b69bb() + { + $this->assertTrue(true); + fn() => ($test | (yield $test => $test)); + } + function testec80a7789f6da6a00c55b4850a85ffd1279afabf83de91a93ed01334d5cc9c40() + { + $this->assertTrue(true); + fn() => ($test | ($test |= $test)); + } + function testee7e3194dd55fcb878791f305811c332bcbcd03025f1fad6ee1492b0e1d1c202() + { + $this->assertTrue(true); + fn() => ($test | @$test); + } + function testf423432942b72d2fafcb756d8b86dd1649a7acf4ea26329a1885b8aaf93bcc1d() + { + $this->assertTrue(true); + fn() => ($test | 0); + } + function testf629af319387621ef9e88f81d0c7ca2861e711f057078e71cc7091a5439c6861() + { + $this->assertTrue(true); + fn() => ($test | $test::$test); + } + function testfa4618e6592d1eb8d925672d6aec601a03f673e167067b9804bb93924f5156f5() + { + $this->assertTrue(true); + fn() => ($test | $test::$test()); + } + function testfbda66f83c28d75483898d01fbd33c22758af5e3e3a18754fd9ed605fe07292b() + { + $this->assertTrue(true); + fn() => ($test | $test ^ $test); + } + function testfbf7afb8d1461772f946209f580e857c869d30b99f10325128eab12d033e7a88() + { + $this->assertTrue(true); + fn() => ($test | $test == $test); + } + function testfcf3840809a5018fc68480ab706cd5f006fd60b39ac57889ddb218aa4af6f4e9() + { + $this->assertTrue(true); + fn() => ($test | $test <= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest.php b/testsGenerated/Target/Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest.php new file mode 100644 index 000000000..5ada2c078 --- /dev/null +++ b/testsGenerated/Target/Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest.php @@ -0,0 +1,506 @@ + + * @license MIT + */ +class Expressionaf058fb56a6f47839671e4ded3e64c2e76afa6c5e8e14f9219d9e346ce057ebdTest extends TestCase +{ + function test08ca267371a1f55a2aa6fc2f895b752c1cad2d08b8cecebaae792b7b94720fe8() + { + $this->assertTrue(true); + fn() => (isset($test::${$test->{$test}()})); + } + function test09e796b3da01dd58d29752c69a99148fe68c2eb9b147d4892a993cf040c6eab1() + { + $this->assertTrue(true); + fn() => ((string) $test)::${$test}; + } + function test0a91e0f9f3c90026d9f8bfdcbfdad077970b78df5b37a0c8c67db2e900e4489b() + { + $this->assertTrue(true); + fn() => $test::${+$test}; + } + function test0d0b1c1a3fc8838a7de2ee12733de65c9200e2c474b8dd4c975b0ac02a58313e() + { + $this->assertTrue(true); + fn() => (isset($test::${throw $test})); + } + function test0d2dd10591390c514c522da89555bb4763d73fa2bb26f8bc83791e181d9b2435() + { + $this->assertTrue(true); + fn() => (__FILE__)::${$test}; + } + function test0edaf067f8ce0969c534a3a3d5c80f41f6820a7f81a8246489f27b2525f688c6() + { + $this->assertTrue(true); + fn() => (isset($test::${$test?->{$test}})); + } + function test11c6d49b35cbc480edcff2688491b3c20d42cbde533f1d6e2a924ab519b56b15() + { + $this->assertTrue(true); + fn() => $test::${$test->{$test}}; + } + function test1200cf3e101261f1d05a31c9d170298ae2e329a0880657149c93f45190f60789() + { + $this->assertTrue(true); + fn() => 'test'::${$test}; + } + function test16a916e5bcd9933ece5d8f69ece55278b619b39208ee957bfeacb3a9e674f5ca() + { + $this->assertTrue(true); + fn() => (isset(((object) $test)::${$test})); + } + function test1e3f4056ff22aa018d2748615ce6d2a9ec84601e2fe25f7b20276cf8ea98971d() + { + $this->assertTrue(true); + fn() => $test::$test; + } + function test230250950c684e9179bb2731b89df68e2ce6593d8e2669439772aef8c68c0aad() + { + $this->assertTrue(true); + fn() => $test::${$test--}; + } + function test24b24114f5f8c867873b1745150e0f4de2dc30ac4dabbad21cef3042924e0565() + { + $this->assertTrue(true); + fn() => $test::${yield from $test}; + } + function test24ff188aff349ef4117544ab3cd44f36c7858dbd48b602c893807f4064be45df() + { + $this->assertTrue(true); + fn() => (isset($test::${match ($test) { + }})); + } + function test28b27e29420fb672a7db4c61a6836032e2e73b0eee38efe30c875b599caa137e() + { + $this->assertTrue(true); + fn() => $test::${ $test}; + } + function test30ebbc40893bd481c1b311bb3b13746666af4322f8d5c27af748cea798a7dbce() + { + $this->assertTrue(true); + fn() => $test::${$test = $test}; + } + function test3139672e26f079538d1a1e6f3baf4f363b583e186342901279186a3ef35d402a() + { + $this->assertTrue(true); + fn() => $test::${``}; + } + function test31d5341eae66420c3804247474a545f3ada87ddf2f42de4bde9ba385e8b7b9d2() + { + $this->assertTrue(true); + fn() => $test::${@$test}; + } + function test331c6ae5b40f6082ef8aaa19784f415784b373dedd9026e31fceb7e09f107210() + { + $this->assertTrue(true); + fn() => (isset($test::${$test::$test})); + } + function test33bca4af8069e5b482f399252285703cc81a36a8ea08ef5fd37a51a4348830c6() + { + $this->assertTrue(true); + fn() => (isset((__NAMESPACE__)::${$test})); + } + function test35a1154487df894904721916fa8aeb5a40defdc82186733835decd377165964d() + { + $this->assertTrue(true); + fn() => (isset((__DIR__)::${$test})); + } + function test3760c2df85bc8bfc5bce6f273ecb23107afd3973dce92f47dc58c9e63392dce0() + { + $this->assertTrue(true); + fn() => ((object) $test)::${$test}; + } + function test37cf30b1bc05b636c7335bdbd6a23db5f4661d9db66f462eff20c2eac1603576() + { + $this->assertTrue(true); + fn() => (isset((__FILE__)::${$test})); + } + function test37d18ee42e2929c8884fc6363b2942c68f5af4f54cbcdbe7bde2d764482e79a4() + { + $this->assertTrue(true); + fn() => $test::${$test::$test}; + } + function test3b5325c43c7ac575d0ea68f4f41360de118c10c95a102dc38ad40db74353c52e() + { + $this->assertTrue(true); + fn() => $test::${new $test()}; + } + function test3ce329fdc505c8470187d368f4c6d3e6f83b5b98f0a1fb414004e5b472d21ee9() + { + $this->assertTrue(true); + fn() => (isset($test::${$test?->{$test}()})); + } + function test3e1f53f1d435e9aa336fac9838958491d827b2f3f537554c895433700f1fbe1d() + { + $this->assertTrue(true); + fn() => (isset($test::${print $test})); + } + function test3f9086eb2bc103162981a14d44bac68ab4db9e71441cffd198dbf5fe5fbb0fcc() + { + $this->assertTrue(true); + fn() => (isset($test::${+$test})); + } + function test40f9da78ca292beaae42bcbba179a655e296413d907913123f94bf139cf861b5() + { + $this->assertTrue(true); + fn() => ("{$test}")::${$test}; + } + function test419da22da7628765790eb9c685c2abc29e27360923360e683f8df7cb893f5010() + { + $this->assertTrue(true); + fn() => $test::${$test::$test()}; + } + function test449c8d767ed74f6723d77c70ee235265f5ac7fa4cedb2bd5dc04082ea79c62a7() + { + $this->assertTrue(true); + fn() => (isset($test::${yield from $test})); + } + function test47303155792140298c4bc45a7a3c1f0c8c25481e6c24c8c4c3537e0bb03a9718() + { + $this->assertTrue(true); + fn() => $test::${$test}; + } + function test47ca3b5ae41bfde8dec806e802fed503d799d9768d150beb7813fac05ad3d2be() + { + $this->assertTrue(true); + fn() => (__CLASS__)::${$test}; + } + function test4e00a4c178a4f7d039071a077aaf79385a095696cd64881eb9ff7826169821c9() + { + $this->assertTrue(true); + fn() => $test::${${$test}}; + } + function test522329e02a13741274263dcfb1a11b24ab0d649d9d65d80388cacaa8d0cd481d() + { + $this->assertTrue(true); + fn() => (isset($test::${clone $test})); + } + function test5372cae677f292dbeb07990e10c8dfd43b26e731590974b952a50cb97776382a() + { + $this->assertTrue(true); + fn() => (isset($test::${$test()})); + } + function test55dbd7ee3741373e324358aaf55b8daf9814a5bc6b66b782efd9ed88276d75b8() + { + $this->assertTrue(true); + fn() => $test::${print $test}; + } + function test59c4b01f481194cd2260ee88183282735215870f15e15ee69ae3c32bb1d556a3() + { + $this->assertTrue(true); + fn() => $test::${--$test}; + } + function test5b108a6540813be2a24d50c0a9ca5eb3f25f24759a0b89181cfe05d34291390c() + { + $this->assertTrue(true); + fn() => $test::${empty($test)}; + } + function test5bf88969979c135b9c3b2c06ade066e07f55c2732f5c322374891b692a265d1d() + { + $this->assertTrue(true); + fn() => (isset($test::${!$test})); + } + function test5d800cd7b4eafc2a0120b8a2546101b6cb20c4c37573f4415dbbd42fdd937473() + { + $this->assertTrue(true); + fn() => (isset($test::${self})); + } + function test5eacab443d1ab08e97a3470f640ccb242fa48dfe59837db00e585dc6a15f0d3c() + { + $this->assertTrue(true); + fn() => $test::${$test =& $test}; + } + function test60bf03e452e22aca7530b6e30f6f2a828a9d3523476f779743054500e3189638() + { + $this->assertTrue(true); + fn() => (isset(((string) $test)::${$test})); + } + function test69923f9ed16fd2414557042414abff960e6e20ff7d5706ac87ed5eb0c84152a2() + { + $this->assertTrue(true); + fn() => (isset($test::${${$test}})); + } + function test6a5120995da6cca413c2a4d675a1eac30c829520cc071acd5b4ac29410107d81() + { + $this->assertTrue(true); + fn() => (isset($test::${@$test})); + } + function test6d0208b3e3de26f7f8455af617316c05e343e51f73188cd0b4e4d27b2ce939bc() + { + $this->assertTrue(true); + fn() => (isset($test::${function () { + }})); + } + function test6d9d73275e6b1519231dbe7e9aae2f9a8eae98460ba82e6957f98d2bef2a7c67() + { + $this->assertTrue(true); + fn() => (__FUNCTION__)::${$test}; + } + function test6dc4fb6cb57b6281676b43648d682d32df123f9c6e502a2fd67b36487946f4d5() + { + $this->assertTrue(true); + fn() => $test::${!$test}; + } + function test6ffa6b57c597708c923b1551b60ef79980c140ae8eb5cec37f01de38d26a03b7() + { + $this->assertTrue(true); + fn() => $test::${self}; + } + function test72b8bd051049f3216990146781016135b97e48cd0a2eec490ac4430ad4ce55ac() + { + $this->assertTrue(true); + fn() => (isset((__FUNCTION__)::${$test})); + } + function test742778fdd765a5443621d47ce74712c72ab0420ab910f8bcf90eef3f851ee580() + { + $this->assertTrue(true); + fn() => (isset($test::${++$test})); + } + function test7622fe5876f17068f1499770fbd308f69745b7f6dcd03b3d6723e6776ea5f265() + { + $this->assertTrue(true); + fn() => (__DIR__)::${$test}; + } + function test780d98e2e631530af8c2d37f5a1edb2dc845385676d1031cc912a504c88783fa() + { + $this->assertTrue(true); + fn() => (isset($test::${$test ? $test : $test})); + } + function test7adbba38452d6fe97818b77f5e138029055ed6420a069faf7773141e0cb06c33() + { + $this->assertTrue(true); + fn() => $test::${isset($test)}; + } + function test7afad05e2738ad8206371e59cd4c431789b9e131c6b974ab4e850a8d21c53913() + { + $this->assertTrue(true); + fn() => (isset($test::${$test = $test})); + } + function test7afcc685837d8897b40993a01c51733ea5399087e391b9482d8536da56ead3b8() + { + $this->assertTrue(true); + fn() => $test::${$test[$test]}; + } + function test7c1a86fc5bbb3b8523ec0a699d830274b028c7bedc1db272159e0a60b794e78d() + { + $this->assertTrue(true); + fn() => (isset($test::${-$test})); + } + function test7c57b22896d93b062872363dd967ab9334a78e07f07b7636bd04e48110908a39() + { + $this->assertTrue(true); + fn() => $test::${++$test}; + } + function test7eb72cc6836f516a968ce42278083ac5d1150b225c2e570f8c12617a776f795d() + { + $this->assertTrue(true); + fn() => $test::${function () { + }}; + } + function test7f7a65a60394aa4e06fc970d9988c78ec27f9d5dcd9fd179378f77efb95e9615() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__)::${$test}; + } + function test80484389794210fe03af7696056388437b02a8b3d2164140a733f55ab625fa97() + { + $this->assertTrue(true); + fn() => $test::${-$test}; + } + function test807d43d1c7e8d6911ef0e1b4a7ebffdcf659d8ed00130e58fe4c9f1f9048a47e() + { + $this->assertTrue(true); + fn() => (isset($test::${$test})); + } + function test8581c29036c282025df2daeb81f8213186c9c83055968e956eb206c0d6a2ea04() + { + $this->assertTrue(true); + fn() => (isset($test::${eval($test)})); + } + function test8875dd3241b8d0274c02de635eb4ab2202bb02b199339357917555f1d61013b6() + { + $this->assertTrue(true); + fn() => (isset((__CLASS__)::${$test})); + } + function test8dc075ec0abcc6df373122cdb451165933afe747ff0a985166dbd3b19491a3c0() + { + $this->assertTrue(true); + fn() => $test::${match ($test) { + }}; + } + function test8e3feea6b4b4bacc271ada33759bc36b075246d3100c05f9e0646e8ed354bf9e() + { + $this->assertTrue(true); + fn() => (isset($test::${ $test})); + } + function test8ee6be8d37a01ac0e04528f4c58410ab697a0b4194addce315dd9ae59ef0bf23() + { + $this->assertTrue(true); + fn() => (__TRAIT__)::${$test}; + } + function test992ca6665f6ccea771045384e09393941c6a0aa19a8e4148217e289bb2a71b05() + { + $this->assertTrue(true); + fn() => (isset('test'::${$test})); + } + function test9aec4d8136c3d408264617c7b9a94804e78f256a46f1b090f19a53bb186675d0() + { + $this->assertTrue(true); + fn() => (isset($test::${$test =& $test})); + } + function test9c2eb9c965b52e22d34e0acb34994f34e7539fc3da378d6712bb1cf51086ffc1() + { + $this->assertTrue(true); + fn() => $test::${~$test}; + } + function testa035299b4639a2736f2143bd6466034f5ff659391faba86d339c07757be38fa2() + { + $this->assertTrue(true); + fn() => (isset($test::${--$test})); + } + function testb0ee8e07618f0f0328db82ab2f7fada9f71ca9bd23fb4811e323b5cb5721f9a7() + { + $this->assertTrue(true); + fn() => (isset($test::$test)); + } + function testb26f0ad45cfa68de8b4b177c7e4a3a504f4ec07a00bdab86e81ae6809237fbbf() + { + $this->assertTrue(true); + fn() => (isset(("{$test}")::${$test})); + } + function testbb0153878c5bcfd8c32b9677d864c4054970b2a14a27a0ff5104a8229217ebb7() + { + $this->assertTrue(true); + fn() => $test::${$test++}; + } + function testbb3bdbef271f297d86271f96874e574dc0fd8a36fba441dc0687a4e76957d267() + { + $this->assertTrue(true); + fn() => $test::${$test instanceof $test}; + } + function testbc3e7a9c3a93fb4ce03b3a49eed56a49d39d5fa5ffb6723946c740a0fbebd2de() + { + $this->assertTrue(true); + fn() => (isset($test::${$test[$test]})); + } + function testbcbb0f4fd8b1d3313d6eafe8b7884b8bd12deb095b2509411eb70f7f9bf9c2de() + { + $this->assertTrue(true); + fn() => $test::${$test::${$test}}; + } + function testbcd4f6fb4e956be49037a19204aa3b7f612f832ddf1ba379feb491e37c972f1e() + { + $this->assertTrue(true); + fn() => (isset($test::${empty($test)})); + } + function testc0c6e93eef3e1fcd744ea25a4abb11c76f55539d18c74ff9fd5b06a4ef2f67ba() + { + $this->assertTrue(true); + fn() => (isset((__METHOD__)::${$test})); + } + function testc39b27512bd149b6bcea3c21ba7aa79c52a883ab121d1fdb8a195cd0b9a42b81() + { + $this->assertTrue(true); + fn() => (isset($test::${$test::${$test}})); + } + function testc608a47f115d735cc2b6c7ac22a4a63586201e167488c51f3bcc9fe9f80c5a4c() + { + $this->assertTrue(true); + fn() => (isset($test::${$test instanceof $test})); + } + function testc90e06639983c1d7df231b3e2ded06c151240bbb921cf4800c445200bd221c7f() + { + $this->assertTrue(true); + fn() => (isset($test::${new $test()})); + } + function testcdc0a0ed10f712a3ac47283e91e75843d822ea01ea4c40d8e9db121a61b3dc56() + { + $this->assertTrue(true); + fn() => $test::${$test()}; + } + function testce975498443399897d975b1e978ee4e2702da0134e26b1eb0cc5cab7d97210c7() + { + $this->assertTrue(true); + fn() => $test::${$test ? $test : $test}; + } + function testd00b045c279270add086adc62e08c1d8f15429b39cfef6da509cbd2c681890e8() + { + $this->assertTrue(true); + fn() => (isset($test::${$test::$test()})); + } + function testd21cae64e2094717c554839fd750226f46ef840757fba5260fb609e52a69dd3d() + { + $this->assertTrue(true); + fn() => $test::${$test->{$test}()}; + } + function testd2eed69199772a3278f841e52a95f24ce3ea63d07572fb90becfac60f5793f39() + { + $this->assertTrue(true); + fn() => (isset((__TRAIT__)::${$test})); + } + function testd3cc734e7c96baf3b5032e1bfca5a0efcd95b5bb32ca2b776a3f585965cf859c() + { + $this->assertTrue(true); + fn() => (isset($test::${$test++})); + } + function testd47ea16875a6b13ccbeb7ff9b60d0082e7ef369343215c7aefbc03482ac7475f() + { + $this->assertTrue(true); + fn() => (isset($test::${isset($test)})); + } + function testd81064d3bc15a4b7388bf747a5820d92831a65d6d7d92ae30ff8a431a57c18bf() + { + $this->assertTrue(true); + fn() => (__METHOD__)::${$test}; + } + function testdbbe2b5d7f2770661e44e52889efc6848c16bd3d3cbb09bdcdcb4dd512599a74() + { + $this->assertTrue(true); + fn() => (isset($test::${~$test})); + } + function testdfd0913bc0353caac81ab433251eeb04c00bb846341e060f05d7f725eeee5d7e() + { + $this->assertTrue(true); + fn() => (isset($test::${``})); + } + function teste03b8a850d907e2e79ce9446bb8a65c783f0094e81382f35498f34922905c98d() + { + $this->assertTrue(true); + fn() => $test::${$test?->{$test}()}; + } + function teste4cde4df19d7630fd020bf4b9d9679752e21afd0ec8a7f545caf22820ccab57b() + { + $this->assertTrue(true); + fn() => $test::${$test?->{$test}}; + } + function tested773b0e03e5702d097f82584feb261a917237002134fa27f129cf7757d1ae1a() + { + $this->assertTrue(true); + fn() => (isset($test::${$test--})); + } + function testee03a04229c6051a2589779144031e08ea9fe786875350e039c27a20f181ddf3() + { + $this->assertTrue(true); + fn() => $test::${throw $test}; + } + function testf1f5cb53036c4bb3bc69c5b2671f00e488b0d90a2de7fb65e041bfa3216d9257() + { + $this->assertTrue(true); + fn() => $test::${eval($test)}; + } + function testfa4f889aa7b90643fe202c662c9ab9b288dce67fbdd1d032a2b5e9b485eea2c8() + { + $this->assertTrue(true); + fn() => (isset($test::${$test->{$test}})); + } + function testfdcb5c70bda86febab7295e7b2559b682b7f8531eba49145dc42177e79df6990() + { + $this->assertTrue(true); + fn() => $test::${clone $test}; + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest.php b/testsGenerated/Target/Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest.php new file mode 100644 index 000000000..8487ad183 --- /dev/null +++ b/testsGenerated/Target/Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest.php @@ -0,0 +1,509 @@ + + * @license MIT + */ +class Expressionafbc671cc018da3e3a2a44cd513c2295c9f3ce50815f9e2946f842dcbe34191aTest extends TestCase +{ + function test0004eb001fec4d96feb50c00af802b8304d695dc9af4ed24dfda03bc07100e7a() + { + $this->assertTrue(true); + fn() => ($test ??= $test += $test); + } + function test029c422cca2561966821d60f4aff1c09cde6fb44cbb700c374e4487919b0679d() + { + $this->assertTrue(true); + fn() => ((object) $test ??= $test); + } + function test03f1d246f81c6e97e66e44792c8bb7a526a76c6e8a05e1c4017a4978b08605d4() + { + $this->assertTrue(true); + fn() => ($test ??= $test = $test); + } + function test05fd186c23db37ca68c897d6b5937e2e727b5da7b832e0e897e20ba9d64dcc89() + { + $this->assertTrue(true); + fn() => ($test ??= match ($test) { + }); + } + function test06787290662a0732874145e6f8c13dad8d7a017c3ddcb2ae60a320e70a84ee49() + { + $this->assertTrue(true); + fn() => ($test ??= $test::$test()); + } + function test070ba9ae110840b7eaae8d45c5e352f2707dfd184427b911fa014e7637831526() + { + $this->assertTrue(true); + fn() => ($test ??= (yield $test => $test)); + } + function test09c8c52165302ffd7a155e0184dcd4037623867ece66549beb44c89441f4d7d8() + { + $this->assertTrue(true); + fn() => ($test << $test ??= $test); + } + function test0a8140e5344d7d2a73b2d42457e80c6a98f6de27e8087868f6d8c6d235279bfb() + { + $this->assertTrue(true); + fn() => ($test ??= $test |= $test); + } + function test0ce2a788462ebb0c737c2e4a38e30bd174f0158a09cfde59d23db7b7c8636c11() + { + $this->assertTrue(true); + fn() => (@$test ??= $test); + } + function test0d87fd3d4c90236deeb42698d3be6bb3d976a83dce63a68a5b95b11c7a116a8d() + { + $this->assertTrue(true); + fn() => ($test ??= +$test); + } + function test11f4480dc21940109068b8ee0b59ad8bc142d2a8a0725abe8cd0fe4a0ab2a022() + { + $this->assertTrue(true); + fn() => ($test ??= $test->{$test}()); + } + function test12c177fe46f97882e9d71b0527062e78a0abd26945f6e99b960c0d9274938042() + { + $this->assertTrue(true); + fn() => ($test & $test ??= $test); + } + function test16817dcb865c9ef2b297e2d201eaaadcd64ef1068b3880d33ab1ec048b0eae78() + { + $this->assertTrue(true); + fn() => ($test . $test ??= $test); + } + function test16ca97e844ffde9374910f107497dfa3fdb7323fe4e4d49f9d4683544155b9fa() + { + $this->assertTrue(true); + fn() => ($test ??= $test?->{$test}); + } + function test1b7cc08c432323fd5b4b47a22f6119d7f916602a2cf6d2d2f289847aaac165a0() + { + $this->assertTrue(true); + fn() => ($test ??= $test %= $test); + } + function test1c06d363cc1f0d485c44454e49dcf4d97bf4f8f1afaaa24148f95d338541782b() + { + $this->assertTrue(true); + fn() => ($test <=> $test ??= $test); + } + function test22530e32f75df269d2541da4d1118f1bc16077cde23df6db2bfb3b14228059b6() + { + $this->assertTrue(true); + fn() => ($test ??= $test++); + } + function test2448fc2e805dd7afa8b42777c6c6f27b2456d1ae539cdabcfa616c34f5cd8e99() + { + $this->assertTrue(true); + fn() => ($test ??= $test instanceof $test); + } + function test28872e790452f5c1d117cd327293ad5f097322aa484b961e8d035e282b3ab2ff() + { + $this->assertTrue(true); + fn() => ($test ** $test ??= $test); + } + function test2b982e0b1cce3a729a28e334bba7bfd86ff02b3ffee5b369d3d47a26fc69fff0() + { + $this->assertTrue(true); + fn() => ((bool) $test ??= $test); + } + function test2bf20fa92ebe9d2d6bab9813317e183e237a0ccf905949b36c6371275a89fd45() + { + $this->assertTrue(true); + fn() => ($test ?? $test ??= $test); + } + function test2c49712d60b430d05c119c4413718064fe540bf3b6fbd61bc4d6c3a1b7c9109b() + { + $this->assertTrue(true); + fn() => ($test ??= $test /= $test); + } + function test2dc41311e5e74ea1436fd8b2a686be10d0e8599ce4469b56ed48d97cdacba645() + { + $this->assertTrue(true); + fn() => ($test ^= __NAMESPACE__); + } + function test308b87843351cec9e2886c7bf623e4426b926280202885407e6c612579780408() + { + $this->assertTrue(true); + fn() => ($test ??= $test ? $test : $test); + } + function test3134f6e17a70618e580837d31f04af1b092f77d50a18c809409891223f8f9130() + { + $this->assertTrue(true); + fn() => ($test >= $test ??= $test); + } + function test321404d67e283802310c19c17773a90a1af9c03ea0094573e156f089ca8d3ded() + { + $this->assertTrue(true); + fn() => ($test ??= clone $test); + } + function test3298d62177d0692add6aaa3358e2388d1cef802e438104d627cb95b8f2822fc9() + { + $this->assertTrue(true); + fn() => ($test ^= __METHOD__); + } + function test3c1b008d9fe944a1d3fa203cde71d7317c301594eec7217468eb14fb1464ce6c() + { + $this->assertTrue(true); + fn() => ($test ??= $test::$test); + } + function test3c48d0a695a818e62ffb15c5940a5772cf6b10353e8e555bb1d72045c13b9994() + { + $this->assertTrue(true); + fn() => ($test ??= $test =& $test); + } + function test4197ca472c4ca815b8d33b3703906919d99038c220ee2ad95afe7236b31739dd() + { + $this->assertTrue(true); + fn() => ($test ??= --$test); + } + function test43b0d44bf16313be66443da860817c115ea0faa0737a579c45513b6231987fad() + { + $this->assertTrue(true); + fn() => ($test ??= eval($test)); + } + function test45a7d6a8b1da7fbca0c6e74d8f46b4882663d356f76e89a99df7420bc37f486e() + { + $this->assertTrue(true); + fn() => ($test ??= ${$test}); + } + function test472c9415700238666e7c6db1434620932f3e3059ca1816f3d5577d01c045e7df() + { + $this->assertTrue(true); + fn() => ($test + $test ??= $test); + } + function test49621427b6fbef3204da7b9c7202cafa13515ed8ebe18559ff92aaf7abd4f084() + { + $this->assertTrue(true); + fn() => ($test ??= isset($test)); + } + function test4b739b13ca37bac8b28ce96f7c0ca086178afb279caa2eae6871511e0c44562b() + { + $this->assertTrue(true); + fn() => ($test | $test ??= $test); + } + function test4d9a114d04fd9b601e65d961cd6bb5a378e2a2d329c80396afabb1e3337ebfc7() + { + $this->assertTrue(true); + fn() => (+$test ??= $test); + } + function test4fae769c56d601121d4b579a6330a998582352f48acc2d964e9857c11f8c8fdf() + { + $this->assertTrue(true); + fn() => ($test[$test] ??= $test); + } + function test5252f5b077026dd2096d9b94603318a2cf10ed2e47db20e4739fa1bc15447359() + { + $this->assertTrue(true); + fn() => ($test ??= $test &= $test); + } + function test53d1aa548a433555afa383e6276c6d974336735969401e06ee805b1906702ce0() + { + $this->assertTrue(true); + fn() => ($test != $test ??= $test); + } + function test58153b058ebd07da0aa942d6b87450d24ad00cc67a56d0e728d1ee4bc165ee16() + { + $this->assertTrue(true); + fn() => ($test * $test ??= $test); + } + function test58cde4218132432d2a7f6220e9f2d272313ba9b7bb2a70aa7569436c04ae27ed() + { + $this->assertTrue(true); + fn() => ($test == $test ??= $test); + } + function test5a9e8d07559a120245c5dd76ebafd88386d7c7870d0830126b5d15dab96a57ee() + { + $this->assertTrue(true); + fn() => ($test ??= ``); + } + function test5abb2e053667d14030c516dde96085f298989f014b11905f03ed27aa68ddd1fb() + { + $this->assertTrue(true); + fn() => ($test >> $test ??= $test); + } + function test5cf2e534ba9ad9b7f8a294dd29c94cb995cf4b6e67afcd66c1c5b31d678fc546() + { + $this->assertTrue(true); + fn() => ($test ??= ( $test)); + } + function test5e163fc3b1c171898604280de0b3c701e6cc2705bb22836f1f685fcd21771035() + { + $this->assertTrue(true); + fn() => ($test ??= (print $test)); + } + function test616acfd004a54813afda30cefb943a669e1015972202d235e1b1d0b5af7f392c() + { + $this->assertTrue(true); + fn() => ($test ^= __FILE__); + } + function test61b9f4b3307a9e17d39e9071cd593aa0bf7aaea488604d1e5dc81e8dc54fb27f() + { + $this->assertTrue(true); + fn() => (~$test ??= $test); + } + function test629b7d8e0d4632edca5abcde7a391d8d7e2aa62e73dd2943fdb707ce130528c7() + { + $this->assertTrue(true); + fn() => ($test === $test ??= $test); + } + function test67373d56680e935b79c6553750bb8dc878d806f8db13071bfd358b304ca6445e() + { + $this->assertTrue(true); + fn() => (-$test ??= $test); + } + function test6a515ad3ab55cef1185d8de9cf9df049bb8fd70685efe96c508a15e7741932e4() + { + $this->assertTrue(true); + fn() => ($test ^= __LINE__); + } + function test6a5c38b594a6cdf1ab4716b05bf3b3b7c3832561ec2609fa768994a31377912b() + { + $this->assertTrue(true); + fn() => ($test ??= (yield from $test)); + } + function test6a95b7f0a54469518b4bdf1e90db6bc498b4d057e786ba35bcb71f577508a5c6() + { + $this->assertTrue(true); + fn() => ($test ??= -$test); + } + function test6b98313b83518822814d773420f585e66cd35a4954de6a15d364b12907b8cda3() + { + $this->assertTrue(true); + fn() => ($test && $test ??= $test); + } + function test6df7b56882d2b68eee23618de9db6029cebef5a8cb4c554c9fae7cf3f531c40f() + { + $this->assertTrue(true); + fn() => ($test ??= function () { + }); + } + function test6e2b6440c65af0bcca39ef5bd4761c0b9930e4dd3387a5239e8a1aa9daf22983() + { + $this->assertTrue(true); + fn() => ($test ??= $test); + } + function test71f651ced8687bf5f684b352665db963072221c9ffd05ac24af6bb67d96bd380() + { + $this->assertTrue(true); + fn() => ($test ??= $test->{$test}); + } + function test780acaed479de3b04cf6ecdb86a19d42e4db793de72920cc4772f719d74feab9() + { + $this->assertTrue(true); + fn() => ($test ??= !$test); + } + function test78ea52fd0d611e36139c02085f49622e3371ec758463f9d24206f35a70c40b48() + { + $this->assertTrue(true); + fn() => ($test !== $test ??= $test); + } + function test7e500de650e767d17b05465e75c23367db56024824221437a0fd26bdf4fdcc56() + { + $this->assertTrue(true); + fn() => ($test ??= $test[$test]); + } + function test7ea4a9372da59434b2372638b255c91b6fc294360d5068a59b93e081903a3d1e() + { + $this->assertTrue(true); + fn() => ($test ??= $test *= $test); + } + function test85f0c47edd99b8abb9fd6f89956e2ecd9c94c73d570b8eb4195316028358abb6() + { + $this->assertTrue(true); + fn() => ($test ??= []); + } + function test890ef8bb4176ba7298c9dd18c9f283ba89570303402e22851afee8bd3ac4e09a() + { + $this->assertTrue(true); + fn() => ((int) $test ??= $test); + } + function test89a8e0aa16fbe78c019651c9228e04d3801bc45c292a643cf5f3cf62865a4e12() + { + $this->assertTrue(true); + fn() => ($test ^= __TRAIT__); + } + function test8a7e828e70d17f1451a47fb23e7eb6f0e9c6a096eca770647c46f8e7d51e3948() + { + $this->assertTrue(true); + fn() => (clone $test ??= $test); + } + function test8b0e94613c5a1f30f8b8cf658fbd7d1b7e715892725c0362b42689f5a9e2eea3() + { + $this->assertTrue(true); + fn() => ($test <= $test ??= $test); + } + function test8c72b15dac158294451220a7ee2183f5113e783a4ec5c4b577588ae7bc8a3e29() + { + $this->assertTrue(true); + fn() => ($test ??= $test ??= $test); + } + function test8e230d21b95552abbb4068ef597c8d59cbb23c9c6988fde46e9efb6606c7b2fc() + { + $this->assertTrue(true); + fn() => ($test::$test ??= $test); + } + function test911de74cdce80d72c8de5b9f58fad2bedf9a13b4648b1b268f82aa1e01234d60() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test ??= $test); + } + function test91e63baf09729fb072876f685710bd0f30da4f40ce3b88abe0376fe97001eb6b() + { + $this->assertTrue(true); + fn() => ((array) $test ??= $test); + } + function test935898fd0a8406d6468851569a0f4de852a7d12fca6649e6503e44ab377210cb() + { + $this->assertTrue(true); + fn() => ($test || $test ??= $test); + } + function test9a18afa37e4a746d3c0840b125cb708cc403787a91ad46f165f4699ce9dfe414() + { + $this->assertTrue(true); + fn() => ($test ??= ~$test); + } + function test9c87e8816db6405484c8bb6342145aba7191c16c614d8fb16081fa55d9a55ad1() + { + $this->assertTrue(true); + fn() => ($test ??= $test?->{$test}()); + } + function test9da3828561b14392249cd06acdecfab90e17d86e7fd786643a2264eaa48ade5d() + { + $this->assertTrue(true); + fn() => ((double) $test ??= $test); + } + function test9f5b1e36b7ef329578e80d2dc82becb2a1b5196cd17d9f75a12c25c3993d9df1() + { + $this->assertTrue(true); + fn() => ($test ^ $test ??= $test); + } + function testa22bb5d641330af08595a787b097c92c4aa448547f52a5ef7fb7bf03c19d350b() + { + $this->assertTrue(true); + fn() => ($test ??= ++$test); + } + function testb2c1bb62dccffbdfb34a01a1d2d68e1c2b115841e87d2bbf1b78605c1e65723e() + { + $this->assertTrue(true); + fn() => ($test > $test ??= $test); + } + function testb7038098ede9692328126771c2176afacd01f7e027cc9f6e26fae47c0f8352d7() + { + $this->assertTrue(true); + fn() => ($test ??= empty($test)); + } + function testb90d92293c6495ff613e65cd130988a074f355db80497d962d90da9f582904f9() + { + $this->assertTrue(true); + fn() => ($test - $test ??= $test); + } + function testb979a869cc0676842aaf63d7fc8b7be2512798e8aad60bd2380e69d961a74561() + { + $this->assertTrue(true); + fn() => ($test ??= $test::${$test}); + } + function testbb517ea8a26cdac2325955310e7e19b197460a890ac6f6ea016493e9978f4ee7() + { + $this->assertTrue(true); + fn() => (throw $test ??= $test); + } + function testc022a3e9415e9cfeed7e50a76af37c66ee53042750d42b8a2adcc51378ba7af7() + { + $this->assertTrue(true); + fn() => ($test ??= $test **= $test); + } + function testc0f569c0cfd4181190c238b6bf25310e3c82feb2d4ae6656c6af56882b7c39ef() + { + $this->assertTrue(true); + fn() => ($test ^= __FUNCTION__); + } + function testc6213b6004f659a0ff14bf87917fda4c602c8a85e83776bbdb76c49c926b9a27() + { + $this->assertTrue(true); + fn() => ($test ??= self); + } + function testcc3d0332861ca87ddaea7f605cf7c78ba6a574ce3c2bcaffb3efb704cf7957ee() + { + $this->assertTrue(true); + fn() => ($test < $test ??= $test); + } + function testd2ab9d338e0a84d6e61e03dfd7f9fa98766a578385a53c340f8c63f850e1553b() + { + $this->assertTrue(true); + fn() => ($test::${$test} ??= $test); + } + function testd338f5120b750bce59f97949fb1d26c52e035efbd2316c5e564e936ee2176b92() + { + $this->assertTrue(true); + fn() => (${$test} ??= $test); + } + function testd4380fb08593086ba18885e2a30fa2ce05a65eef3acb89fa9a82a85faa9e7198() + { + $this->assertTrue(true); + fn() => (!$test ??= $test); + } + function testd88ed90feeefb8ab686a38b84746c0b9f0ac88ee5ca5b0cf7704a1e422cb5268() + { + $this->assertTrue(true); + fn() => ($test ??= $test ^= $test); + } + function testdb3e39e7aa6c583667e88a20de8509b6c329974e11f5a138290e33039747ac2b() + { + $this->assertTrue(true); + fn() => ($test ??= $test .= $test); + } + function teste0a3dbecc461fe1af9b81fdd9baa63fc59fc8ebcba281af7d26a11d8d6a64274() + { + $this->assertTrue(true); + fn() => ($test->{$test} ??= $test); + } + function teste13d7cbeed12325bb7d91b67afb15233bc4245f074faf3a8b3b1fde52e249798() + { + $this->assertTrue(true); + fn() => ($test ??= new $test()); + } + function teste2ad7d95ebf74f4b4af56a18b42aaaf4086395db830ffd64ec8348acb5257776() + { + $this->assertTrue(true); + fn() => ($test ??= $test()); + } + function teste3f2af960c9f021e4d42c5dba451330f4a9130dec17411d309e29076bebb071e() + { + $this->assertTrue(true); + fn() => ($test ??= $test -= $test); + } + function teste470be1feb0c58e6b9f2d0c261cb5f2173c59e6519f3de8c63c77bf8bc6a5e5a() + { + $this->assertTrue(true); + fn() => ($test ??= $test--); + } + function testeafc03f16f909108fcae470afa5da1dbbc524aeadae39ba3e7f9614cec293cd3() + { + $this->assertTrue(true); + fn() => ($test / $test ??= $test); + } + function testf1e24d6a35d4c041c3743d36c926b8816517eadbf1e9b85c8a6eb2750fa531fa() + { + $this->assertTrue(true); + fn() => ($test ??= throw $test); + } + function testf2268273b7103aebdf8aeb706b2aca182f91d7308dd21c63378134e46a4f83aa() + { + $this->assertTrue(true); + fn() => ((string) $test ??= $test); + } + function testf7dbb41f046248fa43ff4a85db0d69498e63bf98b26251aa623d36009c7a6799() + { + $this->assertTrue(true); + fn() => ($test % $test ??= $test); + } + function testf9fc1da8b3ec1c7f86f2b34c6ad942bc0a500f020c12312571b5cc73b7c9ebaa() + { + $this->assertTrue(true); + fn() => ($test ??= @$test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test.php b/testsGenerated/Target/Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test.php new file mode 100644 index 000000000..4373ca77e --- /dev/null +++ b/testsGenerated/Target/Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionb0af83c6dc179be196e55e1ba1bee9085cde9c42f2e8201348110b42b3c10c98Test extends TestCase +{ + function test0044319f6667a348641cc72bc7c67f38c8cb7ba6ae39d03e9437c6ebf44f7e4d() + { + $this->assertTrue(true); + fn() => ($test++)(); + } + function test054203a4fc2f14f9b4f38cc2fd6d1bc5618c95987e1049a7f96226373b775f44() + { + $this->assertTrue(true); + fn() => (eval(__FILE__)); + } + function test059e7fdc02badb13da1285f62e3fe8f87d032a067a7cedef49fae525bebb462b() + { + $this->assertTrue(true); + fn() => (new $test())(); + } + function test0813df9de94e442a6d8b9d9e58cbf1bd7555e610dfa5557dae59e71f1f62022a() + { + $this->assertTrue(true); + fn() => ( $test)(); + } + function test08df6063ee54ec72d360154c333b3c9f9783ee8b5fdae0407a1b6b7275f49886() + { + $this->assertTrue(true); + fn() => (eval(++$test)); + } + function test095cd272fcaebdded8ae6a07d197bcc4826efa65d6ac89e7a6e82cc9ef28b251() + { + $this->assertTrue(true); + fn() => (eval($test ??= $test)); + } + function test0bd672fdaedadde622eded0ca9be13d1f42e0307585f471d3f0b0c1e4004cfa5() + { + $this->assertTrue(true); + fn() => (eval($test >>= $test)); + } + function test0ef09426b410bd4f2482099f7d82eeb1ac5c1bcdf9c135d18fb1175ecb18d71c() + { + $this->assertTrue(true); + fn() => (eval(yield from $test)); + } + function test0f408ce1bb6fbdbb4a3711294eb6b84eebdb6d42e3b30c43a7b3d0c43b2599cd() + { + $this->assertTrue(true); + fn() => ($test?->{$test})(); + } + function test1509290ca5288abea4678bf7312a99ddb454f53acd095c57ca3c4f1f4c5a3c35() + { + $this->assertTrue(true); + fn() => (clone $test)(); + } + function test15aec29207672915e2d497fcb4658720c3c0c22321a89e467ac4fd7d63f9cdc0() + { + $this->assertTrue(true); + fn() => (eval($test &= $test)); + } + function test165f83c18bf5283cab98d5b2f40cffc9dc46c3d0ce6024efa31e49bf7dc66467() + { + $this->assertTrue(true); + fn() => (function () { + })(); + } + function test16662a41be632d4eaa28ef9bf4ef3d705d60dd534428ebaef36e892dbd9c95f3() + { + $this->assertTrue(true); + fn() => (eval($test %= $test)); + } + function test1e742dae190eabba37ea4c88c756cd42c2926e6d28d6d6d2451b83a772e666ed() + { + $this->assertTrue(true); + fn() => (eval($test->{$test})); + } + function test20446ce1090848776c8fed654f1d81809ad613b21044d1096fbcf4d0704389a7() + { + $this->assertTrue(true); + fn() => (eval(__FUNCTION__)); + } + function test267a7b7d0316f5101bfec7c8996ec6cbc4ee37a0535c7e67c3d4095b9bc6105b() + { + $this->assertTrue(true); + fn() => (eval((int) $test)); + } + function test271209e5fd06356607ccda32d8fcb1bc5cad7aeb101f1aeb3b29e22ed5a949ea() + { + $this->assertTrue(true); + fn() => (isset($test))(); + } + function test2c24156762b988ddfbe9cc1d94bf750f33f00a9909e273c2f67fccffee85c8b2() + { + $this->assertTrue(true); + fn() => ($test =& $test)(); + } + function test2fd8b2c79a0657b2adc74b2baf80e62397a4d7d7e8069db8a17fd42853d253ea() + { + $this->assertTrue(true); + fn() => (eval($test === $test)); + } + function test352d784f10d298d783a9d3446f1540db6c39f214e926b8cb7b3a1ec054005862() + { + $this->assertTrue(true); + fn() => (eval($test ^ $test)); + } + function test35953698c5e4758b3be23e63426db06b14870df96c2f5e44ec93b3f9376ffa96() + { + $this->assertTrue(true); + fn() => (eval($test::${$test})); + } + function test35cd49bf24f91dc575b59bbbbcda31a4a934ef12c6d5f302a6073485465fb7e4() + { + $this->assertTrue(true); + fn() => (@$test)(); + } + function test36c1388074b0dd192e972cbe51282d554432f311c78837c1d48795c51f1c58ec() + { + $this->assertTrue(true); + fn() => (eval((bool) $test)); + } + function test39f5331a660d3998ccf9606a36f8b69ab83d1d3e178f9ed91954442baafd12b8() + { + $this->assertTrue(true); + fn() => (eval(print $test)); + } + function test3d61cae5265982dcef474a82a11ee696afc005a6c3aef84ff9a8abc1caede6b6() + { + $this->assertTrue(true); + fn() => (eval(__DIR__)); + } + function test3e332a0200813529085cf1e9920eb6511e7db5d7c17186d3955fb89de26e41a6() + { + $this->assertTrue(true); + fn() => (eval($test ** $test)); + } + function test445e01bf9f2a3dea244bf09de2711f15f6d968883f709cc5ce0c4a98dff7ca04() + { + $this->assertTrue(true); + fn() => $test->{$test}()(); + } + function test45b8e35286520896da284bc2061b39b6f3801893a8ed2c51d6b4498d1c3096f9() + { + $this->assertTrue(true); + fn() => (eval($test /= $test)); + } + function test4c211bb765dcfca1c165d66e55ac0ae1ed6a885f1be8a498c572b74ed0254998() + { + $this->assertTrue(true); + fn() => (eval($test or $test)); + } + function test4d82dd712ffc236a301f9b9b0816a9c84fedb50f833adf1e7b36aab5e10e30e4() + { + $this->assertTrue(true); + fn() => (eval($test & $test)); + } + function test4e16087430f50e1bfeb5c15214adc095517be3374c3766aa41de9aa4184e8c80() + { + $this->assertTrue(true); + fn() => (empty($test))(); + } + function test5413ea3d5e160c69ae7299bcc95d0e70e342b903fbb582c80f95dd5f1d103e61() + { + $this->assertTrue(true); + fn() => $test()(); + } + function test552a067dad2e2842b9e94d4b4d5582c40636219ddfdfb03590c9d3e2d352420c() + { + $this->assertTrue(true); + fn() => (eval(__METHOD__)); + } + function test5724396f7399a45f30a315f12f92df4191b09213262ad5d291d32b0a784e29bb() + { + $this->assertTrue(true); + fn() => (eval($test < $test)); + } + function test5bfdc599470a43581522f34d12404c3aec03c2f356dda1e27854b1261692f834() + { + $this->assertTrue(true); + fn() => (eval($test ? $test : $test)); + } + function test5e6ef4e2ce4237029485fdc51df46c5e8680fc52b499d123753df6654c6d7b2b() + { + $this->assertTrue(true); + fn() => (eval($test * $test)); + } + function test5e913f2267a0506f830a4281e8676e604495e7aa1795c6f2bc4a3df51e95a71e() + { + $this->assertTrue(true); + fn() => (eval(throw $test)); + } + function test65ad18ed5aee4fa430810248ecfc09553bab4b7f4614694596860c4e827ebb54() + { + $this->assertTrue(true); + fn() => (eval(__TRAIT__)); + } + function test65c2019880864bcd650786f61556050b0a7e59bc62ac265c68b331b5ab97daa6() + { + $this->assertTrue(true); + fn() => (eval($test - $test)); + } + function test6a4a1ffadb05789519ef6807f7e217c4b83284b8f62550f708d3e207e8ca740b() + { + $this->assertTrue(true); + fn() => (eval(${$test})); + } + function test6fc0b356be651cf91935e1815d9e37a7c776021329ad2508e8a0e89e471c23b6() + { + $this->assertTrue(true); + fn() => (eval((object) $test)); + } + function test74c5799b42418f3b1bb599cb68d715b8d0090c0131a8e3751a32207ae260d19b() + { + $this->assertTrue(true); + fn() => ($test::$test)(); + } + function test76d998d4b1515d5b9396c99f5a6dbf7b04981cb53f5c1ef087a340cf681c1c05() + { + $this->assertTrue(true); + fn() => ($test)(); + } + function test76e451ab6f0af0aa58a76c30d5f2346974848757120e5ab50b8d05fa8ea9eebf() + { + $this->assertTrue(true); + fn() => ($test instanceof $test)(); + } + function test770671c21393913a87097b82b377221955b57f565a35ebeb2cf45edd68197b05() + { + $this->assertTrue(true); + fn() => [](); + } + function test7706809c260c019e3b5e80af933185f44e39c4aa2ae9bb3397e4e1f7a91f0c75() + { + $this->assertTrue(true); + fn() => (eval($test <<= $test)); + } + function test791b482f226ad7bbe64976ef9f503e7a296f3f5bfcf564cd220013903056a885() + { + $this->assertTrue(true); + fn() => (eval($test >> $test)); + } + function test7b1332e81408448f7d97fd06facfecee26af7ea16c0076f1c8eef8a506e5babc() + { + $this->assertTrue(true); + fn() => (eval($test != $test)); + } + function test7d76bf88f13d74a24cea0a17c3ed70a1b054a2b62d79f4c7f84f5252014c87ec() + { + $this->assertTrue(true); + fn() => (eval($test <= $test)); + } + function test80b381571ea00c0c5f557ae7b74b92472d7245525913df4d8b86945fa9e7eeea() + { + $this->assertTrue(true); + fn() => (eval(__LINE__)); + } + function test86dba57240461050ad27b05b9f903de70860a3bb8126a717d1a83edd4d6b9ec6() + { + $this->assertTrue(true); + fn() => (eval((array) $test)); + } + function test884f636917573671d4245d40f5df9ad65f3e3650c867f3d6767289092bc61d26() + { + $this->assertTrue(true); + fn() => (!$test)(); + } + function test88faef1d383dde5fc321c2dc60b793282efafc76a8a6f77ecd337e4698cad98a() + { + $this->assertTrue(true); + fn() => self(); + } + function test89c7a24c4441300227d50105ab8b0135ccf94f4f0f6e20c96fa78f9d1af65a21() + { + $this->assertTrue(true); + fn() => (eval($test || $test)); + } + function test8cf1a9ee3c815b29cc84eb46694b681fcd0af10e85acbc1a68ef9405dc36c331() + { + $this->assertTrue(true); + fn() => (eval($test && $test)); + } + function test912dbac6a74a03d0808ea9c2b70c9d4e4b50a10265aec49bdada89f1ce833f4d() + { + $this->assertTrue(true); + fn() => (eval($test | $test)); + } + function test916e583f55a83bcfe17fe773ea3d91fb7a45915b0f067750cf524383dd732b10() + { + $this->assertTrue(true); + fn() => (eval($test << $test)); + } + function test932f77c4fef70aee7e78ffd0b078f65a0b9f20cb9e2c869833918ae101e04d85() + { + $this->assertTrue(true); + fn() => (eval($test / $test)); + } + function test9664a5294dc5013de23786a75b3904bfef4c439f07d488695f18c5f8e9a3a2f3() + { + $this->assertTrue(true); + fn() => (eval($test == $test)); + } + function test96ba994f6ee475490b7fbca27708bce2eba464b4b7ef22b4a665d50724cdf2b2() + { + $this->assertTrue(true); + fn() => $test[$test](); + } + function test9a5206c760ea08757644a6fd35169565f29e289f690096ba9ee70dcfbd157da5() + { + $this->assertTrue(true); + fn() => (eval("{$test}")); + } + function test9b1b7e8110ce61e9cb3fb884b8c673420bb5023b64000c9a6763089f56b33a40() + { + $this->assertTrue(true); + fn() => (eval($test ^= $test)); + } + function test9ca71b2d4185a8ca9b7d314481344f7ce63423d5524a6b0a5732d4cc5a0904f5() + { + $this->assertTrue(true); + fn() => (eval($test xor $test)); + } + function test9cde1c44830bc204fcfad157b05d9e30a7a5e8f53d5af120b806168599bc0e24() + { + $this->assertTrue(true); + fn() => (eval((yield $test => $test))); + } + function test9ec5970969e8c4180b0ca232423efcbd20547788e9cecd8171ee58c095bdd2ba() + { + $this->assertTrue(true); + fn() => (~$test)(); + } + function testa0ebb6d22db51e8baabd9842b66d91e42fc2cbf85944070752fe96c17a87eba8() + { + $this->assertTrue(true); + fn() => (eval($test <=> $test)); + } + function testa27da51a47dc0de7a4d2d1f1b43c4391258d4c4a784dc948a734d03b7506bd1b() + { + $this->assertTrue(true); + fn() => (eval($test >= $test)); + } + function testa39bb47ef4554d7708e57262ff2615a43422337d5105580f94505149d478f7dc() + { + $this->assertTrue(true); + fn() => (eval(``)); + } + function testa4a81e9285934370900251ce3c1fb440d9d092dfbb32d12fb394c24241ab1d0d() + { + $this->assertTrue(true); + fn() => (eval($test . $test)); + } + function testa74864588f5cc4206bc410d65ffc4b3a6a19ea146cbe9a2d0d357302de76518f() + { + $this->assertTrue(true); + fn() => (eval($test .= $test)); + } + function testa7c8f0f7cf64369b4b137a4904cdcd2ecc2a4a2ce7d1a1d8aa719ac4c5803cab() + { + $this->assertTrue(true); + fn() => (eval($test -= $test)); + } + function testabfb2bb94c71951f02e96a38ae488edff397161956fff14eab4356bbe730ae46() + { + $this->assertTrue(true); + fn() => (eval(__CLASS__)); + } + function testb2b93fb3555f5edc33c0791adf780f79eec9b21fac811a397858dfdee07f343a() + { + $this->assertTrue(true); + fn() => (eval('test')); + } + function testba1b4ee2e87ca1046983c346ea2a111888566fad85edcb11d0681130fc14a704() + { + $this->assertTrue(true); + fn() => (eval(0)); + } + function testbac9143baaca3f14bdcaf80a5e6d49bd3c20d288979aa799e38e08ec70394111() + { + $this->assertTrue(true); + fn() => (--$test)(); + } + function testbb0254bbaa03ae9674390e36ed1274f3fd23e10e44808059398f759fb117cf65() + { + $this->assertTrue(true); + fn() => (eval($test + $test)); + } + function testbe17ed456121c5ad01a3299cdcc9a729227456aefbd4b0b6af346d7424bed8f0() + { + $this->assertTrue(true); + fn() => $test?->{$test}()(); + } + function testbefe4637ffeaa994c09ee15a0c72118b0654c96bd4cf5535973c8099278313c2() + { + $this->assertTrue(true); + fn() => (eval($test++)); + } + function testbf5b654decccdb3bee655736e4e48ad0252e392a380394c3088fc3de07718209() + { + $this->assertTrue(true); + fn() => (eval($test += $test)); + } + function testc48c438e69ee8f302c49bb3f1397ceec916805c0ea2ec1c23a52345a38361a1e() + { + $this->assertTrue(true); + fn() => (eval(-$test)); + } + function testd4462861f25b35659cf6d6d2e666f1b42bb77d2ca863cc2604f11af3d905de1f() + { + $this->assertTrue(true); + fn() => (eval((string) $test)); + } + function testd494e30a44e9fff64badb90777eb8150f8e312b464276eb4c6938d59f6df6c50() + { + $this->assertTrue(true); + fn() => (eval($test::$test())); + } + function testda60501c6efbdd9340867336e7b59abebdb1deb520cf7b38d9788142a38b38a6() + { + $this->assertTrue(true); + fn() => (eval($test))(); + } + function testdc6fa76caacfd12e3682baa53661d02a1e0ccc36787327eccd880b1158f1f768() + { + $this->assertTrue(true); + fn() => (eval($test |= $test)); + } + function testde929a2b8f617f61dc75a40a7cf1c58ac0f8c6757eea87e61c7b8833b1c2c402() + { + $this->assertTrue(true); + fn() => (eval($test **= $test)); + } + function teste35b9cd1e3a6c4132f8a950a36145873c23e15347ef2af47cdff7ba1e78cb872() + { + $this->assertTrue(true); + fn() => (eval(--$test)); + } + function teste6f8c87b89d7cb4c4ec43b4940f29f5d4d34ae62a4bc20ac1b4e41d99523841d() + { + $this->assertTrue(true); + fn() => (match ($test) { + })(); + } + function teste87f8ccbe038909a1a52d781e1805fee5ac02678d327a8957a3704a086bfbc9e() + { + $this->assertTrue(true); + fn() => (eval(+$test)); + } + function teste9868b525a1e33f5af42b1e4a5f4ec2d6d9ffcffb5e34dd83f0f78cafcf47c09() + { + $this->assertTrue(true); + fn() => (eval(__NAMESPACE__)); + } + function teste9d3de80ca26f0b1857043d164e44d19877d97131724e19a17e211165e966313() + { + $this->assertTrue(true); + fn() => (self)(); + } + function testea6aa781b199a5caddc171416c7357ed28f8a0cf59289246c6c00de527fdf1e2() + { + $this->assertTrue(true); + fn() => (eval($test % $test)); + } + function testefcdad4dd6baaa236d1dc69a1501c1fdeca29c91ff6d17eda3d21714c60807c4() + { + $this->assertTrue(true); + fn() => (eval($test and $test)); + } + function testf5dbba273687c644aab335675afa3dd315577378b3b30dabe3d67199447af520() + { + $this->assertTrue(true); + fn() => (eval(0.0)); + } + function testf6aa6864298893681d39b5d84462e1e97c30f4fde77292c43776a701493c8359() + { + $this->assertTrue(true); + fn() => (eval($test !== $test)); + } + function testf8eabda8613d242c53d054139be9f30028f3fb0c4fbf9ab6a6d3ec8b4b2aa0d6() + { + $this->assertTrue(true); + fn() => ($test = $test)(); + } + function testfa4dde43715b8bbba0326564f9a7d52941874f58b0ab556acec7971af2f5d5d6() + { + $this->assertTrue(true); + fn() => ($test--)(); + } + function testfb525231b6b02b385f87ca4b93c32c6bbcf56bb6b6b909c156c689915fb4c829() + { + $this->assertTrue(true); + fn() => (eval($test > $test)); + } + function testfbf87de868f1565046bb40a394082f7fe9d91184cf421106ebf07f261f18ab64() + { + $this->assertTrue(true); + fn() => (eval($test ?? $test)); + } + function testfc69d2fa77d57f38bd7fe20896dc30b8d40d190f0e8a0e2dba025ef0e58dab61() + { + $this->assertTrue(true); + fn() => (eval((double) $test)); + } + function testfc9e85e95948b1305b92ae5b256deeff11080487c78d6dcd1f9bd3c3e5a32f83() + { + $this->assertTrue(true); + fn() => (eval($test *= $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest.php b/testsGenerated/Target/Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest.php new file mode 100644 index 000000000..b2870d284 --- /dev/null +++ b/testsGenerated/Target/Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest.php @@ -0,0 +1,509 @@ + + * @license MIT + */ +class Expressionb476c9e6466e2a4ead3c30f20d015d1b191788617b54ca1863929220433870ecTest extends TestCase +{ + function test0638a10326cb2fd94a2fcab6535eeaab0c96c7922d451663b32262ee135fd918() + { + $this->assertTrue(true); + fn() => ($test **= (string) $test); + } + function test0661353678e8fef5acce798d119f25c4b337fe121fe4b6e25b84eb0fedb344a8() + { + $this->assertTrue(true); + fn() => (+$test <<= $test); + } + function test1a8c0e1668d52bea70176a21597464aa96d58382f592f986959a3d7c2275ad77() + { + $this->assertTrue(true); + fn() => ($test **= (array) $test); + } + function test1fa18009af9292c92b5da11802ead35ed97927634c7ae82dd40b1034ed8b0f24() + { + $this->assertTrue(true); + fn() => ($test **= $test < $test); + } + function test2342e13b9fc573d6b4a081e4b50f6de49cc200b7d6bcdd4f31688b4984021e77() + { + $this->assertTrue(true); + fn() => ((array) $test <<= $test); + } + function test246e78440cdf0246662d21736d5950b7a943ef2f8c0a5a01e336f4412603e994() + { + $this->assertTrue(true); + fn() => ($test[$test] <<= $test); + } + function test274fc01049a07528a923d4a6b08b55a6b31681570962bc124a762649c3d871c5() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test <<= $test); + } + function test2c2d5c9ddcdad7e1c0f6a28b9a810dbaa074ef3ed7f43c8864453dc0b00cce5e() + { + $this->assertTrue(true); + fn() => ($test **= ($test or $test)); + } + function test2d9a1d1b09be4cd50d48277b5c00fe91e682545a7c9bbea3ec10ff3a52fa829c() + { + $this->assertTrue(true); + fn() => ($test **= $test << $test); + } + function test2f9f57ab7e6c74cf0ff0f2f1f3951ccd82c995a69cd522208d92249b3bc0024b() + { + $this->assertTrue(true); + fn() => ($test::$test <<= $test); + } + function test345e0a7d34cb3fb8765b04028d21b705875a289fab04c4e6e91551d9c9a6bb22() + { + $this->assertTrue(true); + fn() => ($test **= $test + $test); + } + function test362a72f779e896fc796e47dca42be29bdba67acd7126fb16eb1dd67a20c5e04f() + { + $this->assertTrue(true); + fn() => ($test <<= match ($test) { + }); + } + function test37580ca9fd21921bf31cc9c84097a59a04372c15f33ec7132c03b72fe96d84a0() + { + $this->assertTrue(true); + fn() => ($test / $test <<= $test); + } + function test37677bfac4950993512b1269170fc07968685154f7422c12a2e11f39a9c91a22() + { + $this->assertTrue(true); + fn() => ($test ?? $test <<= $test); + } + function test38e92a879a6b296255115ca840ad2c27d8b1e4708d8aa81f466063bce2a209e6() + { + $this->assertTrue(true); + fn() => ($test === $test <<= $test); + } + function test3c4058df48142e664b96e47ce53e41a877b7e59b33f99442a1554191de5e5d5f() + { + $this->assertTrue(true); + fn() => ($test <<= $test::$test); + } + function test3f071cd47302d659d90868ff772d1e3af81fd16b3a158c1e03a1a5c765a330d1() + { + $this->assertTrue(true); + fn() => ((string) $test <<= $test); + } + function test3f5b29c44eccb8dbad10af2e1dc5a18c01a9a78c9e560a7990887e7121ad77c3() + { + $this->assertTrue(true); + fn() => ($test <<= self); + } + function test4c89b948d734014aff9835f4600d36b85b4198fab1396a648b7897f580da3460() + { + $this->assertTrue(true); + fn() => (!$test <<= $test); + } + function test4cbaa2bba5658c84c30993f6a428d3b2c4cded5cfa55d9f0db1d9648b24453e8() + { + $this->assertTrue(true); + fn() => ($test <<= $test = $test); + } + function test4f2c361dff7d564255ae72d918d520103b3ae4ea5f6b425b2d77f636d8438dd2() + { + $this->assertTrue(true); + fn() => ($test **= __DIR__); + } + function test542d8c1131451bb97c52ba660f81090cf1221266279ed242a0f9015fa9a432ea() + { + $this->assertTrue(true); + fn() => ($test <<= ( $test)); + } + function test56db6111bde47d0b272f0a542652bcdbed3a20e6b181b26b901f99f915e7b8c2() + { + $this->assertTrue(true); + fn() => ($test **= (int) $test); + } + function test5845fcbaa6f96834ae94bffc69cebe85b8b37267ca495368e23464cca9e3ed70() + { + $this->assertTrue(true); + fn() => ($test <<= $test[$test]); + } + function test590ad71c4b2b15a47f5d2fa869d2e9574182f29df39597c9426a5a3c088b676e() + { + $this->assertTrue(true); + fn() => ($test & $test <<= $test); + } + function test5dbb19cb5611add02adebc509eb2e91824a43a0ca3dedf5cadffa3fcddd6573e() + { + $this->assertTrue(true); + fn() => ($test **= $test - $test); + } + function test659b3c0eb99261af73b1f2be8790176bbc57c54555e615227021bda904c6ad6d() + { + $this->assertTrue(true); + fn() => ($test **= $test <= $test); + } + function test678e3c0aee97c1e09e435f483e8a18d17165902bbbedf512b6aa143a8674895b() + { + $this->assertTrue(true); + fn() => ($test **= 0.0); + } + function test687b53e5508c6adeeb9f54f0bb566d4c83324aa07bea8dfeac5c21e9cc12cb44() + { + $this->assertTrue(true); + fn() => ($test + $test <<= $test); + } + function test6892941eeeffcd2a236a31d5b178d771f521cc6bf6d57c8e91b0f87be55dcf0c() + { + $this->assertTrue(true); + fn() => ($test **= __FILE__); + } + function test69aed9dd7ba2047d7f83d54d97836ec6aad9754452f0d185e4155338821b4381() + { + $this->assertTrue(true); + fn() => (throw $test <<= $test); + } + function test6a3810e1cac9863b2b532b2bb31cd950275065b7f0cbaf213b4acccfcd547b4e() + { + $this->assertTrue(true); + fn() => ($test **= (bool) $test); + } + function test6d6410549b821df9bc25824c4362e13e1aba38fe22547782da1278ba1ce3efd6() + { + $this->assertTrue(true); + fn() => ($test <<= $test?->{$test}()); + } + function test6f9126560c770c5bef593ac593df82f7e4002749aa552fc7de469c5d2d62d74f() + { + $this->assertTrue(true); + fn() => ($test **= 'test'); + } + function test7326dfa96e695db31fcb7d877c6cf22564e0eeeb8194720dff479beb23954f00() + { + $this->assertTrue(true); + fn() => ($test % $test <<= $test); + } + function test73fd77848c8b7e87e53820e3de0b57cc2dd5b0eedc3899a5383ecb33a061f900() + { + $this->assertTrue(true); + fn() => ($test <=> $test <<= $test); + } + function test7c9645316ac541bafe8ad037a92ca26138990dea923bc87c8fac97755cb2dde4() + { + $this->assertTrue(true); + fn() => ($test == $test <<= $test); + } + function test7f8ec24997fc15b37106ddc165dd651632f0438c7f5eb9b8d116c795ad947946() + { + $this->assertTrue(true); + fn() => ($test **= $test % $test); + } + function test804f491204936e8119de516240e96decc5a34474fea50e7c6343ea9bbd39b322() + { + $this->assertTrue(true); + fn() => ($test >= $test <<= $test); + } + function test81e7569e9e0ceef8ebfa4edd25ada28eb432813fa31c00dd2c42168773ffa752() + { + $this->assertTrue(true); + fn() => ((bool) $test <<= $test); + } + function test8329b214e1e32a05dc4c999cff007d882fcdbfed28d0b407da777d57443be42f() + { + $this->assertTrue(true); + fn() => ($test <<= empty($test)); + } + function test8441c9645111c57dd6c7e9d477c37f1544e84e5ffa58766103df82a0f108525a() + { + $this->assertTrue(true); + fn() => ($test * $test <<= $test); + } + function test84e635c5042484ecb6130252211bec0390134303ac64e097f57a8c8fff4c6398() + { + $this->assertTrue(true); + fn() => ($test || $test <<= $test); + } + function test898de58c9770b09bd2286e9d91eea68154e4f8bc4d698a07d6eec0229d4bdb2f() + { + $this->assertTrue(true); + fn() => ($test **= __FUNCTION__); + } + function test8ae63668aa2073448ee2d121697283cfc22ff407a1f87776c23c0b063b03bb25() + { + $this->assertTrue(true); + fn() => ($test **= $test === $test); + } + function test8c9f5eacf316503d957bb184c6728008dbd071033c340ee302354b25c9751b48() + { + $this->assertTrue(true); + fn() => ($test **= $test >> $test); + } + function test8e7f98d631557a5a486315b4789a4dd68a67b459407e6b608571e82f120df93e() + { + $this->assertTrue(true); + fn() => ($test **= "{$test}"); + } + function test91320692e8cd4f5cc61066d6c0c5f4199c3d08118bf42d4fe97350389ad3de37() + { + $this->assertTrue(true); + fn() => ((double) $test <<= $test); + } + function test9367490b31da4796ed32b6251f70fe2d2315db4c8a2731f11e8ae496a545a2e5() + { + $this->assertTrue(true); + fn() => ($test <<= !$test); + } + function test93b75ab03783493b7a6720f5af92ce36fef48dfb5c7cf20a996c11e916a61c56() + { + $this->assertTrue(true); + fn() => ($test <<= $test()); + } + function test951f7c7e988c08fd8abcb6739428f428d70a642165ff1d6591af8bdd6da140dc() + { + $this->assertTrue(true); + fn() => ($test <<= ~$test); + } + function test9695364d1e098afe8b08144e59c394d720d822f2efec6ca76555f204bad05b0a() + { + $this->assertTrue(true); + fn() => ($test != $test <<= $test); + } + function test9b8d9c2112060ad30d433532b7b439f3d0bc81cb979e3d6c4aee62a3d2f016a1() + { + $this->assertTrue(true); + fn() => ($test - $test <<= $test); + } + function test9c0eb6b782b8e59450469700469c011dbb28e66b46b8f3146a3335e1df693e22() + { + $this->assertTrue(true); + fn() => ($test **= __CLASS__); + } + function test9e2da387b6998db5aa89778b13df1b4c742230c03709c3d73efc0767ece4c696() + { + $this->assertTrue(true); + fn() => (@$test <<= $test); + } + function test9fe55aa6a50b602d8ae09aa9b99a4aee00839f212fd17dbd1ff654fbcb98b542() + { + $this->assertTrue(true); + fn() => ($test <<= @$test); + } + function testa12ff0921fa1d423c116d9ac81e85516317fe9a5a33d61ba25fd4b1d2d7ff813() + { + $this->assertTrue(true); + fn() => ($test **= ($test xor $test)); + } + function testa185e1f77a8c7b2d16766b72ce68f2ee372f6ce8bb04456b17f6bd599a47deb5() + { + $this->assertTrue(true); + fn() => ($test <<= eval($test)); + } + function testa322fb1f386706785e52f967039166f5c7db35c9cc2f6e2f877212794f623f2e() + { + $this->assertTrue(true); + fn() => ($test **= __METHOD__); + } + function testa3d13930cd328e915e03a6fbd6eedcaed8c9ee1f4edfdd29ca74c8abcf543659() + { + $this->assertTrue(true); + fn() => ($test <<= $test); + } + function testa42762fe8582ce592b4f10205695a8120e9862758c3e249b264dfa235247e795() + { + $this->assertTrue(true); + fn() => ($test && $test <<= $test); + } + function testa5cbafe05b50aad2837c6e25160d8e43c2389c82018d6d215fedf128aed8302c() + { + $this->assertTrue(true); + fn() => ($test ^ $test <<= $test); + } + function testab0938799873c5417a2aff248577f430c97e3bcabc4340248c241d4cd0a248f5() + { + $this->assertTrue(true); + fn() => (${$test} <<= $test); + } + function testb040df647bc85f34d9e79b897b44f24a8d3c60e64ad0d30198d668d62f8dbac8() + { + $this->assertTrue(true); + fn() => ($test **= ($test and $test)); + } + function testb071fe55330e1c54b83144a54022b192ab251ce9f20ce6ea05fd7f50a78ef486() + { + $this->assertTrue(true); + fn() => ($test **= $test <=> $test); + } + function testb441f610533b59c5af9e187c1d31d2b4e55a3fe87be28c39673e2313604a4335() + { + $this->assertTrue(true); + fn() => ($test <<= $test instanceof $test); + } + function testb46c37b2b002b68c4fecdbd9a800b908770a732144ae904e9a9eb6494e5e8833() + { + $this->assertTrue(true); + fn() => ($test **= __LINE__); + } + function testb6eaaeb8f1159b51f2b154e3e6357c59084279732c429fe80b5c25c7de18b0bb() + { + $this->assertTrue(true); + fn() => ($test **= __NAMESPACE__); + } + function testb84f7b3db6d852ad726ea38246aa5d43adf0be7fa77790fce727027643ebfa6b() + { + $this->assertTrue(true); + fn() => ($test **= 0); + } + function testbe2ac312f7e39241046c30af128dc6e2ab3937905987dded3998fbd972465c14() + { + $this->assertTrue(true); + fn() => ($test << $test <<= $test); + } + function testbe41c18a8f6d02783ff6dba4ee58f0cf0a91a75d0eb546a28e45d1d4b6b81cdd() + { + $this->assertTrue(true); + fn() => ($test < $test <<= $test); + } + function testc091e71d8dea8f74a37c00f5d1721f5a07a55260b7d776d6379de7c55e2a7c69() + { + $this->assertTrue(true); + fn() => ($test <<= $test =& $test); + } + function testc2adefa1f8556d0b6bb0f313730d7d9cf69666eb41551e573748d71a6b5c1705() + { + $this->assertTrue(true); + fn() => ($test | $test <<= $test); + } + function testc44809960a8bbb47056d302a71b1cb8172f7252e9b19eef0dc3fc698d4abd386() + { + $this->assertTrue(true); + fn() => (~$test <<= $test); + } + function testc5d1ab69596c7476888d88d69c6eab1dc891e87efe084cef9eb3e8d06d198ef0() + { + $this->assertTrue(true); + fn() => ($test **= (double) $test); + } + function testc6e4ae703c266aa6004913e89c7bae73377258b4a58b858012f20da1f86e8072() + { + $this->assertTrue(true); + fn() => ($test **= $test !== $test); + } + function testc8ae04a71f9636cad27cce0089bb3782ebba216aad8bd16081d7ef44db3b1075() + { + $this->assertTrue(true); + fn() => ($test **= $test * $test); + } + function testd431b44e1baa86e25673283a5895d91f4224de43f3dda0ca50f011908f5b34d9() + { + $this->assertTrue(true); + fn() => ($test **= $test != $test); + } + function testd74770558a91fb5d9bcaea28eab1943118b7f1d1a1b37139e8b20f8be19839ba() + { + $this->assertTrue(true); + fn() => ($test **= __TRAIT__); + } + function testd97423c133bec44edcc681bc1112eddb3a33f9bbf9c80870ceb6bd1f24829907() + { + $this->assertTrue(true); + fn() => ($test **= (object) $test); + } + function testda24d4d41f9b4c8fdc0f1d42a103ecf30146dd0c6765611e0142c4f60bcf3cb8() + { + $this->assertTrue(true); + fn() => ($test <<= new $test()); + } + function testdcc196789661cbfe8205d96cf5becdb048ca0c445d246da93fb0f05b24ce1f2b() + { + $this->assertTrue(true); + fn() => ($test <<= isset($test)); + } + function teste004fae39e3b58053b5aca2b0ac01b3512a6973a9b3e7d0d4d3e008c97c45386() + { + $this->assertTrue(true); + fn() => ($test <<= clone $test); + } + function teste133f87a1146fe79f812972662333685ed6e3b2d6266cd2fadd1de6b5ddcbd1a() + { + $this->assertTrue(true); + fn() => (clone $test <<= $test); + } + function teste3695d9c6f0c2ec7e3176a46795d334c27d96d3fe583cd47e730e53effb5b19a() + { + $this->assertTrue(true); + fn() => ($test **= $test ** $test); + } + function teste4087edd3b12a8e5d18a25e4aa1f35184f0db6d3b84ff035bfd9ffd31d9eb44c() + { + $this->assertTrue(true); + fn() => ($test <<= $test->{$test}()); + } + function teste4b229ba5738ae3e9f06ff4ed311346f86df404a1f6903aacc2c021a9c41deb8() + { + $this->assertTrue(true); + fn() => ((object) $test <<= $test); + } + function teste52ecf64dbf5762f19b603fd6850b880865ead08f54df500986d5e409d4cffee() + { + $this->assertTrue(true); + fn() => ($test->{$test} <<= $test); + } + function teste756e9ddd2a5a12f18b51388214a8d9792af614af54400f99f56396912106e47() + { + $this->assertTrue(true); + fn() => ($test ** $test <<= $test); + } + function teste801c19ded34c26b378580859b629ab8b007f2fab650ce632dd0411c1a643feb() + { + $this->assertTrue(true); + fn() => ((int) $test <<= $test); + } + function testea699dc6452e7bb56c71e501a483a3b9d23ef1fee5f86f184e45236e187e5a5f() + { + $this->assertTrue(true); + fn() => ($test <<= function () { + }); + } + function testec253387a3f481eb2d04756257e80439986b173069df3b001bb6b49c060d71b8() + { + $this->assertTrue(true); + fn() => ($test::${$test} <<= $test); + } + function testec4017c41c52512eaba5f8c3466853e2068921041d9bf9fdba7cdb31600fe25e() + { + $this->assertTrue(true); + fn() => ($test >> $test <<= $test); + } + function testee80e84b3de7bd96f3a38cb548e04ff0be8b8a7aeb2c714a644f40d02b5dea72() + { + $this->assertTrue(true); + fn() => ($test . $test <<= $test); + } + function testf54f2db5b316750b72ab70ffe3ab6a65fd01d380bbd2e2991af9d5eac0b81180() + { + $this->assertTrue(true); + fn() => ($test <<= []); + } + function testf594bdce3d8d11af12d2a99506687e96e6bdf26dc5cd164d67024f95f08a530d() + { + $this->assertTrue(true); + fn() => ($test <= $test <<= $test); + } + function testf749737396d21351cda04141f8a71629ddb6676bf578657a6be0c4dd84d9ac22() + { + $this->assertTrue(true); + fn() => ($test > $test <<= $test); + } + function testfcb6cde504f87892b5d939df6978593376637fb733c6b255cf5575f790afcf70() + { + $this->assertTrue(true); + fn() => ($test !== $test <<= $test); + } + function testffa4e4bc348e2a33ba56421b08b70080ad2d88c99d4775617de3399dcf0d5019() + { + $this->assertTrue(true); + fn() => (-$test <<= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test.php b/testsGenerated/Target/Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test.php new file mode 100644 index 000000000..93776d1b0 --- /dev/null +++ b/testsGenerated/Target/Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test.php @@ -0,0 +1,513 @@ + + * @license MIT + */ +class Expressionb49f4ca719caa760d6bd01fdb02d47c9096238b4a34e6fb7d25d8cd915949357Test extends TestCase +{ + function test01dc943c0b42f62a15470b7d8480bbc2313d2890d075f1782f9b43b8e12309c1() + { + $this->assertTrue(true); + fn() => ($test ??= __DIR__); + } + function test03237b90058800c7f440652831b46eefa6c0bcfead0ab030ddeb24b1fdc7128e() + { + $this->assertTrue(true); + fn() => ($test ??= $test << $test); + } + function test0530bc0c91071b59a95249bb45243753f29a8fda09b394431bcadeec397678f5() + { + $this->assertTrue(true); + fn() => ($test ??= 0); + } + function test08a32b90fcc3503e0ea819f16eb677e3ce4cea56d8b06820bab3d28bd11ac25f() + { + $this->assertTrue(true); + fn() => ($test .= $test::$test); + } + function test0949ae2d86c3822dad37f834ca2993940ba2c92e046645f04400b8f1bf546977() + { + $this->assertTrue(true); + fn() => ($test ** $test .= $test); + } + function test146dfec78497809c19fbb2ba9ba5f79ca759d7c3725e3d36041df2bbb50a60d1() + { + $this->assertTrue(true); + fn() => (~$test .= $test); + } + function test19300c9ad7ac704a5c2aaa969eb93d1ad6e3a87b35865fb51e8c7f5e9708802b() + { + $this->assertTrue(true); + fn() => ($test .= $test); + } + function test19c566000cb24c181b36163996372f7a5527ed970e9ffb6a2c82a0e2c60a811d() + { + $this->assertTrue(true); + fn() => (throw $test .= $test); + } + function test1e55352f3550144bbbfe2bc076bf564c25e639b0aa7c2ea72817b51c9c367b34() + { + $this->assertTrue(true); + fn() => ($test .= $test = $test); + } + function test202a89399e0ae05b1d065ec2bd5feb83bd756c0b3bc18cdaa77d3fd2ef430911() + { + $this->assertTrue(true); + fn() => ($test ??= (object) $test); + } + function test2033461c72f4c3dbe6236c11e528f927e45608fb1622e9760da6dd6b0588424c() + { + $this->assertTrue(true); + fn() => ((string) $test .= $test); + } + function test2277a974eab56dfc1fcedf31499977b4578b6cab942c6f27bd0bee9872756f03() + { + $this->assertTrue(true); + fn() => ($test & $test .= $test); + } + function test24561f8c965a1bc80690fb0587e148d0894aba9f27afa3792bee8e68672d7c70() + { + $this->assertTrue(true); + fn() => ($test ??= $test <=> $test); + } + function test2726334adc2e2ed9a65c256b1ef8e3cd7e000ff4da9e5e36e024ba939294eaec() + { + $this->assertTrue(true); + fn() => ($test ??= $test <= $test); + } + function test28255f641a13b8719a95b397c56fc233996fcaad187df2790a03cab56f7e99f7() + { + $this->assertTrue(true); + fn() => ($test ^ $test .= $test); + } + function test2ab2ae8cd69e2de260af5d5ec698e698fcb91708361754e1c61a49aab48fd811() + { + $this->assertTrue(true); + fn() => ($test ??= "{$test}"); + } + function test2b97174b96359b388f39f5ad452addcebb6b558ce9b792b77aa1151ccb6d11a3() + { + $this->assertTrue(true); + fn() => ($test ??= (double) $test); + } + function test317e738109f4dd1324545ab68908d52e35d6cd827fafab4d7fa2559d70fcb1bf() + { + $this->assertTrue(true); + fn() => ($test .= !$test); + } + function test344b262aa5e3e95943e8f35ef3abfe0c72d2e34bcc5a922f96753735127391c2() + { + $this->assertTrue(true); + fn() => ($test::$test .= $test); + } + function test34a397f3dca17b017e39924f7a18b9e8a91f8b728e3f19d3dc92602cc3673cee() + { + $this->assertTrue(true); + fn() => ($test ??= 'test'); + } + function test378c46f038b1c213ee9ba56a178de5734f94109ed1fd2ed808886e998f262351() + { + $this->assertTrue(true); + fn() => ($test .= []); + } + function test37c8bc561be164df0b61dea3e69fc520494ebdf3b6f3a6efe351f567e1182c51() + { + $this->assertTrue(true); + fn() => ($test - $test .= $test); + } + function test38a0971dadf205c11714a7f844df3bd18351955d638031a16666cb295bf9a24a() + { + $this->assertTrue(true); + fn() => ($test->{$test} .= $test); + } + function test38a5de9ccc482b03e5f253bda3ca26582f5d32a5c5321e2ba67ca1cca43f241e() + { + $this->assertTrue(true); + fn() => ((object) $test .= $test); + } + function test3955c148be282ab72855994a464579f88c3aaf3bbd41f74e581c9440c2069166() + { + $this->assertTrue(true); + fn() => ($test ??= $test ^ $test); + } + function test39f77c96ff0cbde36e73cb694b60ad4c2d6baabd97579a2834d894d6a5c930a5() + { + $this->assertTrue(true); + fn() => ($test || $test .= $test); + } + function test3c0b1a971dc64f5756d2ebaaeea9ecb6d59a4f95f1020fe25db165cb20bafdea() + { + $this->assertTrue(true); + fn() => ($test < $test .= $test); + } + function test3f502ec9e7e01113f531a5e60e81aada180bca2a5edae8a7115cfcfcafe92f7f() + { + $this->assertTrue(true); + fn() => ($test | $test .= $test); + } + function test423d1c2a30ce6ca30d4698cf56e4060c287d52e74aa348317870622d44452d76() + { + $this->assertTrue(true); + fn() => ($test ??= $test !== $test); + } + function test42b9a6fef2d90a615c24dcc0129fc98bc6eabd4a3ab541b346caafd04ce1b998() + { + $this->assertTrue(true); + fn() => ($test ??= $test . $test); + } + function test440e27805eb5503c4d975b32fe0507e90599cb432af26ac7243eb23dc8e98ca1() + { + $this->assertTrue(true); + fn() => ($test ??= $test == $test); + } + function test47dd81d6781ae9103e500913cf85a7f00b362eeb7fa1108805aec3aad8008d4e() + { + $this->assertTrue(true); + fn() => ($test ??= $test - $test); + } + function test493872b6de1f05d76813f6ac94fb3aa5b4f586df7d646c2d6984d56da02c7792() + { + $this->assertTrue(true); + fn() => ($test + $test .= $test); + } + function test5143733f1507e897a811ec7b4f2ac80a4589321e4e94cf5d249144e48b8f7984() + { + $this->assertTrue(true); + fn() => ($test ??= $test === $test); + } + function test54564faf761ab0540d35675a0d8c2a92813dd4eb42487ac05703b6c2786b80eb() + { + $this->assertTrue(true); + fn() => ($test ??= $test != $test); + } + function test570139aeffece588852856f98555042f8098c37d4d5e1a8433e36e42891c84a4() + { + $this->assertTrue(true); + fn() => ($test .= clone $test); + } + function test5dd043d4f730a4cd7c84f9f3965e6576865a7a9872453d2c32e698d9325f466f() + { + $this->assertTrue(true); + fn() => ($test ??= ($test xor $test)); + } + function test634acaac0f682ca7294edfee831fe846b7b128e7cc09a31f4d9e6f1f1a750735() + { + $this->assertTrue(true); + fn() => ($test .= ~$test); + } + function test689a10b91087a90f0e90dfc517d1606754446a184423f3523d62629b56306446() + { + $this->assertTrue(true); + fn() => ($test !== $test .= $test); + } + function test68b760cd5b20360dae8b0c011877da97b21db6282d79ecff22d783100c36a264() + { + $this->assertTrue(true); + fn() => ($test ??= (int) $test); + } + function test6a47f970aebd8484cc74125b273d723964b1b6479043cb1d11eb11dd388f615a() + { + $this->assertTrue(true); + fn() => ($test >> $test .= $test); + } + function test6f687967c42733dfac17c29780e974337278d4b5cedd8ae7460f10ce36b40ef4() + { + $this->assertTrue(true); + fn() => ($test && $test .= $test); + } + function test7021cf7686247a7f5965e549790982c9f523822d5b96d88b3ee9674758297bc9() + { + $this->assertTrue(true); + fn() => ($test::${$test} .= $test); + } + function test763048b5151f2ced121ad4da14916fad47f8e3c5d04b3cabcb05d436526123d7() + { + $this->assertTrue(true); + fn() => ($test ??= 0.0); + } + function test7e2640b749b1d85691474a6282a07bf37ee564a56dd440baa62d02487894540e() + { + $this->assertTrue(true); + fn() => ($test ??= $test & $test); + } + function test80db26ed38543904e26073469a1371ea8218bfa3529918f86169274c8120d78f() + { + $this->assertTrue(true); + fn() => ((int) $test .= $test); + } + function test8350ba00832fb4dd5413d5acb9aedb82c6bcf4ace52da65a0ae543e5f7a0cbf4() + { + $this->assertTrue(true); + fn() => ($test ??= (array) $test); + } + function test84d68041696f52561d6780d2b70ef7f9a18a9aa775267d284c6114393bb48527() + { + $this->assertTrue(true); + fn() => ($test ??= (string) $test); + } + function test8a2e2a2b0ef18c5df35a7fa532a6cf8c08ba8b404e4181da7f4178c130d6396a() + { + $this->assertTrue(true); + fn() => ((array) $test .= $test); + } + function test8b7a74a8573ae0e7cdfa464f80abbdd7092c2c937dcbbcf6343d8ee7beab3120() + { + $this->assertTrue(true); + fn() => ($test ??= $test * $test); + } + function test8ba698c9eeca5c07d6730e9ba4f8cba17fef1403eca29adfe66031c00791873f() + { + $this->assertTrue(true); + fn() => ($test ??= $test >> $test); + } + function test8bc0bc59ab67d86c0a73228ccbdc753176fb93dd82649c99c29467ecf5b41c62() + { + $this->assertTrue(true); + fn() => (${$test} .= $test); + } + function test91f0aa2ee28d7248d206cd0cee3927569f78275c7e059f7a221fa99d62e7ec7c() + { + $this->assertTrue(true); + fn() => ($test ??= __TRAIT__); + } + function test92df17020fe582d7d45ef4aad1f4e3e6da44ac02f2a43df6f830344effc4bbeb() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test .= $test); + } + function test949e58e8db9bc42f6d3c143a4e703ed5ed7957bcf3d4097a436fadacd3ddd0f9() + { + $this->assertTrue(true); + fn() => ($test ??= ($test or $test)); + } + function test96330cfe56a4d157d6d5e6a69be4c329c2fea4ac0e8ab8b2302b3db88340cf9c() + { + $this->assertTrue(true); + fn() => ($test ??= $test || $test); + } + function test981e1875df6ff3a34252245b62802eeb0eaea30bd3a24ecb5149a76aee3276e9() + { + $this->assertTrue(true); + fn() => (@$test .= $test); + } + function test985ef278d900a316d1a387ffd5d0bf99acd82186abdb08771ae699def4351eb4() + { + $this->assertTrue(true); + fn() => (!$test .= $test); + } + function test98da8307b4b7cc9736415c3c9d5bb4b41f560036bf78fed19f714964ce5df780() + { + $this->assertTrue(true); + fn() => ($test ??= __LINE__); + } + function test9d038580afb5f37364ec1389c56a747844c4f29e3ea7725b0ef06d7847f2a094() + { + $this->assertTrue(true); + fn() => ($test === $test .= $test); + } + function test9fb091f241cfe302ed04749846257fca08f5f7b471e5665ddf6ed44301aa52dc() + { + $this->assertTrue(true); + fn() => ($test ??= ($test and $test)); + } + function testa10e2a208b6167d9999380334e2f8ea79de27b3084fdad255e52f1c5e639e3dc() + { + $this->assertTrue(true); + fn() => ($test ??= $test >= $test); + } + function testa1d724c2b39d386438c83bcd49a5d7e0549e08a3b6fd1bda46d3334c86b2130e() + { + $this->assertTrue(true); + fn() => ($test ??= $test ?? $test); + } + function testa1dd9f24ebf36eea90f7fcc5c574fef2e578dd78c4b743aeab1c09592c607b5e() + { + $this->assertTrue(true); + fn() => ($test ??= $test ** $test); + } + function testa29a4386c55d9a292de74b2e043287b66299c36a95a3e6a8be1c05a2e2775feb() + { + $this->assertTrue(true); + fn() => ($test / $test .= $test); + } + function testa2a07435c8dbe64de08056f024eac57b617ae17b9783d69b2a8ca2a2d48a09eb() + { + $this->assertTrue(true); + fn() => ($test ??= $test < $test); + } + function testa39d51415f8ea7b28a8896adee786a0438e27c2a08b053de944579777be9540d() + { + $this->assertTrue(true); + fn() => ($test % $test .= $test); + } + function testa6803ad6815d0d5750c5ef46ef18e7e9ce8e8864b779e454c8c3ba075f439d06() + { + $this->assertTrue(true); + fn() => ($test <=> $test .= $test); + } + function testa8c3140c83470e87f869cacc20df2dc29f5bb1f48e54cd7feb2cfe7192706c22() + { + $this->assertTrue(true); + fn() => ($test ??= __NAMESPACE__); + } + function testabf7a0bf6811aedaf406110dd7dde7a12ff23280fd654fca67a5299b8b4177d5() + { + $this->assertTrue(true); + fn() => (clone $test .= $test); + } + function testae152d714eccf38a08623c051648139524cd743fc605aeb1ab25fa841983db22() + { + $this->assertTrue(true); + fn() => ($test ??= __FUNCTION__); + } + function testb527fd8a81e8d75f5c6c7f609eb601478bc9ba852c48bb626aca2a3926af439b() + { + $this->assertTrue(true); + fn() => ($test ??= $test + $test); + } + function testb669cb55d5494c8110f391e19139554d02424ec36bb71916c2ec059a7af0969d() + { + $this->assertTrue(true); + fn() => ((bool) $test .= $test); + } + function testb71d53a4822ffd335cb4dd200e79850c0ff482259f3d5adb234ecd36bb2b4026() + { + $this->assertTrue(true); + fn() => ($test * $test .= $test); + } + function testbd2948679dfa1a9d01946a545861de72428450ab70a4a54b892e3e9336d8b9bf() + { + $this->assertTrue(true); + fn() => ($test <= $test .= $test); + } + function testbf8a1b8798b23c3dc966d7294b30b2114a6220290f26e64c743117de1593c193() + { + $this->assertTrue(true); + fn() => ($test .= function () { + }); + } + function testbfa914609b482bc67f3701d46b9b655ffc13aad83693e9fd34e7eea84e200be3() + { + $this->assertTrue(true); + fn() => ($test ??= $test > $test); + } + function testc0444454faffb2eae5df7ffa20a4d25e4ccea11431a7d31ac82d6ec560120cfc() + { + $this->assertTrue(true); + fn() => ($test .= $test =& $test); + } + function testc2210bd6b041c645931828bef4a9bd4ce0fd5af3dc6edcc17a30f6abca3380d9() + { + $this->assertTrue(true); + fn() => ($test ??= $test % $test); + } + function testcb9229fc6e46b3510463cd888bc4102595e65900372c4b2eafea80be2e3dd264() + { + $this->assertTrue(true); + fn() => ($test >= $test .= $test); + } + function testce91ee2468894ae7996c4d2630efc6cfe335f130014f5d25182363b9fed7b188() + { + $this->assertTrue(true); + fn() => ($test ??= $test / $test); + } + function testcfbb831b628a26140b18d6b1a989f59a48821490899f9b779d3c29e884fdfe1f() + { + $this->assertTrue(true); + fn() => ($test ??= $test <<= $test); + } + function testcff8b7c45c833864c27b9e209fbee30e6071502a9560337fc1a0c88931e2565e() + { + $this->assertTrue(true); + fn() => ($test ??= $test && $test); + } + function testd0b6f022f64d3b877687d66ba07160a91dfab6c2a11c2cbea95896f684e64f81() + { + $this->assertTrue(true); + fn() => ($test ??= __CLASS__); + } + function testd21b960e08a340367eab935834cb026e4903c7a1995f7038c71769c1738e47e1() + { + $this->assertTrue(true); + fn() => ((double) $test .= $test); + } + function testd3e94d04636a618e3a7ee35284dfa0f9fea6ab539f7477081380fe48e346c78a() + { + $this->assertTrue(true); + fn() => ($test ??= (bool) $test); + } + function testd43bb632368f10177dd55a2482ef5730ea3d1c10ef9074cd297e644ef8d9ef08() + { + $this->assertTrue(true); + fn() => (+$test .= $test); + } + function testdc992c004a8a6436d1661ca2233a9b69c225493ad4ab6a273313d63028926448() + { + $this->assertTrue(true); + fn() => ($test . $test .= $test); + } + function teste1bd73d1a658383b96d836677cf5271f4775d32c4ae485b57cc0c29b06e8fa05() + { + $this->assertTrue(true); + fn() => ($test ??= $test >>= $test); + } + function teste21995b657eb7c068509c1c305dc8dccd59f7c5a8fafcb212ba7de11088f69c6() + { + $this->assertTrue(true); + fn() => ($test > $test .= $test); + } + function teste273b3f7508d9f4511393c563c390f88ec103ad79910f248d358bbe5b82de731() + { + $this->assertTrue(true); + fn() => ($test << $test .= $test); + } + function teste5655b2bcda5e24ca5adcde407bd3f1eef93d599a055ed21aab807cbe0a8b870() + { + $this->assertTrue(true); + fn() => ($test ??= $test | $test); + } + function teste7a41263243aa7dd2302b3d566c915c52937c996dcfb9816c1eea3b471c9139f() + { + $this->assertTrue(true); + fn() => ($test != $test .= $test); + } + function testea69ee528ba4fb917ce7380425585eeeca1f99e9232123904a1ae7d28b537a5b() + { + $this->assertTrue(true); + fn() => (-$test .= $test); + } + function tested4be9abcae89c7dfdee252c9a2c7ebc311bb93b150aacd71f0a5665108abb13() + { + $this->assertTrue(true); + fn() => ($test ??= __METHOD__); + } + function testef2b3672e3c9ee74d2bd24696a81942a819643d80c3fd906833c4bab3d131316() + { + $this->assertTrue(true); + fn() => ($test ?? $test .= $test); + } + function testf020f705cc5eac923ffaced4323624944399da59591944bb35d20a5956a8b9d8() + { + $this->assertTrue(true); + fn() => ($test[$test] .= $test); + } + function testf134b4aeeb902038784a6c37adbc6bb4b27a5c08bfb54e693bfbf166a4e1b122() + { + $this->assertTrue(true); + fn() => ($test == $test .= $test); + } + function testf5dcfba0fffca6edbd00b1899b500c8045328b7959ca26a2213fe95539094f7e() + { + $this->assertTrue(true); + fn() => ($test ??= __FILE__); + } + function testfc6b02ffd77637feb983b33959e22bd14f4613ec4f9de06e9ef152f3c8cf555b() + { + $this->assertTrue(true); + fn() => ($test .= $test[$test]); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test.php b/testsGenerated/Target/Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test.php new file mode 100644 index 000000000..6961b43e7 --- /dev/null +++ b/testsGenerated/Target/Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionb86bae264a7b707845d24e10393325184e86e65259c0385ab6e0d2077ca92c29Test extends TestCase +{ + function test04bcdc0548a5fb0803beb101c11c312469ef0940cdfc379ad254aa9208fd36e5() + { + $this->assertTrue(true); + fn() => ((string) isset($test)); + } + function test062eea67ea2859c50bb6793235fcc2e9bcceb63b5413498e618298c3f5a36cf7() + { + $this->assertTrue(true); + fn() => ((string) (!$test)); + } + function test06519f44ff53cd13a5a57ce10ed90a15b78663f60a0a72d22c5e2d8e772d9994() + { + $this->assertTrue(true); + fn() => ((object) ($test or $test)); + } + function test0b9d5e274b79404a107bb03b57fd714ca02fbb231251e7bd56ad6d122a26ffff() + { + $this->assertTrue(true); + fn() => ((string) ( $test)); + } + function test10194a8e973f699b9a077e631c2ec331282cd077bfb4d5753ab622fa9d01dcab() + { + $this->assertTrue(true); + fn() => ((object) (array) $test); + } + function test11198795c098c78519e35613d21ade235ecccda57ce2eec86a0121435f4670fa() + { + $this->assertTrue(true); + fn() => ((object) ($test != $test)); + } + function test1209b58e0c1fb23df50aa8ca594af4ecc884fa524c28213d1b4924fb681f5e6b() + { + $this->assertTrue(true); + fn() => ((string) ++$test); + } + function test121497e802704bfb96c1498a11e74fa9a34338b458c8845451b676a79580ad1f() + { + $this->assertTrue(true); + fn() => ((object) __CLASS__); + } + function test12f2f753fe98a95b76231a041b645ea5fb9d4137ba7540bab493f2dbfa319573() + { + $this->assertTrue(true); + fn() => ((string) ($test ? $test : $test)); + } + function test149ab73cdc545e1e24340efab44f8ed0d58be35c9fe153ea5558a592235b5cf1() + { + $this->assertTrue(true); + fn() => ((object) ($test - $test)); + } + function test1797672c75a1b66015a6b4eeb62edd41eb561dc152c16b894fd369cac1f5ce48() + { + $this->assertTrue(true); + fn() => ((object) __LINE__); + } + function test1e3b431c92800251025c78adc7d19d2107e055f624bef7d30e5a60a150220158() + { + $this->assertTrue(true); + fn() => ((object) ($test >> $test)); + } + function test272ea90e262efbe7e23e0e05f34b3cfa6e83b49f2f8a4c7038b7662fe07bc242() + { + $this->assertTrue(true); + fn() => ((string) ($test | $test)); + } + function test27ba08e7cfb468c53200c254a2aae692ac9b5e4a742b9074ad0d959e8e15470c() + { + $this->assertTrue(true); + fn() => ((string) ($test && $test)); + } + function test287321015d80e127aa8fbce6ae70956b3fee2a25c3989f6172a24c9f642ee22a() + { + $this->assertTrue(true); + fn() => ((string) ``); + } + function test28dee391d7f913c268d8e81bfcba56de322dae40d0475721ed5869ef1d135c9b() + { + $this->assertTrue(true); + fn() => ((string) @$test); + } + function test295fad0f8561d747edc82eb6896c54af4d68b7e5a687f24c4bb02db54ca5e2b7() + { + $this->assertTrue(true); + fn() => ((string) ${$test}); + } + function test2b5947d692facc846f912a4ebd02eb47afa11406690adaaaa3299a0288e2e7df() + { + $this->assertTrue(true); + fn() => ((object) ($test >= $test)); + } + function test2e981bcd148a15c61d0e0809b2eb262e1473863e33a523181967ffd1971caad5() + { + $this->assertTrue(true); + fn() => ((string) ($test -= $test)); + } + function test30547f236322b8c74de08847542eaad4ff71928ff6481acf26da47c3c186623d() + { + $this->assertTrue(true); + fn() => ((string) ($test =& $test)); + } + function test30a0ab167d29f624a1a01c21f7dd4df00ec92d8dbd362a34cc5fbd18ed73e06e() + { + $this->assertTrue(true); + fn() => ((string) ~$test); + } + function test339b34282257549bfae5857befba5a918fcf237f9422faeeb9e8a4bc81c946fd() + { + $this->assertTrue(true); + fn() => ((object) ($test . $test)); + } + function test34b2d63a59e3b0e38a0fb368e86f2e3bbb6b65e357c18f92edd066fa0ef099b9() + { + $this->assertTrue(true); + fn() => ((string) $test::$test); + } + function test3be7e83add7a94d3198ed529275f48d3026db9d8c70f0e83d7a9a66bc5c8ded8() + { + $this->assertTrue(true); + fn() => ((object) ($test xor $test)); + } + function test4050439596cb7da86f2ce771485ca78dbea2454f4e9cc4693d2389dc007aa4f6() + { + $this->assertTrue(true); + fn() => ((string) ($test **= $test)); + } + function test42e5a329a69091e7cda2e82794bfd391b405897963d4a3d7557bdcec305691a3() + { + $this->assertTrue(true); + fn() => ((string) (yield $test => $test)); + } + function test473d41d230b693730cd4ec0ad2b9abb480415cce48e2d511f26c543aa656faf5() + { + $this->assertTrue(true); + fn() => ((string) $test?->{$test}); + } + function test4b6dcff976f7e3ae78c06dc2e46f49847331cb0894dfb02a4785773544e4ec20() + { + $this->assertTrue(true); + fn() => ((object) ($test << $test)); + } + function test50907c8035a9fdb9b7b372ec6dd883fe88607cc46d31130d1bf01efea5fce18e() + { + $this->assertTrue(true); + fn() => ((string) --$test); + } + function test5294a1fcf7904440f88b178ab06024680cefffa463706f6d5d3d7881cc5b0316() + { + $this->assertTrue(true); + fn() => ((string) ($test |= $test)); + } + function test52d6e8aaeae57f9732c6bcd53cd26c65f50fd40f6dc5562b74a7b67daae1c2f7() + { + $this->assertTrue(true); + fn() => ((object) ($test == $test)); + } + function test5715b1043c33812919b5181645effa5636713767665344497027a679e6fd2386() + { + $this->assertTrue(true); + fn() => ((object) "{$test}"); + } + function test58456cde18ec6157be0f3ce9003194288aada724e67a32c5e582aef91c505f12() + { + $this->assertTrue(true); + fn() => ((object) 0); + } + function test5939644ee2c30885249ca35bcb44af72f12361d62eb25e9d70ceded6fe8db5f4() + { + $this->assertTrue(true); + fn() => ((string) ($test instanceof $test)); + } + function test61dd9694314901bf0aa6ea0b58e32031f898bafafe2a51d3fae3334f2c6319de() + { + $this->assertTrue(true); + fn() => ((string) $test()); + } + function test625e39897f0a30c885cd2cfa96fc2fcbdd546502764ccaa884737a7e2bdcf1f8() + { + $this->assertTrue(true); + fn() => ((string) ($test >>= $test)); + } + function test6475349c57b7b21817e95e75ee50e0936628da72ec3f27c58f0155a6fcf59a78() + { + $this->assertTrue(true); + fn() => ((string) $test->{$test}()); + } + function test64be1054d2fdb0aae9bc7ca61fd6355a6bd264bec42946f6d279377f057f2d89() + { + $this->assertTrue(true); + fn() => ((string) $test::${$test}); + } + function test6aaebb997141eedea4d3260f3edda018c6c64248a69bf4aa8fbe8bc4c780056f() + { + $this->assertTrue(true); + fn() => ((string) $test->{$test}); + } + function test6e3ada4a5ff103f693110cf8292ce20deaf0bc07dbe614547ca2d6f65cddea62() + { + $this->assertTrue(true); + fn() => ((string) $test++); + } + function test6fdb45862361aee0551f4639be5d093b4ed41b642143b86752d13c7a92c1a784() + { + $this->assertTrue(true); + fn() => ((string) clone $test); + } + function test70adf16189d121e24a72beeec037ca8a3ea349c0a4e7daaa8c363eacf4555f7d() + { + $this->assertTrue(true); + fn() => ((object) ($test === $test)); + } + function test756a9ad42936792934ccf954f20541457ec9a8a00b01eb495b931b47e568e08f() + { + $this->assertTrue(true); + fn() => ((object) ($test < $test)); + } + function test780599d237ae1b9677bacb280bafbdf7e04fc6fe923d38652dfa5e28c8c696b7() + { + $this->assertTrue(true); + fn() => ((object) 'test'); + } + function test79b51b43503f69ed36178fe4fb5ca81e98cdb12ca80aadf06eca36bc317c8d7b() + { + $this->assertTrue(true); + fn() => ((string) +$test); + } + function test847ce4162a486569574fdc6fd2951a5a59216d84010e549eca434d4e7134f667() + { + $this->assertTrue(true); + fn() => ((string) ($test += $test)); + } + function test887fcadf906f9d7ce36afb92ec6475cb3b4638b6f3d8766fbe54f38d65fab9ef() + { + $this->assertTrue(true); + fn() => ((string) ($test %= $test)); + } + function test8cb1dafbc4ee044ec778be42045a0357d5f8cf958397c6615faf0bc56c973b81() + { + $this->assertTrue(true); + fn() => ((string) ($test .= $test)); + } + function test8cc55c636b1961efb5de8d47fa69950c84040ca689ae0edf442541327f7bf3dd() + { + $this->assertTrue(true); + fn() => ((object) ($test + $test)); + } + function test8cca728dd9dedc7f323708efcafc27f5d5953159e25d1edb2f2da47f9955f460() + { + $this->assertTrue(true); + fn() => ((object) ($test <=> $test)); + } + function test8d3193c8a33fbfcbaca729e1f00eee13e2797dbd891797416fecb5e020899202() + { + $this->assertTrue(true); + fn() => ((object) __FUNCTION__); + } + function test8ef565f157c3e049269a099022a6770e2b3186287bbc32cd8307a42f802a7e09() + { + $this->assertTrue(true); + fn() => ((object) __NAMESPACE__); + } + function test901cc129a15e418d346d6f3a2657cebb182fe8c4d77b5d4a85e75d2b49298e3e() + { + $this->assertTrue(true); + fn() => ((string) new $test()); + } + function test904a69857ec5c33dc9771921d624d539df8363b4b630e894a0c930ac1c6f0207() + { + $this->assertTrue(true); + fn() => ((string) ($test ^ $test)); + } + function test94237cc6d8b0f60a80a81770c10047fdb00fb9897b6d61c5f492507eb4d820f5() + { + $this->assertTrue(true); + fn() => ((object) ($test <= $test)); + } + function test952195e6e9e59229f499d96e83164036dbfd91c0795399cb4c8fe08cab6da08c() + { + $this->assertTrue(true); + fn() => ((string) ($test *= $test)); + } + function test9711936bdae5a460abf690bcf15f81afc9a371dd7bf76b73217267b079d47628() + { + $this->assertTrue(true); + fn() => ((object) $test ** $test); + } + function test9cf4c2a3cd5db0a8735159337fde48bc310700f3bd0001bbd35682573c0bd711() + { + $this->assertTrue(true); + fn() => ((string) ($test ??= $test)); + } + function testa1259556539db456e6bbb1431a1f78cdc0aa6370409839cdb339cf91ea5088e8() + { + $this->assertTrue(true); + fn() => ((string) self); + } + function testa31148d636162af6e88e5959f512cc8d99425c490864785032a7bf625521a53d() + { + $this->assertTrue(true); + fn() => ((object) ($test and $test)); + } + function testa3b2df0c12e341bd249412bee36de4dd8f8a31bf18f6009dea752a486d2fb3e4() + { + $this->assertTrue(true); + fn() => ((object) __DIR__); + } + function testa65d30e235e64b533ec3306dcf5453ae621e4cc69850e14d4058b2d19f23b7f2() + { + $this->assertTrue(true); + fn() => ((string) ($test . $test)); + } + function testa72e6cdf68e711133bc960cda3f72645df12c6ff3e50594b7f7f465c3df694c6() + { + $this->assertTrue(true); + fn() => ((string) -$test); + } + function testab578b304f2e9fa7f550fc1b9763cef0dd4d85c78052e205b072942a7bf023b6() + { + $this->assertTrue(true); + fn() => ((string) ($test ^= $test)); + } + function testadb02d48d718e4ca8b5409c722509cf753a090e535d89862ed5c7657ce10c11e() + { + $this->assertTrue(true); + fn() => ((string) ($test &= $test)); + } + function testb17f8c3f2465f57cf6251555e34147b7a973bf114b2dfc844d773cd3f944b2e7() + { + $this->assertTrue(true); + fn() => ((string) empty($test)); + } + function testb404d686842012cbe9f7b13fa74e226263bc13bc574cc5a06d35c90fdee5108e() + { + $this->assertTrue(true); + fn() => ((string) $test[$test]); + } + function testb97b9cd4ec0301da34fd12533253759bee5362b4de6f3dbef31221f94b69cf33() + { + $this->assertTrue(true); + fn() => ((string) ($test == $test)); + } + function testba8deffe2fb722ed43daa2d75004e6d8714cc739225b7e32a8ecc4c26f8a4c1b() + { + $this->assertTrue(true); + fn() => ((string) eval($test)); + } + function testbac0b0b52a04807da490ba46a649ee1a1b857cf4558343c5dd93eb978cd12282() + { + $this->assertTrue(true); + fn() => ((string) ($test / $test)); + } + function testbb0452dce14323cbf89f33bf1d8117445637cfa04794fa1914c982545d55d1f6() + { + $this->assertTrue(true); + fn() => ((object) ($test % $test)); + } + function testbb4fc221e39ca68929d736beaba2a765e4c100a416bc5dcaa1afa1e2eca802cd() + { + $this->assertTrue(true); + fn() => ((string) (yield from $test)); + } + function testbc83f692ff277add455d8132fe2cc35257c223bee5d71251b4d6219844203907() + { + $this->assertTrue(true); + fn() => ((string) ($test <<= $test)); + } + function testbee72b7dea82e292777ad6b818187ced9cad8520238c3c8fe18e784c11b5a213() + { + $this->assertTrue(true); + fn() => ((string) ($test /= $test)); + } + function testbfb1b3dcf85515d026d461112e39c8b264671b089bde24b5c6841e5f0f7aa783() + { + $this->assertTrue(true); + fn() => ((object) (bool) $test); + } + function testc0b4ab3af238b4b20f64afd1794fc478adb66619454165dcf008f1bf57244e42() + { + $this->assertTrue(true); + fn() => ((string) ($test = $test)); + } + function testc77d99369ad477b87a4e9331a1080fd8b08dc387a5c0f69f63a7aea6f0be5a48() + { + $this->assertTrue(true); + fn() => ((string) match ($test) { + }); + } + function testc8bef29fe22b4309c7d4c910ca50cf032668c499175e7f46fec55f3705f13628() + { + $this->assertTrue(true); + fn() => ((string) (print $test)); + } + function testcb7d402091b128276590311b261725523f0023b6f93e597a71f026236bfef7a5() + { + $this->assertTrue(true); + fn() => ((object) __TRAIT__); + } + function testcc0a456fb039b1622a138f3610963383072452b088fefc208f5d63cf10613ad8() + { + $this->assertTrue(true); + fn() => ((string) ($test || $test)); + } + function testcd851ccab1def3b9e0ef483ff9e184db373be100109e075ff70491b3ea4820d7() + { + $this->assertTrue(true); + fn() => ((object) (double) $test); + } + function testcf3d74414535f196f3678fe21c7efc00e39ff93f510db4e8cbe8a9597afc8e47() + { + $this->assertTrue(true); + fn() => ((object) ($test !== $test)); + } + function testd8b6719905b571c4c81a6da45ff6953a7c75ccd9699ae56527766946c137389d() + { + $this->assertTrue(true); + fn() => ((string) ($test ?? $test)); + } + function testdcfb19c99dd0f1dec1d49a563936c58009d5187fee503c27ca2e2bc5c02b3ca1() + { + $this->assertTrue(true); + fn() => ((object) 0.0); + } + function teste0334d17b6c8015c98da059c4ed91996a8fcb47bb2e44455da14693cf319d3a8() + { + $this->assertTrue(true); + fn() => ((string) $test?->{$test}()); + } + function teste0f22785bc6b3f9c3bddd261a36734f3e60d65d749837abe694ceae49ed8a502() + { + $this->assertTrue(true); + fn() => ((object) (int) $test); + } + function teste252fe9c62c8224cd703ea497fbcd7ec2a1c029a6ffc75d365caee30f29552f8() + { + $this->assertTrue(true); + fn() => ((string) $test); + } + function teste467e2f9025ba19e2006785e0777970e79e05a09684bf0e615da02c2d36915b0() + { + $this->assertTrue(true); + fn() => ((string) []); + } + function teste71a0572aceb4ef3db71a6d8e8eca67517c1ab520f40b28f3c6badebe706c4db() + { + $this->assertTrue(true); + fn() => ((object) (object) $test); + } + function teste7f351bf29540ac924b481b9b8c2140a43b7d7745f64aebf1f8324c0d8cafbf6() + { + $this->assertTrue(true); + fn() => ((string) $test--); + } + function testeb3d2a2a0a0b772428470a30786b7d262fb8b97dc634071d3647b41607dea481() + { + $this->assertTrue(true); + fn() => ((string) throw $test); + } + function testef778b2efb3bc07dcbec41416be4a5d2db08a483b9417816b6b8c2dc7ce27465() + { + $this->assertTrue(true); + fn() => ((object) ($test / $test)); + } + function testf288917ccb41a3b88fbf7dacaf0d3479fbadb5330fffbefbbe7d0072fa5eb2ee() + { + $this->assertTrue(true); + fn() => ((string) $test::$test()); + } + function testf3b322d4bba05145f9b25fa14e40296788e2966e116b2fb1dac31398b1828437() + { + $this->assertTrue(true); + fn() => ((string) function () { + }); + } + function testf3d1a91ef865a2b15d14d107416d256ffa77f73c6b4c8fec4c2ca3cec19f98cd() + { + $this->assertTrue(true); + fn() => ((string) ($test & $test)); + } + function testf3fb8a2fea057071fa64c8fe6bcdd76ce31d8cbb88bff28a4e2fbcf6afd0edea() + { + $this->assertTrue(true); + fn() => ((object) ($test * $test)); + } + function testf53de706ee42f065dababac8d8a9fccdecb17d9dedc4d765cd8819680b4e29aa() + { + $this->assertTrue(true); + fn() => ((object) ($test > $test)); + } + function testfa96663c1c07dcd09ff074fdf153a1aca28881b671965a0974136799a82b9b94() + { + $this->assertTrue(true); + fn() => ((object) (string) $test); + } + function testfad00e1b204f2a5ab3db0a9480ebcd870aa7ecec8e62c4a6906ea43103b8cae4() + { + $this->assertTrue(true); + fn() => ((object) __METHOD__); + } + function testfb508d2967166f28c2f60bd4170672dc1f8645fe912fe1ff80fce51900eb0902() + { + $this->assertTrue(true); + fn() => ((object) __FILE__); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest.php b/testsGenerated/Target/Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest.php new file mode 100644 index 000000000..928bdf94a --- /dev/null +++ b/testsGenerated/Target/Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expressionb90de1e321d473361bc0402c8ebf31468f204b815621d0a8287573c466b628dcTest extends TestCase +{ + function test03ec608b9297f0f838295d3926c8d2af884fcf41aafbe2db178d811a14989afa() + { + $this->assertTrue(true); + fn() => (isset($test::${$test !== $test})); + } + function test0535e993ff7e09a8e31afd20cf0bf199629e42c17e7e476221208c0677ca3fef() + { + $this->assertTrue(true); + fn() => (isset($test::${$test -= $test})); + } + function test07b2b41bd03c64adec1bec196c919b6a1ecc07bb8626dc71344a84c2f30b13d0() + { + $this->assertTrue(true); + fn() => (isset($test::${$test /= $test})); + } + function test08863d3ee1bc8341dd2d1e5fa47ea3c8ba98deeb4f0ca085ebd7c33718c97fa8() + { + $this->assertTrue(true); + fn() => $test::${0}; + } + function test0ae96e869544f50877d657b6ca7b8c7e133226bf9f63f18576175cc1ce8c267a() + { + $this->assertTrue(true); + fn() => (isset($test::${0})); + } + function test10a94d512dc69c5cf3fc56fc2ae13c3c178ca9a33536a7bb05b8f8aa922fd68f() + { + $this->assertTrue(true); + fn() => $test::${$test <=> $test}; + } + function test1144dfd7f250ec03705aa313efdf1706b9fe3e90e10a12473ef1bfe8d8e50908() + { + $this->assertTrue(true); + fn() => $test::${$test + $test}; + } + function test14eb81513e29082ef93113ead16a3e234ee44473ed56523ceb7fdd25b9f7bd68() + { + $this->assertTrue(true); + fn() => (isset($test::${$test / $test})); + } + function test18f97301f1831d7d49f344595d22489c06d499d2530443317acc37bedd774f48() + { + $this->assertTrue(true); + fn() => (isset($test::${$test . $test})); + } + function test1b86e6a2057471b987b7de49f0aef4feb0eba73ce2f04d945c5bfe5ebb6bdc19() + { + $this->assertTrue(true); + fn() => (isset($test::${(int) $test})); + } + function test1be9eb60b0426f6ac4dc1a61754382ff591a326b01a069e6f1dffcd5f0cdc2b1() + { + $this->assertTrue(true); + fn() => (isset($test::${"{$test}"})); + } + function test1e01c707a36e3c130f1aca00348a4b9ad5f874da10d43ee8485e619b5e36099d() + { + $this->assertTrue(true); + fn() => $test::${(array) $test}; + } + function test1fe2679c605efdb8e7703364b7a69285db573b4066fa6494b2c74415e37f1716() + { + $this->assertTrue(true); + fn() => (isset($test::${(object) $test})); + } + function test2437ba923d02a0324eb1693240e0337b7ee49559fdfa2ac28ec5debd9e79e121() + { + $this->assertTrue(true); + fn() => $test::${$test > $test}; + } + function test2538049e50acef7d184780b67b443bd27684da8e7d3a35871c82a6e91fe253d8() + { + $this->assertTrue(true); + fn() => (isset($test::${$test << $test})); + } + function test29082563af03a6512d3e4866546ec3a53723abb5f0bcba86a25b8b94b87216b5() + { + $this->assertTrue(true); + fn() => $test::${$test .= $test}; + } + function test2a01572bb5fc2e046aba3314de03810a3a3ac6c5a91a72293dadf7232ea038fe() + { + $this->assertTrue(true); + fn() => $test::${$test & $test}; + } + function test2d41a9c289fc1a14da79ddcc5789cfd091673772e65af5892f426fea12226599() + { + $this->assertTrue(true); + fn() => $test::${0.0}; + } + function test2f882faca0fbe429c7e5bbdc1cf202f85898c2689e6dd7937dd97a76dfe7bba2() + { + $this->assertTrue(true); + fn() => (isset($test::${$test >= $test})); + } + function test2ff605bc566e11a9a5bda253c29b731d1ddacd9a69a640fb6431415d240409b1() + { + $this->assertTrue(true); + fn() => (isset($test::${$test xor $test})); + } + function test325a93564251ee0b697e6c2df8fe69aedf4f08cd787d466f0b548a5e7e2ef25c() + { + $this->assertTrue(true); + fn() => $test::${(yield $test => $test)}; + } + function test3414c5048be417bc4dbd008d1300852ebe619eac3ac25637bac137b914d2e99a() + { + $this->assertTrue(true); + fn() => (isset($test::${$test == $test})); + } + function test36983a09cffb672df2678852e9ad67a8ec25a0cff6008272c621ef1a74f4e383() + { + $this->assertTrue(true); + fn() => (isset($test::${$test .= $test})); + } + function test3cce474da58d87d59f6e9d6995ba9807a3ce7d189c7fc3e8a11add64b039337b() + { + $this->assertTrue(true); + fn() => (isset($test::${$test and $test})); + } + function test3d2f798141db0646927847d267e44674ef5ee24d3cc79cd954cf62b348d7558b() + { + $this->assertTrue(true); + fn() => (isset($test::${(string) $test})); + } + function test3de5193a978e1b123c7de00fa30c2a81c89db5609f83436052d316eef20ac0d2() + { + $this->assertTrue(true); + fn() => $test::${$test or $test}; + } + function test3e496c110d7cf536803230723840baf11373419215bc69fddc18359c50d4262c() + { + $this->assertTrue(true); + fn() => (isset($test::${$test % $test})); + } + function test4033603fbb034042e21cd70554ccb10a13490534c68429c9913dc9273d04c0c6() + { + $this->assertTrue(true); + fn() => (isset($test::${$test <=> $test})); + } + function test428a8be75eaa81f9758b6ab503f5b65e32276235dc642d9146120e5c66c4658c() + { + $this->assertTrue(true); + fn() => $test::${$test >= $test}; + } + function test4786f90641527eb93a239aab9f8cf378ebb26fbcf2fa21adabc8845cebf76c01() + { + $this->assertTrue(true); + fn() => (isset($test::${$test |= $test})); + } + function test4d804dc9c249b81d28b8d68541ae14be84804271ce3f10be12743ab8e0a899c8() + { + $this->assertTrue(true); + fn() => (isset($test::${$test < $test})); + } + function test4ff97f9d9ed5c8fbba90b3ef061a5c8cfcbd6e9d30509fa7e3cc68fd8ee52b71() + { + $this->assertTrue(true); + fn() => $test::${"{$test}"}; + } + function test50877778794c102b760a4d3ff17d01416425c3f7bfb15cbcc87c427e4f697e92() + { + $this->assertTrue(true); + fn() => $test::${$test ?? $test}; + } + function test51c0cb2f5ec60bcffc44ef92a02a992101dea323deb1d414bedd0fe51cc17428() + { + $this->assertTrue(true); + fn() => (isset($test::${$test >>= $test})); + } + function test5575933f020afc3e430f7852700aa2dfa00fa430c54aa11405b4d2bd221ec726() + { + $this->assertTrue(true); + fn() => (isset($test::${$test | $test})); + } + function test56191939db6d5081dbde408f93f917acc9daa2b478669749692ad98fc19b02c6() + { + $this->assertTrue(true); + fn() => $test::${(double) $test}; + } + function test5653e9aa53e8c5d8bdc3b1cd5fc102155ce88206714590ed34a560a2358890dd() + { + $this->assertTrue(true); + fn() => $test::${$test ** $test}; + } + function test5675e6b5098b954daaafc324ca96d318098c021fd709048392850f2f1a65dcc5() + { + $this->assertTrue(true); + fn() => $test::${$test | $test}; + } + function test56de9972251272923fc134248dfe8f7344feb2a8be3fbeec8dede4feb55e74d7() + { + $this->assertTrue(true); + fn() => $test::${$test <<= $test}; + } + function test5859f3441cda54ca1df344cc89da1be5be1bced2b62a1c70587dee792933aeec() + { + $this->assertTrue(true); + fn() => (isset($test::${$test **= $test})); + } + function test5985522cfcd00bb9ab32f141e76b7b7b15fb397167e7cdf3ad978dcddc38be48() + { + $this->assertTrue(true); + fn() => $test::${$test -= $test}; + } + function test59a2247f303643d101ece03f4c36580737259dfc1201bd032747b77d7b76bdbe() + { + $this->assertTrue(true); + fn() => $test::${(object) $test}; + } + function test5a0cf00e8e8d0bd3f657686d1d87c6aa6a02316557b84e02bc804e9c4bb2ab7e() + { + $this->assertTrue(true); + fn() => (isset($test::${$test > $test})); + } + function test5b3ec2cf1b37c38afe4ba98b52cabfc02dbaa5678ea751c008cf28c7e78622ba() + { + $this->assertTrue(true); + fn() => $test::${$test * $test}; + } + function test5c4cbb8807748703ad7c74f2e07b7247b64f6c2d1edf57ac4e5769efac36b09c() + { + $this->assertTrue(true); + fn() => (isset($test::${$test + $test})); + } + function test5cb469498cb04e13513b899d621baf51e635fa35c75139d2c080829ec7e1004b() + { + $this->assertTrue(true); + fn() => (isset($test::${$test && $test})); + } + function test687acb44dba46f0976d50f2a4e3451c73113da1345521b007a8320ba10fec0d5() + { + $this->assertTrue(true); + fn() => (isset($test::${$test ??= $test})); + } + function test7190fe55b11ad062c3e922d7300747a906df49981ea1a321c77347e0e07221c5() + { + $this->assertTrue(true); + fn() => $test::${$test / $test}; + } + function test74ab2ad4d9028014c50f901c1c2f38a3f582680a534314f5978c50369d48a0cd() + { + $this->assertTrue(true); + fn() => $test::${$test %= $test}; + } + function test7e85564388553fefd20e17f6fa744230583d346be1c2ee5bc0812fda4ea01ce1() + { + $this->assertTrue(true); + fn() => (isset($test::${$test >> $test})); + } + function test7ea0b1616168dfc56d7395eff658e1f553eb74c4e2f692791a146a8396c268bd() + { + $this->assertTrue(true); + fn() => (isset($test::${(bool) $test})); + } + function test874fd772e6bb27d30eccd5bbcd1e862476e421e321841a8d5f557a74c7b83dc3() + { + $this->assertTrue(true); + fn() => (isset($test::${(array) $test})); + } + function test8968e0b04bd08e71e23a45268bd38d828d8d8bc772b3e1b97246cf31a0fd598f() + { + $this->assertTrue(true); + fn() => $test::${$test != $test}; + } + function test8a378da83ab348577764b14ba20e4f4c1e0138e6fc6f83af738f66ad4d798ba3() + { + $this->assertTrue(true); + fn() => $test::${(string) $test}; + } + function test90cf84b5831d0fedcb27e7bd72c142268dd39ff4afed5c390a7710da3cf2e717() + { + $this->assertTrue(true); + fn() => $test::${$test ^= $test}; + } + function test92ff3cf12addb525d2d934a540cf88758439b6c501ee993b9cf47d728d269b95() + { + $this->assertTrue(true); + fn() => (isset($test::${(yield $test => $test)})); + } + function test947a38e3a73ef63e90f3fc0f50e24db9a8e0415b8d815d978576d0412332157b() + { + $this->assertTrue(true); + fn() => (isset($test::${$test %= $test})); + } + function test951fd5522bd8043511a64ddfeab4ad16e5f463b6d781516ea229d3eae4f01136() + { + $this->assertTrue(true); + fn() => $test::${$test ^ $test}; + } + function test9623296f049ef1eaaf039890af73a6298f71b3f4d87aaf31cba06cb15926a5c0() + { + $this->assertTrue(true); + fn() => (isset($test::${$test - $test})); + } + function test9ba1705340d949cff06949501c4ab27bb34db1aa23474d6431e4a8098ddf1e39() + { + $this->assertTrue(true); + fn() => $test::${$test /= $test}; + } + function test9dabdcf3a86a46483baa4591cdb9db2506bac23abb3bdcb1fd6a5996f516ad26() + { + $this->assertTrue(true); + fn() => (isset($test::${$test &= $test})); + } + function test9efa69bb9dbd651edb66a2285b0a68891e5dec7344d99d9dfafe478d93cfd94e() + { + $this->assertTrue(true); + fn() => $test::${$test |= $test}; + } + function testa3277c615c4da170468daa02148b95018abdd3602a7b435d1b073c605a93d1b9() + { + $this->assertTrue(true); + fn() => $test::${$test &= $test}; + } + function testa75ae832bdd8606b995889d8778cb089d0c60e185bf392d586d93097e4c6c375() + { + $this->assertTrue(true); + fn() => $test::${$test >> $test}; + } + function testa7ed249814398e1e989450675949062551be50d6fff91c1fff9659dead6e31d2() + { + $this->assertTrue(true); + fn() => (isset($test::${$test <= $test})); + } + function testb005e0de671fc372e8d03166d3e92991be1c04f6a1879ac766fd732da4bb0168() + { + $this->assertTrue(true); + fn() => $test::${$test == $test}; + } + function testb536b7d33ebb3e9d9603957df99dc4579f44038cdc8e1bebd41bea52ee84d658() + { + $this->assertTrue(true); + fn() => $test::${$test . $test}; + } + function testb58bcddefafb0132cf1eef063e6120d28042415c11964341deb2bd3c27b344b8() + { + $this->assertTrue(true); + fn() => $test::${$test - $test}; + } + function testbafeb4a47762f13f76af52dd6c18ec6457106e368be01913f0cbd2b923d1372f() + { + $this->assertTrue(true); + fn() => (isset($test::${$test ** $test})); + } + function testbd459e5a574cdb8ac84f07057a6c128ce030659775f20f190236957d9b608608() + { + $this->assertTrue(true); + fn() => (isset($test::${$test or $test})); + } + function testbe463050cb6a3b7a8caf4c22cb076661660b0de3c26cfa31162057a8b23274fc() + { + $this->assertTrue(true); + fn() => $test::${$test && $test}; + } + function testbeccff977e1976e194cc4c52678d000bd00844abe9762c75154f3f6c426ec704() + { + $this->assertTrue(true); + fn() => (isset($test::${$test <<= $test})); + } + function testbf0cb8ef1a361a946048e84e7d9cd1c201148bb13c82be7a687a2dde6c727143() + { + $this->assertTrue(true); + fn() => (isset($test::${$test || $test})); + } + function testbf1ee0374eb81d316fb1b2c5197a3cea74f712bb8f2f29fa46ccc7f84dd2b800() + { + $this->assertTrue(true); + fn() => $test::${$test += $test}; + } + function testc6d497b238427c83b0c9d694daa9e2a2627603556612f8da786c78586fa94280() + { + $this->assertTrue(true); + fn() => (isset($test::${0.0})); + } + function testc76af3882bf9162e7cf971f354b22f05dabdd6d213b8e7b32685dad707057db7() + { + $this->assertTrue(true); + fn() => (isset($test::${(double) $test})); + } + function testc76bf500d0a8cbbf622ba75f5aa5117e162b99bb57e4eef6791d91a71c2e92ef() + { + $this->assertTrue(true); + fn() => $test::${(bool) $test}; + } + function testcabe6e484aaf0fd0327c5c8f68249bb4e1bb49e049b3d44200dfd5d2d0f00627() + { + $this->assertTrue(true); + fn() => (isset($test::${$test & $test})); + } + function testcfe0c50680d5cf6fc38574a6fd90ebfc5a0829b8ea8ac848b7587816b6b51432() + { + $this->assertTrue(true); + fn() => (isset($test::${$test * $test})); + } + function testd00568986ea53867a37c37de7fb2c2e215a91aeb337d9b5d5154b67391005945() + { + $this->assertTrue(true); + fn() => $test::${$test << $test}; + } + function testd2ef85414d3dd9c08e127b2496b0c32294cfd81ab93aebb071614bddc65d8ef6() + { + $this->assertTrue(true); + fn() => (isset($test::${$test != $test})); + } + function testd47a7e86d12a93309a85bfd6881b78ac830e0edaabf42dceb5d4aa2a37dabd1a() + { + $this->assertTrue(true); + fn() => $test::${$test xor $test}; + } + function testd5edcf34e77f41ee2e6f19e0bb3fc24ec3166ef1c4a932b32cfaa00fb80c35a4() + { + $this->assertTrue(true); + fn() => $test::${$test >>= $test}; + } + function testd6649282ebae82ba52fd1c80ee6c4f912ccf5e384694bc70d76297b7a081ab8d() + { + $this->assertTrue(true); + fn() => (isset($test::${$test += $test})); + } + function testd6e294c98f0096d939eb88eee5fd5947b78741d391e3247b19f3fae8a504f161() + { + $this->assertTrue(true); + fn() => (isset($test::${$test ^ $test})); + } + function testd7b65ee42cdbc3853df76b6fad19c9c05ba97382603008b933d642c38a5a197b() + { + $this->assertTrue(true); + fn() => $test::${$test < $test}; + } + function testda89548e5e266bfb6c0af7a4f305f1b3227a6503d02f4e4c12b4fa98e68544dc() + { + $this->assertTrue(true); + fn() => $test::${$test ??= $test}; + } + function testdb4ee0f371cddfea31534f689c3e6b6181aa960b585b905052699ab4af563348() + { + $this->assertTrue(true); + fn() => $test::${$test and $test}; + } + function testdc540ae36bb74bd079fa0d4e6c35c7f4d48cf382833ea2b684405253b781bb5f() + { + $this->assertTrue(true); + fn() => $test::${$test !== $test}; + } + function testdf51cdb3461bf5b0c73ab79584c123e8f2349eb977c25d0e2bec0b5e2cb49319() + { + $this->assertTrue(true); + fn() => (isset($test::${$test === $test})); + } + function testdf7b4378d66e211476295d4af729049b71e3e9f42485d7c46ce4a412f1688e0b() + { + $this->assertTrue(true); + fn() => $test::${$test % $test}; + } + function teste1035e794a3e6c0eaa29f30f945072e8c9d2df65e6577f30425c0d75e3131ed7() + { + $this->assertTrue(true); + fn() => (isset($test::${$test *= $test})); + } + function testea4dbec10e20fc573d7d4827f7349d022cc062014433837dd60c12c332fd9247() + { + $this->assertTrue(true); + fn() => (isset($test::${$test ?? $test})); + } + function testece11950c9d1008ffb8facc631c88befdcaf770da52d4924accbbf8f70623a99() + { + $this->assertTrue(true); + fn() => $test::${$test === $test}; + } + function testef9680205bc87180f0be0ac370201e8c588d8f315abca9e395575f7ca548836c() + { + $this->assertTrue(true); + fn() => (isset($test::${$test ^= $test})); + } + function testf121aac41e6140bd0c616a2d974edf0350e1bfc00a912259608a468e820ce8a4() + { + $this->assertTrue(true); + fn() => $test::${$test <= $test}; + } + function testf8029295dcf88f668edc9b3c489cabea3098275a2986b46c06c2e61005a51ed4() + { + $this->assertTrue(true); + fn() => $test::${$test **= $test}; + } + function testf98809d5786d17305fde7e2819a122135d0406ca576845f79d309cae8e764da6() + { + $this->assertTrue(true); + fn() => $test::${$test *= $test}; + } + function testfb959ea903c4492d9ef6ea099e63495a4486a320a6656c8e3330933072bee2c6() + { + $this->assertTrue(true); + fn() => $test::${(int) $test}; + } + function testfdbee93d3681bc42b4645d304c1a7c6c8174c594fa4e63fc884076de419c93be() + { + $this->assertTrue(true); + fn() => $test::${$test || $test}; + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php b/testsGenerated/Target/Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php new file mode 100644 index 000000000..6cb31494a --- /dev/null +++ b/testsGenerated/Target/Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionbaa82ef111d53ff4f4e6152fd58cc6c36d09bd2ef3a397b4f6a3ff093a1a42daTest extends TestCase +{ + function test077f6ce7903f9e688b23cf0ecff5174130f72f759bae6596c4fc00f149d3139d() + { + $this->assertTrue(true); + fn() => (($test ^ $test) & $test); + } + function test0fb190eb5d172cb69841aceac2eeffd951eca09b7503b6837df45265b08354ef() + { + $this->assertTrue(true); + fn() => ((object) $test & $test); + } + function test123208a09ceda6152286d0c2ecbd5d326eededd23be5383da3290edc176da4bd() + { + $this->assertTrue(true); + fn() => (($test and $test) & $test); + } + function test131a1e6200b007034ba2dfbabfc3ee8cc185cd2a5f5fa4bf0b41ad99d045142d() + { + $this->assertTrue(true); + fn() => ($test >>= (object) $test); + } + function test132ed1c087c20b628abbb5d0024e9839edd9db808d4f6794f313e8704ca25555() + { + $this->assertTrue(true); + fn() => ($test >>= (string) $test); + } + function test1400f391e9431f08016e66f3246450415d2da7b2134d463898f24ce8536c5c3b() + { + $this->assertTrue(true); + fn() => ($test++ & $test); + } + function test140a71b6667fc73d25994ba05910fc6e81244f3e2a6fef95a74bfb45eb2afd31() + { + $this->assertTrue(true); + fn() => ($test >>= "{$test}"); + } + function test1a32d01df911cc23af4fbc6a206893a6354985b078db56794b7a3136017b31c3() + { + $this->assertTrue(true); + fn() => ($test instanceof $test & $test); + } + function test1db3e80b5599cb19dbb92e7619b347e7c20208f6ad10aaf3d10f37c2df97c466() + { + $this->assertTrue(true); + fn() => ($test >> $test & $test); + } + function test1f7877c75b07e4aa4006ebb68a5868d831f7309466aac339b5d4f01dc6b4c3af() + { + $this->assertTrue(true); + fn() => (($test >>= $test) & $test); + } + function test20bbee7c5dc28450fc3734d4fb84c0c6077386336fc2d863208bbea227c302eb() + { + $this->assertTrue(true); + fn() => (isset($test) & $test); + } + function test210c7ccac28beb10c668157bb42fa256629ef8e3177088b1f1999c49ebaeb6fb() + { + $this->assertTrue(true); + fn() => ($test <= $test & $test); + } + function test220271e411086645c30986ddafa1b8f525e9f4e39c9a4ac42cd94eaadc5e7959() + { + $this->assertTrue(true); + fn() => ($test * $test & $test); + } + function test2488f6abb908b1c2e76a205823da19977eaebf7066632bf4e1f5711eca02aca8() + { + $this->assertTrue(true); + fn() => ($test >>= 'test'); + } + function test298067e7c0929dc6dd86face03e22620a2788352eea9763e2bdcf9adff6d9c86() + { + $this->assertTrue(true); + fn() => ($test >>= __LINE__); + } + function test2eff2bead0787fe7b9265cb0cc3f079cc5785732fe0f3c19f6153b47fcacce86() + { + $this->assertTrue(true); + fn() => ($test >>= __DIR__); + } + function test311da93f38764c5df1af8062a0153d22f03247ed83b0fd82c5d09befeebc0b36() + { + $this->assertTrue(true); + fn() => ($test::${$test} & $test); + } + function test330dae3984b45fc179db54ea580868d0e4f095c4576db7936a16e2e08244886c() + { + $this->assertTrue(true); + fn() => ($test - $test & $test); + } + function test34f824bac1bd43d3ebc4fd3f71f099bc60e041c181e77abea7bc2e0c884f48f5() + { + $this->assertTrue(true); + fn() => ($test & $test & $test); + } + function test3586ca8cde04e84f289f9aa8d7be8510382aee58fcd43d7c606ac17e8eff1355() + { + $this->assertTrue(true); + fn() => ($test >>= 0.0); + } + function test361206844ef929c1a3ebe6b22016c21b31a6da633782346b9f5964cbee6edb4f() + { + $this->assertTrue(true); + fn() => ($test >>= (double) $test); + } + function test369fb3ac120d7bce6de5374a6708d1096156963d6193becd8328ed6f14c3b912() + { + $this->assertTrue(true); + fn() => ($test?->{$test} & $test); + } + function test373493fe3047a941d100213ccbba55185fb011f8390fd602504ebabcd9ac7143() + { + $this->assertTrue(true); + fn() => (($test =& $test) & $test); + } + function test3e188c3a3f3bc91d417beed5c52c378e0d5d31c30898f2cdc2811139bf23c430() + { + $this->assertTrue(true); + fn() => (clone $test & $test); + } + function test3e9c36a54e1c63d45f07872737e2c9330ff00b8705e6d590d981aee8a8c9d507() + { + $this->assertTrue(true); + fn() => (($test <<= $test) & $test); + } + function test40e96bc8a4d027cba548f455915c5176007fb866ccd9d34edf74c63a8c3dd990() + { + $this->assertTrue(true); + fn() => ($test <=> $test & $test); + } + function test43466e0a3996467fb33cdc9e66d197bb4254480b881834441d42ddb790777064() + { + $this->assertTrue(true); + fn() => (($test += $test) & $test); + } + function test4983a7b865274d40261a9dbf84761d917283a2e8a91be4d4ac85df26607be7f3() + { + $this->assertTrue(true); + fn() => (++$test & $test); + } + function test4b21c8e842ebb43f9fc7d22631de91cb1497b990fc162ccac08b097f41e375b1() + { + $this->assertTrue(true); + fn() => (($test && $test) & $test); + } + function test4c9a6054b9cb2049ba152576bc09a983c84df4b5e06ed2b0b21f738b42416fb4() + { + $this->assertTrue(true); + fn() => (($test | $test) & $test); + } + function test52a3807fa9d10680ce569f2d7040c79800b37cf918eba81e9bb254b66830755e() + { + $this->assertTrue(true); + fn() => ($test >>= __FILE__); + } + function test56de47cd8ca2a7a7b194300c50ed4f578320ae2b186c67af9fd269b1d3728099() + { + $this->assertTrue(true); + fn() => ((bool) $test & $test); + } + function test5a23600969bab4dbb4241e7947bdb9a56ba739970e0e09e241c502d59d3ad8ce() + { + $this->assertTrue(true); + fn() => (~$test & $test); + } + function test5a570294af0d1d4c1546a5cb612f8ed0482d1fbf50709e3cbdc83cf3d409773d() + { + $this->assertTrue(true); + fn() => ($test ** $test & $test); + } + function test5a5b198c57ac1417b33f3024805cb95e7fc35a21b0e5df8a31aa74dfb5a9a010() + { + $this->assertTrue(true); + fn() => (( $test) & $test); + } + function test66fb9c939613268b32e3de01ed58c4cf548f58e141683d3d492bfb313d9541b7() + { + $this->assertTrue(true); + fn() => ($test + $test & $test); + } + function test6cc96029b63620f14694fa95a1670a2be7fd66a001a17e8a94c5f571d84a46c3() + { + $this->assertTrue(true); + fn() => (!$test & $test); + } + function test6eacfea70aa03014aeb7c00728857c7c4802737c5efd3e89c39af00454e8c4f4() + { + $this->assertTrue(true); + fn() => ($test > $test & $test); + } + function test6f8e35db57e6d155c44ca4159435776c075514c2d9a93f87845a1c301f9f720f() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) & $test); + } + function test720b74b7ba053c703ef1d8c3ab81fd007b3f7781a92a3a6d96a52d6111458a3b() + { + $this->assertTrue(true); + fn() => (--$test & $test); + } + function test724be0a24d4de95119f6f3dfc45fd83f16322f15231adce6d96c399caa358e4f() + { + $this->assertTrue(true); + fn() => (($test ??= $test) & $test); + } + function test72dd3a4ef434082ee1b1cea7c43488298cfa57492a2f8d2c96343c87b4e9322b() + { + $this->assertTrue(true); + fn() => ($test << $test & $test); + } + function test7d7a03b84b4391d1b1ee6f8d2c462d133b00eb8e3917e38276b5761e27675eca() + { + $this->assertTrue(true); + fn() => (self & $test); + } + function test801b8f04fb0b217916b80d224a34bdeadec5d54bb72e9db91798425ebdc68b3e() + { + $this->assertTrue(true); + fn() => ($test < $test & $test); + } + function test80d0d213575d81efb726e21eb45fabd7cddddd36082b08ee22fa3462e9b51584() + { + $this->assertTrue(true); + fn() => (($test xor $test) & $test); + } + function test86c41f4b52c9611684e6b22fa3d00fcb6022f9a7c4c07be5df788e17bdd07c1e() + { + $this->assertTrue(true); + fn() => ($test >>= __FUNCTION__); + } + function test8ad6065943e47847501ab5779a83b64f02b1aa17ed35a8c2758d9a824750b6f5() + { + $this->assertTrue(true); + fn() => (($test %= $test) & $test); + } + function test8c0ddbd33778ac8857ba36305585df26b8bb80b9292a87333e6258486dc3f62c() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() & $test); + } + function test8d7b4f67b84c360248747f1c1b26aa88791b724c11e14078a330b7dfea0c9023() + { + $this->assertTrue(true); + fn() => ($test % $test & $test); + } + function test8e6c14e3b498826b5daf7ae455a97f65d252e75bb1b5969fb2396a78c2de79ea() + { + $this->assertTrue(true); + fn() => (throw $test & $test); + } + function test92e413518e6e35b88e93a18d7be8457392752305b3fb2971a2400f25c6166dfe() + { + $this->assertTrue(true); + fn() => ((double) $test & $test); + } + function test937af2651964a91d729e8da760bfcb58834f006b5cb5ce7493114e154ccae709() + { + $this->assertTrue(true); + fn() => (($test ?? $test) & $test); + } + function test952a90dccbfa6621b44ef0b87078a39ef73575d46a81258fbfbe9c986f753081() + { + $this->assertTrue(true); + fn() => ($test & $test); + } + function test977a71fa9a0c47c9cdb3ffcdc851b57509947916ec4dbbd9cc8287c2266593ac() + { + $this->assertTrue(true); + fn() => ($test-- & $test); + } + function test991ce8715b73fba6d01d8e5e9f401f0f0b317333dec4e541821a8e4a9c956c10() + { + $this->assertTrue(true); + fn() => ($test >>= (int) $test); + } + function test9d022502857d51d272ff2d68b83d3b25c57ce3482ca4afe75576bf7ac1c8ccfd() + { + $this->assertTrue(true); + fn() => (($test /= $test) & $test); + } + function test9fb03354ca53840053112fd89f528e10ddea7ff28188a58d0f7db77cd9502a6b() + { + $this->assertTrue(true); + fn() => (@$test & $test); + } + function testa2e85eb72f8288a3814f8576686e9c10484c431f3a2ef63944c1de21f6976e77() + { + $this->assertTrue(true); + fn() => ($test() & $test); + } + function testa3b5d1282c28ba436952cc4757117f5b7b169e81414085c0c902850cf110889c() + { + $this->assertTrue(true); + fn() => ($test . $test & $test); + } + function testa51dd4e4e8fa579743f43e3c0a1680ef8240e0a14de4c96e8f378c8afc58c210() + { + $this->assertTrue(true); + fn() => ($test->{$test}() & $test); + } + function testa9bed3d936b523ffe5878b98e433535a629e59897bdcdff12f1b683499bd1d74() + { + $this->assertTrue(true); + fn() => ($test >>= __NAMESPACE__); + } + function testaa45736411061f34c5ec97301f088244ca6e8e75eb3754602dfba81e4f3c5ffa() + { + $this->assertTrue(true); + fn() => (+$test & $test); + } + function testab21074988fc16236c05b2f470c4e2b44a12ce2058aae3037bc92f0b535de2b2() + { + $this->assertTrue(true); + fn() => ($test == $test & $test); + } + function testb30637ecb977d2799abfe6162b20c31f09f8a84a2b24db349b4c068baee7bb97() + { + $this->assertTrue(true); + fn() => (eval($test) & $test); + } + function testb39aa05d6df1ad1e45413e0bb97e0316d921a7cb847d16c679ac7521eb55f8f6() + { + $this->assertTrue(true); + fn() => ((int) $test & $test); + } + function testb7aa3baee284b6b142e19c46cdc39705da189426d0cb32e23f58dfaa14ced361() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) & $test); + } + function testbc43c50516f234b69fca03f8dbf9ba09f8c57b645c44391f5fc44007ee94caea() + { + $this->assertTrue(true); + fn() => ($test !== $test & $test); + } + function testbc55795033aa0a25858e621b000c7b940a91a1eb53846a56fda03da5245a3d83() + { + $this->assertTrue(true); + fn() => ($test::$test() & $test); + } + function testc12814bc71c017333ee0346da5a59aff7d0eade46c624216c93e2ffb094ee3f5() + { + $this->assertTrue(true); + fn() => (($test *= $test) & $test); + } + function testc4207cfb8babf526e5726fb05bde757bbfca0f3eae29393e4d1437a14a77d6ce() + { + $this->assertTrue(true); + fn() => (`` & $test); + } + function testc71d13c8e0fe71691dcfcfd443c473a97c9f7b6c8750ddff0cebb5073ab27724() + { + $this->assertTrue(true); + fn() => (($test -= $test) & $test); + } + function testc820716792873703d16417e7158912dc2b9ef0a16714c19b36a84d68dd6d21c1() + { + $this->assertTrue(true); + fn() => (match ($test) { + } & $test); + } + function testca3a2405522d16815e9ddb7794af1e523826a642e79a500779897295fbc8d87c() + { + $this->assertTrue(true); + fn() => (empty($test) & $test); + } + function testcf61c34957e2801c4bee7f4732c23c0f85a59ae35bd6b18232c0ef57d5064743() + { + $this->assertTrue(true); + fn() => ($test >>= 0); + } + function testd068881a02860e3af0bc38f9a449af92e8a0bf8f2dc96b36f1006ebf5676ad70() + { + $this->assertTrue(true); + fn() => ([] & $test); + } + function testd1693179a4e92953c4838896445c5fb57b09b376eddede7d38677114876745c2() + { + $this->assertTrue(true); + fn() => ($test >>= __CLASS__); + } + function testd20b5b77c8eae37407bde9dc62c801a78c02dd69d38271d24334d78c01f85815() + { + $this->assertTrue(true); + fn() => (($test &= $test) & $test); + } + function testd5abf36c5b14c9f68768c5bc4d0041103ddbe57bead55d297e0ad7a00416ea35() + { + $this->assertTrue(true); + fn() => ((print $test) & $test); + } + function testd60305bbacd153b94f2192e1bfd5a3dd4177510aa03ccba78c39398005b30473() + { + $this->assertTrue(true); + fn() => ($test::$test & $test); + } + function testd691171c1bf18b884ead3205baf9a1590a2d7be106c522f1b0b607442ef3e2b7() + { + $this->assertTrue(true); + fn() => ($test >>= __TRAIT__); + } + function testd760d3d1a09d799cac2a8d8dc9c4fed2e6eb5f7570c7bf24fc5e317e0afb3756() + { + $this->assertTrue(true); + fn() => ($test[$test] & $test); + } + function testd81e7c68e2a9db9386aeea89f183f951d2db785ddc120497f3b4c925c426dd32() + { + $this->assertTrue(true); + fn() => (($test .= $test) & $test); + } + function testda1c4ff6be390014859addde1fd2372d0358c3a01492c21bfc8cc6bc22efd00b() + { + $this->assertTrue(true); + fn() => ($test >>= __METHOD__); + } + function testdaf0041fc748a4790ac2f86eccf9f1164e684768b67d2833387771c9e6160c1d() + { + $this->assertTrue(true); + fn() => ($test->{$test} & $test); + } + function testdfa63a73751f9863307ab41b4b8b019b969a049ab8bf3a5141b079bb5482cdfd() + { + $this->assertTrue(true); + fn() => (${$test} & $test); + } + function teste08c6e00d18185eb93e7d7f37b1f556d5dd3b384d635ee5d5e6b8098126c0c32() + { + $this->assertTrue(true); + fn() => (($test |= $test) & $test); + } + function teste121444332966a759b63eebe39cad1157d3d65f1480418de49599535fade2f18() + { + $this->assertTrue(true); + fn() => (($test || $test) & $test); + } + function teste4b96fdafc01a0642fece6eed6888011df34144f7a2834967afa65f02800f5eb() + { + $this->assertTrue(true); + fn() => (($test = $test) & $test); + } + function teste6fc36017b8985610d5c16b7dca7eb32cca283941f958d71508db90755130843() + { + $this->assertTrue(true); + fn() => ($test / $test & $test); + } + function teste8ce449446779aa955806ed40b7c5025b5df9d1ce721c4880188cd39920b1fc3() + { + $this->assertTrue(true); + fn() => (($test or $test) & $test); + } + function testeb5235a2c733654e29c773413432a1bcdf98bc424355b57d608351ae60a45a6f() + { + $this->assertTrue(true); + fn() => ($test != $test & $test); + } + function tested8f41e4585db4f68fffcecb1abc342a957523bed0a60dc25fccf1dfa59ae7a9() + { + $this->assertTrue(true); + fn() => ((array) $test & $test); + } + function testf0145527b87d7a452bc2d563efc910a5bd9769f02bea7ff3d96c1af6cffba93b() + { + $this->assertTrue(true); + fn() => ($test === $test & $test); + } + function testf2dd1a7e5cb3347dd68b81f70bdc18fc2c8b673e69941383815aca264ef1b8be() + { + $this->assertTrue(true); + fn() => (function () { + } & $test); + } + function testf34b9997b52f3c35b50da19a9f9d29ffc401871514918b87093723e61fc24e49() + { + $this->assertTrue(true); + fn() => (($test ^= $test) & $test); + } + function testf45a6709f59e73b60c64f1495322ab82a38671547c3e264ab9d7dd14d4b28e54() + { + $this->assertTrue(true); + fn() => ($test >= $test & $test); + } + function testf84d77fdc68c3f5c3367a1d5db92f068bb28a9117ce5c405ee35e1b3f858808f() + { + $this->assertTrue(true); + fn() => ((yield from $test) & $test); + } + function testfa54934cbcd0422b8f5661df8881da34db08f04b23b16bd9021070598389cd33() + { + $this->assertTrue(true); + fn() => (($test **= $test) & $test); + } + function testfba88e2738ffb0369b4912dcc8cb819b915842252d755021f22ac7466c25f896() + { + $this->assertTrue(true); + fn() => (new $test() & $test); + } + function testfdb6fdddc4afe2451362eaaa24b75b72952f245e65874102c49cc7b79b5fa767() + { + $this->assertTrue(true); + fn() => (-$test & $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test.php b/testsGenerated/Target/Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test.php new file mode 100644 index 000000000..b5108d943 --- /dev/null +++ b/testsGenerated/Target/Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionbbe8b0076e5676daa6806152222f283ab7733713a3a73e9e9680b2b1e9f12223Test extends TestCase +{ + function test00f17f55b6d6543cf7ba8c9b17c804d7012fe3714ffda751537e6d044d6076c0() + { + $this->assertTrue(true); + fn() => ($test - $test xor $test); + } + function test03852d0bc7d4bfd1c9fc9a82fd283df90fc708e05081520e8037f016e0125dad() + { + $this->assertTrue(true); + fn() => ($test <<= $test xor $test); + } + function test07967136259a6d4b7a777d190a5d2c83fb0509c14bcefcaf6facd546f77d7824() + { + $this->assertTrue(true); + fn() => ($test -= $test xor $test); + } + function test0c2c4d21b1d1bed7606cf073be792e0880fda8369a728b38d9a9a32e4d054280() + { + $this->assertTrue(true); + fn() => ($test::${$test} xor $test); + } + function test0c4c91857f67150af764bf13ed395ca2df9749c8e45def11a827be8eec39e3f0() + { + $this->assertTrue(true); + fn() => ($test++ xor $test); + } + function test0d8e7a9953d67bacc1bd7b74f7f1a54012acf26efdab594d6797dd4126af086d() + { + $this->assertTrue(true); + fn() => ($test === $test xor $test); + } + function test0fde512819f21c5f9d652f05332246b0843e887cf5147b49365dc973369ece22() + { + $this->assertTrue(true); + fn() => (match ($test) { + } xor $test); + } + function test10191c166c9bf4399e188da09d8656c68234ee89e0c364f0b11ba7f2fa7e0fa7() + { + $this->assertTrue(true); + fn() => ($test ^ $test xor $test); + } + function test108398df81e385c224f03f3b448974e7bfed79e709ae864da7584420de78eece() + { + $this->assertTrue(true); + fn() => (print $test xor $test); + } + function test1130a2f048e9c60777a657c88225e4f8bccdcf78633fb89ee0645226f79d31f9() + { + $this->assertTrue(true); + fn() => ($test or $test % $test); + } + function test12a89f209d65057d1752df8e41bc0cfe35f467846f9a477dc789331cb890f511() + { + $this->assertTrue(true); + fn() => ($test || $test xor $test); + } + function test13b36835922a25c9c08bbae2dac31c814ed2352042f6cae48b2cc9c5ef59a573() + { + $this->assertTrue(true); + fn() => ($test >>= $test xor $test); + } + function test18595f99c7f0f57a12f4855ccc45a493d684ee766fff84c67f945870223df80d() + { + $this->assertTrue(true); + fn() => ($test . $test xor $test); + } + function test1a4ae5d72196a6486c356b2a9d1c037fbfa44f9158c0f1bbc23d89976c8ba18f() + { + $this->assertTrue(true); + fn() => (empty($test) xor $test); + } + function test1a6efc935aaed17951ccd3eeb1de2e63d23c0a5d306255c5c62c6e6d7018a23e() + { + $this->assertTrue(true); + fn() => ($test *= $test xor $test); + } + function test1f6425ed58f7d4b271f6b15a9d9cae910fc465300fc7c030af32eb264e098a5c() + { + $this->assertTrue(true); + fn() => ($test or (double) $test); + } + function test20dcc0c806536e790fee3824ba0b7636c91767a2e4eb2414ce35c7092a07b803() + { + $this->assertTrue(true); + fn() => ($test .= $test xor $test); + } + function test21545c0a28b3cf9f97bf0394271ee08b780cca9c0d57ea3d754b725c312ca920() + { + $this->assertTrue(true); + fn() => ($test or __DIR__); + } + function test21dd2a6c6f7f474b01d562e5ac6ea059d67bdaf2c0bad017e7c1433e143b74ee() + { + $this->assertTrue(true); + fn() => ($test & $test xor $test); + } + function test24c20a0a5324d7fa812ab41499880669157ec704574d5640820322bdd7e082e5() + { + $this->assertTrue(true); + fn() => (~$test xor $test); + } + function test26350c707625e4b4b17a53d2c89d050d3d54d5277da1445ba3b26835ac78ca99() + { + $this->assertTrue(true); + fn() => ($test->{$test} xor $test); + } + function test26b6b08e03e6d2c9a5ef036e96cec178a8b91d37463df95a546b14db670a99ca() + { + $this->assertTrue(true); + fn() => (($test or $test) xor $test); + } + function test28ec002cdefeb17189cb480fb9edaa5d27c869311f279e3c0605c241cb504e4d() + { + $this->assertTrue(true); + fn() => ($test or $test != $test); + } + function test2ce95fea68fca2e52e278dc66a7209669585b6f9c0c62e687edd14eda9f8775e() + { + $this->assertTrue(true); + fn() => ($test or $test <= $test); + } + function test3384f2c92d4ffb95725a952d3635412a4902f45cb1f3903a0239ccdd01b4f2ee() + { + $this->assertTrue(true); + fn() => ($test or (object) $test); + } + function test34630d98415e18335ba086e46860c0cdc86aa5a8a512ecda45881f655450c226() + { + $this->assertTrue(true); + fn() => ($test or (bool) $test); + } + function test360d15c7e4f958b3aad79f3840be9ed8ca07f5b3e22e673408a2ab91caa0aa7c() + { + $this->assertTrue(true); + fn() => ($test[$test] xor $test); + } + function test367c4b17552f24a68c9ddab030df97f3f57909f724126fd8c64242489adc083e() + { + $this->assertTrue(true); + fn() => ($test && $test xor $test); + } + function test36b39a626845a09546fa76f6c4418bd99192569832bce9dd512dc8f0d1c32435() + { + $this->assertTrue(true); + fn() => ($test **= $test xor $test); + } + function test3757b9d10441e728bd1efcf575dbd5ada2108d60686e42ddc4c921f189f46d33() + { + $this->assertTrue(true); + fn() => ($test or $test - $test); + } + function test394e02fe98181c6f8b9fcaad72d3a9a31d93865a80b3210f04df9e0d83f44cbf() + { + $this->assertTrue(true); + fn() => ($test() xor $test); + } + function test3ca479c45794820e97966c1725c6b9eb1ea31d8b0e3b1023a8995eb6a08e18db() + { + $this->assertTrue(true); + fn() => (--$test xor $test); + } + function test3dbed8967641107086ffe5ba5eaac0b0e063431b9f3cd7d8a260b8b9d8727341() + { + $this->assertTrue(true); + fn() => (clone $test xor $test); + } + function test3e98ccc03aac5bb7bf3dd849515bb87a1ae914775260808f44b76a382b00f182() + { + $this->assertTrue(true); + fn() => ($test = $test xor $test); + } + function test433eb614d8ec18136c4dca1c8a08868d61b25f03790d8e10dd93d708161427b0() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test xor $test); + } + function test43b00b1790fe34407989ee9540f839cbe93c30ebe226adc80c550e2ff66fcd16() + { + $this->assertTrue(true); + fn() => ($test::$test() xor $test); + } + function test48c6af887ef6e66215588573afa4b30b2a157c342118f0ac169c5eb6d94264f4() + { + $this->assertTrue(true); + fn() => ($test or $test !== $test); + } + function test4f734386dd011ccee80d162fcbbe65c427aa9205d4a41c7835b718c524c3198c() + { + $this->assertTrue(true); + fn() => ([] xor $test); + } + function test50cd25edf8d8643badfc03d561b660c83b8a37461d6429e4b1fe38b6dcf584b3() + { + $this->assertTrue(true); + fn() => ($test &= $test xor $test); + } + function test538465609e7b26bc46e5d5fb026d1fc0236da86e52f6f4a66cd63462fef45043() + { + $this->assertTrue(true); + fn() => ($test->{$test}() xor $test); + } + function test577a58d3ed8bda76a5c3d2d74d3d19993487464c28da325c697fe442e99f4bfb() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() xor $test); + } + function test5972c848c238747d142e84d9a6c8ef69281be8cf122cda43f160d450bb5adb79() + { + $this->assertTrue(true); + fn() => (@$test xor $test); + } + function test5abacc466d8d6e196d12589190de61f14961f469fbc68c3ae3e3c2a49b00ed60() + { + $this->assertTrue(true); + fn() => ($test / $test xor $test); + } + function test5f572c3cf1e4753c585b83866fc9a186af293ed3c7b680203be70391ccd865b1() + { + $this->assertTrue(true); + fn() => (self xor $test); + } + function test5f8c279885bee5fe7b89524a6beffe82677d322d0aa34fa596076f81064703b9() + { + $this->assertTrue(true); + fn() => ($test or $test >> $test); + } + function test5fac302311e4b368bb92ff7f4596652dfd89fb01213db472998e08883c0c85f0() + { + $this->assertTrue(true); + fn() => ($test or 0); + } + function test629fc843a090b30b69637528282557754906aa942a253b981cbacf42f11278a8() + { + $this->assertTrue(true); + fn() => ($test == $test xor $test); + } + function test65007725a9e0eaccfc6b4f577464ccc1cf264cf800798bd5196bc9ab77a1d4cf() + { + $this->assertTrue(true); + fn() => ($test or 0.0); + } + function test68933fb66dbea11d8c67c6239b6f6266da88fd36a8a68c4fb855d607c661de27() + { + $this->assertTrue(true); + fn() => (eval($test) xor $test); + } + function test69136bea8ceeb30471a076d2edb7ae6e83b15e95291bd6fa443827c6d61dbab6() + { + $this->assertTrue(true); + fn() => ($test-- xor $test); + } + function test69f7f68fc3e385629287e0cde4a777f2914a5eeaad474a26050d69a2871453f7() + { + $this->assertTrue(true); + fn() => ($test instanceof $test xor $test); + } + function test6b307ffa5e6a038fad2e608e8afd5667bd3a0d18801072dc0f798214c2c04413() + { + $this->assertTrue(true); + fn() => (yield from $test xor $test); + } + function test6c38f167cc4c699b1bd2db3538520c8863c4239e2df7bfa3a7f64f62adbbc316() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) xor $test); + } + function test6e2386c7317ceb18f1e288b28a1936f24e1243c468e6fc912b16be2ab0bd7d32() + { + $this->assertTrue(true); + fn() => ($test or __NAMESPACE__); + } + function test73aa8284183f78c2c42012c46eba00cb21d674d6b6134a9e12235b1caeda366e() + { + $this->assertTrue(true); + fn() => ($test =& $test xor $test); + } + function test746fbb9a2ccfc8ace5950788f67cbd2e8a2c145302e6aac521b81b9f9b717893() + { + $this->assertTrue(true); + fn() => ($test or (string) $test); + } + function test7b40e7ca07d3291d23671ac74e5171d7460c3643876dcad94aa398595a350c5d() + { + $this->assertTrue(true); + fn() => (new $test() xor $test); + } + function test7ecdd84e2775d284b2594a078aad6e61d0141c6ec2057806a593c62bb354ae0a() + { + $this->assertTrue(true); + fn() => ($test += $test xor $test); + } + function test7f409ff7e465af73a6363999fb34e9aaae1f6cef44fcbe92518926d2fe34831a() + { + $this->assertTrue(true); + fn() => ($test and $test xor $test); + } + function test82a58531a659a0f195015014a8bad7872b558e149a3c74777352240a7f9e3c64() + { + $this->assertTrue(true); + fn() => (++$test xor $test); + } + function test82ce79d6b259dadaa4572de52529f43e99bdcdcf8459a58fa40083c221337903() + { + $this->assertTrue(true); + fn() => ($test::$test xor $test); + } + function test839325201d529cb56c97812d94611023ff1204e848e8932a913640b0dc1eb8cb() + { + $this->assertTrue(true); + fn() => ($test >= $test xor $test); + } + function test840056e5e8a4fc1da5f62a6f8b55d3591a8efe6ed312a40c5f13c1e289aaf295() + { + $this->assertTrue(true); + fn() => ($test or $test ** $test); + } + function test8f517e8beae5ac1d3e59a056c7dbedb4529914ba4162296890370ad9bc054a8f() + { + $this->assertTrue(true); + fn() => ($test or $test + $test); + } + function test9effd91345dae9092046cbc4c0430dc5c4e1d0de9e43c7c3767a12a6638025e6() + { + $this->assertTrue(true); + fn() => (!$test xor $test); + } + function testa0acb74a6f73094d17ef1b177f804d1f6d85aa1b9bcfad308a3da0d9156abd9c() + { + $this->assertTrue(true); + fn() => ($test or $test xor $test); + } + function testa2e798556173040ea9facc76a31ca0f2f9fea7856755d7be5b94d9854551fae4() + { + $this->assertTrue(true); + fn() => (+$test xor $test); + } + function testa482676f5e2d5d13efccf2bce1d46753f23b5ddf56d8fb781807138d985dc135() + { + $this->assertTrue(true); + fn() => ($test xor $test xor $test); + } + function testa7c43ef9ee9ead1921508edb308fcd0eccd08b9a67a2a355145f7884adb5db01() + { + $this->assertTrue(true); + fn() => (isset($test) xor $test); + } + function testa819fd7a316e8b603cac3588aa371e7500ae5756cd33e4f50dc544ab990a19a6() + { + $this->assertTrue(true); + fn() => ($test xor $test); + } + function testabb3d04c1a6bd55c6e1c7186a00b0c6062fc283b102094e9e3c793d2bc73ae15() + { + $this->assertTrue(true); + fn() => ($test or (int) $test); + } + function testaedcbfd8bc464d134efd315870e5488e5957b45da037966aeb0d170523f2882e() + { + $this->assertTrue(true); + fn() => ($test?->{$test} xor $test); + } + function testb24eb76129745c03db25e99fd0d716d8bc12bb67b60c985d86b1dd5f36ba0a52() + { + $this->assertTrue(true); + fn() => ($test |= $test xor $test); + } + function testbaa9fb4739b1d574d2ca5d8bf07e0866f1bd2c5389e13796e5d8b0411de114d9() + { + $this->assertTrue(true); + fn() => (function () { + } xor $test); + } + function testbca90882a9e4a01ba534812fa82b30d614bb5058a9bbc3cf003ce3ef5e5687b4() + { + $this->assertTrue(true); + fn() => ($test or $test * $test); + } + function testbd6c5cad605446465222dc842425f8c274fca39bb424584c9a83845bd6d0ce9f() + { + $this->assertTrue(true); + fn() => ($test or __TRAIT__); + } + function testc2d978f69f12b1526aee174c9c9602496128e55538daf881ca2360b87516a59a() + { + $this->assertTrue(true); + fn() => ($test or __LINE__); + } + function testc6b1e9148506cd304c1888cfc52bd6f132600d867c96fd09fc73ee882bec6222() + { + $this->assertTrue(true); + fn() => ($test ?? $test xor $test); + } + function testc74b1763ddd317aa44bd173181720781a5a2e90f0a86ef24b03fd65109c22cb0() + { + $this->assertTrue(true); + fn() => ($test %= $test xor $test); + } + function testc782f383ea9faef9b70ed44b95fa56c1f722088c6072a9340c12eca5ab82b51b() + { + $this->assertTrue(true); + fn() => ($test or "{$test}"); + } + function testcdbaa626164962e7a54eb3e4b3d193e1b292d8d23dfa488384fe32ee33880549() + { + $this->assertTrue(true); + fn() => (-$test xor $test); + } + function testce04a3dc5a1052522f4e9fc74fcc1eb6e31f6a67ff7113dfc50c9502cacd3473() + { + $this->assertTrue(true); + fn() => (throw $test xor $test); + } + function testcf84b79f9630a8fbcc53c2e2927f5692a0d9f13b8d46de7227edd8cd8823e335() + { + $this->assertTrue(true); + fn() => ($test or $test <=> $test); + } + function testcfe3e268668471ea757b2842da24880c812558eb4cf032b2994d42ba70ccc610() + { + $this->assertTrue(true); + fn() => ($test or __FUNCTION__); + } + function testd25baa6d25362d1554a611a8bc832526e59c737dcb3d2687f7a825a7678d3901() + { + $this->assertTrue(true); + fn() => (`` xor $test); + } + function testd30dc89bdc288ee83adc59c70df5c84afe2206d5d9d6db8c7ffcb715470d40ec() + { + $this->assertTrue(true); + fn() => ($test or (array) $test); + } + function testd3acee056518b80e07dc30f024e74f29c3b5b510b0e1b77fa06859a7c0773b3c() + { + $this->assertTrue(true); + fn() => ($test or $test < $test); + } + function testda5312581aa68a9bcacdd45245cefdae29f9a02d555a5cdaec995758f897d547() + { + $this->assertTrue(true); + fn() => ($test ??= $test xor $test); + } + function testdaddba0bab273abbc8fbdaea462064fa1fdfc1244cb4c7589209b1bb71d258a2() + { + $this->assertTrue(true); + fn() => ($test /= $test xor $test); + } + function testdbfba6471057759288d1c04ee0053f69d6982383dbe9c24d7d6b4c67dc055f3a() + { + $this->assertTrue(true); + fn() => ($test or __FILE__); + } + function teste027087fde9ad4be6f8d9096252a3c315af573a576c966ead61d9d9270b362a1() + { + $this->assertTrue(true); + fn() => (${$test} xor $test); + } + function teste201eac52acba997e0f0b72d704b182876b6de89df80fd2c21b56969c8af2273() + { + $this->assertTrue(true); + fn() => ($test or $test << $test); + } + function teste26bee83d1701e4d43c06775935c3ce9854d984e6a5e17d8f3ee52e4402d5f9d() + { + $this->assertTrue(true); + fn() => ($test or 'test'); + } + function teste327684ec657297ffcd247fc2174db0dfc2779fe39fa391c9f2921c8402f8654() + { + $this->assertTrue(true); + fn() => ($test | $test xor $test); + } + function teste6213d32a0c13f5545a6e7a35aeea225575fb5c4b2f66f82a5dd9801dd8b183f() + { + $this->assertTrue(true); + fn() => (( $test) xor $test); + } + function teste64ae6f338dded2dd4e524a60653707cdfa1532c0c4429560f830a44e62320c9() + { + $this->assertTrue(true); + fn() => ($test or __METHOD__); + } + function testeaa1b17cbb25138aa6b1483b8c83b32c5209300e388c599feca871effe2fc92b() + { + $this->assertTrue(true); + fn() => ($test or __CLASS__); + } + function testeb59b1c45bf78a8e953793aed517b3b598318d19ebb5927ed5cc68324f3702c1() + { + $this->assertTrue(true); + fn() => ($test > $test xor $test); + } + function testee99d48f2d3fa8c8f6be0613235a9941b56c8f5a0f1bdabc087662f9ce17a50e() + { + $this->assertTrue(true); + fn() => ($test or ($test or $test)); + } + function testfe1ded9e018b6832f9d583258a2e4a8db2321668f6d6e6f3e116bd9b447c0e85() + { + $this->assertTrue(true); + fn() => ($test ^= $test xor $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test.php b/testsGenerated/Target/Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test.php new file mode 100644 index 000000000..db70d9706 --- /dev/null +++ b/testsGenerated/Target/Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test.php @@ -0,0 +1,508 @@ + + * @license MIT + */ +class Expressionc01e4a1571e6d0d9bd518eba2342f7c3eba5f2d948f9c4ad63f39d9bb2816496Test extends TestCase +{ + function test001f40b7a1e388b337e634e508a255f57e301f6c651a7b87374d02095ee0b87d() + { + $this->assertTrue(true); + fn() => $test::{$test *= $test}(); + } + function test03113d8ba235470876ba537dbaba4344e3bc619f9b6a006b78e611b6291c1a84() + { + $this->assertTrue(true); + fn() => $test::{$test <<= $test}(); + } + function test032246f585b8687a72aa31840e0cc2e490bbcddeb2c50199857f33bdb990a7cd() + { + $this->assertTrue(true); + fn() => ($test >> $test)::$test(); + } + function test032d1e89b4e09759a75aeec7bed856735c63e81ec408d49e6c1e2d21848c8cc8() + { + $this->assertTrue(true); + fn() => ((string) $test)::$test(); + } + function test03f67459f379187c6d45663f6e20aabd6b8b0e7fdc90f0c33e3a495863d75c93() + { + $this->assertTrue(true); + fn() => $test::{$test = $test}(); + } + function test082050d963f6a0711ed0b497d2881869387c5ba500616141e235bfd09e069cdd() + { + $this->assertTrue(true); + fn() => $test::{new $test()}(); + } + function test0ce51a044f4a5dbc91070f7f67731bf4f7877b304220acc59db3331f6ae17f3e() + { + $this->assertTrue(true); + fn() => $test::{eval($test)}(); + } + function test0d6dc51043eeb3790a0c252afae9e789e04d9c856cf8bc438a56d7487d34c521() + { + $this->assertTrue(true); + fn() => ($test . $test)::$test(); + } + function test0f47dafe68e21dd7d61547d520e262589a487b915ab3bd3a6c173bf70c391042() + { + $this->assertTrue(true); + fn() => $test::{$test /= $test}(); + } + function test10610fc98ca942bd873b67701cda5e565c81e5b3f504330a8896b70e4e9bc5b2() + { + $this->assertTrue(true); + fn() => $test::{$test instanceof $test}(); + } + function test13135c48d12b2a8caafb00a1b92160a0921ed98520bc37fa3b5c8b62bc024f19() + { + $this->assertTrue(true); + fn() => $test::{``}(); + } + function test13403d140751cc93d48d1c97cddb8447b2e75e65a63a0c89649df641f7146175() + { + $this->assertTrue(true); + fn() => $test::{-$test}(); + } + function test15203bc2fbeb5bc0283b4712cbc25a52d108017aff6a6937911e64cd06c8fda2() + { + $this->assertTrue(true); + fn() => ((double) $test)::$test(); + } + function test18322634cf58d14f2bf4abcf1910274d45c674d218a11df349008766b16c137b() + { + $this->assertTrue(true); + fn() => ($test || $test)::$test(); + } + function test1cbd0a58a8537c01fb89ae3ded76c67abf38b36e8abf7126403bcb963c7f3fbb() + { + $this->assertTrue(true); + fn() => $test::{--$test}(); + } + function test1d7e93fc978c3c82338515e425d8d6f01ab19a6488d7f902a7800c430fb993ca() + { + $this->assertTrue(true); + fn() => $test::{$test **= $test}(); + } + function test21d8e95089436f0c116bcc522377d1a9f245319b265e6ae2cd6fe1c47f861478() + { + $this->assertTrue(true); + fn() => ($test ** $test)::$test(); + } + function test26e978d221c4e87631678a79c46b7b4309003b1e5cfcb52a9192b9e84b68da26() + { + $this->assertTrue(true); + fn() => $test::${$test}(); + } + function test29d9db9582fc8c03c5c82a4816f5b36ad6b21b7a6ea1386262d657a797c5fca4() + { + $this->assertTrue(true); + fn() => (__CLASS__)::$test(); + } + function test2e81cf75dcacce27cf2c51ab30d780b1749894335488204b23731a98c4bae7a2() + { + $this->assertTrue(true); + fn() => ((bool) $test)::$test(); + } + function test34baad86996aa0feb2eff289f0eab584846392dc6be0450902c6978e0534395e() + { + $this->assertTrue(true); + fn() => ($test > $test)::$test(); + } + function test3a2871611cbbc3736964bd2f2f86acbddaeadc4652241248059893abf51b4335() + { + $this->assertTrue(true); + fn() => $test::{$test -= $test}(); + } + function test3bec55eaa94dcd703e85ada4639d7ad4f141624fdbab88a3b746a85f54070494() + { + $this->assertTrue(true); + fn() => ($test | $test)::$test(); + } + function test3c4d217cc9ac892ed6d942106e2c3d477d14cbfc5ba2f5a8902bbce13648ec15() + { + $this->assertTrue(true); + fn() => $test::{$test %= $test}(); + } + function test3efc6613371f35d48b9fa5f649cb47c4db6fbb2f7171afda910d0e0428eac454() + { + $this->assertTrue(true); + fn() => $test::{++$test}(); + } + function test40836da8fe4418fea8718b5a09582ef3c77b1834710bedd0e622e2f154002c4f() + { + $this->assertTrue(true); + fn() => ($test xor $test)::$test(); + } + function test42e9f418ea6c8a5bc55256a564693cb53f31b01a93f58686ef46779d053262df() + { + $this->assertTrue(true); + fn() => $test::{$test::${$test}}(); + } + function test4421bcb4f5adef43490ddd334b51807d604a0e36d4ffa458939e201300b4f405() + { + $this->assertTrue(true); + fn() => ($test === $test)::$test(); + } + function test445460ed2ef6f2dc375c83bc0b0605b93e80abdbdb3fab736f88cb1bd6737689() + { + $this->assertTrue(true); + fn() => $test::{$test--}(); + } + function test459d66b98e0c186b9727d27346ba48660d92f5998263b7c09f2d87c403e48db4() + { + $this->assertTrue(true); + fn() => ($test and $test)::$test(); + } + function test47f0d8d41a50c973f2079fbc7f101e267dad91ae6ba2c6a39af713477b327ee5() + { + $this->assertTrue(true); + fn() => $test::{$test++}(); + } + function test48c9166f25e585eb38472a4953f34c220ca73a3b427a9883b0d5eb995cc6ed36() + { + $this->assertTrue(true); + fn() => $test::{$test()}(); + } + function test4dd02dd775a8d8836ccac57cfba01a5c608e9fd1fa793a68058e38fc9d993f82() + { + $this->assertTrue(true); + fn() => (__TRAIT__)::$test(); + } + function test50ef2b0da4984cd31599b6e656f53457f88bf2354ddc861a9f0d3035425d05a2() + { + $this->assertTrue(true); + fn() => ((int) $test)::$test(); + } + function test53085c3b8749bc57e23428921608ad1b01f311a80cd3fb67ef3db6687f96f03f() + { + $this->assertTrue(true); + fn() => $test::{$test[$test]}(); + } + function test555256042d90e2c15f8919c16c0b002ceb6b926371056bc02ae4b2c7242c726a() + { + $this->assertTrue(true); + fn() => ($test *= $test)::$test(); + } + function test5718a3fbff086e195c3ccc5cf3fae60f32d108f89bd237788314c056289ab0cc() + { + $this->assertTrue(true); + fn() => ($test >= $test)::$test(); + } + function test5789d9517afa7e02fb9792abb9e03f4fd29e1fc8a18bc4b72deb05852a602f7d() + { + $this->assertTrue(true); + fn() => $test::{@$test}(); + } + function test58c28bf53e7eba5092b9f7f4c1c1297ddbaca2fc3687e69e07fcd13948f06fc7() + { + $this->assertTrue(true); + fn() => ($test %= $test)::$test(); + } + function test5b33c8eedeafa5a3b855691212c3e8817e9f95bf5680200c1dfed9d2a84fce15() + { + $this->assertTrue(true); + fn() => $test::{$test ??= $test}(); + } + function test5d582170eddd5b0df0e2d267fed9e67ca5e1d31e6326e18279beea392e02d929() + { + $this->assertTrue(true); + fn() => $test::{$test += $test}(); + } + function test5ec87350ef4e7badb125782ade92fb90527afeedccb72f112bf4cf417551f608() + { + $this->assertTrue(true); + fn() => (__DIR__)::$test(); + } + function test615d58d561e66fa64c4c89fde18dbbd6f39600036f4520e3fb27c0529c12c61d() + { + $this->assertTrue(true); + fn() => ($test & $test)::$test(); + } + function test64c0ea209da60e47e5188e5cc50586407ac74b4312f03e2eed0e0982c08fa2fa() + { + $this->assertTrue(true); + fn() => ($test - $test)::$test(); + } + function test6549b847c847aa04c7e40004982c57303f7d15830787cd33459098592b508d4b() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__)::$test(); + } + function test6744cd6773df471d26c21b9c0edff9889f5009207797c70854c6353023848b3b() + { + $this->assertTrue(true); + fn() => $test::{!$test}(); + } + function test69eca924ab6327ea3e9eb0aa647b809a890d4ef6502820f0b90c19d27fbb8b5f() + { + $this->assertTrue(true); + fn() => $test::{~$test}(); + } + function test6dd53c97d5521bcd0001f5cfcbd56705b3c9de259d20a87553b9b86ff1de1fc0() + { + $this->assertTrue(true); + fn() => $test::{$test =& $test}(); + } + function test6fb6614443a3a69d2860ed527ce453b20bd280947b5b8ad0e2c388e114f7b05a() + { + $this->assertTrue(true); + fn() => ($test < $test)::$test(); + } + function test71fd9a91260979e35b30e5d3141c8502cff515184df759f6f26d342108fdc097() + { + $this->assertTrue(true); + fn() => $test::{$test >>= $test}(); + } + function test7603a94c9b0b396433612d59d74528c5abe08f47ff59a7376d9cf576cc1af06b() + { + $this->assertTrue(true); + fn() => ((object) $test)::$test(); + } + function test782ede78de3ec8bce127a05cdea5f90dbbf1a92f9701859d87c214411bf260e6() + { + $this->assertTrue(true); + fn() => ($test % $test)::$test(); + } + function test7987864b12a5aa2b3ba5eba0038e98be4b8308e05b760fe335c0960fea8e5002() + { + $this->assertTrue(true); + fn() => $test::test(); + } + function test7be74823605113371dc15cb73c0d872d48667399f0c85f701b7933071095f253() + { + $this->assertTrue(true); + fn() => $test::{$test &= $test}(); + } + function test84b0cd0fdf5ea149cc8887a1c48cb2ed8cffa52b30406fb9d271a6d29b0daa36() + { + $this->assertTrue(true); + fn() => ($test != $test)::$test(); + } + function test858b89c54ec0e6d1fb84b3252a00273c67c59fdf6728f2a6b953cf1f5f74680f() + { + $this->assertTrue(true); + fn() => ($test += $test)::$test(); + } + function test874253b29496b854aa12ca4ba1f7b77dde30ed05d956d51ef801417702f1338c() + { + $this->assertTrue(true); + fn() => $test::{$test->{$test}}(); + } + function test8848bbd9fcd698d43a9b4fa9051b1d08d52849e8156b88b8f2d86e4e419486c6() + { + $this->assertTrue(true); + fn() => ($test + $test)::$test(); + } + function test8887a75fa3b4f07c54da18d12c54b5bef7f7fa8933131e201fc4c0ab072fd836() + { + $this->assertTrue(true); + fn() => (__FILE__)::$test(); + } + function test8bdb33aa4770868f5c9713de54b9c6ecd3a8a40f7914787fb55d2d212506952c() + { + $this->assertTrue(true); + fn() => ($test && $test)::$test(); + } + function test9c91d46d50306fb4ed3c8e9393c0557547c9f849db1f6c0ed7eab2d44d3df6b8() + { + $this->assertTrue(true); + fn() => ($test <<= $test)::$test(); + } + function test9e13353e70a2db96b4249970ba9c40ee31ada61d3ca1b59a9416b88867fb7fb3() + { + $this->assertTrue(true); + fn() => $test::{$test::$test()}(); + } + function test9ebfc41b6508813d8653a18964bf4bebcbf7b5221938d7caffc6cc74eeb38d2b() + { + $this->assertTrue(true); + fn() => ($test **= $test)::$test(); + } + function test9f82e86ff7bddcc8dd8e1217235946dfda41e954d51f8664cde7314f959b102e() + { + $this->assertTrue(true); + fn() => ($test / $test)::$test(); + } + function test9fa63ccca32a488acd3fb073bba35dfd1879707ff79cfd73f7e06b36a610ba46() + { + $this->assertTrue(true); + fn() => ((array) $test)::$test(); + } + function testa6bc14a4fc9bca86ebd955177502cf828d5ca420c555758c465999d5e7c5290a() + { + $this->assertTrue(true); + fn() => $test::{$test ? $test : $test}(); + } + function testa75aef1df932f8fdd34483f7c04f139e25321a7f38aa718c61335d6761bce8cf() + { + $this->assertTrue(true); + fn() => ("{$test}")::$test(); + } + function testa910b27be9e4d9216d76a71861950a4d3acaff84e9fec955c21e2139d0c2af9e() + { + $this->assertTrue(true); + fn() => ($test !== $test)::$test(); + } + function testb17e4ce9c7050fa691f3ea1c4d6c3a45dd69580dc266f003a99e50eb51b627a6() + { + $this->assertTrue(true); + fn() => $test::{$test::$test}(); + } + function testb19fd84844396c2d477694f4ea727c5b2ba54ce2884579a610252b6a511fff0f() + { + $this->assertTrue(true); + fn() => $test::{$test .= $test}(); + } + function testb1b6e62120df93011904a3690f9936bb2404c886376ba8a7c7be36f1e365add5() + { + $this->assertTrue(true); + fn() => ($test or $test)::$test(); + } + function testb5d569ec10f8d1994346be5064f43b744a51c63f8de30a6ffff5b2d0ecee31e9() + { + $this->assertTrue(true); + fn() => $test::{$test?->{$test}()}(); + } + function testba8de927f671ecd13059407a586640f1e5ddcc116b18c007f6a1e4fad4ba05cd() + { + $this->assertTrue(true); + fn() => (__METHOD__)::$test(); + } + function testbb72a0aa6c670893f9498912fe0cfb468f276f562b7ed28465d9eb6860933fff() + { + $this->assertTrue(true); + fn() => ($test ^ $test)::$test(); + } + function testbcda55c9e5d5a09e50d0a6f5569b90e3200a5097ccc619239fcc1992857daa74() + { + $this->assertTrue(true); + fn() => $test::{$test |= $test}(); + } + function testc13b39a69d273b36bf4b8485394ef8dcdbec3328c50b3c1bfeaf06145f1b7619() + { + $this->assertTrue(true); + fn() => ($test <= $test)::$test(); + } + function testc443574f2b9b7e0bc693ee8d2de89599b01a4766c185e87add814e81b6229aec() + { + $this->assertTrue(true); + fn() => $test::{$test}(); + } + function testc6de2b0b7df23bdc8facad504730d56972dfe72c42a75706fa848786f0af55f8() + { + $this->assertTrue(true); + fn() => $test::{self}(); + } + function testc795b2a8defaa22739db7ab8d1d36ebdeb03b192cfa0335892eac46838d06305() + { + $this->assertTrue(true); + fn() => $test::{isset($test)}(); + } + function testcb4b15466b450f88402bb029a9f467acc9abbaa9a95d5c3ff860cc5d27ab5438() + { + $this->assertTrue(true); + fn() => ($test << $test)::$test(); + } + function testd09d0b6b7133e283cb806ce35ce848a12aaac3e52a76f1615dc76f1c4e549162() + { + $this->assertTrue(true); + fn() => ($test <=> $test)::$test(); + } + function testd5a893d108774bd8ea7c4bcb5a2fd424e23d0dd9ab88e100a682eec6d2034102() + { + $this->assertTrue(true); + fn() => $test::{clone $test}(); + } + function testd8409659a9570935e271de753927035b3e1bcbfc163f89eb0ade81e9eb4fda99() + { + $this->assertTrue(true); + fn() => ($test == $test)::$test(); + } + function testd9cbaf013a6031ffe6c7b03d6687e22a881c9a2e91151d88bcddeeee162e9842() + { + $this->assertTrue(true); + fn() => $test::{function () { + }}(); + } + function testda19fa07e65d657ed062dfb646845e812ac248377ddfc1f6e1586f59e9ffde2b() + { + $this->assertTrue(true); + fn() => $test::{+$test}(); + } + function testdd63218ffb00d3b2f462a4298bdb36d4db0d344758e1f76c1944f17a57c6d7ec() + { + $this->assertTrue(true); + fn() => $test::{ $test}(); + } + function testdd811f05be510fe7bcb922742b30d7da9c918eadcc46501f974a39afdf5b4960() + { + $this->assertTrue(true); + fn() => ($test ?? $test)::$test(); + } + function testdddacaad9fcd4bf3e660d25b10380e1ac643ae7e39438d169d1bbcfca5ffb323() + { + $this->assertTrue(true); + fn() => (__FUNCTION__)::$test(); + } + function testdf55222c46b4b9f259da098737770f13a0533dd425a957a4d4b235e0d9f145e3() + { + $this->assertTrue(true); + fn() => $test::{$test?->{$test}}(); + } + function teste4c5dd6bbaf00c7eb62bcbaf4c35457a1e71c5c8870162da3c98075522731b8f() + { + $this->assertTrue(true); + fn() => $test::{$test & $test}(); + } + function teste5d21c496d2c91ca8d2e2af5ee8451f7de49fcbbfb4492decd702d7587389358() + { + $this->assertTrue(true); + fn() => ($test >>= $test)::$test(); + } + function teste7edd2188f477fa8a93dd22929366cee31907ecaaa68c67b2cb41f56b40ce51a() + { + $this->assertTrue(true); + fn() => $test::{empty($test)}(); + } + function teste93c42840aaa74ddba984d7f5ef82c96f0f7f6b3c00a2eaf5c6bf5c7a9bdc456() + { + $this->assertTrue(true); + fn() => ($test * $test)::$test(); + } + function testf3b2a640a4bf470e74adb258a1d960a229361b4f718baa76db1db2725aac8ce4() + { + $this->assertTrue(true); + fn() => $test::{$test | $test}(); + } + function testf892b7a84fb3224c604ec64ab9912a3cf683390dc8e8e022f7382f9ebee5a069() + { + $this->assertTrue(true); + fn() => $test::{$test->{$test}()}(); + } + function testfdf79b7e63ff478a78c4167b59ba7e43f97eee76ce5f27fc00665d6e13105f27() + { + $this->assertTrue(true); + fn() => 'test'::$test(); + } + function testfe5c6392bcec9d3078a1ff6b848a91c47d811513fe26d621013b2be1a62e2cd1() + { + $this->assertTrue(true); + fn() => $test::{yield from $test}(); + } + function testfe64029d451ff6a4f94d398bbfab9cccaebe69bd860b2c23586fb1ba4a593a7b() + { + $this->assertTrue(true); + fn() => $test::{(yield $test => $test)}(); + } + function testff02b9842b80d204fbeb0b8a87de9c7433bad045a205ce8699e81d8d4c366e59() + { + $this->assertTrue(true); + fn() => $test::{$test ^= $test}(); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest.php b/testsGenerated/Target/Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest.php new file mode 100644 index 000000000..28a4a64b7 --- /dev/null +++ b/testsGenerated/Target/Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionc17525fb9d20efda08729f119e8f4b00928993c43856bcd34474d2c360f5b33eTest extends TestCase +{ + function test02d671186ffab5ab7641837b01d340d7e8becffd4eeccd130c5a0d4f547b704b() + { + $this->assertTrue(true); + fn() => ($test %= $test &= $test); + } + function test034e56d7d8f7b0d64e0f2704934b644db16c811b99052e69102b57b1bf840722() + { + $this->assertTrue(true); + fn() => ($test %= eval($test)); + } + function test04ba2229b392538aecdeca91eeaf7ed380f594025b9b7aab9dd9b639dce3a033() + { + $this->assertTrue(true); + fn() => ($test %= $test::${$test}); + } + function test09679e4d6f25ce6cd697e2f5cb6408b36148479fdcb33a96bd1141499d9c438a() + { + $this->assertTrue(true); + fn() => ($test %= $test ^ $test); + } + function test0a4bf4e0e46495df486d6558f404cb4d09ea5262690bf5ce1eadc83793a0df31() + { + $this->assertTrue(true); + fn() => ($test %= $test / $test); + } + function test23085b600a3f3d6206823f1c9c6ba60cb65c47ae4db17cc71b7b525da2dfd6c6() + { + $this->assertTrue(true); + fn() => ($test %= (print $test)); + } + function test2a04041809aedd9e160456517908ff3f4612f6aa32479fe613f2876575199c25() + { + $this->assertTrue(true); + fn() => ($test >> $test %= $test); + } + function test2a585a11d0a1ee917eddb46da40db754e0715eb6909358177a773202250f74fe() + { + $this->assertTrue(true); + fn() => ($test %= (double) $test); + } + function test2ab6f4c963b9934c30a6891c80d70dd43a1755b5eac224257b690c065e610939() + { + $this->assertTrue(true); + fn() => ($test %= $test); + } + function test2adb4e2ee220a2356b0539540dfad04e0fc6b2209df707c7f1ea6b229441c275() + { + $this->assertTrue(true); + fn() => ($test %= $test << $test); + } + function test309af1e22471bed3a2dbd33a3bf8d414a0f657f46118f48beb232c86425faeef() + { + $this->assertTrue(true); + fn() => ($test %= new $test()); + } + function test3604783845547df748f4df04ce36d6f2117657d1ec20de4520c4006445474c4d() + { + $this->assertTrue(true); + fn() => ($test %= $test % $test); + } + function test3cf978942530c55f465a3f2dd32992b2b4c85733968810911dac3c7eb7375ec1() + { + $this->assertTrue(true); + fn() => ($test %= $test -= $test); + } + function test3f2440db110e906aad1e1a6c65a13397c6051f9744c271fa7ed0cee5d7e4c00e() + { + $this->assertTrue(true); + fn() => ($test %= ($test xor $test)); + } + function test4038421709646018cf9965f54dfbe5d99b75d483336365443333df3c0c8389f8() + { + $this->assertTrue(true); + fn() => ((double) $test %= $test); + } + function test43539e3d0217a6458b8cb40267e231ba7c2aa6870e7d97dd415660d14eaa6c51() + { + $this->assertTrue(true); + fn() => ($test %= -$test); + } + function test4499ee5e9959820b28a8c25a13f8c04e6565425c04b1905046b3e3141404b2b4() + { + $this->assertTrue(true); + fn() => ($test << $test %= $test); + } + function test460d3abddec60076a4b959918277d57b020ad7cfe60a2f84ab8115c00112bd53() + { + $this->assertTrue(true); + fn() => ($test %= $test->{$test}()); + } + function test46cc757e112031433af9476f27be247cdb8c363e74177b5f306b5742b9e099af() + { + $this->assertTrue(true); + fn() => ($test %= function () { + }); + } + function test46dca7ee662cab22c6f69885cdc723f736039f832eb79277d4187326b3a121f1() + { + $this->assertTrue(true); + fn() => ($test %= $test *= $test); + } + function test472e7d52af79f7fdd68718c49900c4d24c1559c7190a98eb7af9601bff06ae31() + { + $this->assertTrue(true); + fn() => ($test %= --$test); + } + function test48b54b0c5da70b41e7fe9ecc4b279d3dd51af64d70638f7cec1caaa04fb0543f() + { + $this->assertTrue(true); + fn() => ($test %= $test * $test); + } + function test494d821a503b2b5c5ad5666bd78de1d713e2575127b93ae3368876a0c52c2e98() + { + $this->assertTrue(true); + fn() => ($test %= $test /= $test); + } + function test4a2a5a21a50350b97f3924454e1dd2384f69b86820b95a6c6625513fcb4442d0() + { + $this->assertTrue(true); + fn() => ($test %= (int) $test); + } + function test4ca88ff6279a2dcc1d72d5cbbeb477f8cbfe8828861da071257a6beb6f8038e2() + { + $this->assertTrue(true); + fn() => ($test %= empty($test)); + } + function test5062aebffc24c5cc944d0e34549a65c50c0c699e6efecf7c68d7e56fb84344c1() + { + $this->assertTrue(true); + fn() => ($test %= ~$test); + } + function test51ca54e3c1d59f7099a61008581b2047867a6bde6484b705ea146ff1d78d60b8() + { + $this->assertTrue(true); + fn() => ($test %= $test **= $test); + } + function test52ee14420c3b5b878e62441cbdf7795741ca45a9b3f4fc651a384950237db464() + { + $this->assertTrue(true); + fn() => ($test %= $test === $test); + } + function test53706e412000e6607bac73bef4b846aae5c8c00eeed0f56e3518c51a75d9a4b2() + { + $this->assertTrue(true); + fn() => ($test %= isset($test)); + } + function test54ef14065e9094f728428b9bd2176d4ebe9d70b349e9e6710a819dea1dd2d5eb() + { + $this->assertTrue(true); + fn() => ($test %= $test->{$test}); + } + function test574ebe28354f66a880a9f130b7b331cfe783ecd595bc01d72b6775d7abe928b6() + { + $this->assertTrue(true); + fn() => ($test %= $test <= $test); + } + function test597cf338dc49a98ab29484eb0bfdde45a9b8ea45df469ac9dafe22140139d4a9() + { + $this->assertTrue(true); + fn() => ($test %= $test()); + } + function test59dc11247d920b11bea3de06bb9323c6a976f1929498d5dd0ccaf2ed8fb96147() + { + $this->assertTrue(true); + fn() => ($test %= (string) $test); + } + function test5ff54469cf472e4fdd898c38be71918519133ba9e581c186b5b53bb917c9e217() + { + $this->assertTrue(true); + fn() => ($test %= $test =& $test); + } + function test60b9c4daa80637bab82ecf0b4a9f2a2f85eca43f9b480e6c36a531f9f5bdad95() + { + $this->assertTrue(true); + fn() => ($test !== $test %= $test); + } + function test62804f67a2147607953c6eea881f025fc1509cae33819eb85817d3e5b322b18b() + { + $this->assertTrue(true); + fn() => ($test %= $test & $test); + } + function test650d798bdf04c463d6c413eab698ff6b77d7fbcd6b5176ae2dcb07cc72bff352() + { + $this->assertTrue(true); + fn() => ($test %= $test--); + } + function test6956f17711b567ab9425be78374dfa975e5af1f798424df748c106020f30b5d2() + { + $this->assertTrue(true); + fn() => ($test %= ( $test)); + } + function test6b2011d5ec5e11fc44092ce9c045f390b76b6773e1f7dfa6c8d4d7bdac1b70a6() + { + $this->assertTrue(true); + fn() => ($test %= $test = $test); + } + function test6cab1fba44fbe36032f6ac2c32c6ad6527a10d2ecf8d84e51b33c354a899d999() + { + $this->assertTrue(true); + fn() => ($test %= $test ?? $test); + } + function test6e17c717fc13dde478e5a8de0a179dfe4661d9e40faafb507cea8df683fad12c() + { + $this->assertTrue(true); + fn() => ($test %= $test >= $test); + } + function test71506fc9926628ffc2c9b8fa9474ea5b3ca62be230660237d96ee1e24e16d4c6() + { + $this->assertTrue(true); + fn() => ($test %= $test >>= $test); + } + function test72bc08100b2c257dc9a0d5f1adf8df39b03eb2faf53c4e27324d1bd612b6b016() + { + $this->assertTrue(true); + fn() => ($test %= (yield from $test)); + } + function test743c2942245357c768dcdd9a5c459b0aec5195e591f8fcfb3f2f6b8d41e3920a() + { + $this->assertTrue(true); + fn() => ($test %= ``); + } + function test74c8bb3be3a31eee2c0a0ee1f37158fcd5adf1c86c9d423b80ec63bf81cdecf6() + { + $this->assertTrue(true); + fn() => ($test %= $test++); + } + function test76ef054a1b4a7288d5f5f650c08b84d022cd91a1c4f90b4d3722c9b10c525300() + { + $this->assertTrue(true); + fn() => ($test %= throw $test); + } + function test7773f5f40873310b4a84e17edda0db522310deae78344aa4c2197ff6eacece2d() + { + $this->assertTrue(true); + fn() => ($test %= (yield $test => $test)); + } + function test78a397ae88fa40c8eb693a5d06033d29a6812ba644c3dd5d82d3e2506b3e2dee() + { + $this->assertTrue(true); + fn() => ($test %= (array) $test); + } + function test78d70bfcd9aae1d5f6a0cdec9902dc5b4564d8b060f073f2cceb7fff410d1cc7() + { + $this->assertTrue(true); + fn() => ($test <= $test %= $test); + } + function test7947098013ee4e3509de5adbb20761a5bf6127ff754d77b4d9e8523cfadd1edc() + { + $this->assertTrue(true); + fn() => ($test %= $test - $test); + } + function test80b93a0f547ef55c48405651dacb83e0b286af6ea330afd2de0fb62de68cab99() + { + $this->assertTrue(true); + fn() => ($test %= !$test); + } + function test816d241992addc5cebc9600fd33842c493462d0f0558cac253ddae23e965eccb() + { + $this->assertTrue(true); + fn() => ($test + $test %= $test); + } + function test8632512542d3849cf48ac014212e598a4bd0a545f262945a325beb744a0269b1() + { + $this->assertTrue(true); + fn() => ($test %= @$test); + } + function test8b35fbf687479a9bd82b4a2de512b84764ff3084135b07fe86dcd845853713f3() + { + $this->assertTrue(true); + fn() => ($test %= $test += $test); + } + function test8d0dcf527a6d2aae2df8e24d98ddb8db71808c249b5d1926c842280ae748874e() + { + $this->assertTrue(true); + fn() => ($test %= $test instanceof $test); + } + function test8efbb58b3cb72dd448aa1db8a51feea6358c97647f63931a0df1bc200bbe6f91() + { + $this->assertTrue(true); + fn() => ($test %= $test ? $test : $test); + } + function test90085cc172118707c13835ec947328042c556e524ca26509a3df0dab87ef0273() + { + $this->assertTrue(true); + fn() => ($test %= []); + } + function test92acbfa9e5760cbd406eb8c197d4949f85076fb467bb84fc401189bcf244698a() + { + $this->assertTrue(true); + fn() => ($test %= $test <<= $test); + } + function test98b592ab031b026d785c443118fb53ec0724885895c890f0244ee46e0b49e849() + { + $this->assertTrue(true); + fn() => ((object) $test %= $test); + } + function test9e3a1441fd2479ab34311ed3d8b43429b916938e2171a01b352c6f00e0d94b99() + { + $this->assertTrue(true); + fn() => ($test %= $test::$test()); + } + function test9feb92cd3fcef040a121e687d2925ff7b34e47bb5581638573a14d6122e5dd8c() + { + $this->assertTrue(true); + fn() => ($test %= ++$test); + } + function testa149e58dba522a65648e3dc268b4b5e9d624b41315e27d609bca4980461d46ad() + { + $this->assertTrue(true); + fn() => ($test %= $test ** $test); + } + function testa2210ccbcaaffbe91318be5e92fdbbb77d4704c505ecc2216481edcd87bd7f3e() + { + $this->assertTrue(true); + fn() => ($test %= $test .= $test); + } + function testa3a99664945caba66313885086d732d4b59c85da5541bc2eec58e71912de5ae7() + { + $this->assertTrue(true); + fn() => ($test %= $test == $test); + } + function testa3c3afb862a88c2327b20fdfbb9d790cd6166258d511bf260e7f70ac182f7080() + { + $this->assertTrue(true); + fn() => ($test %= $test && $test); + } + function testa53b42caeb67a4dfad1d1d3baa56cca36c8b344f68f2fad5ee90c917a2b9bc90() + { + $this->assertTrue(true); + fn() => ($test %= $test || $test); + } + function testa56409bd7dc02d07c888fe77908f752db697792223c78c6802f6d285193dffcb() + { + $this->assertTrue(true); + fn() => ($test %= $test ^= $test); + } + function testa5cd947c0e4e238977531429737d577f6b2d83e3d0b0e35a6d30493542b8f11f() + { + $this->assertTrue(true); + fn() => ($test %= $test | $test); + } + function testa7f1c2e60c98b538ae8bb630b8ac389b15df8f143d36983cb5445aa5c54175f8() + { + $this->assertTrue(true); + fn() => ($test %= $test[$test]); + } + function testa83824be034af9e64408c4ab746cbfc7b4f536c1b846fe4789ba27fc05803377() + { + $this->assertTrue(true); + fn() => ($test <=> $test %= $test); + } + function testac753eca682c519a2ac8c3b7f4c6badb775845bd0062be546a2465665a6b2cef() + { + $this->assertTrue(true); + fn() => ($test %= $test %= $test); + } + function testae319d0d6ed4010ca8233a8bbe5128c2ed71597e835e34b95341a5afc295914f() + { + $this->assertTrue(true); + fn() => ($test %= $test < $test); + } + function testb43054bc74c59067e94c221d382b8d26019c3dab652fe96487a00170bb8f8b02() + { + $this->assertTrue(true); + fn() => ((bool) $test %= $test); + } + function testb55eea492a51c86ea56d103f19243fa6c7a913eb271cedc80249e5f9cabf5836() + { + $this->assertTrue(true); + fn() => ($test %= $test != $test); + } + function testb9588c86346037d26cf5f0295a609c9932e8dd23bcfc24856456e1398a3fdee5() + { + $this->assertTrue(true); + fn() => ($test %= $test . $test); + } + function testbb238002d1a6542f31bfc06c48cb659c55cba1d94097f813e181d060add426a1() + { + $this->assertTrue(true); + fn() => ($test < $test %= $test); + } + function testbd819c487ec2445968ad7b6bb4666d605f2942c6be1fb7d4f5b86adb023a0010() + { + $this->assertTrue(true); + fn() => ($test %= match ($test) { + }); + } + function testbfca34de2d10768ec1bca98ac4dfd7c9de049d1c6d5f6d2759502a404db6a268() + { + $this->assertTrue(true); + fn() => ($test %= $test ??= $test); + } + function testc0102b850fd074c7c12c299b74419fb20c3e6c94cc65956d6145bb390d528325() + { + $this->assertTrue(true); + fn() => ($test %= (bool) $test); + } + function testc442810e302a0f9ad27aa980362cd477c96b7c0f2a5c4106887efcdaa01f9e7e() + { + $this->assertTrue(true); + fn() => ($test %= ${$test}); + } + function testc956a5b4cb042d9ec27baa13c4dce6fa325b1cc220dd07587c5c2ab0f501f0e5() + { + $this->assertTrue(true); + fn() => ($test %= ($test and $test)); + } + function testcb18af5f06351186d4a14b9493799c86c650adbc7afe2622632667a5837dcefd() + { + $this->assertTrue(true); + fn() => ($test %= $test + $test); + } + function testcc0d88cdb104fe764810be70ddf76d352305b78c72aaa2158b40f8a337f78c14() + { + $this->assertTrue(true); + fn() => ($test %= $test > $test); + } + function testccdc20496705242c243c9657910a202d8891ddc4bbf8cc77ed622ea883755627() + { + $this->assertTrue(true); + fn() => ($test %= clone $test); + } + function testcf1c84f439ba5abf1a74ec3eaf70c6998a74c96bca380311df61ef00e6824134() + { + $this->assertTrue(true); + fn() => ($test %= self); + } + function testd38e43dab0efee44b3ee02ad9bf9a89331830a57101231872a95f2c833ff261e() + { + $this->assertTrue(true); + fn() => ($test %= $test?->{$test}); + } + function testd3d834291a9cb9c0dfd0a7cd9f86b9d62b65f98cd0fc5c74157f55f35f6f295e() + { + $this->assertTrue(true); + fn() => ($test %= (object) $test); + } + function testd51de8211d294cdcb5c1afdf730896ccaa005cf7066a18d7c96333fe794182e0() + { + $this->assertTrue(true); + fn() => ((int) $test %= $test); + } + function testd89546c75cb3904d284e02e726a2a501f19ef411b9815c5fd0565885e259cde1() + { + $this->assertTrue(true); + fn() => ((string) $test %= $test); + } + function testdfd161d2b48b4169f6dcf481b9bebda1e6f9b6ff065be06c9a7550ff0ab1607e() + { + $this->assertTrue(true); + fn() => ($test %= +$test); + } + function teste1fd38f06bd841b484f32117e5e81b2ca613cff2c1b07c9e8fb27e6e8ece81dd() + { + $this->assertTrue(true); + fn() => ($test %= $test?->{$test}()); + } + function teste33a863867bed5de94677916c56b5cd9a1a59a95b6ca74af430deae8b679e98a() + { + $this->assertTrue(true); + fn() => ($test ** $test %= $test); + } + function teste44022748219818dc34a580f4f38be4692c01cd0c9461e7a03e44b90e5f3094e() + { + $this->assertTrue(true); + fn() => ($test %= ($test or $test)); + } + function teste7bfea358c675d41666785397293f4651c8a8fa71fad6640f0f9ba84020bb97e() + { + $this->assertTrue(true); + fn() => ($test %= 0.0); + } + function testea87be497dc6e296af7890253ae8b2fcac0a42f2daf8c37542c1bada51d00822() + { + $this->assertTrue(true); + fn() => ($test %= $test >> $test); + } + function testec3b67a81cb8690131c9d5b1ceaffdb4909633dde851835fe987d3e9a079a460() + { + $this->assertTrue(true); + fn() => ($test %= $test !== $test); + } + function testf009d49ccbdcadd97c42ed866099da3087c2a0c6547a5631e550396cbe202021() + { + $this->assertTrue(true); + fn() => ($test %= $test::$test); + } + function testf36cbb07b6a35a8833f81c41c2bc498f8ebf8865541e9b1e6e1fed5c5f23bdfc() + { + $this->assertTrue(true); + fn() => ($test %= $test |= $test); + } + function testf4edb660767ab1c6df5a0511547e28916389c99aa70bbc33f5c728ff3c880ba9() + { + $this->assertTrue(true); + fn() => ((array) $test %= $test); + } + function testf8d96ed84f8b07c25019568c1f97b065b9a427d1841d459b14123f8711743b8d() + { + $this->assertTrue(true); + fn() => ($test %= $test <=> $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test.php b/testsGenerated/Target/Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test.php new file mode 100644 index 000000000..32f542ff4 --- /dev/null +++ b/testsGenerated/Target/Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionc1b352c3d01702091f98bc15a27493f07af5f0502af2b6486e25ad3bc7ca9131Test extends TestCase +{ + function test007dfba767f1fcef1e17429b3cb0eaf62a3e0f6d9bdfc1d083d72ccfa96e337a() + { + $this->assertTrue(true); + fn() => (-match ($test) { + }); + } + function test01b3a7776661ae8c99d385fc6744e095d22230f40395ffe89a41ecad6184c294() + { + $this->assertTrue(true); + fn() => (-$test::$test()); + } + function test0c8a40b7ed5de6fe96704055406c5d8d80f017736bd08d737a0517a7d173f7b4() + { + $this->assertTrue(true); + fn() => (-($test !== $test)); + } + function test147dff3f0088e6a58b3ce6cffd29b0241cbdd73df7d390477061b159b75f8a90() + { + $this->assertTrue(true); + fn() => (-($test =& $test)); + } + function test14d2006ea23ad249c92b296325f80680bd866c9944d12d055b6808f938c69243() + { + $this->assertTrue(true); + fn() => (-($test *= $test)); + } + function test14df918e37c869713bd2e95dc2776ba64d5d31a65316876059c88bd803cac431() + { + $this->assertTrue(true); + fn() => (-$test::$test); + } + function test16bc138a598ccc958aed96f2176d962581f6b9b068175d128fa6ac1e821bcc7f() + { + $this->assertTrue(true); + fn() => (-($test -= $test)); + } + function test177c4bdf2d89ecc7cf3d3718cd3e5b9a0a528c1c8670eea41d55a96f695d6a59() + { + $this->assertTrue(true); + fn() => (-eval($test)); + } + function test1978be874f8a3c02a00918b8436179c0021ece884ded0dc460b44d3b74ade08b() + { + $this->assertTrue(true); + fn() => (throw __LINE__); + } + function test1c5b13963bbc7bcc4ea7ce4975f39db6cc1b02954c55f59b76b533513c4bc5ba() + { + $this->assertTrue(true); + fn() => (-+$test); + } + function test1cbed6c4fd97ce977c8ef767c02d736704c88bdbc009d1a7cc2dc8be842a6209() + { + $this->assertTrue(true); + fn() => (-(array) $test); + } + function test1e22901c9f9675b632671393cebbc93250f6855a17d4a30f7c9be72112bcfa42() + { + $this->assertTrue(true); + fn() => (-$test?->{$test}); + } + function test1eed9ac620ed8c25cd0f9f89d3c313ba75b6d02b96eead77bd90218ccf010f94() + { + $this->assertTrue(true); + fn() => (-($test |= $test)); + } + function test20c5ec011bc56ad9ef493ad011e9720fa4ec9f4c46fb63e804c4880274625ca9() + { + $this->assertTrue(true); + fn() => (-($test / $test)); + } + function test2279f78652c120e525dbc24e66446d1130b3cae72432a4c0eb302c55fad932a9() + { + $this->assertTrue(true); + fn() => (-__FUNCTION__); + } + function test28d24ad78e5bda6f26e796dcd9ef83d4d516edbc2da9d4f931e60cd771313593() + { + $this->assertTrue(true); + fn() => (-$test()); + } + function test29f85fa886712e080b2b73c6a0f2a99c93325f272c324ac094400f952502aace() + { + $this->assertTrue(true); + fn() => (-($test <<= $test)); + } + function test2befd03ef240a1d3311f7008664b2305f907270df7e350547e049935ecbff793() + { + $this->assertTrue(true); + fn() => (-($test <= $test)); + } + function test2c60dae9a1fc9d718fc907b308cf8b7381cc73b3d3751efba6a30e396a7c7cce() + { + $this->assertTrue(true); + fn() => (-(yield from $test)); + } + function test2dad6e3ad3e35ff5f81779d3007ce75d6e92153e37674a02b8e0a9758f9a8e0b() + { + $this->assertTrue(true); + fn() => (-$test->{$test}()); + } + function test3443266e8496adbcd4b59478424322cb69c9bea33a66503ffe584a0e615e2ba2() + { + $this->assertTrue(true); + fn() => (-'test'); + } + function test38c7ff2704fb06972cf912bf6f5af88e1c9c76e1bf3652d8d5b75b583dffe8b2() + { + $this->assertTrue(true); + fn() => (-($test **= $test)); + } + function test397aa5d93fb29821f494cc52fec2765c013f3aeb977ee8087f9d709d1be06ee5() + { + $this->assertTrue(true); + fn() => (-($test ? $test : $test)); + } + function test3f7450a3e741226851c9b004ccc4109b55a42950b8add7856e5c63fae86e2e78() + { + $this->assertTrue(true); + fn() => (-0); + } + function test47dc95ff59819d75b0505054f88262e0b37f4b15ba61a25e4d40b8e03885f909() + { + $this->assertTrue(true); + fn() => (-(!$test)); + } + function test4c1238df743dd218e3ad529337659326a066e63d7528a161ed434799da76f8ae() + { + $this->assertTrue(true); + fn() => (-0.0); + } + function test52eacd74ac62205461af44dd66e8948cf8e5add89b2dbb7da38016f83953bccb() + { + $this->assertTrue(true); + fn() => (-(string) $test); + } + function test57bbb78f79fe1f555a4a1c439a26214ec09dd1fb4ae6065c7c86ad1620fb746b() + { + $this->assertTrue(true); + fn() => (-(double) $test); + } + function test58bfa0abd59d0d80ed3ed945c89fdadc0720a5978aed2c5544ad9ed2a002af2d() + { + $this->assertTrue(true); + fn() => (-empty($test)); + } + function test5c988ecf1a4f1013143362bbfff3593689938d867082b8c5bc3255f366205aab() + { + $this->assertTrue(true); + fn() => (-($test <=> $test)); + } + function test5d157ebe127719b27c5ce5581f40f578208c25e6c44f31765e1cdc7ef16825b7() + { + $this->assertTrue(true); + fn() => (throw __DIR__); + } + function test5ddd70545512494444bac2607e7ca757fcf648b6f46dfc1556000ac0004ac76f() + { + $this->assertTrue(true); + fn() => (throw __FILE__); + } + function test612dd3b730b60c83f27ef6b6a9cc35facf97de85e68abc2ad5e48b4b752d43c7() + { + $this->assertTrue(true); + fn() => (-$test--); + } + function test64cfe83854fb2599a9f92ba027565c24a3fefe077aa7a63462853983e8abb71e() + { + $this->assertTrue(true); + fn() => (-${$test}); + } + function test6516d573de75de4a1639d67ac88f90162410ed45ef9844082bd440e0cff88532() + { + $this->assertTrue(true); + fn() => (-function () { + }); + } + function test68ecfd50ea8a2a348a5c4199cf291b8c45bd77636fef992abe965f9fefa64515() + { + $this->assertTrue(true); + fn() => (-``); + } + function test6a87f05eeeebc1706295d9db48c625602adeaace37e9ca6c7eea2980386efa4a() + { + $this->assertTrue(true); + fn() => (-$test); + } + function test6b0e5becc8fced394d7c1581a6a2de287c74e4e38fc4f50e4d58972b6eda6694() + { + $this->assertTrue(true); + fn() => (-($test | $test)); + } + function test7286d7db05938502bb0af1344a90fe0e60b6c109697db6c8db3cf2e3f36fd865() + { + $this->assertTrue(true); + fn() => (-($test = $test)); + } + function test73d8c0b9dfba735f5ab3138e99e95c6b2abd3c9710d6dc89450aac8ee777bbcc() + { + $this->assertTrue(true); + fn() => (-$test[$test]); + } + function test751cdd63c99cb9afe3f606a5fcffa4e5f6dc53db5df7aab014a5a00e7e373190() + { + $this->assertTrue(true); + fn() => (-$test++); + } + function test80065188a4d1b9b2a23a451e676e303aca4047658d83a7b5e15676a15a57625e() + { + $this->assertTrue(true); + fn() => (-new $test()); + } + function test82c1cca87ab6519adb1008fee5c186546c698ee59bca2e6b6ca6d0a9366116a4() + { + $this->assertTrue(true); + fn() => (-($test == $test)); + } + function test83f8b9ec7a4a710b9913e9d6a56f646c8c99aca8d09ad63507da8fb8d209928f() + { + $this->assertTrue(true); + fn() => (-($test ^= $test)); + } + function test86144a37f834be9a3c6138ca88e9cfe556042814260925c24df22a625e151cc6() + { + $this->assertTrue(true); + fn() => (-$test?->{$test}()); + } + function test88a657f12d6e12e9a878c41d38c0e0cfd6d72b4fee396e6232efd382a676917e() + { + $this->assertTrue(true); + fn() => (-($test < $test)); + } + function test8c2f8330dc95b8ce8987b756230f517cc12c003f98c7a54604fcd284ba585d9b() + { + $this->assertTrue(true); + fn() => (-($test /= $test)); + } + function test8d8054dd827ec6e34262ab6e2592555149f38a0f873e33d5a4699b78f6468ccf() + { + $this->assertTrue(true); + fn() => (-($test * $test)); + } + function test8f0ccb1fa3c93c86eeab3e226ad8ad821afd3e64a50067fd9550713fe133dba5() + { + $this->assertTrue(true); + fn() => (-++$test); + } + function test8ff05cf0dc1a1ae7ddec2b9b0c5f5c5223e9cad12c093b5bea779ed98b93cbcd() + { + $this->assertTrue(true); + fn() => (-($test . $test)); + } + function test90173794fb8f44f9af1be1f55df3bfed0393867a266d12fbb8a765ace1c0ed82() + { + $this->assertTrue(true); + fn() => (-($test and $test)); + } + function test90850b8f8411a6b9f11392123864355d775387b6093a4ba5c0b54d26818f8516() + { + $this->assertTrue(true); + fn() => (-($test >>= $test)); + } + function test913d71e79a880d98813d353ba9209bcbb728e912151d0d079d92e0dba068cf8d() + { + $this->assertTrue(true); + fn() => (throw __METHOD__); + } + function test92da4d49721ddabe7831f9ec9984dfd44f6c233a84dc33845cf81b767cfd59b3() + { + $this->assertTrue(true); + fn() => (-(bool) $test); + } + function test939855add241e5fe553f65652a90bb600cb6a7bc970c849991e12285d2283bd2() + { + $this->assertTrue(true); + fn() => (-($test &= $test)); + } + function test95f863aa255168faed3bf3d0ae03c578c56d2f733ec957d9e0efa8c432ebbdec() + { + $this->assertTrue(true); + fn() => (-($test += $test)); + } + function test961e6c835d3270dc14618fb6bb910824d37e3310b4ebd8028c1ec59cf8595d20() + { + $this->assertTrue(true); + fn() => (-($test .= $test)); + } + function test97f2fea4cbffb65235302ed19bf12400df26a0a61436296fb1d603c5a7c24c92() + { + $this->assertTrue(true); + fn() => (-($test ^ $test)); + } + function test986c8021d9a7126c062de233f4dbf2054350f1e8f99cd63a0fadd2e3f0544dd1() + { + $this->assertTrue(true); + fn() => (throw __NAMESPACE__); + } + function test996b3edb8289096d53432c7eb61caa33226e8a933e844e9a285fcceb507495d6() + { + $this->assertTrue(true); + fn() => (-(print $test)); + } + function test99c23494d116f7d6521c225337b3507f364f543a5bd516ce76066d3adb6aff9b() + { + $this->assertTrue(true); + fn() => (-__CLASS__); + } + function test9df97a5dded5768bef90dbb9068ee99afeeee37080cc8349685d182ab13a98e9() + { + $this->assertTrue(true); + fn() => (-__FILE__); + } + function testa460958e8673a6d9247b996ff9912ac8881d2df9a635b17b75dab609ec385c06() + { + $this->assertTrue(true); + fn() => (-($test || $test)); + } + function testa48cf247bb35b9b08423351740d1e9eab6c59fbde9b4688cd6a86089642950b0() + { + $this->assertTrue(true); + fn() => (-"{$test}"); + } + function testa5055b7bedfe4cda0e2c1ac6576186e9855b39811b5574c67e2c37f719e07b31() + { + $this->assertTrue(true); + fn() => (-(object) $test); + } + function testa87a9d6f18e54ff75d6fb5be836e28b89c8457acb3f88299c1fdb87016e20e36() + { + $this->assertTrue(true); + fn() => (-(-$test)); + } + function testa909d8ac433576d2b7d00bde9b197237eef9f63f474cf1ce88f90ff53246893a() + { + $this->assertTrue(true); + fn() => (-($test >= $test)); + } + function testaa3e8e02ce0dbb7fffcf8406841b5be705f9a0e6699d90bf35bdeec5e2156700() + { + $this->assertTrue(true); + fn() => (-($test & $test)); + } + function testaaa77108eb3a3df2e3b7702d51d3564286dbece0eac7a1f84198a67abc282bb8() + { + $this->assertTrue(true); + fn() => (-(int) $test); + } + function testb5461ce7359c1d92249aa7eda931d327f8ea94480bbb02acc3d54401d9053eb3() + { + $this->assertTrue(true); + fn() => (-($test > $test)); + } + function testb6e19171298de9a6164e38bbddcb4ea09234f9a93b0bdf017b7c316e006bfee1() + { + $this->assertTrue(true); + fn() => (-($test + $test)); + } + function testb734293c7e992a9f98bd6bf26d35b9c6532e62e567fbb9fcfb7430d8d425c575() + { + $this->assertTrue(true); + fn() => (-(--$test)); + } + function testb9d18c577e1229780fc3b51fdac134981d233d53588d99a5a110e4d4bfcd254d() + { + $this->assertTrue(true); + fn() => (-self); + } + function testbaff2c75a5cb334e412ab1214420cdd0cfa64e2e50228e9092d45085604ea946() + { + $this->assertTrue(true); + fn() => (-($test >> $test)); + } + function testbc846a875bf8c32c583a8e82439cf12336c5a1fbfd318bd4ddb9219cb183f6e2() + { + $this->assertTrue(true); + fn() => (-($test << $test)); + } + function testc01810a8aaf3edba1ae32b9449eae0632c7026da3cfe09129293170abcf66225() + { + $this->assertTrue(true); + fn() => (-__DIR__); + } + function testc108c19c49384b9d9800035254efe03195968171f0d0a60691e837532fe36da5() + { + $this->assertTrue(true); + fn() => (-$test->{$test}); + } + function testc1b55796f348382b4475e1f85d26d31b6fd356dd524ed4423999d5db86285be1() + { + $this->assertTrue(true); + fn() => (-($test - $test)); + } + function testc55424c3e302fcecb6c9d2a08b9b8528dce0a602330c105015a4efbd732ab069() + { + $this->assertTrue(true); + fn() => (-($test ??= $test)); + } + function testc7929f12e0d5c5ba6b7f4dd315b3e1d9472101bdd0aa801f4b43ce19cc5fb77b() + { + $this->assertTrue(true); + fn() => (-~$test); + } + function testc88c2fede94bae5587cfde3187dbde26cde1aa34262f2f1db0947962b45b9338() + { + $this->assertTrue(true); + fn() => (-($test %= $test)); + } + function testcee9778201adb515fc4106a05afea74fda1d506fe3d7c0c24768103a054996f3() + { + $this->assertTrue(true); + fn() => (-($test or $test)); + } + function testcfb3f65be163e66399368ceb195c2a846cca25e36dbe0ef60eda45349598c9ac() + { + $this->assertTrue(true); + fn() => (-throw $test); + } + function testcfcd40aaa2a21b011178c21ef3fc9c9b711911ae93b88000be3a7f175d570324() + { + $this->assertTrue(true); + fn() => (-($test % $test)); + } + function testcff82bc170e6c7d49e97b95872ff27958da9b392608ce025b884b31c808b98c7() + { + $this->assertTrue(true); + fn() => (-($test ?? $test)); + } + function testd333ec46b1325a6c259ea85b80473187411c3668b0aa0407d21288e9c7b90c82() + { + $this->assertTrue(true); + fn() => (-($test instanceof $test)); + } + function testd9e55dd4a16b4d8b5c43cb82a8c10d8fd4255c6aa08eaa029d65de50e588c768() + { + $this->assertTrue(true); + fn() => (-@$test); + } + function teste35655584cd15682253264e18272323c624286d92b7071be87560e3b2e31cf5a() + { + $this->assertTrue(true); + fn() => (-clone $test); + } + function teste6ec5ea023f7e7f1032469b6c40924248f2348ff0578df6aa9b6a1e319a1e24b() + { + $this->assertTrue(true); + fn() => (-($test xor $test)); + } + function teste9544ebd2d923221b0563b13dd0e3f9475979496439b6c6fab0e814ffe513269() + { + $this->assertTrue(true); + fn() => (-($test != $test)); + } + function testeb0eab39e7b4a243e93c09c675b824c54dce5a78841cb7b1f4db94b725b7491a() + { + $this->assertTrue(true); + fn() => (-($test && $test)); + } + function testeb696b97c0e0122b49edb27f19fbc8bb85e3b74d24ecf3a2675245deaa58a202() + { + $this->assertTrue(true); + fn() => (-( $test)); + } + function testefe97ee307fdba2f27a15ca7bf0a10c376effbb43bdf7063fa5a40f82cd4fd5e() + { + $this->assertTrue(true); + fn() => (-($test === $test)); + } + function testf14b0599783d6db011eac60ce6d8926301305fb4bfd1c05acfe2c17f2ec58a74() + { + $this->assertTrue(true); + fn() => (-$test::${$test}); + } + function testf1badf246c4337c9c6cf4096efa14850fbb4882544f89b5320d204f883cc7f35() + { + $this->assertTrue(true); + fn() => (-(yield $test => $test)); + } + function testf251ddbf7f95e61ba76f01a6a57452983ede98b51a662471d1eecf0c4144ce9b() + { + $this->assertTrue(true); + fn() => (-isset($test)); + } + function testf33d1b9292e1d1ab722cfbf56764d7d108205e2e0ed92f50a8291d25b700e61c() + { + $this->assertTrue(true); + fn() => (throw __FUNCTION__); + } + function testfae3d2378a6960ba44f06b1021fe9764d58639efd08543ecf868fa4aaa2e2d6e() + { + $this->assertTrue(true); + fn() => (-__LINE__); + } + function testfc76c0868f92f7d6eaa53a19aa648680ed27bf4523f6a574c5f7f8225d16026c() + { + $this->assertTrue(true); + fn() => (throw __TRAIT__); + } + function testfd6b8bee8d18d1640caca51899592d5f199ecdaea5bb6759164355980e74be25() + { + $this->assertTrue(true); + fn() => (-$test ** $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest.php b/testsGenerated/Target/Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest.php new file mode 100644 index 000000000..823907206 --- /dev/null +++ b/testsGenerated/Target/Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest.php @@ -0,0 +1,509 @@ + + * @license MIT + */ +class Expressionc21d1d89e5ec76d30df25340d725012eb8e2d0298069ae8eb384fbb5edd9e3afTest extends TestCase +{ + function test00ae233e7b109a941a8f33114847645cf313073e7e5f8c541efdc884d9042774() + { + $this->assertTrue(true); + fn() => (__FUNCTION__)(); + } + function test0208811611e1e6ec10308cda8fdc9702ac4c0343790b8d03a8db5c1dd53d0b87() + { + $this->assertTrue(true); + fn() => ( $test?->{$test}()); + } + function test02b2315168498a605e3b52bb25f30b3ee362407257aca30bfe5efa6c6a87e7bb() + { + $this->assertTrue(true); + fn() => ($test <=> $test)(); + } + function test03a22be11fe96e2d3bae1bf173b3ad3446ef784b19021dd8275b594456bfe7cc() + { + $this->assertTrue(true); + fn() => ($test &= $test)(); + } + function test0b2bea4c41ef067e3c1f8ab0187393d9bcb470a1885ba37783b5a8e2407e7c5a() + { + $this->assertTrue(true); + fn() => ( $test?->{$test}); + } + function test0b68c9c73c9781b16ba1f61dcf54d6e71db33e4a88e3c700c916e78960530b26() + { + $this->assertTrue(true); + fn() => (isset( $test)); + } + function test10bbfbd9f14de55244ca5e134f488519ff46c0f14dfad51b24b711f252d06ad7() + { + $this->assertTrue(true); + fn() => ( $test =& $test); + } + function test131181f5ff28e7645815987e9597312ad4123222868deef598ae6c965014995d() + { + $this->assertTrue(true); + fn() => ( $test--); + } + function test14b816954b0fb812cca2c0b8c416e273c579b027aed13f6b9b3b4ee26911ccd5() + { + $this->assertTrue(true); + fn() => (yield from $test)(); + } + function test1547009960d502e1b0076614c9706ef826bd9f97d341be6bdbe9302456cd9b9f() + { + $this->assertTrue(true); + fn() => (__LINE__)(); + } + function test172d3d859cd7ffade4b8ecc6a2f41d0e632bc926c73948b84e98ad5e3e81a647() + { + $this->assertTrue(true); + fn() => ("{$test}")(); + } + function test186000d12246a09242f3f664f3d28cc8a2643c3fb4c720f36ccbb897a7234f25() + { + $this->assertTrue(true); + fn() => ($test - $test)(); + } + function test190e0db4f0e43a76e5898990821832eb187e4c6b6bcc1f3c34f25db26f8d32a9() + { + $this->assertTrue(true); + fn() => ($test & $test)(); + } + function test1d57b0819a9924940209aada25bb38043b136ffae17e1f0eae978a606a64ed42() + { + $this->assertTrue(true); + fn() => ($test + $test)(); + } + function test1e3f4056ff22aa018d2748615ce6d2a9ec84601e2fe25f7b20276cf8ea98971d() + { + $this->assertTrue(true); + fn() => ( $test::$test); + } + function test1ed55c9bddee5454528acb1fc812d8e7aa139f80920df46c7e0ebfeca30c65ae() + { + $this->assertTrue(true); + fn() => ($test xor $test)(); + } + function test1f022b1a5f2281d3476e7ce6809f5869f76429d3afc7bf7f3d4666885bd34944() + { + $this->assertTrue(true); + fn() => ($test % $test)(); + } + function test232836678871929a16b12d77de5fb029b8c32ef932dfaebd46c6dfafafa8c071() + { + $this->assertTrue(true); + fn() => ($test >= $test)(); + } + function test233510aba27aec05ac114d61fe226880c8c32ef6601925632c1e3da47349ed69() + { + $this->assertTrue(true); + fn() => ($test === $test)(); + } + function test24b8c30ac5d2d6fdf3702c888338855f97d7fb0701e39223b94395423f524fb5() + { + $this->assertTrue(true); + fn() => ( empty($test)); + } + function test26353eb8186c75db602d6b40c30694d0f02c869579272b9386c559b91d08aae5() + { + $this->assertTrue(true); + fn() => (__CLASS__)(); + } + function test34877bd433b0483b929b12be85606d6bc9ddf5d5b88a379b1fdeb870bc63095c() + { + $this->assertTrue(true); + fn() => ( new $test()); + } + function test3a75825ab3469e74c4fae4779dbbc413ae7896e33d863d919a8c8c8198acfa53() + { + $this->assertTrue(true); + fn() => ($test ^= $test)(); + } + function test3aa1b1f2f1cde16a658299c0204f8177131d853255d2570e37e83b69615f9889() + { + $this->assertTrue(true); + fn() => ((int) $test)(); + } + function test3b36a0319e0c96e0e7a0a05d3dc46c55b7f07f33ab4cad27d15b7c4c69767d25() + { + $this->assertTrue(true); + fn() => ($test !== $test)(); + } + function test3e1356ad68c926daeba39cd96570cc4c217f8afa74a9660dd2c3ecc9ff2cec32() + { + $this->assertTrue(true); + fn() => (__FILE__)(); + } + function test3ecaac51b235e27b33c93b90ea1acfe10efdc958c93a7ac715090a7547e9d223() + { + $this->assertTrue(true); + fn() => ($test > $test)(); + } + function test3f9e03d29b00c046d2a29b84aa95682c6ae3f5dde91d969f89c2d4b2d2758f29() + { + $this->assertTrue(true); + fn() => ( clone $test); + } + function test40d5c8111164cd2f4daa9465605e36d3ea69535ee826680d3d326e115837ad29() + { + $this->assertTrue(true); + fn() => ($test .= $test)(); + } + function test48d6fc0dcc3c43199949e2c305824835c204dd2b44cca70204f7f9efe8100cc8() + { + $this->assertTrue(true); + fn() => ( $test instanceof $test); + } + function test50806ccfef8e0fa7a1eefc1c638604b4b608b4f244b078b7c1ecbae5e81122e5() + { + $this->assertTrue(true); + fn() => ($test ^ $test)(); + } + function test56b95eee5de99d39ac66f34aebb766212306c26816eede051eb935b58570f65a() + { + $this->assertTrue(true); + fn() => ($test . $test)(); + } + function test578c49bf05e030469c6be239b7d9920b58c1bc3d3a489faf35ad509b8b08efc7() + { + $this->assertTrue(true); + fn() => ($test <= $test)(); + } + function test594aa843ee32c714fa7d3330e83468b793fb852188e2510471eb11213cbf57fe() + { + $this->assertTrue(true); + fn() => ( eval($test)); + } + function test5beadfbf81d5d8a8039c6ffb4bedc45878552488b8a8e7c4160280002c7165b7() + { + $this->assertTrue(true); + fn() => (isset( $test::$test)); + } + function test5d7baac9390057b1ee92698a3e1fc861f353bf2118f7df01c8bbe4e9af0cbf1e() + { + $this->assertTrue(true); + fn() => ($test ** $test)(); + } + function test5e8fae03e137b25998ff413f06f3978861c00c14777bc6e8b02e88fc566599ca() + { + $this->assertTrue(true); + fn() => (-$test)(); + } + function test603d4bfa3daa9d913d2e8db53ae80a92838a6bcdca574282a47128797126907d() + { + $this->assertTrue(true); + fn() => (__DIR__)(); + } + function test66dc2928e2c4a329b78440a4b92d27452797be32ce5f3ec22606d1b9c00a0ee1() + { + $this->assertTrue(true); + fn() => ((bool) $test)(); + } + function test6704f4a7fbbf22c0e6210dd9a1c83eb6450adf5cb73ca0a9aa784c1c078fef55() + { + $this->assertTrue(true); + fn() => ( self); + } + function test69cb40d1f14f2777446bd623fcd9ff1d5bc1eec84f80b0707bab2b12db0d2c87() + { + $this->assertTrue(true); + fn() => ($test < $test)(); + } + function test6a804efbc4631aca052e48115102b2fd5439c4d2cbc3bc8a187dc27fb43b5777() + { + $this->assertTrue(true); + fn() => ($test << $test)(); + } + function test6b38e212947ef97bc7a8e6001163f717b6da465a852edf7042e251ee742de5a1() + { + $this->assertTrue(true); + fn() => ( $test->{$test}()); + } + function test71ff287caf109254c13af1059614e1462fbc5f297337124cf6084d3d87662ca2() + { + $this->assertTrue(true); + fn() => ((double) $test)(); + } + function test767cd8f1a877c6ecca50e4147a0cf568cc316203c808cdc266a84c8fe6c9312a() + { + $this->assertTrue(true); + fn() => (++$test)(); + } + function test7bbc8dc576d1c82653c7759f8d9f3655265d01200af2912502ea9baad78e5874() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test)(); + } + function test7dd1dadcc7c79826cbf1c1aeba0771826f6ec3de109c77a442832bafbe2200a8() + { + $this->assertTrue(true); + fn() => ( match ($test) { + }); + } + function test85beb8004b595bdb3aa870858d2ba0874eb66b5236bc53b245b12834a74b6a4a() + { + $this->assertTrue(true); + fn() => (isset( $test[$test])); + } + function test86266d0653f065aa79e7ae41db78675ef634538c0aaddc912ac924aca9613e41() + { + $this->assertTrue(true); + fn() => ( $test[$test]); + } + function test91dd8e994888f126518ff5cf5153fafbb7667c7a2b307526d2b720872648f6a6() + { + $this->assertTrue(true); + fn() => ((object) $test)(); + } + function test93ac91d205febf1c38cc1751f8aa2ac5e7b28c661290d51215a77f1f98e76557() + { + $this->assertTrue(true); + fn() => ($test ??= $test)(); + } + function test9492575df633a5fece1c651af796fa602888188ab713e51f31c5b2f91ad0b469() + { + $this->assertTrue(true); + fn() => (print $test)(); + } + function test974d865a316d40e9ef74b447037ebb0b9eca4a07da96cd264d8607134da6461d() + { + $this->assertTrue(true); + fn() => ((yield $test => $test))(); + } + function test981d5df66f254152d229bbef58883b147fcd0fbf32ee98d92134f2ce5da14dcb() + { + $this->assertTrue(true); + fn() => ($test != $test)(); + } + function test99fdfe285b2d6470391233e514f11ecc0562ada8de1362e7ccd33f72acacf307() + { + $this->assertTrue(true); + fn() => ($test -= $test)(); + } + function test9b1b44a42bae789b87a3956193d00b928e1703fd0424bd8460976203bc46d11e() + { + $this->assertTrue(true); + fn() => ( function () { + }); + } + function test9d4a1d31392580ed46fabb72e565690a2125ab0597c1680c01a43972dfb73d69() + { + $this->assertTrue(true); + fn() => (__METHOD__)(); + } + function test9de47c31ecc607d369b41f66871ddfb620bc04035594c0c78ecba54cf65cb59a() + { + $this->assertTrue(true); + fn() => ($test |= $test)(); + } + function test9f97804bcd3fd9079ee5d8d09c6815d346904357d1170a57c1a7a17be4be60a2() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__)(); + } + function testa28321572db770b228629a54dbacdc0834b3e5d0b6c74654f3b2ba1e303b90c2() + { + $this->assertTrue(true); + fn() => ($test == $test)(); + } + function testa6410c1b5c172fe6d2e33832c9a78dbeba850bfc7815a2792aae712dc79d0d91() + { + $this->assertTrue(true); + fn() => ($test >>= $test)(); + } + function testa7afeb77ab26997b647bf18d0d5be1790290b01fa08d2d0a015113f117677f93() + { + $this->assertTrue(true); + fn() => ((string) $test)(); + } + function testaf83006dd0ef98aeb92d63251b5c3c3690077fe1c211ceb8cb5967a72de80e30() + { + $this->assertTrue(true); + fn() => (0.0)(); + } + function testb0d097f8d61de987cd7cddbe920aa621c345f2952c1931cd9e3bf555de046d61() + { + $this->assertTrue(true); + fn() => ($test && $test)(); + } + function testb0d793e3872df81a4dcdb31a6205140feff7eb9bd39cc848275577896d9b01f2() + { + $this->assertTrue(true); + fn() => (__TRAIT__)(); + } + function testb326c538ede4aff1856e7edec1747c0fa7a71e5a9808cfa4d823813b061f3829() + { + $this->assertTrue(true); + fn() => ( !$test); + } + function testb6ad5fd4752d3efaaccd5b8d6fa6464bfd83d3a8f5e197258e0e2638e023ec1d() + { + $this->assertTrue(true); + fn() => ($test /= $test)(); + } + function testb9051447bf8f30a290df2bd8f96ba7362630d09ae04b4c3edc3b38bad0046f59() + { + $this->assertTrue(true); + fn() => ((array) $test)(); + } + function testbd5e45126bdcdcb0e9c9e8011e236101d7d211c74747935bffbf3e30389e852e() + { + $this->assertTrue(true); + fn() => ($test <<= $test)(); + } + function testbd5f860d602d547c95616f99ae66a7965e846e5548085be5780ed1f645053cff() + { + $this->assertTrue(true); + fn() => ($test * $test)(); + } + function testc0926872bc490a9fcc9699a0a42c69fe30ce2f55797a8f67526c1f71747bec45() + { + $this->assertTrue(true); + fn() => ('test')(); + } + function testc22dea0b19269eb948101d4ce866b4296dfa70b7de917ffc1bfef8d878367fef() + { + $this->assertTrue(true); + fn() => ( $test = $test); + } + function testc2df55b7a30afd4684bfb7d55312a85c0267dedf22bbcdcb4e9c72a3b64b9167() + { + $this->assertTrue(true); + fn() => ( @$test); + } + function testc3f691d8f6a23dd28ec6fc6e975e648aad8aa0f3c3eceacce32b1a024a9abab7() + { + $this->assertTrue(true); + fn() => ($test >> $test)(); + } + function testc6a2338d641b8cb9f30be3b6407a6bff4c66eff3f20181110e1898cefaa4a7b7() + { + $this->assertTrue(true); + fn() => $test::$test()(); + } + function testc89b576f741d0d3edbd0ea022f809443fd67d3bac9ac45e80ade8ad52bb915df() + { + $this->assertTrue(true); + fn() => ($test %= $test)(); + } + function testcb5648fd2fba469d5313b92713751cd07d13696e3ae5fd99e848bb04165d348f() + { + $this->assertTrue(true); + fn() => ( isset($test)); + } + function testcb838123a58caeb7a4f334abf1cd7adc72a17c71051cb2a8d1fc8e7bc9f43111() + { + $this->assertTrue(true); + fn() => (``)(); + } + function testd0b954c0c22f801880cab0e007ea0e30fd8fe521ed7e69b0a1f0053361e3fd54() + { + $this->assertTrue(true); + fn() => ($test and $test)(); + } + function testd9d1ab8a8c7e1e8cbd13e3abab70d2ba2d1ab9bbf320e3c2be1f0c67023c1c6e() + { + $this->assertTrue(true); + fn() => ${$test}(); + } + function testdb335128ca56371bae167a0d4e397e571989975d24f87de6bf22a7767dfb7423() + { + $this->assertTrue(true); + fn() => ($test->{$test})(); + } + function testdecf02240b9ff3932d1b78929a47cce12080c026fbb7d9480342a1704ca0dcf6() + { + $this->assertTrue(true); + fn() => ( $test()); + } + function testdf324b57141881d4cd9158e200b7c5c3aca3ad39cb464ca716005ce07ca872b2() + { + $this->assertTrue(true); + fn() => (+$test)(); + } + function testdfb6745cd3f02038c90a7d722823acf4975d7898fd19e18cfa196648da9b7992() + { + $this->assertTrue(true); + fn() => ($test += $test)(); + } + function teste161fe126ac0b9c248e45fabcec475997891d8167837f66fc56de6b096ab306c() + { + $this->assertTrue(true); + fn() => ( []); + } + function teste43b9d38d6ab55f17fdec23681c10c28d1c5ad97e1d032a866de5a42b381aa1b() + { + $this->assertTrue(true); + fn() => ($test **= $test)(); + } + function teste5764497e30dfe4598970fa4674757f74055c248877c82c83a3c8a5990118103() + { + $this->assertTrue(true); + fn() => ($test / $test)(); + } + function testebdb30bd31f5e545a3ff58571e5853ec84b50e14d3b5a9c19eafa913f05aceb9() + { + $this->assertTrue(true); + fn() => (throw $test)(); + } + function testee5942b470a1326defbf5786beca131b2ef4943487a8c2cbd3446d3be7b28417() + { + $this->assertTrue(true); + fn() => ( $test); + } + function testf531e3e19077adc647b3a312819b5037531e14012c74b715e6358d5bde147c12() + { + $this->assertTrue(true); + fn() => (isset( $test?->{$test})); + } + function testf77e82701d0ba78f6b4a465b6b1ae3e12be2aa51711451efbf3492377f86bfd7() + { + $this->assertTrue(true); + fn() => (isset( $test)); + } + function testf7a443826d1054f3fdb4e00b17ba6c4aafbd5be4e8443dd3e43b14828a91a87f() + { + $this->assertTrue(true); + fn() => ($test or $test)(); + } + function testf87ead3df775f83225f92d0f6b9e0890ed46616d92b47eac5dedd8a274a9e4c7() + { + $this->assertTrue(true); + fn() => ($test::${$test})(); + } + function testf9301104a937957d8eb818c128196e427063c22ea766adba7ee4bb5efe101ba2() + { + $this->assertTrue(true); + fn() => ($test || $test)(); + } + function testfa0f5f210976046e255c5acec98fd23823bc168af9af77d1621e39eadb6a9cb3() + { + $this->assertTrue(true); + fn() => (0)(); + } + function testfaac818b3920bb4a1fc5921e8c40807e7409c197854fe748920ec412b55e7a0b() + { + $this->assertTrue(true); + fn() => ($test ?? $test)(); + } + function testfd0b95170eb45fc8ff9cbc6ab23ab44cc4e1dce50bc52168d67f8b37f28375dc() + { + $this->assertTrue(true); + fn() => ( ~$test); + } + function testfe66a14764617a6dbd2270b236ff7adf027736e307f66a89e23d708fe1624065() + { + $this->assertTrue(true); + fn() => ($test | $test)(); + } + function testff64d4250373a81950b98e61ae5482e77c81619cee363a4cd98a5d77547dac36() + { + $this->assertTrue(true); + fn() => ($test *= $test)(); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php b/testsGenerated/Target/Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php new file mode 100644 index 000000000..cdcc483cb --- /dev/null +++ b/testsGenerated/Target/Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionc2a2fde382a2d51c89e151d7776c18d7c2a483d77e47da1e7d5de0e7dff6dbb2Test extends TestCase +{ + function test0b579db32cf32ceec39abd803a6139750666e7a4fe1d34e773c4302c2442db95() + { + $this->assertTrue(true); + fn() => (@($test > $test)); + } + function test0dc89dfa05884399117c826fe8a1ae0f4d4f107082b2f83f6a23731d523a7280() + { + $this->assertTrue(true); + fn() => (eval($test = $test)); + } + function test10f497f17d32ea7c54e6ec5346c1ea1e25a502d79cc11d7a44576b23880b18f0() + { + $this->assertTrue(true); + fn() => (eval(!$test)); + } + function test12bc2fd3145352a32d3d2c3f63e3a5807d8e6d0d201098562c52882800e89aa1() + { + $this->assertTrue(true); + fn() => (@throw $test); + } + function test147ff84504efcfb73a9f3c412765397837b2493436650081663ad6a9d74b419b() + { + $this->assertTrue(true); + fn() => (@$test?->{$test}()); + } + function test15530807c1859ca3fcb2bc193555cc5b6fd36e41203b1cb6d8053cf44bae8938() + { + $this->assertTrue(true); + fn() => (@($test ?? $test)); + } + function test158bb293536b2e8d22e5c5b06cde2c2915ee9d32d50fea024b93a4506b3e3415() + { + $this->assertTrue(true); + fn() => (@($test *= $test)); + } + function test1617ced7526c890adf3d3049f6ea5350911482fdd078f138a5b129edb499eab3() + { + $this->assertTrue(true); + fn() => (eval($test[$test])); + } + function test17f8c8401fdfde391afe2e76060d8b93aa0ffd7fe41ec2b069f6159b2ce8c9c2() + { + $this->assertTrue(true); + fn() => (eval(function () { + })); + } + function test18da078b471e69d5f737d05b96db5a12a7ac36210afcf1d8680a814f53793c3b() + { + $this->assertTrue(true); + fn() => (@($test >= $test)); + } + function test18ff69e3a4f6ce6fe27976260f32744f83382c68ffa0d1f3843ea6d312e81ece() + { + $this->assertTrue(true); + fn() => (eval(new $test())); + } + function test194981d48612eed8cbed208646502c0835ecf15eaf698d5157d04acec39ed8a4() + { + $this->assertTrue(true); + fn() => (@($test ??= $test)); + } + function test19ac09d80e031a8616b904e54f1b7bb80bac6309df3b07e19ae5e548cf73c833() + { + $this->assertTrue(true); + fn() => (@($test === $test)); + } + function test1e37b5c28d6a3860dcbc000dbcdfb87eac3286f3c861a17f605c5c2257719393() + { + $this->assertTrue(true); + fn() => (@-$test); + } + function test231ce5cab5d45bf818955307c155aca7b55b75864cb0272547b530f9520feaf2() + { + $this->assertTrue(true); + fn() => (@$test++); + } + function test237b96f564a3daeeb604e30a72938a07b6c334dc0b747ad63503e1e555919664() + { + $this->assertTrue(true); + fn() => (@``); + } + function test23a96f915bf46ad793e101ca169e722d46d27326b97b04539a7e9fd57476a8be() + { + $this->assertTrue(true); + fn() => (@($test or $test)); + } + function test260f1e88981cd02f752bbe3e9a06af275332cdb15fe186dff3c78eada88d1bb6() + { + $this->assertTrue(true); + fn() => (@($test / $test)); + } + function test2b950a435f60c5b82746f5d790d5c320a7056bbe6dd22928aebb716d78b93bb7() + { + $this->assertTrue(true); + fn() => (@($test ? $test : $test)); + } + function test2c0e57c109c7198d2e29e7f76d22b77a996665a531cd09d74598d1b6f5041258() + { + $this->assertTrue(true); + fn() => (@($test * $test)); + } + function test3364858c98c4bed3ffc01ea62f161222d279b39288fa64d186aba53ddb651406() + { + $this->assertTrue(true); + fn() => (@$test::${$test}); + } + function test37599821b2444802c35c0888a99c50e0f45630296e8baf9470fae7bd7f86dcd9() + { + $this->assertTrue(true); + fn() => (eval($test?->{$test})); + } + function test39be6689062e8bf110efde77605f6fb514a664ea7263e2c7f003bfebdb6ffa84() + { + $this->assertTrue(true); + fn() => (@__METHOD__); + } + function test3b9dd7c068859bc74b29e0ab1d6ef948c1919f0c05608543dbab823ad1b8faac() + { + $this->assertTrue(true); + fn() => (@'test'); + } + function test3bc13951ab5878d5a0c9c29b5dd3c4304e50cdccc7ec5b6ed013c1970235273f() + { + $this->assertTrue(true); + fn() => (eval($test--)); + } + function test3bc99a8719c3a6a003785f4462221bb8adc0fd3d3be30d667baf4a4810eb2126() + { + $this->assertTrue(true); + fn() => (@($test <<= $test)); + } + function test445dd750a3bfd0bfea30987a6bb27aaee6be34434395d876f4183fef92713a95() + { + $this->assertTrue(true); + fn() => (@($test & $test)); + } + function test44b365887e9e02c99d3983e9d8e907cfda372e6f3f8c96f9c6cd090d5e39914c() + { + $this->assertTrue(true); + fn() => (eval($test =& $test)); + } + function test457e21532d287859009383549a2a39e21d83862737588ba40b99fbfd448e538e() + { + $this->assertTrue(true); + fn() => (eval(empty($test))); + } + function test47110b7d381457c777fde2b1751d3aacb0e714c4670b67ce20ec7fe535bd9cd2() + { + $this->assertTrue(true); + fn() => (@($test <= $test)); + } + function test48bf61bc5235e3b188a01dc271c9c5f33a60867db5fd71897708799b78b41d81() + { + $this->assertTrue(true); + fn() => (@($test -= $test)); + } + function test4a941d2106621f75b55716d748245e7946bf671b1f71cf940ba231d921729b94() + { + $this->assertTrue(true); + fn() => (@($test /= $test)); + } + function test4abf02e88350184e66c8f123769de6c917dd6e911f0b1f6be96aab5dbfbc30d0() + { + $this->assertTrue(true); + fn() => (eval(clone $test)); + } + function test4d15beaf4fbe3d36887981b4f0ca023b0484132ff2b972e435b3e38422661f28() + { + $this->assertTrue(true); + fn() => (eval($test::$test)); + } + function test503df2884376fd126931df320e672d5c0ba96c18715dcd5de022385f287a9a12() + { + $this->assertTrue(true); + fn() => (@($test < $test)); + } + function test53acfa29aced10a7f02abc80c4a53b9111a9a9753d8a7d39309fe6001177fe13() + { + $this->assertTrue(true); + fn() => (@$test?->{$test}); + } + function test594aa843ee32c714fa7d3330e83468b793fb852188e2510471eb11213cbf57fe() + { + $this->assertTrue(true); + fn() => (eval($test)); + } + function test5a6b04f8e7edaeba8b839b1ff00cb7e5332cf38af609c79ec8dcaccc7ef1d53e() + { + $this->assertTrue(true); + fn() => (@(array) $test); + } + function test5a75cf6b01149e9d828f7dcf36b6fec6f414b3f771f519db7c1d9e9a92e3e626() + { + $this->assertTrue(true); + fn() => (@(object) $test); + } + function test5c513b8085151b3e09c637db5ef47bd84f8d9cf41736426f567dcf0b3cdd5cd0() + { + $this->assertTrue(true); + fn() => (@$test->{$test}); + } + function test624df3f9b9a514a472ea9365a901cc1cf266eefc01da0547c954fc0dd20e2458() + { + $this->assertTrue(true); + fn() => (eval(@$test)); + } + function test66fc6193715771f4542b279b697a57480788ab4955bd7a808ab80b59e193bdbd() + { + $this->assertTrue(true); + fn() => (@($test .= $test)); + } + function test67bd4951574ba6e724f0571058362f9a08b47b0e63b44b4aca47c6fdeaeb0b9f() + { + $this->assertTrue(true); + fn() => (eval(~$test)); + } + function test68c58e55227dec0506a320e86067758e021aa631ff34563fe2d2bb459ea5e714() + { + $this->assertTrue(true); + fn() => (@__FUNCTION__); + } + function test6ad8a8552a67f9c18d485e5154888ff83b71aed606f06ff12439405311d06d28() + { + $this->assertTrue(true); + fn() => (eval( $test)); + } + function test6af716feba799cebb16f02442baaa59fea8af02785917ef6cb7c89d7bcf5f713() + { + $this->assertTrue(true); + fn() => (@($test || $test)); + } + function test6bf0cbb48574d52be8ea92f81b7df493d4807a8a982bd1e4fb6871c338d297c7() + { + $this->assertTrue(true); + fn() => (@__LINE__); + } + function test7135fa332bdd683785c7f901b783809caea911bc332d87504378bac5dd4c3260() + { + $this->assertTrue(true); + fn() => (@($test - $test)); + } + function test71441b2402dd0539a0c4a7b7c6d881bbdc8275e35d7eb583330bf67c3c6fd8a0() + { + $this->assertTrue(true); + fn() => (@($test | $test)); + } + function test7329913df9043933a317195b685eeef82ca44f611d262ff4549a3a5b0747658d() + { + $this->assertTrue(true); + fn() => (@$test--); + } + function test74d0b2b34cfe5a572593aca7b4f2e66280d187fe0d89085f4c53f92a6f1a51d6() + { + $this->assertTrue(true); + fn() => (eval(self)); + } + function test7539e32c2248fdc7a3eef84b86f83ebeef44f8c141ae6c5148b4e575e81e651c() + { + $this->assertTrue(true); + fn() => (@($test ^ $test)); + } + function test7810b2508ef40add346f4eef456516dd5efb58c83e31f205c7b7b8ff79eb5bbe() + { + $this->assertTrue(true); + fn() => (@--$test); + } + function test7a5d104b689fd369184c1d4e9e69655e8c27dc4482857a91904e4fcfb53b2e5c() + { + $this->assertTrue(true); + fn() => (@($test and $test)); + } + function test7ba4f1f5216e57a94950da0434f73ec46303e3f183ed5be8da4b140260f76bfa() + { + $this->assertTrue(true); + fn() => (@($test && $test)); + } + function test7d028cf2637d6f3db7a81efbe71a736ba9ed9d5f4c7ddb01ec2692aa66c59739() + { + $this->assertTrue(true); + fn() => (@($test |= $test)); + } + function test7d213212faa456cce25ce444cf9b189d680f545a0de626529ee2cc0f1c859708() + { + $this->assertTrue(true); + fn() => (@($test <=> $test)); + } + function test811ae870a14224e1b038ebb372f3ea29392b2d60e0ed60db6c54c777261f4cd2() + { + $this->assertTrue(true); + fn() => (@($test >> $test)); + } + function test870e60f2e39cb379ed28a07231481c6759fe97470f34e6b2c74d9a53af7a6b0e() + { + $this->assertTrue(true); + fn() => (eval(isset($test))); + } + function test8ab0bf903570974bc3f758e2f2cffbd31f23df935d20d9fbda8a6f155808ffdf() + { + $this->assertTrue(true); + fn() => (eval([])); + } + function test8b30b81e30b7cfd366b7786db3bceeb41b8e765c0fd0066b026b867b116c9b32() + { + $this->assertTrue(true); + fn() => (@($test ^= $test)); + } + function test916a6c55190125ce22fd0d18895cd3766cdc76ec91dcd8063248d7a88efdb0ca() + { + $this->assertTrue(true); + fn() => (eval(match ($test) { + })); + } + function test92053e03b7f66a9fac1187766248791f46ec4a5479f5c41a58251bb5486985cd() + { + $this->assertTrue(true); + fn() => (@($test %= $test)); + } + function test965673d4886086b4a6c90548899d99150b8917b8512eb254bec1563837ca3491() + { + $this->assertTrue(true); + fn() => (@(bool) $test); + } + function test99d5c7f16d1196dbc0acb45c1c460c2f0fff3685850c4a301440843caa90b568() + { + $this->assertTrue(true); + fn() => (@($test &= $test)); + } + function testa54eb597acfd9a8b499c020738caa60706dbabd2ce468e00d4fb4634aca0d7d8() + { + $this->assertTrue(true); + fn() => (@($test . $test)); + } + function testa82394698852a598cf69137862e12dcdd3046971570e97605d7bcad6ad15fcb1() + { + $this->assertTrue(true); + fn() => (@(string) $test); + } + function testaa368e20a145e005f982388bde0669b2b24a12d7b0886cc3257cdf04a8f7f00d() + { + $this->assertTrue(true); + fn() => (@($test << $test)); + } + function testada41b8030d8b72848b60b6c1d58398abf5a46a0581d95af3c6bbe3a4871d328() + { + $this->assertTrue(true); + fn() => (@++$test); + } + function testb03399671d9d813f6b8811b26df10ca8ef19a553f93593d99b348fdf49af2384() + { + $this->assertTrue(true); + fn() => (@($test += $test)); + } + function testb4272e23de36c3644b7e3814233103e4259b7763005163cc5fbc2a255ae96a1d() + { + $this->assertTrue(true); + fn() => (@(yield from $test)); + } + function testb4bd1e831baab577ced5cdff6f00a7f90a7254b54af7ec950a1c1c6250c386a8() + { + $this->assertTrue(true); + fn() => (eval($test?->{$test}())); + } + function testb76de598c6bc31aae3a2034f55e90b6b2113ab61982c88c64ae88f81a6e5da2c() + { + $this->assertTrue(true); + fn() => (eval($test instanceof $test)); + } + function testb9a7992879423998cbd22f544103b3f5d8e316427750b11dd2f48835dd8f5372() + { + $this->assertTrue(true); + fn() => (@0.0); + } + function testbb2e2a8842b6509ef4c715d76aedabda568c026cdfb57fa110c9f9f853811a5c() + { + $this->assertTrue(true); + fn() => (@"{$test}"); + } + function testbd52cd1884d40c2216b25d6b3d8befd4024bdf4e820d26c2143714c55a9b7869() + { + $this->assertTrue(true); + fn() => (@__FILE__); + } + function testc3c9ab500ff687f822e899d7a8eb5a1de1e99d9b86029b0c716797f30d2b85e4() + { + $this->assertTrue(true); + fn() => (@($test xor $test)); + } + function testc47897ed08b195846f56198aaf26bc27ace8a69fc0ed059c5d6e97a284645709() + { + $this->assertTrue(true); + fn() => (@__NAMESPACE__); + } + function testc5d475186337ea20a8685dd516d3c7c23337d23922536a956bb61f09fc7ff649() + { + $this->assertTrue(true); + fn() => (@$test ** $test); + } + function testc67dc57f0b530aa0227a4934083d7565f94fdb041d14d3f565993ed16e8242ce() + { + $this->assertTrue(true); + fn() => (eval($test->{$test}())); + } + function testc7429ffe1c54f36203607816060778be61bb5b45515d47a5c9ab0e7a008450c6() + { + $this->assertTrue(true); + fn() => (@${$test}); + } + function testc87713de5223639c8b047357a44ee2261a806db14cf508153d696f4484844020() + { + $this->assertTrue(true); + fn() => (@$test::$test()); + } + function testd15b15f1a142f6ac9de80228461fb975ae3b0d834c5e013fb3d1ba19e968e4b1() + { + $this->assertTrue(true); + fn() => (@($test **= $test)); + } + function testd535d9d36ea3edcbd2567a8dbe2c10efc365f4f4c44dfbec31fcf53a8f15a1ab() + { + $this->assertTrue(true); + fn() => (@($test == $test)); + } + function testdfdfb89c689a95b0c36bf0c29ffdb96931223e14c780e05235c7009f28f062cc() + { + $this->assertTrue(true); + fn() => (@(int) $test); + } + function teste044404911304ef8426bd7b540041c56fd84ff7d0d8bcc16c7261da99b7a99d4() + { + $this->assertTrue(true); + fn() => (@($test % $test)); + } + function teste08e14f7dce8e22e2e29888b813cc6f318ac83a6efd7ee293b80c4c196e7d72c() + { + $this->assertTrue(true); + fn() => (@($test !== $test)); + } + function teste13794b24f98d5aaed8268d760b7ac521db76e9c9d49571b500e9bdf4a5c96ec() + { + $this->assertTrue(true); + fn() => (eval($test())); + } + function teste2f318d65eb0919ae37e5802234d0bea63c516567f12da11ebb78d0df29d2bee() + { + $this->assertTrue(true); + fn() => (@(double) $test); + } + function teste37ae8f6b6b477aac7c162b98c72f20e27e903cb2b587dc98577b3fa44719867() + { + $this->assertTrue(true); + fn() => (@(yield $test => $test)); + } + function teste6b3f6b8da0f3925800fc2a9e8879fcfb0a157a882d8a0928fbbe104b642432f() + { + $this->assertTrue(true); + fn() => (@__DIR__); + } + function testecdb6098c4454b6fa91e20ed3a7baaebc46dc93e5578e612f3c314d179037ea6() + { + $this->assertTrue(true); + fn() => (@($test != $test)); + } + function testefe44bed8f9ecd21c0bada3fd82f55942a551ab79aab824d4214d6414e4f9145() + { + $this->assertTrue(true); + fn() => (@+$test); + } + function testf2d73bdc3840382d6dd5043a48714f582c7a015c9105ffefc35dcac06f99b100() + { + $this->assertTrue(true); + fn() => (@__CLASS__); + } + function testf4f938e6041ca296f22009f594b179432a63a146d9ae5fb3df57a66778723769() + { + $this->assertTrue(true); + fn() => (@__TRAIT__); + } + function testf550829b5cc030020514b4cf213426a41970a730fabaecd526f9b4e90b6a974b() + { + $this->assertTrue(true); + fn() => (eval(eval($test))); + } + function testf5f771db0ebd85c0bae624d8c3df06072391267d00016ea87815ce09515bea17() + { + $this->assertTrue(true); + fn() => (@($test + $test)); + } + function testf719fe777b4bf7c31e1cc06a4619eda5700ce25b30ec95b870eca8a8958a7fda() + { + $this->assertTrue(true); + fn() => (@0); + } + function testfa216f3842ac39898d19cd00469fe7f7e55b950c3c07af70110d6375b2cc5fe6() + { + $this->assertTrue(true); + fn() => (@(print $test)); + } + function testfecd79e62aa291aeb085eddaace48e309180851c76cca4732c585734b40fc656() + { + $this->assertTrue(true); + fn() => (@($test >>= $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test.php b/testsGenerated/Target/Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test.php new file mode 100644 index 000000000..73e70eeeb --- /dev/null +++ b/testsGenerated/Target/Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionc6784136c108633685a065b3d8e9afd94781e0e98a22290190a67843c3b75f90Test extends TestCase +{ + function test023441d32ac5bd22322de0604a6cbf2e311d1226ffb9b841793b57ad92b01baf() + { + $this->assertTrue(true); + fn() => ($test - $test % $test); + } + function test03ba43bf22122bf454c67d7734f2c80faf571f0e0d7e5640dba72378cd4c0696() + { + $this->assertTrue(true); + fn() => ($test - []); + } + function test04272f0cdb088fb06befd66a389129a40c27d7e027985cba469fbb192c045727() + { + $this->assertTrue(true); + fn() => ($test - $test::$test()); + } + function test072ba520619caef3b39342ed1bc3182318d1f0416c327bfd828f1c1ed76cd479() + { + $this->assertTrue(true); + fn() => ($test - ($test ?? $test)); + } + function test087096653086d7f62f2f800d829ffa8a34fd1bd9b6f6d0286e872887dca75289() + { + $this->assertTrue(true); + fn() => ((array) $test - $test); + } + function test0cd8d3d717ed7dd7dbb6e94e98632527c3b38e091ead6b8997d533c68f7a3f1d() + { + $this->assertTrue(true); + fn() => ($test - ($test != $test)); + } + function test13af67d352950f7e3bc073c27cffa99ecb8b49daa4dc1d39db4f728f78987dca() + { + $this->assertTrue(true); + fn() => ($test - $test?->{$test}()); + } + function test143fec4489b5f13636c3c6fceb00f5c1f11b1ba87e0a35cd5ccaaf02fc30eb38() + { + $this->assertTrue(true); + fn() => (($test << $test) - $test); + } + function test166ba2130e23f28b3af705945c7284fb3e81a2125e28d6cb99b0efa21c9f43e7() + { + $this->assertTrue(true); + fn() => ($test - ($test =& $test)); + } + function test186e23d886b0adc599fa6770a6e1c4e2a9cdf658fc4618c25842b12455796673() + { + $this->assertTrue(true); + fn() => ($test - ($test || $test)); + } + function test1dbcb6bdaf4fce05b44f7aff47e76884a69ead48abf00012e54bbe3c18e898cd() + { + $this->assertTrue(true); + fn() => ($test - ($test >>= $test)); + } + function test246412247a49801b05052e4cd2d1c9f2819fdc3fcbe14f479a201599ccd4cff7() + { + $this->assertTrue(true); + fn() => (__METHOD__ - $test); + } + function test2916f935c1a22f9fccccee9783edd0de5530d5683baa2eaaa25158dc21cd3189() + { + $this->assertTrue(true); + fn() => ($test - ($test /= $test)); + } + function test2a8bbf48d5aedf27209461379ff522b336aa7f3f18a6290b4590953b3427c098() + { + $this->assertTrue(true); + fn() => ($test - ($test |= $test)); + } + function test2b6cb92198b2e644553ea2229437ac51f471acf921d2d176b4a34d0b83304501() + { + $this->assertTrue(true); + fn() => ($test - $test::${$test}); + } + function test2dfbb49c3615be66a1792ca9f03addd74d6453b6df30b384d92d98704ae0aecd() + { + $this->assertTrue(true); + fn() => ($test - clone $test); + } + function test2e0e75c9c8fc89eba401c4ff811b89a116395b5032f5504549b8e460e0e021cb() + { + $this->assertTrue(true); + fn() => ($test - ($test & $test)); + } + function test399b34f39cf85a686cd00777cf8b114a1bce963f789b541e0c7ef8c28f7fb4ea() + { + $this->assertTrue(true); + fn() => ($test - $test[$test]); + } + function test3c0208e6fb0ab04c111e01511815020a2b3df4305c7a35a0d10d7a2d88cd4fb1() + { + $this->assertTrue(true); + fn() => ($test - ($test ? $test : $test)); + } + function test3e619b8451fcf17a99cbae9f776a7869a7dae664a251641d21d9cdc97395f76b() + { + $this->assertTrue(true); + fn() => ($test - (print $test)); + } + function test40977706c57ac4894d6c8b8e42b2ddc9d8bf18326c8f6c5336b80b48af36a476() + { + $this->assertTrue(true); + fn() => (($test >> $test) - $test); + } + function test415acac5b230fbfc030c0ad0f8a557cc5c4051359015effd0946f461fea55dca() + { + $this->assertTrue(true); + fn() => ($test - ${$test}); + } + function test4487c43cc515ed481184cd9f8a44b87e3019b666701bfb31e1b7a630a76de29b() + { + $this->assertTrue(true); + fn() => (($test < $test) - $test); + } + function test452e939ebf364bdbbc3802925c007579bc68648e26fa3930d846fe19453c1aee() + { + $this->assertTrue(true); + fn() => ($test - ($test ??= $test)); + } + function test48ac81aa02f8ca4424b864134b116440cf336b3b1995e107e009098b2cd7c503() + { + $this->assertTrue(true); + fn() => ($test - ($test ^= $test)); + } + function test4bf31d495580af9d5bb22d011a48e3a3c3905600d7a21ef26dc829e9a0ba0adb() + { + $this->assertTrue(true); + fn() => ($test - ( $test)); + } + function test4ec664fa15a7e6f5c2630da90ca15ad07cd142925f5875eae5c5adde586fe368() + { + $this->assertTrue(true); + fn() => ($test - (yield from $test)); + } + function test4f60c78261b82647e3621435c2174c926048ca4c277d0b079da3c27a34cc0a9c() + { + $this->assertTrue(true); + fn() => ($test - ($test >> $test)); + } + function test517fc3a7ffc6ada45c4b1bbd9a8e8ca954dbdf88916c79a734d1a00794e5aa9d() + { + $this->assertTrue(true); + fn() => ($test - ($test xor $test)); + } + function test51838c45b1152061a8392d3c61537c01dd95099537acf309a9ab9cf03d2575a4() + { + $this->assertTrue(true); + fn() => (__CLASS__ - $test); + } + function test52b258e56a754687b4ff1e02031f259a346d1b778d2cb6bb614fc7a13cb2261b() + { + $this->assertTrue(true); + fn() => ($test - eval($test)); + } + function test5833caa25fb8398b406ac83e95db8f297347a83cfc5edb21dc087e66a4f0b70a() + { + $this->assertTrue(true); + fn() => ($test - ($test . $test)); + } + function test5c615ad5cc98a82ce7141dffb121112c60d653d08696c8afc7ae5a77a454f4c4() + { + $this->assertTrue(true); + fn() => ($test - ($test === $test)); + } + function test5d4656a392a7f2f1aa8cc99e518844636d5a24485c1329b348f9ad3947888eee() + { + $this->assertTrue(true); + fn() => ($test - $test::$test); + } + function test6e545516b111a123f11fbaaaa1b64cf22e6ecb7560bf3f2ad8016df103fb4848() + { + $this->assertTrue(true); + fn() => ($test - function () { + }); + } + function test70e1bd8616465fb2d54546892d39ed40e5cbc7e114c7a212baca8e970f07c805() + { + $this->assertTrue(true); + fn() => ($test - ($test -= $test)); + } + function test71185f739b7919e45fe8acf2f721a83c548398d795834b3d23214cf5aa239f08() + { + $this->assertTrue(true); + fn() => ($test - ($test %= $test)); + } + function test720f03a8e0051aa02dd0bd76f50d2490276760006afd64b140af5263e550eff0() + { + $this->assertTrue(true); + fn() => ("{$test}" - $test); + } + function test76862156689ee6dad5d91b845fe496116e6929c0d3f703c03390ba41b30b4b37() + { + $this->assertTrue(true); + fn() => ($test - ($test == $test)); + } + function test768efad800d5c6b9b383c1d8be58f8563e1500792b0e53aaf13e132076717a9d() + { + $this->assertTrue(true); + fn() => (($test <= $test) - $test); + } + function test77948d83bfde833f67a7c021cd76fa4569504a4f59f6b48aac010272e396da75() + { + $this->assertTrue(true); + fn() => ($test - ($test or $test)); + } + function test788d3a4d6efef9aca9d7e7127514a57d901cfc6e507dea8364f17c4f94cd7b59() + { + $this->assertTrue(true); + fn() => ($test - @$test); + } + function test7a1eae4cba12ea0000a72b24761e153816c38294e837d5eeeb696fbc378ca36e() + { + $this->assertTrue(true); + fn() => (($test <=> $test) - $test); + } + function test7a6300d00ea4c83906687ae332b09772892062248dbda719cdd445c7a36a7364() + { + $this->assertTrue(true); + fn() => ((bool) $test - $test); + } + function test7cb1f932ecf437ef98a28aa7f753ebbccbabf11fddbd15e1dc4eb88f13d534ef() + { + $this->assertTrue(true); + fn() => ($test - ($test += $test)); + } + function test7dcc616993acf4f1a51f6025d0054bfc2f36c302536cf1999efce5e6c4bd177e() + { + $this->assertTrue(true); + fn() => (__TRAIT__ - $test); + } + function test80f57f6ac488b546465e9ed8b920d1394bd9068ab15800584eb9da683e318387() + { + $this->assertTrue(true); + fn() => ($test - ($test << $test)); + } + function test81ba0c248fcc5463e67f718bda80c1ecf20387ca14589111da7ab2a7ab4c635f() + { + $this->assertTrue(true); + fn() => ($test - ($test > $test)); + } + function test82cfbf5ab80089a8dd60ff99ef728c430512fac4c7b8cf5319e2c02eb9bc2ec0() + { + $this->assertTrue(true); + fn() => ($test - ($test !== $test)); + } + function test847b3d753b43f25a0efb5f1a4688bcbb772a7da7895aae62b49092c2b973f4f6() + { + $this->assertTrue(true); + fn() => ($test - ($test - $test)); + } + function test8883770a7f31d4e8a18df7846c99001e7d1ee0a5d6d919925afce79c63166ed6() + { + $this->assertTrue(true); + fn() => ($test - $test instanceof $test); + } + function test89d4ca2637085aa885e1e2b0394b4ffed45e0bb84642522bcafd8737643dc4f5() + { + $this->assertTrue(true); + fn() => ($test - $test->{$test}); + } + function test8f735576252d0a6c65f10472d038faf771ee6f7e5e79da15a392dad3a45b8cb2() + { + $this->assertTrue(true); + fn() => ($test - ($test .= $test)); + } + function test9481c0ee39df4ba3350fa6463773149ac4e73ecddb07ccef5640dac114f0fe82() + { + $this->assertTrue(true); + fn() => ((int) $test - $test); + } + function test9539ba672fb7fbdc119f23c7bd237032c33aabc21a1bb851e119d8f54c776b68() + { + $this->assertTrue(true); + fn() => (__LINE__ - $test); + } + function test9a6fd06b0167853e00af9ea57bfecea85280e26613cea91a2646d15e9f91f500() + { + $this->assertTrue(true); + fn() => ($test - $test++); + } + function test9b526bfbbaf84853ea74b336484875789064a2e02abca877335e972ff894dac5() + { + $this->assertTrue(true); + fn() => ($test - $test()); + } + function test9e5dc8a9910ea5eed2d55a1078efe487ba15a1e7892e4ecbd1b9455c486eda15() + { + $this->assertTrue(true); + fn() => ($test - empty($test)); + } + function test9e811969dbb35ffea065198c602e78c8c7d1aa600b24e7c73f5fddd161d8e4e0() + { + $this->assertTrue(true); + fn() => ($test - ($test ^ $test)); + } + function testa01ee1809ff40bb39f3cf006998165f22c83b8faa6ffdc0909264f3d671077cc() + { + $this->assertTrue(true); + fn() => ($test - ($test | $test)); + } + function testa10d4a1ccc8175abe18961ea8c21823a23486e5b2be155a1810a58fda3d55f48() + { + $this->assertTrue(true); + fn() => ($test - $test->{$test}()); + } + function testa1a24576134d6b7e928c6b4d1b8c87b69b26c2119d2998a5812e229f49b7ddc5() + { + $this->assertTrue(true); + fn() => ($test - ($test < $test)); + } + function testa273a142b8922d0d6c08a89088586f26d1269cd5f23491fe0fa641922faf3024() + { + $this->assertTrue(true); + fn() => ($test - ~$test); + } + function testa421131a5963d7a4676aaf90c354f2a47cb36b139daf9315be7867be62b7fe50() + { + $this->assertTrue(true); + fn() => (0 - $test); + } + function testa4e9a06bb360700a5dd25b335ddfd3bd898347c4f626df758d52765112f467a3() + { + $this->assertTrue(true); + fn() => ($test - $test * $test); + } + function testa54d27e648262a619d739a335b991a5c7a9123b086c9f327a4763b3b3f9672ae() + { + $this->assertTrue(true); + fn() => ($test - ($test >= $test)); + } + function testa65cfc91c9b8a551cc566ef7bf55ceb043d2b209dfd2ba593e1b1950283fbdee() + { + $this->assertTrue(true); + fn() => ($test - !$test); + } + function testaa331d599ce7eb92a07cf51eba92554b2d036c52fc55a07361b762b8c985b6ee() + { + $this->assertTrue(true); + fn() => ($test - ($test <<= $test)); + } + function testaab49f7c1b18804ccb1474a67945e6697f3e18307939647894053273dccdc73a() + { + $this->assertTrue(true); + fn() => ($test - (yield $test => $test)); + } + function testaccaff0659ee4bb804f8fa0432faee1af83eab366f4e5e5cdf957f30eff6b16f() + { + $this->assertTrue(true); + fn() => ($test - ($test **= $test)); + } + function testae158a5c2a7176383a76665a4e45b0b9b8db662db9c656685e8178d2f5f2bcdd() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ - $test); + } + function testb1748b42e0b68bae35ab6ac71ea5db8132b5a168bd22e2a37d697b94245cdbd4() + { + $this->assertTrue(true); + fn() => ('test' - $test); + } + function testb774bdee3d90062388c27a1baeded20eb15e355513271d49d3b283cefdc50994() + { + $this->assertTrue(true); + fn() => ($test - ($test + $test)); + } + function testb775006760a2cf0cdc88745bf3f3ebfb6aaabbf03b68aa6844f172c31524bfe1() + { + $this->assertTrue(true); + fn() => ((object) $test - $test); + } + function testb86c050634718dc4b8daf22e15677ef9f5329c0c17c0359b5265b5b0157856b2() + { + $this->assertTrue(true); + fn() => ($test - ($test && $test)); + } + function testb8b82ebffa9d98613a76251d1e0ccd9e78df5b72f1b75294494b41bcaea49c4a() + { + $this->assertTrue(true); + fn() => ($test - $test--); + } + function testb9c7fc1ee4e881f32110d614b2b8249df4a654e4d15eaf3497e521bceb0a647c() + { + $this->assertTrue(true); + fn() => ($test - +$test); + } + function testba7f1217467433ebafa7eb9e30de143a7037f8d2ff52e0a0ee02585941b9d0aa() + { + $this->assertTrue(true); + fn() => ($test - ++$test); + } + function testbb19a998b877ee071c5d019c3c10ff6af2cec850857531dbc456912499c5371d() + { + $this->assertTrue(true); + fn() => ($test - $test ** $test); + } + function testbb8bc84d82d441cd850a8183fe8b9c7aed48aea5a178a685b48f0d6ff7bc3c71() + { + $this->assertTrue(true); + fn() => ($test - $test / $test); + } + function testbc1509a347ec084dd6ffb404882311cfcd9672a2399281402cafdb55a6453565() + { + $this->assertTrue(true); + fn() => ($test - --$test); + } + function testc7e5a337d769eabd62216d4af23dfe704b1dc6dab5f9d9c1527b43a35aad0630() + { + $this->assertTrue(true); + fn() => ($test - $test); + } + function testccbf10c96a6cbeec79e3134ef0196e2482fa08dbf1601bd12e22b0809d174d99() + { + $this->assertTrue(true); + fn() => (__DIR__ - $test); + } + function testcdf9c34b1933e47d642bc5056ce9718a3adea46179b4ec126cd641892c3426a5() + { + $this->assertTrue(true); + fn() => ($test - new $test()); + } + function testcdfbaa3a756b4b76b35152211eb1115e5e63520b7bdf04a88a38b9230cc03c03() + { + $this->assertTrue(true); + fn() => ($test - ($test and $test)); + } + function testcee0ae9cf393bc1649938fe69fcdbc1124c75a09975bed0223c78c8b127d9da0() + { + $this->assertTrue(true); + fn() => ($test - isset($test)); + } + function testd1326ea7f27fa80396d67c4743583d9296b073dc00f2125f4f6efe9d11176577() + { + $this->assertTrue(true); + fn() => ($test - $test?->{$test}); + } + function testdcf0489eb050449e991b077b53b7b93ed56ad29d8087415244a893612d865e72() + { + $this->assertTrue(true); + fn() => ($test - throw $test); + } + function teste39ad2eae0efaf82672b2daea2153bf9c10dd2220be2b4aaa9156a8efd6c8e6d() + { + $this->assertTrue(true); + fn() => ($test - ``); + } + function teste7af58e5ed4dfb38a98279b03b1f4a6a8ff9f0ae4885aeb47ecd4ba94b625d52() + { + $this->assertTrue(true); + fn() => ($test - -$test); + } + function tested265b49be0a775b3ce90b49dbfe5cad12a571ccfb877c71e25dc4f4701af92c() + { + $this->assertTrue(true); + fn() => ((string) $test - $test); + } + function testedb1aa8f511e96ea0bd1fb8e6ce53ca86c377d2e77e4936a580876c96ff27bd7() + { + $this->assertTrue(true); + fn() => ($test - self); + } + function testf0797834073af57f944819cb973334d9f8757585b37dcb046c06657acbd34fd8() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ - $test); + } + function testf11ea3d3bb3b9f254ee98c48a107995927809fbb9c7ddad20ba17d7d387ca090() + { + $this->assertTrue(true); + fn() => ($test - ($test &= $test)); + } + function testf15fd916e3fa61222ebe2db533e8c6044493dbd2eee0fddde4dd87affc056ce5() + { + $this->assertTrue(true); + fn() => (__FILE__ - $test); + } + function testf1e66b3a0c5f5e7f5700dfc02a68361b9436d73c67a25d23b5f43932d8b58dd8() + { + $this->assertTrue(true); + fn() => ((double) $test - $test); + } + function testf3c5108ad347da8d946a662884e0f26f467bdcbbf6c7c59c572aa6e607440add() + { + $this->assertTrue(true); + fn() => ($test - ($test *= $test)); + } + function testf63e5702c8c8c4faf79ddfac4e8d9636d04114514c3eab783d28c072435124db() + { + $this->assertTrue(true); + fn() => ($test - match ($test) { + }); + } + function testf7e677f18060e1f7891a1e77204a353193cf62edcf424c5ea0403fa2bd7a3c99() + { + $this->assertTrue(true); + fn() => ($test - ($test = $test)); + } + function testf8351aaa8ca779880d3df303e8ac6919732fd5b65fe0933339ac92d715c11d16() + { + $this->assertTrue(true); + fn() => (0.0 - $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test.php b/testsGenerated/Target/Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test.php new file mode 100644 index 000000000..a2f9fc5f6 --- /dev/null +++ b/testsGenerated/Target/Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionc78aab4c5515c3ca364f6cb5281570c53896b56f2d21a653099ac14c3d4b41f6Test extends TestCase +{ + function test01cbb1f0f10e96b8e843338ecbcc5bd73f4ce805d68c84e85d2d7237e1b151ef() + { + $this->assertTrue(true); + fn() => (($test >>= $test) ?? $test); + } + function test039af154b29790f84f6cacd8079527c3b8408784185d0ce6a0f180b25f90e132() + { + $this->assertTrue(true); + fn() => ((print $test) ?? $test); + } + function test0ac113646546fdc3d84266239d3bf006d83ea2dc4b5d2f3f66020778f4ffa7e9() + { + $this->assertTrue(true); + fn() => (($test *= $test) ?? $test); + } + function test10c6c4668c8a8547c458bc86978c7ed5906a39731bf0549712cd752ec90b78d3() + { + $this->assertTrue(true); + fn() => ($test++ ?? $test); + } + function test130f73d773b4c0c62aa4f28ed26ff82cb69d7b20287877eac6819ffc07ba7f1c() + { + $this->assertTrue(true); + fn() => (($test ?? $test) ?? $test); + } + function test1511c2b9356af38b9ff60ae95fc9542655c7b536023b38d3d0226c6ae8a1c35d() + { + $this->assertTrue(true); + fn() => ($test - $test ?? $test); + } + function test18891d59523610905ed7b666490d16b0f4f8a731918af4012557023c774a9bc4() + { + $this->assertTrue(true); + fn() => ($test::$test() ?? $test); + } + function test1a025c57bdea3a584f01e6f410fb1d2bc1212c5300b6741b8ed203f173072b0d() + { + $this->assertTrue(true); + fn() => ($test * $test ?? $test); + } + function test1bf4dc97be6d6388b25bbf9a7e350e4bccd9711a934d06a38c6522fd3d3bb881() + { + $this->assertTrue(true); + fn() => (($test /= $test) ?? $test); + } + function test1e6b061cf8146e49b6eba8aa0e30716839c1fd2a36bda7ae8a53545e1b8c0fbd() + { + $this->assertTrue(true); + fn() => ($test != $test ?? $test); + } + function test214468713380eace3e99b0bf9e1c5cb0ff6ef4c3c20173ed5fc1eecc3edc0e22() + { + $this->assertTrue(true); + fn() => (($test += $test) ?? $test); + } + function test2192843c667f1ff3d2707865f82571d6cc6647a3d8ef82f23c35dffb9bc6f17e() + { + $this->assertTrue(true); + fn() => (isset($test) ?? $test); + } + function test256b6962e9018c4cd07e5b538405c3bb8e6623694810826fa31385492694e6cc() + { + $this->assertTrue(true); + fn() => ($test <= $test ?? $test); + } + function test27b11a4777cd6710a516af147e302ff19069ae7f053d251e26b9910b837004b2() + { + $this->assertTrue(true); + fn() => ($test & $test ?? $test); + } + function test284f69819ab23f163e7c6b95dca3b0f5183176b6aae5631072b574984b2d5af4() + { + $this->assertTrue(true); + fn() => ($test ?? @$test); + } + function test2b606f8be235714641a9994f634011a5ca28235ca7cdc7bf472b5e5b97aee374() + { + $this->assertTrue(true); + fn() => ($test ?? eval($test)); + } + function test2d20b28b5531bf09529471f98e08637fe91306b866474956659c49f7ef88bf28() + { + $this->assertTrue(true); + fn() => ($test >> $test ?? $test); + } + function test3145ee1dea182e78f8b368a4adf4cff804ff648a8fbd5021bc5525c65c8c8b23() + { + $this->assertTrue(true); + fn() => (( $test) ?? $test); + } + function test32604ffad4aeb84fda5f4153ed8d223c720c29900941cf917e2e9e66de3c4cf5() + { + $this->assertTrue(true); + fn() => ((object) $test ?? $test); + } + function test3383855309dbd12b677d1e1cf95893bf3a547aae1ec6de39a60ca9f917383f16() + { + $this->assertTrue(true); + fn() => ($test ?? $test[$test]); + } + function test381bf9cd9f196fb3bb73f7aee68b0f9d355047a56d7b286cee8befb3195c47d4() + { + $this->assertTrue(true); + fn() => (($test and $test) ?? $test); + } + function test38317fff10c4f2625ba96531a34d8e79ecc8931d6a3ab00c7b4c75dadeef2b04() + { + $this->assertTrue(true); + fn() => ((int) $test ?? $test); + } + function test3f9e057e20ca6824325a42a9ce5d7886c3a37e01ea102cd142e89cbc289d372f() + { + $this->assertTrue(true); + fn() => ($test->{$test} ?? $test); + } + function test40f82681801157742d6374d53771ec490c9ba6326303a04ca13be33e0053c890() + { + $this->assertTrue(true); + fn() => ($test ^ $test ?? $test); + } + function test441873329a9e4b4de6548bb6b09bf1c82f8d3f9de604a30a70ccf378ecc27651() + { + $this->assertTrue(true); + fn() => ($test > $test ?? $test); + } + function test4872bafcaf39a04bb9299a2abd4f5c4cea74e06024bf3edc4b949a8ff1c33228() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() ?? $test); + } + function test4a26749f85ef940ad05d91a7ee5aa3c6ae870089457c2dd965d9263749762930() + { + $this->assertTrue(true); + fn() => ($test?->{$test} ?? $test); + } + function test4ad0349781b39b31dcd8291d29b46aa9bc080768fa64a971cd2108d75ac24420() + { + $this->assertTrue(true); + fn() => ($test << $test ?? $test); + } + function test4d038342c76f468a0cad30c1cfd0b4bfd9d17579d3aab26998267dd2ffde546c() + { + $this->assertTrue(true); + fn() => (--$test ?? $test); + } + function test52e6c71effd8e54a40701d31d56daa345ba3dbb552fdc74c594973e65fb754f0() + { + $this->assertTrue(true); + fn() => (__DIR__ ?? $test); + } + function test52f8f798757e918ac146172d088471279ed4892b388b713bdc64c3ad6b292b23() + { + $this->assertTrue(true); + fn() => ($test ?? ( $test)); + } + function test542ed5ccbfd52456770982dc0c0d857a0bb630d714609e8bed2e8332056033b2() + { + $this->assertTrue(true); + fn() => ($test ?? function () { + }); + } + function test551fee1fbfa31dae76bb2ed83dcc87e44f23992e3e0dfddc15fd5054dcab3ed3() + { + $this->assertTrue(true); + fn() => ($test ?? $test::$test); + } + function test5708e5f4c73b268526c48465f19bab76f08dbbb72c37bc86b4509e5f038cef91() + { + $this->assertTrue(true); + fn() => (($test -= $test) ?? $test); + } + function test572673f9907b438ba00c12419b035af953c58acbbb5e0c227d0f8ae68271a94b() + { + $this->assertTrue(true); + fn() => ($test-- ?? $test); + } + function test574536b853f5c6dd73b88dfb4326bf13f4914ae17a3a1638a92e11693dc1beb3() + { + $this->assertTrue(true); + fn() => ($test() ?? $test); + } + function test57fa82a0430a88c099ada27524325a36c6f428279029901ea951982ddd4e3ea3() + { + $this->assertTrue(true); + fn() => ((array) $test ?? $test); + } + function test59be06a2615f83a615e5fec223116687971de7c3822930cc29c1ee1ae314f51d() + { + $this->assertTrue(true); + fn() => ((yield from $test) ?? $test); + } + function test5cb1d1a98d01962248973da21cc80a0c155a477e26a4ce80cdb90f9cd0128a8a() + { + $this->assertTrue(true); + fn() => (match ($test) { + } ?? $test); + } + function test5d923a8bf144d4460e1561c89ed77b203e0f3b6fff60cab786b65d8a834011c5() + { + $this->assertTrue(true); + fn() => (($test **= $test) ?? $test); + } + function test5da9b043efe4ddf92beb4f253d6ee52f7982a174bd6da7e6ede68bb3887df771() + { + $this->assertTrue(true); + fn() => ($test && $test ?? $test); + } + function test5ef95d43721edb03b2d93e88cf7cc3d9382127ccf8e0df851d3c570876cbfdb3() + { + $this->assertTrue(true); + fn() => ($test ?? ($test = $test)); + } + function test6ced8c0e715098b73bf290f923acdb4956b62078e9d62afa6a53b7077d5c69f6() + { + $this->assertTrue(true); + fn() => (($test xor $test) ?? $test); + } + function test761e4c4f18dd9a936ea94418c8026bf21798b981d96a227ad86e50fe741b1f89() + { + $this->assertTrue(true); + fn() => (($test ??= $test) ?? $test); + } + function test7843409fd4a3c40f84687079833008bfa6c7f6be12b0e12c699e357922d1a0bc() + { + $this->assertTrue(true); + fn() => ($test + $test ?? $test); + } + function test797e570ee73fb164d0e72ba85af9c10b402c4661b24752c7db260207c740e62c() + { + $this->assertTrue(true); + fn() => (__FILE__ ?? $test); + } + function test7f7ebb628100939540339e28caf3c1395d28d8c9f98e1dbc5d4999be6980f498() + { + $this->assertTrue(true); + fn() => (__LINE__ ?? $test); + } + function test813b914c484736941d519a160ebd540b72603c5b83bdd2998941e9f8c24fe27f() + { + $this->assertTrue(true); + fn() => (throw $test ?? $test); + } + function test8242e853fbe303d66703a6d3e62bdfc89fd2affeb2818173c08a930a6d0614e0() + { + $this->assertTrue(true); + fn() => ($test ?? !$test); + } + function test83138b5d6b10c0545cf182a220525432575a1a354bd7701aab7099d88e2250f4() + { + $this->assertTrue(true); + fn() => (+$test ?? $test); + } + function test83f40b799210aa0e8ab750d71139a90cb158fc59206b91d19b0498b36ec944da() + { + $this->assertTrue(true); + fn() => (($test %= $test) ?? $test); + } + function test86c141913425970fb9958bae0ee7a724e4498e6b9e31a5aceb19827d6c93ec7d() + { + $this->assertTrue(true); + fn() => ($test ?? empty($test)); + } + function test878787ba9761b66e4d83a071ce5233464561e9070e461058bacb7e5484b16153() + { + $this->assertTrue(true); + fn() => ($test ** $test ?? $test); + } + function test8c773e273b85c5467a8dfa756c91e42e27c10798acbb739b4a0088a951e4df97() + { + $this->assertTrue(true); + fn() => (($test ^= $test) ?? $test); + } + function test960b8ffc798c9547fdcc923f0452624d545022e85d93bb8407353e9d190f9a18() + { + $this->assertTrue(true); + fn() => ($test === $test ?? $test); + } + function test9809c11078dd5862ebd2745beda6b8f421ebf9ca2f3abb21df9e39550883a229() + { + $this->assertTrue(true); + fn() => ((string) $test ?? $test); + } + function testa056c9e01b5ec3714711881dc24f3457e04c9ba0b3bcab2ea8bd41555d3b572a() + { + $this->assertTrue(true); + fn() => ($test ?? []); + } + function testa8af395e42584762b41c68b4ac685600275233988c7b0b71d625ec728b8ce198() + { + $this->assertTrue(true); + fn() => ("{$test}" ?? $test); + } + function testa9e526785271a6a5bada96c67f37e8dfe567a59c5a1417382c1b8e83fe760392() + { + $this->assertTrue(true); + fn() => (($test or $test) ?? $test); + } + function testac59a0801e4d7f43fc65a57eed882a2033e205dd0df5661808d77223fc16ed58() + { + $this->assertTrue(true); + fn() => ($test ?? $test); + } + function testb270da8db4ab6459cb06a4a64ec90b90f69ba2f5cab0dc8288e9515aecac37f8() + { + $this->assertTrue(true); + fn() => ($test | $test ?? $test); + } + function testb4f70cc900cbbcc938647595093a2c4ddeceff24a4293ba496306d224d2b72f4() + { + $this->assertTrue(true); + fn() => ($test ?? $test()); + } + function testb76c5e710360af458ac909a61f633ea49a7410c05bc48d1a75d2a17ecafa5721() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) ?? $test); + } + function testb8da0a7bb1bb2f0b80e8e145e6fe61421f9dc3660c8f6e6f45734e5cbf037410() + { + $this->assertTrue(true); + fn() => ((bool) $test ?? $test); + } + function testb91cd114bd4b4c1ae82a466528815179d149e8c103d0b90bfd8c643ff5b6136e() + { + $this->assertTrue(true); + fn() => ($test::${$test} ?? $test); + } + function testba41144c05a1a579cde99f7f4987a7b1c8d7086c5d230e65402b93d95218ee82() + { + $this->assertTrue(true); + fn() => (-$test ?? $test); + } + function testbabda52e5e41a2cbdf790d05b525a1d0b8337ed133dd4aaba8358c7d5cc0649c() + { + $this->assertTrue(true); + fn() => (__TRAIT__ ?? $test); + } + function testbe0244e3b946df338406129d85d1f86ac5aa0e0809cafc1877b4012411e1f762() + { + $this->assertTrue(true); + fn() => (0 ?? $test); + } + function testbe2e2149af381e90007aae9bbb8002f6cdc493e062cb09122c63ae766f3e4683() + { + $this->assertTrue(true); + fn() => ($test ?? $test instanceof $test); + } + function testc0325dfe7bb54b7d6be3169059bc5fcbfb0b01b0b6ae01d1540ac302281d1dcf() + { + $this->assertTrue(true); + fn() => ($test instanceof $test ?? $test); + } + function testc199d4d0671739b85829fd773df032bb836468f7378a1c3b909b7573c1f62e55() + { + $this->assertTrue(true); + fn() => ($test || $test ?? $test); + } + function testc2919c2cae009f0d5f37eb6e6d1673500ac954efaaf1b6c94dcf57ae15fe9515() + { + $this->assertTrue(true); + fn() => (__METHOD__ ?? $test); + } + function testc445a0daf821a6e744df8cddd3e7e2326f1fc7f5b5f0df297966e1afc62b9848() + { + $this->assertTrue(true); + fn() => ($test == $test ?? $test); + } + function testc8a0f020239a7c7997e9e4890e4fd95590a8f179806c4b6ddf6ceb2710687187() + { + $this->assertTrue(true); + fn() => (`` ?? $test); + } + function testc8e8d2586ea3920cd789e3768218a4c12bfedf3f57d80a4ecb9e8f5fd83e935f() + { + $this->assertTrue(true); + fn() => (new $test() ?? $test); + } + function testcbda1ec052c5a47075028a25036f53db40452a940b5e27f19e0431f1b1698d4c() + { + $this->assertTrue(true); + fn() => (($test |= $test) ?? $test); + } + function testcbf36cd9451014e53df4df420fae18bcac1405152b6b55d0d23843738d79149c() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ ?? $test); + } + function testcc8fb4d5e14dbd5c568d9ebdac4edcaa01c16a4c4df9c449efb135e46c1f8ef9() + { + $this->assertTrue(true); + fn() => ($test / $test ?? $test); + } + function testcdac97767fbb57dcbc5932a4238f8cd3f7216751420b279b1ae8de3cfa318dae() + { + $this->assertTrue(true); + fn() => (0.0 ?? $test); + } + function testcdedce68d130da7edab6f598b072270439a2a2050eb7ef64fa1daf381018f8e7() + { + $this->assertTrue(true); + fn() => ($test ?? clone $test); + } + function testce967048056379345f68a095a7a7dca2595143ef88f57a967192456709d39133() + { + $this->assertTrue(true); + fn() => ($test . $test ?? $test); + } + function testcf492fb876e7edc1d3a118b090591fb9a27e617fbff5c3d4b62fcb7aed645cfe() + { + $this->assertTrue(true); + fn() => ($test->{$test}() ?? $test); + } + function testd0c972a26c85bfdef2601b23365580ec6eab47c280774a32a312a67ae8e28601() + { + $this->assertTrue(true); + fn() => ($test !== $test ?? $test); + } + function testd1662f644dbdf7af7514a4d24f341fbfde15b94caa75a24994083a08209a5edc() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ ?? $test); + } + function testd22028c490ad025824c2f63cc6164f8b902d3d91a8ce7ae1e139e15ab52c6011() + { + $this->assertTrue(true); + fn() => ($test >= $test ?? $test); + } + function testde1c9e90c494c9ab353320708c554fc692e868a33933e7e8ab7a9095d4bfdda4() + { + $this->assertTrue(true); + fn() => ($test % $test ?? $test); + } + function teste33bc38f5d0e6d5f00933edd3c4befcdca7ca6a06e12b9484a9cd21b5277d590() + { + $this->assertTrue(true); + fn() => ('test' ?? $test); + } + function teste7591654cbf48201f23e07c64c2bb86bd750fffe700e0de76d1b9e1294109aa5() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) ?? $test); + } + function testea9b0bcd5778bc5881bbde1fdfb5e403d838cdba216bec0f7969856c5318d877() + { + $this->assertTrue(true); + fn() => ($test ?? ($test =& $test)); + } + function testec9afebdce1850c28fa42feb89e401e253bb9b29e9cda42cf8618eebfa8d14a5() + { + $this->assertTrue(true); + fn() => (($test .= $test) ?? $test); + } + function tested7b703df3d008e42ab96d63f9c1693bffffffd542ad02dae88f2228d8e7ecbf() + { + $this->assertTrue(true); + fn() => ($test ?? ~$test); + } + function testef525be9e77e48fbed1a312737039662f97505428d0295d78aff90f37565270b() + { + $this->assertTrue(true); + fn() => (__CLASS__ ?? $test); + } + function testf2e59007ec9f05318aecc3911840b64a0cd0f8a59a70d5c74b4b0a0f1c741c2a() + { + $this->assertTrue(true); + fn() => (${$test} ?? $test); + } + function testf5840e53384dd1722930e5314a6aa36d3f5749c8e5669a8518c15a6fcfa62af4() + { + $this->assertTrue(true); + fn() => ($test ?? self); + } + function testf85f9dbfb988716db18041f3e4eaa3348e9ef67d6c2629f9f7244d86538ef661() + { + $this->assertTrue(true); + fn() => ($test < $test ?? $test); + } + function testfa9f896d70713ec2304946ab0e03021753982c3ea8e504fd223baaeeb1a24b11() + { + $this->assertTrue(true); + fn() => ($test <=> $test ?? $test); + } + function testfc19fea6c46267163d6f8ea4c3ecd7dcbb0252f79079516b1dfd3629fa656e89() + { + $this->assertTrue(true); + fn() => (($test &= $test) ?? $test); + } + function testfcda74485691cc106e2fa047cc54f626dd4771d5c84d1c82ff9a6262e0399de3() + { + $this->assertTrue(true); + fn() => (++$test ?? $test); + } + function testfe4d103fb4cca118b36c24a966c3141b5088aa52b8e74a20bda2e980eae60ee9() + { + $this->assertTrue(true); + fn() => (($test <<= $test) ?? $test); + } + function testfec8cce05d201f882ac21c9c41f11d415b2d737de2d1420b7a779e6e1272fea0() + { + $this->assertTrue(true); + fn() => ((double) $test ?? $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest.php b/testsGenerated/Target/Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest.php new file mode 100644 index 000000000..04b17c041 --- /dev/null +++ b/testsGenerated/Target/Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expressionc86a8301e1b257a9a11b022e60c5679ec9b4ff97f27a598327d6b656d3cb58beTest extends TestCase +{ + function test00d07b67de1d96bf870d1ffa71a073c3c909326f6da1f0f1b31fef0b451aba6e() + { + $this->assertTrue(true); + fn() => ($test <<= $test++); + } + function test00fb1d7bdf0d691a2b19bb0b9e46982768fdbea7b6d73919e748dcc7ffcee991() + { + $this->assertTrue(true); + fn() => ($test <<= ++$test); + } + function test06745b54a0d6812e50f64bc16413b89bc63807ebab963521f10df9147abfd5a8() + { + $this->assertTrue(true); + fn() => ($test <<= $test -= $test); + } + function test0b91497c0aeee522fdd0b913110ae1a6412c4210c70f495fea34e13264a0aa52() + { + $this->assertTrue(true); + fn() => ($test->{$test} >>= $test); + } + function test0df1fba6fd00f9cc61122835b0276e97460a88c6eb37f844918d15791b74e8a9() + { + $this->assertTrue(true); + fn() => ($test <<= $test ?? $test); + } + function test0ef6e79851a6912b746e68eb1d7559bdc485134f56e5fb217219051017a678ad() + { + $this->assertTrue(true); + fn() => (${$test} >>= $test); + } + function test0f1a0cc1c6b6c8a8ed6ba3c804525b451a96e36a8a735159c980f7e485a73ded() + { + $this->assertTrue(true); + fn() => ($test && $test >>= $test); + } + function test134c466cdd7616ac313784eab2dee8cec3166b26600502ba6e2b40890401da5e() + { + $this->assertTrue(true); + fn() => ($test <<= (double) $test); + } + function test152d5cbce99858cd68f9199c41cd745d6a1464ba787221755dfd60ac7c34953f() + { + $this->assertTrue(true); + fn() => ($test <<= $test & $test); + } + function test18df4b340688d775ecde54807628cc7da0ba9cf83e0870127cf8448d40a154f7() + { + $this->assertTrue(true); + fn() => ($test || $test >>= $test); + } + function test1c6058aa4ae664c05adfd5d5eb9c4bf8ffe4bb6879a9996b2ce45184d6f6d091() + { + $this->assertTrue(true); + fn() => ($test <<= $test ??= $test); + } + function test1db8de633ae2c3f4ce4ffe58ccac442203b5197971d2f15fc713979dbe3872e7() + { + $this->assertTrue(true); + fn() => ($test <<= "{$test}"); + } + function test1f002c5f2a6b6840965e664993307312497a6630def5b683bd4269e42b2b04f1() + { + $this->assertTrue(true); + fn() => ($test <<= ($test or $test)); + } + function test250bc36a5238dd6ecbf724ef1e2a790c0785e44329275c5022c6d47d6d5690b3() + { + $this->assertTrue(true); + fn() => ($test <<= $test * $test); + } + function test25f6a235db902a8e14175fda580ee142af977bf998985800dbd05a5ce383290f() + { + $this->assertTrue(true); + fn() => ($test <<= 0.0); + } + function test276d8ed8ed7fb953c4ae1982cb9ad38325ad850075ec8c19296309092195f5e8() + { + $this->assertTrue(true); + fn() => (clone $test >>= $test); + } + function test28b3c15e36ef40ec898314ac489108b72a4635cc7de9e2f3e6b8f53555ee776b() + { + $this->assertTrue(true); + fn() => ($test <<= $test <=> $test); + } + function test291cd68948298c0de3b34009a8402ae4a30ea6d5b08c5594fedcc0393b28cbeb() + { + $this->assertTrue(true); + fn() => ($test <<= $test && $test); + } + function test2adb9087f87384f58e7c5d24f7d18321bd9affa10a826f6f45fa6f3439249045() + { + $this->assertTrue(true); + fn() => ($test <<= $test == $test); + } + function test2d861765c32c65dbb3cb670cfc50b60fbc924f3ea4c9671979f1836d7d0a11dc() + { + $this->assertTrue(true); + fn() => ($test <<= $test === $test); + } + function test300c1c04568cfb07f593d38aa2a66d208cc23476465dbd08f270176806b88e62() + { + $this->assertTrue(true); + fn() => ($test <<= $test <= $test); + } + function test30684ada65602d60c4978417ee585ea33173b8cf47be8a69d4c83d745ee3ade8() + { + $this->assertTrue(true); + fn() => ($test <<= +$test); + } + function test315dd1d6b2cf14298e90c53aa630c4cc42112c62d9dd22a239bdbaec7e4cc15c() + { + $this->assertTrue(true); + fn() => ($test <<= $test &= $test); + } + function test3333b3da911249e16fc4afbf4b26954b667b865b55ad83e53b92c15426385beb() + { + $this->assertTrue(true); + fn() => (-$test >>= $test); + } + function test335c85887d95da9cb4fd5d7bd980e345fc7ecbb4201dc67903fe2a9b58e0a21d() + { + $this->assertTrue(true); + fn() => ($test ^ $test >>= $test); + } + function test35f262d6903aaa1a3d5bd69d45ae178a067c63acf48db5af8b1fe4ada28c0318() + { + $this->assertTrue(true); + fn() => ($test <<= $test ^ $test); + } + function test392f71090da8e153de106bd13012d51a57ca6f2a32f1af4f5aa80a99982afc86() + { + $this->assertTrue(true); + fn() => ($test <<= $test->{$test}); + } + function test39b82e7318911fdacac97f567910b1107761f23c62afb291b955406d01255102() + { + $this->assertTrue(true); + fn() => ($test <<= $test < $test); + } + function test4206831a88a488d3d4cd7fbbb1a46a6bacbd69ddeb90e94c7ea219ddb007ab24() + { + $this->assertTrue(true); + fn() => ($test / $test >>= $test); + } + function test43ceb29f97a1c01b4dcc116c91fb347c0ebb3e29a39f825ad3575112a1a052ab() + { + $this->assertTrue(true); + fn() => ($test <<= (object) $test); + } + function test477748344d2d4323f34c84302c14bdcd31e8f50db8778d48a34c4fc414b565fd() + { + $this->assertTrue(true); + fn() => ($test <<= __NAMESPACE__); + } + function test4dba6208d99355bbe0a918f028f2af00a3a9ac4ea61d1c5edd3da80fe26df8aa() + { + $this->assertTrue(true); + fn() => ($test <<= __LINE__); + } + function test5207f59353ed08c0ddfb4e3d14010afdeab7b2fcf6a530ce1ecf1e6771591c9a() + { + $this->assertTrue(true); + fn() => ($test <<= ($test and $test)); + } + function test539157c6fd6385fdf75493fa7d5a69e75ccb809ace96a1a2c173844ffda7b711() + { + $this->assertTrue(true); + fn() => ($test <<= (array) $test); + } + function test559e670b647cdfd5d4f891c1cc6656313fe2d3aa5cf5199b3d9f7155a4d8cadf() + { + $this->assertTrue(true); + fn() => ($test <<= $test . $test); + } + function test568e942f1fde60f923d78fb20156216771cf10db8c0ad3b777e43249a3f08f67() + { + $this->assertTrue(true); + fn() => ($test <<= $test?->{$test}); + } + function test576632bf147594f4a96b391febf90a88c036bbd49c5fea881cd9f6f369bb9542() + { + $this->assertTrue(true); + fn() => ($test <<= $test >= $test); + } + function test5ced47d038e88cd901406a84e3274bdf138b3b75319e85b93c8c84eb9270550e() + { + $this->assertTrue(true); + fn() => ($test <<= $test::$test()); + } + function test6038971c68bc644555ed9af2d64f6a806dde0f79774cd9a637f7360962748cdd() + { + $this->assertTrue(true); + fn() => ($test <<= $test >> $test); + } + function test61dc150219a4813f4fa891aaedb94ad200b8dcde38052d00cfade0850af937fa() + { + $this->assertTrue(true); + fn() => (~$test >>= $test); + } + function test620f2f75736a95f441b1707d5062aac9fdfbc76fd5b82608c3d5f3af381a01bd() + { + $this->assertTrue(true); + fn() => ($test <<= $test != $test); + } + function test6263ca4eba719c4ac5941bdb4bf04c2c37d1efe28b1fe3745cf3f6978ea71448() + { + $this->assertTrue(true); + fn() => (throw $test >>= $test); + } + function test64690b2d0374161f82ba9943c25cbb672e2d078c697d8f983f6fd6987b495d7b() + { + $this->assertTrue(true); + fn() => ($test <<= __FUNCTION__); + } + function test67157ed5764db5965e7cac57fcd9db74ba0db4b1317a5e39be7703aa58214645() + { + $this->assertTrue(true); + fn() => ($test <<= $test / $test); + } + function test67b0643f74596a31a2ed346952986581326619a7cd296402181b4ea7837ef11d() + { + $this->assertTrue(true); + fn() => ($test <<= ``); + } + function test681d10382908d7c26ed69dd5f8d513e0d3873b804f4a0723041e3de41e5499d9() + { + $this->assertTrue(true); + fn() => ($test <<= $test !== $test); + } + function test696f009c0c0e4d758a617e94be2089a36597c7ea14a99efc24b59b06725fbede() + { + $this->assertTrue(true); + fn() => ($test <<= throw $test); + } + function test6d26eb10a600bfae3849e3092baffed365c4173fd7067925258b68583cafc6fc() + { + $this->assertTrue(true); + fn() => ($test <<= $test--); + } + function test6f5d5bdca2c64a18ce449ad5e49a991661bacbafef9eafc94d5a6e290c6e7f07() + { + $this->assertTrue(true); + fn() => ($test <<= (yield from $test)); + } + function test709481c40db901ff50a82f8aa3c2f8da9feee0e46d78e50ec1aee0aa04b3c780() + { + $this->assertTrue(true); + fn() => ($test <<= $test + $test); + } + function test79150098e32896d8e7c4087fa6f975e0508eb48be322ea26ebb22dfe8d9ba6cc() + { + $this->assertTrue(true); + fn() => ($test <<= -$test); + } + function test7a6263cb28fd328376952ae7beb6e26fce83b031fa407cd671d3dbdb254d9c91() + { + $this->assertTrue(true); + fn() => ($test <<= (print $test)); + } + function test8293972ac88e3c5ec4a142309c497b3fd5bbceb4ea5448b499736b66e6d62c14() + { + $this->assertTrue(true); + fn() => ($test <<= __FILE__); + } + function test8372ea5b07298a33efed0693baee49f6714c40d53e346cd9d7786b351a0db9c7() + { + $this->assertTrue(true); + fn() => ($test <<= 0); + } + function test8426b26a9793a73b243672108e743327210441085d67e35e8401693a7d621e90() + { + $this->assertTrue(true); + fn() => (@$test >>= $test); + } + function test84652bf9366f9273b157280310781a32e1f8472f09feb0ce58a20c3c233bd1f4() + { + $this->assertTrue(true); + fn() => ($test == $test >>= $test); + } + function test877b6dcda06d266ed4b756b54961988890a143e5c9f0357b11df8093fd414453() + { + $this->assertTrue(true); + fn() => ($test <<= $test || $test); + } + function test884a0e1b55e2d778a3f0bead5577c317c6f3960cec4d28a2f24dce51718faa34() + { + $this->assertTrue(true); + fn() => ($test >= $test >>= $test); + } + function test88b1047eab8fb345ccf6e43a97420fbc79c9ce9c4e7993f2a0a21a202324c431() + { + $this->assertTrue(true); + fn() => ($test[$test] >>= $test); + } + function test8d6d5215d30a75a3aebe2a73d3cce64e702549d57e0006c0298c612e60acfec8() + { + $this->assertTrue(true); + fn() => ($test <<= __CLASS__); + } + function test90f8fbbe85eb2db13da7fcc8e0ae534b34bd340c136533b83c117ac251cd8ca6() + { + $this->assertTrue(true); + fn() => ($test::$test >>= $test); + } + function test9244f02a6464e01317673e435c037da786483f19f94f284e456884b71b82a817() + { + $this->assertTrue(true); + fn() => ($test <<= $test | $test); + } + function test92cd7639cd63f468663077bfbd542dd8bdd86dbf7da76f387ca14be2e47a8453() + { + $this->assertTrue(true); + fn() => ($test <<= $test |= $test); + } + function test9a5d7f4ccf437bb3dedbb60c174700565f96b5ad80938365174fc960bb38b26f() + { + $this->assertTrue(true); + fn() => ($test <<= $test::${$test}); + } + function test9a9c3b28f525e6ab1ffded61812f5dbbdb2ee6cdac7c66a6f3bf2d64693afbde() + { + $this->assertTrue(true); + fn() => ($test ?? $test >>= $test); + } + function test9b1aee78d250becdc9be28c7ac53c539c14d2561eaa1f6655043c21ffa171441() + { + $this->assertTrue(true); + fn() => ($test <<= $test <<= $test); + } + function test9d58140190aea5d527c79b15567e64f8b7c37460d4215d96f104fc27634051d2() + { + $this->assertTrue(true); + fn() => ($test <<= __TRAIT__); + } + function test9dfcbc588676bbd9a1f44a25bc4d4900df932a5e9fdf228c6c53f3fb5063ebda() + { + $this->assertTrue(true); + fn() => ($test <<= $test *= $test); + } + function test9f48f04031b7ad496ad12b98283d2728b5c2e1b62f97cfc7483be5eb29b2f023() + { + $this->assertTrue(true); + fn() => ($test <<= (yield $test => $test)); + } + function test9f624cfb3db37d7e195520a4e16fbfc2d9bd9519ddd822fb2ba6b816458f73ba() + { + $this->assertTrue(true); + fn() => ($test | $test >>= $test); + } + function testa9e092e61caa5c46a7a375872ed825f7625710ded65cece42ba798d91a26b1ff() + { + $this->assertTrue(true); + fn() => ($test <<= $test ^= $test); + } + function testacbbe43e9f10020aab002abac5d9ef00070b46b3f7c5c6930dcfa74d5d1b65f1() + { + $this->assertTrue(true); + fn() => ($test <<= $test /= $test); + } + function testb3a7d5ce75e53d2acdf7e5885a580a64490fbfc5c1bd32485f94b3fa80ab69c0() + { + $this->assertTrue(true); + fn() => ($test . $test >>= $test); + } + function testb4da452c35e2d4f83d506fbbc3013d0ca251c19e1538074006e94d1a72d9d7a5() + { + $this->assertTrue(true); + fn() => ($test <<= (bool) $test); + } + function testb5eb7555ac11a57e931d245c47d9e0ba771b1fb81e2127f1cd66816e42fc550b() + { + $this->assertTrue(true); + fn() => ($test <<= $test %= $test); + } + function testb6acb67f252f3672a6c397f28ed7541e8eb5cdd9b27368a062a8f57e81dc97db() + { + $this->assertTrue(true); + fn() => ($test <<= $test ? $test : $test); + } + function testb9c092671b03b47111c38219d11fcef35fe5a6b8fd8ebac6eeecb96d85830044() + { + $this->assertTrue(true); + fn() => ($test <<= $test .= $test); + } + function testc026259072ac3e576845a4c82d23e80bca4b3cba0db629e11df822da2ff4643d() + { + $this->assertTrue(true); + fn() => ($test <<= --$test); + } + function testc076410d252de1136f80a20c8653a02433532cc3ae36658d00ebb7a43d178750() + { + $this->assertTrue(true); + fn() => ($test > $test >>= $test); + } + function testc233518933e6105ded61835a03efe9b77dba4bb37413c0f6a6744bdd37ad0dd8() + { + $this->assertTrue(true); + fn() => ($test <<= $test += $test); + } + function testc4047f189f3d64d4a1dd815f4835cc23fedb47d1bcac0e77f3e6cbb8d15db744() + { + $this->assertTrue(true); + fn() => ($test <<= ${$test}); + } + function testcc20df912fde8d0526ad555025a0ef910a591e6b86f96b52ef7441bffa201d09() + { + $this->assertTrue(true); + fn() => (+$test >>= $test); + } + function testcd0f9df40e93098c6a950440af9ce9ea24074a2948aaf8afb35613d56d2479f7() + { + $this->assertTrue(true); + fn() => ($test <<= $test > $test); + } + function testcd6c66e484592717720c3b91208741252cb35f669763b9de48ce571d76f80e99() + { + $this->assertTrue(true); + fn() => (!$test >>= $test); + } + function testd170c896632cf4aeabba297e11d2031869f78790b0aa5641b087cdffbf5913c7() + { + $this->assertTrue(true); + fn() => ($test <<= $test >>= $test); + } + function testd1a72ffac3e244696dbdf8eafa4d3488d65d2eff8d4e5d43c00a33a32b7eeb02() + { + $this->assertTrue(true); + fn() => ($test <<= (int) $test); + } + function testd4964800d03b74e7b366efc8a197f1948bab230fa8843c0560d64c4b6c14038e() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test >>= $test); + } + function testd656ef0ea4dedb41e59c194ef508dd5dea90dffe09e1c34022a651da18dadddc() + { + $this->assertTrue(true); + fn() => ($test <<= 'test'); + } + function testd75bc957bb96430f32760e03df1e59050ac1f1363dbe1548c2a1ce704abd6911() + { + $this->assertTrue(true); + fn() => ($test <<= $test **= $test); + } + function testda8495e1f58a46bc2448ac1da7bda855d62e3780574c67ecc516ea5c296a045f() + { + $this->assertTrue(true); + fn() => ($test <<= $test % $test); + } + function testdb591d11d81777c3b975b5ea08084ab918c8c4d7d7fcbdc0b3aedc237deb41a2() + { + $this->assertTrue(true); + fn() => ($test <<= ($test xor $test)); + } + function testdf3439d4456b7bedf6c8f4e72136d71a69d6cc8ca9788b6b8028c24023fc5bd8() + { + $this->assertTrue(true); + fn() => ($test >>= $test); + } + function teste433993c080f5f7185df2e23438e4bb94c3fd02f9695e6f0b6e988672f0e7fb5() + { + $this->assertTrue(true); + fn() => ($test <<= __METHOD__); + } + function testeb6a4aa5a5a8f9afabcb4ddcc66c87f879de836ce7d5e02fe4ca7ca2d4ea5ec9() + { + $this->assertTrue(true); + fn() => ($test <<= __DIR__); + } + function testef4e82f1f19dc12f63e86100024723cd3d96516c49ee2e5de67f016ebe16a72b() + { + $this->assertTrue(true); + fn() => ($test <<= $test - $test); + } + function testf404bc868fa9df8eb8b91ead0a79157c51c4a929543a89018243a8c25a79ef0c() + { + $this->assertTrue(true); + fn() => ($test <<= $test ** $test); + } + function testf46e80beb56c3c171995627086e33424afa0521979a455d498523e67dad1f435() + { + $this->assertTrue(true); + fn() => ($test <<= (string) $test); + } + function testfb4f26e25e2244dc0a08790d963863b2971599c7075c54305b8b13076a17884c() + { + $this->assertTrue(true); + fn() => ($test & $test >>= $test); + } + function testfbed6c31cec5a48abfdb594b9bf84ea6c8538be76d5ce6656144162791813510() + { + $this->assertTrue(true); + fn() => ($test <<= $test << $test); + } + function testff6b218aa5bc5358a3d2160e03c4e19bc0e404fee93ca62281448b8e306adf67() + { + $this->assertTrue(true); + fn() => ($test::${$test} >>= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest.php b/testsGenerated/Target/Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest.php new file mode 100644 index 000000000..42b15f926 --- /dev/null +++ b/testsGenerated/Target/Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest.php @@ -0,0 +1,513 @@ + + * @license MIT + */ +class Expressiond02a45f4e4e7a22daa3963773653d2f57e357fd82ddbd04e10984667861da8faTest extends TestCase +{ + function test002e74bd027a90d920fbf88c08248bfa3ca9d0f88ee7c59dce70c02c1ad78615() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test &= $test); + } + function test00c4c4a6eb5881844bcd1c8204591894351d3716af6fd870ba072dc6a3b40357() + { + $this->assertTrue(true); + fn() => ((yield $test->{$test} => $test)); + } + function test062ba197c854b03cbfab76ef4be7345d3170b3c3e9b3867165f89e0d05ae93b3() + { + $this->assertTrue(true); + fn() => ((yield __FILE__ => $test)); + } + function test0c6ac7225507653d73eb21fdf9fd9e6f4e992c08a604bb5bf414ae7dc238096d() + { + $this->assertTrue(true); + fn() => ((yield __NAMESPACE__ => $test)); + } + function test0d605f9f3c1a2f92af61bcf9e3994d04e15355c7694d306a73ddf55cd7ee476a() + { + $this->assertTrue(true); + fn() => ((yield (bool) $test => $test)); + } + function test0dc239afb419830d29b399b5cfd3dc4067374b1a0e3d00c248daf53d690ad1bf() + { + $this->assertTrue(true); + fn() => ((yield 0.0 => $test)); + } + function test110b794c74a72d40a52e23b887bcc9ebe8b9081c193216e0b12400b7ba870220() + { + $this->assertTrue(true); + fn() => ((yield __LINE__ => $test)); + } + function test133a23cc29fdc1387c670bc541825102a015b26fd381c189c85c870c2f4340c4() + { + $this->assertTrue(true); + fn() => ((yield $test >= $test => $test)); + } + function test13719d315fbe455684dd5aae2861ebe6f2c1a02f53d9c90274d133656d972c7c() + { + $this->assertTrue(true); + fn() => ((yield $test::$test() => $test)); + } + function test14b2844ec2388804ad6b636606a30466b80f484adb497929cc46e98d1acd59f9() + { + $this->assertTrue(true); + fn() => ((yield @$test => $test)); + } + function test14c9cc97904f336c8cb829007be915001582f1269bb95d6fec4580aef63d51d4() + { + $this->assertTrue(true); + fn() => ($test[$test] &= $test); + } + function test15279bf3c80644c78ea7840129549b18fb7cdbfbec0f6f3303a50ab6dfc777f6() + { + $this->assertTrue(true); + fn() => ((yield yield from $test => $test)); + } + function test16d3fb10a1d5d63367ad4d4e7e0d00c48e0fbd324ba05e45d6013c8c281fd284() + { + $this->assertTrue(true); + fn() => (clone $test &= $test); + } + function test175cb91764123c7fd217c815cd102f723d04a8e71edacf3c6b5801fb009ded97() + { + $this->assertTrue(true); + fn() => ((yield $test == $test => $test)); + } + function test186ddeb9e5d55474964d1502de1d507bafe58040e82af151374c91acc949fa2f() + { + $this->assertTrue(true); + fn() => ((yield $test <<= $test => $test)); + } + function test1b7cdbff9a1c7ddb4f30e8419306743ff611bba07a8b3b2b5d72d7f18ec71fbe() + { + $this->assertTrue(true); + fn() => ((yield isset($test) => $test)); + } + function test1b9672e1cc81c43ba731df1ceeebdb7128f26e0ea50cb2642c6bc2c765597eb0() + { + $this->assertTrue(true); + fn() => ((yield eval($test) => $test)); + } + function test21d02f577292c446bccdc9c59031aff9b32e69057d2d66dabb50eb9e289d2687() + { + $this->assertTrue(true); + fn() => ((yield $test . $test => $test)); + } + function test2383294e4cd29bd2eddbbaf79f670a0a2f307769811ab655d46dc682663f2684() + { + $this->assertTrue(true); + fn() => ((yield $test ? $test : $test => $test)); + } + function test274e02388eb78eab6a07a5f832f8fe48e152534382b971885d6c2325aab0c70e() + { + $this->assertTrue(true); + fn() => ((yield $test() => $test)); + } + function test2b8230a2689b67b496690e5363f0d5501d01cfaaa56e87f47dcb4d9f85d78edc() + { + $this->assertTrue(true); + fn() => ((yield ++$test => $test)); + } + function test2c03301e33d43bd308d3de51f485e4067e119b99de85670d78fbe564c687e3e9() + { + $this->assertTrue(true); + fn() => ((yield (array) $test => $test)); + } + function test2ef7f04d27cf66bf48386c608777044cb2683cebd8a1e6f800d9bcbfe472a7d0() + { + $this->assertTrue(true); + fn() => ((yield $test++ => $test)); + } + function test32a1e28f85ca19102ac992e4db19cfc84b832c0b5d3b05ccbf47b4c4dfc09f74() + { + $this->assertTrue(true); + fn() => ((yield $test <= $test => $test)); + } + function test3399a53cd57f020fdaa5751812ede3288aa1817d0cc85526413f80eae09916cb() + { + $this->assertTrue(true); + fn() => ((yield $test < $test => $test)); + } + function test34aa265f118ab0b3f01946cf6052709714e02eae7509b5edc35c512caa98061e() + { + $this->assertTrue(true); + fn() => ((yield match ($test) { + } => $test)); + } + function test37c872cc4b645b8bdc5cc56ef6ecae600b1f11e91ba99bf81ce646165e272228() + { + $this->assertTrue(true); + fn() => ($test ^ $test &= $test); + } + function test38af78296c95057babe766d6e3d78643adc15f6b9059df4ea95db2d9d426428b() + { + $this->assertTrue(true); + fn() => ((yield $test **= $test => $test)); + } + function test39a3b46215b29071b297d990a80f680f9d518955b9e09603ffc9c746b87162e2() + { + $this->assertTrue(true); + fn() => ($test | $test &= $test); + } + function test3ea0000ffc67819f9fb0771578f9188571909636eb472e3b175c65e49156350e() + { + $this->assertTrue(true); + fn() => ((yield -$test => $test)); + } + function test3fb0160a5509498a5467228eb6b58a4db1e43f2fc080249bbaf873aeb84f03d5() + { + $this->assertTrue(true); + fn() => (!$test &= $test); + } + function test44a43bbce51d10c1df76a2cc3d324679f585b1ce84ed4d581b316075d4441bd3() + { + $this->assertTrue(true); + fn() => ((yield $test ??= $test => $test)); + } + function test458cc0b6349a067125503643d839f5f1eb8d9f17d27d94239a9939a4f1b0cda6() + { + $this->assertTrue(true); + fn() => ((yield $test - $test => $test)); + } + function test460df820e4c6baf25c29b9baf35a371290eae0d6ce9db9d78b1f296d3bbe2a29() + { + $this->assertTrue(true); + fn() => ((yield $test->{$test}() => $test)); + } + function test46baea13bac67cd99c224b6bfa29af9daa49eb327f683e0dedcc0242c769fb78() + { + $this->assertTrue(true); + fn() => ((yield $test ?? $test => $test)); + } + function test4784e1aa22d8fc508f3a1d3b54994a1efada01f819eb85fcf75e822d5bffc4ed() + { + $this->assertTrue(true); + fn() => ((yield $test && $test => $test)); + } + function test4a936db23e36320421ec67ea40bf694c9f348bad2e649ec6aced1a89cba7d27a() + { + $this->assertTrue(true); + fn() => ($test & $test &= $test); + } + function test4c3a81d71177075267674f58d6b7ee9d144563ab52cb90b3830b50210cf51a30() + { + $this->assertTrue(true); + fn() => ((yield $test -= $test => $test)); + } + function test4fc15f43a2f288a5801077d8b3ca0bf8842983baf7cbea58a859457b66b3bd28() + { + $this->assertTrue(true); + fn() => ((yield $test + $test => $test)); + } + function test5007166ad3a390b96454c797121878afa8ca5f44e0885c84a45f661663f29d4c() + { + $this->assertTrue(true); + fn() => (~$test &= $test); + } + function test5092ee5cf25399ab5aa47ec6df2d602cbf1cb8ce6050430545acfd8b1abbd84e() + { + $this->assertTrue(true); + fn() => ((yield __CLASS__ => $test)); + } + function test517ff90a923cc1a0954b9d3636a35c51ce9a6619cab43cc297e7446fad82b1c6() + { + $this->assertTrue(true); + fn() => ($test->{$test} &= $test); + } + function test5628ca5a9174d79f8fc844f42f25477f28ce0fcf2aed0dafee9405d08716a4e9() + { + $this->assertTrue(true); + fn() => ((yield $test?->{$test} => $test)); + } + function test5d88661706c333f8be04bb01939391a02e68d1df016251dcb831e91c26cbe8f6() + { + $this->assertTrue(true); + fn() => ((yield $test += $test => $test)); + } + function test5de8d54d5c15b8a090c6d0ab2fc23308ab495bc93f517e07b85e974fe8b81033() + { + $this->assertTrue(true); + fn() => ((yield $test *= $test => $test)); + } + function test5e45680ffbffdee6b68e0a4a006cdddd95b83a2cd18ee72ee9d6058cb6dd1c85() + { + $this->assertTrue(true); + fn() => ((yield $test | $test => $test)); + } + function test5ec39da2bf20e93775b079e31a5c955498abfe2a8ebe63d08388f96c30ae10b8() + { + $this->assertTrue(true); + fn() => ((yield $test & $test => $test)); + } + function test605e9064c4cb0d9bc693c5242ca068e7435f2684f928b4f412c5f33a0f62a3e6() + { + $this->assertTrue(true); + fn() => ((yield $test === $test => $test)); + } + function test60649a3cc4bcc369f5d1748f252c819e3d4ef294085e363ca1476d7e5c5449d0() + { + $this->assertTrue(true); + fn() => ((yield throw $test => $test)); + } + function test77575d249d8fb61908293d1a24e80d9716c2501631d75e2d0c9dbe91ce74b914() + { + $this->assertTrue(true); + fn() => ((yield $test ^= $test => $test)); + } + function test78424bda74503b072a21fc9b6f3a8c04b17f215b82f55c558895c518718ceb50() + { + $this->assertTrue(true); + fn() => (throw $test &= $test); + } + function test7bfd35ee9ef54654b47cb4e8177e3cd2e088742e7715461fd69bfcd8148f7ec9() + { + $this->assertTrue(true); + fn() => ((yield __METHOD__ => $test)); + } + function test7d997df3f409f73766fa9c0ff4385e75f4a0e3a462f200e34af9055edc3e8821() + { + $this->assertTrue(true); + fn() => ((yield $test > $test => $test)); + } + function test7f5e6c9e37428f720aa101c10ef8793f9080a9abde70519b833dce550162588a() + { + $this->assertTrue(true); + fn() => (${$test} &= $test); + } + function test7fa17c3d1d9850571ca5f71709012ef2339b1307d9fd8a044ddeaf8e90967801() + { + $this->assertTrue(true); + fn() => ((yield $test << $test => $test)); + } + function test81d1dbcd7c1fafb4256a434b35d6b0a885408a615a7661c31acbf1662336ee4d() + { + $this->assertTrue(true); + fn() => ((yield $test || $test => $test)); + } + function test828ef3ceb65723e46ef0cd74e8cde947370248215776ee57c9698c1d4432d437() + { + $this->assertTrue(true); + fn() => (+$test &= $test); + } + function test860a9078b93421862bdb28e1e5ed9f3b84a78027fce90b397051e9191e891906() + { + $this->assertTrue(true); + fn() => ((yield (object) $test => $test)); + } + function test860ed7f0d2166ac911bed46f94c0598a7c8338dfa71d1d4bf450c933ef566e03() + { + $this->assertTrue(true); + fn() => ((yield $test .= $test => $test)); + } + function test8ab0589800e8112036db12d7c60145e4cf4b73ac10d1f03d5f23b759537fa503() + { + $this->assertTrue(true); + fn() => ((yield (string) $test => $test)); + } + function test8baf6ca1f77bb425c41284a78d0fc5eeb2785a3719aa49524d74922ab1356dc3() + { + $this->assertTrue(true); + fn() => ((yield $test instanceof $test => $test)); + } + function test8d49e7f4c0c669358a5b56e11159cbf547a2fea6a6228c381c901d88adae3a5e() + { + $this->assertTrue(true); + fn() => ((yield empty($test) => $test)); + } + function test930a6fa501b9708ecd4c801e13e4ec368106725b9f46d7bb9a601c5e83f8455d() + { + $this->assertTrue(true); + fn() => ((yield --$test => $test)); + } + function test9c21a69e949aced696ff75782f392bf47f76df6742f523a8f6fb7c30b15f8c58() + { + $this->assertTrue(true); + fn() => ((yield 0 => $test)); + } + function testa3bb09e209769cfbf1429a3b753e9403a4a307852c9e2369cc593628e731bf49() + { + $this->assertTrue(true); + fn() => ((yield print $test => $test)); + } + function testa513073d8c2223988735ffa9160d20d7be0230c2ac29bb739775bfe99598cd46() + { + $this->assertTrue(true); + fn() => ((yield $test |= $test => $test)); + } + function testa5ce2f2f1bb431ff7e2b9e5809587d1ab55e59a3add21631ca1a3f551c80355e() + { + $this->assertTrue(true); + fn() => ((yield $test ** $test => $test)); + } + function testa5f784b87fc3196f5044d741a192fca90687cd6b6cf21327122a56ee21516a7a() + { + $this->assertTrue(true); + fn() => ((yield (double) $test => $test)); + } + function testa6f747e069d80bb469f78a85906af3ec46d9b29201477fd2bdb170d286f712bc() + { + $this->assertTrue(true); + fn() => ((yield $test?->{$test}() => $test)); + } + function testae9d8364b556b25dfa6369d831c7eefebb44cfd48223ae4f7b5d727654d22982() + { + $this->assertTrue(true); + fn() => ((yield $test ^ $test => $test)); + } + function testb45e4ce76650124e2b3f76791d2f333dda64c578faf89b0f7b6b8e1555e45619() + { + $this->assertTrue(true); + fn() => ((yield (yield $test => $test) => $test)); + } + function testb5e0770ab4105945703a4e6d1a768677ed1f8993dfa3d477acb8dc759472a700() + { + $this->assertTrue(true); + fn() => ((yield __TRAIT__ => $test)); + } + function testb637d7df8bc5df6e1abd0b06cb1aa7da374026fffa269219f20aa04a96a48606() + { + $this->assertTrue(true); + fn() => ((yield $test >> $test => $test)); + } + function testbac72f1f052c429b0da17f3a5ffa6b4521ec52b4b560caf3040e27e92ba4324a() + { + $this->assertTrue(true); + fn() => ((yield $test != $test => $test)); + } + function testbafc928efa10a78af8e6f6d2b01ea3d1844cc43a04583fb9dcb17334359e66c7() + { + $this->assertTrue(true); + fn() => ((yield $test / $test => $test)); + } + function testbb3102e125a4f30291083ba999c8c101a67cdf160677579e7cf755975228a42a() + { + $this->assertTrue(true); + fn() => ((yield $test !== $test => $test)); + } + function testbdadb30fc16a771aaf38e6fae7b5f4711e34b7382e1b05cfedb33297432ea6d6() + { + $this->assertTrue(true); + fn() => ((yield __DIR__ => $test)); + } + function testbfd28f4fb813b792324f43293d03c55ba356c1c7f7b9ce967a852b6eff0ee975() + { + $this->assertTrue(true); + fn() => ((yield (int) $test => $test)); + } + function testc1224dd29a4ecebcc1fdc00d98963c7ac2d361c9186e5cd6cb6059dc53004e14() + { + $this->assertTrue(true); + fn() => ((yield `` => $test)); + } + function testc3c6577365a43def91f8b886925ad6a4d4058d302bfd325e08819d204fa0c455() + { + $this->assertTrue(true); + fn() => ((yield $test &= $test => $test)); + } + function testc86733234fac563fe1dc38502e028edc325e223b852e1aceb2a2e70074080a51() + { + $this->assertTrue(true); + fn() => ((yield $test /= $test => $test)); + } + function testca9433753cbf17e38ce6e1a3cd91c228e517531fca03dad7e961b36c3add07c6() + { + $this->assertTrue(true); + fn() => ((yield $test % $test => $test)); + } + function testcc3bb31c117ac92ff09dc1f7532670d9a26bbb20bab15f45acea491dcf67ae73() + { + $this->assertTrue(true); + fn() => ((yield $test-- => $test)); + } + function testce71f9142e90a43e1fa62744c8268512663acf392302354f3124ba7eb7c1820e() + { + $this->assertTrue(true); + fn() => ((yield $test >>= $test => $test)); + } + function testcf17cb4a9afad601fe210497eedd073135b4c0953720ee281641ac11b60f9eb1() + { + $this->assertTrue(true); + fn() => ($test &= $test); + } + function testd18f018c5038b9242de4a412cc32ef3ddfc4125c5a6d71ec4e01122ff572088f() + { + $this->assertTrue(true); + fn() => ((yield 'test' => $test)); + } + function testd373bbeb56d73de18cb8489b4c53ab26f5f992b8d60ff1b52f86f23ec193f5f6() + { + $this->assertTrue(true); + fn() => ((yield ${$test} => $test)); + } + function testd60db14edc9f37f0d362e48fae6f77d63e745412fcd92b2e1f30943efb5fe4c3() + { + $this->assertTrue(true); + fn() => ((yield $test::${$test} => $test)); + } + function testd7a9180d4154366e0cb72e04449b4621c9b5cde30dae2d38c3872968211568c2() + { + $this->assertTrue(true); + fn() => ((yield new $test() => $test)); + } + function testdd4b1d125a96fa0aff587f14533500a36b52b0dd3e438bcd0bb05c34b20f1190() + { + $this->assertTrue(true); + fn() => ((yield "{$test}" => $test)); + } + function teste864f6b6f323bc78edf2ffff30971e0beaa89e7c6d03a62d6e2fc6b9e4676cdd() + { + $this->assertTrue(true); + fn() => ((yield $test %= $test => $test)); + } + function teste8ecdaaf8cf86f95c7b40389b707ec31bb2169f25d194b60ead264823408c16b() + { + $this->assertTrue(true); + fn() => ($test::${$test} &= $test); + } + function testea1719ec3b38963a18e51bd0c7f2ff2eeaa37394bdae0498671b0f222651c8bb() + { + $this->assertTrue(true); + fn() => (-$test &= $test); + } + function testec9fa2f7ffb4902560b15d0c2a652f786ad8d7ea56fe5aedbfda832aa0ea4cea() + { + $this->assertTrue(true); + fn() => (@$test &= $test); + } + function testef07aa59db69613d8d45dfd1865ef551018d24232fc577f94ebba48180b32be2() + { + $this->assertTrue(true); + fn() => ((yield $test * $test => $test)); + } + function testf546e8df6aba7d4a1e09be030135a6f6d2101df5e8a67224b8f9865b4e2dd5e8() + { + $this->assertTrue(true); + fn() => ((yield $test => $test)); + } + function testf5df01e400171b1a045ec0229a810dfc6ae18d2fd282b6e3bb170eb9f8312884() + { + $this->assertTrue(true); + fn() => ((yield __FUNCTION__ => $test)); + } + function testf7a64a5b690c2acaa760d0311287e84ddd722bdba77c45b07c8d7027848a005c() + { + $this->assertTrue(true); + fn() => ((yield +$test => $test)); + } + function testfb5c951ff42ddebcadc6081a517913a7f07c7b5b435ed7cae2699e2c6a78a45e() + { + $this->assertTrue(true); + fn() => ($test::$test &= $test); + } + function testfeb90e05ea4c88b1d88b39c6e45bbb2ce9f1d086e60d4fe8d04a00d9dde36812() + { + $this->assertTrue(true); + fn() => ((yield $test <=> $test => $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest.php b/testsGenerated/Target/Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest.php new file mode 100644 index 000000000..4862316b6 --- /dev/null +++ b/testsGenerated/Target/Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expressiond0e73d18b5c9199a82d72a58156580e9a388781d39309b3d04793d436c22211aTest extends TestCase +{ + function test00d71177bddbc544361957e7dbe82d64431ac7c8c171a7c12881cc0e2c756e84() + { + $this->assertTrue(true); + fn() => ($test <=> $test)?->{$test}; + } + function test0388485a1046f1380851ad7605cf9a9b9a934c1e3421a22edf5d27f1b4853d1d() + { + $this->assertTrue(true); + fn() => (isset(($test & $test)?->{$test})); + } + function test04c09553984ae372bfd5def7cf706083ba580fa7014529fb67fe28bd9c6c7e4d() + { + $this->assertTrue(true); + fn() => ($test !== $test)?->{$test}; + } + function test060fa408c94164910ae2a707fa867b9bc8e5d1dabc769a69a0f7080604d1af76() + { + $this->assertTrue(true); + fn() => ($test ??= $test)?->{$test}; + } + function test063ca06cf936acbd984bf3b31cdb23f8c7030ab7a9a8ab7761d3a63fd5a5e72a() + { + $this->assertTrue(true); + fn() => ($test % $test)?->{$test}; + } + function test0ad874477d5cbd26fbcb20697f747fcda9f6f6f7f9bea937ebda784579eb2932() + { + $this->assertTrue(true); + fn() => ((string) $test)?->{$test}; + } + function test0ae111189d2ab0c625ea0113b6b87348e1a10e6089284d1c4cabd6654cd95f7f() + { + $this->assertTrue(true); + fn() => ($test %= $test)?->{$test}; + } + function test0dd82d1dbb96c8cd66c8deea523bd5c3eb3cb9f82c29246db987e27075db93d0() + { + $this->assertTrue(true); + fn() => (isset(($test ** $test)?->{$test})); + } + function test104bbc30827090696cff4258ae5941f4f7e741464c771b8650e7af50bf2b9548() + { + $this->assertTrue(true); + fn() => ($test << $test)?->{$test}; + } + function test11306d55758ad3e7bfd612892ca14fa2119ac880bb60eeebd73a48c163ac3410() + { + $this->assertTrue(true); + fn() => (isset((+$test)?->{$test})); + } + function test14a98a77530d2a444332e4790d05080f0d79fad4fbd33cfb2fd067cf1b5a5653() + { + $this->assertTrue(true); + fn() => (isset(($test !== $test)?->{$test})); + } + function test189d041a7c41cea24e6435e073e224a4c1f110a8682724090556869b0bb95486() + { + $this->assertTrue(true); + fn() => (isset(($test ^ $test)?->{$test})); + } + function test1bfc573e012ae6f6fdf00b3754391fe1746c06be23ae761112abba5632c9d9fe() + { + $this->assertTrue(true); + fn() => ($test -= $test)?->{$test}; + } + function test1d159a2d3706093f0aa1d276526b445686cd6ecc7bfc51c4dbc7bdb148a5f7a0() + { + $this->assertTrue(true); + fn() => (isset(${$test}?->{$test})); + } + function test267c98f493911029e049163c9f191b8fa41466b36745860df058e184408400a6() + { + $this->assertTrue(true); + fn() => ($test * $test)?->{$test}; + } + function test29f1ff2c6ef4ee64cf27fc55e69fd85a3b2d5ba49b685a99183c8dbe8b4f399b() + { + $this->assertTrue(true); + fn() => (isset(($test ?? $test)?->{$test})); + } + function test2a61cc8c013e9d3f19b04ec2643a4ccf375b4f78e21e11987e675af09391128f() + { + $this->assertTrue(true); + fn() => (isset(((double) $test)?->{$test})); + } + function test2ea31272e1cfdf98771104f82d5f97f4c66ee704bb5fd5170681f263f31a8081() + { + $this->assertTrue(true); + fn() => (isset(($test >> $test)?->{$test})); + } + function test38f5aeb1b57e6a100207a28a1de40a619834b382847e9e5dc33125c434e92ec5() + { + $this->assertTrue(true); + fn() => (isset(($test ??= $test)?->{$test})); + } + function test3ed46bf49e7a3cc5c6a89e673cd7016144cda49509f04068ebb5a9b760f5641a() + { + $this->assertTrue(true); + fn() => (isset(((bool) $test)?->{$test})); + } + function test3ffe8ba8abde7c26aaafc2888cb81ceb7fa1d083e54334d00951aee79e5cf0d2() + { + $this->assertTrue(true); + fn() => (isset(($test += $test)?->{$test})); + } + function test436b2729f3236b1cf0d72ad2d2c5a6127f27290ef680e711ce589caa26d47b37() + { + $this->assertTrue(true); + fn() => (isset(($test - $test)?->{$test})); + } + function test440e1d78042634bb0ad2bb632ebfa8d2646efe6e324e8829e03383a4842a69ea() + { + $this->assertTrue(true); + fn() => (isset(($test <=> $test)?->{$test})); + } + function test47365a0dc290d513a2e3d6a696f0be6e1a62e1bbc1f2680b118ccd471d6f6efa() + { + $this->assertTrue(true); + fn() => ((yield $test => $test))?->{$test}; + } + function test47d681092e08638c8c4d519e1528149cad0816969d7aa45a9f33928c501ae702() + { + $this->assertTrue(true); + fn() => ($test && $test)?->{$test}; + } + function test47f5866a276bda492b09cc38bc0e2971b7a2fa282cb130e0460d940ca445e803() + { + $this->assertTrue(true); + fn() => ($test > $test)?->{$test}; + } + function test480821bc9f01d8e4f423528d32e7ffdb88bcdb15be3a6bef8070c0491ac3e43f() + { + $this->assertTrue(true); + fn() => (yield from $test)?->{$test}; + } + function test48a26cc5b947880c42814597a1199bca942e1203ab980780a42c9ac3f26a7870() + { + $this->assertTrue(true); + fn() => ($test || $test)?->{$test}; + } + function test49648d516e1e64a299da584be673be05c2b31f05653eac91757c531d3d9524b7() + { + $this->assertTrue(true); + fn() => (isset(($test **= $test)?->{$test})); + } + function test4d5c7f542beb8c8f3dfe4dcefb789d32945c45201f46ae7f687f9cf9a14ecc28() + { + $this->assertTrue(true); + fn() => (isset(($test %= $test)?->{$test})); + } + function test5091c0aeb0369ecfcfee20bb052ce229ad49a71485d8589767a7ec9696165bd2() + { + $this->assertTrue(true); + fn() => ((double) $test)?->{$test}; + } + function test52ec81fce79cf7d7b556f1b8bc389093f10599b3bc85c9af6a48a226d4a7641a() + { + $this->assertTrue(true); + fn() => (isset((yield from $test)?->{$test})); + } + function test5724bd179dda006289d733699afbf146d6a437ec62cff46c440f16f45c36aec4() + { + $this->assertTrue(true); + fn() => ($test xor $test)?->{$test}; + } + function test5e506488dcfcc0abd6f378bdd8f8be23cb8cea44b62957f890422ad60daa7f5a() + { + $this->assertTrue(true); + fn() => (isset(($test <= $test)?->{$test})); + } + function test5f425f2d904c6f23ea9823f27511da7f3b3e6c7e462cf242a71cfa59079ccef5() + { + $this->assertTrue(true); + fn() => (isset(($test xor $test)?->{$test})); + } + function test60d0596210f47e7896ad4b2470f6c2da8dc108ae8200f066b9fe09c5459c65a8() + { + $this->assertTrue(true); + fn() => ($test <<= $test)?->{$test}; + } + function test6280d8ac0b16e00a787c1194288ab0f433b15525c4cd5c1a529b488cbed5c3fa() + { + $this->assertTrue(true); + fn() => (isset(($test * $test)?->{$test})); + } + function test62b9bdf093fb0aa9207fe0535362520bdf3eda14b288bb13ea8fba025269d448() + { + $this->assertTrue(true); + fn() => (isset(((string) $test)?->{$test})); + } + function test692256d7e4bfad6d61e244098415562e43f39c3d11954ffd9919ff742e512514() + { + $this->assertTrue(true); + fn() => ((int) $test)?->{$test}; + } + function test6c036e712dcc0f5687fedbd897ff00ddbc182efcd3c5668e54c3dc0623a61b5b() + { + $this->assertTrue(true); + fn() => ($test ** $test)?->{$test}; + } + function test6fe8bff88db7de04236cb234807f8babf295a8c514e3f7fc4d8138f52b4de1a0() + { + $this->assertTrue(true); + fn() => ($test /= $test)?->{$test}; + } + function test732b46af9562a807942c2f35c171fa61462e8fc71292aaf128893dee43f5f559() + { + $this->assertTrue(true); + fn() => (isset(($test /= $test)?->{$test})); + } + function test76b04ca1ea3e6ac033f0bc370c5b904b020c710db231cea592e508a59636547f() + { + $this->assertTrue(true); + fn() => (isset(($test || $test)?->{$test})); + } + function test7acc4c138297bf233504a055cf7a1be3b8626ee11dcc66f1df18723c26160656() + { + $this->assertTrue(true); + fn() => (isset(($test and $test)?->{$test})); + } + function test7b0af8998015df683353411f2d9950e0ba4c9876d87eac8c861519f80a9df7d0() + { + $this->assertTrue(true); + fn() => ($test .= $test)?->{$test}; + } + function test7b9730bbb98f0e886e0a8c9bfd65578492a0fa67ade613bad818aaf0d1b8f2e8() + { + $this->assertTrue(true); + fn() => ($test ?? $test)?->{$test}; + } + function test7f6354171a2a889df32e540548f867cc3e0a6d0aca9721c4335443e3ed8348de() + { + $this->assertTrue(true); + fn() => ${$test}?->{$test}; + } + function test81bae4462d3f2e579a47b4501c0dd665a2a0af6139cadbcae6518e3fd733f94c() + { + $this->assertTrue(true); + fn() => (isset(($test && $test)?->{$test})); + } + function test83a91ca3f17b8120eb8b14421cad2249ff22ce40ee946a091105fe250f5e831e() + { + $this->assertTrue(true); + fn() => ($test or $test)?->{$test}; + } + function test83c42e28d502d70a25946db8fe9c8c65be12a668cb79aacd485218ec71d96515() + { + $this->assertTrue(true); + fn() => (isset(($test &= $test)?->{$test})); + } + function test8499a1b177d43e60df432aa86cece88824a5b775451f8554198a776e990b0663() + { + $this->assertTrue(true); + fn() => ($test >>= $test)?->{$test}; + } + function test84d0fc0a2d7ddba5d002b467097d4cadc37a26e0ddaeca4a6782a34f3162a24e() + { + $this->assertTrue(true); + fn() => (+$test)?->{$test}; + } + function test8522868a2b8f750cedb49d998c8bebfa8eb13c07ea654e721492ca26dfa48c5e() + { + $this->assertTrue(true); + fn() => (isset(($test *= $test)?->{$test})); + } + function test877722dda0d56b074337d882059c08af2fecfd3e2af11557e7b071afe3c6584d() + { + $this->assertTrue(true); + fn() => (isset(($test / $test)?->{$test})); + } + function test888fd2fd8eec110ef34bae227295e8deac364c8b97bb34a6e18c217b8a5b86d4() + { + $this->assertTrue(true); + fn() => ($test === $test)?->{$test}; + } + function test8cfff63444f216098cd61ce69daa81694f92782c3b702952db071deee134f082() + { + $this->assertTrue(true); + fn() => (isset(($test <<= $test)?->{$test})); + } + function test8d63c0ad4bef65ad7f43cbad857b00777ff073508922da08bf51b963b01d0cb4() + { + $this->assertTrue(true); + fn() => (isset(((array) $test)?->{$test})); + } + function test8fc5ecd58995d2a40929d7cc309b72d2a034c80dd96555738bca8aa7572e9d80() + { + $this->assertTrue(true); + fn() => ($test and $test)?->{$test}; + } + function test92dc93460b1855fcc7f736ec8e3088206792f68813ed03fc2089acb3f29b448f() + { + $this->assertTrue(true); + fn() => ($test **= $test)?->{$test}; + } + function test95de4e955278610aa32a9e29abdf1f7129b999762ef4bc38881dd4d245ece357() + { + $this->assertTrue(true); + fn() => ($test . $test)?->{$test}; + } + function test97823d0f615c8f8cce21010e72d370c101d896e7c3ba370e40fb70b60ca9f6af() + { + $this->assertTrue(true); + fn() => (isset(($test >= $test)?->{$test})); + } + function test9aeb57143c5b1cefe198a070df447befd5328023b103497b4d37a35089a4ce6b() + { + $this->assertTrue(true); + fn() => ($test ^ $test)?->{$test}; + } + function testa1b8af8577c0854b1db5e418d142345e378731bd777342252ceb305c86a0eaec() + { + $this->assertTrue(true); + fn() => (isset(($test === $test)?->{$test})); + } + function testa4ec1ad37b7564152df3a83a486597bd28840a20e5e93568209ae78d71ca308f() + { + $this->assertTrue(true); + fn() => (isset(((object) $test)?->{$test})); + } + function testa7f18ef94521308e5de16da622a754307b8eee18c264dc5c4c811183ad17dbee() + { + $this->assertTrue(true); + fn() => (isset(($test % $test)?->{$test})); + } + function testa9075d1a520aeffa9fdf2a542663f3a93bcbd5d9a0907eabf10af81afafdec7c() + { + $this->assertTrue(true); + fn() => ((object) $test)?->{$test}; + } + function testaa9214616650a67f52a356453cba908eceab7234fcfc4f586a3e1da696299b8c() + { + $this->assertTrue(true); + fn() => ($test & $test)?->{$test}; + } + function testacf7e8e2c9f69d76285526a8b5790866ff132dbcb83f294f295d7554e7d036d3() + { + $this->assertTrue(true); + fn() => ($test >> $test)?->{$test}; + } + function testb04328e55812688d47d02ece0194835191a66479ae165020dce1ede9da66efb6() + { + $this->assertTrue(true); + fn() => ($test != $test)?->{$test}; + } + function testb2bdd4b009172d03b048a2adbf09cd8efe2dd59cb3d470b89c1e1a405d0017e2() + { + $this->assertTrue(true); + fn() => ($test / $test)?->{$test}; + } + function testb33439bbdb18b229672218bb8864804b6690cded568bcce6eb4f35193cea396a() + { + $this->assertTrue(true); + fn() => (isset(($test > $test)?->{$test})); + } + function testb3d71b38578eab782083e470f5145e2e1f5b930c1f4304bd1e7578f04934de48() + { + $this->assertTrue(true); + fn() => (isset(($test .= $test)?->{$test})); + } + function testb47708dcd253a270b291af9d01670863ad74145412cf4db1a29767e50abdca52() + { + $this->assertTrue(true); + fn() => ((bool) $test)?->{$test}; + } + function testb99b5752c5cd2a6ec564ca5cf45f04b926eec0f8f18c4a42d330de0d6365f383() + { + $this->assertTrue(true); + fn() => ($test | $test)?->{$test}; + } + function testbb188a8b6dcbf8437e08389fe45a462eab509f13e9c06659bdd435929e83440e() + { + $this->assertTrue(true); + fn() => (isset(($test + $test)?->{$test})); + } + function testbbccf3ebd0ea111d74ac823605fef9902b0a86e425ed6eaa6cc0c56472e07b7e() + { + $this->assertTrue(true); + fn() => ($test >= $test)?->{$test}; + } + function testbd3e769157547817ef89531768584eb2406441e586aba354ce4a5a34f0937df4() + { + $this->assertTrue(true); + fn() => (isset(($test < $test)?->{$test})); + } + function testbf8d81358522ae4cf1d1e8cc1628decf940fa2b00af6b218fe02ec53e0b8da85() + { + $this->assertTrue(true); + fn() => ($test - $test)?->{$test}; + } + function testc379e434e0d903531c39888a4f977ea72c60313596a2f90a59f9dd898cd402b2() + { + $this->assertTrue(true); + fn() => ($test + $test)?->{$test}; + } + function testc53ead34aa2e1d7da38ce35a20ab747cf42d4ee57f94ee07526429d23c57b00a() + { + $this->assertTrue(true); + fn() => ($test < $test)?->{$test}; + } + function testc7c3e95da82b48dd8d7b169e6e98e170c080f425f0bd19ac0b3d71dca496ea5a() + { + $this->assertTrue(true); + fn() => (isset(($test ^= $test)?->{$test})); + } + function testc7dcaa265c141c81d638967d96fd40032ab0630b3f73816ea46b9fc2cf93dee3() + { + $this->assertTrue(true); + fn() => ($test &= $test)?->{$test}; + } + function testcb44c75f06059768b6e479f77a1f64973fd3ebe2271f831379126bf371fdd278() + { + $this->assertTrue(true); + fn() => ($test == $test)?->{$test}; + } + function testcc151b34cdabe588e028c313a4a4d69542deb753bb5bb7215e8b47056fcca35c() + { + $this->assertTrue(true); + fn() => (isset(($test |= $test)?->{$test})); + } + function testce3be1702c52a20385d04581a616cf42d62102ded327178dde210165667f7025() + { + $this->assertTrue(true); + fn() => ((array) $test)?->{$test}; + } + function testceab1e0571af739c342fc84512b4ca7b3fd2dd84bac976cd9e3f61e639f3a34b() + { + $this->assertTrue(true); + fn() => (isset(($test != $test)?->{$test})); + } + function testd34534dd70ec0863e3eecc6dc00f0b8c4357d6a1cface6732ef1d2c0ec2e4faf() + { + $this->assertTrue(true); + fn() => (isset(((yield $test => $test))?->{$test})); + } + function testd4ec928ba270717364f4bd63284b54f3a2805e8f2fa569ed0052f9f523585d7b() + { + $this->assertTrue(true); + fn() => ($test *= $test)?->{$test}; + } + function testd8922826dd9730be4df847aa4db1aaa5237bf5072be921604a20510d8f01a1f4() + { + $this->assertTrue(true); + fn() => (isset(($test << $test)?->{$test})); + } + function testdba19d376677d23eba5a23b31cde42f111a9664b3d1f2ccfbdb95b284de0e9f2() + { + $this->assertTrue(true); + fn() => (isset(($test | $test)?->{$test})); + } + function teste019fa9119bc8d4bc121c0c53fcc510cda4a385912be37fafc13227b1cf3c967() + { + $this->assertTrue(true); + fn() => (isset(($test or $test)?->{$test})); + } + function teste2bc4cdde7346db7c1e88d4b5b7c70a8b44d18c16947870fe4f7b88dc044a2c8() + { + $this->assertTrue(true); + fn() => ($test |= $test)?->{$test}; + } + function teste46457013a59ff4bc80baf0d7482e96ca9c5f3702857fe6353545b0f422563f4() + { + $this->assertTrue(true); + fn() => (isset(($test == $test)?->{$test})); + } + function teste67b15b9b010d0601863a397248dd4f066908dfabffe1f45309d23d144511319() + { + $this->assertTrue(true); + fn() => (isset(($test . $test)?->{$test})); + } + function testef00190eff33c7bfde1d3f9f8a2e7f557b489326967ecab9712b84af576cf48b() + { + $this->assertTrue(true); + fn() => (isset(((int) $test)?->{$test})); + } + function testef2bbc006406187064c6598c520df6ff6d93f0182e406850afe39068030654e2() + { + $this->assertTrue(true); + fn() => (isset(($test -= $test)?->{$test})); + } + function testf15478d2dc08e7d6d6e3f0427e9be0c4b5402f9d69fc6baeaa8104ee5cf66001() + { + $this->assertTrue(true); + fn() => ($test <= $test)?->{$test}; + } + function testf2698f64484b2a1f9d1040df94a33f035c1da5254089b2db906b7ad604daf70c() + { + $this->assertTrue(true); + fn() => (isset(($test >>= $test)?->{$test})); + } + function testf58bfb33b641eb09e40d97e06907a7ab7bf143a4d35a9f7e039a6723b84292dd() + { + $this->assertTrue(true); + fn() => ($test ^= $test)?->{$test}; + } + function testf6cd122cad3168b869de9cc56c24d26f01de9baa6e90f67c0b7c7b5e33e96fcc() + { + $this->assertTrue(true); + fn() => ($test += $test)?->{$test}; + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test.php b/testsGenerated/Target/Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test.php new file mode 100644 index 000000000..58c5d2970 --- /dev/null +++ b/testsGenerated/Target/Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiond16dbc7f1143375d0b2eb7a269b93b9afe0ce79d4afb08e260ed5e49169d4bc1Test extends TestCase +{ + function test019bc160056b3e07a19f17906366dccc21ef89ae967d966597d5edd043577365() + { + $this->assertTrue(true); + fn() => ( (int) $test); + } + function test023f6e731c5d4f4e5489d00242dddc2627282f917ac7bcd292bd6bd4e5b43064() + { + $this->assertTrue(true); + fn() => ( __TRAIT__); + } + function test03d9d65d29c4b5712cc4b29dc028be73b82a42a4395f27a96c798bf51704aa5b() + { + $this->assertTrue(true); + fn() => (isset( $test::${$test})); + } + function test044155a41cc2f7319631174e460cf24be03b7302f03b429b41ebfea019050658() + { + $this->assertTrue(true); + fn() => ( $test || $test); + } + function test05296360c80bec323b58d87cf6b9fc99dd23735b06b65bd47a99779eb71e7997() + { + $this->assertTrue(true); + fn() => (self instanceof $test); + } + function test076999fc35527936849efb7724f1cdfae65fe1c3801874406f756d599ce0c7aa() + { + $this->assertTrue(true); + fn() => ( __LINE__); + } + function test0b6c8efe79161babb8f46a90d71a27a4aac70e8a76fa30ef46427cc1c935735f() + { + $this->assertTrue(true); + fn() => ($test() instanceof $test); + } + function test0ba6216cc926072b8b300a05ff64a75851e96be7eb94e7ff18397118656bbf5a() + { + $this->assertTrue(true); + fn() => ( $test++); + } + function test0e82074456045564fa655a5a9d4d83e469cf118b95d1a8c8854e2c644952a406() + { + $this->assertTrue(true); + fn() => (@$test instanceof $test); + } + function test0f75638eccaec9bb68e9b65819d730afa7382c82b9d7f4a4b1f5586efc5c865d() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() instanceof $test); + } + function test1228747843946e9cfe12408d043f2c906524fd3bb33c47f7f696c5f1f4ae4bbe() + { + $this->assertTrue(true); + fn() => ( $test === $test); + } + function test14aba1ba1102ee72a6a5c8e9d2f5018eb985c5baf49c1217ffe8997996a3176d() + { + $this->assertTrue(true); + fn() => ( $test::$test()); + } + function test167d2c5f7f237058e323bc1cfdc86f22f6c3fece69993b93bd6f7fdaee577fc5() + { + $this->assertTrue(true); + fn() => ( $test -= $test); + } + function test17b6914d9977cb3935aeff3375dfd1bfed50ad1ed5019949c983625f3e2c726a() + { + $this->assertTrue(true); + fn() => ( $test == $test); + } + function test19300c9ad7ac704a5c2aaa969eb93d1ad6e3a87b35865fb51e8c7f5e9708802b() + { + $this->assertTrue(true); + fn() => ( $test .= $test); + } + function test1a797cf1cabecfd4162b04a6e016cc658a4a29d9d3ce89beb7dc0a5d869509c6() + { + $this->assertTrue(true); + fn() => ($test->{$test}() instanceof $test); + } + function test1eab9b8425ee17147959b0bba9493fb98287ba8a38cceba9c7079547c8ce913b() + { + $this->assertTrue(true); + fn() => ( $test | $test); + } + function test2ab6f4c963b9934c30a6891c80d70dd43a1755b5eac224257b690c065e610939() + { + $this->assertTrue(true); + fn() => ( $test %= $test); + } + function test2c698918b6c317456e5ea4161e02c5709b27ece2290536fe3aafed735af83ded() + { + $this->assertTrue(true); + fn() => (isset( ${$test})); + } + function test347f1057c29e9a2fa46d5ac629df38de3c99c06102fa7f3f648da748da65ee1d() + { + $this->assertTrue(true); + fn() => ( __FILE__); + } + function test34f94bc18d5a5e84966244da27e038d5296a296e4e1ca2723eb9ec6af460d480() + { + $this->assertTrue(true); + fn() => ( (yield $test => $test)); + } + function test3b52c92aac253149e1ab188327b05883a28779eb1cf030f1e5f62914e3e12127() + { + $this->assertTrue(true); + fn() => ( $test != $test); + } + function test424f98d55bfeb349a6c27b59bc6b6e5e980c46fa0cd51607c0418be88e51833b() + { + $this->assertTrue(true); + fn() => (empty($test) instanceof $test); + } + function test44eb2f386b4fd76da5c5003765db5e5cc6fbf700d5a5391cbfe7c6b3864a5966() + { + $this->assertTrue(true); + fn() => (isset( $test->{$test})); + } + function test47034ab1b81812fe7ad6ebd280420fcc868c676ffe0ecbcccc4cc6dee7314ed1() + { + $this->assertTrue(true); + fn() => ( $test ** $test); + } + function test47303155792140298c4bc45a7a3c1f0c8c25481e6c24c8c4c3537e0bb03a9718() + { + $this->assertTrue(true); + fn() => ( $test::${$test}); + } + function test48d6fc0dcc3c43199949e2c305824835c204dd2b44cca70204f7f9efe8100cc8() + { + $this->assertTrue(true); + fn() => ($test instanceof $test); + } + function test4a1ac634590b2cf11ae82ce15def8fccac6c587c57464fe61d014ef793a4c45d() + { + $this->assertTrue(true); + fn() => ( throw $test); + } + function test534b9c902795e1cace1f1e9fab0530b260cee691bbdd4033541769096b03fa85() + { + $this->assertTrue(true); + fn() => ( $test > $test); + } + function test5823e5f418a03fbc09db7358d93b6d9926a334c380255d58528f417f0b94b42b() + { + $this->assertTrue(true); + fn() => (isset($test) instanceof $test); + } + function test5ea8c750cf7e03265c807857608fadf68ba54acb4fc98bc19dc66e2059c5c31e() + { + $this->assertTrue(true); + fn() => ( (bool) $test); + } + function test60c30bdc40dc99de244b9a514aa8d698eeb24464236380aa483c55e426b98748() + { + $this->assertTrue(true); + fn() => (~$test instanceof $test); + } + function test62beb25b0cb11da1577cda2b9b817aaeabe4383794b64dc6b99327a4286a6b6c() + { + $this->assertTrue(true); + fn() => ( (object) $test); + } + function test6466bd94cb0d76b01bcd0edf8e21899045c75da17dfe0809a5bee099dde4e866() + { + $this->assertTrue(true); + fn() => (eval($test) instanceof $test); + } + function test6646156be0aefd11802505f54929c85ecb64ebdb3b2cc4a29a3ee76d6ce5f0ed() + { + $this->assertTrue(true); + fn() => ([] instanceof $test); + } + function test6a87f05eeeebc1706295d9db48c625602adeaace37e9ca6c7eea2980386efa4a() + { + $this->assertTrue(true); + fn() => ( -$test); + } + function test6bdbd9cd49d782098f6afb8e1e8c74d9dd14a80bc7de434fb1755414028f0ddb() + { + $this->assertTrue(true); + fn() => ( $test <= $test); + } + function test6e2b6440c65af0bcca39ef5bd4761c0b9930e4dd3387a5239e8a1aa9daf22983() + { + $this->assertTrue(true); + fn() => ( $test ??= $test); + } + function test76ef2f7e74dff6c348910e77c7177a114571d1a8928dc5b74e52e63547b8fc87() + { + $this->assertTrue(true); + fn() => ((!$test) instanceof $test); + } + function test78705ebf4a2541ded8753fa1af302ca58169135aef4fe7a16d8abc4d2d644527() + { + $this->assertTrue(true); + fn() => (( $test) instanceof $test); + } + function test7eca54609075088748032aebff49a47ec2b3b1eaf2cae0490c71eaf396445b7d() + { + $this->assertTrue(true); + fn() => ( $test ^= $test); + } + function test8002204b86c4ae0619701bba6a0d3cb5a49258e5fb03a048b7969b309565ea1d() + { + $this->assertTrue(true); + fn() => ( __DIR__); + } + function test820562fd19fc1c9a05edb6cda124754eb185d2a30d81bf255c5340ff40a054c1() + { + $this->assertTrue(true); + fn() => ( $test /= $test); + } + function test8266fbf352c476399fc06fdde0529c5588445f1814ab4cf41e3ebbb0384d78f5() + { + $this->assertTrue(true); + fn() => (new $test() instanceof $test); + } + function test82d3e1fd138825a664b019f09c308683169c9cbda886168a9050bb517fa1e3ee() + { + $this->assertTrue(true); + fn() => ( 'test'); + } + function test862eccad180e0d8c6d11e8438e775e6a337c08d5f4990182e3379a13c70199c5() + { + $this->assertTrue(true); + fn() => ($test[$test] instanceof $test); + } + function test869f313546f4afb9e673602f7d772375db570c2e379de1b5f0e9e4b7c41fa829() + { + $this->assertTrue(true); + fn() => ( $test or $test); + } + function test86f4fa649d5e562eac5beae0991207eb18024cc81ab4cbcfc2125a365b37f607() + { + $this->assertTrue(true); + fn() => (($test instanceof $test) instanceof $test); + } + function test89599deb58084984bb78caf63ff47730bb0d941fba617b64920ae7e2c3300bad() + { + $this->assertTrue(true); + fn() => ( $test |= $test); + } + function test8a11360a5e9010bbf329cfbcd8240ae5f5d74dff29e59352b121c8887fb6abb7() + { + $this->assertTrue(true); + fn() => ( $test ^ $test); + } + function test8a9b8da0336078b2afc4806debaadf851d16d8377c2bda8366a9460db5db42dd() + { + $this->assertTrue(true); + fn() => ( $test >= $test); + } + function test8d8cd2d06154fef5ccf72044faf814b905bf951b981a23ae3a054b5022779d65() + { + $this->assertTrue(true); + fn() => ( $test and $test); + } + function test8de05b3770947a8c881de81fec28a3db84e3d67e88e04ed38dba253b40f51a9f() + { + $this->assertTrue(true); + fn() => ( $test % $test); + } + function test8f558e703e8f7a9dd25972f5798a10650a6050801be762fc21dc6d900c3c0a9e() + { + $this->assertTrue(true); + fn() => ($test-- instanceof $test); + } + function test92ddfc3336445f74ff22396e422de07ee3319ee108cd12e83a1cf11a1e34e188() + { + $this->assertTrue(true); + fn() => ( $test < $test); + } + function test952a90dccbfa6621b44ef0b87078a39ef73575d46a81258fbfbe9c986f753081() + { + $this->assertTrue(true); + fn() => ( $test & $test); + } + function test95c2521c2df450a1cf9939354c00ca757b94b2a7e77e6e20363d95af93746c66() + { + $this->assertTrue(true); + fn() => (($test =& $test) instanceof $test); + } + function test96f7a2ad52f06b599e12134fcfb961e36b9839e8b62c245636a8baec05e3d31f() + { + $this->assertTrue(true); + fn() => (clone $test instanceof $test); + } + function test97c4f3200938de2cea8c37c4787d9b45d83f538bcb92b4a38f90561fa045915c() + { + $this->assertTrue(true); + fn() => ( 0); + } + function test9af5c25dba98d9ef530c064d6807ebff4a69d97ab365d74fd0b9f282db709b07() + { + $this->assertTrue(true); + fn() => ( $test **= $test); + } + function test9fb67c02b2da034370edc123dbd42a97aa12d27ba1d9a70d4a07eada622ee4f7() + { + $this->assertTrue(true); + fn() => ( ++$test); + } + function testa0941149a635d554b60185118f46666f7c6aae5b43129a0645774b7489cbc30d() + { + $this->assertTrue(true); + fn() => ( ``); + } + function testa3d13930cd328e915e03a6fbd6eedcaed8c9ee1f4edfdd29ca74c8abcf543659() + { + $this->assertTrue(true); + fn() => ( $test <<= $test); + } + function testa5f6e8e2409357db1f0f81a65f1490777c1fd6d0a3b844362bed2351324330be() + { + $this->assertTrue(true); + fn() => ( $test * $test); + } + function testa819fd7a316e8b603cac3588aa371e7500ae5756cd33e4f50dc544ab990a19a6() + { + $this->assertTrue(true); + fn() => ( $test xor $test); + } + function testa98f2285c53a2cfe3d3d42f1795e47972036a8f5ff3ec3248f026dd199a3db6c() + { + $this->assertTrue(true); + fn() => ( 0.0); + } + function testaa7d19a91c051c27064c66b8b3a4a2b2d8c0790418be6461d46a2ef0870cba5e() + { + $this->assertTrue(true); + fn() => (match ($test) { + } instanceof $test); + } + function testabc5d792f29640f5e171be82064236f9387cc4e7730974b91f30b250815e3346() + { + $this->assertTrue(true); + fn() => ( +$test); + } + function testac59a0801e4d7f43fc65a57eed882a2033e205dd0df5661808d77223fc16ed58() + { + $this->assertTrue(true); + fn() => ( $test ?? $test); + } + function testad3a0e5cf05c908a2f750ac7d23b78a98d5bcf4223f0d4779a2e27a14a90f93a() + { + $this->assertTrue(true); + fn() => ( (array) $test); + } + function testb0a4804af187a9c6a0a31d8a8fbccc685e735ad2f83dae7a1aa4690b8ec6dfdb() + { + $this->assertTrue(true); + fn() => ( $test << $test); + } + function testb24c0cfdd94349d68fd497ee3047ce2e8596cc1fcfef126942408d149b9c71e2() + { + $this->assertTrue(true); + fn() => ( ${$test}); + } + function testb2ddbdb357a344448ede80188d308ae245b2529cc54bc48e0cb1bb07cc8b35ea() + { + $this->assertTrue(true); + fn() => ( $test += $test); + } + function testb89487e601e8cc793f1575ccc0cff2eb0b182e05324d3a92f8bf52939b56677a() + { + $this->assertTrue(true); + fn() => ( $test->{$test}); + } + function testbf0426f861d0841b7177c2a1c688b84187d45c9a49c429477451d2f9b465ccff() + { + $this->assertTrue(true); + fn() => ( __CLASS__); + } + function testc3f9e164afced13887f391c37e44ad6b5478f3aca77e4eba24e64d5e1a253569() + { + $this->assertTrue(true); + fn() => ( $test && $test); + } + function testc7e5a337d769eabd62216d4af23dfe704b1dc6dab5f9d9c1527b43a35aad0630() + { + $this->assertTrue(true); + fn() => ( $test - $test); + } + function testce4ff49a3b84acdfea6503d7240380998b8e8c4e2b3b4443ea56c45680874b72() + { + $this->assertTrue(true); + fn() => ( $test <=> $test); + } + function testce683a0127a6b43ec0db27108399c9b86558a3c6222de8dba6a258786047865f() + { + $this->assertTrue(true); + fn() => ( (double) $test); + } + function testcf17cb4a9afad601fe210497eedd073135b4c0953720ee281641ac11b60f9eb1() + { + $this->assertTrue(true); + fn() => ( $test &= $test); + } + function testcfac6e1e873e7dd97c8d500392dbe17e8bb0cd9b723838e69a260ff4e954cb4b() + { + $this->assertTrue(true); + fn() => ( "{$test}"); + } + function testd109618a98c0ac8a140be93dda11a7585c35aac02aded64ba761e2c4141cab3d() + { + $this->assertTrue(true); + fn() => ( $test . $test); + } + function testd12f4dbe9aa0316d5fe5e4632bfd769ee7fe53b4a8ce24041e38062d72f1fc31() + { + $this->assertTrue(true); + fn() => ( $test / $test); + } + function testd82a22a800eb4afd2bde567dc70847a5029fdae2ad53deefd66000a707125803() + { + $this->assertTrue(true); + fn() => ($test::$test instanceof $test); + } + function testda847ea9822f96b1df3184a497a9c1e0085ba3c39856b9df99956f872f374c27() + { + $this->assertTrue(true); + fn() => ( $test + $test); + } + function testdceb4f44ad2c727b4f02ab7c0a20f153d3d459cf12ad0d1d39248d9d47c3769f() + { + $this->assertTrue(true); + fn() => (function () { + } instanceof $test); + } + function testdf3439d4456b7bedf6c8f4e72136d71a69d6cc8ca9788b6b8028c24023fc5bd8() + { + $this->assertTrue(true); + fn() => ( $test >>= $test); + } + function teste07db4eeec9e3c16413ab66f7fafacd7b8f9aa4810283f86e334f81f13ed1853() + { + $this->assertTrue(true); + fn() => ( --$test); + } + function teste144a68b04a254c5c5bee7203bb55705e679a06a90b6185d762b79e35b942fa0() + { + $this->assertTrue(true); + fn() => ( __FUNCTION__); + } + function teste15cdbff6fcf302d68d02b897a4233c11d3df219ade743c02ef1554da66b55b3() + { + $this->assertTrue(true); + fn() => ( __METHOD__); + } + function teste252fe9c62c8224cd703ea497fbcd7ec2a1c029a6ffc75d365caee30f29552f8() + { + $this->assertTrue(true); + fn() => ( (string) $test); + } + function testeb728cec544b85ce8b6bd5d7ba4ae8c9c048ee647368cfabc66ed47ea23debcf() + { + $this->assertTrue(true); + fn() => (($test = $test) instanceof $test); + } + function testee7bab7b9da1489a7a408caf5ce52c1051129ee4ea91a8b7d24765c72f2f7dbc() + { + $this->assertTrue(true); + fn() => ( $test ? $test : $test); + } + function testeee241810bcbcdde3209968389d6832b5002a7d17f5bc34ae7ec940fdc148c32() + { + $this->assertTrue(true); + fn() => ( print $test); + } + function testefa9a07040bce5b39a050dcc6f78c9170d78f8818883e1ef8c294121c8546856() + { + $this->assertTrue(true); + fn() => ( yield from $test); + } + function testf112f13b6216e596db6b92a0ca96ebfac49ad7a8ebc020e1084dca7c38fa90ba() + { + $this->assertTrue(true); + fn() => ( $test *= $test); + } + function testf13dc0f9e2bcbbc6b6b2d04ecfcb547e71f902a00158b5d66409f7df479639fd() + { + $this->assertTrue(true); + fn() => ( $test >> $test); + } + function testf5965c516f8596a416e884459e57eb2f2672bcfd4c73c4c657f5d08edb4d21fa() + { + $this->assertTrue(true); + fn() => ($test?->{$test} instanceof $test); + } + function testfc8029a55f6f2d054d92b1b8b2a5927e334aac260961432ba6f2e42c48e47de8() + { + $this->assertTrue(true); + fn() => ( $test !== $test); + } + function testfffdfa2d152bf05460c103d2fc0d792456c2375d44890580475cf9abf2298079() + { + $this->assertTrue(true); + fn() => ( __NAMESPACE__); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest.php b/testsGenerated/Target/Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest.php new file mode 100644 index 000000000..ab6f9b87d --- /dev/null +++ b/testsGenerated/Target/Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiond1ea6da016adfed2ac1a87f480ddf10fe89bf292eed0d3c22bff9e458093678eTest extends TestCase +{ + function test02a8b7a697ef95aff4b06dfeeba27d373a92a8c483ac7bbf1fe7d7bdb86347f0() + { + $this->assertTrue(true); + fn() => ($test !== $test && $test); + } + function test0592a07f8783fe5b5eefa61f8962a047b9c977b6f9ee0700ae256b0c1a0bd8f3() + { + $this->assertTrue(true); + fn() => ($test instanceof $test && $test); + } + function test07f50075c405749243fc1c5948245f7a873c102243418e68f9781f81d61d9ad4() + { + $this->assertTrue(true); + fn() => ((int) $test && $test); + } + function test097281a1c73e80519d006945c377d02c22505a5f0ace9469dde95277aad81a80() + { + $this->assertTrue(true); + fn() => ($test * $test && $test); + } + function test0b197f7dc12c033b82f654a3f34682f9f6118c7a5e4d237eb59c0248790d31fe() + { + $this->assertTrue(true); + fn() => ($test?->{$test} && $test); + } + function test0c6ee7d6049736e01029d1fcd8b38ab0afa95d4decd8cf91a312a26802d75f1c() + { + $this->assertTrue(true); + fn() => ((double) $test && $test); + } + function test0e515a7fd75adea2b667116eba845dec0e0b0309a8432efdf720e26d7bfc9f1a() + { + $this->assertTrue(true); + fn() => (($test || $test) && $test); + } + function test101ef8261646f35546c4677bf9f166a56408fbfcc7385c28db88e0150212acb9() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) && $test); + } + function test13a916aff1f943b0fe895bad7b17265b2e9959d64b10943c7dd4aacfd345ef7c() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) && $test); + } + function test15c78ac21a7a97d2b3b0d9b95b0a8e2c07bb41334caf5efde472a5a35be19a4b() + { + $this->assertTrue(true); + fn() => ($test & $test && $test); + } + function test1a45bf14d098eaf25dadd0341f8adc031a8e75828c27a5393f327aa5dd09f78d() + { + $this->assertTrue(true); + fn() => (0 && $test); + } + function test1ca3c67afce9a53aa764834e42665705d2f34da7243d6b58bf8db9e90a03e6bf() + { + $this->assertTrue(true); + fn() => ((object) $test && $test); + } + function test1d9581c2856a48be76bf5f09a658473e7937f6272552a32d5df5bf34bc5832ec() + { + $this->assertTrue(true); + fn() => (self && $test); + } + function test24c19b1ac8174c05644a7bb8b5b4a7217b4062a6d22ff082384dbda54e3cf73d() + { + $this->assertTrue(true); + fn() => (($test -= $test) && $test); + } + function test2c4665a3c97f323baa024cc4e52dd659e8074ddda8fa0f7a8ede1a0be8b78aec() + { + $this->assertTrue(true); + fn() => ((array) $test && $test); + } + function test2f095775a94237e52895b18c0cde8a2c66de11525b615713fe157d4d22baf2ae() + { + $this->assertTrue(true); + fn() => (($test <<= $test) && $test); + } + function test30d6adf84150f930e180834dce2f15aea8d6c8ee404921fdef7a7a38d2c713a8() + { + $this->assertTrue(true); + fn() => ($test && []); + } + function test30f6006ca7ec1fec7347046a67431ce1b2104c1eb2445aa0c3ff4cdaa3853f1e() + { + $this->assertTrue(true); + fn() => (($test ?? $test) && $test); + } + function test32fb074173658121018448ebdb4f53b55f9975b75db61679d0d219192235fca3() + { + $this->assertTrue(true); + fn() => ($test / $test && $test); + } + function test3312f50e18b13974bc022ab8b52bb55f1c4bd5db56b60ba65b7cbd2e4494c5bc() + { + $this->assertTrue(true); + fn() => ((bool) $test && $test); + } + function test33f579502c90e06ce04221787710998d8180505272c98a112690a0fb8d39462e() + { + $this->assertTrue(true); + fn() => (__METHOD__ && $test); + } + function test3bb9e7c5ee7a1cd0f4b8795ce3545359b620821b5e5e717dda43b3dd51086011() + { + $this->assertTrue(true); + fn() => ($test && $test && $test); + } + function test3d583688e539e20f8e3758968453b6b8f272f5a34e25daabfbcda00c183e1c39() + { + $this->assertTrue(true); + fn() => (++$test && $test); + } + function test4423f2b680dbbb9c21b42c7e2e716f3123b230354c73e683e5d00f225323c63c() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() && $test); + } + function test44b6f20990bc747b5402c0620b05a6d157d597a9904d844b8f11b5eb873ad691() + { + $this->assertTrue(true); + fn() => ($test && ($test =& $test)); + } + function test48a63aed24e514d2cb1b99b09e94835952c32aaf4ba70980ce3b3fe77d48399c() + { + $this->assertTrue(true); + fn() => ((string) $test && $test); + } + function test48d72fac3693eecd96ba91fce557bcb53b99efb67761b114e90a11c37005a9c3() + { + $this->assertTrue(true); + fn() => ($test && ($test = $test)); + } + function test4c6cf73154038be34a434371d9c352198740da49cd51878ea076dd636abd07d3() + { + $this->assertTrue(true); + fn() => ($test && $test[$test]); + } + function test4f39a97d8c642c97f63c389af460737026b5419312a32eac75ed0d80084ff7b4() + { + $this->assertTrue(true); + fn() => ($test >> $test && $test); + } + function test598ee8d3b36aaa51da6b45451d0cec9c81ca5b2eeeec0a549ce4cd00d3158c57() + { + $this->assertTrue(true); + fn() => ($test < $test && $test); + } + function test5aab05812e6983273922a4c58330e4d01f496c08b494557ed0bff542b526e8a1() + { + $this->assertTrue(true); + fn() => ("{$test}" && $test); + } + function test5ce39492b3b33cf5b92672a04b43d9976c49375022abfe67d96c1dead1160b13() + { + $this->assertTrue(true); + fn() => (($test xor $test) && $test); + } + function test5d0b7aa74ec4ed459ccdc5f0b2acc8ca0f2b123b8760be2936c5a1cb9bd4e04e() + { + $this->assertTrue(true); + fn() => ((yield from $test) && $test); + } + function test5e757d3da08101187346bc3ecbc08886895ee1d0741947be8b7de29852119039() + { + $this->assertTrue(true); + fn() => ($test . $test && $test); + } + function test609626293e968db506343b4f51fb4421ae116514d90b1dbe4bc0bbb0a12bdf5f() + { + $this->assertTrue(true); + fn() => ($test() && $test); + } + function test6b3c9a024d7b15eef7e6eaa31b5f4f4ad103569936bd8e975abec5bf260933bb() + { + $this->assertTrue(true); + fn() => (0.0 && $test); + } + function test6dfa68c9815fead8a122301f01e32ab17a99bd867a6d757f75c5df181ef65ebf() + { + $this->assertTrue(true); + fn() => (empty($test) && $test); + } + function test6ed1de25a07c0c2d15f90d9cab46e3908c5e0cc92c050a0a7ba730a6fdd03ceb() + { + $this->assertTrue(true); + fn() => ($test >= $test && $test); + } + function test7381b7e7452e00c851ac09042ccd13d6d3e5d535e7f77c9d64c18b95e53ebd87() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ && $test); + } + function test77de2edb21362823bd258703e8f7a661cdc733d6a6bb950c3a93b54c3af74d21() + { + $this->assertTrue(true); + fn() => (($test ^= $test) && $test); + } + function test7953976be4cbefafd8ce6a33b0d1a3e792c9fca482d2e825d3397886ae049a7a() + { + $this->assertTrue(true); + fn() => ($test::${$test} && $test); + } + function test7fec1c0b5ec5b6e2e906a9ddbdd02d6be9d13d9a7fdafd20c7ccdee90fa5e477() + { + $this->assertTrue(true); + fn() => ((print $test) && $test); + } + function test81160c2d797e6187fa79013a6034e968abd37bc05af1ea57ef3863727453be16() + { + $this->assertTrue(true); + fn() => (clone $test && $test); + } + function test8220596629d3a8c00e4c4c62aaacce6168c53f26575f2e2a2591ad24bc31da84() + { + $this->assertTrue(true); + fn() => (throw $test && $test); + } + function test825586f9e5e150153bd91f8f7f64faf405279ea2dc0be9944b26f149cb9ee690() + { + $this->assertTrue(true); + fn() => (new $test() && $test); + } + function test836f92992c3f9a9349fdf8686757a03c19aee3a174f0ad30e72c02b32eeef588() + { + $this->assertTrue(true); + fn() => ($test ** $test && $test); + } + function test854ab8996ffe8c57dff2058a6c1845c31fa6a36a6bdfa38211c042735916725b() + { + $this->assertTrue(true); + fn() => (($test **= $test) && $test); + } + function test85544174097d8ede08976747b3d34208fe43959a882db41531c7f71f823b4a26() + { + $this->assertTrue(true); + fn() => (($test .= $test) && $test); + } + function test856912a817613ea1699aef3beae3959c0354f2c146df1c18bad6f53014e49c31() + { + $this->assertTrue(true); + fn() => ($test - $test && $test); + } + function test87eea1c41ca5797cca9ec4f21ef3c222feaff770bb7b18449a0565ab24109086() + { + $this->assertTrue(true); + fn() => (function () { + } && $test); + } + function test8d22a44238b10400fa62074324c60206330e5f3a2d4f484d153ff868f37ce63c() + { + $this->assertTrue(true); + fn() => (eval($test) && $test); + } + function test8d9559daf05ecdddeb6a31ab35143e389066ed706aa68b175fc0d868bd754ea1() + { + $this->assertTrue(true); + fn() => (($test >>= $test) && $test); + } + function test8f4704812299370b82d762bff694cc2fabc454df4405421ab7cc1e89e65d0fa2() + { + $this->assertTrue(true); + fn() => ($test << $test && $test); + } + function test8f91f07fd32fa84540d360b16848568c473f78c444beecbbdb77c4bcaa173773() + { + $this->assertTrue(true); + fn() => (($test = $test) && $test); + } + function test905033d7e7edb2069edfaacde72d6dabd8bd65be07eb99f0aa42d586c8c7c0ef() + { + $this->assertTrue(true); + fn() => ($test <= $test && $test); + } + function test924181066bf879c8665c1f4058de41a8c83d08e524c4d25790ef4c4324c3c010() + { + $this->assertTrue(true); + fn() => ($test->{$test} && $test); + } + function test942320f95e1d8a5c3314e175f9f7b4b5cb91d68d6f51dc59095e65037e0c8307() + { + $this->assertTrue(true); + fn() => ($test + $test && $test); + } + function test97d50ef2486449456929b646757f1636fe8e2215ca769a7583e2e9b95a1cc638() + { + $this->assertTrue(true); + fn() => (__LINE__ && $test); + } + function test9927f0e9ac5cb3f5b22bdd62f0c8652a339cde504e442594c9d6a83dfefb40a6() + { + $this->assertTrue(true); + fn() => ($test::$test() && $test); + } + function test9f279389848bf38f3686dc38a01c0eb8ac1c288b55251f6b0f282caf10f66439() + { + $this->assertTrue(true); + fn() => (($test &= $test) && $test); + } + function testa668d11694bf337154dac8e4752c34cea717688d865cc729389cf79f624acbb4() + { + $this->assertTrue(true); + fn() => (( $test) && $test); + } + function testa7492cfe04575b628b7bc886028f3d687fa7124fa8c7332ff121ce6693f2fca2() + { + $this->assertTrue(true); + fn() => ($test::$test && $test); + } + function testac1392c3a40f763662a371a5fa92b49346d075678d60fc12481cbc8d32c8781b() + { + $this->assertTrue(true); + fn() => ($test % $test && $test); + } + function testafa57d6bcc7f7ed83df4f48d807cfda5f3b7a3cf8d84e4f0c9ecc837f8f646b7() + { + $this->assertTrue(true); + fn() => (${$test} && $test); + } + function testb1eb63c1ed0861f5c5df0b320c7830f6006bc9e41a30b987dbb07709bd2b15a9() + { + $this->assertTrue(true); + fn() => (~$test && $test); + } + function testb5a4111147fe536bb727223a0d213452ba16cc340c1ceb2be4d2b3d81024ee6c() + { + $this->assertTrue(true); + fn() => (($test |= $test) && $test); + } + function testb664981f8b3fb1a56c1c33895edbd097ce78697c9fad696226e84db26deed30f() + { + $this->assertTrue(true); + fn() => (($test %= $test) && $test); + } + function testb72150f83e7ac573f860b7f7a8c11af8454d80f270fca6ac5016bfd4b40abc47() + { + $this->assertTrue(true); + fn() => ($test <=> $test && $test); + } + function testb9c2d3ded84a1b51652ba97184b81e7348d70abfe2560a8941bd288341b84a31() + { + $this->assertTrue(true); + fn() => ($test->{$test}() && $test); + } + function testba836526dcfaace6d796e4b7ce39f34d61aae81c8990d52f365ebea62a71d54a() + { + $this->assertTrue(true); + fn() => ($test != $test && $test); + } + function testbc20feaf3b96f6c0fd1fa32d9cb3a6f6802ac672c5acc298c9ac81157972f1f7() + { + $this->assertTrue(true); + fn() => (__CLASS__ && $test); + } + function testbffcb82dd5f766b36544454875f208a7387e8a91a7c2ffe143240f7e37e1cf88() + { + $this->assertTrue(true); + fn() => (($test or $test) && $test); + } + function testc2e2f97b3425c83e62ef436cd33f6a084b2172776aed85e9dc61acaab73e2bfd() + { + $this->assertTrue(true); + fn() => (match ($test) { + } && $test); + } + function testc3f9e164afced13887f391c37e44ad6b5478f3aca77e4eba24e64d5e1a253569() + { + $this->assertTrue(true); + fn() => ($test && $test); + } + function testc558943a83d0f618f65050f5676484b768cc767f762c5e8d384d73e34e62b498() + { + $this->assertTrue(true); + fn() => (($test *= $test) && $test); + } + function testc5a226a30dbd918303a9e83008150a8b34e6f0a43b53824f29ef1e85ac74a45e() + { + $this->assertTrue(true); + fn() => (($test ??= $test) && $test); + } + function testccdd7efd45582540bfa0c9ae9270d42098feda770f68fe9079954cb07416c6af() + { + $this->assertTrue(true); + fn() => (+$test && $test); + } + function testcef86f612d10225398b8e3a2bb1010461264ad9012be06f63ed1f5ffccc7e9bc() + { + $this->assertTrue(true); + fn() => (`` && $test); + } + function testcfe4c61ae844ab7ab0fc57824ec0f6d65d3ea283d338422806db1f864f68ffb2() + { + $this->assertTrue(true); + fn() => (!$test && $test); + } + function testd088e44efb411846d9a302998b9edab6867e11b9e95f36f092959f044f63b6df() + { + $this->assertTrue(true); + fn() => (__DIR__ && $test); + } + function testd5d3e9c73281fbd3647c625077888f4e5f7b3e5effad9e11bb69cb1f220a4676() + { + $this->assertTrue(true); + fn() => (($test += $test) && $test); + } + function testdad03fd8f9f578a4aaf06ba9a14a549d24cf9f8b6171589ceb23b3c50b808652() + { + $this->assertTrue(true); + fn() => (__FILE__ && $test); + } + function testdc2f393d120538ff740bb28dbe06d81676df6a52911ea84d4ea84af5ba9fc777() + { + $this->assertTrue(true); + fn() => (--$test && $test); + } + function testde65f0a1b70bd369e5d7582b4e97c212b87192d4d2414a497d46cdd6ae283d1d() + { + $this->assertTrue(true); + fn() => (isset($test) && $test); + } + function teste0e2b7966e5f9711133bbb1ea2023113291c859347bb6ca853e5fec4ed90d404() + { + $this->assertTrue(true); + fn() => ($test-- && $test); + } + function teste171679cc8708a5ee91f3dd8ac9f7c74a476b7644b489854f1ada56b763b083a() + { + $this->assertTrue(true); + fn() => ($test > $test && $test); + } + function teste24e881ef65b682ad7f6c9c5fae3e0afa7dd9c3448c6ca6f98532b032515f3f9() + { + $this->assertTrue(true); + fn() => ($test == $test && $test); + } + function teste2b18df27ac08dc7cbd04d9208bc1e4d579041b164523319f1439180294a3f7e() + { + $this->assertTrue(true); + fn() => ($test ^ $test && $test); + } + function teste37ea08acbb2beb04d25a2572d89b594d2d2eb1dc33fc8025be079b3e664e338() + { + $this->assertTrue(true); + fn() => ($test === $test && $test); + } + function teste3eb4a1f7fa055b2802fe7599843b9a9f1abf308a8f7088ed354f821d8749fa7() + { + $this->assertTrue(true); + fn() => ($test | $test && $test); + } + function teste470a4d9da31d13877faf3382cdc5ca7aa06b99ca9017b95291cce88dca6396e() + { + $this->assertTrue(true); + fn() => (@$test && $test); + } + function testee765e5be48cf87be158e26c34eb54f64f776a2d6bdc036e754a8198786b69a6() + { + $this->assertTrue(true); + fn() => (($test /= $test) && $test); + } + function testf37f908fecbcf14d3c3649a5167608963474c6177415a1971cb1e353e71d5467() + { + $this->assertTrue(true); + fn() => ($test && ~$test); + } + function testf44da0acb094124e68de264e75239da15191bf46bfe1ef1458cb9595ef6ddde8() + { + $this->assertTrue(true); + fn() => (__TRAIT__ && $test); + } + function testf4c86091c52c95f65797a7312dc2c4aeafde685dd871e5fd5599cf2c0fa3769f() + { + $this->assertTrue(true); + fn() => (($test and $test) && $test); + } + function testf7274ade172677b79c5181c69a1122c9ecf6a997e9348a67fb8b403cb543cab5() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ && $test); + } + function testf8fa35216e2cfd9bdf4f19ee31bf9ae42e5746430dbbc390a5d45a847ccca792() + { + $this->assertTrue(true); + fn() => (($test =& $test) && $test); + } + function testf97e3478c305505b0b0f92a2bb070fcc8e649513401a5a2aa3790977a1077ecf() + { + $this->assertTrue(true); + fn() => ($test++ && $test); + } + function testfae45304e044a18a196cb634c712cb2aa13df1ff40794fc2dab035c24e452cea() + { + $this->assertTrue(true); + fn() => ('test' && $test); + } + function testfca51c0e97c454374edf7386b730c08575d71506a6e73ac0ba7fcd3e292f3115() + { + $this->assertTrue(true); + fn() => (-$test && $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test.php b/testsGenerated/Target/Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test.php new file mode 100644 index 000000000..74c447981 --- /dev/null +++ b/testsGenerated/Target/Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiond24f8c8a75ebef7d09da21e5c41a85d17f86a31dae055bad15fab1137aea2664Test extends TestCase +{ + function test05e2642f62d44465514f4cce130188abadcf53612c5fb39acf03e73c84fb6a75() + { + $this->assertTrue(true); + fn() => ($test << $test >>= $test); + } + function test066321175ce89f8f6cd0242038b715e04a05d6483d4aaa3da43628a99aad93a4() + { + $this->assertTrue(true); + fn() => ($test >>= $test && $test); + } + function test0747eee6702dc4e612b5afa9c4013725cde6fde41e18de3b3abcf61c940efee5() + { + $this->assertTrue(true); + fn() => ($test >>= (array) $test); + } + function test08b0c0d8921caf872f6e5a7b575054055d41f8da9893c1c01ac6bb066db2a13a() + { + $this->assertTrue(true); + fn() => ($test >>= $test =& $test); + } + function test0ec658922b0d312dada899ca97d9687eba7f3d5985b0cf41b7b744078ae4aff6() + { + $this->assertTrue(true); + fn() => ($test >>= new $test()); + } + function test1096bd377f42c87fcf78968820346d2f4dcb18f3f63028f08fb7619b4cafdb0b() + { + $this->assertTrue(true); + fn() => ($test >>= @$test); + } + function test1340293bcd120a4aaab79fd2a30ba54b05cd82d873357400c9acc8e2113b716c() + { + $this->assertTrue(true); + fn() => ($test >>= $test ^= $test); + } + function test1aa18da660a74bf4c5dc911ae504736680e5f2d206ca809c654cbe4e754ae269() + { + $this->assertTrue(true); + fn() => ($test >>= $test()); + } + function test1b4f4d45c13246d84070cd1bd8029ac9269c8b489f8ac9ebd15ad6bb163e2e59() + { + $this->assertTrue(true); + fn() => ($test >>= $test >>= $test); + } + function test1e132835a8b1f3ba7eb88a6ea8d8d33391488e2a4c935bb31c5f996d19365056() + { + $this->assertTrue(true); + fn() => ($test >>= $test .= $test); + } + function test1e4de555c496efe2702078a13b4ae5b10256acce138621fb808367aeeeb7fcdc() + { + $this->assertTrue(true); + fn() => ($test >>= match ($test) { + }); + } + function test23a8f5add7cd9572184bff4ba3ff551cfaf474978ac0059623019b3e72ac7cf4() + { + $this->assertTrue(true); + fn() => ($test >>= (yield $test => $test)); + } + function test23ebddec5284d1fe678935bfdec12171e3685b5f9d99bfce7ebf538055eba681() + { + $this->assertTrue(true); + fn() => ($test >>= (yield from $test)); + } + function test25da471d8d61846117492d78164e2cc999480b185e58bfb2c22dcb937ba83984() + { + $this->assertTrue(true); + fn() => ($test <=> $test >>= $test); + } + function test263ca28425316a00c3a7404ee92f57a38ed35fe83ba7cd19017b954967b76449() + { + $this->assertTrue(true); + fn() => ($test * $test >>= $test); + } + function test29fd2ec119ab6e85b0dd09a56e9b87f222fe6888fd0dbc4680e1124b889e182f() + { + $this->assertTrue(true); + fn() => ($test >>= empty($test)); + } + function test2c958586ae45008ca35201b39184273f412a7ee1e0925fc450667d404fc95f17() + { + $this->assertTrue(true); + fn() => ($test >>= $test::$test()); + } + function test2fff5f4307bbdfa1f43eb7e9b5a103ce08a5a566cc460059dfe866d1b8af2f7e() + { + $this->assertTrue(true); + fn() => ($test >>= ($test and $test)); + } + function test3042748e93f2e3da040455ab8d8a90178b9f91b074518b0048df13b3ba38c05d() + { + $this->assertTrue(true); + fn() => ($test !== $test >>= $test); + } + function test3049969333fbcba32e22ab687deec8888fd5ba355a9f1c0c5d53b219d31e3ecc() + { + $this->assertTrue(true); + fn() => ($test >>= $test ? $test : $test); + } + function test32ed6c3854331f62faeecd7665c1646dc7b48d7d00d704e2089790aa665c3062() + { + $this->assertTrue(true); + fn() => ($test >>= +$test); + } + function test39a75ecaaad0412a02c18191673325d20430af206a8d2ec349cd6f117e8bc012() + { + $this->assertTrue(true); + fn() => ($test >>= $test % $test); + } + function test3a4881e5584cb2b6723d28c7c41e2e2a2765b294df84b1c7e22be11b7a2f69f0() + { + $this->assertTrue(true); + fn() => ($test >>= $test /= $test); + } + function test43046de8e11149c01735c5de233f3883f6b0d38f26ffbd0e73207f8bb4a0633d() + { + $this->assertTrue(true); + fn() => ($test >>= $test !== $test); + } + function test473c6992664a3538313a5b0fffd278b943a3703dd76a16e62b61b17c29a52734() + { + $this->assertTrue(true); + fn() => ($test >>= !$test); + } + function test4837e3134a6bc3ef03f1c54eb147056fc275aba35fae4a1dc9676a44798f3cce() + { + $this->assertTrue(true); + fn() => ($test >>= $test == $test); + } + function test496929c0756d62909014df8d6ce361f1e331bf93194fc9908342b34f74fbac01() + { + $this->assertTrue(true); + fn() => ($test >>= $test--); + } + function test4e58a1040286361088db1dd7d5331d8cb85c90a5e04749156ef027eb8479f1ec() + { + $this->assertTrue(true); + fn() => ($test >>= $test >> $test); + } + function test4e5aece1ba2a98141589e4e1b373ab77eda62e94e7514f64882c7023b79642c9() + { + $this->assertTrue(true); + fn() => ($test >>= $test <= $test); + } + function test558bf12060d1f0f10ec9b74f16c323d0e61ae6d94a83fa334bb5f2c6fdc209b2() + { + $this->assertTrue(true); + fn() => ($test >>= $test -= $test); + } + function test561f56465419a5a13db4222eb6b345ed5ef46c7d1494e291fea2934a1b1cc819() + { + $this->assertTrue(true); + fn() => ($test >>= $test::${$test}); + } + function test587da37e3a19050cf9f60a534136983821e094d0245c6d823adf71374b62ca5e() + { + $this->assertTrue(true); + fn() => ($test >>= $test || $test); + } + function test5c22dfd89356a8fbdea53599c81d5ce595c3f0791f5acaf7fbaeb07d8ccf6164() + { + $this->assertTrue(true); + fn() => ($test != $test >>= $test); + } + function test5d09b92eaedce5c98d072f2b499dcd8e0787dda02a568bea31d406c3dff7eab1() + { + $this->assertTrue(true); + fn() => ($test >>= $test != $test); + } + function test64d2dc316cc3507524104c852ee43865f7df44845dc57ebb589770c0cbc842dc() + { + $this->assertTrue(true); + fn() => ($test >>= $test . $test); + } + function test6637f9ebc6352475b2e5f90bae7f8b84a442bf56c8b3038d4a062a1542840f4f() + { + $this->assertTrue(true); + fn() => ($test >>= $test < $test); + } + function test674d270cd3c46209caca3177631934b77f8c2334efed2ef7c7fb0a335dd1899b() + { + $this->assertTrue(true); + fn() => ($test >>= $test > $test); + } + function test733e5cc61a0a908eab1afed4fcb7a2a91d817df4d20d21e8eff87c93961ac7c8() + { + $this->assertTrue(true); + fn() => ($test >>= throw $test); + } + function test7545a8e75765d8b72dbe20dafb6feb09ef31910c5ffb32305d7392977b243e56() + { + $this->assertTrue(true); + fn() => ($test >>= --$test); + } + function test773bae235d79ffe115936ad1f33836d1430508b37c53bbc3b458c9adaf1dd08d() + { + $this->assertTrue(true); + fn() => ($test >>= isset($test)); + } + function test7ca057087ff07df7a7b1301605351b03fff5a27d290f2876076a92bb380b6093() + { + $this->assertTrue(true); + fn() => ($test >>= ~$test); + } + function test7d246b21d59b9acf8dcfa9edb4711229191a0593432f1f4db173eb0e948a59ef() + { + $this->assertTrue(true); + fn() => ($test >>= []); + } + function test7db8e6012cc7f3a9d354bff3295ce84825e1872340be916cccca2966af828f3d() + { + $this->assertTrue(true); + fn() => ((string) $test >>= $test); + } + function test7e26b534f8cdaa3eff36fceee2640df2fe2f1b402668d4b1a8b30df41fa5db12() + { + $this->assertTrue(true); + fn() => ($test >>= $test *= $test); + } + function test7fba65b544b5d9c0af73aebbdddafe51019cbe1828a42dcfcc3c31f9b7e8bc06() + { + $this->assertTrue(true); + fn() => ($test >>= $test?->{$test}()); + } + function test7ffdc6e60395d644ed9a27e32e1a1fec334d48eea125c3d998961c90e3dfcd9d() + { + $this->assertTrue(true); + fn() => ($test >>= ($test or $test)); + } + function test80b72c3fee686d6f1c47cf99690a196a7ab9fae4e3b9c05fe0f16a66b529fd53() + { + $this->assertTrue(true); + fn() => ($test - $test >>= $test); + } + function test80ba550e17fec5224520cdd84ab435a161b0c80c07389c6217290cb73070f6a4() + { + $this->assertTrue(true); + fn() => ((int) $test >>= $test); + } + function test815dbecf24660cea429813b49d27514a2ae7aec0a3e08c72b1ef2b100a52d096() + { + $this->assertTrue(true); + fn() => ($test >>= ++$test); + } + function test8222f94b0c41754d0f0f53df592880df19d763f7dc4b2144375392a315491eb0() + { + $this->assertTrue(true); + fn() => ($test <= $test >>= $test); + } + function test8a750fb43b8b2f9d0b408ac47df4e13d73bad6a598d7d688c0a5cfd9941d362b() + { + $this->assertTrue(true); + fn() => ($test >>= ($test xor $test)); + } + function test9317315ee92139892b36ed300e70508a99b06d342bbf63c02418f750f210f725() + { + $this->assertTrue(true); + fn() => ($test >>= eval($test)); + } + function test99832cd15fdef22391d67aa58b80723b85e4f7c068d6d52f199c4e06b81bff7b() + { + $this->assertTrue(true); + fn() => ($test >>= $test->{$test}()); + } + function test99dc6ecbd76d644fe7a08e93b0987adf088ac85d5733a41e676dae329ed6781a() + { + $this->assertTrue(true); + fn() => ($test >>= -$test); + } + function test99ef23caf1ecd22a664da9f677e95d3cac8f9074d79846bd06b0023e6ad04e87() + { + $this->assertTrue(true); + fn() => ($test >>= $test | $test); + } + function test9a758883d634fa0209362d276f639ddf99f51cb223d1d5697cff870eb50f07f6() + { + $this->assertTrue(true); + fn() => ($test >>= $test instanceof $test); + } + function test9e2e4f8fb2826e37b07794c8606df10a8cdfc02b353a826a3436217f56669a3d() + { + $this->assertTrue(true); + fn() => ($test ** $test >>= $test); + } + function testa1329306621955872696f7b3db88dde5885dbebf62e1ae97fd89d3a2d5e0e52e() + { + $this->assertTrue(true); + fn() => ($test >>= $test / $test); + } + function testa2bcbcedf4afea5ae0e6fb20888771382884b84904f2f31fb580cfb997349d93() + { + $this->assertTrue(true); + fn() => ((double) $test >>= $test); + } + function testa5666fda0e6c2a9c8af053bb8a035a780365d8208d0594655989b9c8cb2a01af() + { + $this->assertTrue(true); + fn() => ($test >>= ${$test}); + } + function testa704c60b0c631189948d9b31420940deb0c5c56fd5c3d80501a21d0434b56b40() + { + $this->assertTrue(true); + fn() => ($test >>= $test::$test); + } + function testaa1985cf0852d0b4d54db021923827e59bfdb38e3e02a49d84aa1b8d985b1d60() + { + $this->assertTrue(true); + fn() => ($test >>= ( $test)); + } + function testae1aaacc93a96405076ae6dea104196af0c5789a258497355cc42c2dce6e405d() + { + $this->assertTrue(true); + fn() => ($test >>= $test->{$test}); + } + function testae72a417b79d94d3a3a566c3817197ae1a87b5a47f6b5b86495217f3ce3ffc59() + { + $this->assertTrue(true); + fn() => ((object) $test >>= $test); + } + function testaeba89c0dc45afb147ba8fa7747c89785d0da2f204358c4c1c07deaaab59cc47() + { + $this->assertTrue(true); + fn() => ($test >>= $test === $test); + } + function testb1c2802d56b111c03d5fa2a5666ad99d7265a6f49f7a35aa77382e5680c34bc8() + { + $this->assertTrue(true); + fn() => ($test >>= $test >= $test); + } + function testb1cd2322064352ea0f77f193f3bd8bbf313b5204b8a7da26bbf31aa8ece3c2f3() + { + $this->assertTrue(true); + fn() => ($test >>= $test * $test); + } + function testb5dc23948a3ff70c97afa042eded8dd959483e7eb790eb46b6cb374b338f6de6() + { + $this->assertTrue(true); + fn() => ($test >>= $test = $test); + } + function testb9d1123d7e2a30fe69fb0549063b412fee758e49646a60edffbbcad7e08fd662() + { + $this->assertTrue(true); + fn() => ($test === $test >>= $test); + } + function testba92d23c7cb1a108588fd8c1ae9471e348aee6eac45114d1fdd0ece6cee7368f() + { + $this->assertTrue(true); + fn() => ($test >>= $test[$test]); + } + function testbdd73ffaa7de3827a7084bc3df3ca2c594f204e163bd1a57ea0385f3bc0f8fd8() + { + $this->assertTrue(true); + fn() => ($test >>= (bool) $test); + } + function testc4fa335f273fdf9dc21649ccb5c7398e7f31ec7e4d1282f0e3c798e7163b0c39() + { + $this->assertTrue(true); + fn() => ($test >>= $test **= $test); + } + function testc7167ec13c825e1142a074b1fb8a193ad5e573a3aab6efdc6fb922d34d01f7fb() + { + $this->assertTrue(true); + fn() => ($test >>= $test += $test); + } + function testc7a3ee791ce3bf1ab47e5247cba018af6b619004301e9c1f4e665ac54c4af165() + { + $this->assertTrue(true); + fn() => ($test >>= $test |= $test); + } + function testc9c315718ebf9a918b78588a79d91a7a1ed23aa9d7b84c32e606d860dd3f62b7() + { + $this->assertTrue(true); + fn() => ($test >>= $test <=> $test); + } + function testca587a136bd433a2d57e3bf268a334eff4fc9456bc7eed3ac8f34c83d9e5c4fb() + { + $this->assertTrue(true); + fn() => ($test < $test >>= $test); + } + function testcd147741b537d62de08b658b5f747307141dfb279b9da7ef3a301946475365b7() + { + $this->assertTrue(true); + fn() => ((array) $test >>= $test); + } + function testcfd2072c17ae846794a284510876f3342bdf55c11e411d7f1c8e65829bd4c835() + { + $this->assertTrue(true); + fn() => ($test >>= $test - $test); + } + function testd009cb2caa0c410828ddb9cb36b918f34dd8bde02d0c7a46fe35c06441b77e03() + { + $this->assertTrue(true); + fn() => ($test + $test >>= $test); + } + function testd101c436f542177b3b56d79b242aa02a9f66aaa7ca0935adbbb8f821abcd0f1b() + { + $this->assertTrue(true); + fn() => ($test >>= $test << $test); + } + function testd36657506c8ae28609d7ab1bc5691d08e9a2fc2ddac3ae8565a1019e9ac471eb() + { + $this->assertTrue(true); + fn() => ($test >>= $test ?? $test); + } + function testde8cf0f74e1b6b3f1db0cce4af5d53390aca377f247b4e3d1a949abefafb16f6() + { + $this->assertTrue(true); + fn() => ($test >>= $test <<= $test); + } + function testdea2df8ad1e2e0404dbc9a5f50c46d6f60f364fc6ace6622b664ae2585d395d0() + { + $this->assertTrue(true); + fn() => ($test >>= self); + } + function testdf3439d4456b7bedf6c8f4e72136d71a69d6cc8ca9788b6b8028c24023fc5bd8() + { + $this->assertTrue(true); + fn() => ($test >>= $test); + } + function teste15b332bd1de2e301981127be05baa15d4df82a8dbb9092dc7edc8b30215d942() + { + $this->assertTrue(true); + fn() => ($test >> $test >>= $test); + } + function teste19adb56013b648a9fe8174657880c2ad40c9c9143da456ac5fec8faadd8d9a8() + { + $this->assertTrue(true); + fn() => ($test >>= $test ** $test); + } + function teste29e96c473471e02e2e9f7c5e31cd5a6812f920a60ea95907efe3064bd6a4c10() + { + $this->assertTrue(true); + fn() => ($test >>= clone $test); + } + function teste2d85a9bceabfb04488bb5bb4c0271aa2667dcce5bacb5b0fe81208b3bcd1a71() + { + $this->assertTrue(true); + fn() => ($test >>= $test & $test); + } + function teste4db03cfd2ac53b3932e873ee685cee100a743f3b53bcd29c60e4fe78ca1ed50() + { + $this->assertTrue(true); + fn() => ($test >>= $test %= $test); + } + function teste6ba011f8c99b51bc16c3897edfcb884e8ccb205fdce31229f593968bf07f92b() + { + $this->assertTrue(true); + fn() => ($test >>= $test?->{$test}); + } + function teste7998f735d459ac77ce881243e87573fad49861c3252c302b2808497ce1b6ee4() + { + $this->assertTrue(true); + fn() => ((bool) $test >>= $test); + } + function teste89198fef259e6934d807f664ada3b4a508df5746d52855d32332b6ce0bdfbd9() + { + $this->assertTrue(true); + fn() => ($test >>= $test++); + } + function teste8aef71cf66a937eb8116b7960c2916919819a3aaf04d5cd0e36233df9b3f055() + { + $this->assertTrue(true); + fn() => ($test % $test >>= $test); + } + function testec070ccb294b8cacc94cc86cd796d5dd5f30c5969049c59266a801b3b80ebaff() + { + $this->assertTrue(true); + fn() => ($test >>= $test &= $test); + } + function testf4351993e69239f35decca0041789a4eb37c35a181c82b5cd726477304d05a7c() + { + $this->assertTrue(true); + fn() => ($test >>= ``); + } + function testf50995b4089c8991b07f4b9253d1abff08b5dee84a70e24d76bc237a40241df9() + { + $this->assertTrue(true); + fn() => ($test >>= (print $test)); + } + function testf779adf50f5fee124d7bbc53d7b1d13bceaddf4479595655807740bda6593a85() + { + $this->assertTrue(true); + fn() => ($test >>= function () { + }); + } + function testf8721bab92216745570fddc5e23d8c5ba0d57a5002bd4cf502021f6de4815cf2() + { + $this->assertTrue(true); + fn() => ($test >>= $test + $test); + } + function testfa91ccd44798529be4078389c4cd7fd2ba45aecfddb4e6ab460b0076fb88bb45() + { + $this->assertTrue(true); + fn() => ($test >>= $test ??= $test); + } + function testfd6f46a8b5acf479014d59262cdf602e539ab64482b4051002c1f27019f4b583() + { + $this->assertTrue(true); + fn() => ($test >>= $test ^ $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test.php b/testsGenerated/Target/Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test.php new file mode 100644 index 000000000..1feec1fe1 --- /dev/null +++ b/testsGenerated/Target/Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiond2c5d233c66b1f76d90fb8ad08d4dcb84f5f9d192f860deeb4db22c425cef1a3Test extends TestCase +{ + function test0001b03216a1d80ca4f553f4dd0af7aee8914a7b0692be8cd7c86f7f1225ef13() + { + $this->assertTrue(true); + fn() => (($test != $test) . $test); + } + function test080bce8a5d449574200440df807f842e71b67c686c9eefb622731398b62d1c3f() + { + $this->assertTrue(true); + fn() => (0 . $test); + } + function test08aef67b575eb75c748afc03f927a3b435c1f225952718b7b6dad070bb750fec() + { + $this->assertTrue(true); + fn() => (($test += $test) . $test); + } + function test0acb23868feecce7a0dd30258c711d2bb92313b043844a6cd2b7ebfe1dc286df() + { + $this->assertTrue(true); + fn() => ((double) $test . $test); + } + function test0acddaf616d4692a8143b16e85f6e9e33468bf93cb86f8721a8846888cf20a9d() + { + $this->assertTrue(true); + fn() => ($test . @$test); + } + function test0b42aad0a91da72dd03fae6b1c1561722097555c3e03f8ff922e803ce2dde5f5() + { + $this->assertTrue(true); + fn() => (($test <=> $test) . $test); + } + function test122fbb80e1330aefd418733620d5de37b206365cf9666f2fd03aacc473c2845b() + { + $this->assertTrue(true); + fn() => (--$test . $test); + } + function test12459d306e502bb7b0f28add9911dd4411fc542c7f546a038d29dfc84f2956ee() + { + $this->assertTrue(true); + fn() => (($test >= $test) . $test); + } + function test134f78b47260723c886f1c8dad73be3892da6c847167404fa6bd6bb9a04cd28d() + { + $this->assertTrue(true); + fn() => (($test ^= $test) . $test); + } + function test1545be0fadcdeae62a7b692e9c9bc3e334687b9c5a09fa32016285d964c6f6de() + { + $this->assertTrue(true); + fn() => ($test . match ($test) { + }); + } + function test15dc3c00a40e888231c8d7ec813634e0f567d6b1a9b1aa7850fb1a57a191e784() + { + $this->assertTrue(true); + fn() => (-$test . $test); + } + function test1ce6256995e89d78096f504fc670fd8edeac64555feda6ebc837f16475b9cfdf() + { + $this->assertTrue(true); + fn() => ($test * $test . $test); + } + function test218b3d5ac4ea70fdac9c50033ca4c467c96b088510e7eef2015c6f03f3baa161() + { + $this->assertTrue(true); + fn() => ($test . $test?->{$test}); + } + function test231803dfa6c02d1288cd44917ca1283c0942bdd7aa3127724e01fa0044c1e162() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() . $test); + } + function test26a6a00f07af9becca20f06cb7f111f5bdfbee9cf2efdf9faa4d7e2088177d2d() + { + $this->assertTrue(true); + fn() => ($test . ($test = $test)); + } + function test28b43fec41706254fd62872b476f74b0b40dd7dbc1c9d1c2e2c9d39aab28c5ea() + { + $this->assertTrue(true); + fn() => (__FILE__ . $test); + } + function test2a9c55f9263bdb1703045aa5f21470d3f45df58b67581221a784272f37d57df1() + { + $this->assertTrue(true); + fn() => ($test . []); + } + function test334fc274f50e02d262b887ec4c1596ff0b2991923841845217cdcf6862ad8d8c() + { + $this->assertTrue(true); + fn() => (($test || $test) . $test); + } + function test3350810bce4b85eae17ee03011a81390f05fc7db8fe09fe33eca4827fcd52945() + { + $this->assertTrue(true); + fn() => ($test - $test . $test); + } + function test34edb41da8b4ba47735d527e218abbb0b6ebb352787ebbc158b1869afadecb81() + { + $this->assertTrue(true); + fn() => (__LINE__ . $test); + } + function test36e9b88af35eda9510c039d16224c9261c1275a8f5e836cc33acd19d7abb66c6() + { + $this->assertTrue(true); + fn() => ((bool) $test . $test); + } + function test39acad6c224681f31bcbb42203a659f6924dcc05af79e446d06b0ae5047c2556() + { + $this->assertTrue(true); + fn() => ($test ** $test . $test); + } + function test3a786eed3071fbb841fe3864552711bd032f3af74672e9f36b47d4461665290a() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) . $test); + } + function test3aa12ec2320f7665ae3831e4645265e5265cea6816028596329444eac5e73ea9() + { + $this->assertTrue(true); + fn() => ($test . $test?->{$test}()); + } + function test4040a079216dba0e6a1fc7d3609c1fc611f217d77481eacebba29ca3a352f755() + { + $this->assertTrue(true); + fn() => (($test & $test) . $test); + } + function test4589baa4825381ceb977a42621a8248139bc76191d18a961a0e4114367f21e22() + { + $this->assertTrue(true); + fn() => ($test . $test instanceof $test); + } + function test481162f29bcba36dc665afd530af532a7014516bd952bdc999b02ff9f69fb8e1() + { + $this->assertTrue(true); + fn() => (new $test() . $test); + } + function test4a6a6579f173d84084f35d4cc2e2e88ebbe65f0877e2cfe2d35d9f3c5e4daea5() + { + $this->assertTrue(true); + fn() => ($test . $test->{$test}()); + } + function test4ae443248eb572b53dec264d0303604b349e8fbf0e858c747e9c73fc661c043f() + { + $this->assertTrue(true); + fn() => ($test . clone $test); + } + function test4e23b7119928ce28902157abcad3117c31b56bc5de8401f965eff9a973037772() + { + $this->assertTrue(true); + fn() => (($test < $test) . $test); + } + function test4e7889e51084286607273e6e6703fae8205b4d2c9e2b88ccf2640f6d265201ba() + { + $this->assertTrue(true); + fn() => ($test?->{$test} . $test); + } + function test4ff7521645417e20a69ffaa365da028283f14bddfb361987dad592bf02b48c6a() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) . $test); + } + function test52dac888a8dd8d85fdc89746cad11ba811ba1036279900c19ba3ffb50365b076() + { + $this->assertTrue(true); + fn() => (throw $test . $test); + } + function test548a8dcf89d956b5f03b748c5bb46044caa5ef8ef56cccfdab45e6b60cddfdd7() + { + $this->assertTrue(true); + fn() => ($test . $test::$test); + } + function test570d37c215f2d20d9a5e8cf3ea05c7d4cadd4479911e7b280809f355232878fb() + { + $this->assertTrue(true); + fn() => (0.0 . $test); + } + function test577b71a4e7e143dd4f2094f4623d994c8a193d1c87c310c68a2a0d8480293819() + { + $this->assertTrue(true); + fn() => (($test && $test) . $test); + } + function test60072bf5fbceedfab8fa867bf55c263449eb95b8da6dd093c0b6c230cf688cad() + { + $this->assertTrue(true); + fn() => (($test xor $test) . $test); + } + function test6048e7b1cec76c22274e1a4d42793fc33f5632713d59b8bc5acb053dab01fcc4() + { + $this->assertTrue(true); + fn() => (($test and $test) . $test); + } + function test64365ce3f358fed68d91afdd476ff1658b8f8d0f59fcb39ff2a1a8d640ca9d14() + { + $this->assertTrue(true); + fn() => ($test++ . $test); + } + function test67a773dd20d69ee444fe954cf1e9720fe3455c257e683a5c4af8d1482be36ed0() + { + $this->assertTrue(true); + fn() => ($test::$test() . $test); + } + function test6b80203c24535cae55d802f6f69151fb594ba266531baf4ff41f655e16d94de6() + { + $this->assertTrue(true); + fn() => (++$test . $test); + } + function test6b9fd532ffea15ceec5d2cf60e08f2ff34d969fb6a2af3c49e1b1815166c03c9() + { + $this->assertTrue(true); + fn() => (($test !== $test) . $test); + } + function test6d4bfc0df422b9eef69c95fe8e630d36f2c6d1523950110243b167e5cb2a7140() + { + $this->assertTrue(true); + fn() => (__TRAIT__ . $test); + } + function test7156962874fead2c8e2ce37ca538ec5b744b76b7b447a0259b71d90716618aee() + { + $this->assertTrue(true); + fn() => ($test . !$test); + } + function test720113419ef4b5d36be1afa8fdbe12de1fbec98234f719026f327f4c233ee5c5() + { + $this->assertTrue(true); + fn() => ($test . $test[$test]); + } + function test72cfe8dcc49cb46126af8a46f99f673b5595f2c0d8ffa66d1bb666f80ad5e362() + { + $this->assertTrue(true); + fn() => ((array) $test . $test); + } + function test7a86c175185ed1b3c781a483857ea1b43ff2315bf168f8e65017e64b3a2aa3f6() + { + $this->assertTrue(true); + fn() => (($test ?? $test) . $test); + } + function test7af6990bfd02924d41718ecd76f71639106b30bb4ec96a4527e16cc73b9d58a4() + { + $this->assertTrue(true); + fn() => (($test .= $test) . $test); + } + function test8559fdcf366b1c2ac1a5ecc6087b7d3f41e67e82cce34d7774f64124c32c1375() + { + $this->assertTrue(true); + fn() => ($test::${$test} . $test); + } + function test86b90ebae68e6f51975eed994f0f5c99bb67aca9d7a421e2f8cd430cffc42651() + { + $this->assertTrue(true); + fn() => (($test > $test) . $test); + } + function test87538b19dcc6501549184a983ed59a2b2fec97ef6a90fba2ebb1df40e680be25() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ . $test); + } + function test890589fd4424e7db60a2df0aaac91af87e08665500bd574e7e257da992cf768e() + { + $this->assertTrue(true); + fn() => ($test . isset($test)); + } + function test8970e78bb96fecbed82db9bdef3e8e55508f606d3b32c650f04a3ce47bdc4c22() + { + $this->assertTrue(true); + fn() => (($test or $test) . $test); + } + function test9162238176f0f286769f6d99622a81b5a0a5446c2dcd3826d503ffc52df5dbf2() + { + $this->assertTrue(true); + fn() => ('test' . $test); + } + function test945255ec530430572c3ca5d4aaf8922ebc97eb2a7f46cfb57aaf2be935896d5b() + { + $this->assertTrue(true); + fn() => (($test | $test) . $test); + } + function test9992a21ba57592aa541fa4db3d75b8e7231c7718a95513b8a0cbd4b75aa11199() + { + $this->assertTrue(true); + fn() => ($test / $test . $test); + } + function test9b583934beca3a698d3b9e3754b061476de1f3f57a98ab8540ab4929b58aab2d() + { + $this->assertTrue(true); + fn() => (($test == $test) . $test); + } + function test9fa200190653c25d7f1ab7727a62db3dc614a2f726f97e5c35fdaccceaf6eb53() + { + $this->assertTrue(true); + fn() => ($test->{$test} . $test); + } + function testa387f9fcb394102703dc81c29cbf5dfd907ac5f01a9136a3f128215eb4c249cc() + { + $this->assertTrue(true); + fn() => (($test *= $test) . $test); + } + function testa52dc312c3ec0aac3d670d454b0c1ff04a8e526beccee59d780caa3d50b7fcd1() + { + $this->assertTrue(true); + fn() => (+$test . $test); + } + function testa72942f52f0b53973e0f0f23ed84261c9f94f043e26219650dde461e5b04ecff() + { + $this->assertTrue(true); + fn() => ($test . function () { + }); + } + function testa8395703c4d46d6bde88862b03c0869be9dbea6c1270774da60d108433957578() + { + $this->assertTrue(true); + fn() => ((print $test) . $test); + } + function testaa8e92b76e8c8550d9f4cbf8b06910bf56d7c62d7aa3c43779ace4944b71ea48() + { + $this->assertTrue(true); + fn() => (__DIR__ . $test); + } + function testaba3290352f60a4d349d448aefa2e8cec82892c7199c2f524fd584259789abe7() + { + $this->assertTrue(true); + fn() => ($test . ~$test); + } + function testac3c1d9ebdcc9561d1d3f8aa2c726e07dae07746a15db09eba4a2496633d2f8d() + { + $this->assertTrue(true); + fn() => (($test **= $test) . $test); + } + function testb208810e5246f042068954ef668047f1a52bb54de2571d4c09fce98e326794d3() + { + $this->assertTrue(true); + fn() => ($test . new $test()); + } + function testb4c6f401e25d97246870d416eccfde2d86637ca4fb6b8427742f4bfe7c253f4e() + { + $this->assertTrue(true); + fn() => ($test . eval($test)); + } + function testb53883ed199cf314f9a27ef295b905239b0f593c6826ca2173ea565227bd6473() + { + $this->assertTrue(true); + fn() => ("{$test}" . $test); + } + function testb7f75d8e9296cadffc9f2da0d0f7c08b38f2d30ca0d40c7bd2db873093f93072() + { + $this->assertTrue(true); + fn() => (($test === $test) . $test); + } + function testbc7f3f4988cf0d7d4698a1527ac747cae3d9b00b4b53041e71394f52b08ff469() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ . $test); + } + function testbdd174efebbbc7f2bda20e12e1eb361757c53e481681a36fe544928872482780() + { + $this->assertTrue(true); + fn() => ($test . self); + } + function testbe8a90f49cdd13f38e896f4bc367c7e9b7299d8ec381ddf8d59ad0a9520d0c75() + { + $this->assertTrue(true); + fn() => ((string) $test . $test); + } + function testbf94e5e93c0018c0ca66a7b3fd9d34ace4b7b286670e986f1d76020af55c171c() + { + $this->assertTrue(true); + fn() => (${$test} . $test); + } + function testc1f48a38b318a5ad0c407f2daec702b86791ea35c640157ce060ca457a0df5c4() + { + $this->assertTrue(true); + fn() => (($test -= $test) . $test); + } + function testc4dd3cb6890873239036ee9030714577c0eb5876feb16ade601d9069442134e5() + { + $this->assertTrue(true); + fn() => (($test ^ $test) . $test); + } + function testc7c7293b3287cb3d994dd18b491f3060a821d3688e6b5e9cfc94b836b7e10c0d() + { + $this->assertTrue(true); + fn() => (`` . $test); + } + function testc99d7706649f21e59372a09003dc32ca01f38fcd914fe94a5db0af880b3f3446() + { + $this->assertTrue(true); + fn() => (($test |= $test) . $test); + } + function testca2738919a63444898158d7de0d262bca60cf0a26d866d26ccaebe4b679c714f() + { + $this->assertTrue(true); + fn() => ($test . $test()); + } + function testca31e2ca59fbb0c2a80838d56091411419d5230799a8716b049ddbea200886b2() + { + $this->assertTrue(true); + fn() => ((object) $test . $test); + } + function testcc70cc3d00ef299b58e3c247684574aef6a3b4644cb8b027cca1a810efc4b0dc() + { + $this->assertTrue(true); + fn() => ($test . ($test =& $test)); + } + function testcc9fbb0b802e3fd455c3d8ef86ff3e944ab72acdc2aec309ce5f4335f1cc76d7() + { + $this->assertTrue(true); + fn() => (($test >> $test) . $test); + } + function testcf55ccb8c9d35e76ec015f534dbce330676d603a7f813c6a7b038ec52792eca2() + { + $this->assertTrue(true); + fn() => (($test <= $test) . $test); + } + function testd109618a98c0ac8a140be93dda11a7585c35aac02aded64ba761e2c4141cab3d() + { + $this->assertTrue(true); + fn() => ($test . $test); + } + function testd25dd8b5d3ac8d9ea3a229495b4f98d7f585a11cf9ee7570456eb861eea51dc6() + { + $this->assertTrue(true); + fn() => (($test ??= $test) . $test); + } + function testd39d37a838ba40936934c4235e21222321b93c1e009fea447460cb703f11fba0() + { + $this->assertTrue(true); + fn() => ($test-- . $test); + } + function testd7b22d9419567d4c10f4bdb8806459cbf353d65a13b382c6d1f7fe95df63744f() + { + $this->assertTrue(true); + fn() => ($test + $test . $test); + } + function testda71caf5961ffff1b1a4f473a3aaa90c4cb95effa6c6c565424d7ff479663e0f() + { + $this->assertTrue(true); + fn() => ($test . $test . $test); + } + function testdf177ced57b152c9899e77f8a7ff38b811b9fe4e31b1e3cdd9963371f959241c() + { + $this->assertTrue(true); + fn() => (($test %= $test) . $test); + } + function teste87aa6a36601412b7c833ea12bbbd0bde2cab120ee081eca57ea764a5e4be3ce() + { + $this->assertTrue(true); + fn() => (($test << $test) . $test); + } + function testeb89ed65269cce50f859fd464dc8e55e27e932a34efd973767b54dff1fb63531() + { + $this->assertTrue(true); + fn() => (($test &= $test) . $test); + } + function testedbd43abed260cba0b0139a07acff8652a00f3f4169f44ca5717eb2046446908() + { + $this->assertTrue(true); + fn() => ($test % $test . $test); + } + function testf04941641e257b3aead724f4e668c9a56ac439d0100651fdf7057d05952479c3() + { + $this->assertTrue(true); + fn() => ($test . empty($test)); + } + function testf1c0fc5f17eb88ea1b5172ad6139342600ede3f5dc53b344eb291aaf0edf3792() + { + $this->assertTrue(true); + fn() => (($test /= $test) . $test); + } + function testf22fc9704f16246d3ce8e8dcd891f6100fc8bf264db5bbbf29e4ed763cb19640() + { + $this->assertTrue(true); + fn() => (__METHOD__ . $test); + } + function testf91d1024a122e253ff16b49bc1209b808e5beb67dcd1af7463160f4851641865() + { + $this->assertTrue(true); + fn() => ((yield from $test) . $test); + } + function testf9b6afda4e38dad199367281687b7dab2c0d219cff9c858645d77d4d44d1d91f() + { + $this->assertTrue(true); + fn() => (($test <<= $test) . $test); + } + function testfaa4dd32770d1b809f69cc021b06d4a163a4dc6e9dc51433cc290c175600c141() + { + $this->assertTrue(true); + fn() => ((int) $test . $test); + } + function testfafd0ce94668a2a116a56b1e4b76cf9b257357ab8afc4cc69d9b7c65be0c3a22() + { + $this->assertTrue(true); + fn() => (__CLASS__ . $test); + } + function testfd9bfc9cbbe057cfd4d06ce2f721eb3ba9f246ea2ac433b609bf6d4201152832() + { + $this->assertTrue(true); + fn() => ($test . ( $test)); + } + function testfe0667910213c02ed4a9660882571c3f54fffb7d31dfe16d373c5b87fd2e7c0e() + { + $this->assertTrue(true); + fn() => (($test >>= $test) . $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test.php b/testsGenerated/Target/Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test.php new file mode 100644 index 000000000..2e06d572f --- /dev/null +++ b/testsGenerated/Target/Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test.php @@ -0,0 +1,506 @@ + + * @license MIT + */ +class Expressiond3e9a884efb61ff2509545e5219a5ddfe1c5f821473612566dc786b5de915ce2Test extends TestCase +{ + function test02688df3a5fe158f1a79503df999dc511618878604a5ab6ea3e232c009c66a43() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test?->{$test}})); + } + function test0590197ab2da5438a74f1040349f200e8e5ccf1cf7b195fade1a6dcb28008944() + { + $this->assertTrue(true); + fn() => $test?->{$test ? $test : $test}; + } + function test09f7474faecaab992769dfa51a4e7f0fe6fa1605f220beca68e1f29f7573b379() + { + $this->assertTrue(true); + fn() => (isset($test?->{self})); + } + function test0ab0b3c9a39fd96970758d2982145c970d1542ec30aadef7815203c4c1add290() + { + $this->assertTrue(true); + fn() => $test?->{isset($test)}; + } + function test0b2bea4c41ef067e3c1f8ab0187393d9bcb470a1885ba37783b5a8e2407e7c5a() + { + $this->assertTrue(true); + fn() => $test?->{$test}; + } + function test0c974302da78e707b4603629c8f05e218cb5316170550df2b1b846695e40450b() + { + $this->assertTrue(true); + fn() => $test?->{$test::$test}; + } + function test0cb5c4578608b38046c1b5db85180a2b5164b5a6c80acbbf2b8cc47899745e54() + { + $this->assertTrue(true); + fn() => 'test'?->{$test}; + } + function test0ce0544485ff90f8e586b87e0ed37f445a68786f184212da3abf30479f9da438() + { + $this->assertTrue(true); + fn() => (0)?->{$test}; + } + function test1155f47457d7afc2d2db9cd6ebd359661a947961b6e7111c3202b2fa5f657931() + { + $this->assertTrue(true); + fn() => $test?->{ $test}; + } + function test134d22bc5a83214346c515103ad346f91f10dfd05a930a25bafad77e9b3ebbb0() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test++})); + } + function test14ea21b052132135d2c90293ed950de4e9921237ca39e85ed178dc6cd55e1775() + { + $this->assertTrue(true); + fn() => (isset($test?->{${$test}})); + } + function test171c1733dd8a0964ce98eecc66291b4c52989f3ea7509684b3a75e60a30f3c9d() + { + $this->assertTrue(true); + fn() => $test?->{$test?->{$test}}; + } + function test1c37e3daec14a2c34519992ed470241f6e94a7bd00965353e094884349414ed5() + { + $this->assertTrue(true); + fn() => (isset((__NAMESPACE__)?->{$test})); + } + function test1c8f3ed1a910ccf3aedc778e66cb626a42bb307e16070c06826090be2b08190e() + { + $this->assertTrue(true); + fn() => (isset($test?->{+$test})); + } + function test1f7047f8e2870226b1cd58ad277b5afc134b2f979ddc8f63f25dfb4e9f4f30f4() + { + $this->assertTrue(true); + fn() => (isset($test?->{match ($test) { + }})); + } + function test234fa6d2fbe9274f4a1dd26460f3d2ce527b7747b95512b965b093b62e45ad01() + { + $this->assertTrue(true); + fn() => $test?->{new $test()}; + } + function test2cb0eba5fa9f69b2b8c09c9b90763743189bc6e823feb0a9e8c770825a1bf0d1() + { + $this->assertTrue(true); + fn() => $test?->{match ($test) { + }}; + } + function test2cc9ade07f0bc68da901755d109cf0da08b3b30340df32b06a1855fd8fbe75f8() + { + $this->assertTrue(true); + fn() => $test?->{-$test}; + } + function test30f22d47fbb7d40087857bd410b1be20f5cae167bfdf7a77219f9456df6721be() + { + $this->assertTrue(true); + fn() => (isset($test?->{isset($test)})); + } + function test3271145e933191347ff7159917ac6cd9d5ddf381d706512069277c2e25ecd376() + { + $this->assertTrue(true); + fn() => (isset((__LINE__)?->{$test})); + } + function test34a5d0fd401978d3735694c9329557dd2c4933aab930e377b227b22856678845() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test?->{$test}()})); + } + function test34d4c72c8d251c349e61d5b5b9659186b5e051fc9b14338296d237e0b45e6361() + { + $this->assertTrue(true); + fn() => $test?->{$test->{$test}()}; + } + function test37d926483012dc697242732220701f46fa994e75cc70b9f89c4daa676fa5c32c() + { + $this->assertTrue(true); + fn() => $test?->{$test[$test]}; + } + function test3f27d129cffd26765d6f8f6ee29cfbc043f8f13dbe4feb59501bfacaa617e26e() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test =& $test})); + } + function test417ffd2e3abd01bf225afd0af1b9f140493a6b5008ff651e8b32670f11ee40d1() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test->{$test}})); + } + function test430efd6f52173a32614b1faec6e07958d7f137931853ccb6db167cade870e98c() + { + $this->assertTrue(true); + fn() => $test?->{$test?->{$test}()}; + } + function test4475dd4bb9f2f4567369ba298c9e2a49ef8b898becc8d80e78fd1c27a2ec9f7f() + { + $this->assertTrue(true); + fn() => ("{$test}")?->{$test}; + } + function test45bb30132467932f21bc1750fd4f705486e5e425b98c4871a73f67553afafbc7() + { + $this->assertTrue(true); + fn() => (__LINE__)?->{$test}; + } + function test48297e805eb028429013ec5d97a837101de255ac4ffce49c2a3bddd7a613b52d() + { + $this->assertTrue(true); + fn() => $test?->{$test()}; + } + function test4bf8589b71a31e450f1c673dc79563ec0bbddc7d725726231814871729e141e1() + { + $this->assertTrue(true); + fn() => $test?->{self}; + } + function test513cdd8f37fd37d071b37f41a67a59f7370fc1fa1186618d280cdf6b5e1c8eee() + { + $this->assertTrue(true); + fn() => $test?->{+$test}; + } + function test52e65ec94fcc5cf8a43732590e778cf6e36fbf23999dfc38dc3f411961957d9c() + { + $this->assertTrue(true); + fn() => (isset((__FILE__)?->{$test})); + } + function test5574060b31afd0f728c9db2c91a94c20e6a534caf50039263905baf0bdbddf89() + { + $this->assertTrue(true); + fn() => $test?->{$test--}; + } + function test58b22dd8d3c310a6a98205765390dbea13e169f5fb5505185ad3317e83681888() + { + $this->assertTrue(true); + fn() => $test?->{${$test}}; + } + function test5fda0a5c50bfca045d77d8a105f72a08711b9088c870cad711985846ea651bc9() + { + $this->assertTrue(true); + fn() => (isset((__CLASS__)?->{$test})); + } + function test66e71e4525e7a144dc13c9c66fcfa18553c202ac7b9a729a68575f465e450dd1() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test[$test]})); + } + function test69e34a2f386f228bfe1c9a30ba0506fa3b274497065d4feba6988c7cf2044a20() + { + $this->assertTrue(true); + fn() => $test?->{--$test}; + } + function test6c40db9701e46d0e94d544cfe1fee8c477e207b8f6ea900178e185879d378b9b() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test})); + } + function test6c57c911fb36e4fd3683ef8019d0eb47308975c979a90737a317954f2a7e989b() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test()})); + } + function test6d208b1285cc93a3b6eb8dc077d3f9e7acd40d9b3fc8604c92feb0a2bf05ba6f() + { + $this->assertTrue(true); + fn() => (__FUNCTION__)?->{$test}; + } + function test6db7c93e33402abffa7c238dd1f93be32e6e0dea661565513a8263db96889ab0() + { + $this->assertTrue(true); + fn() => (isset((__DIR__)?->{$test})); + } + function test6e9da64c38a429eb6413eb697bde3dc4a86543e9909146f572417ebf312da7d0() + { + $this->assertTrue(true); + fn() => (__METHOD__)?->{$test}; + } + function test785590b6fb0d55e01e749feeb3ddd4d01529c3cce93bcfc7b07b9c7a67a04a00() + { + $this->assertTrue(true); + fn() => (isset($test?->{new $test()})); + } + function test7cf3605715151f0b0efadc1accf1528b2c3957233e9411c454c01063e137b9cd() + { + $this->assertTrue(true); + fn() => (isset(("{$test}")?->{$test})); + } + function test7df50cb320ce75875293185cdc41841bf0f40d6f7048734c09c2de53e876f9aa() + { + $this->assertTrue(true); + fn() => (isset('test'?->{$test})); + } + function test84710c5516397d953284a2476260eaf7aefed880251bb4c605a21b3fded557a6() + { + $this->assertTrue(true); + fn() => $test?->{eval($test)}; + } + function test864278ea0e8b7917d46949244219b5c31f9a21be03d3c1d5e31b5c4158350e30() + { + $this->assertTrue(true); + fn() => $test?->{print $test}; + } + function test8ab81b97f9a67ae6c9ac33b9fd3ea1ee5a4e33e4b0267daef99e70afcddfff79() + { + $this->assertTrue(true); + fn() => $test?->{empty($test)}; + } + function test8b01f3a58edb00028ef318ecb5f3dea696700f1c8d07e44259c3f524e85f8274() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test::$test})); + } + function test90365c32edad2b976474fb86dd47a773fa252ee261605c7da98ca3ace5eeee55() + { + $this->assertTrue(true); + fn() => (isset($test?->{empty($test)})); + } + function test97128ded9b115275b1589f45e30a45edc80a6fa1b247041905aca4a1ae59a8c5() + { + $this->assertTrue(true); + fn() => (isset($test?->{function () { + }})); + } + function test98caec4f3511fbd94a170ec3edd608fc5ea481a687a2e06a90f3542f24ac5df5() + { + $this->assertTrue(true); + fn() => $test?->{$test++}; + } + function test9a2b919172d1ba19a6ba6da44b42d073ba806ebf224922cfb7cd5b7b4b5a53d4() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test::$test()})); + } + function test9aa67bdbda55f91344537b91d4b1b7df133998d1b766587f53d9523b6592fea9() + { + $this->assertTrue(true); + fn() => (isset($test?->{``})); + } + function test9f3f727a91fb9fa57cb4f40f26a5fe0c3e13804490f20fa4a4f945ae7948a737() + { + $this->assertTrue(true); + fn() => $test?->{$test::$test()}; + } + function testa28371f5e12471fb9994ad00fce8007484954ffbf459988cb757bb8c9bf16506() + { + $this->assertTrue(true); + fn() => $test?->{throw $test}; + } + function testa5a24a29eef2b3a61a5099f271e35aed8bd9d0908641e534c649f73dd17c0a07() + { + $this->assertTrue(true); + fn() => (isset($test?->{print $test})); + } + function testa69886812834e11a580b1f559045f36303ad2528c93b13ea8945d6402df2d4d7() + { + $this->assertTrue(true); + fn() => (__FILE__)?->{$test}; + } + function testa739efc1c2ba50f8a849993edd8a645df3ee9eefdf530f2abd73195943367765() + { + $this->assertTrue(true); + fn() => $test?->{$test =& $test}; + } + function testa8f0ad4dbeeae775c576673f6cc7889063cc193c315c9f5a361c38958e3b271f() + { + $this->assertTrue(true); + fn() => $test?->{clone $test}; + } + function testaa06c81503e123d5b56f45e6cbddcd99f252d6dbf9b63055a78757a7c670316e() + { + $this->assertTrue(true); + fn() => $test?->{$test instanceof $test}; + } + function testaa30e24045f6e3548da343880fb1ee8caa7f4f163e1f9d5bcf766dbb042fc674() + { + $this->assertTrue(true); + fn() => $test?->{!$test}; + } + function testacebd0d99cc2f87506e620b236669d593e215d5296c14b6489d838dce3a8aaff() + { + $this->assertTrue(true); + fn() => $test?->{$test::${$test}}; + } + function testb2835f5976216e732f91b718bc2934317d159bbe429f80c15d62e8e70998f726() + { + $this->assertTrue(true); + fn() => (isset($test?->{clone $test})); + } + function testb4a5438efb31492e3cc601d42e1bad9eb8471eedaf82c70f723c24c869081e44() + { + $this->assertTrue(true); + fn() => (isset($test?->test)); + } + function testb5a0dafd2dd7a250a2db1d6bda031b511bfe73ed1852dcf3eedefdcf57ac847e() + { + $this->assertTrue(true); + fn() => (__TRAIT__)?->{$test}; + } + function testb5e261b13ad988a7d3c07a337e948d4c4782c99777844e815cea0a02b901739d() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test::${$test}})); + } + function testb7951548f9c008e7125a0f3675715f20fbf0b4604a11d0a98afa6c329cc18855() + { + $this->assertTrue(true); + fn() => (isset((0)?->{$test})); + } + function testb83bc1e17a817a8ef61505aff8e3f8e801a47bf8fba5c42327a357ab3044ef3c() + { + $this->assertTrue(true); + fn() => $test?->{$test->{$test}}; + } + function testbc6348d3076ef9bd2c456c6b4749ce9d2381b0d0cdceab6e259762f618ae752b() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test ? $test : $test})); + } + function testbd8e496fbce5d6200798710c8144a6d40ef09e119301b2f7ea921961538da643() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test--})); + } + function testc0cfbd3ea1df75144855f86c4fc326eb3e4a6f58ea4937dcc21b4c3768e0fe70() + { + $this->assertTrue(true); + fn() => (isset((__FUNCTION__)?->{$test})); + } + function testc31ece68acaa995484b924143abc107930317dee1f27e6b3d02e2afa234892ab() + { + $this->assertTrue(true); + fn() => $test?->{~$test}; + } + function testc92aa9565d13841ceb97d5418757514e2b11a23dcec71e13855112fcd7d7de33() + { + $this->assertTrue(true); + fn() => (isset($test?->{ $test})); + } + function testca1f89d031ca0d3337d7e4189b587aaec4c486571d1514a0e736eb1af0be0ff0() + { + $this->assertTrue(true); + fn() => (isset($test?->{@$test})); + } + function testcc4aa077a552c7a1411e6e80eec9318c35b0274fb1a411b776228f4f8407f401() + { + $this->assertTrue(true); + fn() => (isset((0.0)?->{$test})); + } + function testcc5c5ab0420eda148569259c8d8863498fad975839b70ab637ed4178a1801594() + { + $this->assertTrue(true); + fn() => $test?->test; + } + function testcc84f3e0ec74dd1771b77fae4f0ecd8df3397fa730db47f2d0be325fa5e977ae() + { + $this->assertTrue(true); + fn() => (isset($test?->{++$test})); + } + function testcdab6f133da85e6ef61d217987542722e21ec52bddd4c939badf84a6bcc0b7a9() + { + $this->assertTrue(true); + fn() => (isset($test?->{~$test})); + } + function testd29d31e368d82b372ef04020366ef72a8f6d33bd4d4affbe0545a188829909db() + { + $this->assertTrue(true); + fn() => $test?->{``}; + } + function testd6a0f6796e7aeac40fa5b6e45b8b0f1d95b4672a1728ad160f38e54d0bf97c7a() + { + $this->assertTrue(true); + fn() => $test?->{@$test}; + } + function testd6a54e98012c37967f00c087f906530fa0a8ea77c92b06bee2f3fb15309d5606() + { + $this->assertTrue(true); + fn() => $test?->{++$test}; + } + function testd6a5b723ec4a7b2a52ce353ada384140366b83017a00da828a10b96f2d3d6746() + { + $this->assertTrue(true); + fn() => (0.0)?->{$test}; + } + function testd7cb36ce11a448823f017f9ba9a96d584f4ee45294519c4fede0866431d63a97() + { + $this->assertTrue(true); + fn() => (isset($test?->{-$test})); + } + function testd8f06a3a718e97776ff24aaf552bd810c271e7ce9e4ee7bb8026c05dd9b0f90a() + { + $this->assertTrue(true); + fn() => (__DIR__)?->{$test}; + } + function testd96edcc5fe2ebd8a8ad454a6e12d2dbfd48bff097fbce459267e92d282a6de7a() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__)?->{$test}; + } + function testda3f435ce70e306b278d780cabceff6bc111711b18646547c199f7ee7972ad3d() + { + $this->assertTrue(true); + fn() => (isset($test?->{eval($test)})); + } + function testde7741ebe86e535ea84e6dd3f2eae84a6aa9aad23af5fd2c83860c74fb37f1be() + { + $this->assertTrue(true); + fn() => (isset($test?->{--$test})); + } + function teste0379f2173e7375cdd180f53d4064b314afc141153c5bf2cc45db0471d7f7a25() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test->{$test}()})); + } + function teste059bc60d64a6983923d97b10994ae20df914711341ce883e87179bcd5f34c3d() + { + $this->assertTrue(true); + fn() => (__CLASS__)?->{$test}; + } + function teste1f94b4de1a2cb21f97d8d4e19243d548fd2ffae75e9bab4ab650a7f2d923f33() + { + $this->assertTrue(true); + fn() => $test?->{$test = $test}; + } + function testeb889450f3e03f738b2e920f0b5176034979531605ec7101b8e49c86d227c98d() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test = $test})); + } + function testf03fcda238cb686f1f12cd13caf595715c5321c1d05e39d4f18233cc5a6f2c78() + { + $this->assertTrue(true); + fn() => (isset((__METHOD__)?->{$test})); + } + function testf302f28b6f6b9c61a4c011c74e0fcacb27e4df647e76e8f6860332f61ef3841d() + { + $this->assertTrue(true); + fn() => (isset($test?->{!$test})); + } + function testf3e67de2f3da111fa0cd4c9f10d016c8fa72115ad3a1f9d88ecbe0936f3ecdd7() + { + $this->assertTrue(true); + fn() => $test?->{function () { + }}; + } + function testf5a59b20cbf5161ee40c62efe1d24d0e6fbd4ff7d76855fa3118cd849fa2ce28() + { + $this->assertTrue(true); + fn() => (isset($test?->{throw $test})); + } + function testf906e32dd95848a9e76aed7e6329c308666eaf5b806f29c1838a0acff832353b() + { + $this->assertTrue(true); + fn() => (isset((__TRAIT__)?->{$test})); + } + function testfcb55087899e62d071170861b806defa6f7316b0f5a74092578cfe173694346d() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test instanceof $test})); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest.php b/testsGenerated/Target/Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest.php new file mode 100644 index 000000000..2d5d78a68 --- /dev/null +++ b/testsGenerated/Target/Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiond4a1b1e79bd511229c7dddac7a70fffc116cf09d223734c0c28dc82ca22d18ceTest extends TestCase +{ + function test00a00006a607305b45576728b956ef8a52bce80e3c0f3353e92d8fca4e3d7f84() + { + $this->assertTrue(true); + fn() => ($test << (array) $test); + } + function test0168c831208dda62f2c962a19be69c015706a2ba6f9984f3c89e354846257a32() + { + $this->assertTrue(true); + fn() => ($test << __LINE__); + } + function test051f5049ffa78b6697ab30d7218de18af6fe819d18864840ce5869a62eb4a564() + { + $this->assertTrue(true); + fn() => ($test << $test++); + } + function test05ac587bbf316661fbffc573b675bef2393f0803342c89e487c5f3890523002c() + { + $this->assertTrue(true); + fn() => ($test << __FUNCTION__); + } + function test073e95941deda36b26f7e31373ed38a7f090a8f6d1ce50e8f5de302ad96883cc() + { + $this->assertTrue(true); + fn() => ($test << ($test -= $test)); + } + function test076f7cf4b523bbc891043344efb27b10f9405aaaa288342bada5c1bc0578c066() + { + $this->assertTrue(true); + fn() => ([] >> $test); + } + function test07f6859d43ee29e237f9315df6749d893c82e70b53595a0e1646e690b6120064() + { + $this->assertTrue(true); + fn() => ($test << ${$test}); + } + function test08f2ceff9fb8e22b0266e24ff362a4fcc74438ad0b2430dea4db523fd44ed0a3() + { + $this->assertTrue(true); + fn() => ($test << ($test /= $test)); + } + function test08faeb92b1328692fbd4b253ca23f1359d771c6a3b941685f3e479a30e140fc2() + { + $this->assertTrue(true); + fn() => ($test << ($test <= $test)); + } + function test09f8e46f50dead200334068af64a39f287db689b71988eb59045cf2a887ca52d() + { + $this->assertTrue(true); + fn() => (~$test >> $test); + } + function test0acb9766a07c159541e18c3ad870be3e711a17133f74c2324cd41ee96a426ad4() + { + $this->assertTrue(true); + fn() => ($test << 0.0); + } + function test0e7487eeb75317d43a4a5c7f7f9dec32870c218bed2348419185899a3d082313() + { + $this->assertTrue(true); + fn() => ($test << $test->{$test}); + } + function test122d5a2881c48b665c1e71a325864a627253308d9a9315f1ec57323cc26836a9() + { + $this->assertTrue(true); + fn() => ($test << __TRAIT__); + } + function test13ab8a319e77437709470873e5d8b90138407de644b57b015eba5ac869460a26() + { + $this->assertTrue(true); + fn() => ($test << $test->{$test}()); + } + function test151a1fbeca5912018ae64252f5405fe84ff70a61bf02259ec366aa52aa391976() + { + $this->assertTrue(true); + fn() => ($test << ++$test); + } + function test152faf3e2ba6ce95d5e712975cfa74cfc2e29240b1d82bf232cd9edc5aa8032b() + { + $this->assertTrue(true); + fn() => ($test << ($test && $test)); + } + function test16065e0d883c8234ec9c282c126347393700738932b4fed33c332ed6f9972769() + { + $this->assertTrue(true); + fn() => ($test << ($test >= $test)); + } + function test17b749192d5594f411a9e269ff66516f5425c083d1a2d5705f42d8e0df4daedc() + { + $this->assertTrue(true); + fn() => ($test << -$test); + } + function test1c203e6038c48445c864eb6882b93b5ed894613e4302c65a348deeefc95f720c() + { + $this->assertTrue(true); + fn() => ($test << ($test *= $test)); + } + function test1f290aeba4db65c7ee4ae80dbabc40fde4e4cd4c5ece98234c0a8d5a0a4b7c5e() + { + $this->assertTrue(true); + fn() => (function () { + } >> $test); + } + function test21bcd5580b09ffd0ae689a3c289cc051859188fbadbdb8b23e39849eda096e76() + { + $this->assertTrue(true); + fn() => (new $test() >> $test); + } + function test2355885f845f230c8bf8438f4a75eb0c95f8736f27b1f452ca8c9cb53884efda() + { + $this->assertTrue(true); + fn() => ($test << ``); + } + function test244d0634087c8c3d3267ade660dedfd3ed2baa8e555c37a85f07318878a1d75b() + { + $this->assertTrue(true); + fn() => (($test =& $test) >> $test); + } + function test24af9845887fe6a37a7c5bb89c2be67eaa9b50c908c4fbea255a484bb7cf1c5d() + { + $this->assertTrue(true); + fn() => (eval($test) >> $test); + } + function test2835d9fc9ab040fb3bf45b0faab04dc1d3d598e7b03e345b108cd9756f2958e9() + { + $this->assertTrue(true); + fn() => ($test << throw $test); + } + function test28a4999efd3bf3414dbca4437f7cee869b4b0c6bb804690754ffb201b184d1f4() + { + $this->assertTrue(true); + fn() => ($test << ($test ??= $test)); + } + function test296c99f2075f9cee19c7fc1f94d0e325fc8d1551d60b975ef865a62802eb2f41() + { + $this->assertTrue(true); + fn() => ($test << (print $test)); + } + function test29b935d54b4914ad0787c92ecf890ab1c4a66296daf715a8d6df5ba867c0b6b8() + { + $this->assertTrue(true); + fn() => ($test << ($test === $test)); + } + function test2b19b20ccd97b02b6a3b4bf1863a0f1b426b056873d9ebe877ab669492df2d75() + { + $this->assertTrue(true); + fn() => ($test << $test ** $test); + } + function test3117de45a535d26e3c55ac8f7c918b859fa12a2c3096faabab44990b3f14c533() + { + $this->assertTrue(true); + fn() => ($test[$test] >> $test); + } + function test3386300680c0610e974a2ca154da78938ee1477b0797010fd5f8285f4cd726d0() + { + $this->assertTrue(true); + fn() => ($test << ($test .= $test)); + } + function test35f34a4d39a4c929704305e720e0653e4252b2874f0e4345bca222ee084a36a6() + { + $this->assertTrue(true); + fn() => ($test << new $test()); + } + function test387de076cce2945c81811fe22cb442c6196730b2291ab564bcd01574fadcd5fe() + { + $this->assertTrue(true); + fn() => ($test << (int) $test); + } + function test3b305090e9b9899f01fd886ec69b0c9822587f5858dd44972ae43b26cc65623e() + { + $this->assertTrue(true); + fn() => ($test << ($test &= $test)); + } + function test3bbdf941d0bb4ea925fce0d807a76737d28da5203189deaa3b79bd88a05437fb() + { + $this->assertTrue(true); + fn() => (($test = $test) >> $test); + } + function test3d73e1a73bc05ed7a3cc7ff98c57e164842556cc73a95aa01a79a32072a876fd() + { + $this->assertTrue(true); + fn() => ($test << ($test |= $test)); + } + function test413d5778396a593d483935867e2cb7eb66ed8314885e392141c5a285b24ca255() + { + $this->assertTrue(true); + fn() => (match ($test) { + } >> $test); + } + function test4620400ef2a8d9d5f8b2fb6e6bc8cd3813255a2d449ec0faa2894aa9a3b3fa45() + { + $this->assertTrue(true); + fn() => ($test << "{$test}"); + } + function test478aa3668c503293f89603cb5f57a86e341ff174d2f72f6bad0fedc120bf32ea() + { + $this->assertTrue(true); + fn() => ($test << __NAMESPACE__); + } + function test4891c6be5dc6cea6369b9163091f00ce3269a69e3e5350dee3aef95652dc16b5() + { + $this->assertTrue(true); + fn() => ($test << $test % $test); + } + function test4c941112880b87280fafc1fcb94fe7c926c5fac1259a4a0e7f92307f06944687() + { + $this->assertTrue(true); + fn() => ($test << ($test >>= $test)); + } + function test5065e8c99fab50a4dc406785721e70bb1f5e59a53697c7d53389057110137cf0() + { + $this->assertTrue(true); + fn() => ($test << $test . $test); + } + function test58099388477b2cc53f0ff7698c45c1673b0861be504a49ceaca9c4501e15264f() + { + $this->assertTrue(true); + fn() => ($test << $test?->{$test}()); + } + function test585f7642725d5c5870a2dab920b67b12f641ccaacda636de874e56858b44ea90() + { + $this->assertTrue(true); + fn() => (@$test >> $test); + } + function test5d1fb9f60470c675f6419a9e78ab8f520a3556f3abf576fda4b1fc86a60fdd65() + { + $this->assertTrue(true); + fn() => (empty($test) >> $test); + } + function test5dc7f60daa59e7944ea3200baac3db2845a7206018604ecbc7d9b6f0a0baad1c() + { + $this->assertTrue(true); + fn() => ($test << ($test > $test)); + } + function test6019ac7da3a5114f07e4a75e20795fec025476aad162d52371193336a7685076() + { + $this->assertTrue(true); + fn() => ($test << $test - $test); + } + function test6396bd677404cc404180b3ede6b2247aa45fbc12144899eb202812ff8d57f697() + { + $this->assertTrue(true); + fn() => ($test << __CLASS__); + } + function test64dcf78fe6be02a9167a8a88c8b335e40a0ba83210a371518ce6121bd3d00cfc() + { + $this->assertTrue(true); + fn() => ($test << ($test == $test)); + } + function test66d4ff1c591a51fdf19901d4711ca4265d3abf0adfe7d2c897b90c26f04fff6b() + { + $this->assertTrue(true); + fn() => ($test << ($test ? $test : $test)); + } + function test69a356c4d52e714be24cf6a56400adecd6645423cafc7116c697f09ef79bf95f() + { + $this->assertTrue(true); + fn() => ($test << __METHOD__); + } + function test6a20905e3fb637e6ad414186e23e178d1dab692531c94ba58f95283a40704107() + { + $this->assertTrue(true); + fn() => ($test << $test::${$test}); + } + function test6d29598ca92c2f4cd78e885971c685f0b9e86067c1640adcb3cc021b3b0947e0() + { + $this->assertTrue(true); + fn() => (clone $test >> $test); + } + function test764681cc6b6959e4523f0c8c7d3d6692a112b36fb98bc492eb682a150e37fa67() + { + $this->assertTrue(true); + fn() => ($test << ($test ^ $test)); + } + function test77bb47f453553563c13ca6c1069439bc0f08133254fae829ce2c690e0a5bbfdc() + { + $this->assertTrue(true); + fn() => ($test << (string) $test); + } + function test7e6359095d7126198f8b3c6f9c0a70c45bca2c3506b37d9abc4d355d28868245() + { + $this->assertTrue(true); + fn() => ($test << ($test !== $test)); + } + function test803bbc39092a4c013783ac4130a2a672516222dba5a1ce33c3adbdf9bfc1e672() + { + $this->assertTrue(true); + fn() => ($test << ($test & $test)); + } + function test86e94513dff6d89df3e3689048c1ef989cf7c022a269ebfd03000393dc0a8341() + { + $this->assertTrue(true); + fn() => ($test << ($test | $test)); + } + function test8f58e80acaf050b42649a07f247a1a60eaa75172db340d219d8dd59a20600797() + { + $this->assertTrue(true); + fn() => ($test << (double) $test); + } + function test936f9925282549d79e4b639f577b7691004df620988a6c92ba91f539e81ed2cb() + { + $this->assertTrue(true); + fn() => (isset($test) >> $test); + } + function test941f1fcd94c37c5518dd62ab882f08fe8c9a0b8c22d8762f997f3891cc2a86c7() + { + $this->assertTrue(true); + fn() => ($test << ($test xor $test)); + } + function test97848329199cd4a169668f57413435ff06dc28341f178c4fa896f99f58300ff9() + { + $this->assertTrue(true); + fn() => ($test << ($test **= $test)); + } + function test984864205eaf85555cc32e856e17baa7ca28f45267a45cb4dbe4d1bc3739937c() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() >> $test); + } + function test9ad43c03ef33d833f372b0c577c04e271305b7e3a732b5165998a2a7f0cea31a() + { + $this->assertTrue(true); + fn() => ($test << ($test < $test)); + } + function test9aeb164bc9b2c3a4d63a01cd27d9dfb2e3d27355f57b151e224df623df0d6125() + { + $this->assertTrue(true); + fn() => ($test << $test / $test); + } + function test9e09cbb731de0815e866fde77f089b44f70d5054d002e4ae7bfb154d0ecd7974() + { + $this->assertTrue(true); + fn() => ($test << $test + $test); + } + function test9e773db0aa6ba62dc34306c9f2d061ca02741542c5f297cb00a6ee3369744ad1() + { + $this->assertTrue(true); + fn() => ($test << __DIR__); + } + function testa3eca69227340cf6bade22211230c53d01e48cf70735ad41e592009e749f20fb() + { + $this->assertTrue(true); + fn() => ($test << +$test); + } + function testa55b8bb2a73ae7110d4b555720f3400c755d1ab4bf889da3336855a414a0d8ef() + { + $this->assertTrue(true); + fn() => ($test << ($test and $test)); + } + function testa6bfabc9e3a4728bf2bee695225f61dd5dc6870db046503a91947bc87cd6a831() + { + $this->assertTrue(true); + fn() => ($test << 'test'); + } + function testb3015bb9ada3a4c1e75b107ed35f1cd5b1181fc6c97d0ef6840cf821997432b5() + { + $this->assertTrue(true); + fn() => ($test << ($test != $test)); + } + function testb5f1719d8fdd68c8c03bb2fd058685d91a09ff797cee8c89f999680bbbb815c8() + { + $this->assertTrue(true); + fn() => ($test << (yield from $test)); + } + function testbe0bec8664222c885cf3e5b893139421250b5633dde8011a4a4fa66c7a388c44() + { + $this->assertTrue(true); + fn() => ($test->{$test}() >> $test); + } + function testc4cee44bb7a2366d6b16edbcf15c3ee1cffddb8c108d3d697a15d4937a4f2be5() + { + $this->assertTrue(true); + fn() => ($test << ($test << $test)); + } + function testc4e5eeee97ca58474b38bfd435107e28ddb5641320edcca7ec79de64ae311ed3() + { + $this->assertTrue(true); + fn() => ($test << --$test); + } + function testc717e7b25fe3205dca80d3173dc677194eaa8fec48e6754fcd2f025c7f1a80e1() + { + $this->assertTrue(true); + fn() => ($test << ($test or $test)); + } + function testc96df2b50c0e4d4fb054ad63d3a0bb7b810df85838e72c249f8e5f5e352b7569() + { + $this->assertTrue(true); + fn() => ($test << __FILE__); + } + function testca75c0b529140da07d517dbc7af5703555f01f45c05a9c5c02c43a0712355f66() + { + $this->assertTrue(true); + fn() => ($test << ($test ?? $test)); + } + function testcaa805c9442ede163b9b8e228738d4b30d6df4344336078dc190752f82dfff5d() + { + $this->assertTrue(true); + fn() => ($test << (yield $test => $test)); + } + function testcc2919f2f97132186863e5f9aefc15f1f686e3750509ac5e5e6546c1bdafe6f5() + { + $this->assertTrue(true); + fn() => (( $test) >> $test); + } + function testcf62c22023998ec258ea72274471a32194c9c7da00e622ccdce4daf838df8a6d() + { + $this->assertTrue(true); + fn() => ($test << ($test <<= $test)); + } + function testd00dfee5e0be1039c73cef659d35d685f867c31d46065e5fc354a91adfdf1deb() + { + $this->assertTrue(true); + fn() => ($test instanceof $test >> $test); + } + function testd2b10c0a82dd52deb04a47d60c72e51ffb34e0d960d46a233560f834801f72cb() + { + $this->assertTrue(true); + fn() => ($test << $test--); + } + function testd5a2be2bbe28d3398b07dcc160b03fa5074b574590127cb4b7736e9ed4a82273() + { + $this->assertTrue(true); + fn() => ($test << ($test || $test)); + } + function testd5eee0ef84fad6b11cbdfd4e8665526e5b0ddf5fcdfad7af5422aad43161980e() + { + $this->assertTrue(true); + fn() => (!$test >> $test); + } + function testd65803cf93cf42a2145d51bc5eb12d5b6ad1a285351fcec1717f5e29b63ae060() + { + $this->assertTrue(true); + fn() => ($test << ($test += $test)); + } + function testdb06ca0210291f4f26627a5dfc5caba4c174596ba8e2f46cd3ea53b687d6bdd0() + { + $this->assertTrue(true); + fn() => ($test() >> $test); + } + function testdd1c48321c07e80945c464d2e53a12a516c7961f3f91d87c85d9b35f080d07fe() + { + $this->assertTrue(true); + fn() => ($test << ($test <=> $test)); + } + function testdf2f5f5f03785959c013682bed4876dd3e1e7aff580fd5f6eec253a0098673ee() + { + $this->assertTrue(true); + fn() => ($test << 0); + } + function teste0b854042909c3d11817f9e9639e1b0f2e14500094c133ab5be2287a432c4ffa() + { + $this->assertTrue(true); + fn() => ($test << $test?->{$test}); + } + function teste2ac46872736bfc3bc343b46acd8426be426758d5de80152c1c16de4f15ab9e9() + { + $this->assertTrue(true); + fn() => (self >> $test); + } + function teste4a8acab100a942d3cd426108b94b480b976660ef75d9dedfc368f55b37a7db0() + { + $this->assertTrue(true); + fn() => ($test << (bool) $test); + } + function teste8a3af4bd9bc9fbc1940cd63ed0c9438803592a95da01e0a248fa4a8bb89dad7() + { + $this->assertTrue(true); + fn() => ($test << $test * $test); + } + function teste8a4d4f020a6b999f9515faa40864659dfb6364b0a2e50a431024ca316905aed() + { + $this->assertTrue(true); + fn() => ($test << ($test %= $test)); + } + function testeb114530396333d07d91665be2ce690caa79a61028a49c0189ecdcef195805c0() + { + $this->assertTrue(true); + fn() => ($test << (object) $test); + } + function testef64af4b1b44ac908f4420620316b25d066679c6de192f0fc255a53e53f5b31e() + { + $this->assertTrue(true); + fn() => ($test << $test::$test()); + } + function testf13dc0f9e2bcbbc6b6b2d04ecfcb547e71f902a00158b5d66409f7df479639fd() + { + $this->assertTrue(true); + fn() => ($test >> $test); + } + function testf8590c48f1037c06cce9b2b17bc6c356f8e3038d5230b4b159ea54660355be02() + { + $this->assertTrue(true); + fn() => ($test::$test >> $test); + } + function testf8a6faf07dac8dfd29efde0a2a3c373c4b24b64da9420e2ba5af07cd58ab2be1() + { + $this->assertTrue(true); + fn() => ($test << ($test >> $test)); + } + function testfc7c6a6f927db05d887fa5b2c28f0ccfba4176af4bf73c09770ec693ab7ac87f() + { + $this->assertTrue(true); + fn() => ($test << ($test ^= $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test.php b/testsGenerated/Target/Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test.php new file mode 100644 index 000000000..a67cea401 --- /dev/null +++ b/testsGenerated/Target/Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiond56afbc4fa8ef05956d3b7aa4981443f8af09e2564edea4eaef7fd0c8d599d21Test extends TestCase +{ + function test02473342ea5ce9faac69bb165c186f6094a8c1d310f1dc47560eadf9b7ce48ae() + { + $this->assertTrue(true); + fn() => ($test && ($test *= $test)); + } + function test03a4e5404495607c608efb1cac597936a2a86ce61b0243b9098297bd2a1f51ee() + { + $this->assertTrue(true); + fn() => ($test && clone $test); + } + function test07445323c27266fb810854d1751b1fc54ed9a24e7e73401c2ffc1941d9b88b8a() + { + $this->assertTrue(true); + fn() => ($test && 0); + } + function test07daeb2358a43492c8690dc69d98218396b603d677d43b69a4a1927682e4c66a() + { + $this->assertTrue(true); + fn() => ($test && ${$test}); + } + function test07ea1924c6ba5fbca69deb002d8d4561646e8e90c5a8f2e72892c0f07863b4d7() + { + $this->assertTrue(true); + fn() => ($test && 'test'); + } + function test085e97f281e6ad8cf1353958108775f0ded61249aff9207ffe3f2f29fb55e236() + { + $this->assertTrue(true); + fn() => ($test && $test <=> $test); + } + function test0a25dabfbfe6fde8df0304a957aebda2bf9aee38ee4276aa7921c58263dbb6da() + { + $this->assertTrue(true); + fn() => (~$test || $test); + } + function test0d01924a76cf762bd67e8ce6564cd67693a9be9332d9d2e22d481f292a547627() + { + $this->assertTrue(true); + fn() => ($test && ($test /= $test)); + } + function test0e0b840b0bcbc9e7950498d5f44baacbdcf88613ee7ebb98f3ec2052508ef0d8() + { + $this->assertTrue(true); + fn() => ($test && ($test xor $test)); + } + function test12fdf8710e2a4b7cab32c88b7d76892e83924142a35b8431faab8b84f9edecb0() + { + $this->assertTrue(true); + fn() => ($test && (bool) $test); + } + function test14a5b7cd0393cf22a3e7522eb2e70d1264e70050cf007832c270b4022d6102eb() + { + $this->assertTrue(true); + fn() => ($test && ($test <<= $test)); + } + function test192f20564079bf016410c4c50e8abe196528510ed93a50934cbad5606e857809() + { + $this->assertTrue(true); + fn() => ($test && (double) $test); + } + function test196c706559ddef6054688daf45303477c78b7567febd442257b53420a2005833() + { + $this->assertTrue(true); + fn() => (clone $test || $test); + } + function test1a0ef33c0ee9da8e909cee1d2c5ff570606edcee7db06119e18617a113c2509e() + { + $this->assertTrue(true); + fn() => ($test && ``); + } + function test1b9e63eb4f9daa6b6516e5706e4fc11201f77feb055a9d559b1cdaa24df0c1b1() + { + $this->assertTrue(true); + fn() => ([] || $test); + } + function test1c28b348fe91c79706da49302bddad6ec2cd4a9b2c7c0ca3d8dcfedc496a6eb4() + { + $this->assertTrue(true); + fn() => ($test && $test & $test); + } + function test2354275a3c4af46c66bb57698c428164f8a38577fb60ac826a4d2b82c9c0ab25() + { + $this->assertTrue(true); + fn() => ($test && (object) $test); + } + function test2de991f873b0786b0a6e55c756390870bf5bdca1900dfc3b626de89e60d774f2() + { + $this->assertTrue(true); + fn() => ($test && $test <= $test); + } + function test2e5170393474b0238e90134e2ca3b669eb8f6f7ac1ad21d86dec73558e3e4f01() + { + $this->assertTrue(true); + fn() => ($test && $test . $test); + } + function test2eae4fe227b5ba496aa41bbe66743a796724d6fb3617e4c656e731d58585f81e() + { + $this->assertTrue(true); + fn() => ($test && $test >> $test); + } + function test365e5d34778faf757e60c0ba143e3669edf900067d63f4aaea5e02caf600a941() + { + $this->assertTrue(true); + fn() => ($test && ($test ^= $test)); + } + function test38d5050ff3c735404f3fc55610caed20c7fbbbece0ee34111fd09caca902fdbb() + { + $this->assertTrue(true); + fn() => ($test && throw $test); + } + function test3a5ae57f8b3c9febb43d9319c605f63c559fbe095fd2984bb5402aad3ec8cf99() + { + $this->assertTrue(true); + fn() => ($test && $test instanceof $test); + } + function test410d8baffa35c7ae981086bdf67b6b93f9a7c825327a9ce5035e4d9562332c25() + { + $this->assertTrue(true); + fn() => ($test && ($test || $test)); + } + function test43c6e844998492873ba301462a821f1318c6a05faf7c54519a09c83423f6510b() + { + $this->assertTrue(true); + fn() => ($test && $test + $test); + } + function test4441184405b3802c0e025e87529fa7c8b2286fafd3402b584ff047d05ba2d7b3() + { + $this->assertTrue(true); + fn() => ($test && $test?->{$test}()); + } + function test482bc6bdc74d9c0458947e01088e028d5a572fe5b7698221bd17059ecbba33ab() + { + $this->assertTrue(true); + fn() => ($test && (int) $test); + } + function test4acf088783a08f40343619011017b06db03a8909910a5a5ace19a5d07dc823d8() + { + $this->assertTrue(true); + fn() => ($test && ($test ? $test : $test)); + } + function test4be94d943ba333fd2d72994e0d5bbe9931f0a04c75c97bdd641e76befc4ac296() + { + $this->assertTrue(true); + fn() => ($test && "{$test}"); + } + function test4c018b61ae6ba74e4309a2efdefaed4f84b744846f50b4535eb2e89d837b5188() + { + $this->assertTrue(true); + fn() => (!$test || $test); + } + function test4c39602a15d849da3d6b54f9b41a275a8eeb3f44e26ba29ccd46ef666a9c045a() + { + $this->assertTrue(true); + fn() => ($test && @$test); + } + function test4ef0d06f1db59a9380f9439a720d2b83393e94599b9c80a71bd444a4fd4b5541() + { + $this->assertTrue(true); + fn() => ($test && __FUNCTION__); + } + function test52b795902b659bb3f898ce95200f3ce86e245b71c01244d28e71a16df6da0588() + { + $this->assertTrue(true); + fn() => ($test && $test > $test); + } + function test52da6e38478e9f34f0e3d5d8ea1d136224ce640affe605e8c3f15f5ddf310095() + { + $this->assertTrue(true); + fn() => ($test && ($test .= $test)); + } + function test53e75031a9f7d056b4ce7fc0b6601e82bc7a9f22acffc9ccc40a560f94bc0518() + { + $this->assertTrue(true); + fn() => ($test && $test::$test); + } + function test585cc8e53708692ba92cc47f2f11ac4368ce3ce8f9d8f4263a11f8981f91e2b6() + { + $this->assertTrue(true); + fn() => ($test && $test | $test); + } + function test591580d88b0541dc12f8787e641da950e797c580305e8524499315285396623f() + { + $this->assertTrue(true); + fn() => ($test && __DIR__); + } + function test5b64ae6f242429bc34da489874fdc58652d914a3f5d6ecc8700c6759a9b617ff() + { + $this->assertTrue(true); + fn() => ($test && $test >= $test); + } + function test5f7c9ef8cee1090e81d0ed4e29b112025fd90bfcf18fbdab0e70f7de9f954a78() + { + $this->assertTrue(true); + fn() => ($test && +$test); + } + function test63bcc50b09ced5f806370043b2908385cb86d18a85ab9b0cb9e640bf8600f350() + { + $this->assertTrue(true); + fn() => ($test && ($test -= $test)); + } + function test66c70f6cd7aa9b8e9f871c477842372045c05c3a63c44c04a2ef22bc5f4489f9() + { + $this->assertTrue(true); + fn() => ($test && __CLASS__); + } + function test681c086ebf8d79650fb8199d9547e4e50d9fdcded3347c90bacd64566d387b26() + { + $this->assertTrue(true); + fn() => (($test = $test) || $test); + } + function test68cc6a350f4921ee352590d4f2043442e178043447f6478d09caa9f4ce75da4a() + { + $this->assertTrue(true); + fn() => ($test && !$test); + } + function test6cae56e4ba17b2ffac114351fdad348beca0ea738aaa4ad9441c5985cda965ce() + { + $this->assertTrue(true); + fn() => ($test && ($test **= $test)); + } + function test6d10200eb40dc9fb54557193ee535cae49e5ffaa8dae8fd3534aaf2a294a1fbb() + { + $this->assertTrue(true); + fn() => ($test && $test != $test); + } + function test6eccc2e771dc52789d2bf2a2066f2ebbede7ac2e86a1fdc4bc6fdbdf4f4fd636() + { + $this->assertTrue(true); + fn() => ($test && empty($test)); + } + function test7094e9e995078daaea1024ca7023608a33d58e70548db08da04e473a3d6b7638() + { + $this->assertTrue(true); + fn() => ($test && ($test and $test)); + } + function test71654fd3cfa90933b4cde4af98cb064c5e2c33784a829c99885f8b2b8c31a61d() + { + $this->assertTrue(true); + fn() => ($test && $test++); + } + function test723a83e1c850f1749f8fbcefd31e678593a2f135813193ee9a93a1b7083174e0() + { + $this->assertTrue(true); + fn() => ($test && $test / $test); + } + function test74eadeb4b7c4e148cc28f46e95ff2f7c7bd4deb708c04a4e889f2cdc02495c29() + { + $this->assertTrue(true); + fn() => ($test && (string) $test); + } + function test78f46b40afa9854682a8abc780bb9dcbbc2db09d228ca44d0ba7db5472a5be9f() + { + $this->assertTrue(true); + fn() => ($test && __NAMESPACE__); + } + function test7b72016a7697cf5e698a712d292e35806eca981d9c83ef096b5037f38139a6b1() + { + $this->assertTrue(true); + fn() => ($test && $test?->{$test}); + } + function test7c4cff158c9e579c3e90a5ea4aeeee6da73fdbbc357a3396d67258df465a3a5f() + { + $this->assertTrue(true); + fn() => ($test && match ($test) { + }); + } + function test7d0f353292a83708549af9d8f84449f980136d059c7548aec116deaeb111c2b4() + { + $this->assertTrue(true); + fn() => ($test && (array) $test); + } + function test8001177b057cba621c221bc718d23e86004415e474c2ec262c7ac0218468cb2f() + { + $this->assertTrue(true); + fn() => ($test && function () { + }); + } + function test833908733cba6bb455131c19713b2c1ecf06f5c919d182bbc1bd1bc0381b4b86() + { + $this->assertTrue(true); + fn() => ($test && $test !== $test); + } + function test837895fca48c47111d15567bf737e916e99f0e50729a7271bc1bfa888be85bf8() + { + $this->assertTrue(true); + fn() => ($test && $test == $test); + } + function test8bdb58a534bc33ef719275c7201dd5a6729f69bca1dfdba8fdbbc80f9c94ae42() + { + $this->assertTrue(true); + fn() => ($test && $test->{$test}); + } + function test8e032412ed8090bdaead9abbcc426baec65a6dd2d5a8f3eab76343533cd0e03f() + { + $this->assertTrue(true); + fn() => ($test && ($test >>= $test)); + } + function test9084c34597193410aaed1d672c2da17a79700b950dbcd997018c4df2ad8edb66() + { + $this->assertTrue(true); + fn() => ($test && ($test ?? $test)); + } + function test917409b55e7d0bbe70d92a72f8a739e105a0ff1b55ceef1d106e086bc1c5d045() + { + $this->assertTrue(true); + fn() => ($test && new $test()); + } + function test92383367634b6feb0c0f8443aa973a51fdafff971d96bdef54343f547f2c76f7() + { + $this->assertTrue(true); + fn() => ($test && $test ** $test); + } + function test967db1fda9ca88ff3233b269f6e9618e2d1d604fb70dab1633e0b2ae7b652ab6() + { + $this->assertTrue(true); + fn() => ($test && -$test); + } + function test999f4433e344ce25e370dc186640fc819879c2abaa2a9bd86fabd25a15a728bc() + { + $this->assertTrue(true); + fn() => ($test && (yield from $test)); + } + function test9b8bc2a1681f9d1f321a1287dea265330510c58917fbb6666d60115ce313702a() + { + $this->assertTrue(true); + fn() => ($test && __LINE__); + } + function test9bdcbad7a81c09e487a75b505ac9d2facc3afc609da1661f41c452957b8ad3fb() + { + $this->assertTrue(true); + fn() => ($test && $test::${$test}); + } + function test9c2b41f2abfc33608dc869980206d592e138972f49887f1c630dfb3420d463fb() + { + $this->assertTrue(true); + fn() => ($test && ++$test); + } + function testad8dda7cecd48e54f26da30df6ea805f589c9b9d4a73aea58160e411c7574f78() + { + $this->assertTrue(true); + fn() => ($test && --$test); + } + function testb508125ac7ea209f67087957d3b7d58d26bf4ff1cd299455e846365a2dfc5852() + { + $this->assertTrue(true); + fn() => ($test && (yield $test => $test)); + } + function testb54574cad0b28526c784bc8c1ba025d5e071f975152e10c0275d7e8519e6a970() + { + $this->assertTrue(true); + fn() => ($test && __METHOD__); + } + function testb72572d724a88e9fc41a104d1feb0e1e1f7d8e52d722df2f5185b3f440f44493() + { + $this->assertTrue(true); + fn() => ($test && 0.0); + } + function testba85512f4d96d3471814e721c12913243c6256ba9c554e4c2b8a70911ba11735() + { + $this->assertTrue(true); + fn() => ($test && $test === $test); + } + function testbb14ed26ad952a576d9d47df363094e74129882d3e1ffc1a37f46fca07344271() + { + $this->assertTrue(true); + fn() => ($test && $test ^ $test); + } + function testbb8ee314b7711bbf0b5f66b457cebdcc26a53f49eab0deb806ed19694df9d53e() + { + $this->assertTrue(true); + fn() => ($test && $test--); + } + function testbdf6581c7a168bdab2d337e7bef58026c3eb7c5f8fb62ca593b80924996eabba() + { + $this->assertTrue(true); + fn() => ($test && $test - $test); + } + function testbe4d064c6c1de703ff6dd6d1b9378862c204572e02828818a256389943968113() + { + $this->assertTrue(true); + fn() => ($test[$test] || $test); + } + function testc01321c86ff8f3025ad1dc2a0df896a052f8dbfe10ee6e0eef712752524af880() + { + $this->assertTrue(true); + fn() => ($test && $test * $test); + } + function testc3f9e164afced13887f391c37e44ad6b5478f3aca77e4eba24e64d5e1a253569() + { + $this->assertTrue(true); + fn() => ($test && $test); + } + function testc62a80841908e744d7f58702bcadccc0533f7ba5cfc629b981c23e290ae5cea8() + { + $this->assertTrue(true); + fn() => ($test && __FILE__); + } + function testc69f4fd2eca6fb5bb587b34db61fed19406f639091a3164231a2235d46d6ea97() + { + $this->assertTrue(true); + fn() => ($test && ( $test)); + } + function testc737edb5cceb153f730d3315febf25d47bfa44baaf6f45a776ca00f75820c47c() + { + $this->assertTrue(true); + fn() => ($test::$test || $test); + } + function testc77bb7103ab9bcd8f4cf95022150a8cf284d0400553d608f185158f167d25f08() + { + $this->assertTrue(true); + fn() => ($test && isset($test)); + } + function testcc879ef6ef2927e7567816fd8a2d2117f165d482031cb903426a322ac3da4458() + { + $this->assertTrue(true); + fn() => ($test && (print $test)); + } + function testd33c7aa4e9c0a6d922117d2fefbb5e029124831cb2dfce323e0fa047573be3e2() + { + $this->assertTrue(true); + fn() => ($test && ($test &= $test)); + } + function testd3a0a4624b485220afd25f98b1092a35c5ccc51eea4dd2286ffbf9aca4963ca6() + { + $this->assertTrue(true); + fn() => ($test && $test % $test); + } + function testd4540d9fb361606650855108b6f9c901bbc210e8e6b463fbb9e5449d27d25035() + { + $this->assertTrue(true); + fn() => ($test && ($test %= $test)); + } + function testd49594270b63abf8fadf92364705a769da216cc62226a571f085173c746bf866() + { + $this->assertTrue(true); + fn() => ($test && ($test or $test)); + } + function testd627b4bebd2da60946a654ea68a01699464b5a52d51a1d509064b129c0ee8813() + { + $this->assertTrue(true); + fn() => ($test && self); + } + function testd993290587e5b182295b92500f1dbefa5759afdf3d4b74d5443b058e1f996ea9() + { + $this->assertTrue(true); + fn() => ($test && __TRAIT__); + } + function testdc65955896689911c7cdfa1083e3521d9b3e2196f1d49a3c9f6fd2a332181ba9() + { + $this->assertTrue(true); + fn() => ($test && ($test += $test)); + } + function testdd1e30370ba59393f35933bc4ba2e04f7adb6f1bf7deb62d98e087c828a65c63() + { + $this->assertTrue(true); + fn() => (($test =& $test) || $test); + } + function teste312a11dadb3662afc281df10a8a3946b2ef8b67083cfafa9569cd29e24ff132() + { + $this->assertTrue(true); + fn() => ($test && $test->{$test}()); + } + function teste4ea9b0def2159c4cac4063dc030a210058af21bdb2133a2e36c6c8584ddc9f0() + { + $this->assertTrue(true); + fn() => ($test && ($test && $test)); + } + function testec23dd310695fe25ce6acd218d7afc743af7e61570be390a76ff02c0cc09cd18() + { + $this->assertTrue(true); + fn() => ($test && ($test ??= $test)); + } + function testf0325633363a33f5e46716c7d9ee9a9683f9f083ce34303ab4e50b65c450e9a3() + { + $this->assertTrue(true); + fn() => ($test && $test << $test); + } + function testf0d78bec7f1507f53498101cfba8feeda6e258c8926f5a33ff6c7934cdcbc28e() + { + $this->assertTrue(true); + fn() => ($test && $test::$test()); + } + function testf1b7052571544aeb49266798bafdaec5f6e632dce99523a12175251553ef3593() + { + $this->assertTrue(true); + fn() => ($test && eval($test)); + } + function testf59a778aee2b118c3d06078c389964dbc04f890e93cb59506ff57b6581c266d9() + { + $this->assertTrue(true); + fn() => ($test && $test()); + } + function testf8383b7614bd2814bb7690a56f10e5a60533b2f3128fe62ff8deeb58d3325328() + { + $this->assertTrue(true); + fn() => ($test && $test < $test); + } + function testfe06d664f965383b9ebccb9875789e4efb1947adf1d6e232f0c738694cb13597() + { + $this->assertTrue(true); + fn() => ($test && ($test |= $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test.php b/testsGenerated/Target/Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test.php new file mode 100644 index 000000000..d61f07cff --- /dev/null +++ b/testsGenerated/Target/Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiond577d346707587eb5253b7ed73a555225a4901d91dc9cd9905e102b68b294e61Test extends TestCase +{ + function test028b4e6af7983cdcb2420224a8f168d56f21a6ef6c19f4cb712c88e485535276() + { + $this->assertTrue(true); + fn() => (($test /= $test) ? $test : $test); + } + function test03a08945fe531a0c97d8a76dfcf92b413af0e96e183c65fa2aaaa8fcaa9b3b03() + { + $this->assertTrue(true); + fn() => ($test <=> $test ? $test : $test); + } + function test08d54c71107ede27375097a647be84a53980916ca7f23072c632e3c7ff3f2e3d() + { + $this->assertTrue(true); + fn() => (($test =& $test) ? $test : $test); + } + function test0b57edba9ca0521813ef703b9433867dc9a16703a709189092e8f9bcd8083c96() + { + $this->assertTrue(true); + fn() => (isset($test::${'test'})); + } + function test0bb385f13b6a01636c1089128c5a0c03f751e2b4b8b93fcef948844b7781a8bb() + { + $this->assertTrue(true); + fn() => (($test and $test) ? $test : $test); + } + function test1089e7675c4d24f734b7b068862f006c99f0ca053abc99e733b1a39cb8c90462() + { + $this->assertTrue(true); + fn() => $test::${__LINE__}; + } + function test1777450b09023f9d3a681248b0dac7f3faf3d74d2aa1d7a113ccd19658c09187() + { + $this->assertTrue(true); + fn() => ($test || $test ? $test : $test); + } + function test178c554698b259419dbada35b51ec82297972130331c2921b9a3bba2032436a6() + { + $this->assertTrue(true); + fn() => ($test - $test ? $test : $test); + } + function test1a626408619a98cd9f82b1e47482053b108f2ce4ac954f64d73fd86796332d60() + { + $this->assertTrue(true); + fn() => $test::${'test'}; + } + function test1d05a0d33e86300e8a665ffc6bf7842fdcf1a56f1de8050bb2327e5e8b27b587() + { + $this->assertTrue(true); + fn() => ((yield from $test) ? $test : $test); + } + function test1e51c2ffaef628f233c27cc6e01160c1b662084fbb76641131a3bc8b0f70e556() + { + $this->assertTrue(true); + fn() => ($test | $test ? $test : $test); + } + function test1eb51b67ca0690c8f2dea6d1f6fa95e51a9185c7b730a1ffdd74003e40b42274() + { + $this->assertTrue(true); + fn() => ($test?->{$test} ? $test : $test); + } + function test1f4dd891e5b5d78fdb7cf9f084a8b65e4cacc45ef56a1f05494e39c51eb5df7d() + { + $this->assertTrue(true); + fn() => (isset($test::${__FUNCTION__})); + } + function test23091ce38f6b7716817880d90d631642981602702dc6571b02eef2b95a355373() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() ? $test : $test); + } + function test29c0c54892da72cb996eda9fd1a9b0cc21a693e2655e9ef8643813e5123cee1c() + { + $this->assertTrue(true); + fn() => (isset($test::${__NAMESPACE__})); + } + function test2eecf77f8312818c5f016685acbfddf318619fe6bfce28902deee87ce3ffc9fd() + { + $this->assertTrue(true); + fn() => (isset($test) ? $test : $test); + } + function test3056ca2743f4d9a61bd6e8acf43118d3d4dbcb6a16e4c4a6d576306fc55a4b51() + { + $this->assertTrue(true); + fn() => ($test[$test] ? $test : $test); + } + function test321742c7258148d5ed91dfe54b868ed45592e1c862e97e3cf8a29a99040ef523() + { + $this->assertTrue(true); + fn() => (throw $test ? $test : $test); + } + function test391306720b721473b119a994cfbbaa8c9ac8f205ba433f53ed5d2c1138cbc8a7() + { + $this->assertTrue(true); + fn() => ([] ? $test : $test); + } + function test39184657034b245768f3287e2ba2fd9eb980ab2b43953420f7c4204120511896() + { + $this->assertTrue(true); + fn() => $test::${__CLASS__}; + } + function test3c8bdc78cef7858b2cfc1fb702cbf7533bce939a4e64758c661795e80b11130c() + { + $this->assertTrue(true); + fn() => (`` ? $test : $test); + } + function test3d77cae824faa781f8c0ff56b94ed1db6cfd497845a612d77f565251e6b91980() + { + $this->assertTrue(true); + fn() => $test::${__NAMESPACE__}; + } + function test41b94db1d50e844be4542533d3f25fd9b21ab6e1671baa2ff9a246b1b464e4a8() + { + $this->assertTrue(true); + fn() => ($test-- ? $test : $test); + } + function test458f142c0ff646d41f18a8c8ba10f67677153a57f39f3a1a1f2186ac0298a1d5() + { + $this->assertTrue(true); + fn() => (($test >>= $test) ? $test : $test); + } + function test473b820d176528a2d448e28e5048c10ea3e5866ab188777e81eb968c39fb7af5() + { + $this->assertTrue(true); + fn() => ($test ?? $test ? $test : $test); + } + function test47bb61d060dfa7e366d43e0501f82ad1c60b92cc9947fcc9314ea445fb417672() + { + $this->assertTrue(true); + fn() => ($test / $test ? $test : $test); + } + function test4839747206c9591cbde2862a77979b8d3d78d6552b2c5279a93a940af2c4418f() + { + $this->assertTrue(true); + fn() => (eval($test) ? $test : $test); + } + function test49f8d07ffe514b3680d1e2f2b18357354bc9e1e839359053ac8d4365f96a9618() + { + $this->assertTrue(true); + fn() => $test::${__FUNCTION__}; + } + function test4b32ea9e4ebfa6b63e83dd652fc726cd1b8f3224d92158a81144ed06363c9ba3() + { + $this->assertTrue(true); + fn() => (($test or $test) ? $test : $test); + } + function test4fa4bc6dfa3d861b32ceb07612ef6678b851fb2b48ef5ee4fb841106604d7d33() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) ? $test : $test); + } + function test52d091ad84c92380ed293d01f161504711d29faa910d71ba25ba1620c8c99ce9() + { + $this->assertTrue(true); + fn() => (@$test ? $test : $test); + } + function test541f701979e8135ff9714e8fb421c5365841f0b52a497ad55977d7a67f92c9fd() + { + $this->assertTrue(true); + fn() => ($test >= $test ? $test : $test); + } + function test54de4143b855c86e2fa319b5fcd444483c0a84a3706b4c484145f6bc66fa56e9() + { + $this->assertTrue(true); + fn() => (($test = $test) ? $test : $test); + } + function test55b9447a8f1bc3f9d4fd79ed9a889c072d4758248fb0bb47b1b1d803d04d2d42() + { + $this->assertTrue(true); + fn() => ($test * $test ? $test : $test); + } + function test5606a7b5eb428a9d2839af38870f06471ae890522e2e3fcf3b2fb4a568096884() + { + $this->assertTrue(true); + fn() => (($test <<= $test) ? $test : $test); + } + function test5681eda5468613e414f02eb9839e7bb45643789a359a56b9a75335ddc84e8439() + { + $this->assertTrue(true); + fn() => (++$test ? $test : $test); + } + function test5e3530d1c9fd90e5bbec15d4dad15da86b2215aada5bbafc96b16448e5f3f882() + { + $this->assertTrue(true); + fn() => ($test < $test ? $test : $test); + } + function test5fb2971e275342b31f4519c4401095fa44074428d1cab1c7dec8c196c4fd1813() + { + $this->assertTrue(true); + fn() => $test::${__METHOD__}; + } + function test67d6d424d68c07d11cd510bfb13b412a51874318efbe3b8492f6a8f564982fbd() + { + $this->assertTrue(true); + fn() => (isset($test::${__CLASS__})); + } + function test6ae4b4df816ce55fbcc2e86e6625449bc2fc863841800cd1ce8a9e0f49f78ca1() + { + $this->assertTrue(true); + fn() => ($test instanceof $test ? $test : $test); + } + function test6c2cde25223a41b28851335726e295e40fab56d2ebea1138c07dde1748767bd4() + { + $this->assertTrue(true); + fn() => (~$test ? $test : $test); + } + function test6decd42218fec3f0e0d912ca01b107e00961437488a31c93dcdf89b09b561ff3() + { + $this->assertTrue(true); + fn() => ((bool) $test ? $test : $test); + } + function test6df681addd72d70ab3ee64bc3f23ea94ea951c600382a03d79bd69040c7ca240() + { + $this->assertTrue(true); + fn() => ($test & $test ? $test : $test); + } + function test7098e260352e363c8489298d21fb08a29def76bf942e5360390f50f7c5347570() + { + $this->assertTrue(true); + fn() => (($test -= $test) ? $test : $test); + } + function test71005a341cbc840db50869bb8944049449cae01f962ea1beac13b55269a26273() + { + $this->assertTrue(true); + fn() => ((array) $test ? $test : $test); + } + function test71dc38294027d9593c6079f4999dcea23e62b7341125f117aba953a0bf1125d4() + { + $this->assertTrue(true); + fn() => (($test **= $test) ? $test : $test); + } + function test7554be4968ce34c2f5d7c1a4829297e31d2282f0ee2d919c646d2ea3c1c750e9() + { + $this->assertTrue(true); + fn() => ($test . $test ? $test : $test); + } + function test75ac0ec200e528319ef2c9eb4599679513d5022de006dd5c35c1e800e4748244() + { + $this->assertTrue(true); + fn() => ($test::${$test} ? $test : $test); + } + function test7acdaa41d1ea6e32e7846b61694bb56398484f7482e0246494195a19a1db3a0e() + { + $this->assertTrue(true); + fn() => (clone $test ? $test : $test); + } + function test7d01b7d6f6aa55426aacddd337f7286752b8e7eec54ebf8e0319ea6a53ea3026() + { + $this->assertTrue(true); + fn() => (isset($test::${__DIR__})); + } + function test7d5b2a15449e4faeb3a3c93636a7ca403f86cd21a64162bb6c434bc142386221() + { + $this->assertTrue(true); + fn() => $test::${__FILE__}; + } + function test7da50276e7d2af1ee8656f6b50b561b44f6ea71fa376b4d5f294e21eefcd19bc() + { + $this->assertTrue(true); + fn() => (($test ??= $test) ? $test : $test); + } + function test801623c7d09077d978901d5d9eb3b5bacd4a5652ccd04192f9dd51b5615985a5() + { + $this->assertTrue(true); + fn() => ((print $test) ? $test : $test); + } + function test838d5401c4a8ce957c8d9dc7bb04c68c7aab989b9ae115e85f4bd82bb2929913() + { + $this->assertTrue(true); + fn() => (+$test ? $test : $test); + } + function test857c74c81ee8bc1449b68dcb1a54edf0e94106f05ae4128bb0f986b5082700c6() + { + $this->assertTrue(true); + fn() => $test::${__DIR__}; + } + function test885719ea87d3094e74eda95eda570a7c748cfb7d06ec37a7f1693ab3ab22b18d() + { + $this->assertTrue(true); + fn() => (($test |= $test) ? $test : $test); + } + function test8a3669bc54a2c44ee62c88df4e81b20f839e5f3d14f92a7c45f19a58605e60c8() + { + $this->assertTrue(true); + fn() => (($test .= $test) ? $test : $test); + } + function test8f9d6678cfa54451f999bead5703ecf3ae838378a848f5bab5a6e8f667da9363() + { + $this->assertTrue(true); + fn() => (isset($test::${__FILE__})); + } + function test9381ff38746c1fc86963f5170f0d0151eadf3827ba3503f8b08375a86529f187() + { + $this->assertTrue(true); + fn() => ($test << $test ? $test : $test); + } + function test98decb1aac73ab4fbf0d07f119ebbc1b3a9bbe8f7fc5e059e96dd974aea65aee() + { + $this->assertTrue(true); + fn() => (${$test} ? $test : $test); + } + function test9aae05c83126d1032bb585a5155f110188113c373c7d8d16e49a2b97929beb92() + { + $this->assertTrue(true); + fn() => (($test += $test) ? $test : $test); + } + function test9b4b1b27cf7e8772a47b9efc06ec53e41fa7cae3c7c399ea204e697536eae3cf() + { + $this->assertTrue(true); + fn() => (( $test) ? $test : $test); + } + function test9d3cdfe72daf712aab896adcb51e2b261dee7234a0d2610161eb8593236a1da4() + { + $this->assertTrue(true); + fn() => (function () { + } ? $test : $test); + } + function testa3d84a9244abbb34b2d33c34037b2c82c20dfb579a996faec99dbf70dc9f9e61() + { + $this->assertTrue(true); + fn() => ($test::$test() ? $test : $test); + } + function testab75e836d95150d8036cf4a3ea9461e1edaf74488c20e72e3811b6cc64d98928() + { + $this->assertTrue(true); + fn() => (isset($test::${__METHOD__})); + } + function testab84ed33eea429cf62504feef502dd1cb9684f351ff894778a788b1034994ac1() + { + $this->assertTrue(true); + fn() => ($test && $test ? $test : $test); + } + function testadd00a414189d0acffcd379826fd40c0f115caa8e46e6a60fdce18498d40959a() + { + $this->assertTrue(true); + fn() => ($test != $test ? $test : $test); + } + function testae506916f7d7441af50c69705c3121f68184b23639be6d61416f28ff2fbcca4c() + { + $this->assertTrue(true); + fn() => ($test->{$test} ? $test : $test); + } + function testb18e7a687d873b90f90779f5365193f43960061dfc21c6369fbf7c0bbc3ee35d() + { + $this->assertTrue(true); + fn() => (new $test() ? $test : $test); + } + function testb59afb807e1cc1bbdf7e5efb83e23051226048be0ba35a875e9c8ef0343bdb45() + { + $this->assertTrue(true); + fn() => (match ($test) { + } ? $test : $test); + } + function testb61cf1059bd0cb588f7dbfb78bc30e992722033f534f3aba2fa033913ae377a8() + { + $this->assertTrue(true); + fn() => ($test % $test ? $test : $test); + } + function testb68eaf5e3aa783808284ef65c005b4135ec1e7872235e4a14e75444788a03cc3() + { + $this->assertTrue(true); + fn() => (($test xor $test) ? $test : $test); + } + function testb85c338bba2ce90d38d69dae5d2c94e002aec26cdc391be289e4fa9f4fbb1d20() + { + $this->assertTrue(true); + fn() => ($test == $test ? $test : $test); + } + function testc3b736c47a88cdc7fdce9ffe77be5e27730bf3d0f3604b3056cc74b37e30d4fc() + { + $this->assertTrue(true); + fn() => ($test > $test ? $test : $test); + } + function testc67c28aaaa054f942ff238395109371fbdab01b4e8f7219975f9731c31b01eb6() + { + $this->assertTrue(true); + fn() => (($test &= $test) ? $test : $test); + } + function testc7c9c45d733169714e808d69ff2aa982c793682703c54888a27b309f4aa587bb() + { + $this->assertTrue(true); + fn() => ($test++ ? $test : $test); + } + function testcf109d1f9708d76c9d82c8813f9970034600ceeed8105094b5b93da34cf19d0e() + { + $this->assertTrue(true); + fn() => ($test === $test ? $test : $test); + } + function testcf78af9e8da00229bf235a6b6d7173823ac4d9dbc2d0085d89de0583f4557a29() + { + $this->assertTrue(true); + fn() => (($test %= $test) ? $test : $test); + } + function testd37bccf9fc4372839b1f85bdf336eccf9b3f4feb4c4a53b3d688f9745e203ab1() + { + $this->assertTrue(true); + fn() => $test::${__TRAIT__}; + } + function testd5cba16b5605063a765bae0c23a10cc0be8ccf3233bb3f0ead4d5d48cb1708c5() + { + $this->assertTrue(true); + fn() => (!$test ? $test : $test); + } + function testdb421130e32a728c5210ae31cfa7e60b6d573b4958614153322c0c171f056e17() + { + $this->assertTrue(true); + fn() => (self ? $test : $test); + } + function testdf4d4e2ee67f4b1efa4067c94d3c3d35e6c38cd0c6e8971420b2d79fd7267b91() + { + $this->assertTrue(true); + fn() => ($test <= $test ? $test : $test); + } + function testdf6d72a2830d8c1d651fc32425a1582f2419aff5a7482c17c8c53296a0d13450() + { + $this->assertTrue(true); + fn() => ((double) $test ? $test : $test); + } + function testdfae97c8f2d84acb819bbc8fa448f33907598a02cd020a4d94a49f08e314e028() + { + $this->assertTrue(true); + fn() => ($test + $test ? $test : $test); + } + function teste0e170ebe43b1cf16822d8f973785183a8e6177d53bc9139b5a970374aabfbcf() + { + $this->assertTrue(true); + fn() => ($test >> $test ? $test : $test); + } + function teste67bfc2443b8600f262420cdb578ac551e102b9a309ee0ad02bcd5a5ec81e5b8() + { + $this->assertTrue(true); + fn() => ($test::$test ? $test : $test); + } + function testeb1ed5813ef6df9738cc830726ece9fb070c99d796f14d0cac28cded578a537d() + { + $this->assertTrue(true); + fn() => (empty($test) ? $test : $test); + } + function testebbc841d45aa925b3c63425b10e7ecdf2149c702f188afc73e7056ccc9d65fa4() + { + $this->assertTrue(true); + fn() => ($test() ? $test : $test); + } + function testee0d2710b472934362569f21b69711905b708a1ab32230f3ffbd0149393aec9b() + { + $this->assertTrue(true); + fn() => ($test !== $test ? $test : $test); + } + function testee0f7386153e953a83a9345f23b7d843ace61a5ac2f2f25043dc165b88269f8f() + { + $this->assertTrue(true); + fn() => ($test ^ $test ? $test : $test); + } + function testee3dc04784793d4cff57c9d7f1cb719b2ce70cb859d7b1747bbede4dfcc1397a() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) ? $test : $test); + } + function testee7bab7b9da1489a7a408caf5ce52c1051129ee4ea91a8b7d24765c72f2f7dbc() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test); + } + function testef59bab17eb36dada330882d8a9c9c9b2ad1bf965e6e000f6dc19f025686640d() + { + $this->assertTrue(true); + fn() => (($test *= $test) ? $test : $test); + } + function testf21e186196530e5a9a642c30e07783198950741f54ba9a060dcccf56e142055b() + { + $this->assertTrue(true); + fn() => ($test ** $test ? $test : $test); + } + function testf25ec2ef3baa60fe6d9a32c0c9a9040af496e8c3031bef5b8cfeb81a07d32f58() + { + $this->assertTrue(true); + fn() => ($test->{$test}() ? $test : $test); + } + function testf41c6b6ee2bfbe23f739a518c047ea7af8766a042ea9c87f1ab8fa258fa19164() + { + $this->assertTrue(true); + fn() => (--$test ? $test : $test); + } + function testf52fca63e80f9d2e6d169895292872db07c7263ab20cc8a1dde7975c7ab41ce8() + { + $this->assertTrue(true); + fn() => (-$test ? $test : $test); + } + function testfaa3002ab6a50a9b3d4313bf8e17126efb20f4f714abc84ff98516b1db6f0c74() + { + $this->assertTrue(true); + fn() => (($test ^= $test) ? $test : $test); + } + function testfdf1d8000a6ebf21c75fbe1e5fe1baae6d3b474a5cd6daafa74934255fdae3d1() + { + $this->assertTrue(true); + fn() => (isset($test::${__LINE__})); + } + function testfdf37697753f18c6f90ad75a189b6b653ec5f3b8fc806d69c950cd35ace4d173() + { + $this->assertTrue(true); + fn() => (isset($test::${__TRAIT__})); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest.php b/testsGenerated/Target/Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest.php new file mode 100644 index 000000000..eec96d89d --- /dev/null +++ b/testsGenerated/Target/Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest.php @@ -0,0 +1,516 @@ + + * @license MIT + */ +class Expressiond5fd17dbd5331b1641aaf5ca72aaf0c0eb50f0c870ae1462f8bd3005cfd3475fTest extends TestCase +{ + function test01574be8cc17ccc46fa3792febea4ae5583ed2107ef720577fabd5ac63d51e5b() + { + $this->assertTrue(true); + fn() => ${$test ? $test : $test}; + } + function test03001eb5634db5b3d282246da3911ad52c47c3e5f9bca3d1042b0bad091fa337() + { + $this->assertTrue(true); + fn() => ${$test()}; + } + function test04dee0482f0968c6f40a5c1914ddeca86b71d6622e54a5eb4a2dc1b82fe445f1() + { + $this->assertTrue(true); + fn() => (isset(${print $test})); + } + function test06d9f6beae3a53da02bf163edca99fb8c13e57f9af16ee073f2763adf2730136() + { + $this->assertTrue(true); + fn() => ${function () { + }}; + } + function test09df478e3d0353f867a36c6d1bb1a986ef7c9e26f0624e065421944c99e98551() + { + $this->assertTrue(true); + fn() => (isset(${$test()})); + } + function test0bb7f2e6521ddc7420f8320409fc962995269da911cc6311bfe255296ffd6990() + { + $this->assertTrue(true); + fn() => (isset(${$test::${$test}})); + } + function test0d8af592ba2613199a64170e300081d48e8a204f6946f5903a9b3ad9a627ce9b() + { + $this->assertTrue(true); + fn() => (isset(${$test *= $test})); + } + function test0e01687a41a26dec4dc7648507d1fa1ec3c8287f39a8adf82e41f7cf43b53557() + { + $this->assertTrue(true); + fn() => (isset(${ $test})); + } + function test0ee1b20a34e730d3ac200f5b7e4170462e82521ce7d69548b9541160095b1295() + { + $this->assertTrue(true); + fn() => ${$test =& $test}; + } + function test0fac571d0411eac5a0bbf701594a251b8b1907d8c2b03cb67710c0471e126b61() + { + $this->assertTrue(true); + fn() => (isset(${empty($test)})); + } + function test133b0d26f9a7da7d80c458ec391b1f4cc97611235a45160679585b3378052532() + { + $this->assertTrue(true); + fn() => ${$test %= $test}; + } + function test1831700415122f90b1c7113092aa9013696f682d2037b5a615dc7733da075650() + { + $this->assertTrue(true); + fn() => ${$test ??= $test}; + } + function test1cd0db299972e9cd6225e6810e9f8aa5107f0cb9c444fad20751673987f63ec7() + { + $this->assertTrue(true); + fn() => ${$test <<= $test}; + } + function test1eefc5625bdee907be4729fe7e616ba0bb5a13eb495204649a9d950685140563() + { + $this->assertTrue(true); + fn() => ${self}; + } + function test243a4664c77380b6df0f15240677d01eedd4dc5604dc1d0246fa10a1daf84738() + { + $this->assertTrue(true); + fn() => (isset(${$test::$test()})); + } + function test2c3b223324710b00df93fc48be4771993b735804e42530a06f587f69895226ff() + { + $this->assertTrue(true); + fn() => (isset(${``})); + } + function test3260531a3e26148f3841fb9856127f55f1ed70f847792cf6295851d897e4039a() + { + $this->assertTrue(true); + fn() => ${${$test}}; + } + function test3714ee0c903324cf541aed5b38d5779ccecf9dfdc1607283c100322052109eb8() + { + $this->assertTrue(true); + fn() => (isset(${$test ??= $test})); + } + function test3817a708de5b534362efa62bff5ca3474543fd15bc79a1518903027cc3a89114() + { + $this->assertTrue(true); + fn() => (isset(${$test =& $test})); + } + function test3a1d61104e504d3dca439b950daccb3dee47b11eb3275ac71595a037e6eaf3e6() + { + $this->assertTrue(true); + fn() => ${++$test}; + } + function test3fb0a01ec96f417122b7ed230852ba565369192c02312550f90dc6a7bb290611() + { + $this->assertTrue(true); + fn() => (isset(${eval($test)})); + } + function test4226cdeef8cba685653b2c3e1e2fa1690d8ff308d4b4ce8c061414131c8539f0() + { + $this->assertTrue(true); + fn() => ${$test /= $test}; + } + function test487a414cc8ae8b4481f43d6a7929754969fa8f45afab089f09c323f82be7d940() + { + $this->assertTrue(true); + fn() => (isset(${$test?->{$test}})); + } + function test48a1a0138fe29934567ab3a7ff05727758bd40c8bd1a5423d80d74bec7d4b08f() + { + $this->assertTrue(true); + fn() => ${-$test}; + } + function test4e25d62d7ebe7cae3dea38c3e5e41ee5770b3cab8a7ad0300677288a0140b4ed() + { + $this->assertTrue(true); + fn() => (isset(${function () { + }})); + } + function test4f6ac513eae6ccfa8c6297d7c81461e6990d8d413b85b22ee827697597688965() + { + $this->assertTrue(true); + fn() => ${$test ^= $test}; + } + function test4f761674036bee5dcaa7c6125290d4cb6cc61c48712c2d6768b18610a8e793d6() + { + $this->assertTrue(true); + fn() => ${~$test}; + } + function test56a231a11892f739c518dc393dbc8a39771b4197fca67e83d54a5a90ebb1c530() + { + $this->assertTrue(true); + fn() => (isset(${$test **= $test})); + } + function test5788d87dadc262362c74afdf83a1a2e584674dcc4d8fdd603e9dffa8edee656e() + { + $this->assertTrue(true); + fn() => ${empty($test)}; + } + function test5ab178bb7d4831cd02045dd810b681c73d9b16b8665ad2fa0bbffc43a4b8c2cc() + { + $this->assertTrue(true); + fn() => ${$test?->{$test}()}; + } + function test6126f8480508d7f1924b375a095261093dad08d8f1bc84e5266fa8ca60b84159() + { + $this->assertTrue(true); + fn() => ${$test = $test}; + } + function test624cb9b5cf4a06453f727b5e4ff71534f22774779519056d6d9c9d03b93cdbf3() + { + $this->assertTrue(true); + fn() => (isset(${$test ? $test : $test})); + } + function test64e854f017b811f6539536abcc49192436ef051e92c91221df27ab4692aca33f() + { + $this->assertTrue(true); + fn() => ${throw $test}; + } + function test65f923025bce56dc8a279eb37e62592603f739d3060f1009dbec629c3ae75a15() + { + $this->assertTrue(true); + fn() => (isset(${++$test})); + } + function test6a298c6e6e46598390ecf7116914c280a5c8668298d40d738c372dde4bba5c56() + { + $this->assertTrue(true); + fn() => (isset(${throw $test})); + } + function test6bff7fbe3c37ab6dcbcfc49d952db837e956e2f4f45eaf0a76de94698d0b4311() + { + $this->assertTrue(true); + fn() => ${``}; + } + function test6c225f12d8501aedf3745faa31eade4e795fde2a5f9c83124cad771b07ef2353() + { + $this->assertTrue(true); + fn() => ${$test->{$test}()}; + } + function test6c283ae90ff966f32407d39b831a514221a7355f1c16a8381552d6c2eae32a51() + { + $this->assertTrue(true); + fn() => (isset(${${$test}})); + } + function test6d8238e61c5384b6abc5f1d2854edb72b1a4747fe57afa8df516464c5849a178() + { + $this->assertTrue(true); + fn() => (isset(${$test = $test})); + } + function test6f8ad1fecd3ae405850b85b34d2fb6310689fbedf68c25b3bb7812d097167486() + { + $this->assertTrue(true); + fn() => (isset(${self})); + } + function test7bbc0511da3cd9d0cc44ffb6a980f7026cd98c6d3d5fa13af740f1685d544db9() + { + $this->assertTrue(true); + fn() => ${$test instanceof $test}; + } + function test7edfc22d611e7f419a92e7dfb670f59da7c748ee1e73e04c3766bdeb4c398cea() + { + $this->assertTrue(true); + fn() => ${ $test}; + } + function test803bb651c4ffc1d30f35767473c8e265f746b07f87f7db12eebdcb02116c8032() + { + $this->assertTrue(true); + fn() => (isset(${$test instanceof $test})); + } + function test80fa4526b54437c1015baa3c181c3027302406fe0cc42411c97b188ab3eb510e() + { + $this->assertTrue(true); + fn() => ${print $test}; + } + function test82810e1198257f19bc424468523d71e54b503358ada1b981c768b6f1e9f6b3d7() + { + $this->assertTrue(true); + fn() => (isset(${(yield $test => $test)})); + } + function test87be738abf96eee6a2cd432414ece62ce751ffe1fcc31b9bdc99202791d355c9() + { + $this->assertTrue(true); + fn() => (isset(${$test[$test]})); + } + function test889c6aa70289b909942bab78f3694a8eb8b4befb6f1166521aabba8e19d34cce() + { + $this->assertTrue(true); + fn() => (isset(${$test ^= $test})); + } + function test88dca66a4f788ec4e31a17c9d46f2f62ee1b9f5d2ad96139921f01a083015de1() + { + $this->assertTrue(true); + fn() => ${eval($test)}; + } + function test88e3c15525c763fe7f19301b23e32d54effe744d603b87390384843fb55264a2() + { + $this->assertTrue(true); + fn() => ${!$test}; + } + function test90d2f9a7ba34914cd473c5a35b6fb50d31b0d268150505d0203ff14cb52f48c9() + { + $this->assertTrue(true); + fn() => (isset(${match ($test) { + }})); + } + function test916e91175442264fe06876f6d6c51d59c971f55b0105d349d8d26aac38518d27() + { + $this->assertTrue(true); + fn() => ${$test += $test}; + } + function test91bfd371686e5de155fea1a4412f05d9673a044e4e3fb456b017ae3844280f61() + { + $this->assertTrue(true); + fn() => (isset(${new $test()})); + } + function test9345e4a811f1725558a7a80cabe23289fc8ebc7d71b775c4ebd27c26b11847de() + { + $this->assertTrue(true); + fn() => (isset(${$test})); + } + function test97e96906711976a1867336ed7cbb56e265fda06e42cee95f94cefbac9ba6d6c2() + { + $this->assertTrue(true); + fn() => ${isset($test)}; + } + function test9846617c293b91be1684202f98095403201cacacd8c12deace351ffb16e030db() + { + $this->assertTrue(true); + fn() => (isset(${$test::$test})); + } + function test985e61935ebe75d221093fd2f40a55516fc3025ed0b5ee29edfb0183fc6e6eb8() + { + $this->assertTrue(true); + fn() => ${$test::${$test}}; + } + function test985ee5b89f7bead0adc60aaafe8f11714c2b614a1620a0854076d53ed2a6353d() + { + $this->assertTrue(true); + fn() => ${new $test()}; + } + function test988607df4cb4ea1c449f0991ce6ce018c6558f38ef5868623fdaaf3d1caf148f() + { + $this->assertTrue(true); + fn() => (isset(${$test += $test})); + } + function test991ff4cb80eacb930ca026018fa94b5baaa9c078021767765eceb49706846217() + { + $this->assertTrue(true); + fn() => (isset(${--$test})); + } + function test9fe8e2b40374304c9c4fedc871e57fb47cf7de06c2815e7bde543d6c4cba67c8() + { + $this->assertTrue(true); + fn() => (isset(${!$test})); + } + function testa3c7c28c8e86ab279db6ab9118e501c2bb29cc663e98a3552560d057b936b05d() + { + $this->assertTrue(true); + fn() => ${$test *= $test}; + } + function testa74449d93d0ffe14627939bd04dddcb513b57348ca3306033ae7cfee2d77aee9() + { + $this->assertTrue(true); + fn() => ${$test **= $test}; + } + function testa96450da48cb3f506cb3440c6bebbeadaaafddb37940b74d4d7e7c1382bc47a8() + { + $this->assertTrue(true); + fn() => ${$test[$test]}; + } + function testaaeeec6716955a6dddda420a2d0c4290f954f73e041fc38778b5f41ef64a865a() + { + $this->assertTrue(true); + fn() => (isset(${$test--})); + } + function testaf8b7787f096f1981160e6e78bfa9a6e79ea8d502e56395fe2debb1a64eca4b1() + { + $this->assertTrue(true); + fn() => ${$test &= $test}; + } + function testb24c0cfdd94349d68fd497ee3047ce2e8596cc1fcfef126942408d149b9c71e2() + { + $this->assertTrue(true); + fn() => ${$test}; + } + function testb2f6036ccc6749a3e46dacc1c943447f6c82c75ec89abdbfa439a52bd6d63269() + { + $this->assertTrue(true); + fn() => (isset(${~$test})); + } + function testb53e202a2a90238e2695cd5c12c2079cd6bfd5b5b79a1f9ce72428d4af160436() + { + $this->assertTrue(true); + fn() => (isset(${-$test})); + } + function testb5c96723b78fdc781709759858e18dbba9e56d6881dc27ad634b35ee9e14e064() + { + $this->assertTrue(true); + fn() => (isset(${$test->{$test}})); + } + function testb64520be3e79840b2c3fd114b64f236e0c6f052369274a47095b37fc73bc9eb4() + { + $this->assertTrue(true); + fn() => ${$test |= $test}; + } + function testb73f6fb1c28b4dddf422477b32571f9f308e02329905a4b50dc9179e58442606() + { + $this->assertTrue(true); + fn() => (isset(${$test |= $test})); + } + function testb9bf5cbe492689a7b55e0a9f0b26bdd1e452f09a85b71bc9b414423befbeb13b() + { + $this->assertTrue(true); + fn() => ${clone $test}; + } + function testbcd9804ae1b3a1bea791a8b6ea5b63ca5e6356ee5d99a8a72e5b8f0c65d290e8() + { + $this->assertTrue(true); + fn() => (isset(${$test++})); + } + function testbd1ff06e7804b609d5e3c5fc8d11c161d08a1811ddb401542634511adbf7799c() + { + $this->assertTrue(true); + fn() => ${$test::$test()}; + } + function testbd4232050067cb00f18bf08aa118705630a5ddf22a9e41bfa04d381aa05797bf() + { + $this->assertTrue(true); + fn() => ${$test?->{$test}}; + } + function testbf0e68f4691bbf89fdb4d3e4192cd2c160c52a5a079aa8a1b4bbbd2f58ecaae8() + { + $this->assertTrue(true); + fn() => ${$test--}; + } + function testbfbf5ba1cc18825fda5a02c713421c4d43551004e84d8217481600e6571dd59b() + { + $this->assertTrue(true); + fn() => (isset(${$test?->{$test}()})); + } + function testbffa7bc54866315667b838592bbf7247ab00c6142fee0d3744d91c5e08698210() + { + $this->assertTrue(true); + fn() => (isset(${$test->{$test}()})); + } + function testc19d85708c1f2631b2ec91dd2695f1d0e5d4d425f5bb762e1c180de384b4c3a0() + { + $this->assertTrue(true); + fn() => (isset(${$test .= $test})); + } + function testc380caaf54f795918f160eba2bb3ff4b02e9c076433e92b65b8f819c26652135() + { + $this->assertTrue(true); + fn() => ${$test .= $test}; + } + function testc6399699bc527479bc8ce138ee7755e9de3db52220fd3ff66196b9e6ecdd7666() + { + $this->assertTrue(true); + fn() => ${$test->{$test}}; + } + function testcb5648fd2fba469d5313b92713751cd07d13696e3ae5fd99e848bb04165d348f() + { + $this->assertTrue(true); + fn() => (isset($test)); + } + function testcbbb2a41c3043e1c143a1e2908aa3d0588872e343dea6d665d7a101c83bc5aac() + { + $this->assertTrue(true); + fn() => (isset(${+$test})); + } + function testcbd99d09bf5f6532f11f5641bf76ba7b9b102850a613e3a5cbe7319ac3347dc4() + { + $this->assertTrue(true); + fn() => ${$test -= $test}; + } + function testcd8315fecc2769e316e0d16d81afd95bbe66e24bc028d45ffa7e43e65dd80942() + { + $this->assertTrue(true); + fn() => (isset(${yield from $test})); + } + function testce6b45bbe9eaebdc3654b37227960a500d18a9ee57fd86fa2646dabf05eb8710() + { + $this->assertTrue(true); + fn() => ${@$test}; + } + function testcfd3ec80514aa0b317ac790d9b3cc555756f425241e04531e678e3544c0b5ef1() + { + $this->assertTrue(true); + fn() => ${+$test}; + } + function testd8809866e24ed387837cbbd6b439d09906c52742a0729b46f28a5893829e7ca1() + { + $this->assertTrue(true); + fn() => ${$test::$test}; + } + function testd8ecd3b7e42f971cafae3f6fc10074833f0b526596e1b609fde55c9871da4530() + { + $this->assertTrue(true); + fn() => ${$test++}; + } + function teste09d13afe022674d65bf121209f217b3e1e3575584ca91ac4f646228aebd5480() + { + $this->assertTrue(true); + fn() => (isset(${$test /= $test})); + } + function teste2a27b2e5b4bb1176d0b939ec6c9c62db5ad74c3d2be068375d47f82c16892d6() + { + $this->assertTrue(true); + fn() => (isset(${@$test})); + } + function testeacc34a6efe012cb32f8202aa9aa1ea4039b421c5540d031b6eeb8442d146c1e() + { + $this->assertTrue(true); + fn() => ${(yield $test => $test)}; + } + function testebff16ebd17067691c89e10f021bc59a5f938fbe79f3009992829ff09f815726() + { + $this->assertTrue(true); + fn() => (isset(${$test %= $test})); + } + function tested851988131740611e51ec0e6c1be3aa53498d443351b1d533121f70d357f3fa() + { + $this->assertTrue(true); + fn() => (isset(${isset($test)})); + } + function testef392e76050477bbd43a326c68bec16e494186d84719f58d25eeda1560e0f553() + { + $this->assertTrue(true); + fn() => (isset(${$test -= $test})); + } + function testf4aff0fa54d2189b99b0823024f2afd6f4a03a79b00c8d06b3573dbbf389cb33() + { + $this->assertTrue(true); + fn() => (isset(${$test &= $test})); + } + function testf606307ddcc5cd6709b13b3186b048022ac88aa15642a9921b1141d1d24888e5() + { + $this->assertTrue(true); + fn() => (isset(${clone $test})); + } + function testf97ebe3159674cc694e1ee121a9f6ed9978ec943b48b34684def5bd65a9eef5e() + { + $this->assertTrue(true); + fn() => ${yield from $test}; + } + function testfbe7b648778b5a06d03170ece34b898e3a27159486990f342ef3342a78192fee() + { + $this->assertTrue(true); + fn() => ${--$test}; + } + function testfdee69b6c1269d0c2e5ddbdd167bbe0bbfa98fe8429ad3c3da5b27091b1f7d27() + { + $this->assertTrue(true); + fn() => ${match ($test) { + }}; + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test.php b/testsGenerated/Target/Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test.php new file mode 100644 index 000000000..66746de8a --- /dev/null +++ b/testsGenerated/Target/Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiond6f162209c2c72978f5ceb7fdc56a2d8396893d1fa7434c874142d9079f5f8d7Test extends TestCase +{ + function test004330aa54696afeebdbf15f7e5528a01c060ff37a73b507fed6ec4e435e0f1a() + { + $this->assertTrue(true); + fn() => ($test !== __DIR__); + } + function test0569d9bba8a820546c748228512240430cb51e53765b87494ab3d4a2b2946034() + { + $this->assertTrue(true); + fn() => ($test !== ($test ^ $test)); + } + function test056ef3ccfab7feb13ed72a1dc18b0c2bb60f565f45b5840e0331c16c0dfaa44a() + { + $this->assertTrue(true); + fn() => ($test !== ($test -= $test)); + } + function test06c6d49f5c6471f374e1df0fa3cc0f710bff80fa98e353ec902a61413549c1d3() + { + $this->assertTrue(true); + fn() => ($test !== (bool) $test); + } + function test085ecdf0f70f0f31b58198f2586fc05b8f20baf2e63cff6ec34cae951ecfd1ef() + { + $this->assertTrue(true); + fn() => ($test !== ($test =& $test)); + } + function test10608f63042f03781a06d54a662ccc676bbd4523a6f422cb2f6197b9b9f047ac() + { + $this->assertTrue(true); + fn() => ($test !== ($test && $test)); + } + function test10b6b27cba5dab70643b5ed4039609a65d5d68989f92afb573c2182cc0ac1a4b() + { + $this->assertTrue(true); + fn() => ($test !== ($test .= $test)); + } + function test1227d15e0bd7643582cfdc21ac56867b6bec202555a8d56aa019713ec7b753a5() + { + $this->assertTrue(true); + fn() => ($test !== ($test *= $test)); + } + function test197cc91d3bb1dda6cc492a15ff95c21599ec7869d1b21292ad87ff998cb1ab70() + { + $this->assertTrue(true); + fn() => ($test !== ($test ? $test : $test)); + } + function test1abd9a56f83de9e149b30d4310ece1c1bce1464fe1e03d9a006cae1adc5f3ebb() + { + $this->assertTrue(true); + fn() => ($test !== __METHOD__); + } + function test1e078918ef9bae68aeb81c4b503cfd7ae18b705bfa7d602a980f6953aea8cc58() + { + $this->assertTrue(true); + fn() => ($test !== $test->{$test}()); + } + function test2020ab44fb6e3367ac5eda2865ccb7cfdbd4a09a19fc21add66085b6ceda938b() + { + $this->assertTrue(true); + fn() => ($test !== (object) $test); + } + function test2256517284a800ef1f83f9b40741d1d6332d34a305f5422296af5fb6ffee0a04() + { + $this->assertTrue(true); + fn() => ($test !== $test instanceof $test); + } + function test2aafe043232644872b744acd44158c6ce0931e69d298346086ed988ea2e16e87() + { + $this->assertTrue(true); + fn() => ($test !== $test < $test); + } + function test2ed60f06cb6d1550fcacf8205567ea90e673bd5e2ae81cd88477faabd108fbdd() + { + $this->assertTrue(true); + fn() => ($test !== __TRAIT__); + } + function test2f242112b5eb747327a1f0f3bd3c292154e74170215e7ae2167b996f8cffd9ec() + { + $this->assertTrue(true); + fn() => ($test !== ++$test); + } + function test30214adbfd9434dcc0cde04de72b5a75dfbddfdbf3f1d30fc58e830399480b57() + { + $this->assertTrue(true); + fn() => ($test !== ($test ?? $test)); + } + function test331ba5d7e3df0a6bfc4c48f9ced0cefb1e59a95ecd87d561ab048594f410dcd1() + { + $this->assertTrue(true); + fn() => ($test !== ($test == $test)); + } + function test37ad09c347b77572260850eb3077f2a72ad97db3807cca8a9ad3d665b7251e5f() + { + $this->assertTrue(true); + fn() => ($test !== ($test || $test)); + } + function test37cecad784016f931ce77f9f42979d34d897c8924afc1077e17c057279bcfb75() + { + $this->assertTrue(true); + fn() => ($test !== $test++); + } + function test381330bcd87f0903a480574f24977146b6b90482cedd79f7aab1e0ed0dc6421d() + { + $this->assertTrue(true); + fn() => ([] + $test); + } + function test39df9c12710c4880c0b0948df9954ab12c265b4337f9b71bcf83fa583b0b3e4c() + { + $this->assertTrue(true); + fn() => ($test !== (string) $test); + } + function test3afe572f1f3e41bd5e5979bf64f6ad6336ab25b3fa1ba21d44927ec77914c715() + { + $this->assertTrue(true); + fn() => ($test !== __FILE__); + } + function test3b29e7bdec58b15b0214f94c868feb3e2eafbb7f60514ab35d54567f291c9436() + { + $this->assertTrue(true); + fn() => ($test !== $test::$test()); + } + function test3f2983df81ad8098ddd569b9b1d26088184610940ec1f723511b97c76bb51452() + { + $this->assertTrue(true); + fn() => ($test !== $test <= $test); + } + function test40eb2b77e798b47b7c8ea4978b94e53c94d6fd12eb919fa3b6f56618640e7c97() + { + $this->assertTrue(true); + fn() => ($test !== 0); + } + function test43277df416bcb4c5204e7d181377e4ea58c612b23e3beba3c39e459637b94bef() + { + $this->assertTrue(true); + fn() => ($test !== ``); + } + function test46dacd877a699c63fd5d33f40359db898704f21f541cea3d27ee996bdcea53b3() + { + $this->assertTrue(true); + fn() => ($test !== eval($test)); + } + function test49e83906af19ade5b5b8b74ef533064bec5523f77997e89dad953f8f5b3761c2() + { + $this->assertTrue(true); + fn() => ($test !== ($test xor $test)); + } + function test4e86c96a67426b5d4d1010d55333ac74ccc5cd5323d91acc37d03f442293c82c() + { + $this->assertTrue(true); + fn() => ($test !== match ($test) { + }); + } + function test4feabbec7e18288df64b4dbf1b891ce4c28a5b4433385a8b1292eeeba04b3f5c() + { + $this->assertTrue(true); + fn() => ($test !== $test?->{$test}); + } + function test5264db9b69c99d441cba8f8baa13c1575ab1a5668bd168f94d87ff758ab65a80() + { + $this->assertTrue(true); + fn() => ($test !== "{$test}"); + } + function test59e9202fbf6fce4ffd84967983c5f87342e2f3b499b407b113d13765edaf0be7() + { + $this->assertTrue(true); + fn() => ($test !== $test - $test); + } + function test5ae18d778190d62a708542ab2dee5e829bcb73ec6c7a858a92a27ef73b8549e7() + { + $this->assertTrue(true); + fn() => ($test !== ( $test)); + } + function test60181ecd1e90c7ea134fd1e53c84d7e1b7cd3858e9559ef8155d870cae7b27f8() + { + $this->assertTrue(true); + fn() => ($test !== -$test); + } + function test635d50fdee21fe5ac50bb915664a3afe7b0047c8747ab62384a108028df383bc() + { + $this->assertTrue(true); + fn() => (($test =& $test) + $test); + } + function test65e03a15068d7044d91274b5148ccb0dacc56e046f81973ec255f2ff1541c451() + { + $this->assertTrue(true); + fn() => ($test !== $test::${$test}); + } + function test688981e48b8c81527d07a424a0b301f95d93d0ac1fb8fcbb2cdcf762eaddba59() + { + $this->assertTrue(true); + fn() => ($test !== __CLASS__); + } + function test697d56f5e88027bd96747e57282b4d46e3429c645003ea4e7ad6bbf1fea8db6c() + { + $this->assertTrue(true); + fn() => ($test !== ($test **= $test)); + } + function test6ace8f0294138bd4a1d8e7ea39435678a4fb8430c62764d4b158c8b4651eb549() + { + $this->assertTrue(true); + fn() => ($test !== new $test()); + } + function test6bb8e4d59d98189c38e598edc4705593561814f79d5c42f8e46b5eb74af1e390() + { + $this->assertTrue(true); + fn() => ($test !== ($test and $test)); + } + function test6c273ef3a75e503793994b6e0a66c7ea0b7923164e686e4385c1d74749751031() + { + $this->assertTrue(true); + fn() => ($test !== ($test or $test)); + } + function test6d7573c474522465dadf6f2f2ffb38852a1ce8fcdd575b886cd9ae2c3713af9d() + { + $this->assertTrue(true); + fn() => ($test !== isset($test)); + } + function test71c09ca7b374367ce59f6b164c5cbb46d592c5e6182f32adad094f20e5069385() + { + $this->assertTrue(true); + fn() => ($test !== __FUNCTION__); + } + function test7254c66b5fe827869d5ce7918465de72bd86d00802e2ac43bc1549e7e63da5a3() + { + $this->assertTrue(true); + fn() => ($test !== $test * $test); + } + function test72fadaafc461bef02305a427de905b41379898cbcb19a6aecc9005fe6cb349e2() + { + $this->assertTrue(true); + fn() => ($test !== ($test >>= $test)); + } + function test74569c4d9f58c968eb64d1d3d83d8551b029b0f8397020cce55cbf05dec41287() + { + $this->assertTrue(true); + fn() => ($test !== ($test <=> $test)); + } + function test760261f6caa0b109f5af91b88fb0263f1598ecb172d01d7193ecfcf4b4d69c42() + { + $this->assertTrue(true); + fn() => ($test !== (array) $test); + } + function test7c414d4e8583c276dc405599e293b950130b9135e2f444d5bcddab6d587a3e3b() + { + $this->assertTrue(true); + fn() => ($test !== $test >> $test); + } + function test7f7f0fe451cf5f82ad3f870dd6e90c31cca20e38466a6fddcd080baf2540fa07() + { + $this->assertTrue(true); + fn() => ($test !== self); + } + function test8399ae3ec1db20d7c294378076fbfac3b05e78bffa02909df31732328d4cb7e9() + { + $this->assertTrue(true); + fn() => ($test !== ($test !== $test)); + } + function test846d9e9cdbd376987e67ec7e030ee5c9ded2f81708e2486057b50ddc0fae0b83() + { + $this->assertTrue(true); + fn() => ($test !== throw $test); + } + function test861e2fe50b0525158533957ae6b3508f6512a07ed15d5815b2015c242b6c01b5() + { + $this->assertTrue(true); + fn() => ($test[$test] + $test); + } + function test8c28b2cee4da71fd5fdd98acdbad4a629c073d446cae21a524ea31d8b71e676d() + { + $this->assertTrue(true); + fn() => ($test !== --$test); + } + function test91116ec5d34ae7cdf95cb972ab5ba0d20da87e828d555999647ba354365bb2bb() + { + $this->assertTrue(true); + fn() => ($test !== ($test === $test)); + } + function test91e3d3f917bffc3e405630092a3ac7011150de73c8bf0221ae991421278e5871() + { + $this->assertTrue(true); + fn() => ($test !== $test?->{$test}()); + } + function test92b66725c93e126a974352ddad29abfde7605447743d18f5557de3060d3d653a() + { + $this->assertTrue(true); + fn() => ($test !== ($test ??= $test)); + } + function test92ef75bcd5c2430b65c359767c421e1daacc798b7459b1b06af2520991766b9e() + { + $this->assertTrue(true); + fn() => ($test !== $test ** $test); + } + function test99c93194944b0d16cda813c14b4d724b9f9611be499e6a11ac61980c6f42642c() + { + $this->assertTrue(true); + fn() => ($test !== $test::$test); + } + function test9e240811f80e5a38c150959876e2953ed36bb5d991858499ae896902007b2062() + { + $this->assertTrue(true); + fn() => (($test = $test) + $test); + } + function testa17ca5ae90c18a4ae9d5b798bf0ae12aa3d8ff939d3b53f0ab0b2b89836f1aa9() + { + $this->assertTrue(true); + fn() => ($test !== ($test /= $test)); + } + function testa368deca1cc3aac664bbecf18fad956f827314c96932fed960addfb389fd7221() + { + $this->assertTrue(true); + fn() => ($test !== ($test <<= $test)); + } + function testa5a97dfbee60c6fdb329a3eca1c9eeb5a27f303ee7886217b4d6f56ae0c304fc() + { + $this->assertTrue(true); + fn() => ($test !== $test->{$test}); + } + function testa72f531f8b0438a0f1f428a9dc0fe2d33de3c74180dc3b1e32133a39b6666698() + { + $this->assertTrue(true); + fn() => ($test !== ($test += $test)); + } + function testa94f12182b83190c7ab0ca5158d9a844e926999d092d364640637de6bdba0035() + { + $this->assertTrue(true); + fn() => ($test !== []); + } + function testab3b0281ff2efa0979ace5e2fb2497e3862495214d9fd622910b233d5732a686() + { + $this->assertTrue(true); + fn() => ($test !== ~$test); + } + function testac463734915987978580ae87552eb47a48240f0b8d7d6ccd80e8c8d75647771b() + { + $this->assertTrue(true); + fn() => ($test !== $test()); + } + function testae1c63f78614d90216a20b7d4ada3a28151d72d8ebb9ec57186fe9f613d53beb() + { + $this->assertTrue(true); + fn() => ($test !== $test << $test); + } + function testb0a5cba7e96aca52eed675e30ad22aa2747cf6f9fa4b55bfbeba316dfcd2f961() + { + $this->assertTrue(true); + fn() => ($test !== $test--); + } + function testb0cda5ba967b2b8626db30d4490e88a58e6fcd1a617ee01ea9402f5d90d70af6() + { + $this->assertTrue(true); + fn() => ($test !== 0.0); + } + function testb146c629e9201fa3272b5f2a5b53938b7650cdfefad1719ce01cbbb96006394b() + { + $this->assertTrue(true); + fn() => ($test !== (print $test)); + } + function testb2bb39ec782150a57aee976575bc25ecff29c706f610bef3ccee45033fb575e1() + { + $this->assertTrue(true); + fn() => ($test !== ($test | $test)); + } + function testbb77b61fdb4da95236f63dc19772910f0ccf78377e3bd7fe557300224eaff0e1() + { + $this->assertTrue(true); + fn() => ($test !== $test . $test); + } + function testbf6eedfa6365c0378276bfa3d4a0706e43ea732849b1af63756e154c092f278b() + { + $this->assertTrue(true); + fn() => ($test !== @$test); + } + function testbf8005f1243160559848fc3eb5dc880ff9435d51aebeae67d2b1ec177d7854bb() + { + $this->assertTrue(true); + fn() => ($test !== $test > $test); + } + function testc295acadd5de9237b0c728fe888af4f712c7428692160493efa531f76df070d2() + { + $this->assertTrue(true); + fn() => ($test !== ($test %= $test)); + } + function testc46ee4c7df3f32811208f5818b2da363803888980e72b02096c0ad4bcd465950() + { + $this->assertTrue(true); + fn() => ($test !== $test + $test); + } + function testc74501d951dfd4797eb3628ec8af8477e201de5f4931c66a124b1f821205991e() + { + $this->assertTrue(true); + fn() => ($test !== (double) $test); + } + function testc97b09f9a76153859c1d0f89cfd62ba54740a70023caf07ef529736f0e63bdd7() + { + $this->assertTrue(true); + fn() => ($test !== ($test &= $test)); + } + function testcac2a26ab34357b0b6b7b049849cd7bcf5643111ff043dc5d4a3dc6b9477de16() + { + $this->assertTrue(true); + fn() => ($test !== __LINE__); + } + function testcc03629ee99ccba725fadd845e2034a07a0f13a9b76375d80d4f31ca69fd5ff5() + { + $this->assertTrue(true); + fn() => ($test !== clone $test); + } + function testcd497ca4f1cd7a92f8ad20a2b1c722dda6be8c97882fcf7d3a91dbd28af5ca36() + { + $this->assertTrue(true); + fn() => ($test !== __NAMESPACE__); + } + function testced8ba5733d9baf252d467b52ffc5d6785cd365909be53f18f9fa58a72bb2f15() + { + $this->assertTrue(true); + fn() => ($test !== $test >= $test); + } + function testd1dc7df93ea77be278c874809efc150340a57c728fa58de98cac14cf19773e6a() + { + $this->assertTrue(true); + fn() => ($test !== (int) $test); + } + function testd4491084d69636dd43ea5fef8f98ede157c490b795e4f4912483f0c009243b8e() + { + $this->assertTrue(true); + fn() => ($test !== (yield $test => $test)); + } + function testd63dd617e4e03cc8b1673dbf9d6aacdae78a96c66d5d40bb3c19762d6c34699f() + { + $this->assertTrue(true); + fn() => ($test !== function () { + }); + } + function testdb1f2f7d5735f538d277b4ae4539eb8ea854d5d75ea3dc37233d20d6f35b365c() + { + $this->assertTrue(true); + fn() => ($test !== ($test = $test)); + } + function testdcb9173361f3311c980f23b68fe9a369a3b8b91fcd2da2816dbcc547494a17d1() + { + $this->assertTrue(true); + fn() => ($test !== empty($test)); + } + function testdd070fd5fdf20713e7066ac75a11cc3b0059cfbca31a591f3211a8c5701ff46e() + { + $this->assertTrue(true); + fn() => ($test !== +$test); + } + function testdf4787caa621ad4a9aca48361fc39fb2777bf2e9b47cc1e311e765d13f4b12c3() + { + $this->assertTrue(true); + fn() => ($test !== 'test'); + } + function testdffd26433aca1e552adfffd583c01ac5558088040087e773e23e63ac3ecb01e8() + { + $this->assertTrue(true); + fn() => ($test !== $test / $test); + } + function teste053fed17f7896092999a5e9608202806c88fb52b16a295e58e56cb549eb03bf() + { + $this->assertTrue(true); + fn() => ($test !== (yield from $test)); + } + function teste2578511ff8a44fcdbfb1ff6f52ff4868452635c60f5d595ece7ed757d582450() + { + $this->assertTrue(true); + fn() => ($test !== ($test ^= $test)); + } + function teste2b120eb2e67f74746b4863749c931e09a023d5dda4d7125a18c8ac777dada80() + { + $this->assertTrue(true); + fn() => ($test !== !$test); + } + function teste92fe5a36f3203b8bb9f52527cc9316aad108209d6dbef9a0c1f7ebfef0321b6() + { + $this->assertTrue(true); + fn() => ($test !== ($test & $test)); + } + function testec8d496a6e4c31736182be54a7e8428e49e7c4b27e1cadce98857d04720b45dc() + { + $this->assertTrue(true); + fn() => ($test !== ($test |= $test)); + } + function testede16d105644a4e51b3d7c92c7f1f354e9afff204a1ccc87e206afaf52647309() + { + $this->assertTrue(true); + fn() => ($test !== ($test != $test)); + } + function testef27b5bb5fc81c610a1b12f608b03a220e2e11ed523967841bc05f4a9f9b0f30() + { + $this->assertTrue(true); + fn() => ($test !== ${$test}); + } + function testf23440aa3b5c3afcd1273ee099fa02c16c722974856291d8e935de6f3e8c1a28() + { + $this->assertTrue(true); + fn() => ($test !== $test % $test); + } + function testfc8029a55f6f2d054d92b1b8b2a5927e334aac260961432ba6f2e42c48e47de8() + { + $this->assertTrue(true); + fn() => ($test !== $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test.php b/testsGenerated/Target/Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test.php new file mode 100644 index 000000000..d80c7a595 --- /dev/null +++ b/testsGenerated/Target/Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiond88936052c8b1ab2d6e938e00dbf22eabf2a316f11607fc4ba06ff70cb101a46Test extends TestCase +{ + function test027721f1f55393827a24f131167cf39a74a707c96bfec22e01164cefcfcfda2f() + { + $this->assertTrue(true); + fn() => (+$test++); + } + function test02874d715a954ea05e70c9c3cfd5a749bba4e5f4eaacd909508c918d27544328() + { + $this->assertTrue(true); + fn() => (+$test()); + } + function test04b322b851273b07a64c2891ef500422a7326341da77dbc4482b956ba1b37451() + { + $this->assertTrue(true); + fn() => (+-$test); + } + function test0d2ebe458bddc694a8f7aa90b0b1fb41a47d86ec9207a324e5abf11f56dc0b7a() + { + $this->assertTrue(true); + fn() => (+($test - $test)); + } + function test1179ea8e5a3532cf1e8b823b9ee5ccfa08a24bd4d13ae87d904bc68f735fb255() + { + $this->assertTrue(true); + fn() => (+function () { + }); + } + function test14a0377576dd14175bd0bc1ead97a4b1344fbb89736722aee52360cdfb093aa7() + { + $this->assertTrue(true); + fn() => (+($test * $test)); + } + function test1650d8f8174289f621cb89b96ac0ddae8d241c5bd8dccbde2027fe8cd5b4f5b8() + { + $this->assertTrue(true); + fn() => (+($test >>= $test)); + } + function test18329b039c78e0122e157d8f9d4daeb3d7adee26fcc88c10410fe49480ca5934() + { + $this->assertTrue(true); + fn() => (+($test -= $test)); + } + function test1a23b1892f71af82c864e26dd5f1ce9c3357622252b60c8778eedbfe8e2ac6ee() + { + $this->assertTrue(true); + fn() => (-__METHOD__); + } + function test1a298a8163534744f341605a9f5dc808660c91b3e7cd47922f8c5e86292025d2() + { + $this->assertTrue(true); + fn() => (+__CLASS__); + } + function test1ab3c0b8191e72a52df0a62115ee6715ea08bfaeefa83bf27e08a0abc21e5f7c() + { + $this->assertTrue(true); + fn() => (+($test ??= $test)); + } + function test1abd692f8ff0cde31a6bc812ed683875dd387e9e902e4714c5b0629d103f7c7b() + { + $this->assertTrue(true); + fn() => (+__FILE__); + } + function test212c3b7c1c6d0ec038350a69e992bb56823a865c0c15327a6690a1565d07891e() + { + $this->assertTrue(true); + fn() => (+($test . $test)); + } + function test232ea243b60272ed7d6ae343dfcb8d3192ba449548b7c4353d868369a4abf602() + { + $this->assertTrue(true); + fn() => (+($test == $test)); + } + function test290854fc5735ba19ba3a3ad881b7154ae894206eb288e10189456a76ed57c3c5() + { + $this->assertTrue(true); + fn() => (+0.0); + } + function test294b5a836e3d23eca484ba7948fbeab3f21e45bcf7b8f3fa8a2c90aa920be337() + { + $this->assertTrue(true); + fn() => (+throw $test); + } + function test2a38e026e62e9f383ba3bb7c7b9d160a5038c7953bddb2b2990222400384350f() + { + $this->assertTrue(true); + fn() => (+($test ?? $test)); + } + function test2d1f802dbd66f61ba674214b834b5b15687e2579e62fd208b3d1564d2dc23a1d() + { + $this->assertTrue(true); + fn() => (+__LINE__); + } + function test2d87ba516b5a679e2e36f12ac86544e105b6094405f3f3c7cf5f1623769c3741() + { + $this->assertTrue(true); + fn() => (+~$test); + } + function test2e01b08ef54803edde42b82e36f6c4910d74bed92114c57d153c29bbb9e4feae() + { + $this->assertTrue(true); + fn() => (+(bool) $test); + } + function test2f24fd28c725028eed5e61bdb250daf9267d768a3f886facceb8c97f80281957() + { + $this->assertTrue(true); + fn() => (+(object) $test); + } + function test30e26a3ca9078da0a1a02cb4a41c085f0a074b75a88089d582445263cda3a0e0() + { + $this->assertTrue(true); + fn() => (+--$test); + } + function test35ddad67944af3d2f5433fffbe8ce61b6c5e97a81c82f6e9b6dbe1fd1a1d76b8() + { + $this->assertTrue(true); + fn() => (+$test::$test()); + } + function test361e9c42ed014877596e1150b86663855e38cf0edac2d949b50a3a6855cc98b4() + { + $this->assertTrue(true); + fn() => (+($test + $test)); + } + function test3644adfdc054ca6e67e319e19ab9bce0d966ed5d509157a56ca90f5c2d5111c7() + { + $this->assertTrue(true); + fn() => (+(double) $test); + } + function test3722906de9deaa2a35944bfd842bfca1e6ddc15d7ed2795086df43cd3602ff01() + { + $this->assertTrue(true); + fn() => (+($test < $test)); + } + function test3ceba1bd88b7391fd1368425ddb456c7909e289b7f9f351b176f7c96120fa950() + { + $this->assertTrue(true); + fn() => (+clone $test); + } + function test3ede19bb6a817f657a43c04e001d627cc9761f7497f85e5462c0f973e4182de7() + { + $this->assertTrue(true); + fn() => (+($test |= $test)); + } + function test3ee5526a7eab5f4c82bf8680d5040d4119a3d7315ba11a0b25423f7583e02645() + { + $this->assertTrue(true); + fn() => (+($test instanceof $test)); + } + function test41db79501b264d6889adc3165b844a1b297c036839b0080a674f7012526611ed() + { + $this->assertTrue(true); + fn() => (+__METHOD__); + } + function test45e87f61afeda86f4fef397c6e789bd3bf221cce96bf34b08a4634704241ed6a() + { + $this->assertTrue(true); + fn() => (+"{$test}"); + } + function test45f194e19f2f9f0d2ba8fcf889194223ff7ccfef4c0a7c9ce0bd087480d1a142() + { + $this->assertTrue(true); + fn() => (+(int) $test); + } + function test48fdccfd8438cf62154ef1a671353536216096845dd972dfc2349d9f199aeda6() + { + $this->assertTrue(true); + fn() => (+(yield from $test)); + } + function test532eac61edfe0760bc7abf12ae06fcb6dbcc974cc96ba0774fb452fa3c653985() + { + $this->assertTrue(true); + fn() => (+$test?->{$test}); + } + function test53747f174d0a0ef79d5f7c42f8265fe109dc93a8fdd303a68d0a3c7c4848148c() + { + $this->assertTrue(true); + fn() => (+$test::$test); + } + function test59711c2eb83f796e96b7867138862fb3fac0e71662424adc5dd349c53613af02() + { + $this->assertTrue(true); + fn() => (+new $test()); + } + function test59fafe1e9a466e32815462724597f9d514a353191f65fe852144424d4e97663f() + { + $this->assertTrue(true); + fn() => (+($test || $test)); + } + function test5ae12b2a2a36bd75bc247225a23158d865d54ab212717c9c4c699a78c47c83e8() + { + $this->assertTrue(true); + fn() => (+($test /= $test)); + } + function test5e8c3d4d77066a3c7b426bba5f899166d7f6b62bf84b28066b01d69832faf489() + { + $this->assertTrue(true); + fn() => (+( $test)); + } + function test62765b7994a77f56d6deb31fc886f8bce25dedd6350ebd4cff454cf2ae9cb7f7() + { + $this->assertTrue(true); + fn() => (+($test << $test)); + } + function test62ce8e4d06789d3676934aef9943f90916b89e43d239f0b16745ca30a1ddcdbe() + { + $this->assertTrue(true); + fn() => (+($test *= $test)); + } + function test6426277a1301229e60c1b95744b9f762a094dca3549b04dfbe0848876923570a() + { + $this->assertTrue(true); + fn() => (+$test[$test]); + } + function test67dfa960a02b866f0ec93fb2a81befa2f8ae6a3ef92c29a3f803e3caeac2d246() + { + $this->assertTrue(true); + fn() => (+__NAMESPACE__); + } + function test6bb77854a5df5b8ba3b37eb54afe5cba525d87e1bd30d9dfc7fb986725af79e7() + { + $this->assertTrue(true); + fn() => (+``); + } + function test70a745cf62d71c74a808f1e9843636cb3082671a04ad327fbb48eebc169f784f() + { + $this->assertTrue(true); + fn() => (+($test && $test)); + } + function test71c3341f6f6943351a307a65712c04ffee5e36b39d521c8b4b3c7889a71fb879() + { + $this->assertTrue(true); + fn() => (+'test'); + } + function test73acd68a26ba3a0c99ec6fd3d26b665b124fe6f62f784158aa2f08f20e1194f0() + { + $this->assertTrue(true); + fn() => (+0); + } + function test73db4d5a257bd4547e08237fd24abbea420a1e32f00266df5d939c15aaf260e3() + { + $this->assertTrue(true); + fn() => (+${$test}); + } + function test798db41ceba7aff7b0c92394c412e9a22fa3dedab09d3905c1d1016373daa0f2() + { + $this->assertTrue(true); + fn() => (+(++$test)); + } + function test7aed0b03475c896886be94e4a383e59c50e24960565936355101cad4a8122be8() + { + $this->assertTrue(true); + fn() => (+($test >> $test)); + } + function test7c71e07bb5167d85508827aa0d7218202d12418419016ed865a49ad75226ddb4() + { + $this->assertTrue(true); + fn() => (+($test ^ $test)); + } + function test7ff656e114bf0aba35883bfd2a3531a18e0d83e5dc46247aa9048e1d23a1aaa0() + { + $this->assertTrue(true); + fn() => (+($test += $test)); + } + function test81f2a0ef8f87ce6a7d2f89e3eb4ec07c02e62318fa75a7fb5efa304da585eaeb() + { + $this->assertTrue(true); + fn() => (+($test .= $test)); + } + function test8238488a5f27c115408e71354b0c4c912afce9f3559af0ba7ee6c83ade2eaac5() + { + $this->assertTrue(true); + fn() => (+$test ** $test); + } + function test875ea25e3f38348ac29a540c75f921ab9d8e077b80ff26d6a91bcc4c28fd08de() + { + $this->assertTrue(true); + fn() => (+($test = $test)); + } + function test8a6dbef6e6f311bff3cfbeddcd92bfa42530f507acb7df9fa11c7163024decc5() + { + $this->assertTrue(true); + fn() => (+__TRAIT__); + } + function test8c8d107e1b4af3b2f171371953d420bf6cc683ac5c32c7b43d67da96a588311a() + { + $this->assertTrue(true); + fn() => (+($test and $test)); + } + function test8d4acecd3174cd2af5a5706f091ff7c41faeedb94862eafb70833add9f042c76() + { + $this->assertTrue(true); + fn() => (+@$test); + } + function test907338430fdfef97d2da0e4bb3a186520caa49813ebb4c75aa3dfb5fb4b30665() + { + $this->assertTrue(true); + fn() => (+$test->{$test}); + } + function test91e98e98bca050138e74bc2755073bd8ab989160cba505665e12122300aa0b1e() + { + $this->assertTrue(true); + fn() => (+(string) $test); + } + function test93e188884a791c4e1315d74b7804c13a9957d1401ed256e820eb0cfd561bd5c1() + { + $this->assertTrue(true); + fn() => (+__FUNCTION__); + } + function test97b0234657ef6ec336a613e09f46063c76ef941aa173d984c3c9b810df5e08bc() + { + $this->assertTrue(true); + fn() => (+($test / $test)); + } + function test9f0dea76aa216cd5c74e4e997d2f18c11b7663439f895a13163e0eca4e7877de() + { + $this->assertTrue(true); + fn() => (+($test !== $test)); + } + function testa0716b69792e9247cad10a38063e202aab3fd773bcf382b37a9eb91c19b8e8e9() + { + $this->assertTrue(true); + fn() => (+($test > $test)); + } + function testaa307fa425a2468d1643dedc71aaf3c3d5c3c7bd1f65f1f851ec93774b2350fb() + { + $this->assertTrue(true); + fn() => (+(!$test)); + } + function testabbd3321b0d2b574890e2d97cfc5f2c605dce5b04c3515048a9089929180a5a4() + { + $this->assertTrue(true); + fn() => (+(yield $test => $test)); + } + function testabc5d792f29640f5e171be82064236f9387cc4e7730974b91f30b250815e3346() + { + $this->assertTrue(true); + fn() => (+$test); + } + function testac19d3992f8fc2ecd2805b1b0b92807e615b9a18df086811201a54e938007556() + { + $this->assertTrue(true); + fn() => (+(print $test)); + } + function testaf21d0ff95b926bb15ef5eff63b39e10dafd67711abd07c0830c57265b097527() + { + $this->assertTrue(true); + fn() => (+($test != $test)); + } + function testba8a54affca3bb74398a5269d43cccbc7d17ab5f5e1ad39b32d9d896037bf419() + { + $this->assertTrue(true); + fn() => (+(array) $test); + } + function testbc10b20d61f01da0df63c5d7d0ae5fa5fa8b3e11bf4e7487c740d33f99ac5484() + { + $this->assertTrue(true); + fn() => (+($test &= $test)); + } + function testc2478e0747bd0d3a845bc1430c457747ae5ebc43ae791b82d4b075d0c4cb5f25() + { + $this->assertTrue(true); + fn() => (+$test::${$test}); + } + function testc2c94d0952904359a0bb2a18020c17273e32ea8b142965e6a13425e8c49938b1() + { + $this->assertTrue(true); + fn() => (+($test =& $test)); + } + function testc495af7d663a5d1d0a96fd1a4e1f30d4de3a983d5c3b1337244a54482bb87c3b() + { + $this->assertTrue(true); + fn() => (+match ($test) { + }); + } + function testc60398c2cd042d6612216d2fb425cdab73e57f15f9da3a2612b17488d03a16e7() + { + $this->assertTrue(true); + fn() => (+($test % $test)); + } + function testcb340fa82baeaa8124bee70a9612d47103ea180f6a24cb89aca114322a2557cf() + { + $this->assertTrue(true); + fn() => (+__DIR__); + } + function testcb69200433b8bf5a0b182a3d5abd53b856846e6a1b623ca6e187b83cd4ee27ef() + { + $this->assertTrue(true); + fn() => (+($test & $test)); + } + function testcc5d1dd0d598a86bd2903b655a188c574e46aa33fc0e5bc124fecd44972c5691() + { + $this->assertTrue(true); + fn() => (+($test >= $test)); + } + function testd012592d1528305f2325bfa302f8661de70a3b5e9018ae24d968c77d37997d47() + { + $this->assertTrue(true); + fn() => (+$test?->{$test}()); + } + function testd0958d70d63f1b28da8f35225e0f2ea658b810f93634c177b62c144628aaf2ed() + { + $this->assertTrue(true); + fn() => (-__NAMESPACE__); + } + function testd46fa6f3458e7a712ed8830a72f422c0f885a228ebce1f66e96099d809a6414e() + { + $this->assertTrue(true); + fn() => (+($test ^= $test)); + } + function testd73714e41e9419b3ea7b4e9ea6da8d0796838aec2b1bce44287638e9e8d3a1e9() + { + $this->assertTrue(true); + fn() => (+isset($test)); + } + function testd9ec77b28ead8c384cfa6bdaaa325fc2b0571912348e8279352baa575f20342b() + { + $this->assertTrue(true); + fn() => (+(+$test)); + } + function testda9cab932e09f159b9b3aa02b1bc856df0927ef4160c69ef043cb2f5d8ce97c5() + { + $this->assertTrue(true); + fn() => (+($test **= $test)); + } + function testde2b546b3ac89c1e0c383ebd54b604473bd067cab5689ed8bbed10f33f23cce2() + { + $this->assertTrue(true); + fn() => (+($test | $test)); + } + function testdf76d2ed4a6c9f78baa4b81dee27b46e1999adcba930920869f5d778f81b5ade() + { + $this->assertTrue(true); + fn() => (+eval($test)); + } + function teste061226fb0bdb89fc9ab3caa7ca178ec8a3784418f1bce7e2f6d588e0beaddfd() + { + $this->assertTrue(true); + fn() => (+$test->{$test}()); + } + function teste7890700f53fcfb6495415e90362a687ed5188ca148ebc634d5d4141632873d2() + { + $this->assertTrue(true); + fn() => (+($test ? $test : $test)); + } + function teste9614f8eb9a4b5935ee0c5b55c7f40e02e4b90c7182a04ebbad38fa234118e10() + { + $this->assertTrue(true); + fn() => (+($test <=> $test)); + } + function teste9d09b4fed4db2e60316be41dfd18235953a9f212bbddb90bb28c3e7c8625fc2() + { + $this->assertTrue(true); + fn() => (-__TRAIT__); + } + function testec98ed097281998702249dbeed9a6279d7bc650d6194052dafdd56537f6ace91() + { + $this->assertTrue(true); + fn() => (+empty($test)); + } + function testee320a3e56d715507c5b65822ce55f5f40496d2c827ec3b00dcd713d5682c233() + { + $this->assertTrue(true); + fn() => (+($test <= $test)); + } + function testee5942b470a1326defbf5786beca131b2ef4943487a8c2cbd3446d3be7b28417() + { + $this->assertTrue(true); + fn() => $test; + } + function testf0675a0038a10c4df9ca850c0333b7e9f04fc8174a72f8cb1b885180b2bd7ed2() + { + $this->assertTrue(true); + fn() => (+$test--); + } + function testf098272dd6fce5ac9ebcfc03e1613d86781511da6a8e8e130dfbcb9616217bba() + { + $this->assertTrue(true); + fn() => (+($test <<= $test)); + } + function testf61eea93711b66809c4bf2b6101cd17319a4959f8ee1f28a041d7af5545b401c() + { + $this->assertTrue(true); + fn() => (+($test or $test)); + } + function testf688e802e49527f22f71c6d1f5ea43e9f3677fa449052297e140984387e00f30() + { + $this->assertTrue(true); + fn() => (+($test %= $test)); + } + function testfad7eb2a08870f2c2d237f607899139b7e3e4cc429d16560050d64e2ef5bc017() + { + $this->assertTrue(true); + fn() => (+($test xor $test)); + } + function testfc6d1c7b47db5463ed13f1dff06442c332e3be0cd692aa51b5b5d7cc11bcb382() + { + $this->assertTrue(true); + fn() => (+($test === $test)); + } + function testfde7c3f9a5e0d9425dac8f4ff094500d71d9d0bca84eb72710c62d380d43c3f4() + { + $this->assertTrue(true); + fn() => (+self); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test.php b/testsGenerated/Target/Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test.php new file mode 100644 index 000000000..c7067b3cb --- /dev/null +++ b/testsGenerated/Target/Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test.php @@ -0,0 +1,516 @@ + + * @license MIT + */ +class Expressiondf02a3b707e0d6d8d3fa90db2f8fa87567ef4c51e3caa8aeabe7de927fecea42Test extends TestCase +{ + function test01df15f65e17f808224c737857f5c235079ab1faf7735eeff39459d55ade446f() + { + $this->assertTrue(true); + fn() => (isset((yield from $test)[$test])); + } + function test033932fa8a0ebd969a758b67e3c528d142654c4d4b2b43117b9bac72e6b0d279() + { + $this->assertTrue(true); + fn() => (isset(($test =& $test)[$test])); + } + function test03ebbfcd2af861a8cf8a5a918b97299ebd6fd03f1ae8a56dfa6f5d0f24a0610e() + { + $this->assertTrue(true); + fn() => (isset(($test ??= $test)[$test])); + } + function test060034bede3ce6b2ef6cd486b647ea79c27fd38303d1883e43dadf03f654b84a() + { + $this->assertTrue(true); + fn() => (isset($test))[$test]; + } + function test0a737a94457ed4bba3dd1260c57f46765a505c1c62a3e3eab6c502f1de44d015() + { + $this->assertTrue(true); + fn() => (isset((~$test)[$test])); + } + function test12c4fbb4336549d6610e6c3fa61c87761ed747b3d39a260b9a944a27b3f95817() + { + $this->assertTrue(true); + fn() => ($test)[$test]; + } + function test13550de694e1cda75d8f4b8a881f0a7535ced671a01fa411aaf22f1d1043dabb() + { + $this->assertTrue(true); + fn() => (!$test)[$test]; + } + function test13d8760f28137d036db55273ffd50df5a39eb90fac054fb2d272c3d7345713e5() + { + $this->assertTrue(true); + fn() => (isset(($test %= $test)[$test])); + } + function test140d697b798ebed810390b820864e4e77ef59aedc4a5f7bc689188e4dd1da0bc() + { + $this->assertTrue(true); + fn() => (isset(($test *= $test)[$test])); + } + function test17b6b11cf643463c07e5d14d2592f61e87c33e9631783fd392c85ee04ed79e98() + { + $this->assertTrue(true); + fn() => (clone $test)[$test]; + } + function test18c6554dd601f3d076337ac63695ea126c389070348554d4559878ca4c980d56() + { + $this->assertTrue(true); + fn() => ($test++)[$test]; + } + function test1919c736ffc61443401d009401372cd0e3fc2791a0466a6a395a0260dd4a5d09() + { + $this->assertTrue(true); + fn() => (isset(( $test)[$test])); + } + function test1b1bc10a489c4230907f4f718c0c6de6a9fa99551255cd57992a1f6df7950d86() + { + $this->assertTrue(true); + fn() => (isset(${$test}[$test])); + } + function test1b30e015bf461be668e77810f27ae4b380c35fdc26d48cd94fbb3481acaa0ed0() + { + $this->assertTrue(true); + fn() => (isset(self[$test])); + } + function test1c388d337047d48223626423bc898dd8b367e843a19a81f198df22b20643ce2d() + { + $this->assertTrue(true); + fn() => (eval($test))[$test]; + } + function test1df7e094e7d4bb3e6161d8c3aaa06d9d742c17e5467d99a00cf2cbc102206321() + { + $this->assertTrue(true); + fn() => ($test *= $test)[$test]; + } + function test1fba1e6342fe6fd5cc48fcb88e5fd3437590c42125069c50dc65bc676ae91794() + { + $this->assertTrue(true); + fn() => (isset((--$test)[$test])); + } + function test21365d94d9c7f135f8f25948c2da686f432911f36c8a2509203de7201b784a45() + { + $this->assertTrue(true); + fn() => (isset((eval($test))[$test])); + } + function test23e3e52cbc98ec263eab96ebe67ab943bb3f47b6e8c13549862bdd03af07bbdc() + { + $this->assertTrue(true); + fn() => (isset(($test++)[$test])); + } + function test2412b667c13b4e05b5f8f763ede27c9337f7bcc7e2f6f3db44759b1b03246e7f() + { + $this->assertTrue(true); + fn() => (isset(($test instanceof $test)[$test])); + } + function test299825d7ad973642ddb09e4c25f20aa2c701c83a0d2a77457e4709f37cec803a() + { + $this->assertTrue(true); + fn() => ($test **= $test)[$test]; + } + function test2d5d8d256fef9822d77529d083797d59b2f2e332f23a5a891e85cb8701121d1d() + { + $this->assertTrue(true); + fn() => $test()[$test]; + } + function test2eb27513a6f57eca492d22f3191263cf4b269d9a7d2e84edfc6a8c5be41c0142() + { + $this->assertTrue(true); + fn() => (isset((++$test)[$test])); + } + function test3119d636e5421e97872c828af7a4f5ee3ccaae412e36f0254157bb082978adbb() + { + $this->assertTrue(true); + fn() => (isset(($test = $test)[$test])); + } + function test3948b9f2b6ac1ea276e5f315a13223774dfd31bbbc540f494440887eb8da06d9() + { + $this->assertTrue(true); + fn() => ($test .= $test)[$test]; + } + function test3b48e547f1a13180975dd368870b7be2ff6be7c40957af82592df5887f44ad9d() + { + $this->assertTrue(true); + fn() => (print $test)[$test]; + } + function test409b9192bb5447af827329101f42e507f70fe969f7312ca05f987592c9083643() + { + $this->assertTrue(true); + fn() => (isset((+$test)[$test])); + } + function test42b0c03d1252a46d497e7179c79997e90d4667270f31d68bfeabd910f87bd05f() + { + $this->assertTrue(true); + fn() => (isset((empty($test))[$test])); + } + function test44c9f6bec4cfda3824b7e55429e28de6c5310291aafcca0f3d63650ba9180ef4() + { + $this->assertTrue(true); + fn() => (isset((function () { + })[$test])); + } + function test472288f54f5c7ec60a36e623a419bde85491ee61998ce4db560eaced2fe89007() + { + $this->assertTrue(true); + fn() => ($test--)[$test]; + } + function test48afbcdda0bd143dbb3521148b73bc9489e7a3f9af1a8ca5ba7dac9417067f6d() + { + $this->assertTrue(true); + fn() => ($test =& $test)[$test]; + } + function test4b86d6d981db4651cefb29cc1f0acde799bcd96ae3dc95331f7ccf0abd83e385() + { + $this->assertTrue(true); + fn() => $test->{$test}()[$test]; + } + function test4e410debfccb5d912555e0265c822121d5c22ae7665b3f7291dfc4984ee2c84e() + { + $this->assertTrue(true); + fn() => (isset((isset($test))[$test])); + } + function test4ed87c0d4d22ad7049d0b61ff37cf5d157346ccbaeb0859ede5bcea36d0eca6a() + { + $this->assertTrue(true); + fn() => (isset(($test -= $test)[$test])); + } + function test56ddc37bf486ab5a7269f8ccc3d1056f4654362e0dff569878544e00fb3f669c() + { + $this->assertTrue(true); + fn() => (--$test)[$test]; + } + function test570a6dbd49636d2846f36b05d170db1a3880f739dc9496a3acde8620a1c47bb6() + { + $this->assertTrue(true); + fn() => (isset(($test &= $test)[$test])); + } + function test598af1464d38173dbd14d915fe014346117ac06ba40f64bab7cad338ee506939() + { + $this->assertTrue(true); + fn() => (new $test())[$test]; + } + function test5abdd255f59bb5bf351ad80be46dc274f0d0fb07b286ebc40d4c7b644375a546() + { + $this->assertTrue(true); + fn() => $test::${$test}[$test]; + } + function test5d9c9dcfe6b478fb6732068b056f3b72fe76a75845f08e8fca887b0170da4016() + { + $this->assertTrue(true); + fn() => (isset(($test /= $test)[$test])); + } + function test63522e5e4fca8e07ae85a732736fd1eba7c79dc50d1685be5fedf01f411c5075() + { + $this->assertTrue(true); + fn() => (throw $test)[$test]; + } + function test6451bc894d2e054e1d6a810c98f0d996400e2c3e6d09acf279421ea909e70304() + { + $this->assertTrue(true); + fn() => ($test &= $test)[$test]; + } + function test67eef036879cff486e46fa7c448f95a243e28408a73ccd8935f54790687cbedd() + { + $this->assertTrue(true); + fn() => $test->{$test}[$test]; + } + function test695550192fb7495d246f6eabe6225d871a44aa7d8b95b06e748c7f78151e65fa() + { + $this->assertTrue(true); + fn() => (isset(($test)[$test])); + } + function test69891f0b38b876c2e9b22da946c695368137748374ee95be8b67fe68b9b41dfd() + { + $this->assertTrue(true); + fn() => self[$test]; + } + function test6f0c1e99ba5a90d3f3c1c969e43d6667353b769a19dc9557ec42f3d8ad00862d() + { + $this->assertTrue(true); + fn() => $test?->{$test}[$test]; + } + function test7082ffd80dc67b504891364a1563cc917ade55f09439239f62a082bc83d4d479() + { + $this->assertTrue(true); + fn() => ((yield $test => $test))[$test]; + } + function test767e755c5efa7ddca1f7ed3ec097fe4509df5bef6ff4f5ab92feebf188e5aba8() + { + $this->assertTrue(true); + fn() => (empty($test))[$test]; + } + function test77a08043e1db53d48896cb5086c5d0999779758b48b004f9982d04989f2e0fda() + { + $this->assertTrue(true); + fn() => $test[$test][$test]; + } + function test77ca16a933e36f2ace30faa8a352d2362485473632a67f32b26ce8c2400582da() + { + $this->assertTrue(true); + fn() => ($test ^= $test)[$test]; + } + function test7be05bbb0ab7ea311caf4ebf3b7a7e48b6f8b5825bb4fb19f7a3119c87e87f64() + { + $this->assertTrue(true); + fn() => (isset((``)[$test])); + } + function test7f8f0c72e1b64927a18e9c1554f34003edc06cd5d8ce7ea88e288062ccb815ea() + { + $this->assertTrue(true); + fn() => $test::$test[$test]; + } + function test808ea570ff2f39655061e0fc46906535a45bea3e216e239e9c88fd8f987b071f() + { + $this->assertTrue(true); + fn() => (isset((clone $test)[$test])); + } + function test81afb9a6448b865717b0a4d8692291dd004a432581a0d0114ceefb425a9b6efa() + { + $this->assertTrue(true); + fn() => [][$test]; + } + function test88cac03e75aea3c123c5301e6d5c9f5a6ff1b5a52aa42549def7b0f7d8fcfc8a() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}()[$test])); + } + function test8e0e1c44541fc30884f75bb949e1b5d699478cd74fe9f611723032ff8983962f() + { + $this->assertTrue(true); + fn() => (isset((@$test)[$test])); + } + function test9018555af9c05564c0870d7dfd8d375d843781e1e775fef0be5597825e41ab4d() + { + $this->assertTrue(true); + fn() => (isset(($test .= $test)[$test])); + } + function test91d716dfead93f146089f0241770c968493cef7893ef19b82b035ee5729f6cf5() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test)[$test]; + } + function test94b95be37f526e505832e3f856243a5d10c640005a918f1043d7bba92db37343() + { + $this->assertTrue(true); + fn() => ($test instanceof $test)[$test]; + } + function test958028d7d1873894448f8aab2f4394ae53be3be3f8458ca4237f78f4e65e8e6a() + { + $this->assertTrue(true); + fn() => (isset(((yield $test => $test))[$test])); + } + function test9665e38d841c4f789d06fc6dfcf9a772512127458add5fdbdb93c7ee66b92e0d() + { + $this->assertTrue(true); + fn() => ($test ??= $test)[$test]; + } + function test969bd16fbc2cb609b419cb6478cbf3ed6f393b8f5eba26442ebdbc1bf0563316() + { + $this->assertTrue(true); + fn() => (isset(($test ? $test : $test)[$test])); + } + function test96a1cd2bd6101028fa0d193f973df5ca668558d1d28dcac5f1dec5b8f4d50b2b() + { + $this->assertTrue(true); + fn() => (isset($test::$test()[$test])); + } + function test9f28f131a6b5ca1c0475cdd5e17774fdd8a76411c8809a11c9322ef58e0b3b61() + { + $this->assertTrue(true); + fn() => (isset(($test += $test)[$test])); + } + function test9f4294374d4865fd0dda3aa497dd542795f857af049ac29a2ea57c1c728e60ea() + { + $this->assertTrue(true); + fn() => (``)[$test]; + } + function testa305920a8a8eea999ffeebee695a5ee3e76c9dcdbb71a60c185f780e85548a46() + { + $this->assertTrue(true); + fn() => ${$test}[$test]; + } + function testa333600dd4ca036a7ca4c7be60d2540705a68ea3686e5f4675e122dbecb20f1e() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}[$test])); + } + function testa510005b37f2f4c8a21ee3ff68e1414fe044172f89ca97c12814ab2b36f0f9ca() + { + $this->assertTrue(true); + fn() => ($test = $test)[$test]; + } + function testae16f3b716fcfd4703fddd4dae8f75f9d8397cab663c3e63e5f4c4fac49fc823() + { + $this->assertTrue(true); + fn() => (isset((print $test)[$test])); + } + function testae92fe3a5c3ee763605c8ab49650a6613a6fc064835f7e2f01758bfad21f98dc() + { + $this->assertTrue(true); + fn() => (isset($test[$test][$test])); + } + function testafa728ecb569b9b4f26d23f1cfff01faa40128faf8313b7d8aba580b52c196d8() + { + $this->assertTrue(true); + fn() => (++$test)[$test]; + } + function testb282022be5bb341cdaf00c5d870411c3f5bf9567a42e806a32a4c42bfaa7517c() + { + $this->assertTrue(true); + fn() => ($test += $test)[$test]; + } + function testb5983e504ce6a33a808b2926986fb975cae673ae1c457d699030e1a655cf0b1e() + { + $this->assertTrue(true); + fn() => (isset([][$test])); + } + function testb85ca267b0eee4504e9b89be13763b380a3ba7a0da64c957d98eaf2df6c0a3c3() + { + $this->assertTrue(true); + fn() => (isset((new $test())[$test])); + } + function testbb2224dd43a1f0b29e44fa5ae355dc5853eef5a0b7d78035b064934ccae08db4() + { + $this->assertTrue(true); + fn() => ($test -= $test)[$test]; + } + function testbfd51aa027c03dc7f4a76748b098dc55499ae9bede6b546cd551697fdc77f42a() + { + $this->assertTrue(true); + fn() => (isset((-$test)[$test])); + } + function testbfd8d7383437e15dffe2666f9cb57824aec73abfcb6a5e37758d844cf269867b() + { + $this->assertTrue(true); + fn() => ($test |= $test)[$test]; + } + function testc0439e4163516995adbb325785da7b4ae4c96704806c8ee92dad5cf94292757d() + { + $this->assertTrue(true); + fn() => (@$test)[$test]; + } + function testc5410f3c90518a7a706b1257e78f59263c0411324bb18f72a3ddedc882515232() + { + $this->assertTrue(true); + fn() => (isset($test()[$test])); + } + function testc6660799e502f151bd87230ee83a60dad6fa8cda6becc372270f3ab1af071789() + { + $this->assertTrue(true); + fn() => ( $test)[$test]; + } + function testcd19e66d1145cc5042ae181ffb53fcde889b30ab49209933ead6f1fe8726c20f() + { + $this->assertTrue(true); + fn() => $test?->{$test}()[$test]; + } + function testcefa4f81ce664eea642a0c37d359d0b971ed0c049e620d8db89f369c8347a8db() + { + $this->assertTrue(true); + fn() => (isset((match ($test) { + })[$test])); + } + function testcf994f53cf5bc01c1507784df0724ab0653d323ec8a551d0cbc63a21a710ebbb() + { + $this->assertTrue(true); + fn() => (isset(($test **= $test)[$test])); + } + function testd0a88c0b79dac8579f9083fe83aa36dd438af2bf3d2878d585fddb75f73a746f() + { + $this->assertTrue(true); + fn() => $test::$test()[$test]; + } + function testd3ed835adc96a05325349b47f04cec2cc2474b7fa6e8808334f4fedbf0a53632() + { + $this->assertTrue(true); + fn() => (isset(($test |= $test)[$test])); + } + function testd8bf3d0b416b54dd2eedfa19e88dcadabcac21683f0b6c8c388f1a4a2c140b26() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}()[$test])); + } + function testd92ecf63c20b089ac201b1cd6bdaf35d93a81c855812b112d7a54aa97e6004a1() + { + $this->assertTrue(true); + fn() => (isset($test::${$test}[$test])); + } + function testda659844fd63176aefb40637321ebee970883359ce8902416c84fcf4f777e2df() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}[$test])); + } + function teste10b65b4e0f17e8ea3b9ae95fc111b8db0cd12cc998bddabe30abf504264d856() + { + $this->assertTrue(true); + fn() => ($test %= $test)[$test]; + } + function teste150dc3209baf85a67b01c2faaf6939ba52699c605a0a6b09cfb4735978362a8() + { + $this->assertTrue(true); + fn() => (match ($test) { + })[$test]; + } + function teste3a1cfa72b243272d155d557f9253c1627b3cf094994806d848ef71b781fc4c1() + { + $this->assertTrue(true); + fn() => (isset((!$test)[$test])); + } + function teste3c0fecd30e75034ae4678afde701f57c1f8aa41c0336aa78ea0dd271ac82d54() + { + $this->assertTrue(true); + fn() => (isset($test::$test[$test])); + } + function teste436cd6b53284135a88fd3a4e32e112ec3b2d00d9dbe2ad907a2052f091bf93d() + { + $this->assertTrue(true); + fn() => (isset((throw $test)[$test])); + } + function teste4b3e29f070f01d61d1c02382ed41f53bd4cce822bfcac5413529a36ddded72d() + { + $this->assertTrue(true); + fn() => ($test /= $test)[$test]; + } + function teste8bd5c428b3eb34058f46214b53c9787bf5de26bcfa13e6377ed76f7eb8340df() + { + $this->assertTrue(true); + fn() => (+$test)[$test]; + } + function tested1f2200c3f55bf65ea5a3534d51f706cd3a268805151c7f8daf1b8510e0f95b() + { + $this->assertTrue(true); + fn() => (function () { + })[$test]; + } + function testee5a9f822bf0577c01e9553792cc7c4d960d2e46694ef2662c4c1976d22831ab() + { + $this->assertTrue(true); + fn() => (yield from $test)[$test]; + } + function testf0396418ed7f7c36a2a24b7e82e3ea48aa99945d11a6e34612d021946f1589ee() + { + $this->assertTrue(true); + fn() => (~$test)[$test]; + } + function testf25980ba7efd7ae7de1e0881e21b8430c15fd3bf3a8b736638e844778501c861() + { + $this->assertTrue(true); + fn() => (-$test)[$test]; + } + function testf6dfa67e84be0b72583f19ebe5f579bddbc97c0f7499b386a909bf363adf14fb() + { + $this->assertTrue(true); + fn() => (isset(($test--)[$test])); + } + function testfb23f549051ed7102b87e7aabd772aace2781f36f9804a355d39399b1b2c50e0() + { + $this->assertTrue(true); + fn() => (isset(($test ^= $test)[$test])); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest.php b/testsGenerated/Target/Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest.php new file mode 100644 index 000000000..2d6bc203d --- /dev/null +++ b/testsGenerated/Target/Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressiondff6e8315ffebb2e989ace3d558da19760a2ca53cfcf4dee76fcc3239277bd6eTest extends TestCase +{ + function test005b883389570f586febe2d93651b270fff1c15d72698dd00b126cd4400db09f() + { + $this->assertTrue(true); + fn() => ($test **= function () { + }); + } + function test066ac3dd4c06c779097ff470d523fabb7c9dac305fbae59fc552edbbf3e8768c() + { + $this->assertTrue(true); + fn() => ($test **= $test ??= $test); + } + function test07e7282fdbfacfca2dddcf8eb075fa590867395841428a3b87bf89f44fcd413b() + { + $this->assertTrue(true); + fn() => ($test **= empty($test)); + } + function test09bb9927435e826b3fa570f9e42af9037cf1ea69497081bc06a6ff63a44aa33d() + { + $this->assertTrue(true); + fn() => ($test **= $test <<= $test); + } + function test0ac70fea01614128eeb4474a92e2d5bbd0135143076786787b445c6857eebf7e() + { + $this->assertTrue(true); + fn() => ($test **= -$test); + } + function test0c19b70e32d9bd1f42252b99df80351662c9b1e01a553a886c83c445877f5dd7() + { + $this->assertTrue(true); + fn() => ($test || $test **= $test); + } + function test11570d2dc4ec57b70539ab81cfb654dc2853cf1909227c07cd2af08cb50928ab() + { + $this->assertTrue(true); + fn() => ($test <= $test **= $test); + } + function test13348ec165e42877d1a213aa014c797890767eac9c74705b87ca31d01b21c2a1() + { + $this->assertTrue(true); + fn() => ($test **= ++$test); + } + function test160a064a7ba710ff2c1ab37d021a5ebe34335128f53e379d17ff50a265119cd4() + { + $this->assertTrue(true); + fn() => ($test ** $test **= $test); + } + function test16a23f6a21a0e03628936045532b2cf80ee567653fbe1c394b973ff88582fe39() + { + $this->assertTrue(true); + fn() => ($test::${$test} **= $test); + } + function test1bcab4fa88e0faed832875a104c205f1cc3fbd519f755ec242c0845057dd9072() + { + $this->assertTrue(true); + fn() => ($test + $test **= $test); + } + function test1cc969130cd037ebd1d936f7dfa7811c817e909077b8cf3268338eb57aadefc0() + { + $this->assertTrue(true); + fn() => ($test **= (print $test)); + } + function test21c8fad48aa0d07917778fa6b68b99c6f0720eec908dcaf9e85566e58db470be() + { + $this->assertTrue(true); + fn() => ($test % $test **= $test); + } + function test26124cd85b7a250dd720d493fda65f7f8131226261596b6d06c7c147c1f2173c() + { + $this->assertTrue(true); + fn() => ($test **= $test++); + } + function test269955d1737db0647c6c26e5ee2f388694070365bd3fd48f0680ab03a990f932() + { + $this->assertTrue(true); + fn() => ($test **= ( $test)); + } + function test283bacaf9ba1ce13ea393ffa82b970f5751bd9c6cd49d17437b977d7fb725461() + { + $this->assertTrue(true); + fn() => ((object) $test **= $test); + } + function test2a2d1278b18b80735869361b46f1979b33dc12609f352a9ffdb15e0df46cd8f8() + { + $this->assertTrue(true); + fn() => ($test **= match ($test) { + }); + } + function test2a7a7931839d3bd4026f7d4a2e8bf19bd996938b708a470a86bca22e29f36e80() + { + $this->assertTrue(true); + fn() => ($test **= +$test); + } + function test2bfa9bbb384c5b25dd93549a12b36471ca5acd4e2fecf92aca7a66161bdf34d7() + { + $this->assertTrue(true); + fn() => ($test **= (yield from $test)); + } + function test2c39bfb3c567c553f736ae1483485059d1ee928440f0e3a4d14d1adc1ebb455a() + { + $this->assertTrue(true); + fn() => ($test - $test **= $test); + } + function test2eb6a2bda3eb92cf589e16a5f11715d003fcd9e889f7be038d149650248c55b0() + { + $this->assertTrue(true); + fn() => ($test **= $test || $test); + } + function test302816651a05d419b9cc70145dccd07a70207c39af7ce88b27046e30a05a869a() + { + $this->assertTrue(true); + fn() => ($test **= []); + } + function test337dd787ce44eeab3371d7954deeaa8fa38eb557056fe9be330d8fb0f3bc8061() + { + $this->assertTrue(true); + fn() => ($test >> $test **= $test); + } + function test35e92352dfc259d79710a8e2ac402f476b116d23ba53fabba427db6b38f5db1f() + { + $this->assertTrue(true); + fn() => ($test ?? $test **= $test); + } + function test36cc75277a7db7736d6819f32e9b64d6a8b61aa4b239b1f967d953daf9040793() + { + $this->assertTrue(true); + fn() => ($test **= $test & $test); + } + function test379dfc781961f88597082118cf0ff0c2973de5e08df63a4c37bc20a08dc72467() + { + $this->assertTrue(true); + fn() => ($test **= $test--); + } + function test3873cd96b28d583dd42764982a8bf9890c054bbcfe6f2e2ada6a14aa7cf11cec() + { + $this->assertTrue(true); + fn() => ((double) $test **= $test); + } + function test39a38d4a8952f91092032f6f4efc698016d7d0b11f2af6681f227ea04348bf87() + { + $this->assertTrue(true); + fn() => ($test <=> $test **= $test); + } + function test3b7fb9c6899b4d55fc0c515ef703cef6f8de1d6dfa4207352b802857995665d3() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test **= $test); + } + function test4530d3bbb57a7982d6954650ae1eff4e2287c84bffd7d39c82f13491562a96fb() + { + $this->assertTrue(true); + fn() => ($test **= new $test()); + } + function test460dd07e1c01a2dfda44e9a61ca10681a2b9595c11fc29b23a94773cfaef0eea() + { + $this->assertTrue(true); + fn() => ($test **= $test |= $test); + } + function test47d7ed6c047859addeebe58d743aca8e6be293cf8c4537c8a91ba81064ad9d0a() + { + $this->assertTrue(true); + fn() => ($test **= $test ^= $test); + } + function test48eaff023fabf148d3c0dd9059e48dcccfcaebcec9549996d72fdc9c4ebfca10() + { + $this->assertTrue(true); + fn() => ($test **= $test?->{$test}()); + } + function test48f49c7f025af96547780bad012dacbf7f48f3bb669b6a65e40ac6b03b8f8115() + { + $this->assertTrue(true); + fn() => ($test **= self); + } + function test49d42194803040eb7f87e990b100b2fc6404b59e138b68e58e5ea53af8b8e2f2() + { + $this->assertTrue(true); + fn() => ($test **= ${$test}); + } + function test4b4f9ede4928002ee87f6a216c765b6c832d8349996a6de1728cf9d8d236b24a() + { + $this->assertTrue(true); + fn() => ($test == $test **= $test); + } + function test5048eec1cedab28d4fd833f5c4c67847a1efc693ca1d59a63f5a7a351cb65dae() + { + $this->assertTrue(true); + fn() => ($test **= $test *= $test); + } + function test51b531d81abd305fdbe505b3b18932d5b97e87e201cfbefa14bbcf201624f6f0() + { + $this->assertTrue(true); + fn() => (throw $test **= $test); + } + function test566a8569a809d12327515ac089b953efe1922c99897ef7f54260879503a3f321() + { + $this->assertTrue(true); + fn() => ($test **= $test .= $test); + } + function test60f283d1609d032bb080e4a69f157760ec8ec283a68728e224875cf614892e2b() + { + $this->assertTrue(true); + fn() => ($test !== $test **= $test); + } + function test6a6631fd1b9d1736849253244766f3e442fe89d3329dfbfbeb12440eeb1fb278() + { + $this->assertTrue(true); + fn() => ($test **= ``); + } + function test6b0aaa0b435e6b17836b93fd334bfed11e9a88547c5a23c871001e3f91ebf599() + { + $this->assertTrue(true); + fn() => ($test **= $test && $test); + } + function test6ba46ef4bafca7dca80b2584099ec7ef4e1fc041b28f0dc5c08b3bba4bdf03b9() + { + $this->assertTrue(true); + fn() => ($test & $test **= $test); + } + function test6c4dc6deada65869dc7eef815f7e1659a2aadc92ad996518d9880b3e38e4007e() + { + $this->assertTrue(true); + fn() => ($test **= $test >>= $test); + } + function test6d23fdbf14e719d0835ae6d2dcdc8ac3c0b38d2788503a2d13d42ecfcc8b3ed3() + { + $this->assertTrue(true); + fn() => ($test >= $test **= $test); + } + function test6dc5d170ba5c25e3f4b1145a458f17cb5326b68f6aab1f35988edc5577e80c8b() + { + $this->assertTrue(true); + fn() => ($test **= $test->{$test}); + } + function test71e01148a2c836cc85f25d2b8b7e7e0e50ca81cc81aa56da0eb64e89871afcad() + { + $this->assertTrue(true); + fn() => ($test->{$test} **= $test); + } + function test744e864408b67d819370acdca4f85a8841739a94998f8499d6e649728d258f63() + { + $this->assertTrue(true); + fn() => ($test **= $test::$test()); + } + function test788baecdde2f4fc689bae1737c6ff68a27c5ff91ef07bf40f05efcedc01cb9b6() + { + $this->assertTrue(true); + fn() => ($test | $test **= $test); + } + function test79164e73170c2e8ab0b9e0a16f97da2cbd48349eb8b1f63f2bb9c80d857d7c88() + { + $this->assertTrue(true); + fn() => ($test **= (yield $test => $test)); + } + function test7bcf1b1fcea0817739eda40a73f47de132f555b304776150d95c5031fa386b82() + { + $this->assertTrue(true); + fn() => ($test **= ~$test); + } + function test7f4b54264018f57ac58ae17796ab10e10d7aa8f76061b4a599b4cabccf04cae3() + { + $this->assertTrue(true); + fn() => ($test **= $test = $test); + } + function test7fa2f074d3f7bcd5ba1ac701fba572b6ec049a75f745e76f88b503a21392886f() + { + $this->assertTrue(true); + fn() => ($test << $test **= $test); + } + function test84df9a26fa9fd454f7664dca54615288283d35f63cfad42eac24ebc8cb92e7cb() + { + $this->assertTrue(true); + fn() => ($test **= $test?->{$test}); + } + function test864012d1869307c5ec2d7f63a202cbacecccfe4ec8c9dbea7288e05d30df7f14() + { + $this->assertTrue(true); + fn() => (+$test **= $test); + } + function test88baefb5dc8da02b2532b96b81aa3ea14270beaa18a30bb296dc704da25601a5() + { + $this->assertTrue(true); + fn() => ($test **= $test ^ $test); + } + function test8bfa2b86300bb51e8ea981d0e363cf41dac82cb2eceef119dcdde38d9df28268() + { + $this->assertTrue(true); + fn() => ($test **= $test / $test); + } + function test8f1e8fb1375a635396fde90cd7efbe3a278e649d985ecff9e8c31c968f351ed5() + { + $this->assertTrue(true); + fn() => ($test **= $test->{$test}()); + } + function test9092d1e34d8f83daac30d9bca258e4806d42e5cc084aaf311da28fd1f4f61d2c() + { + $this->assertTrue(true); + fn() => ($test **= $test instanceof $test); + } + function test92b9bbf7b88477774e06a212afd4c85b34f017f4a1409146d21bba8d4cf29ee6() + { + $this->assertTrue(true); + fn() => ($test **= clone $test); + } + function test92f58c5c3416dcdea92853d01c689745a149153ec7392dee3aa7279476515cdb() + { + $this->assertTrue(true); + fn() => ($test > $test **= $test); + } + function test961b40fc000a9cb1e29f824f2a8fc11a8f062bbb298ab19f7d08f0207c0b7ff6() + { + $this->assertTrue(true); + fn() => ($test **= $test += $test); + } + function test9732646fb090c21a750d2e04b676218e2e7df303fb34c5af8d3d3b815191ecaa() + { + $this->assertTrue(true); + fn() => ($test **= $test == $test); + } + function test9a3e3a9381306809cbe39c37e626d57006627e175a579af81a05cd2791ef30d4() + { + $this->assertTrue(true); + fn() => ($test != $test **= $test); + } + function test9af5c25dba98d9ef530c064d6807ebff4a69d97ab365d74fd0b9f282db709b07() + { + $this->assertTrue(true); + fn() => ($test **= $test); + } + function test9e58eb49c2f25408c7a9b745d28d70233420682544977d65be0ca22b4f8671ec() + { + $this->assertTrue(true); + fn() => ($test **= $test[$test]); + } + function test9f866ebe991affd83e36fcc2c85f455fffcc07a66be0e362e4b9a4c1c45ed8c1() + { + $this->assertTrue(true); + fn() => ($test **= $test ?? $test); + } + function testa378b27b47496478305feca2dc1d57487bad287d21a1ea96fcf3bd284f7a8d92() + { + $this->assertTrue(true); + fn() => ($test **= $test()); + } + function testa5a3ea88a363ad17468c2ed5c80f8d4aea8a26cd3c5be6807bf559f10480bc0e() + { + $this->assertTrue(true); + fn() => ($test **= $test **= $test); + } + function testa83be937e6a9bf128fee2f1c45648b2a3d367f67b453c31cb1b1b19481bc6ddf() + { + $this->assertTrue(true); + fn() => ($test **= @$test); + } + function testaf93d0d6daca5e656bd16f84ac3c25c9a740b36bf04c10c401ea5367d5a0bec0() + { + $this->assertTrue(true); + fn() => ((string) $test **= $test); + } + function testb0243c79c5c69a9e993cf99cf1032c3adaf8ebbdf1f750160b2999a520f706b8() + { + $this->assertTrue(true); + fn() => (${$test} **= $test); + } + function testb574a7aa9e9b3b2878cf68102ee34d17e36149b65b23c9ccdab1037854197b3e() + { + $this->assertTrue(true); + fn() => ($test ^ $test **= $test); + } + function testb6d6c65f83bc6ec7be9958ed1c7386f4452c6646ba1c5d33e27f70eac927b178() + { + $this->assertTrue(true); + fn() => ($test **= $test >= $test); + } + function testba89162f3d37544705f9e4db4c607b96cead0ded41785646cba3c19b03b92621() + { + $this->assertTrue(true); + fn() => ($test . $test **= $test); + } + function testbfb0db4792580e13e08f6a6cd0f5f537e2565254b4d4d2280cf582b349ce7e1c() + { + $this->assertTrue(true); + fn() => ($test **= throw $test); + } + function testc3e63d56d6438f7f213098a203da5846ae31b006633ab3afe6f88956359eaf9b() + { + $this->assertTrue(true); + fn() => ((int) $test **= $test); + } + function testc7c4c4e6ece4070ecacf82bbae544aa77acc324426c791ee68226291fe85512c() + { + $this->assertTrue(true); + fn() => ($test && $test **= $test); + } + function testc7f02a392c25a1936586f29a1375d5fa3d3c393757fac9863caf21cb800c9cf5() + { + $this->assertTrue(true); + fn() => ($test **= $test::${$test}); + } + function testc9182822ede529f4c0bc32af0544833673eb73d423bd464f1a6a128adde65f80() + { + $this->assertTrue(true); + fn() => ($test **= $test::$test); + } + function testca10e865061c487b31dc99b075790ea9bfeda3ada2beaa5ca6f4b58ece1f11db() + { + $this->assertTrue(true); + fn() => ($test / $test **= $test); + } + function testcca54b9047ae3eedd4ca1f9887f96a9674cbd2a440a074499af14f44ea01ac39() + { + $this->assertTrue(true); + fn() => ($test **= $test . $test); + } + function testce5e68fcf730556f9e61cd687e9eb74d1259436786bf5b255a110d303c2f1dd7() + { + $this->assertTrue(true); + fn() => ($test **= eval($test)); + } + function testd1e018c3608e3c5899fe0c41b78d74449d4b6bf4b2cc8ee47d0b905dcdd15408() + { + $this->assertTrue(true); + fn() => ($test === $test **= $test); + } + function testd564cd572ecea8dc81bc72cddb94b5383b6479882588cc6ca0e9235ead4349fb() + { + $this->assertTrue(true); + fn() => ((array) $test **= $test); + } + function testd72cf3f11a437586013834d61b9292d0934d15260f2dc1698f5aebe28bbe82eb() + { + $this->assertTrue(true); + fn() => ($test **= $test %= $test); + } + function testd85a435f5d05cadce3420f3245049e974b925ad122f37d34df873c64de1a89fc() + { + $this->assertTrue(true); + fn() => ($test **= --$test); + } + function testdcac006c9760b80dbf23f7e4d0506c56f7d91f07eea22fc224235fa171bd0212() + { + $this->assertTrue(true); + fn() => (-$test **= $test); + } + function testde88a2758e1c65e59ffa2873d2a19a21ed0d64edc519cfae595a4fc246d42aaa() + { + $this->assertTrue(true); + fn() => ($test **= $test -= $test); + } + function teste75d281955ef24f45193fb103ef2ff3862970243c01c2d06bd3c48353e1676d3() + { + $this->assertTrue(true); + fn() => ($test **= $test /= $test); + } + function teste887a3b8091aff9ae6c289de8d7452bc7c0cf53e2420922aec7f38af6fa3121b() + { + $this->assertTrue(true); + fn() => ((bool) $test **= $test); + } + function testea648a032bb199ff430827267ed6d98285c536f8e72e0b6a4dc3031c407cb4c7() + { + $this->assertTrue(true); + fn() => ($test **= $test ? $test : $test); + } + function testef54ec51ea1b1c478dd13a10647a59ca1dd5fcf460607d58619adc5ee4ee2f5f() + { + $this->assertTrue(true); + fn() => ($test **= $test > $test); + } + function testf1f8469c3b181ae758db5c38fc03ea1b16ae417b696add199496d06283615989() + { + $this->assertTrue(true); + fn() => ($test **= $test &= $test); + } + function testf32b4ee096db129bf76772c9c6945246fe2b3b51c748379373194ce780ccc5ed() + { + $this->assertTrue(true); + fn() => ($test **= !$test); + } + function testf7e44e403efd44bd37b4fe55a492f92d718598b37637d976af778493f986ec86() + { + $this->assertTrue(true); + fn() => ($test **= $test =& $test); + } + function testf8f48ea114e0c17418affe948349e4eebaa24fed8e905053ccee7ae7642a1b2e() + { + $this->assertTrue(true); + fn() => ($test **= isset($test)); + } + function testfa4821c4e22350583ec06a58cb6fe3e0ff28efe9e93c05f33d1f3f12e12eb2ef() + { + $this->assertTrue(true); + fn() => ($test **= $test | $test); + } + function testfc8b0b2fa7943447656931090c7f719270e56dca7ab549f803dc8ce035b4ad3f() + { + $this->assertTrue(true); + fn() => ($test < $test **= $test); + } + function testff5b655ef7b0b1c819787c7a5024eae2dc14b609af529a1028189448a194cd44() + { + $this->assertTrue(true); + fn() => ($test * $test **= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test.php b/testsGenerated/Target/Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test.php new file mode 100644 index 000000000..61b6dd182 --- /dev/null +++ b/testsGenerated/Target/Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressione017d87c85c0b38ccc6b11803a9a0ee5b343c0d08fdc7ffa7518c75421343e54Test extends TestCase +{ + function test00538df12bf3e7fd1f58b44bc9c9aa4d9003f92574414f2b483e2861786d3ce7() + { + $this->assertTrue(true); + fn() => ($test <=> ($test != $test)); + } + function test038061ca7ce54b7dcb6c3f5a04cf943175a4df69f387a0b699f7f6f479845ede() + { + $this->assertTrue(true); + fn() => ((array) (!$test)); + } + function test0a4b04b38ace215cc9aa7207e963c161cd85e480faa2212ba53c9b68a290534d() + { + $this->assertTrue(true); + fn() => ((array) ($test -= $test)); + } + function test0a54192dda612a79ac11d4c904ae5cdb4b2632540ed8b79bbbdb5309eeaa45ae() + { + $this->assertTrue(true); + fn() => ((array) ($test ^= $test)); + } + function test0e45785f0bba66e86eb16538f2c8d37fef7aa9deb1dfc0e1ac45e48a9cf158f8() + { + $this->assertTrue(true); + fn() => ($test <=> ($test *= $test)); + } + function test105aa1bcf21ca05a8c5147930f7ef4c02064d22f53b3cff614be03e7bc01530e() + { + $this->assertTrue(true); + fn() => ($test <=> ($test /= $test)); + } + function test12204f5499197188e5b0965bfc1fbbc84b9d07c8c0e156127c050f9699f6fe2c() + { + $this->assertTrue(true); + fn() => ($test <=> $test . $test); + } + function test144f3ad2af10c0ba7efc3026b733cca3e6b12fa3ac9a34e307b93a25f7e2c52d() + { + $this->assertTrue(true); + fn() => ($test <=> $test << $test); + } + function test194344ac060d85bc5c18eaf41a90fe3a6c2a096ef02b71b70004e63ea417afb5() + { + $this->assertTrue(true); + fn() => ((array) []); + } + function test1a01d202fc87e84be5f917707526c05dd5fb71c6b31b294f0766189a3e25dd41() + { + $this->assertTrue(true); + fn() => ($test <=> __FILE__); + } + function test1a6b05371e1bd75f5c3a0acb96b6d65b363203346deaa328ec488eb9dae2c2a8() + { + $this->assertTrue(true); + fn() => ((array) ($test /= $test)); + } + function test1bf93ce3b027b41fa17df4f5b566904c1074eb69aadbcfeacbc8f1eade946a6c() + { + $this->assertTrue(true); + fn() => ((array) ($test instanceof $test)); + } + function test1d691564b04fdc0b85533c3e33372f18841919dbe008cbb2894596567cbfaf14() + { + $this->assertTrue(true); + fn() => ($test <=> __LINE__); + } + function test1ee90ba773ead19f3568564dff4744805795f276545bc2a3129aaee93d2dfbb5() + { + $this->assertTrue(true); + fn() => ((array) $test?->{$test}()); + } + function test21665361d3161da1236690f38f446f426cb65b8c68a537ee4eac06efad24d3c7() + { + $this->assertTrue(true); + fn() => ((array) match ($test) { + }); + } + function test2272267af4989d4d7d81f441becea3b5de68437486c34ffa1f075e1803be4d9c() + { + $this->assertTrue(true); + fn() => ((array) self); + } + function test2416537cf99ab374ef0ba02e0996097c19a69115daebd2c30bde6826d3d85207() + { + $this->assertTrue(true); + fn() => ((array) $test::${$test}); + } + function test24eb183a892867ef243241ae1a88851b62b8c9abe001bf19635410979fcefdf2() + { + $this->assertTrue(true); + fn() => ((array) ($test ??= $test)); + } + function test33d7f87ceb5b22f229feeac4baef52a048aa85dd9dcceaa3f51a5a828f69ee68() + { + $this->assertTrue(true); + fn() => ($test <=> ($test == $test)); + } + function test346135adf19f8107837a14232ba5fb18037503cb80c5b4c68f471569640eee53() + { + $this->assertTrue(true); + fn() => ($test <=> ($test <=> $test)); + } + function test35d05c83eeb1548b77d31f48147e388ee384715512d0918fc5b146b8fa306d2d() + { + $this->assertTrue(true); + fn() => ((array) ${$test}); + } + function test3a164545e400b95aaf259484bacc36878ddf2dd76ceb4fe37c40451d630d2b31() + { + $this->assertTrue(true); + fn() => ($test <=> ($test && $test)); + } + function test3d939b8f499d5b834e10af1f54bd36ef7b6e8c18af91f8a4b9a042503132df2e() + { + $this->assertTrue(true); + fn() => ($test <=> $test % $test); + } + function test3e49d7db387eef7b1963bbf8fa99c272b1a6022315c310aac4f6e43d9ae1dd31() + { + $this->assertTrue(true); + fn() => ($test <=> __TRAIT__); + } + function test404ca7509c5398f407df44e9226dbf284982c655acb85b1402fecfcc2759049c() + { + $this->assertTrue(true); + fn() => ($test <=> $test * $test); + } + function test413b660cb2f444b38da148927ce326b2b4aeb09a8e13d0a3c892676bfc2c694a() + { + $this->assertTrue(true); + fn() => ($test <=> 0); + } + function test42c943dea6c2b95f8cbfe326c5f825c3e874461009872108f134a4b6566609a4() + { + $this->assertTrue(true); + fn() => ((array) (yield $test => $test)); + } + function test43b6d5606b397e7dcd2f1e4594638a3b41e0d27d297b012e1f1513bfe2248171() + { + $this->assertTrue(true); + fn() => ((array) eval($test)); + } + function test49a0cce35109783a780c143a22bc67efcc56a27ead4ae9e7160f6fb7507ffcb4() + { + $this->assertTrue(true); + fn() => ((array) $test->{$test}()); + } + function test5776fc44b5566496254a9a90ecef740b296797bbfd2056cfb4368db306771d75() + { + $this->assertTrue(true); + fn() => ((array) $test++); + } + function test5797cf93ccc0d138f874ab213c59e456313b8bb65c4759b37bc30f72e0b2fcca() + { + $this->assertTrue(true); + fn() => ((array) ($test =& $test)); + } + function test587d48e7d333ab69ad0b1573bbb03c36d0f24f51b3afe66a483412634c4ca367() + { + $this->assertTrue(true); + fn() => ($test <=> $test > $test); + } + function test610b92a05e5759abdd315cb3e0094571b779b3b8196fc3b121f8e39d53fcac93() + { + $this->assertTrue(true); + fn() => ((array) ($test .= $test)); + } + function test62f2882df08c07f80ea4681b5060226bd98bb782780b1531c80f6230b0b4f357() + { + $this->assertTrue(true); + fn() => ((array) (print $test)); + } + function test63198a3ddfcaa7114a231e769b7baaed7db1adb3d0e407337c96462a936fa73c() + { + $this->assertTrue(true); + fn() => ($test <=> ($test || $test)); + } + function test64b5790dfd30f0018e0d4835addc70e97e745ef5460574e7995946ec34ca0663() + { + $this->assertTrue(true); + fn() => ($test <=> (double) $test); + } + function test6653c780c4ff8e36c34d836ad730cdc6a2fd4e1d66c15bf89444c4428a1321df() + { + $this->assertTrue(true); + fn() => ($test <=> (int) $test); + } + function test66d9f889f16bc75dca513a47ad5508ef163128670f241671bcfd0b96664f61e1() + { + $this->assertTrue(true); + fn() => ($test <=> (array) $test); + } + function test672a7beb942ebf082eebad3ad223e5429c47858eff791728b095d9b4ecff3649() + { + $this->assertTrue(true); + fn() => ((array) ++$test); + } + function test6805fae3173df82838e95228b4baf7f0d4b56fdb81988368e4cd9c4cae413c3c() + { + $this->assertTrue(true); + fn() => ($test <=> $test <= $test); + } + function test68470b4816f12c44773cbf584d91091044bdf5ecb631ef1c986bb092dfbf9dde() + { + $this->assertTrue(true); + fn() => ($test <=> ($test & $test)); + } + function test69183e1f4633d719dbe3dc6dcc62328811da507cb738008ff0a8c9fa00104aa9() + { + $this->assertTrue(true); + fn() => ($test <=> ($test %= $test)); + } + function test6a07cdd8e067750f5fd86bcafba47cd34d333709d237b1a3bd76cc9b13100273() + { + $this->assertTrue(true); + fn() => ($test <=> __FUNCTION__); + } + function test6aa186d86af3dbb5376c92356038dc8e7134ab1f3a5259df90dd4c54f81d9327() + { + $this->assertTrue(true); + fn() => ($test <=> ($test .= $test)); + } + function test6ab94bd207cb1c2626829f60171159c9253df0c296aab290683b01884b4ef42b() + { + $this->assertTrue(true); + fn() => ($test <=> ($test **= $test)); + } + function test6b9aae870ece7427cae37b0a73cfedaa9b023adf70bb6a7cded763ba0becb9b2() + { + $this->assertTrue(true); + fn() => ($test <=> $test >> $test); + } + function test6d7a65c72aa3692034c7f17255cd8dd031637ff7f290e2a29edb1a51d5c522b2() + { + $this->assertTrue(true); + fn() => ($test <=> 'test'); + } + function test6ebeb3026f9d7538eec02eaa85f90ff76d0e34cbdbc501d02e810e3112c22d53() + { + $this->assertTrue(true); + fn() => ((array) $test[$test]); + } + function test70998613f19b8366ebc911474855094846bec7e969efac99b18931e0a76019c1() + { + $this->assertTrue(true); + fn() => ($test <=> $test < $test); + } + function test70e481980397a566b3d22151c2da6b4fb7dff0eca72567674766cd3c0564ac48() + { + $this->assertTrue(true); + fn() => ($test <=> $test - $test); + } + function test71aaad044474e27e93f708a516317aea9316818d85ff1a71183e16c50987894b() + { + $this->assertTrue(true); + fn() => ((array) $test()); + } + function test746c6c4d46112da7d366174082a294c83eba6bea0aeb9af24e47cd7f5a3b22a6() + { + $this->assertTrue(true); + fn() => ($test <=> ($test ^ $test)); + } + function test778c56b0bded264d264416ffd8eda068d90a9cd551135ea32f5cef7f712025c5() + { + $this->assertTrue(true); + fn() => ($test <=> __DIR__); + } + function test79174b1431eb20e0fc8ac1b94d2c4f51af06a78cca9fe61e445259c142958f4a() + { + $this->assertTrue(true); + fn() => ($test <=> (object) $test); + } + function test7a4485ae26d2f56cab57c8e28ea1f00e3c66c0191f4bb1c195ef816f680958cb() + { + $this->assertTrue(true); + fn() => ((array) empty($test)); + } + function test81f3691c6d9aa7cd4ae6d40c61be4497a25a55501b1f2b758b0af4166cc2dadb() + { + $this->assertTrue(true); + fn() => ((array) ($test = $test)); + } + function test858cb79778e3a2e8927245084eccfd10b0eeb5746689983c954d79c06512727c() + { + $this->assertTrue(true); + fn() => ((array) ~$test); + } + function test88a8e95876b75d27ce1eb404978a734be8c5652bd05547a6f4f677c7346c4e01() + { + $this->assertTrue(true); + fn() => ($test <=> $test >= $test); + } + function test8a50f65f6b5ee9b7033dd78e3eb5310231e5d7c238ebe3d76bcb5087b22ee5ef() + { + $this->assertTrue(true); + fn() => ((array) clone $test); + } + function test8cb11606143b0d042739af25ce985004adbb848201ca3de7b52d9b21154780e6() + { + $this->assertTrue(true); + fn() => ($test <=> ($test or $test)); + } + function test8deed514443c3b2455fc53f8e44ade2e5e4db61e0a671b63bb24f9582d74503b() + { + $this->assertTrue(true); + fn() => ($test <=> ($test === $test)); + } + function test9284318547114c4d1795eaab651eb84906fbbff3d8a09f0def8e43fade83773f() + { + $this->assertTrue(true); + fn() => ((array) $test::$test); + } + function test94622c0d9ecd3662d367197bb3bb97e14c82ebde2ba6687ec9c6d18ad0b6c5de() + { + $this->assertTrue(true); + fn() => ((array) ( $test)); + } + function test95f93627f70059c026e43c3efd186e4ee49472f51fb73f87ed0a278e704debd8() + { + $this->assertTrue(true); + fn() => ($test <=> $test / $test); + } + function test9de760b132ecf64a1806d60ea079dc5188f97a73ff699c8be7ebbb3c4bdb6dc2() + { + $this->assertTrue(true); + fn() => ($test <=> ($test <<= $test)); + } + function testa0cc194c8a3fb2fcac3533427ff20722f11a93615208274b1a1208f8e6a09b80() + { + $this->assertTrue(true); + fn() => ($test <=> ($test xor $test)); + } + function testa12ee069760fa364446315d914a3c499bf92a4be934f6896623f594b7a271476() + { + $this->assertTrue(true); + fn() => ($test <=> ($test and $test)); + } + function testa6db0884cb7dced4990c2ff77d2a318edb75c4d57360b62cb7169cd83d042f4d() + { + $this->assertTrue(true); + fn() => ($test <=> ($test >>= $test)); + } + function testa7b1966a3eeaf7512a8eadf01f0b63fa62d83fc69af81b23d010dc3586a8d594() + { + $this->assertTrue(true); + fn() => ((array) $test->{$test}); + } + function testa899d4f04fb654d06f74632a7cbc9647f0d0ba759d8a7f9e53795e046ead0c63() + { + $this->assertTrue(true); + fn() => ($test <=> (bool) $test); + } + function testa93abd99daadf9928820d087c373a75f6aa38025f87e55c0479f362647bdfb35() + { + $this->assertTrue(true); + fn() => ((array) ($test ? $test : $test)); + } + function testad3a0e5cf05c908a2f750ac7d23b78a98d5bcf4223f0d4779a2e27a14a90f93a() + { + $this->assertTrue(true); + fn() => ((array) $test); + } + function testafafb2ae0c17b74a186e4243572b565f66701c5ab872bee31f9e3fc6075c942e() + { + $this->assertTrue(true); + fn() => ((array) ``); + } + function testafff383c99dcd17cc407fd367a77eb9d3351b5f28f5937acccf60d2c878f627a() + { + $this->assertTrue(true); + fn() => ($test <=> __METHOD__); + } + function testb325dfb96cebc9393f89adbbd17a9e0725d2efe4aac155032e9b8cea01a1bc66() + { + $this->assertTrue(true); + fn() => ((array) ($test |= $test)); + } + function testb668eebc2502f410cb59232cbc22b3cbdc7b96f80055644a3ad0d2799bdf98b3() + { + $this->assertTrue(true); + fn() => ((array) $test--); + } + function testb8b952060b60a158efb533ebb32e2af138f3e8fb8493798ca17ca075e7f08350() + { + $this->assertTrue(true); + fn() => ((array) isset($test)); + } + function testb99ffb7c195d3578a9997acbb6086934d9a63ce11deff464e39c4f52dfcd89d8() + { + $this->assertTrue(true); + fn() => ($test <=> 0.0); + } + function testbb55b82df567d4722c5126670cf080086c1d9c97eb212c5f70b78981434fefbb() + { + $this->assertTrue(true); + fn() => ($test <=> __NAMESPACE__); + } + function testbcb5a4cb4d1ee02b452c51df79ffd58fcc5cf3cf8f465b6e756d91db657919ae() + { + $this->assertTrue(true); + fn() => ((array) ($test &= $test)); + } + function testbcc2cb9fea29870af05584db4353227ccfe790208ee2b4ddc1894660e352e6bf() + { + $this->assertTrue(true); + fn() => ((array) -$test); + } + function testc052f0cdfe2501f957b038434aaa1289b50ea6561c60c5139c50b614486c55f4() + { + $this->assertTrue(true); + fn() => ((array) $test::$test()); + } + function testca868531b439eb433e2b99a40492275cb11c222892c4af5a21953307fe2bd537() + { + $this->assertTrue(true); + fn() => ((array) --$test); + } + function testcac2f62071dc87cc2672d53b8c64eadf6cc1531c85e01ea941f317e71ffc0b0d() + { + $this->assertTrue(true); + fn() => ($test <=> (string) $test); + } + function testcea23a121127151eedc9176091f67d2afeb3ea8a4ba81297a508d157da04febc() + { + $this->assertTrue(true); + fn() => ($test <=> ($test | $test)); + } + function testd11198273182566bb0c5a48ce9f553c70d68461fe53f03052566728fbae84b6f() + { + $this->assertTrue(true); + fn() => ((array) function () { + }); + } + function testd3af63ee0b0cb488e5534dd0bad2b2824a21c3a931006242156cfd8f9adb3512() + { + $this->assertTrue(true); + fn() => ($test <=> "{$test}"); + } + function testd47e3e930b3ce609eb18478bf74599f6d586d5e34939cbdb230f7f09020c3d63() + { + $this->assertTrue(true); + fn() => ($test <=> ($test !== $test)); + } + function testd61a28eedb8eb124ce0200339c2c5f4699922270d47fe26bcd0628d5c35a4786() + { + $this->assertTrue(true); + fn() => ($test <=> ($test ?? $test)); + } + function testd88772d7845a52baf2df6fbd53af4c1497a51d55c3088a333d1b8e0590135bfc() + { + $this->assertTrue(true); + fn() => ((array) throw $test); + } + function testdac1a315b015f521fbb0058d5cb9842d195446a567865cbe0c83bb59e516f1a3() + { + $this->assertTrue(true); + fn() => ((array) $test?->{$test}); + } + function testdd9b0a2dad5275b1476845c3e2f2c9df3d219d77372fdee6c22d7f05cc90eb40() + { + $this->assertTrue(true); + fn() => ((array) +$test); + } + function teste2399cce704d36edae8b70dad5b0ed6c800b662de2aeb70dc4277ceab1a6cc7b() + { + $this->assertTrue(true); + fn() => ($test <=> ($test -= $test)); + } + function teste30ad13dbde0a4983f3b4542940865b9c27194793d9375146e225393f6723766() + { + $this->assertTrue(true); + fn() => ($test <=> ($test += $test)); + } + function testea5d0bb7360e166981c783379d679eb5e815b045f46897ca5e73401ae7305b7b() + { + $this->assertTrue(true); + fn() => ((array) new $test()); + } + function testeb5b2f49f6bfcc389d21145a3f370231840e3ad124de90b18575144dc367f187() + { + $this->assertTrue(true); + fn() => ($test <=> $test ** $test); + } + function testf007f93a9cea393bb7fe85d54ced4aad23deb29ed64a87c56525b54592178091() + { + $this->assertTrue(true); + fn() => ($test <=> __CLASS__); + } + function testf1567fea5706ec25a636df4cc4b4ceab4df632f97ac3d424b38c3188b8286f6a() + { + $this->assertTrue(true); + fn() => ((array) @$test); + } + function testf7fd0c2a6e91f5b0a2c390beacb68a05b1f6608e87341cc373ef396419a5ab3f() + { + $this->assertTrue(true); + fn() => ($test <=> $test + $test); + } + function testfe3afdf174e06762ecacc5954aa2cc7c587336d02f04e8a3a2929e437fce6048() + { + $this->assertTrue(true); + fn() => ((array) (yield from $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php b/testsGenerated/Target/Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php new file mode 100644 index 000000000..a33e70fc3 --- /dev/null +++ b/testsGenerated/Target/Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressione820b10c01255d04382cf01e1dc041d6e8e812b9c9daae2d45ee1a75be97ddc0Test extends TestCase +{ + function test02688c71c92ef5c8863086c87adb324bf241ab7c7be3fd1b4bce734eef3143f3() + { + $this->assertTrue(true); + fn() => ($test += (print $test)); + } + function test02f8411c5434f4ce719301319c3fa12f046f78aa8eff8ba947bf063d45ce08bf() + { + $this->assertTrue(true); + fn() => ($test += __DIR__); + } + function test04ba8339e6f65b29fbb246e39c45ce1666158deccaeafc906026878f4b18230d() + { + $this->assertTrue(true); + fn() => ($test += $test > $test); + } + function test068033c705f1b7d2b38eeceef555e192edc2e9a44973a21dd05cf838a7978d99() + { + $this->assertTrue(true); + fn() => ($test += ($test xor $test)); + } + function test0b1542c9a08f38da06291d60e95e0c283dce19e3864f0f1399093edac492c0f7() + { + $this->assertTrue(true); + fn() => (clone $test **= $test); + } + function test0d88dfaee3996a8e4010ea039c1dd87753bb33f3e2ab8ef27031ab89b52dcda0() + { + $this->assertTrue(true); + fn() => ($test += $test << $test); + } + function test119b31c027e874c07913ffb6f819aee2c5f160ef5ef5b336c78feb5248a3863d() + { + $this->assertTrue(true); + fn() => ($test += !$test); + } + function test13343be129584a1f36b3a3bad5a8ccdc511f1487cd994c06f57d43bf063e36c1() + { + $this->assertTrue(true); + fn() => ($test += __NAMESPACE__); + } + function test1468c2b6fecaf9b4c5e20ab8720aedb9283acd6ad44e830172a03bf033264ca9() + { + $this->assertTrue(true); + fn() => ($test += (yield $test => $test)); + } + function test14a2fdb9a78c3a63764864b6857564f78eac14e0759e3421a109095fe68bff17() + { + $this->assertTrue(true); + fn() => ($test::$test **= $test); + } + function test16697a2d6fb361a818aedeface55adde229275f24b913e4e62a80f71b524c46f() + { + $this->assertTrue(true); + fn() => ($test += eval($test)); + } + function test1fdb569f796be9ad09fd35f9dc43202cd9226451d1843257c6eb427c018a3b9c() + { + $this->assertTrue(true); + fn() => (@$test **= $test); + } + function test219b53d8d0c8fa0878e0fea546fcc8a21fab145b54d48902172027a811c4c237() + { + $this->assertTrue(true); + fn() => ($test += ${$test}); + } + function test226a3e9394b39850aa3f559a252cd65723d0e1deca82634ac3d2c8abdd92d4a2() + { + $this->assertTrue(true); + fn() => ($test += $test . $test); + } + function test24fa88e2dad42cbfd9254892e3b23ae35187e9fbf4304928f376ff5eb1f88d24() + { + $this->assertTrue(true); + fn() => ($test += __FUNCTION__); + } + function test256c7e76a536c6f53dc1c7c1a31cf0a4b6072a0dfc4b4c4d096a4e0a4fd659b0() + { + $this->assertTrue(true); + fn() => ($test += $test % $test); + } + function test268422d581d01272211fcd92b9025835e61bea46650db48d1015f59015af571e() + { + $this->assertTrue(true); + fn() => ($test += $test ** $test); + } + function test2950acc7946fc6a153546d8dab5f0b761dcc91fa02bb31c48669a3d523e93eaa() + { + $this->assertTrue(true); + fn() => ($test += $test /= $test); + } + function test30444f563099f245c7370ee14600b809feac4bb915ab9731b3b7b64d89e47481() + { + $this->assertTrue(true); + fn() => ($test += $test >>= $test); + } + function test316e23572d1594859d76281893b3875700506e9139e77ff5b086fba7369b4f95() + { + $this->assertTrue(true); + fn() => ($test += @$test); + } + function test323c3efc738c2b13adceeeac0eba2e65347ff3b1a04558d5795cd57145312906() + { + $this->assertTrue(true); + fn() => ($test += $test ^= $test); + } + function test345c4817bae67293b92750a30973741d1a2f4f3d9c4b1ee8c6cfb7092d022eb3() + { + $this->assertTrue(true); + fn() => ($test += $test != $test); + } + function test3c6638edf30bc08540b29a5d0a347f720fad720c62514b06a326a5e8276b5bc9() + { + $this->assertTrue(true); + fn() => ($test += $test <=> $test); + } + function test471145e1c6965e25c15ec1469d9d43ddf6111cfe2c29620c7f68f8d6ac9c6dd1() + { + $this->assertTrue(true); + fn() => ($test += 'test'); + } + function test475add6d34855c631c9a1c5ec5b3fd265fdd73323886c095dba0f294ae25ea5c() + { + $this->assertTrue(true); + fn() => ($test += $test | $test); + } + function test48e1dc601ea4da2d8283517ed9c8753b85d3f006698abb50516a2c1829d71aca() + { + $this->assertTrue(true); + fn() => ($test += $test == $test); + } + function test4bbd339ca55d0bad02d02e977853c66a8bc838cedc6947c6b9a31260edcdb559() + { + $this->assertTrue(true); + fn() => ($test += $test & $test); + } + function test4cd0f6a085373cbb22eb3a9abdaf450011fdc7d3a4c4bb1027ec4aecf3870ba5() + { + $this->assertTrue(true); + fn() => ($test += $test + $test); + } + function test4d9391f346ebf042748a8a8d2892703cb572fe1dd21bd0cee3d8ba5a4eadadfd() + { + $this->assertTrue(true); + fn() => ($test += $test -= $test); + } + function test5a94cdea55f22ce337ea6369ab94e9fa698aceb0d2a3ca64efb6b7017f697f1d() + { + $this->assertTrue(true); + fn() => ($test += $test &= $test); + } + function test5e2b89b8380f80e4100d7b592142e33342692892eba21492db5fff5ed8b09ee8() + { + $this->assertTrue(true); + fn() => ($test += $test ? $test : $test); + } + function test611f9bf1c00b4253c2acd5fad7f5506689b45b031d7a2270f2b03cf024dc6b51() + { + $this->assertTrue(true); + fn() => ($test += (object) $test); + } + function test65681bbaffeae20feba5d14282838cc0b71491336b219b19b735abb41b3871d2() + { + $this->assertTrue(true); + fn() => ($test += $test || $test); + } + function test65b7bee9b1e3cd637907555b159f5103342f2e00492c318856e38fa9a7b64109() + { + $this->assertTrue(true); + fn() => ($test += $test::${$test}); + } + function test6c18233c2bceb4b8eb1714400a47d671b9d333b82fb55b6e08616fa2cb50bbf0() + { + $this->assertTrue(true); + fn() => ($test += -$test); + } + function test6cd2af56dc1b8c2ff4b1fe74fe24479dcf10ace1e0b3127fddb62fa55242e2ce() + { + $this->assertTrue(true); + fn() => ($test += $test .= $test); + } + function test6d0fd334e59884ada77952336a65ac59c71f884469e92beb35dc360123dd0113() + { + $this->assertTrue(true); + fn() => ($test += $test->{$test}); + } + function test76517c339f40829b8565ffa876d5076c5219482f886a99bc633c55e14b49d2d7() + { + $this->assertTrue(true); + fn() => ($test += $test >> $test); + } + function test797d0074c744545572b2e7a024438cf4fd34253f06eacac48d5b80abd3286ffb() + { + $this->assertTrue(true); + fn() => ($test += +$test); + } + function test7b5b5681e6a328a50e10fcd270ef4545ccfb68138e51b2a36058e1f0b5710948() + { + $this->assertTrue(true); + fn() => ($test += $test--); + } + function test7c536d0c6e85110ee477122a71c793da2c6cd6d47f54187b37bf4f26321004fc() + { + $this->assertTrue(true); + fn() => ($test += $test && $test); + } + function test7e9983f699ddea4d710270b09de14aeff7a0dbb0aafca23cd305a467c03920ee() + { + $this->assertTrue(true); + fn() => ($test += (double) $test); + } + function test7f507c3060044567c72234125b55c92056480074953905c3e316b8568c432cac() + { + $this->assertTrue(true); + fn() => ($test += "{$test}"); + } + function test8439ef287f5f1f081581398ce55d463e4a87fa3dd47ba99bd0315688d67e722c() + { + $this->assertTrue(true); + fn() => ($test += $test ?? $test); + } + function test85b25f6cebcf862bf098c45d333c15040cbbd51b4f12748ed03f54259cee7b83() + { + $this->assertTrue(true); + fn() => ($test += $test %= $test); + } + function test8629594c3280a4e6072e1f981fefa20efe5025964df35439c7871cbf5788bb96() + { + $this->assertTrue(true); + fn() => (~$test **= $test); + } + function test88aa68900b64476b60c5c831557582ac42090bbd6c1731cc5e9d6507898456ac() + { + $this->assertTrue(true); + fn() => ($test += ($test or $test)); + } + function test8b9943ee65583ff12bfd016a30d337f4bc5433ece69fa972caa39e344fc4a1c0() + { + $this->assertTrue(true); + fn() => ($test += __LINE__); + } + function test8d9173427f0ba1373c35268eea80891c0af64345809f6bffd6cf1ac17930e703() + { + $this->assertTrue(true); + fn() => ($test += 0.0); + } + function test90a9057bc90290b9ae0ce94522a46c32fd13f8b0ff11b58e1750db569a96e033() + { + $this->assertTrue(true); + fn() => ($test += $test >= $test); + } + function test93770af972fc9286108290fcfe177bd2eb205e82ca819b1b89ff41ee81ea44f0() + { + $this->assertTrue(true); + fn() => ($test += self); + } + function test97279d1c8cc6a5c065194b868e7e5f557ea04122544e30158a667c377f8dfe7e() + { + $this->assertTrue(true); + fn() => ($test += (yield from $test)); + } + function test975f40a385c202948715f48367e8565b8daec78aa72470bd6ffcc5bd176a14f7() + { + $this->assertTrue(true); + fn() => ($test += $test ??= $test); + } + function test97addb6edc3218faa6c76f5462404a80421c850fa588c701a9d12bc8f0d5afd5() + { + $this->assertTrue(true); + fn() => ($test += ``); + } + function test99de8575c68373df611784691c21c5e2285c802a3067ca1c6f992be8303b80d0() + { + $this->assertTrue(true); + fn() => ($test += $test * $test); + } + function test9a6fccad9292d2851c17c35a1daa613e87cf96af027e50aadb8a50ec53c6d424() + { + $this->assertTrue(true); + fn() => ($test += $test?->{$test}()); + } + function test9af5c25dba98d9ef530c064d6807ebff4a69d97ab365d74fd0b9f282db709b07() + { + $this->assertTrue(true); + fn() => ($test **= $test); + } + function test9b29f1f7f19d8055c4e4299a0aec2a1add7bd7cf930ea4f62c6d5dabc1b10819() + { + $this->assertTrue(true); + fn() => ($test += empty($test)); + } + function test9c9c42c0251d7f42def16945e6dcc7532ac0e79829ebf89ea4980de3a2930335() + { + $this->assertTrue(true); + fn() => ($test += __TRAIT__); + } + function testa14c479df61ab2c59fae2a9e3a66a92faf73de6d8724e9618b04897fdbc3bc83() + { + $this->assertTrue(true); + fn() => ($test += throw $test); + } + function testa23b6bf54cb6b70859ae0e5017f8c1114c336ee976174fb48164c2aab5b30f93() + { + $this->assertTrue(true); + fn() => ($test[$test] **= $test); + } + function testa43575da1cdbd263879ac9245b06f21a1bec3016a11c082a7944e7b08a258fe1() + { + $this->assertTrue(true); + fn() => (!$test **= $test); + } + function testaab8fe945b3643a4aeb3d7808910ba290fd6fb94ce5272f185226c8a5bc9635a() + { + $this->assertTrue(true); + fn() => ($test += $test <= $test); + } + function testaef6cfed38fb33be673085d60b9b92af03d5b01206d50628039d42e7b5ef1481() + { + $this->assertTrue(true); + fn() => ($test += match ($test) { + }); + } + function testaf2587b51eb5bd0c027e69f808ee688a9868e325862182f2590e16aadede56be() + { + $this->assertTrue(true); + fn() => ($test += $test *= $test); + } + function testaf2e4fa3d3d78198be8c3113ef58474e4831381af976ae461ca196e0e41aec52() + { + $this->assertTrue(true); + fn() => ($test += $test **= $test); + } + function testb023b0eab57de1bb645334a634fd91bb07729d9061faf683edb5f3e83a323e65() + { + $this->assertTrue(true); + fn() => ($test += ~$test); + } + function testb2ddbdb357a344448ede80188d308ae245b2529cc54bc48e0cb1bb07cc8b35ea() + { + $this->assertTrue(true); + fn() => ($test += $test); + } + function testb3133b12749fc9ecbea33e95bf1d944e257d87b3205a3d0c6044e380fcf5dc1c() + { + $this->assertTrue(true); + fn() => ($test += $test::$test()); + } + function testb912058527de52f8fabf7a80117266a46e524b8581fb05cb9dc157bfaf517dd4() + { + $this->assertTrue(true); + fn() => ($test += $test / $test); + } + function testb91fc44e6216d462a4160e68049b66f54ed6008ea5969e9d7b479e71089c4e40() + { + $this->assertTrue(true); + fn() => ($test += $test instanceof $test); + } + function testbb9714d1ffa9ea0a32ba2004d511a7179a2349090e3b1d5d584e1cae50c58d33() + { + $this->assertTrue(true); + fn() => ($test += $test()); + } + function testc36a69b16fdee450da37dbaf537d9e532c2390868149434ed49ea7181e992de1() + { + $this->assertTrue(true); + fn() => ($test += isset($test)); + } + function testccc7e5d59ba59944c253603ea0d0393de1e76f4937ed9cfb00e685968607ebb5() + { + $this->assertTrue(true); + fn() => ($test += $test - $test); + } + function testcd63acdb92998a1b63264388543021afe5831700ce12b1c5ed703efbd5fcbf2c() + { + $this->assertTrue(true); + fn() => ($test += __FILE__); + } + function testcda46c6dd701e326f898b36b9349bb80070ba30e7472743065f0f3b9009769da() + { + $this->assertTrue(true); + fn() => ($test += __CLASS__); + } + function testce6aad2e381d313332ae692a6a21d332044a3d0f5d989eb1153d156957742954() + { + $this->assertTrue(true); + fn() => ($test += (int) $test); + } + function testce9800a831a2dd43907a2137350253e9a48baa4afbfd12327f1a09175e698600() + { + $this->assertTrue(true); + fn() => ($test += $test += $test); + } + function testd098aa3b405ed48eb3e5d88dc30384cf65015b7affa8552a36f4ee58f7b0f25f() + { + $this->assertTrue(true); + fn() => ($test += ($test and $test)); + } + function testd1a29e9a0830bad2bb7315c283b7d5806034a35470531b4b02c3db861376c5a4() + { + $this->assertTrue(true); + fn() => ($test += $test !== $test); + } + function testd2138f6fc20869cc10e70d11ef40c19a4d175a7dc0a0be54d29f25fbaf246781() + { + $this->assertTrue(true); + fn() => ($test += $test++); + } + function testd5d824a05bac058107dbc7951513e7f10bcf5f0b8a311c95a0f157a465b10317() + { + $this->assertTrue(true); + fn() => ($test += --$test); + } + function testd935b7de7f32f9d899228f0185e3fce7cd7ef889075c70df34f4454d63bab1fa() + { + $this->assertTrue(true); + fn() => ($test += clone $test); + } + function testd9f4c84c6eccb4b79c98df12aa61d8001f460721eb3a9e845563e4d14a7922da() + { + $this->assertTrue(true); + fn() => ($test += $test ^ $test); + } + function testdfbb8faee77c471e0c969eebce3af392fb3b62c9ef3325be7408e83e4f035d6f() + { + $this->assertTrue(true); + fn() => ($test += new $test()); + } + function teste02b5f6f4903314f65662abf96b60dd0ddf4fbfed88ef6ab3da7e6621c337981() + { + $this->assertTrue(true); + fn() => ($test += (bool) $test); + } + function teste0e2d475423774406507f63c962aab58243793f43f44484f08f5acdb97f38bac() + { + $this->assertTrue(true); + fn() => ($test += __METHOD__); + } + function teste1baf82d0ad713fd200b56f5ae278ff46972e39bca62e45aa4f6fb6b7c9013a9() + { + $this->assertTrue(true); + fn() => ($test += $test |= $test); + } + function teste34930380ee8d4939035df055d67d2553dbe553ae4f50a39e3d61387ae8476e8() + { + $this->assertTrue(true); + fn() => ($test += (array) $test); + } + function teste3c28b9b83d1c509f902fbed0f0bbc37beb78ac3f85fd9f8a905351a2fbcd42c() + { + $this->assertTrue(true); + fn() => ($test += $test::$test); + } + function teste705f11717547147fcc0fc7ec8d2328e18e2812400b5cd03c41ef90da0087a41() + { + $this->assertTrue(true); + fn() => ($test += (string) $test); + } + function teste95826897b866f370a03b91a7c2c5fc8f3fcf856f0474afa2bec58778779718f() + { + $this->assertTrue(true); + fn() => ($test += ++$test); + } + function testeb997afb057f1c985f22e85de5aee9ce874bb21b2c035d124a03376d17d6be1b() + { + $this->assertTrue(true); + fn() => ($test += 0); + } + function testeb9fe782d25086281d9e9707d27ec159c9d2dcbf4c2e65846b6ac2b72af102c5() + { + $this->assertTrue(true); + fn() => ($test += $test->{$test}()); + } + function testf2bbee73d2c006d6595a2243ae984478050e40b712027318ba2cb18e6653556b() + { + $this->assertTrue(true); + fn() => ($test += $test <<= $test); + } + function testf2bc6147754ab9a0db78af95c2e60dccea5bbe7d6e42e598ed4c1ddd224eba25() + { + $this->assertTrue(true); + fn() => ($test += $test < $test); + } + function testf4410f686c5da116272a9570fe49a76b093905661c3da2747b0d812593deb97b() + { + $this->assertTrue(true); + fn() => ($test += ( $test)); + } + function testf5e992a94bec9f085c1cc500a5c51d815870badd5946b08fbc1e1d107580b882() + { + $this->assertTrue(true); + fn() => ($test += $test?->{$test}); + } + function testf5f76417b0197183231a7eee103923866e52c0105e12f4435c2ce226a473e9f4() + { + $this->assertTrue(true); + fn() => ($test += $test === $test); + } + function testfd646b329740e4819408adf41435ff4282845d1d87f6bdb46a82e3b832ebe6a3() + { + $this->assertTrue(true); + fn() => ($test += function () { + }); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest.php b/testsGenerated/Target/Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest.php new file mode 100644 index 000000000..79eae4a18 --- /dev/null +++ b/testsGenerated/Target/Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest.php @@ -0,0 +1,512 @@ + + * @license MIT + */ +class Expressione87cfef2b57949b6e16fc280be801fcd9ab0afc07a1256076160010b1c66477bTest extends TestCase +{ + function test015ec60cd857a68f25c1324a497fb77e8c7c9545089d4d1e36c77eb61533be4b() + { + $this->assertTrue(true); + fn() => ${0.0}; + } + function test0183c2ba7357ceef5452de162c8cc4e1e34d43a1142bbbcdfb0cb4f2dfa54d51() + { + $this->assertTrue(true); + fn() => ${$test || $test}; + } + function test0222ccb637ae17332a0e44b66a4b334c61472ad27ea831811f98dccca316fe5d() + { + $this->assertTrue(true); + fn() => (isset(${$test xor $test})); + } + function test025a04d77829a8269959a6f9070f1f07964e3b355cfa2fbc6d1ccc5d709471ad() + { + $this->assertTrue(true); + fn() => ${$test | $test}; + } + function test03fb9642860bbe3616b752fc0c239cf59c81fe452c78b50a023a09f16e358e25() + { + $this->assertTrue(true); + fn() => ${(double) $test}; + } + function test061ed8b598154789a0e12c40ef889fca44186e8e61ef0250598fb8fabc7a1b6c() + { + $this->assertTrue(true); + fn() => (isset(${$test << $test})); + } + function test069bc6f116ae66449fdbdcb2cdced17a89c896ef01fbc38532537508860957b3() + { + $this->assertTrue(true); + fn() => ${$test ?? $test}; + } + function test09f824d749e8b6754ec7b630f8b2c1382247cf4925d6bd4ef9be92fc0278f4fb() + { + $this->assertTrue(true); + fn() => (isset(${$test ?? $test})); + } + function test0d6a2e2582fe1c87b23dfe21ec663581a3c5767947311d19ef471961029190af() + { + $this->assertTrue(true); + fn() => (isset(${$test == $test})); + } + function test110da48e48ed5aac9f39df74a22f2ff991387257d4b2dc048343bc4b502473cf() + { + $this->assertTrue(true); + fn() => (isset(${(object) $test})); + } + function test12327cb9ff50ed53905691f93639d2fb8d1d0c8c3316266468388df637471101() + { + $this->assertTrue(true); + fn() => ${"{$test}"}; + } + function test12fd570463eae0b93d8280ef75ffe3ed443fe1366f9fe63807d6ce6ab73a5ad8() + { + $this->assertTrue(true); + fn() => ${$test >> $test}; + } + function test148f6d538d42f058cff52ecbfe2d405cfd2f35030616e82b8a5da9347a863295() + { + $this->assertTrue(true); + fn() => (isset(${__METHOD__})); + } + function test16e8d4cb2b3eb0506420c3f74e5f478f36b9c252246e382c186444eda860f149() + { + $this->assertTrue(true); + fn() => ${$test or $test}; + } + function test17337f11dee85c4815c0b92703c89584d23363a88618e93a7629c84e9385120b() + { + $this->assertTrue(true); + fn() => (yield from ~$test); + } + function test17b616725ad45ceb5b1646b325a546631829ed5dee23d3dfa7a71203ee62a5d1() + { + $this->assertTrue(true); + fn() => (isset(${(bool) $test})); + } + function test19b8099afc3383577fa99394e46f7b2cf53ad61b9e6297eb65701487dc352af9() + { + $this->assertTrue(true); + fn() => ${'test'}; + } + function test1e1f219884f211c5fe522457c9cb7753afe02f23c57548d12f5c3585af327d78() + { + $this->assertTrue(true); + fn() => ${$test / $test}; + } + function test1fc5f992064beb61a372ef820821cc7f6a9931ce8130771bd836c42f51fb205d() + { + $this->assertTrue(true); + fn() => ${$test != $test}; + } + function test213c6d186dc8aba69a5d9b1ae86df7a0cc705f9024502a6f7acca531ac0410c4() + { + $this->assertTrue(true); + fn() => (isset(${(array) $test})); + } + function test2157e44449668b76ce4a75d548cf4a46b60001cdc6c846a8eabf4b2f21e44e2f() + { + $this->assertTrue(true); + fn() => (isset(${$test >= $test})); + } + function test21c7b47e6df04e0b2d73e464133086d6b8992fd488d25b737f1f2ae0f49adcc8() + { + $this->assertTrue(true); + fn() => (isset(${$test / $test})); + } + function test24be381406ca1ef016bf1dd69afa6bddc33b011c3d3ccf0a8b19e7861527b3c7() + { + $this->assertTrue(true); + fn() => ${$test ** $test}; + } + function test26d077cdf44333908828f2f2f1557ee8af47a3b772191552e17d8a60be137371() + { + $this->assertTrue(true); + fn() => ${$test % $test}; + } + function test29ec4fe300ab466e70c7281c63606cc21e2ce90f7dbaa75eee8c434c1f09b6d0() + { + $this->assertTrue(true); + fn() => ${$test . $test}; + } + function test2a415158d9feb67845d456e9d103dc530e980ae52b902420e5e47fccb6cc4d47() + { + $this->assertTrue(true); + fn() => (isset(${__FUNCTION__})); + } + function test30e56417885de531b6bca5c07a4a1b6cc7b332fe399e73aa8e287a7e38a971f0() + { + $this->assertTrue(true); + fn() => ${$test << $test}; + } + function test3169dc0493667542ca86f763e2bc23ad68430b64574365ddfb2411f6afdf3b87() + { + $this->assertTrue(true); + fn() => (isset(${$test >>= $test})); + } + function test32186b5abe858d680cb3034a5ba788009372836342edca72e90ec2e80bb2fd85() + { + $this->assertTrue(true); + fn() => (isset(${$test <<= $test})); + } + function test32e668e10ab6895cb6ce4c699bc864f8e8e0864891965c85c03d2d7d327588ca() + { + $this->assertTrue(true); + fn() => (isset(${0.0})); + } + function test3441393df94130ee3b9eabfc7126d9b227b533504a4ace256b116c2a4d791aab() + { + $this->assertTrue(true); + fn() => ${(array) $test}; + } + function test352f1b0cf7cfcf0749ba39091cea56308505f27e4649ff11279c748f5e150fd3() + { + $this->assertTrue(true); + fn() => ${$test !== $test}; + } + function test38773e942159a5145187c7dc8e89d34f01d31cb4899b1866d4b75699f3dbe763() + { + $this->assertTrue(true); + fn() => ${__FUNCTION__}; + } + function test3a76af71823a0c6312de3740d05a2832f60831fccdd43482dcada24b38fc9e5d() + { + $this->assertTrue(true); + fn() => (isset(${__NAMESPACE__})); + } + function test3ab37ad87ffc7b4db5666e9fb542d76e2c19e8edc5a9c498da603aadda4502af() + { + $this->assertTrue(true); + fn() => ${$test && $test}; + } + function test3acf6e5feee30d4b4b8f0add82a510fe03d17c1d4e49f2ff3bae214b73bd4639() + { + $this->assertTrue(true); + fn() => (isset(${__FILE__})); + } + function test3b63bcd914b126942db11c98101a9076d10eaae2363639d6660b9285fa884ca9() + { + $this->assertTrue(true); + fn() => (isset(${__TRAIT__})); + } + function test3f9a01d9bc5a47e77703a6b06bd62c6fb89a5fc21f8f66e7765fd497959d8d91() + { + $this->assertTrue(true); + fn() => (yield from $test =& $test); + } + function test3feb7d7e5b1c01f7427bb8d92353881b8687293b9c20294c9b590560462b0bac() + { + $this->assertTrue(true); + fn() => ${$test xor $test}; + } + function test4208edb71490df7088030bc2dd5063e2d077c6ffab88c9c2d9298b806189cae9() + { + $this->assertTrue(true); + fn() => (isset(${__LINE__})); + } + function test4219bfac2d9316e1ae1ea234106046c1b41628310308d69407f7bd9206c8a248() + { + $this->assertTrue(true); + fn() => ${__LINE__}; + } + function test42aee462ef47200338635f57a9d40fd37973ec1e2711e87a022b78b047c1c9f0() + { + $this->assertTrue(true); + fn() => (isset(${$test >> $test})); + } + function test4aa5cada1d3475c6e43c16df5f4311d924b97ec09e70e4d18cee18d8c3939f6c() + { + $this->assertTrue(true); + fn() => (isset(${(int) $test})); + } + function test4bb6798a26a12191fd236fad8a7d25486deb2e7a8b2ab2bf8734e774aafbbbbf() + { + $this->assertTrue(true); + fn() => ${(string) $test}; + } + function test524c01ec2d99a069d983b4079d34d31093296218b01e4aef008c201d62b534e6() + { + $this->assertTrue(true); + fn() => ${$test >= $test}; + } + function test5a8ade5acee26e90e6f9828adf5c6fd1718fd44808741445afd7f949f3c11992() + { + $this->assertTrue(true); + fn() => ${$test & $test}; + } + function test604ee9b0955b674d6e662eb41d903432aae0e21c6d587d217ba156b0b769860b() + { + $this->assertTrue(true); + fn() => (isset(${$test . $test})); + } + function test63fff5c1c11fc2c07623bbbd58166808e006192dfb9c8b4f1a03e967f378889c() + { + $this->assertTrue(true); + fn() => ${(bool) $test}; + } + function test67648711245aa04f29913e74e09745d2a5f5c1fe77422cd9f2c3dee9a00808b6() + { + $this->assertTrue(true); + fn() => ${$test == $test}; + } + function test6ae6fc1231d5b7a60ef9922e2a244952653f3c848273dd641c7b6101245e0dd6() + { + $this->assertTrue(true); + fn() => (isset(${(double) $test})); + } + function test6bf064a1e133e18ba6ef107fe0f9ab316276583bdfdccf29b0f21541805c561e() + { + $this->assertTrue(true); + fn() => (isset(${$test or $test})); + } + function test6cc63ced93fe911a51c7ad3c02aec5845d0bd96a4596815e6ad598feb30d20d0() + { + $this->assertTrue(true); + fn() => (yield from !$test); + } + function test734b743bc5ccac559016a6a01d39b7c1c5268968f9e3b20cea59342e06f4af0e() + { + $this->assertTrue(true); + fn() => (yield from $test[$test]); + } + function test77d284ee77df3d75c2335d4d1155003438a8ca854222bb783439527ef5b2c08c() + { + $this->assertTrue(true); + fn() => ${$test >>= $test}; + } + function test7d61be548378d1ab521d56160efd6de45da0d0ee4edf04359e7d897bd8e6b293() + { + $this->assertTrue(true); + fn() => ${(int) $test}; + } + function test7ed35da5d442db36d2e6585fb3779a41aad336768b3ff36877b28c71f5bd2891() + { + $this->assertTrue(true); + fn() => (isset(${$test > $test})); + } + function test7f20ca3e22aebe2a2701a289140665db3e041c383c48bcf9cfceeb78ce776e98() + { + $this->assertTrue(true); + fn() => ${$test > $test}; + } + function test7f6e7deb26fe3062394d4cbd4eb83e130f4bd463b5a4fbcdf2721c140f0e523b() + { + $this->assertTrue(true); + fn() => ${0}; + } + function test7fc31adc9c6aaee813b82af3994b5b3c7afaf0d8876527c3659ba7754b3c14e1() + { + $this->assertTrue(true); + fn() => (isset(${'test'})); + } + function test85e8c1c0967243bfc029546d8091d6b80da01bbfe825b6fa1da545874efcb85d() + { + $this->assertTrue(true); + fn() => (isset(${$test ^ $test})); + } + function test89651c44a400fddd63fc24f30637936f74a80a188094024aa60b45124a53d9ad() + { + $this->assertTrue(true); + fn() => (isset(${$test < $test})); + } + function test899ead8607e7f91c0a2af13834830d30e913bc3c0a01d1d9a5b3f45b2191739c() + { + $this->assertTrue(true); + fn() => (isset(${$test & $test})); + } + function test89a7528070e62099f2f9ccc7b524d0d020dc827e4602d6cd957d0562dd11122b() + { + $this->assertTrue(true); + fn() => ${$test - $test}; + } + function test8c452a4d72be00933544fc0fccc69ba7deca5db3de3a7c61c3072aa4853c5b9f() + { + $this->assertTrue(true); + fn() => (yield from $test::$test); + } + function test8ce04b50f0bb2f116312a48fd99ba3bc8b2d4d758c8454451aebf4cd090b5785() + { + $this->assertTrue(true); + fn() => ${__NAMESPACE__}; + } + function test8e44ad73ddc936e8979c406a1b6d56efc54023bb87e6faf31edaf487264644c1() + { + $this->assertTrue(true); + fn() => (isset(${__DIR__})); + } + function test95198d2c68b9ffa51a6ed7fc9601cb4749ea299dfdc3fdb7d807899884801e7b() + { + $this->assertTrue(true); + fn() => (isset(${$test === $test})); + } + function test97ad85d0776e5c9a4f1d793ff30afe19360289233060747e70dc6156c331686c() + { + $this->assertTrue(true); + fn() => (isset(${$test and $test})); + } + function test99019e875b3f02a0950c27931500b2671a5cf180b7ef774c53091f83b888dae3() + { + $this->assertTrue(true); + fn() => (isset(${$test !== $test})); + } + function test99df4f02f2a148392a97c50ffb81e1ef43038d078c538ef6fafae0507368cf53() + { + $this->assertTrue(true); + fn() => (isset(${$test <=> $test})); + } + function test9dc70c3c1af8fbf41f00f2e87e53f14932f93afc30d19345a3fbdad67c35cf9a() + { + $this->assertTrue(true); + fn() => ${__CLASS__}; + } + function testa0a9623f171ad9032ffbe2e375f344527becd9a17ea622984036749b6744a39b() + { + $this->assertTrue(true); + fn() => (isset(${"{$test}"})); + } + function testa3fadf61c00541680be290b11b32861fdf9bc3b077304dbf092c0a5755ec71fc() + { + $this->assertTrue(true); + fn() => ${__FILE__}; + } + function testa5b3e5c8dec91cfd10695c52ecf6a0a7960a310f924a6156c051ed68fa2487fb() + { + $this->assertTrue(true); + fn() => ${(object) $test}; + } + function testabae5340a92e841ff31c2386a9bd1e6e6d779351466bed1b0af4cc10f08c54e1() + { + $this->assertTrue(true); + fn() => ${$test <= $test}; + } + function testac93ec3a60d1d03f31ac2b118b5cfdd35a637d786ac83e9b0d7438673cdfe87f() + { + $this->assertTrue(true); + fn() => ${$test < $test}; + } + function testacf36829c4ed73348a26e32f555b04df76779739409e14ac969271e183f95615() + { + $this->assertTrue(true); + fn() => (isset(${0})); + } + function testb6bdf9c2e728865196ecd4f02f67201c3554de72a7fab09cce125c729d3a4ab7() + { + $this->assertTrue(true); + fn() => ${__DIR__}; + } + function testbaaa6736c2c72db549b1f8c9ec1cf617790b22f4b3b0d9af005e9fbb1f69424a() + { + $this->assertTrue(true); + fn() => (isset(${$test | $test})); + } + function testbb02fac711e53786e9298914a34d5c6f2219074dd5e928e63bf9e2909710a71e() + { + $this->assertTrue(true); + fn() => ${$test <=> $test}; + } + function testbe4e4c8650a20729f0c73b9f29ef579219b22acb3a467b9d0b6a18c878b2edb9() + { + $this->assertTrue(true); + fn() => (isset(${$test * $test})); + } + function testc385f43479ceefc71384ccd77358b2477ecdb69ae0a754b819b9686bc31bbfe4() + { + $this->assertTrue(true); + fn() => (isset(${$test % $test})); + } + function testc50f2000de930d223f64222501ab37d3f3664c558d715ade915d82b7a0ff8819() + { + $this->assertTrue(true); + fn() => (isset(${$test + $test})); + } + function testc67b38ea5cc96c4d78c1093b8bcfa231f3614baaef07b0151c055dbfae37d0b0() + { + $this->assertTrue(true); + fn() => ${$test ^ $test}; + } + function testc71d6c932c5410c97f1b90ba8e30010a5634cb864e876dd23d0ae6f7af4aacec() + { + $this->assertTrue(true); + fn() => ${$test === $test}; + } + function testcda923532ef5073f2ce12e55c840152d136b9a916e621a16d860c9d7a752db1e() + { + $this->assertTrue(true); + fn() => ${$test * $test}; + } + function testcdf1bd9d64f5760422711f93d54064aa09504293e004ba3e53b11b56b9dc2fdb() + { + $this->assertTrue(true); + fn() => (isset(${(string) $test})); + } + function testd4820ab6ffcb9d8ce7642884d32542ccaff9397166851784dd0955861c37db9b() + { + $this->assertTrue(true); + fn() => (yield from []); + } + function testde7cf355dba051917d5117d00644af6c96e0636947b22806385daddb6ba20115() + { + $this->assertTrue(true); + fn() => (isset(${$test ** $test})); + } + function testdeb66bfb0b8b2922c1a0494a04de322538eb507a0df1cec91db00e3a2b7ccd3e() + { + $this->assertTrue(true); + fn() => ${$test and $test}; + } + function teste0e25c9d955d326969d64650fc7b852488b7bf26d1eb76baa2857a1816cc69c2() + { + $this->assertTrue(true); + fn() => (isset(${__CLASS__})); + } + function teste2ccefdd1916d0c7e99566d9d638d892e8b37bf3e662af6e35af9c0652e4e546() + { + $this->assertTrue(true); + fn() => ${__TRAIT__}; + } + function teste4762283c8a113c9c08924245a797baa9ea1510e178ae7f9bb556517b27b1778() + { + $this->assertTrue(true); + fn() => ${$test + $test}; + } + function teste7244bee0b03bb9aac459949ff14f226bc41b308e13bc9dda3a793254e01357b() + { + $this->assertTrue(true); + fn() => ${__METHOD__}; + } + function teste9adb7a41ee8d5f55dcdc00d4239736b2455a0d27948a347644b0c5769e57671() + { + $this->assertTrue(true); + fn() => (isset(${$test && $test})); + } + function testec8f13a59edbb8ec1bb1a8d84430df7e56b004e909fb70457b5bb00108cc1b93() + { + $this->assertTrue(true); + fn() => (isset(${$test - $test})); + } + function testf488dc0bc7c480c8b100fe6f591aa3a57eed50ec520be61c2d98658386f5fb7a() + { + $this->assertTrue(true); + fn() => (isset(${$test || $test})); + } + function testf57527b4b0e78fc39718ea3b7087e7c6591768e43dbe4a0d8b3c426c3dc5d9b2() + { + $this->assertTrue(true); + fn() => (isset(${$test <= $test})); + } + function testf7210163adee6e4b1fa7a812060ae5061e6d4ce2e6a10133e60ca248d84e43f9() + { + $this->assertTrue(true); + fn() => (yield from $test = $test); + } + function testfcace435bbe1ded3ef745d3e7d19e0243fe1e5424dd2fbe516f2cf96abbf7e71() + { + $this->assertTrue(true); + fn() => (isset(${$test != $test})); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test.php b/testsGenerated/Target/Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test.php new file mode 100644 index 000000000..33029eb15 --- /dev/null +++ b/testsGenerated/Target/Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressione964047f39126563157f138d187dc5eef6f9f5028a7813b19ba06ec9302ee004Test extends TestCase +{ + function test03c481516f7311a57ec95c1e863e933a9e29789b3c79e1786cb2ce60dd0584cb() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test != $test); + } + function test069d22f22596adc55d172a83e6b02a0eb195afba372767b4bf41363b3d8faf44() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test?->{$test}); + } + function test07feb353d72eb09e374b1f06749660dcdb6d70232ee0c2c0c93228c9291b3666() + { + $this->assertTrue(true); + fn() => ($test ? $test : @$test); + } + function test087b6059a362c806b9511281cf2324d1e49559185f1dc32e3effc6a2cfe9ef9c() + { + $this->assertTrue(true); + fn() => ($test ? __FILE__ : $test); + } + function test08b6acc74befeb3a6ebaa93498fbe32c3d90388972cc481faf256c586b9c51cc() + { + $this->assertTrue(true); + fn() => ($test ? $test : []); + } + function test0ba3250d3f96a8d1955f9dd9afdd6ea08fc2c0af7cb0cc9f3c8b50ae28c559de() + { + $this->assertTrue(true); + fn() => ($test ? $test : (bool) $test); + } + function test12dac1c5761d36b1a6e37fe7c79ab3850152fa8b9c0be71db1b48c3e309d7f2b() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test < $test); + } + function test14b2d9d625ab0f77840f37c6dd891cbd64fd0d98a0423e3d77a67d35766c81f1() + { + $this->assertTrue(true); + fn() => ($test ? $test : clone $test); + } + function test16e6e993c378b07ddd6732cfd5b5075b250a0583e94d781621576379a43dbcbf() + { + $this->assertTrue(true); + fn() => ($test ? $test : (array) $test); + } + function test17616b398b374f582406ec4cd6dd6da567d1f365ce8989a2d994e553e068e5b7() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test?->{$test}()); + } + function test19c1f94bcf9cd13d9d23c03eea1f17aecc005629235c2609b60d434eb7e5c51a() + { + $this->assertTrue(true); + fn() => ($test ? $test : 0.0); + } + function test1d56a436932bf08dfe520f767c0ff9ccec85f5ed04c22054d6b7fe2bdd04f005() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test === $test); + } + function test1efb4ac2306edfc5316bc8b99244d06ca8685b768ebcd124a807f2585d979fec() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test /= $test)); + } + function test1f341206a54f3facde9da3cfb1eb26466d0dde32139b20243abe10718c5584be() + { + $this->assertTrue(true); + fn() => ($test ? __LINE__ : $test); + } + function test20792efab6d08e38c38a7b94639f0675d09562d84798e8dc6f1968b33c7087cd() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test or $test)); + } + function test23ecf965b2d7fe7a70600bf8e395e8087060a0cddf9b3f7a9569ab069b3d9e77() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test++); + } + function test247b40dfe61f8d0e1cec628fab884bb2d80075e45d7aee3e0b050a09b8017eb7() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test()); + } + function test2a7b86e0a390c13d328dc6bce5f3178cf7fcc02cf6a8e7169023135ca4b7d712() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test::$test()); + } + function test2ba775c7b08219b0e144bf3c498610546d026cb66440fac454487005ee1be60b() + { + $this->assertTrue(true); + fn() => ($test ? $test : match ($test) { + }); + } + function test2db67ca95f409334939aab1a0e3072127894f05968ead814aeefeeb19d6c66dd() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test::${$test}); + } + function test3010bbfda68d791d9051db74027be34d34242a0e4d632fdd78ee4b112611f86d() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test >>= $test)); + } + function test37b943c2e2458ba927782b358e3760ebb40a84d04d3a2ffd5ceea7d1a4408cf2() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test & $test); + } + function test3adbdfcf832ddee3537a266c1e5e6f8f874eff72161fa64d4403888c155bb2cf() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test -= $test)); + } + function test3c9e92ec7298f35896ba98b2e2aeba036d6112c9d22c112844cf629bf5dcb16c() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test %= $test)); + } + function test406d4e6702043cf9757b378aed3194168a9623a892244a41ef7def0fde6149ab() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test |= $test)); + } + function test476212c31ba9a8380d5ed34972e57fe3838041acddf6568112ce8f8ab6f48be4() + { + $this->assertTrue(true); + fn() => ($test ? $test : self); + } + function test48e6591b3b37f87b8bab1f876e438b8267eaceafbe8eb600aca65cdafda72826() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test[$test]); + } + function test4c4abe85577ae21be15d9a81bd672de28aed021d4c3b359b28541bbf55344c1f() + { + $this->assertTrue(true); + fn() => ($test ? $test : new $test()); + } + function test52e9efacc17a570f1432acbcb7cb53329e8331c3233ad256793c3aa5221eed75() + { + $this->assertTrue(true); + fn() => ($test ? __DIR__ : $test); + } + function test53b5b695004d0b69d31a879472bb9f5a5f3cf8446e0d71c3f6d8547d422f77c5() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test . $test); + } + function test58f436ac5e226edae602d42935658384dcec9bafd7b3da3e2b8c8f68e01c009d() + { + $this->assertTrue(true); + fn() => ($test ? __CLASS__ : $test); + } + function test5d321e1e0b59c5f78aa49e21f930e4f11b15dc8d29f51d8ee38c2f20fd10db57() + { + $this->assertTrue(true); + fn() => ($test ? __NAMESPACE__ : $test); + } + function test5ffa12ac03e43b4742243824930069e0ef9083b43b37caa2bcea60b835a65523() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test->{$test}()); + } + function test621dffab234d53cba9c81133d06c567025b90e9ec46efe622feead085f12df1a() + { + $this->assertTrue(true); + fn() => ($test ? 0 : $test); + } + function test69df6dd59cf31f0cbf4b083fc350e5229f8b20020515ea63b29fb82550cffc22() + { + $this->assertTrue(true); + fn() => ($test ? $test : ``); + } + function test74700192132c3e26ee28c3b303eb43d2b2b2ec11d935a12e27d0b1dc003917bc() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test ^= $test)); + } + function test75adb3abd8b3da797aca444e203e24fb55e0ebf198cb171974f50cf87ed580dd() + { + $this->assertTrue(true); + fn() => ($test ? $test : throw $test); + } + function test76652c6b0c683e23107ed494430adece2bbc0e6dca48dfe21699e0846bc2447a() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test ? $test : $test)); + } + function test778cfb08795823e374f6d65fb04e0b42b696dd5efc8c71c61f30586f028d321a() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test = $test)); + } + function test7944802fe2a4a0fbdaf8fd6e53cc0cd39ed93fdb595f908e899572844ead08a2() + { + $this->assertTrue(true); + fn() => ($test ? $test : (double) $test); + } + function test7b01e5c1d56d0aa3b46faf476628bffd9ce20c524d6cce51252dee6da6d06860() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test::$test); + } + function test7bc798dfdde2d26ecfc6429606e0d9704c991679c4478df4b133f0ece2c70e41() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test ** $test); + } + function test7be2b773279f93dc35887e037af3d55944ed2d0ba4b23d2493f1d13fd4f3f54a() + { + $this->assertTrue(true); + fn() => ($test ? $test : --$test); + } + function test7c6a394a80006a0fb6e4ea0509393644448869abe379a56dbc658176377ca232() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test--); + } + function test807fcc1b5149a4c9ea196aaaaae76fe9f8383c706cb1ed2271c884bdcf043652() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test =& $test)); + } + function test84407770582c399b7a51c71db0e9d91e644b760332aec905dfa99056e0c47dab() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test += $test)); + } + function test86d3aca7308ba96477870f99bde57c157821941e9848ff6e4a87df46e18e9bb2() + { + $this->assertTrue(true); + fn() => ($test ? $test : (yield $test => $test)); + } + function test88dcc9fc4de69c7a7247d8b1cf488007d22aee8014fd6df52d2b96fb22712f23() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test <= $test); + } + function test8b84d0ef107a22114cff4c616ff4a29936b1ddd8e32b4380f61b1574efd952b3() + { + $this->assertTrue(true); + fn() => ($test ? $test : -$test); + } + function test8d3050e6a20ca70c7567858f6c0838a6c8af3622a450a64d8fa9cdb9bf622b92() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test / $test); + } + function test8de833b46d6ec865db3522ab5e2a67d37abd3336dc4f5a1ec4d941716494564f() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test xor $test)); + } + function test8f33931b47fad21c25901ca18803fa89fa1cc3f8b452a57b70673cdc10a91880() + { + $this->assertTrue(true); + fn() => ($test ? $test : ~$test); + } + function test908156fdae60d44ca1fcf55acb47b0352288da44733fa11ef668012c27039e43() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test and $test)); + } + function test9416e8c939f8384ed40b8a655f47a8aecc40665290e9719250227cde07ccd38e() + { + $this->assertTrue(true); + fn() => ($test ? $test : isset($test)); + } + function test94d8554a56c60d33b530983a88969874b8755f0631a22036db796a262177c369() + { + $this->assertTrue(true); + fn() => ($test ? $test : function () { + }); + } + function test99d2040a232ddac5600c4bdb02754b1759d964f631a26cd2a2fe1846ef80c96b() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test | $test); + } + function test9a1a9b2d065e2ae96fe3a16b1b6759347e5c901e0a5ea32613629dc1f8d77081() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test || $test); + } + function testa0146f44e30a2bc665ac7558100c6c5f3313eeadb45689191dba86908cf610a3() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test &= $test)); + } + function testa3618c0c486e6fe3f52a06f2371c8193c0a0b86e2e9ac903fd98268598ed9052() + { + $this->assertTrue(true); + fn() => ($test ? $test : empty($test)); + } + function testab5e41b22a4170c9a9466f3ef4bf66d497bb7ed5e8f063cab258bb9ce2f042cf() + { + $this->assertTrue(true); + fn() => ($test ? 'test' : $test); + } + function testac6dc2f185e1b69f3b43cdbde4a86f5f51a7cf3b06c39ad71538b7348d4c31a1() + { + $this->assertTrue(true); + fn() => ($test ? 0.0 : $test); + } + function testb483bddb8d7336bd1ee23a857c78acb836b3b8426ea92201eeb674a1022564f1() + { + $this->assertTrue(true); + fn() => ($test ? __FUNCTION__ : $test); + } + function testb59863785b12a4605db778ae0a178b961571eff088de2560c893ee536659cad3() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test ??= $test)); + } + function testb68f0126cc2f55a8300c2280530c2b196e5a678cbac817177bb9e852a2be2cff() + { + $this->assertTrue(true); + fn() => ($test ? __TRAIT__ : $test); + } + function testb90cbf1f86a5d30105b4dbc5f8d4eca58f836c5431bc43fe86c34e3a40e6f69f() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test << $test); + } + function testba1fbe9f9f6b4797f363b1a28676dcde7fdc874a84b30caf35986375704c8e8e() + { + $this->assertTrue(true); + fn() => ($test ? $test : +$test); + } + function testbe488f7b1aa61229a5ca349ec570cc60092fda4f444234cc7bff8f98bd9124c4() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test !== $test); + } + function testbfefbd735eeba21e4cd2f6d8f6cd5babc08f758d37af6d249f32688e2d89c95b() + { + $this->assertTrue(true); + fn() => ($test ? (string) $test : $test); + } + function testc060591c1490b50b45b7d1bfea56a05acd65b975951d956e0530e126a7555287() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test > $test); + } + function testc2880c8961d977624f85d21a14b0b0456ac047b1754fc8e0ec8081dc801375ab() + { + $this->assertTrue(true); + fn() => ($test ? $test : "{$test}"); + } + function testc452db807912ecdb0e6a0198d7398edca07b10b268def748047a7d2af3995fe8() + { + $this->assertTrue(true); + fn() => ($test ? $test : (yield from $test)); + } + function testc574b255efca8bdf63a2172b94321c11d78151ed2de63f21002e90522bd847d6() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test <=> $test); + } + function testc903af2a8d40fd4fe2dde1f74b9f430450249f0b9de41e02ebbf01fbcb3e8d1f() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test % $test); + } + function testcb775d69e388fcf0651b26da57b825b53178aacd554cffb9e4bc630edf7b506b() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test == $test); + } + function testcb85c8cbc35c2bdee75f16e8423bc0d86b8d1e665617c68c9fcfdffa4d2e52d4() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test <<= $test)); + } + function testcc2b58272048e539e01c4c705e2a85df573292fa7b7de79fee2692d3d48c4a10() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test->{$test}); + } + function testce906450c5e0b3c87f146fd6b48de693b3e4bd8534339e5d25079cec9f3a3cd9() + { + $this->assertTrue(true); + fn() => ($test ? $test : eval($test)); + } + function testd069df60cc4f083d34bbee673c446d852ca7884b5cd73c1ee01ae4fe21dc2842() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test .= $test)); + } + function testd36bc51020f1d8c5726168bf2b62300e84b731c4edf61ed2cfb8047c66947444() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test >= $test); + } + function testd4806971dd418a881c4b5c3b3b08ec7995298227c9d330a5302657b71753a440() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test *= $test)); + } + function testdae21cff39f56f7e55e0cc9e277270ab7fb2747bc18476cf7a3d33afc591b886() + { + $this->assertTrue(true); + fn() => ($test ? $test : ($test **= $test)); + } + function testdb7f215ca3f6be1fe48521564066cdf50c561bfaf98d90b51597b6857e77c5ba() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test instanceof $test); + } + function testdb9efc80ced02da437d820b0b59a96e780e9af641ab90ee20529359a36609065() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test ^ $test); + } + function testde7f9806b31ec930912103fe99827cf7636920eb4c27bea85d6a61237434726e() + { + $this->assertTrue(true); + fn() => ($test ? "{$test}" : $test); + } + function testdfdf9be18dbcf8040d5e24f6b06cc8f802ac3acaad462aadd5cf42b7d78a96bf() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test - $test); + } + function teste0897d7bfb7808c6b59ebca0d4d09d965d6e3b0734edd26a581ffa3d01e22c38() + { + $this->assertTrue(true); + fn() => ($test ? $test : ${$test}); + } + function teste385ac337d6b046302ce124409d9ecfb8b7e13e6e94abb98b3f251e90239bb01() + { + $this->assertTrue(true); + fn() => ($test ? __METHOD__ : $test); + } + function teste5077a1f386653b627bada665ec5eaf2b4e4e98e73d45db2a756f19aa5c95597() + { + $this->assertTrue(true); + fn() => ($test ? $test : !$test); + } + function teste633db81cc33accad8e2eee593593d0954c899bfcc19d6f68bab3fee6f37020a() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test >> $test); + } + function testeaca6d43970432f96aeb324fe40e2bc9c2fae04c45fe15c43ba224c4dfc26ea6() + { + $this->assertTrue(true); + fn() => ($test ? $test : (object) $test); + } + function testebd4df103a62d54559bc41e4e51133398c79b8f57456547cc6ea105c2643e911() + { + $this->assertTrue(true); + fn() => ($test ? $test : ++$test); + } + function testebd7ae31feca64f4490d5f5508ed9e5196f6585b6fd93c1bbdf4f7f47e75c525() + { + $this->assertTrue(true); + fn() => ($test ? $test : ( $test)); + } + function testecb7d817e9af0fb83417ae75030389bf1cddee89af05e3e7f478a4b909560532() + { + $this->assertTrue(true); + fn() => ($test ? $test : (int) $test); + } + function testee7bab7b9da1489a7a408caf5ce52c1051129ee4ea91a8b7d24765c72f2f7dbc() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test); + } + function testeebf78da2733911f1a988c51a083adbdf46d97ae4dd321b50200219d95bce0ac() + { + $this->assertTrue(true); + fn() => ($test ? $test : (string) $test); + } + function testef7fe4e30c0de8552916662e5770e87eb157b095eeef802f030fc4b02e782591() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test && $test); + } + function testf48b77a1dbb623af5fe0576225893e548ceafa691ddcdb97295f22d55c2a86d0() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test ?? $test); + } + function testf9aa5585334931003bdfea4e421eb1975dcb27f9b1dae4784f34aa2f6a36fa4c() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test * $test); + } + function testfaf3ae4a7c1d77a05e4070de6ca3f5ab43fff29c91cd871cdf84ac0850a4c0be() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test + $test); + } + function testfd63f559577d6d17da73e0656c77bb0ec224507a9952414abbc1020c831953ab() + { + $this->assertTrue(true); + fn() => ($test ? $test : (print $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test.php b/testsGenerated/Target/Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test.php new file mode 100644 index 000000000..d34518d6e --- /dev/null +++ b/testsGenerated/Target/Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressione9c33ff6781ef30d49e145d973e0798647e3d24e9aeacc55d3cb423ab6b78022Test extends TestCase +{ + function test01d3daa1144fd50e5982341826e5454e7ec93d60e57c1cd7c9c041e446b3176d() + { + $this->assertTrue(true); + fn() => (0 % $test); + } + function test02185103da7733ef9f12e687c335be39432d984f4b15a10170a968732dd0acc6() + { + $this->assertTrue(true); + fn() => (__CLASS__ % $test); + } + function test021adf798b46a15b0c73550f24b1e4644db4808c400f2c7e7d338b03d810013e() + { + $this->assertTrue(true); + fn() => (__TRAIT__ % $test); + } + function test03968100f58997573598ff850abc9054093a4932b0ddb36f43872a0da26cee36() + { + $this->assertTrue(true); + fn() => ($test % ($test * $test)); + } + function test0905cae58a27ed51f50bce8b3e4aed8e049f5f59a79169ab288561c6f5456a5b() + { + $this->assertTrue(true); + fn() => ($test % $test::${$test}); + } + function test0af1151d0ba2f1896962f8f01259685f78c6786b83beb050cd64c86652d94272() + { + $this->assertTrue(true); + fn() => ($test % ($test & $test)); + } + function test0c969753fcdf9252cca153648025321d047f37eae7d0614b0455a95799935677() + { + $this->assertTrue(true); + fn() => ((bool) $test % $test); + } + function test0ca9ef5564266d673105be2f404c85f8821f68d7af470d71b5915330da0458ea() + { + $this->assertTrue(true); + fn() => ($test % ($test and $test)); + } + function test1533a7af192d3064c7b2dbf672084dcf8890d1489b1eae968a85f531131ff19a() + { + $this->assertTrue(true); + fn() => ($test % (print $test)); + } + function test21ff82d134b82b535b3f968c9ecd22f01d7873febe28b66f71d9ec957e80264d() + { + $this->assertTrue(true); + fn() => ($test % --$test); + } + function test22936fd965790e2fcecfd917fc42e3bc743b1db84bdf09cbdde0e83b4c44268a() + { + $this->assertTrue(true); + fn() => ($test % ($test -= $test)); + } + function test252d56eedd9c00c7e19948a24ebe5a9f0339c414209ab7e6d825003253bc629a() + { + $this->assertTrue(true); + fn() => ($test % $test->{$test}()); + } + function test27117c7f1e49dc8b622e2bdd75f4470acdf46fad2a7787f0baf67ccb3f8dd4fa() + { + $this->assertTrue(true); + fn() => ($test % ($test &= $test)); + } + function test2ad9ea1ca00a8fead17d0fe6e4fd356f82ef7fd338eb511a53e372424a3e43d3() + { + $this->assertTrue(true); + fn() => ($test % ($test >= $test)); + } + function test2d79259ea5513831960009f75b79b57875878937642a37b4e0cd38a504dbecf8() + { + $this->assertTrue(true); + fn() => ($test % ($test <=> $test)); + } + function test2f86fd725df843c3316e66a45abd125375f943c7b06e0312e2aedb8bf50d15d5() + { + $this->assertTrue(true); + fn() => ($test % @$test); + } + function test2fdbd361ef5ad138594b755f71164d4e988fa79ad5d2641c429183823f217bea() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ % $test); + } + function test31c669814fabe67e04c970720d805b5fa58299c60c1cfd165f1da216aabcdbca() + { + $this->assertTrue(true); + fn() => ($test % ($test %= $test)); + } + function test352f683eed0868d0c3efd989b6cda3f56b13013b249c5745ed29951338522f1d() + { + $this->assertTrue(true); + fn() => ($test % ($test ^= $test)); + } + function test365d99378bf12f6c79682c2266afd0381da7ea8fbacb6b5310aef3da88a0668a() + { + $this->assertTrue(true); + fn() => ((double) $test % $test); + } + function test36671ae094b5022574cc0a202bdb5142999b5356ec5ed4cba9ddaf41477d75e3() + { + $this->assertTrue(true); + fn() => ($test % ($test < $test)); + } + function test3691feec8c3f53222e027f896e2a2c4bc6450f4069655adae577d93c47661248() + { + $this->assertTrue(true); + fn() => ("{$test}" % $test); + } + function test36b2cfe772c298fd9d7e4b5c3e62d0ef9cbcf761ec56c765acde8718f4b27528() + { + $this->assertTrue(true); + fn() => ($test % -$test); + } + function test3a36f12708fafd0ade3da02bd42dfc9c8906108158fad9cbd50e22b8cb335ee5() + { + $this->assertTrue(true); + fn() => ('test' % $test); + } + function test3a77fb5562b4843a23c97a1b31457646bc95265b09345a221ae3d93d264494fe() + { + $this->assertTrue(true); + fn() => ($test % new $test()); + } + function test3b170f2e5b15aab07ac49b9c74c71ce487ee40baacaa7e7b43fc1b309fbc9fb6() + { + $this->assertTrue(true); + fn() => ($test % (array) $test); + } + function test416f3a5a3c41efcade532e4286696ef477052d75c2d4162a4f43f649b3b3dbc7() + { + $this->assertTrue(true); + fn() => ($test % match ($test) { + }); + } + function test43a54632ff78cf86a0f7e4ccdeb87c1c26ae5c454e3fca4626eb9d9dd54a0581() + { + $this->assertTrue(true); + fn() => ($test % ${$test}); + } + function test445d470fc63f3bd95ed5f3873d4f5eff07c8f9e206899e8e9e2a71cd8137035a() + { + $this->assertTrue(true); + fn() => ($test % isset($test)); + } + function test44612b24281a1f3e8211c75026644697a5f5f0f6d912dcef934040bba552eb1f() + { + $this->assertTrue(true); + fn() => ($test % (int) $test); + } + function test45c71b10519748e7cb3500d86c2ba7f0c1849f4446199eed86dc5bbffe9e8552() + { + $this->assertTrue(true); + fn() => ($test % ($test += $test)); + } + function test46d8a2f385400f412f58566c70d823ca169dca866169dd76d88e3aea7698c915() + { + $this->assertTrue(true); + fn() => ($test % $test()); + } + function test4a1149fcd2fc126b30a3f09f06f14d2d7d494078a964714e5c2d8bf26b56392f() + { + $this->assertTrue(true); + fn() => ($test % $test::$test); + } + function test4ba20d6f386216aa7e7561aa3617f8bf54c2f03206795e0e70da90f0ac2c5f72() + { + $this->assertTrue(true); + fn() => (0.0 % $test); + } + function test4ce554fbab0257cff6744b0ee2371ba2ee6ad18c6e1814b603faa61b113a29ed() + { + $this->assertTrue(true); + fn() => ($test % ($test >> $test)); + } + function test4eef64f08e2e442d868321e3690d64e16573211c2f17074fbb93831edd2757f3() + { + $this->assertTrue(true); + fn() => ($test % ($test xor $test)); + } + function test4f2e9440cbd4f3a939ac235cc1d2f44d520fc8a949663963b7e8f1dbb5aaa12f() + { + $this->assertTrue(true); + fn() => ($test % ($test && $test)); + } + function test524b10f3a88a5024c514fa3270315b8df81f90f019edde9fa64fa1480d7bbc12() + { + $this->assertTrue(true); + fn() => ($test % $test--); + } + function test5397a2f1feefd73015525bab22bffd9bd4a0052cc11e40388dac2a87874a34ec() + { + $this->assertTrue(true); + fn() => ($test % $test?->{$test}); + } + function test56757a09b474922e9e55d42ef97d25b5135dc6758378e1b0595fb8fe0c16e03c() + { + $this->assertTrue(true); + fn() => ($test % ($test - $test)); + } + function test5e829b3a40dd7434dbd1481927ecdb10495a9333871bfb6bdb05ad04c1ae9200() + { + $this->assertTrue(true); + fn() => ($test % ++$test); + } + function test5f647910298f8d74637217cb45bed5e6cc7916be49f1f1fd27754a3b78bc588c() + { + $this->assertTrue(true); + fn() => ($test % self); + } + function test60abc19e4fc39f9e9a2f5ecccba6e8537a7498c0a812dd3bf367687aea52c11e() + { + $this->assertTrue(true); + fn() => ($test % (yield $test => $test)); + } + function test64d608da559c39d32d44c74e625d978e7c5ede9cf2dfcb4fdf81701a6341cee8() + { + $this->assertTrue(true); + fn() => ((int) $test % $test); + } + function test654ec3bb36e100c4dc9adaab598bed022529bddd8d274635ea08815f2dbd70e6() + { + $this->assertTrue(true); + fn() => ($test % ($test >>= $test)); + } + function test6780abe3ff83c6412a4470280a8e525fa17fe6dab5d482b43e600d9e8e8461ea() + { + $this->assertTrue(true); + fn() => ($test % ($test ^ $test)); + } + function test6ad427b4cd7890e10c84aca221d355a072e4d1fedbebe6ec42058c65a01f71f4() + { + $this->assertTrue(true); + fn() => ($test % []); + } + function test6d7862152d8208e8e7b7179a63d8ff3e9cd8c696bd9b38d0bbbcb3e4025e81ad() + { + $this->assertTrue(true); + fn() => ($test % (yield from $test)); + } + function test6f02fc59b0677e966df3c2aa28609030f4cb3f778fe94377627cfc9b410138ee() + { + $this->assertTrue(true); + fn() => (__METHOD__ % $test); + } + function test70de077019d5e2bbe2e0f92921a8a30f07e2e618e47d7d20c3cfbba4986e4955() + { + $this->assertTrue(true); + fn() => ($test % ($test /= $test)); + } + function test747163eae1eb0ff06ed6de04e192a4f94523de824be472d11621a405d93e93a6() + { + $this->assertTrue(true); + fn() => ($test % +$test); + } + function test74f6b3ebbd9a1c6634401de0d5b7d0854981ec77aaeb324209c92e8cadfc7763() + { + $this->assertTrue(true); + fn() => ($test % ($test !== $test)); + } + function test75b08bb3a8e7af34b4c8ad2015fbcac80a2139da8ebbc1db194b16ba60f82e46() + { + $this->assertTrue(true); + fn() => ($test % ($test <<= $test)); + } + function test76a28ba0c335b4fdc4dca35ed1adfd22edf82686600399adfbb5525c37a065da() + { + $this->assertTrue(true); + fn() => ($test % ($test = $test)); + } + function test78e1ab514494a7a85bb11a7d2fc3fa10d36e268b9bf3b16dbbdc29fea6d6a4f5() + { + $this->assertTrue(true); + fn() => ($test % ($test % $test)); + } + function test79639c311674f835d8ebc60a7cc68472c987f4eb840ef12c1a6768c21f7828d0() + { + $this->assertTrue(true); + fn() => ($test % empty($test)); + } + function test7b7a74d054f334aceb1b7a723c306ffcd27fe24c0de84049b20586b702d35727() + { + $this->assertTrue(true); + fn() => ($test % ($test != $test)); + } + function test7b88b24a4dc4d7b26024dd0b1af1e2ff6117584f9d1d5ae8ad4928d7af6e624c() + { + $this->assertTrue(true); + fn() => ($test % ( $test)); + } + function test7ea3dc162a2b7766b7bad6e9b5e4533c1bfc6893a05f755877c4c584fe4a5e25() + { + $this->assertTrue(true); + fn() => ($test % ($test | $test)); + } + function test8ccabdc4e290aa992efa8708f878d2f2e2b4cc3240102b8dda577f1f4fa7b4bb() + { + $this->assertTrue(true); + fn() => ($test % $test::$test()); + } + function test8de05b3770947a8c881de81fec28a3db84e3d67e88e04ed38dba253b40f51a9f() + { + $this->assertTrue(true); + fn() => ($test % $test); + } + function test8ed9c8e8cb4393bca6350706d4ac06ac292dedef2f5ee63c5ca1f38ba48cf89b() + { + $this->assertTrue(true); + fn() => ($test % $test?->{$test}()); + } + function test8fffebc1cea57dfe03c4aec701c7c02d274d93995e10238d207f02bf744bf686() + { + $this->assertTrue(true); + fn() => ((string) $test % $test); + } + function test91645899fd3a83f2bc325e16d3e28d6463bb19abe89989451030025ba4f63d64() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ % $test); + } + function test91b4ae55cf0e6c9e5f7cf557a27ec4f7037d06add952611736cf6731916cfae1() + { + $this->assertTrue(true); + fn() => ($test % eval($test)); + } + function test92e0ee42a636de9d7c7e01261867befeabe03e76a4b9148a1072a66ba9b21d87() + { + $this->assertTrue(true); + fn() => ($test % $test->{$test}); + } + function test94303c8fe2b8acdfc77cba9d19b3768ebf52f141c222f2155af72a16d5671623() + { + $this->assertTrue(true); + fn() => ($test % ($test || $test)); + } + function test950be76465d7c02d0e1717d8bac52d6508c41fcd9d2983f7689f057ece0e523f() + { + $this->assertTrue(true); + fn() => ($test % ``); + } + function test97d662631095dffcbab73b0d5d61d27699008cb8fd11f659d2316c75b78b2d41() + { + $this->assertTrue(true); + fn() => (__LINE__ % $test); + } + function test9c2645dfb228e33fc1618a1b9188b87e1a07114773e292d2caf31a79b2ee326f() + { + $this->assertTrue(true); + fn() => ($test % ($test |= $test)); + } + function test9cbed91fa691caa4d6f18eeebeb9b2f03b6a88350fc1e7b9fbcbdb204607db83() + { + $this->assertTrue(true); + fn() => ($test % function () { + }); + } + function testa0b371b0342cc29181462a76e472b7fb2ad01714aafee390079a51831fd41a64() + { + $this->assertTrue(true); + fn() => ($test % throw $test); + } + function testa17dbc8e97f55666cba32f61a421744f68f9aa10dd3fc122c8cbcbabd2cc99d1() + { + $this->assertTrue(true); + fn() => ($test % ~$test); + } + function testa18b7f7b9eb5bc4230e1a1ae5a8bd65e3d8928ce8f08a80a4e3648751536a0c9() + { + $this->assertTrue(true); + fn() => ($test % ($test == $test)); + } + function testa98971494f61b647e03b36333902a727963e939a3f959e3b81562716fd152aac() + { + $this->assertTrue(true); + fn() => ($test % ($test .= $test)); + } + function testad3edcb4d797987e6b091cc73d0008123480ea7fd101f477d74aa03d6fd57e30() + { + $this->assertTrue(true); + fn() => ($test % ($test =& $test)); + } + function testae941ec0b0c5b9c9b5a704bd4a9b4e905e0ebc49eb9733190f8d3f112bdeee17() + { + $this->assertTrue(true); + fn() => ($test % ($test > $test)); + } + function testb2b6dd540f682faeb813734dcfb7307dc9cf6a0489baf98328b51a81417f7ae7() + { + $this->assertTrue(true); + fn() => ($test % ($test << $test)); + } + function testb38b1c985d63f02a6373211e767e16e45693097d68f584805ad92cbaf7379585() + { + $this->assertTrue(true); + fn() => ($test % clone $test); + } + function testb5d0e503c1eefb0ddc73c61f2d000abcd4a98aa56b87803ea13a1320e4c46e46() + { + $this->assertTrue(true); + fn() => ($test % $test[$test]); + } + function testb66fc3e92b54c5861712c75fe9edabb927ed5c3c8b80fb575e4c57e570f3faf6() + { + $this->assertTrue(true); + fn() => ($test % $test instanceof $test); + } + function testb6b98a6bc4a90b84ed36927fa585ce1adc5e31baf86fbcffc3ec773d27f4cc03() + { + $this->assertTrue(true); + fn() => ($test % ($test / $test)); + } + function testc56f144afb906dd9b9473ab068ea95e794a9bb2a0102c060b0c4c56164c31d57() + { + $this->assertTrue(true); + fn() => ($test % ($test **= $test)); + } + function testc7a16ed9fd112b45cdb969a5d11baecc2d311ad48b5dcb0f1705cf15d0bac70d() + { + $this->assertTrue(true); + fn() => ($test % ($test . $test)); + } + function testcb69ca46018b813625639553c88810b90488b5337b1b5c22504c4b703e59cf9c() + { + $this->assertTrue(true); + fn() => ($test % ($test or $test)); + } + function testce27e15145664817d4cbf330b4610fee86ce52bd10db346f7b103168ac9a1fce() + { + $this->assertTrue(true); + fn() => ($test % ($test *= $test)); + } + function testd11c98f992321b2d24b0ac43ff4ab4afaef736b8e1b4cb7fb1882ecfe0941b8d() + { + $this->assertTrue(true); + fn() => ($test % ($test ?? $test)); + } + function testd352fa34adbc459b54ec93d86cf2de1845efa55128c0c6a414675bc517489437() + { + $this->assertTrue(true); + fn() => ($test % ($test <= $test)); + } + function testd549b4c1af6ff8fba651af33e4cc905178edefbbca10c788cd992085759056d7() + { + $this->assertTrue(true); + fn() => ($test % $test ** $test); + } + function testdab4d39210b4c5cd4c43f9e834c2320d76df5a5c91b92b345d7f8254e0dc5f52() + { + $this->assertTrue(true); + fn() => ($test % ($test + $test)); + } + function testdb9bc096fa5340c2bd44f797ef57a8fa99f930076f43ceb30e6669bcc08d9df5() + { + $this->assertTrue(true); + fn() => ((object) $test % $test); + } + function testde4a4ef451d1f1641b3f82bd77e2e831b71a34d2342fb9239b49dc9a20e83abc() + { + $this->assertTrue(true); + fn() => (__DIR__ % $test); + } + function teste8ac50df672de13add6ffb3884db67a1a502042b45fa0567cf696182c58e2229() + { + $this->assertTrue(true); + fn() => ($test % (double) $test); + } + function teste9ac56f27462a8c87c629523eddb43624fab7903ad149f2cea1a924306204059() + { + $this->assertTrue(true); + fn() => (__FILE__ % $test); + } + function testef9a24b7e8431628300190626215778984dacc43f668f586961f04fba046dd29() + { + $this->assertTrue(true); + fn() => ($test % ($test ? $test : $test)); + } + function testf1fb8322c4eaaabe59ffbba43a888b7e3465f6762b48f0deb7e578cc6312e340() + { + $this->assertTrue(true); + fn() => ($test % ($test === $test)); + } + function testf4e09e25f65949138f03d0c4b67362ae0ea3d52506244e27d026cefe100393bf() + { + $this->assertTrue(true); + fn() => ($test % $test++); + } + function testf50ff1cbbd7e2e49bab598773d2960aedfecccf904d0b934087b06d3febb5dc3() + { + $this->assertTrue(true); + fn() => ($test % !$test); + } + function testf5cd44764769a11823502287bd217de1f9820b187d1eabef99e19d425bccaf23() + { + $this->assertTrue(true); + fn() => ($test % ($test ??= $test)); + } + function testfc46d371bffa948b6829283b1e9c6dc8111639b720d5df96c4e020f6877be3c3() + { + $this->assertTrue(true); + fn() => ($test % (bool) $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest.php b/testsGenerated/Target/Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest.php new file mode 100644 index 000000000..aed5d2812 --- /dev/null +++ b/testsGenerated/Target/Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest.php @@ -0,0 +1,515 @@ + + * @license MIT + */ +class Expressioneda7f4e33048e3b3bf98e368cfcc4c7ccf25432ef9492d669c234f0bd5f87a5aTest extends TestCase +{ + function test0162bf7c9d8cc82a783cc5fb3c56fb3d4edde414ab98f6b46014e32e78b04f11() + { + $this->assertTrue(true); + fn() => ($test % $test << $test); + } + function test04c5804f83f9f5a4b460897005fa2090163518f616537538f54d45ffde0e45ce() + { + $this->assertTrue(true); + fn() => (($test .= $test) << $test); + } + function test0c0992d12931952c8cd23f639d4130cb631376dfc0f5ec7c488416dd7bfbc502() + { + $this->assertTrue(true); + fn() => (($test <=> $test) << $test); + } + function test0f900da5d6df13ab1806eb4465b8246d1084ea22be538864ac3030055e03f261() + { + $this->assertTrue(true); + fn() => ($test << empty($test)); + } + function test1118aa3cde025ed08e078cbf9e8a80b733e96ded1e9e865a20bd0587b5ccdd6d() + { + $this->assertTrue(true); + fn() => ($test << self); + } + function test12dcf197e93d6a10d406b03f6fa49798cf9b394c44daf654085f7c377761abbe() + { + $this->assertTrue(true); + fn() => ($test << match ($test) { + }); + } + function test1497fee76ce59ded545c1aff1b1c673630fe6041f3757610c32d2c5493c3e705() + { + $this->assertTrue(true); + fn() => ($test << ($test = $test)); + } + function test157b5e095c4b58163ac5dce88b517ef3ee0897bc7958d4c9f22913c64cb63a01() + { + $this->assertTrue(true); + fn() => ($test << eval($test)); + } + function test19a7dfc43e904ced6bd2d72072dca4f3c3eb6eae8aaf4cda63580c4efdf95cfc() + { + $this->assertTrue(true); + fn() => (($test || $test) << $test); + } + function test1b420ca8649e14ac91942b811ea97c8faf5f7d4a376822b88a0fcf77caa22ecb() + { + $this->assertTrue(true); + fn() => (($test ^ $test) << $test); + } + function test1bd5af95f5db59ff086663723716560d84699cfd993f07afa12413faf08c1195() + { + $this->assertTrue(true); + fn() => ($test << ($test =& $test)); + } + function test1c510b9268c723ffa79e1b4fc8f1cb67b4c43f9f104d3212f7ace0fe66410c07() + { + $this->assertTrue(true); + fn() => ('test' << $test); + } + function test1f4dab7c2cf03c4309192fb66887c378c2b3246305af0c2cfb8bcf46f7b6eea1() + { + $this->assertTrue(true); + fn() => (0 << $test); + } + function test24960d94819100b36e1266c2764dea532229a2cf6d4a5f2c7d610a6632dbee11() + { + $this->assertTrue(true); + fn() => (($test & $test) << $test); + } + function test253b84736838c6867119892341a97082a4620d4c44954d2d23056d07f2cf398e() + { + $this->assertTrue(true); + fn() => ($test->{$test} << $test); + } + function test297c278f0abfa010c16b13af63a2db2917d944731e99b5c2f199eaca94dbc7ac() + { + $this->assertTrue(true); + fn() => (($test < $test) << $test); + } + function test2c99df0d2a8b827c2fff6d3d51354e85861d5c8b09f99d4a4570bbc386bea4c9() + { + $this->assertTrue(true); + fn() => ($test << clone $test); + } + function test2cd7c45fdb977085db9e188d41e177a42be2aba200ef26f2ef39b2e0cbe8c238() + { + $this->assertTrue(true); + fn() => ((print $test) << $test); + } + function test2d0075301dee5e8e9ecce1730f18dd3ce8431d3ff0cd3991ffe6d369a3a57f22() + { + $this->assertTrue(true); + fn() => ($test << ~$test); + } + function test2edeb20f9b6d76d14facbd199721a47d6b97d38912ceacb1ae8a95cbe00ab396() + { + $this->assertTrue(true); + fn() => ((yield from $test) << $test); + } + function test2fc5b7cca15730bf88cd38cd510a27d77f61401c37fe0a9d023841de4ed4670b() + { + $this->assertTrue(true); + fn() => ((array) $test << $test); + } + function test342280d9b223756a4ec1210ce9066d09a054c385f5dcebf1fdb2bc27dab650c3() + { + $this->assertTrue(true); + fn() => (($test >>= $test) << $test); + } + function test350a4f70530ea9395f40634a3bc7ed92d0e5a522ef65f0435d4a9bcd1ca57610() + { + $this->assertTrue(true); + fn() => (--$test << $test); + } + function test37edf895b33401aa15f05f785599bcd01a6479c8f09eb8bedc53c982ba5bd3ad() + { + $this->assertTrue(true); + fn() => (0.0 << $test); + } + function test383bd2b2bfd61ed8c876edb4b59078c86eaa8929408ea81e20ad687262e5a36c() + { + $this->assertTrue(true); + fn() => (($test -= $test) << $test); + } + function test3bf5b33edd34d7b5ce4362e5f1550a4331f873094faecc151f2db15912384c0a() + { + $this->assertTrue(true); + fn() => (($test or $test) << $test); + } + function test3f9e78e5994c68dc198c0a8ea51ebc3d46ea30ddccb32f1ed12c3f55cb325061() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) << $test); + } + function test449edd5ab70ae6604a1d4ed1d3294b10ed52e736fdde2c796aa01323bd9bd431() + { + $this->assertTrue(true); + fn() => (__DIR__ << $test); + } + function test469dc2c34b259e665dba6052d2f01aeee9c2655dcb61eb875978304fb3d8fe6a() + { + $this->assertTrue(true); + fn() => (($test && $test) << $test); + } + function test4818ce4f2ab7646eacc02756f0a62b85fa9a2f8661d527932be689b8246f7459() + { + $this->assertTrue(true); + fn() => (${$test} << $test); + } + function test4995e49b970bd67efcf4f3746d51e5515e74af3c9c9aafccd306679b64a685f5() + { + $this->assertTrue(true); + fn() => ($test * $test << $test); + } + function test4d5331cc9b02b44645620788cdddb8a222877df772e0249bdeb29beaf862b274() + { + $this->assertTrue(true); + fn() => ((int) $test << $test); + } + function test4e92b4f1a9873eea430925c58b9f4483ee4f937b4ab3fee42deb1fe8cbb7c72a() + { + $this->assertTrue(true); + fn() => ($test << $test()); + } + function test4ecbffb5142d527dd2d485a6b682fdee0a801a7a52184aad9419ab333868f704() + { + $this->assertTrue(true); + fn() => (($test += $test) << $test); + } + function test527690d98b7af13ed9ca698feecdba2f1ce950867566ab92994cade38101c384() + { + $this->assertTrue(true); + fn() => ($test->{$test}() << $test); + } + function test527d5271ebafcaeb372adee0342d22a9981038cd648ad504c66d26280581e1d4() + { + $this->assertTrue(true); + fn() => ($test?->{$test} << $test); + } + function test55c07da395b280c4d836af2e0b31289cd326f0dff09b6e5ce154489e114fa6d2() + { + $this->assertTrue(true); + fn() => (match ($test) { + } << $test); + } + function test57db417ab2f9bdec59cb2604bc80618f9dce558f0d551b43344f3c357f3e16cd() + { + $this->assertTrue(true); + fn() => (($test <<= $test) << $test); + } + function test592edc4d7cfeaad62ec21743afacc3b56e452da86ee6f9591a38aeb33f48243c() + { + $this->assertTrue(true); + fn() => ($test << function () { + }); + } + function test5bbdd8d635079bf103df27d11d1ae3d3ed18cad7296e6865e889ee465f06459f() + { + $this->assertTrue(true); + fn() => (($test == $test) << $test); + } + function test5e23e69320c3fce1d15916bf88344de2becc7d2b64f5c4e79df3f01061b4ffa6() + { + $this->assertTrue(true); + fn() => (isset($test) << $test); + } + function test5e2efef5a63875957845f7b9c00e2b974d55c41918ea4af5f015e9af47b6d8b3() + { + $this->assertTrue(true); + fn() => (($test ??= $test) << $test); + } + function test640dd32ece88f3b87ab9d1ce0fe3ae42f6cd9dcffde7b4db258d65aeb5b30bba() + { + $this->assertTrue(true); + fn() => ($test << ( $test)); + } + function test67403bd6d92675476ae146ab165d392b8b61d87adeb5bf28f0849406484ef52e() + { + $this->assertTrue(true); + fn() => (($test > $test) << $test); + } + function test685d96640d526c5a1b87dc7525c4cfa49c32a11cb4b65fc473aa2143346190a8() + { + $this->assertTrue(true); + fn() => ($test << @$test); + } + function test686230d11a8dd2ab418edc9f0c2a1ec08bf95807a1a97f3b4638d3ce6085f9bb() + { + $this->assertTrue(true); + fn() => ($test >> $test << $test); + } + function test74550a2adb050a658209208c2991a424a49aa1bdd2362bb918642ecf6841541a() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ << $test); + } + function test74db7ff14eac95d14afae20a97f47dc674949368750e3a816cfeff430771eab8() + { + $this->assertTrue(true); + fn() => ($test::${$test} << $test); + } + function test77777a3d40a4d53b0d9b4fc8fe8c5f76d7892b51bda00fd77abd462e4c892bbf() + { + $this->assertTrue(true); + fn() => ($test ** $test << $test); + } + function test782399e4847f9398d42bf5d14043470d6f75e34e95bd1a8beccab53b9d0c19a3() + { + $this->assertTrue(true); + fn() => (($test !== $test) << $test); + } + function test788db3f0bb1d1653a6e511add15034734ef1f2478f74f0e29fafb20f97f16dcf() + { + $this->assertTrue(true); + fn() => ($test::$test() << $test); + } + function test79694305972d8ddc051c5e0ba8ab169f3fee06fe98f79dcb8854fdacea3158b5() + { + $this->assertTrue(true); + fn() => ($test + $test << $test); + } + function test7ab380dca21aa4dc3bdfd7ff056a38dc0e26946aa8e30ff8f6888c629d19644a() + { + $this->assertTrue(true); + fn() => (__CLASS__ << $test); + } + function test7d3adde537ea28ae491bab4e800295edcb9f44cde54b42591c039b5bf853813f() + { + $this->assertTrue(true); + fn() => ($test << !$test); + } + function test854bf72bd05bdf459791359cae9fc86878b6ca1497093d017725cecb4d503b88() + { + $this->assertTrue(true); + fn() => ($test++ << $test); + } + function test874e186c388f268bbead6bd4e02f47c59efc92f92d6e330771bcf25208417cab() + { + $this->assertTrue(true); + fn() => (throw $test << $test); + } + function test89c7571beebcd56716a7fff9e13fa1fe7a45f9ce7e2d417922e11b1c02a4bd75() + { + $this->assertTrue(true); + fn() => (($test &= $test) << $test); + } + function test8d7a0ea13256835e59e38fe6ff8a7dc23240b98528b377b1bd8a288ea2ae5611() + { + $this->assertTrue(true); + fn() => (new $test() << $test); + } + function test927562b4e1aef601dc83b745ee22828bf97fd3f348efa52d61efcd207a5a4356() + { + $this->assertTrue(true); + fn() => ($test . $test << $test); + } + function test931e26f836ddbeae72d35deb5657129b570822ae1d3db3d9f61f22203ae27cda() + { + $this->assertTrue(true); + fn() => (($test != $test) << $test); + } + function test94b045a175319218e8f439783eb4b7fa3d5facf2c29dccb2f1bdd1fdcca2d884() + { + $this->assertTrue(true); + fn() => ($test << isset($test)); + } + function test95cea6e587d1e766146461e51a765327c579ba2eabf5bfa82233a11ac7e5d91d() + { + $this->assertTrue(true); + fn() => ($test << []); + } + function test995f84eecea57e558020f118511717257bbc501d9866d2a4aa6f362b745f19f3() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ << $test); + } + function test9cc7bb5390d62845e31e8f72dea9e1ec56c024910741a7c2d4ba659ef1f860f8() + { + $this->assertTrue(true); + fn() => ($test << $test << $test); + } + function test9ebc50dedf96f452afbcce4724514bf1d24657e7e255707dca2f460870a13b99() + { + $this->assertTrue(true); + fn() => (($test xor $test) << $test); + } + function testa3800393e64aadc5404db58664ceaa84f63ba84c3e923a0fd1c9caaae3ba1d04() + { + $this->assertTrue(true); + fn() => ($test - $test << $test); + } + function testa4127de9e953128e7f74d23ceeb7601c8ad4a6e4a88626708874b1245ba14a7d() + { + $this->assertTrue(true); + fn() => ((double) $test << $test); + } + function testa506ac7fdcef7cfe57a533512935fd90c8c5ab43d0b8286a66e4f63051ece77e() + { + $this->assertTrue(true); + fn() => ("{$test}" << $test); + } + function testab59dc3de03188e237b4f3cd1ad4ebe2a341b04920f95d12a18c13596e2ea2f1() + { + $this->assertTrue(true); + fn() => (($test === $test) << $test); + } + function testadb36386dabad37dc7c55bde734cae8b31ce20c5f0bccd0beabb6006eeb16763() + { + $this->assertTrue(true); + fn() => (`` << $test); + } + function testaf3d15e623855b861d08c3f7aa9ef88d314f96c74087150eef585817214244eb() + { + $this->assertTrue(true); + fn() => (($test ?? $test) << $test); + } + function testb0a4804af187a9c6a0a31d8a8fbccc685e735ad2f83dae7a1aa4690b8ec6dfdb() + { + $this->assertTrue(true); + fn() => ($test << $test); + } + function testb49d41bcf2ae8f5146448d1488df2d8adcd80c155a825600c7849bbc0e8f5a8c() + { + $this->assertTrue(true); + fn() => ($test instanceof $test << $test); + } + function testb4bc2ae446fdbade2d054083c12a4bbc0eaf06d84161c129a63cad3b01de868f() + { + $this->assertTrue(true); + fn() => ($test-- << $test); + } + function testba02f0ab8ed4e5367a088e3eb05833ed449ac0cf4a00e1d6de33acff39f5d242() + { + $this->assertTrue(true); + fn() => (($test *= $test) << $test); + } + function testbf80e7c64fbb05754904739f877f7ffefa81c42fd9c31e5aa3d6c065472b2b98() + { + $this->assertTrue(true); + fn() => (+$test << $test); + } + function testbff65f54e6b4048b936f2fd6395c76e7fe3c66332e19a8b568a875481a66b2ac() + { + $this->assertTrue(true); + fn() => (__FILE__ << $test); + } + function testc1cf60937899974f9a5fe0af7b7b3be7f81ce8cc6961da0a9f2deb3a6b8ee596() + { + $this->assertTrue(true); + fn() => (__TRAIT__ << $test); + } + function testc45c3012a13b7cb663130759c4016305e482a67f54506ec0b530838cb26b4b13() + { + $this->assertTrue(true); + fn() => (__LINE__ << $test); + } + function testc8c73c9b038bb7559715d41b98eced8ff49265937ca3ed86ba45379c26164615() + { + $this->assertTrue(true); + fn() => (__METHOD__ << $test); + } + function testcb7517353b14a4f9c44aa63a91ebe126d7d598e3f160db0aaf4dcdb93786a296() + { + $this->assertTrue(true); + fn() => (($test <= $test) << $test); + } + function testcde15565c77255772d90a2a639ad4d8f79701f07ec82e026c518969f2fa23a88() + { + $this->assertTrue(true); + fn() => (($test | $test) << $test); + } + function testd1953f696829cae3e24c04bb8c61a16a8f6f387cefded25364e99fe1eda83cec() + { + $this->assertTrue(true); + fn() => (($test and $test) << $test); + } + function testd6f8a0f152c9093c4f77d00abfa96659358513031e50d4419adf0f26400312bf() + { + $this->assertTrue(true); + fn() => (($test >= $test) << $test); + } + function testd72c216cc8854b16737f574d136d5ce6f7bcb540f29c78fdd129558886669afc() + { + $this->assertTrue(true); + fn() => ((string) $test << $test); + } + function testd7de8d9339afbd764816e27418773c11c97d33093e310ca0e5f83991630a1dd4() + { + $this->assertTrue(true); + fn() => (($test **= $test) << $test); + } + function testd85003cfb8ed75ea5e7b372eda1e3ab8bac7efca8635556ab684a2cdc733540c() + { + $this->assertTrue(true); + fn() => (++$test << $test); + } + function testd92065583dc7316731d2c968f9438f4ecfec2b405f33c0083c88713e153367e9() + { + $this->assertTrue(true); + fn() => ($test << $test[$test]); + } + function testda2318b7233317e8a7746244ddbd41e697da7b65b0a5de1b22f93bf59a3ea4fc() + { + $this->assertTrue(true); + fn() => (($test %= $test) << $test); + } + function teste33069e81068d44d887b62d4a5cb26a6391b24be67047d2006491697e30206e3() + { + $this->assertTrue(true); + fn() => (-$test << $test); + } + function teste88afffa8f4b90c3ef089833c7889fde6d92aa32d123ef1c4474dae025d2a46a() + { + $this->assertTrue(true); + fn() => ($test << $test::$test); + } + function teste8d95a9ef6053ab575ca85fb3c61cc75d0552d41025ece48e16ca5496b5285d4() + { + $this->assertTrue(true); + fn() => ($test / $test << $test); + } + function testea001ae4e8818af74c932bd4a100e46e4cd40ca08ac0902091e47c249f5d1b94() + { + $this->assertTrue(true); + fn() => ((bool) $test << $test); + } + function testecfb6936e47cdffb2c8b425386a6ebb6ba4a253b948ce2ce4afd73d4824b2bda() + { + $this->assertTrue(true); + fn() => (($test |= $test) << $test); + } + function testefd94a64e029e2ad0d22e4292ea7de86741e3c22ca91c5f9c057240424c1a277() + { + $this->assertTrue(true); + fn() => ((object) $test << $test); + } + function testf6a3ab6d4f7720adb526827539fd7738b87a2c7bb8901710e7ebd159705c9772() + { + $this->assertTrue(true); + fn() => (($test ^= $test) << $test); + } + function testfa74f724b5f8c436511340eccb8d5467a74168220bbae9e10e7d0561ac137b8c() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) << $test); + } + function testfac5fea741773ae11e7432fb588368b9c784dff281233d0b1382bdfe26513dbc() + { + $this->assertTrue(true); + fn() => (($test /= $test) << $test); + } + function testfaf42a3604e931d1edb920ce7f03a02a40df210d5940b4ef60a7e6422494cf36() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() << $test); + } + function testffe8e7395c53f6edac589a8a79ec81c992d1bbd8835a2bc706683cacd44c1305() + { + $this->assertTrue(true); + fn() => ($test << $test instanceof $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest.php b/testsGenerated/Target/Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest.php new file mode 100644 index 000000000..8fd16cd32 --- /dev/null +++ b/testsGenerated/Target/Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionf1c300c13c8280c5ad88aad43205c1e01b36f0d8691a27efd1d9927c1a37c79bTest extends TestCase +{ + function test036f42a7f099c28e027bd1ebb3f111265ef911658bd47673983b2e693a4dee26() + { + $this->assertTrue(true); + fn() => ($test == @$test); + } + function test0423d260cd5d887ca0b4adacbd3a142e45f23a37e1a11884c374933d88d218cb() + { + $this->assertTrue(true); + fn() => ((yield from $test) == $test); + } + function test04b1aa6edfeca7c8b5f5e0b1b7a9defcf9c64299f820916503a3297bcb7e737d() + { + $this->assertTrue(true); + fn() => ((object) $test == $test); + } + function test065a53010403ff7f0a08003445fdb552af5f4eb397ac48c63f89245158ccc888() + { + $this->assertTrue(true); + fn() => ($test - $test == $test); + } + function test06c6f3ffe4f17dc78677f29a7bef59c66465a071cce835c4ee148dc3a4d1d15e() + { + $this->assertTrue(true); + fn() => ($test == -$test); + } + function test07b677d05ca9bb5411ca7d620ba4bb2fc3a9756e2830bcdf2fb5d3c40da4871b() + { + $this->assertTrue(true); + fn() => ($test << $test == $test); + } + function test0b987f51c3b5262cf7fb4e0b406e062f9bbb6839af64408edece0876d7efb602() + { + $this->assertTrue(true); + fn() => ($test == (print $test)); + } + function test0ce9dd2a5bfc6d69c637e5264dc402e43fd9f2ec02e6511975c10f72620be84f() + { + $this->assertTrue(true); + fn() => ($test == $test::$test); + } + function test0e4dd88430faa068b8ef59d5fd1e4fc763a64bf695eacd906380b0ce4b485085() + { + $this->assertTrue(true); + fn() => (($test === $test) == $test); + } + function test1767b5104136b9b73ed5b5de9c0d3fe516215be2eba2aea2341352c10e192e2b() + { + $this->assertTrue(true); + fn() => (($test >>= $test) == $test); + } + function test17b35f73997882a522177e315fb5d7a0efc6e23845889c26ed3b71b116c28aeb() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) == $test); + } + function test17b6914d9977cb3935aeff3375dfd1bfed50ad1ed5019949c983625f3e2c726a() + { + $this->assertTrue(true); + fn() => ($test == $test); + } + function test1b51ce869e876b67a0095cdcedafefc219fccdbd0aa3304beafad3a38dd5ec12() + { + $this->assertTrue(true); + fn() => ($test == --$test); + } + function test215abfeaca251e029cda6345c134b60efad65239339f628a80553d98e517e69e() + { + $this->assertTrue(true); + fn() => (($test and $test) == $test); + } + function test2470e018fe91f5ff436a4ce510aefb3a653674b029628e1d6989d403703d884a() + { + $this->assertTrue(true); + fn() => (__TRAIT__ == $test); + } + function test2645bd88a39a006cc487f8bb2a8ad785a95f0d7810f6657cc56e5820315b8493() + { + $this->assertTrue(true); + fn() => (($test <=> $test) == $test); + } + function test29293eafdb025d31a2f627bf5bbfd873ae46e0925375ceab00527464aca67138() + { + $this->assertTrue(true); + fn() => ($test == ($test =& $test)); + } + function test2a8365179f39495076f3d4abcd6792695090d12a6751b7334f2c108c6567fdd9() + { + $this->assertTrue(true); + fn() => ($test == []); + } + function test2ad1449e44e8b9075ffcd652277b73dcf68ffc4b046b6c791478b058bcb821a7() + { + $this->assertTrue(true); + fn() => (($test /= $test) == $test); + } + function test2c07a00de46b7a27fc40f01a115506124561bf6effed88c6662bb3d374523b82() + { + $this->assertTrue(true); + fn() => ((int) $test == $test); + } + function test2c93b34cd9b6c43e22d0f0de9b28c56e85d61367ca5a953d09fb49de858a59e2() + { + $this->assertTrue(true); + fn() => (__METHOD__ == $test); + } + function test35541fe99ff93f1edec026c3c76b3ec6a527de124fa5501534294e8402908d16() + { + $this->assertTrue(true); + fn() => ($test == $test::${$test}); + } + function test35e598e6cee6eb2486f96291c3cc6774ed25ba6025904a79ed4343baf538eefc() + { + $this->assertTrue(true); + fn() => ((string) $test == $test); + } + function test3949cf00e955a5e2ca43f2f029d152d8bce02a552e9d0460b37d75090653ac03() + { + $this->assertTrue(true); + fn() => (($test ^= $test) == $test); + } + function test3fbb8688696ea3a95d516bba5ed31415eb6d4d4d000bd65a64afd9848de97a5c() + { + $this->assertTrue(true); + fn() => ("{$test}" == $test); + } + function test47dab4024f2d39ac59a6a2811ec7fc7aa8b833adcc7b56cc19a1cb8e8f2e951e() + { + $this->assertTrue(true); + fn() => ($test >= $test == $test); + } + function test48d5363d52bf05369b40564098589e79981d4d46b065b2bae3a33755b884ea51() + { + $this->assertTrue(true); + fn() => (($test -= $test) == $test); + } + function test4b7d834b7dbc3b7b386be73937d90718fe1ffe19882d56ff3e3d2bde0117a6bc() + { + $this->assertTrue(true); + fn() => ($test . $test == $test); + } + function test4ebfed2d8896da45a3f7029ae2f730a47d8f40fd74aa2025eaf9cefa1ee70422() + { + $this->assertTrue(true); + fn() => ($test ** $test == $test); + } + function test4f98a1d36dc8cc3adcee1952205b7e0213e7fc15b4817ee765312364e83e08b0() + { + $this->assertTrue(true); + fn() => ($test % $test == $test); + } + function test52cc302aa3597cae64451368ae16624f69c5b0cf7ac7c718cf1c51bacc97e419() + { + $this->assertTrue(true); + fn() => ($test == $test++); + } + function test5686d9edcd8d3ad57af0c6abcf016a0865e7da4e0a0e7490268133d63120adb9() + { + $this->assertTrue(true); + fn() => (($test && $test) == $test); + } + function test58e5a1aa3a79e53a82a953a3f8745c97f5862342db346fcebaa37025a245fc4d() + { + $this->assertTrue(true); + fn() => ((double) $test == $test); + } + function test5dc084e6f1077729956936b764806464bce3e4a37275538c04e489725930dce4() + { + $this->assertTrue(true); + fn() => ($test * $test == $test); + } + function test60e9e2808b492045b4e5700fafdc01fe908dfa19b5a921819cc9d73ed124fa00() + { + $this->assertTrue(true); + fn() => ($test == $test?->{$test}); + } + function test62ea5dd93626cfda4cf83bf2015eeb355d9eeea5d515d5f16e5826f0c4e34f15() + { + $this->assertTrue(true); + fn() => ($test == new $test()); + } + function test646abb4f07f27addc2b4dec4c7c3e875462c1c2b44c799473ef0288ae9bb3dde() + { + $this->assertTrue(true); + fn() => ($test == ( $test)); + } + function test647ee12af23fe08aa9829370e9b6a4c8dfff2fd1c9d47dc1802658970aba21aa() + { + $this->assertTrue(true); + fn() => (__DIR__ == $test); + } + function test673a8c08f3f4bd36b925db1bfd34d9deba19b0c4c23919a1c8b08af35efc12a6() + { + $this->assertTrue(true); + fn() => (($test !== $test) == $test); + } + function test6803df82685b6f40f7aa35f00ce7962429b5fb192830cbb517a297bb07cd29cf() + { + $this->assertTrue(true); + fn() => (($test | $test) == $test); + } + function test6d8261c1cb2e8cecb8ac22789dec2b9c29794e8d571207388a2ceb69ec97b753() + { + $this->assertTrue(true); + fn() => ($test >> $test == $test); + } + function test6ecb137bc7147e1d9bacf1912ef89f208c76b1b56352ce8365409e8d38b3de9b() + { + $this->assertTrue(true); + fn() => ($test == !$test); + } + function test6f1df4cbafb95702212a331bf97283d48f8bcb827a51c1d339975c2f9eabdaa4() + { + $this->assertTrue(true); + fn() => (0 == $test); + } + function test7037f6bc79eb7c4b31addfb0146bd68abdd1860434df9acf7bbdd899de038c5b() + { + $this->assertTrue(true); + fn() => ($test > $test == $test); + } + function test713cd3bb14ee9af8355bf9dcdf5f00698f1d22b13151aa27c5d48d8a48f6d8dd() + { + $this->assertTrue(true); + fn() => ($test == $test::$test()); + } + function test738a919290a9b0fec6b203d922aad5960a993b56234734e92fd9dd1088a776bf() + { + $this->assertTrue(true); + fn() => (+$test == $test); + } + function test73fa0ccaf2396d8f6cb098b520b0b858207452ec90dd10b0a7251155c9f00c71() + { + $this->assertTrue(true); + fn() => ($test == $test--); + } + function test74e487bf14565f507731c2dd72a391a7e872633e296cecde21e2f5e256f25f3c() + { + $this->assertTrue(true); + fn() => (($test .= $test) == $test); + } + function test76d294740df21ebbccf7cf25ec8cf43506529b5da4560131be147b67f58b522a() + { + $this->assertTrue(true); + fn() => ($test == ++$test); + } + function test7cdc78296f69d5d20eb3ae59828a4d7304776c387c09c2bb5a1ac3bcaeddecfc() + { + $this->assertTrue(true); + fn() => (($test <<= $test) == $test); + } + function test7dae674d65880ba20e97e66309796715cc501d3fa2d3f6c908401774a850bfff() + { + $this->assertTrue(true); + fn() => (($test || $test) == $test); + } + function test80fbe714e6ce0554cea719bdd23b6361bb6466105f8a946b49cc53149769b5cb() + { + $this->assertTrue(true); + fn() => ($test + $test == $test); + } + function test84081ac3d353dc551259841a0c53623d8530336ab3baeaa53fd03eabcd1c9151() + { + $this->assertTrue(true); + fn() => (($test != $test) == $test); + } + function test8b194af50dfae1c2d79ab24eb0d45935bfc2243115f45a67bc61a50c3b3cec06() + { + $this->assertTrue(true); + fn() => ($test < $test == $test); + } + function test8d4b37b51896248c3ef8debba0467518b01aa3e099406e79bed7331012be6069() + { + $this->assertTrue(true); + fn() => (($test ^ $test) == $test); + } + function test8de99d7bf3efc81c5f59f2c7eac3485922b339e80aec3db6804d4190fb317499() + { + $this->assertTrue(true); + fn() => ($test == empty($test)); + } + function test93149f66b73b523f5c6bab034ab162b6dba49a69fcaa630475f98f12c6e16b01() + { + $this->assertTrue(true); + fn() => (${$test} == $test); + } + function test94aca0ff52f7b033657a6132bbea12020f8fb1f64d60e0c5196251b80be5ef7e() + { + $this->assertTrue(true); + fn() => ($test == match ($test) { + }); + } + function test97040aab8a9323bb0210f66cf4f06333d3f3569702bcfa2d6be6baec0cc41705() + { + $this->assertTrue(true); + fn() => (($test ??= $test) == $test); + } + function test974bbbd5a401dbac497716dc77f5ad699bc95c1b70c7cf021b2c1d2c52e23e99() + { + $this->assertTrue(true); + fn() => (__LINE__ == $test); + } + function test9b94299dacb3e61e74931efd89d481a912955b1becabc0e3156746b2e2639e09() + { + $this->assertTrue(true); + fn() => ($test == self); + } + function test9bcea64d681b181f3e08c535d08206b2e5e10572fcbdc810e422afb66c1ac4ee() + { + $this->assertTrue(true); + fn() => ($test == $test instanceof $test); + } + function test9be452631966a8335f1371b53d060d60245ffdaf0aea9ba068afafd5b137cff9() + { + $this->assertTrue(true); + fn() => ($test == clone $test); + } + function test9e5cea701fa2e5dfd5c127f7c2d5e5875177a6fe93de0d6086747d369b90f4f9() + { + $this->assertTrue(true); + fn() => ($test == $test?->{$test}()); + } + function testa012be3100cba3f87ec5bea1db028a9a8e0613cb92047340798bc999002fe7ad() + { + $this->assertTrue(true); + fn() => (($test xor $test) == $test); + } + function testa30d2c90acd48d4a9e89de6c12a41221aa076bb17e0f6812ff1671a18897613a() + { + $this->assertTrue(true); + fn() => ($test == ($test ? $test : $test)); + } + function testa44bc03b3edef74f75d48b4a49689cfdd6f4eab36416a1f66f68d73b6b3bd8cf() + { + $this->assertTrue(true); + fn() => (__FILE__ == $test); + } + function testa5e2ac498b10d09afe76edfff54e5af5de87805d78cf56123628042389108a46() + { + $this->assertTrue(true); + fn() => ((array) $test == $test); + } + function testa5fb37ae32f013b885c7e6a866a06742e2cd10a863b2d46d00a7f1e56b42ba8e() + { + $this->assertTrue(true); + fn() => (($test or $test) == $test); + } + function testa70ca897140fd95bb8ef16664b5b930f001071a84964705fc45c4cd659c2ffe3() + { + $this->assertTrue(true); + fn() => (($test &= $test) == $test); + } + function testa82e711ec24efe1aeb813cde8a95061e7e726d017772c4f921f70bba2336cbc4() + { + $this->assertTrue(true); + fn() => ($test == function () { + }); + } + function testaaca30d576ccb066313797e14a5531c5017e6bf1d8a4973b315671dd99b82bc1() + { + $this->assertTrue(true); + fn() => (-$test == $test); + } + function testab88ae355ddbb40767a642b7bf3cfa44d336722eb24db4611605037b707b1c6d() + { + $this->assertTrue(true); + fn() => (($test += $test) == $test); + } + function testada545ae277db7ddc631108609fe6e7ee8f0c1eab2c80e559d84c6d7803b9541() + { + $this->assertTrue(true); + fn() => (($test |= $test) == $test); + } + function testaf579af42dfeef570bbcc7fa428075d4b0095e325ceba79637856334c65dadb2() + { + $this->assertTrue(true); + fn() => ($test == ($test = $test)); + } + function testb33a708652b258e9c509bc495bdf99afe227a9e390fbfc8d9f9784750cee297c() + { + $this->assertTrue(true); + fn() => ($test / $test == $test); + } + function testb9e08475866d857b9e7baf57f707155a2b1b12ec691b5458afbf425798894505() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ == $test); + } + function testba8ceb1d626fc9c91c94ce2fe479724d08f145bb67f83ae0970f2acadcab2a2e() + { + $this->assertTrue(true); + fn() => ('test' == $test); + } + function testbc564711ca756330d6ee9c1b90355f1ed0f1e5f3a8c80675066adfa507b74b66() + { + $this->assertTrue(true); + fn() => ($test == throw $test); + } + function testbe9f652963c99c62e00550fc025deb0e065262a98525fa5ad740fe318fc742de() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) == $test); + } + function testbf3577b56d853b45cf8fe16c7a7109335bf8ac226dda54121541e0d18e25c968() + { + $this->assertTrue(true); + fn() => ($test == $test()); + } + function testc2e5fea4f22a814d8b8773fad754a3c9c1bc5c65255e72f3c5f6ecc044ba4a4e() + { + $this->assertTrue(true); + fn() => ($test <= $test == $test); + } + function testc4f1db9e35e8dba071cf036695d8cf8d7d8088c82f1b8563211d18e5d49a2d1e() + { + $this->assertTrue(true); + fn() => (($test **= $test) == $test); + } + function testc7324c49ef319004a93633e9909c0844fbfe4bf0994989535cb1446390d731e5() + { + $this->assertTrue(true); + fn() => ($test == $test->{$test}); + } + function testc81e6ce31ab2e6a3ae4795984cf4d61429a0cd425f4a124109eca3d9fd936f54() + { + $this->assertTrue(true); + fn() => (0.0 == $test); + } + function testd009238a468fe16495fe88631a8c6367b733a07b689741fc75491658293ea94d() + { + $this->assertTrue(true); + fn() => (throw $test == $test); + } + function testd081d3cce3070289d96209260b07d7e24a33ec5d47a82d5a7bcdcdceee7a02d5() + { + $this->assertTrue(true); + fn() => (($test %= $test) == $test); + } + function testd3984a0b2ce21da4e8044f88fc6e23fe9bb955b9f3f68cb45e9b89467060755f() + { + $this->assertTrue(true); + fn() => (($test == $test) == $test); + } + function testd4c266dea9ebe2f00a41bfd76e8a4566aaf475a74b7d645869aa38850136dc7d() + { + $this->assertTrue(true); + fn() => ($test == eval($test)); + } + function testd73a409d141c0a6498e1e2aac225e4e21cc8e3d56ecaf3b330d72c9d058f06c0() + { + $this->assertTrue(true); + fn() => (__CLASS__ == $test); + } + function testda5958238e6aeb5f43fb2094eca847aaf5bec0f57f47baeeed262489a58185bb() + { + $this->assertTrue(true); + fn() => ((bool) $test == $test); + } + function testdf86b2f3fb1927321581d819ba114fba6abd6aa699ce9509e61ea4439053333f() + { + $this->assertTrue(true); + fn() => ($test == $test[$test]); + } + function teste3d585e4f61d0795d8fca7e0233c108dd780cab4e667fdece444c37fba36f3e1() + { + $this->assertTrue(true); + fn() => ($test == isset($test)); + } + function teste8245000d34bf9d4cc47e4cc045bc802175bff67d8fbb73d737dcb3645b52419() + { + $this->assertTrue(true); + fn() => (($test ?? $test) == $test); + } + function testedc13ffb679c70ba17caa756aa9e15cb248d7b50082657c92771f19ec7872833() + { + $this->assertTrue(true); + fn() => (($test & $test) == $test); + } + function testede3b2cc6cf14bde5d03a183dba06f9984eef6d06822a87ef6744f40f1c044df() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ == $test); + } + function testf1a8927c4f6b78a076e604620c54fd6d2230cfd0a8b4c0414c229a152771699b() + { + $this->assertTrue(true); + fn() => ($test == $test->{$test}()); + } + function testf8d9902e7238b99a473a66279e13797b8181cd6a81e57991848f095795073906() + { + $this->assertTrue(true); + fn() => ($test == ~$test); + } + function testff51ca1be2c8b0af60073cbe2d1d923bb690eb8a7588a8cd56261c4828dbc5be() + { + $this->assertTrue(true); + fn() => (($test *= $test) == $test); + } + function testff9f84a0796640208994156512637318dd478bdbf11d3e6de2ee6bca7c190dfb() + { + $this->assertTrue(true); + fn() => ($test == ``); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest.php b/testsGenerated/Target/Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest.php new file mode 100644 index 000000000..b704ed53e --- /dev/null +++ b/testsGenerated/Target/Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionf21e0133919fabed7ef993cbd3012577b30a317e966d13b4b1f8a219129b4a2eTest extends TestCase +{ + function test033465b647b6d0ca15b8c26002c58473a656803bf0c2cc5d315d09edc0cbcab8() + { + $this->assertTrue(true); + fn() => ($test >= ($test >= $test)); + } + function test0441009f9f40240edd912710b3e23196fce7a4c2323a0bc874a87ea66e6e3178() + { + $this->assertTrue(true); + fn() => (throw $test === $test); + } + function test06db984b4927db2348963fe362addfb70c2057b3dc80dae895e174a11b0b15b5() + { + $this->assertTrue(true); + fn() => ($test >= $test ** $test); + } + function test07018b2b400e69b94f017231e6483ec66d6528d06f5389876315c6263b903e20() + { + $this->assertTrue(true); + fn() => (!$test === $test); + } + function test0cfe2d4e90a9ca6c54c189c8acfd7f32826904794bd9ebb22529722a7e71c77a() + { + $this->assertTrue(true); + fn() => ($test::${$test} === $test); + } + function test0dcc32e19fa161f42d0c74f90604216732feb0481ad8070e77219856ba86584e() + { + $this->assertTrue(true); + fn() => (--$test === $test); + } + function test10ee88745dd0461da6a4310184b9dfc00cc7ffee68ad3eadeccc4e92de13fb61() + { + $this->assertTrue(true); + fn() => (($test ^= $test) === $test); + } + function test1228747843946e9cfe12408d043f2c906524fd3bb33c47f7f696c5f1f4ae4bbe() + { + $this->assertTrue(true); + fn() => ($test === $test); + } + function test14271616c8438fa006af83217d2b67d9ef851b66992061c650423802d8de4ae8() + { + $this->assertTrue(true); + fn() => ($test[$test] === $test); + } + function test159711c6f557c7e07694c7895638fdda2bd1240bb51846aaa48d753fc653cad0() + { + $this->assertTrue(true); + fn() => (${$test} === $test); + } + function test1703628dab58e6126d156c9602945c5dd9d6e764b3386f8ae57b15201ecdef96() + { + $this->assertTrue(true); + fn() => ($test >= ($test <=> $test)); + } + function test178421fd4ef3b681568fea48cdde534866d8031929029e7eaa4b778d1993295d() + { + $this->assertTrue(true); + fn() => ($test >= __DIR__); + } + function test18a86fe7e5a479465ec9d6f413b55ac9d413d7ce33a29df41cdfc80c1a1a5ac7() + { + $this->assertTrue(true); + fn() => ($test >= __CLASS__); + } + function test2607123e51b4f9ba0e6d0472db8d837bc28e0d64fad7a8c1763a58de66e5d994() + { + $this->assertTrue(true); + fn() => ($test::$test === $test); + } + function test27248e0d174daaed99a2494e79fcaa337e3a83bb5f0faa2d729237dc2dd75793() + { + $this->assertTrue(true); + fn() => ($test->{$test}() === $test); + } + function test27c4ae18d1d13834a8fef300ae8194f7388e3842f40b6dc5b7a3c840b3357937() + { + $this->assertTrue(true); + fn() => ($test::$test() === $test); + } + function test2c4ebfc4f58dbbd3a3b5e3423f40bf94824c4eeb81c6d819fe339fcf72856727() + { + $this->assertTrue(true); + fn() => ($test >= (string) $test); + } + function test2df747c8a7592646d247f92fb461bc6553d2857cc9c86066cc69b7c26cf2b453() + { + $this->assertTrue(true); + fn() => ($test() === $test); + } + function test304bc2eff10c37bc666678e29e8eb144b011af099aad216425d4d55241663ab3() + { + $this->assertTrue(true); + fn() => ($test >= $test . $test); + } + function test316e95d82f771556309a9ab0b273f89bb88c969394dedea29073532e658eb2a9() + { + $this->assertTrue(true); + fn() => ($test >= ($test xor $test)); + } + function test337cd502a3f3d0f19fcb31643d4daeae95630cff30d31800efc88acb3090e767() + { + $this->assertTrue(true); + fn() => (clone $test === $test); + } + function test35b80ffba8cd358413a3939e606c6bab3a19190011fe5a1b703b70e416fce1fb() + { + $this->assertTrue(true); + fn() => ($test >= $test - $test); + } + function test37ff417eac1bcc9ccde39d333dd88bb3d409a4b51f169ccf0d81fb921eae35ee() + { + $this->assertTrue(true); + fn() => ($test >= ($test !== $test)); + } + function test3910c1e0c5899ee91e03d6016cc6f6f29d5ce4870fadbe1d1bb34ffd744c9677() + { + $this->assertTrue(true); + fn() => ($test >= __NAMESPACE__); + } + function test3b84b4307d454dc5acd483c70b13fad27c8afa7cfc5ee66a4174fb4e4978dcde() + { + $this->assertTrue(true); + fn() => ($test >= __FILE__); + } + function test3d6c9ebe734ab5d8567b6a312e29a8aa6bc45225fa1765917410db355e02c81c() + { + $this->assertTrue(true); + fn() => ((yield $test => $test) === $test); + } + function test4733067c91d18a8728b58b9fdec29d83ae00a018a3977f95aa752b83bb1a9a56() + { + $this->assertTrue(true); + fn() => ($test >= ($test | $test)); + } + function test495684713d1439782ea764bfda5295b8c3d9170b34451c2a8ab68fbf7340ce39() + { + $this->assertTrue(true); + fn() => (~$test === $test); + } + function test495ab7a08940403b3a4e40ce97eeaf3fc57d3b94bcc50dd971c2e1c102584dfb() + { + $this->assertTrue(true); + fn() => (($test .= $test) === $test); + } + function test4d75ae907fd2b17d4bdcdd0af26f06896422415a52e529164fdfee25c2298b7d() + { + $this->assertTrue(true); + fn() => ($test >= (int) $test); + } + function test529edbba6bfdce935122d852286a92a5cbc988370d7ecf7446ea1363b7b44d54() + { + $this->assertTrue(true); + fn() => ($test >= "{$test}"); + } + function test58224d330578142ce9b5b6ca9f5c88691fd9cbed4cecb68b2b33615cffbf11e3() + { + $this->assertTrue(true); + fn() => (($test **= $test) === $test); + } + function test5c45d9b0b874d77a6bc2dbec3e1e629e384cc99876f1422be04dc6876802da01() + { + $this->assertTrue(true); + fn() => ((yield from $test) === $test); + } + function test60761aa3be1b07217ad3763b74e651657b8b213d8eb03300255566d1a32a70b4() + { + $this->assertTrue(true); + fn() => (($test *= $test) === $test); + } + function test6248d883b354d8a5f0029679368fc350e6673b3ca6304c906581932da3a0dac0() + { + $this->assertTrue(true); + fn() => ($test instanceof $test === $test); + } + function test6280f64fdd68b604603c83ac1b4315bbdf33ff5ea0b6580394f4e47031aba305() + { + $this->assertTrue(true); + fn() => ($test >= ($test & $test)); + } + function test66a347664928159d29656d35f93fd2d2ed816c2928a1323cf9028358b51c5f0c() + { + $this->assertTrue(true); + fn() => ($test->{$test} === $test); + } + function test673c33cff4e9c2aa3bc2f5f27ee85636ce113220983f43412fdd725699bea8d7() + { + $this->assertTrue(true); + fn() => (($test ??= $test) === $test); + } + function test69de97a60d055a7661d4916b0c39cbac7d0a4d72c2c6ba130d67b595d2d8526d() + { + $this->assertTrue(true); + fn() => (($test %= $test) === $test); + } + function test6cb916d1a37781df53960ab4b47c1aca90f5087f91b152d9669de33487bd3ecd() + { + $this->assertTrue(true); + fn() => (isset($test) === $test); + } + function test707227b4cad88af7cb2bb2918e67e94edb50c9148a09a791ad7dfda663ee994f() + { + $this->assertTrue(true); + fn() => ($test >= ($test < $test)); + } + function test728a8f80dbadb7ba5b7eb778d78c0c7472ccb4c01b0c50b24e49d2661c8a2b60() + { + $this->assertTrue(true); + fn() => ($test >= $test + $test); + } + function test7856bbd1ec44afa9459054fb054092365b9db6e9d780f912161c0fab77f966e4() + { + $this->assertTrue(true); + fn() => ($test-- === $test); + } + function test789c662ddce83632cfef40e77230d964e68ba0a4e72a150a61a829307bbda0eb() + { + $this->assertTrue(true); + fn() => ($test >= ($test > $test)); + } + function test7f9f0700de7002ea562523695840e452739ac194623613d77ebacdd93b34dc31() + { + $this->assertTrue(true); + fn() => ($test >= ($test *= $test)); + } + function test8027f9667a144a465b50ae33eecef063e75eef68801b47cd3a316ec5aa40228a() + { + $this->assertTrue(true); + fn() => ($test >= 0.0); + } + function test80d0ec10aa83e180b6066668eada4b12f95349fcdbeae4a24f78811b5480580b() + { + $this->assertTrue(true); + fn() => (self === $test); + } + function test81c91b3e61a8d42b820a23da723ab32baa31bae9afd7cf341650644797a2b281() + { + $this->assertTrue(true); + fn() => (-$test === $test); + } + function test81da4458c5b9b17a7684ddb3b8185afabb5ba6cf6d664a16b0347877492d0c21() + { + $this->assertTrue(true); + fn() => ($test >= (double) $test); + } + function test838501551719fb3abc313fa449d344b62068c8d0bf794a81e7d52cd5adbb04a7() + { + $this->assertTrue(true); + fn() => (($test += $test) === $test); + } + function test89d43cc5d10ba4b66c6b46a2f00d1aef8fe32b349db0933c5b21acdf79e67b48() + { + $this->assertTrue(true); + fn() => (new $test() === $test); + } + function test8d00eb5f06d0b1ad665606e2eba0145a48b25d07052c27a00956dd0214e77091() + { + $this->assertTrue(true); + fn() => ($test >= ($test === $test)); + } + function test8e2be192a47326d7cd126b34b0f9e32d5be691232f3cae481d016c4a17ae78e5() + { + $this->assertTrue(true); + fn() => ((print $test) === $test); + } + function test8fea79bfee2c8c026bfa250af766985c532cad166e2d8ff826cff4f91dd8bc2c() + { + $this->assertTrue(true); + fn() => ($test >= ($test != $test)); + } + function test9042cc251cd7fef5139cc2236771c83bc97e38953b98de145062b3ae1452ba69() + { + $this->assertTrue(true); + fn() => ($test >= (object) $test); + } + function test910409401744dc3bad5f00f636704ef3d6285622aab49136681f8017e742b1e3() + { + $this->assertTrue(true); + fn() => ($test >= ($test or $test)); + } + function test98bb98740e1ea74ac021d9029d0bcd7efbd9b3205f8e882b21d26456e9e11864() + { + $this->assertTrue(true); + fn() => (($test /= $test) === $test); + } + function test9996ca9320f4cd4f71a8b8b1fd24e5700e86e2ea0b10853a7d76baf5796ad848() + { + $this->assertTrue(true); + fn() => ($test >= (array) $test); + } + function test9aa57cd65c24472dadd39ed1f0b8f4d6a5e298a86cb5d2a98974345c1f3c0502() + { + $this->assertTrue(true); + fn() => ($test >= ($test || $test)); + } + function test9d96072f0a97f0a0290957d0b395a9b89ac3fedcf7c62ba96533ce7d1b2560cf() + { + $this->assertTrue(true); + fn() => (($test ? $test : $test) === $test); + } + function test9fe0fe740acc584d2a57e6ac8df769927c51b085621830744e5ec9300446289a() + { + $this->assertTrue(true); + fn() => (($test -= $test) === $test); + } + function testa1f7f831e1c962ac6b387232a68ff2705026eb9889421868e9c5073f02eced23() + { + $this->assertTrue(true); + fn() => ($test >= ($test ^ $test)); + } + function testa242bf95645634444dd304c029a9016bb3a13bde6056071aefc8b5277a319852() + { + $this->assertTrue(true); + fn() => (function () { + } === $test); + } + function testa4a48dfbdc676918a77d8a8a7bf992a36fced8b464a23f45e565f9c748e86595() + { + $this->assertTrue(true); + fn() => ($test >= __LINE__); + } + function testaa16b3e7ac7b2458c53f8e27cec1cd4f03f0db8f93a216a1d745cc5cf019d532() + { + $this->assertTrue(true); + fn() => ($test >= 'test'); + } + function testab5fbea234056eea3f542611b3ebc932909c8c7ad2f4118e3c3af69e032f792f() + { + $this->assertTrue(true); + fn() => ($test >= $test / $test); + } + function testb0cb07405009998ba3c4b1700e36e4f7f3d78d0f04f5ba4d09e05908e191efe4() + { + $this->assertTrue(true); + fn() => ($test >= __METHOD__); + } + function testb1e03c16e28b1cf93662e6b8799fa2dcdd5f035ff95299089c06c202d369cb06() + { + $this->assertTrue(true); + fn() => ($test >= __FUNCTION__); + } + function testbc610338dd1f77a92142c702e6168378b5ba129fe5d0b8889738dccd18d85607() + { + $this->assertTrue(true); + fn() => ($test >= ($test <<= $test)); + } + function testbca8772903b11a06c70328678aca5379b185e17641130d0b073a68ea3754f59c() + { + $this->assertTrue(true); + fn() => ([] === $test); + } + function testc5e551f86d5db4645b345eb31b8eb6aaccf65fdd25f1f43b05f907c2b58afdbb() + { + $this->assertTrue(true); + fn() => (($test |= $test) === $test); + } + function testc6e4d3549389cbd487830c00cd6feb932d759087c42873c5b9b19e0f7dff088b() + { + $this->assertTrue(true); + fn() => ($test >= ($test && $test)); + } + function testc9c5d2ca7bb24b26509a7a66694e1c21d8c65277476cd12981e12e0aa16352ea() + { + $this->assertTrue(true); + fn() => (+$test === $test); + } + function testce856203c683fbd1d859b739cb2338b639fb3039d18fa281029125cac44b39f6() + { + $this->assertTrue(true); + fn() => ($test >= $test % $test); + } + function testd02eabc715123ace4ca3b85ce41aa7c3e2ff5c473f4fba03031f0888136c23a5() + { + $this->assertTrue(true); + fn() => ($test >= ($test **= $test)); + } + function testd6ef7451c23d95add4ecdb2fe5b3747f3dc9376734d4d94264338340cb2cd6ad() + { + $this->assertTrue(true); + fn() => ($test >= (bool) $test); + } + function testd78403bb769e3359f3d6457fb698f51f4137052695aeefea9fc704b92b3b434a() + { + $this->assertTrue(true); + fn() => (eval($test) === $test); + } + function testd7df72a0199d49fddd491f606c3c5a2357a287f5c8fd748ccf47e15e2d9ed92c() + { + $this->assertTrue(true); + fn() => ($test >= $test * $test); + } + function testd9c76e79cc4cf4d7829cb7dbc5409890bb9207214ec1434fd012c6b6c1a7a4a6() + { + $this->assertTrue(true); + fn() => ($test >= $test >> $test); + } + function testd9ce50f722b1f8f329beb1a366e9f1be529e20279a3451267854d4947a2f1e79() + { + $this->assertTrue(true); + fn() => ($test >= ($test >>= $test)); + } + function testdcba701fada6b03ce9214da005e0d33b36acdda1305f23c13c135d03570c8b68() + { + $this->assertTrue(true); + fn() => ($test >= ($test == $test)); + } + function testdef232a3043b2ae9c0879e55173837aa1c4237d93acfa71cbfc3803460863ed5() + { + $this->assertTrue(true); + fn() => (( $test) === $test); + } + function teste00e539d25d201bc20ed30ce17e91ce23827f4404fb3f619776b322cc3a42e7f() + { + $this->assertTrue(true); + fn() => ($test++ === $test); + } + function teste1e05bdb442569514416b117587f55262db786f9b32afba3abdf4e98d0045e04() + { + $this->assertTrue(true); + fn() => (`` === $test); + } + function teste25a248f43e189239bbeb45dab0b192f2681e50e39f7e1e9007198eabd8cbad2() + { + $this->assertTrue(true); + fn() => ($test?->{$test}() === $test); + } + function teste350e1517aaf6fd2e4dc34e425b3dccae3cdee997ebc80a0ffadb495e7b8dba6() + { + $this->assertTrue(true); + fn() => (($test &= $test) === $test); + } + function teste4913d94c81c1fe8ceb7dc6697294948bf7ddcd575517b092cabda00a8418c9b() + { + $this->assertTrue(true); + fn() => ($test >= __TRAIT__); + } + function teste4a3d12fa6cfc2803bd9f0aea94a2357c3b605a66ab497863d934ae7831f2efa() + { + $this->assertTrue(true); + fn() => (($test =& $test) === $test); + } + function teste8321206f84be105e9a547f57bbabb53f8fbff8393632a486fad4e63252129aa() + { + $this->assertTrue(true); + fn() => ($test >= ($test += $test)); + } + function teste868c0db34e961eefc5966c74eef4eea0fea73fcb9e77129582fb740faa0ffb2() + { + $this->assertTrue(true); + fn() => (empty($test) === $test); + } + function teste948c9893bb6ebee8745b020d4254990204b987475bf19c5551ab9dd5601e779() + { + $this->assertTrue(true); + fn() => ($test >= ($test ?? $test)); + } + function teste96afbfca7eab6463aa792d86cb98dc5bcda907b5fcc32683af9d35b0538a188() + { + $this->assertTrue(true); + fn() => ($test >= ($test <= $test)); + } + function testeac39ea02bc9f972529155672f913a22231c12160b063b5994d173e8eb561033() + { + $this->assertTrue(true); + fn() => ($test?->{$test} === $test); + } + function testf17ffd29fd7c7661c6fe52b4527c7a7bc6e734a2443d652159101517d2691a0d() + { + $this->assertTrue(true); + fn() => (match ($test) { + } === $test); + } + function testf696395eb3cf4995044cdb961424d5a244ee21cc208f82ba9e9d6619ec94e7b9() + { + $this->assertTrue(true); + fn() => ($test >= ($test and $test)); + } + function testf6ba810a175b895deea788de26cfcb854f79aae51fd3042bdd36449407808418() + { + $this->assertTrue(true); + fn() => (++$test === $test); + } + function testf6f05bdb667cada301c4162dd7cbc0b9fa42e0a0a3b2fbe6a0cb3ee0b2f6c8ab() + { + $this->assertTrue(true); + fn() => ($test >= 0); + } + function testf82872cedfbfdc5d3119d057ba0a28bf2c377f7f7acf24cc96b4567d5896a624() + { + $this->assertTrue(true); + fn() => (@$test === $test); + } + function testf9cfa6b05c290c9e74324345470799d04f554bc732766b1f0831b6dea31ce2f9() + { + $this->assertTrue(true); + fn() => (($test = $test) === $test); + } + function testfe1ed2b69388c8ac617df700525125bc8042359d2b2fa90a1425ce8ba984ae48() + { + $this->assertTrue(true); + fn() => ($test >= $test << $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test.php b/testsGenerated/Target/Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test.php new file mode 100644 index 000000000..f69d635f6 --- /dev/null +++ b/testsGenerated/Target/Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionf25485b71485898229f5f19b058a99dba314447616144d81d842b71af97a36d3Test extends TestCase +{ + function test00a7f2a32af59c1955e199dab1bbf6df160d30fe0b395c9879aa85f5f4e516bf() + { + $this->assertTrue(true); + fn() => (empty($test) ?? $test); + } + function test063037f2d124f038a286ae185fe6271561a2497cbb0bcde7af8c9da1e4b9a585() + { + $this->assertTrue(true); + fn() => ($test || ${$test}); + } + function test067d68c6c49478a2499568ee4c16f19211dbd65f3b8c06230f7f9db8155fc679() + { + $this->assertTrue(true); + fn() => (self ?? $test); + } + function test06c9bca733d8edbfecb5279a0c80f6d3b90dbdcb9ee930090113508838043697() + { + $this->assertTrue(true); + fn() => ($test || 0); + } + function test07e76cb2cebb2341ca713fc942098fcc910627ae3ab21cfe38deeff081afe459() + { + $this->assertTrue(true); + fn() => ($test || __DIR__); + } + function test084072710630bd1a07bd153aa41a1743120aa7ecdffc808a128088097cd16691() + { + $this->assertTrue(true); + fn() => ($test || $test++); + } + function test0a398e088baed79816f59f9fb86c69c4880b2e41020a3185d7ea37317313531c() + { + $this->assertTrue(true); + fn() => ($test || empty($test)); + } + function test0c688c6141e4bc056d79176d1632f76ed115aafdb09a81d73c6405a540e79e50() + { + $this->assertTrue(true); + fn() => ($test || $test != $test); + } + function test0c9b8d0ea01e4687fe43b477d1df819fa792ab280f43a42baa6332999d8a0173() + { + $this->assertTrue(true); + fn() => ($test || $test * $test); + } + function test0ce8c6ddfbd0723ca48ce9819fb572051f207a3bfaca14b681e0d5d17e4eee31() + { + $this->assertTrue(true); + fn() => ($test || ``); + } + function test0db6ec48dda2675f28cf7d1d72607761d9c11a60729f260f31e9856713aea61b() + { + $this->assertTrue(true); + fn() => ($test || $test instanceof $test); + } + function test0f032d69c82a07b0c2151daf46b8824d9d7d6a5c26ae4379c92434857ec678e8() + { + $this->assertTrue(true); + fn() => ($test || $test === $test); + } + function test1e2cf2569610109e2eff16900926aafea6aa5263601db232505515f42729155a() + { + $this->assertTrue(true); + fn() => ($test || __FUNCTION__); + } + function test20a047d1450290716cbecc4604bb28ed8f884b47ccfd04da93a493687ea3ad7e() + { + $this->assertTrue(true); + fn() => ($test || ($test xor $test)); + } + function test21fd4ed14ead53648364a68d7d85d27b8e12903b28df3f1cbecdf4987f0036f4() + { + $this->assertTrue(true); + fn() => ($test || $test & $test); + } + function test261b8aa4854b7b07c5c4e279042480cc23d02c5c275f6bd09295d7fc1fc1f533() + { + $this->assertTrue(true); + fn() => ($test || $test < $test); + } + function test2eb6a932ea307aab54eb6407511db66396a693c750f8aaef15dbf09620213a0f() + { + $this->assertTrue(true); + fn() => ($test || (int) $test); + } + function test306603bfb6775eda98511e3b4d886f1cc1403e416f54d412254d704c515c1fb7() + { + $this->assertTrue(true); + fn() => ($test[$test] ?? $test); + } + function test33abed622c1f8fe9facf014b203a849ae2b337ac3ba82c668522a6d688fa40de() + { + $this->assertTrue(true); + fn() => ($test || $test - $test); + } + function test35851bf5064719cd97b4f605a3d6713382c2d02960dc0bf4b46984763ce4c39d() + { + $this->assertTrue(true); + fn() => ($test || ($test -= $test)); + } + function test37a11c00287bf7367b53ad6d3fd1accfcf6355731d4752bf9b286c0ca2189216() + { + $this->assertTrue(true); + fn() => ($test::$test ?? $test); + } + function test41da0adbdac03c53fed369bd728fb360622268855f614835f1be49e7dd0fe33c() + { + $this->assertTrue(true); + fn() => ($test || __LINE__); + } + function test46cbea8783485d528081ac7ff61ffb227ffb7e1701f977c04999b4fb5def6021() + { + $this->assertTrue(true); + fn() => ($test || "{$test}"); + } + function test47c298e3cecc3fc89f5ab75143001b7aec1392b57f89457b9777776922183311() + { + $this->assertTrue(true); + fn() => ($test || $test--); + } + function test4f84de56c1be4680807e4bbad1428d5c6561f167b335fe006da55997ebac7ec0() + { + $this->assertTrue(true); + fn() => ($test || (yield $test => $test)); + } + function test595e922b82b23c9078c5b8b820f9ec6abb0cbbc8e49fae38be9eb7ebe7c763ea() + { + $this->assertTrue(true); + fn() => ($test || (double) $test); + } + function test5b921728dabda469cac2a62bad866b826aa22604117ff00461d7f34adf861ac7() + { + $this->assertTrue(true); + fn() => ($test || __TRAIT__); + } + function test667cc4eaa9966201ce3909d90fb8931e24d5e2334af2f1031d306092119bbcee() + { + $this->assertTrue(true); + fn() => ($test || $test > $test); + } + function test672c23d4b1fd8d0c7e60ec457720f483bd94f4e98b1221bb0fa7b00fe6c707c5() + { + $this->assertTrue(true); + fn() => ($test || ($test &= $test)); + } + function test682ccff4d805b2fcaff524dd34128a8304e46642dc026e63cdb6639567c798b6() + { + $this->assertTrue(true); + fn() => ($test || $test % $test); + } + function test695b684d39c372e445107aacb5496f7861ba2dca5333898701ce91102d950871() + { + $this->assertTrue(true); + fn() => (clone $test ?? $test); + } + function test6d0c4dfbfbaaf68ff4faf0ebc3be666313ac06bdd1aa340dd053c28c0fd6ff85() + { + $this->assertTrue(true); + fn() => ($test || @$test); + } + function test73e0bdfefb07907f1ea352eb40ff2a97ed2f4d79504a4c2564d1fe52a14604de() + { + $this->assertTrue(true); + fn() => ($test || $test == $test); + } + function test78627eb7bd41bd8b4c403ecda6f95b95ffe0191089a4077b40757880763e9eff() + { + $this->assertTrue(true); + fn() => ($test || 'test'); + } + function test7ab70b80804cca85eb9aa38463b2a0c5d722b50213ede7605ccf3ba092b5a5e8() + { + $this->assertTrue(true); + fn() => ($test || new $test()); + } + function test7b67f01e98261db8938f6ee9655448724e331ae82ef554764dafd03ba46a2a99() + { + $this->assertTrue(true); + fn() => ($test || $test ** $test); + } + function test7db41780667b1f9a8b4090e34a9e4460b2b912c39acdf5b62f94df32a27725e1() + { + $this->assertTrue(true); + fn() => ($test || $test <=> $test); + } + function test7dfce68a73ffed4785b2106baf48adaae16711caf2dca636915ec97dab103762() + { + $this->assertTrue(true); + fn() => ($test || ($test ? $test : $test)); + } + function test7f296ecc497bb588c02e85ce71e378e9177ff8cb7f333c465e21027e43eeeaf4() + { + $this->assertTrue(true); + fn() => ($test || ($test and $test)); + } + function test887451b3b5756008265948e468cc50cb7265cfd92f198c72bc76110e08684019() + { + $this->assertTrue(true); + fn() => ($test || $test !== $test); + } + function test897b7a2e8806f595de5642e279545f38089e7c6b00e3fedc8a1c64f8f3042e74() + { + $this->assertTrue(true); + fn() => ($test || $test >> $test); + } + function test8cd6df06d5cf3277dca37a574a8848f032b4acc2edf09f823d0e797f4c84c830() + { + $this->assertTrue(true); + fn() => ($test || ($test .= $test)); + } + function test8f9b6a77a4a35eb95f598af3db7edfe41d3bdcadef037e8659d87afb0039ff9f() + { + $this->assertTrue(true); + fn() => ($test || match ($test) { + }); + } + function test8fa7261e8ed4aa58ff72103ed1a619d7dec5baf14c9dcb348c3d3e04d9d979e0() + { + $this->assertTrue(true); + fn() => ($test || ($test ?? $test)); + } + function test91af58bddded7b04a32355d8208f791d04e4a6c67a113ec3efb05ee61b10e3a2() + { + $this->assertTrue(true); + fn() => ($test || ($test || $test)); + } + function test9259f715abb811bfbe8f5e4aa068b2c3cd3942f2272073fc7264bc4239d57b5f() + { + $this->assertTrue(true); + fn() => ($test || $test <= $test); + } + function test9632f9b7815ca7bec9b4d94f2b921a351963482d05f3abe84bf98d6b6d740bdc() + { + $this->assertTrue(true); + fn() => ($test || $test | $test); + } + function test97280b695cb8ea71e4eac740f93b74428a048a07b8065e41d5938c30d849e4e8() + { + $this->assertTrue(true); + fn() => ($test || $test >= $test); + } + function test9b627c2679397a00667e36ee5ecf771b84ab7c61fe35f3340079cdf9843734ba() + { + $this->assertTrue(true); + fn() => ($test || $test?->{$test}); + } + function test9fcacb88fc855a31f9793876eccc55f87f9579f2df42517a0f68f322a995d57b() + { + $this->assertTrue(true); + fn() => ($test || --$test); + } + function testa21ceb069f3a52aa498a2a787b225eb8d3b9e14fe6972feaad10e3f3ca406094() + { + $this->assertTrue(true); + fn() => (eval($test) ?? $test); + } + function testa42ed8f86d55c8248475c2ae0f702428047081c55f7a49ce7b4dbfbf8bef8360() + { + $this->assertTrue(true); + fn() => ($test || $test << $test); + } + function testa6d6470cda9a7838f28f18f700297c8b5fc3b0b97054a35685e660fb08dabaaa() + { + $this->assertTrue(true); + fn() => ($test || $test::${$test}); + } + function testa8247d63bf2b1790785cfcc1b44130597968ba65f526e7dd94187fdfafc2e4f8() + { + $this->assertTrue(true); + fn() => (@$test ?? $test); + } + function testa862e8436cb9d23eaaf19a643adeb7c465e9a8f279d7246d06d71d05abdad40e() + { + $this->assertTrue(true); + fn() => ($test || ($test |= $test)); + } + function testa8d348f888483cff69608aa5336f857f5a1b9c3c5f5e84402c948d8c0f863534() + { + $this->assertTrue(true); + fn() => ($test || ($test ^= $test)); + } + function testaac921985af39f92e68e621eecadfee0be2f72fe00c090e70ff1dddd618f705e() + { + $this->assertTrue(true); + fn() => ($test || $test::$test()); + } + function testaba804d55d1591aba1d09edeed5e7f7744dc5ef392d4fec1e35c31dd5d0bb57d() + { + $this->assertTrue(true); + fn() => ([] ?? $test); + } + function testac59a0801e4d7f43fc65a57eed882a2033e205dd0df5661808d77223fc16ed58() + { + $this->assertTrue(true); + fn() => ($test ?? $test); + } + function testb0b87250b150ffac3201a5c35f9cab1cc5c33e42eab2fb5a1f778fbd1bea8cc9() + { + $this->assertTrue(true); + fn() => ($test || $test()); + } + function testb0e7c6d689493f6754deb23864f12faf706fc73e17fcf3eeffdd9e000eef23fb() + { + $this->assertTrue(true); + fn() => ($test || ($test **= $test)); + } + function testb18f631b5c944866e86ab1311862aaa2aecebb91e00d0d99741aabe0ef4daafa() + { + $this->assertTrue(true); + fn() => ($test || $test->{$test}); + } + function testbab1462d9127c3edceed4553fa07e49a4bf74fc62bc38e3a64ad493a837e1e9a() + { + $this->assertTrue(true); + fn() => ($test || eval($test)); + } + function testbd07ec8212632dd1c61c40bc893d58e43a33c539d28fab33afbab0047d462c4c() + { + $this->assertTrue(true); + fn() => (~$test ?? $test); + } + function testbd4cd51fdde1d95eeb3d029a506026832218f03e96c3298a8bfb87ab3d32df3b() + { + $this->assertTrue(true); + fn() => ($test || __FILE__); + } + function testbdcdd014cd259dc0e93468073179ed07cf590b1f36714b11e06a8b05588c5319() + { + $this->assertTrue(true); + fn() => ($test || -$test); + } + function testbfc88039be547e44569848ba684d56150358941a2e4d46371dc6487f86bdbe36() + { + $this->assertTrue(true); + fn() => ($test || (string) $test); + } + function testc12c154bad2c89016c167c1edcb4b28808f8c16059431dc4dd28aca6f4a17737() + { + $this->assertTrue(true); + fn() => ($test || $test + $test); + } + function testc248b9a0a4906f310030a7566b7a0bb3d5e5a703096773527ed0c9bd0ff898b4() + { + $this->assertTrue(true); + fn() => ($test || (yield from $test)); + } + function testc64803215572a18fca3f82638b0f273c4b24612777c71d47ecf4e8722027500b() + { + $this->assertTrue(true); + fn() => ($test || (print $test)); + } + function testc8f19ccfb16aba5492017d451b2133de50c25e33bececfb50f25aefb0297dc52() + { + $this->assertTrue(true); + fn() => ($test || ($test >>= $test)); + } + function testcd8f641f489dfa763ef5219cb8cf9c32006f07a7fd3437db7e533d1abaae26a4() + { + $this->assertTrue(true); + fn() => ($test || isset($test)); + } + function testcf4d24befd8d75da2f1c1f6a5d53e64d6929025e61d4d2bda10125d34903950b() + { + $this->assertTrue(true); + fn() => ($test || $test && $test); + } + function testd0613298326ab4078adadf74026f726acc2258136e5e72bb05b78b6c22cf88ae() + { + $this->assertTrue(true); + fn() => ($test || +$test); + } + function testd0a6000a52a3de38a9b9f87817e8195cb759e1ef8a240b994a4b5bb74c3c82b4() + { + $this->assertTrue(true); + fn() => ($test || throw $test); + } + function testd29f22ce0dbc3348460804e67a9210cbc6ef51c01d39f5cd30707e3de0474743() + { + $this->assertTrue(true); + fn() => ($test || $test / $test); + } + function testd36792ee1c278209813753753fed057e0435d52b9b86bf6dc487afbd3b78779c() + { + $this->assertTrue(true); + fn() => ($test || (array) $test); + } + function testd562b931a961a576aa63c9d6a2b32bb1f47571fb5704359078f9ded0bc68512b() + { + $this->assertTrue(true); + fn() => ($test || ($test or $test)); + } + function testd61414bca61e4ddc39b8076dc8273a844c77d83c3d40cb04e34b32796fbd1a9d() + { + $this->assertTrue(true); + fn() => (!$test ?? $test); + } + function testda4f101b815e400e0987e5c3fe76e1243042501950138c692fb93b88dddaf045() + { + $this->assertTrue(true); + fn() => ($test || ++$test); + } + function testdac5ce59999be468a13a00860457b936efbb7f9bfa189caee2da9f1392f6cb5b() + { + $this->assertTrue(true); + fn() => ($test || ($test <<= $test)); + } + function testdad95563dc7fa734b392c3557c5685f0c91eadbea069d37dae6cc5d416d21bc8() + { + $this->assertTrue(true); + fn() => ($test || $test->{$test}()); + } + function testdc7c411ffbfc747faaad2f604e1aeaf85a38dd514a1c5b604d2e4a334b7b1d27() + { + $this->assertTrue(true); + fn() => ($test || (bool) $test); + } + function testddc0c78c3639b6247fdda08f086e1a58d54f92c83c69f3b730cd7234d121df51() + { + $this->assertTrue(true); + fn() => ($test || ($test += $test)); + } + function testdf6925eef0a488fd71471a3bccecd37e1a3b37117705b7f356bc1d3888152ab0() + { + $this->assertTrue(true); + fn() => ($test || $test ^ $test); + } + function teste0a2a81b134d492b02b64871ad5126031fa4ffbe14a6517d80b8ed18fafaad52() + { + $this->assertTrue(true); + fn() => ($test || ($test ??= $test)); + } + function teste0c5157d49020685ba9780ffaa644c51c07b97dc9341a6977ced6d8b9967c3d8() + { + $this->assertTrue(true); + fn() => ($test || ($test *= $test)); + } + function teste385db1be4e5740fb6a64d2e2c5d9554ff42da42ab78226e82d2a5625c45b331() + { + $this->assertTrue(true); + fn() => ($test || __METHOD__); + } + function testebac5d3251dd7b5be84ea2d67b77c79410a2bf4e8d8d12140391b8b8caaa2481() + { + $this->assertTrue(true); + fn() => ($test || (object) $test); + } + function testecdbde2ffd51010ebd912f2a9cea8df081835b49a6dd76d158201d0f1e2ac26b() + { + $this->assertTrue(true); + fn() => (($test =& $test) ?? $test); + } + function testefa24ca02241234bdd331d4c820de4a3c1eee5ca96661865edbacfd2e507a9d9() + { + $this->assertTrue(true); + fn() => ($test || ( $test)); + } + function testf1b473d8d55eea0e7309e5458fb669ec6e6afe106b4ea67e48a16345d895e2f2() + { + $this->assertTrue(true); + fn() => ($test || ($test /= $test)); + } + function testf1cc6d7b65028fe68ba66db2d561ce94cd2d4b5290da88854795c236ffb1d8a7() + { + $this->assertTrue(true); + fn() => (($test = $test) ?? $test); + } + function testf3a8a5c962468df5f69a49fea0335d1663eaea95aa05ff2921088637f7dd75fb() + { + $this->assertTrue(true); + fn() => ($test || $test?->{$test}()); + } + function testf6b24823075b4fd8fd93029dede22e32c2a0b01bc9f8179cd30c113b42ab4474() + { + $this->assertTrue(true); + fn() => ($test || __CLASS__); + } + function testf8ccd7d2347250124ba1646ad6c4ecc686e9dc686120bfe25febf820109072ef() + { + $this->assertTrue(true); + fn() => ($test || ($test %= $test)); + } + function testf9d39b5bf651bcc25f149150e50536e02460dad0913ef4f95a87157ea28c99bb() + { + $this->assertTrue(true); + fn() => ($test || __NAMESPACE__); + } + function testfa39c9f7aaac82c8bdc075fdc711c94869951f30d3bd2232d3fc79182f2f7e1e() + { + $this->assertTrue(true); + fn() => ($test || $test . $test); + } + function testfa3ccd091dd9c3df1ea631c324c18f3b48c88f7271062a6052335e54bc5b0ff4() + { + $this->assertTrue(true); + fn() => (function () { + } ?? $test); + } + function testfe0b105d9ade9adc061b491de99a74467a3e568fb8a227778059020231dbfd2a() + { + $this->assertTrue(true); + fn() => ($test || 0.0); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php b/testsGenerated/Target/Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php new file mode 100644 index 000000000..d1d457d69 --- /dev/null +++ b/testsGenerated/Target/Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionf2c31c344824f4de1297ed9c132aee66e41d5ac5ec8c0be1e82e1a365ec38f32Test extends TestCase +{ + function test02165b7bca9afd3409f2d0496436a4ecd722b834bdff3b0576f2432534f25ea7() + { + $this->assertTrue(true); + fn() => ($test ? $test ** $test : $test); + } + function test0413c19ffa9294cb22468693ce75c2d6db46128596f1d0f586fb4a1ea8888c1a() + { + $this->assertTrue(true); + fn() => ($test ? $test::$test : $test); + } + function test04c0fb90f673f5fc9834c69a8e2df0582bc7e866ffd30cd2041e79c1f4873ea2() + { + $this->assertTrue(true); + fn() => ($test ? $test == $test : $test); + } + function test072fd5e0c31302629a7ce4a55c06aa9a84066f5bed1b564d4aac411c9667560b() + { + $this->assertTrue(true); + fn() => ((string) $test ? $test : $test); + } + function test08c496e2473b402d0fcc56922e1dbea89540c681808733bbe73236262b249822() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test); + } + function test0c37af73e9c6e66a196883247732fd1a523b98548795bebffb617c375147cd53() + { + $this->assertTrue(true); + fn() => ($test ? print $test : $test); + } + function test13302f06c12043618464a07fcc084d3696b4e8fd16f091404a4ec573286eab14() + { + $this->assertTrue(true); + fn() => ((object) $test ? $test : $test); + } + function test178574306aa29a0ef714702e3dd16b9b9549a2f43aa20537cbdbb6e38b645933() + { + $this->assertTrue(true); + fn() => ($test ? $test <<= $test : $test); + } + function test17f4ed840ce4c17c7cbef706f3830f31d43f89cf95cb9e7af3b21e79dfd65e50() + { + $this->assertTrue(true); + fn() => ($test ? (bool) $test : $test); + } + function test1f4dc89c36999f28932a3f574b6d329b043985ac7653d3c6a7e4a6203b9328dd() + { + $this->assertTrue(true); + fn() => ($test ? $test ? $test : $test : $test); + } + function test222f0106b747d0162573f9a1f63f4ae55c98ffde510c16f63d712ac6e720a31c() + { + $this->assertTrue(true); + fn() => ($test ? $test != $test : $test); + } + function test29e4716a0799e0acd7398aba421cf368d8da4f06ab3108aa7a2fc8abf3952012() + { + $this->assertTrue(true); + fn() => ($test ? $test >= $test : $test); + } + function test2d911a60bbcd9cf22dcf83fd1af37322e8128f1ecd35298c615e3487c9a529e4() + { + $this->assertTrue(true); + fn() => ($test ? @$test : $test); + } + function test3036fac11c789b7a4fb1cadacf1e6ede5f959f23ecf715fba5e566cf7722711e() + { + $this->assertTrue(true); + fn() => (0 ? $test : $test); + } + function test32106c10d4adff89bccb4fb0c32488be7708d7510354379433314f1595fe395e() + { + $this->assertTrue(true); + fn() => (__TRAIT__ ? $test : $test); + } + function test32334bdc006bb34c7345ef2c08787f6b7bfc8924149b40184a273566ad4d6a51() + { + $this->assertTrue(true); + fn() => ($test ? -$test : $test); + } + function test32b8f39691f48d0f2a245f4b53f4376b4722aa870122eea6bf8f35e629955e45() + { + $this->assertTrue(true); + fn() => ($test ? match ($test) { + } : $test); + } + function test3501410c34f2e2a6241a7f41acfe93747f7a5c5b36debada41e924837c949531() + { + $this->assertTrue(true); + fn() => ($test ? $test ^ $test : $test); + } + function test388b4b0cfef8041d72020a48bed6b68a00d03d078fa100ca62e30ecbbd075ccd() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ ? $test : $test); + } + function test3a73a44f67a65513e957ac338882558b075d5b507b6f0688079dea811fdd1f3b() + { + $this->assertTrue(true); + fn() => ($test ? $test > $test : $test); + } + function test3c2ce93c56fe28150cebde4e15fe190bcb2652df6a878fe03627b894fd2083b0() + { + $this->assertTrue(true); + fn() => (__FILE__ ? $test : $test); + } + function test4017c07235dbd34a1e9a1c9d9297bacf3dc7899c6cd7d744ef45c89447ab8a12() + { + $this->assertTrue(true); + fn() => ($test ? $test *= $test : $test); + } + function test40a817caf79a6047318c2a20df51567263064047d4174e69f4b4b1241263d4e9() + { + $this->assertTrue(true); + fn() => ($test ? $test and $test : $test); + } + function test40d576617bf52513db0296daa69561bd7eb627f90e22787f5816482e0d5e9d7b() + { + $this->assertTrue(true); + fn() => ($test ? $test &= $test : $test); + } + function test4590ae913de371d834c71de56d2d740e34ba50e4d2392bc7db8aa3f4e2a24452() + { + $this->assertTrue(true); + fn() => ($test ? $test .= $test : $test); + } + function test47bb2e38f31c908d94ee8ad2ca7246025dd7cd37b3b0334eb3e8b84d9993aed4() + { + $this->assertTrue(true); + fn() => ($test ? $test xor $test : $test); + } + function test47d43d509e02821845f8718e9d6e5228a35ab10d9a187765cb31022d22d8f0e4() + { + $this->assertTrue(true); + fn() => ("{$test}" ? $test : $test); + } + function test4d2ed78b416d77b7d533951e9fee2b336b7c6a7acd27d300f888c664bb752e12() + { + $this->assertTrue(true); + fn() => ($test ? function () { + } : $test); + } + function test4fcbc1800d89c3d507f06642bd7cd6475e526358e77e2b8c534fe3571660b373() + { + $this->assertTrue(true); + fn() => ($test ? empty($test) : $test); + } + function test50de6ddae42fc76802f847c04b1ffc4064fd051de9186d690e1c295ec24b7559() + { + $this->assertTrue(true); + fn() => (__CLASS__ ? $test : $test); + } + function test5403f540e4a057727987269454e7f05e1c6eedd3df366045f398b266120ea61a() + { + $this->assertTrue(true); + fn() => ($test ? $test || $test : $test); + } + function test553aac137fde73fc56af4e0a471bf3f54d14ed25601f79603aa9eabf8c43df8e() + { + $this->assertTrue(true); + fn() => ($test ? $test instanceof $test : $test); + } + function test553c3c326403c77f09d561aa00dba074668e5ae1b4a4b337c535d51d612fbec6() + { + $this->assertTrue(true); + fn() => ($test ? $test / $test : $test); + } + function test5ce5f9fc496263436a3a898ad496dbd07fe3a365dbe4fcacb8fb5e157c2bcf00() + { + $this->assertTrue(true); + fn() => ($test ? $test >>= $test : $test); + } + function test5dd8bfb3d010c4831a1eb0f555038950c4df680d161d40fc18bc6ad6ad79c70a() + { + $this->assertTrue(true); + fn() => ($test ? $test /= $test : $test); + } + function test5f7e471670f5d749f45ba96069c965b0f85c7eb0486435343ecd786176211016() + { + $this->assertTrue(true); + fn() => ((int) $test ? $test : $test); + } + function test624ac40b58b50be2aba107afb11873753d1d66a5a4f5b5a6a07f803c0de902e6() + { + $this->assertTrue(true); + fn() => ($test ? $test >> $test : $test); + } + function test650f672f31834a5a79986caf6c63f0e8f73aee788175558d957d33f2d7c53302() + { + $this->assertTrue(true); + fn() => ($test ? (int) $test : $test); + } + function test65de5c7fa3607276136ee8a4f31355512f7d01f8d34bdde8d39e99244bd3cd27() + { + $this->assertTrue(true); + fn() => ($test ? $test * $test : $test); + } + function test68354173ef3c5960e8fdca53f3f82e6652211a87cbca41aac9b522985d0bd65e() + { + $this->assertTrue(true); + fn() => ($test ? $test->{$test} : $test); + } + function test68d877a57002dc095b2b2f43b74ddf63d1aef05e601b9a6c682e624fa4066429() + { + $this->assertTrue(true); + fn() => (__DIR__ ? $test : $test); + } + function test6a194fa6a861cbf8abd83ff321ba53021ed4f905e8466ccc006e46bbab47ddb2() + { + $this->assertTrue(true); + fn() => (0.0 ? $test : $test); + } + function test6a8b4ffc786b0fa1d5c8b0b33d9cfea4c2fb19967e9a964aa9377f5f02cb27d4() + { + $this->assertTrue(true); + fn() => (__METHOD__ ? $test : $test); + } + function test6e9a2d081452e46fa3eb9796e825ba9f16da39596d7b848f89ec4f1b5c5fb29a() + { + $this->assertTrue(true); + fn() => ($test ? clone $test : $test); + } + function test7024286126c3c0b56823829c5fa1d6144241e956e87d925b15ffe687e983828f() + { + $this->assertTrue(true); + fn() => ($test ? $test **= $test : $test); + } + function test744581122742eb387f540ee1f5cf7b14a6c7a3603017f90db40bf3f4e32a30e9() + { + $this->assertTrue(true); + fn() => ($test ? --$test : $test); + } + function test76d401fefe6ca417d65b26afdff33318aab7c52823972cdfe505b737249a4040() + { + $this->assertTrue(true); + fn() => ($test ? $test->{$test}() : $test); + } + function test79cd2d3a0319e328058d4a5131b8cd68f52717b2d7092d5a652926d19c268de3() + { + $this->assertTrue(true); + fn() => ($test ? $test::$test() : $test); + } + function test7cf3ca4f3758d09d37c120a2eaeda25f0f7eeb8063d1b8aff602d670c4cced9e() + { + $this->assertTrue(true); + fn() => ($test ? $test ?? $test : $test); + } + function test7d5218bb37ee5b922d4817c68f2d450076771384df11777dbc4746e53bb7b98e() + { + $this->assertTrue(true); + fn() => ($test ? $test ^= $test : $test); + } + function test81ec1ff4e2ebfbc36b704df4c524b79e2c7dcdf30cd0b7fd00e7d394b1d9df84() + { + $this->assertTrue(true); + fn() => ($test ? $test() : $test); + } + function test828a49d0d87c02a4dfff32d4bd34ead8f0eba27af52652207361c21e6f514629() + { + $this->assertTrue(true); + fn() => ($test ? $test !== $test : $test); + } + function test84daf705554ac08113f67950f7b8cb791699a72d5a0ae35a10d6aa79a642beb8() + { + $this->assertTrue(true); + fn() => ($test ? isset($test) : $test); + } + function test88a26799b570ac1bb2a00ef6880f3cbe3794cfea0687f68a3e0f6cdbdb5dcc77() + { + $this->assertTrue(true); + fn() => (__LINE__ ? $test : $test); + } + function test8bad1bfa4b9bed7ef87cc52a306d3055cae676d31e5842fdd0b1ec3aa1d60016() + { + $this->assertTrue(true); + fn() => ($test ? $test === $test : $test); + } + function test8ebb57ea4ff0f15537dcf5ff20ad7e8036770de9776b0f51eea11967b01d2cac() + { + $this->assertTrue(true); + fn() => ($test ? $test %= $test : $test); + } + function test8edfbcba8d9f3edeba287c9e45382ca7068190c66a4b69555ef06373cb9f517a() + { + $this->assertTrue(true); + fn() => ($test ? ~$test : $test); + } + function test8f9f6848beb2b35d6332db440a23c025363feffbb80e8cea647c2badea89f21b() + { + $this->assertTrue(true); + fn() => ($test ? $test . $test : $test); + } + function test92a4f565174a1b458a3423908e6339e78d9c87502639d94843bf96a95c7450b1() + { + $this->assertTrue(true); + fn() => ($test ? $test <= $test : $test); + } + function test93c59a2e00a7cf3f393db1f49571153623ad601763db1b8ca4f7ba862b266030() + { + $this->assertTrue(true); + fn() => ($test ? (object) $test : $test); + } + function test9558b486b62519e61cbb0fa2d58eebf2643385c72668272adec9f528167fabb1() + { + $this->assertTrue(true); + fn() => ($test ? $test -= $test : $test); + } + function test9bf6718c18b414542a5d2eedcb8ace410aecd7d530f34f64bdbe010a122d5129() + { + $this->assertTrue(true); + fn() => ($test ? ${$test} : $test); + } + function testa2df7b92806b4f173b71c2790e64b0a1a50c7d6a581fc258e45610a5f6b9c8a2() + { + $this->assertTrue(true); + fn() => ($test ? $test << $test : $test); + } + function testa7572bf006ec59e180c6f105fe0df564b0d74cf1282859b4cffa94a88d92eb0b() + { + $this->assertTrue(true); + fn() => ($test ? new $test() : $test); + } + function testa7cac987a2166464a5426251f5ccc83309e9ecb694cfc2cecf2604cf850168a5() + { + $this->assertTrue(true); + fn() => ($test ? yield from $test : $test); + } + function testa999393876bb3279a9955d5338ebb40ad004682b41291cf88dd00adbb8cdd084() + { + $this->assertTrue(true); + fn() => ('test' ? $test : $test); + } + function testa9fcafa0049797a82a7c37c46cdb877120a5488f222652e2febd9e0af30b23d1() + { + $this->assertTrue(true); + fn() => ($test ? (double) $test : $test); + } + function testaad407cd35952ae3c96c09aeabb9835879365ed3ccadeb400b4a568026eb4888() + { + $this->assertTrue(true); + fn() => ($test ? throw $test : $test); + } + function testabdcf3c921fc8c4c979ccca9a09fad0463b3ecd121f8998a27316754e7fb21b3() + { + $this->assertTrue(true); + fn() => ($test ? [] : $test); + } + function testb057dee030e3d44061baed711edfbb1601e42889aaa60dba30127a00ccc6e88f() + { + $this->assertTrue(true); + fn() => ($test ? $test < $test : $test); + } + function testb0a37ec127423a9b0f13bed06060810d7fba1d4c35b1e21880de151a32722fc0() + { + $this->assertTrue(true); + fn() => ($test ? $test % $test : $test); + } + function testb0f4f61a4578b01672bf32e88b9691d93c6c8d4dbc8bf4d979afa5fd7872e947() + { + $this->assertTrue(true); + fn() => ($test ? !$test : $test); + } + function testb238946e231290c80ecf175112ede2359f63a921a9b65935663135f3fcb2f02c() + { + $this->assertTrue(true); + fn() => ($test ? $test?->{$test} : $test); + } + function testb2c34ee55b8ae255252f9107764d209d56dddf8e946b785ed4a825114bcf318c() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ ? $test : $test); + } + function testb358790561e2d7c9c43ddf6237f84854068568ee9be6dd2eabd66d731639dddc() + { + $this->assertTrue(true); + fn() => ($test ? $test[$test] : $test); + } + function testc0251d885e0211296da36a58bd15cde6fd0d65c9981f7115af6dbcf1f2552c3c() + { + $this->assertTrue(true); + fn() => ($test ? $test::${$test} : $test); + } + function testc49b482338ca92d0e2f1e3f66531bcea394ea755fa3be66053c422e97952982a() + { + $this->assertTrue(true); + fn() => ($test ? eval($test) : $test); + } + function testcd25435e15348b4cc4a24860ca25d7f91875baadf338be28e9fabb4ea9d3293a() + { + $this->assertTrue(true); + fn() => ($test ? ++$test : $test); + } + function testcd3c8a8d4d9e819493476f9fc1fc49cb3265b579f88b638f7fb35ee6281eebf2() + { + $this->assertTrue(true); + fn() => ($test ? `` : $test); + } + function testce69dac6b68c8357eab5d7ccfc050d645d12ce4b3eefb21f844e8cf38139c3cf() + { + $this->assertTrue(true); + fn() => ($test ? $test-- : $test); + } + function testcecd20eb30910c1914153c283445e5771981051f4b2f6e8af89a690449ac74c6() + { + $this->assertTrue(true); + fn() => ($test ? $test = $test : $test); + } + function testd0a5c6f87429a0cfb96226719c72466968bf37318997a3ac74837cbed6ae7ef5() + { + $this->assertTrue(true); + fn() => ($test ? $test ??= $test : $test); + } + function testd5697482effef4b108ea80c6a9ec11e8e9edb747e4b15b84780ac86ecc0c944a() + { + $this->assertTrue(true); + fn() => ($test ? self : $test); + } + function testd61427f141f88c52cb80a359f3470d2d01e2cd2949a8c5caa7afa91e454a5abd() + { + $this->assertTrue(true); + fn() => ($test ? $test && $test : $test); + } + function testd84f4b9522d7e2710cd121e8108b3edd9c6e069e14943c865789c57f03893962() + { + $this->assertTrue(true); + fn() => ($test ? $test =& $test : $test); + } + function testdd87b6789f69f4aebc170b83d913b6ae3dd194fffaba78fd6c122186889f22f6() + { + $this->assertTrue(true); + fn() => ($test ? $test <=> $test : $test); + } + function teste167ac209d41e70da5dc4b644c3c4af6f193294bc62d7ba6804631fea8922707() + { + $this->assertTrue(true); + fn() => ($test ? $test += $test : $test); + } + function teste3a81f9397a36f2228a2bf2ce88f9797cb48a34fbef7f88969df76b4499d982a() + { + $this->assertTrue(true); + fn() => ($test ? $test | $test : $test); + } + function teste476fbe55eede36a47e7a5db571b7619b7793b7fd739a5c52130fe4b21cc111c() + { + $this->assertTrue(true); + fn() => ($test ? $test |= $test : $test); + } + function teste8da2570ebc0ac347f1a68d413d1bbb332692b2bd2979d23a67195d8662c3b5b() + { + $this->assertTrue(true); + fn() => ($test ? (array) $test : $test); + } + function testee7bab7b9da1489a7a408caf5ce52c1051129ee4ea91a8b7d24765c72f2f7dbc() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test); + } + function testf04704966621afca6554092617aa95cc77713005549994cabe0fee28e4f3e8f1() + { + $this->assertTrue(true); + fn() => ($test ? $test + $test : $test); + } + function testf079b25765a7e5f98e7ce1f84ccaa77c09b857a087e2a223dee97165e0c5ec37() + { + $this->assertTrue(true); + fn() => ($test ? $test?->{$test}() : $test); + } + function testf22c505dfd51d41f1aabff68c52dbb8b9f91a143a2c73a4b31db719f78e16229() + { + $this->assertTrue(true); + fn() => ($test ? $test or $test : $test); + } + function testf45fdda649a436525f1cb7a61ab8503ed8498cbd27276f45519b0eee821785d5() + { + $this->assertTrue(true); + fn() => ($test ?: $test); + } + function testf8e23aeeafce2c932e60e18b6eee1dcd35038a23c4f54ee3a373797be7cf2ab5() + { + $this->assertTrue(true); + fn() => ($test ? $test - $test : $test); + } + function testf9fea1ff941abbe3d4cc61896948b3521d4138e5bb66e716735607dc93882c61() + { + $this->assertTrue(true); + fn() => ($test ? (yield $test => $test) : $test); + } + function testfd0a902abc511b437e87933d9f8884dde7c04eda34c745dd6aef61e687581d6e() + { + $this->assertTrue(true); + fn() => ($test ? $test++ : $test); + } + function testff922e91e61eb1d8cb34ac4ae14deb671a86fd0de35b4b0ae1edea7f50916788() + { + $this->assertTrue(true); + fn() => ($test ? $test & $test : $test); + } + function testffd9ce6b71194cee96865a29be38ee316a705f531891c32a86a0ccd958cd127f() + { + $this->assertTrue(true); + fn() => ($test ? +$test : $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test.php b/testsGenerated/Target/Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test.php new file mode 100644 index 000000000..d064cbf12 --- /dev/null +++ b/testsGenerated/Target/Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionf4c9593a64c1ae180025ca3e3c7da13ad7ba05ad9955af9124a22a06ba6cd381Test extends TestCase +{ + function test0478fd233dcc1ff6297fcd7a703e7db8d3f06d2f3267247e8a2f553eb593b876() + { + $this->assertTrue(true); + fn() => ($test * $test->{$test}); + } + function test05091924041e34e74b8a8da1032f6c3ca306da2b2f7472778040e8afbe7d1201() + { + $this->assertTrue(true); + fn() => ($test * ($test % $test)); + } + function test0c95ddf53ed5ef53daa259a5fab3bdec5e8831e044a39d6e4bd28475c45a3ad1() + { + $this->assertTrue(true); + fn() => ($test * $test instanceof $test); + } + function test134d7755d89900fc96b1ca1c9e4a50cc93003f50dd9218eeaff4e38667d00329() + { + $this->assertTrue(true); + fn() => ($test * $test->{$test}()); + } + function test180a73d7a5466f840fa98b2903b9a07ff1b2918e8b0e701d4ca5b7836dfda3de() + { + $this->assertTrue(true); + fn() => ($test * match ($test) { + }); + } + function test18e125bb5958b39d7cc3f73e15a5aaf087a1823976457d840fef71f0f7ee7c42() + { + $this->assertTrue(true); + fn() => ($test * $test::$test()); + } + function test1b50cb44deb53ac8ca1f25fddd2f5439afa3fdb2fa2974f2afd999a6431706c7() + { + $this->assertTrue(true); + fn() => ($test * $test?->{$test}); + } + function test1d0158e183cb6a7ea133e9e1e5fc16822e7773150e18a4488d77cc2b88f89ab2() + { + $this->assertTrue(true); + fn() => ("{$test}" * $test); + } + function test20c0e5a00bf6e101abcd0f0ea8d4d8c013e74942f2679f6678888395b8459ae7() + { + $this->assertTrue(true); + fn() => ($test * ($test !== $test)); + } + function test2303b271ce39ac353aa8e5924f5fdbf7553fd17e4c4a9c6f49e06d9b3d77a39e() + { + $this->assertTrue(true); + fn() => ($test * 'test'); + } + function test2374cc7b2777c2cd49236f2c71f2d235ed131b14f768de442876803c3eb61b6c() + { + $this->assertTrue(true); + fn() => ($test * ($test ^= $test)); + } + function test25ac557c6438315305c081727d91c202d12313860198a0f9b34e816119c51fc9() + { + $this->assertTrue(true); + fn() => ($test * ($test != $test)); + } + function test2865522c480bfb0478b0cb86c53ec4bf141a0aa70bf752f6102de4c5c5a4eb09() + { + $this->assertTrue(true); + fn() => ($test * $test()); + } + function test29c837c77f2982055064ddb6a4e3e2321690e7e8fa03ec87ea138818b91b3c32() + { + $this->assertTrue(true); + fn() => (__TRAIT__ * $test); + } + function test2aa7a79ce80c52ea3ec15da4ad0efb31533543192db1e7076e72e949b890521e() + { + $this->assertTrue(true); + fn() => ($test * ($test *= $test)); + } + function test2aed5e91a62c6bcc8ea13b4e4b5242d02c2e0e33e4636a054537996baabff233() + { + $this->assertTrue(true); + fn() => ($test * "{$test}"); + } + function test2bb5fb95cb81f9f486d4a9f612f0b82bbb0ef145c31d1909a7623c87c9871131() + { + $this->assertTrue(true); + fn() => (__LINE__ * $test); + } + function test2e626fc543cf45c0ee5aae2b2ce934c5da89ec7832637a522eb13b77918dc045() + { + $this->assertTrue(true); + fn() => ($test * empty($test)); + } + function test31eafe2ade685ebc9dbe103e1382290da9ecce3d5434e650ca7ad3e36a40fff2() + { + $this->assertTrue(true); + fn() => ($test * (object) $test); + } + function test3689417c1d8f6b2c7a9258504de1087c18dc08016f02686a1c9b8f0b2676e03d() + { + $this->assertTrue(true); + fn() => ($test * ($test === $test)); + } + function test387e18938551e3eaee17bd3cc39778caa1a5997e1e2d02d6f24e67a5c2d9b70a() + { + $this->assertTrue(true); + fn() => ($test * ($test -= $test)); + } + function test39c2bd91b71050980eda9dedbd10c3e6722d78d6a93d947355569a61bd1a2557() + { + $this->assertTrue(true); + fn() => ($test * -$test); + } + function test3ec20a4494c82aa56b421385b87bc75f21dd8e49a74fa3c78843c8a57866736c() + { + $this->assertTrue(true); + fn() => ($test * ($test | $test)); + } + function test42c91a5c1c6ec0a43724bf20ab1a6bd85ace00314a879571021823b43e4e0a1d() + { + $this->assertTrue(true); + fn() => ($test * $test ** $test); + } + function test4f6795e048f6e58b21904c8632fb049d1a4c4a378596426e3460d172db98b55a() + { + $this->assertTrue(true); + fn() => ($test * ($test = $test)); + } + function test4f7fa6c93c8574e09eee4c946da268afd482ef28d8d1b5865607e51ad8552769() + { + $this->assertTrue(true); + fn() => ($test * (int) $test); + } + function test4ffce180560633bc9ac45a8db0ac727cc85839f8dfdce5f884f4af46bc3680c3() + { + $this->assertTrue(true); + fn() => ($test * ($test / $test)); + } + function test5876bc898f18d618ad0ba6f08d75c89bb0ddf9da2e8d7541c1b7eaeebc414966() + { + $this->assertTrue(true); + fn() => ($test * ($test < $test)); + } + function test592396ead87b3c72f7eedc3401ab4ddebfd51003fa4380fc1daefa513d1a39c7() + { + $this->assertTrue(true); + fn() => ($test * ($test == $test)); + } + function test59624dc80fcddbcd5f6486e7f26a6ecc00629c5db3446b533936ccd45c45d02b() + { + $this->assertTrue(true); + fn() => ($test * ($test + $test)); + } + function test5b2b971aff022c92dcc393474385b2211046eb1270ca59a3a005751e96bc61c3() + { + $this->assertTrue(true); + fn() => ($test * $test?->{$test}()); + } + function test5c21f2790f1b06dd463cbd6bc86f2e0ebf1c67b00323a531c2ec18b43fa61988() + { + $this->assertTrue(true); + fn() => ($test * ($test > $test)); + } + function test5d660a11cca5b02540fd850ecc59a2ce4448fede1382e81a89386ace79e54fdd() + { + $this->assertTrue(true); + fn() => ($test * ++$test); + } + function test645b216b0f7f4865a8763d287539ca27afdc4b521acf9f226b8bcf3848006340() + { + $this->assertTrue(true); + fn() => ($test * ($test **= $test)); + } + function test650a8af1ced4e8fb491d74b63df71d17cfed19a8c7a1039f0463d3e4f1316973() + { + $this->assertTrue(true); + fn() => ($test * ($test <<= $test)); + } + function test651e218b2025049bed72cb35e14bf38d644024c2bcbbcad70b93b21aa0531514() + { + $this->assertTrue(true); + fn() => ($test * (array) $test); + } + function test660881daae48c9786127ed958a8a78010b7f8879ebdf9a6ecba0ef72c4aaa3b8() + { + $this->assertTrue(true); + fn() => (__DIR__ * $test); + } + function test68b675ca83a9d5ba6ef64021f89a14026fa0af38a3effb02307eb7becbb54471() + { + $this->assertTrue(true); + fn() => ($test * $test::${$test}); + } + function test6eda277e623a9cd19c28eaafe713af768831c6c5984032b033db9aace5dd129c() + { + $this->assertTrue(true); + fn() => ('test' * $test); + } + function test729582a943105207aefb70a42b1409603605e35e3a27659f3f6eca5465436907() + { + $this->assertTrue(true); + fn() => ($test * ($test xor $test)); + } + function test74cf8180a3d1e35de3462294d1de9544d75de28feb56ff77e9ac2240ce06087a() + { + $this->assertTrue(true); + fn() => ($test * ($test * $test)); + } + function test76d52f9ed58c8cfea3a058b63e3cdca625ac6adc4213521c553a4e4dae1235ae() + { + $this->assertTrue(true); + fn() => ($test * ($test =& $test)); + } + function test7781cdc720ddb8c9aed9af1b91e6d33494b4b2167b35bd4a752b20e4b1c9329d() + { + $this->assertTrue(true); + fn() => ($test * function () { + }); + } + function test7cd0bdb6d18da6268239dea88559c45f720a910e352a3106be618077b8f1a0c3() + { + $this->assertTrue(true); + fn() => ($test * ($test >= $test)); + } + function test7f505dd3eaacaee1870d97a33bdfed37cbf298c42d4685be7e2face03d90771b() + { + $this->assertTrue(true); + fn() => ($test * (bool) $test); + } + function test886c25e18126406bbca79227d4629603f46eab985f00e76c065873dd301326ca() + { + $this->assertTrue(true); + fn() => ($test * $test++); + } + function test8905893b152d5964b10d3d691c8d230f8958143f3dbf9d9af72dec1fd13a0262() + { + $this->assertTrue(true); + fn() => ($test * new $test()); + } + function test8b211cc1c45795b24b1ba94611672481791f3cb3c12e366f1ee5bf845e0ee559() + { + $this->assertTrue(true); + fn() => ($test * ($test && $test)); + } + function test8c14f8a12206c2d739069b0778e09605ecf09411c4f92e79d91659919f55ca55() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ * $test); + } + function test8faf210b4cb10772de20607f5b2a87bafa8499bbb1652578698df71a8e5a263a() + { + $this->assertTrue(true); + fn() => ($test * ($test ^ $test)); + } + function test92284c39b3ef5c0dbb48259d491f98e65589034c40af0de6167eb675549b5bde() + { + $this->assertTrue(true); + fn() => ($test * ($test and $test)); + } + function test9269567808962ccbbc40a2ade1a2b041406eb723b7b32a0b99bb99f699ed4814() + { + $this->assertTrue(true); + fn() => ($test * ($test >> $test)); + } + function test936d5164791196644c4e1cf2fe64880b0e6644c846f721677ff8660940388a5f() + { + $this->assertTrue(true); + fn() => ($test * @$test); + } + function test95c81cb9fc6a1fac6fa53a73abb65ccfab544ea71b6ac0717dba0bf1df1dedce() + { + $this->assertTrue(true); + fn() => ($test * ($test >>= $test)); + } + function test97dc2941b9981a75aa312f784e8611a0cb89bf15fb175297c4b8c15a447bd3c5() + { + $this->assertTrue(true); + fn() => ($test * ($test |= $test)); + } + function test99b42933657316732eb35cd49aa0c925d096002f3aa2fe21e8124754b381b3bf() + { + $this->assertTrue(true); + fn() => ($test * ($test <= $test)); + } + function test9a8b6f606a8f41e9402460508490a9f01e2b778e78824e78e3621472c5d8dbf6() + { + $this->assertTrue(true); + fn() => ($test * ($test &= $test)); + } + function test9b256126702ce27ea7135314d306fa74a473485dfa09079608a06dda96eecb04() + { + $this->assertTrue(true); + fn() => ($test * --$test); + } + function test9b81c1b7cc74e3bd8ca9c50d8440eeb541406501c2689fbb31dd35d74c7708ce() + { + $this->assertTrue(true); + fn() => ($test * ($test += $test)); + } + function test9c8afdb69be1aa584ac051356171bf91b90b526bbbb72bed34671572baf17543() + { + $this->assertTrue(true); + fn() => ($test * eval($test)); + } + function test9d931cbf813769106f7136b4d8a68769fd2da0664bc31c35671509c5583ec415() + { + $this->assertTrue(true); + fn() => ($test * ~$test); + } + function test9e36dafa723ef8c56b533050ad087263d5a088bdadec5b6ba329190379e4b1c5() + { + $this->assertTrue(true); + fn() => ($test * ($test ??= $test)); + } + function test9f7c387f07a57eb0377cc5eb69140cadf7b0c8498ea7294c213917ef18f77a39() + { + $this->assertTrue(true); + fn() => ($test * isset($test)); + } + function testa1af0ec2073bda06a28b3751b2682889d2bddd20c7bd92f573f4636d4e013102() + { + $this->assertTrue(true); + fn() => ($test * ($test & $test)); + } + function testa4b86ef05a31252204f7595be3c9e2096d7837a41430de5b6267fdb5e050579b() + { + $this->assertTrue(true); + fn() => ($test * ( $test)); + } + function testa5f6e8e2409357db1f0f81a65f1490777c1fd6d0a3b844362bed2351324330be() + { + $this->assertTrue(true); + fn() => ($test * $test); + } + function testa715b0dffb44c7c31dd020fd6e9b51e6c17788b152dc55db6db15fda736904f8() + { + $this->assertTrue(true); + fn() => ($test * $test--); + } + function testa817fbdc490bdb85602a1c0829a7cab401d0656715b0cf8681b917d2bc47dd9d() + { + $this->assertTrue(true); + fn() => ($test * $test[$test]); + } + function testaa3aac3dc39dba4ee4f9c6e0979d484c8fe388f2b5fa81ea6ac079550ff396a2() + { + $this->assertTrue(true); + fn() => ($test * ($test - $test)); + } + function testaaba4bec298d1182c8991ba7ae14e4d20047e1875c795b12cecdaa7867dced71() + { + $this->assertTrue(true); + fn() => ($test * ($test or $test)); + } + function testafbbe911baed6e4ac9729d6669039f5dad49e53f34a0e2b3d08b69102c2306c1() + { + $this->assertTrue(true); + fn() => ($test * ($test << $test)); + } + function testb0da058bfe2b715e9fc459088eb77aa888e6960da13ff67e7d2973eb157be986() + { + $this->assertTrue(true); + fn() => ($test * (string) $test); + } + function testb724e51e21dcc2a40ab655af04d7054b10a4c9fa403997e0a423447dfddfb8d1() + { + $this->assertTrue(true); + fn() => ($test * (print $test)); + } + function testbae46557c6c1aed3d80d733bb4d7967d3988254bf5b48669d8897710f9c3389d() + { + $this->assertTrue(true); + fn() => ($test * $test::$test); + } + function testbb5a9a81b0a131bd06772f759f659a0a7b4c4894eb48eddb2ded8a6625451b76() + { + $this->assertTrue(true); + fn() => ($test * 0); + } + function testbdb77bfc0a464b724a8aa0f8cc916dbdffa395c4aa7b5a78e0ae9497bdb9016b() + { + $this->assertTrue(true); + fn() => ($test * ``); + } + function testc67cc17454bfd4d9b3eccf1c5651d387d97e515ae19ea9ad08439326c752211b() + { + $this->assertTrue(true); + fn() => ($test * ($test <=> $test)); + } + function testc984c0d99229228296dca71197c2ed1ea42e7b7b4e170d583002b82e699b3166() + { + $this->assertTrue(true); + fn() => ($test * self); + } + function testd0d5125ded879f70fe856661d783da67c8d00883c255e668f41bb134552fe3f8() + { + $this->assertTrue(true); + fn() => (__CLASS__ * $test); + } + function testd3bb7bb6cb64570bcfe31d43b3a079277276bd909c25a0bc9e234ed3739916b0() + { + $this->assertTrue(true); + fn() => (__METHOD__ * $test); + } + function testd4ff019cf7b8ffbfc25eff3ede8a9be0ce97d03f2899057e9d6d694eedc6f20b() + { + $this->assertTrue(true); + fn() => ($test * clone $test); + } + function testd5cf6528ac49ea8a956ed7a3289a772c13dd93baea13afcc738fd207dc7ff7eb() + { + $this->assertTrue(true); + fn() => ($test * (yield from $test)); + } + function testda36965de28eea2eb5f267042faf0ed2f830d19cd5cbd8b0dbbb675f89d2f0fb() + { + $this->assertTrue(true); + fn() => ($test * ($test /= $test)); + } + function testda8b7e2703623676584fd55d032a661620991d05794cf534b7ba491aa98e4d60() + { + $this->assertTrue(true); + fn() => ($test * ($test %= $test)); + } + function testda9bfba253cb56bd6b2cebb2911c1470c54a3fa8ff7401c1a75a2e6ad845f503() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ * $test); + } + function teste05adffe6a72e7a9dd8cae2c59d3077f4fb5c2da01f26d948b84d5aa544a5e76() + { + $this->assertTrue(true); + fn() => (__FILE__ * $test); + } + function teste33c16fff2e8240db4e8b7ab2daee82090f9daecd5eaf6b6f92101b6becf7527() + { + $this->assertTrue(true); + fn() => ($test * ${$test}); + } + function teste8ac3c93fac345dd04d099dd906b1a11d15d4f524270a8cbed0856b33ce55ae8() + { + $this->assertTrue(true); + fn() => ($test * ($test || $test)); + } + function testebe3b98692d3beaf6f7acff5d74cbc7031413ff633cfd3f35439fcbbf33054b6() + { + $this->assertTrue(true); + fn() => ($test * throw $test); + } + function testf0ef1cdf680a39bf3b3db4bdeda621e02aa240b82f8cdb98d4cfd3d766adb3e6() + { + $this->assertTrue(true); + fn() => ($test * +$test); + } + function testf1c591afccf341b4a18c099e430f6d82c4d0dc2c47782ca1d3fbcda25bc2dfbf() + { + $this->assertTrue(true); + fn() => (0 * $test); + } + function testf1fa34eb5b05546cb87e61ca3e54966af0e964d583f2ba6eeff843b09a812acd() + { + $this->assertTrue(true); + fn() => ($test * []); + } + function testf60b016aa0e1237be12651fcd6974630b716ce0d388aa950ee09002555f824cf() + { + $this->assertTrue(true); + fn() => ($test * ($test ? $test : $test)); + } + function testf9a001ae05c4b4d5e7771189e5c2daae1650ce9894ae5e0e289d51041e75c269() + { + $this->assertTrue(true); + fn() => ($test * (double) $test); + } + function testfb1b0f23f15a2c0f25a64b624b0d179d88cd57d8b4dd5f6388919ade7d60b112() + { + $this->assertTrue(true); + fn() => ($test * !$test); + } + function testfd3e17940608ea554c18f6bd757860be4074fa6e405c8d56e62a737badfd037a() + { + $this->assertTrue(true); + fn() => ($test * 0.0); + } + function testfdebff14fd57d1c25dfb037cd8c1fc7e21c1106557b1e4a797711e1ab98f5f2d() + { + $this->assertTrue(true); + fn() => ($test * (yield $test => $test)); + } + function testfe376d92f84f14ba138c53abebb1e858fbbf9a506a2f4c458d1df6db8d07574b() + { + $this->assertTrue(true); + fn() => ($test * ($test .= $test)); + } + function testfe8589c32659721ae74bb17fb91591b571f0d9f6e24b14fd5d6707bd6473900c() + { + $this->assertTrue(true); + fn() => ($test * ($test . $test)); + } + function testfec2e7cafbd55001141d18427afb063e57018b181ed11c46905b97ee1a9ce58f() + { + $this->assertTrue(true); + fn() => ($test * ($test ?? $test)); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest.php b/testsGenerated/Target/Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest.php new file mode 100644 index 000000000..99e8a1905 --- /dev/null +++ b/testsGenerated/Target/Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest.php @@ -0,0 +1,516 @@ + + * @license MIT + */ +class Expressionf931df80b94d48922884ad0e02de6e3642cf7556941185e90f7b914807e5f3ceTest extends TestCase +{ + function test02b60dea7bec2eed27834edc6c63dab8a3b56915532eeee699c53dbd40e67b84() + { + $this->assertTrue(true); + fn() => (isset($test[!$test])); + } + function test02ce9c51011305b95792ac9a405fae386c03fb186cdfba0a55706c753220f5de() + { + $this->assertTrue(true); + fn() => (isset($test[@$test])); + } + function test04df7044af1de75a26647f873e2c6715784009daab0a307234a318bbc5a90e9b() + { + $this->assertTrue(true); + fn() => (isset($test[$test instanceof $test])); + } + function test06ce697d5636062a425fbebb44199a53c897d909cd260b7bf6f104b757f817c2() + { + $this->assertTrue(true); + fn() => (isset($test[$test /= $test])); + } + function test099e1834c102f33770becff3a4c1d1b5ca9acd4d093852c074ecd9a410966b62() + { + $this->assertTrue(true); + fn() => (isset($test[$test?->{$test}()])); + } + function test09f705be818560cb99e2a594f936a9ce2fa0d63196d17823ff59aa993fcd84cf() + { + $this->assertTrue(true); + fn() => (isset($test[$test *= $test])); + } + function test0b6610285b0fdd814a1bc0dabb60b29474a478e50be97cc6e45878ed4ff22399() + { + $this->assertTrue(true); + fn() => $test[self]; + } + function test0eb11457f824e18faea70f84dbc1deb426c62c5f37f2f7337709db237721970a() + { + $this->assertTrue(true); + fn() => $test[match ($test) { + }]; + } + function test113f468b27cbe564b4762e721c73ae7ebd47ee69613595d7c44091bf4681a406() + { + $this->assertTrue(true); + fn() => (isset($test[ $test])); + } + function test11f4c5d1265dda39650575e208b1967971572085eefe279f03dc734c8439f20d() + { + $this->assertTrue(true); + fn() => $test[--$test]; + } + function test12e2e2cc14c327714c2e3469c2fcda6c0ad8cc7a487db5b2a5d107da1fc51d66() + { + $this->assertTrue(true); + fn() => (isset($test[new $test()])); + } + function test1812ae30d02ee4d70b1c3604dbe83b18a9e226d9a7af94791ab02e5202d4d852() + { + $this->assertTrue(true); + fn() => $test[ $test]; + } + function test18c1807cba555e44100a1db909ffe78a80599d89817744da83da71f031dc987b() + { + $this->assertTrue(true); + fn() => (isset($test[$test ? $test : $test])); + } + function test1aa9fc5bfe580fe145633129636235d6f893bd3b0e3089e17f10e4dd2d626efb() + { + $this->assertTrue(true); + fn() => (isset($test[throw $test])); + } + function test1d229012b4278d7dd103e082e6d8744d66c8edd3c7ef8fa9a44e96bc856065c1() + { + $this->assertTrue(true); + fn() => $test[$test *= $test]; + } + function test204ed649efc9b487fec77c55a3eff140bc47ff3483a77a77d963a34cc341b2c2() + { + $this->assertTrue(true); + fn() => (isset($test[$test **= $test])); + } + function test2109c0d9f97c8ad6323788de7d76b21cd0f6c0bc0845802d7200673658cb38d5() + { + $this->assertTrue(true); + fn() => $test[$test->{$test}()]; + } + function test239f7b737d9c078e4f276aad21c65b8c47c9bebc6afef2c0ed82f2fa58db81ea() + { + $this->assertTrue(true); + fn() => $test[+$test]; + } + function test2464ab86d64eb87cf55d3d7d3c5d13a5bb0838c7524cba125806077d57c50c92() + { + $this->assertTrue(true); + fn() => (isset($test[$test()])); + } + function test2a19bb55fa52f9a0f586762283128b23ab5e71f92630f1c3874e64d7f3180846() + { + $this->assertTrue(true); + fn() => (isset($test[``])); + } + function test2b74c5da33fe06fb78ff87c26f40cc435a37a16e3c36750035ca863ff5672299() + { + $this->assertTrue(true); + fn() => (isset($test[isset($test)])); + } + function test2bf24767afaae14992f3730811d58196cc5190825a89dee63b121061d0a196fd() + { + $this->assertTrue(true); + fn() => $test[``]; + } + function test2e3349dca09085f10c86fedf15b2707403e2ff2b056ccf40a49e82b1a030a82d() + { + $this->assertTrue(true); + fn() => $test[$test .= $test]; + } + function test2e76e894d10d09e9ca99194fdfea501777f76076fb30c136946dc8e5fa92f91c() + { + $this->assertTrue(true); + fn() => (isset($test[$test =& $test])); + } + function test30ed74eaaa47680cbcc1158a7b78ba3fa576e1844d75482eca12c90f4a977b08() + { + $this->assertTrue(true); + fn() => $test[$test++]; + } + function test3177bd1407b46a21f537e8d46b72e70619c6a37d88bf279de1aeac9b95b4c770() + { + $this->assertTrue(true); + fn() => (isset($test[-$test])); + } + function test32a3066add3a0b00d2c2966f66057ae25be4a197594b7dec78f701a0cad40535() + { + $this->assertTrue(true); + fn() => (isset($test[(yield $test => $test)])); + } + function test344a8ff7ad1187892cc6e5c84e3508f893beb594b50abe531e6519b1e961a220() + { + $this->assertTrue(true); + fn() => (isset($test[$test += $test])); + } + function test3d59ee099efb4b0879c086934d120fec0b52bbf93fa4ddf705d9d81a55b0577a() + { + $this->assertTrue(true); + fn() => $test[$test %= $test]; + } + function test3dd6981ff48392b92709c4bde6643b5b17d6bc233949d3d2d7052bb42a9c5d67() + { + $this->assertTrue(true); + fn() => $test[!$test]; + } + function test3fdc2acbe7d728b4ba9c42cda3bf4af5d5854886471f096c0603e0f7d919da59() + { + $this->assertTrue(true); + fn() => $test[throw $test]; + } + function test4219f3bcec7322c778c8710064814de23f360c6fd9b51234d28a6368a2cb5c0f() + { + $this->assertTrue(true); + fn() => $test[$test += $test]; + } + function test43b7d9c8fdc7e4706778e12efb69890a0b35c7597dd7c35f46c36bfb88deb8b2() + { + $this->assertTrue(true); + fn() => $test[$test ^= $test]; + } + function test441c2034855f30b576ecdb60badbee0c417be5503134a64fccb9c3e66a2a596e() + { + $this->assertTrue(true); + fn() => $test[function () { + }]; + } + function test46ea014038bf4658bea5a9c1d9494bb6d3fa9f83ae5f755c35a6495eda35029a() + { + $this->assertTrue(true); + fn() => $test[$test::$test()]; + } + function test471825d3bfeabcb14af7dd51df3d40218b189835be2114c3d540539cfe0a85bb() + { + $this->assertTrue(true); + fn() => (isset($test[yield from $test])); + } + function test4822efe15a4fc21ed8e15c2bc42172dfec789334522df4ee8c5a341b231d1fb3() + { + $this->assertTrue(true); + fn() => $test[yield from $test]; + } + function test4935e2fa73d3931d5890d3ab9da9cddd1c811f5692b88852bb88bf92ba6926a4() + { + $this->assertTrue(true); + fn() => (isset($test[$test->{$test}()])); + } + function test496f8540cad7a570964bfcc7aca07f441c796fc165cd6b405664d75d63e1e650() + { + $this->assertTrue(true); + fn() => (isset($test[$test &= $test])); + } + function test4fd9c6ac93d5bf5a48396041ce0fc8847b159ae9296e521c0ff988d493dc2ea7() + { + $this->assertTrue(true); + fn() => $test[$test |= $test]; + } + function test55ec241930fe945cea1195a48bdeac0667d75b9b7804f9cfb5ce795d3c1cba34() + { + $this->assertTrue(true); + fn() => (isset($test[clone $test])); + } + function test569d4d8e6340efca5b5b53deaa709e9ceee73d6e060d7da941577bb137afacd8() + { + $this->assertTrue(true); + fn() => $test[(yield $test => $test)]; + } + function test5705661bfb443cfa44a73df2b89c9c432ab4a2c21b8436222e6e52187d675b95() + { + $this->assertTrue(true); + fn() => (isset($test[empty($test)])); + } + function test57ab097a619c9e722ace7ecd9df4add6e5375c7de6592917eee9aa797cbd367b() + { + $this->assertTrue(true); + fn() => (isset($test[$test::${$test}])); + } + function test5cef4a4b2a9b36f3a1668c83c46380d8801c1d359178c290308c236c71c71c82() + { + $this->assertTrue(true); + fn() => $test[$test & $test]; + } + function test61b0fbefc61f9a6db4de005bddb3bc8eccb421ca9c1acb942651c2e29052b993() + { + $this->assertTrue(true); + fn() => (isset($test[$test %= $test])); + } + function test62d35f61b387656ce850d308e3846b4e8b8336a86b29546adfabbf4dc22e439b() + { + $this->assertTrue(true); + fn() => (isset($test[--$test])); + } + function test67d770ba68d09835cfa000da326d62dcc118d634d6022a2f0af2122a1a3c697d() + { + $this->assertTrue(true); + fn() => (isset($test[$test->{$test}])); + } + function test68d53b9393ddc1b3ef5e7dc4e3a670184d3b46843cb9f4ff5f5508cfe3804c31() + { + $this->assertTrue(true); + fn() => (isset($test[$test::$test()])); + } + function test6be2a43a23510738a9148d563ccd2de31f955db4c827f3ec0f5cd5d31a9ee396() + { + $this->assertTrue(true); + fn() => $test[++$test]; + } + function test7865cb674bbf26195ed15ab4569091941a92e64ff398a9777e978a77b42ac83a() + { + $this->assertTrue(true); + fn() => (isset($test[$test & $test])); + } + function test7a9ca48feeaba5089dbcf6f06265d42a875bba5814a3f2afd728eb19d888fe1b() + { + $this->assertTrue(true); + fn() => (isset($test[$test::$test])); + } + function test7f4bbe76ccfed75de5f75a92819dc2b999451329a7d679eb6f22afda2dd73445() + { + $this->assertTrue(true); + fn() => (isset($test[$test <<= $test])); + } + function test81b2620a36123222f49c3df68eaec5f01ab120ef5d9b169f49cecbb88b4a7132() + { + $this->assertTrue(true); + fn() => (isset($test[$test .= $test])); + } + function test82683c3060867b3a24581ccdaf8eb0b6401838b45d6bf5fec6745766c1e46f02() + { + $this->assertTrue(true); + fn() => $test[$test =& $test]; + } + function test85aa44ee2720f38bdb8e0ac4ecfea55e482c235fef1d8cf797f6e78b6661fea4() + { + $this->assertTrue(true); + fn() => (isset($test[$test >>= $test])); + } + function test86266d0653f065aa79e7ae41db78675ef634538c0aaddc912ac924aca9613e41() + { + $this->assertTrue(true); + fn() => $test[$test]; + } + function test88b8b81ffa0e3c084d919eb510a2bc4ac3920ed7d9a1761fbc9ed5b37b09eb86() + { + $this->assertTrue(true); + fn() => $test[$test &= $test]; + } + function test8bf4d945326451aed1e49dedfe60b16f5ca96751d7e633c294ee4467fd8b8d4e() + { + $this->assertTrue(true); + fn() => $test[$test?->{$test}]; + } + function test8cb33b8b01204e7e0b998ce6c8d2164e7aac6ea39a8b9968e025c64dd7ed87d5() + { + $this->assertTrue(true); + fn() => $test[eval($test)]; + } + function test900babaa25db62cbcac98a4200ed722e1a9237a2ac43059fb164afc7bb2e4f53() + { + $this->assertTrue(true); + fn() => $test[$test?->{$test}()]; + } + function test904e9501263a71543469a73f6489c9943791cd14f82412ba6be330c82fcf23d9() + { + $this->assertTrue(true); + fn() => (isset($test[match ($test) { + }])); + } + function test907d0fd9511cd793e94ad1a3030c073376058288ded719391b733c227f6a5b6c() + { + $this->assertTrue(true); + fn() => (isset($test[$test ??= $test])); + } + function test93e9f0f0e53720885a3d94c6c46599d947da398432cba4df80ef87126630243f() + { + $this->assertTrue(true); + fn() => $test[isset($test)]; + } + function test9402f7bb92641eca765442c9ff537ea99d5086e971e4903008d3ed007d50bf7a() + { + $this->assertTrue(true); + fn() => $test[~$test]; + } + function test94bb5c6f09540470b0fba05fbefa4d08c80df43c3f8904134c98e4865d379a1a() + { + $this->assertTrue(true); + fn() => $test[new $test()]; + } + function test981f2d782c6116a223e1548ca4caf7fb3123171f718d59df2a6e4100dcc27aa5() + { + $this->assertTrue(true); + fn() => $test[-$test]; + } + function test9fdd395814f4cce080465d5d9e2b6f7db6d0f4d3908da258ad6f0ed4bf36c22e() + { + $this->assertTrue(true); + fn() => $test[clone $test]; + } + function testa2a9221476baf4279effd75c062b28869ba0248d2119d7cb4a7f1f6720c4f2a0() + { + $this->assertTrue(true); + fn() => (isset($test[$test?->{$test}])); + } + function testa359ace8bd5487184174d68a787fcf356496006afd7627bd7e31644703b01a00() + { + $this->assertTrue(true); + fn() => (isset($test[self])); + } + function testa5c30ebbe0a75d8262dae688cc0c6595702423e2153b6e62ece0262f6a5f2560() + { + $this->assertTrue(true); + fn() => $test[$test <<= $test]; + } + function testa5d2c024c7f63a32989f2a605ea5c84b0528a299aeba3a93342a087f81c9b91c() + { + $this->assertTrue(true); + fn() => $test[$test instanceof $test]; + } + function testa72f9a3a6435dab6953f18f060f2887a6a8caa0843e5c1cbc52a22afea4ae7ec() + { + $this->assertTrue(true); + fn() => (isset($test[eval($test)])); + } + function testa7625092caaf0cfe4c4a46de697859aa3548ffa3db72b0894ea8d8a21471d498() + { + $this->assertTrue(true); + fn() => (isset($test[${$test}])); + } + function testada763c1ffb798887cd5cae4a9a8dac67f59c063184976eafb310fb7f3077d79() + { + $this->assertTrue(true); + fn() => $test[$test::$test]; + } + function testb100ea04ea0c2f32e1093e1d6e0929936af72d95e32705ed041ce0d3f9bbd792() + { + $this->assertTrue(true); + fn() => (isset($test[$test--])); + } + function testb2d6a36b688c75b6618cfe0f496f2a597914e06690537048995ca3e9b7df064e() + { + $this->assertTrue(true); + fn() => (isset($test[function () { + }])); + } + function testb6880f845c8952c73cc0fe6cfddc3e400cae6b5910d00d01e4f4dfb6ad58e36d() + { + $this->assertTrue(true); + fn() => $test[${$test}]; + } + function testbf272b4b1703a143c8603b3b444e53398996c05b47bef5c4ab1681c53c9a7b9c() + { + $this->assertTrue(true); + fn() => $test[$test::${$test}]; + } + function testc707c4522e64470717e008c11f1de8b87212e92b305f655abf6674a2824edf60() + { + $this->assertTrue(true); + fn() => (isset($test[~$test])); + } + function testcbfdc4e607c1d4fac117e2d794315e3a6995c444a9688588d2d633276cc8c178() + { + $this->assertTrue(true); + fn() => $test[$test **= $test]; + } + function testcc033d3a3b4b44f437cce96c007182fe7b4ef9590b26665fe86f33dd2aaebb7a() + { + $this->assertTrue(true); + fn() => $test[$test >>= $test]; + } + function testcd2522d7591c82276c2acec4ad6826e2841336118ec82988424ea8ee14306fa5() + { + $this->assertTrue(true); + fn() => (isset($test[$test -= $test])); + } + function testd33d7887bc6c096194261915f6951d17c4fee647a2de256cddc7d9779611f5eb() + { + $this->assertTrue(true); + fn() => (isset($test[$test |= $test])); + } + function testdb33bf35471b849b4e3fcd51d7a0298d154d8fdec3515201a387bd7bf1eed474() + { + $this->assertTrue(true); + fn() => $test[$test()]; + } + function testdc2b443fa787756692d80832bcf238affb394312e4f9328e5d31be4a45359a42() + { + $this->assertTrue(true); + fn() => $test[print $test]; + } + function testdd685855693a19d6e432c85ebf469feb9a0002e5f6999016f651faaa84d45ee8() + { + $this->assertTrue(true); + fn() => (isset($test[$test])); + } + function testddf250f0488195a00e8355820f937a08579ec4836a043c5d3c76ef64cf566a4f() + { + $this->assertTrue(true); + fn() => $test[$test ??= $test]; + } + function teste01c624c0ba704ccb8b687142d6cb232e165fdd5dff51bbc4e3182545e9ea924() + { + $this->assertTrue(true); + fn() => $test[$test->{$test}]; + } + function teste096956df19e1de7f84911d6c15811b9862301322aac70e3678b3ca5b570a292() + { + $this->assertTrue(true); + fn() => $test[$test--]; + } + function teste102160f22518b13e08a16fe9f758c36a8f3a1efa85383af417b3bd68fedb4d2() + { + $this->assertTrue(true); + fn() => $test[$test -= $test]; + } + function teste1cb2890429064472d96de9001cc043b67ba513f28b3a1e68fa8206d5c695cde() + { + $this->assertTrue(true); + fn() => $test[$test /= $test]; + } + function teste93c4a945f1d9a635f3b04d2e8cac4db0a9f7dc7e962585aa7625f99f08ae30f() + { + $this->assertTrue(true); + fn() => (isset($test[+$test])); + } + function testeda4b8a4e50abadd4ea615bcea3b70cf61891132ffbfc9cd4e376b2b8c2cc8a1() + { + $this->assertTrue(true); + fn() => $test[@$test]; + } + function testf1545955dd2a371fe0d766c7139239230a495da35742a787d0be3633dc5ad185() + { + $this->assertTrue(true); + fn() => $test[empty($test)]; + } + function testf464bc6d6f005fe6c276eafb2ebb53af5e6c9599228f092f3dd0979a72082b41() + { + $this->assertTrue(true); + fn() => (isset($test[++$test])); + } + function testf624e2f8b748c016ecdd1a5f2d1f57c5962ced7d7cfe7fc465cc9995524b1516() + { + $this->assertTrue(true); + fn() => (isset($test[$test++])); + } + function testf66ce3a87dab77d3536f90a26ed9ff4429a89c56f557e400c44fc5a0d1459b35() + { + $this->assertTrue(true); + fn() => (isset($test[print $test])); + } + function testfd7ced2b02f45dc9e36b13c865755d5730a5130d22cfca3729a35c983bf6e8c3() + { + $this->assertTrue(true); + fn() => $test[$test ? $test : $test]; + } + function testff32281508044408bf4764d99e8faf6a531bc88b75f3ac24445bf771eb43d26f() + { + $this->assertTrue(true); + fn() => (isset($test[$test ^= $test])); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test.php b/testsGenerated/Target/Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test.php new file mode 100644 index 000000000..2dfe112f1 --- /dev/null +++ b/testsGenerated/Target/Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionfa4f600ed3fcbcd6f8db7057fdec9758b0d31b3811adda62a0aa71b879a88125Test extends TestCase +{ + function test011c916d34e8ae85c2f6a968d676e3061370f4737c842ea341078a9be23d0d8d() + { + $this->assertTrue(true); + fn() => ((double) $test &= $test); + } + function test05f85b23988bb6d44b58133722335223335899ada9a344179356c9f6d5d41602() + { + $this->assertTrue(true); + fn() => ((int) $test &= $test); + } + function test070176b89a10e949f785e5acd373fd721aa0749353e6efee54c98f3cba46dc00() + { + $this->assertTrue(true); + fn() => ($test || $test &= $test); + } + function test0a036ecfa59a1d91da1759bea29c62623289f59d884ec049074f8567572f36b7() + { + $this->assertTrue(true); + fn() => ($test &= $test <<= $test); + } + function test0e45a4072b5d9b2bf14f38e85832c8310876ed9de76f9f7faf3ca33881738865() + { + $this->assertTrue(true); + fn() => ((string) $test &= $test); + } + function test0e5b967bd0913e244aadda16a815b4e4bd79b22c83afd0f845e0935265448de8() + { + $this->assertTrue(true); + fn() => ($test &= $test ??= $test); + } + function test0fb4652b06ae1f6d78a1b88022bb92cb2976d4b1f43c7dfc4d7c4e8a70faa0b0() + { + $this->assertTrue(true); + fn() => ($test != $test &= $test); + } + function test0fe792cba68ac338fbbd31dc7e06af9441b299e10a3a9cdc27d1606bd5ed49d5() + { + $this->assertTrue(true); + fn() => ($test &= (yield $test => $test)); + } + function test15cae56f70d70fd101a373e76d1bc60e946722b73c005924392d123a379f0494() + { + $this->assertTrue(true); + fn() => ($test ?? $test &= $test); + } + function test17920e867c1ca661e43a64b03818e357e71c8d58ade3be557be288dd5a02d635() + { + $this->assertTrue(true); + fn() => ($test &= $test::$test()); + } + function test1c5f438bdfb31aa8879979bf8d0ad7a182fcb5ba3dde1c532e9f72fa645ec5b9() + { + $this->assertTrue(true); + fn() => ($test &= !$test); + } + function test1cd462da7939fc28ac0daf442197aa7af1436f62d5f3ee60b16e79f0b6463e76() + { + $this->assertTrue(true); + fn() => ($test % $test &= $test); + } + function test1cdb8b6d518c34fb65c55c3aef2a9522bfb35da4aefbc49116c61b8e49991708() + { + $this->assertTrue(true); + fn() => ($test . $test &= $test); + } + function test256775ded2692da9b0287421ecef9dc5a743e183c0693fde7016665cfa9c056a() + { + $this->assertTrue(true); + fn() => ($test &= ++$test); + } + function test26dc59ba5eadcc56db76ae5bf75b64155dc45efa79f208d1df509b0e39b92b11() + { + $this->assertTrue(true); + fn() => ($test &= ``); + } + function test2cf89a0bd0998acebce26a0ed3b9ec0b73daedbf7b0fbc8b0eec4a6711219045() + { + $this->assertTrue(true); + fn() => ($test < $test &= $test); + } + function test2d36b75743d133c030c304a5028fba6b7bd3f2ecef15f1b94b5236d6280363c3() + { + $this->assertTrue(true); + fn() => ($test &= ($test or $test)); + } + function test2d4ad6916db29339b660e205c475d292c568cce70c2acff63713cbd7442adfea() + { + $this->assertTrue(true); + fn() => ($test / $test &= $test); + } + function test30e801a83e9db2773a7fab0fb792aab0d3ddfaff602474dcad5082a5dc3116c9() + { + $this->assertTrue(true); + fn() => ($test &= $test %= $test); + } + function test3671d3fe523b1448b5a8bafede4aa298f30903c41148223612f8f529178f0189() + { + $this->assertTrue(true); + fn() => ($test &= $test || $test); + } + function test3698e4b48034acbb2cc202357d794b65505a84fd2ca2a600a5a41a346e7d3332() + { + $this->assertTrue(true); + fn() => ($test > $test &= $test); + } + function test372c7c214732e518f852c423eb563bf6e4d52f65e5d1c56371543b1820a94d77() + { + $this->assertTrue(true); + fn() => ($test &= $test | $test); + } + function test3b9803805b33781ba933289ac68212d696906706b79fb1f1433d25884fcc9c1a() + { + $this->assertTrue(true); + fn() => ($test &= $test &= $test); + } + function test42d9c0b2916c4ce1cbfd718906588cd66431d600e3d6b8c0628e26da788a9503() + { + $this->assertTrue(true); + fn() => ($test &= self); + } + function test43912ec542dc78dba6a1af59fcdba4ff81fcdb57ecc2d27a0a14cef0530dbba7() + { + $this->assertTrue(true); + fn() => ($test <=> $test &= $test); + } + function test4558769ce244a8109bee7123d1040b7534ce6e3a3b69e68309d773da50a40277() + { + $this->assertTrue(true); + fn() => ($test &= throw $test); + } + function test46aa7d006bc343af9458831723c3081eb9aad2486b8d3f382abd7f86471de4e5() + { + $this->assertTrue(true); + fn() => ($test &= function () { + }); + } + function test47bfa9323d8b862e9dece716c268ddd6d231d8e38248647330552faec7a5e740() + { + $this->assertTrue(true); + fn() => ($test &= $test >>= $test); + } + function test480490b1adc8b663938d0f436e6528e51436389e525bda3ab192aca7c72716b5() + { + $this->assertTrue(true); + fn() => ($test &= $test ^= $test); + } + function test4bc42a59144b7be949788db37c043cec9add89d2d9e2c8d8355105866dc5abd7() + { + $this->assertTrue(true); + fn() => ($test !== $test &= $test); + } + function test4bebd5a6a0dedb415a7c96bbae613fca3ee988c34ee673aa7d61afb7fdc7ac43() + { + $this->assertTrue(true); + fn() => ($test &= $test * $test); + } + function test4ccad5324e43795095952d1de04dbd955ca00c4445018b4588670768529e498a() + { + $this->assertTrue(true); + fn() => ($test &= $test()); + } + function test4efe11a3ea9b835684763343d353364db8644fa5f9909195ae0c2cd2d5b4e583() + { + $this->assertTrue(true); + fn() => ($test &= ~$test); + } + function test543b6836761aeb856f7cf95908a1d32660a407fd9c4290ef1cb623083a439940() + { + $this->assertTrue(true); + fn() => ($test &= $test->{$test}()); + } + function test581fa4e1f883382d77332c567c76604e987a38c159ae06c0625c2890ab734505() + { + $this->assertTrue(true); + fn() => ($test &= ($test and $test)); + } + function test5e286668f258eaf2b9a6663545591f76373805cb008f75d1efc64336013a153a() + { + $this->assertTrue(true); + fn() => ($test &= $test + $test); + } + function test6129c2aefd5ed2fa4385a52cd68b1f23b08f31c772560d0921ecbc4cfb2c0fc1() + { + $this->assertTrue(true); + fn() => ($test &= clone $test); + } + function test65a34f7cfe76b02c233914f9193e563fbb9f79bc3a618ad8139d27ffa9f50728() + { + $this->assertTrue(true); + fn() => ($test &= $test instanceof $test); + } + function test67072158ad502f5d64f6d895950b54ebb92d4d0cffdfe605c01f677ec8dd56ec() + { + $this->assertTrue(true); + fn() => ($test &= (yield from $test)); + } + function test693da613455036e0ad2b445d6c59c68a0a1e541880a437a357dfeccc35251aab() + { + $this->assertTrue(true); + fn() => ($test &= $test[$test]); + } + function test6ac1be267e65af442664f1a38033bc477039114766cda771819ac59184852376() + { + $this->assertTrue(true); + fn() => ($test &= $test ? $test : $test); + } + function test6b50cd45bcd590655c05ecf2832a048d94a11931ae6790d25978bded79bc2b34() + { + $this->assertTrue(true); + fn() => ($test &= $test::${$test}); + } + function test71fa86a894ff1f404b2beef43b28fbb8f7cda34fee2b25748038ebeac0bc75f0() + { + $this->assertTrue(true); + fn() => ((array) $test &= $test); + } + function test76dca34bb4be1367558301bbe04310dfbc0c91691795554e7d6f3a90df479afe() + { + $this->assertTrue(true); + fn() => ($test &= $test *= $test); + } + function test78ce808431756ca1b8c3cd3add24e3a39afcbbafd0fe2b2a18397703a9d78ae5() + { + $this->assertTrue(true); + fn() => ($test ** $test &= $test); + } + function test81da5312559a96618f97e84e04eaef2fda633d8214d1f39ed9aefb00450fda46() + { + $this->assertTrue(true); + fn() => ($test &= $test?->{$test}); + } + function test82d82c9d3ae5082d8c7ecdf38b1fb4788a8750508635111e2891f5545b516d2d() + { + $this->assertTrue(true); + fn() => ($test &= $test >= $test); + } + function test85a7d6d88bedaf084cf8756c6dbd54cd449b0974b555889679fe76322e0a07b7() + { + $this->assertTrue(true); + fn() => ($test &= +$test); + } + function test883ec3930a68c660e2be02fb77989429c215dd8918e59f4d72da7e57f4978cd3() + { + $this->assertTrue(true); + fn() => ($test &= $test === $test); + } + function test88d9465daf45118f094db3039d0abe44cf386c4e467c042bb9323f6f57fd2e19() + { + $this->assertTrue(true); + fn() => ($test &= []); + } + function test8ae778bcb4bf45b1152c86f94b69bb38f02889616d1f064258e784be6750a499() + { + $this->assertTrue(true); + fn() => ($test &= $test?->{$test}()); + } + function test8cb488571573f25d8b046809f97644211f7fc7359f9d8d7887ded5d26a52ce93() + { + $this->assertTrue(true); + fn() => ($test &= $test =& $test); + } + function test92cceab3435a292d0f2821b06dd4e848d74cadc681f1702c616f6cd518fe542e() + { + $this->assertTrue(true); + fn() => ($test &= $test += $test); + } + function test94cc0988208d852734c21482a242ff22d7a4facd65a7b5c3b7742c5c07bd3246() + { + $this->assertTrue(true); + fn() => ((bool) $test &= $test); + } + function test952554c5b88a80b1fe8927eaea5d8acb32124c951b659309b90cb1ed54f60c5f() + { + $this->assertTrue(true); + fn() => ($test &= ${$test}); + } + function test960ef887c5234a4014877377eba34d6a8a3af6d6456d7a3829de8bdd8bddbe03() + { + $this->assertTrue(true); + fn() => ($test >> $test &= $test); + } + function test9726c0990fad88ce765bcebd5ed5e13970e0739b1b84f6462ad126df7c273ad4() + { + $this->assertTrue(true); + fn() => ($test === $test &= $test); + } + function test9d474ae0c698969d61fbb7c93ace4705bdc46c05d939fa8e9bffd6803fe8b584() + { + $this->assertTrue(true); + fn() => ($test &= $test / $test); + } + function test9e7956c1224fc800216817bc6a3774e26523de901a45a2fc3d21de07779afad2() + { + $this->assertTrue(true); + fn() => ($test &= $test /= $test); + } + function testa3749580bb83f1d9deec6505d6b83708e648c9de97474e729eecae3685a36aa5() + { + $this->assertTrue(true); + fn() => ($test >= $test &= $test); + } + function testa4c6f03b90348fcd8669dc10f29a073e2a68a6eaf52737c635b958cf5d9b1327() + { + $this->assertTrue(true); + fn() => ($test &= ( $test)); + } + function testa7b96ffe122fc1a5cebc5a768b07397b35046fe651be04cde9077fa6cb98f1ba() + { + $this->assertTrue(true); + fn() => ($test &= $test !== $test); + } + function testa7cf69a71f5c87430a5d7f5132973f8eeeddcca3883a466805d9a4e51fc7b1d2() + { + $this->assertTrue(true); + fn() => ($test &= --$test); + } + function testa8e7c3557db09cdc97e21a1c7020ed85baadf94ced0d2443c89d8ce8ae23e709() + { + $this->assertTrue(true); + fn() => ($test &= -$test); + } + function testadd7621a507cf87640116227d7bbe3307428ed4d211a7577b50e8444151b090e() + { + $this->assertTrue(true); + fn() => ($test &= @$test); + } + function testb02f403da364770c7733ed2761b76cbf383bd6885680df0d96aa9527b33ac8cd() + { + $this->assertTrue(true); + fn() => ($test &= $test::$test); + } + function testb24bae5cfde9a543409e9bb2c4602d7615a247f02effa3b542d9e63ac1beae71() + { + $this->assertTrue(true); + fn() => ($test &= $test & $test); + } + function testb9f84bbd4918391273829e595f13805f7244502c1357d9583764f23b82490bfc() + { + $this->assertTrue(true); + fn() => ($test &= $test - $test); + } + function testbaf84b2191b1f0e8504ba7f964a8fe92977e9c23d62fae39e5ba5d39eba30834() + { + $this->assertTrue(true); + fn() => ($test &= $test--); + } + function testbc0eb8f4361c43861dbd9a326cf4df0d5857298249baed5b932e59caae3bd85a() + { + $this->assertTrue(true); + fn() => ($test &= $test -= $test); + } + function testbe2575ed0a510422b8621245036783bf1cd90ed222ae51d9e7d28637559f1484() + { + $this->assertTrue(true); + fn() => ($test &= $test ^ $test); + } + function testbef2fc6a46110480f166730248259093916f24c389a6a5cd2dbf8b26ed8272eb() + { + $this->assertTrue(true); + fn() => ($test + $test &= $test); + } + function testc33f627ce4ded365dd9fb1310987754d4a8030dab35891e0a7ba78ea8f0ad211() + { + $this->assertTrue(true); + fn() => ($test &= $test ?? $test); + } + function testc56c7bbeb5462ec0bf307eaf7de9ec6458697a3134f8ad15586d0a1113501998() + { + $this->assertTrue(true); + fn() => ($test &= $test **= $test); + } + function testc84c5aa56a81edcdcbf31cf86c55ca4f1368d781105c49f8e9d2b4c7692cdfe8() + { + $this->assertTrue(true); + fn() => ($test - $test &= $test); + } + function testcb3a5d5b4c90045ca035f1a7065e6810ef2e46fc80423658ce761dde1d12e79b() + { + $this->assertTrue(true); + fn() => ($test &= $test++); + } + function testcca548f5c51789728d705349b549dfc10669b91b5d8c6924a297cb450c105c65() + { + $this->assertTrue(true); + fn() => ($test &= $test . $test); + } + function testcd0a47f3c649185c009fe8342a8cc3d50ace1f699e48f3d379a5fac015d9c07b() + { + $this->assertTrue(true); + fn() => ($test &= $test->{$test}); + } + function testcde7e8aaac95776d697e97c57a22a5e7c1b4d1603f2bc48be0f05d74a1f49bba() + { + $this->assertTrue(true); + fn() => ($test &= $test != $test); + } + function testcf17cb4a9afad601fe210497eedd073135b4c0953720ee281641ac11b60f9eb1() + { + $this->assertTrue(true); + fn() => ($test &= $test); + } + function testd1290575bad938e0b20dd4689e02208d846d1f777f262249312be138e50e145c() + { + $this->assertTrue(true); + fn() => ($test &= isset($test)); + } + function testd36bd8cba7c4441dab7f497a35ca1c629fbf8d47352b5524a930ee70619fe539() + { + $this->assertTrue(true); + fn() => ($test &= $test && $test); + } + function testd4471fd103754666e5b57fd78d33b579da2962baf3171e0a9e8ed6daaf61f526() + { + $this->assertTrue(true); + fn() => ($test &= match ($test) { + }); + } + function testd57af21e73fc4d9fe5dbe8a4b7bc23d3b18841b84f07ca85bdc199ae0cb909c6() + { + $this->assertTrue(true); + fn() => ($test &= $test .= $test); + } + function testd8975db7daae962c17d371c4c6f0067b68b2c013d5d6cff2b9830ee5dfe6e84d() + { + $this->assertTrue(true); + fn() => ($test <= $test &= $test); + } + function testda1eeda089be4636dfd6fa0dbd18b13e74dcfd2123e5a52523d4e8efdd28cc6e() + { + $this->assertTrue(true); + fn() => ($test && $test &= $test); + } + function testda9d6954834437c3f04b2027a72cdd137974e543c791e83fc4abf57472e1a29b() + { + $this->assertTrue(true); + fn() => ($test &= $test |= $test); + } + function teste43e52efc57105c625090fa298bd67c5ec9ac92eeefe6cbe4a9d7538d4f18202() + { + $this->assertTrue(true); + fn() => ($test &= new $test()); + } + function teste66bb506bc80a7d36a098d4f3fe8137c16e4efe1eac2051f49d088aa5f18d258() + { + $this->assertTrue(true); + fn() => ((object) $test &= $test); + } + function teste7c237f92d2dc082509ec457f688aac166499ec18fdee5a90581bb11c54d7cd1() + { + $this->assertTrue(true); + fn() => ($test &= (print $test)); + } + function teste8913fd3b29c4d3eb0b114b75fc5feae4585d4ad74bd30a18922496bfbe0df90() + { + $this->assertTrue(true); + fn() => ($test &= $test % $test); + } + function teste8cc90629ea7de1ff71fff5828990a9e9d16a72948ad0dcf0aa4036fa6d8ebb0() + { + $this->assertTrue(true); + fn() => ($test &= empty($test)); + } + function testea66b87eacd430da24255e685ccc0d73c48e25437b57ffce638ae2e98feb1834() + { + $this->assertTrue(true); + fn() => ($test &= ($test xor $test)); + } + function testebf6e83d39fdfef05ac95423ac752c5c41b6e78d88e223c002cb289f41b02e16() + { + $this->assertTrue(true); + fn() => ($test == $test &= $test); + } + function testee82e4610bceb5814b4af4c0ed45cbfc7bdf78954cd26317074b03306fd59a9f() + { + $this->assertTrue(true); + fn() => ($test &= $test = $test); + } + function testf1c39f920724e3a1cb2421a54b37cac97635bf1d757a92781cf73b5b5b932da5() + { + $this->assertTrue(true); + fn() => ($test &= $test > $test); + } + function testf32849c44d4b04a14581235fcc1cac12fe55fcce93805f1d3f6368d1476feccb() + { + $this->assertTrue(true); + fn() => ($test &= $test == $test); + } + function testf872d5704613f1204746224f5da08a3a046db8c36ff4c1ef88dd3155701cf07a() + { + $this->assertTrue(true); + fn() => ($test * $test &= $test); + } + function testf96c7f960344fbdce169ab60edfe4e3e7ca553a1deccb0d419f1e25bdf40dde5() + { + $this->assertTrue(true); + fn() => ($test &= eval($test)); + } + function testfa1e51d9f1539ffc0cf4aa46db61863a63d6aa5b15de7c158bf879e611573a8c() + { + $this->assertTrue(true); + fn() => ($test << $test &= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test.php b/testsGenerated/Target/Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test.php new file mode 100644 index 000000000..6a75eb62a --- /dev/null +++ b/testsGenerated/Target/Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionfb5cc8b106ae9315e1a24064d764f037ee38b8756c5a342f330822d1909d88a2Test extends TestCase +{ + function test011348359b084394dbab0bb46b19e43aabde2bb807c2ebce78342bad49e82bad() + { + $this->assertTrue(true); + fn() => (isset(($test instanceof $test)->{$test})); + } + function test028220aa2d8e7df471d566cd9201c6ce05af7ae9f7ba7a10f0c7d92df43664b0() + { + $this->assertTrue(true); + fn() => (isset((match ($test) { + })->{$test})); + } + function test06e9127e2861249cf079e76dfcdc71e0fe1c782d344f5dcb160dc5142d060f64() + { + $this->assertTrue(true); + fn() => ($test--)->{$test}; + } + function test07271d4334079691cc4145b1fea59ec0c0222fff51cde259a98d165a7702cab1() + { + $this->assertTrue(true); + fn() => ($test | $test)->{$test}; + } + function test09abd75a02616a4e52248116dcb9549c1bbfcf4bd389c389f37cb54732a49cb4() + { + $this->assertTrue(true); + fn() => $test::$test()->{$test}; + } + function test09d7c56d5d05674ee8c5f945cb4c51221b04da17f9814f0de8ffdf90647e1411() + { + $this->assertTrue(true); + fn() => (isset(($test and $test)->{$test})); + } + function test0a24be8317f3fb914524b29ac089fb6229747d888959410d30bae65ecb977dd6() + { + $this->assertTrue(true); + fn() => (isset($test))->{$test}; + } + function test0fca71430b906bceb35d1c7a439175d3bc5ba1ad581e5ef79012e2b11baaea36() + { + $this->assertTrue(true); + fn() => (throw $test)->{$test}; + } + function test11528f5507845dc7a54951c941512f4c5b3c5c890ad4349a1d385af3f1aebb38() + { + $this->assertTrue(true); + fn() => (``)->{$test}; + } + function test1332892e8ff835367ad0010faf3d1a88431e48017141640004028028137f8112() + { + $this->assertTrue(true); + fn() => ($test == $test)->{$test}; + } + function test18c5c3b0e914f566f9b4ccc71507eca5aeb0d1b866f04d5b65d8eb5d4fd77623() + { + $this->assertTrue(true); + fn() => (new $test())->{$test}; + } + function test21b8a09ee389811939e3e1398b464df93f7565a8053aa43d024482c31d2ba68e() + { + $this->assertTrue(true); + fn() => (isset(($test ?? $test)->{$test})); + } + function test2358905de929a14b7d1cf207b94f5938ed1e9733b58e3311840acc9db1b1dbac() + { + $this->assertTrue(true); + fn() => (isset(($test || $test)->{$test})); + } + function test23df65edc330d7cf832fd6249f91b967d904643695ada27796d4c2230429a3f5() + { + $this->assertTrue(true); + fn() => ($test >>= $test)->{$test}; + } + function test26dc17467d459e1796cd865ed2ce53780c3e9ea0d0f50922e8cd59c5109094b8() + { + $this->assertTrue(true); + fn() => ($test / $test)->{$test}; + } + function test2ac8b76d8f6e1ca49f988f7b53a4562b87d19aed5ac8d6effccccc23317bc90f() + { + $this->assertTrue(true); + fn() => (isset(($test %= $test)->{$test})); + } + function test2bc79246197090fb0e5c0ad440dbf84676b2dad19673887fb6e0db417749f9bb() + { + $this->assertTrue(true); + fn() => (isset(($test or $test)->{$test})); + } + function test2bfe4ec59347e409840908342cecd3435fd2abf3fb3cce84003d7f27a76bedaf() + { + $this->assertTrue(true); + fn() => (--$test)->{$test}; + } + function test3032b1c5de553059490de3ef3f86f0ab24691b70c7e3071ed900d969790c6273() + { + $this->assertTrue(true); + fn() => (isset((--$test)->{$test})); + } + function test304542da18e627c50c400c47c75021bd4cd320a838384f65b21c6dc67bb12a3e() + { + $this->assertTrue(true); + fn() => (yield from $test)->{$test}; + } + function test34f89115f33d3bd000e722b4e214dd64becec3968a36568dd82dc47c0736e57b() + { + $this->assertTrue(true); + fn() => (isset(((yield $test => $test))->{$test})); + } + function test3679fa6bb6d8b2e9cc22b4b7eceba37f4d8537530bd83b9717f70f96e886e51b() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}->{$test})); + } + function test374809073e809694f0f2bb72e292ea1ea4ca7bb1ecb0b21a06a3d59b068965fc() + { + $this->assertTrue(true); + fn() => (isset(($test *= $test)->{$test})); + } + function test3a2b029829d2fb45829a2ae3d739e59c6030e1c5b65004914ed869c37ee422e8() + { + $this->assertTrue(true); + fn() => (+$test)->{$test}; + } + function test3bdb3a5163708608dd57b16755d72550aae350901feb30d563fa32f59f18f7db() + { + $this->assertTrue(true); + fn() => (isset((+$test)->{$test})); + } + function test3d1d75caf6c735c11e2c1bbd0d6751032d86c03f97b863a8fc64a0603e564a4c() + { + $this->assertTrue(true); + fn() => ($test . $test)->{$test}; + } + function test3e6bdf1e0894e7ee8b7d780d6fee49138438520c796c94b755961834156dee17() + { + $this->assertTrue(true); + fn() => (isset($test::${$test}->{$test})); + } + function test3f9f807c9766c896a468dbb97f2b8af8d0c1ff8c7e6c84d0259544c15acb5c2e() + { + $this->assertTrue(true); + fn() => ($test *= $test)->{$test}; + } + function test3fd369dc7676eaeb2b1a4e2baa392de81f2d2aecc2604c541049ac03f43b2477() + { + $this->assertTrue(true); + fn() => (isset(($test > $test)->{$test})); + } + function test4246451d4106f5af58f79a3d1db91c96d012ae92b7f9346a334080fb44c0aa8e() + { + $this->assertTrue(true); + fn() => (isset(${$test}->{$test})); + } + function test4263632c411e192b8b85a3558a65c1269c3b2dd516b4d1d080acd00b8ca50744() + { + $this->assertTrue(true); + fn() => ($test ??= $test)->{$test}; + } + function test461e374cc10676328deda339f5ad2eac6a35a2e4c10eabda1a473ab5a48fc3fe() + { + $this->assertTrue(true); + fn() => (isset(($test ? $test : $test)->{$test})); + } + function test46b5ba66e3e652d5c74eeeb85001c4181aa3835a9a5310620af28d86baf83d25() + { + $this->assertTrue(true); + fn() => (isset($test?->{$test}()->{$test})); + } + function test49394e7f6f140a17c05b4810435f46fd4aa6231c5d5ed65c3ebc086cb2f404c6() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}->{$test})); + } + function test4e648c2b21c288556d791fc3db07c23f9f73b0f0a89e86a8b74a73b7af7124d5() + { + $this->assertTrue(true); + fn() => (isset((throw $test)->{$test})); + } + function test55dfdce7d5e785fb97272764847afc137075d19fe55f91f590e5f14190fcaa38() + { + $this->assertTrue(true); + fn() => (isset(($test -= $test)->{$test})); + } + function test5781c6a95e756b605c7671fe4e10bdfb6665ae5a4fd8cfbe2785454a7d2c3412() + { + $this->assertTrue(true); + fn() => (match ($test) { + })->{$test}; + } + function test57c995e0de61289c75a4b120dd5c669a4f9063fdd7934066afcf502004467c63() + { + $this->assertTrue(true); + fn() => (isset(($test >>= $test)->{$test})); + } + function test57e360c7faa93a47ac7ca3c7fd8eede0a6fdd29d2adac6a88d73dbc226928969() + { + $this->assertTrue(true); + fn() => ($test and $test)->{$test}; + } + function test5805a2cc5d590fb9ee4a42031484d84b66c53ef3fe2a16ca3e3dbc0e9e924f10() + { + $this->assertTrue(true); + fn() => $test->{$test}->{$test}; + } + function test59c2b00683963f43bf0ea30b4e343f3bc0528ae1dbeb4cdc2f19e86f8e1d2404() + { + $this->assertTrue(true); + fn() => (isset(($test === $test)->{$test})); + } + function test5ae4e7403ebcc9a45c667ec1bdc00a7c6f3c1cef54425feeb50b5d0710a2f0ac() + { + $this->assertTrue(true); + fn() => $test::${$test}->{$test}; + } + function test5b20e8258d6b8c540b9b527187aa59acbb3b36ae3848111153888bfa824c71c9() + { + $this->assertTrue(true); + fn() => (isset(($test <<= $test)->{$test})); + } + function test5f5a3dc8a53acc67e00b4b7d104c4435ea00bbe46c4d30074c200fcb6ba07f79() + { + $this->assertTrue(true); + fn() => ($test &= $test)->{$test}; + } + function test61b71b6c8e8f9771ba33b68ab25bdafdec5762e785333c8171fa4f027d450d76() + { + $this->assertTrue(true); + fn() => (isset(($test /= $test)->{$test})); + } + function test6484ea585829e7217716fa7aea7e123c2e3b3f993a721cdbb47c7c25c2c67690() + { + $this->assertTrue(true); + fn() => (isset(($test ^ $test)->{$test})); + } + function test6894e290bd512d1f6a3dfb500e62dcd29f865779df84a90581fd1ec3989a7d6f() + { + $this->assertTrue(true); + fn() => (-$test)->{$test}; + } + function test6b9cb64792767da99c152f91dc7bd57ab87bf5beea89a481827cd216d65bca5a() + { + $this->assertTrue(true); + fn() => (isset((++$test)->{$test})); + } + function test6c286f86fd99e36acf92f9c14c938de3b9cdf56819b5647e0a57088d976a4ce0() + { + $this->assertTrue(true); + fn() => (isset($test->{$test}()->{$test})); + } + function test6cb9a4ff8191addd3a8e6ea466cb081315df6ea51b949005d7e3c093e3cebbe4() + { + $this->assertTrue(true); + fn() => (isset(($test &= $test)->{$test})); + } + function test6f0ebb05eaf7407d0f6cfe6b65e0320b456dbceb693704099083850a6f79b72f() + { + $this->assertTrue(true); + fn() => (isset(($test--)->{$test})); + } + function test71b6ce749e4f1bb14b6834ead46af117297db1b3c6308e0b151295f656cb2121() + { + $this->assertTrue(true); + fn() => ($test /= $test)->{$test}; + } + function test78508d46774980e318192d6a598cb8b0a3e419ad98a8f1bd7792ce743004ee18() + { + $this->assertTrue(true); + fn() => ($test <<= $test)->{$test}; + } + function test7948312d6cdbee21a333bba52b077726567ceaee5b7370d7387afa8795539005() + { + $this->assertTrue(true); + fn() => ($test ^= $test)->{$test}; + } + function test7a0265df12e723eb7bab325df9c681a70994442b3485494c0f8885f1b8e6519f() + { + $this->assertTrue(true); + fn() => (isset(($test && $test)->{$test})); + } + function test7c2d913fb3a33604dfd8a94ee98a9af091a743925b72c22443ccccbcfc50f6d8() + { + $this->assertTrue(true); + fn() => (isset((-$test)->{$test})); + } + function test80223ba9e78f60375f4b18ba4424f8b09629e1c0ac3b6257649472bf44a5edb8() + { + $this->assertTrue(true); + fn() => ${$test}->{$test}; + } + function test8371153426fe03caf30a991f1b219dfd3066aa2865ac21d2cd69ded49369b7f2() + { + $this->assertTrue(true); + fn() => ($test === $test)->{$test}; + } + function test842d2602c85802d9f4b748adca62a97773b45d68ea423c9c5deac324afee85df() + { + $this->assertTrue(true); + fn() => ($test++)->{$test}; + } + function test86e74860dc66e9b37bba57e13b68dc516c4352466efff0b9f6325244add4973b() + { + $this->assertTrue(true); + fn() => (isset(($test++)->{$test})); + } + function test87cf2479a67015d06b20e3291bb42c93c67842b8858cddb352a78ca2076e0c78() + { + $this->assertTrue(true); + fn() => (isset(($test += $test)->{$test})); + } + function test88b561e4736bb5aa755e5c6225684932c0dca14e64631744695c1e68fda7ddaf() + { + $this->assertTrue(true); + fn() => ($test %= $test)->{$test}; + } + function test8a37cbe7d3fff95f850cd898206e8dda4a6b0f2836f5006cb32cbc8d88cb156b() + { + $this->assertTrue(true); + fn() => $test?->{$test}()->{$test}; + } + function test8c5c63e1adc6c766f865edf82bc1a3fb97f3596f9d10463bbe52576eb9870083() + { + $this->assertTrue(true); + fn() => (isset((new $test())->{$test})); + } + function test8d430ee040c5488988ed2d8f4e9606d236cde66e977c03fd980a07fa2e712963() + { + $this->assertTrue(true); + fn() => (isset(($test / $test)->{$test})); + } + function test8dd2b74d57968b1ee8777462a763f164d246916230c199b41a9cb6cb046da16c() + { + $this->assertTrue(true); + fn() => ($test |= $test)->{$test}; + } + function test95a00d19f6f4bfef8a62bf4fe92e1b41e84cf85a7cfbc64bf8b652831372b339() + { + $this->assertTrue(true); + fn() => $test->{$test}()->{$test}; + } + function test9c654ec042adf5ba6f28efa04e56611f2b9144310c5a50a138604974e16f8cf1() + { + $this->assertTrue(true); + fn() => $test?->{$test}->{$test}; + } + function test9eebf6a2ce3014697071d566057778c58478442683c3647a5a99afae3450f890() + { + $this->assertTrue(true); + fn() => ((yield $test => $test))->{$test}; + } + function testa20e7706f212eb8dfd7fd538e8771af2418e43d9c368cf0b49a3f73a33edbbb8() + { + $this->assertTrue(true); + fn() => (isset(($test **= $test)->{$test})); + } + function testa5429d4b0015e8420add6b329f4971beb02e21efd2b0181dbea664d6b98246bc() + { + $this->assertTrue(true); + fn() => ($test & $test)->{$test}; + } + function testa9a6294ee0ef9787e0946bac1d86c805512ddfe3a9aade0bdf9b4c22cb4d73dd() + { + $this->assertTrue(true); + fn() => ($test || $test)->{$test}; + } + function testab02c6cd8481741580c71ef59a1db4df26f0c2617ca88f7f67730a42ef6e0f02() + { + $this->assertTrue(true); + fn() => ($test **= $test)->{$test}; + } + function testad9db00212da20f503ce0d77a9998505120df8c174936fa59f851344b3ff5724() + { + $this->assertTrue(true); + fn() => ($test xor $test)->{$test}; + } + function testadd7d08b1cf0bed8684d39ace4d46a4b8fc537cee1f32b69149b0573e918bd04() + { + $this->assertTrue(true); + fn() => ($test ?? $test)->{$test}; + } + function testafe1c89fafa6e5a88b3af2d44ed48a58c08956f11159881f7530c69e70f1d4f2() + { + $this->assertTrue(true); + fn() => (isset((yield from $test)->{$test})); + } + function testb2db0d44ac9cd5c2517437cd1d515b4dcfdfc544f9975e2d0e865ac022f8b83c() + { + $this->assertTrue(true); + fn() => (isset(($test | $test)->{$test})); + } + function testb458565efbddcf7858829c61acc68ee6aee73214e942619eacb6fd416132ac1f() + { + $this->assertTrue(true); + fn() => ($test ? $test : $test)->{$test}; + } + function testb47dc2e0e435bb3ee067e8cab7afb27dbbf0ffc9f44c135f3e33c68bb6b5359f() + { + $this->assertTrue(true); + fn() => ($test -= $test)->{$test}; + } + function testb7061c6d3e326ff34527ca676c3e2180d1703a091b646e564633bb3624b9e766() + { + $this->assertTrue(true); + fn() => ($test > $test)->{$test}; + } + function testb801870d31b6b5bd58d0ea03016c4e422274175fce44bbf36f45d706b5ae14f4() + { + $this->assertTrue(true); + fn() => (isset(($test ^= $test)->{$test})); + } + function testbb2924a9a2fec94eeca0045d59e5720aa4a42f31f91271b3e61b309dcb8a4cf5() + { + $this->assertTrue(true); + fn() => (isset(($test >= $test)->{$test})); + } + function testbd6fc91a51e57c4800d4d99bbfba98485071d1c2b586af977a4a6379c324dfb8() + { + $this->assertTrue(true); + fn() => (isset(($test & $test)->{$test})); + } + function testbf87bf88fd1c83be612b831e44ac4544c3196df82ef1ad9bd7d786e0fb236ef0() + { + $this->assertTrue(true); + fn() => (++$test)->{$test}; + } + function testc23774697369bc2dbb670b70751945cff1528e54dedc05aefc141f7259fea5a2() + { + $this->assertTrue(true); + fn() => (isset((print $test)->{$test})); + } + function testc2e53ad457a94058315e727cd4299bfde68c74b1ad1fce0288c09e54a8849fad() + { + $this->assertTrue(true); + fn() => (isset(($test |= $test)->{$test})); + } + function testda53bbab71cef411ae726b633c3542cf2e80caa755ddef508b851d1063ea2b66() + { + $this->assertTrue(true); + fn() => (isset(($test ??= $test)->{$test})); + } + function testdb8f42a390520a2220ae245da6d0c708493f0ed18af464e5eef693be7f3f1435() + { + $this->assertTrue(true); + fn() => (isset(($test . $test)->{$test})); + } + function testdca48df55497d409925b7a1a7616e3f4e9bbf87500ba7788d6e28ad42d379e96() + { + $this->assertTrue(true); + fn() => (isset(($test == $test)->{$test})); + } + function teste244fecd8c1eb1db4898eb42f7878d22129d0a92db59bd1c899a774c87c2c163() + { + $this->assertTrue(true); + fn() => (print $test)->{$test}; + } + function teste2a5ff46657e34064e6e4ea0cb334e2b2faba9929e6fa6d720800a2d0ff6e34a() + { + $this->assertTrue(true); + fn() => ($test += $test)->{$test}; + } + function teste7f33ff839ce455ffdc28e14964cd2798e709329d2deb6e9aecc141935be6d77() + { + $this->assertTrue(true); + fn() => (isset((isset($test))->{$test})); + } + function testea5bfec46c3beb2561a6942df6ec1c7d97143c06fb0fb396314f9f0fe6b805b2() + { + $this->assertTrue(true); + fn() => ($test .= $test)->{$test}; + } + function testea62f1cb5943c1d78dd51ad99ac7d1676a8a384b57261f42ef2d6672ce0ddd67() + { + $this->assertTrue(true); + fn() => (isset((``)->{$test})); + } + function testecd1815fe3a63f25293a89471a2254ca858c7c71633538845eea39a1656cb58b() + { + $this->assertTrue(true); + fn() => ($test && $test)->{$test}; + } + function testf1de1f092db7108cd09554578963b22922ef3fe9036b49c08b7502fc4659bf1b() + { + $this->assertTrue(true); + fn() => (isset($test::$test()->{$test})); + } + function testf57de8d06a20a03b4591e19fa34643f1a62465d701026296f023072b8575c569() + { + $this->assertTrue(true); + fn() => ($test or $test)->{$test}; + } + function testf6c40e4e01513ce4678bcbd70cf1d0f61dbc32ad55522d144ae69ac22d144aa3() + { + $this->assertTrue(true); + fn() => ($test ^ $test)->{$test}; + } + function testf6ea3ad6c6163905442755402ee8d822f0c91b841af43da3e0efb6d717c56d6a() + { + $this->assertTrue(true); + fn() => ($test >= $test)->{$test}; + } + function testfc4db925fba8ae3fb5ccbb7b0374d48f9f1bfe5fb1f56daf3ac335815957e79c() + { + $this->assertTrue(true); + fn() => (isset(($test .= $test)->{$test})); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test.php b/testsGenerated/Target/Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test.php new file mode 100644 index 000000000..29e2ca867 --- /dev/null +++ b/testsGenerated/Target/Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionfbe9742e420f225966e6ad26c63f683469c7a246e477d81095683bd13c971642Test extends TestCase +{ + function test006a431c5d7662cc486bf24a21b2ec62b68b7bd4fdf40537b8bc20b7af6dcfe2() + { + $this->assertTrue(true); + fn() => (~++$test); + } + function test01531d6c7d82e9f8e48f1c1756151cd13b63841c39bde88ead9775c04e3f5a1f() + { + $this->assertTrue(true); + fn() => (~($test - $test)); + } + function test01fca30a44d2a8d83a968ed11b65d3dc0e3dc5bad1168cf0e5f9a9f74ee1810e() + { + $this->assertTrue(true); + fn() => ($test =& $test << $test); + } + function test027cbcc5ccba354ca4a2c608f7ccc5f1243b87f2bb9d3e06bb964d05526d48b6() + { + $this->assertTrue(true); + fn() => (~($test / $test)); + } + function test05d59903a4b4efd483f84a631dbbb32b6a64bfcac8aef4a9d2001b7b723225d7() + { + $this->assertTrue(true); + fn() => (~($test << $test)); + } + function test07716a850b91fc45e491b8855a34a1314f67edd348259b49d29a8af979354d03() + { + $this->assertTrue(true); + fn() => (~($test + $test)); + } + function test08d91014d8a38aa3aee1b7f4a5e3d85bf9c0db87ab30ba32ace044c6dda5d467() + { + $this->assertTrue(true); + fn() => (~(double) $test); + } + function test0af87c6650942876029f36fbdec3d16465b4d70e9f8d8b9e02f019b4e8958c66() + { + $this->assertTrue(true); + fn() => (~($test == $test)); + } + function test11a32b43371ea445b81ea00f613781f24daa4fe859821ef0f5f7852dc1122fe8() + { + $this->assertTrue(true); + fn() => (~__DIR__); + } + function test11f389c21a909c10f6f326e02e067abce6256a5def41a57d164e249d1f7a0a92() + { + $this->assertTrue(true); + fn() => (~match ($test) { + }); + } + function test13641f2504ba6f6e6f17fa7ce2c993e224c3c53cdd2e84c28c785e9706aff825() + { + $this->assertTrue(true); + fn() => (~"{$test}"); + } + function test14ee5e477932a1b962c2c328d4acf1dc07236db79552e6d44274e72c2d77f58f() + { + $this->assertTrue(true); + fn() => (~$test::$test); + } + function test152dbb0f9c4bd6615a4c9fccdf0cbbf624a095e1e0a844937fe2919eddc3fc29() + { + $this->assertTrue(true); + fn() => (~($test or $test)); + } + function test159eb59a2ee6a2f7ac039c3d51428311eb7e4cf6117093fdf4cb60004eff913f() + { + $this->assertTrue(true); + fn() => (~$test[$test]); + } + function test1766e16df12f47a1a148b97124b23c83d17f5ce1e0b702efc0c953be857c5772() + { + $this->assertTrue(true); + fn() => (~($test and $test)); + } + function test1be381ff60f30ef9a4ca2734e0b7af00671d929a4974decbfb9c2772afe64691() + { + $this->assertTrue(true); + fn() => (~(!$test)); + } + function test22895382f61a70f53abff5c6df572f348799c40af437d595695ad737618f1a2d() + { + $this->assertTrue(true); + fn() => (~$test ** $test); + } + function test2657c865e65151a7afb18283b564b00aa9df5a157e32f67af30d631d75553706() + { + $this->assertTrue(true); + fn() => (~($test += $test)); + } + function test26bbc76b36f847f04bb87f1d9646a2c01df33601fac6ccbd6505c0100c7eef65() + { + $this->assertTrue(true); + fn() => (~($test >= $test)); + } + function test2731c891fec4a495cd9f143823f19673ff8c4890b8886c425d10ed0015fd37b5() + { + $this->assertTrue(true); + fn() => (~($test |= $test)); + } + function test2a4f727b2474fa982ea45953aa9c34219a6329a2143b650dced16b3eaef74e33() + { + $this->assertTrue(true); + fn() => (~($test | $test)); + } + function test303c1fcae196cb7b7d10d3b4237468531a7805eb5f98dc9ed8b0fd1a122046f1() + { + $this->assertTrue(true); + fn() => ($test =& $test !== $test); + } + function test328b6c62069c43023bbaca9c5841dd3bb5ba505e1c29147e2b07d1487f4b91f6() + { + $this->assertTrue(true); + fn() => (~-$test); + } + function test32b590da078667cbbf33186661e122dfc739da34267d8ab05ac75864a91110fc() + { + $this->assertTrue(true); + fn() => ($test =& $test <=> $test); + } + function test33cc9268782ce44fd6c29c4ead740971f38ad078e142e21d39e3edf34b519cc7() + { + $this->assertTrue(true); + fn() => (~($test * $test)); + } + function test34b188ffc952ee9fed186ad1d854c9d3d74a2bf25106e4fb179bcaa0b389ce2d() + { + $this->assertTrue(true); + fn() => (~isset($test)); + } + function test35c5d51018cbe37dfcd33e62a58bda10d6defef8244edfbc6f735aede4fe5785() + { + $this->assertTrue(true); + fn() => (~($test %= $test)); + } + function test37440351bb0631f6da9ad6c1aeff7818151863bb9422013aafa46da199a8e5b0() + { + $this->assertTrue(true); + fn() => (~($test . $test)); + } + function test379394621d35e11bbf3c54106fb94769c81609a102e82a5f68bff7c4c63701ba() + { + $this->assertTrue(true); + fn() => (~throw $test); + } + function test3b2e389e3c4aafa11bc919602211abee7ce30dc1384d45f0a16f8a9095141744() + { + $this->assertTrue(true); + fn() => ($test =& $test ** $test); + } + function test3b94e4d59d2b80205415804f69cd07fa766a129252336f87397d7c1a9015d9ee() + { + $this->assertTrue(true); + fn() => (~0); + } + function test3caec2bcc87952ad78dec72ce524c49c38ef56946c657148f77d6d2f6dc20beb() + { + $this->assertTrue(true); + fn() => (~$test--); + } + function test3f40d7ac8b89c2c261696a15f4220dd49fa53b6b727e028883454a4d62a1ce62() + { + $this->assertTrue(true); + fn() => (~($test || $test)); + } + function test3fcf7ee0f6e318456994bd388d19f7be64180eae66b6f8f440b2e70462fe4b92() + { + $this->assertTrue(true); + fn() => (~($test < $test)); + } + function test40052bd85825303776f2e2795773e987456acb13a0f8357ea7321e0bbebe189d() + { + $this->assertTrue(true); + fn() => (~$test()); + } + function test480a20f5c468a594e9fdde3ec35d570ed04d1b118f010157b6f4291f25c96f6a() + { + $this->assertTrue(true); + fn() => (~($test = $test)); + } + function test486b8e96cdf4c9ed38d8bcca8d42620784621f9f80f10ca4335349bfb8ab46ef() + { + $this->assertTrue(true); + fn() => (~empty($test)); + } + function test48ce32aa6ab3c4ba44dbd062da10a0388e36d50942a0833a30ce243ad662991b() + { + $this->assertTrue(true); + fn() => (~(yield $test => $test)); + } + function test4ca914124ad540cb0d8d4f0b574d1393b1ead44577bf06badd318be5149ff646() + { + $this->assertTrue(true); + fn() => (~(array) $test); + } + function test50d6c46a2c88d843f76d6574706e940c92277c0175121cc940a31b67a70a1a24() + { + $this->assertTrue(true); + fn() => (~(int) $test); + } + function test53d3584069f83c159d84c6fea1ddcc72a9fbc2d1cbe0d76ad15c77556c28e25a() + { + $this->assertTrue(true); + fn() => (~function () { + }); + } + function test588d553f601204631cc744a6c7c70d932e44403bb0187827cfeb2cf0560b6669() + { + $this->assertTrue(true); + fn() => (~~$test); + } + function test58d374117185d6107f4ccb6e3295029ebc098966a09c42616113dd0d5217946c() + { + $this->assertTrue(true); + fn() => (~``); + } + function test5fc03db23580e39869c319c14dbbaa2b80c94221ac3b56fdd19bb62d05f2a359() + { + $this->assertTrue(true); + fn() => (~($test ^ $test)); + } + function test63e95a3c7e3de91bbde0571d99a335d4dad7a75c5cf8198c10dff42aa4a384f8() + { + $this->assertTrue(true); + fn() => (~($test xor $test)); + } + function test670d0c9b9e813e58947be797d2d955fecf449b8fb9b105848d42f225225db957() + { + $this->assertTrue(true); + fn() => (~(print $test)); + } + function test678c1adc27ebefbc6a23a8c91a2cf2d8252b1d74afa23281dcf613c91e3e23cf() + { + $this->assertTrue(true); + fn() => (~(bool) $test); + } + function test6ac4c3a1bfdba7044fb4e25ac67a9b53ecea8569a27f719b7d83fd2274deab0c() + { + $this->assertTrue(true); + fn() => (~$test++); + } + function test7076f0a24e4f98847c38f3caa131b172464002dcfbfc8fab026674379ffc8ac7() + { + $this->assertTrue(true); + fn() => ($test =& $test >> $test); + } + function test7d4ef6d350a78efff360afd40645222dfc5170f6b33bea0aa41fc68881a25c30() + { + $this->assertTrue(true); + fn() => (~--$test); + } + function test7e5a62b5536d826623abb5f6b3a0fb3e55eaf7f893b929eb1a32b29378b2012b() + { + $this->assertTrue(true); + fn() => (~($test <= $test)); + } + function test81040d66b86fde3045d5c796ef1dd385fea83d7362c3c5d36a9652c76aeedbc3() + { + $this->assertTrue(true); + fn() => (~($test <=> $test)); + } + function test81865b340997c20ae845e19daeb7b89ed96b6d4ebfd169a7744f003905628bef() + { + $this->assertTrue(true); + fn() => (~($test > $test)); + } + function test84695a446dbb200afd86f5218802cf2521b09d65f85e2ba48673e9a79e39a2a0() + { + $this->assertTrue(true); + fn() => ($test =& $test <= $test); + } + function test8bd2569093bc98277500d76c6b8b8a29447114c4337d55f9ce1c816f3975e3b4() + { + $this->assertTrue(true); + fn() => (~($test =& $test)); + } + function test8cc3df2079d01be2cf16d7efa96b63089a345dabf8842f6dc0896ae98499d1d5() + { + $this->assertTrue(true); + fn() => (~$test->{$test}); + } + function test8eb0cb2227082224fe5e5cc493eb224b0be4624c33f691590c4cd3e18220040e() + { + $this->assertTrue(true); + fn() => (~($test .= $test)); + } + function test8eca6de43c15f3ebbf937895c9ed155962b942ee0b54adbe1182c5257943c630() + { + $this->assertTrue(true); + fn() => (~($test -= $test)); + } + function test907cabcd90c81f9e2f22184a326ce89a6cc572f2311c2b6835d500fcb6705a0e() + { + $this->assertTrue(true); + fn() => (~($test != $test)); + } + function test9b8b2a599a94741c8faacd7fd4ee9fbc2c03cd981eaf6bb9a85974166dfee14d() + { + $this->assertTrue(true); + fn() => (~($test &= $test)); + } + function testa373ef2b849fdcc2fb57b49411e7bddc27f00aee5d453a301258d502b8925482() + { + $this->assertTrue(true); + fn() => (~$test?->{$test}); + } + function testa571a2c3e33e31b01a77452d52484224ad42c2c706119a091882c476138ac6db() + { + $this->assertTrue(true); + fn() => (~'test'); + } + function testa59fd07a7de30a68110be296dfa2ca8945f2d5388864cc55f2debc31af161483() + { + $this->assertTrue(true); + fn() => (~($test >>= $test)); + } + function testa7f28dddcc9541ebc07a35b41c6a0451281ea7b164ff41fb1123446b0277a06a() + { + $this->assertTrue(true); + fn() => (~+$test); + } + function testaa363184fc50c20186cbc9a2ac29abc56a6af1b26e08bb4fafce2f40a9b62b44() + { + $this->assertTrue(true); + fn() => (~clone $test); + } + function testabd97c194dbf6906fbcb7081ec74781298e992a704da3fbf4cc36339a00e1dc9() + { + $this->assertTrue(true); + fn() => (~0.0); + } + function testac3d4ecb843222f1624fb7dfab9bbff5ed1ec1174d694a103e75fb33fd821435() + { + $this->assertTrue(true); + fn() => (~($test **= $test)); + } + function testad48464307a86f5f84a5f7e612f42b8773dc0295cd8936a73810a4e27b12ec29() + { + $this->assertTrue(true); + fn() => (~$test?->{$test}()); + } + function testb2d255651178a0c5659ccb8ec8c8c245733d09c4a5fb520b56ef62415154a2b3() + { + $this->assertTrue(true); + fn() => (~@$test); + } + function testb305c8567c20be8fd0c183ce878ef8ab47fe0811fa4484832c3fcc1ae163a83a() + { + $this->assertTrue(true); + fn() => (~new $test()); + } + function testb3cfbf4e5333caac4838320056055b652a0271426f0d30002ba63118fda10a3c() + { + $this->assertTrue(true); + fn() => (~($test ??= $test)); + } + function testb9b64688614b16c8c2fb36fb69fa64aec52cb1069ce22b67d6b570a64cad5e43() + { + $this->assertTrue(true); + fn() => (~__CLASS__); + } + function testc0473203f044678c768bf3740625df865aee146b5f7e40b817a41fad0bf26f84() + { + $this->assertTrue(true); + fn() => (~__FUNCTION__); + } + function testc5847b9cac56226fa048166f07e3bf5d83dceef7594866c8af594230f3ef470a() + { + $this->assertTrue(true); + fn() => ($test =& $test < $test); + } + function testcec0712ed0e7422ff47b947b4eba83a9a2d658e99f4430889bca3409985d1cf0() + { + $this->assertTrue(true); + fn() => (~($test /= $test)); + } + function testcf334f867817d1a64bd0dbae87375a858c787a50d3da710d32f3beac462352e8() + { + $this->assertTrue(true); + fn() => (~($test === $test)); + } + function testcf691526502f20c55fc7a9c08bb86a487c7d5b4649dc5b3bca4779a895e42b2d() + { + $this->assertTrue(true); + fn() => (~__FILE__); + } + function testd03b9741d52ab680cb3276d5f7cc1b25de9baaf566acd5fbb93fea9be1012c34() + { + $this->assertTrue(true); + fn() => (~( $test)); + } + function testd407054b095bba8d04d345c0e4921f47bb231d0e6b3835ef4cbcc7fe760a36d6() + { + $this->assertTrue(true); + fn() => (~${$test}); + } + function testd45bf3a51f6f518033f98b94dab84a6803efee17fc3bd7c1001484c37195d35c() + { + $this->assertTrue(true); + fn() => (~($test <<= $test)); + } + function testd48547627653f8eab26c26c415914fbe869fbca3a0995f66b632f6c86248e7e0() + { + $this->assertTrue(true); + fn() => (~($test ? $test : $test)); + } + function testd99f8f51e17f18f15c5d084de92db27b757f5e911b1673343c770e979dcffc8d() + { + $this->assertTrue(true); + fn() => (~($test instanceof $test)); + } + function testdc598350ea9cacf13d6802aa2dc69a0a02dd63a31ef442978392ae15b9e8ec34() + { + $this->assertTrue(true); + fn() => (~$test::${$test}); + } + function testdc6ba5113263d803002117317beea4f65011a90a686199fc5a470f99a6bb8828() + { + $this->assertTrue(true); + fn() => (~(object) $test); + } + function testde427eae921e1d557ff7f036db99ec654dfd192fa4a1fa6aab86c98c99516ff3() + { + $this->assertTrue(true); + fn() => (~($test & $test)); + } + function testded5a4a70c12162e302119b00c876d071b43b53cdd1ef75b6beaa49126457e4f() + { + $this->assertTrue(true); + fn() => (~($test && $test)); + } + function teste31347918fbbab00c3ef065351bdea8ba0756afb40cca7986da93dcacfba4f7d() + { + $this->assertTrue(true); + fn() => (~$test->{$test}()); + } + function teste40dfafce974904795e9e0bc4530890faa772c1f183e1398c186f3b5d530b75a() + { + $this->assertTrue(true); + fn() => (~eval($test)); + } + function teste4a6f2a31b303dae443da0e68d2c8f9bdb9ef4fe493acdcb2c4416bcd707a129() + { + $this->assertTrue(true); + fn() => ($test =& $test + $test); + } + function teste7f77b8a3b5be771ed7153f311a7a1373f7696c9d4415c667f2eae0382c68c78() + { + $this->assertTrue(true); + fn() => (~($test !== $test)); + } + function teste8378e0dba9dc5be3e99826a108ccac178bf00b3f2c921343f6c1e3fd16fc18e() + { + $this->assertTrue(true); + fn() => (~(yield from $test)); + } + function testeb6649742045ccd063651ca9327255b3520741ab0c3fdf4c7b5b81c9e7c37ba1() + { + $this->assertTrue(true); + fn() => (~$test::$test()); + } + function testebbc120fe4d327a0d6ab90e23455134e2aa8ffeec24a02ce4602bcacc741ccde() + { + $this->assertTrue(true); + fn() => (~self); + } + function tested31d8f8ecf4f86a9ee8722e082e72520b0187718c6499fab282cd3cf483385f() + { + $this->assertTrue(true); + fn() => (~(string) $test); + } + function testf828791a2df163ac31c09c60e2d9ba7d55bcaa3d99b4a5671d8f44e43fb1ebd9() + { + $this->assertTrue(true); + fn() => (~($test *= $test)); + } + function testfa05ae3f72a4c3f3faf5ad133fa36db9b63ff47513c9d4ff37ec94dd1e59b433() + { + $this->assertTrue(true); + fn() => (~($test ^= $test)); + } + function testfaaf4f03a848e79c0811ceffb722a0e176ab1b810dd7d15ee605bdedf137dac9() + { + $this->assertTrue(true); + fn() => (~($test ?? $test)); + } + function testfc3c7bfc225e0468e66696a57d2ce351b3b48b0c3019d44592b36b378a904547() + { + $this->assertTrue(true); + fn() => (~($test >> $test)); + } + function testfc450137b9ead33b88f81d1c7cbfcbcafaca1245e5f5610950f0cbe375f2c686() + { + $this->assertTrue(true); + fn() => (~($test % $test)); + } + function testfd0b95170eb45fc8ff9cbc6ab23ab44cc4e1dce50bc52168d67f8b37f28375dc() + { + $this->assertTrue(true); + fn() => (~$test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest.php b/testsGenerated/Target/Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest.php new file mode 100644 index 000000000..dfd3a459f --- /dev/null +++ b/testsGenerated/Target/Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionfd445e21da9abae074790c298865c2cac49627ea7d374f01d70c0cbbd776ab9aTest extends TestCase +{ + function test0c0299228776a81977ce8ba4ee43bd872dd24569ac49019039425167c5d7323f() + { + $this->assertTrue(true); + fn() => ($test /= ~$test); + } + function test0ffd990ea91d018a731d51d0d861e7fe8522cca292ee3dc9af4f421e32d17fd5() + { + $this->assertTrue(true); + fn() => ($test /= $test->{$test}()); + } + function test1210d95ec98f9b6923c70167f48556849c093b10c700f84ffed35fe78abd3e9c() + { + $this->assertTrue(true); + fn() => ($test /= $test == $test); + } + function test134ab463e7dbfa021e24c91447cb816a4ae82c485180946d9da0594bbea73414() + { + $this->assertTrue(true); + fn() => ($test /= $test->{$test}); + } + function test13f6b57ecbcd0dffe3ef8b56824a25bc3eca354c9ce06c249e8aa209f23f2178() + { + $this->assertTrue(true); + fn() => ($test /= $test | $test); + } + function test143a116d46e4477595f756eaa4e25779555bce83885928073f21f6a08715b030() + { + $this->assertTrue(true); + fn() => ($test /= new $test()); + } + function test177559543725d6b38a9d7d1575cb2ee242930b32b47e9ef4bd9815525cd45479() + { + $this->assertTrue(true); + fn() => ($test /= $test?->{$test}); + } + function test1a25816a77f2656b7869d16dd2a2f744b9936e634438c22c50425a02ebac76fb() + { + $this->assertTrue(true); + fn() => ($test . $test /= $test); + } + function test1bef075051ce4b31db4bce0e529fe78096ccb565a61107df35e9fc2bc72379f4() + { + $this->assertTrue(true); + fn() => ($test /= $test .= $test); + } + function test1ccc9662c19e6d3933e240f9346e566c9f7ec61e63d882e1b3df321f2e9c4ce5() + { + $this->assertTrue(true); + fn() => ($test /= ++$test); + } + function test2ff7a0c52d6e05999977d0c8c8ae87e31d03a31ed298ac0891ce8391dff37903() + { + $this->assertTrue(true); + fn() => ($test /= $test::${$test}); + } + function test30495de6e620faf16c85b6b2b4519672e6b595f8d30b05ec3ba2da01eeaa8288() + { + $this->assertTrue(true); + fn() => ($test /= ($test and $test)); + } + function test328ebc45ee977257068847a2cc721bec0d46c267f0c71a119aeb7599d421675a() + { + $this->assertTrue(true); + fn() => ($test % $test /= $test); + } + function test32d51aa09a775bc00ff86cd33730390b8b1aeb58a0af1dd28f088c346cca839f() + { + $this->assertTrue(true); + fn() => ($test >> $test /= $test); + } + function test37397e26dd43e5c73748d4d2e9899272c4fe8514be9bc7c010238c0046bcb3c9() + { + $this->assertTrue(true); + fn() => ($test < $test /= $test); + } + function test3839184b1ffbf50bc77109dc947482b943bdc364579e9e50b7b0a79091445686() + { + $this->assertTrue(true); + fn() => (${$test} /= $test); + } + function test399d32cc84da24271e8b7985ba3d53fe2b523712d5cb0d46d685ac79f461c7e4() + { + $this->assertTrue(true); + fn() => ($test /= $test > $test); + } + function test3bb987b41fc44ac08824524e75293d704f92867058a3df171a15e5ad63cc2f5a() + { + $this->assertTrue(true); + fn() => ($test /= throw $test); + } + function test3db071976ff841118b98f03b6c7f242a6417feab62cf9fd6041270b9680ce335() + { + $this->assertTrue(true); + fn() => ($test /= $test ??= $test); + } + function test40fa6b53f986d684e1dabe3651e1376f8c782bf37b5f1aaed47a2eaf8144ac17() + { + $this->assertTrue(true); + fn() => ($test /= $test?->{$test}()); + } + function test4199d2b438303bef0e01f0b2f2a982a8cee7545e49b8cb37c213ebd497130e9e() + { + $this->assertTrue(true); + fn() => ($test /= $test::$test); + } + function test42d19c6173a3da19710236e168a93e3f7f53117f22fac9e5838667bb6b7ad5b4() + { + $this->assertTrue(true); + fn() => ($test /= $test /= $test); + } + function test47263bd4625ae1b3cf1753699ff57e99fa5ac0f8d373a59266794d659543ca28() + { + $this->assertTrue(true); + fn() => ($test /= $test **= $test); + } + function test4a3d27a80b7c1d9a0931e978276bdc4e19f76f2d4cb1c5404ed9e188daa63b5a() + { + $this->assertTrue(true); + fn() => ($test /= $test === $test); + } + function test4b4751b034c41baa5ec04bc32d339a3e1bce8406b75873c05e63c8291c6ec989() + { + $this->assertTrue(true); + fn() => ($test /= $test || $test); + } + function test4fce9c953e28296504d4e30d6c8f6217e91a602311515cab6cb2f00d7546e557() + { + $this->assertTrue(true); + fn() => ((string) $test /= $test); + } + function test52c97f2dcac2bf879fd08f49cdfa69e66bd8cfcb927d495b99e450805fdeea6b() + { + $this->assertTrue(true); + fn() => ($test /= self); + } + function test538b14caed2f717b47865eb8a81259028dd6bcf20da4af441238143a33525265() + { + $this->assertTrue(true); + fn() => ($test /= (yield from $test)); + } + function test548365a57318a06d442ce43346e8bafb2ef150aea9326812dbdecb47f704fad0() + { + $this->assertTrue(true); + fn() => ($test /= $test >= $test); + } + function test55807ee011b127a084da3c30d5fa6066825d9ef1aacca78166064ff8cceb6e2a() + { + $this->assertTrue(true); + fn() => ($test /= $test |= $test); + } + function test570945caa16053c3fc08e7610049b2aaae5bdd9beaf7dbd13e261b0f9450fc12() + { + $this->assertTrue(true); + fn() => ($test /= $test ?? $test); + } + function test58c1f63a2fa366f1d359a76e0ec1a60cb1a1abfe014f4d0aef33574232e7c81d() + { + $this->assertTrue(true); + fn() => ($test ?? $test /= $test); + } + function test594de33416d301221dac55e3547671c553e5156494c62f45777dda00d72e09be() + { + $this->assertTrue(true); + fn() => ($test /= $test . $test); + } + function test5af5db11a4ba650b597854e9713ec4634f0b1cfb31335e8ee39b87bce24cbbbd() + { + $this->assertTrue(true); + fn() => ($test /= $test *= $test); + } + function test5bbb802653b0c42af362813848e93157d69f2fb34ff8a3b80d930bd57337b6fa() + { + $this->assertTrue(true); + fn() => ($test === $test /= $test); + } + function test5d3dcd944fae7d3a4dddbbceae2aa5c5a741e5f530f2c99385ab259a1c235169() + { + $this->assertTrue(true); + fn() => ($test /= $test -= $test); + } + function test66423a14d316dd3677d75b58e36d26589ae7cd8d0305ddef1fe201d2f3cdad96() + { + $this->assertTrue(true); + fn() => ($test ^ $test /= $test); + } + function test6b399eea369578effc9b8f5aa5a9bbbbdb4ef54b76e11c4328654b3cf9e75cb6() + { + $this->assertTrue(true); + fn() => ($test /= isset($test)); + } + function test6c57ea7affecdfb1bfa835305823c12b19470af52ed355f3e2499f3c7d4fa667() + { + $this->assertTrue(true); + fn() => ((double) $test /= $test); + } + function test6d8927200432bfc7c3ed471f27121ceb76213eaf5de551fb6877fbece28e36fa() + { + $this->assertTrue(true); + fn() => ((bool) $test /= $test); + } + function test6f570e7e22e17d13ed6f0528fc1ff0ca40f641cfd00938db8024f4b7244615be() + { + $this->assertTrue(true); + fn() => ($test /= $test ? $test : $test); + } + function test6feff0b28fc4814be4095c16114276169c48a77cd65517d6100b7ebcb9de8eb1() + { + $this->assertTrue(true); + fn() => ($test /= $test = $test); + } + function test714ca180aab289c5f70a9098d06e548e79ee363cc4f66e6e669cff126756412a() + { + $this->assertTrue(true); + fn() => ($test /= $test - $test); + } + function test7235030544bc089af386aa0d83c60dc9a089bcc3787073cee0e49f07b9b1f274() + { + $this->assertTrue(true); + fn() => ($test /= empty($test)); + } + function test797fd947f3acc4c965b7e719672cc5df7e993e50c2dae9d73f3076a908a09d9a() + { + $this->assertTrue(true); + fn() => ($test & $test /= $test); + } + function test7aab9fe6d64acc9f6403b475b6ac373a87af2f09f063e018e1c3df46169e0536() + { + $this->assertTrue(true); + fn() => ($test /= $test--); + } + function test7ac519e3868431d68e8b8173076837b5133127fd8206f1ee2d8e901247474f22() + { + $this->assertTrue(true); + fn() => ($test && $test /= $test); + } + function test820562fd19fc1c9a05edb6cda124754eb185d2a30d81bf255c5340ff40a054c1() + { + $this->assertTrue(true); + fn() => ($test /= $test); + } + function test83ac15230a39070e70060d4169aba4cbac9d6e56805c94b376f90fa438c3830c() + { + $this->assertTrue(true); + fn() => ($test /= $test =& $test); + } + function test87cbc674974959c1c5fe3619c8e522fdf5080d57df15d5003b7ea9be6c1e05f9() + { + $this->assertTrue(true); + fn() => ($test /= ${$test}); + } + function test8955ed89bc313d095e7f10b6765f3649797034017bcafe40b9014f8fdcc7f3b0() + { + $this->assertTrue(true); + fn() => ($test /= (print $test)); + } + function test900ff7643c872fa176def0bac2d21e24de1e70b30a4281382d11cfd60be90b4a() + { + $this->assertTrue(true); + fn() => ($test <= $test /= $test); + } + function test9338b41dc9b5a75f769ca23e6995a3df16820a4e75542cbf176d839862eed1ab() + { + $this->assertTrue(true); + fn() => ($test << $test /= $test); + } + function test94841c346ce33098bd5b7a086a49c8967082aeb1f9034741a417f8ded6ecb043() + { + $this->assertTrue(true); + fn() => ($test !== $test /= $test); + } + function test95d1cb669d1cf686c276f933533369a494ac89cecc6cb7b9bfceb27284990d9a() + { + $this->assertTrue(true); + fn() => ($test /= -$test); + } + function test9678698ceeddf20dd620e5ec528cfdcc232968d57e993e0da959506b30d4ffe5() + { + $this->assertTrue(true); + fn() => ($test >= $test /= $test); + } + function test9730189f6d7c7176ef01e9a2b1ba86987e097657570b7466a467674394ca6e34() + { + $this->assertTrue(true); + fn() => ($test || $test /= $test); + } + function test9984ee7cf1d0a423b9e3563c0f9baf0d817d0070df5453f8db496e9951f5f2c1() + { + $this->assertTrue(true); + fn() => ($test /= @$test); + } + function test9aad7fcf387560a918cdba84136448a4f298ff798edc75bd844f70a20a9aa53e() + { + $this->assertTrue(true); + fn() => ($test /= $test instanceof $test); + } + function test9fa2271ab9349de797961425b12a8967d37a2d2a85835112514e4a88d55beda5() + { + $this->assertTrue(true); + fn() => ($test /= --$test); + } + function test9fdf86934c29e9073e551181b95955b98e6b49ef6994aee39e6fe8a4a5bcd88e() + { + $this->assertTrue(true); + fn() => ($test /= $test &= $test); + } + function testa2b7df86ffbff0a7ed3cf1242da77cd3c5f9feb447c825889ef5e87e41c38c45() + { + $this->assertTrue(true); + fn() => ($test != $test /= $test); + } + function testa35461199b96f03b03ac4890e43cf9e6184f6a1a8c2da939794250277a2fecd2() + { + $this->assertTrue(true); + fn() => ($test /= function () { + }); + } + function testa4a13825a22a45daf83888ee7469582d611aae076773ffb5c4bbc090ee8ada03() + { + $this->assertTrue(true); + fn() => ($test /= +$test); + } + function testa6099c0d69209437637f83b6a65a24cf8f66532c4851b42cc1e730bd5dbd60c8() + { + $this->assertTrue(true); + fn() => ($test /= $test / $test); + } + function testab1d32d6f590fde662d3ca299d99a5251af245fe85e6a6475d2efaee5e7cd8cf() + { + $this->assertTrue(true); + fn() => ($test * $test /= $test); + } + function testb0ac61b7bdb85e21d0e90eee39f60b830b2f751e44b2be7c01cdcc931116fecc() + { + $this->assertTrue(true); + fn() => ($test /= ($test xor $test)); + } + function testb396438d2b3862aa66d54e002ae8aae96b555160309fd6e0228d836cb58a428d() + { + $this->assertTrue(true); + fn() => ($test /= $test ^= $test); + } + function testba13da8349606e347b8b0da7ad3ebbbd652eff6b032ece7d39a3a03a55706371() + { + $this->assertTrue(true); + fn() => ($test | $test /= $test); + } + function testbb6768b044685101e2b02b6f4dc2cc72479b7925dc044da611efc6c37b83e908() + { + $this->assertTrue(true); + fn() => ($test /= $test ^ $test); + } + function testc22eda2ce20d244d07032af79948434ae9d9c95796c8358d276a96fd78c57555() + { + $this->assertTrue(true); + fn() => ($test /= (yield $test => $test)); + } + function testc3b7c74af21383e2467ed5a0a067f6dd948c8e1f99269c599feda607944a8499() + { + $this->assertTrue(true); + fn() => ($test /= $test()); + } + function testc6066ea5e6864d0d77100027875e3740da796e37815fbaede28a48668d95b3d3() + { + $this->assertTrue(true); + fn() => ($test /= $test && $test); + } + function testc7d3faf0f4ced8f06b6be1be1c331fe82846c9984f2308d338b0eecc26bd3fca() + { + $this->assertTrue(true); + fn() => ($test /= $test++); + } + function testd304194f7b7e9ea3198f349a2da0ff91ba0de4c4d84684601ea1cfd9a0500d66() + { + $this->assertTrue(true); + fn() => ($test /= eval($test)); + } + function testd405849d56c225d9a999586486dd63d973363d0d91297ec3128e574ab1bb2012() + { + $this->assertTrue(true); + fn() => ($test /= $test & $test); + } + function testd5239b5929647666cd866676d57a8fb2935e09f9abfca9142d77cf9c33797e16() + { + $this->assertTrue(true); + fn() => ((object) $test /= $test); + } + function testd5778adc5a35418c174c99ee53d479c398984e2a7e316cb27c06f38570d4b5b0() + { + $this->assertTrue(true); + fn() => ($test /= $test %= $test); + } + function testd73a1df92a37033ed4261d2a5e61f6b017118c5420449ed6badeb8fa8f634d36() + { + $this->assertTrue(true); + fn() => ($test /= $test >>= $test); + } + function testd9196d92306d927f903a576eaaaee519a71e789e08503845af790ecae64d94dc() + { + $this->assertTrue(true); + fn() => ($test > $test /= $test); + } + function testda12a7508a0263f54925069a9f2a469e8f9ed226c9314da73941137d7e8d3698() + { + $this->assertTrue(true); + fn() => ($test + $test /= $test); + } + function testdee6259c44f0c67d73d733062ad59de9849ef1bc99c1aa90e6222439c7dd3019() + { + $this->assertTrue(true); + fn() => ($test ** $test /= $test); + } + function testdf897c001517e6929003e52b546073e1eb65db163c7d37ed5c729f2d67b54cd3() + { + $this->assertTrue(true); + fn() => ($test /= $test <<= $test); + } + function teste036c15edfaee18c351721180cf55983a938426664bb11b89b102be86c18fc3c() + { + $this->assertTrue(true); + fn() => ($test - $test /= $test); + } + function teste183b0421efce42ff64e4f3ef617efdc6b4457bfedc659f859f5de265acac8eb() + { + $this->assertTrue(true); + fn() => ($test /= ``); + } + function teste1b7e4fbb2d70cdfb37da0999f361fe2ea5461cca3ba122bd493379c135df005() + { + $this->assertTrue(true); + fn() => ($test <=> $test /= $test); + } + function teste2ba763ba46d6005caf1d0becc39534037e1c551d8c8ae0fe33140c316b135c2() + { + $this->assertTrue(true); + fn() => (+$test /= $test); + } + function teste646f829bdfb780222f85c9ee5014ce5cdd2ddb95f2d4a3cbc3b24b88b3c9bb6() + { + $this->assertTrue(true); + fn() => ($test / $test /= $test); + } + function teste6e3b0a6884e6f7ae41eb27203563e61175513c95f59b2bceae74dd65889651e() + { + $this->assertTrue(true); + fn() => ($test /= ($test or $test)); + } + function testebdc4e4486a9e5e9e9caeda742e8e10ef42f74b180258471c48040d7f2947f4f() + { + $this->assertTrue(true); + fn() => ($test /= $test += $test); + } + function tested369964873a5d66794da02fa6cd1e2a5d46566ea9404c27927d96489efcc21b() + { + $this->assertTrue(true); + fn() => ($test /= clone $test); + } + function testefe1f3d3cbc78c9def4cb2bdcd3d9eb897c8330c5714c52b4d84987cbde8da78() + { + $this->assertTrue(true); + fn() => ((int) $test /= $test); + } + function testf01bd601453cffad38dd8f7f6acee281f676f5a02aee98245bee51357b659574() + { + $this->assertTrue(true); + fn() => ($test /= ( $test)); + } + function testf255f27edc2b2918be02136a0839a1ae100a8a8db0250cf2ee7142c0907cf385() + { + $this->assertTrue(true); + fn() => ($test == $test /= $test); + } + function testf5524e005245173314de15e80523fd99e67b7fd218e565e2f28b5f91fa901a4a() + { + $this->assertTrue(true); + fn() => ($test /= match ($test) { + }); + } + function testf6dac4902b63d0b41c5a1732dbdbdb8418d6f135c38900a43bea79aadf7d06c9() + { + $this->assertTrue(true); + fn() => ($test /= $test[$test]); + } + function testf8f0083ae2773aefedd0463b1a4018c830c1d738594b90c7cc7f624a6c2f839c() + { + $this->assertTrue(true); + fn() => ($test /= $test::$test()); + } + function testf91541c46376e5f3991cb2bb6725a1648fa73853e5918278ff1f5a486d7c7e6d() + { + $this->assertTrue(true); + fn() => ($test /= !$test); + } + function testfb4cd20c1f544ba4967a8fd63791fb10eba95e85ef39e0d3a358be3259b06d14() + { + $this->assertTrue(true); + fn() => ($test /= []); + } + function testfb8d98cbd40b37b32bc608bcea0f9424037b6de9b6ea248d3ab4c6af075dc787() + { + $this->assertTrue(true); + fn() => ((array) $test /= $test); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test.php b/testsGenerated/Target/Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test.php new file mode 100644 index 000000000..7ab5c4563 --- /dev/null +++ b/testsGenerated/Target/Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test.php @@ -0,0 +1,514 @@ + + * @license MIT + */ +class Expressionfe73adc098e659b1c55bf01bfb0bac872ae7a7b7f40e72437068175784f00bc5Test extends TestCase +{ + function test0293bf443ccefc823e8fd31b3e90d842c124f4608fe749340432ad8e0994bbca() + { + $this->assertTrue(true); + fn() => ($test != ($test ?? $test)); + } + function test06b6a93fe104f2fefa35c3efeff0fd15d0a4919387e69930697046ca18344ed3() + { + $this->assertTrue(true); + fn() => ($test != (string) $test); + } + function test0c75ec429e93c4ba081d79264fd0c8a0a16e5b8082c5015238ac6adc354888df() + { + $this->assertTrue(true); + fn() => ($test != +$test); + } + function test10b29447a38362254cfdb6d85b168366956aed7903d438592b6184d4e54e7e93() + { + $this->assertTrue(true); + fn() => (__METHOD__ != $test); + } + function test114a7db98e2d344e8bcc92d209f49531b5def35252500fce47a923f541c99152() + { + $this->assertTrue(true); + fn() => ($test != "{$test}"); + } + function test140f0d27bf87c9478e9789a23d29644048e54fc2d00221a3253c33a8a6bf969d() + { + $this->assertTrue(true); + fn() => ($test != ($test &= $test)); + } + function test185d556c093cff815c5777dc9f8779cf65b0de67678adade6712a8177060343a() + { + $this->assertTrue(true); + fn() => ($test != self); + } + function test19310b24a4a0674849369d5943f6835916cfc454611aa8ebdd76a67f953aa15d() + { + $this->assertTrue(true); + fn() => ($test != ($test ^ $test)); + } + function test1a31bdb4b6ab34f56760830e1858bc21aa2201f44164c2e16d4bd5d54f265c5b() + { + $this->assertTrue(true); + fn() => ($test != throw $test); + } + function test1ef7c3e8cce090995620dde063f378617754b3da2bf6a185ca65d72d3e7ff5a4() + { + $this->assertTrue(true); + fn() => ($test != $test instanceof $test); + } + function test23429ec3060875a6a7ce5aa0607f71d069ac7a1a16b3355ecda7511a3b74435d() + { + $this->assertTrue(true); + fn() => ($test != eval($test)); + } + function test239cd49c79cde1cfec2529a31fd133eccc6599f5f0e2c17edbe357b79feec53d() + { + $this->assertTrue(true); + fn() => ($test != $test?->{$test}); + } + function test239cda1818d6063e6e505e8d40db01bac1a10a547b7db74f5c9d3cf63f71b526() + { + $this->assertTrue(true); + fn() => (__FUNCTION__ != $test); + } + function test26ae4a18e02ccee2f4a6149910c14e14db6a5e1924820e3dcbdd2a443cb7c624() + { + $this->assertTrue(true); + fn() => ($test != 0.0); + } + function test26d1d89b0c0875802f431f33f50fe4706e7d299798607ef8a11ee3fe0d9bfa8f() + { + $this->assertTrue(true); + fn() => ($test != ($test %= $test)); + } + function test26f0756b55b8f3c13792fcb1063fde1a20fdd8f6aa654cee45c0582841dd88ea() + { + $this->assertTrue(true); + fn() => ($test != clone $test); + } + function test2962d56391293be3c2ef323e3c5215aa77713dc09c48a5cfd39d9fab570f0058() + { + $this->assertTrue(true); + fn() => ($test != $test?->{$test}()); + } + function test2d88e2fcff3fdeb62285ffa4c1cdbe03c6ed6d8d6575621201dd3eec3fa71daf() + { + $this->assertTrue(true); + fn() => ($test != ($test *= $test)); + } + function test2ddd2d16a7942dbee5eb45a5f78881fbcf859cf3983ef8d722a558a7ea875e67() + { + $this->assertTrue(true); + fn() => ($test != $test::$test); + } + function test2e714f768a100ec6d7a22618e739a1084ec8b1bfbbf1bbc0315676de1021718c() + { + $this->assertTrue(true); + fn() => ($test != empty($test)); + } + function test3362ea6f842ba4555affc4aa2bcbe2836abd265a84e337798e527786f93da611() + { + $this->assertTrue(true); + fn() => ($test != ${$test}); + } + function test36279d31cc5a492d3bbf185b90d4951fdd0d7f2df69594cc0bda44e98de3806e() + { + $this->assertTrue(true); + fn() => ($test != (double) $test); + } + function test37d7efe8540ec17ddf9bbe64c20dccdb51ab018691ed3d5e47e1aa5741e1f78f() + { + $this->assertTrue(true); + fn() => ($test != ~$test); + } + function test392295fe1c1c5dc4b942f2e432400604d01a967998a5c6698cbb0700468a5f8d() + { + $this->assertTrue(true); + fn() => ($test != (object) $test); + } + function test3b52c92aac253149e1ab188327b05883a28779eb1cf030f1e5f62914e3e12127() + { + $this->assertTrue(true); + fn() => ($test != $test); + } + function test3c8151c3947170e211e906c1370406f84acdff81caa9c121b8c6804f1be58bd6() + { + $this->assertTrue(true); + fn() => ($test != $test * $test); + } + function test3e66064393c7934907bcdc585961ccb8ef19b26ac553758c09511772aea46520() + { + $this->assertTrue(true); + fn() => ($test != $test >> $test); + } + function test3f9326b162a71e4b753e12b00694f8f6e0beae26ec50b834480bdfa60a7a08ff() + { + $this->assertTrue(true); + fn() => ($test != ($test |= $test)); + } + function test3fa64a69e94cf7f50cb875db356bc1a44ca761682733866e31a2126349d5e0fd() + { + $this->assertTrue(true); + fn() => ($test != ($test && $test)); + } + function test48b1420973e05e6f9572256320a6be4c01035f7a798af31b57ed8727d3a89df8() + { + $this->assertTrue(true); + fn() => ($test != --$test); + } + function test4a305286c70995d471cd049f46458b0348b5176196ebdb520903ab4a5a709a3f() + { + $this->assertTrue(true); + fn() => ($test != ($test /= $test)); + } + function test4ba8020a82cb03728b7a4bec9d93659264b7bb9fb784eb28c777e6a3431c1116() + { + $this->assertTrue(true); + fn() => ($test != __DIR__); + } + function test53f1c678c2f154fec07986c5ed4b7c78925055040bfafb0103ff32449cf1b73d() + { + $this->assertTrue(true); + fn() => ($test != ($test .= $test)); + } + function test54fdb4a9a2c2ac4d60ef76d52a1b4df967d765ce80787b239efd6012548eccd2() + { + $this->assertTrue(true); + fn() => ($test != __FILE__); + } + function test561b76970c1f717fd6b9efcd683d810671f4f0981776b5ee550264305844f816() + { + $this->assertTrue(true); + fn() => ($test != $test[$test]); + } + function test5c78eee096c12102633b2f9dab5a865fecbd3788f80d4204c025f8c2c0754e68() + { + $this->assertTrue(true); + fn() => ($test != ($test >>= $test)); + } + function test5c93b8cddaade81c11086a69993d70cddafbc3e4062c44918c33ec9d356bbe6d() + { + $this->assertTrue(true); + fn() => ($test != ($test ^= $test)); + } + function test5da1e65ec1268e5a9ec0f68223829e7fc394a908e93dcbd62655a8e53d0d16ee() + { + $this->assertTrue(true); + fn() => ($test != ($test & $test)); + } + function test600db6f5bf4445b3e234d1c27fecf2bcda014d766b08d3d44612d9dd7f3e8bb5() + { + $this->assertTrue(true); + fn() => ($test != ($test | $test)); + } + function test6075d8532e7ec8de7a1896ed7b6427b0d71079e4aaf94209627a9e0682b3a7b1() + { + $this->assertTrue(true); + fn() => ($test != $test >= $test); + } + function test61833431a07965f4fde23f0789771a068d5a2d7c5c4284d047de3e40fff8a10d() + { + $this->assertTrue(true); + fn() => ($test != (yield $test => $test)); + } + function test63abd6961c1c2bae791127edd5fd71dd0a06b1f2c60f1c478f7ddca010d939de() + { + $this->assertTrue(true); + fn() => ($test != __METHOD__); + } + function test6b4226a54e17b4554c27698808ff8ea17c709875a406d26fe90b1d34cd3a75d6() + { + $this->assertTrue(true); + fn() => ($test != ($test += $test)); + } + function test6bed96680d8614184cd01f5ba760ef029e51e8df630b187b9c2cbc2f7a1ff609() + { + $this->assertTrue(true); + fn() => ($test != ($test -= $test)); + } + function test6ca3fcd997cdf99d756746f1e05a4a8f7385fb25a1d7a8bebc208496460648d0() + { + $this->assertTrue(true); + fn() => ($test != $test::${$test}); + } + function test6d2f9dbcf0fad564c0de820f5df19cf3f4c00a34146fbfb1a60d0dd3ec7ef778() + { + $this->assertTrue(true); + fn() => ($test != (bool) $test); + } + function test70804fb09c988d4811573c8411798987a9ee26534d3af02083bdd42135bffcc2() + { + $this->assertTrue(true); + fn() => (__TRAIT__ != $test); + } + function test722fc14207e679fcaf49a698abf42432d072d60b67cb0fa1198103269064eafd() + { + $this->assertTrue(true); + fn() => ($test != []); + } + function test76da296ffd3736b414fe1f2b1ec757b472461cccdc8d5bb0f4175b9cc1906977() + { + $this->assertTrue(true); + fn() => ($test != ($test <<= $test)); + } + function test780bbcaddfb24c87552b4dbd4dbba27f8c28feb981e092abc36280a602e41818() + { + $this->assertTrue(true); + fn() => ($test != $test--); + } + function test7852b3e52627fce95ec593c36a408919027cdf42a9f61587cda276d6a0d38c24() + { + $this->assertTrue(true); + fn() => (__LINE__ != $test); + } + function test7ab61bbbeee94ccac18cdfbc7eeef19074605181033329577a67c88588d01195() + { + $this->assertTrue(true); + fn() => ($test != ($test **= $test)); + } + function test808899d646bb050085aaf8780553d64dbad82a899494eda122515e9d472c5acb() + { + $this->assertTrue(true); + fn() => ($test != $test / $test); + } + function test845a50499948acaa8390996fdac7036143d86c9200ea7820d450685d96a554e7() + { + $this->assertTrue(true); + fn() => ($test != $test << $test); + } + function test85263b04fa5d7453e1ab444f7ccff1c868ec5795679d1749a9b603834b0f43cf() + { + $this->assertTrue(true); + fn() => ($test != ++$test); + } + function test866e755107576728012381d2d0dc544b4723b8cea676aa7efd450b45f7797c11() + { + $this->assertTrue(true); + fn() => ($test != ($test || $test)); + } + function test86ac729982953e895d375107a97f539553a21a9056b7dc740412804246bf15f7() + { + $this->assertTrue(true); + fn() => (__NAMESPACE__ != $test); + } + function test8bcc49b6d1b7aeb98e3f265bcd6038b268c064fca242875cfd8df948fa2f62d9() + { + $this->assertTrue(true); + fn() => ($test != 'test'); + } + function test9113715746c6d30a52ed7aad67f87dc6a842d7cab2eb1dafc06f993bddc82b58() + { + $this->assertTrue(true); + fn() => ($test != $test->{$test}); + } + function test924f71b7c26b6f5b149291caf09deebcbaa32ea0a8aaf2c2385d019dddba400e() + { + $this->assertTrue(true); + fn() => ($test != ($test or $test)); + } + function test92e07f655cba0acc952608234b75d61467eb7527d4e690d26de1b2c107bf55d7() + { + $this->assertTrue(true); + fn() => ($test != ($test <=> $test)); + } + function test9467e16949fe9fae703386bfe260d4e0fb7db4224dc809b2931a39e6bad89519() + { + $this->assertTrue(true); + fn() => ($test != ($test =& $test)); + } + function test97af33aaec08672361133af289e43e8b62ad8ace196ab4e06881e1351debc7a7() + { + $this->assertTrue(true); + fn() => ($test != ($test === $test)); + } + function test97ee58fce6b4e52cf9ea2cdb34aab5f207ad59ff2b3b193b525d65ebfc2d6d41() + { + $this->assertTrue(true); + fn() => ($test != $test++); + } + function test9938c9f4aa2c4163baa1049e16a56b21b08d3e6dce6ae16da2a52e39ffcaa073() + { + $this->assertTrue(true); + fn() => ($test != $test % $test); + } + function test9e6aab1b1ca137d9a49e00883e2b89a4b14eae170bd15dc907c13dac3240bec2() + { + $this->assertTrue(true); + fn() => ($test != @$test); + } + function testa42b447b22f91cd758a0c52b618935c97bc98bb8cbbf28c16ed1c360544fe49c() + { + $this->assertTrue(true); + fn() => ($test != ($test and $test)); + } + function testa8b946596d50b26a58d65657a5cc953f2bb0275390af806a76438ea383b47741() + { + $this->assertTrue(true); + fn() => ($test != $test - $test); + } + function testaa0ecf2b561dc74bc51e89d4d0042823acf4891b2eb4871bbd7c0c00354937da() + { + $this->assertTrue(true); + fn() => ($test != ($test == $test)); + } + function testaa4691accce5f27551aa0ab444fb6cbf351dc79255c5240973125a4dff709f6d() + { + $this->assertTrue(true); + fn() => ($test != ( $test)); + } + function testb62e3fd1aeff48d40efd9d8fd8c9f2c3472ec9459ca55e7c55b368021fdc5eb8() + { + $this->assertTrue(true); + fn() => ($test != (array) $test); + } + function testb62eeab872436155562f08e778fcbede18022b5108128162dc60e7afaebaa288() + { + $this->assertTrue(true); + fn() => ($test != match ($test) { + }); + } + function testb88c2c5bad161087288ad2dd167bfbd0cec9bbc75503496f1f5a1384f24cef88() + { + $this->assertTrue(true); + fn() => ($test != __CLASS__); + } + function testba5b96bdf93f73e2b7e8baa67fa159cba47c5f4a6b1298ad6c893dcff8531955() + { + $this->assertTrue(true); + fn() => ($test != ($test = $test)); + } + function testbe5761da39d0f115866153fc984031985b69c69289cae2d041754d1c8ab9f885() + { + $this->assertTrue(true); + fn() => ($test != -$test); + } + function testbe8e3f24c17ffaf1d769216e6e0126d7487c0a59aee981158960c1f021651d05() + { + $this->assertTrue(true); + fn() => ($test != ($test xor $test)); + } + function testc52fab1cc9eca3b64a99b6dfa39897b25a8e20dd8dbc16770c7386019f5d615d() + { + $this->assertTrue(true); + fn() => ($test != (int) $test); + } + function testcb4e4e14e94cf3f426dc647407e454c1c5ba64aa022d3cbf451a4a5f066e4b5c() + { + $this->assertTrue(true); + fn() => ($test != ($test != $test)); + } + function testcd5084f84428ce03e8fe02c42a9df222d01bfd1921dbe17da84f916d00e2d536() + { + $this->assertTrue(true); + fn() => ($test != $test < $test); + } + function testd914bd609d8958557d173e4cb6c88b1097fae624abd87052d739538e0ed68400() + { + $this->assertTrue(true); + fn() => ($test != ``); + } + function testd945575220279a06fb6355015a19635b7b8758407e393dfe2191e9310a541ee6() + { + $this->assertTrue(true); + fn() => ($test != $test()); + } + function testd987d3275dedc64bb5518a4f87516baecfb82900fb1d7d9374def8557f181eb8() + { + $this->assertTrue(true); + fn() => ($test != __FUNCTION__); + } + function testd99cdf5f266f3b3ef82176ee13265a9c6a9eeed007bebf498795ee1daa7438c5() + { + $this->assertTrue(true); + fn() => ($test != (print $test)); + } + function testdad7f8f53ef29ad87872df76e3ea5b11506939cadc6126794f8f63e25af25cce() + { + $this->assertTrue(true); + fn() => ($test != $test + $test); + } + function testdbbebd3b18a01a7ae645416dc46688bb6da8327d0eb585a3145dcfb2ba8190dd() + { + $this->assertTrue(true); + fn() => ($test != isset($test)); + } + function testddff5d8e7128dc21e2f10e5ea32e3a49e0e89a46e000c8714a694228c5272538() + { + $this->assertTrue(true); + fn() => ($test != ($test ? $test : $test)); + } + function testde66f0ce4ac3ab00602865a31e6e4e724dd356c51c10c688c17095263ff5a092() + { + $this->assertTrue(true); + fn() => ($test != $test->{$test}()); + } + function teste117459ffedcb9f5f7f4cc03b17009cbd734148642bcae4e03f36ead7b303335() + { + $this->assertTrue(true); + fn() => ($test != ($test ??= $test)); + } + function teste28b66ae06819fc819777248bf8124aae9d212ed33b701457ff99e3d8b22646f() + { + $this->assertTrue(true); + fn() => ($test != $test > $test); + } + function teste3b67c9580f684e1a8d7fa2954415d6c4323bc57fc0964fa883a767258122889() + { + $this->assertTrue(true); + fn() => ($test != (yield from $test)); + } + function teste6f68f7020825ef72d51073d0a1290fe8676c8518a88b3f94fffc0a6467d82ce() + { + $this->assertTrue(true); + fn() => ($test != !$test); + } + function teste8e13050c7d4ad9b0e9021bff9121f2815f7a55aa6b679bf3df34fcd0c3bb0d7() + { + $this->assertTrue(true); + fn() => ($test != ($test !== $test)); + } + function testeac30b1bd1a924f33af8edf1fd7f90423eb0c9a0d39647bff3897e343d8b3b24() + { + $this->assertTrue(true); + fn() => ($test != __LINE__); + } + function testec6bb4597975c360e720d8401342e85f457ef2dd224222c180e7e51037258c49() + { + $this->assertTrue(true); + fn() => ($test != $test <= $test); + } + function testefc56043b1c2ccff5df97c8b48f6b01c5a7d0d0ff0ebec562667d326ab85a3a5() + { + $this->assertTrue(true); + fn() => ($test != $test . $test); + } + function testf0ef3b7796eeae8fc2ab387f27c4613b9e708b5248c6c34b2a141e1a80366c1e() + { + $this->assertTrue(true); + fn() => ($test != new $test()); + } + function testf6da9a07bfaf333473afccc8f929d9424d9166f054e721490a0acb1ae55477e4() + { + $this->assertTrue(true); + fn() => ($test != $test ** $test); + } + function testf825f509ffc5f196c813f61710b34c40c118a538ca1368aa611202d5642bd9c7() + { + $this->assertTrue(true); + fn() => ($test != $test::$test()); + } + function testfcb7b4b1757e8e0db240369e638bbf95885f849c7162ebdfffd4779188d50be7() + { + $this->assertTrue(true); + fn() => ($test != 0); + } + function testfeab716c46ddba408e356f82c67ed4d060a0cba89e24989c94f72c588db72772() + { + $this->assertTrue(true); + fn() => ($test != function () { + }); + } +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer0Test.php b/testsGenerated/Target/TypeHintReplacer0Test.php new file mode 100644 index 000000000..f829c535d --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer0Test.php @@ -0,0 +1,61 @@ + + * @license MIT + */ +class TypeHintReplacer0Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): callable => $data, "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[function ($data): callable { return $data; }, "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[[$this, 'testRet0callable'], "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[[self::class, 'testRet0callable'], "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +['PhabelTest\Target\testRet0callable', "is_null", new class{}, '~.*Return value must be of type callable, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (callable $data): callable => $data, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[function (callable $data): callable { return $data; }, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[[$this, 'test0callable'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[[self::class, 'test0callable'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +['PhabelTest\Target\test0callable', "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test0callable(callable $data): callable { return $data; } +private static function testRet0callable($data): callable { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer10Test.php b/testsGenerated/Target/TypeHintReplacer10Test.php new file mode 100644 index 000000000..7180a8c0a --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer10Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer10Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?callable => $data, "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[function ($data): ?callable { return $data; }, "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[$this, 'testRet46callable'], "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[self::class, 'testRet46callable'], "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +['PhabelTest\Target\testRet46callable', "is_null", new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[fn ($data): ?callable => $data, fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[function ($data): ?callable { return $data; }, fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[$this, 'testRet47callable'], fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[self::class, 'testRet47callable'], fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +['PhabelTest\Target\testRet47callable', fn (): int => 0, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[fn ($data): ?callable => $data, [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[function ($data): ?callable { return $data; }, [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[$this, 'testRet48callable'], [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[self::class, 'testRet48callable'], [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +['PhabelTest\Target\testRet48callable', [$this, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[fn ($data): ?callable => $data, [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[function ($data): ?callable { return $data; }, [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[$this, 'testRet49callable'], [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[self::class, 'testRet49callable'], [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +['PhabelTest\Target\testRet49callable', [self::class, "noop"], new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[fn ($data): ?callable => $data, null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[function ($data): ?callable { return $data; }, null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[$this, 'testRet50callable'], null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +[[self::class, 'testRet50callable'], null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~'], +['PhabelTest\Target\testRet50callable', null, new class{}, '~.*Return value must be of type \\?callable, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?callable $data): ?callable => $data, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[function (?callable $data): ?callable { return $data; }, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[$this, 'test46callable'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[self::class, 'test46callable'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +['PhabelTest\Target\test46callable', "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[fn (?callable $data): ?callable => $data, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[function (?callable $data): ?callable { return $data; }, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[$this, 'test47callable'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[self::class, 'test47callable'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +['PhabelTest\Target\test47callable', fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[fn (?callable $data): ?callable => $data, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[function (?callable $data): ?callable { return $data; }, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[$this, 'test48callable'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[self::class, 'test48callable'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +['PhabelTest\Target\test48callable', [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[fn (?callable $data): ?callable => $data, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[function (?callable $data): ?callable { return $data; }, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[$this, 'test49callable'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[self::class, 'test49callable'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +['PhabelTest\Target\test49callable', [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[fn (?callable $data): ?callable => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[function (?callable $data): ?callable { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[$this, 'test50callable'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +[[self::class, 'test50callable'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~'], +['PhabelTest\Target\test50callable', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?callable, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test46callable(?callable $data): ?callable { return $data; } +private static function testRet46callable($data): ?callable { return $data; } +private static function test47callable(?callable $data): ?callable { return $data; } +private static function testRet47callable($data): ?callable { return $data; } +private static function test48callable(?callable $data): ?callable { return $data; } +private static function testRet48callable($data): ?callable { return $data; } +private static function test49callable(?callable $data): ?callable { return $data; } +private static function testRet49callable($data): ?callable { return $data; } +private static function test50callable(?callable $data): ?callable { return $data; } +private static function testRet50callable($data): ?callable { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer11Test.php b/testsGenerated/Target/TypeHintReplacer11Test.php new file mode 100644 index 000000000..0ccaa8b56 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer11Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer11Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): callable|array => $data, "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[function ($data): callable|array { return $data; }, "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[$this, 'testRet51callablearray'], "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[self::class, 'testRet51callablearray'], "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +['PhabelTest\Target\testRet51callablearray', "is_null", new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[fn ($data): callable|array => $data, fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[function ($data): callable|array { return $data; }, fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[$this, 'testRet52callablearray'], fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[self::class, 'testRet52callablearray'], fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +['PhabelTest\Target\testRet52callablearray', fn (): int => 0, new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[fn ($data): callable|array => $data, [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[function ($data): callable|array { return $data; }, [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[$this, 'testRet53callablearray'], [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[self::class, 'testRet53callablearray'], [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +['PhabelTest\Target\testRet53callablearray', [$this, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[fn ($data): callable|array => $data, [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[function ($data): callable|array { return $data; }, [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[$this, 'testRet54callablearray'], [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[self::class, 'testRet54callablearray'], [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +['PhabelTest\Target\testRet54callablearray', [self::class, "noop"], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[fn ($data): callable|array => $data, ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[function ($data): callable|array { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[$this, 'testRet55callablearray'], ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[self::class, 'testRet55callablearray'], ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +['PhabelTest\Target\testRet55callablearray', ['lmao'], new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (callable|array $data): callable|array => $data, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[function (callable|array $data): callable|array { return $data; }, "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[$this, 'test51callablearray'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[self::class, 'test51callablearray'], "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +['PhabelTest\Target\test51callablearray', "is_null", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[fn (callable|array $data): callable|array => $data, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[function (callable|array $data): callable|array { return $data; }, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[$this, 'test52callablearray'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[self::class, 'test52callablearray'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +['PhabelTest\Target\test52callablearray', fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[fn (callable|array $data): callable|array => $data, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[function (callable|array $data): callable|array { return $data; }, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[$this, 'test53callablearray'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[self::class, 'test53callablearray'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +['PhabelTest\Target\test53callablearray', [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[fn (callable|array $data): callable|array => $data, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[function (callable|array $data): callable|array { return $data; }, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[$this, 'test54callablearray'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[self::class, 'test54callablearray'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +['PhabelTest\Target\test54callablearray', [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[fn (callable|array $data): callable|array => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[function (callable|array $data): callable|array { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[$this, 'test55callablearray'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[self::class, 'test55callablearray'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +['PhabelTest\Target\test55callablearray', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test51callablearray(callable|array $data): callable|array { return $data; } +private static function testRet51callablearray($data): callable|array { return $data; } +private static function test52callablearray(callable|array $data): callable|array { return $data; } +private static function testRet52callablearray($data): callable|array { return $data; } +private static function test53callablearray(callable|array $data): callable|array { return $data; } +private static function testRet53callablearray($data): callable|array { return $data; } +private static function test54callablearray(callable|array $data): callable|array { return $data; } +private static function testRet54callablearray($data): callable|array { return $data; } +private static function test55callablearray(callable|array $data): callable|array { return $data; } +private static function testRet55callablearray($data): callable|array { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer12Test.php b/testsGenerated/Target/TypeHintReplacer12Test.php new file mode 100644 index 000000000..6287ad0ce --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer12Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer12Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): callable|array => $data, array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[function ($data): callable|array { return $data; }, array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[$this, 'testRet56callablearray'], array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[[self::class, 'testRet56callablearray'], array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +['PhabelTest\Target\testRet56callablearray', array(), new class{}, '~.*Return value must be of type callable\\|array, class@anonymous returned~'], +[fn ($data): ?array => $data, ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[function ($data): ?array { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[[$this, 'testRet57array'], ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[[self::class, 'testRet57array'], ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +['PhabelTest\Target\testRet57array', ['lmao'], new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[fn ($data): ?array => $data, array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[function ($data): ?array { return $data; }, array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[[$this, 'testRet58array'], array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[[self::class, 'testRet58array'], array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +['PhabelTest\Target\testRet58array', array(), new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[fn ($data): ?array => $data, null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[function ($data): ?array { return $data; }, null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[[$this, 'testRet59array'], null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[[self::class, 'testRet59array'], null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +['PhabelTest\Target\testRet59array', null, new class{}, '~.*Return value must be of type \\?array, class@anonymous returned~'], +[fn ($data): array|bool => $data, ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet60arraybool'], ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet60arraybool'], ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet60arraybool', ['lmao'], new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (callable|array $data): callable|array => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[function (callable|array $data): callable|array { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[$this, 'test56callablearray'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[[self::class, 'test56callablearray'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +['PhabelTest\Target\test56callablearray', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable\\|array, class@anonymous given, .*~'], +[fn (?array $data): ?array => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[function (?array $data): ?array { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[[$this, 'test57array'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[[self::class, 'test57array'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +['PhabelTest\Target\test57array', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[fn (?array $data): ?array => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[function (?array $data): ?array { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[[$this, 'test58array'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[[self::class, 'test58array'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +['PhabelTest\Target\test58array', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[fn (?array $data): ?array => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[function (?array $data): ?array { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[[$this, 'test59array'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[[self::class, 'test59array'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +['PhabelTest\Target\test59array', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?array, class@anonymous given, .*~'], +[fn (array|bool $data): array|bool => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test60arraybool'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test60arraybool'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test60arraybool', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test56callablearray(callable|array $data): callable|array { return $data; } +private static function testRet56callablearray($data): callable|array { return $data; } +private static function test57array(?array $data): ?array { return $data; } +private static function testRet57array($data): ?array { return $data; } +private static function test58array(?array $data): ?array { return $data; } +private static function testRet58array($data): ?array { return $data; } +private static function test59array(?array $data): ?array { return $data; } +private static function testRet59array($data): ?array { return $data; } +private static function test60arraybool(array|bool $data): array|bool { return $data; } +private static function testRet60arraybool($data): array|bool { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer13Test.php b/testsGenerated/Target/TypeHintReplacer13Test.php new file mode 100644 index 000000000..8b212fc07 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer13Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer13Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): array|bool => $data, array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet61arraybool'], array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet61arraybool'], array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet61arraybool', array(), new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[fn ($data): array|bool => $data, true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet62arraybool'], true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet62arraybool'], true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet62arraybool', true, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[fn ($data): array|bool => $data, false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet63arraybool'], false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet63arraybool'], false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet63arraybool', false, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[fn ($data): array|bool => $data, 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet64arraybool'], 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet64arraybool'], 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet64arraybool', 0, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[fn ($data): array|bool => $data, 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet65arraybool'], 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet65arraybool'], 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet65arraybool', 1, new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (array|bool $data): array|bool => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test61arraybool'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test61arraybool'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test61arraybool', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[fn (array|bool $data): array|bool => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test62arraybool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test62arraybool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test62arraybool', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[fn (array|bool $data): array|bool => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test63arraybool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test63arraybool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test63arraybool', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[fn (array|bool $data): array|bool => $data, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test64arraybool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test64arraybool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test64arraybool', 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[fn (array|bool $data): array|bool => $data, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test65arraybool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test65arraybool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test65arraybool', 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test61arraybool(array|bool $data): array|bool { return $data; } +private static function testRet61arraybool($data): array|bool { return $data; } +private static function test62arraybool(array|bool $data): array|bool { return $data; } +private static function testRet62arraybool($data): array|bool { return $data; } +private static function test63arraybool(array|bool $data): array|bool { return $data; } +private static function testRet63arraybool($data): array|bool { return $data; } +private static function test64arraybool(array|bool $data): array|bool { return $data; } +private static function testRet64arraybool($data): array|bool { return $data; } +private static function test65arraybool(array|bool $data): array|bool { return $data; } +private static function testRet65arraybool($data): array|bool { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer14Test.php b/testsGenerated/Target/TypeHintReplacer14Test.php new file mode 100644 index 000000000..19d06de59 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer14Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer14Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): array|bool => $data, "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet66arraybool'], "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet66arraybool'], "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet66arraybool', "0", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[fn ($data): array|bool => $data, "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet67arraybool'], "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet67arraybool'], "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet67arraybool', "1", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[fn ($data): array|bool => $data, "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet68arraybool'], "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet68arraybool'], "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet68arraybool', "", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[fn ($data): array|bool => $data, "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[function ($data): array|bool { return $data; }, "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[$this, 'testRet69arraybool'], "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[[self::class, 'testRet69arraybool'], "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet69arraybool', "aaaa", new class{}, '~.*Return value must be of type array\\|bool, class@anonymous returned~'], +[fn ($data): ?bool => $data, true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[function ($data): ?bool { return $data; }, true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[$this, 'testRet70bool'], true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[self::class, 'testRet70bool'], true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +['PhabelTest\Target\testRet70bool', true, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (array|bool $data): array|bool => $data, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test66arraybool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test66arraybool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test66arraybool', "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[fn (array|bool $data): array|bool => $data, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test67arraybool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test67arraybool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test67arraybool', "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[fn (array|bool $data): array|bool => $data, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test68arraybool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test68arraybool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test68arraybool', "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[fn (array|bool $data): array|bool => $data, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[function (array|bool $data): array|bool { return $data; }, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[$this, 'test69arraybool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[[self::class, 'test69arraybool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test69arraybool', "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array\\|bool, class@anonymous given, .*~'], +[fn (?bool $data): ?bool => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[function (?bool $data): ?bool { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[$this, 'test70bool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[self::class, 'test70bool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +['PhabelTest\Target\test70bool', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test66arraybool(array|bool $data): array|bool { return $data; } +private static function testRet66arraybool($data): array|bool { return $data; } +private static function test67arraybool(array|bool $data): array|bool { return $data; } +private static function testRet67arraybool($data): array|bool { return $data; } +private static function test68arraybool(array|bool $data): array|bool { return $data; } +private static function testRet68arraybool($data): array|bool { return $data; } +private static function test69arraybool(array|bool $data): array|bool { return $data; } +private static function testRet69arraybool($data): array|bool { return $data; } +private static function test70bool(?bool $data): ?bool { return $data; } +private static function testRet70bool($data): ?bool { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer15Test.php b/testsGenerated/Target/TypeHintReplacer15Test.php new file mode 100644 index 000000000..a9554eb0c --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer15Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer15Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?bool => $data, false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[function ($data): ?bool { return $data; }, false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[$this, 'testRet71bool'], false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[self::class, 'testRet71bool'], false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +['PhabelTest\Target\testRet71bool', false, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[fn ($data): ?bool => $data, 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[function ($data): ?bool { return $data; }, 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[$this, 'testRet72bool'], 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[self::class, 'testRet72bool'], 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +['PhabelTest\Target\testRet72bool', 0, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[fn ($data): ?bool => $data, 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[function ($data): ?bool { return $data; }, 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[$this, 'testRet73bool'], 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[self::class, 'testRet73bool'], 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +['PhabelTest\Target\testRet73bool', 1, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[fn ($data): ?bool => $data, "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[function ($data): ?bool { return $data; }, "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[$this, 'testRet74bool'], "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[self::class, 'testRet74bool'], "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +['PhabelTest\Target\testRet74bool', "0", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[fn ($data): ?bool => $data, "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[function ($data): ?bool { return $data; }, "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[$this, 'testRet75bool'], "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[self::class, 'testRet75bool'], "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +['PhabelTest\Target\testRet75bool', "1", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?bool $data): ?bool => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[function (?bool $data): ?bool { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[$this, 'test71bool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[self::class, 'test71bool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +['PhabelTest\Target\test71bool', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[fn (?bool $data): ?bool => $data, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[function (?bool $data): ?bool { return $data; }, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[$this, 'test72bool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[self::class, 'test72bool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +['PhabelTest\Target\test72bool', 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[fn (?bool $data): ?bool => $data, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[function (?bool $data): ?bool { return $data; }, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[$this, 'test73bool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[self::class, 'test73bool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +['PhabelTest\Target\test73bool', 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[fn (?bool $data): ?bool => $data, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[function (?bool $data): ?bool { return $data; }, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[$this, 'test74bool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[self::class, 'test74bool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +['PhabelTest\Target\test74bool', "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[fn (?bool $data): ?bool => $data, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[function (?bool $data): ?bool { return $data; }, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[$this, 'test75bool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[self::class, 'test75bool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +['PhabelTest\Target\test75bool', "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test71bool(?bool $data): ?bool { return $data; } +private static function testRet71bool($data): ?bool { return $data; } +private static function test72bool(?bool $data): ?bool { return $data; } +private static function testRet72bool($data): ?bool { return $data; } +private static function test73bool(?bool $data): ?bool { return $data; } +private static function testRet73bool($data): ?bool { return $data; } +private static function test74bool(?bool $data): ?bool { return $data; } +private static function testRet74bool($data): ?bool { return $data; } +private static function test75bool(?bool $data): ?bool { return $data; } +private static function testRet75bool($data): ?bool { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer16Test.php b/testsGenerated/Target/TypeHintReplacer16Test.php new file mode 100644 index 000000000..3be3d4db2 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer16Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer16Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?bool => $data, "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[function ($data): ?bool { return $data; }, "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[$this, 'testRet76bool'], "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[self::class, 'testRet76bool'], "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +['PhabelTest\Target\testRet76bool', "", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[fn ($data): ?bool => $data, "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[function ($data): ?bool { return $data; }, "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[$this, 'testRet77bool'], "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[self::class, 'testRet77bool'], "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +['PhabelTest\Target\testRet77bool', "aaaa", new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[fn ($data): ?bool => $data, null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[function ($data): ?bool { return $data; }, null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[$this, 'testRet78bool'], null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[[self::class, 'testRet78bool'], null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +['PhabelTest\Target\testRet78bool', null, new class{}, '~.*Return value must be of type \\?bool, class@anonymous returned~'], +[fn ($data): bool|iterable => $data, true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet79booliterable'], true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet79booliterable'], true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet79booliterable', true, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[fn ($data): bool|iterable => $data, false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet80booliterable'], false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet80booliterable'], false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet80booliterable', false, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?bool $data): ?bool => $data, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[function (?bool $data): ?bool { return $data; }, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[$this, 'test76bool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[self::class, 'test76bool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +['PhabelTest\Target\test76bool', "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[fn (?bool $data): ?bool => $data, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[function (?bool $data): ?bool { return $data; }, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[$this, 'test77bool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[self::class, 'test77bool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +['PhabelTest\Target\test77bool', "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[fn (?bool $data): ?bool => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[function (?bool $data): ?bool { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[$this, 'test78bool'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[[self::class, 'test78bool'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +['PhabelTest\Target\test78bool', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?bool, class@anonymous given, .*~'], +[fn (bool|iterable $data): bool|iterable => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test79booliterable'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test79booliterable'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test79booliterable', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[fn (bool|iterable $data): bool|iterable => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test80booliterable'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test80booliterable'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test80booliterable', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test76bool(?bool $data): ?bool { return $data; } +private static function testRet76bool($data): ?bool { return $data; } +private static function test77bool(?bool $data): ?bool { return $data; } +private static function testRet77bool($data): ?bool { return $data; } +private static function test78bool(?bool $data): ?bool { return $data; } +private static function testRet78bool($data): ?bool { return $data; } +private static function test79booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet79booliterable($data): bool|iterable { return $data; } +private static function test80booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet80booliterable($data): bool|iterable { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer17Test.php b/testsGenerated/Target/TypeHintReplacer17Test.php new file mode 100644 index 000000000..add04af8e --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer17Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer17Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): bool|iterable => $data, 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet81booliterable'], 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet81booliterable'], 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet81booliterable', 0, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[fn ($data): bool|iterable => $data, 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet82booliterable'], 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet82booliterable'], 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet82booliterable', 1, new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[fn ($data): bool|iterable => $data, "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet83booliterable'], "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet83booliterable'], "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet83booliterable', "0", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[fn ($data): bool|iterable => $data, "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet84booliterable'], "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet84booliterable'], "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet84booliterable', "1", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[fn ($data): bool|iterable => $data, "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet85booliterable'], "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet85booliterable'], "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet85booliterable', "", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (bool|iterable $data): bool|iterable => $data, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test81booliterable'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test81booliterable'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test81booliterable', 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[fn (bool|iterable $data): bool|iterable => $data, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test82booliterable'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test82booliterable'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test82booliterable', 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[fn (bool|iterable $data): bool|iterable => $data, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test83booliterable'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test83booliterable'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test83booliterable', "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[fn (bool|iterable $data): bool|iterable => $data, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test84booliterable'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test84booliterable'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test84booliterable', "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[fn (bool|iterable $data): bool|iterable => $data, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test85booliterable'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test85booliterable'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test85booliterable', "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test81booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet81booliterable($data): bool|iterable { return $data; } +private static function test82booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet82booliterable($data): bool|iterable { return $data; } +private static function test83booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet83booliterable($data): bool|iterable { return $data; } +private static function test84booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet84booliterable($data): bool|iterable { return $data; } +private static function test85booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet85booliterable($data): bool|iterable { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer18Test.php b/testsGenerated/Target/TypeHintReplacer18Test.php new file mode 100644 index 000000000..0f1616e8f --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer18Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer18Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): bool|iterable => $data, "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet86booliterable'], "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet86booliterable'], "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet86booliterable', "aaaa", new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[fn ($data): bool|iterable => $data, ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet87booliterable'], ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet87booliterable'], ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet87booliterable', ['lmao'], new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[fn ($data): bool|iterable => $data, array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet88booliterable'], array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet88booliterable'], array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet88booliterable', array(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[fn ($data): bool|iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[function ($data): bool|iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[$this, 'testRet89booliterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[[self::class, 'testRet89booliterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +['PhabelTest\Target\testRet89booliterable', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|bool, class@anonymous returned~'], +[fn ($data): ?iterable => $data, ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[function ($data): ?iterable { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[[$this, 'testRet90iterable'], ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[[self::class, 'testRet90iterable'], ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +['PhabelTest\Target\testRet90iterable', ['lmao'], new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (bool|iterable $data): bool|iterable => $data, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test86booliterable'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test86booliterable'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test86booliterable', "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[fn (bool|iterable $data): bool|iterable => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test87booliterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test87booliterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test87booliterable', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[fn (bool|iterable $data): bool|iterable => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test88booliterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test88booliterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test88booliterable', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[fn (bool|iterable $data): bool|iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[function (bool|iterable $data): bool|iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[$this, 'test89booliterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[[self::class, 'test89booliterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +['PhabelTest\Target\test89booliterable', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|bool, class@anonymous given, .*~'], +[fn (?iterable $data): ?iterable => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[function (?iterable $data): ?iterable { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[[$this, 'test90iterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[[self::class, 'test90iterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +['PhabelTest\Target\test90iterable', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test86booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet86booliterable($data): bool|iterable { return $data; } +private static function test87booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet87booliterable($data): bool|iterable { return $data; } +private static function test88booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet88booliterable($data): bool|iterable { return $data; } +private static function test89booliterable(bool|iterable $data): bool|iterable { return $data; } +private static function testRet89booliterable($data): bool|iterable { return $data; } +private static function test90iterable(?iterable $data): ?iterable { return $data; } +private static function testRet90iterable($data): ?iterable { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer19Test.php b/testsGenerated/Target/TypeHintReplacer19Test.php new file mode 100644 index 000000000..e6830e70f --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer19Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer19Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?iterable => $data, array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[function ($data): ?iterable { return $data; }, array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[[$this, 'testRet91iterable'], array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[[self::class, 'testRet91iterable'], array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +['PhabelTest\Target\testRet91iterable', array(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[fn ($data): ?iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[function ($data): ?iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[[$this, 'testRet92iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[[self::class, 'testRet92iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +['PhabelTest\Target\testRet92iterable', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[fn ($data): ?iterable => $data, null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[function ($data): ?iterable { return $data; }, null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[[$this, 'testRet93iterable'], null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[[self::class, 'testRet93iterable'], null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +['PhabelTest\Target\testRet93iterable', null, new class{}, '~.*Return value must be of type \\?iterable, class@anonymous returned~'], +[fn ($data): iterable|float => $data, ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet94iterablefloat'], ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet94iterablefloat'], ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet94iterablefloat', ['lmao'], new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[fn ($data): iterable|float => $data, array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet95iterablefloat'], array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet95iterablefloat'], array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet95iterablefloat', array(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?iterable $data): ?iterable => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[function (?iterable $data): ?iterable { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[[$this, 'test91iterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[[self::class, 'test91iterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +['PhabelTest\Target\test91iterable', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[fn (?iterable $data): ?iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[function (?iterable $data): ?iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[[$this, 'test92iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[[self::class, 'test92iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +['PhabelTest\Target\test92iterable', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[fn (?iterable $data): ?iterable => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[function (?iterable $data): ?iterable { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[[$this, 'test93iterable'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[[self::class, 'test93iterable'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +['PhabelTest\Target\test93iterable', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?iterable, class@anonymous given, .*~'], +[fn (iterable|float $data): iterable|float => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test94iterablefloat'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test94iterablefloat'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test94iterablefloat', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[fn (iterable|float $data): iterable|float => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test95iterablefloat'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test95iterablefloat'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test95iterablefloat', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test91iterable(?iterable $data): ?iterable { return $data; } +private static function testRet91iterable($data): ?iterable { return $data; } +private static function test92iterable(?iterable $data): ?iterable { return $data; } +private static function testRet92iterable($data): ?iterable { return $data; } +private static function test93iterable(?iterable $data): ?iterable { return $data; } +private static function testRet93iterable($data): ?iterable { return $data; } +private static function test94iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet94iterablefloat($data): iterable|float { return $data; } +private static function test95iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet95iterablefloat($data): iterable|float { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer1Test.php b/testsGenerated/Target/TypeHintReplacer1Test.php new file mode 100644 index 000000000..738484588 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer1Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer1Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): callable => $data, fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[function ($data): callable { return $data; }, fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[[$this, 'testRet1callable'], fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[[self::class, 'testRet1callable'], fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +['PhabelTest\Target\testRet1callable', fn (): int => 0, new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[fn ($data): callable => $data, [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[function ($data): callable { return $data; }, [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[[$this, 'testRet2callable'], [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[[self::class, 'testRet2callable'], [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +['PhabelTest\Target\testRet2callable', [$this, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[fn ($data): callable => $data, [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[function ($data): callable { return $data; }, [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[[$this, 'testRet3callable'], [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[[self::class, 'testRet3callable'], [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +['PhabelTest\Target\testRet3callable', [self::class, "noop"], new class{}, '~.*Return value must be of type callable, class@anonymous returned~'], +[fn ($data): array => $data, ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], +[function ($data): array { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], +[[$this, 'testRet4array'], ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], +[[self::class, 'testRet4array'], ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], +['PhabelTest\Target\testRet4array', ['lmao'], new class{}, '~.*Return value must be of type array, class@anonymous returned~'], +[fn ($data): array => $data, array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~'], +[function ($data): array { return $data; }, array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~'], +[[$this, 'testRet5array'], array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~'], +[[self::class, 'testRet5array'], array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~'], +['PhabelTest\Target\testRet5array', array(), new class{}, '~.*Return value must be of type array, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (callable $data): callable => $data, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[function (callable $data): callable { return $data; }, fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[[$this, 'test1callable'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[[self::class, 'test1callable'], fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +['PhabelTest\Target\test1callable', fn (): int => 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[fn (callable $data): callable => $data, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[function (callable $data): callable { return $data; }, [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[[$this, 'test2callable'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[[self::class, 'test2callable'], [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +['PhabelTest\Target\test2callable', [$this, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[fn (callable $data): callable => $data, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[function (callable $data): callable { return $data; }, [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[[$this, 'test3callable'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[[self::class, 'test3callable'], [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +['PhabelTest\Target\test3callable', [self::class, "noop"], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type callable, class@anonymous given, .*~'], +[fn (array $data): array => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], +[function (array $data): array { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], +[[$this, 'test4array'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], +[[self::class, 'test4array'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], +['PhabelTest\Target\test4array', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], +[fn (array $data): array => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], +[function (array $data): array { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], +[[$this, 'test5array'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], +[[self::class, 'test5array'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~'], +['PhabelTest\Target\test5array', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type array, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test1callable(callable $data): callable { return $data; } +private static function testRet1callable($data): callable { return $data; } +private static function test2callable(callable $data): callable { return $data; } +private static function testRet2callable($data): callable { return $data; } +private static function test3callable(callable $data): callable { return $data; } +private static function testRet3callable($data): callable { return $data; } +private static function test4array(array $data): array { return $data; } +private static function testRet4array($data): array { return $data; } +private static function test5array(array $data): array { return $data; } +private static function testRet5array($data): array { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer20Test.php b/testsGenerated/Target/TypeHintReplacer20Test.php new file mode 100644 index 000000000..f57c31f26 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer20Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer20Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): iterable|float => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet96iterablefloat'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet96iterablefloat'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet96iterablefloat', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[fn ($data): iterable|float => $data, 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet97iterablefloat'], 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet97iterablefloat'], 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet97iterablefloat', 123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[fn ($data): iterable|float => $data, -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet98iterablefloat'], -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet98iterablefloat'], -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet98iterablefloat', -1, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[fn ($data): iterable|float => $data, 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet99iterablefloat'], 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet99iterablefloat'], 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet99iterablefloat', 123.123, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[fn ($data): iterable|float => $data, 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet100iterablefloat'], 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet100iterablefloat'], 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet100iterablefloat', 1e3, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (iterable|float $data): iterable|float => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test96iterablefloat'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test96iterablefloat'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test96iterablefloat', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[fn (iterable|float $data): iterable|float => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test97iterablefloat'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test97iterablefloat'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test97iterablefloat', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[fn (iterable|float $data): iterable|float => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test98iterablefloat'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test98iterablefloat'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test98iterablefloat', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[fn (iterable|float $data): iterable|float => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test99iterablefloat'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test99iterablefloat'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test99iterablefloat', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[fn (iterable|float $data): iterable|float => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test100iterablefloat'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test100iterablefloat'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test100iterablefloat', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test96iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet96iterablefloat($data): iterable|float { return $data; } +private static function test97iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet97iterablefloat($data): iterable|float { return $data; } +private static function test98iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet98iterablefloat($data): iterable|float { return $data; } +private static function test99iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet99iterablefloat($data): iterable|float { return $data; } +private static function test100iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet100iterablefloat($data): iterable|float { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer21Test.php b/testsGenerated/Target/TypeHintReplacer21Test.php new file mode 100644 index 000000000..d2158ffb9 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer21Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer21Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): iterable|float => $data, true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet101iterablefloat'], true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet101iterablefloat'], true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet101iterablefloat', true, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[fn ($data): iterable|float => $data, false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet102iterablefloat'], false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet102iterablefloat'], false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet102iterablefloat', false, new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[fn ($data): iterable|float => $data, '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet103iterablefloat'], '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet103iterablefloat'], '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet103iterablefloat', '123', new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[fn ($data): iterable|float => $data, "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[function ($data): iterable|float { return $data; }, "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[$this, 'testRet104iterablefloat'], "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[[self::class, 'testRet104iterablefloat'], "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +['PhabelTest\Target\testRet104iterablefloat', "123.123", new class{}, '~.*Return value must be of type iterable\\|float, class@anonymous returned~'], +[fn ($data): ?float => $data, 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[function ($data): ?float { return $data; }, 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[$this, 'testRet105float'], 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[self::class, 'testRet105float'], 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +['PhabelTest\Target\testRet105float', 123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (iterable|float $data): iterable|float => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test101iterablefloat'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test101iterablefloat'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test101iterablefloat', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[fn (iterable|float $data): iterable|float => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test102iterablefloat'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test102iterablefloat'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test102iterablefloat', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[fn (iterable|float $data): iterable|float => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test103iterablefloat'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test103iterablefloat'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test103iterablefloat', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[fn (iterable|float $data): iterable|float => $data, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[function (iterable|float $data): iterable|float { return $data; }, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[$this, 'test104iterablefloat'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[[self::class, 'test104iterablefloat'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +['PhabelTest\Target\test104iterablefloat', "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable\\|float, class@anonymous given, .*~'], +[fn (?float $data): ?float => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[function (?float $data): ?float { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[$this, 'test105float'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[self::class, 'test105float'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +['PhabelTest\Target\test105float', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test101iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet101iterablefloat($data): iterable|float { return $data; } +private static function test102iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet102iterablefloat($data): iterable|float { return $data; } +private static function test103iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet103iterablefloat($data): iterable|float { return $data; } +private static function test104iterablefloat(iterable|float $data): iterable|float { return $data; } +private static function testRet104iterablefloat($data): iterable|float { return $data; } +private static function test105float(?float $data): ?float { return $data; } +private static function testRet105float($data): ?float { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer22Test.php b/testsGenerated/Target/TypeHintReplacer22Test.php new file mode 100644 index 000000000..9b01273fa --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer22Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer22Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?float => $data, -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[function ($data): ?float { return $data; }, -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[$this, 'testRet106float'], -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[self::class, 'testRet106float'], -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +['PhabelTest\Target\testRet106float', -1, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[fn ($data): ?float => $data, 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[function ($data): ?float { return $data; }, 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[$this, 'testRet107float'], 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[self::class, 'testRet107float'], 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +['PhabelTest\Target\testRet107float', 123.123, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[fn ($data): ?float => $data, 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[function ($data): ?float { return $data; }, 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[$this, 'testRet108float'], 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[self::class, 'testRet108float'], 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +['PhabelTest\Target\testRet108float', 1e3, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[fn ($data): ?float => $data, true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[function ($data): ?float { return $data; }, true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[$this, 'testRet109float'], true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[self::class, 'testRet109float'], true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +['PhabelTest\Target\testRet109float', true, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[fn ($data): ?float => $data, false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[function ($data): ?float { return $data; }, false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[$this, 'testRet110float'], false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[self::class, 'testRet110float'], false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +['PhabelTest\Target\testRet110float', false, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?float $data): ?float => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[function (?float $data): ?float { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[$this, 'test106float'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[self::class, 'test106float'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +['PhabelTest\Target\test106float', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[fn (?float $data): ?float => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[function (?float $data): ?float { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[$this, 'test107float'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[self::class, 'test107float'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +['PhabelTest\Target\test107float', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[fn (?float $data): ?float => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[function (?float $data): ?float { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[$this, 'test108float'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[self::class, 'test108float'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +['PhabelTest\Target\test108float', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[fn (?float $data): ?float => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[function (?float $data): ?float { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[$this, 'test109float'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[self::class, 'test109float'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +['PhabelTest\Target\test109float', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[fn (?float $data): ?float => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[function (?float $data): ?float { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[$this, 'test110float'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[self::class, 'test110float'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +['PhabelTest\Target\test110float', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test106float(?float $data): ?float { return $data; } +private static function testRet106float($data): ?float { return $data; } +private static function test107float(?float $data): ?float { return $data; } +private static function testRet107float($data): ?float { return $data; } +private static function test108float(?float $data): ?float { return $data; } +private static function testRet108float($data): ?float { return $data; } +private static function test109float(?float $data): ?float { return $data; } +private static function testRet109float($data): ?float { return $data; } +private static function test110float(?float $data): ?float { return $data; } +private static function testRet110float($data): ?float { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer23Test.php b/testsGenerated/Target/TypeHintReplacer23Test.php new file mode 100644 index 000000000..4746b08c3 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer23Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer23Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?float => $data, '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[function ($data): ?float { return $data; }, '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[$this, 'testRet111float'], '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[self::class, 'testRet111float'], '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +['PhabelTest\Target\testRet111float', '123', new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[fn ($data): ?float => $data, "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[function ($data): ?float { return $data; }, "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[$this, 'testRet112float'], "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[self::class, 'testRet112float'], "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +['PhabelTest\Target\testRet112float', "123.123", new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[fn ($data): ?float => $data, null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[function ($data): ?float { return $data; }, null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[$this, 'testRet113float'], null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[[self::class, 'testRet113float'], null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +['PhabelTest\Target\testRet113float', null, new class{}, '~.*Return value must be of type \\?float, class@anonymous returned~'], +[fn ($data): float|object => $data, 123, null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, 123, null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet114floatobject'], 123, null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet114floatobject'], 123, null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet114floatobject', 123, null, '~.*Return value must be of type object\\|float, null returned~'], +[fn ($data): float|object => $data, -1, null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, -1, null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet115floatobject'], -1, null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet115floatobject'], -1, null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet115floatobject', -1, null, '~.*Return value must be of type object\\|float, null returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?float $data): ?float => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[function (?float $data): ?float { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[$this, 'test111float'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[self::class, 'test111float'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +['PhabelTest\Target\test111float', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[fn (?float $data): ?float => $data, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[function (?float $data): ?float { return $data; }, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[$this, 'test112float'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[self::class, 'test112float'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +['PhabelTest\Target\test112float', "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[fn (?float $data): ?float => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[function (?float $data): ?float { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[$this, 'test113float'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[[self::class, 'test113float'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +['PhabelTest\Target\test113float', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?float, class@anonymous given, .*~'], +[fn (float|object $data): float|object => $data, 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test114floatobject'], 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test114floatobject'], 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test114floatobject', 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[fn (float|object $data): float|object => $data, -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test115floatobject'], -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test115floatobject'], -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test115floatobject', -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~']]; +; + } + + public static function noop() {} + + private static function test111float(?float $data): ?float { return $data; } +private static function testRet111float($data): ?float { return $data; } +private static function test112float(?float $data): ?float { return $data; } +private static function testRet112float($data): ?float { return $data; } +private static function test113float(?float $data): ?float { return $data; } +private static function testRet113float($data): ?float { return $data; } +private static function test114floatobject(float|object $data): float|object { return $data; } +private static function testRet114floatobject($data): float|object { return $data; } +private static function test115floatobject(float|object $data): float|object { return $data; } +private static function testRet115floatobject($data): float|object { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer24Test.php b/testsGenerated/Target/TypeHintReplacer24Test.php new file mode 100644 index 000000000..1e1948f1f --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer24Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer24Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): float|object => $data, 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet116floatobject'], 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet116floatobject'], 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet116floatobject', 123.123, null, '~.*Return value must be of type object\\|float, null returned~'], +[fn ($data): float|object => $data, 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet117floatobject'], 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet117floatobject'], 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet117floatobject', 1e3, null, '~.*Return value must be of type object\\|float, null returned~'], +[fn ($data): float|object => $data, true, null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, true, null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet118floatobject'], true, null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet118floatobject'], true, null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet118floatobject', true, null, '~.*Return value must be of type object\\|float, null returned~'], +[fn ($data): float|object => $data, false, null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, false, null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet119floatobject'], false, null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet119floatobject'], false, null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet119floatobject', false, null, '~.*Return value must be of type object\\|float, null returned~'], +[fn ($data): float|object => $data, '123', null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, '123', null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet120floatobject'], '123', null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet120floatobject'], '123', null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet120floatobject', '123', null, '~.*Return value must be of type object\\|float, null returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (float|object $data): float|object => $data, 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test116floatobject'], 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test116floatobject'], 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test116floatobject', 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[fn (float|object $data): float|object => $data, 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test117floatobject'], 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test117floatobject'], 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test117floatobject', 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[fn (float|object $data): float|object => $data, true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test118floatobject'], true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test118floatobject'], true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test118floatobject', true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[fn (float|object $data): float|object => $data, false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test119floatobject'], false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test119floatobject'], false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test119floatobject', false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[fn (float|object $data): float|object => $data, '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test120floatobject'], '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test120floatobject'], '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test120floatobject', '123', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~']]; +; + } + + public static function noop() {} + + private static function test116floatobject(float|object $data): float|object { return $data; } +private static function testRet116floatobject($data): float|object { return $data; } +private static function test117floatobject(float|object $data): float|object { return $data; } +private static function testRet117floatobject($data): float|object { return $data; } +private static function test118floatobject(float|object $data): float|object { return $data; } +private static function testRet118floatobject($data): float|object { return $data; } +private static function test119floatobject(float|object $data): float|object { return $data; } +private static function testRet119floatobject($data): float|object { return $data; } +private static function test120floatobject(float|object $data): float|object { return $data; } +private static function testRet120floatobject($data): float|object { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer25Test.php b/testsGenerated/Target/TypeHintReplacer25Test.php new file mode 100644 index 000000000..1d450ea0c --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer25Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer25Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): float|object => $data, "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet121floatobject'], "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet121floatobject'], "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet121floatobject', "123.123", null, '~.*Return value must be of type object\\|float, null returned~'], +[fn ($data): float|object => $data, new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet122floatobject'], new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet122floatobject'], new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet122floatobject', new class{}, null, '~.*Return value must be of type object\\|float, null returned~'], +[fn ($data): float|object => $data, $this, null, '~.*Return value must be of type object\\|float, null returned~'], +[function ($data): float|object { return $data; }, $this, null, '~.*Return value must be of type object\\|float, null returned~'], +[[$this, 'testRet123floatobject'], $this, null, '~.*Return value must be of type object\\|float, null returned~'], +[[self::class, 'testRet123floatobject'], $this, null, '~.*Return value must be of type object\\|float, null returned~'], +['PhabelTest\Target\testRet123floatobject', $this, null, '~.*Return value must be of type object\\|float, null returned~'], +[fn ($data): ?object => $data, new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], +[function ($data): ?object { return $data; }, new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], +[[$this, 'testRet124object'], new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], +[[self::class, 'testRet124object'], new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], +['PhabelTest\Target\testRet124object', new class{}, 0, '~.*Return value must be of type \\?object, int returned~'], +[fn ($data): ?object => $data, $this, 0, '~.*Return value must be of type \\?object, int returned~'], +[function ($data): ?object { return $data; }, $this, 0, '~.*Return value must be of type \\?object, int returned~'], +[[$this, 'testRet125object'], $this, 0, '~.*Return value must be of type \\?object, int returned~'], +[[self::class, 'testRet125object'], $this, 0, '~.*Return value must be of type \\?object, int returned~'], +['PhabelTest\Target\testRet125object', $this, 0, '~.*Return value must be of type \\?object, int returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (float|object $data): float|object => $data, "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test121floatobject'], "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test121floatobject'], "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test121floatobject', "123.123", null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[fn (float|object $data): float|object => $data, new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test122floatobject'], new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test122floatobject'], new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test122floatobject', new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[fn (float|object $data): float|object => $data, $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[function (float|object $data): float|object { return $data; }, $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[$this, 'test123floatobject'], $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[[self::class, 'test123floatobject'], $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +['PhabelTest\Target\test123floatobject', $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|float, null given, .*~'], +[fn (?object $data): ?object => $data, new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[function (?object $data): ?object { return $data; }, new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[[$this, 'test124object'], new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[[self::class, 'test124object'], new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +['PhabelTest\Target\test124object', new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[fn (?object $data): ?object => $data, $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[function (?object $data): ?object { return $data; }, $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[[$this, 'test125object'], $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[[self::class, 'test125object'], $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +['PhabelTest\Target\test125object', $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~']]; +; + } + + public static function noop() {} + + private static function test121floatobject(float|object $data): float|object { return $data; } +private static function testRet121floatobject($data): float|object { return $data; } +private static function test122floatobject(float|object $data): float|object { return $data; } +private static function testRet122floatobject($data): float|object { return $data; } +private static function test123floatobject(float|object $data): float|object { return $data; } +private static function testRet123floatobject($data): float|object { return $data; } +private static function test124object(?object $data): ?object { return $data; } +private static function testRet124object($data): ?object { return $data; } +private static function test125object(?object $data): ?object { return $data; } +private static function testRet125object($data): ?object { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer26Test.php b/testsGenerated/Target/TypeHintReplacer26Test.php new file mode 100644 index 000000000..b20b9d0c6 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer26Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer26Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?object => $data, null, 0, '~.*Return value must be of type \\?object, int returned~'], +[function ($data): ?object { return $data; }, null, 0, '~.*Return value must be of type \\?object, int returned~'], +[[$this, 'testRet126object'], null, 0, '~.*Return value must be of type \\?object, int returned~'], +[[self::class, 'testRet126object'], null, 0, '~.*Return value must be of type \\?object, int returned~'], +['PhabelTest\Target\testRet126object', null, 0, '~.*Return value must be of type \\?object, int returned~'], +[fn ($data): object|string => $data, new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet127objectstring'], new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet127objectstring'], new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet127objectstring', new class{}, null, '~.*Return value must be of type object\\|string, null returned~'], +[fn ($data): object|string => $data, $this, null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, $this, null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet128objectstring'], $this, null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet128objectstring'], $this, null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet128objectstring', $this, null, '~.*Return value must be of type object\\|string, null returned~'], +[fn ($data): object|string => $data, 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet129objectstring'], 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet129objectstring'], 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet129objectstring', 'lmao', null, '~.*Return value must be of type object\\|string, null returned~'], +[fn ($data): object|string => $data, new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet130objectstring'], new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet130objectstring'], new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet130objectstring', new class{public function __toString() { return "lmao"; }}, null, '~.*Return value must be of type object\\|string, null returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?object $data): ?object => $data, null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[function (?object $data): ?object { return $data; }, null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[[$this, 'test126object'], null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[[self::class, 'test126object'], null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +['PhabelTest\Target\test126object', null, 0, '~.*Argument #1 \\(\\$data\\) must be of type \\?object, int given, .*~'], +[fn (object|string $data): object|string => $data, new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test127objectstring'], new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test127objectstring'], new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test127objectstring', new class{}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[fn (object|string $data): object|string => $data, $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test128objectstring'], $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test128objectstring'], $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test128objectstring', $this, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[fn (object|string $data): object|string => $data, 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test129objectstring'], 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test129objectstring'], 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test129objectstring', 'lmao', null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[fn (object|string $data): object|string => $data, new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test130objectstring'], new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test130objectstring'], new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test130objectstring', new class{public function __toString() { return "lmao"; }}, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~']]; +; + } + + public static function noop() {} + + private static function test126object(?object $data): ?object { return $data; } +private static function testRet126object($data): ?object { return $data; } +private static function test127objectstring(object|string $data): object|string { return $data; } +private static function testRet127objectstring($data): object|string { return $data; } +private static function test128objectstring(object|string $data): object|string { return $data; } +private static function testRet128objectstring($data): object|string { return $data; } +private static function test129objectstring(object|string $data): object|string { return $data; } +private static function testRet129objectstring($data): object|string { return $data; } +private static function test130objectstring(object|string $data): object|string { return $data; } +private static function testRet130objectstring($data): object|string { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer27Test.php b/testsGenerated/Target/TypeHintReplacer27Test.php new file mode 100644 index 000000000..fa0f55768 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer27Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer27Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): object|string => $data, 123, null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, 123, null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet131objectstring'], 123, null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet131objectstring'], 123, null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet131objectstring', 123, null, '~.*Return value must be of type object\\|string, null returned~'], +[fn ($data): object|string => $data, -1, null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, -1, null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet132objectstring'], -1, null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet132objectstring'], -1, null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet132objectstring', -1, null, '~.*Return value must be of type object\\|string, null returned~'], +[fn ($data): object|string => $data, 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet133objectstring'], 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet133objectstring'], 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet133objectstring', 123.123, null, '~.*Return value must be of type object\\|string, null returned~'], +[fn ($data): object|string => $data, 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet134objectstring'], 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet134objectstring'], 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet134objectstring', 1e3, null, '~.*Return value must be of type object\\|string, null returned~'], +[fn ($data): object|string => $data, true, null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, true, null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet135objectstring'], true, null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet135objectstring'], true, null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet135objectstring', true, null, '~.*Return value must be of type object\\|string, null returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (object|string $data): object|string => $data, 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test131objectstring'], 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test131objectstring'], 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test131objectstring', 123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[fn (object|string $data): object|string => $data, -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test132objectstring'], -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test132objectstring'], -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test132objectstring', -1, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[fn (object|string $data): object|string => $data, 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test133objectstring'], 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test133objectstring'], 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test133objectstring', 123.123, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[fn (object|string $data): object|string => $data, 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test134objectstring'], 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test134objectstring'], 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test134objectstring', 1e3, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[fn (object|string $data): object|string => $data, true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test135objectstring'], true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test135objectstring'], true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test135objectstring', true, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~']]; +; + } + + public static function noop() {} + + private static function test131objectstring(object|string $data): object|string { return $data; } +private static function testRet131objectstring($data): object|string { return $data; } +private static function test132objectstring(object|string $data): object|string { return $data; } +private static function testRet132objectstring($data): object|string { return $data; } +private static function test133objectstring(object|string $data): object|string { return $data; } +private static function testRet133objectstring($data): object|string { return $data; } +private static function test134objectstring(object|string $data): object|string { return $data; } +private static function testRet134objectstring($data): object|string { return $data; } +private static function test135objectstring(object|string $data): object|string { return $data; } +private static function testRet135objectstring($data): object|string { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer28Test.php b/testsGenerated/Target/TypeHintReplacer28Test.php new file mode 100644 index 000000000..a990037dc --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer28Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer28Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): object|string => $data, false, null, '~.*Return value must be of type object\\|string, null returned~'], +[function ($data): object|string { return $data; }, false, null, '~.*Return value must be of type object\\|string, null returned~'], +[[$this, 'testRet136objectstring'], false, null, '~.*Return value must be of type object\\|string, null returned~'], +[[self::class, 'testRet136objectstring'], false, null, '~.*Return value must be of type object\\|string, null returned~'], +['PhabelTest\Target\testRet136objectstring', false, null, '~.*Return value must be of type object\\|string, null returned~'], +[fn ($data): ?string => $data, 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[function ($data): ?string { return $data; }, 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[$this, 'testRet137string'], 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[self::class, 'testRet137string'], 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +['PhabelTest\Target\testRet137string', 'lmao', new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[fn ($data): ?string => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[function ($data): ?string { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[$this, 'testRet138string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[self::class, 'testRet138string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +['PhabelTest\Target\testRet138string', new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[fn ($data): ?string => $data, 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[function ($data): ?string { return $data; }, 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[$this, 'testRet139string'], 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[self::class, 'testRet139string'], 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +['PhabelTest\Target\testRet139string', 123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[fn ($data): ?string => $data, -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[function ($data): ?string { return $data; }, -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[$this, 'testRet140string'], -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[self::class, 'testRet140string'], -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +['PhabelTest\Target\testRet140string', -1, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (object|string $data): object|string => $data, false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[function (object|string $data): object|string { return $data; }, false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[$this, 'test136objectstring'], false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[[self::class, 'test136objectstring'], false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +['PhabelTest\Target\test136objectstring', false, null, '~.*Argument #1 \\(\\$data\\) must be of type object\\|string, null given, .*~'], +[fn (?string $data): ?string => $data, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[function (?string $data): ?string { return $data; }, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[$this, 'test137string'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[self::class, 'test137string'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +['PhabelTest\Target\test137string', 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[fn (?string $data): ?string => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[function (?string $data): ?string { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[$this, 'test138string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[self::class, 'test138string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +['PhabelTest\Target\test138string', new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[fn (?string $data): ?string => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[function (?string $data): ?string { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[$this, 'test139string'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[self::class, 'test139string'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +['PhabelTest\Target\test139string', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[fn (?string $data): ?string => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[function (?string $data): ?string { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[$this, 'test140string'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[self::class, 'test140string'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +['PhabelTest\Target\test140string', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test136objectstring(object|string $data): object|string { return $data; } +private static function testRet136objectstring($data): object|string { return $data; } +private static function test137string(?string $data): ?string { return $data; } +private static function testRet137string($data): ?string { return $data; } +private static function test138string(?string $data): ?string { return $data; } +private static function testRet138string($data): ?string { return $data; } +private static function test139string(?string $data): ?string { return $data; } +private static function testRet139string($data): ?string { return $data; } +private static function test140string(?string $data): ?string { return $data; } +private static function testRet140string($data): ?string { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer29Test.php b/testsGenerated/Target/TypeHintReplacer29Test.php new file mode 100644 index 000000000..050df2f5b --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer29Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer29Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?string => $data, 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[function ($data): ?string { return $data; }, 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[$this, 'testRet141string'], 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[self::class, 'testRet141string'], 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +['PhabelTest\Target\testRet141string', 123.123, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[fn ($data): ?string => $data, 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[function ($data): ?string { return $data; }, 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[$this, 'testRet142string'], 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[self::class, 'testRet142string'], 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +['PhabelTest\Target\testRet142string', 1e3, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[fn ($data): ?string => $data, true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[function ($data): ?string { return $data; }, true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[$this, 'testRet143string'], true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[self::class, 'testRet143string'], true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +['PhabelTest\Target\testRet143string', true, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[fn ($data): ?string => $data, false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[function ($data): ?string { return $data; }, false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[$this, 'testRet144string'], false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[self::class, 'testRet144string'], false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +['PhabelTest\Target\testRet144string', false, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[fn ($data): ?string => $data, null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[function ($data): ?string { return $data; }, null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[$this, 'testRet145string'], null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +[[self::class, 'testRet145string'], null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~'], +['PhabelTest\Target\testRet145string', null, new class{}, '~.*Return value must be of type \\?string, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?string $data): ?string => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[function (?string $data): ?string { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[$this, 'test141string'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[self::class, 'test141string'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +['PhabelTest\Target\test141string', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[fn (?string $data): ?string => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[function (?string $data): ?string { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[$this, 'test142string'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[self::class, 'test142string'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +['PhabelTest\Target\test142string', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[fn (?string $data): ?string => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[function (?string $data): ?string { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[$this, 'test143string'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[self::class, 'test143string'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +['PhabelTest\Target\test143string', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[fn (?string $data): ?string => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[function (?string $data): ?string { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[$this, 'test144string'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[self::class, 'test144string'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +['PhabelTest\Target\test144string', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[fn (?string $data): ?string => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[function (?string $data): ?string { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[$this, 'test145string'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +[[self::class, 'test145string'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~'], +['PhabelTest\Target\test145string', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?string, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test141string(?string $data): ?string { return $data; } +private static function testRet141string($data): ?string { return $data; } +private static function test142string(?string $data): ?string { return $data; } +private static function testRet142string($data): ?string { return $data; } +private static function test143string(?string $data): ?string { return $data; } +private static function testRet143string($data): ?string { return $data; } +private static function test144string(?string $data): ?string { return $data; } +private static function testRet144string($data): ?string { return $data; } +private static function test145string(?string $data): ?string { return $data; } +private static function testRet145string($data): ?string { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer2Test.php b/testsGenerated/Target/TypeHintReplacer2Test.php new file mode 100644 index 000000000..eff9c307f --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer2Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer2Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): bool => $data, true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[function ($data): bool { return $data; }, true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[$this, 'testRet6bool'], true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[self::class, 'testRet6bool'], true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +['PhabelTest\Target\testRet6bool', true, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[fn ($data): bool => $data, false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[function ($data): bool { return $data; }, false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[$this, 'testRet7bool'], false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[self::class, 'testRet7bool'], false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +['PhabelTest\Target\testRet7bool', false, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[fn ($data): bool => $data, 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[function ($data): bool { return $data; }, 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[$this, 'testRet8bool'], 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[self::class, 'testRet8bool'], 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +['PhabelTest\Target\testRet8bool', 0, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[fn ($data): bool => $data, 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[function ($data): bool { return $data; }, 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[$this, 'testRet9bool'], 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[self::class, 'testRet9bool'], 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +['PhabelTest\Target\testRet9bool', 1, new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[fn ($data): bool => $data, "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[function ($data): bool { return $data; }, "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[$this, 'testRet10bool'], "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[self::class, 'testRet10bool'], "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +['PhabelTest\Target\testRet10bool', "0", new class{}, '~.*Return value must be of type bool, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (bool $data): bool => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[function (bool $data): bool { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[$this, 'test6bool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[self::class, 'test6bool'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +['PhabelTest\Target\test6bool', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[fn (bool $data): bool => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[function (bool $data): bool { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[$this, 'test7bool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[self::class, 'test7bool'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +['PhabelTest\Target\test7bool', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[fn (bool $data): bool => $data, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[function (bool $data): bool { return $data; }, 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[$this, 'test8bool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[self::class, 'test8bool'], 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +['PhabelTest\Target\test8bool', 0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[fn (bool $data): bool => $data, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[function (bool $data): bool { return $data; }, 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[$this, 'test9bool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[self::class, 'test9bool'], 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +['PhabelTest\Target\test9bool', 1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[fn (bool $data): bool => $data, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[function (bool $data): bool { return $data; }, "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[$this, 'test10bool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[self::class, 'test10bool'], "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +['PhabelTest\Target\test10bool', "0", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test6bool(bool $data): bool { return $data; } +private static function testRet6bool($data): bool { return $data; } +private static function test7bool(bool $data): bool { return $data; } +private static function testRet7bool($data): bool { return $data; } +private static function test8bool(bool $data): bool { return $data; } +private static function testRet8bool($data): bool { return $data; } +private static function test9bool(bool $data): bool { return $data; } +private static function testRet9bool($data): bool { return $data; } +private static function test10bool(bool $data): bool { return $data; } +private static function testRet10bool($data): bool { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer30Test.php b/testsGenerated/Target/TypeHintReplacer30Test.php new file mode 100644 index 000000000..5cd0c91a5 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer30Test.php @@ -0,0 +1,97 @@ + + * @license MIT + */ +class TypeHintReplacer30Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): string|self => $data, 'lmao', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[function ($data): string|self { return $data; }, 'lmao', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[$this, 'testRet146stringself'], 'lmao', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[self::class, 'testRet146stringself'], 'lmao', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[fn ($data): string|self => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[function ($data): string|self { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[$this, 'testRet147stringself'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[self::class, 'testRet147stringself'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[fn ($data): string|self => $data, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[function ($data): string|self { return $data; }, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[$this, 'testRet148stringself'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[self::class, 'testRet148stringself'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[fn ($data): string|self => $data, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[function ($data): string|self { return $data; }, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[$this, 'testRet149stringself'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[self::class, 'testRet149stringself'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[fn ($data): string|self => $data, 123.123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[function ($data): string|self { return $data; }, 123.123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[$this, 'testRet150stringself'], 123.123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~'], +[[self::class, 'testRet150stringself'], 123.123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (string|self $data): string|self => $data, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[function (string|self $data): string|self { return $data; }, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[$this, 'test146stringself'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[self::class, 'test146stringself'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[fn (string|self $data): string|self => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[function (string|self $data): string|self { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[$this, 'test147stringself'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[self::class, 'test147stringself'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[fn (string|self $data): string|self => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[function (string|self $data): string|self { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[$this, 'test148stringself'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[self::class, 'test148stringself'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[fn (string|self $data): string|self => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[function (string|self $data): string|self { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[$this, 'test149stringself'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[self::class, 'test149stringself'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[fn (string|self $data): string|self => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[function (string|self $data): string|self { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[$this, 'test150stringself'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~'], +[[self::class, 'test150stringself'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer30Test\\|string, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test146stringself(string|self $data): string|self { return $data; } +private static function testRet146stringself($data): string|self { return $data; } +private static function test147stringself(string|self $data): string|self { return $data; } +private static function testRet147stringself($data): string|self { return $data; } +private static function test148stringself(string|self $data): string|self { return $data; } +private static function testRet148stringself($data): string|self { return $data; } +private static function test149stringself(string|self $data): string|self { return $data; } +private static function testRet149stringself($data): string|self { return $data; } +private static function test150stringself(string|self $data): string|self { return $data; } +private static function testRet150stringself($data): string|self { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer31Test.php b/testsGenerated/Target/TypeHintReplacer31Test.php new file mode 100644 index 000000000..5818b26b1 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer31Test.php @@ -0,0 +1,97 @@ + + * @license MIT + */ +class TypeHintReplacer31Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): string|self => $data, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[function ($data): string|self { return $data; }, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[[$this, 'testRet151stringself'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[[self::class, 'testRet151stringself'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[fn ($data): string|self => $data, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[function ($data): string|self { return $data; }, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[[$this, 'testRet152stringself'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[[self::class, 'testRet152stringself'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[fn ($data): string|self => $data, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[function ($data): string|self { return $data; }, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[[$this, 'testRet153stringself'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[[self::class, 'testRet153stringself'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[fn ($data): string|self => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[function ($data): string|self { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[[$this, 'testRet154stringself'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[[self::class, 'testRet154stringself'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous returned~'], +[fn ($data): ?self => $data, $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous returned~'], +[function ($data): ?self { return $data; }, $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous returned~'], +[[$this, 'testRet155self'], $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous returned~'], +[[self::class, 'testRet155self'], $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (string|self $data): string|self => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[function (string|self $data): string|self { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[[$this, 'test151stringself'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[[self::class, 'test151stringself'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[fn (string|self $data): string|self => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[function (string|self $data): string|self { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[[$this, 'test152stringself'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[[self::class, 'test152stringself'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[fn (string|self $data): string|self => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[function (string|self $data): string|self { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[[$this, 'test153stringself'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[[self::class, 'test153stringself'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[fn (string|self $data): string|self => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[function (string|self $data): string|self { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[[$this, 'test154stringself'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[[self::class, 'test154stringself'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer31Test\\|string, class@anonymous given, .*~'], +[fn (?self $data): ?self => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous given, .*~'], +[function (?self $data): ?self { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous given, .*~'], +[[$this, 'test155self'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous given, .*~'], +[[self::class, 'test155self'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer31Test, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test151stringself(string|self $data): string|self { return $data; } +private static function testRet151stringself($data): string|self { return $data; } +private static function test152stringself(string|self $data): string|self { return $data; } +private static function testRet152stringself($data): string|self { return $data; } +private static function test153stringself(string|self $data): string|self { return $data; } +private static function testRet153stringself($data): string|self { return $data; } +private static function test154stringself(string|self $data): string|self { return $data; } +private static function testRet154stringself($data): string|self { return $data; } +private static function test155self(?self $data): ?self { return $data; } +private static function testRet155self($data): ?self { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer32Test.php b/testsGenerated/Target/TypeHintReplacer32Test.php new file mode 100644 index 000000000..624c377bf --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer32Test.php @@ -0,0 +1,97 @@ + + * @license MIT + */ +class TypeHintReplacer32Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?self => $data, null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous returned~'], +[function ($data): ?self { return $data; }, null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous returned~'], +[[$this, 'testRet156self'], null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous returned~'], +[[self::class, 'testRet156self'], null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous returned~'], +[fn ($data): self|int => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[function ($data): self|int { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[[$this, 'testRet157selfint'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet157selfint'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[fn ($data): self|int => $data, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[function ($data): self|int { return $data; }, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[[$this, 'testRet158selfint'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet158selfint'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[fn ($data): self|int => $data, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[function ($data): self|int { return $data; }, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[[$this, 'testRet159selfint'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet159selfint'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[fn ($data): self|int => $data, 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[function ($data): self|int { return $data; }, 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[[$this, 'testRet160selfint'], 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet160selfint'], 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?self $data): ?self => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous given, .*~'], +[function (?self $data): ?self { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous given, .*~'], +[[$this, 'test156self'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous given, .*~'], +[[self::class, 'test156self'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer32Test, class@anonymous given, .*~'], +[fn (self|int $data): self|int => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[function (self|int $data): self|int { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[[$this, 'test157selfint'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test157selfint'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[fn (self|int $data): self|int => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[function (self|int $data): self|int { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[[$this, 'test158selfint'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test158selfint'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[fn (self|int $data): self|int => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[function (self|int $data): self|int { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[[$this, 'test159selfint'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test159selfint'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[fn (self|int $data): self|int => $data, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[function (self|int $data): self|int { return $data; }, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[[$this, 'test160selfint'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test160selfint'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer32Test\\|int, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test156self(?self $data): ?self { return $data; } +private static function testRet156self($data): ?self { return $data; } +private static function test157selfint(self|int $data): self|int { return $data; } +private static function testRet157selfint($data): self|int { return $data; } +private static function test158selfint(self|int $data): self|int { return $data; } +private static function testRet158selfint($data): self|int { return $data; } +private static function test159selfint(self|int $data): self|int { return $data; } +private static function testRet159selfint($data): self|int { return $data; } +private static function test160selfint(self|int $data): self|int { return $data; } +private static function testRet160selfint($data): self|int { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer33Test.php b/testsGenerated/Target/TypeHintReplacer33Test.php new file mode 100644 index 000000000..2cd5ad988 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer33Test.php @@ -0,0 +1,97 @@ + + * @license MIT + */ +class TypeHintReplacer33Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): self|int => $data, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[function ($data): self|int { return $data; }, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[$this, 'testRet161selfint'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet161selfint'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[fn ($data): self|int => $data, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[function ($data): self|int { return $data; }, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[$this, 'testRet162selfint'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet162selfint'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[fn ($data): self|int => $data, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[function ($data): self|int { return $data; }, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[$this, 'testRet163selfint'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet163selfint'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[fn ($data): self|int => $data, '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[function ($data): self|int { return $data; }, '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[$this, 'testRet164selfint'], '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet164selfint'], '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[fn ($data): self|int => $data, '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[function ($data): self|int { return $data; }, '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[$this, 'testRet165selfint'], '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet165selfint'], '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (self|int $data): self|int => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[function (self|int $data): self|int { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[$this, 'test161selfint'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test161selfint'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[fn (self|int $data): self|int => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[function (self|int $data): self|int { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[$this, 'test162selfint'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test162selfint'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[fn (self|int $data): self|int => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[function (self|int $data): self|int { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[$this, 'test163selfint'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test163selfint'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[fn (self|int $data): self|int => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[function (self|int $data): self|int { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[$this, 'test164selfint'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test164selfint'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[fn (self|int $data): self|int => $data, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[function (self|int $data): self|int { return $data; }, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[$this, 'test165selfint'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test165selfint'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer33Test\\|int, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test161selfint(self|int $data): self|int { return $data; } +private static function testRet161selfint($data): self|int { return $data; } +private static function test162selfint(self|int $data): self|int { return $data; } +private static function testRet162selfint($data): self|int { return $data; } +private static function test163selfint(self|int $data): self|int { return $data; } +private static function testRet163selfint($data): self|int { return $data; } +private static function test164selfint(self|int $data): self|int { return $data; } +private static function testRet164selfint($data): self|int { return $data; } +private static function test165selfint(self|int $data): self|int { return $data; } +private static function testRet165selfint($data): self|int { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer34Test.php b/testsGenerated/Target/TypeHintReplacer34Test.php new file mode 100644 index 000000000..c9151f035 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer34Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer34Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?int => $data, 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[function ($data): ?int { return $data; }, 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[$this, 'testRet166int'], 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[self::class, 'testRet166int'], 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +['PhabelTest\Target\testRet166int', 123, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[fn ($data): ?int => $data, -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[function ($data): ?int { return $data; }, -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[$this, 'testRet167int'], -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[self::class, 'testRet167int'], -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +['PhabelTest\Target\testRet167int', -1, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[fn ($data): ?int => $data, 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[function ($data): ?int { return $data; }, 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[$this, 'testRet168int'], 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[self::class, 'testRet168int'], 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +['PhabelTest\Target\testRet168int', 123.0, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[fn ($data): ?int => $data, 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[function ($data): ?int { return $data; }, 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[$this, 'testRet169int'], 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[self::class, 'testRet169int'], 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +['PhabelTest\Target\testRet169int', 1e3, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[fn ($data): ?int => $data, true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[function ($data): ?int { return $data; }, true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[$this, 'testRet170int'], true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[self::class, 'testRet170int'], true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +['PhabelTest\Target\testRet170int', true, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?int $data): ?int => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[function (?int $data): ?int { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[$this, 'test166int'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[self::class, 'test166int'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +['PhabelTest\Target\test166int', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[fn (?int $data): ?int => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[function (?int $data): ?int { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[$this, 'test167int'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[self::class, 'test167int'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +['PhabelTest\Target\test167int', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[fn (?int $data): ?int => $data, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[function (?int $data): ?int { return $data; }, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[$this, 'test168int'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[self::class, 'test168int'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +['PhabelTest\Target\test168int', 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[fn (?int $data): ?int => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[function (?int $data): ?int { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[$this, 'test169int'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[self::class, 'test169int'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +['PhabelTest\Target\test169int', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[fn (?int $data): ?int => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[function (?int $data): ?int { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[$this, 'test170int'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[self::class, 'test170int'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +['PhabelTest\Target\test170int', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test166int(?int $data): ?int { return $data; } +private static function testRet166int($data): ?int { return $data; } +private static function test167int(?int $data): ?int { return $data; } +private static function testRet167int($data): ?int { return $data; } +private static function test168int(?int $data): ?int { return $data; } +private static function testRet168int($data): ?int { return $data; } +private static function test169int(?int $data): ?int { return $data; } +private static function testRet169int($data): ?int { return $data; } +private static function test170int(?int $data): ?int { return $data; } +private static function testRet170int($data): ?int { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer35Test.php b/testsGenerated/Target/TypeHintReplacer35Test.php new file mode 100644 index 000000000..943b7866f --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer35Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer35Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): ?int => $data, false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[function ($data): ?int { return $data; }, false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[$this, 'testRet171int'], false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[self::class, 'testRet171int'], false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +['PhabelTest\Target\testRet171int', false, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[fn ($data): ?int => $data, '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[function ($data): ?int { return $data; }, '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[$this, 'testRet172int'], '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[self::class, 'testRet172int'], '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +['PhabelTest\Target\testRet172int', '123', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[fn ($data): ?int => $data, '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[function ($data): ?int { return $data; }, '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[$this, 'testRet173int'], '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[self::class, 'testRet173int'], '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +['PhabelTest\Target\testRet173int', '123.0', new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[fn ($data): ?int => $data, null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[function ($data): ?int { return $data; }, null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[$this, 'testRet174int'], null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[[self::class, 'testRet174int'], null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +['PhabelTest\Target\testRet174int', null, new class{}, '~.*Return value must be of type \\?int, class@anonymous returned~'], +[fn ($data): int|\PhabelTest\Target\TypeHintReplacer35Test => $data, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~'], +[function ($data): int|\PhabelTest\Target\TypeHintReplacer35Test { return $data; }, 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~'], +[[$this, 'testRet175intPhabelTestTargetTypeHintReplacer35Test'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet175intPhabelTestTargetTypeHintReplacer35Test'], 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~'], +['PhabelTest\Target\testRet175intPhabelTestTargetTypeHintReplacer35Test', 123, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (?int $data): ?int => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[function (?int $data): ?int { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[$this, 'test171int'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[self::class, 'test171int'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +['PhabelTest\Target\test171int', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[fn (?int $data): ?int => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[function (?int $data): ?int { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[$this, 'test172int'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[self::class, 'test172int'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +['PhabelTest\Target\test172int', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[fn (?int $data): ?int => $data, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[function (?int $data): ?int { return $data; }, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[$this, 'test173int'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[self::class, 'test173int'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +['PhabelTest\Target\test173int', '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[fn (?int $data): ?int => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[function (?int $data): ?int { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[$this, 'test174int'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[[self::class, 'test174int'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +['PhabelTest\Target\test174int', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?int, class@anonymous given, .*~'], +[fn (int|\PhabelTest\Target\TypeHintReplacer35Test $data): int|\PhabelTest\Target\TypeHintReplacer35Test => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~'], +[function (int|\PhabelTest\Target\TypeHintReplacer35Test $data): int|\PhabelTest\Target\TypeHintReplacer35Test { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~'], +[[$this, 'test175intPhabelTestTargetTypeHintReplacer35Test'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test175intPhabelTestTargetTypeHintReplacer35Test'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~'], +['PhabelTest\Target\test175intPhabelTestTargetTypeHintReplacer35Test', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer35Test\\|int, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test171int(?int $data): ?int { return $data; } +private static function testRet171int($data): ?int { return $data; } +private static function test172int(?int $data): ?int { return $data; } +private static function testRet172int($data): ?int { return $data; } +private static function test173int(?int $data): ?int { return $data; } +private static function testRet173int($data): ?int { return $data; } +private static function test174int(?int $data): ?int { return $data; } +private static function testRet174int($data): ?int { return $data; } +private static function test175intPhabelTestTargetTypeHintReplacer35Test(int|\PhabelTest\Target\TypeHintReplacer35Test $data): int|\PhabelTest\Target\TypeHintReplacer35Test { return $data; } +private static function testRet175intPhabelTestTargetTypeHintReplacer35Test($data): int|\PhabelTest\Target\TypeHintReplacer35Test { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer36Test.php b/testsGenerated/Target/TypeHintReplacer36Test.php new file mode 100644 index 000000000..5305a2b0b --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer36Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer36Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[$this, 'testRet176intPhabelTestTargetTypeHintReplacer36Test'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet176intPhabelTestTargetTypeHintReplacer36Test'], -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +['PhabelTest\Target\testRet176intPhabelTestTargetTypeHintReplacer36Test', -1, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[$this, 'testRet177intPhabelTestTargetTypeHintReplacer36Test'], 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet177intPhabelTestTargetTypeHintReplacer36Test'], 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +['PhabelTest\Target\testRet177intPhabelTestTargetTypeHintReplacer36Test', 123.0, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[$this, 'testRet178intPhabelTestTargetTypeHintReplacer36Test'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet178intPhabelTestTargetTypeHintReplacer36Test'], 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +['PhabelTest\Target\testRet178intPhabelTestTargetTypeHintReplacer36Test', 1e3, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[$this, 'testRet179intPhabelTestTargetTypeHintReplacer36Test'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet179intPhabelTestTargetTypeHintReplacer36Test'], true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +['PhabelTest\Target\testRet179intPhabelTestTargetTypeHintReplacer36Test', true, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[fn ($data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[function ($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[$this, 'testRet180intPhabelTestTargetTypeHintReplacer36Test'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet180intPhabelTestTargetTypeHintReplacer36Test'], false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~'], +['PhabelTest\Target\testRet180intPhabelTestTargetTypeHintReplacer36Test', false, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[$this, 'test176intPhabelTestTargetTypeHintReplacer36Test'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test176intPhabelTestTargetTypeHintReplacer36Test'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +['PhabelTest\Target\test176intPhabelTestTargetTypeHintReplacer36Test', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[$this, 'test177intPhabelTestTargetTypeHintReplacer36Test'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test177intPhabelTestTargetTypeHintReplacer36Test'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +['PhabelTest\Target\test177intPhabelTestTargetTypeHintReplacer36Test', 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[$this, 'test178intPhabelTestTargetTypeHintReplacer36Test'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test178intPhabelTestTargetTypeHintReplacer36Test'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +['PhabelTest\Target\test178intPhabelTestTargetTypeHintReplacer36Test', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[$this, 'test179intPhabelTestTargetTypeHintReplacer36Test'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test179intPhabelTestTargetTypeHintReplacer36Test'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +['PhabelTest\Target\test179intPhabelTestTargetTypeHintReplacer36Test', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[fn (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[function (int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[$this, 'test180intPhabelTestTargetTypeHintReplacer36Test'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test180intPhabelTestTargetTypeHintReplacer36Test'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~'], +['PhabelTest\Target\test180intPhabelTestTargetTypeHintReplacer36Test', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer36Test\\|int, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test176intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } +private static function testRet176intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } +private static function test177intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } +private static function testRet177intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } +private static function test178intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } +private static function testRet178intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } +private static function test179intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } +private static function testRet179intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } +private static function test180intPhabelTestTargetTypeHintReplacer36Test(int|\PhabelTest\Target\TypeHintReplacer36Test $data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } +private static function testRet180intPhabelTestTargetTypeHintReplacer36Test($data): int|\PhabelTest\Target\TypeHintReplacer36Test { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer37Test.php b/testsGenerated/Target/TypeHintReplacer37Test.php new file mode 100644 index 000000000..cb4616d90 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer37Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer37Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[function ($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[[$this, 'testRet181intPhabelTestTargetTypeHintReplacer37Test'], '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet181intPhabelTestTargetTypeHintReplacer37Test'], '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +['PhabelTest\Target\testRet181intPhabelTestTargetTypeHintReplacer37Test', '123', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[fn ($data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[function ($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[[$this, 'testRet182intPhabelTestTargetTypeHintReplacer37Test'], '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet182intPhabelTestTargetTypeHintReplacer37Test'], '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +['PhabelTest\Target\testRet182intPhabelTestTargetTypeHintReplacer37Test', '123.0', new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[fn ($data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[function ($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[[$this, 'testRet183intPhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[[self::class, 'testRet183intPhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +['PhabelTest\Target\testRet183intPhabelTestTargetTypeHintReplacer37Test', $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous returned~'], +[fn ($data): ?\PhabelTest\Target\TypeHintReplacer37Test => $data, $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], +[function ($data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], +[[$this, 'testRet184PhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], +[[self::class, 'testRet184PhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], +['PhabelTest\Target\testRet184PhabelTestTargetTypeHintReplacer37Test', $this, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], +[fn ($data): ?\PhabelTest\Target\TypeHintReplacer37Test => $data, null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], +[function ($data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], +[[$this, 'testRet185PhabelTestTargetTypeHintReplacer37Test'], null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], +[[self::class, 'testRet185PhabelTestTargetTypeHintReplacer37Test'], null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~'], +['PhabelTest\Target\testRet185PhabelTestTargetTypeHintReplacer37Test', null, new class{}, '~.*Return value must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[function (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[[$this, 'test181intPhabelTestTargetTypeHintReplacer37Test'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test181intPhabelTestTargetTypeHintReplacer37Test'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +['PhabelTest\Target\test181intPhabelTestTargetTypeHintReplacer37Test', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[fn (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[function (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[[$this, 'test182intPhabelTestTargetTypeHintReplacer37Test'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test182intPhabelTestTargetTypeHintReplacer37Test'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +['PhabelTest\Target\test182intPhabelTestTargetTypeHintReplacer37Test', '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[fn (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[function (int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[[$this, 'test183intPhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[[self::class, 'test183intPhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +['PhabelTest\Target\test183intPhabelTestTargetTypeHintReplacer37Test', $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer37Test\\|int, class@anonymous given, .*~'], +[fn (?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], +[function (?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], +[[$this, 'test184PhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], +[[self::class, 'test184PhabelTestTargetTypeHintReplacer37Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], +['PhabelTest\Target\test184PhabelTestTargetTypeHintReplacer37Test', $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], +[fn (?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], +[function (?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], +[[$this, 'test185PhabelTestTargetTypeHintReplacer37Test'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], +[[self::class, 'test185PhabelTestTargetTypeHintReplacer37Test'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~'], +['PhabelTest\Target\test185PhabelTestTargetTypeHintReplacer37Test', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?PhabelTest\\\\Target\\\\TypeHintReplacer37Test, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test181intPhabelTestTargetTypeHintReplacer37Test(int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } +private static function testRet181intPhabelTestTargetTypeHintReplacer37Test($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } +private static function test182intPhabelTestTargetTypeHintReplacer37Test(int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } +private static function testRet182intPhabelTestTargetTypeHintReplacer37Test($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } +private static function test183intPhabelTestTargetTypeHintReplacer37Test(int|\PhabelTest\Target\TypeHintReplacer37Test $data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } +private static function testRet183intPhabelTestTargetTypeHintReplacer37Test($data): int|\PhabelTest\Target\TypeHintReplacer37Test { return $data; } +private static function test184PhabelTestTargetTypeHintReplacer37Test(?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; } +private static function testRet184PhabelTestTargetTypeHintReplacer37Test($data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; } +private static function test185PhabelTestTargetTypeHintReplacer37Test(?\PhabelTest\Target\TypeHintReplacer37Test $data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; } +private static function testRet185PhabelTestTargetTypeHintReplacer37Test($data): ?\PhabelTest\Target\TypeHintReplacer37Test { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer38Test.php b/testsGenerated/Target/TypeHintReplacer38Test.php new file mode 100644 index 000000000..290486268 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer38Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer38Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +[function ($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +[[$this, 'testRet186PhabelTestTargetTypeHintReplacer38TestGenerator'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +[[self::class, 'testRet186PhabelTestTargetTypeHintReplacer38TestGenerator'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +['PhabelTest\Target\testRet186PhabelTestTargetTypeHintReplacer38TestGenerator', $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +[fn ($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +[function ($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +[[$this, 'testRet187PhabelTestTargetTypeHintReplacer38TestGenerator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +[[self::class, 'testRet187PhabelTestTargetTypeHintReplacer38TestGenerator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +['PhabelTest\Target\testRet187PhabelTestTargetTypeHintReplacer38TestGenerator', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous returned~'], +[fn ($data): ?\Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +[function ($data): ?\Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +[[$this, 'testRet188Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +[[self::class, 'testRet188Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +['PhabelTest\Target\testRet188Generator', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +[fn ($data): ?\Generator => $data, null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +[function ($data): ?\Generator { return $data; }, null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +[[$this, 'testRet189Generator'], null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +[[self::class, 'testRet189Generator'], null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +['PhabelTest\Target\testRet189Generator', null, new class{}, '~.*Return value must be of type \\?Generator, class@anonymous returned~'], +[fn ($data): \Generator|callable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~'], +[function ($data): \Generator|callable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~'], +[[$this, 'testRet190Generatorcallable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~'], +[[self::class, 'testRet190Generatorcallable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~'], +['PhabelTest\Target\testRet190Generatorcallable', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator\\|callable, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +[function (\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +[[$this, 'test186PhabelTestTargetTypeHintReplacer38TestGenerator'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +[[self::class, 'test186PhabelTestTargetTypeHintReplacer38TestGenerator'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +['PhabelTest\Target\test186PhabelTestTargetTypeHintReplacer38TestGenerator', $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +[fn (\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +[function (\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +[[$this, 'test187PhabelTestTargetTypeHintReplacer38TestGenerator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +[[self::class, 'test187PhabelTestTargetTypeHintReplacer38TestGenerator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +['PhabelTest\Target\test187PhabelTestTargetTypeHintReplacer38TestGenerator', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer38Test\\|Generator, class@anonymous given, .*~'], +[fn (?\Generator $data): ?\Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +[function (?\Generator $data): ?\Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +[[$this, 'test188Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +[[self::class, 'test188Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +['PhabelTest\Target\test188Generator', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +[fn (?\Generator $data): ?\Generator => $data, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +[function (?\Generator $data): ?\Generator { return $data; }, null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +[[$this, 'test189Generator'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +[[self::class, 'test189Generator'], null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +['PhabelTest\Target\test189Generator', null, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type \\?Generator, class@anonymous given, .*~'], +[fn (\Generator|callable $data): \Generator|callable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~'], +[function (\Generator|callable $data): \Generator|callable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~'], +[[$this, 'test190Generatorcallable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~'], +[[self::class, 'test190Generatorcallable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~'], +['PhabelTest\Target\test190Generatorcallable', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator\\|callable, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test186PhabelTestTargetTypeHintReplacer38TestGenerator(\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; } +private static function testRet186PhabelTestTargetTypeHintReplacer38TestGenerator($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; } +private static function test187PhabelTestTargetTypeHintReplacer38TestGenerator(\PhabelTest\Target\TypeHintReplacer38Test|\Generator $data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; } +private static function testRet187PhabelTestTargetTypeHintReplacer38TestGenerator($data): \PhabelTest\Target\TypeHintReplacer38Test|\Generator { return $data; } +private static function test188Generator(?\Generator $data): ?\Generator { return $data; } +private static function testRet188Generator($data): ?\Generator { return $data; } +private static function test189Generator(?\Generator $data): ?\Generator { return $data; } +private static function testRet189Generator($data): ?\Generator { return $data; } +private static function test190Generatorcallable(\Generator|callable $data): \Generator|callable { return $data; } +private static function testRet190Generatorcallable($data): \Generator|callable { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer3Test.php b/testsGenerated/Target/TypeHintReplacer3Test.php new file mode 100644 index 000000000..3e9b43509 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer3Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer3Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): bool => $data, "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[function ($data): bool { return $data; }, "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[$this, 'testRet11bool'], "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[self::class, 'testRet11bool'], "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +['PhabelTest\Target\testRet11bool', "1", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[fn ($data): bool => $data, "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[function ($data): bool { return $data; }, "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[$this, 'testRet12bool'], "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[self::class, 'testRet12bool'], "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +['PhabelTest\Target\testRet12bool', "", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[fn ($data): bool => $data, "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[function ($data): bool { return $data; }, "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[$this, 'testRet13bool'], "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[[self::class, 'testRet13bool'], "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +['PhabelTest\Target\testRet13bool', "aaaa", new class{}, '~.*Return value must be of type bool, class@anonymous returned~'], +[fn ($data): iterable => $data, ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[function ($data): iterable { return $data; }, ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[[$this, 'testRet14iterable'], ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[[self::class, 'testRet14iterable'], ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +['PhabelTest\Target\testRet14iterable', ['lmao'], new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[fn ($data): iterable => $data, array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[function ($data): iterable { return $data; }, array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[[$this, 'testRet15iterable'], array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[[self::class, 'testRet15iterable'], array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +['PhabelTest\Target\testRet15iterable', array(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (bool $data): bool => $data, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[function (bool $data): bool { return $data; }, "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[$this, 'test11bool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[self::class, 'test11bool'], "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +['PhabelTest\Target\test11bool', "1", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[fn (bool $data): bool => $data, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[function (bool $data): bool { return $data; }, "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[$this, 'test12bool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[self::class, 'test12bool'], "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +['PhabelTest\Target\test12bool', "", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[fn (bool $data): bool => $data, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[function (bool $data): bool { return $data; }, "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[$this, 'test13bool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[[self::class, 'test13bool'], "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +['PhabelTest\Target\test13bool', "aaaa", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type bool, class@anonymous given, .*~'], +[fn (iterable $data): iterable => $data, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[function (iterable $data): iterable { return $data; }, ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[[$this, 'test14iterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[[self::class, 'test14iterable'], ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +['PhabelTest\Target\test14iterable', ['lmao'], new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[fn (iterable $data): iterable => $data, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[function (iterable $data): iterable { return $data; }, array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[[$this, 'test15iterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[[self::class, 'test15iterable'], array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +['PhabelTest\Target\test15iterable', array(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test11bool(bool $data): bool { return $data; } +private static function testRet11bool($data): bool { return $data; } +private static function test12bool(bool $data): bool { return $data; } +private static function testRet12bool($data): bool { return $data; } +private static function test13bool(bool $data): bool { return $data; } +private static function testRet13bool($data): bool { return $data; } +private static function test14iterable(iterable $data): iterable { return $data; } +private static function testRet14iterable($data): iterable { return $data; } +private static function test15iterable(iterable $data): iterable { return $data; } +private static function testRet15iterable($data): iterable { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer4Test.php b/testsGenerated/Target/TypeHintReplacer4Test.php new file mode 100644 index 000000000..c8f9491bc --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer4Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer4Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[function ($data): iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[[$this, 'testRet16iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[[self::class, 'testRet16iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +['PhabelTest\Target\testRet16iterable', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type iterable, class@anonymous returned~'], +[fn ($data): float => $data, 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[function ($data): float { return $data; }, 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[$this, 'testRet17float'], 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[self::class, 'testRet17float'], 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +['PhabelTest\Target\testRet17float', 123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[fn ($data): float => $data, -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[function ($data): float { return $data; }, -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[$this, 'testRet18float'], -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[self::class, 'testRet18float'], -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +['PhabelTest\Target\testRet18float', -1, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[fn ($data): float => $data, 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[function ($data): float { return $data; }, 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[$this, 'testRet19float'], 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[self::class, 'testRet19float'], 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +['PhabelTest\Target\testRet19float', 123.123, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[fn ($data): float => $data, 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[function ($data): float { return $data; }, 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[$this, 'testRet20float'], 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[self::class, 'testRet20float'], 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +['PhabelTest\Target\testRet20float', 1e3, new class{}, '~.*Return value must be of type float, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (iterable $data): iterable => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[function (iterable $data): iterable { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[[$this, 'test16iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[[self::class, 'test16iterable'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +['PhabelTest\Target\test16iterable', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type iterable, class@anonymous given, .*~'], +[fn (float $data): float => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[function (float $data): float { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[$this, 'test17float'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[self::class, 'test17float'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +['PhabelTest\Target\test17float', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[fn (float $data): float => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[function (float $data): float { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[$this, 'test18float'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[self::class, 'test18float'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +['PhabelTest\Target\test18float', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[fn (float $data): float => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[function (float $data): float { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[$this, 'test19float'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[self::class, 'test19float'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +['PhabelTest\Target\test19float', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[fn (float $data): float => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[function (float $data): float { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[$this, 'test20float'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[self::class, 'test20float'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +['PhabelTest\Target\test20float', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test16iterable(iterable $data): iterable { return $data; } +private static function testRet16iterable($data): iterable { return $data; } +private static function test17float(float $data): float { return $data; } +private static function testRet17float($data): float { return $data; } +private static function test18float(float $data): float { return $data; } +private static function testRet18float($data): float { return $data; } +private static function test19float(float $data): float { return $data; } +private static function testRet19float($data): float { return $data; } +private static function test20float(float $data): float { return $data; } +private static function testRet20float($data): float { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer5Test.php b/testsGenerated/Target/TypeHintReplacer5Test.php new file mode 100644 index 000000000..7d9ebc9a7 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer5Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer5Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): float => $data, true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[function ($data): float { return $data; }, true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[$this, 'testRet21float'], true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[self::class, 'testRet21float'], true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +['PhabelTest\Target\testRet21float', true, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[fn ($data): float => $data, false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[function ($data): float { return $data; }, false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[$this, 'testRet22float'], false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[self::class, 'testRet22float'], false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +['PhabelTest\Target\testRet22float', false, new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[fn ($data): float => $data, '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[function ($data): float { return $data; }, '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[$this, 'testRet23float'], '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[self::class, 'testRet23float'], '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +['PhabelTest\Target\testRet23float', '123', new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[fn ($data): float => $data, "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[function ($data): float { return $data; }, "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[$this, 'testRet24float'], "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[[self::class, 'testRet24float'], "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +['PhabelTest\Target\testRet24float', "123.123", new class{}, '~.*Return value must be of type float, class@anonymous returned~'], +[fn ($data): object => $data, new class{}, 0, '~.*Return value must be of type object, int returned~'], +[function ($data): object { return $data; }, new class{}, 0, '~.*Return value must be of type object, int returned~'], +[[$this, 'testRet25object'], new class{}, 0, '~.*Return value must be of type object, int returned~'], +[[self::class, 'testRet25object'], new class{}, 0, '~.*Return value must be of type object, int returned~'], +['PhabelTest\Target\testRet25object', new class{}, 0, '~.*Return value must be of type object, int returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (float $data): float => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[function (float $data): float { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[$this, 'test21float'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[self::class, 'test21float'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +['PhabelTest\Target\test21float', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[fn (float $data): float => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[function (float $data): float { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[$this, 'test22float'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[self::class, 'test22float'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +['PhabelTest\Target\test22float', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[fn (float $data): float => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[function (float $data): float { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[$this, 'test23float'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[self::class, 'test23float'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +['PhabelTest\Target\test23float', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[fn (float $data): float => $data, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[function (float $data): float { return $data; }, "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[$this, 'test24float'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[[self::class, 'test24float'], "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +['PhabelTest\Target\test24float', "123.123", new class{}, '~.*Argument #1 \\(\\$data\\) must be of type float, class@anonymous given, .*~'], +[fn (object $data): object => $data, new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], +[function (object $data): object { return $data; }, new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], +[[$this, 'test25object'], new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], +[[self::class, 'test25object'], new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], +['PhabelTest\Target\test25object', new class{}, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~']]; +; + } + + public static function noop() {} + + private static function test21float(float $data): float { return $data; } +private static function testRet21float($data): float { return $data; } +private static function test22float(float $data): float { return $data; } +private static function testRet22float($data): float { return $data; } +private static function test23float(float $data): float { return $data; } +private static function testRet23float($data): float { return $data; } +private static function test24float(float $data): float { return $data; } +private static function testRet24float($data): float { return $data; } +private static function test25object(object $data): object { return $data; } +private static function testRet25object($data): object { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer6Test.php b/testsGenerated/Target/TypeHintReplacer6Test.php new file mode 100644 index 000000000..9ac9d02aa --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer6Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer6Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): object => $data, $this, 0, '~.*Return value must be of type object, int returned~'], +[function ($data): object { return $data; }, $this, 0, '~.*Return value must be of type object, int returned~'], +[[$this, 'testRet26object'], $this, 0, '~.*Return value must be of type object, int returned~'], +[[self::class, 'testRet26object'], $this, 0, '~.*Return value must be of type object, int returned~'], +['PhabelTest\Target\testRet26object', $this, 0, '~.*Return value must be of type object, int returned~'], +[fn ($data): string => $data, 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[function ($data): string { return $data; }, 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[$this, 'testRet27string'], 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[self::class, 'testRet27string'], 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +['PhabelTest\Target\testRet27string', 'lmao', new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[fn ($data): string => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[function ($data): string { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[$this, 'testRet28string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[self::class, 'testRet28string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +['PhabelTest\Target\testRet28string', new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[fn ($data): string => $data, 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[function ($data): string { return $data; }, 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[$this, 'testRet29string'], 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[self::class, 'testRet29string'], 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +['PhabelTest\Target\testRet29string', 123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[fn ($data): string => $data, -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[function ($data): string { return $data; }, -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[$this, 'testRet30string'], -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[self::class, 'testRet30string'], -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +['PhabelTest\Target\testRet30string', -1, new class{}, '~.*Return value must be of type string, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (object $data): object => $data, $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], +[function (object $data): object { return $data; }, $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], +[[$this, 'test26object'], $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], +[[self::class, 'test26object'], $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], +['PhabelTest\Target\test26object', $this, 0, '~.*Argument #1 \\(\\$data\\) must be of type object, int given, .*~'], +[fn (string $data): string => $data, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[function (string $data): string { return $data; }, 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[$this, 'test27string'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[self::class, 'test27string'], 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +['PhabelTest\Target\test27string', 'lmao', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[fn (string $data): string => $data, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[function (string $data): string { return $data; }, new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[$this, 'test28string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[self::class, 'test28string'], new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +['PhabelTest\Target\test28string', new class{public function __toString() { return "lmao"; }}, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[fn (string $data): string => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[function (string $data): string { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[$this, 'test29string'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[self::class, 'test29string'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +['PhabelTest\Target\test29string', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[fn (string $data): string => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[function (string $data): string { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[$this, 'test30string'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[self::class, 'test30string'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +['PhabelTest\Target\test30string', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test26object(object $data): object { return $data; } +private static function testRet26object($data): object { return $data; } +private static function test27string(string $data): string { return $data; } +private static function testRet27string($data): string { return $data; } +private static function test28string(string $data): string { return $data; } +private static function testRet28string($data): string { return $data; } +private static function test29string(string $data): string { return $data; } +private static function testRet29string($data): string { return $data; } +private static function test30string(string $data): string { return $data; } +private static function testRet30string($data): string { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer7Test.php b/testsGenerated/Target/TypeHintReplacer7Test.php new file mode 100644 index 000000000..04d04b8cc --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer7Test.php @@ -0,0 +1,113 @@ + + * @license MIT + */ +class TypeHintReplacer7Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): string => $data, 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[function ($data): string { return $data; }, 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[$this, 'testRet31string'], 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[self::class, 'testRet31string'], 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +['PhabelTest\Target\testRet31string', 123.123, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[fn ($data): string => $data, 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[function ($data): string { return $data; }, 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[$this, 'testRet32string'], 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[self::class, 'testRet32string'], 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +['PhabelTest\Target\testRet32string', 1e3, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[fn ($data): string => $data, true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[function ($data): string { return $data; }, true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[$this, 'testRet33string'], true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[self::class, 'testRet33string'], true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +['PhabelTest\Target\testRet33string', true, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[fn ($data): string => $data, false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[function ($data): string { return $data; }, false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[$this, 'testRet34string'], false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[[self::class, 'testRet34string'], false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +['PhabelTest\Target\testRet34string', false, new class{}, '~.*Return value must be of type string, class@anonymous returned~'], +[fn ($data): self => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous returned~'], +[function ($data): self { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous returned~'], +[[$this, 'testRet35self'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous returned~'], +[[self::class, 'testRet35self'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (string $data): string => $data, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[function (string $data): string { return $data; }, 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[$this, 'test31string'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[self::class, 'test31string'], 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +['PhabelTest\Target\test31string', 123.123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[fn (string $data): string => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[function (string $data): string { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[$this, 'test32string'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[self::class, 'test32string'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +['PhabelTest\Target\test32string', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[fn (string $data): string => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[function (string $data): string { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[$this, 'test33string'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[self::class, 'test33string'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +['PhabelTest\Target\test33string', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[fn (string $data): string => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[function (string $data): string { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[$this, 'test34string'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[[self::class, 'test34string'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +['PhabelTest\Target\test34string', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type string, class@anonymous given, .*~'], +[fn (self $data): self => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous given, .*~'], +[function (self $data): self { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous given, .*~'], +[[$this, 'test35self'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous given, .*~'], +[[self::class, 'test35self'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer7Test, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test31string(string $data): string { return $data; } +private static function testRet31string($data): string { return $data; } +private static function test32string(string $data): string { return $data; } +private static function testRet32string($data): string { return $data; } +private static function test33string(string $data): string { return $data; } +private static function testRet33string($data): string { return $data; } +private static function test34string(string $data): string { return $data; } +private static function testRet34string($data): string { return $data; } +private static function test35self(self $data): self { return $data; } +private static function testRet35self($data): self { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer8Test.php b/testsGenerated/Target/TypeHintReplacer8Test.php new file mode 100644 index 000000000..0905477b9 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer8Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer8Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): int => $data, 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[function ($data): int { return $data; }, 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[$this, 'testRet36int'], 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[self::class, 'testRet36int'], 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +['PhabelTest\Target\testRet36int', 123, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[fn ($data): int => $data, -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[function ($data): int { return $data; }, -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[$this, 'testRet37int'], -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[self::class, 'testRet37int'], -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +['PhabelTest\Target\testRet37int', -1, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[fn ($data): int => $data, 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[function ($data): int { return $data; }, 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[$this, 'testRet38int'], 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[self::class, 'testRet38int'], 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +['PhabelTest\Target\testRet38int', 123.0, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[fn ($data): int => $data, 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[function ($data): int { return $data; }, 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[$this, 'testRet39int'], 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[self::class, 'testRet39int'], 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +['PhabelTest\Target\testRet39int', 1e3, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[fn ($data): int => $data, true, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[function ($data): int { return $data; }, true, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[$this, 'testRet40int'], true, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[self::class, 'testRet40int'], true, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +['PhabelTest\Target\testRet40int', true, new class{}, '~.*Return value must be of type int, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (int $data): int => $data, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[function (int $data): int { return $data; }, 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[$this, 'test36int'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[self::class, 'test36int'], 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +['PhabelTest\Target\test36int', 123, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[fn (int $data): int => $data, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[function (int $data): int { return $data; }, -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[$this, 'test37int'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[self::class, 'test37int'], -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +['PhabelTest\Target\test37int', -1, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[fn (int $data): int => $data, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[function (int $data): int { return $data; }, 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[$this, 'test38int'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[self::class, 'test38int'], 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +['PhabelTest\Target\test38int', 123.0, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[fn (int $data): int => $data, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[function (int $data): int { return $data; }, 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[$this, 'test39int'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[self::class, 'test39int'], 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +['PhabelTest\Target\test39int', 1e3, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[fn (int $data): int => $data, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[function (int $data): int { return $data; }, true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[$this, 'test40int'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[self::class, 'test40int'], true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +['PhabelTest\Target\test40int', true, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test36int(int $data): int { return $data; } +private static function testRet36int($data): int { return $data; } +private static function test37int(int $data): int { return $data; } +private static function testRet37int($data): int { return $data; } +private static function test38int(int $data): int { return $data; } +private static function testRet38int($data): int { return $data; } +private static function test39int(int $data): int { return $data; } +private static function testRet39int($data): int { return $data; } +private static function test40int(int $data): int { return $data; } +private static function testRet40int($data): int { return $data; } + +} \ No newline at end of file diff --git a/testsGenerated/Target/TypeHintReplacer9Test.php b/testsGenerated/Target/TypeHintReplacer9Test.php new file mode 100644 index 000000000..7de73f9f8 --- /dev/null +++ b/testsGenerated/Target/TypeHintReplacer9Test.php @@ -0,0 +1,117 @@ + + * @license MIT + */ +class TypeHintReplacer9Test extends TestCase +{ + /** + * @dataProvider returnDataProvider + */ + public function testRet(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function returnDataProvider(): array + { + return [ +[fn ($data): int => $data, false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[function ($data): int { return $data; }, false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[$this, 'testRet41int'], false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[self::class, 'testRet41int'], false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +['PhabelTest\Target\testRet41int', false, new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[fn ($data): int => $data, '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[function ($data): int { return $data; }, '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[$this, 'testRet42int'], '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[self::class, 'testRet42int'], '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +['PhabelTest\Target\testRet42int', '123', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[fn ($data): int => $data, '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[function ($data): int { return $data; }, '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[$this, 'testRet43int'], '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[[self::class, 'testRet43int'], '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +['PhabelTest\Target\testRet43int', '123.0', new class{}, '~.*Return value must be of type int, class@anonymous returned~'], +[fn ($data): \PhabelTest\Target\TypeHintReplacer9Test => $data, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], +[function ($data): \PhabelTest\Target\TypeHintReplacer9Test { return $data; }, $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], +[[$this, 'testRet44PhabelTestTargetTypeHintReplacer9Test'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], +[[self::class, 'testRet44PhabelTestTargetTypeHintReplacer9Test'], $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], +['PhabelTest\Target\testRet44PhabelTestTargetTypeHintReplacer9Test', $this, new class{}, '~.*Return value must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous returned~'], +[fn ($data): \Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~'], +[function ($data): \Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~'], +[[$this, 'testRet45Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~'], +[[self::class, 'testRet45Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~'], +['PhabelTest\Target\testRet45Generator', (fn (): \Generator => yield)(), new class{}, '~.*Return value must be of type Generator, class@anonymous returned~']]; +; + } + /** + * @dataProvider paramDataProvider + */ + public function test(callable $c, $data, $wrongData, string $exception) { + $this->assertTrue($data == $c($data)); + + $this->expectExceptionMessageMatches($exception); + $c($wrongData); + } + public function paramDataProvider(): array + { + return [ +[fn (int $data): int => $data, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[function (int $data): int { return $data; }, false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[$this, 'test41int'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[self::class, 'test41int'], false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +['PhabelTest\Target\test41int', false, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[fn (int $data): int => $data, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[function (int $data): int { return $data; }, '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[$this, 'test42int'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[self::class, 'test42int'], '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +['PhabelTest\Target\test42int', '123', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[fn (int $data): int => $data, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[function (int $data): int { return $data; }, '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[$this, 'test43int'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[[self::class, 'test43int'], '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +['PhabelTest\Target\test43int', '123.0', new class{}, '~.*Argument #1 \\(\\$data\\) must be of type int, class@anonymous given, .*~'], +[fn (\PhabelTest\Target\TypeHintReplacer9Test $data): \PhabelTest\Target\TypeHintReplacer9Test => $data, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], +[function (\PhabelTest\Target\TypeHintReplacer9Test $data): \PhabelTest\Target\TypeHintReplacer9Test { return $data; }, $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], +[[$this, 'test44PhabelTestTargetTypeHintReplacer9Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], +[[self::class, 'test44PhabelTestTargetTypeHintReplacer9Test'], $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], +['PhabelTest\Target\test44PhabelTestTargetTypeHintReplacer9Test', $this, new class{}, '~.*Argument #1 \\(\\$data\\) must be of type PhabelTest\\\\Target\\\\TypeHintReplacer9Test, class@anonymous given, .*~'], +[fn (\Generator $data): \Generator => $data, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~'], +[function (\Generator $data): \Generator { return $data; }, (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~'], +[[$this, 'test45Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~'], +[[self::class, 'test45Generator'], (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~'], +['PhabelTest\Target\test45Generator', (fn (): \Generator => yield)(), new class{}, '~.*Argument #1 \\(\\$data\\) must be of type Generator, class@anonymous given, .*~']]; +; + } + + public static function noop() {} + + private static function test41int(int $data): int { return $data; } +private static function testRet41int($data): int { return $data; } +private static function test42int(int $data): int { return $data; } +private static function testRet42int($data): int { return $data; } +private static function test43int(int $data): int { return $data; } +private static function testRet43int($data): int { return $data; } +private static function test44PhabelTestTargetTypeHintReplacer9Test(\PhabelTest\Target\TypeHintReplacer9Test $data): \PhabelTest\Target\TypeHintReplacer9Test { return $data; } +private static function testRet44PhabelTestTargetTypeHintReplacer9Test($data): \PhabelTest\Target\TypeHintReplacer9Test { return $data; } +private static function test45Generator(\Generator $data): \Generator { return $data; } +private static function testRet45Generator($data): \Generator { return $data; } + +} \ No newline at end of file diff --git a/vendor-bundle/amphp/amp/lib/CallableMaker.php b/vendor-bundle/amphp/amp/lib/CallableMaker.php new file mode 100644 index 000000000..b2cc866ba --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/CallableMaker.php @@ -0,0 +1,119 @@ +getMethod($method); + } + $phabelReturn = self::$__reflectionMethods[$method]->getClosure($this); + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Creates a callable from a protected or private static method that may be invoked by methods requiring a + * publicly invokable callback. + * + * @param string $method Static method name. + * + * @return callable + * + * @psalm-suppress MixedInferredReturnType + */ + private static function callableFromStaticMethod($method) + { + if (!\is_string($method)) { + if (!(\is_string($method) || \is_object($method) && \method_exists($method, '__toString') || (\is_bool($method) || \is_numeric($method)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($method) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($method) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $method = (string) $method; + } + } + if (!isset(self::$__reflectionMethods[$method])) { + if (self::$__reflectionClass === null) { + self::$__reflectionClass = new \ReflectionClass(self::class); + } + self::$__reflectionMethods[$method] = self::$__reflectionClass->getMethod($method); + } + $phabelReturn = self::$__reflectionMethods[$method]->getClosure(); + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + } +} else { + /** @psalm-suppress DuplicateClass */ + trait CallableMaker + { + /** + * @deprecated Use \Closure::fromCallable() instead of this method in PHP 7.1. + */ + private function callableFromInstanceMethod($method) + { + if (!\is_string($method)) { + if (!(\is_string($method) || \is_object($method) && \method_exists($method, '__toString') || (\is_bool($method) || \is_numeric($method)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($method) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($method) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $method = (string) $method; + } + } + $phabelReturn = \Phabel\Target\Php71\ClosureFromCallable::fromCallable([$this, $method]); + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @deprecated Use \Closure::fromCallable() instead of this method in PHP 7.1. + */ + private static function callableFromStaticMethod($method) + { + if (!\is_string($method)) { + if (!(\is_string($method) || \is_object($method) && \method_exists($method, '__toString') || (\is_bool($method) || \is_numeric($method)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($method) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($method) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $method = (string) $method; + } + } + $phabelReturn = \Phabel\Target\Php71\ClosureFromCallable::fromCallable([self::class, $method]); + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + } +} +// @codeCoverageIgnoreEnd diff --git a/vendor-bundle/amphp/amp/lib/CancellationToken.php b/vendor-bundle/amphp/amp/lib/CancellationToken.php new file mode 100644 index 000000000..2a4c88e0b --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/CancellationToken.php @@ -0,0 +1,46 @@ +getToken(); + * + * $response = yield $httpClient->request("https://example.com/stream", $token); + * $responseBody = $response->getBody(); + * + * while (($chunk = yield $response->read()) !== null) { + * // consume $chunk + * + * if ($noLongerInterested) { + * $cancellationTokenSource->cancel(); + * break; + * } + * } + * ``` + * + * @see CancellationToken + * @see CancelledException + */ +final class CancellationTokenSource +{ + /** @var CancellationToken */ + private $token; + /** @var callable|null */ + private $onCancel; + public function __construct() + { + $onCancel = null; + $this->token = new PhabelAnonymousClass867203916b829f7de24ce3f00173dbbad106acb640e8804052daf7588402a3bd2($onCancel); + $this->onCancel = $onCancel; + } + public function getToken() + { + $phabelReturn = $this->token; + if (!$phabelReturn instanceof CancellationToken) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type CancellationToken, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param \Throwable|null $previous Exception to be used as the previous exception to CancelledException. + * + * @return void + */ + public function cancel(\Throwable $previous = null) + { + if ($this->onCancel === null) { + return; + } + $onCancel = $this->onCancel; + $this->onCancel = null; + $onCancel(new CancelledException($previous)); + } +} +if (!\class_exists(PhabelAnonymousClass867203916b829f7de24ce3f00173dbbad106acb640e8804052daf7588402a3bd2::class)) { + class PhabelAnonymousClass867203916b829f7de24ce3f00173dbbad106acb640e8804052daf7588402a3bd2 implements CancellationToken, \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface + { + /** @var string */ + private $nextId = "a"; + /** @var callable[] */ + private $callbacks = []; + /** @var \Throwable|null */ + private $exception; + /** + * @param mixed $onCancel + * @param-out callable $onCancel + */ + public function __construct(&$onCancel) + { + /** @psalm-suppress MissingClosureReturnType We still support PHP 7.0 */ + $onCancel = function (\Throwable $exception) { + $this->exception = $exception; + $callbacks = $this->callbacks; + $this->callbacks = []; + foreach ($callbacks as $callback) { + $this->invokeCallback($callback); + } + }; + } + /** + * @param callable $callback + * + * @return void + */ + private function invokeCallback(callable $callback) + { + // No type declaration to prevent exception outside the try! + try { + /** @var mixed $result */ + $result = $callback($this->exception); + if ($result instanceof \Generator) { + /** @psalm-var \Generator $result */ + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } catch (\Error $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } + } + public function subscribe(callable $callback) + { + $id = $this->nextId++; + if ($this->exception) { + $this->invokeCallback($callback); + } else { + $this->callbacks[$id] = $callback; + } + $phabelReturn = $id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(CancellationToken::class . '@anonymous:' . __FUNCTION__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function unsubscribe($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(CancellationToken::class . '@anonymous:' . __FUNCTION__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + unset($this->callbacks[$id]); + } + public function isRequested() + { + $phabelReturn = isset($this->exception); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(CancellationToken::class . '@anonymous:' . __FUNCTION__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function throwIfRequested() + { + if (isset($this->exception)) { + throw $this->exception; + } + } + public static function getPhabelOriginalName() + { + return CancellationToken::class . '@anonymous'; + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/CancelledException.php b/vendor-bundle/amphp/amp/lib/CancelledException.php new file mode 100644 index 000000000..1c48f70e5 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/CancelledException.php @@ -0,0 +1,17 @@ +subscribe(function (CancelledException $exception) { + $this->exception = $exception; + $callbacks = $this->callbacks; + $this->callbacks = []; + foreach ($callbacks as $callback) { + asyncCall($callback, $this->exception); + } + }); + $this->tokens[] = [$token, $id]; + } + } + public function __destruct() + { + foreach ($this->tokens as $phabel_750c92520065307d) { + $token = $phabel_750c92520065307d[0]; + $id = $phabel_750c92520065307d[1]; + /** @var CancellationToken $token */ + $token->unsubscribe($id); + } + } + /** @inheritdoc */ + public function subscribe(callable $callback) + { + $id = $this->nextId++; + if ($this->exception) { + asyncCall($callback, $this->exception); + } else { + $this->callbacks[$id] = $callback; + } + $phabelReturn = $id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** @inheritdoc */ + public function unsubscribe($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + unset($this->callbacks[$id]); + } + /** @inheritdoc */ + public function isRequested() + { + foreach ($this->tokens as $phabel_a3f69c8033d4887a) { + $token = $phabel_a3f69c8033d4887a[0]; + if ($token->isRequested()) { + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** @inheritdoc */ + public function throwIfRequested() + { + foreach ($this->tokens as $phabel_38ace34f4710eb6f) { + $token = $phabel_38ace34f4710eb6f[0]; + $token->throwIfRequested(); + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Coroutine.php b/vendor-bundle/amphp/amp/lib/Coroutine.php new file mode 100644 index 000000000..63b0431cf --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Coroutine.php @@ -0,0 +1,160 @@ + + */ +final class Coroutine implements Promise +{ + use Internal\Placeholder; + /** + * Attempts to transform the non-promise yielded from the generator into a promise, otherwise returns an instance + * `Amp\Failure` failed with an instance of `Amp\InvalidYieldError`. + * + * @param mixed $yielded Non-promise yielded from generator. + * @param \Generator $generator No type for performance, we already know the type. + * + * @return Promise + */ + private static function transform($yielded, $generator) + { + $exception = null; + // initialize here, see https://github.com/vimeo/psalm/issues/2951 + try { + if (\is_array($yielded)) { + $phabelReturn = Promise\all($yielded); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($yielded instanceof ReactPromise) { + $phabelReturn = Promise\adapt($yielded); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // No match, continue to returning Failure below. + } catch (\Exception $exception) { + // Conversion to promise failed, fall-through to returning Failure below. + } catch (\Error $exception) { + // Conversion to promise failed, fall-through to returning Failure below. + } + $phabelReturn = new Failure(new InvalidYieldError($generator, \sprintf("Unexpected yield; Expected an instance of %s or %s or an array of such instances", Promise::class, ReactPromise::class), $exception)); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param \Generator $generator + * @psalm-param \Generator,mixed,Promise|ReactPromise|TReturn> $generator + */ + public function __construct(\Generator $generator) + { + try { + $yielded = $generator->current(); + if (!$yielded instanceof Promise) { + if (!$generator->valid()) { + $this->resolve($generator->getReturn()); + return; + } + $yielded = self::transform($yielded, $generator); + } + } catch (\Exception $exception) { + $this->fail($exception); + return; + } catch (\Error $exception) { + $this->fail($exception); + return; + } + /** + * @param \Throwable|null $e Exception to be thrown into the generator. + * @param mixed $v Value to be sent into the generator. + * + * @return void + * + * @psalm-suppress MissingClosureParamType + * @psalm-suppress MissingClosureReturnType + */ + $onResolve = function (\Throwable $e = null, $v) use($generator, &$onResolve) { + /** @var bool $immediate Used to control iterative coroutine continuation. */ + static $immediate = \true; + /** @var \Throwable|null $exception Promise failure reason when executing next coroutine step, null at all other times. */ + static $exception; + /** @var mixed $value Promise success value when executing next coroutine step, null at all other times. */ + static $value; + $exception = $e; + /** @psalm-suppress MixedAssignment */ + $value = $v; + if (!$immediate) { + $immediate = \true; + return; + } + try { + try { + do { + if ($exception) { + // Throw exception at current execution point. + $yielded = $generator->throw($exception); + } else { + // Send the new value and execute to next yield statement. + $yielded = $generator->send($value); + } + if (!$yielded instanceof Promise) { + if (!$generator->valid()) { + $this->resolve($generator->getReturn()); + $onResolve = null; + return; + } + $yielded = self::transform($yielded, $generator); + } + $immediate = \false; + $yielded->onResolve($onResolve); + } while ($immediate); + $immediate = \true; + } catch (\Exception $exception) { + $this->fail($exception); + $onResolve = null; + } catch (\Error $exception) { + $this->fail($exception); + $onResolve = null; + } finally { + $exception = null; + $value = null; + } + } catch (\Exception $e) { + Loop::defer(static function () use($e) { + throw $e; + }); + } catch (\Error $e) { + Loop::defer(static function () use($e) { + throw $e; + }); + } + }; + try { + $yielded->onResolve($onResolve); + unset($generator, $yielded, $onResolve); + } catch (\Exception $e) { + Loop::defer(static function () use($e) { + throw $e; + }); + } catch (\Error $e) { + Loop::defer(static function () use($e) { + throw $e; + }); + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Deferred.php b/vendor-bundle/amphp/amp/lib/Deferred.php new file mode 100644 index 000000000..cf7407e2f --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Deferred.php @@ -0,0 +1,89 @@ + Has public resolve and fail methods. */ + private $resolver; + /** @var Promise Hides placeholder methods */ + private $promise; + public function __construct() + { + $this->resolver = new PhabelAnonymousClass78674b341fc8ce1a3a6d684af60fb5c39331bf7c50114a496f0a39e563cb3d833(); + $this->promise = new Internal\PrivatePromise($this->resolver); + } + /** + * @return Promise + */ + public function promise() + { + $phabelReturn = $this->promise; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Fulfill the promise with the given value. + * + * @param mixed $value + * + * @psalm-param TValue|Promise $value + * + * @return void + */ + public function resolve($value = null) + { + /** @psalm-suppress UndefinedInterfaceMethod */ + $this->resolver->resolve($value); + } + /** + * Fails the promise the the given reason. + * + * @param \Throwable $reason + * + * @return void + */ + public function fail(\Throwable $reason) + { + /** @psalm-suppress UndefinedInterfaceMethod */ + $this->resolver->fail($reason); + } + /** + * @return bool True if the promise has been resolved. + */ + public function isResolved() + { + $phabelReturn = $this->resolver->isResolved(); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\class_exists(PhabelAnonymousClass78674b341fc8ce1a3a6d684af60fb5c39331bf7c50114a496f0a39e563cb3d833::class)) { + class PhabelAnonymousClass78674b341fc8ce1a3a6d684af60fb5c39331bf7c50114a496f0a39e563cb3d833 implements Promise, \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface + { + use Internal\Placeholder { + resolve as public; + fail as public; + isResolved as public; + } + public static function getPhabelOriginalName() + { + return Promise::class . '@anonymous'; + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Delayed.php b/vendor-bundle/amphp/amp/lib/Delayed.php new file mode 100644 index 000000000..93f2fa167 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Delayed.php @@ -0,0 +1,67 @@ + + */ +final class Delayed implements Promise +{ + use Internal\Placeholder; + /** @var string|null Event loop watcher identifier. */ + private $watcher; + /** + * @param int $time Milliseconds before succeeding the promise. + * @param TReturn $value Succeed the promise with this value. + */ + public function __construct($time, $value = null) + { + if (!\is_int($time)) { + if (!(\is_bool($time) || \is_numeric($time))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($time) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($time) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $time = (int) $time; + } + } + $this->watcher = Loop::delay($time, function () use($value) { + $this->watcher = null; + $this->resolve($value); + }); + } + /** + * References the internal watcher in the event loop, keeping the loop running while this promise is pending. + * + * @return self + */ + public function reference() + { + if ($this->watcher !== null) { + Loop::reference($this->watcher); + } + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Unreferences the internal watcher in the event loop, allowing the loop to stop while this promise is pending if + * no other events are pending in the loop. + * + * @return self + */ + public function unreference() + { + if ($this->watcher !== null) { + Loop::unreference($this->watcher); + } + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/amp/lib/Emitter.php b/vendor-bundle/amphp/amp/lib/Emitter.php new file mode 100644 index 000000000..e4c5db560 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Emitter.php @@ -0,0 +1,93 @@ + Has public emit, complete, and fail methods. */ + private $emitter; + /** @var Iterator Hides producer methods. */ + private $iterator; + public function __construct() + { + $this->emitter = new PhabelAnonymousClassa53edb6f53fd8f3c2c413cbfc1be5e5edab46efe1086ce21f4f026e485307bc71(); + $this->iterator = new Internal\PrivateIterator($this->emitter); + } + /** + * @return Iterator + * @psalm-return Iterator + */ + public function iterate() + { + $phabelReturn = $this->iterator; + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Emits a value to the iterator. + * + * @param mixed $value + * + * @psalm-param TValue $value + * + * @return Promise + * @psalm-return Promise + * @psalm-suppress MixedInferredReturnType + * @psalm-suppress MixedReturnStatement + */ + public function emit($value) + { + $phabelReturn = $this->emitter->emit($value); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** @psalm-suppress UndefinedInterfaceMethod */ + return $phabelReturn; + } + /** + * Completes the iterator. + * + * @return void + */ + public function complete() + { + /** @psalm-suppress UndefinedInterfaceMethod */ + $this->emitter->complete(); + } + /** + * Fails the iterator with the given reason. + * + * @param \Throwable $reason + * + * @return void + */ + public function fail(\Throwable $reason) + { + /** @psalm-suppress UndefinedInterfaceMethod */ + $this->emitter->fail($reason); + } +} +if (!\class_exists(PhabelAnonymousClassa53edb6f53fd8f3c2c413cbfc1be5e5edab46efe1086ce21f4f026e485307bc71::class)) { + class PhabelAnonymousClassa53edb6f53fd8f3c2c413cbfc1be5e5edab46efe1086ce21f4f026e485307bc71 implements Iterator, \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface + { + use Internal\Producer { + emit as public; + complete as public; + fail as public; + } + public static function getPhabelOriginalName() + { + return Iterator::class . '@anonymous'; + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Failure.php b/vendor-bundle/amphp/amp/lib/Failure.php new file mode 100644 index 000000000..54e3927e3 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Failure.php @@ -0,0 +1,50 @@ + + */ +final class Failure implements Promise +{ + /** @var \Throwable $exception */ + private $exception; + /** + * @param \Throwable $exception Rejection reason. + */ + public function __construct(\Throwable $exception) + { + $this->exception = $exception; + } + /** + * {@inheritdoc} + */ + public function onResolve(callable $onResolved) + { + try { + /** @var mixed $result */ + $result = $onResolved($this->exception, null); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Exception $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } catch (\Error $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Internal/Placeholder.php b/vendor-bundle/amphp/amp/lib/Internal/Placeholder.php new file mode 100644 index 000000000..5b50c2286 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Internal/Placeholder.php @@ -0,0 +1,180 @@ +, mixed, + * mixed>|null)|callable(\Throwable|null, mixed): void */ + private $onResolved; + /** @var null|array */ + private $resolutionTrace; + /** + * @inheritdoc + */ + public function onResolve(callable $onResolved) + { + if ($this->resolved) { + if ($this->result instanceof Promise) { + $this->result->onResolve($onResolved); + return; + } + try { + /** @var mixed $result */ + $result = $onResolved(null, $this->result); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Exception $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } catch (\Error $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } + return; + } + if (null === $this->onResolved) { + $this->onResolved = $onResolved; + return; + } + if (!$this->onResolved instanceof ResolutionQueue) { + /** @psalm-suppress InternalClass */ + $this->onResolved = new ResolutionQueue($this->onResolved); + } + /** @psalm-suppress InternalMethod */ + $this->onResolved->push($onResolved); + } + public function __destruct() + { + try { + $this->result = null; + } catch (\Exception $e) { + Loop::defer(static function () use($e) { + throw $e; + }); + } catch (\Error $e) { + Loop::defer(static function () use($e) { + throw $e; + }); + } + } + /** + * @param mixed $value + * + * @return void + * + * @throws \Error Thrown if the promise has already been resolved. + */ + private function resolve($value = null) + { + if ($this->resolved) { + $message = "Promise has already been resolved"; + if (isset($this->resolutionTrace)) { + $trace = formatStacktrace($this->resolutionTrace); + $message .= ". Previous resolution trace:\n\n{$trace}\n\n"; + } else { + // @codeCoverageIgnoreStart + $message .= ', define environment variable AMP_DEBUG or const AMP_DEBUG = true and enable assertions for a stacktrace of the previous resolution.'; + // @codeCoverageIgnoreEnd + } + throw new \Error($message); + } + $phabel_b05875b884917dae = function () { + $env = \getenv("AMP_DEBUG") ?: "0"; + if ($env !== "0" && $env !== "false" || \defined("AMP_DEBUG") && \AMP_DEBUG) { + $trace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS); + \array_shift($trace); + // remove current closure + $this->resolutionTrace = $trace; + } + return \true; + }; + \assert($phabel_b05875b884917dae()); + if ($value instanceof ReactPromise) { + $value = Promise\adapt($value); + } + $this->resolved = \true; + $this->result = $value; + if ($this->onResolved === null) { + return; + } + $onResolved = $this->onResolved; + $this->onResolved = null; + if ($this->result instanceof Promise) { + $this->result->onResolve($onResolved); + return; + } + try { + /** @var mixed $result */ + $result = $onResolved(null, $this->result); + $onResolved = null; + // allow garbage collection of $onResolved, to catch any exceptions from destructors + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Exception $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } catch (\Error $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } + } + /** + * @param \Throwable $reason Failure reason. + * + * @return void + */ + private function fail(\Throwable $reason) + { + $this->resolve(new Failure($reason)); + } + /** + * @return bool True if the placeholder has been resolved. + */ + private function isResolved() + { + $phabelReturn = $this->resolved; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/amp/lib/Internal/PrivateIterator.php b/vendor-bundle/amphp/amp/lib/Internal/PrivateIterator.php new file mode 100644 index 000000000..9932452d7 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Internal/PrivateIterator.php @@ -0,0 +1,45 @@ + + */ +final class PrivateIterator implements Iterator +{ + /** @var Iterator */ + private $iterator; + /** + * @param Iterator $iterator + * + * @psalm-param Iterator $iterator + */ + public function __construct(Iterator $iterator) + { + $this->iterator = $iterator; + } + /** + * @return Promise + */ + public function advance() + { + $phabelReturn = $this->iterator->advance(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @psalm-return TValue + */ + public function getCurrent() + { + return $this->iterator->getCurrent(); + } +} diff --git a/vendor-bundle/amphp/amp/lib/Internal/PrivatePromise.php b/vendor-bundle/amphp/amp/lib/Internal/PrivatePromise.php new file mode 100644 index 000000000..beeaa14f9 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Internal/PrivatePromise.php @@ -0,0 +1,22 @@ +promise = $promise; + } + public function onResolve(callable $onResolved) + { + $this->promise->onResolve($onResolved); + } +} diff --git a/vendor-bundle/amphp/amp/lib/Internal/Producer.php b/vendor-bundle/amphp/amp/lib/Internal/Producer.php new file mode 100644 index 000000000..094af9fb4 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Internal/Producer.php @@ -0,0 +1,198 @@ + + */ + public function advance() + { + if ($this->waiting !== null) { + throw new \Error("The prior promise returned must resolve before invoking this method again"); + } + unset($this->values[$this->consumePosition]); + $position = ++$this->consumePosition; + if (\array_key_exists($position, $this->values)) { + \assert(isset($this->backPressure[$position])); + $deferred = $this->backPressure[$position]; + unset($this->backPressure[$position]); + $deferred->resolve(); + $phabelReturn = new Success(\true); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->complete) { + $phabelReturn = $this->complete; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $this->waiting = new Deferred(); + $phabelReturn = $this->waiting->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + * + * @return TValue + */ + public function getCurrent() + { + if (empty($this->values) && $this->complete) { + throw new \Error("The iterator has completed"); + } + if (!\array_key_exists($this->consumePosition, $this->values)) { + throw new \Error("Promise returned from advance() must resolve before calling this method"); + } + return $this->values[$this->consumePosition]; + } + /** + * Emits a value from the iterator. The returned promise is resolved once the emitted value has been consumed. + * + * @param mixed $value + * + * @return Promise + * @psalm-return Promise + * + * @throws \Error If the iterator has completed. + */ + private function emit($value) + { + if ($this->complete) { + throw new \Error("Iterators cannot emit values after calling complete"); + } + if ($value instanceof ReactPromise) { + $value = Promise\adapt($value); + } + if ($value instanceof Promise) { + $deferred = new Deferred(); + $value->onResolve(function ($e, $v) use($deferred) { + if ($this->complete) { + $deferred->fail(new \Error("The iterator was completed before the promise result could be emitted")); + return; + } + if ($e) { + $this->fail($e); + $deferred->fail($e); + return; + } + $deferred->resolve($this->emit($v)); + }); + $phabelReturn = $deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $position = ++$this->emitPosition; + $this->values[$position] = $value; + if ($this->waiting !== null) { + $waiting = $this->waiting; + $this->waiting = null; + $waiting->resolve(\true); + $phabelReturn = new Success(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + // Consumer was already waiting for a new value, so back-pressure is unnecessary. + } + $this->backPressure[$position] = $pressure = new Deferred(); + $phabelReturn = $pressure->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Completes the iterator. + * + * @return void + * + * @throws \Error If the iterator has already been completed. + */ + private function complete() + { + if ($this->complete) { + $message = "Iterator has already been completed"; + if (isset($this->resolutionTrace)) { + $trace = formatStacktrace($this->resolutionTrace); + $message .= ". Previous completion trace:\n\n{$trace}\n\n"; + } else { + // @codeCoverageIgnoreStart + $message .= ', define environment variable AMP_DEBUG or const AMP_DEBUG = true and enable assertions for a stacktrace of the previous resolution.'; + // @codeCoverageIgnoreEnd + } + throw new \Error($message); + } + $phabel_39a51ba2e196654d = function () { + $env = \getenv("AMP_DEBUG") ?: "0"; + if ($env !== "0" && $env !== "false" || \defined("AMP_DEBUG") && \AMP_DEBUG) { + $trace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS); + \array_shift($trace); + // remove current closure + $this->resolutionTrace = $trace; + } + return \true; + }; + \assert($phabel_39a51ba2e196654d()); + $this->complete = new Success(\false); + if ($this->waiting !== null) { + $waiting = $this->waiting; + $this->waiting = null; + $waiting->resolve($this->complete); + } + } + /** + * @param \Throwable $exception + * + * @return void + */ + private function fail(\Throwable $exception) + { + $this->complete = new Failure($exception); + if ($this->waiting !== null) { + $waiting = $this->waiting; + $this->waiting = null; + $waiting->resolve($this->complete); + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Internal/ResolutionQueue.php b/vendor-bundle/amphp/amp/lib/Internal/ResolutionQueue.php new file mode 100644 index 000000000..09bb9c4b9 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Internal/ResolutionQueue.php @@ -0,0 +1,86 @@ +, mixed, + * mixed>|null) | callable(\Throwable|null, mixed): void> */ + private $queue = []; + /** + * @param callable|null $callback Initial callback to add to queue. + * + * @psalm-param null|callable(\Throwable|null, mixed): (Promise|\React\Promise\PromiseInterface|\Generator, mixed, + * mixed>|null) | callable(\Throwable|null, mixed): void $callback + */ + public function __construct(callable $callback = null) + { + if ($callback !== null) { + $this->push($callback); + } + } + /** + * Unrolls instances of self to avoid blowing up the call stack on resolution. + * + * @param callable $callback + * + * @psalm-param callable(\Throwable|null, mixed): (Promise|\React\Promise\PromiseInterface|\Generator, mixed, + * mixed>|null) | callable(\Throwable|null, mixed): void $callback + * + * @return void + */ + public function push(callable $callback) + { + if ($callback instanceof self) { + $this->queue = \array_merge($this->queue, $callback->queue); + return; + } + $this->queue[] = $callback; + } + /** + * Calls each callback in the queue, passing the provided values to the function. + * + * @param \Throwable|null $exception + * @param mixed $value + * + * @return void + */ + public function __invoke($exception, $value) + { + foreach ($this->queue as $callback) { + try { + $result = $callback($exception, $value); + if ($result === null) { + continue; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Exception $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } catch (\Error $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Internal/functions.php b/vendor-bundle/amphp/amp/lib/Internal/functions.php new file mode 100644 index 000000000..1cb3d3e68 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Internal/functions.php @@ -0,0 +1,138 @@ + $trace Output of + * `debug_backtrace()`. + * + * @return string Formatted stacktrace. + * + * @codeCoverageIgnore + * @internal + */ +function formatStacktrace(array $trace) +{ + $phabelReturn = \implode("\n", \array_map(static function ($e, $i) { + $line = "#{$i} "; + if (isset($e["file"])) { + $line .= "{$e['file']}:{$e['line']} "; + } + if (isset($e["type"])) { + $line .= $e["class"] . $e["type"]; + } + return $line . $e["function"] . "()"; + }, $trace, \array_keys($trace))); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; +} +/** + * Creates a `TypeError` with a standardized error message. + * + * @param string[] $expected Expected types. + * @param mixed $given Given value. + * + * @return \TypeError + * + * @internal + */ +function createTypeError(array $expected, $given) +{ + $givenType = \is_object($given) ? \sprintf("instance of %s", \get_class($given)) : \gettype($given); + if (\count($expected) === 1) { + $expectedType = "Expected the following type: " . \array_pop($expected); + } else { + $expectedType = "Expected one of the following types: " . \implode(", ", $expected); + } + $phabelReturn = new \TypeError("{$expectedType}; {$givenType} given"); + if (!$phabelReturn instanceof \TypeError) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type TypeError, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Returns the current time relative to an arbitrary point in time. + * + * @return int Time in milliseconds. + */ +function getCurrentTime() +{ + /** @var int|null $startTime */ + static $startTime; + /** @var int|null $nextWarning */ + static $nextWarning; + if (\PHP_INT_SIZE === 4) { + // @codeCoverageIgnoreStart + if ($startTime === null) { + $startTime = \PHP_VERSION_ID >= 70300 ? \hrtime(\false)[0] : \time(); + $nextWarning = \PHP_INT_MAX - 86400 * 7; + } + if (\PHP_VERSION_ID >= 70300) { + list($seconds, $nanoseconds) = \hrtime(\false); + $seconds -= $startTime; + if ($seconds >= $nextWarning) { + $timeToOverflow = (\PHP_INT_MAX - $seconds * 1000) / 1000; + \trigger_error("getCurrentTime() will overflow in {$timeToOverflow} seconds, please restart the process before that. " . "You're using a 32 bit version of PHP, so time will overflow about every 24 days. Regular restarts are required.", \E_USER_WARNING); + /** @psalm-suppress PossiblyNullOperand */ + $nextWarning += 600; + // every 10 minutes + } + $phabelReturn = (int) ($seconds * 1000 + $nanoseconds / 1000000); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $seconds = \microtime(\true) - $startTime; + if ($seconds >= $nextWarning) { + $timeToOverflow = (\PHP_INT_MAX - $seconds * 1000) / 1000; + \trigger_error("getCurrentTime() will overflow in {$timeToOverflow} seconds, please restart the process before that. " . "You're using a 32 bit version of PHP, so time will overflow about every 24 days. Regular restarts are required.", \E_USER_WARNING); + /** @psalm-suppress PossiblyNullOperand */ + $nextWarning += 600; + // every 10 minutes + } + $phabelReturn = (int) ($seconds * 1000); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + // @codeCoverageIgnoreEnd + } + if (\PHP_VERSION_ID >= 70300) { + list($seconds, $nanoseconds) = \hrtime(\false); + $phabelReturn = (int) ($seconds * 1000 + $nanoseconds / 1000000); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = (int) (\microtime(\true) * 1000); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; +} diff --git a/vendor-bundle/amphp/amp/lib/InvalidYieldError.php b/vendor-bundle/amphp/amp/lib/InvalidYieldError.php new file mode 100644 index 000000000..afd22ce82 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/InvalidYieldError.php @@ -0,0 +1,34 @@ +current(); + $prefix .= \sprintf("; %s yielded at key %s", \is_object($yielded) ? \get_class($yielded) : \gettype($yielded), \var_export($generator->key(), \true)); + if (!$generator->valid()) { + parent::__construct($prefix, 0, $previous); + return; + } + $reflGen = new \ReflectionGenerator($generator); + $exeGen = $reflGen->getExecutingGenerator(); + if ($isSubgenerator = $exeGen !== $generator) { + $reflGen = new \ReflectionGenerator($exeGen); + } + parent::__construct(\sprintf("%s on line %s in %s", $prefix, $reflGen->getExecutingLine(), $reflGen->getExecutingFile()), 0, $previous); + } +} diff --git a/vendor-bundle/amphp/amp/lib/Iterator.php b/vendor-bundle/amphp/amp/lib/Iterator.php new file mode 100644 index 000000000..9f55682a8 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Iterator.php @@ -0,0 +1,33 @@ + + * + * @throws \Error If the prior promise returned from this method has not resolved. + * @throws \Throwable The exception used to fail the iterator. + */ + public function advance(); + /** + * Gets the last emitted value or throws an exception if the iterator has completed. + * + * @return mixed Value emitted from the iterator. + * @psalm-return TValue + * + * @throws \Error If the iterator has resolved or advance() was not called before calling this method. + * @throws \Throwable The exception used to fail the iterator. + */ + public function getCurrent(); +} diff --git a/vendor-bundle/amphp/amp/lib/LazyPromise.php b/vendor-bundle/amphp/amp/lib/LazyPromise.php new file mode 100644 index 000000000..b966ab60d --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/LazyPromise.php @@ -0,0 +1,38 @@ +promisor = $promisor; + } + /** + * {@inheritdoc} + */ + public function onResolve(callable $onResolved) + { + if ($this->promise === null) { + \assert($this->promisor !== null); + $provider = $this->promisor; + $this->promisor = null; + $this->promise = call($provider); + } + \assert($this->promise !== null); + $this->promise->onResolve($onResolved); + } +} diff --git a/vendor-bundle/amphp/amp/lib/Loop.php b/vendor-bundle/amphp/amp/lib/Loop.php new file mode 100644 index 000000000..e44a7753a --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop.php @@ -0,0 +1,573 @@ +defer($callback); + } + self::$driver->run(); + } + /** + * Stop the event loop. + * + * When an event loop is stopped, it continues with its current tick and exits the loop afterwards. Multiple calls + * to stop MUST be ignored and MUST NOT raise an exception. + * + * @return void + */ + public static function stop() + { + self::$driver->stop(); + } + /** + * Defer the execution of a callback. + * + * The deferred callable MUST be executed before any other type of watcher in a tick. Order of enabling MUST be + * preserved when executing the callbacks. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param callable(string $watcherId, mixed $data) $callback The callback to defer. The `$watcherId` will be + * invalidated before the callback call. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function defer(callable $callback, $data = null) + { + $phabelReturn = self::$driver->defer($callback, $data); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Delay the execution of a callback. + * + * The delay is a minimum and approximate, accuracy is not guaranteed. Order of calls MUST be determined by which + * timers expire first, but timers with the same expiration time MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $delay The amount of time, in milliseconds, to delay the execution for. + * @param callable(string $watcherId, mixed $data) $callback The callback to delay. The `$watcherId` will be + * invalidated before the callback call. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function delay($delay, callable $callback, $data = null) + { + if (!\is_int($delay)) { + if (!(\is_bool($delay) || \is_numeric($delay))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($delay) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($delay) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $delay = (int) $delay; + } + } + $phabelReturn = self::$driver->delay($delay, $callback, $data); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Repeatedly execute a callback. + * + * The interval between executions is a minimum and approximate, accuracy is not guaranteed. Order of calls MUST be + * determined by which timers expire first, but timers with the same expiration time MAY be executed in any order. + * The first execution is scheduled after the first interval period. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $interval The time interval, in milliseconds, to wait between executions. + * @param callable(string $watcherId, mixed $data) $callback The callback to repeat. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function repeat($interval, callable $callback, $data = null) + { + if (!\is_int($interval)) { + if (!(\is_bool($interval) || \is_numeric($interval))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($interval) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($interval) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $interval = (int) $interval; + } + } + $phabelReturn = self::$driver->repeat($interval, $callback, $data); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Execute a callback when a stream resource becomes readable or is closed for reading. + * + * Warning: Closing resources locally, e.g. with `fclose`, might not invoke the callback. Be sure to `cancel` the + * watcher when closing the resource locally. Drivers MAY choose to notify the user if there are watchers on invalid + * resources, but are not required to, due to the high performance impact. Watchers on closed resources are + * therefore undefined behavior. + * + * Multiple watchers on the same stream MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param resource $stream The stream to monitor. + * @param callable(string $watcherId, resource $stream, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function onReadable($stream, callable $callback, $data = null) + { + $phabelReturn = self::$driver->onReadable($stream, $callback, $data); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Execute a callback when a stream resource becomes writable or is closed for writing. + * + * Warning: Closing resources locally, e.g. with `fclose`, might not invoke the callback. Be sure to `cancel` the + * watcher when closing the resource locally. Drivers MAY choose to notify the user if there are watchers on invalid + * resources, but are not required to, due to the high performance impact. Watchers on closed resources are + * therefore undefined behavior. + * + * Multiple watchers on the same stream MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param resource $stream The stream to monitor. + * @param callable(string $watcherId, resource $stream, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function onWritable($stream, callable $callback, $data = null) + { + $phabelReturn = self::$driver->onWritable($stream, $callback, $data); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Execute a callback when a signal is received. + * + * Warning: Installing the same signal on different instances of this interface is deemed undefined behavior. + * Implementations MAY try to detect this, if possible, but are not required to. This is due to technical + * limitations of the signals being registered globally per process. + * + * Multiple watchers on the same signal MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $signo The signal number to monitor. + * @param callable(string $watcherId, int $signo, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the $data parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + * + * @throws UnsupportedFeatureException If signal handling is not supported. + */ + public static function onSignal($signo, callable $callback, $data = null) + { + if (!\is_int($signo)) { + if (!(\is_bool($signo) || \is_numeric($signo))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signo = (int) $signo; + } + } + $phabelReturn = self::$driver->onSignal($signo, $callback, $data); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Enable a watcher to be active starting in the next tick. + * + * Watchers MUST immediately be marked as enabled, but only be activated (i.e. callbacks can be called) right before + * the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param string $watcherId The watcher identifier. + * + * @return void + * + * @throws InvalidWatcherError If the watcher identifier is invalid. + */ + public static function enable($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + self::$driver->enable($watcherId); + } + /** + * Disable a watcher immediately. + * + * A watcher MUST be disabled immediately, e.g. if a defer watcher disables a later defer watcher, the second defer + * watcher isn't executed in this tick. + * + * Disabling a watcher MUST NOT invalidate the watcher. Calling this function MUST NOT fail, even if passed an + * invalid watcher. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public static function disable($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + if (\PHP_VERSION_ID < 70200 && !isset(self::$driver)) { + // Prior to PHP 7.2, self::$driver may be unset during destruct. + // See https://github.com/amphp/amp/issues/212. + return; + } + self::$driver->disable($watcherId); + } + /** + * Cancel a watcher. + * + * This will detatch the event loop from all resources that are associated to the watcher. After this operation the + * watcher is permanently invalid. Calling this function MUST NOT fail, even if passed an invalid watcher. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public static function cancel($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + if (\PHP_VERSION_ID < 70200 && !isset(self::$driver)) { + // Prior to PHP 7.2, self::$driver may be unset during destruct. + // See https://github.com/amphp/amp/issues/212. + return; + } + self::$driver->cancel($watcherId); + } + /** + * Reference a watcher. + * + * This will keep the event loop alive whilst the watcher is still being monitored. Watchers have this state by + * default. + * + * @param string $watcherId The watcher identifier. + * + * @return void + * + * @throws InvalidWatcherError If the watcher identifier is invalid. + */ + public static function reference($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + self::$driver->reference($watcherId); + } + /** + * Unreference a watcher. + * + * The event loop should exit the run method when only unreferenced watchers are still being monitored. Watchers + * are all referenced by default. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public static function unreference($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + if (\PHP_VERSION_ID < 70200 && !isset(self::$driver)) { + // Prior to PHP 7.2, self::$driver may be unset during destruct. + // See https://github.com/amphp/amp/issues/212. + return; + } + self::$driver->unreference($watcherId); + } + /** + * Returns the current loop time in millisecond increments. Note this value does not necessarily correlate to + * wall-clock time, rather the value returned is meant to be used in relative comparisons to prior values returned + * by this method (intervals, expiration calculations, etc.) and is only updated once per loop tick. + * + * @return int + */ + public static function now() + { + $phabelReturn = self::$driver->now(); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Stores information in the loop bound registry. + * + * Stored information is package private. Packages MUST NOT retrieve the stored state of other packages. Packages + * MUST use their namespace as prefix for keys. They may do so by using `SomeClass::class` as key. + * + * If packages want to expose loop bound state to consumers other than the package, they SHOULD provide a dedicated + * interface for that purpose instead of sharing the storage key. + * + * @param string $key The namespaced storage key. + * @param mixed $value The value to be stored. + * + * @return void + */ + public static function setState($key, $value) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + self::$driver->setState($key, $value); + } + /** + * Gets information stored bound to the loop. + * + * Stored information is package private. Packages MUST NOT retrieve the stored state of other packages. Packages + * MUST use their namespace as prefix for keys. They may do so by using `SomeClass::class` as key. + * + * If packages want to expose loop bound state to consumers other than the package, they SHOULD provide a dedicated + * interface for that purpose instead of sharing the storage key. + * + * @param string $key The namespaced storage key. + * + * @return mixed The previously stored value or `null` if it doesn't exist. + */ + public static function getState($key) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + return self::$driver->getState($key); + } + /** + * Set a callback to be executed when an error occurs. + * + * The callback receives the error as the first and only parameter. The return value of the callback gets ignored. + * If it can't handle the error, it MUST throw the error. Errors thrown by the callback or during its invocation + * MUST be thrown into the `run` loop and stop the driver. + * + * Subsequent calls to this method will overwrite the previous handler. + * + * @param callable(\Throwable $error)|null $callback The callback to execute. `null` will clear the + * current handler. + * + * @return callable(\Throwable $error)|null The previous handler, `null` if there was none. + */ + public static function setErrorHandler(callable $callback = null) + { + return self::$driver->setErrorHandler($callback); + } + /** + * Retrieve an associative array of information about the event loop driver. + * + * The returned array MUST contain the following data describing the driver's currently registered watchers: + * + * [ + * "defer" => ["enabled" => int, "disabled" => int], + * "delay" => ["enabled" => int, "disabled" => int], + * "repeat" => ["enabled" => int, "disabled" => int], + * "on_readable" => ["enabled" => int, "disabled" => int], + * "on_writable" => ["enabled" => int, "disabled" => int], + * "on_signal" => ["enabled" => int, "disabled" => int], + * "enabled_watchers" => ["referenced" => int, "unreferenced" => int], + * "running" => bool + * ]; + * + * Implementations MAY optionally add more information in the array but at minimum the above `key => value` format + * MUST always be provided. + * + * @return array Statistics about the loop in the described format. + */ + public static function getInfo() + { + $phabelReturn = self::$driver->getInfo(); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Retrieve the event loop driver that is in scope. + * + * @return Driver + */ + public static function get() + { + $phabelReturn = self::$driver; + if (!$phabelReturn instanceof Driver) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Driver, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} +if (!\class_exists(PhabelAnonymousClassf66c86d93faee87e6cff006ff0599931355803a1ef8fc34109e457bffbf5fc844::class)) { + class PhabelAnonymousClassf66c86d93faee87e6cff006ff0599931355803a1ef8fc34109e457bffbf5fc844 extends Driver implements \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface + { + /** + * @return void + */ + protected function activate(array $watchers) + { + throw new \Error("Can't activate watcher during garbage collection."); + } + /** + * @return void + */ + protected function dispatch($blocking) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(Driver::class . '@anonymous:' . __FUNCTION__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + throw new \Error("Can't dispatch during garbage collection."); + } + /** + * @return void + */ + protected function deactivate(Watcher $watcher) + { + // do nothing + } + public function getHandle() + { + return null; + } + public static function getPhabelOriginalName() + { + return Driver::class . '@anonymous'; + } + } +} +// Default factory, don't move this to a file loaded by the composer "files" autoload mechanism, otherwise custom +// implementations might have issues setting a default loop, because it's overridden by us then. +// @codeCoverageIgnoreStart +Loop::set((new DriverFactory())->create()); +// @codeCoverageIgnoreEnd diff --git a/vendor-bundle/amphp/amp/lib/Loop/Driver.php b/vendor-bundle/amphp/amp/lib/Loop/Driver.php new file mode 100644 index 000000000..821087301 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/Driver.php @@ -0,0 +1,799 @@ +running = \true; + try { + while ($this->running) { + if ($this->isEmpty()) { + return; + } + $this->tick(); + } + } finally { + $this->stop(); + } + } + /** + * @return bool True if no enabled and referenced watchers remain in the loop. + */ + private function isEmpty() + { + foreach ($this->watchers as $watcher) { + if ($watcher->enabled && $watcher->referenced) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + } + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Executes a single tick of the event loop. + * + * @return void + */ + private function tick() + { + if (empty($this->deferQueue)) { + $this->deferQueue = $this->nextTickQueue; + } else { + $this->deferQueue = \array_merge($this->deferQueue, $this->nextTickQueue); + } + $this->nextTickQueue = []; + $this->activate($this->enableQueue); + $this->enableQueue = []; + foreach ($this->deferQueue as $watcher) { + if (!isset($this->deferQueue[$watcher->id])) { + continue; + // Watcher disabled by another defer watcher. + } + unset($this->watchers[$watcher->id], $this->deferQueue[$watcher->id]); + try { + $phabel_56185a565d967e53 = $watcher->callback; + /** @var mixed $result */ + $result = $phabel_56185a565d967e53($watcher->id, $watcher->data); + if ($result === null) { + continue; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + } + /** @psalm-suppress RedundantCondition */ + $this->dispatch(empty($this->nextTickQueue) && empty($this->enableQueue) && $this->running && !$this->isEmpty()); + } + /** + * Activates (enables) all the given watchers. + * + * @param Watcher[] $watchers + * + * @return void + */ + protected abstract function activate(array $watchers); + /** + * Dispatches any pending read/write, timer, and signal events. + * + * @param bool $blocking + * + * @return void + */ + protected abstract function dispatch($blocking); + /** + * Stop the event loop. + * + * When an event loop is stopped, it continues with its current tick and exits the loop afterwards. Multiple calls + * to stop MUST be ignored and MUST NOT raise an exception. + * + * @return void + */ + public function stop() + { + $this->running = \false; + } + /** + * Defer the execution of a callback. + * + * The deferred callable MUST be executed before any other type of watcher in a tick. Order of enabling MUST be + * preserved when executing the callbacks. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param callable (string $watcherId, mixed $data) $callback The callback to defer. The `$watcherId` will be + * invalidated before the callback call. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function defer(callable $callback, $data = null) + { + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher(); + $watcher->type = Watcher::DEFER; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->data = $data; + $this->watchers[$watcher->id] = $watcher; + $this->nextTickQueue[$watcher->id] = $watcher; + $phabelReturn = $watcher->id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Delay the execution of a callback. + * + * The delay is a minimum and approximate, accuracy is not guaranteed. Order of calls MUST be determined by which + * timers expire first, but timers with the same expiration time MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $delay The amount of time, in milliseconds, to delay the execution for. + * @param callable (string $watcherId, mixed $data) $callback The callback to delay. The `$watcherId` will be + * invalidated before the callback call. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function delay($delay, callable $callback, $data = null) + { + if (!\is_int($delay)) { + if (!(\is_bool($delay) || \is_numeric($delay))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($delay) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($delay) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $delay = (int) $delay; + } + } + if ($delay < 0) { + throw new \Error("Delay must be greater than or equal to zero"); + } + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher(); + $watcher->type = Watcher::DELAY; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $delay; + $watcher->expiration = $this->now() + $delay; + $watcher->data = $data; + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + $phabelReturn = $watcher->id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Repeatedly execute a callback. + * + * The interval between executions is a minimum and approximate, accuracy is not guaranteed. Order of calls MUST be + * determined by which timers expire first, but timers with the same expiration time MAY be executed in any order. + * The first execution is scheduled after the first interval period. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $interval The time interval, in milliseconds, to wait between executions. + * @param callable (string $watcherId, mixed $data) $callback The callback to repeat. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function repeat($interval, callable $callback, $data = null) + { + if (!\is_int($interval)) { + if (!(\is_bool($interval) || \is_numeric($interval))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($interval) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($interval) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $interval = (int) $interval; + } + } + if ($interval < 0) { + throw new \Error("Interval must be greater than or equal to zero"); + } + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher(); + $watcher->type = Watcher::REPEAT; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $interval; + $watcher->expiration = $this->now() + $interval; + $watcher->data = $data; + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + $phabelReturn = $watcher->id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Execute a callback when a stream resource becomes readable or is closed for reading. + * + * Warning: Closing resources locally, e.g. with `fclose`, might not invoke the callback. Be sure to `cancel` the + * watcher when closing the resource locally. Drivers MAY choose to notify the user if there are watchers on invalid + * resources, but are not required to, due to the high performance impact. Watchers on closed resources are + * therefore undefined behavior. + * + * Multiple watchers on the same stream MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param resource $stream The stream to monitor. + * @param callable (string $watcherId, resource $stream, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function onReadable($stream, callable $callback, $data = null) + { + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher(); + $watcher->type = Watcher::READABLE; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $stream; + $watcher->data = $data; + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + $phabelReturn = $watcher->id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Execute a callback when a stream resource becomes writable or is closed for writing. + * + * Warning: Closing resources locally, e.g. with `fclose`, might not invoke the callback. Be sure to `cancel` the + * watcher when closing the resource locally. Drivers MAY choose to notify the user if there are watchers on invalid + * resources, but are not required to, due to the high performance impact. Watchers on closed resources are + * therefore undefined behavior. + * + * Multiple watchers on the same stream MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param resource $stream The stream to monitor. + * @param callable (string $watcherId, resource $stream, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function onWritable($stream, callable $callback, $data = null) + { + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher(); + $watcher->type = Watcher::WRITABLE; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $stream; + $watcher->data = $data; + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + $phabelReturn = $watcher->id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Execute a callback when a signal is received. + * + * Warning: Installing the same signal on different instances of this interface is deemed undefined behavior. + * Implementations MAY try to detect this, if possible, but are not required to. This is due to technical + * limitations of the signals being registered globally per process. + * + * Multiple watchers on the same signal MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $signo The signal number to monitor. + * @param callable (string $watcherId, int $signo, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the $data parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + * + * @throws UnsupportedFeatureException If signal handling is not supported. + */ + public function onSignal($signo, callable $callback, $data = null) + { + if (!\is_int($signo)) { + if (!(\is_bool($signo) || \is_numeric($signo))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signo = (int) $signo; + } + } + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher(); + $watcher->type = Watcher::SIGNAL; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $signo; + $watcher->data = $data; + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + $phabelReturn = $watcher->id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Enable a watcher to be active starting in the next tick. + * + * Watchers MUST immediately be marked as enabled, but only be activated (i.e. callbacks can be called) right before + * the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param string $watcherId The watcher identifier. + * + * @return void + * + * @throws InvalidWatcherError If the watcher identifier is invalid. + */ + public function enable($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + if (!isset($this->watchers[$watcherId])) { + throw new InvalidWatcherError($watcherId, "Cannot enable an invalid watcher identifier: '{$watcherId}'"); + } + $watcher = $this->watchers[$watcherId]; + if ($watcher->enabled) { + return; + // Watcher already enabled. + } + $watcher->enabled = \true; + switch ($watcher->type) { + case Watcher::DEFER: + $this->nextTickQueue[$watcher->id] = $watcher; + break; + case Watcher::REPEAT: + case Watcher::DELAY: + \assert(\is_int($watcher->value)); + $watcher->expiration = $this->now() + $watcher->value; + $this->enableQueue[$watcher->id] = $watcher; + break; + default: + $this->enableQueue[$watcher->id] = $watcher; + break; + } + } + /** + * Cancel a watcher. + * + * This will detach the event loop from all resources that are associated to the watcher. After this operation the + * watcher is permanently invalid. Calling this function MUST NOT fail, even if passed an invalid watcher. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public function cancel($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + $this->disable($watcherId); + unset($this->watchers[$watcherId]); + } + /** + * Disable a watcher immediately. + * + * A watcher MUST be disabled immediately, e.g. if a defer watcher disables a later defer watcher, the second defer + * watcher isn't executed in this tick. + * + * Disabling a watcher MUST NOT invalidate the watcher. Calling this function MUST NOT fail, even if passed an + * invalid watcher. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public function disable($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + if (!isset($this->watchers[$watcherId])) { + return; + } + $watcher = $this->watchers[$watcherId]; + if (!$watcher->enabled) { + return; + // Watcher already disabled. + } + $watcher->enabled = \false; + $id = $watcher->id; + switch ($watcher->type) { + case Watcher::DEFER: + if (isset($this->nextTickQueue[$id])) { + // Watcher was only queued to be enabled. + unset($this->nextTickQueue[$id]); + } else { + unset($this->deferQueue[$id]); + } + break; + default: + if (isset($this->enableQueue[$id])) { + // Watcher was only queued to be enabled. + unset($this->enableQueue[$id]); + } else { + $this->deactivate($watcher); + } + break; + } + } + /** + * Deactivates (disables) the given watcher. + * + * @param Watcher $watcher + * + * @return void + */ + protected abstract function deactivate(Watcher $watcher); + /** + * Reference a watcher. + * + * This will keep the event loop alive whilst the watcher is still being monitored. Watchers have this state by + * default. + * + * @param string $watcherId The watcher identifier. + * + * @return void + * + * @throws InvalidWatcherError If the watcher identifier is invalid. + */ + public function reference($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + if (!isset($this->watchers[$watcherId])) { + throw new InvalidWatcherError($watcherId, "Cannot reference an invalid watcher identifier: '{$watcherId}'"); + } + $this->watchers[$watcherId]->referenced = \true; + } + /** + * Unreference a watcher. + * + * The event loop should exit the run method when only unreferenced watchers are still being monitored. Watchers + * are all referenced by default. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public function unreference($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + if (!isset($this->watchers[$watcherId])) { + return; + } + $this->watchers[$watcherId]->referenced = \false; + } + /** + * Stores information in the loop bound registry. + * + * Stored information is package private. Packages MUST NOT retrieve the stored state of other packages. Packages + * MUST use their namespace as prefix for keys. They may do so by using `SomeClass::class` as key. + * + * If packages want to expose loop bound state to consumers other than the package, they SHOULD provide a dedicated + * interface for that purpose instead of sharing the storage key. + * + * @param string $key The namespaced storage key. + * @param mixed $value The value to be stored. + * + * @return void + */ + public final function setState($key, $value) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + if ($value === null) { + unset($this->registry[$key]); + } else { + $this->registry[$key] = $value; + } + } + /** + * Gets information stored bound to the loop. + * + * Stored information is package private. Packages MUST NOT retrieve the stored state of other packages. Packages + * MUST use their namespace as prefix for keys. They may do so by using `SomeClass::class` as key. + * + * If packages want to expose loop bound state to consumers other than the package, they SHOULD provide a dedicated + * interface for that purpose instead of sharing the storage key. + * + * @param string $key The namespaced storage key. + * + * @return mixed The previously stored value or `null` if it doesn't exist. + */ + public final function getState($key) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + return isset($this->registry[$key]) ? $this->registry[$key] : null; + } + /** + * Set a callback to be executed when an error occurs. + * + * The callback receives the error as the first and only parameter. The return value of the callback gets ignored. + * If it can't handle the error, it MUST throw the error. Errors thrown by the callback or during its invocation + * MUST be thrown into the `run` loop and stop the driver. + * + * Subsequent calls to this method will overwrite the previous handler. + * + * @param callable(\Throwable $error):void|null $callback The callback to execute. `null` will clear the + * current handler. + * + * @return callable(\Throwable $error):void|null The previous handler, `null` if there was none. + */ + public function setErrorHandler(callable $callback = null) + { + $previous = $this->errorHandler; + $this->errorHandler = $callback; + return $previous; + } + /** + * Invokes the error handler with the given exception. + * + * @param \Throwable $exception The exception thrown from a watcher callback. + * + * @return void + * @throws \Throwable If no error handler has been set. + */ + protected function error(\Throwable $exception) + { + if ($this->errorHandler === null) { + throw $exception; + } + $phabel_6170bbb6d7be24ff = $this->errorHandler; + $phabel_6170bbb6d7be24ff($exception); + } + /** + * Returns the current loop time in millisecond increments. Note this value does not necessarily correlate to + * wall-clock time, rather the value returned is meant to be used in relative comparisons to prior values returned + * by this method (intervals, expiration calculations, etc.) and is only updated once per loop tick. + * + * Extending classes should override this function to return a value cached once per loop tick. + * + * @return int + */ + public function now() + { + $phabelReturn = (int) (\microtime(\true) * self::MILLISEC_PER_SEC); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Get the underlying loop handle. + * + * Example: the `uv_loop` resource for `libuv` or the `EvLoop` object for `libev` or `null` for a native driver. + * + * Note: This function is *not* exposed in the `Loop` class. Users shall access it directly on the respective loop + * instance. + * + * @return null|object|resource The loop handle the event loop operates on. `null` if there is none. + */ + public abstract function getHandle(); + /** + * Returns the same array of data as getInfo(). + * + * @return array + */ + public function __debugInfo() + { + // @codeCoverageIgnoreStart + return $this->getInfo(); + // @codeCoverageIgnoreEnd + } + /** + * Retrieve an associative array of information about the event loop driver. + * + * The returned array MUST contain the following data describing the driver's currently registered watchers: + * + * [ + * "defer" => ["enabled" => int, "disabled" => int], + * "delay" => ["enabled" => int, "disabled" => int], + * "repeat" => ["enabled" => int, "disabled" => int], + * "on_readable" => ["enabled" => int, "disabled" => int], + * "on_writable" => ["enabled" => int, "disabled" => int], + * "on_signal" => ["enabled" => int, "disabled" => int], + * "enabled_watchers" => ["referenced" => int, "unreferenced" => int], + * "running" => bool + * ]; + * + * Implementations MAY optionally add more information in the array but at minimum the above `key => value` format + * MUST always be provided. + * + * @return array Statistics about the loop in the described format. + */ + public function getInfo() + { + $watchers = ["referenced" => 0, "unreferenced" => 0]; + $defer = $delay = $repeat = $onReadable = $onWritable = $onSignal = ["enabled" => 0, "disabled" => 0]; + foreach ($this->watchers as $watcher) { + switch ($watcher->type) { + case Watcher::READABLE: + $array =& $onReadable; + break; + case Watcher::WRITABLE: + $array =& $onWritable; + break; + case Watcher::SIGNAL: + $array =& $onSignal; + break; + case Watcher::DEFER: + $array =& $defer; + break; + case Watcher::DELAY: + $array =& $delay; + break; + case Watcher::REPEAT: + $array =& $repeat; + break; + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + } + if ($watcher->enabled) { + ++$array["enabled"]; + if ($watcher->referenced) { + ++$watchers["referenced"]; + } else { + ++$watchers["unreferenced"]; + } + } else { + ++$array["disabled"]; + } + } + $phabelReturn = ["enabled_watchers" => $watchers, "defer" => $defer, "delay" => $delay, "repeat" => $repeat, "on_readable" => $onReadable, "on_writable" => $onWritable, "on_signal" => $onSignal, "running" => (bool) $this->running]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/amp/lib/Loop/DriverFactory.php b/vendor-bundle/amphp/amp/lib/Loop/DriverFactory.php new file mode 100644 index 000000000..77848ae72 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/DriverFactory.php @@ -0,0 +1,64 @@ +createDriverFromEnv()) { + return $driver; + } + if (UvDriver::isSupported()) { + return new UvDriver(); + } + if (EvDriver::isSupported()) { + return new EvDriver(); + } + if (EventDriver::isSupported()) { + return new EventDriver(); + } + return new NativeDriver(); + }; + $driver = $phabel_42ba52b6ad07a742(); + if (\getenv("AMP_DEBUG_TRACE_WATCHERS")) { + $phabelReturn = new TracingDriver($driver); + if (!$phabelReturn instanceof Driver) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Driver, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = $driver; + if (!$phabelReturn instanceof Driver) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Driver, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return Driver|null + */ + private function createDriverFromEnv() + { + $driver = \getenv("AMP_LOOP_DRIVER"); + if (!$driver) { + return null; + } + if (!\class_exists($driver)) { + throw new \Error(\sprintf("Driver '%s' does not exist.", $driver)); + } + if (!\is_subclass_of($driver, Driver::class)) { + throw new \Error(\sprintf("Driver '%s' is not a subclass of '%s'.", $driver, Driver::class)); + } + return new $driver(); + } +} +// @codeCoverageIgnoreEnd diff --git a/vendor-bundle/amphp/amp/lib/Loop/EvDriver.php b/vendor-bundle/amphp/amp/lib/Loop/EvDriver.php new file mode 100644 index 000000000..9d0ada3b9 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/EvDriver.php @@ -0,0 +1,301 @@ +handle = new \EvLoop(); + $this->nowOffset = getCurrentTime(); + $this->now = \random_int(0, $this->nowOffset); + $this->nowOffset -= $this->now; + if (self::$activeSignals === null) { + self::$activeSignals =& $this->signals; + } + /** + * @param \EvIO $event + * + * @return void + */ + $this->ioCallback = function (\Phabel\EvIO $event) { + /** @var Watcher $watcher */ + $watcher = $event->data; + try { + $phabel_67d4713590c776b8 = $watcher->callback; + $result = $phabel_67d4713590c776b8($watcher->id, $watcher->value, $watcher->data); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + }; + /** + * @param \EvTimer $event + * + * @return void + */ + $this->timerCallback = function (\EvTimer $event) { + /** @var Watcher $watcher */ + $watcher = $event->data; + if ($watcher->type & Watcher::DELAY) { + $this->cancel($watcher->id); + } elseif ($watcher->value === 0) { + // Disable and re-enable so it's not executed repeatedly in the same tick + // See https://github.com/amphp/amp/issues/131 + $this->disable($watcher->id); + $this->enable($watcher->id); + } + try { + $phabel_db4cea38c7f7e4d4 = $watcher->callback; + $result = $phabel_db4cea38c7f7e4d4($watcher->id, $watcher->data); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + }; + /** + * @param \EvSignal $event + * + * @return void + */ + $this->signalCallback = function (\EvSignal $event) { + /** @var Watcher $watcher */ + $watcher = $event->data; + try { + $phabel_b61c41162565f9e0 = $watcher->callback; + $result = $phabel_b61c41162565f9e0($watcher->id, $watcher->value, $watcher->data); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + }; + } + /** + * {@inheritdoc} + */ + public function cancel($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + parent::cancel($watcherId); + unset($this->events[$watcherId]); + } + public function __destruct() + { + foreach ($this->events as $event) { + /** @psalm-suppress all */ + if ($event !== null) { + // Events may have been nulled in extension depending on destruct order. + $event->stop(); + } + } + // We need to clear all references to events manually, see + // https://bitbucket.org/osmanov/pecl-ev/issues/31/segfault-in-ev_timer_stop + $this->events = []; + } + /** + * {@inheritdoc} + */ + public function run() + { + $active = self::$activeSignals; + \assert($active !== null); + foreach ($active as $event) { + $event->stop(); + } + self::$activeSignals =& $this->signals; + foreach ($this->signals as $event) { + $event->start(); + } + try { + parent::run(); + } finally { + foreach ($this->signals as $event) { + $event->stop(); + } + self::$activeSignals =& $active; + foreach ($active as $event) { + $event->start(); + } + } + } + /** + * {@inheritdoc} + */ + public function stop() + { + $this->handle->stop(); + parent::stop(); + } + /** + * {@inheritdoc} + */ + public function now() + { + $this->now = getCurrentTime() - $this->nowOffset; + $phabelReturn = $this->now; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getHandle() + { + $phabelReturn = $this->handle; + if (!$phabelReturn instanceof \EvLoop) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type EvLoop, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function dispatch($blocking) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + $this->handle->run($blocking ? \Ev::RUN_ONCE : \Ev::RUN_ONCE | \Ev::RUN_NOWAIT); + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function activate(array $watchers) + { + $this->handle->nowUpdate(); + $now = $this->now(); + foreach ($watchers as $watcher) { + if (!isset($this->events[$id = $watcher->id])) { + switch ($watcher->type) { + case Watcher::READABLE: + \assert(\is_resource($watcher->value)); + $this->events[$id] = $this->handle->io($watcher->value, \Ev::READ, $this->ioCallback, $watcher); + break; + case Watcher::WRITABLE: + \assert(\is_resource($watcher->value)); + $this->events[$id] = $this->handle->io($watcher->value, \Ev::WRITE, $this->ioCallback, $watcher); + break; + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + $interval = $watcher->value / self::MILLISEC_PER_SEC; + $this->events[$id] = $this->handle->timer(\max(0, ($watcher->expiration - $now) / self::MILLISEC_PER_SEC), $watcher->type & Watcher::REPEAT ? $interval : 0, $this->timerCallback, $watcher); + break; + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + $this->events[$id] = $this->handle->signal($watcher->value, $this->signalCallback, $watcher); + break; + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + } + } else { + $this->events[$id]->start(); + } + if ($watcher->type === Watcher::SIGNAL) { + /** @psalm-suppress PropertyTypeCoercion */ + $this->signals[$id] = $this->events[$id]; + } + } + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + if (isset($this->events[$id = $watcher->id])) { + $this->events[$id]->stop(); + if ($watcher->type === Watcher::SIGNAL) { + unset($this->signals[$id]); + } + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Loop/EventDriver.php b/vendor-bundle/amphp/amp/lib/Loop/EventDriver.php new file mode 100644 index 000000000..0682a80ef --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/EventDriver.php @@ -0,0 +1,320 @@ +handle = new \EventBase(); + $this->nowOffset = getCurrentTime(); + $this->now = \random_int(0, $this->nowOffset); + $this->nowOffset -= $this->now; + if (self::$activeSignals === null) { + self::$activeSignals =& $this->signals; + } + /** + * @param $resource + * @param $what + * @param Watcher $watcher + * + * @return void + */ + $this->ioCallback = function ($resource, $what, Watcher $watcher) { + \assert(\is_resource($watcher->value)); + try { + $phabel_d42ef1497e567626 = $watcher->callback; + $result = $phabel_d42ef1497e567626($watcher->id, $watcher->value, $watcher->data); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + }; + /** + * @param $resource + * @param $what + * @param Watcher $watcher + * + * @return void + */ + $this->timerCallback = function ($resource, $what, Watcher $watcher) { + \assert(\is_int($watcher->value)); + if ($watcher->type & Watcher::DELAY) { + $this->cancel($watcher->id); + } else { + $this->events[$watcher->id]->add($watcher->value / self::MILLISEC_PER_SEC); + } + try { + $phabel_f4797f4ec6dbeccc = $watcher->callback; + $result = $phabel_f4797f4ec6dbeccc($watcher->id, $watcher->data); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + }; + /** + * @param $signum + * @param $what + * @param Watcher $watcher + * + * @return void + */ + $this->signalCallback = function ($signum, $what, Watcher $watcher) { + try { + $phabel_220d72e73a2c8658 = $watcher->callback; + $result = $phabel_220d72e73a2c8658($watcher->id, $watcher->value, $watcher->data); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + }; + } + /** + * {@inheritdoc} + */ + public function cancel($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + parent::cancel($watcherId); + if (isset($this->events[$watcherId])) { + $this->events[$watcherId]->free(); + unset($this->events[$watcherId]); + } + } + public static function isSupported() + { + $phabelReturn = \extension_loaded("event"); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @codeCoverageIgnore + */ + public function __destruct() + { + foreach ($this->events as $event) { + if ($event !== null) { + // Events may have been nulled in extension depending on destruct order. + $event->free(); + } + } + // Unset here, otherwise $event->del() fails with a warning, because __destruct order isn't defined. + // See https://github.com/amphp/amp/issues/159. + $this->events = []; + // Manually free the loop handle to fully release loop resources. + // See https://github.com/amphp/amp/issues/177. + if ($this->handle !== null) { + $this->handle->free(); + $this->handle = null; + } + } + /** + * {@inheritdoc} + */ + public function run() + { + $active = self::$activeSignals; + \assert($active !== null); + foreach ($active as $event) { + $event->del(); + } + self::$activeSignals =& $this->signals; + foreach ($this->signals as $event) { + /** @psalm-suppress TooFewArguments https://github.com/JetBrains/phpstorm-stubs/pull/763 */ + $event->add(); + } + try { + parent::run(); + } finally { + foreach ($this->signals as $event) { + $event->del(); + } + self::$activeSignals =& $active; + foreach ($active as $event) { + /** @psalm-suppress TooFewArguments https://github.com/JetBrains/phpstorm-stubs/pull/763 */ + $event->add(); + } + } + } + /** + * {@inheritdoc} + */ + public function stop() + { + $this->handle->stop(); + parent::stop(); + } + /** + * {@inheritdoc} + */ + public function now() + { + $this->now = getCurrentTime() - $this->nowOffset; + $phabelReturn = $this->now; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getHandle() + { + $phabelReturn = $this->handle; + if (!$phabelReturn instanceof \EventBase) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type EventBase, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function dispatch($blocking) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + $this->handle->loop($blocking ? \EventBase::LOOP_ONCE : \EventBase::LOOP_ONCE | \EventBase::LOOP_NONBLOCK); + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function activate(array $watchers) + { + $now = $this->now(); + foreach ($watchers as $watcher) { + if (!isset($this->events[$id = $watcher->id])) { + switch ($watcher->type) { + case Watcher::READABLE: + \assert(\is_resource($watcher->value)); + $this->events[$id] = new \Event($this->handle, $watcher->value, \Event::READ | \Event::PERSIST, $this->ioCallback, $watcher); + break; + case Watcher::WRITABLE: + \assert(\is_resource($watcher->value)); + $this->events[$id] = new \Event($this->handle, $watcher->value, \Event::WRITE | \Event::PERSIST, $this->ioCallback, $watcher); + break; + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + $this->events[$id] = new \Event($this->handle, -1, \Event::TIMEOUT, $this->timerCallback, $watcher); + break; + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + $this->events[$id] = new \Event($this->handle, $watcher->value, \Event::SIGNAL | \Event::PERSIST, $this->signalCallback, $watcher); + break; + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + } + } + switch ($watcher->type) { + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + $interval = \max(0, $watcher->expiration - $now); + $this->events[$id]->add($interval > 0 ? $interval / self::MILLISEC_PER_SEC : 0); + break; + case Watcher::SIGNAL: + $this->signals[$id] = $this->events[$id]; + // no break + default: + /** @psalm-suppress TooFewArguments https://github.com/JetBrains/phpstorm-stubs/pull/763 */ + $this->events[$id]->add(); + break; + } + } + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + if (isset($this->events[$id = $watcher->id])) { + $this->events[$id]->del(); + if ($watcher->type === Watcher::SIGNAL) { + unset($this->signals[$id]); + } + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Loop/Internal/TimerQueue.php b/vendor-bundle/amphp/amp/lib/Loop/Internal/TimerQueue.php new file mode 100644 index 000000000..43f3b1146 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/Internal/TimerQueue.php @@ -0,0 +1,189 @@ +data[$node]; + while ($node !== 0 && $entry->expiration < $this->data[$parent = $node - 1 >> 1]->expiration) { + $this->swap($node, $parent); + $node = $parent; + } + } + /** + * @param int $node Rebuild the data array from the given node downward. + * + * @return void + */ + private function heapifyDown($node) + { + if (!\is_int($node)) { + if (!(\is_bool($node) || \is_numeric($node))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($node) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($node) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $node = (int) $node; + } + } + $length = \count($this->data); + while (($child = ($node << 1) + 1) < $length) { + if ($this->data[$child]->expiration < $this->data[$node]->expiration && ($child + 1 >= $length || $this->data[$child]->expiration < $this->data[$child + 1]->expiration)) { + // Left child is less than parent and right child. + $swap = $child; + } elseif ($child + 1 < $length && $this->data[$child + 1]->expiration < $this->data[$node]->expiration) { + // Right child is less than parent and left child. + $swap = $child + 1; + } else { + // Left and right child are greater than parent. + break; + } + $this->swap($node, $swap); + $node = $swap; + } + } + private function swap($left, $right) + { + if (!\is_int($left)) { + if (!(\is_bool($left) || \is_numeric($left))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($left) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($left) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $left = (int) $left; + } + } + if (!\is_int($right)) { + if (!(\is_bool($right) || \is_numeric($right))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($right) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($right) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $right = (int) $right; + } + } + $temp = $this->data[$left]; + $this->data[$left] = $this->data[$right]; + $this->pointers[$this->data[$right]->id] = $left; + $this->data[$right] = $temp; + $this->pointers[$temp->id] = $right; + } + /** + * Inserts the watcher into the queue. Time complexity: O(log(n)). + * + * @param Watcher $watcher + * + * @psalm-param Watcher $watcher + * + * @return void + */ + public function insert(Watcher $watcher) + { + \assert($watcher->expiration !== null); + \assert(!isset($this->pointers[$watcher->id])); + $node = \count($this->data); + $this->data[$node] = $watcher; + $this->pointers[$watcher->id] = $node; + $this->heapifyUp($node); + } + /** + * Removes the given watcher from the queue. Time complexity: O(log(n)). + * + * @param Watcher $watcher + * + * @psalm-param Watcher $watcher + * + * @return void + */ + public function remove(Watcher $watcher) + { + $id = $watcher->id; + if (!isset($this->pointers[$id])) { + return; + } + $this->removeAndRebuild($this->pointers[$id]); + } + /** + * Deletes and returns the Watcher on top of the heap if it has expired, otherwise null is returned. + * Time complexity: O(log(n)). + * + * @param int $now Current loop time. + * + * @return Watcher|null Expired watcher at the top of the heap or null if the watcher has not expired. + * + * @psalm-return Watcher|null + */ + public function extract($now) + { + if (!\is_int($now)) { + if (!(\is_bool($now) || \is_numeric($now))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($now) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($now) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $now = (int) $now; + } + } + if (empty($this->data)) { + return null; + } + $watcher = $this->data[0]; + if ($watcher->expiration > $now) { + return null; + } + $this->removeAndRebuild(0); + return $watcher; + } + /** + * Returns the expiration time value at the top of the heap. Time complexity: O(1). + * + * @return int|null Expiration time of the watcher at the top of the heap or null if the heap is empty. + */ + public function peek() + { + return isset($this->data[0]) ? $this->data[0]->expiration : null; + } + /** + * @param int $node Remove the given node and then rebuild the data array. + * + * @return void + */ + private function removeAndRebuild($node) + { + if (!\is_int($node)) { + if (!(\is_bool($node) || \is_numeric($node))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($node) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($node) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $node = (int) $node; + } + } + $length = \count($this->data) - 1; + $id = $this->data[$node]->id; + $left = $this->data[$node] = $this->data[$length]; + $this->pointers[$left->id] = $node; + unset($this->data[$length], $this->pointers[$id]); + if ($node < $length) { + // don't need to do anything if we removed the last element + $parent = $node - 1 >> 1; + if ($parent >= 0 && $this->data[$node]->expiration < $this->data[$parent]->expiration) { + $this->heapifyUp($node); + } else { + $this->heapifyDown($node); + } + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Loop/InvalidWatcherError.php b/vendor-bundle/amphp/amp/lib/Loop/InvalidWatcherError.php new file mode 100644 index 000000000..dfe7db0c7 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/InvalidWatcherError.php @@ -0,0 +1,44 @@ +watcherId = $watcherId; + parent::__construct($message); + } + /** + * @return string The watcher identifier. + */ + public function getWatcherId() + { + return $this->watcherId; + } +} diff --git a/vendor-bundle/amphp/amp/lib/Loop/NativeDriver.php b/vendor-bundle/amphp/amp/lib/Loop/NativeDriver.php new file mode 100644 index 000000000..e10ec97dd --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/NativeDriver.php @@ -0,0 +1,437 @@ +timerQueue = new Internal\TimerQueue(); + $this->signalHandling = \extension_loaded("pcntl"); + $this->nowOffset = getCurrentTime(); + $this->now = \random_int(0, $this->nowOffset); + $this->nowOffset -= $this->now; + $this->streamSelectErrorHandler = function ($errno, $message) { + // Casing changed in PHP 8 from 'unable' to 'Unable' + if (\stripos($message, "stream_select(): unable to select [4]: ") === 0) { + // EINTR + $this->streamSelectIgnoreResult = \true; + return; + } + if (\strpos($message, 'FD_SETSIZE') !== \false) { + $message = \str_replace(["\r\n", "\n", "\r"], " ", $message); + $pattern = '(stream_select\\(\\): You MUST recompile PHP with a larger value of FD_SETSIZE. It is set to (\\d+), but you have descriptors numbered at least as high as (\\d+)\\.)'; + if (\preg_match($pattern, $message, $match)) { + $helpLink = 'https://amphp.org/amp/event-loop/#implementations'; + $message = 'You have reached the limits of stream_select(). It has a FD_SETSIZE of ' . $match[1] . ', but you have file descriptors numbered at least as high as ' . $match[2] . '. ' . "You can install one of the extensions listed on {$helpLink} to support a higher number of " . 'concurrent file descriptors. If a large number of open file descriptors is unexpected, you might be leaking file descriptors that aren\'t closed correctly.'; + } + } + throw new \Exception($message, $errno); + }; + } + /** + * {@inheritdoc} + * + * @throws \Amp\Loop\UnsupportedFeatureException If the pcntl extension is not available. + */ + public function onSignal($signo, callable $callback, $data = null) + { + if (!\is_int($signo)) { + if (!(\is_bool($signo) || \is_numeric($signo))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signo = (int) $signo; + } + } + if (!$this->signalHandling) { + throw new UnsupportedFeatureException("Signal handling requires the pcntl extension"); + } + $phabelReturn = parent::onSignal($signo, $callback, $data); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function now() + { + $this->now = getCurrentTime() - $this->nowOffset; + $phabelReturn = $this->now; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getHandle() + { + return null; + } + /** + * @param bool $blocking + * + * @return void + * + * @throws \Throwable + */ + protected function dispatch($blocking) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + $this->selectStreams($this->readStreams, $this->writeStreams, $blocking ? $this->getTimeout() : 0); + $now = $this->now(); + while ($watcher = $this->timerQueue->extract($now)) { + if ($watcher->type & Watcher::REPEAT) { + $watcher->enabled = \false; + // Trick base class into adding to enable queue when calling enable() + $this->enable($watcher->id); + } else { + $this->cancel($watcher->id); + } + try { + $phabel_a422fc52460a9b50 = $watcher->callback; + // Execute the timer. + $result = $phabel_a422fc52460a9b50($watcher->id, $watcher->data); + if ($result === null) { + continue; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + } + if ($this->signalHandling) { + \pcntl_signal_dispatch(); + } + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function activate(array $watchers) + { + foreach ($watchers as $watcher) { + switch ($watcher->type) { + case Watcher::READABLE: + \assert(\is_resource($watcher->value)); + $streamId = (int) $watcher->value; + $this->readWatchers[$streamId][$watcher->id] = $watcher; + $this->readStreams[$streamId] = $watcher->value; + break; + case Watcher::WRITABLE: + \assert(\is_resource($watcher->value)); + $streamId = (int) $watcher->value; + $this->writeWatchers[$streamId][$watcher->id] = $watcher; + $this->writeStreams[$streamId] = $watcher->value; + break; + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + $this->timerQueue->insert($watcher); + break; + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + if (!isset($this->signalWatchers[$watcher->value])) { + if (!@\pcntl_signal($watcher->value, $this->callableFromInstanceMethod('handleSignal'))) { + $message = "Failed to register signal handler"; + if ($error = \error_get_last()) { + $message .= \sprintf("; Errno: %d; %s", $error["type"], $error["message"]); + } + throw new \Error($message); + } + } + $this->signalWatchers[$watcher->value][$watcher->id] = $watcher; + break; + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + } + } + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + switch ($watcher->type) { + case Watcher::READABLE: + $streamId = (int) $watcher->value; + unset($this->readWatchers[$streamId][$watcher->id]); + if (empty($this->readWatchers[$streamId])) { + unset($this->readWatchers[$streamId], $this->readStreams[$streamId]); + } + break; + case Watcher::WRITABLE: + $streamId = (int) $watcher->value; + unset($this->writeWatchers[$streamId][$watcher->id]); + if (empty($this->writeWatchers[$streamId])) { + unset($this->writeWatchers[$streamId], $this->writeStreams[$streamId]); + } + break; + case Watcher::DELAY: + case Watcher::REPEAT: + $this->timerQueue->remove($watcher); + break; + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + if (isset($this->signalWatchers[$watcher->value])) { + unset($this->signalWatchers[$watcher->value][$watcher->id]); + if (empty($this->signalWatchers[$watcher->value])) { + unset($this->signalWatchers[$watcher->value]); + @\pcntl_signal($watcher->value, \SIG_DFL); + } + } + break; + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + } + } + /** + * @param resource[] $read + * @param resource[] $write + * @param int $timeout + * + * @return void + */ + private function selectStreams(array $read, array $write, $timeout) + { + if (!\is_int($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($timeout) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (int) $timeout; + } + } + $timeout /= self::MILLISEC_PER_SEC; + if (!empty($read) || !empty($write)) { + // Use stream_select() if there are any streams in the loop. + if ($timeout >= 0) { + $seconds = (int) $timeout; + $microseconds = (int) (($timeout - $seconds) * self::MICROSEC_PER_SEC); + } else { + $seconds = null; + $microseconds = null; + } + // Failed connection attempts are indicated via except on Windows + // @link https://github.com/reactphp/event-loop/blob/8bd064ce23c26c4decf186c2a5a818c9a8209eb0/src/StreamSelectLoop.php#L279-L287 + // @link https://docs.microsoft.com/de-de/windows/win32/api/winsock2/nf-winsock2-select + $except = null; + if (\DIRECTORY_SEPARATOR === '\\') { + $except = $write; + } + \set_error_handler($this->streamSelectErrorHandler); + try { + $result = \stream_select($read, $write, $except, $seconds, $microseconds); + } finally { + \restore_error_handler(); + } + if ($this->streamSelectIgnoreResult || $result === 0) { + $this->streamSelectIgnoreResult = \false; + return; + } + if (!$result) { + $this->error(new \Exception('Unknown error during stream_select')); + return; + } + foreach ($read as $stream) { + $streamId = (int) $stream; + if (!isset($this->readWatchers[$streamId])) { + continue; + // All read watchers disabled. + } + foreach ($this->readWatchers[$streamId] as $watcher) { + if (!isset($this->readWatchers[$streamId][$watcher->id])) { + continue; + // Watcher disabled by another IO watcher. + } + try { + $phabel_668b107f3be16641 = $watcher->callback; + $result = $phabel_668b107f3be16641($watcher->id, $stream, $watcher->data); + if ($result === null) { + continue; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + } + } + \assert(\is_array($write)); + // See https://github.com/vimeo/psalm/issues/3036 + if ($except) { + foreach ($except as $key => $socket) { + $write[$key] = $socket; + } + } + foreach ($write as $stream) { + $streamId = (int) $stream; + if (!isset($this->writeWatchers[$streamId])) { + continue; + // All write watchers disabled. + } + foreach ($this->writeWatchers[$streamId] as $watcher) { + if (!isset($this->writeWatchers[$streamId][$watcher->id])) { + continue; + // Watcher disabled by another IO watcher. + } + try { + $phabel_d881bf449cdca21d = $watcher->callback; + $result = $phabel_d881bf449cdca21d($watcher->id, $stream, $watcher->data); + if ($result === null) { + continue; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + } + } + return; + } + if ($timeout < 0) { + // Only signal watchers are enabled, so sleep indefinitely. + \usleep(\PHP_INT_MAX); + return; + } + if ($timeout > 0) { + // Sleep until next timer expires. + \usleep((int) ($timeout * self::MICROSEC_PER_SEC)); + } + } + /** + * @return int Milliseconds until next timer expires or -1 if there are no pending times. + */ + private function getTimeout() + { + $expiration = $this->timerQueue->peek(); + if ($expiration === null) { + $phabelReturn = -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $expiration -= getCurrentTime() - $this->nowOffset; + $phabelReturn = $expiration > 0 ? $expiration : 0; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @param int $signo + * + * @return void + */ + private function handleSignal($signo) + { + if (!\is_int($signo)) { + if (!(\is_bool($signo) || \is_numeric($signo))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signo = (int) $signo; + } + } + foreach ($this->signalWatchers[$signo] as $watcher) { + if (!isset($this->signalWatchers[$signo][$watcher->id])) { + continue; + } + try { + $phabel_cb9626d52af40a29 = $watcher->callback; + $result = $phabel_cb9626d52af40a29($watcher->id, $signo, $watcher->data); + if ($result === null) { + continue; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Loop/TracingDriver.php b/vendor-bundle/amphp/amp/lib/Loop/TracingDriver.php new file mode 100644 index 000000000..727852b75 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/TracingDriver.php @@ -0,0 +1,392 @@ +driver = $driver; + } + public function run() + { + $this->driver->run(); + } + public function stop() + { + $this->driver->stop(); + } + public function defer(callable $callback, $data = null) + { + $id = $this->driver->defer(function (...$args) use($callback) { + $this->cancel($args[0]); + return $callback(...$args); + }, $data); + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = \true; + $phabelReturn = $id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function delay($delay, callable $callback, $data = null) + { + if (!\is_int($delay)) { + if (!(\is_bool($delay) || \is_numeric($delay))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($delay) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($delay) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $delay = (int) $delay; + } + } + $id = $this->driver->delay($delay, function (...$args) use($callback) { + $this->cancel($args[0]); + return $callback(...$args); + }, $data); + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = \true; + $phabelReturn = $id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function repeat($interval, callable $callback, $data = null) + { + if (!\is_int($interval)) { + if (!(\is_bool($interval) || \is_numeric($interval))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($interval) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($interval) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $interval = (int) $interval; + } + } + $id = $this->driver->repeat($interval, $callback, $data); + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = \true; + $phabelReturn = $id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function onReadable($stream, callable $callback, $data = null) + { + $id = $this->driver->onReadable($stream, $callback, $data); + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = \true; + $phabelReturn = $id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function onWritable($stream, callable $callback, $data = null) + { + $id = $this->driver->onWritable($stream, $callback, $data); + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = \true; + $phabelReturn = $id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function onSignal($signo, callable $callback, $data = null) + { + if (!\is_int($signo)) { + if (!(\is_bool($signo) || \is_numeric($signo))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signo = (int) $signo; + } + } + $id = $this->driver->onSignal($signo, $callback, $data); + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = \true; + $phabelReturn = $id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function enable($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + try { + $this->driver->enable($watcherId); + $this->enabledWatchers[$watcherId] = \true; + } catch (InvalidWatcherError $e) { + throw new InvalidWatcherError($watcherId, $e->getMessage() . "\r\n\r\n" . $this->getTraces($watcherId)); + } + } + public function cancel($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + $this->driver->cancel($watcherId); + if (!isset($this->cancelTraces[$watcherId])) { + $this->cancelTraces[$watcherId] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + } + unset($this->enabledWatchers[$watcherId], $this->unreferencedWatchers[$watcherId]); + } + public function disable($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + $this->driver->disable($watcherId); + unset($this->enabledWatchers[$watcherId]); + } + public function reference($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + try { + $this->driver->reference($watcherId); + unset($this->unreferencedWatchers[$watcherId]); + } catch (InvalidWatcherError $e) { + throw new InvalidWatcherError($watcherId, $e->getMessage() . "\r\n\r\n" . $this->getTraces($watcherId)); + } + } + public function unreference($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + $this->driver->unreference($watcherId); + $this->unreferencedWatchers[$watcherId] = \true; + } + public function setErrorHandler(callable $callback = null) + { + return $this->driver->setErrorHandler($callback); + } + /** @inheritdoc */ + public function getHandle() + { + $this->driver->getHandle(); + } + public function dump() + { + $dump = "Enabled, referenced watchers keeping the loop running: "; + foreach ($this->enabledWatchers as $watcher => $_) { + if (isset($this->unreferencedWatchers[$watcher])) { + continue; + } + $dump .= "Watcher ID: " . $watcher . "\r\n"; + $dump .= $this->getCreationTrace($watcher); + $dump .= "\r\n\r\n"; + } + $phabelReturn = \rtrim($dump); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getInfo() + { + $phabelReturn = $this->driver->getInfo(); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function __debugInfo() + { + return $this->driver->__debugInfo(); + } + public function now() + { + $phabelReturn = $this->driver->now(); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + protected function error(\Throwable $exception) + { + $this->driver->error($exception); + } + /** + * @inheritdoc + * + * @return void + */ + protected function activate(array $watchers) + { + // nothing to do in a decorator + } + /** + * @inheritdoc + * + * @return void + */ + protected function dispatch($blocking) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + // nothing to do in a decorator + } + /** + * @inheritdoc + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + // nothing to do in a decorator + } + private function getTraces($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + $phabelReturn = "Creation Trace:\r\n" . $this->getCreationTrace($watcherId) . ' + +Cancellation Trace: +' . $this->getCancelTrace($watcherId); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function getCreationTrace($watcher) + { + if (!\is_string($watcher)) { + if (!(\is_string($watcher) || \is_object($watcher) && \method_exists($watcher, '__toString') || (\is_bool($watcher) || \is_numeric($watcher)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcher) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcher) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcher = (string) $watcher; + } + } + if (!isset($this->creationTraces[$watcher])) { + $phabelReturn = 'No creation trace, yet.'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $this->creationTraces[$watcher]; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function getCancelTrace($watcher) + { + if (!\is_string($watcher)) { + if (!(\is_string($watcher) || \is_object($watcher) && \method_exists($watcher, '__toString') || (\is_bool($watcher) || \is_numeric($watcher)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcher) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcher) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcher = (string) $watcher; + } + } + if (!isset($this->cancelTraces[$watcher])) { + $phabelReturn = 'No cancellation trace, yet.'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $this->cancelTraces[$watcher]; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/amp/lib/Loop/UnsupportedFeatureException.php b/vendor-bundle/amphp/amp/lib/Loop/UnsupportedFeatureException.php new file mode 100644 index 000000000..e5b826098 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/UnsupportedFeatureException.php @@ -0,0 +1,12 @@ +handle = \uv_loop_new(); + /** + * @param $event + * @param $status + * @param $events + * @param $resource + * + * @return void + */ + $this->ioCallback = function ($event, $status, $events, $resource) { + $watchers = $this->watchers[(int) $event]; + switch ($status) { + case 0: + // OK + break; + default: + // Invoke the callback on errors, as this matches behavior with other loop back-ends. + // Re-enable watcher as libuv disables the watcher on non-zero status. + $flags = 0; + foreach ($watchers as $watcher) { + $flags |= $watcher->enabled ? $watcher->type : 0; + } + \uv_poll_start($event, $flags, $this->ioCallback); + break; + } + foreach ($watchers as $watcher) { + // $events is OR'ed with 4 to trigger watcher if no events are indicated (0) or on UV_DISCONNECT (4). + // http://docs.libuv.org/en/v1.x/poll.html + if (!($watcher->enabled && ($watcher->type & $events || ($events | 4) === 4))) { + continue; + } + try { + $phabel_2e845441a9ab246b = $watcher->callback; + $result = $phabel_2e845441a9ab246b($watcher->id, $resource, $watcher->data); + if ($result === null) { + continue; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + } + }; + /** + * @param $event + * + * @return void + */ + $this->timerCallback = function ($event) { + $watcher = $this->watchers[(int) $event][0]; + if ($watcher->type & Watcher::DELAY) { + unset($this->events[$watcher->id], $this->watchers[(int) $event]); + // Avoid call to uv_is_active(). + $this->cancel($watcher->id); + // Remove reference to watcher in parent. + } elseif ($watcher->value === 0) { + // Disable and re-enable so it's not executed repeatedly in the same tick + // See https://github.com/amphp/amp/issues/131 + $this->disable($watcher->id); + $this->enable($watcher->id); + } + try { + $phabel_db5f43921a822918 = $watcher->callback; + $result = $phabel_db5f43921a822918($watcher->id, $watcher->data); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + }; + /** + * @param $event + * @param $signo + * + * @return void + */ + $this->signalCallback = function ($event, $signo) { + $watcher = $this->watchers[(int) $event][0]; + try { + $phabel_825278b93725b9b6 = $watcher->callback; + $result = $phabel_825278b93725b9b6($watcher->id, $signo, $watcher->data); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Exception $exception) { + $this->error($exception); + } catch (\Error $exception) { + $this->error($exception); + } + }; + } + /** + * {@inheritdoc} + */ + public function cancel($watcherId) + { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + parent::cancel($watcherId); + if (!isset($this->events[$watcherId])) { + return; + } + $event = $this->events[$watcherId]; + $eventId = (int) $event; + if (isset($this->watchers[$eventId][0])) { + // All except IO watchers. + unset($this->watchers[$eventId]); + } elseif (isset($this->watchers[$eventId][$watcherId])) { + $watcher = $this->watchers[$eventId][$watcherId]; + unset($this->watchers[$eventId][$watcherId]); + if (empty($this->watchers[$eventId])) { + unset($this->watchers[$eventId], $this->streams[(int) $watcher->value]); + } + } + unset($this->events[$watcherId]); + } + public static function isSupported() + { + $phabelReturn = \extension_loaded("uv"); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function now() + { + \uv_update_time($this->handle); + $phabelReturn = \uv_now($this->handle); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + /** @psalm-suppress TooManyArguments */ + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getHandle() + { + return $this->handle; + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function dispatch($blocking) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + /** @psalm-suppress TooManyArguments */ + \uv_run($this->handle, $blocking ? \UV::RUN_ONCE : \UV::RUN_NOWAIT); + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function activate(array $watchers) + { + $now = $this->now(); + foreach ($watchers as $watcher) { + $id = $watcher->id; + switch ($watcher->type) { + case Watcher::READABLE: + case Watcher::WRITABLE: + \assert(\is_resource($watcher->value)); + $streamId = (int) $watcher->value; + if (isset($this->streams[$streamId])) { + $event = $this->streams[$streamId]; + } elseif (isset($this->events[$id])) { + $event = $this->streams[$streamId] = $this->events[$id]; + } else { + /** @psalm-suppress UndefinedFunction */ + $event = $this->streams[$streamId] = \Phabel\uv_poll_init_socket($this->handle, $watcher->value); + } + $eventId = (int) $event; + $this->events[$id] = $event; + $this->watchers[$eventId][$id] = $watcher; + $flags = 0; + foreach ($this->watchers[$eventId] as $w) { + $flags |= $w->enabled ? $w->type : 0; + } + \uv_poll_start($event, $flags, $this->ioCallback); + break; + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + if (isset($this->events[$id])) { + $event = $this->events[$id]; + } else { + $event = $this->events[$id] = \uv_timer_init($this->handle); + } + $this->watchers[(int) $event] = [$watcher]; + \uv_timer_start($event, \max(0, $watcher->expiration - $now), $watcher->type & Watcher::REPEAT ? $watcher->value : 0, $this->timerCallback); + break; + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + if (isset($this->events[$id])) { + $event = $this->events[$id]; + } else { + /** @psalm-suppress UndefinedFunction */ + $event = $this->events[$id] = \Phabel\uv_signal_init($this->handle); + } + $this->watchers[(int) $event] = [$watcher]; + /** @psalm-suppress UndefinedFunction */ + \Phabel\uv_signal_start($event, $this->signalCallback, $watcher->value); + break; + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + } + } + } + /** + * {@inheritdoc} + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + $id = $watcher->id; + if (!isset($this->events[$id])) { + return; + } + $event = $this->events[$id]; + if (!\uv_is_active($event)) { + return; + } + switch ($watcher->type) { + case Watcher::READABLE: + case Watcher::WRITABLE: + $flags = 0; + foreach ($this->watchers[(int) $event] as $w) { + $flags |= $w->enabled ? $w->type : 0; + } + if ($flags) { + \uv_poll_start($event, $flags, $this->ioCallback); + } else { + \uv_poll_stop($event); + } + break; + case Watcher::DELAY: + case Watcher::REPEAT: + \uv_timer_stop($event); + break; + case Watcher::SIGNAL: + \uv_signal_stop($event); + break; + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/Loop/Watcher.php b/vendor-bundle/amphp/amp/lib/Loop/Watcher.php new file mode 100644 index 000000000..00c9825e5 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Loop/Watcher.php @@ -0,0 +1,47 @@ +reasons = $reasons; + } + /** + * @return \Throwable[] + */ + public function getReasons() + { + $phabelReturn = $this->reasons; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/amp/lib/NullCancellationToken.php b/vendor-bundle/amphp/amp/lib/NullCancellationToken.php new file mode 100644 index 000000000..3af621a8e --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/NullCancellationToken.php @@ -0,0 +1,73 @@ +throwIfRequested(); + * } + * ``` + * + * potentially multiple times, it allows writing + * + * ```php + * $token = $token ?? new NullCancellationToken; + * + * // ... + * + * $token->throwIfRequested(); + * ``` + * + * instead. + */ +final class NullCancellationToken implements CancellationToken +{ + /** @inheritdoc */ + public function subscribe(callable $callback) + { + $phabelReturn = "null-token"; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** @inheritdoc */ + public function unsubscribe($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + // nothing to do + } + /** @inheritdoc */ + public function isRequested() + { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** @inheritdoc */ + public function throwIfRequested() + { + // nothing to do + } +} diff --git a/vendor-bundle/amphp/amp/lib/Producer.php b/vendor-bundle/amphp/amp/lib/Producer.php new file mode 100644 index 000000000..001ea0561 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Producer.php @@ -0,0 +1,38 @@ + + */ +final class Producer implements Iterator +{ + /** + * @use Internal\Producer + */ + use CallableMaker, Internal\Producer; + /** + * @param callable(callable(TValue):Promise):\Generator $producer + * + * @throws \Error Thrown if the callable does not return a Generator. + */ + public function __construct(callable $producer) + { + $result = $producer($this->callableFromInstanceMethod("emit")); + if (!$result instanceof \Generator) { + throw new \Error("The callable did not return a Generator"); + } + $coroutine = new Coroutine($result); + $coroutine->onResolve(function ($exception) { + if ($this->complete) { + return; + } + if ($exception) { + $this->fail($exception); + return; + } + $this->complete(); + }); + } +} diff --git a/vendor-bundle/amphp/amp/lib/Promise.php b/vendor-bundle/amphp/amp/lib/Promise.php new file mode 100644 index 000000000..64c4134fe --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Promise.php @@ -0,0 +1,37 @@ +, mixed, + * mixed>|null) | callable(\Throwable|null, mixed): void $onResolved + * + * @return void + */ + public function onResolve(callable $onResolved); +} diff --git a/vendor-bundle/amphp/amp/lib/Struct.php b/vendor-bundle/amphp/amp/lib/Struct.php new file mode 100644 index 000000000..9e299d821 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Struct.php @@ -0,0 +1,112 @@ +generateStructPropertyError($property)); + } + /** + * @param string $property + * @param mixed $value + * + * @psalm-return no-return + */ + public function __set($property, $value) + { + if (!\is_string($property)) { + if (!(\is_string($property) || \is_object($property) && \method_exists($property, '__toString') || (\is_bool($property) || \is_numeric($property)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($property) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($property) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $property = (string) $property; + } + } + throw new \Error($this->generateStructPropertyError($property)); + } + private function generateStructPropertyError($property) + { + if (!\is_string($property)) { + if (!(\is_string($property) || \is_object($property) && \method_exists($property, '__toString') || (\is_bool($property) || \is_numeric($property)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($property) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($property) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $property = (string) $property; + } + } + $suggestion = $this->suggestPropertyName($property); + $suggestStr = $suggestion == "" ? "" : " ... did you mean \"{$suggestion}?\""; + $phabelReturn = \sprintf( + "%s property \"%s\" does not exist%s", + \str_replace("\x00", "@", \get_class($this)), + // Handle anonymous class names. + $property, + $suggestStr + ); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function suggestPropertyName($badProperty) + { + if (!\is_string($badProperty)) { + if (!(\is_string($badProperty) || \is_object($badProperty) && \method_exists($badProperty, '__toString') || (\is_bool($badProperty) || \is_numeric($badProperty)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($badProperty) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($badProperty) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $badProperty = (string) $badProperty; + } + } + $badProperty = \strtolower($badProperty); + $bestMatch = ""; + $bestMatchPercentage = 0; + /** @psalm-suppress RawObjectIteration */ + foreach ($this as $property => $value) { + // Never suggest properties that begin with an underscore + if ($property[0] === "_") { + continue; + } + \similar_text($badProperty, \strtolower($property), $byRefPercentage); + if ($byRefPercentage > $bestMatchPercentage) { + $bestMatchPercentage = $byRefPercentage; + $bestMatch = $property; + } + } + $phabelReturn = $bestMatchPercentage >= $this->__propertySuggestThreshold ? $bestMatch : ""; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/amp/lib/Success.php b/vendor-bundle/amphp/amp/lib/Success.php new file mode 100644 index 000000000..d6547de62 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/Success.php @@ -0,0 +1,57 @@ + + */ +final class Success implements Promise +{ + /** @var mixed */ + private $value; + /** + * @param mixed $value Anything other than a Promise object. + * + * @psalm-param TValue $value + * + * @throws \Error If a promise is given as the value. + */ + public function __construct($value = null) + { + if ($value instanceof Promise || $value instanceof ReactPromise) { + throw new \Error("Cannot use a promise as success value"); + } + $this->value = $value; + } + /** + * {@inheritdoc} + */ + public function onResolve(callable $onResolved) + { + try { + $result = $onResolved(null, $this->value); + if ($result === null) { + return; + } + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Exception $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } catch (\Error $exception) { + Loop::defer(static function () use($exception) { + throw $exception; + }); + } + } +} diff --git a/vendor-bundle/amphp/amp/lib/TimeoutCancellationToken.php b/vendor-bundle/amphp/amp/lib/TimeoutCancellationToken.php new file mode 100644 index 000000000..334accaf8 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/TimeoutCancellationToken.php @@ -0,0 +1,102 @@ +token = $source->getToken(); + $trace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS); + $this->watcher = Loop::delay($timeout, static function () use($source, $message, $trace) { + $trace = formatStacktrace($trace); + $source->cancel(new TimeoutException("{$message}\r\nTimeoutCancellationToken was created here:\r\n{$trace}")); + }); + Loop::unreference($this->watcher); + } + /** + * Cancels the delay watcher. + */ + public function __destruct() + { + Loop::cancel($this->watcher); + } + /** + * {@inheritdoc} + */ + public function subscribe(callable $callback) + { + $phabelReturn = $this->token->subscribe($callback); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function unsubscribe($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + $this->token->unsubscribe($id); + } + /** + * {@inheritdoc} + */ + public function isRequested() + { + $phabelReturn = $this->token->isRequested(); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function throwIfRequested() + { + $this->token->throwIfRequested(); + } +} diff --git a/vendor-bundle/amphp/amp/lib/TimeoutException.php b/vendor-bundle/amphp/amp/lib/TimeoutException.php new file mode 100644 index 000000000..7047b54f5 --- /dev/null +++ b/vendor-bundle/amphp/amp/lib/TimeoutException.php @@ -0,0 +1,26 @@ + + * @template T as TReturn|Promise|\Generator + * + * @formatter:off + * + * @param callable(...mixed): T $callback + * + * @return callable + * @psalm-return (T is Promise ? (callable(mixed...): Promise) : (T is \Generator ? (TGenerator is Promise ? (callable(mixed...): Promise) : (callable(mixed...): Promise)) : (callable(mixed...): Promise))) + * + * @formatter:on + * + * @see asyncCoroutine() + * + * @psalm-suppress InvalidReturnType + */ +function coroutine(callable $callback) +{ + $phabelReturn = static function (...$args) use($callback) { + $phabelReturn = call($callback, ...$args); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + }; + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** @psalm-suppress InvalidReturnStatement */ + return $phabelReturn; +} +/** + * Returns a new function that wraps $callback in a promise/coroutine-aware function that automatically runs + * Generators as coroutines. The returned function always returns void when invoked. Errors are forwarded to the + * loop's error handler using `Amp\Promise\rethrow()`. + * + * Use this function to create a coroutine-aware callable for a non-promise-aware callback caller. + * + * @param callable(...mixed): mixed $callback + * + * @return callable + * @psalm-return callable(mixed...): void + * + * @see coroutine() + */ +function asyncCoroutine(callable $callback) +{ + $phabelReturn = static function (...$args) use($callback) { + Promise\rethrow(call($callback, ...$args)); + }; + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Calls the given function, always returning a promise. If the function returns a Generator, it will be run as a + * coroutine. If the function throws, a failed promise will be returned. + * + * @template TReturn + * @template TPromise + * @template TGeneratorReturn + * @template TGeneratorPromise + * + * @template TGenerator as TGeneratorReturn|Promise + * @template T as TReturn|Promise|\Generator + * + * @formatter:off + * + * @param callable(...mixed): T $callback + * @param mixed ...$args Arguments to pass to the function. + * + * @return Promise + * @psalm-return (T is Promise ? Promise : (T is \Generator ? (TGenerator is Promise ? Promise : Promise) : Promise)) + * + * @formatter:on + */ +function call(callable $callback, ...$args) +{ + try { + $result = $callback(...$args); + } catch (\Exception $exception) { + $phabelReturn = new Failure($exception); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } catch (\Error $exception) { + $phabelReturn = new Failure($exception); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($result instanceof \Generator) { + $phabelReturn = new Coroutine($result); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($result instanceof Promise) { + $phabelReturn = $result; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($result instanceof ReactPromise) { + $phabelReturn = Promise\adapt($result); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = new Success($result); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Calls the given function. If the function returns a Generator, it will be run as a coroutine. If the function + * throws or returns a failing promise, the failure is forwarded to the loop error handler. + * + * @param callable(...mixed): mixed $callback + * @param mixed ...$args Arguments to pass to the function. + * + * @return void + */ +function asyncCall(callable $callback, ...$args) +{ + Promise\rethrow(call($callback, ...$args)); +} +/** + * Sleeps for the specified number of milliseconds. + * + * @param int $milliseconds + * + * @return Delayed + */ +function delay($milliseconds) +{ + if (!\is_int($milliseconds)) { + if (!(\is_bool($milliseconds) || \is_numeric($milliseconds))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($milliseconds) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($milliseconds) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $milliseconds = (int) $milliseconds; + } + } + $phabelReturn = new Delayed($milliseconds); + if (!$phabelReturn instanceof Delayed) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Delayed, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Returns the current time relative to an arbitrary point in time. + * + * @return int Time in milliseconds. + */ +function getCurrentTime() +{ + $phabelReturn = Internal\getCurrentTime(); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; +} +namespace Phabel\Amp\Promise; + +use Phabel\Amp\Deferred; +use Phabel\Amp\Loop; +use Phabel\Amp\MultiReasonException; +use Phabel\Amp\Promise; +use Phabel\Amp\Success; +use Phabel\Amp\TimeoutException; +use Phabel\React\Promise\PromiseInterface as ReactPromise; +use function Phabel\Amp\call; +use function Phabel\Amp\Internal\createTypeError; +/** + * Registers a callback that will forward the failure reason to the event loop's error handler if the promise fails. + * + * Use this function if you neither return the promise nor handle a possible error yourself to prevent errors from + * going entirely unnoticed. + * + * @param Promise|ReactPromise $promise Promise to register the handler on. + * + * @return void + * @throws \TypeError If $promise is not an instance of \Amp\Promise or \React\Promise\PromiseInterface. + * + */ +function rethrow($promise) +{ + if (!$promise instanceof Promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } else { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + } + $promise->onResolve(static function ($exception) { + if ($exception) { + throw $exception; + } + }); +} +/** + * Runs the event loop until the promise is resolved. Should not be called within a running event loop. + * + * Use this function only in synchronous contexts to wait for an asynchronous operation. Use coroutines and yield to + * await promise resolution in a fully asynchronous application instead. + * + * @template TPromise + * @template T as Promise|ReactPromise + * + * @param Promise|ReactPromise $promise Promise to wait for. + * + * @return mixed Promise success value. + * + * @psalm-param T $promise + * @psalm-return (T is Promise ? TPromise : mixed) + * + * @throws \TypeError If $promise is not an instance of \Amp\Promise or \React\Promise\PromiseInterface. + * @throws \Error If the event loop stopped without the $promise being resolved. + * @throws \Throwable Promise failure reason. + */ +function wait($promise) +{ + if (!$promise instanceof Promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } else { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + } + $resolved = \false; + try { + Loop::run(function () use(&$resolved, &$value, &$exception, $promise) { + $promise->onResolve(function ($e, $v) use(&$resolved, &$value, &$exception) { + Loop::stop(); + $resolved = \true; + $exception = $e; + $value = $v; + }); + }); + } catch (\Exception $throwable) { + throw new \Error("Loop exceptionally stopped without resolving the promise", 0, $throwable); + } catch (\Error $throwable) { + throw new \Error("Loop exceptionally stopped without resolving the promise", 0, $throwable); + } + if (!$resolved) { + throw new \Error("Loop stopped without resolving the promise"); + } + if ($exception) { + throw $exception; + } + return $value; +} +/** + * Creates an artificial timeout for any `Promise`. + * + * If the timeout expires before the promise is resolved, the returned promise fails with an instance of + * `Amp\TimeoutException`. + * + * @template TReturn + * + * @param Promise|ReactPromise $promise Promise to which the timeout is applied. + * @param int $timeout Timeout in milliseconds. + * + * @return Promise + * + * @throws \TypeError If $promise is not an instance of \Amp\Promise or \React\Promise\PromiseInterface. + */ +function timeout($promise, $timeout) +{ + if (!\is_int($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($timeout) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (int) $timeout; + } + } + if (!$promise instanceof Promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } else { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + } + $deferred = new Deferred(); + $watcher = Loop::delay($timeout, static function () use(&$deferred) { + $temp = $deferred; + // prevent double resolve + $deferred = null; + $temp->fail(new TimeoutException()); + }); + Loop::unreference($watcher); + $promise->onResolve(function () use(&$deferred, $promise, $watcher) { + if ($deferred !== null) { + Loop::cancel($watcher); + $deferred->resolve($promise); + } + }); + $phabelReturn = $deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Creates an artificial timeout for any `Promise`. + * + * If the promise is resolved before the timeout expires, the result is returned + * + * If the timeout expires before the promise is resolved, a default value is returned + * + * @template TReturn + * + * @param Promise|ReactPromise $promise Promise to which the timeout is applied. + * @param int $timeout Timeout in milliseconds. + * @param TReturn $default + * + * @return Promise + * + * @throws \TypeError If $promise is not an instance of \Amp\Promise or \React\Promise\PromiseInterface. + */ +function timeoutWithDefault($promise, $timeout, $default = null) +{ + if (!\is_int($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($timeout) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (int) $timeout; + } + } + $promise = timeout($promise, $timeout); + $phabelReturn = call(static function () use($promise, $default) { + try { + return (yield $promise); + } catch (TimeoutException $exception) { + return $default; + } + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Adapts any object with a done(callable $onFulfilled, callable $onRejected) or then(callable $onFulfilled, + * callable $onRejected) method to a promise usable by components depending on placeholders implementing + * \AsyncInterop\Promise. + * + * @param object $promise Object with a done() or then() method. + * + * @return Promise Promise resolved by the $thenable object. + * + * @throws \Error If the provided object does not have a then() method. + */ +function adapt($promise) +{ + if (!\is_object($promise)) { + throw new \Error("Object must be provided"); + } + $deferred = new Deferred(); + if (\method_exists($promise, 'done')) { + $promise->done([$deferred, 'resolve'], [$deferred, 'fail']); + } elseif (\method_exists($promise, 'then')) { + $promise->then([$deferred, 'resolve'], [$deferred, 'fail']); + } else { + throw new \Error("Object must have a 'then' or 'done' method"); + } + $phabelReturn = $deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Returns a promise that is resolved when all promises are resolved. The returned promise will not fail. + * Returned promise succeeds with a two-item array delineating successful and failed promise results, + * with keys identical and corresponding to the original given array. + * + * This function is the same as some() with the notable exception that it will never fail even + * if all promises in the array resolve unsuccessfully. + * + * @template TValue + * + * @param Promise[]|ReactPromise[] $promises + * + * @return Promise + * + * @throws \Error If a non-Promise is in the array. + */ +function any(array $promises) +{ + $phabelReturn = some($promises, 0); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Returns a promise that succeeds when all promises succeed, and fails if any promise fails. Returned + * promise succeeds with an array of values used to succeed each contained promise, with keys corresponding to + * the array of promises. + * + * @param Promise[]|ReactPromise[] $promises Array of only promises. + * + * @return Promise + * + * @throws \Error If a non-Promise is in the array. + * + * @template TValue + * + * @psalm-param array|ReactPromise> $promises + * @psalm-assert array|ReactPromise> $promises $promises + * @psalm-return Promise> + */ +function all(array $promises) +{ + if (empty($promises)) { + $phabelReturn = new Success([]); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $deferred = new Deferred(); + $result = $deferred->promise(); + $pending = \count($promises); + $values = []; + foreach ($promises as $key => $promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } elseif (!$promise instanceof Promise) { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + $values[$key] = null; + // add entry to array to preserve order + $promise->onResolve(function ($exception, $value) use(&$deferred, &$values, &$pending, $key) { + if ($pending === 0) { + return; + } + if ($exception) { + $pending = 0; + $deferred->fail($exception); + $deferred = null; + return; + } + $values[$key] = $value; + if (0 === --$pending) { + $deferred->resolve($values); + } + }); + } + $phabelReturn = $result; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Returns a promise that succeeds when the first promise succeeds, and fails only if all promises fail. + * + * @template TValue + * + * @param Promise[]|ReactPromise[] $promises Array of only promises. + * + * @return Promise + * + * @throws \Error If the array is empty or a non-Promise is in the array. + */ +function first(array $promises) +{ + if (empty($promises)) { + throw new \Error("No promises provided"); + } + $deferred = new Deferred(); + $result = $deferred->promise(); + $pending = \count($promises); + $exceptions = []; + foreach ($promises as $key => $promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } elseif (!$promise instanceof Promise) { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + $exceptions[$key] = null; + // add entry to array to preserve order + $promise->onResolve(function ($error, $value) use(&$deferred, &$exceptions, &$pending, $key) { + if ($pending === 0) { + return; + } + if (!$error) { + $pending = 0; + $deferred->resolve($value); + $deferred = null; + return; + } + $exceptions[$key] = $error; + if (0 === --$pending) { + $deferred->fail(new MultiReasonException($exceptions)); + } + }); + } + $phabelReturn = $result; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Resolves with a two-item array delineating successful and failed Promise results. + * + * The returned promise will only fail if the given number of required promises fail. + * + * @template TValue + * + * @param Promise[]|ReactPromise[] $promises Array of only promises. + * @param int $required Number of promises that must succeed for the + * returned promise to succeed. + * + * @return Promise + * + * @throws \Error If a non-Promise is in the array. + */ +function some(array $promises, $required = 1) +{ + if (!\is_int($required)) { + if (!(\is_bool($required) || \is_numeric($required))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($required) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($required) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $required = (int) $required; + } + } + if ($required < 0) { + throw new \Error("Number of promises required must be non-negative"); + } + $pending = \count($promises); + if ($required > $pending) { + throw new \Error("Too few promises provided"); + } + if (empty($promises)) { + $phabelReturn = new Success([[], []]); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $deferred = new Deferred(); + $result = $deferred->promise(); + $values = []; + $exceptions = []; + foreach ($promises as $key => $promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } elseif (!$promise instanceof Promise) { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + $values[$key] = $exceptions[$key] = null; + // add entry to arrays to preserve order + $promise->onResolve(static function ($exception, $value) use(&$values, &$exceptions, &$pending, $key, $required, $deferred) { + if ($exception) { + $exceptions[$key] = $exception; + unset($values[$key]); + } else { + $values[$key] = $value; + unset($exceptions[$key]); + } + if (0 === --$pending) { + if (\count($values) < $required) { + $deferred->fail(new MultiReasonException($exceptions)); + } else { + $deferred->resolve([$exceptions, $values]); + } + } + }); + } + $phabelReturn = $result; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Wraps a promise into another promise, altering the exception or result. + * + * @param Promise|ReactPromise $promise + * @param callable $callback + * + * @return Promise + */ +function wrap($promise, callable $callback) +{ + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } elseif (!$promise instanceof Promise) { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + $deferred = new Deferred(); + $promise->onResolve(static function (\Throwable $exception = null, $result) use($deferred, $callback) { + try { + $result = $callback($exception, $result); + } catch (\Exception $exception) { + $deferred->fail($exception); + return; + } catch (\Error $exception) { + $deferred->fail($exception); + return; + } + $deferred->resolve($result); + }); + $phabelReturn = $deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +namespace Phabel\Amp\Iterator; + +use Phabel\Amp\Delayed; +use Phabel\Amp\Emitter; +use Phabel\Amp\Iterator; +use Phabel\Amp\Producer; +use Phabel\Amp\Promise; +use function Phabel\Amp\call; +use function Phabel\Amp\coroutine; +use function Phabel\Amp\Internal\createTypeError; +/** + * Creates an iterator from the given iterable, emitting the each value. The iterable may contain promises. If any + * promise fails, the iterator will fail with the same reason. + * + * @param array|\Traversable $iterable Elements to emit. + * @param int $delay Delay between element emissions in milliseconds. + * + * @return Iterator + * + * @throws \TypeError If the argument is not an array or instance of \Traversable. + */ +function fromIterable($iterable, $delay = 0) +{ + if (!\is_int($delay)) { + if (!(\is_bool($delay) || \is_numeric($delay))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($delay) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($delay) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $delay = (int) $delay; + } + } + if (!$iterable instanceof \Traversable && !\is_array($iterable)) { + throw createTypeError(["array", "Traversable"], $iterable); + } + if ($delay) { + $phabelReturn = new Producer(static function (callable $emit) use($iterable, $delay) { + foreach ($iterable as $value) { + (yield new Delayed($delay)); + (yield $emit($value)); + } + }); + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = new Producer(static function (callable $emit) use($iterable) { + foreach ($iterable as $value) { + (yield $emit($value)); + } + }); + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * @template TValue + * @template TReturn + * + * @param Iterator $iterator + * @param callable (TValue $value): TReturn $onEmit + * + * @return Iterator + */ +function map(Iterator $iterator, callable $onEmit) +{ + $phabelReturn = new Producer(static function (callable $emit) use($iterator, $onEmit) { + while ((yield $iterator->advance())) { + (yield $emit($onEmit($iterator->getCurrent()))); + } + }); + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * @template TValue + * + * @param Iterator $iterator + * @param callable(TValue $value):bool $filter + * + * @return Iterator + */ +function filter(Iterator $iterator, callable $filter) +{ + $phabelReturn = new Producer(static function (callable $emit) use($iterator, $filter) { + while ((yield $iterator->advance())) { + if ($filter($iterator->getCurrent())) { + (yield $emit($iterator->getCurrent())); + } + } + }); + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Creates an iterator that emits values emitted from any iterator in the array of iterators. + * + * @param Iterator[] $iterators + * + * @return Iterator + */ +function merge(array $iterators) +{ + $emitter = new Emitter(); + $result = $emitter->iterate(); + $coroutine = coroutine(static function (Iterator $iterator) use(&$emitter) { + while ((yield $iterator->advance()) && $emitter !== null) { + (yield $emitter->emit($iterator->getCurrent())); + } + }); + $coroutines = []; + foreach ($iterators as $iterator) { + if (!$iterator instanceof Iterator) { + throw createTypeError([Iterator::class], $iterator); + } + $coroutines[] = $coroutine($iterator); + } + Promise\all($coroutines)->onResolve(static function ($exception) use(&$emitter) { + if ($exception) { + $emitter->fail($exception); + $emitter = null; + } else { + $emitter->complete(); + } + }); + $phabelReturn = $result; + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Concatenates the given iterators into a single iterator, emitting values from a single iterator at a time. The + * prior iterator must complete before values are emitted from any subsequent iterators. Iterators are concatenated + * in the order given (iteration order of the array). + * + * @param Iterator[] $iterators + * + * @return Iterator + */ +function concat(array $iterators) +{ + foreach ($iterators as $iterator) { + if (!$iterator instanceof Iterator) { + throw createTypeError([Iterator::class], $iterator); + } + } + $emitter = new Emitter(); + $previous = []; + $promise = Promise\all($previous); + $coroutine = coroutine(static function (Iterator $iterator, callable $emit) { + while ((yield $iterator->advance())) { + (yield $emit($iterator->getCurrent())); + } + }); + foreach ($iterators as $iterator) { + $emit = coroutine(static function ($value) use($emitter, $promise) { + static $pending = \true, $failed = \false; + if ($failed) { + return; + } + if ($pending) { + try { + (yield $promise); + $pending = \false; + } catch (\Exception $exception) { + $failed = \true; + return; + // Prior iterator failed. + } catch (\Error $exception) { + $failed = \true; + return; + // Prior iterator failed. + } + } + (yield $emitter->emit($value)); + }); + $previous[] = $coroutine($iterator, $emit); + $promise = Promise\all($previous); + } + $promise->onResolve(static function ($exception) use($emitter) { + if ($exception) { + $emitter->fail($exception); + return; + } + $emitter->complete(); + }); + $phabelReturn = $emitter->iterate(); + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Discards all remaining items and returns the number of discarded items. + * + * @template TValue + * + * @param Iterator $iterator + * + * @return Promise + * + * @psalm-param Iterator $iterator + * @psalm-return Promise + */ +function discard(Iterator $iterator) +{ + $phabelReturn = call(static function () use($iterator) { + $count = 0; + while ((yield $iterator->advance())) { + $count++; + } + return $count; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Collects all items from an iterator into an array. + * + * @template TValue + * + * @param Iterator $iterator + * + * @psalm-param Iterator $iterator + * + * @return Promise + * @psalm-return Promise> + */ +function toArray(Iterator $iterator) +{ + $phabelReturn = call(static function () use($iterator) { + /** @psalm-var list $array */ + $array = []; + while ((yield $iterator->advance())) { + $array[] = $iterator->getCurrent(); + } + return $array; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} diff --git a/vendor-bundle/amphp/amp/psalm.examples.xml b/vendor-bundle/amphp/amp/psalm.examples.xml new file mode 100644 index 000000000..6871fdf92 --- /dev/null +++ b/vendor-bundle/amphp/amp/psalm.examples.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + diff --git a/vendor-bundle/amphp/amp/psalm.xml b/vendor-bundle/amphp/amp/psalm.xml new file mode 100644 index 000000000..ad5dd774f --- /dev/null +++ b/vendor-bundle/amphp/amp/psalm.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor-bundle/amphp/byte-stream/lib/Base64/Base64DecodingInputStream.php b/vendor-bundle/amphp/byte-stream/lib/Base64/Base64DecodingInputStream.php new file mode 100644 index 000000000..de30a1e9e --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/Base64/Base64DecodingInputStream.php @@ -0,0 +1,55 @@ +source = $source; + } + public function read() + { + $phabelReturn = call(function () { + if ($this->source === null) { + throw new StreamException('Failed to read stream chunk due to invalid base64 data'); + } + $chunk = (yield $this->source->read()); + if ($chunk === null) { + if ($this->buffer === null) { + return null; + } + $chunk = \base64_decode($this->buffer, \true); + if ($chunk === \false) { + $this->source = null; + $this->buffer = null; + throw new StreamException('Failed to read stream chunk due to invalid base64 data'); + } + $this->buffer = null; + return $chunk; + } + $this->buffer .= $chunk; + $length = \strlen($this->buffer); + $chunk = \base64_decode(\substr($this->buffer, 0, $length - $length % 4), \true); + if ($chunk === \false) { + $this->source = null; + $this->buffer = null; + throw new StreamException('Failed to read stream chunk due to invalid base64 data'); + } + $this->buffer = \substr($this->buffer, $length - $length % 4); + return $chunk; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/Base64/Base64DecodingOutputStream.php b/vendor-bundle/amphp/byte-stream/lib/Base64/Base64DecodingOutputStream.php new file mode 100644 index 000000000..8247439d1 --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/Base64/Base64DecodingOutputStream.php @@ -0,0 +1,73 @@ +destination = $destination; + } + public function write($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + $this->buffer .= $data; + $length = \strlen($this->buffer); + $chunk = \base64_decode(\substr($this->buffer, 0, $length - $length % 4), \true); + if ($chunk === \false) { + $phabelReturn = new Failure(new StreamException('Invalid base64 near offset ' . $this->offset)); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $this->offset += $length - $length % 4; + $this->buffer = \substr($this->buffer, $length - $length % 4); + $phabelReturn = $this->destination->write($chunk); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function end($finalData = "") + { + if (!\is_string($finalData)) { + if (!(\is_string($finalData) || \is_object($finalData) && \method_exists($finalData, '__toString') || (\is_bool($finalData) || \is_numeric($finalData)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($finalData) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($finalData) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $finalData = (string) $finalData; + } + } + $this->offset += \strlen($this->buffer); + $chunk = \base64_decode($this->buffer . $finalData, \true); + if ($chunk === \false) { + $phabelReturn = new Failure(new StreamException('Invalid base64 near offset ' . $this->offset)); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $this->buffer = ''; + $phabelReturn = $this->destination->end($chunk); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/Base64/Base64EncodingInputStream.php b/vendor-bundle/amphp/byte-stream/lib/Base64/Base64EncodingInputStream.php new file mode 100644 index 000000000..5cc87e895 --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/Base64/Base64EncodingInputStream.php @@ -0,0 +1,41 @@ +source = $source; + } + public function read() + { + $phabelReturn = call(function () { + $chunk = (yield $this->source->read()); + if ($chunk === null) { + if ($this->buffer === null) { + return null; + } + $chunk = \base64_encode($this->buffer); + $this->buffer = null; + return $chunk; + } + $this->buffer .= $chunk; + $length = \strlen($this->buffer); + $chunk = \base64_encode(\substr($this->buffer, 0, $length - $length % 3)); + $this->buffer = \substr($this->buffer, $length - $length % 3); + return $chunk; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/Base64/Base64EncodingOutputStream.php b/vendor-bundle/amphp/byte-stream/lib/Base64/Base64EncodingOutputStream.php new file mode 100644 index 000000000..18d5493ca --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/Base64/Base64EncodingOutputStream.php @@ -0,0 +1,53 @@ +destination = $destination; + } + public function write($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + $this->buffer .= $data; + $length = \strlen($this->buffer); + $chunk = \base64_encode(\substr($this->buffer, 0, $length - $length % 3)); + $this->buffer = \substr($this->buffer, $length - $length % 3); + $phabelReturn = $this->destination->write($chunk); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function end($finalData = "") + { + if (!\is_string($finalData)) { + if (!(\is_string($finalData) || \is_object($finalData) && \method_exists($finalData, '__toString') || (\is_bool($finalData) || \is_numeric($finalData)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($finalData) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($finalData) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $finalData = (string) $finalData; + } + } + $chunk = \base64_encode($this->buffer . $finalData); + $this->buffer = ''; + $phabelReturn = $this->destination->end($chunk); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/ClosedException.php b/vendor-bundle/amphp/byte-stream/lib/ClosedException.php new file mode 100644 index 000000000..1fb7adc4c --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/ClosedException.php @@ -0,0 +1,7 @@ +contents = $contents; + } + /** + * Reads data from the stream. + * + * @return Promise Resolves with the full contents or `null` if the stream has closed / already been consumed. + */ + public function read() + { + if ($this->contents === null) { + $phabelReturn = new Success(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $promise = new Success($this->contents); + $this->contents = null; + $phabelReturn = $promise; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/InputStream.php b/vendor-bundle/amphp/byte-stream/lib/InputStream.php new file mode 100644 index 000000000..a48caa3fe --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/InputStream.php @@ -0,0 +1,37 @@ +read()) !== null) { + * $buffer .= $chunk; + * } + * + * return $buffer; + * }); + * } + * ``` + */ +interface InputStream +{ + /** + * Reads data from the stream. + * + * @return Promise Resolves with a string when new data is available or `null` if the stream has closed. + * + * @psalm-return Promise + * + * @throws PendingReadError Thrown if another read operation is still pending. + */ + public function read(); +} diff --git a/vendor-bundle/amphp/byte-stream/lib/InputStreamChain.php b/vendor-bundle/amphp/byte-stream/lib/InputStreamChain.php new file mode 100644 index 000000000..12693a5db --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/InputStreamChain.php @@ -0,0 +1,52 @@ +streams = $streams; + } + /** @inheritDoc */ + public function read() + { + if ($this->reading) { + throw new PendingReadError(); + } + if (!$this->streams) { + $phabelReturn = new Success(null); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = call(function () { + $this->reading = \true; + try { + while ($this->streams) { + $chunk = (yield $this->streams[0]->read()); + if ($chunk === null) { + \array_shift($this->streams); + continue; + } + return $chunk; + } + return null; + } finally { + $this->reading = \false; + } + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/IteratorStream.php b/vendor-bundle/amphp/byte-stream/lib/IteratorStream.php new file mode 100644 index 000000000..b622bcbd2 --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/IteratorStream.php @@ -0,0 +1,63 @@ + */ + private $iterator; + /** @var \Throwable|null */ + private $exception; + /** @var bool */ + private $pending = \false; + /** + * @psam-param Iterator $iterator + */ + public function __construct(Iterator $iterator) + { + $this->iterator = $iterator; + } + /** @inheritdoc */ + public function read() + { + if ($this->exception) { + $phabelReturn = new Failure($this->exception); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->pending) { + throw new PendingReadError(); + } + $this->pending = \true; + /** @var Deferred $deferred */ + $deferred = new Deferred(); + $this->iterator->advance()->onResolve(function ($error, $hasNextElement) use($deferred) { + $this->pending = \false; + if ($error) { + $this->exception = $error; + $deferred->fail($error); + } elseif ($hasNextElement) { + $chunk = $this->iterator->getCurrent(); + if (!\is_string($chunk)) { + $this->exception = new StreamException(\sprintf("Unexpected iterator value of type '%s', expected string", \is_object($chunk) ? \get_class($chunk) : \gettype($chunk))); + $deferred->fail($this->exception); + return; + } + $deferred->resolve($chunk); + } else { + $deferred->resolve(); + } + }); + $phabelReturn = $deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/LineReader.php b/vendor-bundle/amphp/byte-stream/lib/LineReader.php new file mode 100644 index 000000000..34a053e31 --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/LineReader.php @@ -0,0 +1,80 @@ +source = $inputStream; + $this->delimiter = $delimiter === null ? "\n" : $delimiter; + $this->lineMode = $delimiter === null; + } + /** + * @return Promise + */ + public function readLine() + { + $phabelReturn = call(function () { + if (\false !== \strpos($this->buffer, $this->delimiter)) { + list($line, $this->buffer) = \explode($this->delimiter, $this->buffer, 2); + return $this->lineMode ? \rtrim($line, "\r") : $line; + } + while (null !== ($chunk = (yield $this->source->read()))) { + $this->buffer .= $chunk; + if (\false !== \strpos($this->buffer, $this->delimiter)) { + list($line, $this->buffer) = \explode($this->delimiter, $this->buffer, 2); + return $this->lineMode ? \rtrim($line, "\r") : $line; + } + } + if ($this->buffer === "") { + return null; + } + $line = $this->buffer; + $this->buffer = ""; + return $this->lineMode ? \rtrim($line, "\r") : $line; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getBuffer() + { + $phabelReturn = $this->buffer; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return void + */ + public function clearBuffer() + { + $this->buffer = ""; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/Message.php b/vendor-bundle/amphp/byte-stream/lib/Message.php new file mode 100644 index 000000000..fff91c97b --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/Message.php @@ -0,0 +1,171 @@ +read()) !== null) { + * // Immediately use $chunk, reducing memory consumption since the entire message is never buffered. + * } + * + * @deprecated Use Amp\ByteStream\Payload instead. + */ +class Message implements InputStream, Promise +{ + /** @var InputStream */ + private $source; + /** @var string */ + private $buffer = ""; + /** @var Deferred|null */ + private $pendingRead; + /** @var Coroutine|null */ + private $coroutine; + /** @var bool True if onResolve() has been called. */ + private $buffering = \false; + /** @var Deferred|null */ + private $backpressure; + /** @var bool True if the iterator has completed. */ + private $complete = \false; + /** @var \Throwable|null Used to fail future reads on failure. */ + private $error; + /** + * @param InputStream $source An iterator that only emits strings. + */ + public function __construct(InputStream $source) + { + $this->source = $source; + } + private function consume() + { + while (($chunk = (yield $this->source->read())) !== null) { + $buffer = $this->buffer .= $chunk; + if ($buffer === "") { + continue; + // Do not succeed reads with empty string. + } elseif ($this->pendingRead) { + $deferred = $this->pendingRead; + $this->pendingRead = null; + $this->buffer = ""; + $deferred->resolve($buffer); + $buffer = ""; + // Destroy last emitted chunk to free memory. + } elseif (!$this->buffering) { + $buffer = ""; + // Destroy last emitted chunk to free memory. + $this->backpressure = new Deferred(); + (yield $this->backpressure->promise()); + } + } + $this->complete = \true; + if ($this->pendingRead) { + $deferred = $this->pendingRead; + $this->pendingRead = null; + $deferred->resolve($this->buffer !== "" ? $this->buffer : null); + $this->buffer = ""; + } + return $this->buffer; + } + /** @inheritdoc */ + public final function read() + { + if ($this->pendingRead) { + throw new PendingReadError(); + } + if ($this->coroutine === null) { + $this->coroutine = new Coroutine($this->consume()); + $this->coroutine->onResolve(function ($error) { + if ($error) { + $this->error = $error; + } + if ($this->pendingRead) { + $deferred = $this->pendingRead; + $this->pendingRead = null; + $deferred->fail($error); + } + }); + } + if ($this->error) { + $phabelReturn = new Failure($this->error); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->buffer !== "") { + $buffer = $this->buffer; + $this->buffer = ""; + if ($this->backpressure) { + $backpressure = $this->backpressure; + $this->backpressure = null; + $backpressure->resolve(); + } + $phabelReturn = new Success($buffer); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->complete) { + $phabelReturn = new Success(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $this->pendingRead = new Deferred(); + $phabelReturn = $this->pendingRead->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** @inheritdoc */ + public final function onResolve(callable $onResolved) + { + $this->buffering = \true; + if ($this->coroutine === null) { + $this->coroutine = new Coroutine($this->consume()); + } + if ($this->backpressure) { + $backpressure = $this->backpressure; + $this->backpressure = null; + $backpressure->resolve(); + } + $this->coroutine->onResolve($onResolved); + } + /** + * Exposes the source input stream. + * + * This might be required to resolve a promise with an InputStream, because promises in Amp can't be resolved with + * other promises. + * + * @return InputStream + */ + public final function getInputStream() + { + $phabelReturn = $this->source; + if (!$phabelReturn instanceof InputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type InputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/OutputBuffer.php b/vendor-bundle/amphp/byte-stream/lib/OutputBuffer.php new file mode 100644 index 000000000..8e63443c5 --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/OutputBuffer.php @@ -0,0 +1,65 @@ +deferred = new Deferred(); + } + public function write($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + if ($this->closed) { + throw new ClosedException("The stream has already been closed."); + } + $this->contents .= $data; + $phabelReturn = new Success(\strlen($data)); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function end($finalData = "") + { + if (!\is_string($finalData)) { + if (!(\is_string($finalData) || \is_object($finalData) && \method_exists($finalData, '__toString') || (\is_bool($finalData) || \is_numeric($finalData)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($finalData) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($finalData) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $finalData = (string) $finalData; + } + } + if ($this->closed) { + throw new ClosedException("The stream has already been closed."); + } + $this->contents .= $finalData; + $this->closed = \true; + $this->deferred->resolve($this->contents); + $this->contents = ""; + $phabelReturn = new Success(\strlen($finalData)); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function onResolve(callable $onResolved) + { + $this->deferred->promise()->onResolve($onResolved); + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/OutputStream.php b/vendor-bundle/amphp/byte-stream/lib/OutputStream.php new file mode 100644 index 000000000..a1a4ac952 --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/OutputStream.php @@ -0,0 +1,35 @@ +stream = $stream; + } + public function __destruct() + { + if (!$this->promise) { + Promise\rethrow(new Coroutine($this->consume())); + } + } + private function consume() + { + try { + if ($this->lastRead && null === (yield $this->lastRead)) { + return; + } + while (null !== (yield $this->stream->read())) { + // Discard unread bytes from message. + } + } catch (\Exception $exception) { + // If exception is thrown here the connection closed anyway. + } catch (\Error $exception) { + // If exception is thrown here the connection closed anyway. + } + } + /** + * @inheritdoc + * + * @throws \Error If a buffered message was requested by calling buffer(). + */ + public final function read() + { + if ($this->promise) { + throw new \Error("Cannot stream message data once a buffered message has been requested"); + } + $phabelReturn = $this->lastRead = $this->stream->read(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Buffers the entire message and resolves the returned promise then. + * + * @return Promise Resolves with the entire message contents. + */ + public final function buffer() + { + if ($this->promise) { + $phabelReturn = $this->promise; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = $this->promise = call(function () { + $buffer = ''; + if ($this->lastRead && null === (yield $this->lastRead)) { + return $buffer; + } + while (null !== ($chunk = (yield $this->stream->read()))) { + $buffer .= $chunk; + } + return $buffer; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/PendingReadError.php b/vendor-bundle/amphp/byte-stream/lib/PendingReadError.php new file mode 100644 index 000000000..52fe75653 --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/PendingReadError.php @@ -0,0 +1,28 @@ +useSingleRead = $useSingleRead; + if (\strpos($meta["mode"], "r") === \false && \strpos($meta["mode"], "+") === \false) { + throw new \Error("Expected a readable stream"); + } + \stream_set_blocking($stream, \false); + \stream_set_read_buffer($stream, 0); + $this->resource =& $stream; + $this->chunkSize =& $chunkSize; + $deferred =& $this->deferred; + $readable =& $this->readable; + $this->watcher = Loop::onReadable($this->resource, static function ($watcher) use(&$deferred, &$readable, &$stream, &$chunkSize, $useSingleRead) { + if ($useSingleRead) { + $data = @\fread($stream, $chunkSize); + } else { + $data = @\stream_get_contents($stream, $chunkSize); + } + \assert($data !== \false, "Trying to read from a previously fclose()'d resource. Do NOT manually fclose() resources the loop still has a reference to."); + // Error suppression, because pthreads does crazy things with resources, + // which might be closed during two operations. + // See https://github.com/amphp/byte-stream/issues/32 + if ($data === '' && @\feof($stream)) { + $readable = \false; + $stream = null; + $data = null; + // Stream closed, resolve read with null. + Loop::cancel($watcher); + } else { + Loop::disable($watcher); + } + $temp = $deferred; + $deferred = null; + \assert($temp instanceof Deferred); + $temp->resolve($data); + }); + $this->immediateCallable = static function ($watcherId, $data) use(&$deferred) { + $temp = $deferred; + $deferred = null; + \assert($temp instanceof Deferred); + $temp->resolve($data); + }; + Loop::disable($this->watcher); + } + /** @inheritdoc */ + public function read() + { + if ($this->deferred !== null) { + throw new PendingReadError(); + } + if (!$this->readable) { + $phabelReturn = new Success(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + // Resolve with null on closed stream. + } + \assert($this->resource !== null); + // Attempt a direct read, because Windows suffers from slow I/O on STDIN otherwise. + if ($this->useSingleRead) { + $data = @\fread($this->resource, $this->chunkSize); + } else { + $data = @\stream_get_contents($this->resource, $this->chunkSize); + } + \assert($data !== \false, "Trying to read from a previously fclose()'d resource. Do NOT manually fclose() resources the loop still has a reference to."); + if ($data === '') { + // Error suppression, because pthreads does crazy things with resources, + // which might be closed during two operations. + // See https://github.com/amphp/byte-stream/issues/32 + if (@\feof($this->resource)) { + $this->readable = \false; + $this->resource = null; + Loop::cancel($this->watcher); + $phabelReturn = new Success(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + // Stream closed, resolve read with null. + } + $this->deferred = new Deferred(); + Loop::enable($this->watcher); + $phabelReturn = $this->deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // Prevent an immediate read → write loop from blocking everything + // See e.g. examples/benchmark-throughput.php + $this->deferred = new Deferred(); + $this->immediateWatcher = Loop::defer($this->immediateCallable, $data); + $phabelReturn = $this->deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Closes the stream forcefully. Multiple `close()` calls are ignored. + * + * @return void + */ + public function close() + { + if (\is_resource($this->resource)) { + // Error suppression, as resource might already be closed + $meta = @\stream_get_meta_data($this->resource); + if ($meta && \strpos($meta["mode"], "+") !== \false) { + @\stream_socket_shutdown($this->resource, \STREAM_SHUT_RD); + } else { + /** @psalm-suppress InvalidPropertyAssignmentValue */ + @\fclose($this->resource); + } + } + $this->free(); + } + /** + * Nulls reference to resource, marks stream unreadable, and succeeds any pending read with null. + * + * @return void + */ + private function free() + { + $this->readable = \false; + $this->resource = null; + if ($this->deferred !== null) { + $deferred = $this->deferred; + $this->deferred = null; + $deferred->resolve(); + } + Loop::cancel($this->watcher); + if ($this->immediateWatcher !== null) { + Loop::cancel($this->immediateWatcher); + } + } + /** + * @return resource|null The stream resource or null if the stream has closed. + */ + public function getResource() + { + return $this->resource; + } + /** + * @return void + */ + public function setChunkSize($chunkSize) + { + if (!\is_int($chunkSize)) { + if (!(\is_bool($chunkSize) || \is_numeric($chunkSize))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($chunkSize) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($chunkSize) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $chunkSize = (int) $chunkSize; + } + } + $this->chunkSize = $chunkSize; + } + /** + * References the read watcher, so the loop keeps running in case there's an active read. + * + * @return void + * + * @see Loop::reference() + */ + public function reference() + { + if (!$this->resource) { + throw new \Error("Resource has already been freed"); + } + Loop::reference($this->watcher); + } + /** + * Unreferences the read watcher, so the loop doesn't keep running even if there are active reads. + * + * @return void + * + * @see Loop::unreference() + */ + public function unreference() + { + if (!$this->resource) { + throw new \Error("Resource has already been freed"); + } + Loop::unreference($this->watcher); + } + public function __destruct() + { + if ($this->resource !== null) { + $this->free(); + } + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/ResourceOutputStream.php b/vendor-bundle/amphp/byte-stream/lib/ResourceOutputStream.php new file mode 100644 index 000000000..d6ccbe469 --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/ResourceOutputStream.php @@ -0,0 +1,356 @@ + */ + private $writes; + /** @var bool */ + private $writable = \true; + /** @var int|null */ + private $chunkSize; + /** + * @param resource $stream Stream resource. + * @param int|null $chunkSize Chunk size per `fwrite()` operation. + */ + public function __construct($stream, $chunkSize = null) + { + if (!\is_null($chunkSize)) { + if (!\is_int($chunkSize)) { + if (!(\is_bool($chunkSize) || \is_numeric($chunkSize))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($chunkSize) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($chunkSize) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $chunkSize = (int) $chunkSize; + } + } + } + if (!\is_resource($stream) || \get_resource_type($stream) !== 'stream') { + throw new \Error("Expected a valid stream"); + } + $meta = \stream_get_meta_data($stream); + if (\strpos($meta["mode"], "r") !== \false && \strpos($meta["mode"], "+") === \false) { + throw new \Error("Expected a writable stream"); + } + \stream_set_blocking($stream, \false); + \stream_set_write_buffer($stream, 0); + $this->resource = $stream; + $this->chunkSize =& $chunkSize; + $writes = $this->writes = new \SplQueue(); + $writable =& $this->writable; + $resource =& $this->resource; + $this->watcher = Loop::onWritable($stream, static function ($watcher, $stream) use($writes, &$chunkSize, &$writable, &$resource) { + static $emptyWrites = 0; + try { + while (!$writes->isEmpty()) { + /** @var Deferred $deferred */ + list($data, $previous, $deferred) = $writes->shift(); + $length = \strlen($data); + if ($length === 0) { + $deferred->resolve(0); + continue; + } + if (!\is_resource($stream) || ($metaData = @\stream_get_meta_data($stream)) && $metaData['eof']) { + throw new ClosedException("The stream was closed by the peer"); + } + // Error reporting suppressed since fwrite() emits E_WARNING if the pipe is broken or the buffer is full. + // Use conditional, because PHP doesn't like getting null passed + if ($chunkSize) { + $written = @\fwrite($stream, $data, $chunkSize); + } else { + $written = @\fwrite($stream, $data); + } + \assert( + $written !== \false || \PHP_VERSION_ID >= 70400, + // PHP 7.4+ returns false on EPIPE. + "Trying to write on a previously fclose()'d resource. Do NOT manually fclose() resources the still referenced in the loop." + ); + // PHP 7.4.0 and 7.4.1 may return false on EAGAIN. + if ($written === \false && \PHP_VERSION_ID >= 70402) { + $message = "Failed to write to stream"; + if ($error = \error_get_last()) { + $message .= \sprintf("; %s", $error["message"]); + } + throw new StreamException($message); + } + // Broken pipes between processes on macOS/FreeBSD do not detect EOF properly. + if ($written === 0 || $written === \false) { + if ($emptyWrites++ > self::MAX_CONSECUTIVE_EMPTY_WRITES) { + $message = "Failed to write to stream after multiple attempts"; + if ($error = \error_get_last()) { + $message .= \sprintf("; %s", $error["message"]); + } + throw new StreamException($message); + } + $writes->unshift([$data, $previous, $deferred]); + return; + } + $emptyWrites = 0; + if ($length > $written) { + $data = \substr($data, $written); + $writes->unshift([$data, $written + $previous, $deferred]); + return; + } + $deferred->resolve($written + $previous); + } + } catch (\Exception $exception) { + $resource = null; + $writable = \false; + /** @psalm-suppress PossiblyUndefinedVariable */ + $deferred->fail($exception); + while (!$writes->isEmpty()) { + list(, , $deferred) = $writes->shift(); + $deferred->fail($exception); + } + Loop::cancel($watcher); + } catch (\Error $exception) { + $resource = null; + $writable = \false; + /** @psalm-suppress PossiblyUndefinedVariable */ + $deferred->fail($exception); + while (!$writes->isEmpty()) { + list(, , $deferred) = $writes->shift(); + $deferred->fail($exception); + } + Loop::cancel($watcher); + } finally { + if ($writes->isEmpty()) { + Loop::disable($watcher); + } + } + }); + Loop::disable($this->watcher); + } + /** + * Writes data to the stream. + * + * @param string $data Bytes to write. + * + * @return Promise Succeeds once the data has been successfully written to the stream. + * + * @throws ClosedException If the stream has already been closed. + */ + public function write($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + $phabelReturn = $this->send($data, \false); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Closes the stream after all pending writes have been completed. Optionally writes a final data chunk before. + * + * @param string $finalData Bytes to write. + * + * @return Promise Succeeds once the data has been successfully written to the stream. + * + * @throws ClosedException If the stream has already been closed. + */ + public function end($finalData = "") + { + if (!\is_string($finalData)) { + if (!(\is_string($finalData) || \is_object($finalData) && \method_exists($finalData, '__toString') || (\is_bool($finalData) || \is_numeric($finalData)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($finalData) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($finalData) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $finalData = (string) $finalData; + } + } + $phabelReturn = $this->send($finalData, \true); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function send($data, $end = \false) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + if (!\is_bool($end)) { + if (!(\is_bool($end) || \is_numeric($end) || \is_string($end))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($end) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($end) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $end = (bool) $end; + } + } + if (!$this->writable) { + $phabelReturn = new Failure(new ClosedException("The stream is not writable")); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $length = \strlen($data); + $written = 0; + if ($end) { + $this->writable = \false; + } + if ($this->writes->isEmpty()) { + if ($length === 0) { + if ($end) { + $this->close(); + } + $phabelReturn = new Success(0); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (!\is_resource($this->resource) || ($metaData = @\stream_get_meta_data($this->resource)) && $metaData['eof']) { + $phabelReturn = new Failure(new ClosedException("The stream was closed by the peer")); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // Error reporting suppressed since fwrite() emits E_WARNING if the pipe is broken or the buffer is full. + // Use conditional, because PHP doesn't like getting null passed. + if ($this->chunkSize) { + $written = @\fwrite($this->resource, $data, $this->chunkSize); + } else { + $written = @\fwrite($this->resource, $data); + } + \assert( + $written !== \false || \PHP_VERSION_ID >= 70400, + // PHP 7.4+ returns false on EPIPE. + "Trying to write on a previously fclose()'d resource. Do NOT manually fclose() resources the still referenced in the loop." + ); + // PHP 7.4.0 and 7.4.1 may return false on EAGAIN. + if ($written === \false && \PHP_VERSION_ID >= 70402) { + $message = "Failed to write to stream"; + if ($error = \error_get_last()) { + $message .= \sprintf("; %s", $error["message"]); + } + $phabelReturn = new Failure(new StreamException($message)); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $written = (int) $written; + // Cast potential false to 0. + if ($length === $written) { + if ($end) { + $this->close(); + } + $phabelReturn = new Success($written); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $data = \substr($data, $written); + } + $deferred = new Deferred(); + if ($length - $written > self::LARGE_CHUNK_SIZE) { + $chunks = \str_split($data, self::LARGE_CHUNK_SIZE); + $data = \array_pop($chunks); + foreach ($chunks as $chunk) { + $this->writes->push([$chunk, $written, new Deferred()]); + $written += self::LARGE_CHUNK_SIZE; + } + } + $this->writes->push([$data, $written, $deferred]); + Loop::enable($this->watcher); + $promise = $deferred->promise(); + if ($end) { + $promise->onResolve([$this, "close"]); + } + $phabelReturn = $promise; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Closes the stream forcefully. Multiple `close()` calls are ignored. + * + * @return void + */ + public function close() + { + if (\is_resource($this->resource)) { + // Error suppression, as resource might already be closed + $meta = @\stream_get_meta_data($this->resource); + if ($meta && \strpos($meta["mode"], "+") !== \false) { + @\stream_socket_shutdown($this->resource, \STREAM_SHUT_WR); + } else { + /** @psalm-suppress InvalidPropertyAssignmentValue psalm reports this as closed-resource */ + @\fclose($this->resource); + } + } + $this->free(); + } + /** + * Nulls reference to resource, marks stream unwritable, and fails any pending write. + * + * @return void + */ + private function free() + { + $this->resource = null; + $this->writable = \false; + if (!$this->writes->isEmpty()) { + $exception = new ClosedException("The socket was closed before writing completed"); + do { + /** @var Deferred $deferred */ + list(, , $deferred) = $this->writes->shift(); + $deferred->fail($exception); + } while (!$this->writes->isEmpty()); + } + Loop::cancel($this->watcher); + } + /** + * @return resource|null Stream resource or null if end() has been called or the stream closed. + */ + public function getResource() + { + return $this->resource; + } + /** + * @return void + */ + public function setChunkSize($chunkSize) + { + if (!\is_int($chunkSize)) { + if (!(\is_bool($chunkSize) || \is_numeric($chunkSize))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($chunkSize) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($chunkSize) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $chunkSize = (int) $chunkSize; + } + } + $this->chunkSize = $chunkSize; + } + public function __destruct() + { + if ($this->resource !== null) { + $this->free(); + } + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/StreamException.php b/vendor-bundle/amphp/byte-stream/lib/StreamException.php new file mode 100644 index 000000000..204e5ad6a --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/StreamException.php @@ -0,0 +1,7 @@ +source = $source; + $this->encoding = $encoding; + $this->options = $options; + $this->resource = @\inflate_init($encoding, $options); + if ($this->resource === \false) { + throw new StreamException("Failed initializing deflate context"); + } + } + /** @inheritdoc */ + public function read() + { + $phabelReturn = call(function () { + if ($this->resource === null) { + return null; + } + \assert($this->source !== null); + $data = (yield $this->source->read()); + // Needs a double guard, as stream might have been closed while reading + /** @psalm-suppress ParadoxicalCondition */ + if ($this->resource === null) { + return null; + } + if ($data === null) { + $decompressed = @\inflate_add($this->resource, "", \ZLIB_FINISH); + if ($decompressed === \false) { + throw new StreamException("Failed adding data to deflate context"); + } + $this->close(); + return $decompressed; + } + $decompressed = @\inflate_add($this->resource, $data, \ZLIB_SYNC_FLUSH); + if ($decompressed === \false) { + throw new StreamException("Failed adding data to deflate context"); + } + return $decompressed; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @internal + * @return void + */ + private function close() + { + $this->resource = null; + $this->source = null; + } + /** + * Gets the used compression encoding. + * + * @return int Encoding specified on construction time. + */ + public function getEncoding() + { + $phabelReturn = $this->encoding; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the used compression options. + * + * @return array Options array passed on construction time. + */ + public function getOptions() + { + $phabelReturn = $this->options; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/ZlibOutputStream.php b/vendor-bundle/amphp/byte-stream/lib/ZlibOutputStream.php new file mode 100644 index 000000000..856455e70 --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/ZlibOutputStream.php @@ -0,0 +1,142 @@ +destination = $destination; + $this->encoding = $encoding; + $this->options = $options; + $this->resource = @\deflate_init($encoding, $options); + if ($this->resource === \false) { + throw new StreamException("Failed initializing deflate context"); + } + } + /** @inheritdoc */ + public function write($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + if ($this->resource === null) { + throw new ClosedException("The stream has already been closed"); + } + \assert($this->destination !== null); + $compressed = \deflate_add($this->resource, $data, \ZLIB_SYNC_FLUSH); + if ($compressed === \false) { + throw new StreamException("Failed adding data to deflate context"); + } + $promise = $this->destination->write($compressed); + $promise->onResolve(function ($error) { + if ($error) { + $this->close(); + } + }); + $phabelReturn = $promise; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** @inheritdoc */ + public function end($finalData = "") + { + if (!\is_string($finalData)) { + if (!(\is_string($finalData) || \is_object($finalData) && \method_exists($finalData, '__toString') || (\is_bool($finalData) || \is_numeric($finalData)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($finalData) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($finalData) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $finalData = (string) $finalData; + } + } + if ($this->resource === null) { + throw new ClosedException("The stream has already been closed"); + } + \assert($this->destination !== null); + $compressed = \deflate_add($this->resource, $finalData, \ZLIB_FINISH); + if ($compressed === \false) { + throw new StreamException("Failed adding data to deflate context"); + } + $promise = $this->destination->end($compressed); + $promise->onResolve(function () { + $this->close(); + }); + $phabelReturn = $promise; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @internal + * @return void + */ + private function close() + { + $this->resource = null; + $this->destination = null; + } + /** + * Gets the used compression encoding. + * + * @return int Encoding specified on construction time. + */ + public function getEncoding() + { + $phabelReturn = $this->encoding; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the used compression options. + * + * @return array Options array passed on construction time. + */ + public function getOptions() + { + $phabelReturn = $this->options; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/byte-stream/lib/functions.php b/vendor-bundle/amphp/byte-stream/lib/functions.php new file mode 100644 index 000000000..dfb874fdd --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/lib/functions.php @@ -0,0 +1,207 @@ +read())) !== null) { + $written += \strlen($chunk); + $writePromise = $destination->write($chunk); + $chunk = null; + // free memory + (yield $writePromise); + } + return $written; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * @param \Amp\ByteStream\InputStream $source + * + * @return \Amp\Promise + */ +function buffer(InputStream $source) +{ + $phabelReturn = call(function () use($source) { + $buffer = ""; + while (($chunk = (yield $source->read())) !== null) { + $buffer .= $chunk; + $chunk = null; + // free memory + } + return $buffer; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * The php://input input buffer stream for the process associated with the currently active event loop. + * + * @return ResourceInputStream + */ +function getInputBufferStream() +{ + static $key = InputStream::class . '\\input'; + $stream = Loop::getState($key); + if (!$stream) { + $stream = new ResourceInputStream(\fopen('php://input', 'rb')); + Loop::setState($key, $stream); + } + $phabelReturn = $stream; + if (!$phabelReturn instanceof ResourceInputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ResourceInputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * The php://output output buffer stream for the process associated with the currently active event loop. + * + * @return ResourceOutputStream + */ +function getOutputBufferStream() +{ + static $key = OutputStream::class . '\\output'; + $stream = Loop::getState($key); + if (!$stream) { + $stream = new ResourceOutputStream(\fopen('php://output', 'wb')); + Loop::setState($key, $stream); + } + $phabelReturn = $stream; + if (!$phabelReturn instanceof ResourceOutputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ResourceOutputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * The STDIN stream for the process associated with the currently active event loop. + * + * @return ResourceInputStream + */ +function getStdin() +{ + static $key = InputStream::class . '\\stdin'; + $stream = Loop::getState($key); + if (!$stream) { + $stream = new ResourceInputStream(\STDIN); + Loop::setState($key, $stream); + } + $phabelReturn = $stream; + if (!$phabelReturn instanceof ResourceInputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ResourceInputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * The STDOUT stream for the process associated with the currently active event loop. + * + * @return ResourceOutputStream + */ +function getStdout() +{ + static $key = OutputStream::class . '\\stdout'; + $stream = Loop::getState($key); + if (!$stream) { + $stream = new ResourceOutputStream(\STDOUT); + Loop::setState($key, $stream); + } + $phabelReturn = $stream; + if (!$phabelReturn instanceof ResourceOutputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ResourceOutputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * The STDERR stream for the process associated with the currently active event loop. + * + * @return ResourceOutputStream + */ +function getStderr() +{ + static $key = OutputStream::class . '\\stderr'; + $stream = Loop::getState($key); + if (!$stream) { + $stream = new ResourceOutputStream(\STDERR); + Loop::setState($key, $stream); + } + $phabelReturn = $stream; + if (!$phabelReturn instanceof ResourceOutputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ResourceOutputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +function parseLineDelimitedJson(InputStream $stream, $assoc = \false, $depth = 512, $options = 0) +{ + if (!\is_bool($assoc)) { + if (!(\is_bool($assoc) || \is_numeric($assoc) || \is_string($assoc))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($assoc) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($assoc) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $assoc = (bool) $assoc; + } + } + if (!\is_int($depth)) { + if (!(\is_bool($depth) || \is_numeric($depth))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($depth) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($depth) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $depth = (int) $depth; + } + } + if (!\is_int($options)) { + if (!(\is_bool($options) || \is_numeric($options))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($options) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($options) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $options = (int) $options; + } + } + $phabelReturn = new Producer(static function (callable $emit) use($stream, $assoc, $depth, $options) { + $reader = new LineReader($stream); + while (null !== ($line = (yield $reader->readLine()))) { + $line = \trim($line); + if ($line === '') { + continue; + } + /** @noinspection PhpComposerExtensionStubsInspection */ + $data = \json_decode($line, $assoc, $depth, $options); + /** @noinspection PhpComposerExtensionStubsInspection */ + $error = \json_last_error(); + /** @noinspection PhpComposerExtensionStubsInspection */ + if ($error !== \JSON_ERROR_NONE) { + /** @noinspection PhpComposerExtensionStubsInspection */ + throw new StreamException('Failed to parse JSON: ' . \json_last_error_msg(), $error); + } + (yield $emit($data)); + } + }); + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} diff --git a/vendor-bundle/amphp/byte-stream/psalm.xml b/vendor-bundle/amphp/byte-stream/psalm.xml new file mode 100644 index 000000000..9684f55df --- /dev/null +++ b/vendor-bundle/amphp/byte-stream/psalm.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor-bundle/amphp/parallel/Vagrantfile b/vendor-bundle/amphp/parallel/Vagrantfile new file mode 100644 index 000000000..3fd791ee4 --- /dev/null +++ b/vendor-bundle/amphp/parallel/Vagrantfile @@ -0,0 +1,17 @@ +Vagrant.configure(2) do |config| + config.vm.box = "rasmus/php7dev" + + config.vm.provision "shell", inline: <<-SHELL + newphp 7 zts + + # Install pthreads from master + git clone https://github.com/krakjoe/pthreads + cd pthreads + git checkout master + phpize + ./configure + make + sudo make install + echo 'extension=pthreads.so' >> `php -i | grep php-cli.ini | awk '{print $5}'` + SHELL +end diff --git a/vendor-bundle/amphp/parallel/appveyor.yml b/vendor-bundle/amphp/parallel/appveyor.yml new file mode 100644 index 000000000..65ee88fe2 --- /dev/null +++ b/vendor-bundle/amphp/parallel/appveyor.yml @@ -0,0 +1,41 @@ +build: false +shallow_clone: false + +platform: + - x86 + - x64 + +clone_folder: c:\Phabel\projects\amphp + +cache: + - c:\Phabel\tools\php73 -> appveyor.yml + +init: + - SET PATH=C:\Program Phabel\Files\OpenSSL;c:\Phabel\tools\php73;%PATH% + - SET COMPOSER_NO_INTERACTION=1 + - SET PHP=1 + - SET ANSICON=121x90 (121x90) + +install: + - IF EXIST c:\Phabel\tools\php73 (SET PHP=0) + - IF %PHP%==1 sc config wuauserv start= auto + - IF %PHP%==1 net start wuauserv + - IF %PHP%==1 cinst -y OpenSSL.Light + - IF %PHP%==1 cinst -y php + - cd c:\Phabel\tools\php73 + - IF %PHP%==1 copy php.ini-production php.ini /Y + - IF %PHP%==1 echo date.timezone="UTC" >> php.ini + - IF %PHP%==1 echo extension_dir=ext >> php.ini + - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini + - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini + - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini + - cd c:\Phabel\projects\amphp + - appveyor DownloadFile https://getcomposer.org/composer.phar + - php composer.phar install --prefer-dist --no-progress + +test_script: + - cd c:\Phabel\projects\amphp + - phpdbg -qrr vendor/phpunit/phpunit/phpunit --colors=always --coverage-text --coverage-clover build/logs/clover.xml + # Disable for now, because it can't be combined and files can't be shown on coveralls.io + # https://github.com/php-coveralls/php-coveralls/issues/234 + # - vendor/bin/coveralls -v diff --git a/vendor-bundle/amphp/parallel/docs/Gemfile b/vendor-bundle/amphp/parallel/docs/Gemfile new file mode 100644 index 000000000..ada6383b0 --- /dev/null +++ b/vendor-bundle/amphp/parallel/docs/Gemfile @@ -0,0 +1,5 @@ +source "https://rubygems.org" +gem "github-pages" +gem "kramdown" +gem "jekyll-github-metadata" +gem "jekyll-relative-links" diff --git a/vendor-bundle/amphp/parallel/docs/_config.yml b/vendor-bundle/amphp/parallel/docs/_config.yml new file mode 100644 index 000000000..cbdd980ae --- /dev/null +++ b/vendor-bundle/amphp/parallel/docs/_config.yml @@ -0,0 +1,29 @@ +kramdown: + input: GFM + toc_levels: 2..3 + +baseurl: "/parallel" +layouts_dir: ".shared/layout" +includes_dir: ".shared/includes" + +exclude: ["Gemfile", "Gemfile.lock", "README.md", "vendor"] +safe: true + +repository: amphp/parallel +gems: + - "jekyll-github-metadata" + - "jekyll-relative-links" + +defaults: + - scope: + path: "" + type: "pages" + values: + layout: "docs" + +shared_asset_path: "/parallel/asset" + +navigation: + - processes + - workers + - worker-pool diff --git a/vendor-bundle/amphp/parallel/lib/Context/Context.php b/vendor-bundle/amphp/parallel/lib/Context/Context.php new file mode 100644 index 000000000..4138c0aab --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/Context.php @@ -0,0 +1,30 @@ + Resolved once the context has started. + */ + public function start(); + /** + * Immediately kills the context. + */ + public function kill(); + /** + * @return \Amp\Promise Resolves with the returned from the context. + * + * @throws \Amp\Parallel\Context\ContextException If the context dies unexpectedly. + * @throws \Amp\Parallel\Sync\PanicError If the context throws an uncaught exception. + */ + public function join(); +} diff --git a/vendor-bundle/amphp/parallel/lib/Context/ContextException.php b/vendor-bundle/amphp/parallel/lib/Context/ContextException.php new file mode 100644 index 000000000..3638276e3 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/ContextException.php @@ -0,0 +1,7 @@ + + */ + public function run($script); +} diff --git a/vendor-bundle/amphp/parallel/lib/Context/DefaultContextFactory.php b/vendor-bundle/amphp/parallel/lib/Context/DefaultContextFactory.php new file mode 100644 index 000000000..59a727c64 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/DefaultContextFactory.php @@ -0,0 +1,48 @@ +events = new Events(); + $this->events->setBlocking(\false); + $channels =& $this->channels; + $this->watcher = Loop::repeat(self::EXIT_CHECK_FREQUENCY, static function () use(&$channels, $events) { + while ($event = $events->poll()) { + $id = (int) $event->source; + \assert(isset($channels[$id]), 'Channel for context ID not found'); + $channel = $channels[$id]; + unset($channels[$id]); + $channel->close(); + } + }); + Loop::disable($this->watcher); + Loop::unreference($this->watcher); + } + public function add($id, ChannelledSocket $channel, Future $future) + { + if (!\is_int($id)) { + if (!(\is_bool($id) || \is_numeric($id))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (int) $id; + } + } + $this->channels[$id] = $channel; + $this->events->addFuture((string) $id, $future); + Loop::enable($this->watcher); + } + public function remove($id) + { + if (!\is_int($id)) { + if (!(\is_bool($id) || \is_numeric($id))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (int) $id; + } + } + if (!isset($this->channels[$id])) { + return; + } + unset($this->channels[$id]); + $this->events->remove((string) $id); + if (empty($this->channels)) { + Loop::disable($this->watcher); + } + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Context/Internal/ProcessHub.php b/vendor-bundle/amphp/parallel/lib/Context/Internal/ProcessHub.php new file mode 100644 index 000000000..7143b0be6 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/Internal/ProcessHub.php @@ -0,0 +1,169 @@ +uri = "tcp://127.0.0.1:0"; + } else { + $suffix = \bin2hex(\random_bytes(10)); + $path = \sys_get_temp_dir() . "/amp-parallel-ipc-" . $suffix . ".sock"; + $this->uri = "unix://" . $path; + $this->toUnlink = $path; + } + $context = \stream_context_create(['socket' => ['backlog' => 128]]); + $this->server = \stream_socket_server($this->uri, $errno, $errstr, \STREAM_SERVER_BIND | \STREAM_SERVER_LISTEN, $context); + if (!$this->server) { + throw new \RuntimeException(\sprintf("Could not create IPC server: (Errno: %d) %s", $errno, $errstr)); + } + if ($isWindows) { + $name = \stream_socket_get_name($this->server, \false); + $port = \substr($name, \strrpos($name, ":") + 1); + $this->uri = "tcp://127.0.0.1:" . $port; + } + $keys =& $this->keys; + $acceptor =& $this->acceptor; + $this->watcher = Loop::onReadable($this->server, static function ($watcher, $server) use(&$keys, &$acceptor) { + if (!\is_string($watcher)) { + if (!(\is_string($watcher) || \is_object($watcher) && \method_exists($watcher, '__toString') || (\is_bool($watcher) || \is_numeric($watcher)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcher) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcher) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcher = (string) $watcher; + } + } + // Error reporting suppressed since stream_socket_accept() emits E_WARNING on client accept failure. + while ($client = @\stream_socket_accept($server, 0)) { + // Timeout of 0 to be non-blocking. + asyncCall(static function () use($client, &$keys, &$acceptor) { + $channel = new ChannelledSocket($client, $client); + try { + $received = (yield Promise\timeout($channel->receive(), self::KEY_RECEIVE_TIMEOUT)); + } catch (\Exception $exception) { + $channel->close(); + return; + // Ignore possible foreign connection attempt. + } catch (\Error $exception) { + $channel->close(); + return; + // Ignore possible foreign connection attempt. + } + if (!\is_string($received) || !isset($keys[$received])) { + $channel->close(); + return; + // Ignore possible foreign connection attempt. + } + $pid = $keys[$received]; + $deferred = $acceptor[$pid]; + unset($acceptor[$pid], $keys[$received]); + $deferred->resolve($channel); + }); + } + }); + Loop::disable($this->watcher); + } + public function __destruct() + { + Loop::cancel($this->watcher); + \fclose($this->server); + if ($this->toUnlink !== null) { + @\unlink($this->toUnlink); + } + } + public function getUri() + { + $phabelReturn = $this->uri; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function generateKey($pid, $length) + { + if (!\is_int($pid)) { + if (!(\is_bool($pid) || \is_numeric($pid))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pid) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pid) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pid = (int) $pid; + } + } + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + $key = \random_bytes($length); + $this->keys[$key] = $pid; + $phabelReturn = $key; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function accept($pid) + { + if (!\is_int($pid)) { + if (!(\is_bool($pid) || \is_numeric($pid))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pid) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pid) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pid = (int) $pid; + } + } + $phabelReturn = call(function () use($pid) { + $this->acceptor[$pid] = new Deferred(); + Loop::enable($this->watcher); + try { + $channel = (yield Promise\timeout($this->acceptor[$pid]->promise(), self::PROCESS_START_TIMEOUT)); + } catch (TimeoutException $exception) { + $key = \array_search($pid, $this->keys, \true); + \assert(\is_string($key), "Key for {$pid} not found"); + unset($this->acceptor[$pid], $this->keys[$key]); + throw new ContextException("Starting the process timed out", 0, $exception); + } finally { + if (empty($this->acceptor)) { + Loop::disable($this->watcher); + } + } + return $channel; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Context/Internal/Thread.php b/vendor-bundle/amphp/parallel/lib/Context/Internal/Thread.php new file mode 100644 index 000000000..d36e627eb --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/Internal/Thread.php @@ -0,0 +1,147 @@ +id = $id; + $this->function = $function; + $this->args = $args; + $this->socket = $socket; + } + /** + * Runs the thread code and the initialized function. + * + * @codeCoverageIgnore Only executed in thread. + */ + public function run() + { + \define("AMP_CONTEXT", "thread"); + \define("AMP_CONTEXT_ID", $this->id); + $phabel_5d556a592ce8c6c7 = \Phabel\Plugin\NestedExpressionFixer::returnMe(static function () { + $paths = [\dirname(__DIR__, 3) . \DIRECTORY_SEPARATOR . "vendor" . \DIRECTORY_SEPARATOR . "autoload.php", \dirname(__DIR__, 5) . \DIRECTORY_SEPARATOR . "autoload.php"]; + foreach ($paths as $path) { + if (\file_exists($path)) { + $autoloadPath = $path; + break; + } + } + if (!isset($autoloadPath)) { + throw new \Error("Could not locate autoload.php"); + } + require $autoloadPath; + })->bindTo(null, null); + /* First thing we need to do is re-initialize the class autoloader. If + * we don't do this first, any object of a class that was loaded after + * the thread started will just be garbage data and unserializable + * values (like resources) will be lost. This happens even with + * thread-safe objects. + */ + // Protect scope by using an unbound closure (protects static access as well). + $phabel_5d556a592ce8c6c7(); + // At this point, the thread environment has been prepared so begin using the thread. + if ($this->killed) { + return; + // Thread killed while requiring autoloader, simply exit. + } + Loop::run(function () { + $watcher = Loop::repeat(self::KILL_CHECK_FREQUENCY, function () { + if ($this->killed) { + Loop::stop(); + } + }); + Loop::unreference($watcher); + try { + $channel = new ChannelledSocket($this->socket, $this->socket); + yield from $this->execute($channel); + } catch (\Exception $exception) { + return; + // Parent context exited or destroyed thread, no need to continue. + } catch (\Error $exception) { + return; + // Parent context exited or destroyed thread, no need to continue. + } finally { + Loop::cancel($watcher); + } + }); + } + /** + * Sets a local variable to true so the running event loop can check for a kill signal. + */ + public function kill() + { + return $this->killed = \true; + } + /** + * @param \Amp\Parallel\Sync\Channel $channel + * + * @return \Generator + * + * @codeCoverageIgnore Only executed in thread. + */ + private function execute(Channel $channel) + { + try { + $result = new ExitSuccess((yield call($this->function, $channel, ...$this->args))); + } catch (\Exception $exception) { + $result = new ExitFailure($exception); + } catch (\Error $exception) { + $result = new ExitFailure($exception); + } + if ($this->killed) { + return; + // Parent is not listening for a result. + } + // Attempt to return the result. + try { + try { + (yield $channel->send($result)); + } catch (SerializationException $exception) { + // Serializing the result failed. Send the reason why. + (yield $channel->send(new ExitFailure($exception))); + } + } catch (ChannelException $exception) { + // The result was not sendable! The parent context must have died or killed the context. + } + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Context/Internal/process-runner.php b/vendor-bundle/amphp/parallel/lib/Context/Internal/process-runner.php new file mode 100644 index 000000000..021a42ef2 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/Internal/process-runner.php @@ -0,0 +1,116 @@ +send($key)); + } catch (\Exception $exception) { + \trigger_error("Could not send key to parent", \E_USER_ERROR); + exit(1); + } catch (\Error $exception) { + \trigger_error("Could not send key to parent", \E_USER_ERROR); + exit(1); + } + try { + if (!isset($argv[0])) { + throw new \Error("No script path given"); + } + if (!\is_file($argv[0])) { + throw new \Error(\sprintf("No script found at '%s' (be sure to provide the full path to the script)", $argv[0])); + } + try { + $phabel_98cd3053bed8de2a = function () use($argc, $argv) { + $phabelReturn = (require $argv[0]); + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // Using $argc so it is available to the required script. + return $phabelReturn; + }; + // Protect current scope by requiring script within another function. + $callable = $phabel_98cd3053bed8de2a(); + } catch (\TypeError $exception) { + throw new \Error(\sprintf("Script '%s' did not return a callable function", $argv[0]), 0, $exception); + } catch (\ParseError $exception) { + throw new \Error(\sprintf("Script '%s' contains a parse error: " . $exception->getMessage(), $argv[0]), 0, $exception); + } + $result = new Sync\ExitSuccess(Promise\wait(call($callable, $channel))); + } catch (\Exception $exception) { + $result = new Sync\ExitFailure($exception); + } catch (\Error $exception) { + $result = new Sync\ExitFailure($exception); + } + try { + Promise\wait(call(function () use($channel, $result) { + try { + (yield $channel->send($result)); + } catch (Sync\SerializationException $exception) { + // Serializing the result failed. Send the reason why. + (yield $channel->send(new Sync\ExitFailure($exception))); + } + })); + } catch (\Exception $exception) { + \trigger_error("Could not send result to parent; be sure to shutdown the child before ending the parent", \E_USER_ERROR); + exit(1); + } catch (\Error $exception) { + \trigger_error("Could not send result to parent; be sure to shutdown the child before ending the parent", \E_USER_ERROR); + exit(1); + } +}; +$phabel_94a45e49c4fa39bc(); diff --git a/vendor-bundle/amphp/parallel/lib/Context/Parallel.php b/vendor-bundle/amphp/parallel/lib/Context/Parallel.php new file mode 100644 index 000000000..5f6c39b0a --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/Parallel.php @@ -0,0 +1,489 @@ + The thread object that was spawned. + */ + public static function run($script) + { + $thread = new self($script); + $phabelReturn = call(function () use($thread) { + (yield $thread->start()); + return $thread; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|array $script Path to PHP script or array with first element as path and following elements options + * to the PHP script (e.g.: ['bin/worker', 'Option1Value', 'Option2Value']. + * + * @throws \Error Thrown if the pthreads extension is not available. + */ + public function __construct($script) + { + if (!self::isSupported()) { + throw new \Error("The parallel extension is required to create parallel threads."); + } + $this->hub = Loop::getState(self::class); + if (!$this->hub instanceof Internal\ParallelHub) { + $this->hub = new Internal\ParallelHub(); + Loop::setState(self::class, $this->hub); + } + if (\is_array($script)) { + $this->script = (string) \array_shift($script); + $this->args = \array_values(\array_map("strval", $script)); + } else { + $this->script = (string) $script; + } + if (self::$autoloadPath === null) { + $paths = [\dirname(__DIR__, 2) . \DIRECTORY_SEPARATOR . "vendor" . \DIRECTORY_SEPARATOR . "autoload.php", \dirname(__DIR__, 4) . \DIRECTORY_SEPARATOR . "autoload.php"]; + foreach ($paths as $path) { + if (\file_exists($path)) { + self::$autoloadPath = $path; + break; + } + } + if (self::$autoloadPath === null) { + throw new \Error("Could not locate autoload.php"); + } + } + } + /** + * Returns the thread to the condition before starting. The new thread can be started and run independently of the + * first thread. + */ + public function __clone() + { + $this->runtime = null; + $this->channel = null; + $this->id = null; + $this->oid = 0; + $this->killed = \false; + } + /** + * Kills the thread if it is still running. + * + * @throws \Amp\Parallel\Context\ContextException + */ + public function __destruct() + { + if (\getmypid() === $this->oid) { + $this->kill(); + } + } + /** + * Checks if the context is running. + * + * @return bool True if the context is running, otherwise false. + */ + public function isRunning() + { + $phabelReturn = $this->channel !== null; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Spawns the thread and begins the thread's execution. + * + * @return Promise Resolved once the thread has started. + * + * @throws \Amp\Parallel\Context\StatusError If the thread has already been started. + * @throws \Amp\Parallel\Context\ContextException If starting the thread was unsuccessful. + */ + public function start() + { + if ($this->oid !== 0) { + throw new StatusError('The thread has already been started.'); + } + $this->oid = \getmypid(); + $this->runtime = new Runtime(self::$autoloadPath); + $this->id = self::$nextId++; + $future = $this->runtime->run(static function ($id, $uri, $key, $path, array $argv) { + if (!\is_int($id)) { + if (!(\is_bool($id) || \is_numeric($id))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (int) $id; + } + } + if (!\is_string($uri)) { + if (!(\is_string($uri) || \is_object($uri) && \method_exists($uri, '__toString') || (\is_bool($uri) || \is_numeric($uri)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($uri) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($uri) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $uri = (string) $uri; + } + } + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + if (!\is_string($path)) { + if (!(\is_string($path) || \is_object($path) && \method_exists($path, '__toString') || (\is_bool($path) || \is_numeric($path)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($path) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($path) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $path = (string) $path; + } + } + // @codeCoverageIgnoreStart + // Only executed in thread. + \define("AMP_CONTEXT", "parallel"); + \define("AMP_CONTEXT_ID", $id); + if (!($socket = \stream_socket_client($uri, $errno, $errstr, 5, \STREAM_CLIENT_CONNECT))) { + \trigger_error("Could not connect to IPC socket", \E_USER_ERROR); + $phabelReturn = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $channel = new ChannelledSocket($socket, $socket); + try { + Promise\wait($channel->send($key)); + } catch (\Exception $exception) { + \trigger_error("Could not send key to parent", \E_USER_ERROR); + $phabelReturn = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } catch (\Error $exception) { + \trigger_error("Could not send key to parent", \E_USER_ERROR); + $phabelReturn = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + try { + Loop::unreference(Loop::repeat(self::EXIT_CHECK_FREQUENCY, function () { + // Timer to give the chance for the PHP VM to be interrupted by Runtime::kill(), since system calls such as + // select() will not be interrupted. + })); + try { + if (!\is_file($path)) { + throw new \Error(\sprintf("No script found at '%s' (be sure to provide the full path to the script)", $path)); + } + $argc = \array_unshift($argv, $path); + try { + $phabel_b287bb527139f221 = \Phabel\Plugin\NestedExpressionFixer::returnMe(function () use($argc, $argv) { + $phabelReturn = (require $argv[0]); + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // Using $argc so it is available to the required script. + return $phabelReturn; + })->bindTo(null, null); + // Protect current scope by requiring script within another function. + $callable = $phabel_b287bb527139f221(); + } catch (\TypeError $exception) { + throw new \Error(\sprintf("Script '%s' did not return a callable function", $path), 0, $exception); + } catch (\ParseError $exception) { + throw new \Error(\sprintf("Script '%s' contains a parse error", $path), 0, $exception); + } + $result = new ExitSuccess(Promise\wait(call($callable, $channel))); + } catch (\Exception $exception) { + $result = new ExitFailure($exception); + } catch (\Error $exception) { + $result = new ExitFailure($exception); + } + Promise\wait(call(function () use($channel, $result) { + try { + (yield $channel->send($result)); + } catch (SerializationException $exception) { + // Serializing the result failed. Send the reason why. + (yield $channel->send(new ExitFailure($exception))); + } + })); + } catch (\Exception $exception) { + \trigger_error("Could not send result to parent; be sure to shutdown the child before ending the parent", \E_USER_ERROR); + $phabelReturn = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } catch (\Error $exception) { + \trigger_error("Could not send result to parent; be sure to shutdown the child before ending the parent", \E_USER_ERROR); + $phabelReturn = 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } finally { + $channel->close(); + } + $phabelReturn = 0; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + // @codeCoverageIgnoreEnd + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + }, [$this->id, $this->hub->getUri(), $this->hub->generateKey($this->id, self::KEY_LENGTH), $this->script, $this->args]); + $phabelReturn = call(function () use($future) { + try { + $this->channel = (yield $this->hub->accept($this->id)); + $this->hub->add($this->id, $this->channel, $future); + } catch (\Exception $exception) { + $this->kill(); + throw new ContextException("Starting the parallel runtime failed", 0, $exception); + } catch (\Error $exception) { + $this->kill(); + throw new ContextException("Starting the parallel runtime failed", 0, $exception); + } + if ($this->killed) { + $this->kill(); + } + return $this->id; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Immediately kills the context. + */ + public function kill() + { + $this->killed = \true; + if ($this->runtime !== null) { + try { + $this->runtime->kill(); + } finally { + $this->close(); + } + } + } + /** + * Closes channel and socket if still open. + */ + private function close() + { + $this->runtime = null; + if ($this->channel !== null) { + $this->channel->close(); + } + $this->channel = null; + $this->hub->remove($this->id); + } + /** + * Gets a promise that resolves when the context ends and joins with the + * parent context. + * + * @return \Amp\Promise + * + * @throws StatusError Thrown if the context has not been started. + * @throws SynchronizationError Thrown if an exit status object is not received. + * @throws ContextException If the context stops responding. + */ + public function join() + { + if ($this->channel === null) { + throw new StatusError('The thread has not been started or has already finished.'); + } + $phabelReturn = call(function () { + try { + $response = (yield $this->channel->receive()); + $this->close(); + } catch (\Exception $exception) { + $this->kill(); + throw new ContextException("Failed to receive result from thread", 0, $exception); + } catch (\Error $exception) { + $this->kill(); + throw new ContextException("Failed to receive result from thread", 0, $exception); + } + if (!$response instanceof ExitResult) { + $this->kill(); + throw new SynchronizationError('Did not receive an exit result from thread.'); + } + return $response->getResult(); + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function receive() + { + if ($this->channel === null) { + throw new StatusError('The thread has not been started.'); + } + $phabelReturn = call(function () { + try { + $data = (yield $this->channel->receive()); + } catch (ChannelException $e) { + throw new ContextException("The thread stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } + if ($data instanceof ExitResult) { + $data = $data->getResult(); + throw new SynchronizationError(\sprintf('Thread unexpectedly exited with result of type: %s', \is_object($data) ? \get_class($data) : \gettype($data))); + } + return $data; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function send($data) + { + if ($this->channel === null) { + throw new StatusError('The thread has not been started or has already finished.'); + } + if ($data instanceof ExitResult) { + throw new \Error('Cannot send exit result objects.'); + } + $phabelReturn = call(function () use($data) { + try { + return (yield $this->channel->send($data)); + } catch (ChannelException $e) { + if ($this->channel === null) { + throw new ContextException("The thread stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } + try { + $data = (yield Promise\timeout($this->join(), 100)); + } catch (ContextException $ex) { + $this->kill(); + throw new ContextException("The thread stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } catch (ChannelException $ex) { + $this->kill(); + throw new ContextException("The thread stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } catch (TimeoutException $ex) { + $this->kill(); + throw new ContextException("The thread stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } + throw new SynchronizationError(\sprintf('Thread unexpectedly exited with result of type: %s', \is_object($data) ? \get_class($data) : \gettype($data)), 0, $e); + } + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Returns the ID of the thread. This ID will be unique to this process. + * + * @return int + * + * @throws \Amp\Process\StatusError + */ + public function getId() + { + if ($this->id === null) { + throw new StatusError('The thread has not been started'); + } + $phabelReturn = $this->id; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Context/Process.php b/vendor-bundle/amphp/parallel/lib/Context/Process.php new file mode 100644 index 000000000..241b593e6 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/Process.php @@ -0,0 +1,456 @@ + + */ + public static function run($script, $cwd = null, array $env = [], $binary = null) + { + if (!\is_null($cwd)) { + if (!\is_string($cwd)) { + if (!(\is_string($cwd) || \is_object($cwd) && \method_exists($cwd, '__toString') || (\is_bool($cwd) || \is_numeric($cwd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($cwd) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cwd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cwd = (string) $cwd; + } + } + } + if (!\is_null($binary)) { + if (!\is_string($binary)) { + if (!(\is_string($binary) || \is_object($binary) && \method_exists($binary, '__toString') || (\is_bool($binary) || \is_numeric($binary)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($binary) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($binary) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $binary = (string) $binary; + } + } + } + $process = new self($script, $cwd, $env, $binary); + $phabelReturn = call(function () use($process) { + (yield $process->start()); + return $process; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|array $script Path to PHP script or array with first element as path and following elements options + * to the PHP script (e.g.: ['bin/worker', 'Option1Value', 'Option2Value']. + * @param string|null $cwd Working directory. + * @param mixed[] $env Array of environment variables. + * @param string $binary Path to PHP binary. Null will attempt to automatically locate the binary. + * + * @throws \Error If the PHP binary path given cannot be found or is not executable. + */ + public function __construct($script, $cwd = null, array $env = [], $binary = null) + { + if (!\is_null($cwd)) { + if (!\is_string($cwd)) { + if (!(\is_string($cwd) || \is_object($cwd) && \method_exists($cwd, '__toString') || (\is_bool($cwd) || \is_numeric($cwd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($cwd) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cwd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cwd = (string) $cwd; + } + } + } + if (!\is_null($binary)) { + if (!\is_string($binary)) { + if (!(\is_string($binary) || \is_object($binary) && \method_exists($binary, '__toString') || (\is_bool($binary) || \is_numeric($binary)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($binary) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($binary) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $binary = (string) $binary; + } + } + } + $this->hub = Loop::getState(self::class); + if (!$this->hub instanceof Internal\ProcessHub) { + $this->hub = new Internal\ProcessHub(); + Loop::setState(self::class, $this->hub); + } + $options = ["html_errors" => "0", "display_errors" => "0", "log_errors" => "1"]; + if ($binary === null) { + if (\PHP_SAPI === "cli") { + $binary = \PHP_BINARY; + } else { + $binary = isset(self::$binaryPath) ? self::$binaryPath : self::locateBinary(); + } + } elseif (!\is_executable($binary)) { + throw new \Error(\sprintf("The PHP binary path '%s' was not found or is not executable", $binary)); + } + // Write process runner to external file if inside a PHAR, + // because PHP can't open files inside a PHAR directly except for the stub. + if (\strpos(self::SCRIPT_PATH, "phar://") === 0) { + if (self::$pharScriptPath) { + $scriptPath = self::$pharScriptPath; + } else { + $path = \dirname(self::SCRIPT_PATH); + if (\substr(\Phar::running(\false), -5) !== ".phar") { + self::$pharCopy = \sys_get_temp_dir() . "/phar-" . \bin2hex(\random_bytes(10)) . ".phar"; + \copy(\Phar::running(\false), self::$pharCopy); + \register_shutdown_function(static function () { + @\unlink(self::$pharCopy); + }); + $path = "phar://" . self::$pharCopy . "/" . \substr($path, \strlen(\Phar::running(\true))); + } + $contents = \file_get_contents(self::SCRIPT_PATH); + $contents = \str_replace("__DIR__", \var_export($path, \true), $contents); + $suffix = \bin2hex(\random_bytes(10)); + self::$pharScriptPath = $scriptPath = \sys_get_temp_dir() . "/amp-process-runner-" . $suffix . ".php"; + \file_put_contents($scriptPath, $contents); + \register_shutdown_function(static function () { + @\unlink(self::$pharScriptPath); + }); + } + // Monkey-patch the script path in the same way, only supported if the command is given as array. + if (isset(self::$pharCopy) && \is_array($script) && isset($script[0])) { + $script[0] = "phar://" . self::$pharCopy . \substr($script[0], \strlen(\Phar::running(\true))); + } + } else { + $scriptPath = self::SCRIPT_PATH; + } + if (\is_array($script)) { + $script = \implode(" ", \array_map("escapeshellarg", $script)); + } else { + $script = \escapeshellarg($script); + } + $command = \implode(" ", [\escapeshellarg($binary), $this->formatOptions($options), \escapeshellarg($scriptPath), $this->hub->getUri(), $script]); + $this->process = new BaseProcess($command, $cwd, $env); + } + private static function locateBinary() + { + $executable = \strncasecmp(\PHP_OS, "WIN", 3) === 0 ? "php.exe" : "php"; + $paths = \array_filter(\explode(\PATH_SEPARATOR, \getenv("PATH"))); + $paths[] = \PHP_BINDIR; + $paths = \array_unique($paths); + foreach ($paths as $path) { + $path .= \DIRECTORY_SEPARATOR . $executable; + if (\is_executable($path)) { + $phabelReturn = self::$binaryPath = $path; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + } + throw new \Error("Could not locate PHP executable binary"); + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + private function formatOptions(array $options) + { + $result = []; + foreach ($options as $option => $value) { + $result[] = \sprintf("-d%s=%s", $option, $value); + } + $phabelReturn = \implode(" ", $result); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Private method to prevent cloning. + */ + private function __clone() + { + } + /** + * {@inheritdoc} + */ + public function start() + { + $phabelReturn = call(function () { + try { + $pid = (yield $this->process->start()); + (yield $this->process->getStdin()->write($this->hub->generateKey($pid, self::KEY_LENGTH))); + $this->channel = (yield $this->hub->accept($pid)); + return $pid; + } catch (\Exception $exception) { + if ($this->isRunning()) { + $this->kill(); + } + throw new ContextException("Starting the process failed", 0, $exception); + } catch (\Error $exception) { + if ($this->isRunning()) { + $this->kill(); + } + throw new ContextException("Starting the process failed", 0, $exception); + } + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function isRunning() + { + $phabelReturn = $this->process->isRunning(); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function receive() + { + if ($this->channel === null) { + throw new StatusError("The process has not been started"); + } + $phabelReturn = call(function () { + try { + $data = (yield $this->channel->receive()); + } catch (ChannelException $e) { + throw new ContextException("The process stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } + if ($data instanceof ExitResult) { + $data = $data->getResult(); + throw new SynchronizationError(\sprintf('Process unexpectedly exited with result of type: %s', \is_object($data) ? \get_class($data) : \gettype($data))); + } + return $data; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function send($data) + { + if ($this->channel === null) { + throw new StatusError("The process has not been started"); + } + if ($data instanceof ExitResult) { + throw new \Error("Cannot send exit result objects"); + } + $phabelReturn = call(function () use($data) { + try { + return (yield $this->channel->send($data)); + } catch (ChannelException $e) { + if ($this->channel === null) { + throw new ContextException("The process stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } + try { + $data = (yield Promise\timeout($this->join(), 100)); + } catch (ContextException $ex) { + if ($this->isRunning()) { + $this->kill(); + } + throw new ContextException("The process stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } catch (ChannelException $ex) { + if ($this->isRunning()) { + $this->kill(); + } + throw new ContextException("The process stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } catch (TimeoutException $ex) { + if ($this->isRunning()) { + $this->kill(); + } + throw new ContextException("The process stopped responding, potentially due to a fatal error or calling exit", 0, $e); + } + throw new SynchronizationError(\sprintf('Process unexpectedly exited with result of type: %s', \is_object($data) ? \get_class($data) : \gettype($data)), 0, $e); + } + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function join() + { + if ($this->channel === null) { + throw new StatusError("The process has not been started"); + } + $phabelReturn = call(function () { + try { + $data = (yield $this->channel->receive()); + } catch (\Exception $exception) { + if ($this->isRunning()) { + $this->kill(); + } + throw new ContextException("Failed to receive result from process", 0, $exception); + } catch (\Error $exception) { + if ($this->isRunning()) { + $this->kill(); + } + throw new ContextException("Failed to receive result from process", 0, $exception); + } + if (!$data instanceof ExitResult) { + if ($this->isRunning()) { + $this->kill(); + } + throw new SynchronizationError("Did not receive an exit result from process"); + } + $this->channel->close(); + $code = (yield $this->process->join()); + if ($code !== 0) { + throw new ContextException(\sprintf("Process exited with code %d", $code)); + } + return $data->getResult(); + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Send a signal to the process. + * + * @see \Amp\Process\Process::signal() + * + * @param int $signo + * + * @throws \Amp\Process\ProcessException + * @throws \Amp\Process\StatusError + */ + public function signal($signo) + { + if (!\is_int($signo)) { + if (!(\is_bool($signo) || \is_numeric($signo))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signo = (int) $signo; + } + } + $this->process->signal($signo); + } + /** + * Returns the PID of the process. + * + * @see \Amp\Process\Process::getPid() + * + * @return int + * + * @throws \Amp\Process\StatusError + */ + public function getPid() + { + $phabelReturn = $this->process->getPid(); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns the STDIN stream of the process. + * + * @see \Amp\Process\Process::getStdin() + * + * @return ProcessOutputStream + * + * @throws \Amp\Process\StatusError + */ + public function getStdin() + { + $phabelReturn = $this->process->getStdin(); + if (!$phabelReturn instanceof ProcessOutputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProcessOutputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Returns the STDOUT stream of the process. + * + * @see \Amp\Process\Process::getStdout() + * + * @return ProcessInputStream + * + * @throws \Amp\Process\StatusError + */ + public function getStdout() + { + $phabelReturn = $this->process->getStdout(); + if (!$phabelReturn instanceof ProcessInputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProcessInputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Returns the STDOUT stream of the process. + * + * @see \Amp\Process\Process::getStderr() + * + * @return ProcessInputStream + * + * @throws \Amp\Process\StatusError + */ + public function getStderr() + { + $phabelReturn = $this->process->getStderr(); + if (!$phabelReturn instanceof ProcessInputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProcessInputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function kill() + { + $this->process->kill(); + if ($this->channel !== null) { + $this->channel->close(); + } + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Context/StatusError.php b/vendor-bundle/amphp/parallel/lib/Context/StatusError.php new file mode 100644 index 000000000..28fde78c0 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/StatusError.php @@ -0,0 +1,7 @@ + The thread object that was spawned. + */ + public static function run(callable $function, ...$args) + { + $thread = new self($function, ...$args); + $phabelReturn = call(function () use($thread) { + (yield $thread->start()); + return $thread; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Creates a new thread. + * + * @param callable $function The callable to invoke in the thread. First argument is an instance of + * \Amp\Parallel\Sync\Channel. + * @param mixed ...$args Additional arguments to pass to the given callable. + * + * @throws \Error Thrown if the pthreads extension is not available. + */ + public function __construct(callable $function, ...$args) + { + if (!self::isSupported()) { + throw new \Error("The pthreads extension is required to create threads."); + } + $this->function = $function; + $this->args = $args; + } + /** + * Returns the thread to the condition before starting. The new thread can be started and run independently of the + * first thread. + */ + public function __clone() + { + $this->thread = null; + $this->socket = null; + $this->channel = null; + $this->oid = 0; + } + /** + * Kills the thread if it is still running. + * + * @throws \Amp\Parallel\Context\ContextException + */ + public function __destruct() + { + if (\getmypid() === $this->oid) { + $this->kill(); + } + } + /** + * Checks if the context is running. + * + * @return bool True if the context is running, otherwise false. + */ + public function isRunning() + { + $phabelReturn = $this->channel !== null; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Spawns the thread and begins the thread's execution. + * + * @return Promise Resolved once the thread has started. + * + * @throws \Amp\Parallel\Context\StatusError If the thread has already been started. + * @throws \Amp\Parallel\Context\ContextException If starting the thread was unsuccessful. + */ + public function start() + { + if ($this->oid !== 0) { + throw new StatusError('The thread has already been started.'); + } + $this->oid = \getmypid(); + $sockets = @\stream_socket_pair(\stripos(\PHP_OS, "win") === 0 ? \STREAM_PF_INET : \STREAM_PF_UNIX, \STREAM_SOCK_STREAM, \STREAM_IPPROTO_IP); + if ($sockets === \false) { + $message = "Failed to create socket pair"; + if ($error = \error_get_last()) { + $message .= \sprintf(" Errno: %d; %s", $error["type"], $error["message"]); + } + $phabelReturn = new Failure(new ContextException($message)); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + list($channel, $this->socket) = $sockets; + $this->id = self::$nextId++; + $thread = $this->thread = new Internal\Thread($this->id, $this->socket, $this->function, $this->args); + if (!$this->thread->start(\PTHREADS_INHERIT_INI)) { + $phabelReturn = new Failure(new ContextException('Failed to start the thread.')); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $channel = $this->channel = new ChannelledSocket($channel, $channel); + $this->watcher = Loop::repeat(self::EXIT_CHECK_FREQUENCY, static function ($watcher) use($thread, $channel) { + if (!$thread->isRunning()) { + // Delay closing to avoid race condition between thread exiting and data becoming available. + Loop::delay(self::EXIT_CHECK_FREQUENCY, [$channel, "close"]); + Loop::cancel($watcher); + } + }); + Loop::disable($this->watcher); + $phabelReturn = new Success($this->id); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Immediately kills the context. + * + * @throws ContextException If killing the thread was unsuccessful. + */ + public function kill() + { + if ($this->thread !== null) { + try { + if ($this->thread->isRunning() && !$this->thread->kill()) { + throw new ContextException('Could not kill thread.'); + } + } finally { + $this->close(); + } + } + } + /** + * Closes channel and socket if still open. + */ + private function close() + { + if ($this->channel !== null) { + $this->channel->close(); + } + $this->channel = null; + Loop::cancel($this->watcher); + } + /** + * Gets a promise that resolves when the context ends and joins with the + * parent context. + * + * @return \Amp\Promise + * + * @throws StatusError Thrown if the context has not been started. + * @throws SynchronizationError Thrown if an exit status object is not received. + * @throws ContextException If the context stops responding. + */ + public function join() + { + if ($this->channel == null || $this->thread === null) { + throw new StatusError('The thread has not been started or has already finished.'); + } + $phabelReturn = call(function () { + Loop::enable($this->watcher); + try { + $response = (yield $this->channel->receive()); + } catch (\Exception $exception) { + $this->kill(); + throw new ContextException("Failed to receive result from thread", 0, $exception); + } catch (\Error $exception) { + $this->kill(); + throw new ContextException("Failed to receive result from thread", 0, $exception); + } finally { + Loop::disable($this->watcher); + $this->close(); + } + if (!$response instanceof ExitResult) { + $this->kill(); + throw new SynchronizationError('Did not receive an exit result from thread.'); + } + return $response->getResult(); + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function receive() + { + if ($this->channel === null) { + throw new StatusError('The process has not been started.'); + } + $phabelReturn = call(function () { + Loop::enable($this->watcher); + try { + $data = (yield $this->channel->receive()); + } finally { + Loop::disable($this->watcher); + } + if ($data instanceof ExitResult) { + $data = $data->getResult(); + throw new SynchronizationError(\sprintf('Thread process unexpectedly exited with result of type: %s', \is_object($data) ? \get_class($data) : \gettype($data))); + } + return $data; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function send($data) + { + if ($this->channel === null) { + throw new StatusError('The thread has not been started or has already finished.'); + } + if ($data instanceof ExitResult) { + throw new \Error('Cannot send exit result objects.'); + } + $phabelReturn = call(function () use($data) { + Loop::enable($this->watcher); + try { + $result = (yield $this->channel->send($data)); + } finally { + Loop::disable($this->watcher); + } + return $result; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Returns the ID of the thread. This ID will be unique to this process. + * + * @return int + * + * @throws \Amp\Process\StatusError + */ + public function getId() + { + if ($this->id === null) { + throw new StatusError('The thread has not been started'); + } + $phabelReturn = $this->id; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Context/functions.php b/vendor-bundle/amphp/parallel/lib/Context/functions.php new file mode 100644 index 000000000..489cbb64d --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Context/functions.php @@ -0,0 +1,68 @@ +create($script); + if (!$phabelReturn instanceof Context) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Context, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Creates and starts a process based on installed extensions (a thread if ext-parallel is installed, otherwise a child + * process). + * + * @param string|string[] $script Path to PHP script or array with first element as path and following elements options + * to the PHP script (e.g.: ['bin/worker', 'Option1Value', 'Option2Value']. + * + * @return Promise + */ +function run($script) +{ + $phabelReturn = factory()->run($script); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Gets or sets the global context factory. + * + * @param ContextFactory|null $factory + * + * @return ContextFactory + */ +function factory($factory = null) +{ + if (!($factory instanceof ContextFactory || \is_null($factory))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($factory) must be of type ?ContextFactory, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($factory) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if ($factory === null) { + $factory = Loop::getState(LOOP_FACTORY_IDENTIFIER); + if ($factory) { + $phabelReturn = $factory; + if (!$phabelReturn instanceof ContextFactory) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ContextFactory, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $factory = new DefaultContextFactory(); + } + Loop::setState(LOOP_FACTORY_IDENTIFIER, $factory); + $phabelReturn = $factory; + if (!$phabelReturn instanceof ContextFactory) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ContextFactory, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/Channel.php b/vendor-bundle/amphp/parallel/lib/Sync/Channel.php new file mode 100644 index 000000000..0229892ef --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/Channel.php @@ -0,0 +1,34 @@ + + * + * @throws \Amp\Parallel\Context\StatusError Thrown if the context has not been started. + * @throws \Amp\Parallel\Sync\SynchronizationError If the context has not been started or the context + * unexpectedly ends. + * @throws \Amp\Parallel\Sync\ChannelException If receiving from the channel fails. + * @throws \Amp\Parallel\Sync\SerializationException If unserializing the data fails. + */ + public function receive(); + /** + * @param mixed $data + * + * @return \Amp\Promise Resolves with the number of bytes sent on the channel. + * + * @throws \Amp\Parallel\Context\StatusError Thrown if the context has not been started. + * @throws \Amp\Parallel\Sync\SynchronizationError If the context has not been started or the context + * unexpectedly ends. + * @throws \Amp\Parallel\Sync\ChannelException If sending on the channel fails. + * @throws \Error If an ExitResult object is given. + * @throws \Amp\Parallel\Sync\SerializationException If serializing the data fails. + */ + public function send($data); +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/ChannelException.php b/vendor-bundle/amphp/parallel/lib/Sync/ChannelException.php new file mode 100644 index 000000000..481523c91 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/ChannelException.php @@ -0,0 +1,7 @@ +serializer = isset($serializer) ? $serializer : new NativeSerializer(); + parent::__construct(self::parser($callback, $this->serializer)); + } + /** + * @param mixed $data Data to encode to send over a channel. + * + * @return string Encoded data that can be parsed by this class. + * + * @throws SerializationException + */ + public function encode($data) + { + $data = $this->serializer->serialize($data); + $phabelReturn = \pack("CL", 0, \strlen($data)) . $data; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @param callable $push + * @param Serializer $serializer + * + * @return \Generator + * + * @throws ChannelException + * @throws SerializationException + */ + private static function parser(callable $push, Serializer $serializer) + { + while (\true) { + $header = (yield self::HEADER_LENGTH); + $data = \unpack("Cprefix/Llength", $header); + if ($data["prefix"] !== 0) { + $data = $header . yield; + throw new ChannelException("Invalid packet received: " . encodeUnprintableChars($data)); + } + $data = (yield $data["length"]); + $push($serializer->unserialize($data)); + } + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/ChannelledSocket.php b/vendor-bundle/amphp/parallel/lib/Sync/ChannelledSocket.php new file mode 100644 index 000000000..705cf4fbd --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/ChannelledSocket.php @@ -0,0 +1,69 @@ +channel = new ChannelledStream($this->read = new ResourceInputStream($read), $this->write = new ResourceOutputStream($write), $serializer); + } + /** + * {@inheritdoc} + */ + public function receive() + { + $phabelReturn = $this->channel->receive(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function send($data) + { + $phabelReturn = $this->channel->send($data); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function unreference() + { + $this->read->unreference(); + } + public function reference() + { + $this->read->reference(); + } + /** + * Closes the read and write resource streams. + */ + public function close() + { + $this->read->close(); + $this->write->close(); + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/ChannelledStream.php b/vendor-bundle/amphp/parallel/lib/Sync/ChannelledStream.php new file mode 100644 index 000000000..ef8dae3f3 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/ChannelledStream.php @@ -0,0 +1,84 @@ +read = $read; + $this->write = $write; + $this->received = new \SplQueue(); + $this->parser = new ChannelParser([$this->received, 'push'], $serializer); + } + /** + * {@inheritdoc} + */ + public function send($data) + { + $phabelReturn = call(function () use($data) { + try { + return (yield $this->write->write($this->parser->encode($data))); + } catch (StreamException $exception) { + throw new ChannelException("Sending on the channel failed. Did the context die?", 0, $exception); + } + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function receive() + { + $phabelReturn = call(function () { + while ($this->received->isEmpty()) { + try { + $chunk = (yield $this->read->read()); + } catch (StreamException $exception) { + throw new ChannelException("Reading from the channel failed. Did the context die?", 0, $exception); + } + if ($chunk === null) { + throw new ChannelException("The channel closed unexpectedly. Did the context die?"); + } + $this->parser->push($chunk); + } + return $this->received->shift(); + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/ContextPanicError.php b/vendor-bundle/amphp/parallel/lib/Sync/ContextPanicError.php new file mode 100644 index 000000000..91d5b988e --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/ContextPanicError.php @@ -0,0 +1,115 @@ +originalMessage = $message; + $this->originalCode = $code; + $this->originalTrace = $trace; + } + /** + * @return string Original exception class name. + */ + public function getOriginalClassName() + { + $phabelReturn = $this->getName(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return string Original exception message. + */ + public function getOriginalMessage() + { + $phabelReturn = $this->originalMessage; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return int|string Original exception code. + */ + public function getOriginalCode() + { + return $this->originalCode; + } + /** + * Original exception stack trace. + * + * @return array Same as {@see Throwable::getTrace()}, except all function arguments are formatted as strings. + */ + public function getOriginalTrace() + { + $phabelReturn = $this->originalTrace; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Original backtrace flattened to a human-readable string. + * + * @return string + */ + public function getOriginalTraceAsString() + { + $phabelReturn = $this->getPanicTrace(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/ExitFailure.php b/vendor-bundle/amphp/parallel/lib/Sync/ExitFailure.php new file mode 100644 index 000000000..c45147ac9 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/ExitFailure.php @@ -0,0 +1,43 @@ +type = \get_class($exception); + $this->message = $exception->getMessage(); + $this->code = $exception->getCode(); + $this->trace = flattenThrowableBacktrace($exception); + if ($previous = $exception->getPrevious()) { + $this->previous = new self($previous); + } + } + /** + * {@inheritdoc} + */ + public function getResult() + { + throw $this->createException(); + } + private function createException() + { + $previous = $this->previous ? $this->previous->createException() : null; + $phabelReturn = new ContextPanicError($this->type, $this->message, $this->code, $this->trace, $previous); + if (!$phabelReturn instanceof ContextPanicError) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ContextPanicError, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/ExitResult.php b/vendor-bundle/amphp/parallel/lib/Sync/ExitResult.php new file mode 100644 index 000000000..baa3afba0 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/ExitResult.php @@ -0,0 +1,13 @@ +result = $result; + } + /** + * {@inheritdoc} + */ + public function getResult() + { + return $this->result; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/Internal/ParcelStorage.php b/vendor-bundle/amphp/parallel/lib/Sync/Internal/ParcelStorage.php new file mode 100644 index 000000000..35d7ca5be --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/Internal/ParcelStorage.php @@ -0,0 +1,30 @@ +value = $value; + } + /** + * @return mixed + */ + public function get() + { + return $this->value; + } + /** + * @param mixed $value + */ + public function set($value) + { + $this->value = $value; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/PanicError.php b/vendor-bundle/amphp/parallel/lib/Sync/PanicError.php new file mode 100644 index 000000000..b9cd12320 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/PanicError.php @@ -0,0 +1,91 @@ +name = $name; + $this->trace = $trace; + } + /** + * @deprecated Use ContextPanicError::getOriginalClassName() instead. + * + * Returns the class name of the uncaught exception. + * + * @return string + */ + public function getName() + { + $phabelReturn = $this->name; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @deprecated Use ContextPanicError::getOriginalTraceAsString() instead. + * + * Gets the stack trace at the point the panic occurred. + * + * @return string + */ + public function getPanicTrace() + { + $phabelReturn = $this->trace; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/Parcel.php b/vendor-bundle/amphp/parallel/lib/Sync/Parcel.php new file mode 100644 index 000000000..bce4b19f6 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/Parcel.php @@ -0,0 +1,36 @@ + Resolves with the return value of $callback or fails if $callback + * throws an exception. + */ + public function synchronized(callable $callback); + /** + * @return \Amp\Promise A promise for the value inside the parcel. + */ + public function unwrap(); +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/ParcelException.php b/vendor-bundle/amphp/parallel/lib/Sync/ParcelException.php new file mode 100644 index 000000000..0d8c75e80 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/ParcelException.php @@ -0,0 +1,7 @@ +init($value, $size, $permissions); + $phabelReturn = $parcel; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string $id + * @param Serializer|null $serializer + * + * @return self + * + * @throws SharedMemoryException + */ + public static function use_($id, $serializer = null) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + if (!($serializer instanceof Serializer || \is_null($serializer))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($serializer) must be of type ?Serializer, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($serializer) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $parcel = new self($id, $serializer); + $parcel->open(); + $phabelReturn = $parcel; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string $id + * @param Serializer|null $serializer + */ + private function __construct($id, $serializer = null) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + if (!($serializer instanceof Serializer || \is_null($serializer))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($serializer) must be of type ?Serializer, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($serializer) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\extension_loaded("shmop")) { + throw new \Error(__CLASS__ . " requires the shmop extension"); + } + $this->id = $id; + $this->key = self::makeKey($this->id); + $this->serializer = isset($serializer) ? $serializer : new NativeSerializer(); + } + /** + * @param mixed $value + * @param int $size + * @param int $permissions + * + * @throws SharedMemoryException + * @throws SyncException + * @throws \Error If the size or permissions are invalid. + */ + private function init($value, $size = 8192, $permissions = 0600) + { + if (!\is_int($size)) { + if (!(\is_bool($size) || \is_numeric($size))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($size) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($size) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $size = (int) $size; + } + } + if (!\is_int($permissions)) { + if (!(\is_bool($permissions) || \is_numeric($permissions))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($permissions) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($permissions) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $permissions = (int) $permissions; + } + } + if ($size <= 0) { + throw new \Error('The memory size must be greater than 0'); + } + if ($permissions <= 0 || $permissions > 0777) { + throw new \Error('Invalid permissions'); + } + $this->semaphore = PosixSemaphore::create($this->id, 1); + $this->initializer = \getmypid(); + $this->memOpen($this->key, 'n', $permissions, $size + self::MEM_DATA_OFFSET); + $this->setHeader(self::STATE_ALLOCATED, 0, $permissions); + $this->wrap($value); + } + private function open() + { + $this->semaphore = PosixSemaphore::use_($this->id); + $this->memOpen($this->key, 'w', 0, 0); + } + /** + * Checks if the object has been freed. + * + * Note that this does not check if the object has been destroyed; it only + * checks if this handle has freed its reference to the object. + * + * @return bool True if the object is freed, otherwise false. + */ + private function isFreed() + { + // If we are no longer connected to the memory segment, check if it has + // been invalidated. + if ($this->handle !== null) { + $this->handleMovedMemory(); + $header = $this->getHeader(); + $phabelReturn = $header['state'] === static::STATE_FREED; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function unwrap() + { + $phabelReturn = call(function () { + $lock = (yield $this->semaphore->acquire()); + \assert($lock instanceof Lock); + try { + return $this->getValue(); + } finally { + $lock->release(); + } + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return mixed + * + * @throws SharedMemoryException + * @throws SerializationException + */ + private function getValue() + { + if ($this->isFreed()) { + throw new SharedMemoryException('The object has already been freed'); + } + $header = $this->getHeader(); + // Make sure the header is in a valid state and format. + if ($header['state'] !== self::STATE_ALLOCATED || $header['size'] <= 0) { + throw new SharedMemoryException('Shared object memory is corrupt'); + } + // Read the actual value data from memory and unserialize it. + $data = $this->memGet(self::MEM_DATA_OFFSET, $header['size']); + return $this->serializer->unserialize($data); + } + /** + * If the value requires more memory to store than currently allocated, a + * new shared memory segment will be allocated with a larger size to store + * the value in. The previous memory segment will be cleaned up and marked + * for deletion. Other processes and threads will be notified of the new + * memory segment on the next read attempt. Once all running processes and + * threads disconnect from the old segment, it will be freed by the OS. + */ + private function wrap($value) + { + if ($this->isFreed()) { + throw new SharedMemoryException('The object has already been freed'); + } + $serialized = $this->serializer->serialize($value); + $size = \strlen($serialized); + $header = $this->getHeader(); + /* If we run out of space, we need to allocate a new shared memory + segment that is larger than the current one. To coordinate with other + processes, we will leave a message in the old segment that the segment + has moved and along with the new key. The old segment will be discarded + automatically after all other processes notice the change and close + the old handle. + */ + if (\shmop_size($this->handle) < $size + self::MEM_DATA_OFFSET) { + $this->key = $this->key < 0xffffffff ? $this->key + 1 : \random_int(0x10, 0xfffffffe); + $this->setHeader(self::STATE_MOVED, $this->key, 0); + $this->memDelete(); + \shmop_close($this->handle); + $this->memOpen($this->key, 'n', $header['permissions'], $size * 2); + } + // Rewrite the header and the serialized value to memory. + $this->setHeader(self::STATE_ALLOCATED, $size, $header['permissions']); + $this->memSet(self::MEM_DATA_OFFSET, $serialized); + } + /** + * {@inheritdoc} + */ + public function synchronized(callable $callback) + { + $phabelReturn = call(function () use($callback) { + $lock = (yield $this->semaphore->acquire()); + \assert($lock instanceof Lock); + try { + $result = (yield call($callback, $this->getValue())); + if ($result !== null) { + $this->wrap($result); + } + } finally { + $lock->release(); + } + return $result; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Frees the shared object from memory. + * + * The memory containing the shared value will be invalidated. When all + * process disconnect from the object, the shared memory block will be + * destroyed by the OS. + */ + public function __destruct() + { + if ($this->initializer === 0 || $this->initializer !== \getmypid()) { + return; + } + if ($this->isFreed()) { + return; + } + // Invalidate the memory block by setting its state to FREED. + $this->setHeader(static::STATE_FREED, 0, 0); + // Request the block to be deleted, then close our local handle. + $this->memDelete(); + \shmop_close($this->handle); + $this->handle = null; + $this->semaphore = null; + } + /** + * Private method to prevent cloning. + */ + private function __clone() + { + } + /** + * Private method to prevent serialization. + */ + private function __sleep() + { + } + /** + * Updates the current memory segment handle, handling any moves made on the + * data. + * + * @throws SharedMemoryException + */ + private function handleMovedMemory() + { + // Read from the memory block and handle moved blocks until we find the + // correct block. + while (\true) { + $header = $this->getHeader(); + // If the state is STATE_MOVED, the memory is stale and has been moved + // to a new location. Move handle and try to read again. + if ($header['state'] !== self::STATE_MOVED) { + break; + } + \shmop_close($this->handle); + $this->key = $header['size']; + $this->memOpen($this->key, 'w', 0, 0); + } + } + /** + * Reads and returns the data header at the current memory segment. + * + * @return array An associative array of header data. + * + * @throws SharedMemoryException + */ + private function getHeader() + { + $data = $this->memGet(0, self::MEM_DATA_OFFSET); + $phabelReturn = \unpack('Cstate/Lsize/Spermissions', $data); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets the header data for the current memory segment. + * + * @param int $state An object state. + * @param int $size The size of the stored data, or other value. + * @param int $permissions The permissions mask on the memory segment. + * + * @throws SharedMemoryException + */ + private function setHeader($state, $size, $permissions) + { + if (!\is_int($state)) { + if (!(\is_bool($state) || \is_numeric($state))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($state) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($state) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $state = (int) $state; + } + } + if (!\is_int($size)) { + if (!(\is_bool($size) || \is_numeric($size))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($size) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($size) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $size = (int) $size; + } + } + if (!\is_int($permissions)) { + if (!(\is_bool($permissions) || \is_numeric($permissions))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($permissions) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($permissions) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $permissions = (int) $permissions; + } + } + $header = \pack('CLS', $state, $size, $permissions); + $this->memSet(0, $header); + } + /** + * Opens a shared memory handle. + * + * @param int $key The shared memory key. + * @param string $mode The mode to open the shared memory in. + * @param int $permissions Process permissions on the shared memory. + * @param int $size The size to crate the shared memory in bytes. + * + * @throws SharedMemoryException + */ + private function memOpen($key, $mode, $permissions, $size) + { + if (!\is_int($key)) { + if (!(\is_bool($key) || \is_numeric($key))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (int) $key; + } + } + if (!\is_string($mode)) { + if (!(\is_string($mode) || \is_object($mode) && \method_exists($mode, '__toString') || (\is_bool($mode) || \is_numeric($mode)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mode = (string) $mode; + } + } + if (!\is_int($permissions)) { + if (!(\is_bool($permissions) || \is_numeric($permissions))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($permissions) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($permissions) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $permissions = (int) $permissions; + } + } + if (!\is_int($size)) { + if (!(\is_bool($size) || \is_numeric($size))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($size) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($size) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $size = (int) $size; + } + } + $handle = @\shmop_open($key, $mode, $permissions, $size); + if ($handle === \false) { + $error = \error_get_last(); + throw new SharedMemoryException('Failed to create shared memory block: ' . (isset($error['message']) ? $error['message'] : 'unknown error')); + } + $this->handle = $handle; + } + /** + * Reads binary data from shared memory. + * + * @param int $offset The offset to read from. + * @param int $size The number of bytes to read. + * + * @return string The binary data at the given offset. + * + * @throws SharedMemoryException + */ + private function memGet($offset, $size) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if (!\is_int($size)) { + if (!(\is_bool($size) || \is_numeric($size))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($size) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($size) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $size = (int) $size; + } + } + $data = \shmop_read($this->handle, $offset, $size); + if ($data === \false) { + $error = \error_get_last(); + throw new SharedMemoryException('Failed to read from shared memory block: ' . (isset($error['message']) ? $error['message'] : 'unknown error')); + } + $phabelReturn = $data; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Writes binary data to shared memory. + * + * @param int $offset The offset to write to. + * @param string $data The binary data to write. + * + * @throws SharedMemoryException + */ + private function memSet($offset, $data) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + if (!\shmop_write($this->handle, $data, $offset)) { + $error = \error_get_last(); + throw new SharedMemoryException('Failed to write to shared memory block: ' . (isset($error['message']) ? $error['message'] : 'unknown error')); + } + } + /** + * Requests the shared memory segment to be deleted. + * + * @throws SharedMemoryException + */ + private function memDelete() + { + if (!\shmop_delete($this->handle)) { + $error = \error_get_last(); + throw new SharedMemoryException('Failed to discard shared memory block' . (isset($error['message']) ? $error['message'] : 'unknown error')); + } + } + private static function makeKey($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + $phabelReturn = \abs(\unpack("l", \md5($id, \true))[1]); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/SynchronizationError.php b/vendor-bundle/amphp/parallel/lib/Sync/SynchronizationError.php new file mode 100644 index 000000000..d398e1f41 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/SynchronizationError.php @@ -0,0 +1,7 @@ +mutex = new ThreadedMutex(); + $this->storage = new Internal\ParcelStorage($value); + } + /** + * {@inheritdoc} + */ + public function unwrap() + { + $phabelReturn = new Success($this->storage->get()); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return \Amp\Promise + */ + public function synchronized(callable $callback) + { + $phabelReturn = call(function () use($callback) { + /** @var \Amp\Sync\Lock $lock */ + $lock = (yield $this->mutex->acquire()); + try { + $result = (yield call($callback, $this->storage->get())); + if ($result !== null) { + $this->storage->set($result); + } + } finally { + $lock->release(); + } + return $result; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Sync/functions.php b/vendor-bundle/amphp/parallel/lib/Sync/functions.php new file mode 100644 index 000000000..a7c6601d3 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Sync/functions.php @@ -0,0 +1,146 @@ +getTrace(); + foreach ($trace as &$call) { + unset($call['object']); + $call['args'] = \array_map(__NAMESPACE__ . '\\flattenArgument', isset($call['args']) ? $call['args'] : []); + } + $phabelReturn = $trace; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * @param array $trace Backtrace produced by {@see formatFlattenedBacktrace()}. + * + * @return string + */ +function formatFlattenedBacktrace(array $trace) +{ + $output = []; + foreach ($trace as $index => $call) { + if (isset($call['class'])) { + $name = $call['class'] . $call['type'] . $call['function']; + } else { + $name = $call['function']; + } + $output[] = \sprintf('#%d %s(%d): %s(%s)', $index, isset($call['file']) ? $call['file'] : '[internal function]', isset($call['line']) ? $call['line'] : 0, $name, \implode(', ', isset($call['args']) ? $call['args'] : ['...'])); + } + $phabelReturn = \implode("\n", $output); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; +} +/** + * @param mixed $value + * + * @return string Serializable string representation of $value for backtraces. + */ +function flattenArgument($value) +{ + if ($value instanceof \Closure) { + $closureReflection = new \ReflectionFunction($value); + $phabelReturn = \sprintf('Closure(%s:%s)', $closureReflection->getFileName(), $closureReflection->getStartLine()); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (\is_object($value)) { + $phabelReturn = \sprintf('Object(%s)', \get_class($value)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (\is_array($value)) { + $phabelReturn = 'Array([' . \implode(', ', \array_map(__FUNCTION__, $value)) . '])'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (\is_resource($value)) { + $phabelReturn = \sprintf('Resource(%s)', \get_resource_type($value)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (\is_string($value)) { + $phabelReturn = '"' . $value . '"'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (\is_null($value)) { + $phabelReturn = 'null'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (\is_bool($value)) { + $phabelReturn = $value ? 'true' : 'false'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = (string) $value; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/BasicEnvironment.php b/vendor-bundle/amphp/parallel/lib/Worker/BasicEnvironment.php new file mode 100644 index 000000000..32ff7b5fb --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/BasicEnvironment.php @@ -0,0 +1,238 @@ +queue = $queue = new \SplPriorityQueue(); + $data =& $this->data; + $this->timer = Loop::repeat(1000, static function ($watcherId) use($queue, &$data) { + if (!\is_string($watcherId)) { + if (!(\is_string($watcherId) || \is_object($watcherId) && \method_exists($watcherId, '__toString') || (\is_bool($watcherId) || \is_numeric($watcherId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($watcherId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($watcherId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $watcherId = (string) $watcherId; + } + } + $time = \time(); + while (!$queue->isEmpty()) { + list($key, $expiration) = $queue->top(); + if (!isset($data[$key])) { + // Item removed. + $queue->extract(); + continue; + } + $struct = $data[$key]; + if ($struct->expire === 0) { + // Item was set again without a TTL. + $queue->extract(); + continue; + } + if ($struct->expire !== $expiration) { + // Expiration changed or TTL updated. + $queue->extract(); + continue; + } + if ($time < $struct->expire) { + // Item at top has not expired, break out of loop. + break; + } + unset($data[$key]); + $queue->extract(); + } + if ($queue->isEmpty()) { + Loop::disable($watcherId); + } + }); + Loop::disable($this->timer); + Loop::unreference($this->timer); + } + /** + * @param string $key + * + * @return bool + */ + public function exists($key) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + $phabelReturn = isset($this->data[$key]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @param string $key + * + * @return mixed|null Returns null if the key does not exist. + */ + public function get($key) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + if (!isset($this->data[$key])) { + return null; + } + $struct = $this->data[$key]; + if ($struct->ttl !== null) { + $expire = \time() + $struct->ttl; + if ($struct->expire < $expire) { + $struct->expire = $expire; + $this->queue->insert([$key, $struct->expire], -$struct->expire); + } + } + return $struct->data; + } + /** + * @param string $key + * @param mixed $value Using null for the value deletes the key. + * @param int $ttl Number of seconds until data is automatically deleted. Use null for unlimited TTL. + * + * @throws \Error If the time-to-live is not a positive integer. + */ + public function set($key, $value, $ttl = null) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + if (!\is_null($ttl)) { + if (!\is_int($ttl)) { + if (!(\is_bool($ttl) || \is_numeric($ttl))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($ttl) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($ttl) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $ttl = (int) $ttl; + } + } + } + if ($value === null) { + $this->delete($key); + return; + } + if ($ttl !== null && $ttl <= 0) { + throw new \Error("The time-to-live must be a positive integer or null"); + } + $struct = new PhabelAnonymousClasse71fe13e24c4713755e8bf2ab3b37a7a959c11bfef39233caed7484e3f9fd4bc5(); + $struct->data = $value; + if ($ttl !== null) { + $struct->ttl = $ttl; + $struct->expire = \time() + $ttl; + $this->queue->insert([$key, $struct->expire], -$struct->expire); + Loop::enable($this->timer); + } + $this->data[$key] = $struct; + } + /** + * @param string $key + */ + public function delete($key) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + unset($this->data[$key]); + } + /** + * Alias of exists(). + * + * @param $key + * + * @return bool + */ + public function offsetExists($key) + { + $phabelReturn = $this->exists($key); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Alias of get(). + * + * @param string $key + * + * @return mixed + */ + public function offsetGet($key) + { + return $this->get($key); + } + /** + * Alias of set() with $ttl = null. + * + * @param string $key + * @param mixed $value + */ + public function offsetSet($key, $value) + { + $this->set($key, $value); + } + /** + * Alias of delete(). + * + * @param string $key + */ + public function offsetUnset($key) + { + $this->delete($key); + } + /** + * Removes all values. + */ + public function clear() + { + $this->data = []; + Loop::disable($this->timer); + $this->queue = new \SplPriorityQueue(); + } +} +if (!\class_exists(PhabelAnonymousClasse71fe13e24c4713755e8bf2ab3b37a7a959c11bfef39233caed7484e3f9fd4bc5::class)) { + class PhabelAnonymousClasse71fe13e24c4713755e8bf2ab3b37a7a959c11bfef39233caed7484e3f9fd4bc5 implements \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface + { + use Struct; + public $data; + public $expire = 0; + public $ttl; + public static function getPhabelOriginalName() + { + return 'class@anonymous'; + } + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/BootstrapWorkerFactory.php b/vendor-bundle/amphp/parallel/lib/Worker/BootstrapWorkerFactory.php new file mode 100644 index 000000000..96d0b8ffd --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/BootstrapWorkerFactory.php @@ -0,0 +1,79 @@ +bootstrapPath = $bootstrapFilePath; + $this->className = $envClassName; + } + /** + * {@inheritdoc} + * + * The type of worker created depends on the extensions available. If multi-threading is enabled, a WorkerThread + * will be created. If threads are not available a WorkerProcess will be created. + */ + public function create() + { + if (Parallel::isSupported()) { + $phabelReturn = new WorkerParallel($this->className, $this->bootstrapPath); + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (Thread::isSupported()) { + $phabelReturn = new WorkerThread($this->className, $this->bootstrapPath); + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = new WorkerProcess($this->className, [], \getenv("AMP_PHP_BINARY") ?: (\defined("AMP_PHP_BINARY") ? \AMP_PHP_BINARY : null), $this->bootstrapPath); + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/CallableTask.php b/vendor-bundle/amphp/parallel/lib/Worker/CallableTask.php new file mode 100644 index 000000000..786f1b075 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/CallableTask.php @@ -0,0 +1,41 @@ +callable = $callable; + $this->args = $args; + } + public function run(Environment $environment) + { + if ($this->callable instanceof \__PHP_Incomplete_Class) { + throw new \Error('When using a class instance as a callable, the class must be autoloadable'); + } + if (\is_array($this->callable) && (isset($this->callable[0]) ? $this->callable[0] : null) instanceof \__PHP_Incomplete_Class) { + throw new \Error('When using a class instance method as a callable, the class must be autoloadable'); + } + if (!\is_callable($this->callable)) { + $message = 'User-defined functions must be autoloadable (that is, defined in a file autoloaded by composer)'; + if (\is_string($this->callable)) { + $message .= \sprintf("; unable to load function '%s'", $this->callable); + } + throw new \Error($message); + } + $phabel_d75a561f64a41f7d = $this->callable; + return $phabel_d75a561f64a41f7d(...$this->args); + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/DefaultPool.php b/vendor-bundle/amphp/parallel/lib/Worker/DefaultPool.php new file mode 100644 index 000000000..724fae551 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/DefaultPool.php @@ -0,0 +1,294 @@ +maxSize = $maxSize; + // Use the global factory if none is given. + $this->factory = $factory ?: factory(); + $this->workers = new \SplObjectStorage(); + $this->idleWorkers = new \SplQueue(); + $this->busyQueue = new \SplQueue(); + $workers = $this->workers; + $idleWorkers = $this->idleWorkers; + $busyQueue = $this->busyQueue; + $this->push = static function (Worker $worker) use($workers, $idleWorkers, $busyQueue) { + if (!$workers->contains($worker) || ($workers[$worker] -= 1) > 0) { + return; + } + // Worker is completely idle, remove from busy queue and add to idle queue. + foreach ($busyQueue as $key => $busy) { + if ($busy === $worker) { + unset($busyQueue[$key]); + break; + } + } + $idleWorkers->push($worker); + }; + } + public function __destruct() + { + if ($this->isRunning()) { + $this->kill(); + } + } + /** + * Checks if the pool is running. + * + * @return bool True if the pool is running, otherwise false. + */ + public function isRunning() + { + $phabelReturn = $this->running; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Checks if the pool has any idle workers. + * + * @return bool True if the pool has at least one idle worker, otherwise false. + */ + public function isIdle() + { + $phabelReturn = $this->idleWorkers->count() > 0 || $this->workers->count() === 0; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getMaxSize() + { + $phabelReturn = $this->maxSize; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getWorkerCount() + { + $phabelReturn = $this->workers->count(); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getIdleWorkerCount() + { + $phabelReturn = $this->idleWorkers->count(); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Enqueues a {@see Task} to be executed by the worker pool. + * + * @param Task $task The task to enqueue. + * + * @return Promise The return value of Task::run(). + * + * @throws StatusError If the pool has been shutdown. + * @throws TaskFailureThrowable If the task throws an exception. + */ + public function enqueue(Task $task) + { + $worker = $this->pull(); + $promise = $worker->enqueue($task); + $promise->onResolve(function () use($worker) { + $phabel_952f19190862811f = $this->push; + $phabel_952f19190862811f($worker); + }); + $phabelReturn = $promise; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Shuts down the pool and all workers in it. + * + * @return Promise Array of exit status from all workers. + * + * @throws StatusError If the pool has not been started. + */ + public function shutdown() + { + if ($this->exitStatus) { + $phabelReturn = $this->exitStatus; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $this->running = \false; + $shutdowns = []; + foreach ($this->workers as $worker) { + if ($worker->isRunning()) { + $shutdowns[] = $worker->shutdown(); + } + } + $phabelReturn = $this->exitStatus = Promise\all($shutdowns); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Kills all workers in the pool and halts the worker pool. + */ + public function kill() + { + $this->running = \false; + foreach ($this->workers as $worker) { + \assert($worker instanceof Worker); + if ($worker->isRunning()) { + $worker->kill(); + } + } + } + /** + * {@inheritdoc} + */ + public function getWorker() + { + $phabelReturn = new Internal\PooledWorker($this->pull(), $this->push); + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Pulls a worker from the pool. + * + * @return Worker + * @throws StatusError + */ + private function pull() + { + if (!$this->isRunning()) { + throw new StatusError("The pool was shutdown"); + } + do { + if ($this->idleWorkers->isEmpty()) { + if ($this->getWorkerCount() >= $this->maxSize) { + // All possible workers busy, so shift from head (will be pushed back onto tail below). + $worker = $this->busyQueue->shift(); + } else { + // Max worker count has not been reached, so create another worker. + $worker = $this->factory->create(); + if (!$worker->isRunning()) { + throw new WorkerException('Worker factory did not create a viable worker'); + } + $this->workers->attach($worker, 0); + break; + } + } else { + // Shift a worker off the idle queue. + $worker = $this->idleWorkers->shift(); + } + \assert($worker instanceof Worker); + if ($worker->isRunning()) { + break; + } + // Worker crashed; trigger error and remove it from the pool. + asyncCall(function () use($worker) { + try { + $code = (yield $worker->shutdown()); + \trigger_error('Worker in pool exited unexpectedly with code ' . $code, \E_USER_WARNING); + } catch (\Exception $exception) { + \trigger_error('Worker in pool crashed with exception on shutdown: ' . $exception->getMessage(), \E_USER_WARNING); + } catch (\Error $exception) { + \trigger_error('Worker in pool crashed with exception on shutdown: ' . $exception->getMessage(), \E_USER_WARNING); + } + }); + $this->workers->detach($worker); + } while (\true); + $this->busyQueue->push($worker); + $this->workers[$worker] += 1; + $phabelReturn = $worker; + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/DefaultWorkerFactory.php b/vendor-bundle/amphp/parallel/lib/Worker/DefaultWorkerFactory.php new file mode 100644 index 000000000..0c5ebb561 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/DefaultWorkerFactory.php @@ -0,0 +1,65 @@ +className = $envClassName; + } + /** + * {@inheritdoc} + * + * The type of worker created depends on the extensions available. If multi-threading is enabled, a WorkerThread + * will be created. If threads are not available a WorkerProcess will be created. + */ + public function create() + { + if (Parallel::isSupported()) { + $phabelReturn = new WorkerParallel($this->className); + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (Thread::isSupported()) { + $phabelReturn = new WorkerThread($this->className); + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = new WorkerProcess($this->className, [], \getenv("AMP_PHP_BINARY") ?: (\defined("AMP_PHP_BINARY") ? \AMP_PHP_BINARY : null)); + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/Environment.php b/vendor-bundle/amphp/parallel/lib/Worker/Environment.php new file mode 100644 index 000000000..2b3229fac --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/Environment.php @@ -0,0 +1,33 @@ +task = $task; + $this->id = $id++; + } + public function getId() + { + $phabelReturn = $this->id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getTask() + { + // Classes that cannot be autoloaded will be unserialized as an instance of __PHP_Incomplete_Class. + if ($this->task instanceof \__PHP_Incomplete_Class) { + throw new \Error(\sprintf("Classes implementing %s must be autoloadable by the Composer autoloader", Task::class)); + } + $phabelReturn = $this->task; + if (!$phabelReturn instanceof Task) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Task, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/Internal/PooledWorker.php b/vendor-bundle/amphp/parallel/lib/Worker/Internal/PooledWorker.php new file mode 100644 index 000000000..1584c3a13 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/Internal/PooledWorker.php @@ -0,0 +1,91 @@ +worker = $worker; + $this->push = $push; + } + /** + * Automatically pushes the worker back into the queue. + */ + public function __destruct() + { + $phabel_add02d4737e85587 = $this->push; + $phabel_add02d4737e85587($this->worker); + } + /** + * {@inheritdoc} + */ + public function isRunning() + { + $phabelReturn = $this->worker->isRunning(); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function isIdle() + { + $phabelReturn = $this->worker->isIdle(); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function enqueue(Task $task) + { + $phabelReturn = $this->worker->enqueue($task); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function shutdown() + { + $phabelReturn = $this->worker->shutdown(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function kill() + { + $this->worker->kill(); + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskFailure.php b/vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskFailure.php new file mode 100644 index 000000000..7f2054c22 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskFailure.php @@ -0,0 +1,71 @@ +type = \get_class($exception); + $this->parent = $exception instanceof \Error ? self::PARENT_ERROR : self::PARENT_EXCEPTION; + $this->message = $exception->getMessage(); + $this->code = $exception->getCode(); + $this->trace = Sync\flattenThrowableBacktrace($exception); + if ($previous = $exception->getPrevious()) { + $this->previous = new self($id, $previous); + } + } + public function promise() + { + $phabelReturn = new Failure($this->createException()); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function createException() + { + $previous = $this->previous ? $this->previous->createException() : null; + if ($this->parent === self::PARENT_ERROR) { + $phabelReturn = new TaskFailureError($this->type, $this->message, $this->code, $this->trace, $previous); + if (!$phabelReturn instanceof TaskFailureThrowable) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type TaskFailureThrowable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = new TaskFailureException($this->type, $this->message, $this->code, $this->trace, $previous); + if (!$phabelReturn instanceof TaskFailureThrowable) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type TaskFailureThrowable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskResult.php b/vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskResult.php new file mode 100644 index 000000000..d83955793 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskResult.php @@ -0,0 +1,44 @@ +id = $id; + } + /** + * @return string Task identifier. + */ + public function getId() + { + $phabelReturn = $this->id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return Promise Resolved with the task result or failure reason. + */ + public abstract function promise(); +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskSuccess.php b/vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskSuccess.php new file mode 100644 index 000000000..b83f620c6 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/Internal/TaskSuccess.php @@ -0,0 +1,41 @@ +result = $result; + } + public function promise() + { + if ($this->result instanceof \__PHP_Incomplete_Class) { + $phabelReturn = new Failure(new \Error(\sprintf("Class instances returned from %s::run() must be autoloadable by the Composer autoloader", Task::class))); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = new Success($this->result); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/Internal/WorkerProcess.php b/vendor-bundle/amphp/parallel/lib/Worker/Internal/WorkerProcess.php new file mode 100644 index 000000000..db3c75111 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/Internal/WorkerProcess.php @@ -0,0 +1,86 @@ +process = new Process($script, null, $env, $binary); + } + public function receive() + { + $phabelReturn = $this->process->receive(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function send($data) + { + $phabelReturn = $this->process->send($data); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function isRunning() + { + $phabelReturn = $this->process->isRunning(); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function start() + { + $phabelReturn = call(function () { + $result = (yield $this->process->start()); + $stdout = $this->process->getStdout(); + $stdout->unreference(); + $stderr = $this->process->getStderr(); + $stderr->unreference(); + ByteStream\pipe($stdout, ByteStream\getStdout()); + ByteStream\pipe($stderr, ByteStream\getStderr()); + return $result; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function kill() + { + if ($this->process->isRunning()) { + $this->process->kill(); + } + } + public function join() + { + $phabelReturn = $this->process->join(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/Internal/worker-process.php b/vendor-bundle/amphp/parallel/lib/Worker/Internal/worker-process.php new file mode 100644 index 000000000..90d09fdc3 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/Internal/worker-process.php @@ -0,0 +1,39 @@ +run(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +}; diff --git a/vendor-bundle/amphp/parallel/lib/Worker/Pool.php b/vendor-bundle/amphp/parallel/lib/Worker/Pool.php new file mode 100644 index 000000000..e10212934 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/Pool.php @@ -0,0 +1,39 @@ +name = $name; + $this->trace = $trace; + } + /** + * @deprecated Use TaskFailureThrowable::getOriginalClassName() instead. + * + * Returns the class name of the error thrown from the task. + * + * @return string + */ + public function getName() + { + $phabelReturn = $this->name; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @deprecated Use TaskFailureThrowable::getOriginalTraceAsString() instead. + * + * Gets the stack trace at the point the error was thrown in the task. + * + * @return string + */ + public function getWorkerTrace() + { + $phabelReturn = $this->trace; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/TaskException.php b/vendor-bundle/amphp/parallel/lib/Worker/TaskException.php new file mode 100644 index 000000000..d45e19cd1 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/TaskException.php @@ -0,0 +1,88 @@ +name = $name; + $this->trace = $trace; + } + /** + * @deprecated Use TaskFailureThrowable::getOriginalClassName() instead. + * + * Returns the class name of the exception thrown from the task. + * + * @return string + */ + public function getName() + { + $phabelReturn = $this->name; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @deprecated Use TaskFailureThrowable::getOriginalTraceAsString() instead. + * + * Gets the stack trace at the point the exception was thrown in the task. + * + * @return string + */ + public function getWorkerTrace() + { + $phabelReturn = $this->trace; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/TaskFailureError.php b/vendor-bundle/amphp/parallel/lib/Worker/TaskFailureError.php new file mode 100644 index 000000000..c75a8ceeb --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/TaskFailureError.php @@ -0,0 +1,117 @@ +originalMessage = $message; + $this->originalCode = $code; + $this->originalTrace = $trace; + } + /** + * @return string Original exception class name. + */ + public function getOriginalClassName() + { + $phabelReturn = $this->getName(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return string Original exception message. + */ + public function getOriginalMessage() + { + $phabelReturn = $this->originalMessage; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return int|string Original exception code. + */ + public function getOriginalCode() + { + return $this->originalCode; + } + /** + * Returns the original exception stack trace. + * + * @return array Same as {@see Throwable::getTrace()}, except all function arguments are formatted as strings. + */ + public function getOriginalTrace() + { + $phabelReturn = $this->originalTrace; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Original backtrace flattened to a human-readable string. + * + * @return string + */ + public function getOriginalTraceAsString() + { + $phabelReturn = $this->getWorkerTrace(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/TaskFailureException.php b/vendor-bundle/amphp/parallel/lib/Worker/TaskFailureException.php new file mode 100644 index 000000000..1d6988f56 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/TaskFailureException.php @@ -0,0 +1,117 @@ +originalMessage = $message; + $this->originalCode = $code; + $this->originalTrace = $trace; + } + /** + * @return string Original exception class name. + */ + public function getOriginalClassName() + { + $phabelReturn = $this->getName(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return string Original exception message. + */ + public function getOriginalMessage() + { + $phabelReturn = $this->originalMessage; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return int|string Original exception code. + */ + public function getOriginalCode() + { + return $this->originalCode; + } + /** + * Returns the original exception stack trace. + * + * @return array Same as {@see Throwable::getTrace()}, except all function arguments are formatted as strings. + */ + public function getOriginalTrace() + { + $phabelReturn = $this->originalTrace; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Original backtrace flattened to a human-readable string. + * + * @return string + */ + public function getOriginalTraceAsString() + { + $phabelReturn = $this->getWorkerTrace(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/TaskFailureThrowable.php b/vendor-bundle/amphp/parallel/lib/Worker/TaskFailureThrowable.php new file mode 100644 index 000000000..3faa7b65e --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/TaskFailureThrowable.php @@ -0,0 +1,34 @@ +channel = $channel; + $this->environment = $environment; + } + /** + * Runs the task runner, receiving tasks from the parent and sending the result of those tasks. + * + * @return \Amp\Promise + */ + public function run() + { + $phabelReturn = new Coroutine($this->execute()); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @coroutine + * + * @return \Generator + */ + private function execute() + { + $job = (yield $this->channel->receive()); + while ($job instanceof Internal\Job) { + try { + $result = (yield call([$job->getTask(), "run"], $this->environment)); + $result = new Internal\TaskSuccess($job->getId(), $result); + } catch (\Exception $exception) { + $result = new Internal\TaskFailure($job->getId(), $exception); + } catch (\Error $exception) { + $result = new Internal\TaskFailure($job->getId(), $exception); + } + $job = null; + // Free memory from last job. + try { + (yield $this->channel->send($result)); + } catch (SerializationException $exception) { + // Could not serialize task result. + (yield $this->channel->send(new Internal\TaskFailure($result->getId(), $exception))); + } + $result = null; + // Free memory from last result. + $job = (yield $this->channel->receive()); + } + return $job; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/TaskWorker.php b/vendor-bundle/amphp/parallel/lib/Worker/TaskWorker.php new file mode 100644 index 000000000..c10938650 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/TaskWorker.php @@ -0,0 +1,218 @@ +isRunning()) { + throw new \Error("The context was already running"); + } + $this->context = $context; + $context =& $this->context; + $pending =& $this->pending; + \register_shutdown_function(static function () use(&$context, &$pending) { + if ($context === null || !$context->isRunning()) { + return; + } + try { + Promise\wait(Promise\timeout(call(function () use($context, $pending) { + if ($pending) { + (yield $pending); + } + (yield $context->send(0)); + return (yield $context->join()); + }), self::SHUTDOWN_TIMEOUT)); + } catch (\Exception $exception) { + if ($context !== null) { + $context->kill(); + } + } catch (\Error $exception) { + if ($context !== null) { + $context->kill(); + } + } + }); + } + /** + * {@inheritdoc} + */ + public function isRunning() + { + $phabelReturn = !$this->started || $this->exitStatus === null && $this->context !== null && $this->context->isRunning(); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + // Report as running unless shutdown or crashed. + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function isIdle() + { + $phabelReturn = $this->pending === null; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function enqueue(Task $task) + { + if ($this->exitStatus) { + throw new StatusError("The worker has been shut down"); + } + $promise = $this->pending = call(function () use($task) { + if ($this->pending) { + try { + (yield $this->pending); + } catch (\Exception $exception) { + // Ignore error from prior job. + } catch (\Error $exception) { + // Ignore error from prior job. + } + } + if ($this->exitStatus !== null || $this->context === null) { + throw new WorkerException("The worker was shutdown"); + } + if (!$this->context->isRunning()) { + if ($this->started) { + throw new WorkerException("The worker crashed"); + } + $this->started = \true; + (yield $this->context->start()); + } + $job = new Internal\Job($task); + try { + (yield $this->context->send($job)); + $result = (yield $this->context->receive()); + } catch (ChannelException $exception) { + try { + (yield Promise\timeout($this->context->join(), self::ERROR_TIMEOUT)); + } catch (TimeoutException $timeout) { + $this->kill(); + throw new WorkerException("The worker failed unexpectedly", 0, $exception); + } + throw new WorkerException("The worker exited unexpectedly", 0, $exception); + } + if (!$result instanceof Internal\TaskResult) { + $this->kill(); + throw new WorkerException("Context did not return a task result"); + } + if ($result->getId() !== $job->getId()) { + $this->kill(); + throw new WorkerException("Task results returned out of order"); + } + return $result->promise(); + }); + $promise->onResolve(function () use($promise) { + if ($this->pending === $promise) { + $this->pending = null; + } + }); + $phabelReturn = $promise; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function shutdown() + { + if ($this->exitStatus !== null) { + $phabelReturn = $this->exitStatus; + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->context === null || !$this->context->isRunning()) { + $phabelReturn = $this->exitStatus = new Success(-1); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + // Context crashed? + } + $phabelReturn = $this->exitStatus = call(function () { + if ($this->pending) { + // If a task is currently running, wait for it to finish. + (yield Promise\any([$this->pending])); + } + (yield $this->context->send(0)); + try { + return (yield Promise\timeout($this->context->join(), self::SHUTDOWN_TIMEOUT)); + } catch (\Exception $exception) { + $this->context->kill(); + throw new WorkerException("Failed to gracefully shutdown worker", 0, $exception); + } catch (\Error $exception) { + $this->context->kill(); + throw new WorkerException("Failed to gracefully shutdown worker", 0, $exception); + } finally { + // Null properties to free memory because the shutdown function has references to these. + $this->context = null; + $this->pending = null; + } + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function kill() + { + if ($this->exitStatus !== null || $this->context === null) { + return; + } + if ($this->context->isRunning()) { + $this->context->kill(); + $this->exitStatus = new Failure(new WorkerException("The worker was killed")); + return; + } + $this->exitStatus = new Success(0); + // Null properties to free memory because the shutdown function has references to these. + $this->context = null; + $this->pending = null; + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/Worker.php b/vendor-bundle/amphp/parallel/lib/Worker/Worker.php new file mode 100644 index 000000000..2f61a043c --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/Worker.php @@ -0,0 +1,41 @@ + Resolves with the return value of {@see Task::run()}. + * + * @throws TaskFailureThrowable Promise fails if {@see Task::run()} throws an exception. + */ + public function enqueue(Task $task); + /** + * @return Promise Resolves with the worker exit code. + */ + public function shutdown(); + /** + * Immediately kills the context. + */ + public function kill(); +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/WorkerException.php b/vendor-bundle/amphp/parallel/lib/Worker/WorkerException.php new file mode 100644 index 000000000..44eccab72 --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/WorkerException.php @@ -0,0 +1,7 @@ +bindTo(null, null); + // Include file within unbound closure to protect scope. + $phabel_6af5a9d497f5ab37(); + } + if (!\class_exists($className)) { + throw new \Error(\sprintf("Invalid environment class name '%s'", $className)); + } + if (!\is_subclass_of($className, Environment::class)) { + throw new \Error(\sprintf("The class '%s' does not implement '%s'", $className, Environment::class)); + } + $environment = new $className(); + if (!\defined("AMP_WORKER")) { + \define("AMP_WORKER", \AMP_CONTEXT); + } + $runner = new TaskRunner($channel, $environment); + $phabelReturn = $runner->run(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + }, $envClassName, $bootstrapPath)); + } +} diff --git a/vendor-bundle/amphp/parallel/lib/Worker/functions.php b/vendor-bundle/amphp/parallel/lib/Worker/functions.php new file mode 100644 index 000000000..1131c24cf --- /dev/null +++ b/vendor-bundle/amphp/parallel/lib/Worker/functions.php @@ -0,0 +1,115 @@ + + */ +function enqueue(Task $task) +{ + $phabelReturn = pool()->enqueue($task); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Enqueues a callable to be executed by the global worker pool. + * + * @param callable $callable Callable needs to be serializable. + * @param mixed ...$args Arguments have to be serializable. + * + * @return Promise + */ +function enqueueCallable(callable $callable, ...$args) +{ + return enqueue(new CallableTask($callable, $args)); +} +/** + * Gets a worker from the global worker pool. + * + * @return \Amp\Parallel\Worker\Worker + */ +function worker() +{ + $phabelReturn = pool()->getWorker(); + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Creates a worker using the global worker factory. + * + * @return \Amp\Parallel\Worker\Worker + */ +function create() +{ + $phabelReturn = factory()->create(); + if (!$phabelReturn instanceof Worker) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Worker, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Gets or sets the global worker factory. + * + * @param WorkerFactory|null $factory + * + * @return WorkerFactory + */ +function factory(WorkerFactory $factory = null) +{ + if ($factory === null) { + $factory = Loop::getState(LOOP_FACTORY_IDENTIFIER); + if ($factory) { + $phabelReturn = $factory; + if (!$phabelReturn instanceof WorkerFactory) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type WorkerFactory, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $factory = new DefaultWorkerFactory(); + } + Loop::setState(LOOP_FACTORY_IDENTIFIER, $factory); + $phabelReturn = $factory; + if (!$phabelReturn instanceof WorkerFactory) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type WorkerFactory, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} diff --git a/vendor-bundle/amphp/parser/docs/Gemfile b/vendor-bundle/amphp/parser/docs/Gemfile new file mode 100644 index 000000000..ada6383b0 --- /dev/null +++ b/vendor-bundle/amphp/parser/docs/Gemfile @@ -0,0 +1,5 @@ +source "https://rubygems.org" +gem "github-pages" +gem "kramdown" +gem "jekyll-github-metadata" +gem "jekyll-relative-links" diff --git a/vendor-bundle/amphp/parser/docs/Gemfile.lock b/vendor-bundle/amphp/parser/docs/Gemfile.lock new file mode 100644 index 000000000..16e7a614c --- /dev/null +++ b/vendor-bundle/amphp/parser/docs/Gemfile.lock @@ -0,0 +1,202 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (4.2.8) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.5.1) + public_suffix (~> 2.0, >= 2.0.2) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (1.1.0) + ethon (0.10.1) + ffi (>= 1.3.0) + execjs (2.7.0) + faraday (0.12.1) + multipart-post (>= 1.2, < 3) + ffi (1.9.18) + forwardable-extended (2.6.0) + gemoji (3.0.0) + github-pages (139) + activesupport (= 4.2.8) + github-pages-health-check (= 1.3.3) + jekyll (= 3.4.3) + jekyll-avatar (= 0.4.2) + jekyll-coffeescript (= 1.0.1) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.9.2) + jekyll-gist (= 1.4.0) + jekyll-github-metadata (= 2.3.1) + jekyll-mentions (= 1.2.0) + jekyll-optional-front-matter (= 0.1.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.1.0) + jekyll-redirect-from (= 0.12.1) + jekyll-relative-links (= 0.4.0) + jekyll-sass-converter (= 1.5.0) + jekyll-seo-tag (= 2.2.3) + jekyll-sitemap (= 1.0.0) + jekyll-swiss (= 0.4.0) + jekyll-theme-architect (= 0.0.4) + jekyll-theme-cayman (= 0.0.4) + jekyll-theme-dinky (= 0.0.4) + jekyll-theme-hacker (= 0.0.4) + jekyll-theme-leap-day (= 0.0.4) + jekyll-theme-merlot (= 0.0.4) + jekyll-theme-midnight (= 0.0.4) + jekyll-theme-minimal (= 0.0.4) + jekyll-theme-modernist (= 0.0.4) + jekyll-theme-primer (= 0.2.1) + jekyll-theme-slate (= 0.0.4) + jekyll-theme-tactile (= 0.0.4) + jekyll-theme-time-machine (= 0.0.4) + jekyll-titles-from-headings (= 0.1.5) + jemoji (= 0.8.0) + kramdown (= 1.13.2) + liquid (= 3.0.6) + listen (= 3.0.6) + mercenary (~> 0.3) + minima (= 2.1.1) + rouge (= 1.11.1) + terminal-table (~> 1.4) + github-pages-health-check (1.3.3) + addressable (~> 2.3) + net-dns (~> 0.8) + octokit (~> 4.0) + public_suffix (~> 2.0) + typhoeus (~> 0.7) + html-pipeline (2.6.0) + activesupport (>= 2) + nokogiri (>= 1.4) + i18n (0.8.4) + jekyll (3.4.3) + addressable (~> 2.4) + colorator (~> 1.0) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 1.1) + kramdown (~> 1.3) + liquid (~> 3.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (~> 1.7) + safe_yaml (~> 1.0) + jekyll-avatar (0.4.2) + jekyll (~> 3.0) + jekyll-coffeescript (1.0.1) + coffee-script (~> 2.2) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.9.2) + jekyll (~> 3.3) + jekyll-gist (1.4.0) + octokit (~> 4.2) + jekyll-github-metadata (2.3.1) + jekyll (~> 3.1) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.2.0) + activesupport (~> 4.0) + html-pipeline (~> 2.3) + jekyll (~> 3.0) + jekyll-optional-front-matter (0.1.2) + jekyll (~> 3.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.1.0) + jekyll (~> 3.0) + jekyll-redirect-from (0.12.1) + jekyll (~> 3.3) + jekyll-relative-links (0.4.0) + jekyll (~> 3.3) + jekyll-sass-converter (1.5.0) + sass (~> 3.4) + jekyll-seo-tag (2.2.3) + jekyll (~> 3.3) + jekyll-sitemap (1.0.0) + jekyll (~> 3.3) + jekyll-swiss (0.4.0) + jekyll-theme-architect (0.0.4) + jekyll (~> 3.3) + jekyll-theme-cayman (0.0.4) + jekyll (~> 3.3) + jekyll-theme-dinky (0.0.4) + jekyll (~> 3.3) + jekyll-theme-hacker (0.0.4) + jekyll (~> 3.3) + jekyll-theme-leap-day (0.0.4) + jekyll (~> 3.3) + jekyll-theme-merlot (0.0.4) + jekyll (~> 3.3) + jekyll-theme-midnight (0.0.4) + jekyll (~> 3.3) + jekyll-theme-minimal (0.0.4) + jekyll (~> 3.3) + jekyll-theme-modernist (0.0.4) + jekyll (~> 3.3) + jekyll-theme-primer (0.2.1) + jekyll (~> 3.3) + jekyll-theme-slate (0.0.4) + jekyll (~> 3.3) + jekyll-theme-tactile (0.0.4) + jekyll (~> 3.3) + jekyll-theme-time-machine (0.0.4) + jekyll (~> 3.3) + jekyll-titles-from-headings (0.1.5) + jekyll (~> 3.3) + jekyll-watch (1.5.0) + listen (~> 3.0, < 3.1) + jemoji (0.8.0) + activesupport (~> 4.0) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0) + kramdown (1.13.2) + liquid (3.0.6) + listen (3.0.6) + rb-fsevent (>= 0.9.3) + rb-inotify (>= 0.9.7) + mercenary (0.3.6) + mini_portile2 (2.2.0) + minima (2.1.1) + jekyll (~> 3.3) + minitest (5.10.2) + multipart-post (2.0.0) + net-dns (0.8.0) + nokogiri (1.8.0) + mini_portile2 (~> 2.2.0) + octokit (4.7.0) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.14.0) + forwardable-extended (~> 2.6) + public_suffix (2.0.5) + rb-fsevent (0.9.8) + rb-inotify (0.9.8) + ffi (>= 0.5.0) + rouge (1.11.1) + safe_yaml (1.0.4) + sass (3.4.24) + sawyer (0.8.1) + addressable (>= 2.3.5, < 2.6) + faraday (~> 0.8, < 1.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (0.8.0) + ethon (>= 0.8.0) + tzinfo (1.2.3) + thread_safe (~> 0.1) + unicode-display_width (1.2.1) + +PLATFORMS + ruby + +DEPENDENCIES + github-pages + jekyll-github-metadata + jekyll-relative-links + kramdown + +BUNDLED WITH + 1.15.0 diff --git a/vendor-bundle/amphp/parser/docs/_config.yml b/vendor-bundle/amphp/parser/docs/_config.yml new file mode 100644 index 000000000..086f15010 --- /dev/null +++ b/vendor-bundle/amphp/parser/docs/_config.yml @@ -0,0 +1,23 @@ +kramdown: + input: GFM + toc_levels: 2..3 + +baseurl: "/parser" +layouts_dir: ".shared/layout" + +exclude: ["Gemfile", "Gemfile.lock", "README.md", "vendor"] +include: [".shared"] + +repository: amphp/parser +gems: + - "jekyll-github-metadata" + - "jekyll-relative-links" + +defaults: + - scope: + path: "" + type: "pages" + values: + layout: "docs" + +asset_path: "/parser/.shared/asset" diff --git a/vendor-bundle/amphp/parser/lib/InvalidDelimiterError.php b/vendor-bundle/amphp/parser/lib/InvalidDelimiterError.php new file mode 100644 index 000000000..b17a91251 --- /dev/null +++ b/vendor-bundle/amphp/parser/lib/InvalidDelimiterError.php @@ -0,0 +1,34 @@ +current(); + $prefix .= \sprintf("; %s yielded at key %s", \is_object($yielded) ? \get_class($yielded) : \gettype($yielded), \var_export($generator->key(), \true)); + if (!$generator->valid()) { + parent::__construct($prefix, 0, $previous); + return; + } + $reflGen = new \ReflectionGenerator($generator); + $exeGen = $reflGen->getExecutingGenerator(); + if ($isSubgenerator = $exeGen !== $generator) { + $reflGen = new \ReflectionGenerator($exeGen); + } + parent::__construct(\sprintf("%s on line %s in %s", $prefix, $reflGen->getExecutingLine(), $reflGen->getExecutingFile()), 0, $previous); + } +} diff --git a/vendor-bundle/amphp/parser/lib/Parser.php b/vendor-bundle/amphp/parser/lib/Parser.php new file mode 100644 index 000000000..dfeb53e4c --- /dev/null +++ b/vendor-bundle/amphp/parser/lib/Parser.php @@ -0,0 +1,129 @@ +generator = $generator; + $this->delimiter = $this->generator->current(); + if (!$this->generator->valid()) { + $this->generator = null; + return; + } + if ($this->delimiter !== null && (!\is_int($this->delimiter) || $this->delimiter <= 0) && (!\is_string($this->delimiter) || !\strlen($this->delimiter))) { + throw new InvalidDelimiterError($generator, \sprintf("Invalid value yielded: Expected NULL, an int greater than 0, or a non-empty string; %s given", \is_object($this->delimiter) ? \sprintf("instance of %s", \get_class($this->delimiter)) : \gettype($this->delimiter))); + } + } + /** + * Cancels the generator parser and returns any remaining data in the internal buffer. Writing data after calling + * this method will result in an error. + * + * @return string + */ + public final function cancel() + { + $this->generator = null; + $phabelReturn = $this->buffer; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return bool True if the parser can still receive more data to parse, false if it has ended and calling push + * will throw an exception. + */ + public final function isValid() + { + $phabelReturn = $this->generator !== null; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Adds data to the internal buffer and tries to continue parsing. + * + * @param string $data Data to append to the internal buffer. + * + * @throws InvalidDelimiterError If the generator yields an invalid delimiter. + * @throws \Error If parsing has already been cancelled. + * @throws \Throwable If the generator throws. + */ + public final function push($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + if ($this->generator === null) { + throw new \Error("The parser is no longer writable"); + } + $this->buffer .= $data; + $end = \false; + try { + while ($this->buffer !== "") { + if (\is_int($this->delimiter)) { + if (\strlen($this->buffer) < $this->delimiter) { + break; + // Too few bytes in buffer. + } + $send = \substr($this->buffer, 0, $this->delimiter); + $this->buffer = \substr($this->buffer, $this->delimiter); + } elseif (\is_string($this->delimiter)) { + if (($position = \strpos($this->buffer, $this->delimiter)) === \false) { + break; + } + $send = \substr($this->buffer, 0, $position); + $this->buffer = \substr($this->buffer, $position + \strlen($this->delimiter)); + } else { + $send = $this->buffer; + $this->buffer = ""; + } + $this->delimiter = $this->generator->send($send); + if (!$this->generator->valid()) { + $end = \true; + break; + } + if ($this->delimiter !== null && (!\is_int($this->delimiter) || $this->delimiter <= 0) && (!\is_string($this->delimiter) || !\strlen($this->delimiter))) { + throw new InvalidDelimiterError($this->generator, \sprintf("Invalid value yielded: Expected NULL, an int greater than 0, or a non-empty string; %s given", \is_object($this->delimiter) ? \sprintf("instance of %s", \get_class($this->delimiter)) : \gettype($this->delimiter))); + } + } + } catch (\Exception $exception) { + $end = \true; + throw $exception; + } catch (\Error $exception) { + $end = \true; + throw $exception; + } finally { + if ($end) { + $this->generator = null; + } + } + } +} diff --git a/vendor-bundle/amphp/process/appveyor.yml b/vendor-bundle/amphp/process/appveyor.yml new file mode 100644 index 000000000..9768cc702 --- /dev/null +++ b/vendor-bundle/amphp/process/appveyor.yml @@ -0,0 +1,41 @@ +build: false +shallow_clone: false + +platform: + - x86 + - x64 + +clone_folder: c:\Phabel\projects\amphp + +cache: + - c:\Phabel\tools\php74 -> appveyor.yml + +init: + - SET PATH=C:\Program Phabel\Files\OpenSSL;c:\Phabel\tools\php74;%PATH% + - SET COMPOSER_NO_INTERACTION=1 + - SET PHP=1 + - SET ANSICON=121x90 (121x90) + +install: + - IF EXIST c:\Phabel\tools\php74 (SET PHP=0) + - IF %PHP%==1 sc config wuauserv start= auto + - IF %PHP%==1 net start wuauserv + - IF %PHP%==1 cinst -y OpenSSL.Light + - IF %PHP%==1 cinst -y php + - cd c:\Phabel\tools\php74 + - IF %PHP%==1 copy php.ini-production php.ini /Y + - IF %PHP%==1 echo date.timezone="UTC" >> php.ini + - IF %PHP%==1 echo extension_dir=ext >> php.ini + - IF %PHP%==1 echo extension=php_openssl.dll >> php.ini + - IF %PHP%==1 echo extension=php_mbstring.dll >> php.ini + - IF %PHP%==1 echo extension=php_fileinfo.dll >> php.ini + - cd c:\Phabel\projects\amphp + - appveyor DownloadFile https://getcomposer.org/composer.phar + - php composer.phar install --prefer-dist --no-progress + +test_script: + - cd c:\Phabel\projects\amphp + - phpdbg -qrr vendor/phpunit/phpunit/phpunit --colors=always --coverage-text --coverage-clover build/logs/clover.xml + # Disable for now, because it can't be combined and files can't be shown on coveralls.io + # https://github.com/php-coveralls/php-coveralls/issues/234 + # - vendor/bin/coveralls -v diff --git a/vendor-bundle/amphp/process/bin/windows/ProcessWrapper.exe b/vendor-bundle/amphp/process/bin/windows/ProcessWrapper.exe new file mode 100644 index 0000000000000000000000000000000000000000..a0a31ef5bd127798af22363792802cbd3e2b41b6 GIT binary patch literal 78848 zcmeFa2V7J~*9UxQii!ah6gw&^78FHnfP%OJ5flZ%jtC12(u7^b3c8>yD~i2Wtg)Ba z3yKOT0`{)h*Ju)BjAEk9_dj!Y1uV~#JkR@nzu))!-fQO0y>q9WbLPyMQ-+QA&eZ`SYr9sze7vSGJ?(d0I{Qc6-?Q=l=Cb}My_~E*;VnJW8n%;MUV1p79Jzm_w7MU563%%k-&-#K;iC%H(av=%ziHNui z1ea;NBGsh^JpYtYq2M<}5OV1uLl8FKp@+||SUtf76XP>T5Mn?3RQ@#!-(AWV-~~;; zd9{;E6Xf{%rUh;U7vZXf8&CYQ5`48gYaP2fK=hqh2qR{@?X4C@@I6U_^JZ)m16*yAu{lWf%W_>+0c`_nf>3llg zMG)j&57t2^CmP@us*>cd%|fZEnP7Ur=qR3iOlwH4q)YN&*d8R_ zIAJEX)9`j`K_z*qYx$}APw5g(gdqM4@Zn(YLr2OICT{{Tmk^k@0fh3jaT%B&>xy79 zi}k4MY~K=~Hbw0>sO_U^`#Dwx+UmgZAQ2_d{=!JjA#GuPKBu2$8U54}Ghg)x6MwbB zI6wqUC3&U(6GT-_dFkWpKOjf)2E72~6(XdHHUUiWN@myF1!V-0k7hFm*^EFQCX&`u zJDz=3%5Br+IcTr^%h+`K3_PeWr}r~64ft94u*B5nNk*t?^Z?^@PZ#8_S;{P9Eylw+JPgp_;U;}Yap?=HQzX`*&-A7Ak>jbj9mt=U+MEtGjlY53N{hA6 zhV&e2I`x6d`^^h|`#k$g_RKLmzODLvn_T64{W$aVzRa|-U|@dMVDedGWtP6<$+*{Q z?>DGpU|@1K-LQ^9u3A#!cv5aNz=tVb5)ooS1WoJOG-2lDupn*9U0ZN2PeFn(|6>@FQaw7^_QJhGLGJF|iwA+E)t(A^JIf zYY8r2f6!OUSOGrj_ZW>?Tp|8CZHRRPIEWQ}(j~8aBJ{9keAsvpAd4!LFogr_B9j3| z9s9Ks=|FR0aYO8+++-Zb^l+L;UMWlT~Nwr~0178>6h0#G9caj%keGfcq zDt&vPM%sbWy-PwN$Mh?yydSH*HQ)e!kTXZZ_gZjWU2vTi?1Qy{(ukMJ(`L{4iZV_2 z)z?jUfkE{U^)l%0Y9KequtkJ~t8Q517d6jH-U~VI###_* z;(bNptLuP$)%^`IlQJg{7a>B=N0a&&V_+1p%)1-)v+OT4liY!%&{$*MXl5#`2m36w z`84H3WBtihT$CjSlYg_%%I0!RTMhg)Kr67h*!5N4JOp+V{7oe%?cWAqM~E=_#7pXu zh)NN9Oz}b01;C;fc;+-XMCEQsGS@=ow6~A4)L?SHC@CSm01nW73BWZ2Ytr)Kf|!?! zU=lw+E}8bSE%tG7)t*)*Tif6bV$|3_KsDUj%>J#~WUpr6d&W|-Oq1(^NPLu^)aNw~ znOL|JBr|Q?8|&qg{absc^0T(I&rQ(MVb95?>czRN@!4*iRpAe`p9?@tODmjoYGgYFvoM zg^Gbn<`VBMHl{CXaddYr6fZg|OY{`B5agHS-$593^Ga?YH*$fX{loE;!b16{OS~D1 zRVY>iiC%<>8j!0&2NyyClW01tGtiC@(vz)e1Rvx!K)@%xx3#rT1m{ZdhJ>_kpn!v|&MMKh|_Z0t9#zdJii_f)vz9tmx0d_fM zD5yIf0eI$wj(HB?B+br8RvG$$j4Tws%^wBGtTRckma@UbU2jY|cd2JtcLMJya~W0y zdNupht85plF}by+#uGhZ?Yy`w8|;aehj~lG7pG;`c-09(YgBr%BR?Pehx)z!+jMuE z9Ki&D9419QSq4U67S?!$ z{!`ZJkZd--f!e_adL_yqkmK70#*L^hoVcXHn>)YSvT*Ofu zXUr^?pt>5csk244xd|$W%qYqy<;wEwT;y-YOzWFw$oc zS>l)8v`qDQ#xVM2lAXS4XA=OCAtG;@JRh9`KQC)*>{Dg9$rY$z1yC&=Pb&OrSLfY) ztxLr|VBQJT(@pJw>Kyw|n4=eK^kyQW{1mhiQO1CsWjD}Jvl<+aUGYUe3KCH8VjmEp zRUo`Lq-8kJ=b#CgRud2HzfA4YswDyGom?W`8oW(+a$y$6MC2RkDQ{RQgqM$hdP)hN zXx$KNVBT8FMtPNiyN(a8-7mO-;U#@go|QNC_mOQz6V2Od9JO+4N*!HY2hxKA zRL(`VLgjn|#Q|as+VRC228C4T45{A^oPqh!s1F1% zg*ptb0s5*kJ8u`^xigqR1Q3E=ZssFff>O;O0QkHeKBe&{$&j|D$FqE7F8%PaD}Ahi zkC;u~KUf+h{jB#QRDFIQf>Z3>nW`wPWS0F2|Eh$9VR`&9*|hs69W{CfOa-}>EQxC7 ze^K*i(3xtgog08s;-K7eVc1J#&p!%SI_g&tX;!il>LKlm9=2+Gu+KZJ58in9&@|)Z zyPMT=2YgZ-GD+t6`$RA;PMV^Z`G$DpG;0_jQvw3@6shNQwNo(Yp6X9AzgAL zFO5)H)8e&G!y;?%Jm!ZeL_?B1&KFTwb{GdN9K;tf z)ahec09z;WlC6*8P3im?lPD1F0u&7+j3Xd7H3aKv<4pPjNGfBe^FonKkmIJW57x2R zjCXwc&PTQY=xDr*MLY%>`)gca1A%MtH9@nF>mBl#^jX&1FqkIf57HFmfokWr=pa3r zmvSpcmQ2gJs|6C%PUBv}8#j$${>;J>?TMatvaE9S>@C8f z$)}vO1!xY0C3J>6AP*4(gKkEN5Bd-%6J3}MEF+_ywhPslT`bjhp*+gF5EP3!T!A87 zX&8%;JWReTnT)!WTl;A`a5E6PscEv5goqAjzImW#grIhzt+N4ywi9wopl+*iPqVQmsPY%29t+ZyCpGoPEV^=*p$RM3%Y1Dw^}p<;jkXsZ zSxI4(8T*2)`$T5C4(0-z5@oAFfP%+}P8z!pq5}I4ga__4C0rlo+Q2O9(|AYmW@K0; z`I^%hStkax(nr(}Z`!ltma%XTkbPK5eK}NJHPq2q(I_+}Pi_&a{$4-S(L-NhN=9Rr zAqo}u?6Y1N)z4Dq>Vd^;D$km@Pb>962a``?psZop>4u4cBhw92sMBE;?K!MZsCW_3 z+G$_I>QTS)X9}|jeP*$M3N(VeyHcYkZzPk00Ghj?1uB7sZ-~`t#Sek7ml&&J4Rc&T zIr#jEU}CW|Rr81DblNb&?DH||l#S7h#;DB4c+ucfXT)q}oym3)1jBR?P@me-KT%IB zPmRkI2X6JL6=ngj-3c~k;p7T7t(rqGkgg@P9P>FYChC%IiV}Hyv5K;*ps-dsrm(4v zrol?k6QW zR#7{&o4dZkEL53jC@89MgFbL1JhD?v1bJiX$4*_K@dUdE_{+!%t9CJFMbKt=r4n1y zluQtr`Y=sdiYKV?>F$Oy7l7)cs>Cc(L3ed$bqRr7kiryBnvZ-5Da`$4y$PRaeU1;2 z6FlZZn_QKHz!BUv0%i*hN#hyQt9@3esHV7MBS6|#{1WhQg z0BA~Q8beUjmaQi&Mxn8m>AA;4=}eXB^Bwx^`q^i&D~-mhW&~q!TWxBLyaf_1n}Zn& z7onU;Ap9Sf0D*LGvjNx>6(&BK8$<;d_IAu-u&WC|uq@+hvA*)935=LqDlcm@?qShv zpe71qICunK>@%k5X}qB_Pai6rA9axj^cp~ZdYpvaQAG_o#lcJ;tY@F6&OVIk`a;l%wiOWu)zrefCk8M%u&=TlUJWw!dfv8RCN%? zEfXN({OfcRMP>V}k%VlSdO~0r!_)H=I$^rR#3$YRgXSG+(SzVXGxSI|>1BFAPg!Cm zH&vEYkyllgRF@kmOR6fW5`XF`pXUv-ah{mr-Q$D^)nfxNt7g9>p zRLJCmktP#rk>^n-&(MQXJnWAwG6x@MaE0AHc9 z`JjyU#w~bN#~PyK4odj!nI_w%;haSbeKe+ALo#{ph|gLi zOJ1>K8t^a=DFBSMlc46oh$v^?loouXZ@75cBUUq27jrzz6Y)Ptt18H_E$Mf*~5zmy;4}xYdP)(KG zSvwhovCngb5Bv^b^;A`-0@*AOS(bzwx5Nkyc?~cSIFB8~ekzb5D99#LEjiVyOoI=} zF`~xk7;gHsn;3~H?r3fr5T;`>xcZen>()bF&tKz6Wx&ofAVNO?dq{yM5QwmA8XsN_ zm1_BGYHKSQv(B2kP@#ut&X6KqqB%&}D@{5wcV`psWL^19U6-Yo_6A@@<8Y zW)U91VtSe=>Tie^3-#F-&T8+MYCVc27Q?Ds&x40QT@Cg_5t23ckyC+0&_iv&E#su&7c%pw+#;LAv4BeGF%+DmJ+ zim0P;MvtJZQH1`G3#~FojfGUHKAi3rgX!MTkM0gWba(c`J#>~u0?(>P@~oi;&y0HW ztho!%Y@Lv;m}3-+Of3;ILwIhODMOwvG0v3Jd&(W`Q8`At!1{Xlx0XI;M&d2UXcX=Q zcaBjA{|cmyVzo~ZhJ(js2{}n}yz66{#dkGdLMkt#61<-*7Sz=Re5ZHW8dosK0}`+h zU_c#PlfT--$spJCfU9}>084`+JX9L<%EsWe<289*wYQ1m_a<>w)xC@jdYL%p#+fKj z**IQP`~*P`72?#3_uOs(qZ)L~$_`m;2^jp3CxPkIK87z09gF0Mld8|XGTr?h>b&Zh zH8Ojb-bfl)ImK8|R6c980(JE?)4^t%G++Q;G3=N%B3m;>e5o2CXyWiV}>h?`{mKmsOheqBq|U z(iLw4l*NrtP>TqwAqb1+vdg*lMkIYyk~b=Zge4y~Y}jyu+KUBfg0fwDD1}8z`Bqz257=DHGFlqR3=yplbdMydzan|D2OlBkPOqhqT4Lf1t--fX>n*Pbj;FJ!r(+% zO(7}(d($K$aTWWlLo^>VMd~Fv6Tt;}r6eewikes%npyycasq0|5G|ECiPRtmkw^KU zF)CcnB|E*crV{A=qMAtQHyCON=vqJPT~RZMF`ppn>oDY!SbW1nJ8R}j=^GHIMD$zu z2b}2l)aA%=49y&K;p2~;%qwg1HDFq4>^~vfr+y&uev01fT6<-(cE~@x?5T_7A z+&;@C`=9`-WXsk7ThU1ZKFyZVVIkb~Ag?qQKowgI*jSImJ{){Pe)hr5XppTjg4bK^ zVW>1VRCyR`o&kCOrjIxD-p$AaXqhfRXzwLeKd7PmC%NP656P2_$-|r(slAOaw1NYP z%L7@yK9-Y@%3&88Xbg$D;0jHdg?(0)o=W$H$#h?tME4&j)BRWi?xC|5uIE|$5}vJ; z^DHHnXB#4Uwq1s7#hjEC$kY-;RmuW9q|?J1Jmhc)NEWGGK1BGaQZo40&Hg@`Nf4H3 z09bM)o8i}S$&qXW?_iPagG!4D@lPMj-rY`@Y{nuIF{yVOb6A=!ieoYpMR^QjRyWxpDMueoOKa$+`qlwLh(LsVmyPotEzpGuH3{Fn#%Gc3T?K<+XRNPi3$iEwRRe4YY zI0Vy$S=q8a_B53w{OxId3c@>gL?Ox*~#;XwUIIbaqqE ze;=l*tQv2q>Tj$HFi}fxsJ$NpxM{zIM@v1`l46HwxiqpGj+Wes&~tE?Mk}i24vr9p ze9=8HD3JnBB4Yl(@z@aSE zQ}Krvm9zy@N-C=*fI@@u!G<_;F}Y(z<-zuO;;88(Zm0}Y@rJ6t#wuTcd}oUQY{@|_ z`5>>NEYugf3mmzHj^xRsM9d9yj0kJg6i_Z0%Lh?rChupTXR233`vv^gaCLi^D2prE z=P64nDeS?`?bj07l)1)Yb1;|iR`SX!lS<)h%C!>9A!`I)27eQ6G$cgKQH400HJ=5h zX3dlN-3%RcSC-E#ru5B z?=oIu&hM7|ZpH7`{BFbVGSn<%=>c%88n(&h+e5DUbaUYq#C`7TxN7Q?Ll!{OGqir4 zZA%9oQ-l}K@>%mFwEn-Vi~_TU3BnSjT}W9-`AAQZ-XK*SE(lggosfDX4MZA^lz^0m zv<7Jp(mAAJqz_0nN1%@&xB-z?A*CWkBMn6Afz%qw1nJc%5r$$sr=iU_q$DJ|Mj|)B zs~_^3$YYS=kzjEoL4Qu_gYw15p>ZWS;kgcSYL|;=x{f2?k8}sA!AP7X4HSeH$myDg zXSy=9??dq(g5-l#8z~y)xyT1AlM3H z7s7;SAxMZ6tdPeDa^zAW0f%sp@tReh2S}ww+O|X6yLsV6N}QAPjG#!75E46#{$-H)Fqgt7~ww|FPQfs!bLq0 zt_r{qjy@-F{9=SL9PTe+rP^`8nC}0sZ681xjwoDYg9;U82!9!7uWdNG%cn@>Ke7+jqwpG>gQQBDJhQr_fK& zqk%Q?7OfER`WC$ZZXW-e`IBLGi5~G-bwQjPzmB)K)`)Ijwy;8bS|>sH8p_ugt;w&= z|F`k{pXr}yPCb$A3FoUvoN2m?wEvv*ye6upV-@=LxU7zTZX%ZVc8 zJ?uI9Uk3I$v#0cYYr}lAt zR!An&_21*?%lp(xC!%-+Qkf(t+@d)RM2SFeL>H17VoqHD-^20cu24of+CR$V>({t8 zh|9dM^Ls@MzRu0Mnf?~7zqX$LPQNrqUvDd}65WpUCGQE~F)7~(i0(E*E6_ZK@3L`x zg@*HasmRS=Yx8X>O%TZWE=F>k*40Ghw69jA5zX(v#~~Igf^-0aNL*2$@6nz@d!aw? zyZnAH?qftJy1q6J(ShWqZr*8kq#Zw6J5tnV^!QIk|Ju00pap3q;v5BYT_%##sUl|I zf?I4&bS;wy-|oc<)YDP0j3zp1{7=UCwzU2>eZ_rLH=4NKtgxm?fBPEFUx)U8vwvEl ze}51D+I*JHN0~Gsy`gM&NHYxKoJI7e>%Z-Xpr&#EyIt(>!(oe&VxaTUnh@udXcmh% zQEG^5JeqUT`~Lp8Wtt=LM0p&`_e+0j`z`u>yN7>I9r#z^ZRq{C;r;e* zR}tE8!CO%;5Vie(J%3-~0KXCZjR%oFAldbTGaG3Q(j6q?j}Xo&qCX~+7H{<0sG0R&*IIw4%eg zW?EKT5S)PzS!U(+by@-BvnaDrM0>n{xpLxP;(S_bW5MC!{E14);uU3zLQ6Lvd?USF z^nH=^48kr%I(eDri##2%_(vWl+9Bxj#ZwtAb-4cPHXVeHLKmT(V5dzT&=0LN5oZw( zf?P*~3gz+eP~y`4rhq=4Ly@fgk$TaWvTr7MHb8n3~(HJ^RMpEXpt z;Bx(sFN)1r`O|p-{0TjHyuw9=xcYX&8uRV#Yv(+9tIJi5WaaS_^L}5m;s(VJ+`11R z6fcd7AKp7?oOF16j3O>rIy_Dq8xuc#e0X$7%=ma){1!y8G(O&Td|Xg$tTb-;Kxw2j zC|)|;M=TEzi`&J9jOL?>KQqu2&jv`1k=)(>Rj!)43 zE(7u2WAKu;eB#83A)`s}Fdm|-FAui%bmiliR45zD$1y8k<|o!OuTUn|vqYH_jn48wJ#(edKKOhUYZzVqLju%3WN{`(qPdMKmcm9Vy>Mk0K4S3CIs1sB9u%9TZ+Yyrwvlq*}0vLuwf zDp%HelptI|nWkLX_bAIpSp(2VcSVlE6J{{BT-j`t5%-vvE8Bsx5*Nf@%9RzM>=nws zcKu&$=>Of=kdNU&X;4U?@JOf&#zwwUxkpfRNTk#=Iy5FODo7q41Id@A?=F@5%0t9Y zg7Cm7ATC@k<&Cx&1q6l5`^3a~DnIaZAC#?rU!h0yf=1{ zpfG6wxZ1!IA^tf0`pXz;NS{bWyv)}tJYFtbFwz0-7xM`dA)tJ1A5@k^%i|`9E&AeH zxI8>4GJK+xmv|6%{uNrp#FlFy^pyi4H(n$3R_6A7OlOe7qdA^AMt>QSnl=au5Qg3Bl4>d7z9> zdt9f$;Fzc=OuE0@z(M`|JiR3yI@yUMTMD6ZQp{vsAu1@6{|-(x^(c=4RL#&&TwFAQ zrZ{#F+`^)zA%VPlEg>*4ULF!2qwP3wT>SXhxbSFsXdsuLfq_B6aq__Mn9+fuis)dW zo`C7*-RqV0q#e-Ui@rj|u7nz2e9?_UKgSaoFO>y`hDTxsfvyxb0ZQb7&<+CS6TqD9 zsI^qCfL?)FmjM$2Z~)-w(C{!toHTGeI5RLPE^M3tJuNW&(*%kiq|xKT<6@$tz-xlg zMhFZ;-`YA~R_H3W2PjcOx3cFzsW4cOg5^o`1CV&|6QK;HU#}7bBfuCN2x`TJ1q(uD z?b~<`R2{%7wyljPv2{-&Fisi<9tF;FzJvlXXF-uffIzHDj1Y*|$k9Q;W3cjd*oswo zO{sw1h)&Vc@qru&%m~52IfP*9T!9ub(Y#Z6&}fn+J<5%*{X+B01xjO#hB+6Z5E}Ba z<#92Qp|Qjh5dsk>JQ|;cpxAKRC}?uw(Y9z|E0YGr+D3M;?O?0r$PoeuUwVS zYT#GF%aI;98&)C=P-)2t59RQ(V%E?eT7K)YJ*gT@C2IBXG!LM^K+Fi z<(Lp;ACfP@ zv7#>Yl}&zk-4ng(oFvp21~rM>0+iF=w$Qb!nTz0|eNM7=5&X2zR?S_6NbU0)JpbSI z|4j;z#Y*-jOf2{%1X#8>+k!;)sc6mO;s37xpHRS%+ue3BMZN>ZqmUC{z?e(2M4o{h zS-H!Q%Ztq@hlwd_+gB?!q%W{%AR^KS^`jzr3#_%apqY9Uv zK;@&pQBF2y#Y?Q8^o{b2ZtejWrV!;vRMQ_A`wx06>Y?ObKM(gn~yVY z%gf#~!t}6Tmt948A528mUN&R!m#yW-w?R2|Z-u1C?|3LTKHk2#womIWY?<7-%HecL zaPHFn`4?6Wcz0>T$oE&b1V28X8NBw=#z6PmD;+9dU*-0x?U*j-h1RwE2_DU7)#%&a z-SmjsIUzfv=O25gcVb&7wP#0E-B{r=4|aV^5WBoB=9j&5ht1oQ(!+93`T!vnj)Caz z1wy>jwfg?Hn^Z%(xsP5FY5#KC@Fu?px>+n9*xfuN%(HI#@)(<^$LI8B+m=@Wiuw8UzUA!d4^mcqWIDUDBQAXeeui#>=S8oyQ8#{FIpO}F>yj?rTQ_O#hZ#W| zSYY?HH>Zv2apqL!*qaG4LETQD$+>fGr;=UYJc8ZbCug^h&eB}n7TITR#Jy4L5+7$R z8Gki5F(|Pw;5@WtN)I+K!h;>k@PB{ffO7f}A6M^_CyxAaV0kRNwq-QCyEl$K&dy*D zjwNrJn=mkP+0>BXsZkTWMtFu;E*t0AJbTHYDY>D{-CjE8iXxg8b_D<8xn-s8e--6LQ*U#`@ylvzLk>)c)*-SR`xa!+=BQ@Qph#P(-5jeA7++}ah%Zf*-^1t(qc!3?8*?|=-bYhp+^k=trgtI$)$Fe797qSP(XKeUkeyr!^ zo#TE!JI{rkNVQ`>CfTw%q0L!zzXr_Txi*_0-khCMcVq=iT-miv!`Tgtb9euE_V~=a z=YZL*XUB$>&Tg4BuP}22JCf3YEsJi+)WOy)(z`wj^{mIXO>U32ZtU_}9|nG7w|7Tl z+?jvg*&8?c$6&$W;EHHr)2z{!HxJF+ePKfwTRpxrOGA6$%_92NXS0@v6c@{q|U!{Xxgti>%!RH*?#QUk`e6s zZpG`XKZG5-_CwhI>)XQA7uWc9JDJ$fFn3mmPiv4KKv&^%rhnz)!&5yUWu>lpd@Aky zlk8bp4~|Zkoyu^jz9Yu0@>*{}Z{2`$LIUkxRfcSW9Qjh#Rp`FL3)Q7I#iruV#9HC2 z3(_Y!Q%gjxY3kb!KJYZ*8ltk=B3 z;>hN9N79_0oSEH)?V8e-EgsW?#q@9R!OzL!j=O!$1MVGb?j7n<=VHR3MsL?bHe}Co zU`5N_IShN!JlTSjXf`b&g6&!o$8PS5xmmclN3REmCJJX$X%{TJVx2GW{RVqZ=P}*# z?zl7^zZ1Kx^&qFl8LH7OS<-w3VYZ3b&&J8fF0a(~E_ zoF$Ph*cr^pmPBW^VnHg~zk4e?yj02_9ZQB>T0}D9X8!!HoiDC%7fz?yegYu6JB@## z9>za~Ibg%>cDx>JyXnc`b}RoFVmFt0x0%E`H}20GnAxm@|G=cFrG?PFjYYMPzRkXm z9MD1*J=Cd(Ma}9hAr}v&hcsgu)1%q#yZ70SCF9uDO(QWEk=RpaaM^g{hoDmzGTPU> zu%Ig+KiV;0h<3`;$JnZB1Cn&AVhV&&;{dbru4temdfw4EoqO~w)DsB2lZpN zaYiv)JMA`GG2srI6LObfKWDw0P5+^%eG~7siJm{7UM*!=o0Y|p!Tzm*Q1uxzX5_wj z`7_Hov6p4d_hL7<2J`W6Yz<+>ho-O_N9VD_tHu^$KeEeT?k)J#I${v-TDW+&^d{Rh z^C8kBwl?v8$=az8&n{7H%Kc$lJXeY?juU!Ty%{%A&@J9!IwvW??f zuyKCYY?PaX4Rdw|95(FSQZIJz#GH>OH%yG1p_(Ifc5rYzaNxinB_;3Kp&cvP@mbF7 z7WUpddt$|e{rF*)iajsf$nGCbyjQrywe`ZNdv$>8NQ|vQ+L@X3uxM`FxhLOu3k&(} z^m}3JbeGY2EBt@WU)GnMnAMH#oo>gDrgdQ#*ZQ&B2NFxq@0_-0M~Vc0bSG4EvTL|w z%ck}0rx!2T`W187g6NJMf0}y{h8Tu@h&?;Ml0C^;^w-r)-^ePJ^lL)YRUu|v9MAN( z&nz|FIQ>Pd(Ozk7P^7mqtfo=sWS72YRt`UPVSVtgSALLvxVAIyebJ5y_i{JIr!ODx zT5tV0+onzG7`F-atp9Z0*dA=ltPyOtx<6YS(}5MO8&Zb`~rombZHN z%88?$kF1_P=xkbSpSAMgT_z0e(|llO8%VLEU`a-dWAjlSO&hPD*lp6%=r${?>KJ#58_@8@t|@I;{vsE4WwjSOJzs)-B7oi9 z9m($Oj)Hy|$H#w~vyfdnv8Hs}+|cdN5nhv?RSdo9#(`v(zjeZ2M^{F^%19VEL(-*5 zt3;_&dO~2Aq{u-XM)|unZyP_P!>E}N&J)%pdagUDmfYMju|uhHM3bbB&8m+~8fNv^ zkJH*iuO=BdkX_64WtZ0vV=Klxu^A!l*vS>6*@L6g*t2sh*sr&bk*@W6$AXBD&vF*9 zCuiofr=SZxKhIml)~AO*_i?k$zO+M8dVSA0c6NQ#`x#MvZl7Nl^s!*=P7^?f0R8wJ@@0T#W5IvAs?S$phWK{H%?~BG2Yn6lGy!2liBUP@$AHc0qooYSL}VA z*v`pqp-(mYFuYft?OvU0@>( zBi?4`)}nJTNi5lHsWm$=y&b!-xEJ4t zss7bV3$_+V>$DCu^*?~vuzXGvNhOer$PrOoL$#V)Pz(CXzftiQ7L&t)Ly|MB_tSbrl{P7M1#^6LH>f8Bz~6uncc{sA=?v)gH21l499ZF^9vlXO1G*3BiM6Mb ze^~#;N2jyr1?$<<+@&Oc#&~vX+&cRQ<-Pj{CSZKRA9ROJdVXnNc2e!YjwH9|eQ!x< z!{*7FbGswKzcK66p(gY1Q5!P35nBYkgz_Mp|XUAvSeM*M_1L<4SVe?D} zt;1nI^lD#&Va>6m;Z|&AtPRUj*|A)VPlr(+TUZ2j`jVn?{ryKZxA|T^}4vVVeB4fMdelqGggcmsWWRE$eg9 zub-JVI_>_c`K(}#KlqSD)K)KThw!&O-kz z0?(2DNwSah^Xpi<9Cy$a^rkt-{43vGT<#%zU9?=tUo847VguRU+rLt!~PP66qs#-gCI`Rpa`_YoRY(%d*&fmM^_q5T?Sd@1I7Tl*U3&gq`<5iz6iLzm&AJF)hR`lUKuNxb447oCak6nB$ z`Q4SZ181L0xBc$I{BEDd);+XoSQ$Tj@RRVv%znM@9#6md6l?U#_E`3#+5`Gedp0|? z1;;nIk0lEN-%%RXyDn3Ow!@vR z+M>$&413*>U*u7qHRuPq1n@v-%v1KWyyc~jPO90}?NRL1l0j_a)E+E7yaP)MvttWm zJF{Ig`>?{bgE6;L*zJAe*o_^q!I0lONbidG@TuG^Smv%io7T3~c7H)HYf9}e#{9fs zH-5Jie!+5RE$2U?-Gph0Y?x@g~k}SCnHPH4rvt9CqIQX zUjB!#p7^2cbLnk_jdJS-&|ReaQ@U(En(li2)O?TMH%;q(f2Yc;_`)i`cjuP%gL>E} zKYNaI=84pf(TAtobUvzVTAdW^KZ*zc4@33uyIT-aUra=cIOlz;RX{~LJ zPq8#Om2CCz2mT+ZLB5+M;f;(pjB6XRU*&o`XPI9q@)yDRI5K0Lp`DdS99n|3D>>+7FN`CniZE#7IPn+Q|< zEGliD*kQ)W1zs3?FyCLuUrGD>xp`fo?{s20>Dcp;7oq&(a`=IkORx{Pa~+UyhOS%95V4E@XRWjZ}0f?vif>A7q|b95QuRq5a8A}>}#VQX<6OY zw=4cAf9v!f!m6>YWCzn+-<_TB2AG_4?MnC?aLKFyVvD;t`$8rZFouw;yN%U#pE-@@Jpe^f_qmyqthBF2X7H5LOO zIP9j6-d)UJ!-w`9cEm5xC;lW|mhkxjx-Qu{=jL_8+W217WuVVMcVQcndb3GU0W3it z%SQRTv;C_lv1?nUzZEQWjKe-#DQ^x%ga7>%?RY_mamqK0?p_!t>ylm4vEK02Xr+HT z%}$s+xN+iMr2{*j+KKI++Lo<_%`-QwIUDEOhPxjDS%n|wh^D;!AVA1OSEG^QJB~5}InRSxQnI6N=|1h3CgUzeS zUrn~hn+prN$3cHKJU_qtzeIriq?07i$Y(b)#u?jzYbv^gBjhx%3PT^jfuURBe^iqh1N=^`ryS z`koQmiKV7YXOEveWowqqVh1yP***9ZijOA4rkKa|`s+Ug{RX` zdlm>$qQB7zKDUQ4-3yu2;TZF7HTTzkt>!)RZk6#gwXkf< zYM7Xm7#ZpXH><~&IPbEGFq=Hm^Yys=^Br~hiayHn@Dty_ zXIUGtpFm<_Dr8s#@LeKxrF4-+@l?ddbjfESosO~otrz{(xuNusMYZPc=+Cf5^~ype zBSVu=Z)@ea!7cAZ`84|_VOYDTDT-m+U0q#Up-$yi4Xe!$|Gq8@3FyW0^3Jh$?@HL_ zbxYXcdA{&#>imkqh#Mt9zRu)+719SUE|(lHoZq=l(PAfI$0Tw~iWmH>LSQ<@HZM#9 z+@%D2R97VUT;pAf;Ag$URDstKr@G1JgxzFmqpq`QeplIe$t4EAI1BG`mi2En|CgpU zT@uivk#)nG&hukB{~qE|pV>C9%DlVPWrsJZSkR~u$@_M1BfFwei$*mH7tGIK8qIU| z=FMC9#3NZzrWo%c`coo({XX>chbPit8)qVhG3GsNI=@|s9fd&W$~y2tccT4;c7VH> z;2ztfkfjX0#?~d>XL}bvWd~L~WBZmoWxM7-Wjp3PW!q;zWn0xx*~XMdY;o*eHl_a+ zhV{byZP&hQQllpw9jTir>vcG5=`eP3u|Lb-G=?4CtbW#~x2tQUEQrQ6^z`)Hnwy); ze*5h=_UxI4%}*d3V+e;^2S52KZX;Is0BeEl=#2{!-Y=c#xgN0q>)b^i9DZ7}QQgn! zLuO_~I~K6y!B^qyeZclDB{(0m4a$ey|GIYS1GaL~Ew+5ZIkrfCh^0sEg4{UBmQJ|D zGN(Oas*yKXtWzO#Z$9& zKeEetn>d%k2lK|<;{NeXGaj*ZfR|uiJN14E{I};a;=+Ptg;ll@Z>0%LEHNG3Ww9FNISs?c*kX=tct2?lXNdJSq1bMoKy|}W2 zaC`te-{#UPZ(-)J8$yCdQT+VK+iXL!NNe(UQv&QPHef~GNY7~v=0}(c>&LYkmNmcc z9~3jDn9dIqTC?PljUhuDF)xSjnTPFg=3>(wzVIg4cU$w=GGednYSzj(d(!;|XRV79 zTDNW`ST}3tj$cMBdGh25D=jT$g$4O+&4liN-$nFG1LiW{5Pal_A5;ANDPqVkukGRU zacSlEaaY&&6CxdRDg*XqfcF=qKXtHEo|*KBjUT?@*E%(txOQ)2C#;QbXq*w*QF(U7 z(2rNv^y4_}h96^POiPwF+KSBxY|Iu%TElQLeCv^q;P5P z>Zzmi^+0FywNs1Rt({Wb54jv^Ir!(qy2OWfmL^<%cy8gmA$H`|` z1--nwHGf)Q02E`Tmn{Q5$1{uT$iqMeOJ6``ClSQ$N7Q zh;CND`hc#j%|ja3HtuO;!2j>4bYzN-L4EUDKenl`EX=af_CyDlACf(i4=x;eq+oN@ zog>S`3-dNcpFg~4rd8L~n(>llS7NR!Qhk-`2`xG5PB@k8cH?+m7Wg zK`a9P;Ij*QvxPAo5xe$5To5+SC*Q0Ne)ve?x8X68{7s0R%70xLV?Shczjo&jF9~5= zXAOO`VEp$FCy(xaHl$yh^?kcHn$iKk3U2&+&c1~(l z7j{|Abzx>E+rQ^Zkb$pjbDQPkoo8&BZ2!y5QB4;ULF}5EteFA$wDQQW?wJN!KT*G=Jic_Th=gg zFs-6zZfvAirDk=*mMt4rcj#?judi%C+qk)Lu3Pr0zkhUG?N|yspmhA8Mxz0K4fsd% z=fG!5e(O{4Bg0QZ@*HsYlC+PHy0nlKFniu8`v*553<+y zPr~*Ie>x+k?;o_TbukiMyoO{I#V>x!UC0itlK;`9p+&$TiS5LLi$;Asv}nY~?P~vb z8M+a|vu)Ro4ISjgV*G8{EySlD9#27xHk0oGzdblh`$FlQ3I3&@ z;zZgwReAX7nfC4x{T*3qTtD{s_;kLGXe~WBn#A%q$FKu)5JOttmz{+iJ)H(0H~j1y z;5!G;v-p7x&vs~5JqotilW~acEQP;+Ut&83n~PV;E$*9L4OW&**okY z@X`8NVeIfS`05W$;_HcG7c@4-vU2BkXW57|WCQktu-VBDCZ9CqPXV-X4Bf-BB8{uYo->Hr1GoNne+^4Pz zYR2`7EYziaPV9sFp+sw#@Dbw+y7hYmHo@)vlf?B49pZUG#r2yY^*sOJ^dj)qOwJdi zE0K?!;zD#bfZ|R(?uB>(`R{cw>&7OzcN%B))vAs+Ki|I~JHL>hh|@g3u#OeyZ)ZPl6y;}#Z`aHlN78vbjl;=f zWfkLvVtE*RX+yNM633%h@gbZW+&;;cpB*B9$&?{h#PeKkbhG)6pXrN4JcD9;OCnpc zz3{b&@kAHx`6kGGPJgjaS_>6)w@>?U4EJ?CJGY!YF4)F)Egkpkf@u38p52>8pWCha zaBu%O(E00d>)v=9dyt(T$WQDkm5k38_-!m7h5xi7%;c*$$vuY zf&3M_v34mIO>sz`mbkz!?87cmj0k)0EyQ=f3O{sE^3#!j|Cd{b*n=a9IAiG%-K4fr z=RM2EYaX9WC(Zk%i)`&wM_c{*Wl;pD{#g|13U8P8~eHb2E6I-t*g(O z5OCy4-b(O0&V*`X%w;+FA9m=)b%WVi@cEGxJMc>x+yws$=+DZLVhl17@b~Lt&STIN zhoxBHRPYq}Oehw7mitBRS^k3V6>y-lawLCftctN=(tjvEtVCR88Mj|FSOf4!9D*Os zcjnny7(!{NLq&kJH^dOpP_TBM1SI+p5Pr1 z`@<#Q5@De!k|H zn};awSPI{EBy14DzGW?;Wj!OCJ+oO!^z0<@y44?n4OzKVZ+q z9`ppU+n=Gg(K!RG^~n#m4ipMkcoXbG->&tAZZ_519ayP&@KfOib}@4pe4JveyFARg z=cCXMR%4H)*f-9)@c297L2|~cOD*Qy#+1uXl0(TOo4}@Q!Fm5M*6wL_2lze_kH=XA zigWOoFwSL?Z2JNSIvW6c2r)+X47NMX!IjKG=ixtTK)wgv1wSi)ObF~c!*&vG?40PV6F&r)%T+ z*b@nd&(AdwE@U&3%|$VG4fIav)vxmBcOOu+sJn1ssp$XF;n2NxEul#*p-$$^p~p2v zTR0!(FYgb%pyE7i#k!r1b0y_rr{`3x13JG=d#xYNp@-otIL!&I?;mkC?)*ZWKf(DI zlJ#`{gkY|id_SExzwrak=8?T}A{FP(aqbE>JL0N;6)bX|etvEj!wU=P*HXT`W=D1r zMo1btW@XABzQj5qnN_&jk7dD5qBXp03eHSmEq)F=%?0hRA?|hg83H=TLFds)?$G|0 z1v{k(XLxn77us(t!mh&wu?(yQIxmm2>D*SNGllTwenjkM8P>~p7Zx~v3AnbTR&^sD z=T91KA9!(Z@^3HUE26b?Wm6zKhW&N{)~oK!!{<1VZ=d!meg*>j7oEc(9ggJAkr^E; z#Evc@u2&I$aXzl${5Hk#NrsTDr@ab#*k1%Y;utjx7M1^tny;hL#fHpx!EjlEYuv3P z>NhX1?&4NMf|M*Aphp|ZL*K>E1kn0?Q<@pv*G!9U;6t$ zhxzmO74aQ}@dL~a3s?CB-a9z)5%D3Nal+rw;QV_mE7~xM9h={uZJpMGrG~U+@xF+E z`B<^o0ZrKWfaW;A(w=Rd-izf!j@>})m-Zm~J0Mz@bk>8;s}XOKzkt%c!$~+}Fa3Zs z9#;{2O*pM;T`zyOt#D%Ie-?ivd8IF(8C_%gtHtcaaR1}PnWjR`3^od=~SdM zUD_~$onPh85XWXY%l&XxYB0M7+w9hMoH4^*PUm3gZ0D7&5x=9}+rssuN{cpz;BT8k zKVI1|{7vDCzIV>eciehL-F|fT%vKGLO>3@qBKdDJ%jbmu?ES}y&4g>21BHU6Zgt=* zNWvMfCv+B=xg3k*#@w3w;FX#*%@!C%pw{je5t_WwG*O5W~;k-=6ednu#{Vx_4EOHXg zWjGi>e`%f7%lrvjYqNeBORL>v8r#jgL0 zko~i+S2&vp5BK{Dd9yoJf_!d>n7Siu;Q>g4p&$4_N9lt7vd-ybYyBK`+ke*iKd8-E z7WOPSi%M~Th;kevs!Vwa4i`~Qhlr4uQl5z4{kKBi6ThEBd1K^)X%gkH=vR+S1)&(f z+aMscRt!HsN$dhnn>%w-PM5m(+^?*(Uw*CXFDJSc>lkfP-H>lgzYF|0`J% z^(w+umIK}_Do0*Sxrh(XU(q}81bMXhBL_V=xQU<>UiBC!nMl7ZRHOG|!Iaavgbrxo zo#AX4a+Oa%_v%&aQBbYAr$_IB90&kJA!uQE+~!asnP+cTzl2*ar;J}w|H)GJZsiZ{ zqGH}2-sZT&u+H?8H(Rl zQiFG8cQCS3-H848vB{+?`lv*r2O(go}8uM0ot zoYPjB*tUVMFvw+5QDFCLgL*uEXcjxx_)s@PN$n0v*gXg6q+ zhfQ}sWz#K|spsmQYE`|4XU?czCp`u#*4vnPJIL+EyRWx zU$A-KsM4D`AG04M_S|TE?=BE;eY#c8$4Q+pKSpqEcw< zpfSv8>Pt>TJEjQ-<9~)$#}wGz=hArwyzmaXps&6GcERDl?@vFy)%WXXughm=xTOH^ z2zu35Eyj4eb2uNBC6?&Cx%jNbkCVcuNH)GGzUX|x7R(_Kp)sZhB4U#}wf3xn(@wc< z#ToFpch}o?|3DZdkR)R3u02D4F&^o{{w`FNx6wNyAh9fFbn2r#$IJGpgYL_0sX&4_ zu__X&M3%QoC1qnUvRDI%j{#5fStg#){U=p$ankjfO7{K5;j+QZD@ldiAM5-odnpHH z!lqHDmB?W=Un=Y6(V8w#N{rD!q%Zjvq|TwiR#{^LjFGI!zK{?RPV8FvpW_P;Q@qK4 zRKxYi@ytPI2Q7$Zfn^DnYX$s>nK*O%^2`w0Sz z4-)xOPG{WE`^#!xoN`;`(A$L|#7>;cpR8t)aD;>9IkCH9SQnhAYc>l_WE7dc&KK_w zkSB#a2vWx2P;}l#=z{*!mClKiyCASj;mRQeSg+;2-d`OjNGvE)nXD%{yjV*ly@nJy zxdJTw?}0U2Gi|K1UK)nFEQU}!WL*{7HqL*Gh&=9J2s-$m>C~#a$)n|uu9&&z1B6cvh z&6gt5wwLN|3WkCY_uGTgp$d%8g#_^bD*+QpM|I}+uBPD-OiF&?(x0W|B#LE`iX}+G zB?pnL@~dJWAXn`* z&7i93!o)QCU^>q_C=^-0Wl{_JMZd;*wD6P|(_89I z!}jsoswEBIcbp_{Uli9+?Hh@Dc_Lr5WjoBK!3;O(RZv)jjZ3O#3#1MQhjg~>4l-ZR zJ^HmYt|jyEA|^1TzdSohWvdzBrmyF?>#R4(Zw(r{MPV9z~599 zU4kl>d6hrRYHUB)LsowzFo#HY91_62yHg=IHd~ z=^QNfibEx8*KJj41osZA3P_;L!Z-0C@g&v?RN3@`Mb5u%h`b@v10r4yH(YuCKk$>Q zEZ;lTo>A`+;-VsM5DO!kP%LA`6bYpVz2&-zV@0NACggrMC@C#x@C!#>5%n9N!r(}F z2{hIDrCRi5H+lEl{pwqk4toN4_~8jQlJ)o%=UTsD>&+(|vUQu9q6`}O${ zxZh1?-l%i0EQ2r>qux+}4?4vVCtj1mz9R0-eW!MY`V{f_KRv#0LPl)jpDmmi)lZGf zOwfu_A)?n+FqM{ht0Qkp|G{n0U4ABq6-heopNp8UO>W`i0acc)uRc>?)9}lnZ_%XV z9H;eh2L7Y6-h(-lHPTQ8)*HgG>`23F9aHmZVb-? zWOLFW=5PljSoeW?YJxArIzCC$d|QDnvd0zUpsy*q_}aMc%_R&VhLoJHCh_%|NLh1=p_i$pxXs9qyIi;&UNNdZy=_nKlHT<)IHk&HJ*#F#a zLJ?w!oj)vCw@zrl_YgL=#v1~0LwAc;WQuUuuCQ9s;Giu1OPXx)oPhGFAO5qD01Im% zcB1ZRFOZGqZQldd%5B2mR}^#T>%mK{e)I9$rhoo+d#fDqvg#_&O;hT+==rhc*bw*5 zyG2J9>pJZ0_Tt^j^2PQ(^=i-|B;GS}O82*Q*na#1ei;iZ%U?9JXCTl91%8m?zwd`I zXq;@|xP3WJ9m;xxQneQ~H$`8fIh2hx4kA$V^rd>*v@O$u0cJ6^+J-5j%^Y?kiRW}9 zOYsQ>n3YenBPb z*8Bz%5%;`U-uj()9`T4{I@G_hxs6GhvKGI=X?2`1H>*!b8q&E!vVS5s35P8{r43Qf z4#87bWhRJwf(a|9`2xHbcM1acvH0#ob3QKCz>kCewjoi0ywZbOdpHhg71lQmZcU8k zYC?(+yecKOhge`}-aTrmwLi&)gTE?+oAO@L+*RHRKXCpGZ=nbXaID6lGW?yWWEQ7P z*8Wv_;&Zj$;vHbb!nJ+mu2SxXjtOFx7(0T}FW|td7uxony z%6vRYQ&k{k=l0f%`a1EuI!oV#VpBfRSGv;l#|LlC?cYM5rg_A|Yy6g|s2=k@wP)AM zG(k|#yvv_2-lsvn8>aKG;19&J*3T1ycl^C@Nn>`d8^UooOsg_-?rk6K-tlqwh75|7 z``p>XdD77$c7=L^Z)#s5WoEP88~xTSy~}kM z!6R*q2=;EKs1R39&uGL~210NN--y=Jh<;c5b4^9w5y8fu1}N0mYo_)1<)f{moP++Au z*6;V{a;MLmNg=-afflNx>(0d*S?@wC?SRM0r7Iou6f6?pdJfN`NP|46?W&bMRYmki~`yqZPIw*$W0B6b)MZ2oNWpB26E;R%SxUD?CNL-svhK z5EDZXoRqHmr9t@ZILJ<;!;L9gFd z*Sm?&vqaV*Chj54doaV?8KT5LlQqD_B(G(t{*4TNS0V8(IRCEW!zQw&5s1i;sHX1| zvEQ&qKs=~giWtvbSyOF2r+_9|7EX51w7{D5hb5UFVB`|3{q|5 zR5#Dj{HvFvij&xf;@7w{TK}KIzl;Dczrza5tdG@T+Nyw8In8o1 zk+|q<WXhc=|NZGiB_V-1Q7LM+fZks*UA|8_ zY8jR-y5$>*MVltn zl5ZFA)Z4pluB7tr{xQD^e8fYvKudR=9Wk)>sodKMfdC7miO+uBhB_E?z?Ev6zndC| z8v_Jd1j50>&5pBe!d!9$QDzz)UQE#$B41l-2UE)bfr%f2_7^Ih4+ueK6HvD*-@kur zpK0-Z?6AL|?l(__N|YSzC9pE3{}LAxi|sTr?S?r#F52M-MU9{_y?*qq!>tk$`4d|w z77Fu=U&l|6&{%@Ju4ObWtEu0E2GtkfU3Za{>EIfm$p-F2nvg@2cYio>g(<9&HZY*_ zhhR0@na{Xk5UQ&lq{-l518r&>+e|mjFdJvkUiN!}V_8yf@Vi%eUDp2L23Xz|5sf z-eQ|N;<8Ylt9N1wD=Y41N?u&hJQ=VW6#P12v@n)xp;$ffIbZC`rZz{soY(|edjO21 zo~h)1^{^K$c?w6CeW0YBF^}rlN^`n5bt$?#ugdJK;r_9w?8-MDm16(Ov|L{8^`nU zUKwD$_LR6j{Fvf@CXk7T5qO4ZUtap`eYM*)V`+8gjYLExT1YBItgm;AvdM!SgZk3l zoq2Zu)3LaCdQ4UCQqrNy@W*{ci2L0@Kq4PhjTy&Z-kG@SJcm)EF0M{Y$O(SkR%Bqp zYSp0s;;Wb)bX*n-#MW7Tmff5UEj>;&r6fXJY=pU(!;Of$?B%@&SuTwT`!tSHd0-RLq|5?@AinLH3^>_coU9#U4 z14m-cXrlqg`P#|-6~>r`Db0L0%7H7Y1ZcgZu;;U7BPJK241YK8%s1hRZ6f+#^_H!0 zBB)$*h@FO8ID>3V8$MLVd1M(!V4{(;MhoiuS%fJ_=|Au6gvw_85ES-u`NE^+yFVh| zgfdPz5Ph+P_L5X*xzznSTXD15Z-qpii9zBE_H59_yqQSw1>%4oRHhl%Kft8$^fRPI zMle&%A09lU>)E`sxR39L42pxSXp(Zj3;EV_xp`a`To`JYN-XqqJOV)Xt$rVYv4?d5 zcwzvZHSXFNT?-*R7WMpOQd&{_E%Ma9J&4Y%oO%qUSnW9^Buf?U;>FyCI%I+gwm#Xk*G`ZbIjRee4(4qQ2y^bSUija#)&+mq~#1Us^2b;ExH$Rw?DV zPcVZ9N^TU;M;d)42Iroeye{8{T0boU_{G~*Zxz@^Hen3sZ4NjSjWnaiHWZFSuY<6{ zt)1AI;tL2DUsB(f2iJGc^?`MdO)=0qj+4w~(2u!%++|>q8pczDB9V<+s)845tOO@) zV!#HHrn_2`q=wkZ)eRINcDz5yP03~CIztak#J*UC@3`kb5CJ({A&BqgZK-NoEu$T} zix#&_GT^_vv;w*)N-Zn{FVd)XlH$xOC5-y|neD)_Apy?O`_|7tgi0M^>WYg14^|OL z>|BHxjT^#Zbt1eSFJ3u&~IHDZ8SK^-6W)31lyu<=Vlzx-dE$bRQ+wQfGCd=Vr4Rm;fwdyR^mfA>P) zf4pE}=1pu((t*{;woKW_T!Ew@W$loE(O*zU7qeet*F9W@(7JVspNT@|6pQi7+Lf^M zex20i;O&)pZe8Am5m5~${wXVdvHCAkdwu_2H51~sk+t?5!>SW--ac-M0=s`A=CDVE zCHwaRsBcV0B_kcHZ#zc_u;(2si-LtcPG%x<$X;EI(Laj*QaN$%_3PcaSlaR%*X%dl z>$5yA?opJpNyC_f%%_94tHrDAIq3uZUfncUmTmux`bmsm1VSCNOfiP&Sz(Bp*L!7UUdg{-cP0D=DW{=uWBSV#&$|} z1JFTr^kAmHOnGsGMn@lm z4OC%IT?MKbnJS^b)PWk(LfOS36^B#F++lD8WS7;Wep>jKpc&g#)Gm&-)4qKpL(S zce88Q;%j8N=rq_5Nqzw`ywh#X;8KRn5S!oD_|v z>?mrS^oSu`t{hOS3Y$H@n#W2Pr7^`;=4B-!Z?Lo+huqNkcC7xSyv{G@o5N0|Cq%vw zEDQ~OHCdUYidEdvOH+?w-SsE_byVm5k=LkDDcN5r^mH z0sO07Fp36D<{WOe7o{krJ)WuTiXA%QaRU!QHtjd@nec`<8LH;I}vhn{Lk z03Fm4Rr{pe-A625(n22wq9>9@&Jlsod|GR>B@yFrHx#|)EdiBAv#5;0v39}0Fr&jW zGN`d}l9}=~*f#BEfbfmXJtm+Q&TDRX{usyU@ysz$l5FIjbJD^|1#Ske^a}=PN@LHG zR7P&A&e!(rdMw&{MB3!{d;|hXBr0uARYHK4Sky7H5O*?G+T2dP-(p#)A-VNvP6@3j z0+GC}OF#G%z#+axSBLE7Z|iL_aG6l@3B5WhmaF3?L-F3y&>HXV%M2i48 z;fW%Vwma#0=E6qL>b0itc46eY|KWgpwN-M5?1%13P^PZ`KPhgDdjz<~uSe4v%u5@q zCrSX-rQq&Tv7(Ol&i&$kMo5!vncDsGC#TlO#A`HHMp(xj2^4mRw2>NKlZ1FrH;m>q z`d)2djhQ}f2j|arqSjS#iy4s^B!riU;JW72dwDe3#_xW>F887hfVFp4Y=b79N6D4c zK4PcnY^z;xU)z5`3%G?n%!7DE{Nz=mk99>THR;~E5{@nF#4`28)N16t(GIb-{GBwq zrDZYi)RpEW19Y;v_vE0h zBaCuO_Pek=Kh}sj^v~~4tpu(tw~J*>(sd-t za@aYjt(2tiplPSC7o%Zf6y26w&+60o?&|0j`+J#`Ug_&k768wmV>QondHf-4C@V_oyF}xat z{E(;FHh74hoGf$}-3AZ*GNmpjBW+l5~yGJg5pIoMg5)fovI5^RH-&gbnc zZB)n#0PVG{YBGu+5FjuDnbdEZyQZ)GdX2sFJG-ffL4JkS&R4V8KIMICjHDa zTA3ChE%Tut?kpx0A&ge?nldB$M!VO!SSRNcv=x^fs!bLj${ItW%DB;*sB;;88|bSK zKiTB5+$pD|X}id7JP5V$b({}~-K7|;0Wm!#z6NmxF0a$Szj447|vJWu3GnG@Lp*j|GlPJ4ru|MqJ3WGg2i&85o+@zm% z|J%x8OjWtIS}iw)+&3uOH5PI)#FzpWgAm8FC5tz$^~`}Cb8B|T!kJ@nci01Ss*YY- z)7_1Tykx-!Je8!)s|PLFdFTtx1eH4#rnlY`%Yo*WRCCSAj)B_grf)-IehT0!X%h)1 zQZZ+aIGZvg@)`aj1WMFha5!srdMty4#{wUxPF-AZmB`7w5hwZRcikG$x!w!lMR5s) zUHj*mfpiOyozrrc{bejE&7W8ef1-`K`-o}4^|k&$hVeD|Vz2ybt=phwTae&@ZhHC< zQW-L?P|~>E!&j{VhD>!pXb4=9mc=k?hl0mhGSn;Nr@^Iw+>0DI^z?+rG7FcTiz=S+ zuT^dFRK7eAXGgJwC=uGVf0KZGfoK7qBq|mky{QNR?Ncs#utkJtGM(|52N#J`t#1tyU=ChX{5T;e&>T_X_ds_ zG0GT1jVuWDSQa3pw@2e3)intwm&hUOngAj8$Bim=38fOZ>#S`einVE<*>)s5H&ovO zM=hU2qw?;i(7F!{KOR!m+dh$1G`S+Yu5?yLi3w_h&Iz?k4=eTm9eRXl|325noXKvH zsg4+Q`2v-~aj__Ihol*T)|}_~iauWLBL}LEIO+T~Msc`la7>MZqm zmurSewYc8{UXhFv0=r)F2yBlLdr7wyvR?i@1h=07%2Q_RLJ|8G$Ulg%i22z`|8!I z#}$e)FffomW^<|?JSru#5V=6m(Jy2u`hF9MPa~k}AZWwN?^T5huBa@Dl4RIsq6$2) zi^t1^BCT(@Dgo)PDPdZv3g`4S%iexmL}Ln}a7o_4XLS6~BOI4ca@B##6XW%ef_4w~ z(KEN}VPfC`7WYul-{{0;hslnJ^jx1=g zJwucv+`A<|jX>w$RQ^AHSBeGN{At3ZZzXu^@3c>mI5KKURPClHIpSr8M}V=~Knm#p zMbcm&vxoZ&)RS7N&qHC~n~$LvP7F`b67tU@BJK|N89##lQyGD8R)0tFGNvS_D9_Q9iBQwwsI>vM?m~cRN2`;N~WJ!DR2Q9Mw+*1bq3-`~^f#;GE*+d*QD8F_Q!#Dtp_D9Bo*t3A}gsMm+k znJPgf@5Rt02bWVO5kMV+|2$>SeFN;Ts4&j-nM;GI>c&=-xiyo(6ZjzIOEeNeYz?Uk zY{u^h7D4^D`Vcii7QCvnqRjjgM9oEK2PA?+dMN0mzMR0)%y_3*tF8*drL#Q)f+Yno zPGEt#8q>`8QyLz#&hP@#s8b}ke)#v?fh%vG4Y-n$z&}-;f|IXatTvz2i@o$n4pa3!1y~L%HOHzt9GqbDTeX-%8g35#7zV zpA(!ula1B7eqHUgad}qI+BwMA8k-A1C+i9(?n6^!{k{FS&HjXug$I6Tr~G;?^)Hx0 z^^u(zv(6fmOsk{f2~A8)I~DLysfNa|ftY&0N#UsL;@~nRQF{5>7ZR=$Elj41S}P$* zZuf8^739?1TX7tZ7C!X1?A*bJ`tV z@t&8pz1us67&YxLI8|q{n5tTK`mO&L9(L052|pIx<4OVZVKElY#wo-}mzd)>Pv6Y1T4l7SdI9St z;^<$12Y{_xNtro11nIK!J^O9n3m3=0a?rnoB#94gI$;IcLTER-(LdWn9JQv<4|R=B z*>%jzW$8a70o6%12d2M3R90xIE~$wmDP;C~wBgV`AwUB6%`3K#=RM<%ip)Mzjg#f? zpDr}x8n%>;V4`x(bO=_}(Reg(Ow?23kju`TyIaiFl&?M+g6D|*F}7%sa>K6%5XPA% z&Ufip?Bxjmd{PUG!NAyR(7FNxU3CHNa8qMwT(h`-FiNu~OQ|qZ_u*!uO%|xud+{}} z8cYkvtlYQ(G9hO2bE%--GaNgk=$|#pTQSHBNkOW(_$G1C*r&YMAmHrkPr-AS7r6z= zzs>rW1LH+nKQ7e)gD@C_T>M+^x~dj4Qf@6iRPDFiFBK-&nejh8n^WhY7M6Z^L{a{l zL$1L>R={Xsm5@Je_YXb#Yh#NQr7$L#E zf}7b!Yn%*y%m*G(#(uA+Uq>m8k*dGYBeo`Y)PNRI=w4a|~Cx<-p9c+aXAQHJ{A62&nW>BvVv;#n? z#u#BHRALQ{CCZ>L+5lV)2K#gCN9~7N1UK&Z!W{!XBNf>1B1k@+r*z}O-sh4>HT~9f zk5*L9ZK~>ulJ;Lbv&?+BGiboDwancVabhxJ?6rgDhK=< zo*rGwLZKAQ^=lpNJ+mVE60?BOd<@JwWuuV;PcLa+U19SzyJ(3Y{zms6m4-hqY zlr({vqkHB^mVKlYWM=x!m!^vT3$H|f+eHt=+FsZnPLcoidq-e7jz0#PTs|JKiX205 zg;Y#C7=sKwAE6bVYtiZy1o3(<{~-W5ZRIq<1Q{#~8D5j?yU|;wAaKQg^}K2gnWyR- zi@#g%*jD+-2-*4%2paM*+luK0>K<3BL`93B5H~_zC!cX5#apfKpy_np6IRYi>j+TT zAQQPF7(&dY_^3nkgH4|L``K zC;!!WB~O9ps2!BKsS56kkzMx+FIXv+=K71fmftlVk068zBHLkC80s$s4BJ?M691qt z>z~WnJPRo;e)Mp4Aj-&I+AS(CvFfp3Y1CBONMyKO>=h@O)@~Olh$Syzpc7^liQHC^B2M(j&Z1;|*

HTY5louhUBz^ONzjh&0*;9f>H+?It4IS9*lkT(we7Jg>I%IKrACk#!FW}pJmEs{@HLB0U1GBXYS~sGGY72A~7;onh zQ4K#%oECjtn6wK$Kpauz3>?P10W)Qm+DGi$AsJ{lc>fPD0H0vT?%+pkW$2a;6_ zzh3+9$^7r-VW$QWW{1mq^Ri<5%*ZliZYkS3jIEk%l(?cbHl;K8v3+D45w!gs#4c_u zuv5#>6OSgPl$Y~is(x)tTp}nkxfSuf=*^gQn#;j*Ea&9Wpq`cgu#%t=#Lv5rfH8LB}t z>VMMFd4om2I_Lbos!ReK$tAHrX8Ex;St`HJmjP57Ku#aY)Ja^(u-N($7D|wKcm3>= zt~__J$g&%-K#%`oz?s^L+R<3=coQ?N)g%UDfcDfQ%oUUZO#qgo^MRv~jg%f*hqyn$ zQ%M;)6p&qw!96apHcdHs_wg1gN%8Xw6ja7P>Kql}gj}y&y9i1xbnUg=ul+JM!G;K7 z7}{ENqt$B)x=j5%Ak-#z5XkTmq7x$hOOEC?-ziX_1(k@JyA$O+WJsWV+K z_7Q_;=5utwY8fm1G^{T_FE%~y!9L2_nyM!X*0+ghE_U3p_d5aQ&%BeRQZ@zG~~ zubrl;!{k*)mw?Gr6DWnQy9g*{T4YsZ-Iu_Uf@aFa;hW$bD84QqLWhReF^yovY6eyJ z6837e?ELBp!sQ=_!FaGdnj{F7ua#U)TwMEsvt&HRGv-d>-PTtYHP+JXBgMKfpgI57 zwvNUOskdp4_nH;v}meAAsbm7q?67e5M6$LW|8v4#o5>OdAuC@%|_2TgLWAnSDP2U5x#iHSqJ zjgR>;vTVW6K~hT)(u(2u&xc0E1$}3WB0%tUVGEe$$Ei# zu~J*NMXqS?GKhV6(0^~U+5?4RbU9_BX2`Nw7MFGx0bX>x$mCxJHsLpnwFb}c4WemZ z#cURuK7n37-#AgnU4AoVkO1wed7M~)0?Gbpflyl}z#1gtr%@Ev$Z~vlUZKVmUJ)1L z-^gG0K5~X@edtf~psC>Fp>E*_B*RwtR|FyYQ2v3%t-P&7k_6dsS^O@--J4f0ip>2t zF4HSg<^{d#x>bY11GhhN2m}#@@YIT}ew5>$v==u4|FerP`(>vHpiX4?dmNW);X?}o zL?B!2w)(BMO0j+6fFMo;Kx_ye8$ zU9Aryj7`J+O)vJIR!5Op&f*lF<{-qz*6{6Zi9|~s|5r5CDz!VVlUgKJqLVmD11$5E zJ#JJ+qEiIl0<5Z#*Nm@fi8)MBDMkZr_EORO1pqDxgv0T_vW8G;-On|avdwqNtAoag z8O^c&PBLhO)5i#V`zM26oVr4YZ!o3R`U~SOsW)m~wvV(qpBEeTb34)yfK+-T7``Gx z1p*jnpM+?EX-_dT8+LE+jO!^cCM1=TE0!Y@gk+n^uF&h3hL}&4DxuKDP$~9x?1|Ue zj16vdfEA7r_@OxAA8-wcJBp!hH5Pu&EkI@8&VeL!+qEZ1cu+Y4+1qqT?-rbb(=>`O z6hY5gR!%cBQWQJ-r%4k;fl$|%+U0B3Dx*BTp^hKq{{EHw1u<;m5y^S-ebAn$Fwwk? zRr~@o-!1;J^%Sn#st~o{j6&cQZr+QNGUEAGV?HsY$<($Q!E|}BJAkG0`k>Gh(^MZ?$z-?9(b_1DL-I)V(*yUuf*s2LpC}) zw-(QtVg?=qVLA=t$8Sj76xb8^V>wQ=3^H@yR@p}fWWzgzk#XJuHy(Oe>rf-1(vA~u zjYvddDsV2<_)`@uR-zaNtVLZU7UZ2TyIW|#$%Z4TKpowNv+Z}9Yw!7~o$>AS)Y8eh z7mosj`?S9kx`b}i2#i5$>1nXt^~W#(azJ9l=Mh8PcBu&lHcu1twZm2)(Rj}6@3y*7 zm(^^DO5iDNS)oi6G@YKV*^+Myor?my=e#A_uKgW2S)OLW3mjca$F`ry*BHB;sI8%` z85xWkWP^M8fODGt+}>P-FjRFA`;XWGK>7 zK7!ybV%tyr#RKEg+)S3^fyMh}8;lZcS|f3ao4M~kN!E8b4?nVP6e ztAxgQ@RtI+E)LP(s!AqOre)~eB`QTiL(Pl{vx@nEET=U+O_|1(BiN^%W?5D*1Y)f% zq;iZeV4ybde)J{{5cAs|@D;bNaPk&r<453L-$dWRn#yi}2j#yM06EVI;DgG}P_wWk zMHmS0UhpvipzHa`!iBCh<)OB0dqzDh+uF;T&1D(zbk(FxC?lu&AKtu--Y9K!@21j; zsvK7ig!A$uHik*KvQHNl=_xR{-01beN7I3&WvrV64q0X@`3_{tbvdOvG94% zql)Oma$zy~@=5f_FqbjZ8u@UpF(?Q&gRMT*4>11db?JJ=)IHn0iKGM*th)l=@jJ3P zo||cgpfpNzG$G2~$`KL9BIh_4)7$j2ppEvf@YEKeN#_WzN2;)0;GywPQ^=3 zB!~Ux7PwG*39POzs`U~htA&s~1Ku@(6Qu27$*(swyP@Jg4Y-mX?;rIq0){BMdc zZ|?b$1%$EFBtK<-(NG58_Vt`_tm9>q1df3~`IBRK7wBxs6~nV{84Jq^(wjAQH@KS~ zbiFoB4CW5{ljX5R4wnBf1i`_gj#j#zF$&T&C7H?jBT zNpdyu9C5#4_ug6K?2tVWz2ySY@{Kbu#5IT&*lW-|$yMW;s7t}_iu8iXNCOwRD*p;I zYMqBB1!W0|D5bc_xft2Kp)io1B6BMgrQPn>agW+t=^~tdQ!8~Knpj>;V3)m~`+ebh z)gUeTt@s^*`1)00eM$AEE70w&LVZJ)f`6sXUEf$B%J+TJ$92#wI8cReCSU~;6X_ri z?&!Iswi<}(&D#p|BY#>yu%{KfuV;82KuipH=LdnmNE~z{`SmU4AnI^m;N3juS-}rLVD%SeN zSw2XOYC>=*eeWUJS}J`WgB8*WmisI5-sKoJsm=`G>QQU|x4Z+y8#o|p3S*FU8S zt`}Rw=@Gjcuu`AZ=bK+L_WmG@Qm#8FipeAu^eX^0lm#)@E@Q(+llPM1Ip=heg?En3 zpK9UKe;1=e*EqRwE|#UbhNPxay!IbV;j9t>)BitjNgEuLLDf^Z_JorB=D}s40-+S* zci@ze@S!4IWP%JS0meBBMa4%1b@LiBzkb`8dFOR{u$GSm0^t9>XD83j78evDe<+J4 z54fyKAkDAD!Rk~%A*Cqv)4?*(Y~ciW7q2s_?lCSMuRu=PQ%8TiEHLi7X+>OSVR_3; za05-be77F}A8XE7xiJed9Xh@H(VU zY<92UpPiGf-LPZ#wg>@kd_<8QQm}Zs?h3OtBGPQzJH7{nwD0Q7&-bSJ>^}}NdZsX5 z6xhScMwOU0{B6(79-p$lv9v&PULz1T5*!_RM@E2ct@m3AB$ek94p1cpR=tj+#!gn8 z;#MF`C@M4t9KGj6RMvBCE<^HG!ECII98!y?)Vu8y*<>>ASIB|B64T8n<$kq6b;k0i zjfL_N0D-jR9@Wqo1Vb0y@H*x2+yO|%eY&cV1;jFOOC21<3V^kmIwG$7_u|<7Y$7_~ zZfv4GJj5Ch&hra}|5yHoxjZed+cDJ-b5e|>B9myTB@&Q0ylQ{v9i+b?QHK&Le9tfW zcGsW&9^2-5wab36&7wiQ`?pc8>ZQrXXDUu<1rqYAcdTKKAnHM~~mev@b z#7M%WBrOwtp9Kw;rbBfb$+;?5ZB#>faO|>Gut?bFwAf@&4FimhC11??JjFhet8wum z**Pq9Ot6^=@?lnu+IXOa46E| zq-qHhCTQe|!M%r$o{?g}qXi+E$+#19152E5bnE_&vvaBrf2UYI<5~6E_Xb(NzdrJj z;ME)nyg-aOhiua#kVJr)D# z3mkdlA38qVEDQB3aQ=Y4m3ZQN@4Zdvd#0j~z*P-E<}4~e*Rd#r2rBcENik&O%Nv`! zbV6QTp-awS9xYwlbze^i=7pG%q^P@i{PV($s(GW)twf;OXMh3oZV?F=CovOo4 z5nm{JAV#1ECE}#MqGF*wWMhEo3t8d@n_#b<^V*Zo&5=tgs*>%$ylQz9HT8J{yy0qb z1#Dc^?Wp1Y+@8k1G>sbT0R&`?!uUh$w_VWy-QPBl2ol!uAMsKPzsrVE=Nl7Gt7q|z zP@t`=#M3Y~H8#b>rD@ZY#8ko}ekOh*rYM%AAQOp+w(I+8H-zl>@9-1%BTtXnTda+X zUbv7SdKK>{`+Gg(8vi!nKpSaE{9!-g z8>b%S{8Z-I4tOERO0nBnqYOFhjAIY-xVhF!;8&fBqmG!Ilmz|yI6&@{x{_}(rZbCg zJ!h__Kxc?xp^vDCUT=a}090E5Tt|Ac_PB<`S)3M_9l5{)2K?kC#sw+EYut=4SzIOx zo?Tzybrf&GjlH9?iFn#!luiWtpslmBfnbNtdYeO6!p`~eMq#~fgYS@fv-IjZ;uz>( z{NS&gsd^A18e6Fh?E=G38S-h-HduD;VDI3xK$Feb%F<6z1&HI*TrGObip$~09ZoiE zk$Aq-DCc4KkR3zNOqKobOdwXd{O85}U}wHh1%m(lSgT&qFsd$}EPs!C{73(co2?S| zQ2{@_W&Z1csrR%hH-iQnPvTot>%o zh2j+~dKU=B4K&zf5~un3u`-F^Ziin4^^UwRVIT$Ftvj^QrG+r1>b+VxR29ch9;_Bhw0LaP4AuTkEk=Qprm@dWs!pS zTMa(hMa{Yn^WVRTKE^bja0{9xgM@cKS0b|fr)UCAZ~ zd)4U8hTFJU4a{iiC>||JmXLLWGhMNddSyygt)HgSn(}cv4=FR{TxF)bz$HJNJ^N=Nlmls}FT3S@)gY*(xSEtH6u!<`F3q z5qn)L$Tk_wPYa?R-XUhNAJ8;GftB1JWP32q%>}2{{I|czW;KZNi{2{mUgky&hqpQt zs8_&}j`mc{CpFL?A{ex7zw#jCu>d~+XvS;KLlv{Zaq%A1@e~VSe$vnJ2Zrjtkz7Z_ zpH~G|2vo@p^kHJ!BC+(%l3lqD%zLFj;Qw!dKQGTy)#y`aRWzRwKW+nFpTf*fOrr!hRk@~@Fhmr z0|74wL_1q(#ufw?`Q>N&fy-wDDw9r*o$#zf3)_mMSSYuT8&1?IPO5W&^+FN-Xksry zy})2|*ui?a6T&0^)cH@Uco6MmPcQHKJ7nWkbT~I+p}CIy<$wNyA$A;E`nv}^9b`=kk${aCExb* zj>yJg1zjOJs6?U-h8$dPk9^9a9!rpCZlF3pk`^C*`$~oRlPWj0Gv7B>4b|TTb+4*^ z?ATa1qLs>{@QkF@Q3&LD+-DAT0nUs*jaE(?6b_<(CCJ+rzoP*weauKCkF&IFoBbKf z=&V*`Kbf`Bz4{s`!vPH_iaK*uUDi?mN7GqHRrP#-|Ipptr6MII(%p@8r+|PoNONhV zMH=an4pF)r>F)0ChI^m$`9ABn7VsBq-8*yU%*@{V{eEqH;ivy{bdw&46Y+GPC*b55 zUWg!e;1oGphXTpf%g$-(VzRfl>W$7VbF7yoKRHp_b{9}b^ujvIUyloAMTdDfD?Nsb zt;;lbfJ%_$F^4|TwBY=i!`O)}dOc8W3Ei?`N$AdvG50vte{;RA3?S43Y>p0(a<1dg z4aV}no_GP11VMmZYX%C1IZrd$TeT+Dbv1SAgt23c zw?~A*XgpV|{Aa=xBX*-*ZS{)0NF%!fU~S_N?bC9$>!^sG#1kBRFHxwGcA?ey3#C~j z>5SGsQv!mMK=_v?+BY`e-&1{D=%|eohAZgy9~1SG9lRq0Us%+}$IvrBXuaBN@ZOt3 z93btRO?h|WqBfy*%M|A_lB(<%gyA6tBz*AQ&NSbvLp&yPNC$zL}PkeTD4u_>3o^q7wImrP2^w^0>SF zJb3*4GdI}F_83Z?B+IXjfNnS(j^sh{r9}tAQ#71p` zbK}k!muET=I!MI1`-SA8&c9*VLPbGDL!&K?+*i2m^-5t(*``*E*w$3Mai=>R|urpMm*^m4|4D;0hI z(3*%v6STLODoLyox)UwU!d`B+EI* z0S&EDi!|u#5Sx3`bX&Q$@^^1|1!r|~+dd}XVGsi~H3WFL^#oc6p|iV^3?G2M$_ z4xgXl!x&^}257nW87z>#tt!GLY6H{vECGJD^pj>i;hp!kBLeqabJFfJ6Ny`cVinsNbu1*wL;`G? z3j#-n?Oanb4X=h{NJ55uAC-aDKHeifPr+Ce(5`oMnM`T)5uO%o_`#6(E2?PWQWJ*PV>KdG zYf^kT;%44vEvfPbPx$%+ek%%xiz!N2ETvefwMoqf<(~H|e`$d0)N^aP3e0+hhCrvT z;rYOmY~P)|DwDdGtiIR>Ys1*sI}n zM+r18TtIAKE9aWr>m0R(s=r&!vico+AG$O*$E`;k6{X~)vVm{tRwohy^I0tw4mO~j zr+09%zOyk+#ZJUjT~U%H-@p0co~11!ZD`h1#T5(CK*LQ&q4^TPwQP?KRdR(x-XKnS`u0a+6(>hB z20Mug4LNZX^?i0iL>dKO+S^~Gtc3t=KB*x#TY&j;rctrd@Mi}^TyYOgT6oc^riB5Sfo^DwK1WMnY;)KW`!>^LTX8Cw2vAnh56iZa(!4_U|} zR;e~INKhE6IK$M05@yyDHa@i$$Ghf_;&?(KWnN4YO)1$0q7@f@89#H=RshAhC&&SE z_56ff8M37FX=h;KppcSe$QKe?eLQNh`!oS3nPdW@SgsaH{C#KIqmQ3@ZtO%{h=3fy zNF{ArP@wZ#>zY+}C5-WG-emW?BoHeQDw0`b9$}dKQ1uaBIsbbFACKEN%1#siC%fnE zr?uYr?#vIe^akQiBwN_aR<9VkGw;Ao_1XX}W_|D>GyY3BXZ4lVuU)~|v@?tT|2QN! zL;utzRX$wi_BHCeIUxf99BFPf`&l{;hyLrb?C!p&yNy9ZSN_2qFZ#?-t0BQEH)XvNfA?3ZT|0@XpE_c543oyn&-=6Eo1>}CZBFI_)AnFtW1kr}t zWw7jd!MF85bI#(&32wz6#L~zVdT1ve6NA}3owOwS`za}l|KdEOJ}gdX#pSWzmE4Uy zy^eylKJ)XxHA1F``8E?nJ$JKDLY<3E(q)c%cY{alXPtCb9DBlkkP>kkOj{h5N zl1NY*#(!F>wJ!Jn)X--bfou|}E~~ir0WbE>%~I3h3UQL`p&_sG+n-P$sauH#gO{og zmT*W`=GcFKzSiO;6w!X~?R9UobA<+08pwU~Cy4m*x+Nk00M7EI(e?GUn$aAT=4~qz zSeF0JwAp|--9QBfe;$!(XT%Y%!@le>|8b5GSUzNdj+pMV=lulH_nHq#H|GX(To~FW zi00m^@cp^7XJKP(d9%_vjU#RoKms-WLF}LB)3vJQ-;Y;o#uJnJaaqODQp@EFrhE=` z0io-mQBuYod1a1kSYZz=8%B`%2hkKE(V~RWVDLhZ(*o`3g)BS{W9|8$jm;_YjHu-! zSedCZe}LkozAA2t-Ebnb{RGqqR|V`SG7>89nohbn2@e0eL2Z1BFcy8+a?O?D)F*wv zP<2KxNYl3Eb0O(i4}ZOQ{34?jMMiF`0&{?R4Et7*{(3%dBzg(Q@%6=Rh*qw;tc4y> zkWk%^V43jfI&W=0xK4aLk|{1CzG<7Zsd{YDyYE(B)4k}02vAghUl7;k#>DK=y1vHA zgXGX;GT?j5n&+d7>$FY!ccwrVykK#n1{HRBP2Syhaj+6t!xTHT1pjkD@;3?LNJ6n! z$pP;e#odV}z2Cl~mU(HVAtK3g`R=}45 zpZoe0A-096G;ClRH7tW!V9>LvD;D^(7DuQIe;5~sUyU`SD&Bpm@$Qf;Qs^7wSpx>h zVC#$NHEH({*7~t#uKRB4gUmXg+ptZ)b8R~J!+MkmMEDdsw_K_JTV`ZbL?G0Be7GDw zGkr1RHQ~{_7a?SPTa|rAQJ(3MT0VbcirDPAFi;<{q`KC0`ta-2+qaX%K_rb1aNEg~ zo?C`~vGD0n$!CVi^0G_9qUl*FA9FsZ?R)5LMeBlZOU#t^j+!oAJ_RZ?#!W z3wNx83)9Vn?#qm3*Fc6MY3^;?6^}DCJt|-_sOmE^$XH7)mvo=W6=dFXJ0xTIQ5w%J zG}X-watJ*=ky*x?2#-`ggd6xm%V+rbGRUbyKQ{qN)ZE*F{|nl?+Z z=GJKb+e5Y5tMs|RK#k&3jdyyU1Ct*~l1JyXIx3Lvkz`aDR{xgsMY?hWLovt5M2MK#cX5@QQLB5m0PCWf-m?-|cW7{6w zXSTf;4ZmEA-bdx1z1cjYCObdp>b~Rt{)Ss#NXWw8{18SCvOv-`>`KE!b=Lgp%u-FL z9c=gDE*VShBu_T#YoO0lF1JxbR!dGLa@c=MHO|W)^to1)b*EzTxX(S4KPic4(WMzf z=oSBilW~G(@IW&(<9O-(l(Dx#uWJn^IP=NkTA|oktNs9Hr?lV1`ET&exzm_Ir`ipo zh69AzJRjb8ei6Q9txR8WPivp zD#G)NneW_H3PLJ?BvuFPicJSpc8yOfnRH0)E$#bn69YvZj`L3Fs~(Fsy3JqNgtEGd zXdUV)Vq!wO-)qUg@xeLnPi8Z4I`g~Rh!3ZEBS`bY_DZjBa)cKINvatk&F~D^Y)-Bj zx1>5ZZ3BEUFp?`6h(;32`+k+#k_nqm-e3ZE?2)%>fy8QD=V0KIGf1lYd`lrD&XtO%uzt@)pJ{n2~_g)~UX^Xz_$*i`#!f4}_U?1=+8FCwpt2FxtJo({6Y zEEVVOqE=-Z=i&K9r86qL?&-9=Ki6X^5eO~~7SqUZ4FQk>6Z8&SoaE<~7*3B?&nql@ zIug$?+I{m*YF{jXA7cIG+=N^^L!YGKc9iC%=^(PK&j$vSRR%m0<@_w{b`&qqhAXuj z$Il-bThce^zd#F3<#qhJdl&Lba`x??dsKSCk%)=PbeWJ?!IJ%_Uy`WfC*NP#iD069 z>Ti=+SkGIezO9QI@)F_UGS4`L0qyGGtEa$&&C2 z>49wxwo6f&%uJ-|L91`6G!T@Od2E(rG}_G}fNZW>WWVOxnR9ZbYx%4_GyAah*) zlLUv>=@YE$)MqKZw)OtPioTO`)CbtzgBg&1E33PJoZ#?^8k~D2WtsjRxx3gb5?#)6 zV3Da4AVXEhw#kOL?TisXzZERpP0qb->i$TobjtRZ;Ca|i&%RnYPhsR!nchhaYQH4O zh_-IX&PcXUJ-|UjK0`~YZ~*=kyVjCP=a3PClo0>;A)9-B109?g8ZC*vHV^(T=HOrT zG{8n^HaqmORj?F~ik1>qrK#~wlK>Cmd#8BLZfx?E_A?JS3|!F$Dg<^>L_ilb$OkZL zx& z@$*~|+JF=rB3kl!KQ5gZuAhtyo-s+TLoG6{w@zDJGBQP|>Z6g!V=ps@tSVkIZ@5>J zOGQL(Vr+4F?kofCws|K9CVpw4q!}4#^`NVNn87K0h(fM!*b@fikwJbh&E38|;#=G4kfgx@sEt10eHP3#_o!)h9&!K1B*$054@5S=tqaf}i zx7uQes@Zn=|&od6;N1*0f^T1aM zo9aGl1zLBw`@neieJAB>YkA33ec;v-!ir~uUAPw>C5(MbcomG%8X@-&YcQ}b`?>PM z;^Wij-`~o29-oOXLuoia(^`^t341Di|Sd!%@ zcXJ%P3_<2tf#9-D55-uw5UQLzkBh=WXqxj40*5 z+6=?DE%GT3w?2>Ho=d+=-cix>ov9MlNn($g1YsX*s5zfgN^HfIrE=_;(O3`22s}r$r15zq=fz1FZFgg<2y=Bj|{!H?A|la z!%d=OXlOO{I7&BuOk%9W`DruRBrt2Cetqw)Zj;Q5PP?oMJ+H+m%{hMt9QVT0=eaS{ zg0*t5vsfmi%=jU+b|hh=;7S=}moDS5j1X`bCGE9hOxyX>Qbwg^;|U)J5Hi1qH@Ut! zRyXP$A6M%m+8{&Edc7a}k5oQ3Oy0*_K_yG#>%%@uY<6$}apx%wq?DPib0Q(X9f6Kl z`zF=vd_(~I1m;HNHmYY=RiX_fy@Dlj!A|}`c$6D|&DTVh{z$r8@m&9V=Wi1=$@AyK z!CgnYt;ls}1l9^)FO{Q6Qr*nJ>_s{Be^DqHIJ8ludI-T^#r7YLz=E_>V(aVddtGs0 zcx7X2(IM$ig~bByubwqEa%GftXn!8e;ZMNl^1kQRno+Z?HSHbeMh~v0L}d@+U`6c? zsBV#mI@70?%LU{X(Bim(u%r%eNmITn?t}koDVTAtn%44Yry+ zbGjknSD$`{SdV{rIy?B))=*bFf1w~i)#R|;Q*+!}Vr2E%Pv9+_vX=AGRh+KQoju>r z^iNUHQ9n_u-?k5Xf5s5UxOA7eNaUsabE`44Cf4y}9H-=j?%t%}L%)b-{#U+G3^-)I z)}(C8KzA_e}$5Aauh`)vd{?is*^w;#gkQndWPl zBjU-2hg*ODzMVntTUrtuViJQ%=$1dR$uRx{uU5`--DyF6{>%9)ZOs6)?u?16CokycIuC4bi20*B3tJn$+mq1 zxsnhj_m&^%>;G+%8jO$wx;TfvK8codU%$MU4sVVwuPY_ zMd$N2+|+AY6;Oi{gDqan>C*~M2UHF}M*PY>CS94q0KVu!G;x}v$`}~K2l?_$(%}ZC zoMnyJSNcaa^**>QyyupHP7LhlD+Zuf?3D;qG6rrzTO4%dSdBB)!rM|-LPY|Z(x2LE z+sB{hI+u+q9VHhUBy%bb-c;0zCWyx`x|6PmLU1dxMR5k}v6Y(?ole8J1FZwvZ_gg` zIr|)XC5L!@g;u0VfNCdg#iGhp4lrS4xos`1d(u!5EnL>~p2D`E;oP9=$OZmAk>q{F zUWFQI2}uiIy%*YtN2}a!gLx8&i8*R8^;ApLK9|7Xx5i}r(U~Q5rElmzZQu0cuC*fZ zFlHbv@==uUhk>QnE|>8_zQp*|XneVXPa*usbX5z446HWAH%_RHd>{!Vu{2ncFwGt$0nxMlnW_w^K(v*wySHKfc?GhTw0Ys-z>M+)esO;c^G* zS5Q^WShR-hrkMFPpSX4pR~_6?ItA{8Doz;@R?Roxt z4X!W~80Qt@d;nBPP^hVXWCkKucv#MrF-vt>{fkak-f-8%z>%V%`rS@m+W>ddhb{- z+6Ze}`rz0Ag{n2)vHh3ttJQ(sCWmFrK=|}XWj+=fp4cYUsw;m$GKrKN!T(xX2CDzk z+HXE#UOJKdK&iJ3ft0k9#rbdl+-@2Y313V|?ri^r{j9j#Aq+uYzOoLu`Dx{C4Z#V@ zz@R$SpT27RdkIe4lh8>+Kyv@_ArK?!;N?vb`8u5P&F;nT}bDm_PIko1`0@D%n@e@~*e+H@O^`kWt-bWUg z6YJUZ@ulwKuaoknKOz7;S(_WfyiMpD%<7T;Q3+cD>VS#xmS1~O;^Ly|OS=#L6Xa5s zyvdj0nIc(vAch%5A~l9}Xw{!Fj{yaCa=Uicep)vIZaH;SupfL4C(JhMsNmHlaLdIP z@~aHu|HU{4+cI4R2*4*pJiJyJj2C<|d)cK7u(5 z;l%E3q%9!Mo{6{akF;nj;Q<}ra@9KiFoUWpj{D^^<=nWPCR(7Qd6|P0+eI6H+{yO( z&QrTT_xQBeZjn1#{o;o}xF>W_@RO0o6I^X;3PG{@gVu^I&2GV~3~RZCV?ixmB5@D| z@_AH%Ur>4=_Z%T90itl1Ya+m3$$)hJU%6C+lA8Ip>2lJ+<$OvM(d0;WWoECtwV<_> zw-g_@%dqSB@rg&~pPGJkO58M#0#R(-N^?nesgvd&@~xv}*$o1gIQl%k7A` zEsU@N++mKK&tXO45tw3%GU8ff3TGlxYrd@9rhkpkH}_~Bm>ur#Q_vCDu+^HVdB><=DZMQSfX^NE@E7$&W@UWs!r#rGe!^5}ZHnAAvC0B0 zGQy#@%U?cTo{gMJ;Lo5vr10bXVx;_R*Ca1I?SaRn{`kucMA?$~NB7}4N^Jca4RIWi zz=T;2CGKDq3?;Ce=^45(=H%WX-dXKtnn zcL;nB>$!fw@Q2+(LqIyYvsq#61_N1{MOr=)a%wAVK>?H==2K;szo|&d`vGEswvyvg z3(W4sa?PkCWZKU_F3FhrgYaDI^`cMvAEb^&^`{%yseDNGN~GS}^V`KrA)1SdCtNRw z{zOJxysj@9jW#@4UA8^uoR5ZQa4rRGp*l@#eU%JfWX3I3fe?at!j&Sus=>5!LE#k> zY`MKXJLbeyKeg8h&r|d-<9P_;tnn%dwj3hfeNZ^7OS7y!Mq z9x_-F>bYW!sEA5PxpvIC3g}YR?1<=^)$oGiueCw@3qSS?k--a?pNwtm8gBor0IhQA zAC{5!FdIqEUcLM8@rMSKyZ?rbZ&jJ!hn{?Xy5|4f@Cm_}MW85&eqb3ftN%xsHml9& z-UUDnBZq1{xl&x=$G#bp3;<5U*G`{3SCL{765fYb>qp{>7`6k@8_AkCtL|N zc5iO&4mRPcA|1$Yo_4%a{?W{3^l`gQALB5`TW2!6Fk9yLD_;!r$O%iuL0bpdFzA4g zQW2dzP5<*{Aq|h}e8}p41nyK3u8Q zI===7`CVW>>VByC*ZYcwk=e6iG<>HM|e6ilo?`ul?d;_Pf; zROH)?ku7F84S6$~fLI-qwd9XLWZpb8z<7>~V9K8bs$uajNF{DUpAe<2)SF=QdPsCB zS2Lo`eg+@F?lC`CKFmxf3f#W1X&xh1EL=`Ky)7h~LuE0NLWi~z#T8}NzpXb*1bWZMX$zbPYc}3dl0}Le zE(h{ok!Ze%;DQ>H!^K_DSvdTK1^nI-h=2apZ4PXxyp8V+np+kUwEPRBBe9MRn!`lR zIQU9bi>y!qt)i}T&Sqj;yBbEePzUVlp0C@Uuh$jKn1W901l}9}fy=#`?G$b%J6#x2 zdrfwE${=?la#^W?48;3v zxW4N^qj@qPq)Qc29G{*CYg*M#qe`qu=X3qk{b&Bp1nO8(IY-L0zBY7jm|a5XscbEE zEj3hjI&6~k@nXu#F%=Z+ukbk>p+a94F7dZ>D}&|^mo+pV_BQ2;cC+aa_0t^#Z38Ui zRoFY!hhY>(7o`=@4!&LZ=zjEput}Z}2GK``CI>&%zl>~>Cn#$eYmwOJECTBW6Y=?& ziO};u^f)YmkZ!Jq-S-yjxBZIveudQx%Q3KH-(+~&rlJ=h2b(-soo49b+HcQTZuDh< z5d%@QgnaipgS9r%g6tb*U^s6XlEDl7sPNUx`Y1nvqmVZZb=$7p`KW&JRj0N`~lH~N(^4MGs=&5lzfhaFR-A@!aJ-r9vA zke*mYV&cL!rQ%GqXoiN=I)80$^{Fr=Lk5vK&}TwvI_W!b9ebq?2upo z6r20qgVjr;hrTXHA(Y?&^ZlMdb_!|G5CSW8Wv|Gc`$m)IBY7^!st_gm&^~26txY3h z;@?XHDOv!vWkFzG9n;lzWnB+GkWP1Iw>u5PuEudqgw^Q97?l6|h3u&QY7*G}q1JUd z1j_vp0v!FXyfgfp(unvh`Y;W6b3`;XsyRMwrCDcng4POjfbRl@Jpk3=98+9&W!|7V z4h1Y{pkn7?Qwn;=E*X0xuRZO~q&>#7_K2nOQfS*B5~K@e9eTnn*)@OMC&W1`o?e03 z1d%wEcjRZz8DgKyB=-}E&MA2@+6YLND&b3CNgh!JQp?l+U3w44sK5zsfT%IK(H$6h z-|nLX@qDZV!%XIlIUB9R6PdSao2jd0CMxasFYIQ|1Une73x~TNT6o zB47fxj#~e*6Qeu**$QFS$J6(bfu@H6M-(%_mnLT}cFW}sejf-}a%jeK-5n-Nq2Q?X zBaWp!?a3H&kb08eQyx4#+eFnzF#otFO5uTgi?cXCO>;x4ddc%_#D<*qCAZyDiu<9mw*dc(Ilw+jN zbmsv%dGkB=wG}tO`-7e6@5QJ>7L%hveunIDqbqeFNCZTx5<71k^Z!r*?Eji`Tzrn< zj1LO&B~ARQ3lX`fZ{L{8ek8-awz$~lcfj8L3WCargT?li?r}t zyRWYO!X>y=Hkouxb0Kip(A_YTxAB2{{X>nP@|izOXl2bqpl^xp_dUCUW&q`XND6cm zJq$rr7lAiEIpIRnCoV+3f=u#xU-;w!vAEZ{U|0ikVwYp=Zbi7rkM??T`0@Pv2+DbW z#A5^Fi>jc*6P8yi zSt<|@MYnxxzS87AdkQ7VdN_dxh@9aLx}z46nTc zwsb1`z-J#ly^*QW^*raz*FdR_Hrud}XSR?cm`|!uT5NDn-B1a2&$+?@p-I~#?U}k2 zSLKVPH!Mt53q7mP?4PaoYLiV*8CYTBzYq=d;V|Jk!u=mSzO~`ry5Cq1 zL(gxm$FEX;Dx&*wf)SQ#^E0!{>90zOn4i+1(JKvOSV$ia?3LtQRH zH|%<wNLl<-As!pW%u8e5>^=SxKC?Un>ABaN@9#w*U*<_~yQN1Ts zx4YAp9ARO(mBEZU7Pj0RVVdjay0tsM?mmvQ%?PZDl7l-Z}Bc z|C^1FG;PeKC1)XL-mwu(tX6P_NB^Kxkdf8+!Q{|HwnCE1KzIaFfMoL;^_Y$ZXS(mG z5+qpt4{~HUO7=3zySM*-@H|TW4WTK{g9m`Rirem9{ctKtXCdKgl0C;(3LK9UInh7c zPhi^E|8btw8b*qJ65P_%2J^IVb?GSeEbG9YRpUn6qxHFcP-&S$NEuR%uy4I z`0FA_W;lxgmZt{<|LL;NmpcrZ_hXy>$W?`{@izOa|C{GDGCRYN@6Nn2&$1mG_Z)3Y zSM&}d_wYZga#d&w8%T3RkA$k-m9X|nRnN6b|Itt^UllpdF5WSy&3!8E+fG%3$dZ~@n2%7aqk1CWxrTv_1fE-CO;I*>xH(PY;Y@c^|6LQhj&$8lJ z)(Of$!aV{M2{_bl#mT5bmMDhv&7mGdFfc3T`g$T5awY2Y!SEf4n^E}O5gQ+-Dk&;R zg$+iDTW{RU5@#mvo2;!$JwKc3#e46G#5WkVp&OJ&mvUmqq}5NeM$Y_MaCc*&O4xm8 z@q))}P;!Rb^FO^UR1RH;8;>mLjJQCPto_i3%HwN$+D=@8;AE)qR_qm5i|3Ere{r4^ z){m-BDFz#**@2z$9LQnajgkseCtYAaF*klR5FO9@U$y=!Y~A5N%tG z4Pt8l{mR}$)NSbSqR4p9LPGt1k}OD7McSbQY{hX8IrUpIzlZx?fywS$qt7tPR*=*I zyI3`y`mI>m)uOyB*A9*f|MwvuO$P;PUQHV{mN7LbA_Rfu)lU~b=V!1ND$q02Kly?} zg#r6dM75XQbmXkI^=XwtY9)ds=;oddQKp$Y3hRW=^J$JNfAZfBQsO_%KbLUHM&4}N zCie%ntDBS{@x#;0n%ccJj(zdK8eD&ng(M0ub4;x0cU6?CeI}erp#E;mL&$48m4zb` zJQS7}U~eiHuTcH`wmE8s{kmLqs@6OoQm{{aDh|2lOLA%6WSsjLsf?a^U8NzRnA~%_ zDNAo1OMiCwB4%Wd6$ID5apxVekH2x_?c#rEC-J$sisvxM|9ANUhIq_Y<}WBtz5iA1 z{Z{Lpm~vk>1M3|f>EjwRf7K|$QX9g!B3#aGNNtB#Fs_}9PgH7h07`i~^@NetSnx^n z-NrLc29_4jFY+k!%E9c!S0NH~OJhrrbq-^%hu5!UkZZ1o>PM}ySrS5SzX4sGGTd3=#*7{&V`kJ@USkZ0eQJ{E_{I({8Y8@u%**8c2# zJLU_p=*Ue{5zy=|(lX+zHZ_mQ>`8adN~neM5noQK``hhT`Zk#IKzN-QtddImS7x|a zYIYDgHZ$Ip>6_h@j86N}rIvQZO!j&ZE0R|lrp^VtAlhz@+LAw|eed>@BW+7N4 zv0Wz8Cyo^P7x@?}v}x0hO`>H+7hgK#PR# zDID(ZM2%IhUJD}7UT-h*95ok=GaWP(IR-8sGD{$po8W|r1PatP1L~;w)^%# z1s&!QPyg2hys#~cbtAztafPC?7iyI8ZEy$M7v3Yhf03}a3qwQ%`gVfVrlME-9VPD= zb`#4Qqmno0+BtqrFA$+Ot~k8^Kzz&mGK%BaH&+S82QjWR&>4&ZeR*;2prEbqCQR+^ zf~D&oj<-Z#bkqk~j9(5Pn@e4OOLH)(^QRF76M$bf_LWREJ5Th$YU=0@!gwq;&@m|*-40z_zeCCA?} zo2F2uev|q*HH*!I2a?`((GGOV$5A*W{XN=Oqlz;c@2)YjJOl8FiQuANl!h@5%!bm_cgbqLo;_g|9#6EwmYaPeCk->;6GOsp$hN5H_fG3M&aJUe)B6{z+YwZ7oB0A`X{cjH; zQV;I`{Nw>;ATjGim|g`6tq#3v3GtoWXA(j%yNnYa2Ki#do5c?|Sgy4QeC%g%D`#)aKa{{#~WKqvY+1&~W zG3^cf4<{9}(;FSY{f>ro0%3J0kok4|TIigbrJC~KF@{knmm4B0dr$)c8IoD=U&hkL z?mvNpw`)Oe>5iNmB(~`;a-u_L>|qEVFbbJTn^w>&-HX%qQjw?7F-kO02mkJ|(}ejQ zF4#6>+J~<{8sZb9n|QsnkkZlJjL{AqJb$X?JQ!XsJF0xf2{U6pr1~$0zN#<$nT3C; z1*{~s&;Y32Y}eB~*6EDiR_x*PO<)VjAfgquJV{zijIQWMcW-9w*BOeVxJLi=xvTb- zVNy#DPyW{NJ>iz7vTR&~6IW#*x-m{`PfMI$T?hL6Uss({DO8z*Of?A!n@|h3wJL>;t?Xkhi#9$K^cfrpRfT6I=WxM zr^}@(So@7h_BlHfM#3t?LyD}i|Ka6=UGiljtMg+PaMnfhw8nL{gLZ|W<}DgPmGsQv z0Q;cx5?#faM-sh{bW|p7xRgU+}6CRticEdeYyV-*B70#rHHpRrmw|=_REZ@_ZZMsW7o{$cGWl zsH>>;V63*qJ)=*}5kZ6k8S)TuU`7|D#Us1+&Y~Gn~|CKc@=4xt+&8cdq zIZ_osE74?Tl$V=&|2Fc6hA1w2XwF*!uhT|r+|~M+QC*J@7X{W}aWabG^94q1X!`_v zPSLlYxJmDqYn@lPN&$d;L|#f<(;nAl)d^SYW47nX;++cLK}sBx%@62kOD|4VNyIOL z?_?^sj3Mhg19+6lU9_zAIMbd@lVb&?8JB<9`4gBYF@f=&S1l*~X=NfqKfAu{o36lB z=aIDVqOO{tteW6}!~~G7c}|Zy6u2P`@~eOVJj3-Dcicn$PA|!{13?hnHv1R+7r0~u zGg6Kqim+0#a+@Gxs)Fh9pJw|sW}X+)w)?W|jAE(WCCtLu>z*A-mly6WDCPY)oYUX& zj(>EG@n4l4*-ECiUcPb@fdPeK;Z@Jd(_2-taP{3&i27Z*2>gR&J!lBOJIE)yM3(9>qf1<=zU1-^_sB;Wix7 z5o-M3fXk(P38$;tl#e=^Hpr>vp`KPkar^N(qaSCK0zO3>KYIPc-HvpCdUY0Uh#CQC zMxNaXe)k%%4XDnrA=@Xv7ZaYKe@P?{i!)1&(@@v~j46lQm5GM6Odj~f+A%u%eS(V( zZbTZ=_k!-`0`6k`|9%AtP39|@{a`~-S5z+}uzdjicw6dq%Of8+Gj)zj$sge(r08YQ zUcE*$PNDcBpibK$HGH(+A$+$Stb0a>YeJR2$6ou=q7b@vwmEM2YD8y->2!@VpsgXj zHWTOuoe!Rm*=uuq+uWrwC1eTkwQl$SZuaaax-a7JCH{%P89O!na-`6WwPSn-Q!QrJ zS@xg>m5JHSg$Vw4 zqyoie4vd%xVI<1f0Xv=O4xm%AI5+TW246B#G9dx6<4HVq3U#Pe|D)asq3QqHGq-xci8=Th<%jEcR@?ZXt$97z+ zW81>sW(m}#&(dJ2cG{3QUa7}fs<)Sf#kMas!6%`&|Fq^{&}@<2F!8{#fXSW0J90wD zd>>lRl)C1uqL{!Q$a?RuOX_CMa3w_4RM2#V#3YhXXA&zo{GKAkwD@=IGinGksu2OO z^;6cY7j1@V`fU&f;`A%zsmg%H$#5~O)^#&WBV!Iq#}8v}Pux}9K^We)?^`5wsWTXX zbnSN`W}QvXrl?31#VA7;Y8KtVK5Me2s4Nz_+}w?7*)H>cQW+eNwwsI57sqGpjzT~R zyf~X)_-r`*#2GySowD3Ug@3BSqdY|I9hoejvl0tLNldFGK+oargZj3((sI~)b_->%46fS+Y2~Xj+?~~b z#CEXTgVQOiM*uD^-HR714&8JJtKGU(=|2-dPIx0EQ$rb_3nWg@B(l3vdtQA|v)~TU z2h$voQ-w{FKiJ?l42F9dyq{LNZ3~DjSojp zTH<6h{s1FVt1+?m!(dn8RKbKfy+e@m~CO=Wli=HdQC7NA2DK0B-CjZ6Ty0u!9f%*FmWHSk#vv_Pu%P4Zax4i_$Uy*p#no7iGx zMG+lp!5mrq06mTX%&ppvd8IiuaH5%7VOT6(1tvu}XPC$e2;+i`wOc5I~&9|z7i<)=BI z!KIUIz^JtTc`G+bLWlDa8qF7A4^0Ay%$Z~jY11&P}EUJr| zJR6V;HAHrI;zI{^*|yu~lsTwxUb`q`Dls|$I0#=}M(reuC9L;Sy)3=u!CZ@HXod<9 z2kr}1YvH(+D{%%rQFdHU@S9*A+Df8&B8CXjBi55JTk9iYp8dlO3aPH6gzJu~;|D^v zI-6cNezSUYIjy&d2ap$Sb`&d`>d}}>3T_x0t0~v81|?08i^8p60XA@EsW(3>`GjWc z%z8~9Z_Vh_P#uvs`hJmAC57E z%qcRDIma0|oI%Kx%24QuOdV4ka*!eOl!Oc=Pv$~VQ8H$hC_*%lF+(Zg6f*PPN6+u~ zJn#En@B97r{qbGbcb{wDd*AC`_gd>-d+l?defC~!1=7Ob+!Z}GaAv<{E}sbF;nk7u zeqS3*g3B2ybKs>qRt%QoxY2l=zF2s%t5v1D@Tt?$a#s-?lKO0!PbtS^_Rb8i$*A9K z|2}=;RmeHqr_dVIRY9)7Jv);*Hp^LVA)b@XAckz%eK-;2$jLI!rzzc3E~-%>G`Me; z1;ZiW=);(})6qDe%(}RIZIJzHK>5(8eYk3W=5xvIc6BDbY^@PchRN8BA9ECv%IsZP zq|B=46Y1t1BLuet5#$fUTAwuqLlft*`n=Zq3$mH7*}>n@P{efq_Kj`<+{cejHpCd>~_; z%XRtVa8X)kIl=wQp%h(Td$G+1F`oNWX7 z;|04IJD=DIF)MX`mJ6r$5LrqaerSM|IWpLD`+&Q!G>9Q8%|?3Gcdp5JDd1D*1k<1CX%I1nQRdv4fC6TH{KUSJgqF`cW5={zKOacNFjk$x#crY zUjF_}wKT=mGo{mlztSRNolPbcvo&qmxQM=Dm7~kH85_^N@%2l6p%UrVmyv&*J!@)i z&X_oRoU2OU zin+-S$vuM06{t^E*cP>)PYSm9qx}mdyOV9Ap)0`-C)yaOJn*0}k%ig8pjfXt=zgL0 zF+KOB3mx(xRI}Eqvdc?3^leJrsnom|t-YzyrNVzY#PF0W?Zv6G0{8F2d=uU`#!Lkve>UZxtn7i+Q|DnHt9cEFTn#m8s0b z3QK8>{Z=rjNpbd3UCg1W!pqXMR7sVI%5F=j1<&Gkt!BZlfxq|t@RiD%J*uUh#fkNd z7l&4EnlV7RManQu5PDk~3vVs_5R5#k#mRVWhMD64_>GwE;3PPvRFG?Am>S=E`s^bH z#M;&G8q5<|PFTxNJ9U_p&Hm)ZzO!=RL0_MJzgF`G2ywDxw@GAc^BsAm)ME_>?NCBpKuKL{ri4S zZOnPGwRX#iA$1(PFT2mRi|NA)?{Pc~RiHL<{{w||j1~~;@s)P4LRIp0ur`IuH{?=c zCng#An)&z0FSK4=u{EABWRr~bGj$VsZbEh+tK{5^r$Gn(X*~nmzs}P9>#KjhQcO_U>@)`Y)SPmV$qTe%TjMd*tyYgsWyYJ3<+xw5lu-dw1F;PVSz? zpCxECe@u#k8;=#z7ldjs9gRtOA}y&HUhtIuT@h!e&UI}@-j&B{qkPmPv5(4-)1&5E z(h$w8l4O#-c5wf7IlXV0V)x1!%Ao&3m@$f%#d0I4$Sha6+g(2;LD>N%P~f0jG70oD6GXt&v1 z4*IbFWd}9mc8j;wQ+INrBFHi?D*E&bBY1zU`0n+Tt9xp0UTe8N;l>DR*G?r$co@rqX zdyBBt(_>sAz$4cdvW-e*EkffPXA!?R`BQ>xi#IDQ(ute&7cyn1@@2U73mD31-)a?i zCVRFtOUoZXEo|)xMT1Tu;IXihRW)l~?Rw@`tsd`{5;>5u=0sYU`GqjAd=C!bxo}TL zC*53__la4XmU_9-n{|#0h#7xVV_LbXhjbH9?r3N0f|sr(7I?pE&rdAuH@LSt+Z_^R zj-}jqbbLstai8crb_nsZ8FMydeP7sS%nx`2X7pfCeChh~7Y>~sd(ZU41g`8R7ixUu z*{WR1HoIgY@@S6NaW(FQwmp3@i>4=d_{^cBN$CafpGmI#(ix4n+oy`rQjCb;%Qq*F zv4>!br`bVL0}#!5fc^ICS|)*q;S(i9sP0{QQ|bbTfO}Dz-kD-sTm~mzmO;Os0R--H zE*a1vL zGI%}HEfcjxl=ZW{xWMGkBygPA;LyzSs&qZ2c=CR*{g5s~J7MmeMdPN6#KzT6HhEC- zZp?{DMKz)x29rv@$8qV-&STpnBJ&0Ge@>Jbf?T?>LVIIa(^O`gy(d-I8>k5gBOIU$5cqBKv_ z^SL=z{U&T>XGn8nptxHjF*N53?o0MYh^MWqqSgDB+7sf{@B@X~3~t6TP7_^kpSy2| z>!hm>X7W1s=^hY9r5wGYTjhQ)L(d@%rds49gPO+J8?Z>K2iP3T^Gpv4vh5yPTy39| zpPQ>Gt*?5zbU9@k_NBLPXq(uxuo4u~Q`6v+AbPSmAc(PP;BKB&(xqZ zCPyx7vBe|O$JIek;>;pTSzWz{HG=@#Yh7D3Q`VQzGmAHvqBC>%#e@X0*co$7e(+|E zDDx>ZHH^7rYy>$;4U{LJVK;!&6bmpbO6-O!=CyIDmN6cd!4S2fGiR?p#MJkA9$8Rz zUz$ufIv{Q6Z`Za(3zRuI^HoOQ_Eh;pvAGVJ2<@KUlj#bfZ#>^wA+;&YRk}QWD1Vy= zQ%x(?LISH&)ziZTZELsLd~8LZY@Hc7p3q>e&LGGAjq~)_#$1-5T*0I)$m$+N_E2Vx zm2IqmeGyGg!%Yj*YC8CuFY|^~><0mcM|Jt)a=S~X9xR40HEbux>ukE|W_jP?mN2TW z8QS>VnRV&d9TmYu=xVO-;v<1UK|Iow0qSjd%9OC|Yd)`1C{+e-+6wb@_)%1o#S`q} zQ%Kt-yrJK>rAq_q`Jl+F3PZ!4KO15=HVSI+OpKX+%w1-|XG8=l{XglyW zO!{@a7Ro8o=p{3lb6dr zT&m#Nkj0M_9N5B6B=YB)Lbd>1WVFMxP+WzQ8%a*)D}<{F8D@ zm-&W3m}Mc&03LEw!N1YgiI0d2GGXD15%Js>5i>aX^T0E7=9aHo!d&>9X2H)BqM

  • {B4E7`zG0l6*&GUiaH&B;KmCcE#Z#$f>7A|w%1l~ ztvqjYp1+!#DLbWvoXNb_!|w9pJkBK||D)m&C-VYH6oc#cDjkO#Y(L#QuH}Dh^_r{S zXEpLzX5ng1-|?lT_KSrp78Wqx=AbL%q?{z*ki(*|v^Z<&@E$R(v((A7xt2Jo6hjv` zb~X*vP^iF~%#;&*hH2C=uQmmHkS5Eu(EfFDWR>zIzH&K4$~Cv>5`2Nvq04>a_){Qg3VdG#Ff!F7-7g@J$u;I!au_1cjYV;@8T!yJv%whK>gfy1-ejoWo zc)UCwZAjYt4#8vIFLooP*_gfQ+dK;&bGq&xx6fPau}PDgZw@~luHwk~xUO)x{d##% zGb`@9`AqzY1Y4m*NWoy&dP#Lzym*I8^?3@A?LCp5%^&G7sAuzs|N9>DEm7nr zBRtn`{}KDK;Z0o3M>i$62l_XvXjLyNO%k4R`=l0Kf>npTWa3D5el6t9*5tNoZgj|0 zHAK`hnbrE*&8NjfZ^Zf$+zCl6!7`THOPi0A`)x`dlJ>o6w0icymTl_h;k!XxrIjdQjB zTvSP)C#%BofeA%@J7-6!`;)DoOoyv)wAd+eVNMcKMXJ}k*A66=D%1Kk`NAc`&a||s z5VlVE5B_;_$Y#+1&ROy9UI|y;;TgrDjIEWizyn6P>^ZAlf{MR_zgpYLJ#rKmQBfaP zHn!P##$8wPsM2Y{I%ss;x;a3iSE;$mzwH>q)E#&}Zt;&k?&`OssAF3?UxOkKDRIcN zGHtT1*U@T>G;yojHB`t13ww^)mz);<$%>)M;f|2u#i2Cferwt-#5GFW>`tT#*1zfg ztYT6stV{J{)%+ZH;5VMnoCJ4SMom2Lk<+~_Z3W^}=Hq6=G>~=tCEB@?7GE07YivO) zCyBk>!1x@_6$Yjk<;Jc%$p)@LNqO=6u2)I|n-w>7Z*`7Hs*}=0ziC=gCp=}pvXjIukKrc3tTEQOhsD^|`6m!&Aw{&F#5dIu4bBZtIV;H|xKS zW~{&@p+Rhy<^Km z$D!V(-b?2mo!#;p-0A6>o=5u3*_a<+y7lsnV>df#!wU}l(?{w`j{aP=GJ1O`&a2t+$wa;T%*SWf3_r*>pDC5WgU6SKvU|m@4Hu_FA9`0ev|Zsk49^owj;sg)B;NfU16zZLLbMBk>*m>jHN7DI`6kA%%SjiGq**EnXhs{N^)tc8ku)bKu z!Zu{bBM213qbGD9Y1>86kLd*l!69yL`d%Dzf$#3cf4A-dCOk1IP4I4`0}()A_yaf_5tq*L=6Y0X2H> zKT9=ue+vfa`9R)~D@1{u0X0|19U=qD6vzqk1juQ-I0#4`LO?jMp&LsLmw?_!=k=SOH^6WNEjm>?o+qeJfjOFhJ$1M50_gPt#}Lo~>p$jX0pQ*M{`Xvv z&|!e{uML7UAWnc!*DIZ$H`v<)P5-Si69D_0yCoP&-qi+OFBXt67;6k5&by=NTK59_ zrk^!uFdH9$^WS0OkQ{)@1KIyR7vhjAkO~Q@(aA#EyE2{piw@la=raAw2I#HdXY+rP zO$*`%vi-(556+w;kmm1ML4Wo9tyN3F%^pbawW|dP*b`lk|9Sj>)#l%Nr0WxcbioD# zTCoST{w3|-77IaAyI0PsT}~8mR@?#RKkbZ-wG56Y`FpsF`;on=uAUTvEb=fyR-8<6 z^gQoMaVE%~KBcFuE-Oy;v8SB3clV@_39ouhLYGF2S!rKj=tWmJ^_EV0mPep(HC$bpEvP#^>cM6JCmvZ?)+!>QGYPh z2Ta?T>_>JNcc<3`S$nD>#n1Bs*;`iJ*Y${_Bbf^3=49_qCCiGd{F@G5<$vaaSNTse z;Z^=UIWQcr@-MxC2Hp7nfBCaFVE)VI_*aJ;zVIA>fwt`awfTf}YP z;2P{25*kJt=QZ3k@-#kZOlxduFl#Dknrd2V#%qpgPHV1c3gPAPC-7GI3;1Y!B0de@ zjGw@N#V_L73H$^_f-%8?5K1T}G!teC97JWJEzy}6MQkUkkNr1fv^V}$VZeTCJ^5dKM^uW6(j~3fowr;AknJFRV`I*RMS+m zRPU$`s`8->P;sa%R4u9#XyGf08+{P1f+nJ^(Xr@!bOpK%y^NN{Xk$)e$d~}kIz|es zj5Wl1V3V=;v7Oj4>@;>3`vbdQO+`&j4X<`Y?WCHe8b!@d?Uq`mTCUn%wR>uh)yC8$ z)GgG*)icyP)JN21aR{6~&Knnjdy1RJ(QwN^TLKy+4JVCQjZBTZ8nqg28l4(%G(G~Y zEo%TzG0is3MNK%K4bO#F!K3j<@Y;l91Pg)O=#gDY23`K}3>tNtPr>5|tE1Dke3OUXZ#-qd=QL zm*9)`9@yz2%n^Zz2*ho~I|L0_&mJTn@(|JlX@&Gc`XTd>?Z{r_dnAkM6V*4WL#p3_ zJ!ztjpsu2lP!&LvW2he}F7#Qn9hwSkDHC0UR>7!av@o%lo0u$2KV}&76|;od!f;>( zu%cKAtQ__*7LC=wYGL)T##l3~74{tVJk|~Ch4sT;#ztVTU=y)v*gvtk*h1_B>=P^v z3u!?RACS`v>5q&8R-KEyiv-IFSOXwP6eW(5Ldl_&PzV$nwTXeStXL(Wb7Pzd4lF>B Z5Wo>ah$Ezcy&w?k2s}a;%=-WB@*kf2QpErO literal 0 HcmV?d00001 diff --git a/vendor-bundle/amphp/process/bin/windows/ProcessWrapper64.exe b/vendor-bundle/amphp/process/bin/windows/ProcessWrapper64.exe new file mode 100644 index 0000000000000000000000000000000000000000..4d66f2826ad80e350160b514341754d48e6ad906 GIT binary patch literal 83968 zcmeFa2V7Oh(?7g4#e!hDiX9adJBkevfh8_Dgq!<&UCdU1LXV1NY?f1*`~CUGnS5&E;sS~*AGh*#wyi6REg~?ceX*giTBwCexYHpcF{3WqhkUi?1BO# zBcrr-qcnCgaglamk#-(^2iQeK1#4PcS(UdpfPV0!@8)&$x;;1E+kV^ed^_G(6?FeC zO{A{BZ4jx;Z@Wd>4mY-W${Ml?rj;0TL`fY?7T2tHc-V-nn<$~YDPv_sQAx^D zQA?z05TZ180Pa$k8)F%*qYdzAjtRJF%u%>YU2X(#bVyimES7`HQ*jf# z5PB)O+^AhlY)lY}1nt%#a~pRk?oyYVXr~E}LPMe@15E|Io=8hwZjALP_4@y-tlI!- z#t#XYk|bLY&q+=vq+}2KcuBsN?O`uiT#~&ky>)mwG%dtDfveiKWh^N}Yb#fkbXME3 z<{ol}elZrrDdWkn1Sxr+{c@yEzdLtmg{6^_kJzunyVlwIfK^2l=%&?4uYrOP3^WAe z()wB3uw`ys_n>9oqnYz%!Q^vTmOCR-+Z+j|4(0laY4 zK|`lr)Cp~RTY5U>N`UI2ucP-rZ91BYE`>2yOa{~{$1w|DfC^^`hz$j^}2dF#CG-8|$|l6+bI zldCe?Fa|v18gSJnWIg3`K&Q7r$4AcAUl2Gy84rX!m>05hr`PTAh3A=aY`J$1b;sL10an&qP80^lLJ4tOEfZ*Hj*vlM`5 z8E`2kIG2$l5Y(MIP-`^3iTe8Y1_yU~hW!hu;qKC_s z*unBCb&KPPFHK{d)$(!qoVvwnDYM8t@rkKqcJjg#p6MZHdg`k6qUnbi=Wk|f=4&JA z-0Zv(^(Jw@5S;SpEtzGQO*zSQ=C#aTdSG$gJY3FeYkA72lBd|)dC6D7`Bj|2Cu?d7 zJ}Kb>iMU`3ctc7&F+}aJ9_c@Fgu)5L4a5(Sw^R@wypS;5zzehN=ZX>%IbT{8qsaLh zMDA#-QX*Fl1Cz)#5Mw|28trAPoKffnA&n>L?JS#Ff0GH}a05WcGH7rLH6~I}j$~%F zhgzae;wpbAZEG7ek*kt`50P``de~3Nd}6CUNPIHa+kT>)lljC3nMrbv^?tL=Czd3k zL(puhq_cQ|&5-)Lp}}MlI2zoJT7>G&{^C3-!+O?GtYEgg4M~YXROTtO1)ZjYV<9a> z4kL|-{q59)N|e&DVQ8ZWOtfrqHxO^~wZsflPp9AI91jR|FvfJ_s;VFnp+GVdN_a?~ zx}GLPl3;Jr0rYSn&EO`GX+y zG-zr-5*pR0lGXC>H2WbT;EMp$GQ@7Q(4H=tT9v?T4RpIcr#j6BI2U_MK~|9g7|qOE z&IC(Iy1u4TP`+fQnu1dOIH*PJ1WMN!LPYnrYh|~&TKmAGm=448($hsAMy`YJ)$?ZZ`KN@C+;%kDOSkhB0*YWcipQm(d^mps7I zy1oa-c3ymT2%u=o@=Uc$Zp_bk#5GbUzH*DL>m|EG0%wVO4_QZpsiF0fl^j7T(5eU$ z0SU#(3XszTh6@fO+Ie9x{Yf%`-emSS4%(QsU1h)=8B>EN`8T2Jt4% z>a9y6tetX&pmNoI2XIRvq||zrE6RzkO=(v03on^Zn+W)qfb;OUv_I-qSt+r36Vz50D+G9p!Dcb8Qpg?Q2 z*PjBU;(gE#Q%Rm*R>9k5u8M}ZV!3pxrc|0nZBj8_@mjGnDG!nlFp<{YM#6&FLK7$c zVCQrrTP;B)LP9_HmE>Qt)x?58>{Y51bjDlPQ<5_8nv=C<29u;8W_Px+&6D=cFLKpOwunkn@)x_r2z_jkO;@rGGrm}j z9K+Zs%s{TVCgvE1*%X&W<|$48qP`raOKJf2lq75IJCiB{&z-O%4MFq6)WYon7seo& zWtfr0b3ec|m}RuToaYD01L3M8O=zCVw&La_v?l=O)A~{abviu_cI7U6F=-gBt$qYf zLSBjQ!G>d$9To`nwo#NF1Oe<2Zf~c*_M8}0>m|v4_ML^vM+3eCd60k{w}-11BbWFx zLR*uol95%`oz@e(R(@p=!c=~vFjx$#X*jM*1-W4X(|$%wRIVCT496}hheMl!MDd`G zufMQY4fN64+Y)I|YjJ%5nk%FU0BM|l7nA|<{6HnHS_R-V3?c4I{4IGH_FX?B3+DLF zz6-*+DU@x9jxO2Saiki2p-!x4oxq9`5hQ{IW0~v;VX#LvQe=NI8c_2gw6pnQ*NTgy zp-Hrq!3;UO-hxmy6o!qMy}cs=bH625L`J?YZO* zi!iQyo2$-%0OWEAONmCan1LGoJYY=Crr?FEHVXp6mZFws7ttsjm!jCKm9#M_1i zP+(#A|Du5r(>&w^rp1Iybp_LI222zGFwv58*&TeX@1o$@5Ovo3!9BAwwAHPT=A$~F zs%tCNW~eSbE@=tF958NmjHXb?4>>Vzqju=LR_S~Sd$| zfbeRi7xyJ=H%Mm=_!7$pC{R%j0to0@XE1Om5c`G!;7kBCK(lrNv|0)@qYE-m@DcHD z0~;dAYIqbT*nx)Gc*$c+Soke}DsJiXz6Lgg{5oaK#mdT+X$yqts7bus2!qaQIU`eV z3*%ocayH2I5IIW^WIYIH*xBA#cVW+=%$*da1&E~o^(jm(qY9dh^(F`DLw#&;m3<)^ zfh9P(IdMq`srHax$Un<>yyaI${|(#x9a?7y_&Bg0sgZRU4y$SBN<0yVX`A0sW9LpT zBPE`)EVd-miWCVyX|&@GdnWy^9i~pq#UOt64hqw%<#Sy12JSp<($%=CHVFW2o+-41 znu?f!d?zHe)cC)kG4y!NL>MwGu078-!oMNZP_aE%T|pBBBZ|vG&P4Vk0A5qHcNKu7 zZ3|u-tzHmVlQfSnmd*i7=Lqf78QMqqltNXDC3G7&V6X&B))yKBmh3J}8Ki5{$FQ79 z#Jp0X>rL!$sQ5#^7T53)_=3r&xvCIT0*hs$P6FcP1P>+xuY;zhDAK8pp@yrP3A$=4 z$s}_(N#?ec2X1mU_Szj~1v6Uds{wo15>EonP+wMndE3s_3Y zFn5J*NMNModZ0K~7zW{#qhw7&hJ50^br$7*%zxR#fpjnOdv5SEeY?-)$yZ~@2@#Kg8sr1S+@3tqr>Co($~2 zTPd~>pv+y3{>XN=`}@d5dwNwInAc;LWK(Kq?Jq7r}{F;6!uPc7o%X z0Kx%`PXeGUSD>^|pv?U^lng1^CzXJB&c!}T;Re|!pB6SbX&riSRZEo7;#TJ>XJo~a z6}G|L6D_fokEiCex?JUsS}ZNvRW`Px*tmWewd(`&MT2}DjpQ>2aQ!;PpJ*%TbTnnX zjUpBeh`^*=x$1WUX4NrjNgggS09SRtdl)xj{3V@_0 zx`MOd36R|T4;!KA(-PAb_JT#NUer=Vbsb>9%6|x>3YHxFBwBb~&+_11p+l1$xoQKU z^i*;lZf~cB+M9(YiJe(ox#UiY7Bf|JlmiWZ3|vN*B(${_23z6@N5zOVZZ1em{0Xur z?J%sD{PZA^hpPfGlq6pfu_kXhLy}?3ysjmbXlwYHP)Ir}E!Lt~DJDbteV3tq5)robD7F0C$`@f_DToUsWNlz{+xm|{3qCg8yU z4sfEh6uBrqNbq!@!@16ppkZ4m04)+-*z`(*O-!i2J^Ggd{1$|Fvf5UZ8@33dzcA(P ztPhxa$%R<|ki?g*;_8Mt_b`pC5t2B`9DAf44x=e2U-yyErTWMwlAPt;BFnmd0*KA557_juK2VXhxDW^BoMD=j8}|dk4wckA z%PTR{*4yRWl)T~!UO_NlE4umUs-43=f@Oa0LnOYa=KXD+^Z+jtj@C&|lmnjDNzI7s zb-m27DYa`2hdLR;6NX&^;Syjr;WHy8F^Y8Ghj2OpT{GLq3 zM7)BI6N+9sa{{G}kYqPYf>}PDRO6F1)C3W8omCg0&hwv;B^ct7Z1Z+NgqS`46+PaL zcedE(-NE9jDv*6!VWC|x9Ks9Wb~l(Z7YPM2B!^R7eWk9Nx9&4jlDZ9^r}z|JU2zlFlZG;b30{eGh(wK6g6|TC-%=QGf>PAP9+%{50EQBtgd|zesi+ zD(YMZQ{r-KYM+p|@pLb_+HGOGdLTqHU4%%q!P9IJG@Vu(u{dqH#FyrA<>VK|79uoA zCX&moDY=QRrUc$PX*b3;s0TF#HFc_5m}!ZMz-D$0K@hBnJ*fyHML&cTizDI62%VT* zcXw|>e=nZJA!1i%0Ax@MKT-fir#jUVC2y4jU?wRrNjV6$^H+29t|cYc4F;HOi&1zI zRS*}_Sv6<@(r+Y&q%D5~dOEv$p+Q_FRKBLlIjAhI?d)3LSXvL`>Bmv2#W8|I9_Da5 zqY8)agbtu%0!3gE8NCZiyfyHoWIuZwZ&(1f!mu7Nh}0;U;SaKh1E5azr?Do6gDyJ~ zCh&+1>8L=|BaJ-L7+M!Pf|g!!MQN?=)P4qo8|J0nTYiS%j(#GUlH|}piV(7q$l3tT zv`Nb^0b5GUHRY;Bn73DA9+zKIuvU7lc6l9Vp_We+hf6`{6@9`pN&EOpFYbC-yPXi$ zWrT{zR!9=n$xF7@eP-evltI!;;}Pn{!MLi2SQ3CfLHlzhLF|s`PGgwC+B0lC;S?zl zq?iKZ0uv?!Sv}lHK(Zn%-yg|ux0G@JE5GZ%#P>aaK-B&YohQ8kxgfglP2gx%aFuZb`z>vAISBx z-jEwx9!dfWqc<&nAjwvqz(GnLV1uc16+=W$jHQGvXuv#g`KA}@eUja6eUf|I(e8j% zxA5$Nrpl)7>y&{_HQ7A}$6MeN2epXLprFX9z)R;|bdbQ}HJz*GRG|U<5bsGUh-=~v zCkgYgy3h;^c~M^=<^ltccJ_zF-iapyhGlu{X4xlzP&8pT{dbUPZ{fx1thS+_AP9mA z`o*PtZ+Y7r`@b>NCKQd^cLYm5%T+-%Sz-?yPyFo-13m#qJ^{`Ik(Top(N1cA-1XN@G$!08|Ph6{<9ROp4m58x<tj2?WW4n|h?g8=Ii%Tl+xCl;~^8#p+de#-7Dhkuo!FLSAHY z{w&V)S(cQUYxCr5nA_-}*d)TG*H@|tP3BS-YnY?&O!*)@$c3tnGSMX2Oz#d;4Plya zegAT()LAVwkF^)1mA3ZWueUZzI7P^*{eF`FKlN}r!7e+_v+ zw$Lx9w=H-R;tSL2Ab>FaUnt2_vd<`+2YGSOe`9RtfPgdJV=d8i3<_alC7y72vI4*` zPhv;t3dFvJl2s<$0(PTH%2wIf=o4R=#FbYX#iJ4I zo?h7&U!j8ZJr?&2aS^_kK%)NBoq)P~Q!yu$*h4#j>BV?HB6x7!{-_ivilA+HKbFaTa<{i6Do62}bEup-%Rm>qVPNuVR3>yil)Kp4^^d`IpmJFuXJ?y%_4)#L#SuAxe2XaNx5wGMOTz3dz;%C3t>E4%`g_C<5_E9NM;u11?^9C z5Ieq`@Ye=gp}V~IC7?QC&(9#IEkG!vTO@^;th1CDY~L9ukf#kzAK(oZ2U%bVLc`GE zDPA1NA%=g4_!heH>_l!lWj6+NGuR4ZJ-8y24K$K$-q?|*2LHa;LUPH`R&&aDDp~Kg zDpX_t{HYzSfkW0Vlj0X|b%phQi(gThlq+mWYmcnC7WeV4zXv|ls}zYcZe2Z zlyl0}{{?Clf1d&oC0EHPj{_z72O#8zLz!15)^j!k6Mc|^TML{nH3iXz5a_!~89|+d zvf)&AR+L#U&L|#@a7$$uvRHDseEgsrpd=P`Z;`Xh#Oq>?x6^U&WQ0GGJ@wW$B7OSI z+Q#Rpb!Cgc(DK8&%2v-&Zfx_5$XB*{g;deOAmxaxgP1GRhhtKh3h}rt&d}3+hLTHT zkp!zPZlV-qk&XYB*Q3mCW*yEd#$K z!CP1Hw3J-U-pl0zzQpQP(c2|6ro7z4(k#;(r?8e%;&F%KJ8;&p(F;N+PO@iHDOVl~ zRR*c4ST|dR$AFz($~Aoj$gNWW*r>v+8*yc&IjY}D5X5pQdq9F~ZA_A-T+^D*Du}BD zbtIYK^^9JPWS5Cy3y>P&#mP9BOBOJOwQI4XGYvwf{fm6OZl+hzZ$uV8LC6zk9SEMz zKt!aN^(|63ym2Lrn3uQ91as0^Ttk_%PyPHWDFRD#{UeNtjHxnjrwnI{A%G0Vh8t~B z8I+^cM5MHb4Wx*$8=_5!2xou| zbTA6I>PILuNnWEDEtV8gxqJp1hpTAsBu&%RsA+UXqE<92(KbLxr>6?iHw2S1cBITx z1n8t3F&3Gd$w@Q}1r|i1I(<2fDim_kTx9iMKt~`@D0;w_3V@H`3rB!HZt?@)VMq80 zf)3Y>R5{=we2PfwQ|rZ9l$U5w3mTLxSgtZfmi+kNZ`96cV4)>VEw8rE2bmB@BWfXv zrq~VCaULLJ!^Dh*9Cb1Xuu0rADM;N_GRvINSxD^tgNnpTwsD1t>9c@UrSazz(_bRP zte0eng~NJdooT(t1FABHB%93W926T-6jvuP-qt*>x-8l0W)%Gq{s=DfcUCOWa+IyiuddkJ4si!PeXv!b@&WPF>C-ADT!+#VdwQ>7>{2SA6&THj(JF|3Fom? z4C`H+hhSAvU{&}4R^5LKi#Of`;tKq1#ODJ>;Y`%%A=ggWH#c@rY#Qq{xGUKf3-C%y zIOCTfwU38~eA+`UP|x^96R8bT&v+IVsqs?Jcp9nIgnL%V_mFRR$QIeq;_4Z{s^hew zo)xa)%fAZOW<2{$6B*}}E5G!pP#}cNIxX4rsfV2Fk?iwQ&Pg8eTk^oy`1&QTzm#az z3`25tVvc#^r`@@=N3um6Ai8FhF=1K<*MKsnOxwUUnvz-;yI#HKi7)LY)RwT1(LYex zdP7!h1#~w-PZ#v`#3od8#$9Iplorc6fW=U)Icn>oHXRGik_Q$6kq0g>r`S8?3e*TA zpO-)?d4%5j(EV}(qAB`3>4Mo=AG%vDHZt2n+g_m+Yz*X}8bwv@*a6g{POLY8ndD2E z_w1w!`BL&gI7Xf}_GP-3iEAfYxS>a4j%Bt*8)U#V>~~MSU9v?pylJZ@=GbLhR7V!v z&XO&vAxE6i85V`{TL}^Z(lZrN2mZ}EP7I5SH@*kK<&7VRXHOu-8+R7Z;{e7Rn~VG@ zktdnrjhl-S5Akd*o_6BdOFVxQZIt#~MgF>Yo)FKG;%O(IRYZHO$nO--1o50Ho)t-* zz_$01)tx2zw3mEA4`a#jJ&D*Y$d>YyZ6*1-I`RHXZ#h@}J2Ur|FKDZ(5!&+!@-=@^ z=xufZe!O?13kXp5lBqE<1N=|OaW^jmy6G0YlNt0++$CDbgLMS zO4X;#L~-2D-ZFY)b+D(Ouz8k+6^O@r^2U=$6&S9P@pzHjK-$eE`Fp4q1f^w5y&o*< zRAn2=L#?QB%AL^}gv+pAoGE8wv4O>ZuKx=uuq#NJ^btdP$&fxUq)!cL`Cz4;ts!k~ zNIeYc5JMVjNXHw}*@kqrA>C<6PZ-iGhV&;xYOYbnu`{F{4QX}S$#B_?QPPTr^qHaj zrXf9UNH-hOg@$yRAq_C39){G>keV7&1v+CJ4dWg$q$>?+d&9Wh45_jG7(;!mQjma{ z3tb6OhP1pPjW@J2GrTV|q~#3hOhY{dr*S0&7~W|gp?C4b<9kE7@%{8@CD$!PNhL#C zWN24tNZ-8IZ=a!`5zZb%KjZst!~6G!c5e*tF^2bsp-M|fLmF%-KV@h)+wfk-P(Q`+ zKFE-!8QP^9(t3t+H$&Rlkp5=CySd@rh~IU?yJSeU1~@GZX(dBC)Q}qcIdo-iw4dj@ zDygv?-w=v&Lx(JKUR8q_J*`~9L(6ZICqPxth|JfeYf7}^qU8jSLH#(aOgAOSfDJ`)!=q(25eLDpa!ry+YpRM`8BF zYX&U~q(3#@zgy3Lx{je(X`)FiBr;G?L80Ks@KNND==WhSJHR0M2}Es(kUf&ukMYC* zHhiKzVM@9wOh}Zn;`CJ3;C)^+u2AV!kv^cy`%)1CXo{?U$UlU`z>jb}QKYn<3<3<| zdm{#=DOaKoNFqz)Y?L;MsaYT90o_Zv-prHvBXviPiP6UbgD5ruPwF2dR>i0<|M~m| z2$)8VMHC-{yF}B|+#&@H6b(UdL>JN_N?OAG@Ol0*z2Dc!?`l-iex>#A$2d4p=z&l3 z=esldICmRY{!_I7m|XoGxC&Mu*Aqd4-%EC{5BZUS?=)h!ptW#d&9DwpVrPyKQX3}L z>Rk>uj;N#`_W!h2CtlEs-H-G>$=xKRv>(4qv(oGTak?lPN7O3EdKpGgM@7qF6j2|3`@`9 zV{jB|5xq6K|0z701&#mDc10sLe}8_hFk%#J zOOhRBEr^!UcvCcwB18Y40)Kb@|NZg)I}~aQsv50^653Gi{~3HsTLp@ybrkmdXwclq ztqNZM8lU&q=%22~-+@Q;e!m^b1<618CghcrT>l(@8ZQE}MgFSMf{Mg06^?(TcW8&A zdh%fj52K~@KSe(ppP-laZU-_ya7ruI8Fh-+sbKc+_~(7PeQdpGyb#RgeJ_#hP3o`M zou9^_g!Yu{k6yH^lFvO}%!7PJf)j1xsT(d6K85>^ddV zPdiab%;o)&1Q<~JU5Wj7eg1WOBlab{_kR15`H)5k6P9yHYaH+?Xno+{kMN#gyREUctRGGgrADV%Y9`BUL8Y0t5H}N$729_z_ zC~RBpbKE{k17jUN9AedQPeI+3_v+~2js8+66?Lia)!{R(cdo_ny!{Wp7~-z)Lwwmo zksG-CAC2=e6Ug)cj{#1%w}1Wnjfg&JN2HOn7K|=LF>~)Sd|<35CU&?-;CRjO*r>Re zAkFX?O>|W3@Cjj&!BG=pTj96Qf;6$QttP|-Mn`L6hWFQmYXW06!+n+V!Afz*_V~H0 zQ35qPJn5$M06Jj*%-zqMes?RQ6=UMJxa=b$QOq*Hz;vcyEVFlXWCbYe__iz_UqmRs z?bSMreoM<9=iGSjq5OWnnnP?Y)vVAJd&G6e~#J8`( zhswMCq)C&4N0Du0Gu%Lf7;TWfms-HHeWz@wGT+i=eo8xscgmD@jws78!#MHEZ0q&xDyZuqVWyCp+>)pR)^Y)-%7Keh%964fTIb@=y%cV9fg|6SdWiuuD>l4c#5|F z;!)Gql$CpC>X_G+!A4=Mfvq{S)mCGc!BqvL4FK;FJsJ=Uy%|yY2}`lEwYF< z4>0pJb;Rj4U`S|Iv$h#4hp&{4Wpk;lt~smJUd1XsD_cbEqEXhs(v(?ZtW+qT;aKP8 zG!B(vYkXaWvcdNn5tdnqMD5?S+!tmR?V*xtJdC% zRac%g zs#(>9nWvSaVbk)=Hn=jg^|N8N?X8*Z!fH>e6e;7l5j_0CSXGmb%skr6(bO>Ct>A|S zP0Fw)zqzt%54vK`U04PdF03K=Vg%~Yuk?FOfolceTAo?=S8#Pe8xw1qLs^s~ZC4@M z1YggTX=mza;%3R*9+YJ+!DU$a_Li)CyE4%xH7r>Tzw)d``*N&CyQ)Q%qiq6As++Uw z{i{S*4zO`Fsac-Y)LOBc!4+9ezY45of7Mg8!k1d6%mU*+#kYMUTVh`sso+=o-Ne>} z*^WZFXj_IAp?OJ zhB8}}C6sE{H59*3iL&TYWy4XHj_)FK5T3^AS`mUu@$>yCc5>QsMYvI4Gs&|xQ7PDu=X^bXMC8}9Y5~t7YZoB zY!H=s2gYhWV`8FW7@N-A!=qv~29zEf#xgW!Hq_cZE+z&aei}?=uV8k=h>^i~#z(@X zM=~^oX=8%?3=*@ z)crL<WnZLig ze{8fSC@dr_$Uju9ILf=R2u(z+2G9n%_aE5D&&$WNZF@&$Tw4|rqrp1XWD$Yk;umfs z37$3zI5lAYnwXeK@oADjW;Qxf6YMXVSH(!N+TgG#|DdRdh^R>a@v#%4W5Ob}A^yVB z^!E=8iqZOqMUCDkzE{TZHbEd&9k?oeRmds5U73H3W;8eybJhw0^2eG5h7$q& zA(I%vAFtt~0)xg1eo$tsG!-p13~-4~k(vqq0tu`L;UE^0aBBY!Euta?P;KBS(j;9= zjc=%-^%d%*9(wUpFkW6JEwmUIsR(7TXMB(*n#cxa3qrxhA|3t7 zYU>a69*ef{GgA1ihKn}yiZ#4M#q@-h2Clv_npk3DNArGhnwW{cni#PKLcl~?iZcUZ)m+zIQ8p>@3y$dJbP+oeh|K$G{C}2|(qoG)h75@C#4e<_2hvOcC zd;roAgm*%bk4BnO4SxrWeCe1<>39ppVKyUnl7Tjq?!-GSPI2hHq?aw zhnNGU*|;5$rxYdz>x?|57PzV02I-L(ucTbQ8`j$41>~RxVNI5(rdVnAYVFmK{1Th zxG$lc(l2rAkza?@zcpf<$Oj;Oj2{N7h}a|jE>#2E4#?xXWp)QQ;fZgT8U04;O_Wnw zuC0=I^d=@lnyZD{g7@jL_B4{5EgSbwyqc-j-()b|IZp01!X@&QP9 zZE$Gm!YldD^?x4)%o&am zNPQ$!LK=XS_yTeM1Y4x3NRgDf%!Qq>73E|rWFV#fg-8({XHStLDRr5MQ&LNl56j7} zu=_-L=Z}<^vxL5(PVZcZx1v1Y6XnsLC{OrAdFm(1*L|!U6W)b#I#UUy$r~<*&Cu;c zM8lQ8AMe;xj92_koa?PJzJbOQOyJj-T={q(LPRxO4wFsT)KcR+pq#+l;WiOZWJ-;X zw-2rzGrF*CQ#zJAr1K2QS=b$MIRgEJd~))#E{|Ln$^4rQ;db${D; zY^O73)VAC_I?vr@Z1-#fEC|9Wy8emL2gpI<5QtJ?zk#qCi)?OiZz z;hv;!wtIB_*j(t<$S&ttY}YHb2esOg{JHaIqn3v|{V-#AgJ1pKRm=K!sTMritEO&M zl*6N=^F8?X3nWsRQK$cv0jINj*_c_^o|fe&fhI z{pIc9Jr|6*9gsHtLB{e4mvg2EPVWso4{n>6}Kyn=04j(2ICwS3^zoOL7C9shFl z^mXyh14Db)U9e-e7eAcZn_t}Q&#&)_6#L63Z> z>q-HCFH3EyPZ55UhV+abZa3U-^-L+fhT^|{&Foi!tr^Ztl19|C{d#&AP1cg$$8uNu z6(3#V_w?i%|6eX{4f-{I!-#8VR`=g=JheyIvM{^aJ3~y&4rqbMKfKmNHeyROwJg7x z(K+z&7gFBwWdnY_ym=VEw84)Ttm_B;6~M3U7|pML6V7k!8OQUtg}=;Lqd9wV!{DX4 z3p#Z=5LL$P*tD8|8;dgL=FGy}jG3F6vYEr`v0={UWj0NAo|Lp z2u2akd7@NmGP_+p8)tYX9D2Wl_VBzOznod(CgkAji7og>Z8N?yqN%udOm4}K%xMRl zpwCyh^Gj*{_?1mV_>FJE_?0~qdHSmGH!I@0X6>EPuH*2)F)V9losWzRd%SZVi|(4w zqFpX{^l7$eS6P$Bb(V!Uc08QY_2J1cI`LgoTk>UNoA9WshhiV9)6|);ag4Tf+(8V3)NY*tLFY@~EafVOV`0*|#R|*QIK)L*4Qd%9xwh zL+>)UNoZ^u)+pN-IwgB~coTjSYqD*+D_^~MF5kcVYkp{jhTs2g7WC3m(h=A47Ip4; zVfAP1L<*cS!xh8RlYo34ZxPbe#n9MuY@5}4hIHWOF zwqiqD73hwofIo?qTF5^E8T zJ!Q7gjfGzY9zUDfrq-Fg$UaX(YX?;K6x2j_W==NFUMVEiClg!5Sz(fMpAjIW>C_aa}R zy~Ves+~?bM5BOK|1HO575nn&!246k#CZ8XCi(^0M9*t&x)!nIq&-&?JKc4tf!!x!f z7KH~5YK{q6&7M6wr}&2-dG@irJY$hJzxH*I7{BoAU|w`^Dla^;kRMt*?mYG*$GlZO z%(v=cvsm@{WnXBn@hx-i;l9t;PrvhW{j__hmd9<$`D#WiUpa0FkN8 zH^#ScI+EJ+X71wdeDnAwe7v7M4{-P7!(3f~hXX&o!kgbdHvg~8O_O3~C(macJ9KbA zaNxl6moH!OgFDyoqw`$(b?m)2_e3i<_TzgQ$^6Or&HT=x>9@}>S2tf0ak~cQIuc_i zzQt&a#s)fId5feer%pI-#gQhA4%!NFRb_DHx5jH zbLN{Fdv+#yB7(yzbakw|bK91U{QKe`_{P=q`QpfSV*a%D3Jy^m`w)M8W(|Lsz4Xt^ z8wP}zD`Q#(s!sel`?6SWx?|28>&-KZn~m~LLDYkptQlR!V#5@--Y3@#KYn&&(9f5? z3VnU$o0wPmJ15@G*%GT;H9=i#t$8`Q9D5#m+*(ZX@v__lc?_-?r`Ul!Gt=cj#M zGXFhMSc3_WgT?%Q?w36G%i(J#jdDHw<;;PnQlfjV*ADMAacIxR{X05TY*VcQt5Bzk z5D}KYH;Szp*Rs;iWSx&_tsZlPC1EhxaH%@Y%ydtv2YP%Yi?PL1YE#5V? z1Sh6TDt6c zZQG=_ZxTl|NNCr{YGlGNyFb63(FS%k>A?Q{%7y{_;>KZo^@Of`c5rK+xq1}8dt?TG ze0nwi`Nnr-Ydzb!c+6jqvlsJ+Cl~QYpbO=n)iUG{LHeReBTU5J~yD@9k2FP1N=Q~3)YQu;HRLgFK-+q?BN?bHGD%# zAh#-ChC8-$;1dE|__c2*^T)X>G5!($;KYKzb}fs-_)En2gah65p1FAnpB3eUeJp|B zIXH#i*c;1_E$+upFUBuJ%kB9$Q(D5FYV>+|j~Y9?J66rZ-1$zF&p9eh)JMIT} z$I3;4p0@l8jXggwvo$}vtcTc#sr}_N(0|kLe@Xw1UyQj1dsXNL*pB=LY+$lwuk8#K z^SHRyTiD0>t9$bdU00qK+l=gQ9yg#a@7t6P?Ki=-)-fdv&NHZ0S_k z^|bam^E>eKOS=gi2oKmkpeJO{sQ)1UMMq}xC+9ZuM>#7<|BUr=uHQWCtHj%P4ot-O zG=IT1tOM~N?K`xd@g-;<+UMhGPD(xwt#V50+~3xq%I_H#HaSbLO{){B;vNb9KvzQsW2m>!9o1 z?~=GaZ$0pscq@OUXN!Wh-mGbDq54fXq>M_rb9@m$w{8$%wH5G=VeCEATJZ&-`@CR# zant-i$M}$W9?_?^@Z-Ln*_NMz{h1G*Bm0wdAKB+uA-iJkpeyK2YmW6#d~sow6#6WG z70X+u#4Dl)w`RlK>(#$us`|QqnzdZ;+9c-%jEXL=ahpQiMgkYYQ!Ua>hPeRHMu|JZmf50zC6N# zlYKzr7p(3nc-}ZR));zaq8PjAyIC(Tt?&QEXPLdmSF$1;a`L_5%Ue|Y0Cq_cXS7M)a1z_t+B@p!Cay1;Kvi+k-c*h zv5=y}Gx+U;(|O^J&|4Q)_Zpo&w@JA(sW=Sy#1-LHnSRQYfd@Kbow6S1u6lDnQ|6a< zMDXLw2lCC+x^Z1tTb?r7kuQnv$al@@$Z|ob-3wOc?LwY-%-s4^&rgH7v z%FpCeDJ`4r7{p96rdI#N$R)+Qqbsmmdm&sfaN^NAHdj zvV8aOG}yHB`2DQ;PtSfiIOX^PkK|KJqy=YJ^qic#z`5`7q{emOew*%(saP_=-^}GL z?8r{eYG{6G;~;0yav6B%#)FfKUl0#J!v6jE^cwyschw(vkIlV`_(4dnuC+z}%AS7{ z`rmJMT6SO=(`uRLuj*-!SjAxMOEaO%79&=Z4A}~}u%>szLy^qnWKyHQ542QEo?*gy z0-Mem>;8(d`iKEr7s1KNKxjDuf98PO5SXwN89Ro83_SkEm4K$W%`$Ko0VctIi7{T| zc<&9Xk8!(m@&p}m2jG4ir?AJ%|M1nlr8PUPYr!^a?d!mH(dDMhY zJnnpx>|Jzrt>25&EBnAa?3tG}-*v;Wx$Pnk&2;E^B(b3t8Q9N@hWrm>_3yzg4zA7O zJekS*agCd z&!-Lje(SWZX)B|ed!I^a?r?Oft=aKecK?3h|A7`1yICGq&vMiFmcjdz)i<(N`n`c3 zc|$f4>E;6HE7~(Itnm^t3yK4h&J=t0H)A2|v0_d~)<*tu{%h@vOB;vYJF~cJ>dBNA zt&dHwZF)TEe}Pd9^G+GnfKByNmDxI}?d;6O-WYp`*k34KN&EZhg`HvV;6Dx1Vb4dJ zkMawv5C>Z2iGAQRVFS_}MO^dS31aWPk67+)?1KeqgYW02cAAnk$Dw-myf*B}^!opZ z+EQ~Z>x%y$xOzoqnDwN0)q zYxCclLsZvu3}J2a-VX9eTdP(BI@j}u&)bcy9oH;0Jw^TE)FOA_)K%C6d#1M%w$8ek zX2RxLidZ(;gcQ@>g#QmtIS<~|V?&*&H#amp=PcOjX^?%`_*a_lhWum&|YkM|Myja$}Vzd6v_1N;U_Dy%q z>~bA@AL3E%gkM6o`|2nM^4EA2V&L$b{_^Qm?HOWdPvA%V1bgBSvSn#LU%}QTKj-v9 zXUIk`#g>6R1KWjfO7P&5BL?$$Z8Q%U^cmm(t(xI!@oo~(-SFVyDE3cA6kz!qPTx@T?MBAO*)~e-nbZK1C(z1hh$7<&&W;kJB9X`g}mIr-SgAeImop)$b>49|x^8mCf zulzdf2ZNZHo0&9gUa!Jhja2I;+4W=tlYGw(Y0u{-&EyXrKH}?^&*SN-1Nd#k6N-+^ zf={tf*!5Sx3j76jr9bCuSkC+s`?B;XtnhxJ_pJoew?$d1H zW1nWJ-}h-g`?YV&X= zb*|I4d)qoqs#mK_4ay@PGaYv73yKvl3~j@hD@giR~bpXEx-;#6_>DaqR zl0E)3X8&e)#Sm0d+^-c)BMGYmwap5a(-yx0K_$oam65<8^uGv&Jl4HvIj4$ z@;rKeQO6qj%eu0ilPN5zT!^zWe;u7|o}CQ5-w^H*opB@P8mrDnob?h<_P>gAs%w1y z=xaPB;3}WtcbQM{EZ~TX^RP~*c;9A=erj07Egldp?CVx>T@=;v*I=nOZ&klM_i?Vt z4{b^2fdM0C?c2Sb!LO*-q+aFoix;JGz5WUR?YG|%6A$P48Ft=mYgr@upgYn2Y-`|MM0k(ucAh5XFf{nPubJ;_swuPMS3F>dl)s`OB9t`St79`SLiN`>peN z5C0(2KO#2q-~{4d7k2Qw88Y_pKB;FGyO>;npG^3NcRJ$`<97b;!m-yye0FS#jm_ONcQD^Gvm5-wHhlcR7JRTa1GTD(#mqTlVw)`}g_l*ROfOg?zqt zf-^5zsm5OBFJcPh*Hg^uCVV2Y|KKk{pRVJ@mv+(|@50Y_C|K*m<_s%j@lt;5qVOAh z(=3J76z`@Rxbx`2t8+(s&8V|zj5XUhzS*#hMZKTXnK7N|d^NE-pEa^RbZ9;9-Jutk zS`FuJ4qXrnZ-9Nbxj0+K*(<-CvF5iuI=>+qX)&yM^JdJxQKQc`ZQAtm;lqdg&6_v; z{JA{7ZekbU@2141fpbZ02r+V;AJh5yBb*`saAl8JkAgM5VlJ=m!@^y%%L4b6!1pKI ze;9G6bVI^@K4JK#pKDZZpzhMbk*$xcYnd9}F7edrp?_Uk*GJ4@H{uv;qMGuQQFeT` ze|^3z+#d1MHvG&|ci~e$JiU&8_vN^6g1WE@p6#j<&sx^4T_Y9v^GA;!3H?$s!c-__s&0upo^1S6Zi$Fa1)M5|5B&r?Gu6=PX z2p{KdY}SZBVx)-Mh%=JBEjT;X{=6j0>GM&2TAw+zJeYqyZ|HA}C-k~EWmK0_!F^h6 z?A@i_)VBB!kg8QO?*K==GX8AzgG=LV!a5)XvN}{%@teubYQit8k~Z3=;*MUzr8gU( zZtSpXg6r&UQ=ER96VPxO0dQbGjLM*a99Vy}9fZ#+7=0I@h3>pz2^*{0>` z%QdezB>6p?5$d+y)YPn8r{*e^yHl;v9UQ6-ZCtyehizqx4%X#Ns##i?l&fN8-n405 zs}3GcwR(s4YZ_cntt%hoN=z;z$Xu>e+}QKG=v=;g|m%6=}ets&*YQQH!igA zQhe{~R-CQuj^?w&d+M_s`*u&FbAA(Wk=`I`_Hv-AtUFgBOp@{3gTDRsy2YU0UL9O_8oKM|5nuIgj4Pp=Y zzAk)jOdtN>=u9C;BujUXB=EegQT)JsoFT31%}+s(o=8EA8*%nch@FGyd2Ii>r`k5M zihwWna6Ha-Rv_NLZ+dGEpHO^bM84xc!Cx0Y`1vEmpx?*2+Okyp3mxGC| zc@Dl+q3^S>5An;J6dn?1bN@yDNgCJx@x$!p2K)_t1iy#&3W^aE&lMrge&w5J#G^k~ z;?WqFV$#O*FglkdpKvG6Gw|)2IMaw9RF98vx4qM~h4o`!=V~IRo*dXn*cBOQOZ%Jx zgW%9jGEDPP&KHdGdl){!js24q`GpPfknSd6&Lv`CH!H0i) z9%#hfn0gER#r_4|`GNk#In9%^X}lZM`4jXl)j53I2))j~nc5mQXbYjs=^T*Gfyg$XZvov}*>Icz3;&+tCnOIPuh$dfVeh?;^WBf)4;z%?bQItJ>H0x__waOlV<|;8sBY15&#DRf z2bn3tUo+zRK?=Bq@J(};^yGUI+6tU$4>I2L4HccCB@AnT^BY^RodSC%AQs$n+ZPo=4y8!^V-6r! z4)j0Zx&Da_gZU4L4~GD_O4e=tvI*D#(2w{C^wDrvnw~*y9tgO9YX>kyz^DJa4o#I> zAp6slZ~KIQSRQGo7%JX5fT2x7?~ zmfN2IaQpy{D|j8i9xuqP_|Llcue$LEz%2o<#b5Yx;w`^sclINQJKg}jZD*hcfe5jY zK-j3!*xzM&E`hdv%gY6>0f==EWoZIf_dNh}{U`1VV!t4#0j#k=pBM$a{!jV;>OcIAk%Rsl#J9G`%K?nM z8jN={0Pe&H){j763{W8m%+F5l_3}Uo$h8GHNJaowE_sU;|0`bpudl)U1@t%InuD@~ z&j0|o1v$WyoCE-;j}*Yusc$(Aw|!hd_uGJZ_x{KFgYtth7|h>5F4upN{kDf<1?U41 zGl3Yi24J_pfxHdm834BKyIiRU8O_!LWrt{p(Llu6@pwPvcrI^`mLSKA%zz%}Us(6Q z%KZ21Rv=E+kcq@$PEDMApm1UZUD7AcnzkC3e6Uq=FV0P?rNSZe_A z&>a9SICxD!`)&ldaf7J<{{-N_fW98&pMWy|^Qr&8`Q|ef05=b;SK1>1-Z{X#0%~>u zSG^obyB|E5D2h6q3TznrZyxc^q7VzEJCcYZkCk75oq#@TG|vEu0O};rhU@$Q&IDkK z|1LXtEx`C{t3q|lApm(CARis{J79c60Cmb3z~TKHdjaF^KV|=WE&!GR*aFCx2e|3C zwIawV1bVsG0CtlF*bDw}3h--Y{|^rmJhWS!KhRppa=amQ{}<3J0&QpNttGMzh_@+# zz5dO4`1d)0y?roN-Ets+_yzJXz#Ii<^St?du$LKQ|0!^`Upj2iZj>k z9R774;Xs}bt~V(A-%n7FKpqdMQ&oZDw>i!@5TnMkKpg`1MgV!p?Hq3FMPRQ0;AiF< zJZ}3uKf#&<&>P@d?2V+!1PvsL;sY@oV#)U3%lz-}S}Naxu#-d3-$kiCTWE{i-vRo6 zU_K4@j~By?TF% z;-nsm=Yh0G{Qtur!TF42$U{2($)G@tkpj3J9ROGSdV8W0U(R84$}s9t_CsoT_v@1U`2%S`5D#E42moHrZcKm6#um zW^2q1BuiFy$M9KqMR3ry1+hZg!A;5k1CPd+%#g1|dXSM!1qz^75D0L*)YMS{}{q!*AdC{ zuse$Depdt=T}LQ0T3;*&q}1X6JE!LVWSXGQ?TZtH0X;i@KzEbo8(%B~c6JTsf?K0+ zZ@JT;zW_OOpssC?SKiJMyjI|x0lv;-!2bb!nSaKe|C4k7Pkv@3O$svbS_B2ipY8&< zts~$gssMZV2Jqm1FSkdW0NmemAl{zbtV< z<3d)N^dbH6!svj1rUNi_NuU_5reaHm< z_5c5I_&+@af?xQTT>m)&@*=?ZfpG~O|C-P3xCb5s^8}XXKjsgNz%&|<5>bHxzyOtE!?rZ5c6xh zdaA5puW>}Mg3Mtovg`#U{PSqetDjF!N^7?M{7D#pY^Xf(*w{?->e~0~0$rT4P?1mW zsn6#JDDlgb|NKXfX-aPxqbDtJ-bp#&fkD9TgYu2MR)yT{L#gm0f?iSt z>Fp;TYt2{bFx16b^=BE0J+p@^N`PEIh zW!`(w_)|Pbq)lCy02+VPjNA1!XUBBWL>@uDZi(jJOTZ`jIB#)(n}x8p@Hd&#_-?l*gT z;Tvz|=%xuZprQ$ADalz4)tHC9B3C%pr;K-~@bTsSLo>N~mQcRcbCXiISomb%elK@O z05`2Z#85VE%u?d3q4ducLbqp_AH`9X$Qea3L`OTB`Io3*wTNJc-|f7HZ&leP3__U7 zDI*7{J2~)()Oz9a9jbbs#q79RA|Cu+Duv^J=o_$a1OORgiD+utWk|C{Hc%LTCesdP zoA$q=X_YdCF=e&VQeQJsxBBWX*Pt8ZSc{bxvT?4e8gvIOld=r6pWi`0O1SP?4v;Cu zT$l$Y&iREy#@9uOpRl=y$8AH*Zu5N7s@jLDXA`F^kb&^V!njMlM9KW_7FmXRo zI@K4s9@#8FvGiH*!RgfZ8|l^Y)4WdhPFZTTbZr~ja{RMGIaK-FO1qlow+OE{?F6Jk zyMUTB+Fn*f^UXXz`w`Q+qy{9Maf#~CiBxRTqD--a#SrDbE|uh^{*2J;I!`jOa9p+M z7tIbxgkFMGmu908*&e z9ed$EunNxL_m5vcF!t-_smtSGJ)?!Li+a~r&Bpk6^1A&hdtG91|L~Qb2w}3YD)sQJ z^sL(xM;0U^)u?k9=;a(t24-sj^)V4_+|M8uyLhGv zElxby*T}j!+?g|(yd$fU^Jz&$V>5ZXOx!YRuM$11=1pb2GS>T}KPBc^5GrJz4V7DH zuwCZRJ+??LbYEDA1Rp^y;`{F53rphB-}L?U=+uj&+e-P zvJOjUOR+^t5abX=`%22aXV4tzI6EIVXiu+h<=D+B__B zhKfGyUw{w+%;U~?@z9{qtl6Hxn|%Uf?#r<$i)n#a45S-2;^44N>gETp)`yIxbhFZAUk0TrOR7Y~wJp zEtL9G!am+~uS_Tm^l$}P;?LXr`G<^uKXN7b=++aQl|4NYwPeQSR~5>YzeSo<>VP`Q zubD3Ul|wj0emYJQrXvDph3#{rP^d7tcROKnqrnSOm>%O{Vt!QNDRfis`m^|Jko|*+ z`t|qKJd5L;IGOp0I~wIQ23oJ^dvPk?8#vFJ)P@mBG0c?-mZm6EjVWYRv=$8Z|31dU zGkaqBjjLBIvVPT~7Ba!I$oFgJ`gKfKsShLf(-XUIey`rkc-T-|{;Ki#kL(U;jB`+dEsR^ISan^CKW|P4Qcm zV~*$!mc;i29h*<3oUVJcr=g3(GS7$f+~U2eVJ7WQ8cYJZ8<9^wY(Ga8v$BW0k&w@f zm^;|VSgH8EADwyjB65)0Hje48(-=oZOQ$i4e^8L+PX_ldMo>tplkN_0EauNcSb+a4 z%p5DM<a(hFxz6*Ndj!TorM zbRt&;rea$DEZ@&&RG|?09tm&fQ~q54Pb5iIwvSwE_Zc?Hh%ix?Da27NXy@=_3dPcb z9`K*WaiKGDkO@5Om6caAnIP0w#e6HQ(mN1df}7%otd>M>ByGICSa^WZ>O_hN-}ys; zW3=_FU`Mwiy?_Go<-`1i@evLcys zljNpIN&AP|jY||qKDQ3y0Jp8@^+sXT>A>;IN4KU5;s|#}gLiCerzH5YE|E~a|JI!U z82!aDTd%Jrw)En#;nkh#{LKUoG1|muwhY0!#X>QI@34b;Pw3y_Oz74^MlO%P4w}PG zyRKGp(D@Q@;wwkbF1n5UhWYuEI3K+yN%V+iNsR`CQvJdd8INmI+)km_OdnEDnzBh4 zE5%5UgUKgf^+aA@;eKm@M5yWaWvr4=^H3=D6A}R*2;;MR38%fL{8+Q8^)^hXPMCB&2CCx=6#H+&8X=ymJ;2* zEc{{M=PkT^>91EFm+8R)x0q7xz#h?T4L_A7c0E<3eTD%@=B>0Y`5?gRc$MU!Ta%eK z6&nsFhSU-gH=;5LfMP$4*{-V?&YS&8l8R$=t%tg(BTv_`R2dx`w2YY)Vj(ssgR8(R z9FuJEO7?gFt7<>Ej`q8~SH4|`JF1zo!f^>{pyz|%DTu1q8Ab32Vou@;s3AT5ER}oe zJ)}}Rg3aB&XsRj;{q1HH=gfFIVxfa&;2Am+le|OsEkr`v>u_%MYwkhB6`^Hc_wvdb z9#!&U{4$^2Zo>4GF&R}z+dSpgAEi+QeD*rEk7240k+PsLLeUvaRyi&l;4{0PAGn1t zd=Z-cbhZYu8}zdojUM8i7WAQ$cbiFNX~pEs!d$5)q6OQH6sg+XunMORg zNFDk<7n$m*@j(2N?{jz)Z9sraH4eS$*Vk%Raq849Md~B3s*PsP0Vfu&|5Aydu0kId z7ni};HjlYrG`!%6s^_1~Z8I#$QV3o~y9aCV^R%@2Z}F7xs{-lT)>e_)OB4_5Y<&}o zErliT7|OHkZa=VgdVqU9E+`dVs3ZhKlsA5xx3r3tbifsIlX^*koaqsph7#rH|0wKT}Gqh zeTjvDOkI~qwFW*>MM^@dGe!K%aJ^M&f;5PKz57W!=@nCq1i?mzq!@p8=U_w;D;cyz zctG!Zz_`8TrlunI7wPh*4kXmqd-B6B^66t`6?+nuz{B{;-imuN208MRc(hS{;&%h; z4FlM7bXG{`+pcX)f5*thMHJwkYA)l^DXom*Ljo&(@V`DfP};j$NeuBd4z$r6TyiVc z$$S`E>8P`*Bwy)lq+*kRFmk?;MC%pAY|*SlU^%$K#lkjD3DQ0A7I<7b-Wx+g*Q6V_ z7I#03{Lu7#hRbU)8`+I_2O_ID;l|GGaHqu@H$YEhj6Rv}{JcV2V8)a1)5-1!*2A8V zt)J*7KvDJue&5LN%<*hHD`q#(70nHoKYNPd2|CMgl{2lzSDUf!VCKNS2JvosGbo|^?D`~5 z&0q~bRwL0NQd98K?DyEhEC6wy)nstFykx4S`(I;|e; z(V_{VDx*=W?&_th{ZlXaDlPqmO;IL|poD4dR@X9%Fa5e!NCbaSw@OLBkQdsXF<8jn8{jQ)bcLarGWmPgvY7T|xPVUrbaX3^#i%d(o zum#;hJDBXg336-aDKpBj^c@Mb6a3T%NS+A2^#E44XSnjbFXj?M^J5g+Mn7k8EUh3K zP}RB-Hh*v_;`|?@)2&DOZ;iiJ6T3GpDaXJa&@~a$?t7iBm2TTKT>}0yMjvZz> z&2eEZ_)a`4w6N%H>>dF=p4I41KyLx_eDde*4Rb!Ld{(C9gNIZ6aCSAy3e>UjR|+Qh zRhwuVCn03_;ocOK9e90M-XWe}evFxVa}#=~uu^(l?L@@bbi^0Aj|JQ7d?7>8RSU6) z@a95=&|$h?absCT+;D@qG)_PI+&dHi~f;bEvV{I-jqmvro_(eMK-_ zUxHFzmP6@tVkxH}{;#?CdC5h2z050*IbZ&4xGBWL`V|^w7ED2#6jPeM3}XW?$kPY0 z7ktj#jA&_vOUYq|hmK{hD*wrISwB@_DdOxTfaG$L-uyJ@f~X1cCr!Y|ju0sV>>170 zX}+Jt(fuhb-Eu<-r(XGRJMRHfd?y}~=-wKXISTt2S3kv^gVCftcrrHGg~sr+tC~yu z=64n!lHJCA1h@pNKAo-tm%3_Qs+I=sg$d3%URIXhqDPb}}~9`YL@ zLEXU$wDlxhmxAi=DLoju7hq#H^2)En)BtB1*iy~-b46!oxrbDbR6JO`(PgSxoL`AF z%1Wozn>{*RqNu61H@W;bl;SdIYo^j|n+#$#g6mP``}1e*4HL;rM}m)gTa6>3G9}xa z30&-H6VhT*v2A9S9dPHXSx1tfr~xeYyH~z-L{(xE-(%~fLg9Y#OC)I#IzM1{YuPNz zYU(#}gX;5%Pui)=42Vpy6a%+l@6kh(Ha@xXhp8-5y<^1`3Bhl0w4U_9A=B2}PE{aG zv%LGY>B@heqCJ`D#y*c~dyvAvE1y!mOuUm`W8>-vR=d3pEp05-kAzq_yZG_CzW_fi zMrX{bj1GA=whSb)kw?6f0AX}?|BK>3Uc8u(IL~ z_N3Vv-9J5cy`n`UW-~)6HmcPlukxgh9cr_s%PB0-^?RU%+8Jt|#~=0E{hciGr=5RJ zF0JjCi}38lI0x;SSxMt0rbGuZ1=FPpJMYkbfwO31b_IK07O*jq>^db}+Y@epvaB4V<6R) zm!n93VvrP<;T-RMh{YWl$I9rA8}D>r&0k>6!k3!C_+^;*rO$j1*NKXVDndNZdjehy<7#mb`YXFpR2^iq>D0y5Nr|~4PMQl%EV%6686$mFvx0WZVu9K^ z^NVc<-@B$xSH@CGF@A2c9K8Mp)D52UuIsY zl3vd&N-JvLM(#Pa1TkBcGYnxAYu$u|WNISZ-9$#*rQ96_J1*rJe$DtfJ5r*R%2<7b z3DL_!DImr3p-jo%l-jZ)0@Lg5bYd`7>h6wZQc?_yq;~?Zb;e0jHIhOocs?ZLYc>*R z2&2iG_*1dB*&T0uPA(S*bF_=uQhxlq!>xXj%Y5Xke0B%v!Iky%M*OAJRj+=T2hMMg z`UIm@%2@gQaB}Do3$N7EWIL3h`RsvRU#$C!K8-M)D~7h46eWULU6+-=Qu&LL#!hJt zaRwKEbPTypBu&)_ES=manzPZ^EX zSlv2LbK8C2)%xj?A`Txc_-MeFv&drj&a$BySXAjXk3$iJECwj^0{X8Tl6?W?5>EW` z=JNT&oBF`ItM@Uub-aHv<{+P@^N8kvN$Qx7^-4rG=xK@`E^?9n;g$jxkSguDJ!MLW zqf%W@K5FZuKRL-cZ2bG!fv*V;7ZB^7d6(os4_6H4dvsQ+*<8!!i0!T?;GP7;?{>X_ zcG^-K+rYzA`t`&(>q;53FWnrD(Abawx9BbVn@?h;&M|exg+K(Wh@@~UM2#j2;k5fB zz7{cBol*6QzW_VXty5Fy<=_C<=gcQUo?i=Fa93TsFAQ_mg%9eOuTDG&68abUFr;-b z3QB#hFe-?n!&ah$sFgZ(lt>{Q>PKWBAh=JRYmB5zlg~$q^r2!w#k#cdeTIgx21i9R zR=6Fm%hgueNq;i|NhxH)AL&Z{HGB2L%C*KDDXNKDHm5HCxTfHBLWL*!cL7=7kb*{f z8vd8HY%#!}x6aRs7IeB=NhqOvw>Lz8D*Q?B%D35Vbnb5ZSj4<$>-~i>=hf^cZ8^6* zoFmA3JZP<2y2^=(XKCjT_NBH8RUX>m?fj*pRyVB6KJF zivmhg3nD6X5vl-Ds|bJ5e~jg_Jotgu~0!XO|fbjB&Uj6;2FQkcxq^ z5|$$aTvH}o9%)#`&RCMbW;y$NTb9G3w<`>&V=K&=^!Ldkcv)o)vBI-acMgJWurT${ znQgL=`ljC4`NFG~9EI=jDO6}n@KDx;EUF?S2^%&LfNLQ3IYt9AjprlhQ;P)B9y>Qt z&1{CogMcqwGSA%^y&ADZTsn>YTHWtXwwHxtzO=^fOhPw&n>lXr_26hCR5&rbXzxSM*orh-|MLnQozKEF-;7Azg!I4hdmsp*->PS*L66~#c97STt< zpAGq-!R;iX^sNw_E5JtCJdML0d#rbsBi3K>n+rKZpeg zbAYhgj8c`;pHx?PsjcaowZ^1l5yrx$dUu7Anz|Dnz_*fU#X|Dz@x3<6#p+Iij9ppQ zFL1FEG9Cu(X0hz{FVcd9#(V7~&u$FcxTeMewttJ|4lQ^KK;Skim^}W_Xsht^1GV;r zna4s2TTEBvr3$uzo|l61wXDozC6u_VA}9MRN<&_iO5Pkg)$b*(IYRezWPm%Uz1I99 z=jl0MgG>#*?1>&p95_G)O7n5Om8RD?I~$?cO%F)vbs8lVOm_A2d-~a&Z_ptP4Wk@% zccG6{PkYGjD_r0KX5qHzLF|vSn-2j-P`}Mk4?`}Ldms1*Cbz>5(H+SH0nX(kCRMA#V?E(UYhyy&D{{Pd8J_= zy|wkywYk80Wti=NHA}AiH&xhjsBn3-tcMs`GqsLqG&9l0b7F(8pB=xLP=FvjQYg`U zF8__Apuwwp@%=}~Fd9QJ54g};pmEN+?5Kof82bN~6R^2JLFi0eSx({|IoMs(0a;x# z(FQ#i=3v+Kguo3-s%+EP#+&ciwJ$Ba2Xhp}4Xn{1VdrSeDd9DVs29xrSgwPQw0agf zSmM?RzpuU4I}UELBA0@N2$7SX)a?1p4JJAGUGzBS95w@K?YSLyuSMIhq)LXDQhV6k z3+)Ks$G?GFz|CypZO5yUBrTXdtt-T+N%Jw3acNqjP^d3v(4y&zc8;wTX=5}jEsJ@m ztu`$iV35VHw8YXIP)L~iKDq)EgV<45I=^Tk&W@bP91(STo($i_NZ~OBco!MARD1*Eo zv2lBaelt>N=a?mb#F}MnPpNRY@>iPN|5{L<7i-25`u*#(52VjI&t}Ws%hyq=D-mR4 zexRdzh?}~1cQzU>McZM^f1^E4;;D^Yv9*~&=bg56jpNu+ule#`LBEsEYs2YC?ASjp zx)(A*KD}L8E3cOIgu*j*@GxmZnhO<*SlAY7sYpM?;~G>Kd%atB%oe#@I&XU13;U$Z zxMp%0Jvv(8Cb1&WxAICjDz=@ZOk()xqg$|>I+q(7Zb+~LW}2{%o4i>8 z7m#Q#u2xgieu4po5yYZ?#rk>L;>2Bo^{-i_6{(x~+oVh?{7HI3`!^_U%#&&RUeW4I zD5)8j-3T`+u?TUjlDl;2(Wm-dZp8-Kdyv(*tWbUG_)xAGN=>%q53dc5qR#?-jS+uV z1Z~&L=@^?2vl_NTZG2t61;lR9_SQhyuM-fRjgL)yVPdfC^bz>B)|)Got&jWflo_2! zX;F@PQ`O3Uy?HDa2iWF4-i}f94V<;yE=r>r>o$}?58l8Kojekpd}=Fwtw~xllxg<8 zOmQ^^|B_1Doklj18>VPficSp_Ni?`l* zM+2%5b+CzGB~|0Xc2ia^_Dmyb<$8tXna{{vptUXibYqfBpnjU=gV31I_lVT=$wgn& zb7Ty-S+c$sHk}{?AnJAmf-5U6mR07(j4+=;U0iUL#Gh|wd^Cd}4Qn6=Mo1uv5|N5O z@BYRCv|E7goSvuRgt@G|$m?pvHB-#_Q#=#?qWWzGw!1X5UCMX$&VuG1LqvNF)6)9T z%Fv0#5{H#8i}ZR}GqeGvA$^WECxuhn7d*_Fu3e!#4lM=rUSiw1vokc7L%i%jQgvTs zv1(PY5_w6H6~!5%M&{V^RtDY#{5oxpURld^h5qXDv$?9Yq6Hox>xNmKW0CnoSoK31 zbUC$}%@cz3SghA6mF5EbRWtG53Wt(R6qlYG;k50Kzgk~^7&>P@j#ih_?Y2E9ukku~ zh%SaqClkgnlnE&5*{@-U=AsO{dt{$|O@J8B)pC`#j9Q7uN#+_k?c(^$sTMRx4@}>D z7rmD|X5}64L+hTfe!5K2Zhl5x@%}l=-AXrgjF_Ni+-b2E`F^$TpM6&_{jUdxc#~O8 z3e^$4?r(7A2;FT;JYlJ(kVUs?;liiKTj+tB1Fi-W`P9OP?Mhc`Z*EF}KF{F~>N;B^ zp}CrVDm{TmKvblrgTYUJc!>;U?2UR%@YNZJ)tX0G_Dad-((pe-)8`#GXVI(3^a>E> zfF>ZAc%8)8{W*@PH6|Crmgw)a;lwT;9fih*$fYvIS!ND{_-n$DsQTq538M9_-Lk|zWZyK79GNv^^zZPB)?n+VmMRxDgrDDVcGB=i@d`!l8LK=qN~dRTtT z3!cG!kCT21;D?w!Lm@wFZjvOj&U8kO_##U4BQk5Q0(17v;1<%DjnyO<=j2o-LqB;l zaf_W;qht|2O?j!L2EWJhev3S(onguwCrf-=LcH`)e-Di}y_Qnbag2^PUZH;gI9D@7 z1sklSp)aj2FAg#P)XKf;3;Wo(i+kwGdW~B`^J+lC)A=I(QxIq}_ukrl-$N-0U4(7m z8A>e`5sPIqnhbp7Q$gLvue^C*>_dO|_BG-J7h^*j8WtN>$@JGuR#cyE*F-GDqK z^t;gyfw}3xRBCg_>1hoUXt-%OMp^!*iiRSa?=c_S6?qGj{sUao;L+6n2Yq)31`ATi z>U!);A!rZR-kZ;4;>d1ov^_l}%5ETi6x59+1k0RWoY4Nd&8G!Vd=M9rr{|9--!mhm zvDY#Is+utMbyx}uY}#N}I#9dTvrr+=-^=dQwIZ^^S!R&~eP!g2g#Z@-$l9c7UDm-F zmin;SDvOo`3Zi1FYAtSFdCtAMAqnh2U34x(=gFd*(cMt)%b_8g!0L6&c6;)1HO&A* ze*UfHfOPMMdZ_k!(L$Gl`;Cg;`gWe)&~yMcb$c+y7c4EVuWLV>o&K$O%~V@XNrrvMQu#nc?$6H^ZaDMD>SLL&A=I&WX60fFAopsaCNZXp57iIfSJi;43y?$$b{6Rr~ ztPAj75-$Gv#6YrjCaW;bj3QrFzUj2)d+6>GSPuD}kSOz{*&r-mUkvNiF#2<|gp1x7 z_Ku<19*==_xgyIeGyt9Cc4q$xRAmLW+OoQ6vSLA^q_ONL6zgB zT*GMjqw7Q6xOc1SW^hTRMrIVd>S$ud`xe?Map-0HZXHe5TI$EoOrg`{{y3|QXgT4> zJt)KMBL^GIoK8w)-=ArP#o*wqzSBE~0(aE~tiwZ#wPDfbUHu+( z`sgqxKk2Jg_grAS#D}Lp>VT85nnT?Eo6g&-X48|;Y@SqYHC_BDNUF0ExxTSx$i^%v zeR74NUX)Fv!%3abW@DF-H;k6zq$^F%1(%9#*T-cwP{|A?S=&etshX?^Mg83j39^wk zaSkv;LwE-_au3$Hn!dE|xxyIwx{!7fr8+ry%7^jRu9w8_VxuT4G05FTw)}A*Z}$Kj znq8P&rXZ?CiIJ=bWdOjSAW!hsd=J==wnDJlH2XF>_Y+R@pTb(7ZgJFKCm#$U2HNIj zPMl93H4+6rxiQNO&{b0~7s%i03AMl0B2`bNd+>fMFTqg>ec&V14kJJ!a@8rSZWYR^ zT^;BMB&9k-WEr?Ji&&gdCSRgWpw&>QzkqSnR;W#I!@4iRCEyiWzS9PZ?Dau%2NC>H z4o%eiuezSms_HrKtJ?xfn2m4pyR88y&;u7OEcOwW_OF?%yZQg^At%2o){y11l zdBnghvQ42CaxpDX9BS-5ln;m;n-8u*Fz=i4PxoMZANVZrASQESrYAJU9xS%WDEzTS zUdJCozR`afia%d!UDJ5V23rLaK~q7F$5KXthP#y-QPC0@6b-PuN&9?g@pen=SO#qu zWR=tM2KQ(k(8-^pn8K{(gc(YxJzuEFh4Dg4-lE95^{YVwONKww9tNv>*;} zeA1L&nQ>)(-$1Np%|&=r@pOBLqw!FM6%?y0qYU|Ju%VMRz)YS^of<1&(B{2yv=L}l zv{EDK$Vg8W23OV#IDn6zCl-Q`8Dg=Y?n0UxPHsM{8*ZN zR%UT7DUn#%N`j-i5?#o<>cD=?)3vVQPsSmz=);YGkkQ>CC8O=r-zrDqmnf-YJwlqtq#4%Mr~)|9wvW%%S9`CVp!L zIis}*l;>bftsWOiHMv0szx*(JB=q#A*ADOClj_B9zya)W$Mjsh9Lg1OnmB`g>I-B& zTWdMq>*z_U-HB4&60~AXeYo79g>=@@dQpX1b~ogkelq7(+DA+L$yw~W<|cPl@@EvS zFf$z{Tu5>GQ_qvdk6s+Vk(cW=sBlLju2bav;~O^4K5JXW5B&t1NoKF-^@hd_dY`ro ztf4~IK04g!~DY2`*ra{myTvZ#FIe- z521k#P)6;};MhS71%1X@QZhpv8zNtv@+U22CA7TSC7nS+@@qbUvA5i)KKD8I1)9*> z8miwSHJWF90Htk^x>Rj)x&q$nxpG_pv41g?r{gc1u1^?@$DnC`XlqtIJ@O6f$`XS8p1Mkzi*kya!wY(hgS&2P`pM(N&{m#u{+jO z$qV?qrQ)pB5C!e;Y1l%+l0|OWKaVRDp=L^nJXe{1T<>kwALS_kCJkgxPpP#j-Kp`p zyHRFJ(1bSp921Yd*72#c-r+;8e#byF^i}nv@gEAk&al^#>4^buPd&gsMvT_(4U(_JKf>Ux=PBP!%g(E(g%kam~7v*c`L%n`0qS#CoQ!x zbkg%Y@k?KUnxcf^=<6{LRxhd;vUdwYFyDJZAf{I^gAn-%O|GSR+nWbd5Udz_$^^65 zd{^XRu8>wfgYkN)r#OO>uc8AM%D51FVPEocW7Fa;oub_A={uv~Ush19rFL6?xZS&} zz9+O{*!|UNT3*CEunAE{!(aFNVe3(HC35NI+1FRqPiGxpvO>-rcojp^Bi=X^Y)5CJ zvh4h!J`AY(Y03Jys#Zly3-9I2OHN0wQjKS3%O4OJG@Q|xbuRSHaOPNBRCd9(UJo=W zI7*z-M|2)(Jz}nHMGS#GuJ?X~YUN8<)gT z7^PLmdzVo(Vj-Qr;|IY)wBomgKPX4voqOY<%2=`xOyLhSTGG<`mwY9|FT;o5;Y0{;fvIOU%S_w$T6NfVW|HY>fv);uE*a~s zl9&6!bGihj{maFLuz)r>Ju7^U^)Q{{r6Bg#H7+LrD8^P&CvSw!NoDfux04b_$4iX< zWaSpW&sJ-4^T;Hc=}yc_f#o#>`Rde_A@1m{C94c%Q|rYa8%QAacRdJZ(+E_DQhG0n z)*f9+_}n|xoYp(yaQH3F-L5OXaJ?tpsV^8SgasLzcmt^kRDKu2$e)xy;q)kPE|H}~ zH=UC{kMQ&nGK!-1{7S@rhl*pysJd>!q+r|QyAld%L;)hDVznD%w=)&#anFDM@Xc1) z9txxl9r1|Jy;^+7h7=X(moLhC9$$1j_@c(hT;N^(xU@%soZywzHAg5`e?;DW$-T|ihv zthDa)B4^pk!=!~?^VjK(vHq?KSY+e7D4SbGR#p zHW=r$rlJ6?^adzmUVJjKZmVHKN&}72*gD8CwEL>&fjFSU}v4h{=>q2Nz>b|73`&xZaP#<5`CJFLr9|}T9Q_!I9WAYd>Qx7hw)wVNFs_%fCU^Ezf~oTw9)%Tf}2hdAp@=huBoe$g5pV`Cbmc?Xh%1IZ1idVH{-8KOoVro;Mss2(@im&=QQ03}w4Au_{czUEmq)Q4DVt zM<;v;?0D$ps>6)Lm3JBOXh0*E(m?QQ#_wt1bCJie;?EkQaiXuk*;vK;O5Gnx4{7Z% zooYGPU3?_M;6~z(Ssx!8;<_(n!88K*n92$iqHxn#m>X?{SF!nN2|5p&q8(cvLX(sk zXS|`&rOe!0uZ0_8=U(gU=<7xXV+J`89bFRcW!|+u^|Ct+Hh{8E(CSIMwoXAH!{B zO$sD^pT+fI2j-n-vvoPDElSlRa-#s5}(h?VBK-$Llq$9x6$J(ZC~N)BhD>?BCxcAy^cSY z)$$NmmFyfzf(InJUe9dYnM;!|Ys=OqwZpRPz3sW(=YU98 zO~sBeu$TAbK63C>ZMkD3g;`Q#x3VW(NC>qdOy)VyctN3&3acm4Ir+Fj=R5MEr0|=J z*ybv6Bkd?}T!4_(6Otem{>|%GMf6U&xRi4FD0XC+`w(W0ayb7GE(AVFpgqa28tj@EtS!Wn z&lX*Z)PPf-NXGsMkSj#)NtgVQ?f09W;m7PEwL3nn#_!yR-w%pCaG$vUSmGJ9LVKLv z*nJztJ582hty-0fNkN1R6cKsd><ZmKI@Bot%}={XZ#Q*;bD%MxOYD0idg-{JzNC8PIdHeP3hiY@T9NrWPh<0Y zQNE87pDsbBpn)2~lL7Ovm`G=3Xlv&YgI!Nd8=o|+-!SIX|7T27?IE{Z->_XuFt8FF za`NND4n!9^dnhbk|%Aw_IB~ zuyrd;IjDG;$_)TCxY!4*fTmRrVfG_+jS4hns6^Nu$?b zGj<2=xS4~H_xKRpaRLY-B}_>uf3xR36QmcL^ z-l*|qeO<>>N#A;61IL>mxp_;^Qbd=E?GY@f?eFkYZnVEOBGWg&qYTn5Ijc%3B<6Rk z02s=Q)bn<8(*}!2veMZH%(4aNE*#Hl5%NE0qeB<@_z4f^#*)3aE-evUG62&b zjFwEnLFx3J1&h}hN%t?^dn!;$VSd}L2?%qif8o_8xW3Adi;~xu$(RdlRwb1eQRC%u&8L-975nUL8)!B22l!pQwy3(R zxHRH?C3!CcJKIu`U6PM#&S-N^Fu2!SzCS$VjelY%`vmwE)(-?V z?~@sybSII=OVj%AOb`8eb#wE0I^Il^QP}%D_@gsxy3Tyd*#yhJi$c~w`fJB0 zG6MS8e(M9Nton4qHm2;o1@GOcp+EDkaq}>C3=KvT-mU|3di&{S_daF2U~VopUb)#l zhK-hyENTVMWAs2@nej%9a=+T3I&*TyO$IWFl|bTA7K+W0(GuH5JaU zLW^j*ACwSjMAg>%Ls)nIYXdr5@e2{z2OIt@7X%JB3++z5%{K3}JKm}l$4iI;`Z=z< z5v~%`DI!PbB3S-~)#yTRxdWFm1KO4bT#xlSQ>7U0takzEkz{=eC@t8;XAxp0HfPh9Jy-G#Pnh@7up4uiUhQ z*gk%wp{7cW=9R(%P3^2n&*PYR;r(Ng?OKX5Tu#>ZweO9n$&c|+!v-4u$^{3_P(eb+ zEDd~0o@qU91x(Wbvt3!F)fX?Rr!-pp!f1}pGp!@sR-(dqRf7&MFtw4k@s;H|14rr} z--*0h>jq!HS{}#9PopX}#VYP{C3D`9Xm-`Kg^QCm2*way;12Fn;UJ<#VHrt8Bhx)U z`0g9l{T}Aw)9n99yRa{~;JxJov43>(>!pm4?m*xnYRmy_jR}QHoyy(tv2GQmK z+Z!*c=Dtp+AEA6v{Xt-i0%Fa<{@bNMih%%ae1YV)6sZv|IUmC@JtxBsH!Iv&%$6wF zf?)AL$cbipnnqStlX?qzr|Evw*sBrf@^hPGVBxCH22Ho7H+8n;8MU~!VGw%^woiIr z9SeJye>OuT(C~M^OPAXC9laZLJGJn#yOCZF1#asqbKOtCKtMZkWchwfW-MWrB!lEN zo+Q4kC_ANv{_{uU9w=Fl9+JG?irm}fX|gvjMDn9wzU=v5G@W%=Rn7PI_o2JHLqtkS z1f;t|x>G`s6r?$Hr_$1?bST}8ba!`m$9ebjeXrkj9sXv|?AbH3*1GS{a_l}gJ&lY7 z0MFGot&LM2?n4e`J#y%2oNWb2Mz?o(X8-98_y%WA*>(B48_EYyDUszJ;Ao8#r5`x2 zHmFVKt~mebPb=s`JgcwJ_(<*jGEBB^Ccnn0Ko8Ur7lj}9V~g0eC}+n~&UYYl{uZ(w zj;gp3M$Cq`Id*)&2t0uucUH=;@koiJqJ?4PGA&}x^R5AAl?S+PIFygLhb9B>WX(E}z+ zZD&%zSmo;2o%7MgY@ZrvZ?&sXF0LL_mi{jNfP1o_ea^{RVqzzQpHw@W*K6!CuE@!t z%E}d|f?^q0fY4bXgiySL=I&di_PcghkCfLW*Xt_!6=78VyDLVGD@lv1zE49&f4(U8 zJq$0qZB`Gm_i>L325KAo5NiA0lRaHAiU2?uCO4=BZTEmPk;3MSkumR@BN*0EWtE5< z=i$LhA!>Iy{K>0z@O2yw|mUi^7_z6iC;oBMgjRfkNH~}u@1xXxC zb^qpsRi8s%Bd5!UXzeA8IK`V_O*+Bxz0>`F%8bj%3Exzh#oBu;2*el!{WI|1$fG%z zA6D-USkY&2x`)1-i0!Xs{F)&8?R|F6XY+6HuOCvQ{skwk$yudiujmV{y9^7Ko9Hhd z#h`{u60)qbC&_lxERQKF_0X1BQa+7mBBuPfQ0Q+HhHX(^fU-$i{G_I(4Z&iDpzSy* zzL#LfPHCX3m6CnJ=36FaJs7x8s9G<^*~K&T z!dZn`S~k%#el7FEWAXWINtYVm*5@uh=RROn?Ch?HnG zNCCRI57OknIj~b>{vsfaG_l0tDZh|6`0@q=7p>!8so#HC0L!Hpbl@oRWChN3E$$w! zYex^lkPF$C&QrR2R}`NhHzG&YqpBw1pxAMN?L+jHn2mDQNjIj5r(`r(brL~%E@fTU zCP3`ZXog76Yy!5xt&xc=F}!##(BA)ACMg9WCq-6gyN$I^y|WULQgp_laf2MV*-w-I zQ1>)F&WYJ2DnE{!%mWHbkS2pZf(FFhupl1^re^NAZUK0?=4JA}#TKV8hn&!u<_iRr zK|=|i9#;A6tJgR?4fGX4!6TJHCt>%K)Y@az+8p3UnxKK3_{YWTTg!%rE2IK>&`KbZ zY|HKF?;ruI6(Y$%KSx*OPw?TpDnz8&+E!GzqX<>y`v#y07H)YRcT+wzG5i+xQ(gcxp+}oV5V3M=Ehw*P5k-i~ftE>a8ze9NF0Gfdv zVg}pZkA}!51rG;l-x#N-0}{&rn_nc;as=sl4~6zFrW*7wDjFjw*Wi$j_7u!URnZ

    CtLoo;8A@zzm&{Osf<2WMrT6w=rU<*BbM(v>( zq)K`RN@1>gHC<%3qpJJ0u(k;#Y{!Cchdy_gdK!<%g{Csb{d_+Zmf2|y*=;PJvLY>h z3J^O#Z7lpgH?qs^E&9!QY|g_k+=ogta6{JUksUaj<=G5eeZbVy&Qu#ecXzd{M+3o+}0*Sb;|D!+0Fub<|a3QGnn{vD0i~M8r15Y_H+Sx=kFefn2 z`hBkLw{+gCFzR66(w=%~Ze1K7g~93Rf)jp*li&!ooXdSR7}o_KR`iKPjY2~`n~^?F z`oTPCyG`~Ig`~J-(HyyU^=@}G%SDJK%)|q?n-bW(=-4Hq4I!gJI9M;Uec$&t_+ag~ z1N;-u*hMRK3_v&9*~Pu4i)65Z*3OAgbNH-SHX0q+5=at{#y&Gd@Yd<#hXjA; zprgTHXNg0b<1M!EO`qBAUOp!E{VDjGE(0WIGYKtA9e z#rw=}4=Md^;9>SEkxoh+2mxrQc)9Cic2rFYpOWLqqd$GBpK6U_bX3Z<9Zg;DSa}VW z;XnXIZcB!u^BM}C(BpqOx(PRg@pxM6afmGaGa=L#oFWISU?8b-$tg8WROaSJt-+~z zmi6NIPfq04oq3dD-H`TDhB3j+s1P?N#fMPQHR+~yPzjPWYTpZ*7M!d(j2zjb*8Ei$ z(Jbm01#ev#bBxi(e_#*_ahcMVstH5&XnZmSzWLk5N=?A>yhtMyLG_OC$y`%g%-(C|d z1j+C69ToAA8Mq|{KUkE8hu~A6mpWAj@ZOtD=$N$myZrYvu#dQBI_cSogVKoFCH*Uh zkwkefKLi)i@5g)Ztqil>^QRwf{lJdy*21cBZ$s^WgIHPhVp#*`X_T5HB$p0$mVnj-&yx zr0RYOAqBZPrqK0#e#-jAUItlNE^lt)4&JZv9*RtflN(Vs%n5?klguFtjuVZXt_Vnq z#M7T2AI!$#1R9k49{^g`Tc%>$x{DQ>k>`7KomqPu)26q%>Zm0aZU!@P8ZO-gdF>S* zU>qrWJF_eNefUYBJqzLu^rPJQ0s@c=ER;rw3wQdM9MiGjeggJw5u%%X2Ur|eE$EpV zBUU#w#t_#EBx8Z3a8oVrnD=_UHwFLb`1(FogVyM{$YCACG%=@ax9-{tj_Dd+`m2!i zq2FZh^6!XiSP<>RQnlq?H|{&A*Ic_u4dN$`Tf)=r;`5#P zWiU5UOf36I(`;U82A(Ub&XO@!_J;L+qC}k*~g z`Pk4+n0AMD+}R9&xZ|3Ya-AMe*c=co3mp~o^7}0J2_4Gmm2r%B3+FF1V7T3u!;&?|zYd07%v!A^lwactUA@O^LFRBaK@N$b z5G}Scu6nQ3{cia$HE@-3W<^_uQ3qe|@7Oss=YO2#y}esuT>G5a8*^`E5EFB2Z0T-5 zr+&CzWuqnZjgquq61Dms=saH&^vB>GBgb?QN9Do+MEf_hugE;kP?{PMH-?I0j zNpW-BxW!UZNK7c{dk1fJAi^`B)=*+&0b04b`{!%h>r<5MgiMtsziH?tLhJwVlfthh zcRr&im@`89%v)ueZfIv3@Z(S5`J)Bx#*o(%|HQs9o7Ph@W?sa*6$Uy8XT&Q@HbUAl z)!fg9j&GN)dW2$EuKgK^y{V2FjZLN=mWICH6jB(0A_^XKFBcw0)|3xt52SDMfEkD8 zr{Ba`&up6bxMpvD5B*dAyJ6{DH6J*M2-lZ8p3D|y5B#ltv_Z-)@R8;J(f`TMJT6su zOM{b7365C{8PrV&NYdzXhh#RK2RJTB(>_8P#mV+rJ_lIk$?pg-aWbX$?;uoH0@UiV3Kr z;v^wcfAQm5vcq~&{0c!@CrW+{`y;-Boh=cKl}L$-lrVzwF6&2lDmh>3n<5g{0)Qru z!~l!U&ul5fFx0}ogQ|T99`NIZl!o0>A(&WVA};4~!@chCUPW3{!uf*SuOGC%lAGpC zGNtiGi(BefAJM%H-7%dv>%7-l;qJ?$Ic&OeCmp+V@yT__+8zN%%uNI7v?7p*+CL}1 z{ZTwFR6V;)_kR+TM8LNjECx%kQ zR!Lt8;a9_ZNE2v&l}lp9C8=N9pS$pY-)5IScVp$w&r>(1@4B_DTh%YAifIHfP0*VE`Dxr62oKpAac2a!hoQ1kGa#p>ei27eNOXc|#rYzmCvKWD;8)HulAmlHKLJ;|49Q&TDVR7YpdcRfh6Yz2jhOE| zjzc68jX@O4~m=D3i z8HHxy208Z?AK{ep;>!4VT*4?ijC~(%pSB)Xd*Zt?-pkPGi#ZZ+Vl7#|qVLMM1v}Mi z0W=tOfd|ZZ&!L=^mzqU80x_wl=6(NhNUjI}sYximzsTur&~tG_0{l2qU8?pnwe1gl z*JRjTy-#);0tPRA138}cm|rXh1u9&W2=-HjPcTmfuMS~{r%R86U&|j(U73PS_*AW! zfn;JmE^t~irBj4oKEi9xa!$FTjL%Z_24EZUPZw>XC@B7g)2pw%}whsr8{rMGM*6KT9hcF<3I@l(SX~zqGt@|3Y=HHKT%66d^h9)luwqnuI z7+q6|iz3yJiJAQ8XX$kzv4YFa4}D+BT*%UD$yw_%tpBYNFx}6!8XM@kntl@OSZI_g zanQXTIAkZ&Ad!4*%8^EnJD5i{oK-&hZ?uWR0jcQ!X{lB_UH?-puPb1(uLvG)s?E@>|5viv{;a`Wm*`xpC z9Ko}^&jcMYU8hfbKSbVX+#_C}>CbYZYZ)V$d8)wm<;Yh5d%rPqM%K#Qc+3 zXT*ahC)ZN)bNfwpo-$y?MQFC;OvO#d!{NI~o$`ON}1p(}9v)OfF zmzz*rfxDTD|K4tf|5~ij<;)bG^4++58C(fq-P@}GwJAWMW&_ixA?eH?2HYDvV}L)a zu>?wR2eGkum6(GnVqF*NZx2W#1j86l>(N05TW@raahscv=J!=Iowt+krPugehCcT> z)ueIXuSE(&g-%{(m&*03rH4m^KLneN4VA)Wq%EW~5FEaJ7DU3cQQl(|;h7q);qx^j zkI9-10re4!Dyxkr_eCe3-W|mD!l|@?%XY5R?9$5@bFaSStd@hVe>-YcIfv`|zC=2e zGi&g!A~L7rU9bT%#ObZ-7G$>iLOGK5<1;~d!c$inbb1b|82cJu5%5XFVn&w*lW&7t zm0Y&zI@9VtuJN%N@)0Xoz9;;niO+}hQy6v%@`7YPPdS}R#WU1~Q&464|FoiYMxe?h zjYhm=O^6pZfDL-7*bCcJQq5Pxdo>|SiZ0 z^a7Q7tuW>IWtFkdcoUznW7v=?)`sBTXt9_SY+D5uq?rodl^D*ff(%8HoSW859;cVI zNWY1I3Tq^gv6fOQ;X0ioz`W~nK+5vHIG$T@vWpw!5W2e~v5Ynn94fyL)%SiWo#x|9 zC(}g0xJ+zyzpC!hetu~D-@os@m~XOg+$hGJU8VkS57lg|(BlFFHS!Bp-l;hb41Poj z9_^FLNPpS~T6gcYWnuT9yY0(-@MgaT#;bmJeO6t1w+1ku!y`#Mm9utq0yKY`umGv$nH=U0iK8_3EmB7$K3YQHWK3?gR zLKsi08kNL&nhsSB19Lw2Ye6-%aYgFk&s!?Q_C-{=e*BqZY323je{$I6*VGzbUFwyi{KD=$inB8vSw3 zJkr>f7p%+`UjU;+%4htn8vJr@)u+)YcLJy&fDoJe{cHCxqa`HnH<E3kp9E|CH6*ed?4V6xgG=?1{3a#|E*?h(vW*Jz}S~ny3Hs#>A>obBa^r7Qhz`Bff-zXe80xxXWxG!-`KZ zp)!K@pTx!@p{Dn*SDR~tF(gI`Y5M#pv_eds$%^NFq#UqaHk(vlI=qFvaQgWEbJ{zd z-A$faqP(rHbsfqK-lpXC`)gZuIlgN0$PE>HT;R5Is12^nr={CZ9VxZMm09;CGA$r` zRilU2d{3x*+=jklt}6Ko6L&!HBq|%o>IV%6_|-8!&S;pzRIXIqwq}VZ30MOtQmEwbBHT0!#*=-pW0J#sf zoyKU*3f&t$kyY;JX5L5U)LpK#%YF_%hte37oQHZEO!51lsrsLG{lRPjeW!%Ke@Qvws$JIf#{JL5gk1@bZR77xnb}&QXI?cpbj&+y=dpn0fQ( z4uwu&IDEW3O*$w>;P>8Rkp#-vaojUIAxwl%O*U}*5!U|d4N$c6=)M#GvQZ#YNk4-g zHL^xN%WoAV!cv>X{#0F<_f;}Ln$$5ZNditj&A+wYW-&5@nTaGVVC4;^I=rG1Z}z^Z zyi}n~#!o9;M<;8{sGW+RTK-zuD6gW;R!z`Av}%1c!A?`kcPMun25!Y)5?}c;<)%H0S>LhD^SO=*FtJ_^WC{6T?glg7qGJn z(Mu4S<19$k*@tfilT<~IScBtJ&OMlmOpm!Nc3EN-%ry*NiyGo^8`Qc9`y2n*0eGr`34lJsp2G)bK*k2x61d4GfX((V78tQK~@NuEu zw+d(MM#kT0ta-p;;E2>y!n2DY06L&S-j7kk1?ogL)ake&mqP!?I(O_PM;w;5S^s$4 zxyc}6#|6HRwPSz#rJ4H(S3F~ChbQRxU$+;IpJxIu^@uS+BEPNoV$+BqeWavtjES=C zsu8h0wOV2l5y^rT9}R^cdYCz6RB)4cLp>Uu%ffRKVt$q8%+S+pnRRer;1&Bzn3954 z58Ar>Y3zdgNTiDUmqA`uDK6Z;!AE3K&HWef*3)d+T+q8;wU>oh(5B>a3|U9uc)RM3 zwZFyv-+|hK4NHfk!L%I_TVx_m^d5Dg0W#8H1)WeYI|9F4QfT$!?9H1)UOOUam9x^n z)7#yp_}^_p4R-_ZZbd3l9&ZhY`7B-j3(zzY+XAj^n%rNOD6&Ly_AG*_fp<#qC5N)F zkAfG*G)SD$K&C=F!A4c*A0jnTu84XngwqRg0vQEE&A@DSJFHrypeP=kc$YgwFvKmV zL6l#+;@NAy)xC=8K5&mceGicLK3jZz5Wty0lW!vyxgv6RxPP6q>5q3JGn-|f3sxiA zn>VX=@Mn{KV*6-{6v;xLx4bZ#$RTx;8wJtw5|M+NK9ag&i@I-VGOwA$lxhLefWaN(| z!9Pb8={x`NRQJYou1OOaPg+b0|96fEzcYPgua5$kpeX+wc@x&{Ys88OMmcj(2gSY< zcGJ;=5QG5MUFPC^o3$}nG&!kI-j+^^@M8YUjSxJWLa)+LtFv(K*|giFZDn2W=?W3; zME2+j5caW(l5L&*+eS=DGTW9JmDM2fN81BBhXp~|yuO1?a=lFo3^@cnOC9dPrD|w6 z_a?-2%qx%mw9`e(@*4TY?AHbQG~doztyKm8-B0q|NXw|0+!+`64EmAaRj$JtmQgS- z@9|4O<_wa*x&FWB=UT$#;Q|ch{cM~^Xq1XeIJWXVp5|~8;*I*@LuqcQ1Bj@Z_zDY9 zsy&dwFH829?5AMz%S2JI+J!NB^y}*;yseT$EZ$DBjgNzdwgW&*?av=+CeFD#g}uI2 z0#(xj$r14o5`w<0=Q`W$v28`B2l}2HcF*ajp+*r>RMe_EY{hFICQ(+RywvF|Vwja+ zpPuJtmvP28#;h+rwrj!3)9k28{%WbmX$%u$M*JXZ8={b5V7WAsbEi>A zdJs5_-)%LbOj~(Vl7_`4V?RFj!)L^WHhz75q-NMNHm2H3xK4_e$*>pmk3=peM9#}h zUO7|z+x;GLOje*DQO5~2w3wN;WBf;68$2zq)^&=<+3*LfW0(u2%ZRRR#cwSj@f9qA z3wHbu%A?d!G*=Z-{5|n@*?sNrt?%c^37$Xi_ix+VY=o~m!ZDZmdMF))6KkjYXUN(O%+B84+ zXYt12a(LfyYfh_L)R^>)aiaxRQlPL0aIm6u`BgT{y*SaOl*;<$Be%=Fh)0C&{(JJp(*tKY&AKP9fxK2uvt82SZQLD+=Ak{Q^_cYs1?aiWz;m z%dokodWAur+HU}a5Dy2jqy|{MSrTLdan)d}*;B`BVt%!$C#cof`^VG$qSpG_nz?iN z50s7eOWjpREx!#dt$jYcfhcJ@EnddzXy4lL{Y?85`7+`oVp(l-zx!ttVU$Z}k&9SP zsxPM!BXfKWSK47xR`B+9GTzG}b53<8(D z@eTU1@3=Lx7Hf|4YI9%CR%p5(NF7HFFgh>B@Jt<7RHfG-`J-YXs88#)l;0>m1kCxfXM%`QEhY}Q)Bp>LcKb1 zAe!EfqNM%vW^}l?sLP2jg5k~X0*Gv#gC^PZ_UA}InOvK{qpkh7NvbnK_i1D8dwbQJ zu*^|JCoN7Tj#7Vd8oDAk>R+JPFWdq=)B zxo!x+rrZB%7riYBMIt>Hgs?-={x%MM6L6K*$Pf)tvD%HG|Hd`CmKua7pGSXI2|vt zc+p~)uF+{q^!jjx_aX^X92G{uC?3d{XOarlH{mR4z`E2stg7?EY34n%0JNiFKVQ)U zJ)*CKUnHU-^IBq{E5~w-sRqu5qWneJpDFFJt)^}4X|`j@u-rjnzFs1`Z2xsxjmQtN z_yt#zWf3S&S(XU)KpmD+qk`i}2)DnLU)#;;eI948eUHQ-ueac`6fscgsHIR?zQO?} zj4ZaSgmjMU%c6uzy5Eu8W z5=b@K9J$B!;qMzGQvRrn-?YWA={{{;_u;IzAo4J#BQEffm+pmtrPog9u>!t?_?0L; z+5AsI{7AGF^91y)pMPCDqBQV)SGWEj#+a`*D_MS#n*bkdo~A#3PlAGFle-Fa?A1CO1~a8ld$xDAf2 zkJO6E>inG*jOJr`&vEpDVW6s{J-yUL>QMe-8?h*$qG~isU1men?21oJtDCD9GMGk= zGj4Gau@oxvI8;dTJh~JJB12HvR#S}bhe!DC0#dPM{CyCDiP01~SEc*;hMHcJG)r*Iesp z?`LS=c^|n{UYlnva1n7}sCRJ;&Dtip9EsdH)QL2}8W-O?)W5u_Hr%rPm+!05hTSBE zq)$WnbV;N?78o4cB-W@Yy+<^TkQm1MR$KzA|5DqoKVe)r5`Raovj~FzZX=EL-TJxJ zI4B&t@FS_C?Gx6M!cMyo6lv+w%J2H8rKc4XJ0KmM@+pX2Hlrhx7{oKo!vV*rq!k6{{5AbAetPk-v zqNy{hMfgVk*!-Xd7z=Isv=t^SESNmEdEq@mFJ#CXz3HFGla%_SnUTd)qFD!5d>M1; zkzvO-tEX)zwZq_+Q%ec^&R2iT{CN!pyt?>rI(tKlN}#@9jH0nD(v$%|JW>RnAp~*> zc^VH#mW`%5nsEob-_#Dq(a5b=Y(rVx#1vVFFegFmnBDc%d4!o$v6j8zW-Ucrpgk-{ zwfzq>sH)<)TRK(BiQR6b0ot3EI7qOZweZFqZLV(Jwfb_7PI_z?xRcb*zkdjIe;E+? zWT^fKscA{Z|D|@Xxoktdlm9B+N_PH8K$DkH3O zk9hW9xm2BkiutDTV#40}Y*GZl_)unfdbg`3zonSB7!Rk@ptJhu*e&BvRi7GCk_G6{ zxAa~mXY9jn4&N(Jj*G(DbW{=PT*n0gDhFAz+rlpM!>j;zhy&+SNTFCbhNyzHm?o+G zsj%d#H!HWvU!${)UFv&g`@6ejG=x^3AWjqm;1Z zo@RK!>y~Qhi&_G+5}sB;bP&7zSYhhcFHn8jeiHfH|d4|Y>s182tEY}mI) zb(u_0yS)hiqOrQK?Cni!_8GB4Ubg|4(|$Ig;1N-8V6WaeWOsT@9+fG3)$*9@A&}_@q zf>+xg#P$WX$7|S$Tu|0>gzoCon}u>g>hrQk91r`x1V$X(&M)Z=pLsGnZMw}k9}G?* z&iQP?+KsEd<@8^q$1GHUApCfO^lZqXt~xHfl#z)qxpgnp=#He@&IDim0C|UKs7}_6$LtO=zkOx-*g} zugr=&!OG1hR|A|M6NN$hlhEtKJT%d9?!vV?7unj|kWr=?=4xj%adte^X@n!a9X zR9-{&0zXP-*1}#4(t%G*eqpb-OJC-5_zjgg5cyE>ug^6_iO9+{L-$S%mKU??A1FGoRlw(QdV)EbjOqrwsa2mdK zc%VScy##UPiApjZsFb$|_n_6aBy(8yBttS<_vNhNH%`8w*K*~vfi z?zj8Hr*QX0y|Ycz8aqdEOhQ+sCbLs4kV5X5T~vX?YA7iIsz3f?UL)DngcjgISN0+n zgI`u0@g4@Hd)zvH6PozHwxGBlryhraLXn62OVt`D25^vZALb(O2AhiBmDL{&uY25i zWU_J&-yRXR6rVZhgv2u%u{T~Uu3x)j8t@R(4Fomns*E&(i^FMFOM)YQxF;PCVhC58KN#{O6?b;ZM>TF5s1j0 zV+I({kl;=DGeI>h-Z_c*b?_sCq@`LTY)%)EHu-W|q{&DBJ=i_w=kojMse}(V&ukh; z2xapZlaFr-2xn1P3?=y7m+j`R2To15e)FzpE=PqZywBb~Om1&8ozLIJRYV3?+Z`{f z#OksNACWIHBTcT{-9B!OPh0tCH=>d-@6&31r@SCUP9od zePBnyg>tggfu;u^3FCGlYtzZbLtmJr5I&$H*8cf}1E@-S+8I-`-1Ab&?#qqA^@&an zj=o|2``~b@M475DGB11lAu4coIiyvJd)#II5uAUE zon7lnv|>b9h{YHZ9p9C4+i>NxvXjDSNov5aKNSv5#%cI-puQtA6q5264J%nl9RagTf&vzQVYI|nF#)p}DCzs(2y2k!%U&v|YMru}*j6uxkj&Kp z+uEnA)~BmAc~ho2is>KoVNO) z%q9;RYaOk1+=XrBhtvu`#~DO704XyVIZ7|q#-Fcm+fk_>%?4;w1Qo`n=D?a(rQ?Vq zE8^K~A64I}uM@r+W@PrE5{>s~S{IB?L9`UM=Gx{eN?UC<3A%VuC8g*x^0ilZ91bsn zU*<3HwsOh?W)GIs)$eyVWD9q)Xc6?%9Qm|AwK~X$d{ESoy=W=-g5Tq$-pu%W$q6i>Tlryn_A%T6j(oyV zDkl#=K0n~^G+dLji?k%1ab}v7#YZfUdOa~hH$!2O_ouqp0EyiGUNjSl95af7=W8-m z4Bz-3FUvbl?l)kDBQI|xI5W`e{Dpg@JH9Kl4lhQ;t+`9*{~PW-SIE0Jv4w#4bbK9F zin)a;g9*&~=bOdz^H?Ya2rSTXdWKIu20L2iBBa}N&{tYt3v5!_EU{9xoqlV63N_9x z`%Cx~)uS^`2A8%&w{I^>td8Alob}mSTy)j_Y;!P{`m%+3G}x}`N@VtT=!4NKd_IzP zHKbM^bnx>xIPJ?}ff34S>=-|6xuI5W`Irv_Bru#Og67re%V(9Z` z3u~xXa(voMwaV-Otrchh-#Ie7ABz1MhM3IqoPK32GFZ+)!OF#=5b%syH1b4RecYK& zeTZl67ER$L*RngnPZP*IaEDp2Yka@^5$mLIatUS=gkzQ8lASuGi&~dR>?IJMQShR- z;u9~H!xg`hIHdHalB4;%_zuD-&k1gTDA74l?dZ8-caZ|PUX}tO#&brT4OXEE%$qe$ zRF#(0NrdkwS=+v%i)wq{t@=jroC;tsdf}6H%(}pbOX3AqA-vLM+S5q*>XS?U_G7zK zjoug@4hU7O5vQB^gFJSydw#STyY_TBicIl_0eKER+x&RJ_3ox_SUBkK-@mo?05Fus zQ?lp(@c1}B^+}pZ`(;q*Y)FU0q68Y4?51&Hs~S<8o$@1_fc&5f_B5zndDzniq0uK* zF`48$b%OMk0V~aS5Bv}D>vbr!Kgx}kBP~0@RG?traDc6HO<8bUwB#!^%U7sEX0IoH zbrp&fU=mcw?UD`Y@EhCiz*UN|*YA*>z2ywe+FQLK(yXI=HI3tm?$JqY?tWfct)z)ojn_~>3j>f2ly@8H(`F=86r(4=cw@^ilI2^P9L|-(A|lBe&O20Eokbm~87NTLy{XMd#Jjt$w4c0Ofi_3ZK`ttxsk>5a5M_ zC~&Ql9VeSisnV3h3~J<&>Wc3F~3h)4E4^ZSx>%t3N6%` z`uSYb`DB4S68Yj^`gc_I|<1#kq04witRjyRjO(O#Z2W=EDg_SSn3V%+4o8 z<>Jvlr9h)sD*Et0fezw;v@pNQr;CVz_CJH2&VtwMx+gZ_ zAdgc*F#7g5h$HwT`SU*zhZ;Dd2>Y_ZP7R`Zk1K9=rYtx@LUPIj8MV!AxH&>J*35Kj zwu^2*jxucTVWBHyZB=?5FOUM9MCSilY((T;l7n2S8M5woBo{IxxDm4;o#C zB4VO7EA(yAZ5==5>W%Ydjs^p1NP0eKGNSWrWafXp9+awuvAF0Y=)^lZjDgt#&hW?| zG;&hXDj%3Es_14sFHZsp@kgV?O0ai&(^N!8ViLr_V3k{?nwcWQ_N28uc$gIK*zQvimH+% zsDIco2moKdKD8<{Q$IPzTF`BCDA2xk7#n@q$Rfs22+as(`GD!}2E}{4==J6fLE`<` zsyBRDW@EI)zT*4(DV5aLASlj>H~LAYef^H3b@7tUUic2~yJe0tbwNEzw#cDirK=+5 z9*N4CX7N92@}>%^jDGs(g|W!?gOL1pK&ze?bHev|6y!E0Dy0LA~76`f&aeQy^me|EGboP*q4?~3n1*F0TBFC;Z>}HBF6ZKBiRHU4pPWIrw zb4TPGh+NkRNTp3awq?@nqh2Lrwieh~pRW*d-Cj87F&&VY=63&2Z~G#PCdiFT8gNRK zuR+>&;6>^7tu1vs_J_bku+V1AC0Dci_nd#R?&MYvDv!zf>&03A9q}AUAzcj;@{`A% zU_UVzepC=0&-!1r{xW3EeqYp4IwZX>%Fhoyna9j11O2(nbm=Zt;q1T`Ea=V(>&dw@ zXZ*TC^Lq^gJ~va>?az;(+Tr zS_J7P?numIKKI92uDpqV+lUGOF#cRXk_T#Khh-`ev?V=>Lc_d|R|3%c$4l@AKwtnjwzK6Gd z?dj}$U@LC@tAghsz_+?|9$hSYGo$DQyUzEr=5Dj)R#d4si=OqCmgHfTnZIHLez6sP zOaYR86I9dg5r|_e?G>4ly`RWDgqD@oqZw^m5 z3P%2J(5c8>syaD`!R$_Z z#!8@x{1H!9vMcQ78(k|*sXw&V6jn~DRg@7bnvxYjhQ*9~Y4ZB%i3os0pY0T|1##m^ zLvOy$Y!554!}*PP!N@_0ECgu1D=2X~4;?`^p(bLrMEukQDOz^Nwq!HXo%Yg~tEC2p z%Dxgu-@{&pg(<>!YNfOZuTjrOMIPHFg;?+xh(9w=1{J|2jfun`b?5msU2YyfiuSh^ zGLor8tnCK=*Zd~EKJMVb)303S!*wmj1JEq4a{|HH8LzU;(QQTm+Uo3tpCV@iv8MtC zBSyi+Luvt}a1-A=ZE=n-&J*-_z0`Y`_>WK18D-l;FS?>ZE zrEk^?bhN`?kypDu7qZMKC!Q^KXrK(dx7o7;%4jhTdHTNnzzx|nUo#Xa5tA=0d8R@h z+X8p6J)vEKyJvAb+YkfrCQ!WQ=5Ry!MO$rv#pwCqp{dxpT8e{7 zjX#wz5FdQlm{-!3>^xD&7r;t5W&-Y=IM}f*{@?&p-G}W*_?PwF7O|;vA<)#2wR!s$ zl!mi{>0w-PC2o|yKpW3$#*(8}VB~0?;efcg17&~ z?^eH-RgsUhA_9tOhQd_BYyK;BXHa+t&0_<+{c|Hu!;Y{VjXx3konTu~;1q5hVN8R- zQ%m38FunuLY{!iUcR<CkS6lyC&E6LnoRp*mK7O1We4ro8z2qM%;UItf>c^U3X9P3Ube z180vloclvdC5Pot*deCO2bBNC(3f=uKQr+zG=b&BW@-SXi|uNP$107{(~>=Ot`Te@ z89=zKnkzwrf!-PQ;OfbY#gMKrf@An!pSwzLX(rXA(4?^TxF0vvw&iAE{^0AISt#PSpbGRB8kJ-$dNn~e@<4WB^@8jPJ zf4ps4ICu3xAQ~nlxZiTS9gv19_6q4EqoMiaf4W$#fVEv4XPvP#q5oK+zfYDi@;$hi zw@tc8V0C)P1Wr4tA6L09w^1+QRXs)gC=;JJ>|yVyS zi4p#o6bhR1lN5g{>}z~ld-}U3p;Rc_1ObM&N&K5&KV?w*5rO0LgU|HvJ|}YmdT!5d zp<2tPSiGSjKChyMb;VGQpyWC~kB;_`B=3_XQ)P0($UI&-zqNWN@~PUmUJD=TjaN?K zI!*s{51Tr4YpURY(2mb$4>lDGzcp<6Pg>AA1HeztR)< zT#`+XSKO4+f2eLU(z*R!Jo3mo3bVYhzS5&6T^<*9XhK4@T;H@irX_M-sHb;w)&}M z{*nj4ZKKtI1eS(vOD`J66jiG7+9izk(yQVAEZb#PTi*>0*JUjc9+eD<5`IO}8DF&i z=7x78-s?^>vEio_f0EkzWVgyzT-7p~HaWeN&Y*&*tGjF8vCW1sIr9lx{HbAV_%lNi zj8fMGcxi7Q<;>q-LI%ZX`$l{`loMNDK``RI@~Pc8TQ*CZZKV5kCU}k+Q_iPvW0mx9@Mg_>Ma}|XLpkIGGV3Ppp2c7 z-dofNF{#X9i!h=B&d8&S;lf;yYe;3b3&S$wzKY@i`$-C8RDx|rf~oF2bceay`x;G; zne~CJN(&LXGa$V9){au$v!$@TZy|eeLDdfcLX+JjaVH1}io*A^0^tML`g-wsoLmHV(wW@kOxWtwdsddwihC2`7VDSEtuH-W5~(_A)Qy~8pXD`7~+s`A?Zva{qq(7usCsrp3;cE_Wx z2+3p-e~(A_%&?f>e8Ptfe3_X0pr=yX&mdQ$uuv6hPMmAlCxawHC&4Dx2>WDw@` zN32cOQQc)Y(~N624!vBlErN#_JBscaX~<$LAp&?x7QYDH8lhBsqL!QtM;~3y7{c#v zx@l~=N^Nryrm5B4+}Nyv70n2VRvk?deYzB4G(_CH%G4ArEb_5o6pPB*EyL_B<`$;5 zM>8)_Om;I#hZH$oBQ#ICAP{Q7o?|Ld=`pMNXR?-Tyw+XqEWTyD0V|cTCCf>a<9egk zthEoB{h9U}7EwwQFI2%CxP0Wl(N|>O01PZC;k&#M*$QB2~RoXYiwHiSfMNypPv*Kol43^ zasznKX^j)T{Glg--KT!E#P+dMv)9}-&)%(`jud_fs;gc}tsT;xnKPNas*3-h%=S<8 zPJ6b`qodAEKdCYUq>W-LO2(SRH&_Vd6GE4M@{0iQN?JC3Id)P10DRu!a)%!O(RsY3 zGFZDO&g6q@usz3f#C8zv!DCI(Cxo2*@`;}y+2!E~!Fx06rC+QeZN=G$=cd;v#R1~< zNQ#ITi|>}Sk-bF7P4G8I@S5(N^?Ooq8U~Mh*;npPNw~hEu@{g*B8uOb zQ3$-eFSS;QG(9mjR3bO|Uq^PwLJFc*KHd*@q*sjLc~6RMe^v^yDZqm8+2W z%?)UY`Yu3?npgscKdwv725%U_MZ9T$BSf^CcaPJ*oj!coqRf*)O9(*-#m&u_#T1p~ znT|^*BNW)-wRHSWH{rzV zU&zBEDr=Zw?J+g7P{e#|!-?oSLBBSSnZ~OjjD>UPVm%v6Ry#HM+1q!FuDuluOC9c4 zhRtk2E->4Sovd;hh0z+@4x7W>alS9sj#&F#% zlJ|)yF^3jG_It#&D6-{=18$kL&OeLyz69Nooei#+ctS_|o#<>n*J|gvYY=k26=2AQ zl)#lF>`CxusO7oPRm^hL^xvsg@T7=o?Y*$$&$?RH67jcoV!snU@v9o2rIM}l#l4f* zY13%bPtYC)Wg1N{KfsL;L*aVX6ba#LdWE}sM$yA<0D`Hn)`Mh>BAorwJ*8zzs*Nkq-V9~t`NeXXVXHa`--ZIO~*J1 zWD?T>ENv%~+J(uH;0hDvWbIEAL)U}d{mzCSSFrmhZz!ry39q7gLk?V-!vm40m)sb* z0EQ?Rf%1pJJ81oFzuE44$k+RAAjF#bnux~X<)^EHN>Xx=5KHfO zO%m(|>hQGKFjszJSr|CT$S5?QoMM{lzk;dVBfN0k#097?2(hvyg-h;H36xTH*3w*j&b#o}c;ja05+bLYV6M3*&PJBG z#b0RbbzwXnuAO$NW@|u6p{kyyTf)6AJ^`lG^X4I5*>^nK zgLkiTO@mt~KR)u`7!+xaUS1oxPXnA?9&Wx%n42Seo~y%J^W+hDmvMi}Z^((v}eZ-HVODkRvk%ecgsz&&ER zog>|}U_qX)PI64Y*{yOc(Ss*{FoFw5`Gk;8^6cMBBr3C&GGd4GW^y$+lEIk|W0;F#HFxURH(N6<) z1UoWlMsIH&Y>B<0fov+^?_$C~NyhWXUHCx8XziJp^?K!70O+Uo_4^L|VIcJMVg4?| zGw`K&j@IehUwBsO$pAFcXo9h;F$Z5wPt&%GPvS+F*%)2!Z^mN&_Wqs*YynP}EBM2W z*0(>s<{`%Gr4yGWuG#U-Z_HjQ{;i=1{n8d5X7RyKQY`hX#=V%*60_Vc;cT7U!l3d4}O z)<&i;LD^4Q%i?#?VOaepNM7EOm$&XM$JC>C6Z*X2aIvJ&M>+Lct`-4^6q7^Py<6)#rOaQ$Ze4&nWSdDMExSJR?n&Gw9NT^X-%8i~>xe;L2plH-xet#xL0Y z7lx%;oa1YtDuUEI$S1yADiQda`S$Uxw?Eml)}PZM;CS@F*p>dHk%QZG4GEb724eBW z^o^bF-op4c)op$eNKEo>+}zabe+ADu*lJo{WBoYj(0$pzM^HPG^gc}Zbt*)EX-3(r$3TwFf)<@JuK8H|L z2!yn%DPtWmbB^XMzVWO~Qj#VriQkpNLd+XLH5gAtCB5U~5C|=Je}1lrwvi!?UFLJ4 zusEukGKwEWVdeH+aVcw##1%;}$~jAwAOj<=cpcRE19{6d;fT_WBK>mr^NPr zMOkpg*KUb9sfU9y_z?&--uT>rCD~q*ul0|KS}EG-PT$EX-dLuMhI!w(ylO` zUV>R3sjT0syMHzv0zMk|i^v;a=}dCyM(JOdS3@hVJfZK2P{J@((2i;Yc2w;xS~N>1F8 z{PR1@oB3w%F)NV6x&>2_s-7yHf78bOq!++6mn0?ZqN%^>p7euTvNC`2$ z7vk~Kofvp76mzSkn=(+oGwD!~snQ)dB)%uQ>}#x#sWNuwLQ~{Tb+@m3sGCaz?^o5e zxpgM(;{BE0pa@fGL~8l9arzc2<`F_j^mD7!t)N4ykmINgc(c?LOF&G;;m#7VTAwX4 zU09Jc2knfC3BOgFhd3qVC=}Dk^|*G0Jg$RiFlx)#fP&f-(nv@zfNv(a&~Rn8WOXi- zN^)Y020l!i*CPy)E?p!9K@9+!^B7^)*9IKgH=%Q7N>JlSIy!lsnAWW*Mbom>S~inJ zfd@;g2@3#sIhBp6Ddv(@YF}l|7Z;g0b;l3&&)$7|ub;`BB2l+!Dt#VD(8x+E@KoVj z$o+#a%{~hB6<8i0)GL{-MJtC0KHbCd#i6~X)NI#^_od=6sdT<1&~{v1R5fn(&W)C1 zXZE8fvsN#l(hJOqaDgjIno?594#mVi`DbsfuQIL`od0vmNnILhOCO&SLY2~I1awUR+y zfW69VGMFf36I%K3hqyK^$x0lZ0ZmBtpt;)e7KN8=w-!^v3`!6HEkU_P#}fbnuizxy zx2i~Va}yzUK(y9|-_~6_n*`=JLAf&a6fW>HAg8^F|{8FJRmaBf0 z<6O`1N4L{ZwRD;9*_2L$>X#TKk~AKx*SZyFYTBj1#EZPRB^IS@wedJ){H*j|AkzZ^ ztb50|_B&VkR#)pQnrh!~KTJA>E%gtMpDOjO?*#<))i-;^F&mcp1z@AcUcKN<@cI2F zlmoF$LxuHpiZnl|%np{TqblKeiAt&zFKNw^DH;v-7B;f&%bt z^oi%cdE$pvdQ}?hMEU6JLXMncRf(2_+Hj0Ofz+NLq0XLZLv*rvl)HH#glg{2CDVd% z2H&oU71Wk+IVft3aq0Nlbev%Pxeb?pacfy$uX@9}+Ql8F+ShNG&L2F09I+5nMc~$| zQ#_FHwR*jP-m9ah-RG=ZoG9ox$RhBvW`1{KIe9Iv`L+xeFZpj0v+1MN=XAUU^E@D` zdxV3#5dI^cmTK4%b7G3@A_Jzri@Nn8Wk@v>02rQ9r;g6+typ-y6}sJgni!*Y?5h6U zGoPGYx2}Ht=x6tHAH94Lx_IbGp7&Nc?RPo_F=H&Kzxh2*+>W>Dnn)pMC3t8ne4$1o zfil`MAY@x`#MIL_Zm!A@^LA7mN8$!Gd*xDij;Xz0pI$9HRcD4#>#Y2=5_;De{8-my z{9}vt*l-Bf*BBKE$8g=xxL}Zz)Q^j<$Nui}Cw$A?^9p*MswA<@(}qu&^K&a!3U3Ri zxfiGRcEbF2HN_E+!eqgvQ&kVR5!OBVy-4IocBB#aHGjs$K34Q*z6(m`BK;+fqny|%O3()9Zd^3B(Plm)T-H~5^TD4#lHN} z?y=fLWik1dd;Ll7;I-}T&ijRXH*UZvTLT`?DCZ`42MII7Qlf8jh4!(k+(ON#thPmS zCh0i45)#Nsj0e*ma4$F#W*SFKP^u!NSui}L>z%*mC-)IcF*Q3uoGy7qKJaxCXUhN% zgPA3uW~R$@L#5bep@qmXggHJmcwRO8mj$8{YyqrTyBCqAC%BTe%-mj z+NSEumO5N{3=?9};7a0Wcf=B*Na-c);h^5}z4`H~QgbBLe&j5E9@fGa+>jD>dbu64 zKa;zPZ+B)Qb(G0QL@7*%SW}Z)^$F3x*YK!u)76Pwf1VsZN|-+$5Pm;VOPu@TkYBj- zX;ohqFWkI84a3tlh4SxS5c8GwSotudRGe&1Fw!E z$c@X(j#Lpf_RT&!F&z|W;{IlDmE{GISZQi1aW^xn}mW^{U9eXuNBN zwllX$l**SGE+_m&@{k_h2}&3TJm>A@T)Xf|_VUa+8S;+BP~NC{#_eVD-e$~l%jJDW zaC+EM->yH(JvkX#`^3c-wpW~=I6dOAntITXplrnq>tS=hwd=--mM&8!m-T@MK6()R z+&>I?kahFXkLH2ss2{F^uCKLHYcaK-YK-FElY1o>`M~NzKI0H4JAI}1BtX0Fo9bRR z77t=JPsG0+oA$nRe1LUGlsqm0FOb{(bo=;i;*eF@8)d4`)y}ITAJ$QW$G_(BXGr^N z9Qrg>F~gD14UZqMxL$#VU;8^(f^b8hoCq@JT9XbT+Tqa@PHcH%iRWAy?C#+oF(ms< zcOuFLk@)=A#^waHY@F;lOXk~WjVJ0-+iV0$r3@958S4&v4=yEC2w{fgsY5wJEZf>d z6i*C%zdth^x7yN%lT?osmyx~@UKSY7JlUJ}zoeT-n7iLYC$Jm%>$VMVxjh@Bh|G+T zzSYqO^2W0A8prk90aK^9Tm9Jk1zT%WK#yFxK^>8Fe+$~3)0SY$P~5z-?s~tzDVHkgp5hk#Mk+r%=EXc-|MbrI zHK>2P-{(&GtrL&$XMH`3YhqrjR;JgsGd>U4_Yx`}dBA~x`eb97#^$~`rS7+`7l+d2 zWvd<9FZR&A8*i#hQ&$qCl@BMvBTvVpJzDMG%{93#|M(EA^Np|7vVyZ0b5fD*6Bf7& zW{|L*`%-gdaj8r5{l(xno^{O~k4c5$FIW@9tAhZ`(LngigFiJDugMFiu%U?0-RWoB zUlA(}nXzOa+P#gT{<(oWzdfh#>Nk{gy$nZKW1^+ejV$JqfsTkB^L8796m$)DZ`|loX5M>qw z`azHdwj{`JK&Fs2$Tc7nu%!bTLI$9$19DBUeV&@&>!;^@{#q`oE;4{?ev#mS+j;AM zraJKb77Xz7f;=G?2mv_(ZZ41;cTB03P5u1SAc}7qr=ptfLavjd-sCpU)!Fb_FR{9Zb&dD zHqibT<+%puZRfK7;^zq{>_O?A>p2|~i&^#4thFVSmWF-Hy{SkS0B_kUGzG) zx(BfL`CfAZqwxYX|7#r^#0zTqfbRe73pPj`Xe9<+IcE#0Ug%`_H=pwvaIVw8=D>OB zuf6$y(oF>-2fF=5aTn}4d!Wrfqk{f!`Nyi}K$45Zi~zq9uAuDe?#A}O!4u_zL@4rz z35)WuIUwwjcU=%piaci5HHBn&*ic@!h`Y9KNQ8qTkDmjIM_Gx4P{9_3a&WhE^J4=H z5GX|+Z%>3A%HG+*-4-R}?qctWL?Io$gzS;-a<(XU;Rj+oZ0@!Q7e@z_*Ny*_23WDN zDR_B$qr7wwj>x~cvHxGVNw8n^13gg=_THW@UVeXpidDeferred = new Deferred(); + $this->joinDeferred = new Deferred(); + $this->originalParentPid = \getmypid(); + } + /** @var Deferred */ + public $joinDeferred; + /** @var resource */ + public $proc; + /** @var resource */ + public $extraDataPipe; + /** @var string */ + public $extraDataPipeWatcher; + /** @var string */ + public $extraDataPipeStartWatcher; + /** @var int */ + public $originalParentPid; +} diff --git a/vendor-bundle/amphp/process/lib/Internal/Posix/Runner.php b/vendor-bundle/amphp/process/lib/Internal/Posix/Runner.php new file mode 100644 index 000000000..b10c048d6 --- /dev/null +++ b/vendor-bundle/amphp/process/lib/Internal/Posix/Runner.php @@ -0,0 +1,255 @@ +extraDataPipeWatcher = null; + $handle->status = ProcessStatus::ENDED; + if (!\is_resource($stream) || \feof($stream)) { + $handle->joinDeferred->fail(new ProcessException("Process ended unexpectedly")); + } else { + $handle->joinDeferred->resolve((int) \rtrim(@\stream_get_contents($stream))); + } + } + public static function onProcessStartExtraDataPipeReadable($watcher, $stream, $data) + { + Loop::cancel($watcher); + $pid = \rtrim(@\fgets($stream)); + /** @var $deferreds Deferred[] */ + list($handle, $pipes, $deferreds) = $data; + if (!$pid || !\is_numeric($pid)) { + $error = new ProcessException("Could not determine PID"); + $handle->pidDeferred->fail($error); + foreach ($deferreds as $deferred) { + /** @var $deferred Deferred */ + $deferred->fail($error); + } + if ($handle->status < ProcessStatus::ENDED) { + $handle->status = ProcessStatus::ENDED; + $handle->joinDeferred->fail($error); + } + return; + } + $handle->status = ProcessStatus::RUNNING; + $handle->pidDeferred->resolve((int) $pid); + $deferreds[0]->resolve($pipes[0]); + $deferreds[1]->resolve($pipes[1]); + $deferreds[2]->resolve($pipes[2]); + if ($handle->extraDataPipeWatcher !== null) { + Loop::enable($handle->extraDataPipeWatcher); + } + } + /** @inheritdoc */ + public function start($command, $cwd = null, array $env = [], array $options = []) + { + if (!\is_string($command)) { + if (!(\is_string($command) || \is_object($command) && \method_exists($command, '__toString') || (\is_bool($command) || \is_numeric($command)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($command) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($command) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $command = (string) $command; + } + } + if (!\is_null($cwd)) { + if (!\is_string($cwd)) { + if (!(\is_string($cwd) || \is_object($cwd) && \method_exists($cwd, '__toString') || (\is_bool($cwd) || \is_numeric($cwd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($cwd) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cwd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cwd = (string) $cwd; + } + } + } + $command = \sprintf('{ (%s) <&3 3<&- 3>/dev/null & } 3<&0; trap "" INT TERM QUIT HUP;pid=$!; echo $pid >&3; wait $pid; RC=$?; echo $RC >&3; exit $RC', $command); + $handle = new Handle(); + $handle->proc = @\proc_open($command, $this->generateFds(), $pipes, $cwd ?: null, $env ?: null, $options); + if (!\is_resource($handle->proc)) { + $message = "Could not start process"; + if ($error = \error_get_last()) { + $message .= \sprintf(" Errno: %d; %s", $error["type"], $error["message"]); + } + throw new ProcessException($message); + } + $status = \proc_get_status($handle->proc); + if (!$status) { + \proc_close($handle->proc); + throw new ProcessException("Could not get process status"); + } + $stdinDeferred = new Deferred(); + $handle->stdin = new ProcessOutputStream($stdinDeferred->promise()); + $stdoutDeferred = new Deferred(); + $handle->stdout = new ProcessInputStream($stdoutDeferred->promise()); + $stderrDeferred = new Deferred(); + $handle->stderr = new ProcessInputStream($stderrDeferred->promise()); + $handle->extraDataPipe = $pipes[3]; + \stream_set_blocking($pipes[3], \false); + $handle->extraDataPipeStartWatcher = Loop::onReadable($pipes[3], [self::class, 'onProcessStartExtraDataPipeReadable'], [$handle, [new ResourceOutputStream($pipes[0]), new ResourceInputStream($pipes[1]), new ResourceInputStream($pipes[2])], [$stdinDeferred, $stdoutDeferred, $stderrDeferred]]); + $handle->extraDataPipeWatcher = Loop::onReadable($pipes[3], [self::class, 'onProcessEndExtraDataPipeReadable'], $handle); + Loop::unreference($handle->extraDataPipeWatcher); + Loop::disable($handle->extraDataPipeWatcher); + $phabelReturn = $handle; + if (!$phabelReturn instanceof ProcessHandle) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProcessHandle, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function generateFds() + { + if (self::$fdPath === null) { + self::$fdPath = \file_exists("/dev/fd") ? "/dev/fd" : "/proc/self/fd"; + } + $fdList = @\scandir(self::$fdPath, \SCANDIR_SORT_NONE); + if ($fdList === \false) { + throw new ProcessException("Unable to list open file descriptors"); + } + $fdList = \array_filter($fdList, function ($path) { + if (!\is_string($path)) { + if (!(\is_string($path) || \is_object($path) && \method_exists($path, '__toString') || (\is_bool($path) || \is_numeric($path)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($path) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($path) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $path = (string) $path; + } + } + $phabelReturn = $path !== "." && $path !== ".."; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + }); + $fds = []; + foreach ($fdList as $id) { + $fds[(int) $id] = ["file", "/dev/null", "r"]; + } + $phabelReturn = self::FD_SPEC + $fds; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** @inheritdoc */ + public function join(ProcessHandle $handle) + { + /** @var Handle $handle */ + if ($handle->extraDataPipeWatcher !== null) { + Loop::reference($handle->extraDataPipeWatcher); + } + $phabelReturn = $handle->joinDeferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** @inheritdoc */ + public function kill(ProcessHandle $handle) + { + /** @var Handle $handle */ + if ($handle->extraDataPipeWatcher !== null) { + Loop::cancel($handle->extraDataPipeWatcher); + $handle->extraDataPipeWatcher = null; + } + /** @var Handle $handle */ + if ($handle->extraDataPipeStartWatcher !== null) { + Loop::cancel($handle->extraDataPipeStartWatcher); + $handle->extraDataPipeStartWatcher = null; + } + if (!\proc_terminate($handle->proc, 9)) { + // Forcefully kill the process using SIGKILL. + throw new ProcessException("Terminating process failed"); + } + $handle->pidDeferred->promise()->onResolve(function ($error, $pid) { + // The function should not call posix_kill() if $pid is null (i.e., there was an error starting the process). + if ($error) { + return; + } + // ignore errors because process not always detached + @\posix_kill($pid, 9); + }); + if ($handle->status < ProcessStatus::ENDED) { + $handle->status = ProcessStatus::ENDED; + $handle->joinDeferred->fail(new ProcessException("The process was killed")); + } + $this->free($handle); + } + /** @inheritdoc */ + public function signal(ProcessHandle $handle, $signo) + { + if (!\is_int($signo)) { + if (!(\is_bool($signo) || \is_numeric($signo))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($signo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signo = (int) $signo; + } + } + $handle->pidDeferred->promise()->onResolve(function ($error, $pid) use($signo) { + if ($error) { + return; + } + @\posix_kill($pid, $signo); + }); + } + /** @inheritdoc */ + public function destroy(ProcessHandle $handle) + { + /** @var Handle $handle */ + if ($handle->status < ProcessStatus::ENDED && \getmypid() === $handle->originalParentPid) { + try { + $this->kill($handle); + return; + } catch (ProcessException $e) { + // ignore + } + } + $this->free($handle); + } + private function free(Handle $handle) + { + /** @var Handle $handle */ + if ($handle->extraDataPipeWatcher !== null) { + Loop::cancel($handle->extraDataPipeWatcher); + $handle->extraDataPipeWatcher = null; + } + /** @var Handle $handle */ + if ($handle->extraDataPipeStartWatcher !== null) { + Loop::cancel($handle->extraDataPipeStartWatcher); + $handle->extraDataPipeStartWatcher = null; + } + if (\is_resource($handle->extraDataPipe)) { + \fclose($handle->extraDataPipe); + } + $handle->stdin->close(); + $handle->stdout->close(); + $handle->stderr->close(); + if (\is_resource($handle->proc)) { + \proc_close($handle->proc); + } + } +} diff --git a/vendor-bundle/amphp/process/lib/Internal/ProcessHandle.php b/vendor-bundle/amphp/process/lib/Internal/ProcessHandle.php new file mode 100644 index 000000000..c9a272eec --- /dev/null +++ b/vendor-bundle/amphp/process/lib/Internal/ProcessHandle.php @@ -0,0 +1,22 @@ + Succeeds with exit code of the process or fails if the process is killed. + */ + public function join(ProcessHandle $handle); + /** + * Forcibly end the child process. + * + * @param ProcessHandle $handle The process descriptor. + * + * @throws ProcessException If terminating the process fails. + */ + public function kill(ProcessHandle $handle); + /** + * Send a signal signal to the child process. + * + * @param ProcessHandle $handle The process descriptor. + * @param int $signo Signal number to send to process. + * + * @throws ProcessException If sending the signal fails. + */ + public function signal(ProcessHandle $handle, $signo); + /** + * Release all resources held by the process handle. + * + * @param ProcessHandle $handle The process descriptor. + */ + public function destroy(ProcessHandle $handle); +} diff --git a/vendor-bundle/amphp/process/lib/Internal/ProcessStatus.php b/vendor-bundle/amphp/process/lib/Internal/ProcessStatus.php new file mode 100644 index 000000000..fac6a06c6 --- /dev/null +++ b/vendor-bundle/amphp/process/lib/Internal/ProcessStatus.php @@ -0,0 +1,14 @@ +joinDeferred = new Deferred(); + $this->pidDeferred = new Deferred(); + } + /** @var Deferred */ + public $joinDeferred; + /** @var string */ + public $exitCodeWatcher; + /** @var bool */ + public $exitCodeRequested = \false; + /** @var resource */ + public $proc; + /** @var int */ + public $wrapperPid; + /** @var resource */ + public $wrapperStderrPipe; + /** @var resource[] */ + public $sockets = []; + /** @var Deferred[] */ + public $stdioDeferreds; + /** @var string */ + public $childPidWatcher; + /** @var string */ + public $connectTimeoutWatcher; + /** @var string[] */ + public $securityTokens; +} diff --git a/vendor-bundle/amphp/process/lib/Internal/Windows/HandshakeStatus.php b/vendor-bundle/amphp/process/lib/Internal/Windows/HandshakeStatus.php new file mode 100644 index 000000000..4e2b2db44 --- /dev/null +++ b/vendor-bundle/amphp/process/lib/Internal/Windows/HandshakeStatus.php @@ -0,0 +1,21 @@ +socketConnector->address, $this->socketConnector->port, SocketConnector::SECURITY_TOKEN_SIZE); + if ($workingDirectory !== '') { + $result .= ' ' . \escapeshellarg('--cwd=' . \rtrim($workingDirectory, '\\')); + } + $phabelReturn = $result; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function __construct() + { + $this->socketConnector = new SocketConnector(); + } + /** @inheritdoc */ + public function start($command, $cwd = null, array $env = [], array $options = []) + { + if (!\is_string($command)) { + if (!(\is_string($command) || \is_object($command) && \method_exists($command, '__toString') || (\is_bool($command) || \is_numeric($command)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($command) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($command) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $command = (string) $command; + } + } + if (!\is_null($cwd)) { + if (!\is_string($cwd)) { + if (!(\is_string($cwd) || \is_object($cwd) && \method_exists($cwd, '__toString') || (\is_bool($cwd) || \is_numeric($cwd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($cwd) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cwd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cwd = (string) $cwd; + } + } + } + if (\strpos($command, "\x00") !== \false) { + throw new ProcessException("Can't execute commands that contain null bytes."); + } + $options['bypass_shell'] = \true; + $handle = new Handle(); + $handle->proc = @\proc_open($this->makeCommand(isset($cwd) ? $cwd : ''), self::FD_SPEC, $pipes, $cwd ?: null, $env ?: null, $options); + if (!\is_resource($handle->proc)) { + $message = "Could not start process"; + if ($error = \error_get_last()) { + $message .= \sprintf(" Errno: %d; %s", $error["type"], $error["message"]); + } + throw new ProcessException($message); + } + $status = \proc_get_status($handle->proc); + if (!$status) { + \proc_close($handle->proc); + throw new ProcessException("Could not get process status"); + } + $securityTokens = \random_bytes(SocketConnector::SECURITY_TOKEN_SIZE * 6); + $written = \fwrite($pipes[0], $securityTokens . "\x00" . $command . "\x00"); + \fclose($pipes[0]); + \fclose($pipes[1]); + if ($written !== SocketConnector::SECURITY_TOKEN_SIZE * 6 + \strlen($command) + 2) { + \fclose($pipes[2]); + \proc_close($handle->proc); + throw new ProcessException("Could not send security tokens / command to process wrapper"); + } + $handle->securityTokens = \str_split($securityTokens, SocketConnector::SECURITY_TOKEN_SIZE); + $handle->wrapperPid = $status['pid']; + $handle->wrapperStderrPipe = $pipes[2]; + $stdinDeferred = new Deferred(); + $handle->stdioDeferreds[] = $stdinDeferred; + $handle->stdin = new ProcessOutputStream($stdinDeferred->promise()); + $stdoutDeferred = new Deferred(); + $handle->stdioDeferreds[] = $stdoutDeferred; + $handle->stdout = new ProcessInputStream($stdoutDeferred->promise()); + $stderrDeferred = new Deferred(); + $handle->stdioDeferreds[] = $stderrDeferred; + $handle->stderr = new ProcessInputStream($stderrDeferred->promise()); + $this->socketConnector->registerPendingProcess($handle); + $phabelReturn = $handle; + if (!$phabelReturn instanceof ProcessHandle) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProcessHandle, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** @inheritdoc */ + public function join(ProcessHandle $handle) + { + /** @var Handle $handle */ + $handle->exitCodeRequested = \true; + if ($handle->exitCodeWatcher !== null) { + Loop::reference($handle->exitCodeWatcher); + } + $phabelReturn = $handle->joinDeferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** @inheritdoc */ + public function kill(ProcessHandle $handle) + { + /** @var Handle $handle */ + \exec('taskkill /F /T /PID ' . $handle->wrapperPid . ' 2>&1', $output, $exitCode); + if ($exitCode) { + throw new ProcessException("Terminating process failed"); + } + $failStart = \false; + if ($handle->childPidWatcher !== null) { + Loop::cancel($handle->childPidWatcher); + $handle->childPidWatcher = null; + $handle->pidDeferred->fail(new ProcessException("The process was killed")); + $failStart = \true; + } + if ($handle->exitCodeWatcher !== null) { + Loop::cancel($handle->exitCodeWatcher); + $handle->exitCodeWatcher = null; + $handle->joinDeferred->fail(new ProcessException("The process was killed")); + } + $handle->status = ProcessStatus::ENDED; + if ($failStart || $handle->stdioDeferreds) { + $this->socketConnector->failHandleStart($handle, "The process was killed"); + } + $this->free($handle); + } + /** @inheritdoc */ + public function signal(ProcessHandle $handle, $signo) + { + if (!\is_int($signo)) { + if (!(\is_bool($signo) || \is_numeric($signo))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($signo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signo = (int) $signo; + } + } + throw new ProcessException('Signals are not supported on Windows'); + } + /** @inheritdoc */ + public function destroy(ProcessHandle $handle) + { + /** @var Handle $handle */ + if ($handle->status < ProcessStatus::ENDED && \is_resource($handle->proc)) { + try { + $this->kill($handle); + return; + } catch (ProcessException $e) { + // ignore + } + } + $this->free($handle); + } + private function free(Handle $handle) + { + if ($handle->childPidWatcher !== null) { + Loop::cancel($handle->childPidWatcher); + $handle->childPidWatcher = null; + } + if ($handle->exitCodeWatcher !== null) { + Loop::cancel($handle->exitCodeWatcher); + $handle->exitCodeWatcher = null; + } + $handle->stdin->close(); + $handle->stdout->close(); + $handle->stderr->close(); + foreach ($handle->sockets as $socket) { + if (\is_resource($socket)) { + @\fclose($socket); + } + } + if (\is_resource($handle->wrapperStderrPipe)) { + @\fclose($handle->wrapperStderrPipe); + } + if (\is_resource($handle->proc)) { + \proc_close($handle->proc); + } + } +} diff --git a/vendor-bundle/amphp/process/lib/Internal/Windows/SignalCode.php b/vendor-bundle/amphp/process/lib/Internal/Windows/SignalCode.php new file mode 100644 index 000000000..765ea7da9 --- /dev/null +++ b/vendor-bundle/amphp/process/lib/Internal/Windows/SignalCode.php @@ -0,0 +1,19 @@ +server = \stream_socket_server(self::SERVER_SOCKET_URI, $errNo, $errStr, $flags); + if (!$this->server) { + throw new \Error("Failed to create TCP server socket for process wrapper: {$errNo}: {$errStr}"); + } + if (!\stream_set_blocking($this->server, \false)) { + throw new \Error("Failed to set server socket to non-blocking mode"); + } + list($this->address, $this->port) = \explode(':', \stream_socket_get_name($this->server, \false)); + $this->port = (int) $this->port; + Loop::unreference(Loop::onReadable($this->server, [$this, 'onServerSocketReadable'])); + } + private function failClientHandshake($socket, $code) + { + if (!\is_int($code)) { + if (!(\is_bool($code) || \is_numeric($code))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($code) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (int) $code; + } + } + \fwrite($socket, \chr(SignalCode::HANDSHAKE_ACK) . \chr($code)); + \fclose($socket); + unset($this->pendingClients[(int) $socket]); + } + public function failHandleStart(Handle $handle, $message, ...$args) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + Loop::cancel($handle->connectTimeoutWatcher); + unset($this->pendingProcesses[$handle->wrapperPid]); + foreach ($handle->sockets as $socket) { + \fclose($socket); + } + $error = new ProcessException(\vsprintf($message, $args)); + $deferreds = $handle->stdioDeferreds; + $deferreds[] = $handle->joinDeferred; + $handle->stdioDeferreds = []; + foreach ($deferreds as $deferred) { + $deferred->fail($error); + } + } + /** + * Read data from a client socket. + * + * This method cleans up internal state as appropriate. Returns null if the read fails or needs to be repeated. + * + * @param resource $socket + * @param int $length + * @param PendingSocketClient $state + * + * @return string|null + */ + private function readDataFromPendingClient($socket, $length, PendingSocketClient $state) + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + $data = \fread($socket, $length); + if ($data === \false || $data === '') { + return null; + } + $data = $state->receivedDataBuffer . $data; + if (\strlen($data) < $length) { + $state->receivedDataBuffer = $data; + return null; + } + $state->receivedDataBuffer = ''; + Loop::cancel($state->readWatcher); + return $data; + } + public function onReadableHandshake($watcher, $socket) + { + $socketId = (int) $socket; + $pendingClient = $this->pendingClients[$socketId]; + if (null === ($data = $this->readDataFromPendingClient($socket, self::SECURITY_TOKEN_SIZE + 6, $pendingClient))) { + return; + } + $packet = \unpack('Csignal/Npid/Cstream_id/a*client_token', $data); + // validate the client's handshake + if ($packet['signal'] !== SignalCode::HANDSHAKE) { + $this->failClientHandshake($socket, HandshakeStatus::SIGNAL_UNEXPECTED); + return; + } + if ($packet['stream_id'] > 2) { + $this->failClientHandshake($socket, HandshakeStatus::INVALID_STREAM_ID); + return; + } + if (!isset($this->pendingProcesses[$packet['pid']])) { + $this->failClientHandshake($socket, HandshakeStatus::INVALID_PROCESS_ID); + return; + } + $handle = $this->pendingProcesses[$packet['pid']]; + if (isset($handle->sockets[$packet['stream_id']])) { + $this->failClientHandshake($socket, HandshakeStatus::DUPLICATE_STREAM_ID); + \trigger_error(\sprintf("%s: Received duplicate socket for process #%s stream #%d", self::class, $handle->pid, $packet['stream_id']), \E_USER_WARNING); + return; + } + if (!\hash_equals($packet['client_token'], $handle->securityTokens[$packet['stream_id']])) { + $this->failClientHandshake($socket, HandshakeStatus::INVALID_CLIENT_TOKEN); + $this->failHandleStart($handle, "Invalid client security token for stream #%d", $packet['stream_id']); + return; + } + $ackData = \chr(SignalCode::HANDSHAKE_ACK) . \chr(HandshakeStatus::SUCCESS) . $handle->securityTokens[$packet['stream_id'] + 3]; + // Unless we set the security token size so high that it won't fit in the + // buffer, this probably shouldn't ever happen unless something has gone wrong + if (\fwrite($socket, $ackData) !== self::SECURITY_TOKEN_SIZE + 2) { + unset($this->pendingClients[$socketId]); + return; + } + $pendingClient->pid = $packet['pid']; + $pendingClient->streamId = $packet['stream_id']; + $pendingClient->readWatcher = Loop::onReadable($socket, [$this, 'onReadableHandshakeAck']); + } + public function onReadableHandshakeAck($watcher, $socket) + { + $socketId = (int) $socket; + $pendingClient = $this->pendingClients[$socketId]; + // can happen if the start promise was failed + if (!isset($this->pendingProcesses[$pendingClient->pid]) || $this->pendingProcesses[$pendingClient->pid]->status === ProcessStatus::ENDED) { + \fclose($socket); + Loop::cancel($watcher); + Loop::cancel($pendingClient->timeoutWatcher); + unset($this->pendingClients[$socketId]); + return; + } + if (null === ($data = $this->readDataFromPendingClient($socket, 2, $pendingClient))) { + return; + } + Loop::cancel($pendingClient->timeoutWatcher); + unset($this->pendingClients[$socketId]); + $handle = $this->pendingProcesses[$pendingClient->pid]; + $packet = \unpack('Csignal/Cstatus', $data); + if ($packet['signal'] !== SignalCode::HANDSHAKE_ACK || $packet['status'] !== HandshakeStatus::SUCCESS) { + $this->failHandleStart($handle, "Client rejected handshake with code %d for stream #%d", $packet['status'], $pendingClient->streamId); + return; + } + $handle->sockets[$pendingClient->streamId] = $socket; + if (\count($handle->sockets) === 3) { + $handle->childPidWatcher = Loop::onReadable($handle->sockets[0], [$this, 'onReadableChildPid'], $handle); + $deferreds = $handle->stdioDeferreds; + $handle->stdioDeferreds = []; + // clear, so there's no double resolution if process spawn fails + $deferreds[0]->resolve(new ResourceOutputStream($handle->sockets[0])); + $deferreds[1]->resolve(new ResourceInputStream($handle->sockets[1])); + $deferreds[2]->resolve(new ResourceInputStream($handle->sockets[2])); + } + } + public function onReadableChildPid($watcher, $socket, Handle $handle) + { + $data = \fread($socket, 5); + if ($data === \false || $data === '') { + return; + } + Loop::cancel($handle->childPidWatcher); + Loop::cancel($handle->connectTimeoutWatcher); + $handle->childPidWatcher = null; + if (\strlen($data) !== 5) { + $this->failHandleStart($handle, 'Failed to read PID from wrapper: Received %d of 5 expected bytes', \strlen($data)); + return; + } + $packet = \unpack('Csignal/Npid', $data); + if ($packet['signal'] !== SignalCode::CHILD_PID) { + $this->failHandleStart($handle, "Failed to read PID from wrapper: Unexpected signal code %d", $packet['signal']); + return; + } + // Required, because a process might be destroyed while starting + if ($handle->status === ProcessStatus::STARTING) { + $handle->status = ProcessStatus::RUNNING; + $handle->exitCodeWatcher = Loop::onReadable($handle->sockets[0], [$this, 'onReadableExitCode'], $handle); + if (!$handle->exitCodeRequested) { + Loop::unreference($handle->exitCodeWatcher); + } + } + $handle->pidDeferred->resolve($packet['pid']); + unset($this->pendingProcesses[$handle->wrapperPid]); + } + public function onReadableExitCode($watcher, $socket, Handle $handle) + { + $data = \fread($socket, 5); + if ($data === \false || $data === '') { + return; + } + Loop::cancel($handle->exitCodeWatcher); + $handle->exitCodeWatcher = null; + if (\strlen($data) !== 5) { + $handle->status = ProcessStatus::ENDED; + $handle->joinDeferred->fail(new ProcessException(\sprintf('Failed to read exit code from wrapper: Received %d of 5 expected bytes', \strlen($data)))); + return; + } + $packet = \unpack('Csignal/Ncode', $data); + if ($packet['signal'] !== SignalCode::EXIT_CODE) { + $this->failHandleStart($handle, "Failed to read exit code from wrapper: Unexpected signal code %d", $packet['signal']); + return; + } + $handle->status = ProcessStatus::ENDED; + $handle->joinDeferred->resolve($packet['code']); + $handle->stdin->close(); + $handle->stdout->close(); + $handle->stderr->close(); + // Explicitly \fclose() sockets, as resource streams shut only one side down. + foreach ($handle->sockets as $sock) { + // Ensure socket is still open before attempting to close. + if (\is_resource($sock)) { + @\fclose($sock); + } + } + } + public function onClientSocketConnectTimeout($watcher, $socket) + { + $id = (int) $socket; + Loop::cancel($this->pendingClients[$id]->readWatcher); + unset($this->pendingClients[$id]); + \fclose($socket); + } + public function onServerSocketReadable() + { + $socket = \stream_socket_accept($this->server); + if (!\stream_set_blocking($socket, \false)) { + throw new \Error("Failed to set client socket to non-blocking mode"); + } + $pendingClient = new PendingSocketClient(); + $pendingClient->readWatcher = Loop::onReadable($socket, [$this, 'onReadableHandshake']); + $pendingClient->timeoutWatcher = Loop::delay(self::CONNECT_TIMEOUT, [$this, 'onClientSocketConnectTimeout'], $socket); + $this->pendingClients[(int) $socket] = $pendingClient; + } + public function onProcessConnectTimeout($watcher, Handle $handle) + { + $running = \is_resource($handle->proc) && \proc_get_status($handle->proc)['running']; + $error = null; + if (!$running) { + $error = \stream_get_contents($handle->wrapperStderrPipe); + } + $error = $error ?: 'Process did not connect to server before timeout elapsed'; + foreach ($handle->sockets as $socket) { + \fclose($socket); + } + $error = new ProcessException(\trim($error)); + foreach ($handle->stdioDeferreds as $deferred) { + $deferred->fail($error); + } + \fclose($handle->wrapperStderrPipe); + \proc_close($handle->proc); + $handle->joinDeferred->fail($error); + } + public function registerPendingProcess(Handle $handle) + { + // Use Loop::defer() to start the timeout only after the loop has ticked once. This prevents issues with many + // things started at once, see https://github.com/amphp/process/issues/21. + $handle->connectTimeoutWatcher = Loop::defer(function () use($handle) { + $handle->connectTimeoutWatcher = Loop::delay(self::CONNECT_TIMEOUT, [$this, 'onProcessConnectTimeout'], $handle); + }); + $this->pendingProcesses[$handle->wrapperPid] = $handle; + } +} diff --git a/vendor-bundle/amphp/process/lib/Process.php b/vendor-bundle/amphp/process/lib/Process.php new file mode 100644 index 000000000..6aa360cc9 --- /dev/null +++ b/vendor-bundle/amphp/process/lib/Process.php @@ -0,0 +1,321 @@ + $value) { + if (\is_array($value)) { + throw new \Error("\$env cannot accept array values"); + } + $envVars[(string) $key] = (string) $value; + } + $this->command = $command; + $this->cwd = $cwd; + $this->env = $envVars; + $this->options = $options; + $this->processRunner = Loop::getState(self::class); + if ($this->processRunner === null) { + $this->processRunner = IS_WINDOWS ? new WindowsProcessRunner() : new PosixProcessRunner(); + Loop::setState(self::class, $this->processRunner); + } + } + /** + * Stops the process if it is still running. + */ + public function __destruct() + { + if ($this->handle !== null) { + $this->processRunner->destroy($this->handle); + } + } + public function __clone() + { + throw new \Error("Cloning is not allowed!"); + } + /** + * Start the process. + * + * @return Promise Resolves with the PID. + * + * @throws StatusError If the process has already been started. + */ + public function start() + { + if ($this->handle) { + throw new StatusError("Process has already been started."); + } + $phabelReturn = call(function () { + $this->handle = $this->processRunner->start($this->command, $this->cwd, $this->env, $this->options); + return $this->pid = (yield $this->handle->pidDeferred->promise()); + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Wait for the process to end. + * + * @return Promise Succeeds with process exit code or fails with a ProcessException if the process is killed. + * + * @throws StatusError If the process has already been started. + */ + public function join() + { + if (!$this->handle) { + throw new StatusError("Process has not been started."); + } + $phabelReturn = $this->processRunner->join($this->handle); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Forcibly end the process. + * + * @throws StatusError If the process is not running. + * @throws ProcessException If terminating the process fails. + */ + public function kill() + { + if (!$this->isRunning()) { + throw new StatusError("Process is not running."); + } + $this->processRunner->kill($this->handle); + } + /** + * Send a signal signal to the process. + * + * @param int $signo Signal number to send to process. + * + * @throws StatusError If the process is not running. + * @throws ProcessException If sending the signal fails. + */ + public function signal($signo) + { + if (!\is_int($signo)) { + if (!(\is_bool($signo) || \is_numeric($signo))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signo) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signo) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signo = (int) $signo; + } + } + if (!$this->isRunning()) { + throw new StatusError("Process is not running."); + } + $this->processRunner->signal($this->handle, $signo); + } + /** + * Returns the PID of the child process. + * + * @return int + * + * @throws StatusError If the process has not started or has not completed starting. + */ + public function getPid() + { + if (!$this->pid) { + throw new StatusError("Process has not been started or has not completed starting."); + } + $phabelReturn = $this->pid; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns the command to execute. + * + * @return string The command to execute. + */ + public function getCommand() + { + $phabelReturn = $this->command; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the current working directory. + * + * @return string The current working directory an empty string if inherited from the current PHP process. + */ + public function getWorkingDirectory() + { + if ($this->cwd === "") { + $phabelReturn = \getcwd() ?: ""; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $this->cwd; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the environment variables array. + * + * @return string[] Array of environment variables. + */ + public function getEnv() + { + $phabelReturn = $this->env; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets the options to pass to proc_open(). + * + * @return mixed[] Array of options. + */ + public function getOptions() + { + $phabelReturn = $this->options; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Determines if the process is still running. + * + * @return bool + */ + public function isRunning() + { + $phabelReturn = $this->handle && $this->handle->status !== ProcessStatus::ENDED; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the process input stream (STDIN). + * + * @return ProcessOutputStream + */ + public function getStdin() + { + if (!$this->handle || $this->handle->status === ProcessStatus::STARTING) { + throw new StatusError("Process has not been started or has not completed starting."); + } + $phabelReturn = $this->handle->stdin; + if (!$phabelReturn instanceof ProcessOutputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProcessOutputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets the process output stream (STDOUT). + * + * @return ProcessInputStream + */ + public function getStdout() + { + if (!$this->handle || $this->handle->status === ProcessStatus::STARTING) { + throw new StatusError("Process has not been started or has not completed starting."); + } + $phabelReturn = $this->handle->stdout; + if (!$phabelReturn instanceof ProcessInputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProcessInputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets the process error stream (STDERR). + * + * @return ProcessInputStream + */ + public function getStderr() + { + if (!$this->handle || $this->handle->status === ProcessStatus::STARTING) { + throw new StatusError("Process has not been started or has not completed starting."); + } + $phabelReturn = $this->handle->stderr; + if (!$phabelReturn instanceof ProcessInputStream) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProcessInputStream, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function __debugInfo() + { + $phabelReturn = ['command' => $this->getCommand(), 'cwd' => $this->getWorkingDirectory(), 'env' => $this->getEnv(), 'options' => $this->getOptions(), 'pid' => $this->pid, 'status' => $this->handle ? $this->handle->status : -1]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/process/lib/ProcessException.php b/vendor-bundle/amphp/process/lib/ProcessException.php new file mode 100644 index 000000000..bd4c6e9f5 --- /dev/null +++ b/vendor-bundle/amphp/process/lib/ProcessException.php @@ -0,0 +1,7 @@ +onResolve(function ($error, $resourceStream) { + if ($error) { + $this->error = new StreamException("Failed to launch process", 0, $error); + if ($this->initialRead) { + $initialRead = $this->initialRead; + $this->initialRead = null; + $initialRead->fail($this->error); + } + return; + } + $this->resourceStream = $resourceStream; + if (!$this->referenced) { + $this->resourceStream->unreference(); + } + if ($this->shouldClose) { + $this->resourceStream->close(); + } + if ($this->initialRead) { + $initialRead = $this->initialRead; + $this->initialRead = null; + $initialRead->resolve($this->shouldClose ? null : $this->resourceStream->read()); + } + }); + } + /** + * Reads data from the stream. + * + * @return Promise Resolves with a string when new data is available or `null` if the stream has closed. + * + * @throws PendingReadError Thrown if another read operation is still pending. + */ + public function read() + { + if ($this->initialRead) { + throw new PendingReadError(); + } + if ($this->error) { + $phabelReturn = new Failure($this->error); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->resourceStream) { + $phabelReturn = $this->resourceStream->read(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->shouldClose) { + $phabelReturn = new Success(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + // Resolve reads on closed streams with null. + } + $this->initialRead = new Deferred(); + $phabelReturn = $this->initialRead->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function reference() + { + $this->referenced = \true; + if ($this->resourceStream) { + $this->resourceStream->reference(); + } + } + public function unreference() + { + $this->referenced = \false; + if ($this->resourceStream) { + $this->resourceStream->unreference(); + } + } + public function close() + { + $this->shouldClose = \true; + if ($this->initialRead) { + $initialRead = $this->initialRead; + $this->initialRead = null; + $initialRead->resolve(); + } + if ($this->resourceStream) { + $this->resourceStream->close(); + } + } +} diff --git a/vendor-bundle/amphp/process/lib/ProcessOutputStream.php b/vendor-bundle/amphp/process/lib/ProcessOutputStream.php new file mode 100644 index 000000000..1f93ce9e6 --- /dev/null +++ b/vendor-bundle/amphp/process/lib/ProcessOutputStream.php @@ -0,0 +1,132 @@ +queuedWrites = new \SplQueue(); + $resourceStreamPromise->onResolve(function ($error, $resourceStream) { + if ($error) { + $this->error = new StreamException("Failed to launch process", 0, $error); + while (!$this->queuedWrites->isEmpty()) { + list(, $deferred) = $this->queuedWrites->shift(); + $deferred->fail($this->error); + } + return; + } + while (!$this->queuedWrites->isEmpty()) { + /** + * @var string $data + * @var \Amp\Deferred $deferred + */ + list($data, $deferred) = $this->queuedWrites->shift(); + $deferred->resolve($resourceStream->write($data)); + } + $this->resourceStream = $resourceStream; + if ($this->shouldClose) { + $this->resourceStream->close(); + } + }); + } + /** @inheritdoc */ + public function write($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + if ($this->resourceStream) { + $phabelReturn = $this->resourceStream->write($data); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->error) { + $phabelReturn = new Failure($this->error); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->shouldClose) { + throw new ClosedException("Stream has already been closed."); + } + $deferred = new Deferred(); + $this->queuedWrites->push([$data, $deferred]); + $phabelReturn = $deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** @inheritdoc */ + public function end($finalData = "") + { + if (!\is_string($finalData)) { + if (!(\is_string($finalData) || \is_object($finalData) && \method_exists($finalData, '__toString') || (\is_bool($finalData) || \is_numeric($finalData)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($finalData) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($finalData) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $finalData = (string) $finalData; + } + } + if ($this->resourceStream) { + $phabelReturn = $this->resourceStream->end($finalData); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->error) { + $phabelReturn = new Failure($this->error); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->shouldClose) { + throw new ClosedException("Stream has already been closed."); + } + $deferred = new Deferred(); + $this->queuedWrites->push([$finalData, $deferred]); + $this->shouldClose = \true; + $phabelReturn = $deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function close() + { + $this->shouldClose = \true; + if ($this->resourceStream) { + $this->resourceStream->close(); + } elseif (!$this->queuedWrites->isEmpty()) { + $error = new ClosedException("Stream closed."); + do { + list(, $deferred) = $this->queuedWrites->shift(); + $deferred->fail($error); + } while (!$this->queuedWrites->isEmpty()); + } + } +} diff --git a/vendor-bundle/amphp/process/lib/StatusError.php b/vendor-bundle/amphp/process/lib/StatusError.php new file mode 100644 index 000000000..4570392ae --- /dev/null +++ b/vendor-bundle/amphp/process/lib/StatusError.php @@ -0,0 +1,7 @@ +serializer = $serializer; + } + public function serialize($data) + { + $serializedData = $this->serializer->serialize($data); + $flags = 0; + if (\strlen($serializedData) > self::COMPRESSION_THRESHOLD) { + $serializedData = @\gzdeflate($serializedData, 1); + if ($serializedData === \false) { + $error = \error_get_last(); + throw new SerializationException('Could not compress data: ' . (isset($error['message']) ? $error['message'] : 'unknown error')); + } + $flags |= self::FLAG_COMPRESSED; + } + $phabelReturn = \chr($flags & 0xff) . $serializedData; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function unserialize($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + $firstByte = \ord($data[0]); + $data = \substr($data, 1); + if ($firstByte & self::FLAG_COMPRESSED) { + $data = @\gzinflate($data); + if ($data === \false) { + $error = \error_get_last(); + throw new SerializationException('Could not decompress data: ' . (isset($error['message']) ? $error['message'] : 'unknown error')); + } + } + return $this->serializer->unserialize($data); + } +} diff --git a/vendor-bundle/amphp/serialization/src/JsonSerializer.php b/vendor-bundle/amphp/serialization/src/JsonSerializer.php new file mode 100644 index 000000000..9e699a9b2 --- /dev/null +++ b/vendor-bundle/amphp/serialization/src/JsonSerializer.php @@ -0,0 +1,165 @@ +associative = $associative; + $this->depth = $depth; + // We don't want to throw on errors, we manually check for errors using json_last_error(). + $this->encodeOptions = $encodeOptions & ~self::THROW_ON_ERROR; + $this->decodeOptions = $decodeOptions & ~self::THROW_ON_ERROR; + } + public function serialize($data) + { + $result = \json_encode($data, $this->encodeOptions, $this->depth); + switch ($code = \json_last_error()) { + case \JSON_ERROR_NONE: + $phabelReturn = $result; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + default: + throw new SerializationException(\json_last_error_msg(), $code); + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + public function unserialize($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + $result = \json_decode($data, $this->associative, $this->depth, $this->decodeOptions); + switch ($code = \json_last_error()) { + case \JSON_ERROR_NONE: + return $result; + default: + throw new SerializationException(\json_last_error_msg(), $code); + } + } +} diff --git a/vendor-bundle/amphp/serialization/src/NativeSerializer.php b/vendor-bundle/amphp/serialization/src/NativeSerializer.php new file mode 100644 index 000000000..2230cbd37 --- /dev/null +++ b/vendor-bundle/amphp/serialization/src/NativeSerializer.php @@ -0,0 +1,59 @@ +allowedClasses = $allowedClasses; + } + public function serialize($data) + { + try { + $phabelReturn = \serialize($data); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } catch (\Exception $exception) { + throw new SerializationException(\sprintf('The given data could not be serialized: %s', $exception->getMessage()), 0, $exception); + } catch (\Error $exception) { + throw new SerializationException(\sprintf('The given data could not be serialized: %s', $exception->getMessage()), 0, $exception); + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + public function unserialize($data) + { + if (!\is_string($data)) { + if (!(\is_string($data) || \is_object($data) && \method_exists($data, '__toString') || (\is_bool($data) || \is_numeric($data)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($data) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($data) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $data = (string) $data; + } + } + try { + $result = \unserialize($data, ['allowed_classes' => isset($this->allowedClasses) ? $this->allowedClasses : \true]); + if ($result === \false && $data !== \serialize(\false)) { + throw new SerializationException('Invalid data provided to unserialize: ' . encodeUnprintableChars($data)); + } + } catch (\Exception $exception) { + throw new SerializationException('Exception thrown when unserializing data', 0, $exception); + } catch (\Error $exception) { + throw new SerializationException('Exception thrown when unserializing data', 0, $exception); + } + return $result; + } +} diff --git a/vendor-bundle/amphp/serialization/src/PassthroughSerializer.php b/vendor-bundle/amphp/serialization/src/PassthroughSerializer.php new file mode 100644 index 000000000..7b88eb2cd --- /dev/null +++ b/vendor-bundle/amphp/serialization/src/PassthroughSerializer.php @@ -0,0 +1,41 @@ +arrive(); + * $barrier->arrive(); // promise returned from Barrier::await() is now resolved + * + * yield $barrier->await(); + * ``` + */ +final class Barrier +{ + /** @var int */ + private $count; + /** @var Deferred */ + private $deferred; + public function __construct($count) + { + if (!\is_int($count)) { + if (!(\is_bool($count) || \is_numeric($count))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($count) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($count) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $count = (int) $count; + } + } + if ($count < 1) { + throw new \Error('Count must be positive, got ' . $count); + } + $this->count = $count; + $this->deferred = new Deferred(); + } + public function getCount() + { + $phabelReturn = $this->count; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + public function arrive($count = 1) + { + if (!\is_int($count)) { + if (!(\is_bool($count) || \is_numeric($count))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($count) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($count) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $count = (int) $count; + } + } + if ($count < 1) { + throw new \Error('Count must be at least 1, got ' . $count); + } + if ($count > $this->count) { + throw new \Error('Count cannot be greater than remaining count: ' . $count . ' > ' . $this->count); + } + $this->count -= $count; + if ($this->count === 0) { + $this->deferred->resolve(); + } + } + public function register($count = 1) + { + if (!\is_int($count)) { + if (!(\is_bool($count) || \is_numeric($count))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($count) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($count) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $count = (int) $count; + } + } + if ($count < 1) { + throw new \Error('Count must be at least 1, got ' . $count); + } + if ($this->count === 0) { + throw new \Error('Can\'t increase count, because the barrier already broke'); + } + $this->count += $count; + } + public function await() + { + $phabelReturn = $this->deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/ConcurrentIterator/functions.php b/vendor-bundle/amphp/sync/src/ConcurrentIterator/functions.php new file mode 100644 index 000000000..c551718e3 --- /dev/null +++ b/vendor-bundle/amphp/sync/src/ConcurrentIterator/functions.php @@ -0,0 +1,165 @@ +getId()]); + $lock->release(); + $barrier->arrive(); + } + }; + while ((yield $iterator->advance())) { + if ($error) { + break; + } + /** @var Lock $lock */ + $lock = (yield $semaphore->acquire()); + if ($gc || isset($locks[$lock->getId()])) { + // Throwing here causes a segfault on PHP 7.3 + return; + // throw new CancelledException; // producer and locks have been GCed + } + $locks[$lock->getId()] = \true; + $barrier->register(); + asyncCall($processor, $lock, $iterator->getCurrent()); + } + $barrier->arrive(); + // remove dummy item + (yield $barrier->await()); + if ($error) { + throw $error; + } + }); + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Concurrently map all iterator values using {@code $processor}. + * + * The order of the items in the resulting iterator is not guaranteed in any way. + * + * @param Iterator $iterator Values to map. + * @param Semaphore $semaphore Semaphore limiting the concurrency, e.g. {@code LocalSemaphore} + * @param callable $processor Processing callable, which is run as coroutine. It should not throw any errors, + * otherwise the entire operation is aborted. + * + * @return Iterator Mapped values. + */ +function map(Iterator $iterator, Semaphore $semaphore, callable $processor) +{ + $processor = coroutine($processor); + $phabelReturn = transform($iterator, $semaphore, static function ($value, callable $emit) use($processor) { + $value = (yield $processor($value)); + (yield $emit($value)); + }); + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Concurrently filter all iterator values using {@code $filter}. + * + * The order of the items in the resulting iterator is not guaranteed in any way. + * + * @param Iterator $iterator Values to map. + * @param Semaphore $semaphore Semaphore limiting the concurrency, e.g. {@code LocalSemaphore} + * @param callable $filter Processing callable, which is run as coroutine. It should not throw any errors, + * otherwise the entire operation is aborted. Must resolve to a boolean, true to keep values in the resulting + * iterator. + * + * @return Iterator Values, where {@code $filter} resolved to {@code true}. + */ +function filter(Iterator $iterator, Semaphore $semaphore, callable $filter) +{ + $filter = coroutine($filter); + $phabelReturn = transform($iterator, $semaphore, static function ($value, callable $emit) use($filter) { + $keep = (yield $filter($value)); + if (!\is_bool($keep)) { + throw new \TypeError(__NAMESPACE__ . '\\filter\'s callable must resolve to a boolean value, got ' . \gettype($keep)); + } + if ($keep) { + (yield $emit($value)); + } + }); + if (!$phabelReturn instanceof Iterator) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Iterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} +/** + * Concurrently invoke a callback on all iterator values using {@code $processor}. + * + * @param Iterator $iterator Values to act on. + * @param Semaphore $semaphore Semaphore limiting the concurrency, e.g. {@code LocalSemaphore} + * @param callable $processor Processing callable, which is run as coroutine. It should not throw any errors, + * otherwise the entire operation is aborted. + * + * @return Promise + */ +function each(Iterator $iterator, Semaphore $semaphore, callable $processor) +{ + $processor = coroutine($processor); + $iterator = transform($iterator, $semaphore, static function ($value, callable $emit) use($processor) { + (yield $processor($value)); + (yield $emit(null)); + }); + $phabelReturn = call(static function () use($iterator) { + $count = 0; + while ((yield $iterator->advance())) { + $count++; + } + return $count; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // Use Amp\Iterator\discard in the future + return $phabelReturn; +} diff --git a/vendor-bundle/amphp/sync/src/FileMutex.php b/vendor-bundle/amphp/sync/src/FileMutex.php new file mode 100644 index 000000000..28617ab25 --- /dev/null +++ b/vendor-bundle/amphp/sync/src/FileMutex.php @@ -0,0 +1,84 @@ +fileName = $fileName; + } + /** + * {@inheritdoc} + */ + public function acquire() + { + $phabelReturn = new Coroutine($this->doAcquire()); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @coroutine + * + * @return \Generator + */ + private function doAcquire() + { + // Try to create the lock file. If the file already exists, someone else + // has the lock, so set an asynchronous timer and try again. + while (($handle = @\fopen($this->fileName, 'x')) === \false) { + (yield new Delayed(self::LATENCY_TIMEOUT)); + } + // Return a lock object that can be used to release the lock on the mutex. + $lock = new Lock(0, function () { + $this->release(); + }); + \fclose($handle); + return $lock; + } + /** + * Releases the lock on the mutex. + * + * @throws SyncException If the unlock operation failed. + */ + protected function release() + { + $success = @\unlink($this->fileName); + if (!$success) { + throw new SyncException('Failed to unlock the mutex file.'); + } + } +} diff --git a/vendor-bundle/amphp/sync/src/Internal/MutexStorage.php b/vendor-bundle/amphp/sync/src/Internal/MutexStorage.php new file mode 100644 index 000000000..528d0558e --- /dev/null +++ b/vendor-bundle/amphp/sync/src/Internal/MutexStorage.php @@ -0,0 +1,53 @@ +locked) { + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $this->locked = \true; + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + }; + while ($this->locked || $this->synchronized($tsl)) { + (yield new Delayed(self::LATENCY_TIMEOUT)); + } + return new Lock(0, function () { + $this->locked = \false; + }); + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/Internal/SemaphoreStorage.php b/vendor-bundle/amphp/sync/src/Internal/SemaphoreStorage.php new file mode 100644 index 000000000..25bb534bc --- /dev/null +++ b/vendor-bundle/amphp/sync/src/Internal/SemaphoreStorage.php @@ -0,0 +1,86 @@ +count()) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + $phabelReturn = $this->shift(); + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + }; + while (!$this->count() || ($id = $this->synchronized($tsl)) === null) { + (yield new Delayed(self::LATENCY_TIMEOUT)); + } + return new Lock($id, function (Lock $lock) { + $id = $lock->getId(); + $this->synchronized(function () use($id) { + $this[] = $id; + }); + }); + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Uses a double locking mechanism to acquire a lock without blocking. A + * synchronous mutex is used to make sure that the semaphore is queried one + * at a time to preserve the integrity of the semaphore itself. Then a lock + * count is used to check if a lock is available without blocking. + * + * If a lock is not available, we add the request to a queue and set a timer + * to check again in the future. + */ + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/KeyedMutex.php b/vendor-bundle/amphp/sync/src/KeyedMutex.php new file mode 100644 index 000000000..a578d8193 --- /dev/null +++ b/vendor-bundle/amphp/sync/src/KeyedMutex.php @@ -0,0 +1,14 @@ +mutex[$key])) { + $this->mutex[$key] = new LocalMutex(); + $this->locks[$key] = 0; + } + $phabelReturn = call(function () use($key) { + $this->locks[$key]++; + /** @var Lock $lock */ + $lock = (yield $this->mutex[$key]->acquire()); + return new Lock(0, function () use($lock, $key) { + if (--$this->locks[$key] === 0) { + unset($this->mutex[$key], $this->locks[$key]); + } + $lock->release(); + }); + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/LocalKeyedSemaphore.php b/vendor-bundle/amphp/sync/src/LocalKeyedSemaphore.php new file mode 100644 index 000000000..e559f1186 --- /dev/null +++ b/vendor-bundle/amphp/sync/src/LocalKeyedSemaphore.php @@ -0,0 +1,55 @@ +maxLocks = $maxLocks; + } + public function acquire($key) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + if (!isset($this->semaphore[$key])) { + $this->semaphore[$key] = new LocalSemaphore($this->maxLocks); + $this->locks[$key] = 0; + } + $phabelReturn = call(function () use($key) { + $this->locks[$key]++; + /** @var Lock $lock */ + $lock = (yield $this->semaphore[$key]->acquire()); + return new Lock(0, function () use($lock, $key) { + if (--$this->locks[$key] === 0) { + unset($this->semaphore[$key], $this->locks[$key]); + } + $lock->release(); + }); + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/LocalMutex.php b/vendor-bundle/amphp/sync/src/LocalMutex.php new file mode 100644 index 000000000..6013eeb4b --- /dev/null +++ b/vendor-bundle/amphp/sync/src/LocalMutex.php @@ -0,0 +1,44 @@ +locked) { + $this->locked = \true; + $phabelReturn = new Success(new Lock(0, \Phabel\Target\Php71\ClosureFromCallable::fromCallable([$this, 'release']))); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $this->queue[] = $deferred = new Deferred(); + $phabelReturn = $deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function release() + { + if (!empty($this->queue)) { + $deferred = \array_shift($this->queue); + $deferred->resolve(new Lock(0, \Phabel\Target\Php71\ClosureFromCallable::fromCallable([$this, 'release']))); + return; + } + $this->locked = \false; + } +} diff --git a/vendor-bundle/amphp/sync/src/LocalSemaphore.php b/vendor-bundle/amphp/sync/src/LocalSemaphore.php new file mode 100644 index 000000000..214eb53ea --- /dev/null +++ b/vendor-bundle/amphp/sync/src/LocalSemaphore.php @@ -0,0 +1,58 @@ +locks = \range(0, $maxLocks - 1); + } + /** {@inheritdoc} */ + public function acquire() + { + if (!empty($this->locks)) { + $phabelReturn = new Success(new Lock(\array_shift($this->locks), \Phabel\Target\Php71\ClosureFromCallable::fromCallable([$this, 'release']))); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $this->queue[] = $deferred = new Deferred(); + $phabelReturn = $deferred->promise(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function release(Lock $lock) + { + $id = $lock->getId(); + if (!empty($this->queue)) { + $deferred = \array_shift($this->queue); + $deferred->resolve(new Lock($id, \Phabel\Target\Php71\ClosureFromCallable::fromCallable([$this, 'release']))); + return; + } + $this->locks[] = $id; + } +} diff --git a/vendor-bundle/amphp/sync/src/Lock.php b/vendor-bundle/amphp/sync/src/Lock.php new file mode 100644 index 000000000..b705e45d2 --- /dev/null +++ b/vendor-bundle/amphp/sync/src/Lock.php @@ -0,0 +1,91 @@ +id = $id; + $this->releaser = $releaser; + } + /** + * Checks if the lock has already been released. + * + * @return bool True if the lock has already been released, otherwise false. + */ + public function isReleased() + { + $phabelReturn = !$this->releaser; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return int Lock identifier. + */ + public function getId() + { + $phabelReturn = $this->id; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Releases the lock. No-op if the lock has already been released. + */ + public function release() + { + if (!$this->releaser) { + return; + } + // Invoke the releaser function given to us by the synchronization source + // to release the lock. + $releaser = $this->releaser; + $this->releaser = null; + $releaser($this); + } + /** + * Releases the lock when there are no more references to it. + */ + public function __destruct() + { + if (!$this->isReleased()) { + $this->release(); + } + } +} diff --git a/vendor-bundle/amphp/sync/src/Mutex.php b/vendor-bundle/amphp/sync/src/Mutex.php new file mode 100644 index 000000000..15c963a1b --- /dev/null +++ b/vendor-bundle/amphp/sync/src/Mutex.php @@ -0,0 +1,14 @@ +init($maxLocks, $permissions); + $phabelReturn = $semaphore; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string $id The unique name of the semaphore to use. + * + * @return \Amp\Sync\PosixSemaphore + */ + public static function use_($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + $semaphore = new self($id); + $semaphore->open(); + $phabelReturn = $semaphore; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string $id + * + * @throws \Error If the sysvmsg extension is not loaded. + */ + private function __construct($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + if (!\extension_loaded("sysvmsg")) { + throw new \Error(__CLASS__ . " requires the sysvmsg extension."); + } + $this->id = $id; + $this->key = self::makeKey($this->id); + } + /** + * Private method to prevent cloning. + */ + private function __clone() + { + } + /** + * Private to prevent serialization. + */ + private function __sleep() + { + } + public function getId() + { + $phabelReturn = $this->id; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function open() + { + if (!\msg_queue_exists($this->key)) { + throw new SyncException('No semaphore with that ID found'); + } + $this->queue = \msg_get_queue($this->key); + if (!$this->queue) { + throw new SyncException('Failed to open the semaphore.'); + } + } + /** + * @param int $maxLocks The maximum number of locks that can be acquired from the semaphore. + * @param int $permissions Permissions to access the semaphore. + * + * @throws SyncException If the semaphore could not be created due to an internal error. + */ + private function init($maxLocks, $permissions) + { + if (!\is_int($maxLocks)) { + if (!(\is_bool($maxLocks) || \is_numeric($maxLocks))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($maxLocks) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($maxLocks) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $maxLocks = (int) $maxLocks; + } + } + if (!\is_int($permissions)) { + if (!(\is_bool($permissions) || \is_numeric($permissions))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($permissions) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($permissions) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $permissions = (int) $permissions; + } + } + if (\msg_queue_exists($this->key)) { + throw new SyncException('A semaphore with that ID already exists'); + } + $this->queue = \msg_get_queue($this->key, $permissions); + if (!$this->queue) { + throw new SyncException('Failed to create the semaphore.'); + } + $this->initializer = \getmypid(); + // Fill the semaphore with locks. + while (--$maxLocks >= 0) { + $this->release($maxLocks); + } + } + /** + * Gets the access permissions of the semaphore. + * + * @return int A permissions mode. + */ + public function getPermissions() + { + $stat = \msg_stat_queue($this->queue); + $phabelReturn = $stat['msg_perm.mode']; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Sets the access permissions of the semaphore. + * + * The current user must have access to the semaphore in order to change the permissions. + * + * @param int $mode A permissions mode to set. + * + * @throws SyncException If the operation failed. + */ + public function setPermissions($mode) + { + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($mode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mode = (int) $mode; + } + } + if (!\msg_set_queue($this->queue, ['msg_perm.mode' => $mode])) { + throw new SyncException('Failed to change the semaphore permissions.'); + } + } + public function acquire() + { + $phabelReturn = new Coroutine($this->doAcquire()); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + private function doAcquire() + { + do { + // Attempt to acquire a lock from the semaphore. + if (@\msg_receive($this->queue, 0, $type, 1, $id, \false, \MSG_IPC_NOWAIT, $errno)) { + // A free lock was found, so resolve with a lock object that can + // be used to release the lock. + return new Lock(\unpack("C", $id)[1], function (Lock $lock) { + $this->release($lock->getId()); + }); + } + // Check for unusual errors. + if ($errno !== \MSG_ENOMSG) { + throw new SyncException(\sprintf('Failed to acquire a lock; errno: %d', $errno)); + } + } while ((yield new Delayed(self::LATENCY_TIMEOUT, \true))); + } + /** + * Removes the semaphore if it still exists. + * + * @throws SyncException If the operation failed. + */ + public function __destruct() + { + if ($this->initializer === 0 || $this->initializer !== \getmypid()) { + return; + } + if (!\is_resource($this->queue) || !\msg_queue_exists($this->key)) { + return; + } + \msg_remove_queue($this->queue); + } + /** + * Releases a lock from the semaphore. + * + * @param int $id Lock identifier. + * + * @throws SyncException If the operation failed. + */ + protected function release($id) + { + if (!\is_int($id)) { + if (!(\is_bool($id) || \is_numeric($id))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (int) $id; + } + } + if (!$this->queue) { + return; + // Queue already destroyed. + } + // Call send in non-blocking mode. If the call fails because the queue + // is full, then the number of locks configured is too large. + if (!@\msg_send($this->queue, 1, \pack("C", $id), \false, \false, $errno)) { + if ($errno === \MSG_EAGAIN) { + throw new SyncException('The semaphore size is larger than the system allows.'); + } + throw new SyncException('Failed to release the lock.'); + } + } + private static function makeKey($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + $phabelReturn = \abs(\unpack("l", \md5($id, \true))[1]); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/PrefixedKeyedMutex.php b/vendor-bundle/amphp/sync/src/PrefixedKeyedMutex.php new file mode 100644 index 000000000..c992dd8aa --- /dev/null +++ b/vendor-bundle/amphp/sync/src/PrefixedKeyedMutex.php @@ -0,0 +1,39 @@ +mutex = $mutex; + $this->prefix = $prefix; + } + public function acquire($key) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + $phabelReturn = $this->mutex->acquire($this->prefix . $key); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/PrefixedKeyedSemaphore.php b/vendor-bundle/amphp/sync/src/PrefixedKeyedSemaphore.php new file mode 100644 index 000000000..086d8eb50 --- /dev/null +++ b/vendor-bundle/amphp/sync/src/PrefixedKeyedSemaphore.php @@ -0,0 +1,39 @@ +semaphore = $semaphore; + $this->prefix = $prefix; + } + public function acquire($key) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + $phabelReturn = $this->semaphore->acquire($this->prefix . $key); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/Semaphore.php b/vendor-bundle/amphp/sync/src/Semaphore.php new file mode 100644 index 000000000..dbe59d30f --- /dev/null +++ b/vendor-bundle/amphp/sync/src/Semaphore.php @@ -0,0 +1,14 @@ +semaphore = $semaphore; + } + /** {@inheritdoc} */ + public function acquire() + { + $phabelReturn = call(function () { + /** @var \Amp\Sync\Lock $lock */ + $lock = (yield $this->semaphore->acquire()); + if ($lock->getId() !== 0) { + $lock->release(); + throw new \Error("Cannot use a semaphore with more than a single lock"); + } + return $lock; + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/StaticKeyMutex.php b/vendor-bundle/amphp/sync/src/StaticKeyMutex.php new file mode 100644 index 000000000..fa771cf87 --- /dev/null +++ b/vendor-bundle/amphp/sync/src/StaticKeyMutex.php @@ -0,0 +1,32 @@ +mutex = $mutex; + $this->key = $key; + } + public function acquire() + { + $phabelReturn = $this->mutex->acquire($this->key); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/SyncException.php b/vendor-bundle/amphp/sync/src/SyncException.php new file mode 100644 index 000000000..3006f958e --- /dev/null +++ b/vendor-bundle/amphp/sync/src/SyncException.php @@ -0,0 +1,7 @@ +mutex = new Internal\MutexStorage(); + } + /** + * {@inheritdoc} + */ + public function acquire() + { + $phabelReturn = $this->mutex->acquire(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/ThreadedSemaphore.php b/vendor-bundle/amphp/sync/src/ThreadedSemaphore.php new file mode 100644 index 000000000..716d96df4 --- /dev/null +++ b/vendor-bundle/amphp/sync/src/ThreadedSemaphore.php @@ -0,0 +1,50 @@ +semaphore = new Internal\SemaphoreStorage($locks); + } + /** + * {@inheritdoc} + */ + public function acquire() + { + $phabelReturn = $this->semaphore->acquire(); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/amphp/sync/src/functions.php b/vendor-bundle/amphp/sync/src/functions.php new file mode 100644 index 000000000..185609c85 --- /dev/null +++ b/vendor-bundle/amphp/sync/src/functions.php @@ -0,0 +1,33 @@ +acquire()); + try { + return (yield call($callback, ...$args)); + } finally { + $lock->release(); + } + }); + if (!$phabelReturn instanceof Promise) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Promise, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; +} diff --git a/vendor-bundle/amphp/sync/travis/install-pcov.sh b/vendor-bundle/amphp/sync/travis/install-pcov.sh new file mode 100644 index 000000000..57c230cd9 --- /dev/null +++ b/vendor-bundle/amphp/sync/travis/install-pcov.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +set -e + +if [[ ${TRAVIS_PHP_VERSION:0:3} == "7.0" ]]; then + exit 0 +fi + +# required for pcov/clobber +curl -LS https://pecl.php.net/get/uopz | tar -xz \ + && pushd uopz-* \ + && phpize \ + && ./configure --enable-uopz \ + && make -j4 \ + && make install \ + && popd \ + && echo "extension=uopz.so" >> "$(php -r 'echo php_ini_loaded_file();')"; + +curl -LS https://pecl.php.net/get/pcov | tar -xz \ + && pushd pcov-* \ + && phpize \ + && ./configure --enable-pcov \ + && make \ + && make install \ + && popd \ + && echo "extension=pcov.so" >> "$(php -r 'echo php_ini_loaded_file();')"; diff --git a/vendor-bundle/amphp/sync/travis/install-pthreads.sh b/vendor-bundle/amphp/sync/travis/install-pthreads.sh new file mode 100644 index 000000000..3dca0059a --- /dev/null +++ b/vendor-bundle/amphp/sync/travis/install-pthreads.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +git clone https://github.com/krakjoe/pthreads; +pushd pthreads; +git checkout master; +phpize; +./configure; +make; +make install; +popd; +echo "extension=pthreads.so" >> "$(php -r 'echo php_ini_loaded_file();')" diff --git a/vendor-bundle/autoload.php b/vendor-bundle/autoload.php new file mode 100644 index 000000000..8332083a7 --- /dev/null +++ b/vendor-bundle/autoload.php @@ -0,0 +1,3 @@ + ['startLine', 'endLine', 'startFilePos', 'endFilePos', 'comments']]); +$parser = (new PhpParser\ParserFactory())->create(PhpParser\ParserFactory::PREFER_PHP7, $lexer); +$dumper = new PhpParser\NodeDumper(['dumpComments' => \true, 'dumpPositions' => $attributes['with-positions']]); +$prettyPrinter = new PhpParser\PrettyPrinter\Standard(); +$traverser = new PhpParser\NodeTraverser(); +$traverser->addVisitor(new PhpParser\NodeVisitor\NameResolver()); +foreach ($files as $file) { + if (\strpos($file, ' Code {$code}\n"); + } else { + if (!\file_exists($file)) { + \fwrite(\STDERR, "File {$file} does not exist.\n"); + exit(1); + } + $code = \file_get_contents($file); + \fwrite(\STDERR, "====> File {$file}:\n"); + } + if ($attributes['with-recovery']) { + $errorHandler = new PhpParser\ErrorHandler\Collecting(); + $stmts = $parser->parse($code, $errorHandler); + foreach ($errorHandler->getErrors() as $error) { + $message = formatErrorMessage($error, $code, $attributes['with-column-info']); + \fwrite(\STDERR, $message . "\n"); + } + if (null === $stmts) { + continue; + } + } else { + try { + $stmts = $parser->parse($code); + } catch (PhpParser\Error $error) { + $message = formatErrorMessage($error, $code, $attributes['with-column-info']); + \fwrite(\STDERR, $message . "\n"); + exit(1); + } + } + foreach ($operations as $operation) { + if ('dump' === $operation) { + \fwrite(\STDERR, "==> Node dump:\n"); + echo $dumper->dump($stmts, $code), "\n"; + } elseif ('pretty-print' === $operation) { + \fwrite(\STDERR, "==> Pretty print:\n"); + echo $prettyPrinter->prettyPrintFile($stmts), "\n"; + } elseif ('json-dump' === $operation) { + \fwrite(\STDERR, "==> JSON dump:\n"); + echo \json_encode($stmts, \JSON_PRETTY_PRINT), "\n"; + } elseif ('var-dump' === $operation) { + \fwrite(\STDERR, "==> var_dump():\n"); + \var_dump($stmts); + } elseif ('resolve-names' === $operation) { + \fwrite(\STDERR, "==> Resolved names.\n"); + $stmts = $traverser->traverse($stmts); + } + } +} +function formatErrorMessage(PhpParser\Error $e, $code, $withColumnInfo) +{ + if ($withColumnInfo && $e->hasColumnInfo()) { + return $e->getMessageWithColumnInfo($code); + } else { + return $e->getMessage(); + } +} +function showHelp($error = '') +{ + if ($error) { + \fwrite(\STDERR, $error . "\n\n"); + } + \fwrite($error ? \STDERR : \STDOUT, << \false, 'with-positions' => \false, 'with-recovery' => \false]; + \array_shift($args); + $parseOptions = \true; + foreach ($args as $arg) { + if (!$parseOptions) { + $files[] = $arg; + continue; + } + switch ($arg) { + case '--dump': + case '-d': + $operations[] = 'dump'; + break; + case '--pretty-print': + case '-p': + $operations[] = 'pretty-print'; + break; + case '--json-dump': + case '-j': + $operations[] = 'json-dump'; + break; + case '--var-dump': + $operations[] = 'var-dump'; + break; + case '--resolve-names': + case '-N': + $operations[] = 'resolve-names'; + break; + case '--with-column-info': + case '-c': + $attributes['with-column-info'] = \true; + break; + case '--with-positions': + case '-P': + $attributes['with-positions'] = \true; + break; + case '--with-recovery': + case '-r': + $attributes['with-recovery'] = \true; + break; + case '--help': + case '-h': + showHelp(); + break; + case '--': + $parseOptions = \false; + break; + default: + if ($arg[0] === '-') { + showHelp("Invalid operation {$arg}."); + } else { + $files[] = $arg; + } + } + } + return [$operations, $files, $attributes]; +} diff --git a/vendor-bundle/phabel/php-parser/grammar/parser.template b/vendor-bundle/phabel/php-parser/grammar/parser.template new file mode 100644 index 000000000..6166607c9 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/grammar/parser.template @@ -0,0 +1,106 @@ +semValue +#semval($,%t) $this->semValue +#semval(%n) $stackPos-(%l-%n) +#semval(%n,%t) $stackPos-(%l-%n) + +namespace PhpParser\Parser; + +use PhpParser\Error; +use PhpParser\Node; +use PhpParser\Node\Expr; +use PhpParser\Node\Name; +use PhpParser\Node\Scalar; +use PhpParser\Node\Stmt; +#include; + +/* This is an automatically GENERATED file, which should not be manually edited. + * Instead edit one of the following: + * * the grammar files grammar/php5.y or grammar/php7.y + * * the skeleton file grammar/parser.template + * * the preprocessing script grammar/rebuildParsers.php + */ +class #(-p) extends \PhpParser\ParserAbstract +{ + protected $tokenToSymbolMapSize = #(YYMAXLEX); + protected $actionTableSize = #(YYLAST); + protected $gotoTableSize = #(YYGLAST); + + protected $invalidSymbol = #(YYBADCH); + protected $errorSymbol = #(YYINTERRTOK); + protected $defaultAction = #(YYDEFAULT); + protected $unexpectedTokenRule = #(YYUNEXPECTED); + + protected $YY2TBLSTATE = #(YY2TBLSTATE); + protected $numNonLeafStates = #(YYNLSTATES); + + protected $symbolToName = array( + #listvar terminals + ); + + protected $tokenToSymbol = array( + #listvar yytranslate + ); + + protected $action = array( + #listvar yyaction + ); + + protected $actionCheck = array( + #listvar yycheck + ); + + protected $actionBase = array( + #listvar yybase + ); + + protected $actionDefault = array( + #listvar yydefault + ); + + protected $goto = array( + #listvar yygoto + ); + + protected $gotoCheck = array( + #listvar yygcheck + ); + + protected $gotoBase = array( + #listvar yygbase + ); + + protected $gotoDefault = array( + #listvar yygdefault + ); + + protected $ruleToNonTerminal = array( + #listvar yylhs + ); + + protected $ruleToLength = array( + #listvar yylen + ); +#if -t + + protected $productions = array( + #production-strings; + ); +#endif + + protected function initReduceCallbacks() { + $this->reduceCallbacks = [ +#reduce + %n => function ($stackPos) { + %b + }, +#noact + %n => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, +#endreduce + ]; + } +} +#tailcode; diff --git a/vendor-bundle/phabel/php-parser/grammar/php5.y b/vendor-bundle/phabel/php-parser/grammar/php5.y new file mode 100644 index 000000000..c7d245dc7 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/grammar/php5.y @@ -0,0 +1,1026 @@ +%pure_parser +%expect 6 + +%tokens + +%% + +start: + top_statement_list { $$ = $this->handleNamespaces($1); } +; + +top_statement_list_ex: + top_statement_list_ex top_statement { pushNormalizing($1, $2); } + | /* empty */ { init(); } +; + +top_statement_list: + top_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +reserved_non_modifiers: + T_INCLUDE | T_INCLUDE_ONCE | T_EVAL | T_REQUIRE | T_REQUIRE_ONCE | T_LOGICAL_OR | T_LOGICAL_XOR | T_LOGICAL_AND + | T_INSTANCEOF | T_NEW | T_CLONE | T_EXIT | T_IF | T_ELSEIF | T_ELSE | T_ENDIF | T_ECHO | T_DO | T_WHILE + | T_ENDWHILE | T_FOR | T_ENDFOR | T_FOREACH | T_ENDFOREACH | T_DECLARE | T_ENDDECLARE | T_AS | T_TRY | T_CATCH + | T_FINALLY | T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO + | T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT + | T_BREAK | T_ARRAY | T_CALLABLE | T_EXTENDS | T_IMPLEMENTS | T_NAMESPACE | T_TRAIT | T_INTERFACE | T_CLASS + | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER | T_FN + | T_MATCH +; + +semi_reserved: + reserved_non_modifiers + | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC +; + +identifier_ex: + T_STRING { $$ = Node\Identifier[$1]; } + | semi_reserved { $$ = Node\Identifier[$1]; } +; + +identifier: + T_STRING { $$ = Node\Identifier[$1]; } +; + +reserved_non_modifiers_identifier: + reserved_non_modifiers { $$ = Node\Identifier[$1]; } +; + +namespace_name: + T_STRING { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } +; + +legacy_namespace_name: + namespace_name { $$ = $1; } + | T_NAME_FULLY_QUALIFIED { $$ = Name[substr($1, 1)]; } +; + +plain_variable: + T_VARIABLE { $$ = Expr\Variable[parseVar($1)]; } +; + +top_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | T_HALT_COMPILER + { $$ = Stmt\HaltCompiler[$this->lexer->handleHaltCompiler()]; } + | T_NAMESPACE namespace_name ';' + { $$ = Stmt\Namespace_[$2, null]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $this->checkNamespace($$); } + | T_NAMESPACE namespace_name '{' top_statement_list '}' + { $$ = Stmt\Namespace_[$2, $4]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($$); } + | T_NAMESPACE '{' top_statement_list '}' + { $$ = Stmt\Namespace_[null, $3]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($$); } + | T_USE use_declarations ';' { $$ = Stmt\Use_[$2, Stmt\Use_::TYPE_NORMAL]; } + | T_USE use_type use_declarations ';' { $$ = Stmt\Use_[$3, $2]; } + | group_use_declaration ';' { $$ = $1; } + | T_CONST constant_declaration_list ';' { $$ = Stmt\Const_[$2]; } +; + +use_type: + T_FUNCTION { $$ = Stmt\Use_::TYPE_FUNCTION; } + | T_CONST { $$ = Stmt\Use_::TYPE_CONSTANT; } +; + +group_use_declaration: + T_USE use_type legacy_namespace_name T_NS_SEPARATOR '{' unprefixed_use_declarations '}' + { $$ = Stmt\GroupUse[$3, $6, $2]; } + | T_USE legacy_namespace_name T_NS_SEPARATOR '{' inline_use_declarations '}' + { $$ = Stmt\GroupUse[$2, $5, Stmt\Use_::TYPE_UNKNOWN]; } +; + +unprefixed_use_declarations: + unprefixed_use_declarations ',' unprefixed_use_declaration + { push($1, $3); } + | unprefixed_use_declaration { init($1); } +; + +use_declarations: + use_declarations ',' use_declaration { push($1, $3); } + | use_declaration { init($1); } +; + +inline_use_declarations: + inline_use_declarations ',' inline_use_declaration { push($1, $3); } + | inline_use_declaration { init($1); } +; + +unprefixed_use_declaration: + namespace_name + { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } + | namespace_name T_AS identifier + { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } +; + +use_declaration: + legacy_namespace_name + { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } + | legacy_namespace_name T_AS identifier + { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } +; + +inline_use_declaration: + unprefixed_use_declaration { $$ = $1; $$->type = Stmt\Use_::TYPE_NORMAL; } + | use_type unprefixed_use_declaration { $$ = $2; $$->type = $1; } +; + +constant_declaration_list: + constant_declaration_list ',' constant_declaration { push($1, $3); } + | constant_declaration { init($1); } +; + +constant_declaration: + identifier '=' static_scalar { $$ = Node\Const_[$1, $3]; } +; + +class_const_list: + class_const_list ',' class_const { push($1, $3); } + | class_const { init($1); } +; + +class_const: + identifier_ex '=' static_scalar { $$ = Node\Const_[$1, $3]; } +; + +inner_statement_list_ex: + inner_statement_list_ex inner_statement { pushNormalizing($1, $2); } + | /* empty */ { init(); } +; + +inner_statement_list: + inner_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +inner_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | T_HALT_COMPILER + { throw new Error('__HALT_COMPILER() can only be used from the outermost scope', attributes()); } +; + +non_empty_statement: + '{' inner_statement_list '}' + { + if ($2) { + $$ = $2; prependLeadingComments($$); + } else { + makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); + if (null === $$) { $$ = array(); } + } + } + | T_IF parentheses_expr statement elseif_list else_single + { $$ = Stmt\If_[$2, ['stmts' => toArray($3), 'elseifs' => $4, 'else' => $5]]; } + | T_IF parentheses_expr ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' + { $$ = Stmt\If_[$2, ['stmts' => $4, 'elseifs' => $5, 'else' => $6]]; } + | T_WHILE parentheses_expr while_statement { $$ = Stmt\While_[$2, $3]; } + | T_DO statement T_WHILE parentheses_expr ';' { $$ = Stmt\Do_ [$4, toArray($2)]; } + | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement + { $$ = Stmt\For_[['init' => $3, 'cond' => $5, 'loop' => $7, 'stmts' => $9]]; } + | T_SWITCH parentheses_expr switch_case_list { $$ = Stmt\Switch_[$2, $3]; } + | T_BREAK ';' { $$ = Stmt\Break_[null]; } + | T_BREAK expr ';' { $$ = Stmt\Break_[$2]; } + | T_CONTINUE ';' { $$ = Stmt\Continue_[null]; } + | T_CONTINUE expr ';' { $$ = Stmt\Continue_[$2]; } + | T_RETURN ';' { $$ = Stmt\Return_[null]; } + | T_RETURN expr ';' { $$ = Stmt\Return_[$2]; } + | T_GLOBAL global_var_list ';' { $$ = Stmt\Global_[$2]; } + | T_STATIC static_var_list ';' { $$ = Stmt\Static_[$2]; } + | T_ECHO expr_list ';' { $$ = Stmt\Echo_[$2]; } + | T_INLINE_HTML { $$ = Stmt\InlineHTML[$1]; } + | yield_expr ';' { $$ = Stmt\Expression[$1]; } + | expr ';' { $$ = Stmt\Expression[$1]; } + | T_UNSET '(' variables_list ')' ';' { $$ = Stmt\Unset_[$3]; } + | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement + { $$ = Stmt\Foreach_[$3, $5[0], ['keyVar' => null, 'byRef' => $5[1], 'stmts' => $7]]; } + | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement + { $$ = Stmt\Foreach_[$3, $7[0], ['keyVar' => $5, 'byRef' => $7[1], 'stmts' => $9]]; } + | T_DECLARE '(' declare_list ')' declare_statement { $$ = Stmt\Declare_[$3, $5]; } + | T_TRY '{' inner_statement_list '}' catches optional_finally + { $$ = Stmt\TryCatch[$3, $5, $6]; $this->checkTryCatch($$); } + | T_THROW expr ';' { $$ = Stmt\Throw_[$2]; } + | T_GOTO identifier ';' { $$ = Stmt\Goto_[$2]; } + | identifier ':' { $$ = Stmt\Label[$1]; } + | expr error { $$ = Stmt\Expression[$1]; } + | error { $$ = array(); /* means: no statement */ } +; + +statement: + non_empty_statement { $$ = $1; } + | ';' + { makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); + if ($$ === null) $$ = array(); /* means: no statement */ } +; + +catches: + /* empty */ { init(); } + | catches catch { push($1, $2); } +; + +catch: + T_CATCH '(' name plain_variable ')' '{' inner_statement_list '}' + { $$ = Stmt\Catch_[array($3), $4, $7]; } +; + +optional_finally: + /* empty */ { $$ = null; } + | T_FINALLY '{' inner_statement_list '}' { $$ = Stmt\Finally_[$3]; } +; + +variables_list: + variable { init($1); } + | variables_list ',' variable { push($1, $3); } +; + +optional_ref: + /* empty */ { $$ = false; } + | '&' { $$ = true; } +; + +optional_ellipsis: + /* empty */ { $$ = false; } + | T_ELLIPSIS { $$ = true; } +; + +function_declaration_statement: + T_FUNCTION optional_ref identifier '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' + { $$ = Stmt\Function_[$3, ['byRef' => $2, 'params' => $5, 'returnType' => $7, 'stmts' => $9]]; } +; + +class_declaration_statement: + class_entry_type identifier extends_from implements_list '{' class_statement_list '}' + { $$ = Stmt\Class_[$2, ['type' => $1, 'extends' => $3, 'implements' => $4, 'stmts' => $6]]; + $this->checkClass($$, #2); } + | T_INTERFACE identifier interface_extends_list '{' class_statement_list '}' + { $$ = Stmt\Interface_[$2, ['extends' => $3, 'stmts' => $5]]; + $this->checkInterface($$, #2); } + | T_TRAIT identifier '{' class_statement_list '}' + { $$ = Stmt\Trait_[$2, ['stmts' => $4]]; } +; + +class_entry_type: + T_CLASS { $$ = 0; } + | T_ABSTRACT T_CLASS { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } + | T_FINAL T_CLASS { $$ = Stmt\Class_::MODIFIER_FINAL; } +; + +extends_from: + /* empty */ { $$ = null; } + | T_EXTENDS class_name { $$ = $2; } +; + +interface_extends_list: + /* empty */ { $$ = array(); } + | T_EXTENDS class_name_list { $$ = $2; } +; + +implements_list: + /* empty */ { $$ = array(); } + | T_IMPLEMENTS class_name_list { $$ = $2; } +; + +class_name_list: + class_name { init($1); } + | class_name_list ',' class_name { push($1, $3); } +; + +for_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDFOR ';' { $$ = $2; } +; + +foreach_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDFOREACH ';' { $$ = $2; } +; + +declare_statement: + non_empty_statement { $$ = toArray($1); } + | ';' { $$ = null; } + | ':' inner_statement_list T_ENDDECLARE ';' { $$ = $2; } +; + +declare_list: + declare_list_element { init($1); } + | declare_list ',' declare_list_element { push($1, $3); } +; + +declare_list_element: + identifier '=' static_scalar { $$ = Stmt\DeclareDeclare[$1, $3]; } +; + +switch_case_list: + '{' case_list '}' { $$ = $2; } + | '{' ';' case_list '}' { $$ = $3; } + | ':' case_list T_ENDSWITCH ';' { $$ = $2; } + | ':' ';' case_list T_ENDSWITCH ';' { $$ = $3; } +; + +case_list: + /* empty */ { init(); } + | case_list case { push($1, $2); } +; + +case: + T_CASE expr case_separator inner_statement_list_ex { $$ = Stmt\Case_[$2, $4]; } + | T_DEFAULT case_separator inner_statement_list_ex { $$ = Stmt\Case_[null, $3]; } +; + +case_separator: + ':' + | ';' +; + +while_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDWHILE ';' { $$ = $2; } +; + +elseif_list: + /* empty */ { init(); } + | elseif_list elseif { push($1, $2); } +; + +elseif: + T_ELSEIF parentheses_expr statement { $$ = Stmt\ElseIf_[$2, toArray($3)]; } +; + +new_elseif_list: + /* empty */ { init(); } + | new_elseif_list new_elseif { push($1, $2); } +; + +new_elseif: + T_ELSEIF parentheses_expr ':' inner_statement_list { $$ = Stmt\ElseIf_[$2, $4]; } +; + +else_single: + /* empty */ { $$ = null; } + | T_ELSE statement { $$ = Stmt\Else_[toArray($2)]; } +; + +new_else_single: + /* empty */ { $$ = null; } + | T_ELSE ':' inner_statement_list { $$ = Stmt\Else_[$3]; } +; + +foreach_variable: + variable { $$ = array($1, false); } + | '&' variable { $$ = array($2, true); } + | list_expr { $$ = array($1, false); } +; + +parameter_list: + non_empty_parameter_list { $$ = $1; } + | /* empty */ { $$ = array(); } +; + +non_empty_parameter_list: + parameter { init($1); } + | non_empty_parameter_list ',' parameter { push($1, $3); } +; + +parameter: + optional_param_type optional_ref optional_ellipsis plain_variable + { $$ = Node\Param[$4, null, $1, $2, $3]; $this->checkParam($$); } + | optional_param_type optional_ref optional_ellipsis plain_variable '=' static_scalar + { $$ = Node\Param[$4, $6, $1, $2, $3]; $this->checkParam($$); } +; + +type: + name { $$ = $1; } + | T_ARRAY { $$ = Node\Identifier['array']; } + | T_CALLABLE { $$ = Node\Identifier['callable']; } +; + +optional_param_type: + /* empty */ { $$ = null; } + | type { $$ = $1; } +; + +optional_return_type: + /* empty */ { $$ = null; } + | ':' type { $$ = $2; } +; + +argument_list: + '(' ')' { $$ = array(); } + | '(' non_empty_argument_list ')' { $$ = $2; } + | '(' yield_expr ')' { $$ = array(Node\Arg[$2, false, false]); } +; + +non_empty_argument_list: + argument { init($1); } + | non_empty_argument_list ',' argument { push($1, $3); } +; + +argument: + expr { $$ = Node\Arg[$1, false, false]; } + | '&' variable { $$ = Node\Arg[$2, true, false]; } + | T_ELLIPSIS expr { $$ = Node\Arg[$2, false, true]; } +; + +global_var_list: + global_var_list ',' global_var { push($1, $3); } + | global_var { init($1); } +; + +global_var: + plain_variable { $$ = $1; } + | '$' variable { $$ = Expr\Variable[$2]; } + | '$' '{' expr '}' { $$ = Expr\Variable[$3]; } +; + +static_var_list: + static_var_list ',' static_var { push($1, $3); } + | static_var { init($1); } +; + +static_var: + plain_variable { $$ = Stmt\StaticVar[$1, null]; } + | plain_variable '=' static_scalar { $$ = Stmt\StaticVar[$1, $3]; } +; + +class_statement_list_ex: + class_statement_list_ex class_statement { if ($2 !== null) { push($1, $2); } } + | /* empty */ { init(); } +; + +class_statement_list: + class_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +class_statement: + variable_modifiers property_declaration_list ';' + { $$ = Stmt\Property[$1, $2]; $this->checkProperty($$, #1); } + | T_CONST class_const_list ';' { $$ = Stmt\ClassConst[$2, 0]; } + | method_modifiers T_FUNCTION optional_ref identifier_ex '(' parameter_list ')' optional_return_type method_body + { $$ = Stmt\ClassMethod[$4, ['type' => $1, 'byRef' => $3, 'params' => $6, 'returnType' => $8, 'stmts' => $9]]; + $this->checkClassMethod($$, #1); } + | T_USE class_name_list trait_adaptations { $$ = Stmt\TraitUse[$2, $3]; } +; + +trait_adaptations: + ';' { $$ = array(); } + | '{' trait_adaptation_list '}' { $$ = $2; } +; + +trait_adaptation_list: + /* empty */ { init(); } + | trait_adaptation_list trait_adaptation { push($1, $2); } +; + +trait_adaptation: + trait_method_reference_fully_qualified T_INSTEADOF class_name_list ';' + { $$ = Stmt\TraitUseAdaptation\Precedence[$1[0], $1[1], $3]; } + | trait_method_reference T_AS member_modifier identifier_ex ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, $4]; } + | trait_method_reference T_AS member_modifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, null]; } + | trait_method_reference T_AS identifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } + | trait_method_reference T_AS reserved_non_modifiers_identifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } +; + +trait_method_reference_fully_qualified: + name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = array($1, $3); } +; +trait_method_reference: + trait_method_reference_fully_qualified { $$ = $1; } + | identifier_ex { $$ = array(null, $1); } +; + +method_body: + ';' /* abstract method */ { $$ = null; } + | '{' inner_statement_list '}' { $$ = $2; } +; + +variable_modifiers: + non_empty_member_modifiers { $$ = $1; } + | T_VAR { $$ = 0; } +; + +method_modifiers: + /* empty */ { $$ = 0; } + | non_empty_member_modifiers { $$ = $1; } +; + +non_empty_member_modifiers: + member_modifier { $$ = $1; } + | non_empty_member_modifiers member_modifier { $this->checkModifier($1, $2, #2); $$ = $1 | $2; } +; + +member_modifier: + T_PUBLIC { $$ = Stmt\Class_::MODIFIER_PUBLIC; } + | T_PROTECTED { $$ = Stmt\Class_::MODIFIER_PROTECTED; } + | T_PRIVATE { $$ = Stmt\Class_::MODIFIER_PRIVATE; } + | T_STATIC { $$ = Stmt\Class_::MODIFIER_STATIC; } + | T_ABSTRACT { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } + | T_FINAL { $$ = Stmt\Class_::MODIFIER_FINAL; } +; + +property_declaration_list: + property_declaration { init($1); } + | property_declaration_list ',' property_declaration { push($1, $3); } +; + +property_decl_name: + T_VARIABLE { $$ = Node\VarLikeIdentifier[parseVar($1)]; } +; + +property_declaration: + property_decl_name { $$ = Stmt\PropertyProperty[$1, null]; } + | property_decl_name '=' static_scalar { $$ = Stmt\PropertyProperty[$1, $3]; } +; + +expr_list: + expr_list ',' expr { push($1, $3); } + | expr { init($1); } +; + +for_expr: + /* empty */ { $$ = array(); } + | expr_list { $$ = $1; } +; + +expr: + variable { $$ = $1; } + | list_expr '=' expr { $$ = Expr\Assign[$1, $3]; } + | variable '=' expr { $$ = Expr\Assign[$1, $3]; } + | variable '=' '&' variable { $$ = Expr\AssignRef[$1, $4]; } + | variable '=' '&' new_expr { $$ = Expr\AssignRef[$1, $4]; } + | new_expr { $$ = $1; } + | T_CLONE expr { $$ = Expr\Clone_[$2]; } + | variable T_PLUS_EQUAL expr { $$ = Expr\AssignOp\Plus [$1, $3]; } + | variable T_MINUS_EQUAL expr { $$ = Expr\AssignOp\Minus [$1, $3]; } + | variable T_MUL_EQUAL expr { $$ = Expr\AssignOp\Mul [$1, $3]; } + | variable T_DIV_EQUAL expr { $$ = Expr\AssignOp\Div [$1, $3]; } + | variable T_CONCAT_EQUAL expr { $$ = Expr\AssignOp\Concat [$1, $3]; } + | variable T_MOD_EQUAL expr { $$ = Expr\AssignOp\Mod [$1, $3]; } + | variable T_AND_EQUAL expr { $$ = Expr\AssignOp\BitwiseAnd[$1, $3]; } + | variable T_OR_EQUAL expr { $$ = Expr\AssignOp\BitwiseOr [$1, $3]; } + | variable T_XOR_EQUAL expr { $$ = Expr\AssignOp\BitwiseXor[$1, $3]; } + | variable T_SL_EQUAL expr { $$ = Expr\AssignOp\ShiftLeft [$1, $3]; } + | variable T_SR_EQUAL expr { $$ = Expr\AssignOp\ShiftRight[$1, $3]; } + | variable T_POW_EQUAL expr { $$ = Expr\AssignOp\Pow [$1, $3]; } + | variable T_COALESCE_EQUAL expr { $$ = Expr\AssignOp\Coalesce [$1, $3]; } + | variable T_INC { $$ = Expr\PostInc[$1]; } + | T_INC variable { $$ = Expr\PreInc [$2]; } + | variable T_DEC { $$ = Expr\PostDec[$1]; } + | T_DEC variable { $$ = Expr\PreDec [$2]; } + | expr T_BOOLEAN_OR expr { $$ = Expr\BinaryOp\BooleanOr [$1, $3]; } + | expr T_BOOLEAN_AND expr { $$ = Expr\BinaryOp\BooleanAnd[$1, $3]; } + | expr T_LOGICAL_OR expr { $$ = Expr\BinaryOp\LogicalOr [$1, $3]; } + | expr T_LOGICAL_AND expr { $$ = Expr\BinaryOp\LogicalAnd[$1, $3]; } + | expr T_LOGICAL_XOR expr { $$ = Expr\BinaryOp\LogicalXor[$1, $3]; } + | expr '|' expr { $$ = Expr\BinaryOp\BitwiseOr [$1, $3]; } + | expr '&' expr { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } + | expr '^' expr { $$ = Expr\BinaryOp\BitwiseXor[$1, $3]; } + | expr '.' expr { $$ = Expr\BinaryOp\Concat [$1, $3]; } + | expr '+' expr { $$ = Expr\BinaryOp\Plus [$1, $3]; } + | expr '-' expr { $$ = Expr\BinaryOp\Minus [$1, $3]; } + | expr '*' expr { $$ = Expr\BinaryOp\Mul [$1, $3]; } + | expr '/' expr { $$ = Expr\BinaryOp\Div [$1, $3]; } + | expr '%' expr { $$ = Expr\BinaryOp\Mod [$1, $3]; } + | expr T_SL expr { $$ = Expr\BinaryOp\ShiftLeft [$1, $3]; } + | expr T_SR expr { $$ = Expr\BinaryOp\ShiftRight[$1, $3]; } + | expr T_POW expr { $$ = Expr\BinaryOp\Pow [$1, $3]; } + | '+' expr %prec T_INC { $$ = Expr\UnaryPlus [$2]; } + | '-' expr %prec T_INC { $$ = Expr\UnaryMinus[$2]; } + | '!' expr { $$ = Expr\BooleanNot[$2]; } + | '~' expr { $$ = Expr\BitwiseNot[$2]; } + | expr T_IS_IDENTICAL expr { $$ = Expr\BinaryOp\Identical [$1, $3]; } + | expr T_IS_NOT_IDENTICAL expr { $$ = Expr\BinaryOp\NotIdentical [$1, $3]; } + | expr T_IS_EQUAL expr { $$ = Expr\BinaryOp\Equal [$1, $3]; } + | expr T_IS_NOT_EQUAL expr { $$ = Expr\BinaryOp\NotEqual [$1, $3]; } + | expr T_SPACESHIP expr { $$ = Expr\BinaryOp\Spaceship [$1, $3]; } + | expr '<' expr { $$ = Expr\BinaryOp\Smaller [$1, $3]; } + | expr T_IS_SMALLER_OR_EQUAL expr { $$ = Expr\BinaryOp\SmallerOrEqual[$1, $3]; } + | expr '>' expr { $$ = Expr\BinaryOp\Greater [$1, $3]; } + | expr T_IS_GREATER_OR_EQUAL expr { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; } + | expr T_INSTANCEOF class_name_reference { $$ = Expr\Instanceof_[$1, $3]; } + | parentheses_expr { $$ = $1; } + /* we need a separate '(' new_expr ')' rule to avoid problems caused by a s/r conflict */ + | '(' new_expr ')' { $$ = $2; } + | expr '?' expr ':' expr { $$ = Expr\Ternary[$1, $3, $5]; } + | expr '?' ':' expr { $$ = Expr\Ternary[$1, null, $4]; } + | expr T_COALESCE expr { $$ = Expr\BinaryOp\Coalesce[$1, $3]; } + | T_ISSET '(' variables_list ')' { $$ = Expr\Isset_[$3]; } + | T_EMPTY '(' expr ')' { $$ = Expr\Empty_[$3]; } + | T_INCLUDE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE]; } + | T_INCLUDE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE_ONCE]; } + | T_EVAL parentheses_expr { $$ = Expr\Eval_[$2]; } + | T_REQUIRE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE]; } + | T_REQUIRE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE_ONCE]; } + | T_INT_CAST expr { $$ = Expr\Cast\Int_ [$2]; } + | T_DOUBLE_CAST expr + { $attrs = attributes(); + $attrs['kind'] = $this->getFloatCastKind($1); + $$ = new Expr\Cast\Double($2, $attrs); } + | T_STRING_CAST expr { $$ = Expr\Cast\String_ [$2]; } + | T_ARRAY_CAST expr { $$ = Expr\Cast\Array_ [$2]; } + | T_OBJECT_CAST expr { $$ = Expr\Cast\Object_ [$2]; } + | T_BOOL_CAST expr { $$ = Expr\Cast\Bool_ [$2]; } + | T_UNSET_CAST expr { $$ = Expr\Cast\Unset_ [$2]; } + | T_EXIT exit_expr + { $attrs = attributes(); + $attrs['kind'] = strtolower($1) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $$ = new Expr\Exit_($2, $attrs); } + | '@' expr { $$ = Expr\ErrorSuppress[$2]; } + | scalar { $$ = $1; } + | array_expr { $$ = $1; } + | scalar_dereference { $$ = $1; } + | '`' backticks_expr '`' { $$ = Expr\ShellExec[$2]; } + | T_PRINT expr { $$ = Expr\Print_[$2]; } + | T_YIELD { $$ = Expr\Yield_[null, null]; } + | T_YIELD_FROM expr { $$ = Expr\YieldFrom[$2]; } + | T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type + '{' inner_statement_list '}' + { $$ = Expr\Closure[['static' => false, 'byRef' => $2, 'params' => $4, 'uses' => $6, 'returnType' => $7, 'stmts' => $9]]; } + | T_STATIC T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type + '{' inner_statement_list '}' + { $$ = Expr\Closure[['static' => true, 'byRef' => $3, 'params' => $5, 'uses' => $7, 'returnType' => $8, 'stmts' => $10]]; } +; + +parentheses_expr: + '(' expr ')' { $$ = $2; } + | '(' yield_expr ')' { $$ = $2; } +; + +yield_expr: + T_YIELD expr { $$ = Expr\Yield_[$2, null]; } + | T_YIELD expr T_DOUBLE_ARROW expr { $$ = Expr\Yield_[$4, $2]; } +; + +array_expr: + T_ARRAY '(' array_pair_list ')' + { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_LONG; + $$ = new Expr\Array_($3, $attrs); } + | '[' array_pair_list ']' + { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_SHORT; + $$ = new Expr\Array_($2, $attrs); } +; + +scalar_dereference: + array_expr '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' + { $attrs = attributes(); $attrs['kind'] = strKind($1); + $$ = Expr\ArrayDimFetch[new Scalar\String_(Scalar\String_::parse($1), $attrs), $3]; } + | constant '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | scalar_dereference '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + /* alternative array syntax missing intentionally */ +; + +anonymous_class: + T_CLASS ctor_arguments extends_from implements_list '{' class_statement_list '}' + { $$ = array(Stmt\Class_[null, ['type' => 0, 'extends' => $3, 'implements' => $4, 'stmts' => $6]], $2); + $this->checkClass($$[0], -1); } +; + +new_expr: + T_NEW class_name_reference ctor_arguments { $$ = Expr\New_[$2, $3]; } + | T_NEW anonymous_class + { list($class, $ctorArgs) = $2; $$ = Expr\New_[$class, $ctorArgs]; } +; + +lexical_vars: + /* empty */ { $$ = array(); } + | T_USE '(' lexical_var_list ')' { $$ = $3; } +; + +lexical_var_list: + lexical_var { init($1); } + | lexical_var_list ',' lexical_var { push($1, $3); } +; + +lexical_var: + optional_ref plain_variable { $$ = Expr\ClosureUse[$2, $1]; } +; + +function_call: + name argument_list { $$ = Expr\FuncCall[$1, $2]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex argument_list + { $$ = Expr\StaticCall[$1, $3, $4]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '{' expr '}' argument_list + { $$ = Expr\StaticCall[$1, $4, $6]; } + | static_property argument_list + { $$ = $this->fixupPhp5StaticPropCall($1, $2, attributes()); } + | variable_without_objects argument_list + { $$ = Expr\FuncCall[$1, $2]; } + | function_call '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + /* alternative array syntax missing intentionally */ +; + +class_name: + T_STATIC { $$ = Name[$1]; } + | name { $$ = $1; } +; + +name: + T_STRING { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } + | T_NAME_FULLY_QUALIFIED { $$ = Name\FullyQualified[substr($1, 1)]; } + | T_NAME_RELATIVE { $$ = Name\Relative[substr($1, 10)]; } +; + +class_name_reference: + class_name { $$ = $1; } + | dynamic_class_name_reference { $$ = $1; } +; + +dynamic_class_name_reference: + object_access_for_dcnr { $$ = $1; } + | base_variable { $$ = $1; } +; + +class_name_or_var: + class_name { $$ = $1; } + | reference_variable { $$ = $1; } +; + +object_access_for_dcnr: + base_variable T_OBJECT_OPERATOR object_property + { $$ = Expr\PropertyFetch[$1, $3]; } + | object_access_for_dcnr T_OBJECT_OPERATOR object_property + { $$ = Expr\PropertyFetch[$1, $3]; } + | object_access_for_dcnr '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | object_access_for_dcnr '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } +; + +exit_expr: + /* empty */ { $$ = null; } + | '(' ')' { $$ = null; } + | parentheses_expr { $$ = $1; } +; + +backticks_expr: + /* empty */ { $$ = array(); } + | T_ENCAPSED_AND_WHITESPACE + { $$ = array(Scalar\EncapsedStringPart[Scalar\String_::parseEscapeSequences($1, '`', false)]); } + | encaps_list { parseEncapsed($1, '`', false); $$ = $1; } +; + +ctor_arguments: + /* empty */ { $$ = array(); } + | argument_list { $$ = $1; } +; + +common_scalar: + T_LNUMBER { $$ = $this->parseLNumber($1, attributes(), true); } + | T_DNUMBER { $$ = Scalar\DNumber[Scalar\DNumber::parse($1)]; } + | T_CONSTANT_ENCAPSED_STRING + { $attrs = attributes(); $attrs['kind'] = strKind($1); + $$ = new Scalar\String_(Scalar\String_::parse($1, false), $attrs); } + | T_LINE { $$ = Scalar\MagicConst\Line[]; } + | T_FILE { $$ = Scalar\MagicConst\File[]; } + | T_DIR { $$ = Scalar\MagicConst\Dir[]; } + | T_CLASS_C { $$ = Scalar\MagicConst\Class_[]; } + | T_TRAIT_C { $$ = Scalar\MagicConst\Trait_[]; } + | T_METHOD_C { $$ = Scalar\MagicConst\Method[]; } + | T_FUNC_C { $$ = Scalar\MagicConst\Function_[]; } + | T_NS_C { $$ = Scalar\MagicConst\Namespace_[]; } + | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), false); } + | T_START_HEREDOC T_END_HEREDOC + { $$ = $this->parseDocString($1, '', $2, attributes(), stackAttributes(#2), false); } +; + +static_scalar: + common_scalar { $$ = $1; } + | class_name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = Expr\ClassConstFetch[$1, $3]; } + | name { $$ = Expr\ConstFetch[$1]; } + | T_ARRAY '(' static_array_pair_list ')' { $$ = Expr\Array_[$3]; } + | '[' static_array_pair_list ']' { $$ = Expr\Array_[$2]; } + | static_operation { $$ = $1; } +; + +static_operation: + static_scalar T_BOOLEAN_OR static_scalar { $$ = Expr\BinaryOp\BooleanOr [$1, $3]; } + | static_scalar T_BOOLEAN_AND static_scalar { $$ = Expr\BinaryOp\BooleanAnd[$1, $3]; } + | static_scalar T_LOGICAL_OR static_scalar { $$ = Expr\BinaryOp\LogicalOr [$1, $3]; } + | static_scalar T_LOGICAL_AND static_scalar { $$ = Expr\BinaryOp\LogicalAnd[$1, $3]; } + | static_scalar T_LOGICAL_XOR static_scalar { $$ = Expr\BinaryOp\LogicalXor[$1, $3]; } + | static_scalar '|' static_scalar { $$ = Expr\BinaryOp\BitwiseOr [$1, $3]; } + | static_scalar '&' static_scalar { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } + | static_scalar '^' static_scalar { $$ = Expr\BinaryOp\BitwiseXor[$1, $3]; } + | static_scalar '.' static_scalar { $$ = Expr\BinaryOp\Concat [$1, $3]; } + | static_scalar '+' static_scalar { $$ = Expr\BinaryOp\Plus [$1, $3]; } + | static_scalar '-' static_scalar { $$ = Expr\BinaryOp\Minus [$1, $3]; } + | static_scalar '*' static_scalar { $$ = Expr\BinaryOp\Mul [$1, $3]; } + | static_scalar '/' static_scalar { $$ = Expr\BinaryOp\Div [$1, $3]; } + | static_scalar '%' static_scalar { $$ = Expr\BinaryOp\Mod [$1, $3]; } + | static_scalar T_SL static_scalar { $$ = Expr\BinaryOp\ShiftLeft [$1, $3]; } + | static_scalar T_SR static_scalar { $$ = Expr\BinaryOp\ShiftRight[$1, $3]; } + | static_scalar T_POW static_scalar { $$ = Expr\BinaryOp\Pow [$1, $3]; } + | '+' static_scalar %prec T_INC { $$ = Expr\UnaryPlus [$2]; } + | '-' static_scalar %prec T_INC { $$ = Expr\UnaryMinus[$2]; } + | '!' static_scalar { $$ = Expr\BooleanNot[$2]; } + | '~' static_scalar { $$ = Expr\BitwiseNot[$2]; } + | static_scalar T_IS_IDENTICAL static_scalar { $$ = Expr\BinaryOp\Identical [$1, $3]; } + | static_scalar T_IS_NOT_IDENTICAL static_scalar { $$ = Expr\BinaryOp\NotIdentical [$1, $3]; } + | static_scalar T_IS_EQUAL static_scalar { $$ = Expr\BinaryOp\Equal [$1, $3]; } + | static_scalar T_IS_NOT_EQUAL static_scalar { $$ = Expr\BinaryOp\NotEqual [$1, $3]; } + | static_scalar '<' static_scalar { $$ = Expr\BinaryOp\Smaller [$1, $3]; } + | static_scalar T_IS_SMALLER_OR_EQUAL static_scalar { $$ = Expr\BinaryOp\SmallerOrEqual[$1, $3]; } + | static_scalar '>' static_scalar { $$ = Expr\BinaryOp\Greater [$1, $3]; } + | static_scalar T_IS_GREATER_OR_EQUAL static_scalar { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; } + | static_scalar '?' static_scalar ':' static_scalar { $$ = Expr\Ternary[$1, $3, $5]; } + | static_scalar '?' ':' static_scalar { $$ = Expr\Ternary[$1, null, $4]; } + | static_scalar '[' static_scalar ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | '(' static_scalar ')' { $$ = $2; } +; + +constant: + name { $$ = Expr\ConstFetch[$1]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex + { $$ = Expr\ClassConstFetch[$1, $3]; } +; + +scalar: + common_scalar { $$ = $1; } + | constant { $$ = $1; } + | '"' encaps_list '"' + { $attrs = attributes(); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + parseEncapsed($2, '"', true); $$ = new Scalar\Encapsed($2, $attrs); } + | T_START_HEREDOC encaps_list T_END_HEREDOC + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } +; + +static_array_pair_list: + /* empty */ { $$ = array(); } + | non_empty_static_array_pair_list optional_comma { $$ = $1; } +; + +optional_comma: + /* empty */ + | ',' +; + +non_empty_static_array_pair_list: + non_empty_static_array_pair_list ',' static_array_pair { push($1, $3); } + | static_array_pair { init($1); } +; + +static_array_pair: + static_scalar T_DOUBLE_ARROW static_scalar { $$ = Expr\ArrayItem[$3, $1, false]; } + | static_scalar { $$ = Expr\ArrayItem[$1, null, false]; } +; + +variable: + object_access { $$ = $1; } + | base_variable { $$ = $1; } + | function_call { $$ = $1; } + | new_expr_array_deref { $$ = $1; } +; + +new_expr_array_deref: + '(' new_expr ')' '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$2, $5]; } + | new_expr_array_deref '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + /* alternative array syntax missing intentionally */ +; + +object_access: + variable_or_new_expr T_OBJECT_OPERATOR object_property + { $$ = Expr\PropertyFetch[$1, $3]; } + | variable_or_new_expr T_OBJECT_OPERATOR object_property argument_list + { $$ = Expr\MethodCall[$1, $3, $4]; } + | object_access argument_list { $$ = Expr\FuncCall[$1, $2]; } + | object_access '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | object_access '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } +; + +variable_or_new_expr: + variable { $$ = $1; } + | '(' new_expr ')' { $$ = $2; } +; + +variable_without_objects: + reference_variable { $$ = $1; } + | '$' variable_without_objects { $$ = Expr\Variable[$2]; } +; + +base_variable: + variable_without_objects { $$ = $1; } + | static_property { $$ = $1; } +; + +static_property: + class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '$' reference_variable + { $$ = Expr\StaticPropertyFetch[$1, $4]; } + | static_property_with_arrays { $$ = $1; } +; + +static_property_simple_name: + T_VARIABLE + { $var = parseVar($1); $$ = \is_string($var) ? Node\VarLikeIdentifier[$var] : $var; } +; + +static_property_with_arrays: + class_name_or_var T_PAAMAYIM_NEKUDOTAYIM static_property_simple_name + { $$ = Expr\StaticPropertyFetch[$1, $3]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '$' '{' expr '}' + { $$ = Expr\StaticPropertyFetch[$1, $5]; } + | static_property_with_arrays '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | static_property_with_arrays '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } +; + +reference_variable: + reference_variable '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | reference_variable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | plain_variable { $$ = $1; } + | '$' '{' expr '}' { $$ = Expr\Variable[$3]; } +; + +dim_offset: + /* empty */ { $$ = null; } + | expr { $$ = $1; } +; + +object_property: + identifier { $$ = $1; } + | '{' expr '}' { $$ = $2; } + | variable_without_objects { $$ = $1; } + | error { $$ = Expr\Error[]; $this->errorState = 2; } +; + +list_expr: + T_LIST '(' list_expr_elements ')' { $$ = Expr\List_[$3]; } +; + +list_expr_elements: + list_expr_elements ',' list_expr_element { push($1, $3); } + | list_expr_element { init($1); } +; + +list_expr_element: + variable { $$ = Expr\ArrayItem[$1, null, false]; } + | list_expr { $$ = Expr\ArrayItem[$1, null, false]; } + | /* empty */ { $$ = null; } +; + +array_pair_list: + /* empty */ { $$ = array(); } + | non_empty_array_pair_list optional_comma { $$ = $1; } +; + +non_empty_array_pair_list: + non_empty_array_pair_list ',' array_pair { push($1, $3); } + | array_pair { init($1); } +; + +array_pair: + expr T_DOUBLE_ARROW expr { $$ = Expr\ArrayItem[$3, $1, false]; } + | expr { $$ = Expr\ArrayItem[$1, null, false]; } + | expr T_DOUBLE_ARROW '&' variable { $$ = Expr\ArrayItem[$4, $1, true]; } + | '&' variable { $$ = Expr\ArrayItem[$2, null, true]; } + | T_ELLIPSIS expr { $$ = Expr\ArrayItem[$2, null, false, attributes(), true]; } +; + +encaps_list: + encaps_list encaps_var { push($1, $2); } + | encaps_list encaps_string_part { push($1, $2); } + | encaps_var { init($1); } + | encaps_string_part encaps_var { init($1, $2); } +; + +encaps_string_part: + T_ENCAPSED_AND_WHITESPACE { $$ = Scalar\EncapsedStringPart[$1]; } +; + +encaps_str_varname: + T_STRING_VARNAME { $$ = Expr\Variable[$1]; } +; + +encaps_var: + plain_variable { $$ = $1; } + | plain_variable '[' encaps_var_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | plain_variable T_OBJECT_OPERATOR identifier { $$ = Expr\PropertyFetch[$1, $3]; } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Expr\Variable[$2]; } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = Expr\Variable[$2]; } + | T_DOLLAR_OPEN_CURLY_BRACES encaps_str_varname '[' expr ']' '}' + { $$ = Expr\ArrayDimFetch[$2, $4]; } + | T_CURLY_OPEN variable '}' { $$ = $2; } +; + +encaps_var_offset: + T_STRING { $$ = Scalar\String_[$1]; } + | T_NUM_STRING { $$ = $this->parseNumString($1, attributes()); } + | plain_variable { $$ = $1; } +; + +%% diff --git a/vendor-bundle/phabel/php-parser/grammar/php7.y b/vendor-bundle/phabel/php-parser/grammar/php7.y new file mode 100644 index 000000000..4ca244d8a --- /dev/null +++ b/vendor-bundle/phabel/php-parser/grammar/php7.y @@ -0,0 +1,1138 @@ +%pure_parser +%expect 2 + +%tokens + +%% + +start: + top_statement_list { $$ = $this->handleNamespaces($1); } +; + +top_statement_list_ex: + top_statement_list_ex top_statement { pushNormalizing($1, $2); } + | /* empty */ { init(); } +; + +top_statement_list: + top_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +reserved_non_modifiers: + T_INCLUDE | T_INCLUDE_ONCE | T_EVAL | T_REQUIRE | T_REQUIRE_ONCE | T_LOGICAL_OR | T_LOGICAL_XOR | T_LOGICAL_AND + | T_INSTANCEOF | T_NEW | T_CLONE | T_EXIT | T_IF | T_ELSEIF | T_ELSE | T_ENDIF | T_ECHO | T_DO | T_WHILE + | T_ENDWHILE | T_FOR | T_ENDFOR | T_FOREACH | T_ENDFOREACH | T_DECLARE | T_ENDDECLARE | T_AS | T_TRY | T_CATCH + | T_FINALLY | T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO + | T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT + | T_BREAK | T_ARRAY | T_CALLABLE | T_EXTENDS | T_IMPLEMENTS | T_NAMESPACE | T_TRAIT | T_INTERFACE | T_CLASS + | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER | T_FN + | T_MATCH +; + +semi_reserved: + reserved_non_modifiers + | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC +; + +identifier_ex: + T_STRING { $$ = Node\Identifier[$1]; } + | semi_reserved { $$ = Node\Identifier[$1]; } +; + +identifier: + T_STRING { $$ = Node\Identifier[$1]; } +; + +reserved_non_modifiers_identifier: + reserved_non_modifiers { $$ = Node\Identifier[$1]; } +; + +namespace_declaration_name: + T_STRING { $$ = Name[$1]; } + | semi_reserved { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } +; + +namespace_name: + T_STRING { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } +; + +legacy_namespace_name: + namespace_name { $$ = $1; } + | T_NAME_FULLY_QUALIFIED { $$ = Name[substr($1, 1)]; } +; + +plain_variable: + T_VARIABLE { $$ = Expr\Variable[parseVar($1)]; } +; + +semi: + ';' { /* nothing */ } + | error { /* nothing */ } +; + +no_comma: + /* empty */ { /* nothing */ } + | ',' { $this->emitError(new Error('A trailing comma is not allowed here', attributes())); } +; + +optional_comma: + /* empty */ + | ',' +; + +attribute_decl: + class_name { $$ = Node\Attribute[$1, []]; } + | class_name argument_list { $$ = Node\Attribute[$1, $2]; } +; + +attribute_group: + attribute_decl { init($1); } + | attribute_group ',' attribute_decl { push($1, $3); } +; + +attribute: + T_ATTRIBUTE attribute_group optional_comma ']' { $$ = Node\AttributeGroup[$2]; } +; + +attributes: + attribute { init($1); } + | attributes attribute { push($1, $2); } +; + +optional_attributes: + /* empty */ { $$ = []; } + | attributes { $$ = $1; } +; + +top_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | T_HALT_COMPILER + { $$ = Stmt\HaltCompiler[$this->lexer->handleHaltCompiler()]; } + | T_NAMESPACE namespace_declaration_name semi + { $$ = Stmt\Namespace_[$2, null]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $this->checkNamespace($$); } + | T_NAMESPACE namespace_declaration_name '{' top_statement_list '}' + { $$ = Stmt\Namespace_[$2, $4]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($$); } + | T_NAMESPACE '{' top_statement_list '}' + { $$ = Stmt\Namespace_[null, $3]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($$); } + | T_USE use_declarations semi { $$ = Stmt\Use_[$2, Stmt\Use_::TYPE_NORMAL]; } + | T_USE use_type use_declarations semi { $$ = Stmt\Use_[$3, $2]; } + | group_use_declaration semi { $$ = $1; } + | T_CONST constant_declaration_list semi { $$ = Stmt\Const_[$2]; } +; + +use_type: + T_FUNCTION { $$ = Stmt\Use_::TYPE_FUNCTION; } + | T_CONST { $$ = Stmt\Use_::TYPE_CONSTANT; } +; + +group_use_declaration: + T_USE use_type legacy_namespace_name T_NS_SEPARATOR '{' unprefixed_use_declarations '}' + { $$ = Stmt\GroupUse[$3, $6, $2]; } + | T_USE legacy_namespace_name T_NS_SEPARATOR '{' inline_use_declarations '}' + { $$ = Stmt\GroupUse[$2, $5, Stmt\Use_::TYPE_UNKNOWN]; } +; + +unprefixed_use_declarations: + non_empty_unprefixed_use_declarations optional_comma { $$ = $1; } +; + +non_empty_unprefixed_use_declarations: + non_empty_unprefixed_use_declarations ',' unprefixed_use_declaration + { push($1, $3); } + | unprefixed_use_declaration { init($1); } +; + +use_declarations: + non_empty_use_declarations no_comma { $$ = $1; } +; + +non_empty_use_declarations: + non_empty_use_declarations ',' use_declaration { push($1, $3); } + | use_declaration { init($1); } +; + +inline_use_declarations: + non_empty_inline_use_declarations optional_comma { $$ = $1; } +; + +non_empty_inline_use_declarations: + non_empty_inline_use_declarations ',' inline_use_declaration + { push($1, $3); } + | inline_use_declaration { init($1); } +; + +unprefixed_use_declaration: + namespace_name + { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } + | namespace_name T_AS identifier + { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } +; + +use_declaration: + legacy_namespace_name + { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } + | legacy_namespace_name T_AS identifier + { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } +; + +inline_use_declaration: + unprefixed_use_declaration { $$ = $1; $$->type = Stmt\Use_::TYPE_NORMAL; } + | use_type unprefixed_use_declaration { $$ = $2; $$->type = $1; } +; + +constant_declaration_list: + non_empty_constant_declaration_list no_comma { $$ = $1; } +; + +non_empty_constant_declaration_list: + non_empty_constant_declaration_list ',' constant_declaration + { push($1, $3); } + | constant_declaration { init($1); } +; + +constant_declaration: + identifier '=' expr { $$ = Node\Const_[$1, $3]; } +; + +class_const_list: + non_empty_class_const_list no_comma { $$ = $1; } +; + +non_empty_class_const_list: + non_empty_class_const_list ',' class_const { push($1, $3); } + | class_const { init($1); } +; + +class_const: + identifier_ex '=' expr { $$ = Node\Const_[$1, $3]; } +; + +inner_statement_list_ex: + inner_statement_list_ex inner_statement { pushNormalizing($1, $2); } + | /* empty */ { init(); } +; + +inner_statement_list: + inner_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +inner_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | T_HALT_COMPILER + { throw new Error('__HALT_COMPILER() can only be used from the outermost scope', attributes()); } +; + +non_empty_statement: + '{' inner_statement_list '}' + { + if ($2) { + $$ = $2; prependLeadingComments($$); + } else { + makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); + if (null === $$) { $$ = array(); } + } + } + | T_IF '(' expr ')' statement elseif_list else_single + { $$ = Stmt\If_[$3, ['stmts' => toArray($5), 'elseifs' => $6, 'else' => $7]]; } + | T_IF '(' expr ')' ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' + { $$ = Stmt\If_[$3, ['stmts' => $6, 'elseifs' => $7, 'else' => $8]]; } + | T_WHILE '(' expr ')' while_statement { $$ = Stmt\While_[$3, $5]; } + | T_DO statement T_WHILE '(' expr ')' ';' { $$ = Stmt\Do_ [$5, toArray($2)]; } + | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement + { $$ = Stmt\For_[['init' => $3, 'cond' => $5, 'loop' => $7, 'stmts' => $9]]; } + | T_SWITCH '(' expr ')' switch_case_list { $$ = Stmt\Switch_[$3, $5]; } + | T_BREAK optional_expr semi { $$ = Stmt\Break_[$2]; } + | T_CONTINUE optional_expr semi { $$ = Stmt\Continue_[$2]; } + | T_RETURN optional_expr semi { $$ = Stmt\Return_[$2]; } + | T_GLOBAL global_var_list semi { $$ = Stmt\Global_[$2]; } + | T_STATIC static_var_list semi { $$ = Stmt\Static_[$2]; } + | T_ECHO expr_list_forbid_comma semi { $$ = Stmt\Echo_[$2]; } + | T_INLINE_HTML { $$ = Stmt\InlineHTML[$1]; } + | expr semi { + $e = $1; + if ($e instanceof Expr\Throw_) { + // For backwards-compatibility reasons, convert throw in statement position into + // Stmt\Throw_ rather than Stmt\Expression(Expr\Throw_). + $$ = Stmt\Throw_[$e->expr]; + } else { + $$ = Stmt\Expression[$e]; + } + } + | T_UNSET '(' variables_list ')' semi { $$ = Stmt\Unset_[$3]; } + | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement + { $$ = Stmt\Foreach_[$3, $5[0], ['keyVar' => null, 'byRef' => $5[1], 'stmts' => $7]]; } + | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement + { $$ = Stmt\Foreach_[$3, $7[0], ['keyVar' => $5, 'byRef' => $7[1], 'stmts' => $9]]; } + | T_FOREACH '(' expr error ')' foreach_statement + { $$ = Stmt\Foreach_[$3, new Expr\Error(stackAttributes(#4)), ['stmts' => $6]]; } + | T_DECLARE '(' declare_list ')' declare_statement { $$ = Stmt\Declare_[$3, $5]; } + | T_TRY '{' inner_statement_list '}' catches optional_finally + { $$ = Stmt\TryCatch[$3, $5, $6]; $this->checkTryCatch($$); } + | T_GOTO identifier semi { $$ = Stmt\Goto_[$2]; } + | identifier ':' { $$ = Stmt\Label[$1]; } + | error { $$ = array(); /* means: no statement */ } +; + +statement: + non_empty_statement { $$ = $1; } + | ';' + { makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); + if ($$ === null) $$ = array(); /* means: no statement */ } +; + +catches: + /* empty */ { init(); } + | catches catch { push($1, $2); } +; + +name_union: + name { init($1); } + | name_union '|' name { push($1, $3); } +; + +catch: + T_CATCH '(' name_union optional_plain_variable ')' '{' inner_statement_list '}' + { $$ = Stmt\Catch_[$3, $4, $7]; } +; + +optional_finally: + /* empty */ { $$ = null; } + | T_FINALLY '{' inner_statement_list '}' { $$ = Stmt\Finally_[$3]; } +; + +variables_list: + non_empty_variables_list optional_comma { $$ = $1; } +; + +non_empty_variables_list: + variable { init($1); } + | non_empty_variables_list ',' variable { push($1, $3); } +; + +optional_ref: + /* empty */ { $$ = false; } + | '&' { $$ = true; } +; + +optional_ellipsis: + /* empty */ { $$ = false; } + | T_ELLIPSIS { $$ = true; } +; + +block_or_error: + '{' inner_statement_list '}' { $$ = $2; } + | error { $$ = []; } +; + +function_declaration_statement: + T_FUNCTION optional_ref identifier '(' parameter_list ')' optional_return_type block_or_error + { $$ = Stmt\Function_[$3, ['byRef' => $2, 'params' => $5, 'returnType' => $7, 'stmts' => $8, 'attrGroups' => []]]; } + | attributes T_FUNCTION optional_ref identifier '(' parameter_list ')' optional_return_type block_or_error + { $$ = Stmt\Function_[$4, ['byRef' => $3, 'params' => $6, 'returnType' => $8, 'stmts' => $9, 'attrGroups' => $1]]; } +; + +class_declaration_statement: + optional_attributes class_entry_type identifier extends_from implements_list '{' class_statement_list '}' + { $$ = Stmt\Class_[$3, ['type' => $2, 'extends' => $4, 'implements' => $5, 'stmts' => $7, 'attrGroups' => $1]]; + $this->checkClass($$, #3); } + | optional_attributes T_INTERFACE identifier interface_extends_list '{' class_statement_list '}' + { $$ = Stmt\Interface_[$3, ['extends' => $4, 'stmts' => $6, 'attrGroups' => $1]]; + $this->checkInterface($$, #3); } + | optional_attributes T_TRAIT identifier '{' class_statement_list '}' + { $$ = Stmt\Trait_[$3, ['stmts' => $5, 'attrGroups' => $1]]; } +; + +class_entry_type: + T_CLASS { $$ = 0; } + | T_ABSTRACT T_CLASS { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } + | T_FINAL T_CLASS { $$ = Stmt\Class_::MODIFIER_FINAL; } +; + +extends_from: + /* empty */ { $$ = null; } + | T_EXTENDS class_name { $$ = $2; } +; + +interface_extends_list: + /* empty */ { $$ = array(); } + | T_EXTENDS class_name_list { $$ = $2; } +; + +implements_list: + /* empty */ { $$ = array(); } + | T_IMPLEMENTS class_name_list { $$ = $2; } +; + +class_name_list: + non_empty_class_name_list no_comma { $$ = $1; } +; + +non_empty_class_name_list: + class_name { init($1); } + | non_empty_class_name_list ',' class_name { push($1, $3); } +; + +for_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDFOR ';' { $$ = $2; } +; + +foreach_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDFOREACH ';' { $$ = $2; } +; + +declare_statement: + non_empty_statement { $$ = toArray($1); } + | ';' { $$ = null; } + | ':' inner_statement_list T_ENDDECLARE ';' { $$ = $2; } +; + +declare_list: + non_empty_declare_list no_comma { $$ = $1; } +; + +non_empty_declare_list: + declare_list_element { init($1); } + | non_empty_declare_list ',' declare_list_element { push($1, $3); } +; + +declare_list_element: + identifier '=' expr { $$ = Stmt\DeclareDeclare[$1, $3]; } +; + +switch_case_list: + '{' case_list '}' { $$ = $2; } + | '{' ';' case_list '}' { $$ = $3; } + | ':' case_list T_ENDSWITCH ';' { $$ = $2; } + | ':' ';' case_list T_ENDSWITCH ';' { $$ = $3; } +; + +case_list: + /* empty */ { init(); } + | case_list case { push($1, $2); } +; + +case: + T_CASE expr case_separator inner_statement_list_ex { $$ = Stmt\Case_[$2, $4]; } + | T_DEFAULT case_separator inner_statement_list_ex { $$ = Stmt\Case_[null, $3]; } +; + +case_separator: + ':' + | ';' +; + +match: + T_MATCH '(' expr ')' '{' match_arm_list '}' { $$ = Expr\Match_[$3, $6]; } +; + +match_arm_list: + /* empty */ { $$ = []; } + | non_empty_match_arm_list optional_comma { $$ = $1; } +; + +non_empty_match_arm_list: + match_arm { init($1); } + | non_empty_match_arm_list ',' match_arm { push($1, $3); } +; + +match_arm: + expr_list_allow_comma T_DOUBLE_ARROW expr { $$ = Node\MatchArm[$1, $3]; } + | T_DEFAULT optional_comma T_DOUBLE_ARROW expr { $$ = Node\MatchArm[null, $4]; } +; + +while_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDWHILE ';' { $$ = $2; } +; + +elseif_list: + /* empty */ { init(); } + | elseif_list elseif { push($1, $2); } +; + +elseif: + T_ELSEIF '(' expr ')' statement { $$ = Stmt\ElseIf_[$3, toArray($5)]; } +; + +new_elseif_list: + /* empty */ { init(); } + | new_elseif_list new_elseif { push($1, $2); } +; + +new_elseif: + T_ELSEIF '(' expr ')' ':' inner_statement_list { $$ = Stmt\ElseIf_[$3, $6]; } +; + +else_single: + /* empty */ { $$ = null; } + | T_ELSE statement { $$ = Stmt\Else_[toArray($2)]; } +; + +new_else_single: + /* empty */ { $$ = null; } + | T_ELSE ':' inner_statement_list { $$ = Stmt\Else_[$3]; } +; + +foreach_variable: + variable { $$ = array($1, false); } + | '&' variable { $$ = array($2, true); } + | list_expr { $$ = array($1, false); } + | array_short_syntax { $$ = array($1, false); } +; + +parameter_list: + non_empty_parameter_list optional_comma { $$ = $1; } + | /* empty */ { $$ = array(); } +; + +non_empty_parameter_list: + parameter { init($1); } + | non_empty_parameter_list ',' parameter { push($1, $3); } +; + +optional_visibility_modifier: + /* empty */ { $$ = 0; } + | T_PUBLIC { $$ = Stmt\Class_::MODIFIER_PUBLIC; } + | T_PROTECTED { $$ = Stmt\Class_::MODIFIER_PROTECTED; } + | T_PRIVATE { $$ = Stmt\Class_::MODIFIER_PRIVATE; } +; + +parameter: + optional_attributes optional_visibility_modifier optional_type_without_static optional_ref optional_ellipsis plain_variable + { $$ = new Node\Param($6, null, $3, $4, $5, attributes(), $2, $1); + $this->checkParam($$); } + | optional_attributes optional_visibility_modifier optional_type_without_static optional_ref optional_ellipsis plain_variable '=' expr + { $$ = new Node\Param($6, $8, $3, $4, $5, attributes(), $2, $1); + $this->checkParam($$); } + | optional_attributes optional_visibility_modifier optional_type_without_static optional_ref optional_ellipsis error + { $$ = new Node\Param(Expr\Error[], null, $3, $4, $5, attributes(), $2, $1); } +; + +type_expr: + type { $$ = $1; } + | '?' type { $$ = Node\NullableType[$2]; } + | union_type { $$ = Node\UnionType[$1]; } +; + +type: + type_without_static { $$ = $1; } + | T_STATIC { $$ = Node\Name['static']; } +; + +type_without_static: + name { $$ = $this->handleBuiltinTypes($1); } + | T_ARRAY { $$ = Node\Identifier['array']; } + | T_CALLABLE { $$ = Node\Identifier['callable']; } +; + +union_type: + type '|' type { init($1, $3); } + | union_type '|' type { push($1, $3); } +; + +union_type_without_static: + type_without_static '|' type_without_static { init($1, $3); } + | union_type_without_static '|' type_without_static { push($1, $3); } +; + +type_expr_without_static: + type_without_static { $$ = $1; } + | '?' type_without_static { $$ = Node\NullableType[$2]; } + | union_type_without_static { $$ = Node\UnionType[$1]; } +; + +optional_type_without_static: + /* empty */ { $$ = null; } + | type_expr_without_static { $$ = $1; } +; + +optional_return_type: + /* empty */ { $$ = null; } + | ':' type_expr { $$ = $2; } + | ':' error { $$ = null; } +; + +argument_list: + '(' ')' { $$ = array(); } + | '(' non_empty_argument_list optional_comma ')' { $$ = $2; } +; + +non_empty_argument_list: + argument { init($1); } + | non_empty_argument_list ',' argument { push($1, $3); } +; + +argument: + expr { $$ = Node\Arg[$1, false, false]; } + | '&' variable { $$ = Node\Arg[$2, true, false]; } + | T_ELLIPSIS expr { $$ = Node\Arg[$2, false, true]; } + | identifier_ex ':' expr + { $$ = new Node\Arg($3, false, false, attributes(), $1); } +; + +global_var_list: + non_empty_global_var_list no_comma { $$ = $1; } +; + +non_empty_global_var_list: + non_empty_global_var_list ',' global_var { push($1, $3); } + | global_var { init($1); } +; + +global_var: + simple_variable { $$ = $1; } +; + +static_var_list: + non_empty_static_var_list no_comma { $$ = $1; } +; + +non_empty_static_var_list: + non_empty_static_var_list ',' static_var { push($1, $3); } + | static_var { init($1); } +; + +static_var: + plain_variable { $$ = Stmt\StaticVar[$1, null]; } + | plain_variable '=' expr { $$ = Stmt\StaticVar[$1, $3]; } +; + +class_statement_list_ex: + class_statement_list_ex class_statement { if ($2 !== null) { push($1, $2); } } + | /* empty */ { init(); } +; + +class_statement_list: + class_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +class_statement: + optional_attributes variable_modifiers optional_type_without_static property_declaration_list semi + { $$ = new Stmt\Property($2, $4, attributes(), $3, $1); + $this->checkProperty($$, #2); } + | optional_attributes method_modifiers T_CONST class_const_list semi + { $$ = new Stmt\ClassConst($4, $2, attributes(), $1); + $this->checkClassConst($$, #2); } + | optional_attributes method_modifiers T_FUNCTION optional_ref identifier_ex '(' parameter_list ')' optional_return_type method_body + { $$ = Stmt\ClassMethod[$5, ['type' => $2, 'byRef' => $4, 'params' => $7, 'returnType' => $9, 'stmts' => $10, 'attrGroups' => $1]]; + $this->checkClassMethod($$, #2); } + | T_USE class_name_list trait_adaptations { $$ = Stmt\TraitUse[$2, $3]; } + | error { $$ = null; /* will be skipped */ } +; + +trait_adaptations: + ';' { $$ = array(); } + | '{' trait_adaptation_list '}' { $$ = $2; } +; + +trait_adaptation_list: + /* empty */ { init(); } + | trait_adaptation_list trait_adaptation { push($1, $2); } +; + +trait_adaptation: + trait_method_reference_fully_qualified T_INSTEADOF class_name_list ';' + { $$ = Stmt\TraitUseAdaptation\Precedence[$1[0], $1[1], $3]; } + | trait_method_reference T_AS member_modifier identifier_ex ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, $4]; } + | trait_method_reference T_AS member_modifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, null]; } + | trait_method_reference T_AS identifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } + | trait_method_reference T_AS reserved_non_modifiers_identifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } +; + +trait_method_reference_fully_qualified: + name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = array($1, $3); } +; +trait_method_reference: + trait_method_reference_fully_qualified { $$ = $1; } + | identifier_ex { $$ = array(null, $1); } +; + +method_body: + ';' /* abstract method */ { $$ = null; } + | block_or_error { $$ = $1; } +; + +variable_modifiers: + non_empty_member_modifiers { $$ = $1; } + | T_VAR { $$ = 0; } +; + +method_modifiers: + /* empty */ { $$ = 0; } + | non_empty_member_modifiers { $$ = $1; } +; + +non_empty_member_modifiers: + member_modifier { $$ = $1; } + | non_empty_member_modifiers member_modifier { $this->checkModifier($1, $2, #2); $$ = $1 | $2; } +; + +member_modifier: + T_PUBLIC { $$ = Stmt\Class_::MODIFIER_PUBLIC; } + | T_PROTECTED { $$ = Stmt\Class_::MODIFIER_PROTECTED; } + | T_PRIVATE { $$ = Stmt\Class_::MODIFIER_PRIVATE; } + | T_STATIC { $$ = Stmt\Class_::MODIFIER_STATIC; } + | T_ABSTRACT { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } + | T_FINAL { $$ = Stmt\Class_::MODIFIER_FINAL; } +; + +property_declaration_list: + non_empty_property_declaration_list no_comma { $$ = $1; } +; + +non_empty_property_declaration_list: + property_declaration { init($1); } + | non_empty_property_declaration_list ',' property_declaration + { push($1, $3); } +; + +property_decl_name: + T_VARIABLE { $$ = Node\VarLikeIdentifier[parseVar($1)]; } +; + +property_declaration: + property_decl_name { $$ = Stmt\PropertyProperty[$1, null]; } + | property_decl_name '=' expr { $$ = Stmt\PropertyProperty[$1, $3]; } +; + +expr_list_forbid_comma: + non_empty_expr_list no_comma { $$ = $1; } +; + +expr_list_allow_comma: + non_empty_expr_list optional_comma { $$ = $1; } +; + +non_empty_expr_list: + non_empty_expr_list ',' expr { push($1, $3); } + | expr { init($1); } +; + +for_expr: + /* empty */ { $$ = array(); } + | expr_list_forbid_comma { $$ = $1; } +; + +expr: + variable { $$ = $1; } + | list_expr '=' expr { $$ = Expr\Assign[$1, $3]; } + | array_short_syntax '=' expr { $$ = Expr\Assign[$1, $3]; } + | variable '=' expr { $$ = Expr\Assign[$1, $3]; } + | variable '=' '&' variable { $$ = Expr\AssignRef[$1, $4]; } + | new_expr { $$ = $1; } + | match { $$ = $1; } + | T_CLONE expr { $$ = Expr\Clone_[$2]; } + | variable T_PLUS_EQUAL expr { $$ = Expr\AssignOp\Plus [$1, $3]; } + | variable T_MINUS_EQUAL expr { $$ = Expr\AssignOp\Minus [$1, $3]; } + | variable T_MUL_EQUAL expr { $$ = Expr\AssignOp\Mul [$1, $3]; } + | variable T_DIV_EQUAL expr { $$ = Expr\AssignOp\Div [$1, $3]; } + | variable T_CONCAT_EQUAL expr { $$ = Expr\AssignOp\Concat [$1, $3]; } + | variable T_MOD_EQUAL expr { $$ = Expr\AssignOp\Mod [$1, $3]; } + | variable T_AND_EQUAL expr { $$ = Expr\AssignOp\BitwiseAnd[$1, $3]; } + | variable T_OR_EQUAL expr { $$ = Expr\AssignOp\BitwiseOr [$1, $3]; } + | variable T_XOR_EQUAL expr { $$ = Expr\AssignOp\BitwiseXor[$1, $3]; } + | variable T_SL_EQUAL expr { $$ = Expr\AssignOp\ShiftLeft [$1, $3]; } + | variable T_SR_EQUAL expr { $$ = Expr\AssignOp\ShiftRight[$1, $3]; } + | variable T_POW_EQUAL expr { $$ = Expr\AssignOp\Pow [$1, $3]; } + | variable T_COALESCE_EQUAL expr { $$ = Expr\AssignOp\Coalesce [$1, $3]; } + | variable T_INC { $$ = Expr\PostInc[$1]; } + | T_INC variable { $$ = Expr\PreInc [$2]; } + | variable T_DEC { $$ = Expr\PostDec[$1]; } + | T_DEC variable { $$ = Expr\PreDec [$2]; } + | expr T_BOOLEAN_OR expr { $$ = Expr\BinaryOp\BooleanOr [$1, $3]; } + | expr T_BOOLEAN_AND expr { $$ = Expr\BinaryOp\BooleanAnd[$1, $3]; } + | expr T_LOGICAL_OR expr { $$ = Expr\BinaryOp\LogicalOr [$1, $3]; } + | expr T_LOGICAL_AND expr { $$ = Expr\BinaryOp\LogicalAnd[$1, $3]; } + | expr T_LOGICAL_XOR expr { $$ = Expr\BinaryOp\LogicalXor[$1, $3]; } + | expr '|' expr { $$ = Expr\BinaryOp\BitwiseOr [$1, $3]; } + | expr '&' expr { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } + | expr '^' expr { $$ = Expr\BinaryOp\BitwiseXor[$1, $3]; } + | expr '.' expr { $$ = Expr\BinaryOp\Concat [$1, $3]; } + | expr '+' expr { $$ = Expr\BinaryOp\Plus [$1, $3]; } + | expr '-' expr { $$ = Expr\BinaryOp\Minus [$1, $3]; } + | expr '*' expr { $$ = Expr\BinaryOp\Mul [$1, $3]; } + | expr '/' expr { $$ = Expr\BinaryOp\Div [$1, $3]; } + | expr '%' expr { $$ = Expr\BinaryOp\Mod [$1, $3]; } + | expr T_SL expr { $$ = Expr\BinaryOp\ShiftLeft [$1, $3]; } + | expr T_SR expr { $$ = Expr\BinaryOp\ShiftRight[$1, $3]; } + | expr T_POW expr { $$ = Expr\BinaryOp\Pow [$1, $3]; } + | '+' expr %prec T_INC { $$ = Expr\UnaryPlus [$2]; } + | '-' expr %prec T_INC { $$ = Expr\UnaryMinus[$2]; } + | '!' expr { $$ = Expr\BooleanNot[$2]; } + | '~' expr { $$ = Expr\BitwiseNot[$2]; } + | expr T_IS_IDENTICAL expr { $$ = Expr\BinaryOp\Identical [$1, $3]; } + | expr T_IS_NOT_IDENTICAL expr { $$ = Expr\BinaryOp\NotIdentical [$1, $3]; } + | expr T_IS_EQUAL expr { $$ = Expr\BinaryOp\Equal [$1, $3]; } + | expr T_IS_NOT_EQUAL expr { $$ = Expr\BinaryOp\NotEqual [$1, $3]; } + | expr T_SPACESHIP expr { $$ = Expr\BinaryOp\Spaceship [$1, $3]; } + | expr '<' expr { $$ = Expr\BinaryOp\Smaller [$1, $3]; } + | expr T_IS_SMALLER_OR_EQUAL expr { $$ = Expr\BinaryOp\SmallerOrEqual[$1, $3]; } + | expr '>' expr { $$ = Expr\BinaryOp\Greater [$1, $3]; } + | expr T_IS_GREATER_OR_EQUAL expr { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; } + | expr T_INSTANCEOF class_name_reference { $$ = Expr\Instanceof_[$1, $3]; } + | '(' expr ')' { $$ = $2; } + | expr '?' expr ':' expr { $$ = Expr\Ternary[$1, $3, $5]; } + | expr '?' ':' expr { $$ = Expr\Ternary[$1, null, $4]; } + | expr T_COALESCE expr { $$ = Expr\BinaryOp\Coalesce[$1, $3]; } + | T_ISSET '(' expr_list_allow_comma ')' { $$ = Expr\Isset_[$3]; } + | T_EMPTY '(' expr ')' { $$ = Expr\Empty_[$3]; } + | T_INCLUDE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE]; } + | T_INCLUDE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE_ONCE]; } + | T_EVAL '(' expr ')' { $$ = Expr\Eval_[$3]; } + | T_REQUIRE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE]; } + | T_REQUIRE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE_ONCE]; } + | T_INT_CAST expr { $$ = Expr\Cast\Int_ [$2]; } + | T_DOUBLE_CAST expr + { $attrs = attributes(); + $attrs['kind'] = $this->getFloatCastKind($1); + $$ = new Expr\Cast\Double($2, $attrs); } + | T_STRING_CAST expr { $$ = Expr\Cast\String_ [$2]; } + | T_ARRAY_CAST expr { $$ = Expr\Cast\Array_ [$2]; } + | T_OBJECT_CAST expr { $$ = Expr\Cast\Object_ [$2]; } + | T_BOOL_CAST expr { $$ = Expr\Cast\Bool_ [$2]; } + | T_UNSET_CAST expr { $$ = Expr\Cast\Unset_ [$2]; } + | T_EXIT exit_expr + { $attrs = attributes(); + $attrs['kind'] = strtolower($1) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $$ = new Expr\Exit_($2, $attrs); } + | '@' expr { $$ = Expr\ErrorSuppress[$2]; } + | scalar { $$ = $1; } + | '`' backticks_expr '`' { $$ = Expr\ShellExec[$2]; } + | T_PRINT expr { $$ = Expr\Print_[$2]; } + | T_YIELD { $$ = Expr\Yield_[null, null]; } + | T_YIELD expr { $$ = Expr\Yield_[$2, null]; } + | T_YIELD expr T_DOUBLE_ARROW expr { $$ = Expr\Yield_[$4, $2]; } + | T_YIELD_FROM expr { $$ = Expr\YieldFrom[$2]; } + | T_THROW expr { $$ = Expr\Throw_[$2]; } + + | T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr + { $$ = Expr\ArrowFunction[['static' => false, 'byRef' => $2, 'params' => $4, 'returnType' => $6, 'expr' => $8, 'attrGroups' => []]]; } + | T_STATIC T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr + { $$ = Expr\ArrowFunction[['static' => true, 'byRef' => $3, 'params' => $5, 'returnType' => $7, 'expr' => $9, 'attrGroups' => []]]; } + | T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type block_or_error + { $$ = Expr\Closure[['static' => false, 'byRef' => $2, 'params' => $4, 'uses' => $6, 'returnType' => $7, 'stmts' => $8, 'attrGroups' => []]]; } + | T_STATIC T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type block_or_error + { $$ = Expr\Closure[['static' => true, 'byRef' => $3, 'params' => $5, 'uses' => $7, 'returnType' => $8, 'stmts' => $9, 'attrGroups' => []]]; } + + | attributes T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr + { $$ = Expr\ArrowFunction[['static' => false, 'byRef' => $3, 'params' => $5, 'returnType' => $7, 'expr' => $9, 'attrGroups' => $1]]; } + | attributes T_STATIC T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr + { $$ = Expr\ArrowFunction[['static' => true, 'byRef' => $4, 'params' => $6, 'returnType' => $8, 'expr' => $10, 'attrGroups' => $1]]; } + | attributes T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type block_or_error + { $$ = Expr\Closure[['static' => false, 'byRef' => $3, 'params' => $5, 'uses' => $7, 'returnType' => $8, 'stmts' => $9, 'attrGroups' => $1]]; } + | attributes T_STATIC T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type block_or_error + { $$ = Expr\Closure[['static' => true, 'byRef' => $4, 'params' => $6, 'uses' => $8, 'returnType' => $9, 'stmts' => $10, 'attrGroups' => $1]]; } +; + +anonymous_class: + optional_attributes T_CLASS ctor_arguments extends_from implements_list '{' class_statement_list '}' + { $$ = array(Stmt\Class_[null, ['type' => 0, 'extends' => $4, 'implements' => $5, 'stmts' => $7, 'attrGroups' => $1]], $3); + $this->checkClass($$[0], -1); } +; + +new_expr: + T_NEW class_name_reference ctor_arguments { $$ = Expr\New_[$2, $3]; } + | T_NEW anonymous_class + { list($class, $ctorArgs) = $2; $$ = Expr\New_[$class, $ctorArgs]; } +; + +lexical_vars: + /* empty */ { $$ = array(); } + | T_USE '(' lexical_var_list ')' { $$ = $3; } +; + +lexical_var_list: + non_empty_lexical_var_list optional_comma { $$ = $1; } +; + +non_empty_lexical_var_list: + lexical_var { init($1); } + | non_empty_lexical_var_list ',' lexical_var { push($1, $3); } +; + +lexical_var: + optional_ref plain_variable { $$ = Expr\ClosureUse[$2, $1]; } +; + +function_call: + name argument_list { $$ = Expr\FuncCall[$1, $2]; } + | callable_expr argument_list { $$ = Expr\FuncCall[$1, $2]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM member_name argument_list + { $$ = Expr\StaticCall[$1, $3, $4]; } +; + +class_name: + T_STATIC { $$ = Name[$1]; } + | name { $$ = $1; } +; + +name: + T_STRING { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } + | T_NAME_FULLY_QUALIFIED { $$ = Name\FullyQualified[substr($1, 1)]; } + | T_NAME_RELATIVE { $$ = Name\Relative[substr($1, 10)]; } +; + +class_name_reference: + class_name { $$ = $1; } + | new_variable { $$ = $1; } + | '(' expr ')' { $$ = $2; } + | error { $$ = Expr\Error[]; $this->errorState = 2; } +; + +class_name_or_var: + class_name { $$ = $1; } + | fully_dereferencable { $$ = $1; } +; + +exit_expr: + /* empty */ { $$ = null; } + | '(' optional_expr ')' { $$ = $2; } +; + +backticks_expr: + /* empty */ { $$ = array(); } + | T_ENCAPSED_AND_WHITESPACE + { $$ = array(Scalar\EncapsedStringPart[Scalar\String_::parseEscapeSequences($1, '`')]); } + | encaps_list { parseEncapsed($1, '`', true); $$ = $1; } +; + +ctor_arguments: + /* empty */ { $$ = array(); } + | argument_list { $$ = $1; } +; + +constant: + name { $$ = Expr\ConstFetch[$1]; } + | T_LINE { $$ = Scalar\MagicConst\Line[]; } + | T_FILE { $$ = Scalar\MagicConst\File[]; } + | T_DIR { $$ = Scalar\MagicConst\Dir[]; } + | T_CLASS_C { $$ = Scalar\MagicConst\Class_[]; } + | T_TRAIT_C { $$ = Scalar\MagicConst\Trait_[]; } + | T_METHOD_C { $$ = Scalar\MagicConst\Method[]; } + | T_FUNC_C { $$ = Scalar\MagicConst\Function_[]; } + | T_NS_C { $$ = Scalar\MagicConst\Namespace_[]; } +; + +class_constant: + class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex + { $$ = Expr\ClassConstFetch[$1, $3]; } + /* We interpret an isolated FOO:: as an unfinished class constant fetch. It could also be + an unfinished static property fetch or unfinished scoped call. */ + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM error + { $$ = Expr\ClassConstFetch[$1, new Expr\Error(stackAttributes(#3))]; $this->errorState = 2; } +; + +array_short_syntax: + '[' array_pair_list ']' + { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_SHORT; + $$ = new Expr\Array_($2, $attrs); } +; + +dereferencable_scalar: + T_ARRAY '(' array_pair_list ')' + { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_LONG; + $$ = new Expr\Array_($3, $attrs); } + | array_short_syntax { $$ = $1; } + | T_CONSTANT_ENCAPSED_STRING + { $attrs = attributes(); $attrs['kind'] = strKind($1); + $$ = new Scalar\String_(Scalar\String_::parse($1), $attrs); } + | '"' encaps_list '"' + { $attrs = attributes(); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + parseEncapsed($2, '"', true); $$ = new Scalar\Encapsed($2, $attrs); } +; + +scalar: + T_LNUMBER { $$ = $this->parseLNumber($1, attributes()); } + | T_DNUMBER { $$ = Scalar\DNumber[Scalar\DNumber::parse($1)]; } + | dereferencable_scalar { $$ = $1; } + | constant { $$ = $1; } + | class_constant { $$ = $1; } + | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } + | T_START_HEREDOC T_END_HEREDOC + { $$ = $this->parseDocString($1, '', $2, attributes(), stackAttributes(#2), true); } + | T_START_HEREDOC encaps_list T_END_HEREDOC + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } +; + +optional_expr: + /* empty */ { $$ = null; } + | expr { $$ = $1; } +; + +fully_dereferencable: + variable { $$ = $1; } + | '(' expr ')' { $$ = $2; } + | dereferencable_scalar { $$ = $1; } + | class_constant { $$ = $1; } +; + +array_object_dereferencable: + fully_dereferencable { $$ = $1; } + | constant { $$ = $1; } +; + +callable_expr: + callable_variable { $$ = $1; } + | '(' expr ')' { $$ = $2; } + | dereferencable_scalar { $$ = $1; } +; + +callable_variable: + simple_variable { $$ = $1; } + | array_object_dereferencable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | array_object_dereferencable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | function_call { $$ = $1; } + | array_object_dereferencable T_OBJECT_OPERATOR property_name argument_list + { $$ = Expr\MethodCall[$1, $3, $4]; } + | array_object_dereferencable T_NULLSAFE_OBJECT_OPERATOR property_name argument_list + { $$ = Expr\NullsafeMethodCall[$1, $3, $4]; } +; + +optional_plain_variable: + /* empty */ { $$ = null; } + | plain_variable { $$ = $1; } +; + +variable: + callable_variable { $$ = $1; } + | static_member { $$ = $1; } + | array_object_dereferencable T_OBJECT_OPERATOR property_name + { $$ = Expr\PropertyFetch[$1, $3]; } + | array_object_dereferencable T_NULLSAFE_OBJECT_OPERATOR property_name + { $$ = Expr\NullsafePropertyFetch[$1, $3]; } +; + +simple_variable: + plain_variable { $$ = $1; } + | '$' '{' expr '}' { $$ = Expr\Variable[$3]; } + | '$' simple_variable { $$ = Expr\Variable[$2]; } + | '$' error { $$ = Expr\Variable[Expr\Error[]]; $this->errorState = 2; } +; + +static_member_prop_name: + simple_variable + { $var = $1->name; $$ = \is_string($var) ? Node\VarLikeIdentifier[$var] : $var; } +; + +static_member: + class_name_or_var T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name + { $$ = Expr\StaticPropertyFetch[$1, $3]; } +; + +new_variable: + simple_variable { $$ = $1; } + | new_variable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | new_variable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | new_variable T_OBJECT_OPERATOR property_name { $$ = Expr\PropertyFetch[$1, $3]; } + | new_variable T_NULLSAFE_OBJECT_OPERATOR property_name { $$ = Expr\NullsafePropertyFetch[$1, $3]; } + | class_name T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name + { $$ = Expr\StaticPropertyFetch[$1, $3]; } + | new_variable T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name + { $$ = Expr\StaticPropertyFetch[$1, $3]; } +; + +member_name: + identifier_ex { $$ = $1; } + | '{' expr '}' { $$ = $2; } + | simple_variable { $$ = $1; } +; + +property_name: + identifier { $$ = $1; } + | '{' expr '}' { $$ = $2; } + | simple_variable { $$ = $1; } + | error { $$ = Expr\Error[]; $this->errorState = 2; } +; + +list_expr: + T_LIST '(' inner_array_pair_list ')' { $$ = Expr\List_[$3]; } +; + +array_pair_list: + inner_array_pair_list + { $$ = $1; $end = count($$)-1; if ($$[$end] === null) array_pop($$); } +; + +comma_or_error: + ',' + | error + { /* do nothing -- prevent default action of $$=$1. See #551. */ } +; + +inner_array_pair_list: + inner_array_pair_list comma_or_error array_pair { push($1, $3); } + | array_pair { init($1); } +; + +array_pair: + expr { $$ = Expr\ArrayItem[$1, null, false]; } + | '&' variable { $$ = Expr\ArrayItem[$2, null, true]; } + | list_expr { $$ = Expr\ArrayItem[$1, null, false]; } + | expr T_DOUBLE_ARROW expr { $$ = Expr\ArrayItem[$3, $1, false]; } + | expr T_DOUBLE_ARROW '&' variable { $$ = Expr\ArrayItem[$4, $1, true]; } + | expr T_DOUBLE_ARROW list_expr { $$ = Expr\ArrayItem[$3, $1, false]; } + | T_ELLIPSIS expr { $$ = Expr\ArrayItem[$2, null, false, attributes(), true]; } + | /* empty */ { $$ = null; } +; + +encaps_list: + encaps_list encaps_var { push($1, $2); } + | encaps_list encaps_string_part { push($1, $2); } + | encaps_var { init($1); } + | encaps_string_part encaps_var { init($1, $2); } +; + +encaps_string_part: + T_ENCAPSED_AND_WHITESPACE { $$ = Scalar\EncapsedStringPart[$1]; } +; + +encaps_str_varname: + T_STRING_VARNAME { $$ = Expr\Variable[$1]; } +; + +encaps_var: + plain_variable { $$ = $1; } + | plain_variable '[' encaps_var_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | plain_variable T_OBJECT_OPERATOR identifier { $$ = Expr\PropertyFetch[$1, $3]; } + | plain_variable T_NULLSAFE_OBJECT_OPERATOR identifier { $$ = Expr\NullsafePropertyFetch[$1, $3]; } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Expr\Variable[$2]; } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = Expr\Variable[$2]; } + | T_DOLLAR_OPEN_CURLY_BRACES encaps_str_varname '[' expr ']' '}' + { $$ = Expr\ArrayDimFetch[$2, $4]; } + | T_CURLY_OPEN variable '}' { $$ = $2; } +; + +encaps_var_offset: + T_STRING { $$ = Scalar\String_[$1]; } + | T_NUM_STRING { $$ = $this->parseNumString($1, attributes()); } + | '-' T_NUM_STRING { $$ = $this->parseNumString('-' . $2, attributes()); } + | plain_variable { $$ = $1; } +; + +%% diff --git a/vendor-bundle/phabel/php-parser/grammar/rebuildParsers.php b/vendor-bundle/phabel/php-parser/grammar/rebuildParsers.php new file mode 100644 index 000000000..4cbb4dd3c --- /dev/null +++ b/vendor-bundle/phabel/php-parser/grammar/rebuildParsers.php @@ -0,0 +1,183 @@ + 'Php5', __DIR__ . '/php7.y' => 'Php7']; +$tokensFile = __DIR__ . '/tokens.y'; +$tokensTemplate = __DIR__ . '/tokens.template'; +$skeletonFile = __DIR__ . '/parser.template'; +$tmpGrammarFile = __DIR__ . '/tmp_parser.phpy'; +$tmpResultFile = __DIR__ . '/tmp_parser.php'; +$resultDir = __DIR__ . '/../lib/PhpParser/Parser'; +$tokensResultsFile = $resultDir . '/Tokens.php'; +$kmyacc = \getenv('KMYACC'); +if (!$kmyacc) { + // Use phpyacc from dev dependencies by default. + $kmyacc = __DIR__ . '/../vendor/bin/phpyacc'; +} +$options = \array_flip($argv); +$optionDebug = isset($options['--debug']); +$optionKeepTmpGrammar = isset($options['--keep-tmp-grammar']); +/////////////////////////////// +/// Utility regex constants /// +/////////////////////////////// +const LIB = '(?(DEFINE) + (?\'[^\\\\\']*+(?:\\\\.[^\\\\\']*+)*+\') + (?"[^\\\\"]*+(?:\\\\.[^\\\\"]*+)*+") + (?(?&singleQuotedString)|(?&doubleQuotedString)) + (?/\\*[^*]*+(?:\\*(?!/)[^*]*+)*+\\*/) + (?\\{[^\'"/{}]*+(?:(?:(?&string)|(?&comment)|(?&code)|/)[^\'"/{}]*+)*+}) +)'; +const PARAMS = '\\[(?[^[\\]]*+(?:\\[(?¶ms)\\][^[\\]]*+)*+)\\]'; +const ARGS = '\\((?[^()]*+(?:\\((?&args)\\)[^()]*+)*+)\\)'; +/////////////////// +/// Main script /// +/////////////////// +$tokens = \file_get_contents($tokensFile); +foreach ($grammarFileToName as $grammarFile => $name) { + echo "Building temporary {$name} grammar file.\n"; + $grammarCode = \file_get_contents($grammarFile); + $grammarCode = \str_replace('%tokens', $tokens, $grammarCode); + $grammarCode = resolveNodes($grammarCode); + $grammarCode = resolveMacros($grammarCode); + $grammarCode = resolveStackAccess($grammarCode); + \file_put_contents($tmpGrammarFile, $grammarCode); + $additionalArgs = $optionDebug ? '-t -v' : ''; + echo "Building {$name} parser.\n"; + $output = execCmd("{$kmyacc} {$additionalArgs} -m {$skeletonFile} -p {$name} {$tmpGrammarFile}"); + $resultCode = \file_get_contents($tmpResultFile); + $resultCode = removeTrailingWhitespace($resultCode); + ensureDirExists($resultDir); + \file_put_contents("{$resultDir}/{$name}.php", $resultCode); + \unlink($tmpResultFile); + echo "Building token definition.\n"; + $output = execCmd("{$kmyacc} -m {$tokensTemplate} {$tmpGrammarFile}"); + \rename($tmpResultFile, $tokensResultsFile); + if (!$optionKeepTmpGrammar) { + \unlink($tmpGrammarFile); + } +} +/////////////////////////////// +/// Preprocessing functions /// +/////////////////////////////// +function resolveNodes($code) +{ + return \preg_replace_callback('~\\b(?[A-Z][a-zA-Z_\\\\]++)\\s*' . \PARAMS . '~', function ($matches) { + // recurse + $matches['params'] = resolveNodes($matches['params']); + $params = magicSplit('(?:' . \PARAMS . '|' . \ARGS . ')(*SKIP)(*FAIL)|,', $matches['params']); + $paramCode = ''; + foreach ($params as $param) { + $paramCode .= $param . ', '; + } + return 'new ' . $matches['name'] . '(' . $paramCode . 'attributes())'; + }, $code); +} +function resolveMacros($code) +{ + return \preg_replace_callback('~\\b(?)(?!array\\()(?[a-z][A-Za-z]++)' . \ARGS . '~', function ($matches) { + // recurse + $matches['args'] = resolveMacros($matches['args']); + $name = $matches['name']; + $args = magicSplit('(?:' . \PARAMS . '|' . \ARGS . ')(*SKIP)(*FAIL)|,', $matches['args']); + if ('attributes' === $name) { + assertArgs(0, $args, $name); + return '$this->startAttributeStack[#1] + $this->endAttributes'; + } + if ('stackAttributes' === $name) { + assertArgs(1, $args, $name); + return '$this->startAttributeStack[' . $args[0] . '] + $this->endAttributeStack[' . $args[0] . ']'; + } + if ('init' === $name) { + return '$$ = array(' . \implode(', ', $args) . ')'; + } + if ('push' === $name) { + assertArgs(2, $args, $name); + return $args[0] . '[] = ' . $args[1] . '; $$ = ' . $args[0]; + } + if ('pushNormalizing' === $name) { + assertArgs(2, $args, $name); + return 'if (is_array(' . $args[1] . ')) { $$ = array_merge(' . $args[0] . ', ' . $args[1] . '); } else { ' . $args[0] . '[] = ' . $args[1] . '; $$ = ' . $args[0] . '; }'; + } + if ('toArray' == $name) { + assertArgs(1, $args, $name); + return 'is_array(' . $args[0] . ') ? ' . $args[0] . ' : array(' . $args[0] . ')'; + } + if ('parseVar' === $name) { + assertArgs(1, $args, $name); + return 'substr(' . $args[0] . ', 1)'; + } + if ('parseEncapsed' === $name) { + assertArgs(3, $args, $name); + return 'foreach (' . $args[0] . ' as $s) { if ($s instanceof Node\\Scalar\\EncapsedStringPart) { $s->value = Node\\Scalar\\String_::parseEscapeSequences($s->value, ' . $args[1] . ', ' . $args[2] . '); } }'; + } + if ('makeNop' === $name) { + assertArgs(3, $args, $name); + return '$startAttributes = ' . $args[1] . '; if (isset($startAttributes[\'comments\'])) { ' . $args[0] . ' = new Stmt\\Nop($startAttributes + ' . $args[2] . '); } else { ' . $args[0] . ' = null; }'; + } + if ('makeZeroLengthNop' == $name) { + assertArgs(2, $args, $name); + return '$startAttributes = ' . $args[1] . '; if (isset($startAttributes[\'comments\'])) { ' . $args[0] . ' = new Stmt\\Nop($this->createCommentNopAttributes($startAttributes[\'comments\'])); } else { ' . $args[0] . ' = null; }'; + } + if ('strKind' === $name) { + assertArgs(1, $args, $name); + return '(' . $args[0] . '[0] === "\'" || (' . $args[0] . '[1] === "\'" && (' . $args[0] . '[0] === \'b\' || ' . $args[0] . '[0] === \'B\')) ? Scalar\\String_::KIND_SINGLE_QUOTED : Scalar\\String_::KIND_DOUBLE_QUOTED)'; + } + if ('prependLeadingComments' === $name) { + assertArgs(1, $args, $name); + return '$attrs = $this->startAttributeStack[#1]; $stmts = ' . $args[0] . '; if (!empty($attrs[\'comments\'])) {$stmts[0]->setAttribute(\'comments\', array_merge($attrs[\'comments\'], $stmts[0]->getAttribute(\'comments\', []))); }'; + } + return $matches[0]; + }, $code); +} +function assertArgs($num, $args, $name) +{ + if ($num != \count($args)) { + die('Wrong argument count for ' . $name . '().'); + } +} +function resolveStackAccess($code) +{ + $code = \preg_replace('/\\$\\d+/', '$this->semStack[$0]', $code); + $code = \preg_replace('/#(\\d+)/', '$$1', $code); + return $code; +} +function removeTrailingWhitespace($code) +{ + $lines = \explode("\n", $code); + $lines = \array_map('rtrim', $lines); + return \implode("\n", $lines); +} +function ensureDirExists($dir) +{ + if (!\is_dir($dir)) { + \mkdir($dir, 0777, \true); + } +} +function execCmd($cmd) +{ + $output = \trim(\shell_exec("{$cmd} 2>&1")); + if ($output !== "") { + echo "> " . $cmd . "\n"; + echo $output; + } + return $output; +} +////////////////////////////// +/// Regex helper functions /// +////////////////////////////// +function regex($regex) +{ + return '~' . \LIB . '(?:' . \str_replace('~', '\\~', $regex) . ')~'; +} +function magicSplit($regex, $string) +{ + $pieces = \preg_split(regex('(?:(?&string)|(?&comment)|(?&code))(*SKIP)(*FAIL)|' . $regex), $string); + foreach ($pieces as &$piece) { + $piece = \trim($piece); + } + if ($pieces === ['']) { + return []; + } + return $pieces; +} diff --git a/vendor-bundle/phabel/php-parser/grammar/tokens.template b/vendor-bundle/phabel/php-parser/grammar/tokens.template new file mode 100644 index 000000000..ba4e4901c --- /dev/null +++ b/vendor-bundle/phabel/php-parser/grammar/tokens.template @@ -0,0 +1,17 @@ +semValue +#semval($,%t) $this->semValue +#semval(%n) $this->stackPos-(%l-%n) +#semval(%n,%t) $this->stackPos-(%l-%n) + +namespace PhpParser\Parser; +#include; + +/* GENERATED file based on grammar/tokens.y */ +final class Tokens +{ +#tokenval + const %s = %n; +#endtokenval +} diff --git a/vendor-bundle/phabel/php-parser/grammar/tokens.y b/vendor-bundle/phabel/php-parser/grammar/tokens.y new file mode 100644 index 000000000..b0b0360cd --- /dev/null +++ b/vendor-bundle/phabel/php-parser/grammar/tokens.y @@ -0,0 +1,113 @@ +/* We currently rely on the token ID mapping to be the same between PHP 5 and PHP 7 - so the same lexer can be used for + * both. This is enforced by sharing this token file. */ + +%right T_THROW +%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE +%left ',' +%left T_LOGICAL_OR +%left T_LOGICAL_XOR +%left T_LOGICAL_AND +%right T_PRINT +%right T_YIELD +%right T_DOUBLE_ARROW +%right T_YIELD_FROM +%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL T_COALESCE_EQUAL +%left '?' ':' +%right T_COALESCE +%left T_BOOLEAN_OR +%left T_BOOLEAN_AND +%left '|' +%left '^' +%left '&' +%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP +%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL +%left T_SL T_SR +%left '+' '-' '.' +%left '*' '/' '%' +%right '!' +%nonassoc T_INSTANCEOF +%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' +%right T_POW +%right '[' +%nonassoc T_NEW T_CLONE +%token T_EXIT +%token T_IF +%left T_ELSEIF +%left T_ELSE +%left T_ENDIF +%token T_LNUMBER +%token T_DNUMBER +%token T_STRING +%token T_STRING_VARNAME +%token T_VARIABLE +%token T_NUM_STRING +%token T_INLINE_HTML +%token T_ENCAPSED_AND_WHITESPACE +%token T_CONSTANT_ENCAPSED_STRING +%token T_ECHO +%token T_DO +%token T_WHILE +%token T_ENDWHILE +%token T_FOR +%token T_ENDFOR +%token T_FOREACH +%token T_ENDFOREACH +%token T_DECLARE +%token T_ENDDECLARE +%token T_AS +%token T_SWITCH +%token T_MATCH +%token T_ENDSWITCH +%token T_CASE +%token T_DEFAULT +%token T_BREAK +%token T_CONTINUE +%token T_GOTO +%token T_FUNCTION +%token T_FN +%token T_CONST +%token T_RETURN +%token T_TRY +%token T_CATCH +%token T_FINALLY +%token T_THROW +%token T_USE +%token T_INSTEADOF +%token T_GLOBAL +%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC +%token T_VAR +%token T_UNSET +%token T_ISSET +%token T_EMPTY +%token T_HALT_COMPILER +%token T_CLASS +%token T_TRAIT +%token T_INTERFACE +%token T_EXTENDS +%token T_IMPLEMENTS +%token T_OBJECT_OPERATOR +%token T_NULLSAFE_OBJECT_OPERATOR +%token T_DOUBLE_ARROW +%token T_LIST +%token T_ARRAY +%token T_CALLABLE +%token T_CLASS_C +%token T_TRAIT_C +%token T_METHOD_C +%token T_FUNC_C +%token T_LINE +%token T_FILE +%token T_START_HEREDOC +%token T_END_HEREDOC +%token T_DOLLAR_OPEN_CURLY_BRACES +%token T_CURLY_OPEN +%token T_PAAMAYIM_NEKUDOTAYIM +%token T_NAMESPACE +%token T_NS_C +%token T_DIR +%token T_NS_SEPARATOR +%token T_ELLIPSIS +%token T_NAME_FULLY_QUALIFIED +%token T_NAME_QUALIFIED +%token T_NAME_RELATIVE +%token T_ATTRIBUTE \ No newline at end of file diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder.php new file mode 100644 index 000000000..bab0ecf9e --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder.php @@ -0,0 +1,13 @@ +name = $name; + } + /** + * Extends a class. + * + * @param Name|string $class Name of class to extend + * + * @return $this The builder instance (for fluid interface) + */ + public function extend($class) + { + $this->extends = BuilderHelpers::normalizeName($class); + return $this; + } + /** + * Implements one or more interfaces. + * + * @param Name|string ...$interfaces Names of interfaces to implement + * + * @return $this The builder instance (for fluid interface) + */ + public function implement(...$interfaces) + { + foreach ($interfaces as $interface) { + $this->implements[] = BuilderHelpers::normalizeName($interface); + } + return $this; + } + /** + * Makes the class abstract. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeAbstract() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT); + return $this; + } + /** + * Makes the class final. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeFinal() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL); + return $this; + } + /** + * Adds a statement. + * + * @param Stmt|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) + { + $stmt = BuilderHelpers::normalizeNode($stmt); + $targets = [Stmt\TraitUse::class => &$this->uses, Stmt\ClassConst::class => &$this->constants, Stmt\Property::class => &$this->properties, Stmt\ClassMethod::class => &$this->methods]; + $class = \get_class($stmt); + if (!isset($targets[$class])) { + throw new \LogicException(\sprintf('Unexpected node of type "%s"', $stmt->getType())); + } + $targets[$class][] = $stmt; + return $this; + } + /** + * Returns the built class node. + * + * @return Stmt\Class_ The built class node + */ + public function getNode() + { + $phabelReturn = new Stmt\Class_($this->name, ['flags' => $this->flags, 'extends' => $this->extends, 'implements' => $this->implements, 'stmts' => \array_merge($this->uses, $this->constants, $this->properties, $this->methods)], $this->attributes); + if (!$phabelReturn instanceof PhpParser\Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type PhpParser\\Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Declaration.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Declaration.php new file mode 100644 index 000000000..53b2d7022 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Declaration.php @@ -0,0 +1,37 @@ +addStmt($stmt); + } + return $this; + } + /** + * Sets doc comment for the declaration. + * + * @param PhpParser\Comment\Doc|string $docComment Doc comment to set + * + * @return $this The builder instance (for fluid interface) + */ + public function setDocComment($docComment) + { + $this->attributes['comments'] = [BuilderHelpers::normalizeDocComment($docComment)]; + return $this; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/FunctionLike.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/FunctionLike.php new file mode 100644 index 000000000..242238c83 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/FunctionLike.php @@ -0,0 +1,66 @@ +returnByRef = \true; + return $this; + } + /** + * Adds a parameter. + * + * @param Node\Param|Param $param The parameter to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addParam($param) + { + $param = BuilderHelpers::normalizeNode($param); + if (!$param instanceof Node\Param) { + throw new \LogicException(\sprintf('Expected parameter node, got "%s"', $param->getType())); + } + $this->params[] = $param; + return $this; + } + /** + * Adds multiple parameters. + * + * @param array $params The parameters to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addParams(array $params) + { + foreach ($params as $param) { + $this->addParam($param); + } + return $this; + } + /** + * Sets the return type for PHP 7. + * + * @param string|Node\Name|Node\NullableType $type One of array, callable, string, int, float, + * bool, iterable, or a class/interface name. + * + * @return $this The builder instance (for fluid interface) + */ + public function setReturnType($type) + { + $this->returnType = BuilderHelpers::normalizeType($type); + return $this; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Function_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Function_.php new file mode 100644 index 000000000..bfbb1a9b0 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Function_.php @@ -0,0 +1,54 @@ +name = $name; + } + /** + * Adds a statement. + * + * @param Node|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) + { + $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); + return $this; + } + /** + * Returns the built function node. + * + * @return Stmt\Function_ The built function node + */ + public function getNode() + { + $phabelReturn = new Stmt\Function_($this->name, ['byRef' => $this->returnByRef, 'params' => $this->params, 'returnType' => $this->returnType, 'stmts' => $this->stmts], $this->attributes); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Interface_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Interface_.php new file mode 100644 index 000000000..611f54b3f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Interface_.php @@ -0,0 +1,79 @@ +name = $name; + } + /** + * Extends one or more interfaces. + * + * @param Name|string ...$interfaces Names of interfaces to extend + * + * @return $this The builder instance (for fluid interface) + */ + public function extend(...$interfaces) + { + foreach ($interfaces as $interface) { + $this->extends[] = BuilderHelpers::normalizeName($interface); + } + return $this; + } + /** + * Adds a statement. + * + * @param Stmt|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) + { + $stmt = BuilderHelpers::normalizeNode($stmt); + if ($stmt instanceof Stmt\ClassConst) { + $this->constants[] = $stmt; + } elseif ($stmt instanceof Stmt\ClassMethod) { + // we erase all statements in the body of an interface method + $stmt->stmts = null; + $this->methods[] = $stmt; + } else { + throw new \LogicException(\sprintf('Unexpected node of type "%s"', $stmt->getType())); + } + return $this; + } + /** + * Returns the built interface node. + * + * @return Stmt\Interface_ The built interface node + */ + public function getNode() + { + $phabelReturn = new Stmt\Interface_($this->name, ['extends' => $this->extends, 'stmts' => \array_merge($this->constants, $this->methods)], $this->attributes); + if (!$phabelReturn instanceof PhpParser\Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type PhpParser\\Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Method.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Method.php new file mode 100644 index 000000000..d5f74d761 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Method.php @@ -0,0 +1,124 @@ +name = $name; + } + /** + * Makes the method public. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePublic() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC); + return $this; + } + /** + * Makes the method protected. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtected() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED); + return $this; + } + /** + * Makes the method private. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivate() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE); + return $this; + } + /** + * Makes the method static. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeStatic() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_STATIC); + return $this; + } + /** + * Makes the method abstract. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeAbstract() + { + if (!empty($this->stmts)) { + throw new \LogicException('Cannot make method with statements abstract'); + } + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT); + $this->stmts = null; + // abstract methods don't have statements + return $this; + } + /** + * Makes the method final. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeFinal() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL); + return $this; + } + /** + * Adds a statement. + * + * @param Node|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) + { + if (null === $this->stmts) { + throw new \LogicException('Cannot add statements to an abstract method'); + } + $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); + return $this; + } + /** + * Returns the built method node. + * + * @return Stmt\ClassMethod The built method node + */ + public function getNode() + { + $phabelReturn = new Stmt\ClassMethod($this->name, ['flags' => $this->flags, 'byRef' => $this->returnByRef, 'params' => $this->params, 'returnType' => $this->returnType, 'stmts' => $this->stmts], $this->attributes); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Namespace_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Namespace_.php new file mode 100644 index 000000000..6e144289d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Namespace_.php @@ -0,0 +1,47 @@ +name = null !== $name ? BuilderHelpers::normalizeName($name) : null; + } + /** + * Adds a statement. + * + * @param Node|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) + { + $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); + return $this; + } + /** + * Returns the built node. + * + * @return Stmt\Namespace_ The built node + */ + public function getNode() + { + $phabelReturn = new Stmt\Namespace_($this->name, $this->stmts, $this->attributes); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Param.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Param.php new file mode 100644 index 000000000..492d4146e --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Param.php @@ -0,0 +1,105 @@ +name = $name; + } + /** + * Sets default value for the parameter. + * + * @param mixed $value Default value to use + * + * @return $this The builder instance (for fluid interface) + */ + public function setDefault($value) + { + $this->default = BuilderHelpers::normalizeValue($value); + return $this; + } + /** + * Sets type for the parameter. + * + * @param string|Node\Name|Node\NullableType|Node\UnionType $type Parameter type + * + * @return $this The builder instance (for fluid interface) + */ + public function setType($type) + { + $this->type = BuilderHelpers::normalizeType($type); + if ($this->type == 'void') { + throw new \LogicException('Parameter type cannot be void'); + } + return $this; + } + /** + * Sets type for the parameter. + * + * @param string|Node\Name|Node\NullableType|Node\UnionType $type Parameter type + * + * @return $this The builder instance (for fluid interface) + * + * @deprecated Use setType() instead + */ + public function setTypeHint($type) + { + return $this->setType($type); + } + /** + * Make the parameter accept the value by reference. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeByRef() + { + $this->byRef = \true; + return $this; + } + /** + * Make the parameter variadic + * + * @return $this The builder instance (for fluid interface) + */ + public function makeVariadic() + { + $this->variadic = \true; + return $this; + } + /** + * Returns the built parameter node. + * + * @return Node\Param The built parameter node + */ + public function getNode() + { + $phabelReturn = new Node\Param(new Node\Expr\Variable($this->name), $this->default, $this->type, $this->byRef, $this->variadic); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Property.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Property.php new file mode 100644 index 000000000..0b9cac9cb --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Property.php @@ -0,0 +1,124 @@ +name = $name; + } + /** + * Makes the property public. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePublic() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC); + return $this; + } + /** + * Makes the property protected. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtected() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED); + return $this; + } + /** + * Makes the property private. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivate() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE); + return $this; + } + /** + * Makes the property static. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeStatic() + { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_STATIC); + return $this; + } + /** + * Sets default value for the property. + * + * @param mixed $value Default value to use + * + * @return $this The builder instance (for fluid interface) + */ + public function setDefault($value) + { + $this->default = BuilderHelpers::normalizeValue($value); + return $this; + } + /** + * Sets doc comment for the property. + * + * @param PhpParser\Comment\Doc|string $docComment Doc comment to set + * + * @return $this The builder instance (for fluid interface) + */ + public function setDocComment($docComment) + { + $this->attributes = ['comments' => [BuilderHelpers::normalizeDocComment($docComment)]]; + return $this; + } + /** + * Sets the property type for PHP 7.4+. + * + * @param string|Name|NullableType|Identifier $type + * + * @return $this + */ + public function setType($type) + { + $this->type = BuilderHelpers::normalizeType($type); + return $this; + } + /** + * Returns the built class node. + * + * @return Stmt\Property The built property node + */ + public function getNode() + { + $phabelReturn = new Stmt\Property($this->flags !== 0 ? $this->flags : Stmt\Class_::MODIFIER_PUBLIC, [new Stmt\PropertyProperty($this->name, $this->default)], $this->attributes, $this->type); + if (!$phabelReturn instanceof PhpParser\Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type PhpParser\\Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/TraitUse.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/TraitUse.php new file mode 100644 index 000000000..c7c35c8f3 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/TraitUse.php @@ -0,0 +1,65 @@ +and($trait); + } + } + /** + * Adds used trait. + * + * @param Node\Name|string $trait Trait name + * + * @return $this The builder instance (for fluid interface) + */ + public function and($trait) + { + $this->traits[] = BuilderHelpers::normalizeName($trait); + return $this; + } + /** + * Adds trait adaptation. + * + * @param Stmt\TraitUseAdaptation|Builder\TraitUseAdaptation $adaptation Trait adaptation + * + * @return $this The builder instance (for fluid interface) + */ + public function with($adaptation) + { + $adaptation = BuilderHelpers::normalizeNode($adaptation); + if (!$adaptation instanceof Stmt\TraitUseAdaptation) { + throw new \LogicException('Adaptation must have type TraitUseAdaptation'); + } + $this->adaptations[] = $adaptation; + return $this; + } + /** + * Returns the built node. + * + * @return Node The built node + */ + public function getNode() + { + $phabelReturn = new Stmt\TraitUse($this->traits, $this->adaptations); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php new file mode 100644 index 000000000..ce07df076 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php @@ -0,0 +1,150 @@ +type = self::TYPE_UNDEFINED; + $this->trait = \is_null($trait) ? null : BuilderHelpers::normalizeName($trait); + $this->method = BuilderHelpers::normalizeIdentifier($method); + } + /** + * Sets alias of method. + * + * @param Node\Identifier|string $alias Alias for adaptated method + * + * @return $this The builder instance (for fluid interface) + */ + public function as($alias) + { + if ($this->type === self::TYPE_UNDEFINED) { + $this->type = self::TYPE_ALIAS; + } + if ($this->type !== self::TYPE_ALIAS) { + throw new \LogicException('Cannot set alias for not alias adaptation buider'); + } + $this->alias = $alias; + return $this; + } + /** + * Sets adaptated method public. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePublic() + { + $this->setModifier(Stmt\Class_::MODIFIER_PUBLIC); + return $this; + } + /** + * Sets adaptated method protected. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtected() + { + $this->setModifier(Stmt\Class_::MODIFIER_PROTECTED); + return $this; + } + /** + * Sets adaptated method private. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivate() + { + $this->setModifier(Stmt\Class_::MODIFIER_PRIVATE); + return $this; + } + /** + * Adds overwritten traits. + * + * @param Node\Name|string ...$traits Traits for overwrite + * + * @return $this The builder instance (for fluid interface) + */ + public function insteadof(...$traits) + { + if ($this->type === self::TYPE_UNDEFINED) { + if (\is_null($this->trait)) { + throw new \LogicException('Precedence adaptation must have trait'); + } + $this->type = self::TYPE_PRECEDENCE; + } + if ($this->type !== self::TYPE_PRECEDENCE) { + throw new \LogicException('Cannot add overwritten traits for not precedence adaptation buider'); + } + foreach ($traits as $trait) { + $this->insteadof[] = BuilderHelpers::normalizeName($trait); + } + return $this; + } + protected function setModifier($modifier) + { + if (!\is_int($modifier)) { + if (!(\is_bool($modifier) || \is_numeric($modifier))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($modifier) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($modifier) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $modifier = (int) $modifier; + } + } + if ($this->type === self::TYPE_UNDEFINED) { + $this->type = self::TYPE_ALIAS; + } + if ($this->type !== self::TYPE_ALIAS) { + throw new \LogicException('Cannot set access modifier for not alias adaptation buider'); + } + if (\is_null($this->modifier)) { + $this->modifier = $modifier; + } else { + throw new \LogicException('Multiple access type modifiers are not allowed'); + } + } + /** + * Returns the built node. + * + * @return Node The built node + */ + public function getNode() + { + switch ($this->type) { + case self::TYPE_ALIAS: + $phabelReturn = new Stmt\TraitUseAdaptation\Alias($this->trait, $this->method, $this->modifier, $this->alias); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + case self::TYPE_PRECEDENCE: + $phabelReturn = new Stmt\TraitUseAdaptation\Precedence($this->trait, $this->method, $this->insteadof); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + default: + throw new \LogicException('Type of adaptation is not defined'); + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Trait_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Trait_.php new file mode 100644 index 000000000..b40037e97 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Trait_.php @@ -0,0 +1,64 @@ +name = $name; + } + /** + * Adds a statement. + * + * @param Stmt|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) + { + $stmt = BuilderHelpers::normalizeNode($stmt); + if ($stmt instanceof Stmt\Property) { + $this->properties[] = $stmt; + } elseif ($stmt instanceof Stmt\ClassMethod) { + $this->methods[] = $stmt; + } elseif ($stmt instanceof Stmt\TraitUse) { + $this->uses[] = $stmt; + } else { + throw new \LogicException(\sprintf('Unexpected node of type "%s"', $stmt->getType())); + } + return $this; + } + /** + * Returns the built trait node. + * + * @return Stmt\Trait_ The built interface node + */ + public function getNode() + { + $phabelReturn = new Stmt\Trait_($this->name, ['stmts' => \array_merge($this->uses, $this->properties, $this->methods)], $this->attributes); + if (!$phabelReturn instanceof PhpParser\Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type PhpParser\\Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Use_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Use_.php new file mode 100644 index 000000000..2c62af409 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Builder/Use_.php @@ -0,0 +1,64 @@ +name = BuilderHelpers::normalizeName($name); + $this->type = $type; + } + /** + * Sets alias for used name. + * + * @param string $alias Alias to use (last component of full name by default) + * + * @return $this The builder instance (for fluid interface) + */ + public function as($alias) + { + if (!\is_string($alias)) { + if (!(\is_string($alias) || \is_object($alias) && \method_exists($alias, '__toString') || (\is_bool($alias) || \is_numeric($alias)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($alias) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($alias) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $alias = (string) $alias; + } + } + $this->alias = $alias; + return $this; + } + /** + * Returns the built node. + * + * @return Stmt\Use_ The built node + */ + public function getNode() + { + $phabelReturn = new Stmt\Use_([new Stmt\UseUse($this->name, $this->alias)], $this->type); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/BuilderFactory.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/BuilderFactory.php new file mode 100644 index 000000000..01df4f711 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/BuilderFactory.php @@ -0,0 +1,480 @@ +args($args)); + if (!$phabelReturn instanceof Expr\FuncCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\FuncCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Creates a method call node. + * + * @param Expr $var Variable the method is called on + * @param string|Identifier|Expr $name Method name + * @param array $args Method arguments + * + * @return Expr\MethodCall + */ + public function methodCall(Expr $var, $name, array $args = []) + { + $phabelReturn = new Expr\MethodCall($var, BuilderHelpers::normalizeIdentifierOrExpr($name), $this->args($args)); + if (!$phabelReturn instanceof Expr\MethodCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\MethodCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Creates a static method call node. + * + * @param string|Name|Expr $class Class name + * @param string|Identifier|Expr $name Method name + * @param array $args Method arguments + * + * @return Expr\StaticCall + */ + public function staticCall($class, $name, array $args = []) + { + $phabelReturn = new Expr\StaticCall(BuilderHelpers::normalizeNameOrExpr($class), BuilderHelpers::normalizeIdentifierOrExpr($name), $this->args($args)); + if (!$phabelReturn instanceof Expr\StaticCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Creates an object creation node. + * + * @param string|Name|Expr $class Class name + * @param array $args Constructor arguments + * + * @return Expr\New_ + */ + public function new($class, array $args = []) + { + $phabelReturn = new Expr\New_(BuilderHelpers::normalizeNameOrExpr($class), $this->args($args)); + if (!$phabelReturn instanceof Expr\New_) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\New_, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Creates a constant fetch node. + * + * @param string|Name $name Constant name + * + * @return Expr\ConstFetch + */ + public function constFetch($name) + { + $phabelReturn = new Expr\ConstFetch(BuilderHelpers::normalizeName($name)); + if (!$phabelReturn instanceof Expr\ConstFetch) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\ConstFetch, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Creates a property fetch node. + * + * @param Expr $var Variable holding object + * @param string|Identifier|Expr $name Property name + * + * @return Expr\PropertyFetch + */ + public function propertyFetch(Expr $var, $name) + { + $phabelReturn = new Expr\PropertyFetch($var, BuilderHelpers::normalizeIdentifierOrExpr($name)); + if (!$phabelReturn instanceof Expr\PropertyFetch) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\PropertyFetch, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Creates a class constant fetch node. + * + * @param string|Name|Expr $class Class name + * @param string|Identifier $name Constant name + * + * @return Expr\ClassConstFetch + */ + public function classConstFetch($class, $name) + { + $phabelReturn = new Expr\ClassConstFetch(BuilderHelpers::normalizeNameOrExpr($class), BuilderHelpers::normalizeIdentifier($name)); + if (!$phabelReturn instanceof Expr\ClassConstFetch) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\ClassConstFetch, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Creates nested Concat nodes from a list of expressions. + * + * @param Expr|string ...$exprs Expressions or literal strings + * + * @return Concat + */ + public function concat(...$exprs) + { + $numExprs = \count($exprs); + if ($numExprs < 2) { + throw new \LogicException('Expected at least two expressions'); + } + $lastConcat = $this->normalizeStringExpr($exprs[0]); + for ($i = 1; $i < $numExprs; $i++) { + $lastConcat = new Concat($lastConcat, $this->normalizeStringExpr($exprs[$i])); + } + $phabelReturn = $lastConcat; + if (!$phabelReturn instanceof Concat) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Concat, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|Expr $expr + * @return Expr + */ + private function normalizeStringExpr($expr) + { + if ($expr instanceof Expr) { + $phabelReturn = $expr; + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (\is_string($expr)) { + $phabelReturn = new String_($expr); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + throw new \LogicException('Expected string or Expr'); + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/BuilderHelpers.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/BuilderHelpers.php new file mode 100644 index 000000000..acf8089e3 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/BuilderHelpers.php @@ -0,0 +1,349 @@ +getNode(); + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif ($node instanceof Node) { + $phabelReturn = $node; + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + throw new \LogicException('Expected node or builder object'); + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Normalizes a node to a statement. + * + * Expressions are wrapped in a Stmt\Expression node. + * + * @param Node|Builder $node The node to normalize + * + * @return Stmt The normalized statement node + */ + public static function normalizeStmt($node) + { + $node = self::normalizeNode($node); + if ($node instanceof Stmt) { + $phabelReturn = $node; + if (!$phabelReturn instanceof Stmt) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Stmt, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($node instanceof Expr) { + $phabelReturn = new Stmt\Expression($node); + if (!$phabelReturn instanceof Stmt) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Stmt, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + throw new \LogicException('Expected statement or expression node'); + throw new \TypeError(__METHOD__ . '(): Return value must be of type Stmt, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Normalizes strings to Identifier. + * + * @param string|Identifier $name The identifier to normalize + * + * @return Identifier The normalized identifier + */ + public static function normalizeIdentifier($name) + { + if ($name instanceof Identifier) { + $phabelReturn = $name; + if (!$phabelReturn instanceof Identifier) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Identifier, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (\is_string($name)) { + $phabelReturn = new Identifier($name); + if (!$phabelReturn instanceof Identifier) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Identifier, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + throw new \LogicException('Phabel\\Expected string or instance of Node\\Identifier'); + throw new \TypeError(__METHOD__ . '(): Return value must be of type Identifier, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Normalizes strings to Identifier, also allowing expressions. + * + * @param string|Identifier|Expr $name The identifier to normalize + * + * @return Identifier|Expr The normalized identifier or expression + */ + public static function normalizeIdentifierOrExpr($name) + { + if ($name instanceof Identifier || $name instanceof Expr) { + return $name; + } + if (\is_string($name)) { + return new Identifier($name); + } + throw new \LogicException('Phabel\\Expected string or instance of Node\\Identifier or Node\\Expr'); + } + /** + * Normalizes a name: Converts string names to Name nodes. + * + * @param Name|string $name The name to normalize + * + * @return Name The normalized name + */ + public static function normalizeName($name) + { + $phabelReturn = self::normalizeNameCommon($name, \false); + if (!$phabelReturn instanceof Name) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Name, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Normalizes a name: Converts string names to Name nodes, while also allowing expressions. + * + * @param Expr|Name|string $name The name to normalize + * + * @return Name|Expr The normalized name or expression + */ + public static function normalizeNameOrExpr($name) + { + return self::normalizeNameCommon($name, \true); + } + /** + * Normalizes a name: Converts string names to Name nodes, optionally allowing expressions. + * + * @param Expr|Name|string $name The name to normalize + * @param bool $allowExpr Whether to also allow expressions + * + * @return Name|Expr The normalized name, or expression (if allowed) + */ + private static function normalizeNameCommon($name, $allowExpr) + { + if (!\is_bool($allowExpr)) { + if (!(\is_bool($allowExpr) || \is_numeric($allowExpr) || \is_string($allowExpr))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($allowExpr) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($allowExpr) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $allowExpr = (bool) $allowExpr; + } + } + if ($name instanceof Name) { + return $name; + } elseif (\is_string($name)) { + if (!$name) { + throw new \LogicException('Name cannot be empty'); + } + if ($name[0] === '\\') { + return new Name\FullyQualified(\substr($name, 1)); + } elseif (0 === \strpos($name, 'namespace\\')) { + return new Name\Relative(\substr($name, \strlen('namespace\\'))); + } else { + return new Name($name); + } + } + if ($allowExpr) { + if ($name instanceof Expr) { + return $name; + } + throw new \LogicException('Phabel\\Name must be a string or an instance of Node\\Name or Node\\Expr'); + } else { + throw new \LogicException('Phabel\\Name must be a string or an instance of Node\\Name'); + } + } + /** + * Normalizes a type: Converts plain-text type names into proper AST representation. + * + * In particular, builtin types become Identifiers, custom types become Names and nullables + * are wrapped in NullableType nodes. + * + * @param string|Name|Identifier|NullableType|UnionType $type The type to normalize + * + * @return Name|Identifier|NullableType|UnionType The normalized type + */ + public static function normalizeType($type) + { + if (!\is_string($type)) { + if (!$type instanceof Name && !$type instanceof Identifier && !$type instanceof NullableType && !$type instanceof UnionType) { + throw new \LogicException('Type must be a string, or an instance of Name, Identifier, NullableType or UnionType'); + } + return $type; + } + $nullable = \false; + if (\strlen($type) > 0 && $type[0] === '?') { + $nullable = \true; + $type = \substr($type, 1); + } + $builtinTypes = ['array', 'callable', 'string', 'int', 'float', 'bool', 'iterable', 'void', 'object', 'mixed']; + $lowerType = \strtolower($type); + if (\in_array($lowerType, $builtinTypes)) { + $type = new Identifier($lowerType); + } else { + $type = self::normalizeName($type); + } + if ($nullable && (string) $type === 'void') { + throw new \LogicException('void type cannot be nullable'); + } + if ($nullable && (string) $type === 'mixed') { + throw new \LogicException('mixed type cannot be nullable'); + } + return $nullable ? new NullableType($type) : $type; + } + /** + * Normalizes a value: Converts nulls, booleans, integers, + * floats, strings and arrays into their respective nodes + * + * @param Node\Expr|bool|null|int|float|string|array $value The value to normalize + * + * @return Expr The normalized value + */ + public static function normalizeValue($value) + { + if ($value instanceof Node\Expr) { + $phabelReturn = $value; + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif (\is_null($value)) { + $phabelReturn = new Expr\ConstFetch(new Name('null')); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif (\is_bool($value)) { + $phabelReturn = new Expr\ConstFetch(new Name($value ? 'true' : 'false')); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif (\is_int($value)) { + $phabelReturn = new Scalar\LNumber($value); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif (\is_float($value)) { + $phabelReturn = new Scalar\DNumber($value); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif (\is_string($value)) { + $phabelReturn = new Scalar\String_($value); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif (\is_array($value)) { + $items = []; + $lastKey = -1; + foreach ($value as $itemKey => $itemValue) { + // for consecutive, numeric keys don't generate keys + if (null !== $lastKey && ++$lastKey === $itemKey) { + $items[] = new Expr\ArrayItem(self::normalizeValue($itemValue)); + } else { + $lastKey = null; + $items[] = new Expr\ArrayItem(self::normalizeValue($itemValue), self::normalizeValue($itemKey)); + } + } + $phabelReturn = new Expr\Array_($items); + if (!$phabelReturn instanceof Expr) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } else { + throw new \LogicException('Invalid value'); + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Normalizes a doc comment: Converts plain strings to PhpParser\Comment\Doc. + * + * @param Comment\Doc|string $docComment The doc comment to normalize + * + * @return Comment\Doc The normalized doc comment + */ + public static function normalizeDocComment($docComment) + { + if ($docComment instanceof Comment\Doc) { + $phabelReturn = $docComment; + if (!$phabelReturn instanceof Comment\Doc) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Comment\\Doc, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif (\is_string($docComment)) { + $phabelReturn = new Comment\Doc($docComment); + if (!$phabelReturn instanceof Comment\Doc) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Comment\\Doc, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } else { + throw new \LogicException('Phabel\\Doc comment must be a string or an instance of PhpParser\\Comment\\Doc'); + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type Comment\\Doc, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Adds a modifier and returns new modifier bitmask. + * + * @param int $modifiers Existing modifiers + * @param int $modifier Modifier to set + * + * @return int New modifiers + */ + public static function addModifier($modifiers, $modifier) + { + if (!\is_int($modifiers)) { + if (!(\is_bool($modifiers) || \is_numeric($modifiers))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($modifiers) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($modifiers) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $modifiers = (int) $modifiers; + } + } + if (!\is_int($modifier)) { + if (!(\is_bool($modifier) || \is_numeric($modifier))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($modifier) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($modifier) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $modifier = (int) $modifier; + } + } + Stmt\Class_::verifyModifier($modifiers, $modifier); + $phabelReturn = $modifiers | $modifier; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Comment.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Comment.php new file mode 100644 index 000000000..ab46bee18 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Comment.php @@ -0,0 +1,390 @@ +text = $text; + $this->startLine = $startLine; + $this->startFilePos = $startFilePos; + $this->startTokenPos = $startTokenPos; + $this->endLine = $endLine; + $this->endFilePos = $endFilePos; + $this->endTokenPos = $endTokenPos; + } + /** + * Gets the comment text. + * + * @return string The comment text (including comment delimiters like /*) + */ + public function getText() + { + $phabelReturn = $this->text; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the line number the comment started on. + * + * @return int Line number (or -1 if not available) + */ + public function getStartLine() + { + $phabelReturn = $this->startLine; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the file offset the comment started on. + * + * @return int File offset (or -1 if not available) + */ + public function getStartFilePos() + { + $phabelReturn = $this->startFilePos; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the token offset the comment started on. + * + * @return int Token offset (or -1 if not available) + */ + public function getStartTokenPos() + { + $phabelReturn = $this->startTokenPos; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the line number the comment ends on. + * + * @return int Line number (or -1 if not available) + */ + public function getEndLine() + { + $phabelReturn = $this->endLine; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the file offset the comment ends on. + * + * @return int File offset (or -1 if not available) + */ + public function getEndFilePos() + { + $phabelReturn = $this->endFilePos; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the token offset the comment ends on. + * + * @return int Token offset (or -1 if not available) + */ + public function getEndTokenPos() + { + $phabelReturn = $this->endTokenPos; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the line number the comment started on. + * + * @deprecated Use getStartLine() instead + * + * @return int Line number + */ + public function getLine() + { + $phabelReturn = $this->startLine; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the file offset the comment started on. + * + * @deprecated Use getStartFilePos() instead + * + * @return int File offset + */ + public function getFilePos() + { + $phabelReturn = $this->startFilePos; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the token offset the comment started on. + * + * @deprecated Use getStartTokenPos() instead + * + * @return int Token offset + */ + public function getTokenPos() + { + $phabelReturn = $this->startTokenPos; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the comment text. + * + * @return string The comment text (including comment delimiters like /*) + */ + public function __toString() + { + $phabelReturn = $this->text; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the reformatted comment text. + * + * "Reformatted" here means that we try to clean up the whitespace at the + * starts of the lines. This is necessary because we receive the comments + * without trailing whitespace on the first line, but with trailing whitespace + * on all subsequent lines. + * + * @return mixed|string + */ + public function getReformattedText() + { + $text = \trim($this->text); + $newlinePos = \strpos($text, "\n"); + if (\false === $newlinePos) { + // Single line comments don't need further processing + return $text; + } elseif (\preg_match('((*BSR_ANYCRLF)(*ANYCRLF)^.*(?:\\R\\s+\\*.*)+$)', $text)) { + // Multi line comment of the type + // + // /* + // * Some text. + // * Some more text. + // */ + // + // is handled by replacing the whitespace sequences before the * by a single space + return \preg_replace('(^\\s+\\*)m', ' *', $this->text); + } elseif (\preg_match('(^/\\*\\*?\\s*[\\r\\n])', $text) && \preg_match('(\\n(\\s*)\\*/$)', $text, $matches)) { + // Multi line comment of the type + // + // /* + // Some text. + // Some more text. + // */ + // + // is handled by removing the whitespace sequence on the line before the closing + // */ on all lines. So if the last line is " */", then " " is removed at the + // start of all lines. + return \preg_replace('(^' . \preg_quote($matches[1]) . ')m', '', $text); + } elseif (\preg_match('(^/\\*\\*?\\s*(?!\\s))', $text, $matches)) { + // Multi line comment of the type + // + // /* Some text. + // Some more text. + // Indented text. + // Even more text. */ + // + // is handled by removing the difference between the shortest whitespace prefix on all + // lines and the length of the "/* " opening sequence. + $prefixLen = $this->getShortestWhitespacePrefixLen(\substr($text, $newlinePos + 1)); + $removeLen = $prefixLen - \strlen($matches[0]); + return \preg_replace('(^\\s{' . $removeLen . '})m', '', $text); + } + // No idea how to format this comment, so simply return as is + return $text; + } + /** + * Get length of shortest whitespace prefix (at the start of a line). + * + * If there is a line with no prefix whitespace, 0 is a valid return value. + * + * @param string $str String to check + * @return int Length in characters. Tabs count as single characters. + */ + private function getShortestWhitespacePrefixLen($str) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + $lines = \explode("\n", $str); + $shortestPrefixLen = \INF; + foreach ($lines as $line) { + \preg_match('(^\\s*)', $line, $matches); + $prefixLen = \strlen($matches[0]); + if ($prefixLen < $shortestPrefixLen) { + $shortestPrefixLen = $prefixLen; + } + } + $phabelReturn = $shortestPrefixLen; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return array + * @psalm-return array{nodeType:string, text:mixed, line:mixed, filePos:mixed} + */ + public function jsonSerialize() + { + // Technically not a node, but we make it look like one anyway + $type = $this instanceof Comment\Doc ? 'Comment_Doc' : 'Comment'; + $phabelReturn = [ + 'nodeType' => $type, + 'text' => $this->text, + // TODO: Rename these to include "start". + 'line' => $this->startLine, + 'filePos' => $this->startFilePos, + 'tokenPos' => $this->startTokenPos, + 'endLine' => $this->endLine, + 'endFilePos' => $this->endFilePos, + 'endTokenPos' => $this->endTokenPos, + ]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Comment/Doc.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Comment/Doc.php new file mode 100644 index 000000000..d4d399f16 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Comment/Doc.php @@ -0,0 +1,7 @@ +fallbackEvaluator = isset($fallbackEvaluator) ? $fallbackEvaluator : function (Expr $expr) { + throw new ConstExprEvaluationException("Expression of type {$expr->getType()} cannot be evaluated"); + }; + } + /** + * Silently evaluates a constant expression into a PHP value. + * + * Thrown Errors, warnings or notices will be converted into a ConstExprEvaluationException. + * The original source of the exception is available through getPrevious(). + * + * If some part of the expression cannot be evaluated, the fallback evaluator passed to the + * constructor will be invoked. By default, if no fallback is provided, an exception of type + * ConstExprEvaluationException is thrown. + * + * See class doc comment for caveats and limitations. + * + * @param Expr $expr Constant expression to evaluate + * @return mixed Result of evaluation + * + * @throws ConstExprEvaluationException if the expression cannot be evaluated or an error occurred + */ + public function evaluateSilently(Expr $expr) + { + \set_error_handler(function ($num, $str, $file, $line) { + throw new \ErrorException($str, 0, $num, $file, $line); + }); + try { + return $this->evaluate($expr); + } catch (\Exception $e) { + if (!$e instanceof ConstExprEvaluationException) { + $e = new ConstExprEvaluationException("An error occurred during constant expression evaluation", 0, $e); + } + throw $e; + } catch (\Error $e) { + if (!$e instanceof ConstExprEvaluationException) { + $e = new ConstExprEvaluationException("An error occurred during constant expression evaluation", 0, $e); + } + throw $e; + } finally { + \restore_error_handler(); + } + } + /** + * Directly evaluates a constant expression into a PHP value. + * + * May generate Error exceptions, warnings or notices. Use evaluateSilently() to convert these + * into a ConstExprEvaluationException. + * + * If some part of the expression cannot be evaluated, the fallback evaluator passed to the + * constructor will be invoked. By default, if no fallback is provided, an exception of type + * ConstExprEvaluationException is thrown. + * + * See class doc comment for caveats and limitations. + * + * @param Expr $expr Constant expression to evaluate + * @return mixed Result of evaluation + * + * @throws ConstExprEvaluationException if the expression cannot be evaluated + */ + public function evaluateDirectly(Expr $expr) + { + return $this->evaluate($expr); + } + private function evaluate(Expr $expr) + { + if ($expr instanceof Scalar\LNumber || $expr instanceof Scalar\DNumber || $expr instanceof Scalar\String_) { + return $expr->value; + } + if ($expr instanceof Expr\Array_) { + return $this->evaluateArray($expr); + } + // Unary operators + if ($expr instanceof Expr\UnaryPlus) { + return +$this->evaluate($expr->expr); + } + if ($expr instanceof Expr\UnaryMinus) { + return -$this->evaluate($expr->expr); + } + if ($expr instanceof Expr\BooleanNot) { + return !$this->evaluate($expr->expr); + } + if ($expr instanceof Expr\BitwiseNot) { + return ~$this->evaluate($expr->expr); + } + if ($expr instanceof Expr\BinaryOp) { + return $this->evaluateBinaryOp($expr); + } + if ($expr instanceof Expr\Ternary) { + return $this->evaluateTernary($expr); + } + if ($expr instanceof Expr\ArrayDimFetch && null !== $expr->dim) { + return $this->evaluate($expr->var)[$this->evaluate($expr->dim)]; + } + if ($expr instanceof Expr\ConstFetch) { + return $this->evaluateConstFetch($expr); + } + $phabel_01f4a24c58cdb12a = $this->fallbackEvaluator; + return $phabel_01f4a24c58cdb12a($expr); + } + private function evaluateArray(Expr\Array_ $expr) + { + $array = []; + foreach ($expr->items as $item) { + if (null !== $item->key) { + $array[$this->evaluate($item->key)] = $this->evaluate($item->value); + } else { + $array[] = $this->evaluate($item->value); + } + } + return $array; + } + private function evaluateTernary(Expr\Ternary $expr) + { + if (null === $expr->if) { + return $this->evaluate($expr->cond) ?: $this->evaluate($expr->else); + } + return $this->evaluate($expr->cond) ? $this->evaluate($expr->if) : $this->evaluate($expr->else); + } + private function evaluateBinaryOp(Expr\BinaryOp $expr) + { + if ($expr instanceof Expr\BinaryOp\Coalesce && $expr->left instanceof Expr\ArrayDimFetch) { + // This needs to be special cased to respect BP_VAR_IS fetch semantics + return NULL !== ($phabel_fa1a6451ccff3757 = $this->evaluate($expr->left->var)) && isset($phabel_fa1a6451ccff3757[$this->evaluate($expr->left->dim)]) ? $phabel_fa1a6451ccff3757[$this->evaluate($expr->left->dim)] : $this->evaluate($expr->right); + } + // The evaluate() calls are repeated in each branch, because some of the operators are + // short-circuiting and evaluating the RHS in advance may be illegal in that case + $l = $expr->left; + $r = $expr->right; + switch ($expr->getOperatorSigil()) { + case '&': + return $this->evaluate($l) & $this->evaluate($r); + case '|': + return $this->evaluate($l) | $this->evaluate($r); + case '^': + return $this->evaluate($l) ^ $this->evaluate($r); + case '&&': + return $this->evaluate($l) && $this->evaluate($r); + case '||': + return $this->evaluate($l) || $this->evaluate($r); + case '??': + return NULL !== ($phabel_f51b4afbf89e6c35 = $this->evaluate($l)) ? $phabel_f51b4afbf89e6c35 : $this->evaluate($r); + case '.': + return $this->evaluate($l) . $this->evaluate($r); + case '/': + return $this->evaluate($l) / $this->evaluate($r); + case '==': + return $this->evaluate($l) == $this->evaluate($r); + case '>': + return $this->evaluate($l) > $this->evaluate($r); + case '>=': + return $this->evaluate($l) >= $this->evaluate($r); + case '===': + return $this->evaluate($l) === $this->evaluate($r); + case 'and': + return $this->evaluate($l) and $this->evaluate($r); + case 'or': + return $this->evaluate($l) or $this->evaluate($r); + case 'xor': + return $this->evaluate($l) xor $this->evaluate($r); + case '-': + return $this->evaluate($l) - $this->evaluate($r); + case '%': + return $this->evaluate($l) % $this->evaluate($r); + case '*': + return $this->evaluate($l) * $this->evaluate($r); + case '!=': + return $this->evaluate($l) != $this->evaluate($r); + case '!==': + return $this->evaluate($l) !== $this->evaluate($r); + case '+': + return $this->evaluate($l) + $this->evaluate($r); + case '**': + return $this->evaluate($l) ** $this->evaluate($r); + case '<<': + return $this->evaluate($l) << $this->evaluate($r); + case '>>': + return $this->evaluate($l) >> $this->evaluate($r); + case '<': + return $this->evaluate($l) < $this->evaluate($r); + case '<=': + return $this->evaluate($l) <= $this->evaluate($r); + case '<=>': + return \Phabel\Target\Php70\SpaceshipOperatorReplacer::spaceship($this->evaluate($l), $this->evaluate($r)); + } + throw new \Exception('Should not happen'); + } + private function evaluateConstFetch(Expr\ConstFetch $expr) + { + $name = $expr->name->toLowerString(); + switch ($name) { + case 'null': + return null; + case 'false': + return \false; + case 'true': + return \true; + } + $phabel_82a8347237169f2f = $this->fallbackEvaluator; + return $phabel_82a8347237169f2f($expr); + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Error.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Error.php new file mode 100644 index 000000000..6af4dfdf7 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Error.php @@ -0,0 +1,295 @@ +rawMessage = $message; + if (\is_array($attributes)) { + $this->attributes = $attributes; + } else { + $this->attributes = ['startLine' => $attributes]; + } + $this->updateMessage(); + } + /** + * Gets the error message + * + * @return string Error message + */ + public function getRawMessage() + { + $phabelReturn = $this->rawMessage; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the line the error starts in. + * + * @return int Error start line + */ + public function getStartLine() + { + $phabelReturn = isset($this->attributes['startLine']) ? $this->attributes['startLine'] : -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the line the error ends in. + * + * @return int Error end line + */ + public function getEndLine() + { + $phabelReturn = isset($this->attributes['endLine']) ? $this->attributes['endLine'] : -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the attributes of the node/token the error occurred at. + * + * @return array + */ + public function getAttributes() + { + $phabelReturn = $this->attributes; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets the attributes of the node/token the error occurred at. + * + * @param array $attributes + */ + public function setAttributes(array $attributes) + { + $this->attributes = $attributes; + $this->updateMessage(); + } + /** + * Sets the line of the PHP file the error occurred in. + * + * @param string $message Error message + */ + public function setRawMessage($message) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + $this->rawMessage = $message; + $this->updateMessage(); + } + /** + * Sets the line the error starts in. + * + * @param int $line Error start line + */ + public function setStartLine($line) + { + if (!\is_int($line)) { + if (!(\is_bool($line) || \is_numeric($line))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($line) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $line = (int) $line; + } + } + $this->attributes['startLine'] = $line; + $this->updateMessage(); + } + /** + * Returns whether the error has start and end column information. + * + * For column information enable the startFilePos and endFilePos in the lexer options. + * + * @return bool + */ + public function hasColumnInfo() + { + $phabelReturn = isset($this->attributes['startFilePos'], $this->attributes['endFilePos']); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the start column (1-based) into the line where the error started. + * + * @param string $code Source code of the file + * @return int + */ + public function getStartColumn($code) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + if (!$this->hasColumnInfo()) { + throw new \RuntimeException('Error does not have column information'); + } + $phabelReturn = $this->toColumn($code, $this->attributes['startFilePos']); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the end column (1-based) into the line where the error ended. + * + * @param string $code Source code of the file + * @return int + */ + public function getEndColumn($code) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + if (!$this->hasColumnInfo()) { + throw new \RuntimeException('Error does not have column information'); + } + $phabelReturn = $this->toColumn($code, $this->attributes['endFilePos']); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Formats message including line and column information. + * + * @param string $code Source code associated with the error, for calculation of the columns + * + * @return string Formatted message + */ + public function getMessageWithColumnInfo($code) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = \sprintf('%s from %d:%d to %d:%d', $this->getRawMessage(), $this->getStartLine(), $this->getStartColumn($code), $this->getEndLine(), $this->getEndColumn($code)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Converts a file offset into a column. + * + * @param string $code Source code that $pos indexes into + * @param int $pos 0-based position in $code + * + * @return int 1-based column (relative to start of line) + */ + private function toColumn($code, $pos) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + if ($pos > \strlen($code)) { + throw new \RuntimeException('Invalid position information'); + } + $lineStartPos = \strrpos($code, "\n", $pos - \strlen($code)); + if (\false === $lineStartPos) { + $lineStartPos = -1; + } + $phabelReturn = $pos - $lineStartPos; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Updates the exception message after a change to rawMessage or rawLine. + */ + protected function updateMessage() + { + $this->message = $this->rawMessage; + if (-1 === $this->getStartLine()) { + $this->message .= ' on unknown line'; + } else { + $this->message .= ' on line ' . $this->getStartLine(); + } + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/ErrorHandler.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/ErrorHandler.php new file mode 100644 index 000000000..40083b886 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/ErrorHandler.php @@ -0,0 +1,13 @@ +errors[] = $error; + } + /** + * Get collected errors. + * + * @return Error[] + */ + public function getErrors() + { + $phabelReturn = $this->errors; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Check whether there are any errors. + * + * @return bool + */ + public function hasErrors() + { + $phabelReturn = !empty($this->errors); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Reset/clear collected errors. + */ + public function clearErrors() + { + $this->errors = []; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/ErrorHandler/Throwing.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/ErrorHandler/Throwing.php new file mode 100644 index 000000000..a76c38dee --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/ErrorHandler/Throwing.php @@ -0,0 +1,18 @@ +type = $type; + $this->old = $old; + $this->new = $new; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/Differ.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/Differ.php new file mode 100644 index 000000000..7e1570171 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/Differ.php @@ -0,0 +1,171 @@ +isEqual = $isEqual; + } + /** + * Calculate diff (edit script) from $old to $new. + * + * @param array $old Original array + * @param array $new New array + * + * @return DiffElem[] Diff (edit script) + */ + public function diff(array $old, array $new) + { + list($trace, $x, $y) = $this->calculateTrace($old, $new); + return $this->extractDiff($trace, $x, $y, $old, $new); + } + /** + * Calculate diff, including "replace" operations. + * + * If a sequence of remove operations is followed by the same number of add operations, these + * will be coalesced into replace operations. + * + * @param array $old Original array + * @param array $new New array + * + * @return DiffElem[] Diff (edit script), including replace operations + */ + public function diffWithReplacements(array $old, array $new) + { + return $this->coalesceReplacements($this->diff($old, $new)); + } + private function calculateTrace(array $a, array $b) + { + $n = \count($a); + $m = \count($b); + $max = $n + $m; + $v = [1 => 0]; + $trace = []; + for ($d = 0; $d <= $max; $d++) { + $trace[] = $v; + for ($k = -$d; $k <= $d; $k += 2) { + if ($k === -$d || $k !== $d && $v[$k - 1] < $v[$k + 1]) { + $x = $v[$k + 1]; + } else { + $x = $v[$k - 1] + 1; + } + $y = $x - $k; + if ($x < $n && $y < $m) { + $phabel_61a83b60b2ff577d = $this->isEqual; + $phabel_02c2d1ecdbc7cd41 = (bool) $phabel_61a83b60b2ff577d($a[$x], $b[$y]); + } else { + $phabel_02c2d1ecdbc7cd41 = \false; + } + while ($phabel_02c2d1ecdbc7cd41) { + $x++; + $y++; + } + $v[$k] = $x; + if ($x >= $n && $y >= $m) { + return [$trace, $x, $y]; + } + } + } + throw new \Exception('Should not happen'); + } + private function extractDiff(array $trace, $x, $y, array $a, array $b) + { + if (!\is_int($x)) { + if (!(\is_bool($x) || \is_numeric($x))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($x) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($x) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $x = (int) $x; + } + } + if (!\is_int($y)) { + if (!(\is_bool($y) || \is_numeric($y))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($y) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($y) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $y = (int) $y; + } + } + $result = []; + for ($d = \count($trace) - 1; $d >= 0; $d--) { + $v = $trace[$d]; + $k = $x - $y; + if ($k === -$d || $k !== $d && $v[$k - 1] < $v[$k + 1]) { + $prevK = $k + 1; + } else { + $prevK = $k - 1; + } + $prevX = $v[$prevK]; + $prevY = $prevX - $prevK; + while ($x > $prevX && $y > $prevY) { + $result[] = new DiffElem(DiffElem::TYPE_KEEP, $a[$x - 1], $b[$y - 1]); + $x--; + $y--; + } + if ($d === 0) { + break; + } + while ($x > $prevX) { + $result[] = new DiffElem(DiffElem::TYPE_REMOVE, $a[$x - 1], null); + $x--; + } + while ($y > $prevY) { + $result[] = new DiffElem(DiffElem::TYPE_ADD, null, $b[$y - 1]); + $y--; + } + } + return \array_reverse($result); + } + /** + * Coalesce equal-length sequences of remove+add into a replace operation. + * + * @param DiffElem[] $diff + * @return DiffElem[] + */ + private function coalesceReplacements(array $diff) + { + $newDiff = []; + $c = \count($diff); + for ($i = 0; $i < $c; $i++) { + $diffType = $diff[$i]->type; + if ($diffType !== DiffElem::TYPE_REMOVE) { + $newDiff[] = $diff[$i]; + continue; + } + $j = $i; + while ($j < $c && $diff[$j]->type === DiffElem::TYPE_REMOVE) { + $j++; + } + $k = $j; + while ($k < $c && $diff[$k]->type === DiffElem::TYPE_ADD) { + $k++; + } + if ($j - $i === $k - $j) { + $len = $j - $i; + for ($n = 0; $n < $len; $n++) { + $newDiff[] = new DiffElem(DiffElem::TYPE_REPLACE, $diff[$i + $n]->old, $diff[$j + $n]->new); + } + } else { + for (; $i < $k; $i++) { + $newDiff[] = $diff[$i]; + } + } + $i = $k - 1; + } + return $newDiff; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php new file mode 100644 index 000000000..1d9fd8af1 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php @@ -0,0 +1,66 @@ +attrGroups = $attrGroups; + $this->args = $args; + $this->extends = $extends; + $this->implements = $implements; + $this->stmts = $stmts; + } + public static function fromNewNode(Expr\New_ $newNode) + { + $class = $newNode->class; + \assert($class instanceof Node\Stmt\Class_); + // We don't assert that $class->name is null here, to allow consumers to assign unique names + // to anonymous classes for their own purposes. We simplify ignore the name here. + return new self($class->attrGroups, $newNode->args, $class->extends, $class->implements, $class->stmts, $newNode->getAttributes()); + } + public function getType() + { + $phabelReturn = 'Expr_PrintableNewAnonClass'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'args', 'extends', 'implements', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/TokenStream.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/TokenStream.php new file mode 100644 index 000000000..2b2c245ba --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Internal/TokenStream.php @@ -0,0 +1,462 @@ +tokens = $tokens; + $this->indentMap = $this->calcIndentMap(); + } + /** + * Whether the given position is immediately surrounded by parenthesis. + * + * @param int $startPos Start position + * @param int $endPos End position + * + * @return bool + */ + public function haveParens($startPos, $endPos) + { + if (!\is_int($startPos)) { + if (!(\is_bool($startPos) || \is_numeric($startPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($startPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($startPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $startPos = (int) $startPos; + } + } + if (!\is_int($endPos)) { + if (!(\is_bool($endPos) || \is_numeric($endPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($endPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($endPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $endPos = (int) $endPos; + } + } + $phabelReturn = $this->haveTokenImmediatelyBefore($startPos, '(') && $this->haveTokenImmediatelyAfter($endPos, ')'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the given position is immediately surrounded by braces. + * + * @param int $startPos Start position + * @param int $endPos End position + * + * @return bool + */ + public function haveBraces($startPos, $endPos) + { + if (!\is_int($startPos)) { + if (!(\is_bool($startPos) || \is_numeric($startPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($startPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($startPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $startPos = (int) $startPos; + } + } + if (!\is_int($endPos)) { + if (!(\is_bool($endPos) || \is_numeric($endPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($endPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($endPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $endPos = (int) $endPos; + } + } + $phabelReturn = ($this->haveTokenImmediatelyBefore($startPos, '{') || $this->haveTokenImmediatelyBefore($startPos, \T_CURLY_OPEN)) && $this->haveTokenImmediatelyAfter($endPos, '}'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Check whether the position is directly preceded by a certain token type. + * + * During this check whitespace and comments are skipped. + * + * @param int $pos Position before which the token should occur + * @param int|string $expectedTokenType Token to check for + * + * @return bool Whether the expected token was found + */ + public function haveTokenImmediatelyBefore($pos, $expectedTokenType) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + $tokens = $this->tokens; + $pos--; + for (; $pos >= 0; $pos--) { + $tokenType = $tokens[$pos][0]; + if ($tokenType === $expectedTokenType) { + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if ($tokenType !== \T_WHITESPACE && $tokenType !== \T_COMMENT && $tokenType !== \T_DOC_COMMENT) { + break; + } + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Check whether the position is directly followed by a certain token type. + * + * During this check whitespace and comments are skipped. + * + * @param int $pos Position after which the token should occur + * @param int|string $expectedTokenType Token to check for + * + * @return bool Whether the expected token was found + */ + public function haveTokenImmediatelyAfter($pos, $expectedTokenType) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + $tokens = $this->tokens; + $pos++; + for (; $pos < \count($tokens); $pos++) { + $tokenType = $tokens[$pos][0]; + if ($tokenType === $expectedTokenType) { + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if ($tokenType !== \T_WHITESPACE && $tokenType !== \T_COMMENT && $tokenType !== \T_DOC_COMMENT) { + break; + } + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function skipLeft($pos, $skipTokenType) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + $tokens = $this->tokens; + $pos = $this->skipLeftWhitespace($pos); + if ($skipTokenType === \T_WHITESPACE) { + return $pos; + } + if ($tokens[$pos][0] !== $skipTokenType) { + // Shouldn't happen. The skip token MUST be there + throw new \Exception('Encountered unexpected token'); + } + $pos--; + return $this->skipLeftWhitespace($pos); + } + public function skipRight($pos, $skipTokenType) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + $tokens = $this->tokens; + $pos = $this->skipRightWhitespace($pos); + if ($skipTokenType === \T_WHITESPACE) { + return $pos; + } + if ($tokens[$pos][0] !== $skipTokenType) { + // Shouldn't happen. The skip token MUST be there + throw new \Exception('Encountered unexpected token'); + } + $pos++; + return $this->skipRightWhitespace($pos); + } + /** + * Return first non-whitespace token position smaller or equal to passed position. + * + * @param int $pos Token position + * @return int Non-whitespace token position + */ + public function skipLeftWhitespace($pos) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + $tokens = $this->tokens; + for (; $pos >= 0; $pos--) { + $type = $tokens[$pos][0]; + if ($type !== \T_WHITESPACE && $type !== \T_COMMENT && $type !== \T_DOC_COMMENT) { + break; + } + } + return $pos; + } + /** + * Return first non-whitespace position greater or equal to passed position. + * + * @param int $pos Token position + * @return int Non-whitespace token position + */ + public function skipRightWhitespace($pos) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + $tokens = $this->tokens; + for ($count = \count($tokens); $pos < $count; $pos++) { + $type = $tokens[$pos][0]; + if ($type !== \T_WHITESPACE && $type !== \T_COMMENT && $type !== \T_DOC_COMMENT) { + break; + } + } + return $pos; + } + public function findRight($pos, $findTokenType) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + $tokens = $this->tokens; + for ($count = \count($tokens); $pos < $count; $pos++) { + $type = $tokens[$pos][0]; + if ($type === $findTokenType) { + return $pos; + } + } + return -1; + } + /** + * Whether the given position range contains a certain token type. + * + * @param int $startPos Starting position (inclusive) + * @param int $endPos Ending position (exclusive) + * @param int|string $tokenType Token type to look for + * @return bool Whether the token occurs in the given range + */ + public function haveTokenInRange($startPos, $endPos, $tokenType) + { + if (!\is_int($startPos)) { + if (!(\is_bool($startPos) || \is_numeric($startPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($startPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($startPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $startPos = (int) $startPos; + } + } + if (!\is_int($endPos)) { + if (!(\is_bool($endPos) || \is_numeric($endPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($endPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($endPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $endPos = (int) $endPos; + } + } + $tokens = $this->tokens; + for ($pos = $startPos; $pos < $endPos; $pos++) { + if ($tokens[$pos][0] === $tokenType) { + return \true; + } + } + return \false; + } + public function haveBracesInRange($startPos, $endPos) + { + if (!\is_int($startPos)) { + if (!(\is_bool($startPos) || \is_numeric($startPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($startPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($startPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $startPos = (int) $startPos; + } + } + if (!\is_int($endPos)) { + if (!(\is_bool($endPos) || \is_numeric($endPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($endPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($endPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $endPos = (int) $endPos; + } + } + return $this->haveTokenInRange($startPos, $endPos, '{') || $this->haveTokenInRange($startPos, $endPos, \T_CURLY_OPEN) || $this->haveTokenInRange($startPos, $endPos, '}'); + } + /** + * Get indentation before token position. + * + * @param int $pos Token position + * + * @return int Indentation depth (in spaces) + */ + public function getIndentationBefore($pos) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + $phabelReturn = $this->indentMap[$pos]; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Get the code corresponding to a token offset range, optionally adjusted for indentation. + * + * @param int $from Token start position (inclusive) + * @param int $to Token end position (exclusive) + * @param int $indent By how much the code should be indented (can be negative as well) + * + * @return string Code corresponding to token range, adjusted for indentation + */ + public function getTokenCode($from, $to, $indent) + { + if (!\is_int($from)) { + if (!(\is_bool($from) || \is_numeric($from))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($from) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($from) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $from = (int) $from; + } + } + if (!\is_int($to)) { + if (!(\is_bool($to) || \is_numeric($to))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($to) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($to) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $to = (int) $to; + } + } + if (!\is_int($indent)) { + if (!(\is_bool($indent) || \is_numeric($indent))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($indent) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($indent) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $indent = (int) $indent; + } + } + $tokens = $this->tokens; + $result = ''; + for ($pos = $from; $pos < $to; $pos++) { + $token = $tokens[$pos]; + if (\is_array($token)) { + $type = $token[0]; + $content = $token[1]; + if ($type === \T_CONSTANT_ENCAPSED_STRING || $type === \T_ENCAPSED_AND_WHITESPACE) { + $result .= $content; + } else { + // TODO Handle non-space indentation + if ($indent < 0) { + $result .= \str_replace("\n" . \str_repeat(" ", -$indent), "\n", $content); + } elseif ($indent > 0) { + $result .= \str_replace("\n", "\n" . \str_repeat(" ", $indent), $content); + } else { + $result .= $content; + } + } + } else { + $result .= $token; + } + } + $phabelReturn = $result; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Precalculate the indentation at every token position. + * + * @return int[] Token position to indentation map + */ + private function calcIndentMap() + { + $indentMap = []; + $indent = 0; + foreach ($this->tokens as $token) { + $indentMap[] = $indent; + if ($token[0] === \T_WHITESPACE) { + $content = $token[1]; + $newlinePos = \strrpos($content, "\n"); + if (\false !== $newlinePos) { + $indent = \strlen($content) - $newlinePos - 1; + } + } + } + // Add a sentinel for one past end of the file + $indentMap[] = $indent; + return $indentMap; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/JsonDecoder.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/JsonDecoder.php new file mode 100644 index 000000000..fabe94f0e --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/JsonDecoder.php @@ -0,0 +1,143 @@ +decodeRecursive($value); + } + private function decodeRecursive($value) + { + if (\is_array($value)) { + if (isset($value['nodeType'])) { + if ($value['nodeType'] === 'Comment' || $value['nodeType'] === 'Comment_Doc') { + return $this->decodeComment($value); + } + return $this->decodeNode($value); + } + return $this->decodeArray($value); + } + return $value; + } + private function decodeArray(array $array) + { + $decodedArray = []; + foreach ($array as $key => $value) { + $decodedArray[$key] = $this->decodeRecursive($value); + } + $phabelReturn = $decodedArray; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function decodeNode(array $value) + { + $nodeType = $value['nodeType']; + if (!\is_string($nodeType)) { + throw new \RuntimeException('Node type must be a string'); + } + $reflectionClass = $this->reflectionClassFromNodeType($nodeType); + /** @var Node $node */ + $node = $reflectionClass->newInstanceWithoutConstructor(); + if (isset($value['attributes'])) { + if (!\is_array($value['attributes'])) { + throw new \RuntimeException('Attributes must be an array'); + } + $node->setAttributes($this->decodeArray($value['attributes'])); + } + foreach ($value as $name => $subNode) { + if ($name === 'nodeType' || $name === 'attributes') { + continue; + } + $node->{$name} = $this->decodeRecursive($subNode); + } + $phabelReturn = $node; + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function decodeComment(array $value) + { + $className = $value['nodeType'] === 'Comment' ? Comment::class : Comment\Doc::class; + if (!isset($value['text'])) { + throw new \RuntimeException('Comment must have text'); + } + $phabelReturn = new $className($value['text'], isset($value['line']) ? $value['line'] : -1, isset($value['filePos']) ? $value['filePos'] : -1, isset($value['tokenPos']) ? $value['tokenPos'] : -1, isset($value['endLine']) ? $value['endLine'] : -1, isset($value['endFilePos']) ? $value['endFilePos'] : -1, isset($value['endTokenPos']) ? $value['endTokenPos'] : -1); + if (!$phabelReturn instanceof Comment) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Comment, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function reflectionClassFromNodeType($nodeType) + { + if (!\is_string($nodeType)) { + if (!(\is_string($nodeType) || \is_object($nodeType) && \method_exists($nodeType, '__toString') || (\is_bool($nodeType) || \is_numeric($nodeType)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($nodeType) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($nodeType) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $nodeType = (string) $nodeType; + } + } + if (!isset($this->reflectionClassCache[$nodeType])) { + $className = $this->classNameFromNodeType($nodeType); + $this->reflectionClassCache[$nodeType] = new \ReflectionClass($className); + } + $phabelReturn = $this->reflectionClassCache[$nodeType]; + if (!$phabelReturn instanceof \ReflectionClass) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ReflectionClass, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function classNameFromNodeType($nodeType) + { + if (!\is_string($nodeType)) { + if (!(\is_string($nodeType) || \is_object($nodeType) && \method_exists($nodeType, '__toString') || (\is_bool($nodeType) || \is_numeric($nodeType)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($nodeType) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($nodeType) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $nodeType = (string) $nodeType; + } + } + $className = 'PhpParser\\Node\\' . \strtr($nodeType, '_', '\\'); + if (\class_exists($className)) { + $phabelReturn = $className; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $className .= '_'; + if (\class_exists($className)) { + $phabelReturn = $className; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + throw new \RuntimeException("Unknown node type \"{$nodeType}\""); + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer.php new file mode 100644 index 000000000..93a25c0ad --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer.php @@ -0,0 +1,490 @@ +defineCompatibilityTokens(); + $this->tokenMap = $this->createTokenMap(); + $this->identifierTokens = $this->createIdentifierTokenMap(); + // map of tokens to drop while lexing (the map is only used for isset lookup, + // that's why the value is simply set to 1; the value is never actually used.) + $this->dropTokens = \array_fill_keys([\T_WHITESPACE, \T_OPEN_TAG, \T_COMMENT, \T_DOC_COMMENT, \T_BAD_CHARACTER], 1); + $defaultAttributes = ['comments', 'startLine', 'endLine']; + $usedAttributes = \array_fill_keys(isset($options['usedAttributes']) ? $options['usedAttributes'] : $defaultAttributes, \true); + // Create individual boolean properties to make these checks faster. + $this->attributeStartLineUsed = isset($usedAttributes['startLine']); + $this->attributeEndLineUsed = isset($usedAttributes['endLine']); + $this->attributeStartTokenPosUsed = isset($usedAttributes['startTokenPos']); + $this->attributeEndTokenPosUsed = isset($usedAttributes['endTokenPos']); + $this->attributeStartFilePosUsed = isset($usedAttributes['startFilePos']); + $this->attributeEndFilePosUsed = isset($usedAttributes['endFilePos']); + $this->attributeCommentsUsed = isset($usedAttributes['comments']); + } + /** + * Initializes the lexer for lexing the provided source code. + * + * This function does not throw if lexing errors occur. Instead, errors may be retrieved using + * the getErrors() method. + * + * @param string $code The source code to lex + * @param ErrorHandler|null $errorHandler Error handler to use for lexing errors. Defaults to + * ErrorHandler\Throwing + */ + public function startLexing($code, ErrorHandler $errorHandler = null) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + if (null === $errorHandler) { + $errorHandler = new ErrorHandler\Throwing(); + } + $this->code = $code; + // keep the code around for __halt_compiler() handling + $this->pos = -1; + $this->line = 1; + $this->filePos = 0; + // If inline HTML occurs without preceding code, treat it as if it had a leading newline. + // This ensures proper composability, because having a newline is the "safe" assumption. + $this->prevCloseTagHasNewline = \true; + $scream = \ini_set('xdebug.scream', '0'); + $this->tokens = @\token_get_all($code); + $this->postprocessTokens($errorHandler); + if (\false !== $scream) { + \ini_set('xdebug.scream', $scream); + } + } + private function handleInvalidCharacterRange($start, $end, $line, ErrorHandler $errorHandler) + { + $tokens = []; + for ($i = $start; $i < $end; $i++) { + $chr = $this->code[$i]; + if ($chr === "\x00") { + // PHP cuts error message after null byte, so need special case + $errorMsg = 'Unexpected null byte'; + } else { + $errorMsg = \sprintf('Unexpected character "%s" (ASCII %d)', $chr, \ord($chr)); + } + $tokens[] = [\T_BAD_CHARACTER, $chr, $line]; + $errorHandler->handleError(new Error($errorMsg, ['startLine' => $line, 'endLine' => $line, 'startFilePos' => $i, 'endFilePos' => $i])); + } + return $tokens; + } + /** + * Check whether comment token is unterminated. + * + * @return bool + */ + private function isUnterminatedComment($token) + { + $phabelReturn = ($token[0] === \T_COMMENT || $token[0] === \T_DOC_COMMENT) && \substr($token[1], 0, 2) === '/*' && \substr($token[1], -2) !== '*/'; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + protected function postprocessTokens(ErrorHandler $errorHandler) + { + // PHP's error handling for token_get_all() is rather bad, so if we want detailed + // error information we need to compute it ourselves. Invalid character errors are + // detected by finding "gaps" in the token array. Unterminated comments are detected + // by checking if a trailing comment has a "*/" at the end. + // + // Additionally, we canonicalize to the PHP 8 comment format here, which does not include + // the trailing whitespace anymore. + // + // We also canonicalize to the PHP 8 T_NAME_* tokens. + $filePos = 0; + $line = 1; + $numTokens = \count($this->tokens); + for ($i = 0; $i < $numTokens; $i++) { + $token = $this->tokens[$i]; + // Since PHP 7.4 invalid characters are represented by a T_BAD_CHARACTER token. + // In this case we only need to emit an error. + if ($token[0] === \T_BAD_CHARACTER) { + $this->handleInvalidCharacterRange($filePos, $filePos + 1, $line, $errorHandler); + } + if ($token[0] === \T_COMMENT && \substr($token[1], 0, 2) !== '/*' && \preg_match('/(\\r\\n|\\n|\\r)$/D', $token[1], $matches)) { + $trailingNewline = $matches[0]; + $token[1] = \substr($token[1], 0, -\strlen($trailingNewline)); + $this->tokens[$i] = $token; + if (isset($this->tokens[$i + 1]) && $this->tokens[$i + 1][0] === \T_WHITESPACE) { + // Move trailing newline into following T_WHITESPACE token, if it already exists. + $this->tokens[$i + 1][1] = $trailingNewline . $this->tokens[$i + 1][1]; + $this->tokens[$i + 1][2]--; + } else { + // Otherwise, we need to create a new T_WHITESPACE token. + \array_splice($this->tokens, $i + 1, 0, [[\T_WHITESPACE, $trailingNewline, $line]]); + $numTokens++; + } + } + // Emulate PHP 8 T_NAME_* tokens, by combining sequences of T_NS_SEPARATOR and T_STRING + // into a single token. + if (\is_array($token) && ($token[0] === \T_NS_SEPARATOR || isset($this->identifierTokens[$token[0]]))) { + $lastWasSeparator = $token[0] === \T_NS_SEPARATOR; + $text = $token[1]; + for ($j = $i + 1; isset($this->tokens[$j]); $j++) { + if ($lastWasSeparator) { + if (!isset($this->identifierTokens[$this->tokens[$j][0]])) { + break; + } + $lastWasSeparator = \false; + } else { + if ($this->tokens[$j][0] !== \T_NS_SEPARATOR) { + break; + } + $lastWasSeparator = \true; + } + $text .= $this->tokens[$j][1]; + } + if ($lastWasSeparator) { + // Trailing separator is not part of the name. + $j--; + $text = \substr($text, 0, -1); + } + if ($j > $i + 1) { + if ($token[0] === \T_NS_SEPARATOR) { + $type = \T_NAME_FULLY_QUALIFIED; + } else { + if ($token[0] === \T_NAMESPACE) { + $type = \T_NAME_RELATIVE; + } else { + $type = \T_NAME_QUALIFIED; + } + } + $token = [$type, $text, $line]; + \array_splice($this->tokens, $i, $j - $i, [$token]); + $numTokens -= $j - $i - 1; + } + } + $tokenValue = \is_string($token) ? $token : $token[1]; + $tokenLen = \strlen($tokenValue); + if (\substr($this->code, $filePos, $tokenLen) !== $tokenValue) { + // Something is missing, must be an invalid character + $nextFilePos = \strpos($this->code, $tokenValue, $filePos); + $badCharTokens = $this->handleInvalidCharacterRange($filePos, $nextFilePos, $line, $errorHandler); + $filePos = (int) $nextFilePos; + \array_splice($this->tokens, $i, 0, $badCharTokens); + $numTokens += \count($badCharTokens); + $i += \count($badCharTokens); + } + $filePos += $tokenLen; + $line += \substr_count($tokenValue, "\n"); + } + if ($filePos !== \strlen($this->code)) { + if (\substr($this->code, $filePos, 2) === '/*') { + // Unlike PHP, HHVM will drop unterminated comments entirely + $comment = \substr($this->code, $filePos); + $errorHandler->handleError(new Error('Unterminated comment', ['startLine' => $line, 'endLine' => $line + \substr_count($comment, "\n"), 'startFilePos' => $filePos, 'endFilePos' => $filePos + \strlen($comment)])); + // Emulate the PHP behavior + $isDocComment = isset($comment[3]) && $comment[3] === '*'; + $this->tokens[] = [$isDocComment ? \T_DOC_COMMENT : \T_COMMENT, $comment, $line]; + } else { + // Invalid characters at the end of the input + $badCharTokens = $this->handleInvalidCharacterRange($filePos, \strlen($this->code), $line, $errorHandler); + $this->tokens = \array_merge($this->tokens, $badCharTokens); + } + return; + } + if (\count($this->tokens) > 0) { + // Check for unterminated comment + $lastToken = $this->tokens[\count($this->tokens) - 1]; + if ($this->isUnterminatedComment($lastToken)) { + $errorHandler->handleError(new Error('Unterminated comment', ['startLine' => $line - \substr_count($lastToken[1], "\n"), 'endLine' => $line, 'startFilePos' => $filePos - \strlen($lastToken[1]), 'endFilePos' => $filePos])); + } + } + } + /** + * Fetches the next token. + * + * The available attributes are determined by the 'usedAttributes' option, which can + * be specified in the constructor. The following attributes are supported: + * + * * 'comments' => Array of PhpParser\Comment or PhpParser\Comment\Doc instances, + * representing all comments that occurred between the previous + * non-discarded token and the current one. + * * 'startLine' => Line in which the node starts. + * * 'endLine' => Line in which the node ends. + * * 'startTokenPos' => Offset into the token array of the first token in the node. + * * 'endTokenPos' => Offset into the token array of the last token in the node. + * * 'startFilePos' => Offset into the code string of the first character that is part of the node. + * * 'endFilePos' => Offset into the code string of the last character that is part of the node. + * + * @param mixed $value Variable to store token content in + * @param mixed $startAttributes Variable to store start attributes in + * @param mixed $endAttributes Variable to store end attributes in + * + * @return int Token id + */ + public function getNextToken(&$value = null, &$startAttributes = null, &$endAttributes = null) + { + $startAttributes = []; + $endAttributes = []; + while (1) { + if (isset($this->tokens[++$this->pos])) { + $token = $this->tokens[$this->pos]; + } else { + // EOF token with ID 0 + $token = "\x00"; + } + if ($this->attributeStartLineUsed) { + $startAttributes['startLine'] = $this->line; + } + if ($this->attributeStartTokenPosUsed) { + $startAttributes['startTokenPos'] = $this->pos; + } + if ($this->attributeStartFilePosUsed) { + $startAttributes['startFilePos'] = $this->filePos; + } + if (\is_string($token)) { + $value = $token; + if (isset($token[1])) { + // bug in token_get_all + $this->filePos += 2; + $id = \ord('"'); + } else { + $this->filePos += 1; + $id = \ord($token); + } + } elseif (!isset($this->dropTokens[$token[0]])) { + $value = $token[1]; + $id = $this->tokenMap[$token[0]]; + if (\T_CLOSE_TAG === $token[0]) { + $this->prevCloseTagHasNewline = \false !== \strpos($token[1], "\n"); + } elseif (\T_INLINE_HTML === $token[0]) { + $startAttributes['hasLeadingNewline'] = $this->prevCloseTagHasNewline; + } + $this->line += \substr_count($value, "\n"); + $this->filePos += \strlen($value); + } else { + $origLine = $this->line; + $origFilePos = $this->filePos; + $this->line += \substr_count($token[1], "\n"); + $this->filePos += \strlen($token[1]); + if (\T_COMMENT === $token[0] || \T_DOC_COMMENT === $token[0]) { + if ($this->attributeCommentsUsed) { + $comment = \T_DOC_COMMENT === $token[0] ? new Comment\Doc($token[1], $origLine, $origFilePos, $this->pos, $this->line, $this->filePos - 1, $this->pos) : new Comment($token[1], $origLine, $origFilePos, $this->pos, $this->line, $this->filePos - 1, $this->pos); + $startAttributes['comments'][] = $comment; + } + } + continue; + } + if ($this->attributeEndLineUsed) { + $endAttributes['endLine'] = $this->line; + } + if ($this->attributeEndTokenPosUsed) { + $endAttributes['endTokenPos'] = $this->pos; + } + if ($this->attributeEndFilePosUsed) { + $endAttributes['endFilePos'] = $this->filePos - 1; + } + $phabelReturn = $id; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + throw new \RuntimeException('Reached end of lexer loop'); + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Returns the token array for current code. + * + * The token array is in the same format as provided by the + * token_get_all() function and does not discard tokens (i.e. + * whitespace and comments are included). The token position + * attributes are against this token array. + * + * @return array Array of tokens in token_get_all() format + */ + public function getTokens() + { + $phabelReturn = $this->tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Handles __halt_compiler() by returning the text after it. + * + * @return string Remaining text + */ + public function handleHaltCompiler() + { + // text after T_HALT_COMPILER, still including (); + $textAfter = \substr($this->code, $this->filePos); + // ensure that it is followed by (); + // this simplifies the situation, by not allowing any comments + // in between of the tokens. + if (!\preg_match('~^\\s*\\(\\s*\\)\\s*(?:;|\\?>\\r?\\n?)~', $textAfter, $matches)) { + throw new Error('__HALT_COMPILER must be followed by "();"'); + } + // prevent the lexer from returning any further tokens + $this->pos = \count($this->tokens); + $phabelReturn = \substr($textAfter, \strlen($matches[0])); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + // return with (); removed + return $phabelReturn; + } + private function defineCompatibilityTokens() + { + static $compatTokensDefined = \false; + if ($compatTokensDefined) { + return; + } + $compatTokens = [ + // PHP 7.4 + 'T_BAD_CHARACTER', + 'T_FN', + 'T_COALESCE_EQUAL', + // PHP 8.0 + 'T_NAME_QUALIFIED', + 'T_NAME_FULLY_QUALIFIED', + 'T_NAME_RELATIVE', + 'T_MATCH', + 'T_NULLSAFE_OBJECT_OPERATOR', + 'T_ATTRIBUTE', + ]; + // PHP-Parser might be used together with another library that also emulates some or all + // of these tokens. Perform a sanity-check that all already defined tokens have been + // assigned a unique ID. + $usedTokenIds = []; + foreach ($compatTokens as $token) { + if (\defined($token)) { + $tokenId = \constant($token); + $clashingToken = isset($usedTokenIds[$tokenId]) ? $usedTokenIds[$tokenId] : null; + if ($clashingToken !== null) { + throw new \Error(\sprintf('Token %s has same ID as token %s, you may be using a library with broken token emulation', $token, $clashingToken)); + } + $usedTokenIds[$tokenId] = $token; + } + } + // Now define any tokens that have not yet been emulated. Try to assign IDs from -1 + // downwards, but skip any IDs that may already be in use. + $newTokenId = -1; + foreach ($compatTokens as $token) { + if (!\defined($token)) { + while (isset($usedTokenIds[$newTokenId])) { + $newTokenId--; + } + \define($token, $newTokenId); + $newTokenId--; + } + } + $compatTokensDefined = \true; + } + /** + * Creates the token map. + * + * The token map maps the PHP internal token identifiers + * to the identifiers used by the Parser. Additionally it + * maps T_OPEN_TAG_WITH_ECHO to T_ECHO and T_CLOSE_TAG to ';'. + * + * @return array The token map + */ + protected function createTokenMap() + { + $tokenMap = []; + // 256 is the minimum possible token number, as everything below + // it is an ASCII value + for ($i = 256; $i < 1000; ++$i) { + if (\T_DOUBLE_COLON === $i) { + // T_DOUBLE_COLON is equivalent to T_PAAMAYIM_NEKUDOTAYIM + $tokenMap[$i] = Tokens::T_PAAMAYIM_NEKUDOTAYIM; + } elseif (\T_OPEN_TAG_WITH_ECHO === $i) { + // T_OPEN_TAG_WITH_ECHO with dropped T_OPEN_TAG results in T_ECHO + $tokenMap[$i] = Tokens::T_ECHO; + } elseif (\T_CLOSE_TAG === $i) { + // T_CLOSE_TAG is equivalent to ';' + $tokenMap[$i] = \ord(';'); + } elseif ('UNKNOWN' !== ($name = \token_name($i))) { + if ('T_HASHBANG' === $name) { + // HHVM uses a special token for #! hashbang lines + $tokenMap[$i] = Tokens::T_INLINE_HTML; + } elseif (\defined($name = Tokens::class . '::' . $name)) { + // Other tokens can be mapped directly + $tokenMap[$i] = \constant($name); + } + } + } + // HHVM uses a special token for numbers that overflow to double + if (\defined('T_ONUMBER')) { + $tokenMap[\T_ONUMBER] = Tokens::T_DNUMBER; + } + // HHVM also has a separate token for the __COMPILER_HALT_OFFSET__ constant + if (\defined('T_COMPILER_HALT_OFFSET')) { + $tokenMap[\T_COMPILER_HALT_OFFSET] = Tokens::T_STRING; + } + // Assign tokens for which we define compatibility constants, as token_name() does not know them. + $tokenMap[\T_FN] = Tokens::T_FN; + $tokenMap[\T_COALESCE_EQUAL] = Tokens::T_COALESCE_EQUAL; + $tokenMap[\T_NAME_QUALIFIED] = Tokens::T_NAME_QUALIFIED; + $tokenMap[\T_NAME_FULLY_QUALIFIED] = Tokens::T_NAME_FULLY_QUALIFIED; + $tokenMap[\T_NAME_RELATIVE] = Tokens::T_NAME_RELATIVE; + $tokenMap[\T_MATCH] = Tokens::T_MATCH; + $tokenMap[\T_NULLSAFE_OBJECT_OPERATOR] = Tokens::T_NULLSAFE_OBJECT_OPERATOR; + $tokenMap[\T_ATTRIBUTE] = Tokens::T_ATTRIBUTE; + $phabelReturn = $tokenMap; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function createIdentifierTokenMap() + { + $phabelReturn = \array_fill_keys([\T_STRING, \T_STATIC, \T_ABSTRACT, \T_FINAL, \T_PRIVATE, \T_PROTECTED, \T_PUBLIC, \T_INCLUDE, \T_INCLUDE_ONCE, \T_EVAL, \T_REQUIRE, \T_REQUIRE_ONCE, \T_LOGICAL_OR, \T_LOGICAL_XOR, \T_LOGICAL_AND, \T_INSTANCEOF, \T_NEW, \T_CLONE, \T_EXIT, \T_IF, \T_ELSEIF, \T_ELSE, \T_ENDIF, \T_ECHO, \T_DO, \T_WHILE, \T_ENDWHILE, \T_FOR, \T_ENDFOR, \T_FOREACH, \T_ENDFOREACH, \T_DECLARE, \T_ENDDECLARE, \T_AS, \T_TRY, \T_CATCH, \T_FINALLY, \T_THROW, \T_USE, \T_INSTEADOF, \T_GLOBAL, \T_VAR, \T_UNSET, \T_ISSET, \T_EMPTY, \T_CONTINUE, \T_GOTO, \T_FUNCTION, \T_CONST, \T_RETURN, \T_PRINT, \T_YIELD, \T_LIST, \T_SWITCH, \T_ENDSWITCH, \T_CASE, \T_DEFAULT, \T_BREAK, \T_ARRAY, \T_CALLABLE, \T_EXTENDS, \T_IMPLEMENTS, \T_NAMESPACE, \T_TRAIT, \T_INTERFACE, \T_CLASS, \T_CLASS_C, \T_TRAIT_C, \T_FUNC_C, \T_METHOD_C, \T_LINE, \T_FILE, \T_DIR, \T_NS_C, \T_HALT_COMPILER, \T_FN, \T_MATCH], \true); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // Based on semi_reserved production. + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/Emulative.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/Emulative.php new file mode 100644 index 000000000..0dfa7bfc2 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/Emulative.php @@ -0,0 +1,240 @@ +targetPhpVersion = isset($options['phpVersion']) ? $options['phpVersion'] : Emulative::PHP_8_0; + unset($options['phpVersion']); + parent::__construct($options); + $emulators = [new FlexibleDocStringEmulator(), new FnTokenEmulator(), new MatchTokenEmulator(), new CoaleseEqualTokenEmulator(), new NumericLiteralSeparatorEmulator(), new NullsafeTokenEmulator(), new AttributeEmulator()]; + // Collect emulators that are relevant for the PHP version we're running + // and the PHP version we're targeting for emulation. + foreach ($emulators as $emulator) { + $emulatorPhpVersion = $emulator->getPhpVersion(); + if ($this->isForwardEmulationNeeded($emulatorPhpVersion)) { + $this->emulators[] = $emulator; + } else { + if ($this->isReverseEmulationNeeded($emulatorPhpVersion)) { + $this->emulators[] = new ReverseEmulator($emulator); + } + } + } + } + public function startLexing($code, ErrorHandler $errorHandler = null) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $emulators = \array_filter($this->emulators, function ($emulator) use($code) { + return $emulator->isEmulationNeeded($code); + }); + if (empty($emulators)) { + // Nothing to emulate, yay + parent::startLexing($code, $errorHandler); + return; + } + $this->patches = []; + foreach ($emulators as $emulator) { + $code = $emulator->preprocessCode($code, $this->patches); + } + $collector = new ErrorHandler\Collecting(); + parent::startLexing($code, $collector); + $this->sortPatches(); + $this->fixupTokens(); + $errors = $collector->getErrors(); + if (!empty($errors)) { + $this->fixupErrors($errors); + foreach ($errors as $error) { + $errorHandler->handleError($error); + } + } + foreach ($emulators as $emulator) { + $this->tokens = $emulator->emulate($code, $this->tokens); + } + } + private function isForwardEmulationNeeded($emulatorPhpVersion) + { + if (!\is_string($emulatorPhpVersion)) { + if (!(\is_string($emulatorPhpVersion) || \is_object($emulatorPhpVersion) && \method_exists($emulatorPhpVersion, '__toString') || (\is_bool($emulatorPhpVersion) || \is_numeric($emulatorPhpVersion)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($emulatorPhpVersion) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($emulatorPhpVersion) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $emulatorPhpVersion = (string) $emulatorPhpVersion; + } + } + $phabelReturn = \version_compare(\PHP_VERSION, $emulatorPhpVersion, '<') && \version_compare($this->targetPhpVersion, $emulatorPhpVersion, '>='); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + private function isReverseEmulationNeeded($emulatorPhpVersion) + { + if (!\is_string($emulatorPhpVersion)) { + if (!(\is_string($emulatorPhpVersion) || \is_object($emulatorPhpVersion) && \method_exists($emulatorPhpVersion, '__toString') || (\is_bool($emulatorPhpVersion) || \is_numeric($emulatorPhpVersion)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($emulatorPhpVersion) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($emulatorPhpVersion) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $emulatorPhpVersion = (string) $emulatorPhpVersion; + } + } + $phabelReturn = \version_compare(\PHP_VERSION, $emulatorPhpVersion, '>=') && \version_compare($this->targetPhpVersion, $emulatorPhpVersion, '<'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + private function sortPatches() + { + // Patches may be contributed by different emulators. + // Make sure they are sorted by increasing patch position. + \usort($this->patches, function ($p1, $p2) { + return \Phabel\Target\Php70\SpaceshipOperatorReplacer::spaceship($p1[0], $p2[0]); + }); + } + private function fixupTokens() + { + if (\count($this->patches) === 0) { + return; + } + // Load first patch + $patchIdx = 0; + list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; + // We use a manual loop over the tokens, because we modify the array on the fly + $pos = 0; + for ($i = 0, $c = \count($this->tokens); $i < $c; $i++) { + $token = $this->tokens[$i]; + if (\is_string($token)) { + if ($patchPos === $pos) { + // Only support replacement for string tokens. + \assert($patchType === 'replace'); + $this->tokens[$i] = $patchText; + // Fetch the next patch + $patchIdx++; + if ($patchIdx >= \count($this->patches)) { + // No more patches, we're done + return; + } + list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; + } + $pos += \strlen($token); + continue; + } + $len = \strlen($token[1]); + $posDelta = 0; + while ($patchPos >= $pos && $patchPos < $pos + $len) { + $patchTextLen = \strlen($patchText); + if ($patchType === 'remove') { + if ($patchPos === $pos && $patchTextLen === $len) { + // Remove token entirely + \array_splice($this->tokens, $i, 1, []); + $i--; + $c--; + } else { + // Remove from token string + $this->tokens[$i][1] = \substr_replace($token[1], '', $patchPos - $pos + $posDelta, $patchTextLen); + $posDelta -= $patchTextLen; + } + } elseif ($patchType === 'add') { + // Insert into the token string + $this->tokens[$i][1] = \substr_replace($token[1], $patchText, $patchPos - $pos + $posDelta, 0); + $posDelta += $patchTextLen; + } else { + if ($patchType === 'replace') { + // Replace inside the token string + $this->tokens[$i][1] = \substr_replace($token[1], $patchText, $patchPos - $pos + $posDelta, $patchTextLen); + } else { + \assert(\false); + } + } + // Fetch the next patch + $patchIdx++; + if ($patchIdx >= \count($this->patches)) { + // No more patches, we're done + return; + } + list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; + // Multiple patches may apply to the same token. Reload the current one to check + // If the new patch applies + $token = $this->tokens[$i]; + } + $pos += $len; + } + // A patch did not apply + \assert(\false); + } + /** + * Fixup line and position information in errors. + * + * @param Error[] $errors + */ + private function fixupErrors(array $errors) + { + foreach ($errors as $error) { + $attrs = $error->getAttributes(); + $posDelta = 0; + $lineDelta = 0; + foreach ($this->patches as $patch) { + list($patchPos, $patchType, $patchText) = $patch; + if ($patchPos >= $attrs['startFilePos']) { + // No longer relevant + break; + } + if ($patchType === 'add') { + $posDelta += \strlen($patchText); + $lineDelta += \substr_count($patchText, "\n"); + } else { + if ($patchType === 'remove') { + $posDelta -= \strlen($patchText); + $lineDelta -= \substr_count($patchText, "\n"); + } + } + } + $attrs['startFilePos'] += $posDelta; + $attrs['endFilePos'] += $posDelta; + $attrs['startLine'] += $lineDelta; + $attrs['endLine'] += $lineDelta; + $error->setAttributes($attrs); + } + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php new file mode 100644 index 000000000..7ad393f1a --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php @@ -0,0 +1,109 @@ +\h*)\2(?![a-zA-Z0-9_\x80-\xff])(?(?:;?[\r\n])?)/x +REGEX; + public function getPhpVersion() + { + $phabelReturn = Emulative::PHP_7_3; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function isEmulationNeeded($code) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = \strpos($code, '<<<') !== \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function emulate($code, array $tokens) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = $tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // Handled by preprocessing + fixup. + return $phabelReturn; + } + public function reverseEmulate($code, array $tokens) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = $tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // Not supported. + return $phabelReturn; + } + public function preprocessCode($code, array &$patches) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + if (!\preg_match_all(self::FLEXIBLE_DOC_STRING_REGEX, $code, $matches, \PREG_SET_ORDER | \PREG_OFFSET_CAPTURE)) { + $phabelReturn = $code; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + // No heredoc/nowdoc found + return $phabelReturn; + } + // Keep track of how much we need to adjust string offsets due to the modifications we + // already made + $posDelta = 0; + foreach ($matches as $match) { + $indentation = $match['indentation'][0]; + $indentationStart = $match['indentation'][1]; + $separator = $match['separator'][0]; + $separatorStart = $match['separator'][1]; + if ($indentation === '' && $separator !== '') { + // Ordinary heredoc/nowdoc + continue; + } + if ($indentation !== '') { + // Remove indentation + $indentationLen = \strlen($indentation); + $code = \substr_replace($code, '', $indentationStart + $posDelta, $indentationLen); + $patches[] = [$indentationStart + $posDelta, 'add', $indentation]; + $posDelta -= $indentationLen; + } + if ($separator === '') { + // Insert newline as separator + $code = \substr_replace($code, "\n", $separatorStart + $posDelta, 0); + $patches[] = [$separatorStart + $posDelta, 'remove', "\n"]; + $posDelta += 1; + } + } + $phabelReturn = $code; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php new file mode 100644 index 000000000..1f485e9ed --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php @@ -0,0 +1,44 @@ +getKeywordString()) !== \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function emulate($code, array $tokens) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $keywordString = $this->getKeywordString(); + foreach ($tokens as $i => $token) { + if ($token[0] === \T_STRING && \strtolower($token[1]) === $keywordString) { + $previousNonSpaceToken = $this->getPreviousNonSpaceToken($tokens, $i); + if ($previousNonSpaceToken !== null && $previousNonSpaceToken[0] === \T_OBJECT_OPERATOR) { + continue; + } + $tokens[$i][0] = $this->getKeywordToken(); + } + } + $phabelReturn = $tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param mixed[] $tokens + * @return mixed[]|null + */ + private function getPreviousNonSpaceToken(array $tokens, $start) + { + if (!\is_int($start)) { + if (!(\is_bool($start) || \is_numeric($start))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($start) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($start) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $start = (int) $start; + } + } + for ($i = $start - 1; $i >= 0; --$i) { + if ($tokens[$i][0] === \T_WHITESPACE) { + continue; + } + return $tokens[$i]; + } + return null; + } + public function reverseEmulate($code, array $tokens) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $keywordToken = $this->getKeywordToken(); + foreach ($tokens as $i => $token) { + if ($token[0] === $keywordToken) { + $tokens[$i][0] = \T_STRING; + } + } + $phabelReturn = $tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php new file mode 100644 index 000000000..68258cb60 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php @@ -0,0 +1,44 @@ +') !== \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function emulate($code, array $tokens) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + // We need to manually iterate and manage a count because we'll change + // the tokens array on the way + $line = 1; + for ($i = 0, $c = \count($tokens); $i < $c; ++$i) { + if ($tokens[$i] === '?' && isset($tokens[$i + 1]) && $tokens[$i + 1][0] === \T_OBJECT_OPERATOR) { + \array_splice($tokens, $i, 2, [[\T_NULLSAFE_OBJECT_OPERATOR, '?->', $line]]); + $c--; + continue; + } + // Handle ?-> inside encapsed string. + if ($tokens[$i][0] === \T_ENCAPSED_AND_WHITESPACE && isset($tokens[$i - 1]) && $tokens[$i - 1][0] === \T_VARIABLE && \preg_match('/^\\?->([a-zA-Z_\\x80-\\xff][a-zA-Z0-9_\\x80-\\xff]*)/', $tokens[$i][1], $matches)) { + $replacement = [[\T_NULLSAFE_OBJECT_OPERATOR, '?->', $line], [\T_STRING, $matches[1], $line]]; + if (\strlen($matches[0]) !== \strlen($tokens[$i][1])) { + $replacement[] = [\T_ENCAPSED_AND_WHITESPACE, \substr($tokens[$i][1], \strlen($matches[0])), $line]; + } + \array_splice($tokens, $i, 1, $replacement); + $c += \count($replacement) - 1; + continue; + } + if (\is_array($tokens[$i])) { + $line += \substr_count($tokens[$i][1], "\n"); + } + } + $phabelReturn = $tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function reverseEmulate($code, array $tokens) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = $tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // ?-> was not valid code previously, don't bother. + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php new file mode 100644 index 000000000..c358288eb --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php @@ -0,0 +1,147 @@ +resolveIntegerOrFloatToken($match); + $newTokens = [[$tokenKind, $match, $token[2]]]; + $numTokens = 1; + $len = $tokenLen; + while ($matchLen > $len) { + $nextToken = $tokens[$i + $numTokens]; + $nextTokenText = \is_array($nextToken) ? $nextToken[1] : $nextToken; + $nextTokenLen = \strlen($nextTokenText); + $numTokens++; + if ($matchLen < $len + $nextTokenLen) { + // Split trailing characters into a partial token. + \assert(\is_array($nextToken), "Partial token should be an array token"); + $partialText = \substr($nextTokenText, $matchLen - $len); + $newTokens[] = [$nextToken[0], $partialText, $nextToken[2]]; + break; + } + $len += $nextTokenLen; + } + \array_splice($tokens, $i, $numTokens, $newTokens); + $c -= $numTokens - \count($newTokens); + $codeOffset += $matchLen; + } + $phabelReturn = $tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function resolveIntegerOrFloatToken($str) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + $str = \str_replace('_', '', $str); + if (\stripos($str, '0b') === 0) { + $num = \bindec($str); + } elseif (\stripos($str, '0x') === 0) { + $num = \hexdec($str); + } elseif (\stripos($str, '0') === 0 && \ctype_digit($str)) { + $num = \octdec($str); + } else { + $num = +$str; + } + $phabelReturn = \is_float($num) ? \T_DNUMBER : \T_LNUMBER; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + public function reverseEmulate($code, array $tokens) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = $tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // Numeric separators were not legal code previously, don't bother. + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php new file mode 100644 index 000000000..68589b72f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php @@ -0,0 +1,96 @@ +emulator = $emulator; + } + public function getPhpVersion() + { + $phabelReturn = $this->emulator->getPhpVersion(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function isEmulationNeeded($code) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = $this->emulator->isEmulationNeeded($code); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function emulate($code, array $tokens) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = $this->emulator->reverseEmulate($code, $tokens); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function reverseEmulate($code, array $tokens) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = $this->emulator->emulate($code, $tokens); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function preprocessCode($code, array &$patches) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $phabelReturn = $code; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php new file mode 100644 index 000000000..b1a1652dc --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php @@ -0,0 +1,37 @@ + [aliasName => originalName]] */ + protected $aliases = []; + /** @var Name[][] Same as $aliases but preserving original case */ + protected $origAliases = []; + /** @var ErrorHandler Error handler */ + protected $errorHandler; + /** + * Create a name context. + * + * @param ErrorHandler $errorHandler Error handling used to report errors + */ + public function __construct(ErrorHandler $errorHandler) + { + $this->errorHandler = $errorHandler; + } + /** + * Start a new namespace. + * + * This also resets the alias table. + * + * @param Name|null $namespace Null is the global namespace + */ + public function startNamespace(Name $namespace = null) + { + $this->namespace = $namespace; + $this->origAliases = $this->aliases = [Stmt\Use_::TYPE_NORMAL => [], Stmt\Use_::TYPE_FUNCTION => [], Stmt\Use_::TYPE_CONSTANT => []]; + } + /** + * Add an alias / import. + * + * @param Name $name Original name + * @param string $aliasName Aliased name + * @param int $type One of Stmt\Use_::TYPE_* + * @param array $errorAttrs Attributes to use to report an error + */ + public function addAlias(Name $name, $aliasName, $type, array $errorAttrs = []) + { + if (!\is_string($aliasName)) { + if (!(\is_string($aliasName) || \is_object($aliasName) && \method_exists($aliasName, '__toString') || (\is_bool($aliasName) || \is_numeric($aliasName)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($aliasName) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($aliasName) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $aliasName = (string) $aliasName; + } + } + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + // Constant names are case sensitive, everything else case insensitive + if ($type === Stmt\Use_::TYPE_CONSTANT) { + $aliasLookupName = $aliasName; + } else { + $aliasLookupName = \strtolower($aliasName); + } + if (isset($this->aliases[$type][$aliasLookupName])) { + $typeStringMap = [Stmt\Use_::TYPE_NORMAL => '', Stmt\Use_::TYPE_FUNCTION => 'function ', Stmt\Use_::TYPE_CONSTANT => 'const ']; + $this->errorHandler->handleError(new Error(\sprintf('Cannot use %s%s as %s because the name is already in use', $typeStringMap[$type], $name, $aliasName), $errorAttrs)); + return; + } + $this->aliases[$type][$aliasLookupName] = $name; + $this->origAliases[$type][$aliasName] = $name; + } + /** + * Get current namespace. + * + * @return null|Name Namespace (or null if global namespace) + */ + public function getNamespace() + { + return $this->namespace; + } + /** + * Get resolved name. + * + * @param Name $name Name to resolve + * @param int $type One of Stmt\Use_::TYPE_{FUNCTION|CONSTANT} + * + * @return null|Name Resolved name, or null if static resolution is not possible + */ + public function getResolvedName(Name $name, $type) + { + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + // don't resolve special class names + if ($type === Stmt\Use_::TYPE_NORMAL && $name->isSpecialClassName()) { + if (!$name->isUnqualified()) { + $this->errorHandler->handleError(new Error(\sprintf("'\\%s' is an invalid class name", $name->toString()), $name->getAttributes())); + } + return $name; + } + // fully qualified names are already resolved + if ($name->isFullyQualified()) { + return $name; + } + // Try to resolve aliases + if (null !== ($resolvedName = $this->resolveAlias($name, $type))) { + return $resolvedName; + } + if ($type !== Stmt\Use_::TYPE_NORMAL && $name->isUnqualified()) { + if (null === $this->namespace) { + // outside of a namespace unaliased unqualified is same as fully qualified + return new FullyQualified($name, $name->getAttributes()); + } + // Cannot resolve statically + return null; + } + // if no alias exists prepend current namespace + return FullyQualified::concat($this->namespace, $name, $name->getAttributes()); + } + /** + * Get resolved class name. + * + * @param Name $name Class ame to resolve + * + * @return Name Resolved name + */ + public function getResolvedClassName(Name $name) + { + $phabelReturn = $this->getResolvedName($name, Stmt\Use_::TYPE_NORMAL); + if (!$phabelReturn instanceof Name) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Name, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Get possible ways of writing a fully qualified name (e.g., by making use of aliases). + * + * @param string $name Fully-qualified name (without leading namespace separator) + * @param int $type One of Stmt\Use_::TYPE_* + * + * @return Name[] Possible representations of the name + */ + public function getPossibleNames($name, $type) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + $lcName = \strtolower($name); + if ($type === Stmt\Use_::TYPE_NORMAL) { + // self, parent and static must always be unqualified + if ($lcName === "self" || $lcName === "parent" || $lcName === "static") { + $phabelReturn = [new Name($name)]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + } + // Collect possible ways to write this name, starting with the fully-qualified name + $possibleNames = [new FullyQualified($name)]; + if (null !== ($nsRelativeName = $this->getNamespaceRelativeName($name, $lcName, $type))) { + // Make sure there is no alias that makes the normally namespace-relative name + // into something else + if (null === $this->resolveAlias($nsRelativeName, $type)) { + $possibleNames[] = $nsRelativeName; + } + } + // Check for relevant namespace use statements + foreach ($this->origAliases[Stmt\Use_::TYPE_NORMAL] as $alias => $orig) { + $lcOrig = $orig->toLowerString(); + if (0 === \strpos($lcName, $lcOrig . '\\')) { + $possibleNames[] = new Name($alias . \substr($name, \strlen($lcOrig))); + } + } + // Check for relevant type-specific use statements + foreach ($this->origAliases[$type] as $alias => $orig) { + if ($type === Stmt\Use_::TYPE_CONSTANT) { + // Constants are are complicated-sensitive + $normalizedOrig = $this->normalizeConstName($orig->toString()); + if ($normalizedOrig === $this->normalizeConstName($name)) { + $possibleNames[] = new Name($alias); + } + } else { + // Everything else is case-insensitive + if ($orig->toLowerString() === $lcName) { + $possibleNames[] = new Name($alias); + } + } + } + $phabelReturn = $possibleNames; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Get shortest representation of this fully-qualified name. + * + * @param string $name Fully-qualified name (without leading namespace separator) + * @param int $type One of Stmt\Use_::TYPE_* + * + * @return Name Shortest representation + */ + public function getShortName($name, $type) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + $possibleNames = $this->getPossibleNames($name, $type); + // Find shortest name + $shortestName = null; + $shortestLength = \INF; + foreach ($possibleNames as $possibleName) { + $length = \strlen($possibleName->toCodeString()); + if ($length < $shortestLength) { + $shortestName = $possibleName; + $shortestLength = $length; + } + } + $phabelReturn = $shortestName; + if (!$phabelReturn instanceof Name) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Name, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function resolveAlias(Name $name, $type) + { + $firstPart = $name->getFirst(); + if ($name->isQualified()) { + // resolve aliases for qualified names, always against class alias table + $checkName = \strtolower($firstPart); + if (isset($this->aliases[Stmt\Use_::TYPE_NORMAL][$checkName])) { + $alias = $this->aliases[Stmt\Use_::TYPE_NORMAL][$checkName]; + return FullyQualified::concat($alias, $name->slice(1), $name->getAttributes()); + } + } elseif ($name->isUnqualified()) { + // constant aliases are case-sensitive, function aliases case-insensitive + $checkName = $type === Stmt\Use_::TYPE_CONSTANT ? $firstPart : \strtolower($firstPart); + if (isset($this->aliases[$type][$checkName])) { + // resolve unqualified aliases + return new FullyQualified($this->aliases[$type][$checkName], $name->getAttributes()); + } + } + // No applicable aliases + return null; + } + private function getNamespaceRelativeName($name, $lcName, $type) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_string($lcName)) { + if (!(\is_string($lcName) || \is_object($lcName) && \method_exists($lcName, '__toString') || (\is_bool($lcName) || \is_numeric($lcName)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($lcName) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($lcName) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $lcName = (string) $lcName; + } + } + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + if (null === $this->namespace) { + return new Name($name); + } + if ($type === Stmt\Use_::TYPE_CONSTANT) { + // The constants true/false/null always resolve to the global symbols, even inside a + // namespace, so they may be used without qualification + if ($lcName === "true" || $lcName === "false" || $lcName === "null") { + return new Name($name); + } + } + $namespacePrefix = \strtolower($this->namespace . '\\'); + if (0 === \strpos($lcName, $namespacePrefix)) { + return new Name(\substr($name, \strlen($namespacePrefix))); + } + return null; + } + private function normalizeConstName($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $nsSep = \strrpos($name, '\\'); + if (\false === $nsSep) { + return $name; + } + // Constants have case-insensitive namespace and case-sensitive short-name + $ns = \substr($name, 0, $nsSep); + $shortName = \substr($name, $nsSep + 1); + return \strtolower($ns) . '\\' . $shortName; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node.php new file mode 100644 index 000000000..b93cb8e6f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node.php @@ -0,0 +1,135 @@ +attributes = $attributes; + $this->name = $name; + $this->value = $value; + $this->byRef = $byRef; + $this->unpack = $unpack; + } + public function getSubNodeNames() + { + $phabelReturn = ['name', 'value', 'byRef', 'unpack']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Arg'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Attribute.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Attribute.php new file mode 100644 index 000000000..027447cf8 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Attribute.php @@ -0,0 +1,44 @@ +attributes = $attributes; + $this->name = $name; + $this->args = $args; + } + public function getSubNodeNames() + { + $phabelReturn = ['name', 'args']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Attribute'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/AttributeGroup.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/AttributeGroup.php new file mode 100644 index 000000000..f0212f6ec --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/AttributeGroup.php @@ -0,0 +1,40 @@ +attributes = $attributes; + $this->attrs = $attrs; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrs']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'AttributeGroup'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Const_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Const_.php new file mode 100644 index 000000000..73c3224e5 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Const_.php @@ -0,0 +1,48 @@ +attributes = $attributes; + $this->name = \is_string($name) ? new Identifier($name) : $name; + $this->value = $value; + } + public function getSubNodeNames() + { + $phabelReturn = ['name', 'value']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Const'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr.php new file mode 100644 index 000000000..83a06ffb7 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr.php @@ -0,0 +1,8 @@ +attributes = $attributes; + $this->var = $var; + $this->dim = $dim; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'dim']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_ArrayDimFetch'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php new file mode 100644 index 000000000..7e9e034f8 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php @@ -0,0 +1,66 @@ +attributes = $attributes; + $this->key = $key; + $this->value = $value; + $this->byRef = $byRef; + $this->unpack = $unpack; + } + public function getSubNodeNames() + { + $phabelReturn = ['key', 'value', 'byRef', 'unpack']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_ArrayItem'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Array_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Array_.php new file mode 100644 index 000000000..dafe7286d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Array_.php @@ -0,0 +1,46 @@ +attributes = $attributes; + $this->items = $items; + } + public function getSubNodeNames() + { + $phabelReturn = ['items']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Array'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php new file mode 100644 index 000000000..b0a49075d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php @@ -0,0 +1,106 @@ + false : Whether the closure is static + * 'byRef' => false : Whether to return by reference + * 'params' => array() : Parameters + * 'returnType' => null : Return type + * 'expr' => Expr : Expression body + * 'attrGroups' => array() : PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct(array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->static = isset($subNodes['static']) ? $subNodes['static'] : \false; + $this->byRef = isset($subNodes['byRef']) ? $subNodes['byRef'] : \false; + $this->params = isset($subNodes['params']) ? $subNodes['params'] : []; + $returnType = isset($subNodes['returnType']) ? $subNodes['returnType'] : null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->expr = isset($subNodes['expr']) ? $subNodes['expr'] : null; + $this->attrGroups = isset($subNodes['attrGroups']) ? $subNodes['attrGroups'] : []; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'static', 'byRef', 'params', 'returnType', 'expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function returnsByRef() + { + $phabelReturn = $this->byRef; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function getParams() + { + $phabelReturn = $this->params; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getReturnType() + { + return $this->returnType; + } + public function getAttrGroups() + { + $phabelReturn = $this->attrGroups; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return Node\Stmt\Return_[] + */ + public function getStmts() + { + $phabelReturn = [new Node\Stmt\Return_($this->expr)]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_ArrowFunction'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Assign.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Assign.php new file mode 100644 index 000000000..d6e190b89 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Assign.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->var = $var; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Assign'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp.php new file mode 100644 index 000000000..32c3fa8db --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp.php @@ -0,0 +1,33 @@ +attributes = $attributes; + $this->var = $var; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php new file mode 100644 index 000000000..ed4e1266c --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php @@ -0,0 +1,20 @@ +attributes = $attributes; + $this->var = $var; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_AssignRef'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php new file mode 100644 index 000000000..9578a1cf3 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php @@ -0,0 +1,42 @@ +attributes = $attributes; + $this->left = $left; + $this->right = $right; + } + public function getSubNodeNames() + { + $phabelReturn = ['left', 'right']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Get the operator sigil for this binary operation. + * + * In the case there are multiple possible sigils for an operator, this method does not + * necessarily return the one used in the parsed code. + * + * @return string + */ + public abstract function getOperatorSigil(); +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php new file mode 100644 index 000000000..37fa4083c --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php @@ -0,0 +1,32 @@ +'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_BinaryOp_Greater'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php new file mode 100644 index 000000000..d62b553bb --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php @@ -0,0 +1,32 @@ +='; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_BinaryOp_GreaterOrEqual'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php new file mode 100644 index 000000000..7a57a86af --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php @@ -0,0 +1,32 @@ +>'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_BinaryOp_ShiftRight'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php new file mode 100644 index 000000000..1a268533c --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php @@ -0,0 +1,32 @@ +'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_BinaryOp_Spaceship'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php new file mode 100644 index 000000000..1c285e41d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_BitwiseNot'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php new file mode 100644 index 000000000..e020ee780 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_BooleanNot'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast.php new file mode 100644 index 000000000..c8e491485 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast.php @@ -0,0 +1,29 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php new file mode 100644 index 000000000..349701852 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php @@ -0,0 +1,20 @@ +attributes = $attributes; + $this->class = $class; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + public function getSubNodeNames() + { + $phabelReturn = ['class', 'name']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_ClassConstFetch'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Clone_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Clone_.php new file mode 100644 index 000000000..d65abaff1 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Clone_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Clone'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Closure.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Closure.php new file mode 100644 index 000000000..df267355f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Closure.php @@ -0,0 +1,110 @@ + false : Whether the closure is static + * 'byRef' => false : Whether to return by reference + * 'params' => array(): Parameters + * 'uses' => array(): use()s + * 'returnType' => null : Return type + * 'stmts' => array(): Statements + * 'attrGroups' => array(): PHP attributes groups + * @param array $attributes Additional attributes + */ + public function __construct(array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->static = isset($subNodes['static']) ? $subNodes['static'] : \false; + $this->byRef = isset($subNodes['byRef']) ? $subNodes['byRef'] : \false; + $this->params = isset($subNodes['params']) ? $subNodes['params'] : []; + $this->uses = isset($subNodes['uses']) ? $subNodes['uses'] : []; + $returnType = isset($subNodes['returnType']) ? $subNodes['returnType'] : null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : []; + $this->attrGroups = isset($subNodes['attrGroups']) ? $subNodes['attrGroups'] : []; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'static', 'byRef', 'params', 'uses', 'returnType', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function returnsByRef() + { + $phabelReturn = $this->byRef; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function getParams() + { + $phabelReturn = $this->params; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getReturnType() + { + return $this->returnType; + } + /** @return Node\Stmt[] */ + public function getStmts() + { + $phabelReturn = $this->stmts; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getAttrGroups() + { + $phabelReturn = $this->attrGroups; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Closure'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php new file mode 100644 index 000000000..09715e555 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php @@ -0,0 +1,52 @@ +attributes = $attributes; + $this->var = $var; + $this->byRef = $byRef; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'byRef']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_ClosureUse'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php new file mode 100644 index 000000000..3276c5449 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php @@ -0,0 +1,42 @@ +attributes = $attributes; + $this->name = $name; + } + public function getSubNodeNames() + { + $phabelReturn = ['name']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_ConstFetch'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Empty_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Empty_.php new file mode 100644 index 000000000..9845a31ef --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Empty_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Empty'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Error.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Error.php new file mode 100644 index 000000000..85b340e22 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Error.php @@ -0,0 +1,43 @@ +attributes = $attributes; + } + public function getSubNodeNames() + { + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Error'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php new file mode 100644 index 000000000..c04d07fd2 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_ErrorSuppress'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Eval_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Eval_.php new file mode 100644 index 000000000..102c6b842 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Eval_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Eval'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Exit_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Exit_.php new file mode 100644 index 000000000..7b1f75c94 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Exit_.php @@ -0,0 +1,44 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Exit'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/FuncCall.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/FuncCall.php new file mode 100644 index 000000000..ca3867cdf --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/FuncCall.php @@ -0,0 +1,46 @@ +attributes = $attributes; + $this->name = $name; + $this->args = $args; + } + public function getSubNodeNames() + { + $phabelReturn = ['name', 'args']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_FuncCall'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Include_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Include_.php new file mode 100644 index 000000000..3da51310f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Include_.php @@ -0,0 +1,56 @@ +attributes = $attributes; + $this->expr = $expr; + $this->type = $type; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr', 'type']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Include'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php new file mode 100644 index 000000000..244c22bc1 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php @@ -0,0 +1,46 @@ +attributes = $attributes; + $this->expr = $expr; + $this->class = $class; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr', 'class']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Instanceof'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Isset_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Isset_.php new file mode 100644 index 000000000..271d96d54 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Isset_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->vars = $vars; + } + public function getSubNodeNames() + { + $phabelReturn = ['vars']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Isset'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/List_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/List_.php new file mode 100644 index 000000000..e325e3362 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/List_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->items = $items; + } + public function getSubNodeNames() + { + $phabelReturn = ['items']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_List'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Match_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Match_.php new file mode 100644 index 000000000..dd07c1cca --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Match_.php @@ -0,0 +1,42 @@ +attributes = $attributes; + $this->cond = $cond; + $this->arms = $arms; + } + public function getSubNodeNames() + { + $phabelReturn = ['cond', 'arms']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Match'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/MethodCall.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/MethodCall.php new file mode 100644 index 000000000..cfc83d89f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/MethodCall.php @@ -0,0 +1,51 @@ +attributes = $attributes; + $this->var = $var; + $this->name = \is_string($name) ? new Identifier($name) : $name; + $this->args = $args; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'name', 'args']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_MethodCall'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/New_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/New_.php new file mode 100644 index 000000000..6cbebe436 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/New_.php @@ -0,0 +1,46 @@ +attributes = $attributes; + $this->class = $class; + $this->args = $args; + } + public function getSubNodeNames() + { + $phabelReturn = ['class', 'args']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_New'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php new file mode 100644 index 000000000..2c4ae97bf --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php @@ -0,0 +1,51 @@ +attributes = $attributes; + $this->var = $var; + $this->name = \is_string($name) ? new Identifier($name) : $name; + $this->args = $args; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'name', 'args']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_NullsafeMethodCall'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php new file mode 100644 index 000000000..42b968e30 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php @@ -0,0 +1,46 @@ +attributes = $attributes; + $this->var = $var; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'name']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_NullsafePropertyFetch'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PostDec.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PostDec.php new file mode 100644 index 000000000..073bb1739 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PostDec.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->var = $var; + } + public function getSubNodeNames() + { + $phabelReturn = ['var']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_PostDec'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PostInc.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PostInc.php new file mode 100644 index 000000000..fd15d9abe --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PostInc.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->var = $var; + } + public function getSubNodeNames() + { + $phabelReturn = ['var']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_PostInc'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PreDec.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PreDec.php new file mode 100644 index 000000000..50b858239 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PreDec.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->var = $var; + } + public function getSubNodeNames() + { + $phabelReturn = ['var']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_PreDec'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PreInc.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PreInc.php new file mode 100644 index 000000000..694291a0a --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PreInc.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->var = $var; + } + public function getSubNodeNames() + { + $phabelReturn = ['var']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_PreInc'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Print_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Print_.php new file mode 100644 index 000000000..d3b6b6a86 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Print_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Print'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php new file mode 100644 index 000000000..df24df6e5 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php @@ -0,0 +1,46 @@ +attributes = $attributes; + $this->var = $var; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'name']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_PropertyFetch'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ShellExec.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ShellExec.php new file mode 100644 index 000000000..0ed573d87 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/ShellExec.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->parts = $parts; + } + public function getSubNodeNames() + { + $phabelReturn = ['parts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_ShellExec'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/StaticCall.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/StaticCall.php new file mode 100644 index 000000000..bdc3187c5 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/StaticCall.php @@ -0,0 +1,51 @@ +attributes = $attributes; + $this->class = $class; + $this->name = \is_string($name) ? new Identifier($name) : $name; + $this->args = $args; + } + public function getSubNodeNames() + { + $phabelReturn = ['class', 'name', 'args']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_StaticCall'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php new file mode 100644 index 000000000..521f87fe5 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php @@ -0,0 +1,47 @@ +attributes = $attributes; + $this->class = $class; + $this->name = \is_string($name) ? new VarLikeIdentifier($name) : $name; + } + public function getSubNodeNames() + { + $phabelReturn = ['class', 'name']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_StaticPropertyFetch'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Ternary.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Ternary.php new file mode 100644 index 000000000..71c5f6e3f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Ternary.php @@ -0,0 +1,49 @@ +attributes = $attributes; + $this->cond = $cond; + $this->if = $if; + $this->else = $else; + } + public function getSubNodeNames() + { + $phabelReturn = ['cond', 'if', 'else']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Ternary'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Throw_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Throw_.php new file mode 100644 index 000000000..ad48442fa --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Throw_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Throw'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php new file mode 100644 index 000000000..c8e452ae5 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_UnaryMinus'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php new file mode 100644 index 000000000..c1aacdc6c --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_UnaryPlus'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Variable.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Variable.php new file mode 100644 index 000000000..7664b3f13 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Variable.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->name = $name; + } + public function getSubNodeNames() + { + $phabelReturn = ['name']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Variable'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php new file mode 100644 index 000000000..9ba064af2 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_YieldFrom'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Yield_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Yield_.php new file mode 100644 index 000000000..2f5ca54b6 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Expr/Yield_.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->key = $key; + $this->value = $value; + } + public function getSubNodeNames() + { + $phabelReturn = ['key', 'value']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Expr_Yield'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/FunctionLike.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/FunctionLike.php new file mode 100644 index 000000000..225b498b3 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/FunctionLike.php @@ -0,0 +1,38 @@ + \true, 'parent' => \true, 'static' => \true]; + /** + * Constructs an identifier node. + * + * @param string $name Identifier as string + * @param array $attributes Additional attributes + */ + public function __construct($name, array $attributes = []) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $this->attributes = $attributes; + $this->name = $name; + } + public function getSubNodeNames() + { + $phabelReturn = ['name']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Get identifier as string. + * + * @return string Identifier as string. + */ + public function toString() + { + $phabelReturn = $this->name; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Get lowercased identifier as string. + * + * @return string Lowercased identifier as string + */ + public function toLowerString() + { + $phabelReturn = \strtolower($this->name); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Checks whether the identifier is a special class name (self, parent or static). + * + * @return bool Whether identifier is a special class name + */ + public function isSpecialClassName() + { + $phabelReturn = isset(self::$specialClassNames[\strtolower($this->name)]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Get identifier as string. + * + * @return string Identifier as string + */ + public function __toString() + { + $phabelReturn = $this->name; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Identifier'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/MatchArm.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/MatchArm.php new file mode 100644 index 000000000..7b80cfa29 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/MatchArm.php @@ -0,0 +1,42 @@ +conds = $conds; + $this->body = $body; + $this->attributes = $attributes; + } + public function getSubNodeNames() + { + $phabelReturn = ['conds', 'body']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'MatchArm'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name.php new file mode 100644 index 000000000..57645dcf0 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name.php @@ -0,0 +1,353 @@ + \true, 'parent' => \true, 'static' => \true]; + /** + * Constructs a name node. + * + * @param string|string[]|self $name Name as string, part array or Name instance (copy ctor) + * @param array $attributes Additional attributes + */ + public function __construct($name, array $attributes = []) + { + $this->attributes = $attributes; + $this->parts = self::prepareName($name); + } + public function getSubNodeNames() + { + $phabelReturn = ['parts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets the first part of the name, i.e. everything before the first namespace separator. + * + * @return string First part of the name + */ + public function getFirst() + { + $phabelReturn = $this->parts[0]; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the last part of the name, i.e. everything after the last namespace separator. + * + * @return string Last part of the name + */ + public function getLast() + { + $phabelReturn = $this->parts[\count($this->parts) - 1]; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Checks whether the name is unqualified. (E.g. Name) + * + * @return bool Whether the name is unqualified + */ + public function isUnqualified() + { + $phabelReturn = 1 === \count($this->parts); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Checks whether the name is qualified. (E.g. Name\Name) + * + * @return bool Whether the name is qualified + */ + public function isQualified() + { + $phabelReturn = 1 < \count($this->parts); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Checks whether the name is fully qualified. (E.g. \Name) + * + * @return bool Whether the name is fully qualified + */ + public function isFullyQualified() + { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Checks whether the name is explicitly relative to the current namespace. (E.g. namespace\Name) + * + * @return bool Whether the name is relative + */ + public function isRelative() + { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns a string representation of the name itself, without taking the name type into + * account (e.g., not including a leading backslash for fully qualified names). + * + * @return string String representation + */ + public function toString() + { + $phabelReturn = \implode('\\', $this->parts); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns a string representation of the name as it would occur in code (e.g., including + * leading backslash for fully qualified names. + * + * @return string String representation + */ + public function toCodeString() + { + $phabelReturn = $this->toString(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns lowercased string representation of the name, without taking the name type into + * account (e.g., no leading backslash for fully qualified names). + * + * @return string Lowercased string representation + */ + public function toLowerString() + { + $phabelReturn = \strtolower(\implode('\\', $this->parts)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Checks whether the identifier is a special class name (self, parent or static). + * + * @return bool Whether identifier is a special class name + */ + public function isSpecialClassName() + { + $phabelReturn = \count($this->parts) === 1 && isset(self::$specialClassNames[\strtolower($this->parts[0])]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns a string representation of the name by imploding the namespace parts with the + * namespace separator. + * + * @return string String representation + */ + public function __toString() + { + $phabelReturn = \implode('\\', $this->parts); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets a slice of a name (similar to array_slice). + * + * This method returns a new instance of the same type as the original and with the same + * attributes. + * + * If the slice is empty, null is returned. The null value will be correctly handled in + * concatenations using concat(). + * + * Offset and length have the same meaning as in array_slice(). + * + * @param int $offset Offset to start the slice at (may be negative) + * @param int|null $length Length of the slice (may be negative) + * + * @return static|null Sliced name + */ + public function slice($offset, $length = null) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + $numParts = \count($this->parts); + $realOffset = $offset < 0 ? $offset + $numParts : $offset; + if ($realOffset < 0 || $realOffset > $numParts) { + throw new \OutOfBoundsException(\sprintf('Offset %d is out of bounds', $offset)); + } + if (null === $length) { + $realLength = $numParts - $realOffset; + } else { + $realLength = $length < 0 ? $length + $numParts - $realOffset : $length; + if ($realLength < 0 || $realLength > $numParts) { + throw new \OutOfBoundsException(\sprintf('Length %d is out of bounds', $length)); + } + } + if ($realLength === 0) { + // Empty slice is represented as null + return null; + } + return new static(\array_slice($this->parts, $realOffset, $realLength), $this->attributes); + } + /** + * Concatenate two names, yielding a new Name instance. + * + * The type of the generated instance depends on which class this method is called on, for + * example Name\FullyQualified::concat() will yield a Name\FullyQualified instance. + * + * If one of the arguments is null, a new instance of the other name will be returned. If both + * arguments are null, null will be returned. As such, writing + * Name::concat($namespace, $shortName) + * where $namespace is a Name node or null will work as expected. + * + * @param string|string[]|self|null $name1 The first name + * @param string|string[]|self|null $name2 The second name + * @param array $attributes Attributes to assign to concatenated name + * + * @return static|null Concatenated name + */ + public static function concat($name1, $name2, array $attributes = []) + { + if (null === $name1 && null === $name2) { + return null; + } elseif (null === $name1) { + return new static(self::prepareName($name2), $attributes); + } elseif (null === $name2) { + return new static(self::prepareName($name1), $attributes); + } else { + return new static(\array_merge(self::prepareName($name1), self::prepareName($name2)), $attributes); + } + } + /** + * Prepares a (string, array or Name node) name for use in name changing methods by converting + * it to an array. + * + * @param string|string[]|self $name Name to prepare + * + * @return string[] Prepared name + */ + private static function prepareName($name) + { + if (\is_string($name)) { + if ('' === $name) { + throw new \InvalidArgumentException('Name cannot be empty'); + } + $phabelReturn = \explode('\\', $name); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif (\is_array($name)) { + if (empty($name)) { + throw new \InvalidArgumentException('Name cannot be empty'); + } + $phabelReturn = $name; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif ($name instanceof self) { + $phabelReturn = $name->parts; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + throw new \InvalidArgumentException('Expected string, array of parts or Name instance'); + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + public function getType() + { + $phabelReturn = 'Name'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name/FullyQualified.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name/FullyQualified.php new file mode 100644 index 000000000..4e56bbbfb --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name/FullyQualified.php @@ -0,0 +1,99 @@ +toString(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Name_FullyQualified'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name/Relative.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name/Relative.php new file mode 100644 index 000000000..66ef7f931 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Name/Relative.php @@ -0,0 +1,99 @@ +toString(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Name_Relative'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/NullableType.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/NullableType.php new file mode 100644 index 000000000..80d4c7c74 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/NullableType.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->type = \is_string($type) ? new Identifier($type) : $type; + } + public function getSubNodeNames() + { + $phabelReturn = ['type']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'NullableType'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Param.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Param.php new file mode 100644 index 000000000..26e6ad666 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Param.php @@ -0,0 +1,86 @@ +attributes = $attributes; + $this->type = \is_string($type) ? new Identifier($type) : $type; + $this->byRef = $byRef; + $this->variadic = $variadic; + $this->var = $var; + $this->default = $default; + $this->flags = $flags; + $this->attrGroups = $attrGroups; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'flags', 'type', 'byRef', 'variadic', 'var', 'default']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Param'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar.php new file mode 100644 index 000000000..ad9366b65 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar.php @@ -0,0 +1,7 @@ +attributes = $attributes; + $this->value = $value; + } + public function getSubNodeNames() + { + $phabelReturn = ['value']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @internal + * + * Parses a DNUMBER token like PHP would. + * + * @param string $str A string number + * + * @return float The parsed number + */ + public static function parse($str) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + $str = \str_replace('_', '', $str); + // if string contains any of .eE just cast it to float + if (\false !== \strpbrk($str, '.eE')) { + $phabelReturn = (float) $str; + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + // otherwise it's an integer notation that overflowed into a float + // if it starts with 0 it's one of the special integer notations + if ('0' === $str[0]) { + // hex + if ('x' === $str[1] || 'X' === $str[1]) { + $phabelReturn = \hexdec($str); + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + // bin + if ('b' === $str[1] || 'B' === $str[1]) { + $phabelReturn = \bindec($str); + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \octdec(\substr($str, 0, \strcspn($str, '89'))); + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + // oct + // substr($str, 0, strcspn($str, '89')) cuts the string at the first invalid digit (8 or 9) + // so that only the digits before that are used + return $phabelReturn; + } + $phabelReturn = (float) $str; + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + // dec + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Scalar_DNumber'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php new file mode 100644 index 000000000..66481715d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php @@ -0,0 +1,42 @@ +attributes = $attributes; + $this->parts = $parts; + } + public function getSubNodeNames() + { + $phabelReturn = ['parts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Scalar_Encapsed'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php new file mode 100644 index 000000000..39b92e67a --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php @@ -0,0 +1,48 @@ +attributes = $attributes; + $this->value = $value; + } + public function getSubNodeNames() + { + $phabelReturn = ['value']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Scalar_EncapsedStringPart'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/LNumber.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/LNumber.php new file mode 100644 index 000000000..2a93c9def --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/LNumber.php @@ -0,0 +1,115 @@ +attributes = $attributes; + $this->value = $value; + } + public function getSubNodeNames() + { + $phabelReturn = ['value']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Constructs an LNumber node from a string number literal. + * + * @param string $str String number literal (decimal, octal, hex or binary) + * @param array $attributes Additional attributes + * @param bool $allowInvalidOctal Whether to allow invalid octal numbers (PHP 5) + * + * @return LNumber The constructed LNumber, including kind attribute + */ + public static function fromString($str, array $attributes = [], $allowInvalidOctal = \false) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + if (!\is_bool($allowInvalidOctal)) { + if (!(\is_bool($allowInvalidOctal) || \is_numeric($allowInvalidOctal) || \is_string($allowInvalidOctal))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($allowInvalidOctal) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($allowInvalidOctal) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $allowInvalidOctal = (bool) $allowInvalidOctal; + } + } + $str = \str_replace('_', '', $str); + if ('0' !== $str[0] || '0' === $str) { + $attributes['kind'] = LNumber::KIND_DEC; + $phabelReturn = new LNumber((int) $str, $attributes); + if (!$phabelReturn instanceof LNumber) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type LNumber, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ('x' === $str[1] || 'X' === $str[1]) { + $attributes['kind'] = LNumber::KIND_HEX; + $phabelReturn = new LNumber(\hexdec($str), $attributes); + if (!$phabelReturn instanceof LNumber) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type LNumber, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ('b' === $str[1] || 'B' === $str[1]) { + $attributes['kind'] = LNumber::KIND_BIN; + $phabelReturn = new LNumber(\bindec($str), $attributes); + if (!$phabelReturn instanceof LNumber) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type LNumber, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (!$allowInvalidOctal && \strpbrk($str, '89')) { + throw new Error('Invalid numeric literal', $attributes); + } + // use intval instead of octdec to get proper cutting behavior with malformed numbers + $attributes['kind'] = LNumber::KIND_OCT; + $phabelReturn = new LNumber(\intval($str, 8), $attributes); + if (!$phabelReturn instanceof LNumber) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type LNumber, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Scalar_LNumber'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php new file mode 100644 index 000000000..95fa75423 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php @@ -0,0 +1,31 @@ +attributes = $attributes; + } + public function getSubNodeNames() + { + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Get name of magic constant. + * + * @return string Name of magic constant + */ + public abstract function getName(); +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php new file mode 100644 index 000000000..32715886a --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php @@ -0,0 +1,32 @@ + '\\', '$' => '$', 'n' => "\n", 'r' => "\r", 't' => "\t", 'f' => "\f", 'v' => "\v", 'e' => "\x1b"]; + /** + * Constructs a string scalar node. + * + * @param string $value Value of the string + * @param array $attributes Additional attributes + */ + public function __construct($value, array $attributes = []) + { + if (!\is_string($value)) { + if (!(\is_string($value) || \is_object($value) && \method_exists($value, '__toString') || (\is_bool($value) || \is_numeric($value)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($value) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($value) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $value = (string) $value; + } + } + $this->attributes = $attributes; + $this->value = $value; + } + public function getSubNodeNames() + { + $phabelReturn = ['value']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @internal + * + * Parses a string token. + * + * @param string $str String token content + * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes + * + * @return string The parsed string + */ + public static function parse($str, $parseUnicodeEscape = \true) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + if (!\is_bool($parseUnicodeEscape)) { + if (!(\is_bool($parseUnicodeEscape) || \is_numeric($parseUnicodeEscape) || \is_string($parseUnicodeEscape))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($parseUnicodeEscape) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($parseUnicodeEscape) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $parseUnicodeEscape = (bool) $parseUnicodeEscape; + } + } + $bLength = 0; + if ('b' === $str[0] || 'B' === $str[0]) { + $bLength = 1; + } + if ('\'' === $str[$bLength]) { + $phabelReturn = \str_replace(['\\\\', '\\\''], ['\\', '\''], \substr($str, $bLength + 1, -1)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } else { + $phabelReturn = self::parseEscapeSequences(\substr($str, $bLength + 1, -1), '"', $parseUnicodeEscape); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * @internal + * + * Parses escape sequences in strings (all string types apart from single quoted). + * + * @param string $str String without quotes + * @param null|string $quote Quote type + * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes + * + * @return string String with escape sequences parsed + */ + public static function parseEscapeSequences($str, $quote, $parseUnicodeEscape = \true) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + if (!\is_bool($parseUnicodeEscape)) { + if (!(\is_bool($parseUnicodeEscape) || \is_numeric($parseUnicodeEscape) || \is_string($parseUnicodeEscape))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($parseUnicodeEscape) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($parseUnicodeEscape) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $parseUnicodeEscape = (bool) $parseUnicodeEscape; + } + } + if (null !== $quote) { + $str = \str_replace('\\' . $quote, $quote, $str); + } + $extra = ''; + if ($parseUnicodeEscape) { + $extra = '|u\\{([0-9a-fA-F]+)\\}'; + } + $phabelReturn = \preg_replace_callback('~\\\\([\\\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3}' . $extra . ')~', function ($matches) { + $str = $matches[1]; + if (isset(self::$replacements[$str])) { + return self::$replacements[$str]; + } elseif ('x' === $str[0] || 'X' === $str[0]) { + return \chr(\hexdec(\substr($str, 1))); + } elseif ('u' === $str[0]) { + return self::codePointToUtf8(\hexdec($matches[2])); + } else { + return \chr(\octdec($str)); + } + }, $str); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Converts a Unicode code point to its UTF-8 encoded representation. + * + * @param int $num Code point + * + * @return string UTF-8 representation of code point + */ + private static function codePointToUtf8($num) + { + if (!\is_int($num)) { + if (!(\is_bool($num) || \is_numeric($num))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($num) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($num) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $num = (int) $num; + } + } + if ($num <= 0x7f) { + $phabelReturn = \chr($num); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if ($num <= 0x7ff) { + $phabelReturn = \chr(($num >> 6) + 0xc0) . \chr(($num & 0x3f) + 0x80); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if ($num <= 0xffff) { + $phabelReturn = \chr(($num >> 12) + 0xe0) . \chr(($num >> 6 & 0x3f) + 0x80) . \chr(($num & 0x3f) + 0x80); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if ($num <= 0x1fffff) { + $phabelReturn = \chr(($num >> 18) + 0xf0) . \chr(($num >> 12 & 0x3f) + 0x80) . \chr(($num >> 6 & 0x3f) + 0x80) . \chr(($num & 0x3f) + 0x80); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + throw new Error('Invalid UTF-8 codepoint escape sequence: Codepoint too large'); + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + public function getType() + { + $phabelReturn = 'Scalar_String'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt.php new file mode 100644 index 000000000..4d81d63bc --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt.php @@ -0,0 +1,8 @@ +attributes = $attributes; + $this->num = $num; + } + public function getSubNodeNames() + { + $phabelReturn = ['num']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Break'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Case_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Case_.php new file mode 100644 index 000000000..900e5296d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Case_.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->cond = $cond; + $this->stmts = $stmts; + } + public function getSubNodeNames() + { + $phabelReturn = ['cond', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Case'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Catch_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Catch_.php new file mode 100644 index 000000000..bcc775343 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Catch_.php @@ -0,0 +1,50 @@ +attributes = $attributes; + $this->types = $types; + $this->var = $var; + $this->stmts = $stmts; + } + public function getSubNodeNames() + { + $phabelReturn = ['types', 'var', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Catch'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php new file mode 100644 index 000000000..db46d979d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php @@ -0,0 +1,107 @@ +attributes = $attributes; + $this->flags = $flags; + $this->consts = $consts; + $this->attrGroups = $attrGroups; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'flags', 'consts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Whether constant is explicitly or implicitly public. + * + * @return bool + */ + public function isPublic() + { + $phabelReturn = ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether constant is protected. + * + * @return bool + */ + public function isProtected() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_PROTECTED); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether constant is private. + * + * @return bool + */ + public function isPrivate() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_PRIVATE); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_ClassConst'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php new file mode 100644 index 000000000..c1a03474f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php @@ -0,0 +1,138 @@ +stmts as $stmt) { + if ($stmt instanceof TraitUse) { + $traitUses[] = $stmt; + } + } + $phabelReturn = $traitUses; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return ClassConst[] + */ + public function getConstants() + { + $constants = []; + foreach ($this->stmts as $stmt) { + if ($stmt instanceof ClassConst) { + $constants[] = $stmt; + } + } + $phabelReturn = $constants; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return Property[] + */ + public function getProperties() + { + $properties = []; + foreach ($this->stmts as $stmt) { + if ($stmt instanceof Property) { + $properties[] = $stmt; + } + } + $phabelReturn = $properties; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets property with the given name defined directly in this class/interface/trait. + * + * @param string $name Name of the property + * + * @return Property|null Property node or null if the property does not exist + */ + public function getProperty($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + foreach ($this->stmts as $stmt) { + if ($stmt instanceof Property) { + foreach ($stmt->props as $prop) { + if ($prop instanceof PropertyProperty && $name === $prop->name->toString()) { + return $stmt; + } + } + } + } + return null; + } + /** + * Gets all methods defined directly in this class/interface/trait + * + * @return ClassMethod[] + */ + public function getMethods() + { + $methods = []; + foreach ($this->stmts as $stmt) { + if ($stmt instanceof ClassMethod) { + $methods[] = $stmt; + } + } + $phabelReturn = $methods; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets method with the given name defined directly in this class/interface/trait. + * + * @param string $name Name of the method (compared case-insensitively) + * + * @return ClassMethod|null Method node or null if the method does not exist + */ + public function getMethod($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $lowerName = \strtolower($name); + foreach ($this->stmts as $stmt) { + if ($stmt instanceof ClassMethod && $lowerName === $stmt->name->toLowerString()) { + return $stmt; + } + } + return null; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php new file mode 100644 index 000000000..b4df3d1f6 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php @@ -0,0 +1,224 @@ + \true, '__destruct' => \true, '__call' => \true, '__callstatic' => \true, '__get' => \true, '__set' => \true, '__isset' => \true, '__unset' => \true, '__sleep' => \true, '__wakeup' => \true, '__tostring' => \true, '__set_state' => \true, '__clone' => \true, '__invoke' => \true, '__debuginfo' => \true]; + /** + * Constructs a class method node. + * + * @param string|Node\Identifier $name Name + * @param array $subNodes Array of the following optional subnodes: + * 'flags => MODIFIER_PUBLIC: Flags + * 'byRef' => false : Whether to return by reference + * 'params' => array() : Parameters + * 'returnType' => null : Return type + * 'stmts' => array() : Statements + * 'attrGroups' => array() : PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->flags = isset($subNodes['flags']) ? $subNodes['flags'] : (isset($subNodes['type']) ? $subNodes['type'] : 0); + $this->byRef = isset($subNodes['byRef']) ? $subNodes['byRef'] : \false; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->params = isset($subNodes['params']) ? $subNodes['params'] : []; + $returnType = isset($subNodes['returnType']) ? $subNodes['returnType'] : null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->stmts = \array_key_exists('stmts', $subNodes) ? $subNodes['stmts'] : []; + $this->attrGroups = isset($subNodes['attrGroups']) ? $subNodes['attrGroups'] : []; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'flags', 'byRef', 'name', 'params', 'returnType', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function returnsByRef() + { + $phabelReturn = $this->byRef; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function getParams() + { + $phabelReturn = $this->params; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getReturnType() + { + return $this->returnType; + } + public function getStmts() + { + return $this->stmts; + } + public function getAttrGroups() + { + $phabelReturn = $this->attrGroups; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Whether the method is explicitly or implicitly public. + * + * @return bool + */ + public function isPublic() + { + $phabelReturn = ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the method is protected. + * + * @return bool + */ + public function isProtected() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_PROTECTED); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the method is private. + * + * @return bool + */ + public function isPrivate() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_PRIVATE); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the method is abstract. + * + * @return bool + */ + public function isAbstract() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_ABSTRACT); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the method is final. + * + * @return bool + */ + public function isFinal() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_FINAL); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the method is static. + * + * @return bool + */ + public function isStatic() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_STATIC); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the method is magic. + * + * @return bool + */ + public function isMagic() + { + $phabelReturn = isset(self::$magicNames[$this->name->toLowerString()]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_ClassMethod'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Class_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Class_.php new file mode 100644 index 000000000..5af4d74e4 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Class_.php @@ -0,0 +1,137 @@ + 0 : Flags + * 'extends' => null : Name of extended class + * 'implements' => array(): Names of implemented interfaces + * 'stmts' => array(): Statements + * '$attrGroups' => array(): PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->flags = isset($subNodes['flags']) ? $subNodes['flags'] : (isset($subNodes['type']) ? $subNodes['type'] : 0); + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->extends = isset($subNodes['extends']) ? $subNodes['extends'] : null; + $this->implements = isset($subNodes['implements']) ? $subNodes['implements'] : []; + $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : []; + $this->attrGroups = isset($subNodes['attrGroups']) ? $subNodes['attrGroups'] : []; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'flags', 'name', 'extends', 'implements', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Whether the class is explicitly abstract. + * + * @return bool + */ + public function isAbstract() + { + $phabelReturn = (bool) ($this->flags & self::MODIFIER_ABSTRACT); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the class is final. + * + * @return bool + */ + public function isFinal() + { + $phabelReturn = (bool) ($this->flags & self::MODIFIER_FINAL); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the class is anonymous. + * + * @return bool + */ + public function isAnonymous() + { + $phabelReturn = null === $this->name; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @internal + */ + public static function verifyModifier($a, $b) + { + if ($a & self::VISIBILITY_MODIFIER_MASK && $b & self::VISIBILITY_MODIFIER_MASK) { + throw new Error('Multiple access type modifiers are not allowed'); + } + if ($a & self::MODIFIER_ABSTRACT && $b & self::MODIFIER_ABSTRACT) { + throw new Error('Multiple abstract modifiers are not allowed'); + } + if ($a & self::MODIFIER_STATIC && $b & self::MODIFIER_STATIC) { + throw new Error('Multiple static modifiers are not allowed'); + } + if ($a & self::MODIFIER_FINAL && $b & self::MODIFIER_FINAL) { + throw new Error('Multiple final modifiers are not allowed'); + } + if ($a & 48 && $b & 48) { + throw new Error('Cannot use the final modifier on an abstract class member'); + } + } + public function getType() + { + $phabelReturn = 'Stmt_Class'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Const_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Const_.php new file mode 100644 index 000000000..6b1103359 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Const_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->consts = $consts; + } + public function getSubNodeNames() + { + $phabelReturn = ['consts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Const'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Continue_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Continue_.php new file mode 100644 index 000000000..11c7218e9 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Continue_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->num = $num; + } + public function getSubNodeNames() + { + $phabelReturn = ['num']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Continue'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php new file mode 100644 index 000000000..b86df222c --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php @@ -0,0 +1,45 @@ +value pair node. + * + * @param string|Node\Identifier $key Key + * @param Node\Expr $value Value + * @param array $attributes Additional attributes + */ + public function __construct($key, Node\Expr $value, array $attributes = []) + { + $this->attributes = $attributes; + $this->key = \is_string($key) ? new Node\Identifier($key) : $key; + $this->value = $value; + } + public function getSubNodeNames() + { + $phabelReturn = ['key', 'value']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_DeclareDeclare'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Declare_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Declare_.php new file mode 100644 index 000000000..555c90fb8 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Declare_.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->declares = $declares; + $this->stmts = $stmts; + } + public function getSubNodeNames() + { + $phabelReturn = ['declares', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Declare'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Do_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Do_.php new file mode 100644 index 000000000..e04d4a7ca --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Do_.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->cond = $cond; + $this->stmts = $stmts; + } + public function getSubNodeNames() + { + $phabelReturn = ['stmts', 'cond']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Do'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Echo_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Echo_.php new file mode 100644 index 000000000..3f5f97857 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Echo_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->exprs = $exprs; + } + public function getSubNodeNames() + { + $phabelReturn = ['exprs']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Echo'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php new file mode 100644 index 000000000..0ca5b45b1 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->cond = $cond; + $this->stmts = $stmts; + } + public function getSubNodeNames() + { + $phabelReturn = ['cond', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_ElseIf'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Else_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Else_.php new file mode 100644 index 000000000..365cef3dc --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Else_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->stmts = $stmts; + } + public function getSubNodeNames() + { + $phabelReturn = ['stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Else'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Expression.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Expression.php new file mode 100644 index 000000000..069178e10 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Expression.php @@ -0,0 +1,44 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Expression'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Finally_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Finally_.php new file mode 100644 index 000000000..87a54a7fe --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Finally_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->stmts = $stmts; + } + public function getSubNodeNames() + { + $phabelReturn = ['stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Finally'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/For_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/For_.php new file mode 100644 index 000000000..0ed34f45a --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/For_.php @@ -0,0 +1,54 @@ + array(): Init expressions + * 'cond' => array(): Loop conditions + * 'loop' => array(): Loop expressions + * 'stmts' => array(): Statements + * @param array $attributes Additional attributes + */ + public function __construct(array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->init = isset($subNodes['init']) ? $subNodes['init'] : []; + $this->cond = isset($subNodes['cond']) ? $subNodes['cond'] : []; + $this->loop = isset($subNodes['loop']) ? $subNodes['loop'] : []; + $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : []; + } + public function getSubNodeNames() + { + $phabelReturn = ['init', 'cond', 'loop', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_For'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php new file mode 100644 index 000000000..69c75b7eb --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php @@ -0,0 +1,58 @@ + null : Variable to assign key to + * 'byRef' => false : Whether to assign value by reference + * 'stmts' => array(): Statements + * @param array $attributes Additional attributes + */ + public function __construct(Node\Expr $expr, Node\Expr $valueVar, array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->expr = $expr; + $this->keyVar = isset($subNodes['keyVar']) ? $subNodes['keyVar'] : null; + $this->byRef = isset($subNodes['byRef']) ? $subNodes['byRef'] : \false; + $this->valueVar = $valueVar; + $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : []; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr', 'keyVar', 'byRef', 'valueVar', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Foreach'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Function_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Function_.php new file mode 100644 index 000000000..6de5f8ebd --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Function_.php @@ -0,0 +1,108 @@ + false : Whether to return by reference + * 'params' => array(): Parameters + * 'returnType' => null : Return type + * 'stmts' => array(): Statements + * 'attrGroups' => array(): PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->byRef = isset($subNodes['byRef']) ? $subNodes['byRef'] : \false; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->params = isset($subNodes['params']) ? $subNodes['params'] : []; + $returnType = isset($subNodes['returnType']) ? $subNodes['returnType'] : null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : []; + $this->attrGroups = isset($subNodes['attrGroups']) ? $subNodes['attrGroups'] : []; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'byRef', 'name', 'params', 'returnType', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function returnsByRef() + { + $phabelReturn = $this->byRef; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function getParams() + { + $phabelReturn = $this->params; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getReturnType() + { + return $this->returnType; + } + public function getAttrGroups() + { + $phabelReturn = $this->attrGroups; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** @return Node\Stmt[] */ + public function getStmts() + { + $phabelReturn = $this->stmts; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Function'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Global_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Global_.php new file mode 100644 index 000000000..2a3126589 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Global_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->vars = $vars; + } + public function getSubNodeNames() + { + $phabelReturn = ['vars']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Global'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Goto_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Goto_.php new file mode 100644 index 000000000..143de798c --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Goto_.php @@ -0,0 +1,42 @@ +attributes = $attributes; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + public function getSubNodeNames() + { + $phabelReturn = ['name']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Goto'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php new file mode 100644 index 000000000..611937a9d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php @@ -0,0 +1,57 @@ +attributes = $attributes; + $this->type = $type; + $this->prefix = $prefix; + $this->uses = $uses; + } + public function getSubNodeNames() + { + $phabelReturn = ['type', 'prefix', 'uses']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_GroupUse'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php new file mode 100644 index 000000000..67415dc26 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php @@ -0,0 +1,48 @@ +attributes = $attributes; + $this->remaining = $remaining; + } + public function getSubNodeNames() + { + $phabelReturn = ['remaining']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_HaltCompiler'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/If_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/If_.php new file mode 100644 index 000000000..2b817e2f5 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/If_.php @@ -0,0 +1,54 @@ + array(): Statements + * 'elseifs' => array(): Elseif clauses + * 'else' => null : Else clause + * @param array $attributes Additional attributes + */ + public function __construct(Node\Expr $cond, array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->cond = $cond; + $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : []; + $this->elseifs = isset($subNodes['elseifs']) ? $subNodes['elseifs'] : []; + $this->else = isset($subNodes['else']) ? $subNodes['else'] : null; + } + public function getSubNodeNames() + { + $phabelReturn = ['cond', 'stmts', 'elseifs', 'else']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_If'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php new file mode 100644 index 000000000..2ee444f73 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php @@ -0,0 +1,48 @@ +attributes = $attributes; + $this->value = $value; + } + public function getSubNodeNames() + { + $phabelReturn = ['value']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_InlineHTML'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Interface_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Interface_.php new file mode 100644 index 000000000..06c7a0c61 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Interface_.php @@ -0,0 +1,48 @@ + array(): Name of extended interfaces + * 'stmts' => array(): Statements + * 'attrGroups' => array(): PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->extends = isset($subNodes['extends']) ? $subNodes['extends'] : []; + $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : []; + $this->attrGroups = isset($subNodes['attrGroups']) ? $subNodes['attrGroups'] : []; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'name', 'extends', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Interface'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Label.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Label.php new file mode 100644 index 000000000..480478fe5 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Label.php @@ -0,0 +1,42 @@ +attributes = $attributes; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + public function getSubNodeNames() + { + $phabelReturn = ['name']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Label'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php new file mode 100644 index 000000000..37e7cf8d4 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php @@ -0,0 +1,48 @@ +attributes = $attributes; + $this->name = $name; + $this->stmts = $stmts; + } + public function getSubNodeNames() + { + $phabelReturn = ['name', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Namespace'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Nop.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Nop.php new file mode 100644 index 000000000..886be13f4 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Nop.php @@ -0,0 +1,29 @@ +attributes = $attributes; + $this->flags = $flags; + $this->props = $props; + $this->type = \is_string($type) ? new Identifier($type) : $type; + $this->attrGroups = $attrGroups; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'flags', 'type', 'props']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Whether the property is explicitly or implicitly public. + * + * @return bool + */ + public function isPublic() + { + $phabelReturn = ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the property is protected. + * + * @return bool + */ + public function isProtected() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_PROTECTED); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the property is private. + * + * @return bool + */ + public function isPrivate() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_PRIVATE); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Whether the property is static. + * + * @return bool + */ + public function isStatic() + { + $phabelReturn = (bool) ($this->flags & Class_::MODIFIER_STATIC); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Property'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php new file mode 100644 index 000000000..b77b152b0 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->name = \is_string($name) ? new Node\VarLikeIdentifier($name) : $name; + $this->default = $default; + } + public function getSubNodeNames() + { + $phabelReturn = ['name', 'default']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_PropertyProperty'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Return_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Return_.php new file mode 100644 index 000000000..7eafdba59 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Return_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Return'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php new file mode 100644 index 000000000..b344d478b --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php @@ -0,0 +1,46 @@ +attributes = $attributes; + $this->var = $var; + $this->default = $default; + } + public function getSubNodeNames() + { + $phabelReturn = ['var', 'default']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_StaticVar'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Static_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Static_.php new file mode 100644 index 000000000..5e81fe961 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Static_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->vars = $vars; + } + public function getSubNodeNames() + { + $phabelReturn = ['vars']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Static'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Switch_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Switch_.php new file mode 100644 index 000000000..b285c446a --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Switch_.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->cond = $cond; + $this->cases = $cases; + } + public function getSubNodeNames() + { + $phabelReturn = ['cond', 'cases']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Switch'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Throw_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Throw_.php new file mode 100644 index 000000000..78dc6080a --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Throw_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->expr = $expr; + } + public function getSubNodeNames() + { + $phabelReturn = ['expr']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Throw'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php new file mode 100644 index 000000000..6ef73f293 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->traits = $traits; + $this->adaptations = $adaptations; + } + public function getSubNodeNames() + { + $phabelReturn = ['traits', 'adaptations']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_TraitUse'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php new file mode 100644 index 000000000..2d8cdd18d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php @@ -0,0 +1,12 @@ +attributes = $attributes; + $this->trait = $trait; + $this->method = \is_string($method) ? new Node\Identifier($method) : $method; + $this->newModifier = $newModifier; + $this->newName = \is_string($newName) ? new Node\Identifier($newName) : $newName; + } + public function getSubNodeNames() + { + $phabelReturn = ['trait', 'method', 'newModifier', 'newName']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_TraitUseAdaptation_Alias'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php new file mode 100644 index 000000000..b4dec6a66 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->trait = $trait; + $this->method = \is_string($method) ? new Node\Identifier($method) : $method; + $this->insteadof = $insteadof; + } + public function getSubNodeNames() + { + $phabelReturn = ['trait', 'method', 'insteadof']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_TraitUseAdaptation_Precedence'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Trait_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Trait_.php new file mode 100644 index 000000000..5839ae678 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Trait_.php @@ -0,0 +1,44 @@ + array(): Statements + * 'attrGroups' => array(): PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) + { + $this->attributes = $attributes; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->stmts = isset($subNodes['stmts']) ? $subNodes['stmts'] : []; + $this->attrGroups = isset($subNodes['attrGroups']) ? $subNodes['attrGroups'] : []; + } + public function getSubNodeNames() + { + $phabelReturn = ['attrGroups', 'name', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Trait'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php new file mode 100644 index 000000000..f801d5338 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php @@ -0,0 +1,49 @@ +attributes = $attributes; + $this->stmts = $stmts; + $this->catches = $catches; + $this->finally = $finally; + } + public function getSubNodeNames() + { + $phabelReturn = ['stmts', 'catches', 'finally']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_TryCatch'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Unset_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Unset_.php new file mode 100644 index 000000000..64ef9e052 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Unset_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->vars = $vars; + } + public function getSubNodeNames() + { + $phabelReturn = ['vars']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Unset'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/UseUse.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/UseUse.php new file mode 100644 index 000000000..498af09de --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/UseUse.php @@ -0,0 +1,77 @@ +attributes = $attributes; + $this->type = $type; + $this->name = $name; + $this->alias = \is_string($alias) ? new Identifier($alias) : $alias; + } + public function getSubNodeNames() + { + $phabelReturn = ['type', 'name', 'alias']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Get alias. If not explicitly given this is the last component of the used name. + * + * @return Identifier + */ + public function getAlias() + { + if (null !== $this->alias) { + $phabelReturn = $this->alias; + if (!$phabelReturn instanceof Identifier) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Identifier, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = new Identifier($this->name->getLast()); + if (!$phabelReturn instanceof Identifier) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Identifier, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_UseUse'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Use_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Use_.php new file mode 100644 index 000000000..d22c5dcff --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/Use_.php @@ -0,0 +1,64 @@ +attributes = $attributes; + $this->type = $type; + $this->uses = $uses; + } + public function getSubNodeNames() + { + $phabelReturn = ['type', 'uses']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_Use'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/While_.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/While_.php new file mode 100644 index 000000000..15ef8e2f6 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/Stmt/While_.php @@ -0,0 +1,45 @@ +attributes = $attributes; + $this->cond = $cond; + $this->stmts = $stmts; + } + public function getSubNodeNames() + { + $phabelReturn = ['cond', 'stmts']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'Stmt_While'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/UnionType.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/UnionType.php new file mode 100644 index 000000000..11fee3f5e --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/UnionType.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->types = $types; + } + public function getSubNodeNames() + { + $phabelReturn = ['types']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getType() + { + $phabelReturn = 'UnionType'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php new file mode 100644 index 000000000..9ec209db2 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php @@ -0,0 +1,26 @@ +attributes = $attributes; + } + /** + * Gets line the node started in (alias of getStartLine). + * + * @return int Start line (or -1 if not available) + */ + public function getLine() + { + $phabelReturn = isset($this->attributes['startLine']) ? $this->attributes['startLine'] : -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets line the node started in. + * + * Requires the 'startLine' attribute to be enabled in the lexer (enabled by default). + * + * @return int Start line (or -1 if not available) + */ + public function getStartLine() + { + $phabelReturn = isset($this->attributes['startLine']) ? $this->attributes['startLine'] : -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the line the node ended in. + * + * Requires the 'endLine' attribute to be enabled in the lexer (enabled by default). + * + * @return int End line (or -1 if not available) + */ + public function getEndLine() + { + $phabelReturn = isset($this->attributes['endLine']) ? $this->attributes['endLine'] : -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the token offset of the first token that is part of this node. + * + * The offset is an index into the array returned by Lexer::getTokens(). + * + * Requires the 'startTokenPos' attribute to be enabled in the lexer (DISABLED by default). + * + * @return int Token start position (or -1 if not available) + */ + public function getStartTokenPos() + { + $phabelReturn = isset($this->attributes['startTokenPos']) ? $this->attributes['startTokenPos'] : -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the token offset of the last token that is part of this node. + * + * The offset is an index into the array returned by Lexer::getTokens(). + * + * Requires the 'endTokenPos' attribute to be enabled in the lexer (DISABLED by default). + * + * @return int Token end position (or -1 if not available) + */ + public function getEndTokenPos() + { + $phabelReturn = isset($this->attributes['endTokenPos']) ? $this->attributes['endTokenPos'] : -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the file offset of the first character that is part of this node. + * + * Requires the 'startFilePos' attribute to be enabled in the lexer (DISABLED by default). + * + * @return int File start position (or -1 if not available) + */ + public function getStartFilePos() + { + $phabelReturn = isset($this->attributes['startFilePos']) ? $this->attributes['startFilePos'] : -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the file offset of the last character that is part of this node. + * + * Requires the 'endFilePos' attribute to be enabled in the lexer (DISABLED by default). + * + * @return int File end position (or -1 if not available) + */ + public function getEndFilePos() + { + $phabelReturn = isset($this->attributes['endFilePos']) ? $this->attributes['endFilePos'] : -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets all comments directly preceding this node. + * + * The comments are also available through the "comments" attribute. + * + * @return Comment[] + */ + public function getComments() + { + $phabelReturn = isset($this->attributes['comments']) ? $this->attributes['comments'] : []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets the doc comment of the node. + * + * @return null|Comment\Doc Doc comment object or null + */ + public function getDocComment() + { + $comments = $this->getComments(); + for ($i = \count($comments) - 1; $i >= 0; $i--) { + $comment = $comments[$i]; + if ($comment instanceof Comment\Doc) { + return $comment; + } + } + return null; + } + /** + * Sets the doc comment of the node. + * + * This will either replace an existing doc comment or add it to the comments array. + * + * @param Comment\Doc $docComment Doc comment to set + */ + public function setDocComment(Comment\Doc $docComment) + { + $comments = $this->getComments(); + for ($i = \count($comments) - 1; $i >= 0; $i--) { + if ($comments[$i] instanceof Comment\Doc) { + // Replace existing doc comment. + $comments[$i] = $docComment; + $this->setAttribute('comments', $comments); + return; + } + } + // Append new doc comment. + $comments[] = $docComment; + $this->setAttribute('comments', $comments); + } + public function setAttribute($key, $value) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + $this->attributes[$key] = $value; + } + public function hasAttribute($key) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + $phabelReturn = \array_key_exists($key, $this->attributes); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function getAttribute($key, $default = null) + { + if (!\is_string($key)) { + if (!(\is_string($key) || \is_object($key) && \method_exists($key, '__toString') || (\is_bool($key) || \is_numeric($key)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($key) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($key) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $key = (string) $key; + } + } + if (\array_key_exists($key, $this->attributes)) { + return $this->attributes[$key]; + } + return $default; + } + public function getAttributes() + { + $phabelReturn = $this->attributes; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function setAttributes(array $attributes) + { + $this->attributes = $attributes; + } + /** + * @return array + */ + public function jsonSerialize() + { + $phabelReturn = ['nodeType' => $this->getType()] + \get_object_vars($this); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeDumper.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeDumper.php new file mode 100644 index 000000000..06bf8d79d --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeDumper.php @@ -0,0 +1,194 @@ +dumpComments = !empty($options['dumpComments']); + $this->dumpPositions = !empty($options['dumpPositions']); + } + /** + * Dumps a node or array. + * + * @param array|Node $node Node or array to dump + * @param string|null $code Code corresponding to dumped AST. This only needs to be passed if + * the dumpPositions option is enabled and the dumping of node offsets + * is desired. + * + * @return string Dumped value + */ + public function dump($node, $code = null) + { + if (!\is_null($code)) { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($code) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + } + $this->code = $code; + $phabelReturn = $this->dumpRecursive($node); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + protected function dumpRecursive($node) + { + if ($node instanceof Node) { + $r = $node->getType(); + if ($this->dumpPositions && null !== ($p = $this->dumpPosition($node))) { + $r .= $p; + } + $r .= '('; + foreach ($node->getSubNodeNames() as $key) { + $r .= "\n " . $key . ': '; + $value = $node->{$key}; + if (null === $value) { + $r .= 'null'; + } elseif (\false === $value) { + $r .= 'false'; + } elseif (\true === $value) { + $r .= 'true'; + } elseif (\is_scalar($value)) { + if ('flags' === $key || 'newModifier' === $key) { + $r .= $this->dumpFlags($value); + } elseif ('type' === $key && $node instanceof Include_) { + $r .= $this->dumpIncludeType($value); + } elseif ('type' === $key && ($node instanceof Use_ || $node instanceof UseUse || $node instanceof GroupUse)) { + $r .= $this->dumpUseType($value); + } else { + $r .= $value; + } + } else { + $r .= \str_replace("\n", "\n ", $this->dumpRecursive($value)); + } + } + if ($this->dumpComments && ($comments = $node->getComments())) { + $r .= "\n comments: " . \str_replace("\n", "\n ", $this->dumpRecursive($comments)); + } + } elseif (\is_array($node)) { + $r = 'array('; + foreach ($node as $key => $value) { + $r .= "\n " . $key . ': '; + if (null === $value) { + $r .= 'null'; + } elseif (\false === $value) { + $r .= 'false'; + } elseif (\true === $value) { + $r .= 'true'; + } elseif (\is_scalar($value)) { + $r .= $value; + } else { + $r .= \str_replace("\n", "\n ", $this->dumpRecursive($value)); + } + } + } elseif ($node instanceof Comment) { + return $node->getReformattedText(); + } else { + throw new \InvalidArgumentException('Can only dump nodes and arrays.'); + } + return $r . "\n)"; + } + protected function dumpFlags($flags) + { + $strs = []; + if ($flags & Class_::MODIFIER_PUBLIC) { + $strs[] = 'MODIFIER_PUBLIC'; + } + if ($flags & Class_::MODIFIER_PROTECTED) { + $strs[] = 'MODIFIER_PROTECTED'; + } + if ($flags & Class_::MODIFIER_PRIVATE) { + $strs[] = 'MODIFIER_PRIVATE'; + } + if ($flags & Class_::MODIFIER_ABSTRACT) { + $strs[] = 'MODIFIER_ABSTRACT'; + } + if ($flags & Class_::MODIFIER_STATIC) { + $strs[] = 'MODIFIER_STATIC'; + } + if ($flags & Class_::MODIFIER_FINAL) { + $strs[] = 'MODIFIER_FINAL'; + } + if ($strs) { + return \implode(' | ', $strs) . ' (' . $flags . ')'; + } else { + return $flags; + } + } + protected function dumpIncludeType($type) + { + $map = [Include_::TYPE_INCLUDE => 'TYPE_INCLUDE', Include_::TYPE_INCLUDE_ONCE => 'TYPE_INCLUDE_ONCE', Include_::TYPE_REQUIRE => 'TYPE_REQUIRE', Include_::TYPE_REQUIRE_ONCE => 'TYPE_REQUIRE_ONCE']; + if (!isset($map[$type])) { + return $type; + } + return $map[$type] . ' (' . $type . ')'; + } + protected function dumpUseType($type) + { + $map = [Use_::TYPE_UNKNOWN => 'TYPE_UNKNOWN', Use_::TYPE_NORMAL => 'TYPE_NORMAL', Use_::TYPE_FUNCTION => 'TYPE_FUNCTION', Use_::TYPE_CONSTANT => 'TYPE_CONSTANT']; + if (!isset($map[$type])) { + return $type; + } + return $map[$type] . ' (' . $type . ')'; + } + /** + * Dump node position, if possible. + * + * @param Node $node Node for which to dump position + * + * @return string|null Dump of position, or null if position information not available + */ + protected function dumpPosition(Node $node) + { + if (!$node->hasAttribute('startLine') || !$node->hasAttribute('endLine')) { + return null; + } + $start = $node->getStartLine(); + $end = $node->getEndLine(); + if ($node->hasAttribute('startFilePos') && $node->hasAttribute('endFilePos') && null !== $this->code) { + $start .= ':' . $this->toColumn($this->code, $node->getStartFilePos()); + $end .= ':' . $this->toColumn($this->code, $node->getEndFilePos()); + } + return "[{$start} - {$end}]"; + } + // Copied from Error class + private function toColumn($code, $pos) + { + if ($pos > \strlen($code)) { + throw new \RuntimeException('Invalid position information'); + } + $lineStartPos = \strrpos($code, "\n", $pos - \strlen($code)); + if (\false === $lineStartPos) { + $lineStartPos = -1; + } + return $pos - $lineStartPos; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeFinder.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeFinder.php new file mode 100644 index 000000000..72eb28609 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeFinder.php @@ -0,0 +1,97 @@ +addVisitor($visitor); + $traverser->traverse($nodes); + $phabelReturn = $visitor->getFoundNodes(); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Find all nodes that are instances of a certain class. + * + * @param Node|Node[] $nodes Single node or array of nodes to search in + * @param string $class Class name + * + * @return Node[] Found nodes (all instances of $class) + */ + public function findInstanceOf($nodes, $class) + { + if (!\is_string($class)) { + if (!(\is_string($class) || \is_object($class) && \method_exists($class, '__toString') || (\is_bool($class) || \is_numeric($class)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($class) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($class) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $class = (string) $class; + } + } + $phabelReturn = $this->find($nodes, function ($node) use($class) { + return \Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($node, $class); + }); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Find first node satisfying a filter callback. + * + * @param Node|Node[] $nodes Single node or array of nodes to search in + * @param callable $filter Filter callback: function(Node $node) : bool + * + * @return null|Node Found node (or null if none found) + */ + public function findFirst($nodes, callable $filter) + { + if (!\is_array($nodes)) { + $nodes = [$nodes]; + } + $visitor = new FirstFindingVisitor($filter); + $traverser = new NodeTraverser(); + $traverser->addVisitor($visitor); + $traverser->traverse($nodes); + return $visitor->getFoundNode(); + } + /** + * Find first node that is an instance of a certain class. + * + * @param Node|Node[] $nodes Single node or array of nodes to search in + * @param string $class Class name + * + * @return null|Node Found node, which is an instance of $class (or null if none found) + */ + public function findFirstInstanceOf($nodes, $class) + { + if (!\is_string($class)) { + if (!(\is_string($class) || \is_object($class) && \method_exists($class, '__toString') || (\is_bool($class) || \is_numeric($class)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($class) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($class) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $class = (string) $class; + } + } + return $this->findFirst($nodes, function ($node) use($class) { + return \Phabel\Target\Php70\ThrowableReplacer::isInstanceofThrowable($node, $class); + }); + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeTraverser.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeTraverser.php new file mode 100644 index 000000000..418c82034 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeTraverser.php @@ -0,0 +1,257 @@ +visitors[] = $visitor; + } + /** + * Removes an added visitor. + * + * @param NodeVisitor $visitor + */ + public function removeVisitor(NodeVisitor $visitor) + { + foreach ($this->visitors as $index => $storedVisitor) { + if ($storedVisitor === $visitor) { + unset($this->visitors[$index]); + break; + } + } + } + /** + * Traverses an array of nodes using the registered visitors. + * + * @param Node[] $nodes Array of nodes + * + * @return Node[] Traversed array of nodes + */ + public function traverse(array $nodes) + { + $this->stopTraversal = \false; + foreach ($this->visitors as $visitor) { + if (null !== ($return = $visitor->beforeTraverse($nodes))) { + $nodes = $return; + } + } + $nodes = $this->traverseArray($nodes); + foreach ($this->visitors as $visitor) { + if (null !== ($return = $visitor->afterTraverse($nodes))) { + $nodes = $return; + } + } + $phabelReturn = $nodes; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Recursively traverse a node. + * + * @param Node $node Node to traverse. + * + * @return Node Result of traversal (may be original node or new one) + */ + protected function traverseNode(Node $node) + { + foreach ($node->getSubNodeNames() as $name) { + $subNode =& $node->{$name}; + if (\is_array($subNode)) { + $subNode = $this->traverseArray($subNode); + if ($this->stopTraversal) { + break; + } + } elseif ($subNode instanceof Node) { + $traverseChildren = \true; + $breakVisitorIndex = null; + foreach ($this->visitors as $visitorIndex => $visitor) { + $return = $visitor->enterNode($subNode); + if (null !== $return) { + if ($return instanceof Node) { + $this->ensureReplacementReasonable($subNode, $return); + $subNode = $return; + } elseif (self::DONT_TRAVERSE_CHILDREN === $return) { + $traverseChildren = \false; + } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) { + $traverseChildren = \false; + $breakVisitorIndex = $visitorIndex; + break; + } elseif (self::STOP_TRAVERSAL === $return) { + $this->stopTraversal = \true; + break 2; + } else { + throw new \LogicException('enterNode() returned invalid value of type ' . \gettype($return)); + } + } + } + if ($traverseChildren) { + $subNode = $this->traverseNode($subNode); + if ($this->stopTraversal) { + break; + } + } + foreach ($this->visitors as $visitorIndex => $visitor) { + $return = $visitor->leaveNode($subNode); + if (null !== $return) { + if ($return instanceof Node) { + $this->ensureReplacementReasonable($subNode, $return); + $subNode = $return; + } elseif (self::STOP_TRAVERSAL === $return) { + $this->stopTraversal = \true; + break 2; + } elseif (\is_array($return)) { + throw new \LogicException('leaveNode() may only return an array if the parent structure is an array'); + } else { + throw new \LogicException('leaveNode() returned invalid value of type ' . \gettype($return)); + } + } + if ($breakVisitorIndex === $visitorIndex) { + break; + } + } + } + } + $phabelReturn = $node; + if (!$phabelReturn instanceof Node) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Node, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Recursively traverse array (usually of nodes). + * + * @param array $nodes Array to traverse + * + * @return array Result of traversal (may be original array or changed one) + */ + protected function traverseArray(array $nodes) + { + $doNodes = []; + foreach ($nodes as $i => &$node) { + if ($node instanceof Node) { + $traverseChildren = \true; + $breakVisitorIndex = null; + foreach ($this->visitors as $visitorIndex => $visitor) { + $return = $visitor->enterNode($node); + if (null !== $return) { + if ($return instanceof Node) { + $this->ensureReplacementReasonable($node, $return); + $node = $return; + } elseif (self::DONT_TRAVERSE_CHILDREN === $return) { + $traverseChildren = \false; + } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) { + $traverseChildren = \false; + $breakVisitorIndex = $visitorIndex; + break; + } elseif (self::STOP_TRAVERSAL === $return) { + $this->stopTraversal = \true; + break 2; + } else { + throw new \LogicException('enterNode() returned invalid value of type ' . \gettype($return)); + } + } + } + if ($traverseChildren) { + $node = $this->traverseNode($node); + if ($this->stopTraversal) { + break; + } + } + foreach ($this->visitors as $visitorIndex => $visitor) { + $return = $visitor->leaveNode($node); + if (null !== $return) { + if ($return instanceof Node) { + $this->ensureReplacementReasonable($node, $return); + $node = $return; + } elseif (\is_array($return)) { + $doNodes[] = [$i, $return]; + break; + } elseif (self::REMOVE_NODE === $return) { + $doNodes[] = [$i, []]; + break; + } elseif (self::STOP_TRAVERSAL === $return) { + $this->stopTraversal = \true; + break 2; + } elseif (\false === $return) { + throw new \LogicException('bool(false) return from leaveNode() no longer supported. Return NodeTraverser::REMOVE_NODE instead'); + } else { + throw new \LogicException('leaveNode() returned invalid value of type ' . \gettype($return)); + } + } + if ($breakVisitorIndex === $visitorIndex) { + break; + } + } + } elseif (\is_array($node)) { + throw new \LogicException('Invalid node structure: Contains nested arrays'); + } + } + if (!empty($doNodes)) { + while (list($i, $replace) = \array_pop($doNodes)) { + \array_splice($nodes, $i, 1, $replace); + } + } + $phabelReturn = $nodes; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function ensureReplacementReasonable($old, $new) + { + if ($old instanceof Node\Stmt && $new instanceof Node\Expr) { + throw new \LogicException("Trying to replace statement ({$old->getType()}) " . "with expression ({$new->getType()}). Are you missing a " . "Stmt_Expression wrapper?"); + } + if ($old instanceof Node\Expr && $new instanceof Node\Stmt) { + throw new \LogicException("Trying to replace expression ({$old->getType()}) " . "with statement ({$new->getType()})"); + } + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeTraverserInterface.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeTraverserInterface.php new file mode 100644 index 000000000..6edc46ecd --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeTraverserInterface.php @@ -0,0 +1,27 @@ + $node stays as-is + * * NodeTraverser::DONT_TRAVERSE_CHILDREN + * => Children of $node are not traversed. $node stays as-is + * * NodeTraverser::STOP_TRAVERSAL + * => Traversal is aborted. $node stays as-is + * * otherwise + * => $node is set to the return value + * + * @param Node $node Node + * + * @return null|int|Node Replacement node (or special return value) + */ + public function enterNode(Node $node); + /** + * Called when leaving a node. + * + * Return value semantics: + * * null + * => $node stays as-is + * * NodeTraverser::REMOVE_NODE + * => $node is removed from the parent array + * * NodeTraverser::STOP_TRAVERSAL + * => Traversal is aborted. $node stays as-is + * * array (of Nodes) + * => The return value is merged into the parent array (at the position of the $node) + * * otherwise + * => $node is set to the return value + * + * @param Node $node Node + * + * @return null|int|Node|Node[] Replacement node (or special return value) + */ + public function leaveNode(Node $node); + /** + * Called once after traversal. + * + * Return value semantics: + * * null: $nodes stays as-is + * * otherwise: $nodes is set to the return value + * + * @param Node[] $nodes Array of nodes + * + * @return null|Node[] Array of nodes + */ + public function afterTraverse(array $nodes); +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php new file mode 100644 index 000000000..f9617af13 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php @@ -0,0 +1,20 @@ +setAttribute('origNode', $origNode); + return $node; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php new file mode 100644 index 000000000..d4cd39322 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php @@ -0,0 +1,49 @@ +filterCallback = $filterCallback; + } + /** + * Get found nodes satisfying the filter callback. + * + * Nodes are returned in pre-order. + * + * @return Node[] Found nodes + */ + public function getFoundNodes() + { + $phabelReturn = $this->foundNodes; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function beforeTraverse(array $nodes) + { + $this->foundNodes = []; + return null; + } + public function enterNode(Node $node) + { + $filterCallback = $this->filterCallback; + if ($filterCallback($node)) { + $this->foundNodes[] = $node; + } + return null; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php new file mode 100644 index 000000000..ac903c34f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php @@ -0,0 +1,47 @@ +filterCallback = $filterCallback; + } + /** + * Get found node satisfying the filter callback. + * + * Returns null if no node satisfies the filter callback. + * + * @return null|Node Found node (or null if not found) + */ + public function getFoundNode() + { + return $this->foundNode; + } + public function beforeTraverse(array $nodes) + { + $this->foundNode = null; + return null; + } + public function enterNode(Node $node) + { + $filterCallback = $this->filterCallback; + if ($filterCallback($node)) { + $this->foundNode = $node; + return NodeTraverser::STOP_TRAVERSAL; + } + return null; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php new file mode 100644 index 000000000..a817ab828 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php @@ -0,0 +1,244 @@ +nameContext = new NameContext(isset($errorHandler) ? $errorHandler : new ErrorHandler\Throwing()); + $this->preserveOriginalNames = isset($options['preserveOriginalNames']) ? $options['preserveOriginalNames'] : \false; + $this->replaceNodes = isset($options['replaceNodes']) ? $options['replaceNodes'] : \true; + } + /** + * Get name resolution context. + * + * @return NameContext + */ + public function getNameContext() + { + $phabelReturn = $this->nameContext; + if (!$phabelReturn instanceof NameContext) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type NameContext, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function beforeTraverse(array $nodes) + { + $this->nameContext->startNamespace(); + return null; + } + public function enterNode(Node $node) + { + if ($node instanceof Stmt\Namespace_) { + $this->nameContext->startNamespace($node->name); + } elseif ($node instanceof Stmt\Use_) { + foreach ($node->uses as $use) { + $this->addAlias($use, $node->type, null); + } + } elseif ($node instanceof Stmt\GroupUse) { + foreach ($node->uses as $use) { + $this->addAlias($use, $node->type, $node->prefix); + } + } elseif ($node instanceof Stmt\Class_) { + if (null !== $node->extends) { + $node->extends = $this->resolveClassName($node->extends); + } + foreach ($node->implements as &$interface) { + $interface = $this->resolveClassName($interface); + } + $this->resolveAttrGroups($node); + if (null !== $node->name) { + $this->addNamespacedName($node); + } + } elseif ($node instanceof Stmt\Interface_) { + foreach ($node->extends as &$interface) { + $interface = $this->resolveClassName($interface); + } + $this->resolveAttrGroups($node); + $this->addNamespacedName($node); + } elseif ($node instanceof Stmt\Trait_) { + $this->resolveAttrGroups($node); + $this->addNamespacedName($node); + } elseif ($node instanceof Stmt\Function_) { + $this->resolveSignature($node); + $this->resolveAttrGroups($node); + $this->addNamespacedName($node); + } elseif ($node instanceof Stmt\ClassMethod || $node instanceof Expr\Closure || $node instanceof Expr\ArrowFunction) { + $this->resolveSignature($node); + $this->resolveAttrGroups($node); + } elseif ($node instanceof Stmt\Property) { + if (null !== $node->type) { + $node->type = $this->resolveType($node->type); + } + $this->resolveAttrGroups($node); + } elseif ($node instanceof Stmt\Const_) { + foreach ($node->consts as $const) { + $this->addNamespacedName($const); + } + } else { + if ($node instanceof Stmt\ClassConst) { + $this->resolveAttrGroups($node); + } elseif ($node instanceof Expr\StaticCall || $node instanceof Expr\StaticPropertyFetch || $node instanceof Expr\ClassConstFetch || $node instanceof Expr\New_ || $node instanceof Expr\Instanceof_) { + if ($node->class instanceof Name) { + $node->class = $this->resolveClassName($node->class); + } + } elseif ($node instanceof Stmt\Catch_) { + foreach ($node->types as &$type) { + $type = $this->resolveClassName($type); + } + } elseif ($node instanceof Expr\FuncCall) { + if ($node->name instanceof Name) { + $node->name = $this->resolveName($node->name, Stmt\Use_::TYPE_FUNCTION); + } + } elseif ($node instanceof Expr\ConstFetch) { + $node->name = $this->resolveName($node->name, Stmt\Use_::TYPE_CONSTANT); + } elseif ($node instanceof Stmt\TraitUse) { + foreach ($node->traits as &$trait) { + $trait = $this->resolveClassName($trait); + } + foreach ($node->adaptations as $adaptation) { + if (null !== $adaptation->trait) { + $adaptation->trait = $this->resolveClassName($adaptation->trait); + } + if ($adaptation instanceof Stmt\TraitUseAdaptation\Precedence) { + foreach ($adaptation->insteadof as &$insteadof) { + $insteadof = $this->resolveClassName($insteadof); + } + } + } + } + } + return null; + } + private function addAlias(Stmt\UseUse $use, $type, Name $prefix = null) + { + // Add prefix for group uses + $name = $prefix ? Name::concat($prefix, $use->name) : $use->name; + // Type is determined either by individual element or whole use declaration + $type |= $use->type; + $this->nameContext->addAlias($name, (string) $use->getAlias(), $type, $use->getAttributes()); + } + /** @param Stmt\Function_|Stmt\ClassMethod|Expr\Closure $node */ + private function resolveSignature($node) + { + foreach ($node->params as $param) { + $param->type = $this->resolveType($param->type); + $this->resolveAttrGroups($param); + } + $node->returnType = $this->resolveType($node->returnType); + } + private function resolveType($node) + { + if ($node instanceof Name) { + return $this->resolveClassName($node); + } + if ($node instanceof Node\NullableType) { + $node->type = $this->resolveType($node->type); + return $node; + } + if ($node instanceof Node\UnionType) { + foreach ($node->types as &$type) { + $type = $this->resolveType($type); + } + return $node; + } + return $node; + } + /** + * Resolve name, according to name resolver options. + * + * @param Name $name Function or constant name to resolve + * @param int $type One of Stmt\Use_::TYPE_* + * + * @return Name Resolved name, or original name with attribute + */ + protected function resolveName(Name $name, $type) + { + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + if (!$this->replaceNodes) { + $resolvedName = $this->nameContext->getResolvedName($name, $type); + if (null !== $resolvedName) { + $name->setAttribute('resolvedName', $resolvedName); + } else { + $name->setAttribute('namespacedName', FullyQualified::concat($this->nameContext->getNamespace(), $name, $name->getAttributes())); + } + $phabelReturn = $name; + if (!$phabelReturn instanceof Name) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Name, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->preserveOriginalNames) { + // Save the original name + $originalName = $name; + $name = clone $originalName; + $name->setAttribute('originalName', $originalName); + } + $resolvedName = $this->nameContext->getResolvedName($name, $type); + if (null !== $resolvedName) { + $phabelReturn = $resolvedName; + if (!$phabelReturn instanceof Name) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Name, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // unqualified names inside a namespace cannot be resolved at compile-time + // add the namespaced version of the name as an attribute + $name->setAttribute('namespacedName', FullyQualified::concat($this->nameContext->getNamespace(), $name, $name->getAttributes())); + $phabelReturn = $name; + if (!$phabelReturn instanceof Name) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Name, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + protected function resolveClassName(Name $name) + { + return $this->resolveName($name, Stmt\Use_::TYPE_NORMAL); + } + protected function addNamespacedName(Node $node) + { + $node->namespacedName = Name::concat($this->nameContext->getNamespace(), (string) $node->name); + } + protected function resolveAttrGroups(Node $node) + { + foreach ($node->attrGroups as $attrGroup) { + foreach ($attrGroup->attrs as $attr) { + $attr->name = $this->resolveClassName($attr->name); + } + } + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php new file mode 100644 index 000000000..b7159c4e9 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php @@ -0,0 +1,47 @@ +$node->getAttribute('parent'), the previous + * node can be accessed through $node->getAttribute('previous'), + * and the next node can be accessed through $node->getAttribute('next'). + */ +final class NodeConnectingVisitor extends NodeVisitorAbstract +{ + /** + * @var Node[] + */ + private $stack = []; + /** + * @var ?Node + */ + private $previous; + public function beforeTraverse(array $nodes) + { + $this->stack = []; + $this->previous = null; + } + public function enterNode(Node $node) + { + if (!empty($this->stack)) { + $node->setAttribute('parent', $this->stack[\count($this->stack) - 1]); + } + if ($this->previous !== null && $this->previous->getAttribute('parent') === $node->getAttribute('parent')) { + $node->setAttribute('previous', $this->previous); + $this->previous->setAttribute('next', $node); + } + $this->stack[] = $node; + } + public function leaveNode(Node $node) + { + $this->previous = $node; + \array_pop($this->stack); + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php new file mode 100644 index 000000000..017d3519f --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php @@ -0,0 +1,36 @@ +$node->getAttribute('parent'). + */ +final class ParentConnectingVisitor extends NodeVisitorAbstract +{ + /** + * @var Node[] + */ + private $stack = []; + public function beforeTraverse(array $nodes) + { + $this->stack = []; + } + public function enterNode(Node $node) + { + if (!empty($this->stack)) { + $node->setAttribute('parent', $this->stack[count($this->stack) - 1]); + } + $this->stack[] = $node; + } + public function leaveNode(Node $node) + { + array_pop($this->stack); + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitorAbstract.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitorAbstract.php new file mode 100644 index 000000000..0d596a39b --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/NodeVisitorAbstract.php @@ -0,0 +1,26 @@ +parsers = $parsers; + } + public function parse($code, ErrorHandler $errorHandler = null) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + if (null === $errorHandler) { + $errorHandler = new ErrorHandler\Throwing(); + } + list($firstStmts, $firstError) = $this->tryParse($this->parsers[0], $errorHandler, $code); + if ($firstError === null) { + return $firstStmts; + } + for ($i = 1, $c = \count($this->parsers); $i < $c; ++$i) { + list($stmts, $error) = $this->tryParse($this->parsers[$i], $errorHandler, $code); + if ($error === null) { + return $stmts; + } + } + throw $firstError; + } + private function tryParse(Parser $parser, ErrorHandler $errorHandler, $code) + { + $stmts = null; + $error = null; + try { + $stmts = $parser->parse($code, $errorHandler); + } catch (Error $error) { + } + return [$stmts, $error]; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Php5.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Php5.php new file mode 100644 index 000000000..2c1e25b61 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Php5.php @@ -0,0 +1,1302 @@ +'", "T_IS_GREATER_OR_EQUAL", "T_SL", "T_SR", "'+'", "'-'", "'.'", "'*'", "'/'", "'%'", "'!'", "T_INSTANCEOF", "'~'", "T_INC", "T_DEC", "T_INT_CAST", "T_DOUBLE_CAST", "T_STRING_CAST", "T_ARRAY_CAST", "T_OBJECT_CAST", "T_BOOL_CAST", "T_UNSET_CAST", "'@'", "T_POW", "'['", "T_NEW", "T_CLONE", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF", "T_LNUMBER", "T_DNUMBER", "T_STRING", "T_STRING_VARNAME", "T_VARIABLE", "T_NUM_STRING", "T_INLINE_HTML", "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING", "T_ECHO", "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH", "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SWITCH", "T_MATCH", "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK", "T_CONTINUE", "T_GOTO", "T_FUNCTION", "T_FN", "T_CONST", "T_RETURN", "T_TRY", "T_CATCH", "T_FINALLY", "T_USE", "T_INSTEADOF", "T_GLOBAL", "T_STATIC", "T_ABSTRACT", "T_FINAL", "T_PRIVATE", "T_PROTECTED", "T_PUBLIC", "T_VAR", "T_UNSET", "T_ISSET", "T_EMPTY", "T_HALT_COMPILER", "T_CLASS", "T_TRAIT", "T_INTERFACE", "T_EXTENDS", "T_IMPLEMENTS", "T_OBJECT_OPERATOR", "T_LIST", "T_ARRAY", "T_CALLABLE", "T_CLASS_C", "T_TRAIT_C", "T_METHOD_C", "T_FUNC_C", "T_LINE", "T_FILE", "T_START_HEREDOC", "T_END_HEREDOC", "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM", "T_NAMESPACE", "T_NS_C", "T_DIR", "T_NS_SEPARATOR", "T_ELLIPSIS", "T_NAME_FULLY_QUALIFIED", "T_NAME_QUALIFIED", "T_NAME_RELATIVE", "';'", "'{'", "'}'", "'('", "')'", "'\$'", "'`'", "']'", "'\"'", "T_NULLSAFE_OBJECT_OPERATOR", "T_ATTRIBUTE"); + protected $tokenToSymbol = array(0, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 55, 162, 165, 159, 54, 37, 165, 157, 158, 52, 49, 8, 50, 51, 53, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 31, 154, 43, 16, 45, 30, 67, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 69, 165, 161, 36, 165, 160, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 155, 35, 156, 57, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 38, 39, 40, 41, 42, 44, 46, 47, 48, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 163, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 164); + protected $action = array(693, 663, 664, 665, 666, 667, 282, 668, 669, 670, 706, 707, 221, 222, 223, 224, 225, 226, 227, 228, 229, 0, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32767, -32767, -32767, -32767, 27, 242, 243, -32766, -32766, -32766, -32766, -32766, 671, -32766, 333, -32766, -32766, -32766, -32766, -32766, -32766, -32767, -32767, -32767, -32767, -32767, 672, 673, 674, 675, 676, 677, 678, 1034, 816, 740, 941, 942, 943, 940, 939, 938, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 709, 732, 710, 711, 712, 713, 701, 702, 703, 731, 704, 705, 690, 691, 692, 694, 695, 696, 734, 735, 736, 737, 738, 739, 697, 698, 699, 700, 730, 721, 719, 720, 716, 717, 437, 708, 714, 715, 722, 723, 725, 724, 726, 727, 55, 56, 417, 57, 58, 718, 729, 728, 28, 59, 60, -220, 61, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32766, 36, -32767, -32767, -32767, -32767, 1034, 35, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, -32766, -32766, -32766, -32766, 62, 63, 1034, 125, 285, 292, 64, 748, 65, 290, 291, 66, 67, 68, 69, 70, 71, 72, 73, 763, 25, 298, 74, 409, 973, 975, 294, 294, 1086, 1087, 1064, 796, 748, 218, 219, 220, 465, -32766, -32766, -32766, 742, 864, 817, 54, 807, 9, -32766, -32766, -32766, 760, 320, 761, 410, 10, 202, 246, 428, 209, -32766, 933, -32766, -32766, -32766, -32766, -32766, -32766, 488, -32766, 438, -32766, -32766, -32766, -32766, -32766, 473, 474, 941, 942, 943, 940, 939, 938, -32766, 475, 476, 337, 1092, 1093, 1094, 1095, 1089, 1090, 315, 1214, -255, 747, 1215, -505, 1096, 1091, 888, 889, 1066, 1065, 1067, 218, 219, 220, 41, 414, 337, 330, 895, 332, 418, -126, -126, -126, 75, 52, 464, -4, 817, 54, 805, -224, 202, 40, 21, 419, -126, 466, -126, 467, -126, 468, -126, 359, 420, 128, 128, 748, 1171, 31, 32, 421, 422, 1034, 894, 33, 469, -32766, -32766, -32766, 1186, 351, 352, 470, 471, -32766, -32766, -32766, 309, 472, 865, 323, 788, 835, 423, 424, -32767, -32767, -32767, -32767, 97, 98, 99, 100, 101, 615, -32766, 313, -32766, -32766, -32766, -32766, 354, 1185, 1171, 218, 219, 220, 475, 748, 418, 819, 629, -126, 297, 915, 464, 817, 54, -32766, 805, 124, 748, 40, 21, 419, 202, 466, 48, 467, 534, 468, 129, 429, 420, 337, 341, 888, 889, 31, 32, 421, 422, 416, 405, 33, 469, -32766, -32766, 311, 298, 351, 352, 470, 471, -32766, -32766, -32766, 748, 472, 412, 748, 752, 835, 423, 424, 338, 1066, 1065, 1067, 219, 220, 919, 1136, 296, 20, -32766, 576, -32766, -32766, -32766, 742, 341, 342, 413, 429, 1064, 337, 512, 418, 202, 819, 629, -4, 1034, 464, 817, 54, 49, 805, 337, 762, 40, 21, 419, 51, 466, 1034, 467, 475, 468, 340, 748, 420, 120, -205, -205, -205, 31, 32, 421, 422, 1062, -32766, 33, 469, -32766, -32766, -32766, 744, 351, 352, 470, 471, 429, 1098, 337, 429, 472, 337, 1034, 788, 835, 423, 424, 415, 1098, -32766, 802, -32766, -32766, 102, 103, 104, 1137, 303, 202, 130, 1066, 1065, 1067, 337, 123, 239, 240, 241, 748, 105, 418, 1205, 819, 629, -205, 440, 464, -32766, -32766, -32766, 805, 242, 243, 40, 21, 419, 121, 466, 126, 467, 429, 468, 337, 122, 420, 1052, -204, -204, -204, 31, 32, 421, 422, 1034, 745, 33, 469, 220, 759, 817, 54, 351, 352, 470, 471, 218, 219, 220, 119, 472, 244, 127, 788, 835, 423, 424, 202, -32766, -32766, -32766, 30, 293, 803, 79, 80, 81, 202, 798, 210, 632, 99, 100, 101, 236, 237, 238, 817, 54, -32766, 211, 800, 819, 629, -204, 34, 1034, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 286, 303, 418, 1034, 817, 54, -32766, -32766, 464, 218, 219, 220, 805, 105, 914, 40, 21, 419, 78, 466, 212, 467, 337, 468, 133, 247, 420, 295, 567, 248, 202, 31, 32, 421, 633, 242, 243, 33, 469, 418, 249, 817, 54, 351, 352, 464, 760, -84, 761, 805, 310, 472, 40, 21, 419, -32766, 466, 640, 467, 643, 468, 447, 22, 420, 815, 452, 584, 132, 31, 32, 421, 637, 134, 364, 33, 469, 418, 303, 817, 54, 351, 352, 464, 819, 629, 828, 805, 43, 472, 40, 21, 419, 44, 466, 45, 467, 46, 468, 591, 592, 420, 753, 635, 930, 649, 31, 32, 421, 641, 918, 657, 33, 469, 418, 105, 817, 54, 351, 352, 464, 819, 629, 47, 805, 50, 472, 40, 21, 419, 53, 466, 131, 467, 298, 468, 599, 742, 420, -32766, -274, 516, 570, 31, 32, 421, 646, 748, 946, 33, 469, 418, 589, 436, -32766, 351, 352, 464, 819, 629, 623, 805, 836, 472, 40, 21, 419, 611, 466, -82, 467, 603, 468, 11, 573, 420, 439, 456, 281, 318, 31, 32, 421, 588, 432, 321, 33, 469, 418, -414, 458, 322, 351, 352, 464, 851, 629, 837, 805, -505, 472, 40, 21, 419, 654, 466, 38, 467, 24, 468, 0, 0, 420, 319, 0, -405, 0, 31, 32, 421, 245, 312, 314, 33, 469, -506, 0, 0, 1097, 351, 352, 1143, 819, 629, 0, 0, 527, 472, 213, 214, 6, 7, 12, 14, 215, 363, 216, -415, 558, 789, -221, 830, 0, 0, 747, 0, 0, 0, 207, 39, 652, 653, 758, 806, 814, 793, 1086, 1087, 808, 819, 629, 213, 214, 867, 1088, 858, 859, 215, 791, 216, 852, 849, 847, 925, 926, 923, 813, 797, 799, 801, 804, 207, 922, 756, 757, 924, 287, 78, 331, 1086, 1087, 353, 630, 634, 636, 638, 639, 1088, 642, 644, 645, 647, 648, 631, 1142, 1211, 1213, 755, 834, 754, 833, 1212, 554, 832, 1092, 1093, 1094, 1095, 1089, 1090, 388, 1048, 824, 1036, 831, 1037, 1096, 1091, 822, 931, 856, 857, 451, 1210, 1179, 0, 217, 1177, 1162, 1175, 1077, 906, 1183, 1173, 0, 554, 26, 1092, 1093, 1094, 1095, 1089, 1090, 388, 29, 37, 42, 76, 77, 1096, 1091, 208, 284, 288, 289, 304, 305, 306, 307, 217, 335, 406, 408, 0, -220, 16, 17, 18, 383, 448, 455, 457, 462, 548, 620, 1039, 1042, 896, 1102, 1038, 1014, 559, 1013, 1079, 0, 0, -424, 1032, 0, 1043, 1045, 1044, 1047, 1046, 1061, 1176, 1161, 1157, 1174, 1076, 1208, 1103, 1156, 595); + protected $actionCheck = array(2, 3, 4, 5, 6, 7, 14, 9, 10, 11, 12, 13, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 9, 10, 11, 33, 34, 35, 36, 37, 38, 39, 40, 41, 8, 68, 69, 33, 34, 35, 36, 37, 56, 30, 8, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 70, 71, 72, 73, 74, 75, 76, 13, 1, 79, 115, 116, 117, 118, 119, 120, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 31, 132, 133, 134, 135, 136, 137, 138, 139, 140, 3, 4, 5, 6, 7, 146, 147, 148, 8, 12, 13, 158, 15, 33, 34, 35, 36, 37, 38, 39, 40, 41, 14, 43, 44, 45, 46, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 33, 34, 35, 36, 49, 50, 13, 8, 8, 37, 55, 81, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 156, 69, 70, 71, 72, 58, 59, 37, 37, 77, 78, 79, 154, 81, 9, 10, 11, 85, 9, 10, 11, 79, 31, 1, 2, 154, 107, 9, 10, 11, 105, 112, 107, 126, 8, 30, 31, 105, 8, 30, 121, 32, 33, 34, 35, 36, 37, 115, 30, 155, 32, 33, 34, 35, 36, 123, 124, 115, 116, 117, 118, 119, 120, 115, 132, 133, 159, 135, 136, 137, 138, 139, 140, 141, 79, 156, 151, 82, 131, 147, 148, 133, 134, 151, 152, 153, 9, 10, 11, 157, 8, 159, 160, 158, 162, 73, 74, 75, 76, 150, 69, 79, 0, 1, 2, 83, 158, 30, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 8, 97, 150, 150, 81, 81, 102, 103, 104, 105, 13, 158, 108, 109, 9, 10, 11, 158, 114, 115, 116, 117, 9, 10, 11, 8, 122, 154, 8, 125, 126, 127, 128, 43, 44, 45, 46, 47, 48, 49, 50, 51, 79, 30, 131, 32, 33, 34, 35, 8, 1, 81, 9, 10, 11, 132, 81, 73, 154, 155, 156, 37, 154, 79, 1, 2, 115, 83, 155, 81, 86, 87, 88, 30, 90, 69, 92, 80, 94, 155, 157, 97, 159, 159, 133, 134, 102, 103, 104, 105, 8, 107, 108, 109, 9, 10, 112, 70, 114, 115, 116, 117, 9, 10, 11, 81, 122, 8, 81, 125, 126, 127, 128, 8, 151, 152, 153, 10, 11, 156, 161, 8, 158, 30, 84, 32, 33, 34, 79, 159, 146, 8, 157, 79, 159, 84, 73, 30, 154, 155, 156, 13, 79, 1, 2, 69, 83, 159, 156, 86, 87, 88, 69, 90, 13, 92, 132, 94, 69, 81, 97, 155, 99, 100, 101, 102, 103, 104, 105, 115, 9, 108, 109, 9, 10, 11, 79, 114, 115, 116, 117, 157, 142, 159, 157, 122, 159, 13, 125, 126, 127, 128, 8, 142, 30, 154, 32, 33, 52, 53, 54, 158, 56, 30, 155, 151, 152, 153, 159, 14, 52, 53, 54, 81, 68, 73, 84, 154, 155, 156, 131, 79, 33, 34, 35, 83, 68, 69, 86, 87, 88, 155, 90, 155, 92, 157, 94, 159, 155, 97, 158, 99, 100, 101, 102, 103, 104, 105, 13, 152, 108, 109, 11, 154, 1, 2, 114, 115, 116, 117, 9, 10, 11, 16, 122, 14, 31, 125, 126, 127, 128, 30, 9, 10, 11, 143, 144, 154, 9, 10, 11, 30, 154, 16, 31, 49, 50, 51, 49, 50, 51, 1, 2, 30, 16, 154, 154, 155, 156, 30, 13, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 37, 56, 73, 13, 1, 2, 33, 34, 79, 9, 10, 11, 83, 68, 154, 86, 87, 88, 155, 90, 16, 92, 159, 94, 155, 16, 97, 37, 159, 16, 30, 102, 103, 104, 31, 68, 69, 108, 109, 73, 16, 1, 2, 114, 115, 79, 105, 31, 107, 83, 31, 122, 86, 87, 88, 33, 90, 31, 92, 31, 94, 74, 75, 97, 31, 74, 75, 31, 102, 103, 104, 31, 100, 101, 108, 109, 73, 56, 1, 2, 114, 115, 79, 154, 155, 37, 83, 69, 122, 86, 87, 88, 69, 90, 69, 92, 69, 94, 110, 111, 97, 154, 155, 154, 155, 102, 103, 104, 31, 154, 155, 108, 109, 73, 68, 1, 2, 114, 115, 79, 154, 155, 69, 83, 69, 122, 86, 87, 88, 69, 90, 69, 92, 70, 94, 76, 79, 97, 84, 81, 84, 89, 102, 103, 104, 31, 81, 81, 108, 109, 73, 112, 88, 115, 114, 115, 79, 154, 155, 91, 83, 126, 122, 86, 87, 88, 93, 90, 96, 92, 95, 94, 96, 99, 97, 96, 96, 96, 129, 102, 103, 104, 99, 105, 113, 108, 109, 73, 145, 105, 129, 114, 115, 79, 154, 155, 126, 83, 131, 122, 86, 87, 88, 156, 90, 154, 92, 157, 94, -1, -1, 97, 130, -1, 145, -1, 102, 103, 104, 31, 131, 131, 108, 109, 131, -1, -1, 142, 114, 115, 142, 154, 155, -1, -1, 149, 122, 49, 50, 145, 145, 145, 145, 55, 145, 57, 145, 149, 156, 158, 150, -1, -1, 151, -1, -1, -1, 69, 154, 154, 154, 154, 154, 154, 154, 77, 78, 154, 154, 155, 49, 50, 154, 85, 154, 154, 55, 154, 57, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, 69, 154, 154, 154, 154, 159, 155, 155, 77, 78, 155, 155, 155, 155, 155, 155, 85, 155, 155, 155, 155, 155, 155, 162, 156, 156, 156, 156, 156, 156, 156, 133, 156, 135, 136, 137, 138, 139, 140, 141, 156, 156, 156, 156, 156, 147, 148, 156, 156, 156, 156, 156, 156, 156, -1, 157, 156, 156, 156, 156, 156, 156, 156, -1, 133, 157, 135, 136, 137, 138, 139, 140, 141, 157, 157, 157, 157, 157, 147, 148, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, -1, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, -1, -1, 160, 160, -1, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161); + protected $actionBase = array(0, 226, 306, 385, 464, 285, 246, 246, 786, -2, -2, 146, -2, -2, -2, 649, 723, 760, 723, 575, 686, 612, 612, 612, 175, 153, 153, 153, 174, 890, 319, 62, 450, 463, 557, 609, 636, 496, 496, 496, 496, 136, 136, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 496, 195, 75, 777, 517, 147, 778, 779, 780, 886, 727, 887, 832, 833, 682, 836, 837, 838, 839, 840, 831, 841, 907, 842, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 483, 573, 365, 209, 281, 407, 646, 646, 646, 646, 646, 646, 646, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 327, 429, 834, 585, 585, 585, 563, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 867, 495, 486, -21, -21, 415, 668, 335, 619, 222, 511, 213, 25, 25, 25, 25, 25, 148, 16, 4, 4, 4, 4, 151, 312, 312, 312, 312, 119, 119, 119, 119, 346, 346, 123, 245, 245, 349, 400, 297, 297, 297, 297, 297, 297, 297, 297, 297, 297, 111, 558, 558, 561, 561, 310, 152, 152, 152, 152, 704, 273, 273, 129, 371, 371, 371, 373, 734, 797, 376, 376, 376, 376, 376, 376, 468, 468, 468, 480, 480, 480, 702, 587, 454, 587, 454, 684, 748, 509, 748, 700, 199, 515, 803, 398, 720, 829, 729, 830, 601, 747, 235, 782, 724, 419, 782, 633, 637, 634, 419, 419, 715, 98, 863, 292, 195, 595, 405, 667, 781, 421, 732, 784, 363, 445, 411, 593, 328, 286, 744, 785, 888, 889, 181, 739, 667, 667, 667, 139, 362, 328, -8, 613, 613, 613, 613, 48, 613, 613, 613, 613, 314, 230, 506, 404, 783, 703, 703, 712, 694, 852, 696, 696, 703, 711, 703, 712, 694, 854, 854, 854, 854, 703, 694, 703, 703, 703, 696, 696, 694, 709, 696, 38, 694, 695, 707, 707, 854, 751, 752, 703, 703, 728, 696, 696, 696, 728, 694, 854, 685, 746, 234, 696, 854, 665, 711, 665, 703, 685, 694, 665, 711, 711, 665, 21, 662, 664, 853, 855, 869, 792, 681, 716, 861, 862, 856, 860, 844, 679, 753, 754, 569, 669, 671, 673, 699, 740, 701, 735, 724, 692, 692, 692, 713, 741, 713, 692, 692, 692, 692, 692, 692, 692, 692, 893, 689, 745, 736, 710, 755, 589, 600, 793, 731, 738, 882, 875, 891, 892, 863, 880, 713, 894, 697, 180, 650, 864, 693, 788, 713, 865, 713, 794, 713, 883, 804, 708, 805, 806, 692, 884, 895, 896, 897, 898, 899, 900, 901, 902, 706, 903, 756, 698, 876, 339, 859, 715, 742, 725, 791, 759, 807, 342, 904, 808, 713, 713, 795, 787, 713, 796, 764, 750, 872, 766, 877, 905, 731, 726, 878, 713, 730, 809, 906, 342, 672, 705, 737, 721, 767, 870, 885, 868, 798, 655, 659, 810, 812, 820, 674, 769, 873, 874, 871, 771, 799, 670, 800, 719, 821, 801, 866, 772, 822, 823, 881, 718, 743, 717, 722, 714, 802, 824, 879, 773, 774, 775, 827, 776, 828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 136, 136, 136, -2, -2, -2, -2, 0, 0, -2, 0, 0, 0, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 0, 0, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, -21, -21, -21, -21, 591, -21, -21, -21, -21, -21, -21, -21, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, -21, 376, 591, 591, 591, -21, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, -21, 591, 0, 0, 591, -21, 591, -21, 591, -21, 591, 591, 591, 591, 591, 591, -21, -21, -21, -21, -21, -21, 0, 468, 468, 468, 468, -21, -21, -21, -21, 376, 376, -37, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 376, 468, 468, 480, 480, 376, 376, 376, 376, 376, -37, 376, 376, 419, 711, 711, 711, 454, 454, 454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 454, 419, 0, 419, 0, 376, 419, 711, 419, 454, 711, 711, 419, 696, 618, 618, 618, 618, 342, 328, 0, 711, 711, 0, 711, 0, 0, 0, 0, 0, 696, 0, 703, 0, 0, 0, 0, 692, 180, 0, 725, 427, 0, 0, 0, 0, 0, 0, 725, 427, 435, 435, 0, 706, 692, 692, 692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 342); + protected $actionDefault = array(3, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 534, 534, 489, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 293, 293, 293, 32767, 32767, 32767, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 522, 32767, 32767, 32767, 32767, 32767, 32767, 376, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 382, 539, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 357, 358, 360, 361, 292, 542, 523, 241, 383, 538, 291, 243, 321, 493, 32767, 32767, 32767, 323, 120, 252, 197, 492, 123, 290, 228, 375, 377, 322, 297, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 296, 449, 32767, 354, 353, 352, 451, 486, 486, 489, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 450, 319, 477, 476, 320, 447, 324, 448, 326, 452, 325, 342, 343, 340, 341, 344, 454, 453, 470, 471, 468, 469, 295, 345, 346, 347, 348, 472, 473, 474, 475, 32767, 32767, 276, 533, 533, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 333, 334, 461, 462, 32767, 232, 232, 232, 232, 277, 232, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 328, 329, 327, 456, 457, 455, 423, 32767, 32767, 32767, 425, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 494, 32767, 32767, 32767, 32767, 32767, 507, 412, 32767, 404, 32767, 32767, 216, 218, 165, 32767, 32767, 480, 32767, 32767, 32767, 32767, 32767, 512, 338, 32767, 32767, 114, 32767, 32767, 32767, 549, 32767, 507, 32767, 114, 32767, 32767, 32767, 32767, 351, 330, 331, 332, 32767, 32767, 511, 505, 464, 465, 466, 467, 32767, 458, 459, 460, 463, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 169, 420, 426, 426, 32767, 32767, 32767, 32767, 169, 32767, 32767, 32767, 32767, 32767, 169, 32767, 32767, 32767, 510, 509, 169, 32767, 405, 488, 169, 182, 180, 180, 32767, 202, 202, 32767, 32767, 184, 481, 500, 32767, 184, 169, 32767, 393, 171, 488, 32767, 32767, 234, 32767, 234, 32767, 393, 169, 234, 32767, 32767, 234, 32767, 406, 430, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 372, 373, 483, 496, 32767, 497, 32767, 404, 336, 337, 339, 316, 32767, 318, 362, 363, 364, 365, 366, 367, 368, 370, 32767, 410, 32767, 413, 32767, 32767, 32767, 251, 32767, 547, 32767, 32767, 300, 547, 32767, 32767, 32767, 541, 32767, 32767, 294, 32767, 32767, 32767, 32767, 247, 32767, 167, 32767, 531, 32767, 548, 32767, 505, 32767, 335, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 506, 32767, 32767, 32767, 32767, 223, 32767, 443, 32767, 114, 32767, 32767, 32767, 183, 32767, 32767, 298, 242, 32767, 32767, 540, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 112, 32767, 168, 32767, 32767, 32767, 185, 32767, 32767, 505, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 289, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 505, 32767, 32767, 227, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 406, 32767, 270, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 125, 125, 3, 125, 125, 254, 3, 254, 125, 254, 254, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 210, 213, 202, 202, 162, 125, 125, 262); + protected $goto = array(165, 139, 139, 139, 165, 143, 146, 140, 141, 142, 148, 186, 167, 162, 162, 162, 162, 143, 143, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 137, 158, 159, 160, 161, 183, 138, 184, 489, 490, 367, 491, 495, 496, 497, 498, 499, 500, 501, 502, 959, 163, 144, 145, 147, 170, 175, 185, 203, 251, 254, 256, 258, 260, 261, 262, 263, 264, 265, 273, 274, 275, 276, 299, 300, 324, 325, 326, 384, 385, 386, 538, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 149, 150, 151, 166, 152, 168, 153, 204, 169, 154, 155, 156, 205, 157, 135, 616, 556, 574, 578, 622, 624, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 1099, 515, 345, 571, 600, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 504, 1202, 1202, 1075, 1074, 504, 540, 541, 542, 543, 544, 545, 546, 547, 549, 582, 3, 4, 173, 1202, 844, 844, 844, 844, 839, 845, 176, 177, 178, 391, 392, 393, 394, 172, 201, 206, 250, 255, 257, 259, 266, 267, 268, 269, 270, 271, 277, 278, 279, 280, 301, 302, 327, 328, 329, 396, 397, 398, 399, 174, 179, 252, 253, 180, 181, 182, 493, 493, 750, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 505, 929, 442, 444, 627, 505, 751, 779, 1100, 610, 927, 880, 880, 765, 1190, 1190, 1168, 555, 775, 764, 743, 1168, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, 390, 602, 746, 532, 532, 564, 528, 530, 530, 492, 494, 520, 536, 565, 568, 579, 586, 810, 606, 506, 346, 347, 609, 850, 506, 365, 537, 746, 533, 746, 563, 430, 430, 375, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 1063, 581, 957, 596, 597, 1063, 887, 887, 887, 887, 1160, 887, 887, 1182, 1182, 1182, 376, 376, 376, 749, 1063, 1063, 1063, 1063, 1063, 1063, 334, 1056, 317, 374, 374, 374, 866, 848, 846, 848, 650, 461, 507, 875, 870, 376, 1194, 368, 374, 389, 374, 898, 374, 1080, 583, 348, 404, 374, 1216, 590, 601, 1017, 19, 15, 361, 1148, 1187, 525, 936, 904, 510, 526, 904, 651, 551, 381, 1201, 1201, 587, 1007, 550, 877, 607, 608, 873, 612, 613, 619, 621, 626, 628, 23, 884, 937, 1201, 336, 598, 1059, 1060, 1204, 378, 1056, 557, 539, 893, 768, 766, 379, 514, 902, 509, 524, 655, 1057, 1159, 1057, 776, 509, 1167, 524, 514, 514, 1058, 1167, 1049, 907, 508, 1054, 511, 433, 434, 510, 1184, 1184, 1184, 854, 445, 945, 569, 1145, 459, 362, 0, 0, 773, 1209, 0, 518, 0, 519, 0, 529, 0, 0, 0, 0, 0, 1166, 0, 0, 0, 771, 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, 605, 0, 0, 0, 0, 13, 1055, 614); + protected $gotoCheck = array(42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 56, 66, 59, 59, 59, 8, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 124, 99, 69, 39, 39, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 66, 140, 140, 122, 122, 66, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 29, 29, 26, 140, 66, 66, 66, 66, 66, 66, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 115, 115, 14, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 7, 7, 7, 7, 115, 15, 28, 7, 7, 7, 74, 74, 22, 74, 74, 116, 56, 22, 22, 5, 116, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 50, 50, 10, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 49, 60, 120, 69, 69, 60, 32, 120, 60, 2, 10, 107, 10, 2, 56, 56, 10, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 64, 99, 64, 64, 56, 56, 56, 56, 56, 79, 56, 56, 8, 8, 8, 121, 121, 121, 13, 56, 56, 56, 56, 56, 56, 123, 79, 123, 12, 12, 12, 13, 13, 13, 13, 13, 56, 13, 13, 13, 121, 138, 45, 12, 121, 12, 81, 12, 33, 67, 67, 67, 12, 12, 125, 48, 33, 33, 33, 33, 129, 136, 8, 95, 12, 12, 31, 12, 31, 31, 47, 139, 139, 31, 100, 33, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 33, 76, 95, 139, 17, 33, 79, 79, 139, 11, 79, 11, 46, 78, 24, 23, 16, 46, 82, 8, 8, 71, 79, 79, 79, 25, 8, 117, 8, 46, 46, 79, 117, 111, 83, 8, 113, 8, 8, 8, 12, 117, 117, 117, 68, 62, 97, 63, 128, 106, 57, -1, -1, 8, 8, -1, 57, -1, 99, -1, 57, -1, -1, -1, -1, -1, 117, -1, -1, -1, 8, -1, -1, -1, 57, -1, -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, 57, 12, 12); + protected $gotoBase = array(0, 0, -249, 0, 0, 300, 0, 287, 105, 0, 47, 164, 118, 421, 274, 295, 171, 184, 0, 0, 0, 0, -49, 168, 172, 104, 24, 0, 288, -431, 0, -159, 359, 44, 0, 0, 0, 0, 0, 125, 0, 0, -24, 0, 0, 407, 479, 186, 178, 355, 75, 0, 0, 0, 0, 0, 106, 119, 0, -192, -81, 0, 101, 93, -231, 0, -90, 135, 121, -276, 0, 148, 0, 0, 21, 0, 183, 0, 194, 71, 0, 423, 155, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 122, 0, 120, 176, 0, 0, 0, 0, 0, 83, 358, 170, 0, 0, 113, 0, 111, 0, -7, 9, 220, 0, 0, 77, 108, -102, 100, -42, 251, 0, 0, 89, 256, 0, 0, 0, 0, 0, 0, 181, 0, 419, 160, -107, 0, 0); + protected $gotoDefault = array(-32768, 463, 659, 2, 660, 733, 741, 593, 477, 625, 577, 370, 1178, 785, 786, 787, 371, 358, 478, 369, 400, 395, 774, 767, 769, 777, 171, 401, 780, 1, 782, 513, 818, 1008, 355, 790, 356, 585, 792, 522, 794, 795, 136, 372, 373, 523, 479, 380, 572, 809, 272, 377, 811, 357, 812, 821, 360, 460, 454, 552, 604, 425, 441, 566, 560, 531, 1072, 561, 853, 344, 861, 656, 869, 872, 480, 553, 883, 446, 891, 1085, 387, 897, 903, 908, 283, 911, 407, 402, 580, 916, 917, 5, 921, 617, 618, 8, 308, 944, 594, 958, 411, 1027, 1029, 481, 482, 517, 453, 503, 521, 483, 1050, 435, 403, 1053, 484, 485, 426, 427, 1069, 350, 1153, 349, 443, 316, 1140, 575, 1104, 450, 1193, 1149, 343, 486, 487, 366, 1172, 382, 1188, 431, 1195, 1203, 339, 535, 562); + protected $ruleToNonTerminal = array(0, 1, 3, 3, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 9, 10, 10, 11, 11, 12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 17, 17, 18, 18, 20, 20, 16, 16, 21, 21, 22, 22, 23, 23, 24, 24, 19, 19, 25, 27, 27, 28, 29, 29, 31, 30, 30, 30, 30, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 13, 13, 53, 53, 55, 54, 54, 47, 47, 57, 57, 58, 58, 14, 15, 15, 15, 61, 61, 61, 62, 62, 65, 65, 63, 63, 67, 67, 40, 40, 49, 49, 52, 52, 52, 51, 51, 68, 41, 41, 41, 41, 69, 69, 70, 70, 71, 71, 38, 38, 34, 34, 72, 36, 36, 73, 35, 35, 37, 37, 48, 48, 48, 59, 59, 75, 75, 76, 76, 78, 78, 78, 77, 77, 60, 60, 79, 79, 79, 80, 80, 81, 81, 81, 43, 43, 82, 82, 82, 44, 44, 83, 83, 84, 84, 64, 85, 85, 85, 85, 90, 90, 91, 91, 92, 92, 92, 92, 92, 93, 94, 94, 89, 89, 86, 86, 88, 88, 96, 96, 95, 95, 95, 95, 95, 95, 87, 87, 98, 97, 97, 45, 45, 39, 39, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 33, 33, 46, 46, 103, 103, 104, 104, 104, 104, 110, 99, 99, 106, 106, 112, 112, 113, 114, 114, 114, 114, 114, 114, 66, 66, 56, 56, 56, 56, 100, 100, 118, 118, 115, 115, 119, 119, 119, 119, 101, 101, 101, 105, 105, 105, 111, 111, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 26, 26, 26, 26, 26, 26, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 109, 109, 102, 102, 102, 102, 125, 125, 128, 128, 127, 127, 129, 129, 50, 50, 50, 50, 131, 131, 130, 130, 130, 130, 130, 132, 132, 117, 117, 120, 120, 116, 116, 134, 133, 133, 133, 133, 121, 121, 121, 121, 108, 108, 122, 122, 122, 122, 74, 135, 135, 136, 136, 136, 107, 107, 137, 137, 138, 138, 138, 138, 138, 123, 123, 123, 123, 140, 141, 139, 139, 139, 139, 139, 139, 139, 142, 142, 142); + protected $ruleToLength = array(1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, 4, 3, 4, 2, 3, 1, 1, 7, 6, 3, 1, 3, 1, 3, 1, 1, 3, 1, 3, 1, 2, 3, 1, 3, 3, 1, 3, 2, 0, 1, 1, 1, 1, 1, 3, 5, 8, 3, 5, 9, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 1, 2, 2, 5, 7, 9, 5, 6, 3, 3, 2, 2, 1, 1, 1, 0, 2, 8, 0, 4, 1, 3, 0, 1, 0, 1, 10, 7, 6, 5, 1, 2, 2, 0, 2, 0, 2, 0, 2, 1, 3, 1, 4, 1, 4, 1, 1, 4, 1, 3, 3, 3, 4, 4, 5, 0, 2, 4, 3, 1, 1, 1, 4, 0, 2, 3, 0, 2, 4, 0, 2, 0, 3, 1, 2, 1, 1, 0, 1, 3, 4, 6, 1, 1, 1, 0, 1, 0, 2, 2, 3, 3, 1, 3, 1, 2, 2, 3, 1, 1, 2, 4, 3, 1, 1, 3, 2, 0, 1, 3, 3, 9, 3, 1, 3, 0, 2, 4, 5, 4, 4, 4, 3, 1, 1, 1, 3, 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 3, 3, 1, 0, 1, 1, 3, 3, 4, 4, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 5, 4, 3, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 3, 2, 1, 2, 10, 11, 3, 3, 2, 4, 4, 3, 4, 4, 4, 4, 7, 3, 2, 0, 4, 1, 3, 2, 2, 4, 6, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 4, 4, 0, 2, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 3, 1, 4, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, 1, 3, 1, 1, 3, 3, 0, 2, 0, 1, 3, 1, 3, 1, 1, 1, 1, 1, 6, 4, 3, 4, 2, 4, 4, 1, 3, 1, 2, 1, 1, 4, 1, 1, 3, 6, 4, 4, 4, 4, 1, 4, 0, 1, 1, 3, 1, 1, 4, 3, 1, 1, 1, 0, 0, 2, 3, 1, 3, 1, 4, 2, 2, 2, 2, 1, 2, 1, 1, 1, 4, 3, 3, 3, 6, 3, 1, 1, 1); + protected function initReduceCallbacks() + { + $this->reduceCallbacks = [0 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 1 => function ($stackPos) { + $this->semValue = $this->handleNamespaces($this->semStack[$stackPos - (1 - 1)]); + }, 2 => function ($stackPos) { + if (\is_array($this->semStack[$stackPos - (2 - 2)])) { + $this->semValue = \array_merge($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)]); + } else { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + } + }, 3 => function ($stackPos) { + $this->semValue = array(); + }, 4 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; + if (isset($startAttributes['comments'])) { + $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); + } else { + $nop = null; + } + if ($nop !== null) { + $this->semStack[$stackPos - (1 - 1)][] = $nop; + } + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 5 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 6 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 7 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 8 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 9 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 10 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 11 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 12 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 13 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 14 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 15 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 16 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 17 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 18 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 19 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 20 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 21 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 22 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 23 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 24 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 25 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 26 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 27 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 28 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 29 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 30 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 31 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 32 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 33 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 34 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 35 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 36 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 37 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 38 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 39 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 40 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 41 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 42 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 43 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 44 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 45 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 46 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 47 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 48 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 49 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 50 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 51 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 52 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 53 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 54 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 55 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 56 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 57 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 58 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 59 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 60 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 61 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 62 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 63 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 64 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 65 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 66 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 67 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 68 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 69 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 70 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 71 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 72 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 73 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 74 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 75 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 76 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 77 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 78 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 79 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 80 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 81 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 82 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 83 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 84 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 85 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 86 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 87 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 88 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 89 => function ($stackPos) { + $this->semValue = new Name(\substr($this->semStack[$stackPos - (1 - 1)], 1), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 90 => function ($stackPos) { + $this->semValue = new Expr\Variable(\substr($this->semStack[$stackPos - (1 - 1)], 1), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 91 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 92 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 93 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 94 => function ($stackPos) { + $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 95 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos - (3 - 2)], null, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $this->checkNamespace($this->semValue); + }, 96 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos - (5 - 2)], $this->semStack[$stackPos - (5 - 4)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($this->semValue); + }, 97 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($this->semValue); + }, 98 => function ($stackPos) { + $this->semValue = new Stmt\Use_($this->semStack[$stackPos - (3 - 2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 99 => function ($stackPos) { + $this->semValue = new Stmt\Use_($this->semStack[$stackPos - (4 - 3)], $this->semStack[$stackPos - (4 - 2)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 100 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 101 => function ($stackPos) { + $this->semValue = new Stmt\Const_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 102 => function ($stackPos) { + $this->semValue = Stmt\Use_::TYPE_FUNCTION; + }, 103 => function ($stackPos) { + $this->semValue = Stmt\Use_::TYPE_CONSTANT; + }, 104 => function ($stackPos) { + $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos - (7 - 3)], $this->semStack[$stackPos - (7 - 6)], $this->semStack[$stackPos - (7 - 2)], $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes); + }, 105 => function ($stackPos) { + $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos - (6 - 2)], $this->semStack[$stackPos - (6 - 5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 106 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 107 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 108 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 109 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 110 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 111 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 112 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + $this->checkUseUse($this->semValue, $stackPos - (1 - 1)); + }, 113 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + $this->checkUseUse($this->semValue, $stackPos - (3 - 3)); + }, 114 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + $this->checkUseUse($this->semValue, $stackPos - (1 - 1)); + }, 115 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + $this->checkUseUse($this->semValue, $stackPos - (3 - 3)); + }, 116 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + }, 117 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue->type = $this->semStack[$stackPos - (2 - 1)]; + }, 118 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 119 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 120 => function ($stackPos) { + $this->semValue = new Node\Const_($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 121 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 122 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 123 => function ($stackPos) { + $this->semValue = new Node\Const_($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 124 => function ($stackPos) { + if (\is_array($this->semStack[$stackPos - (2 - 2)])) { + $this->semValue = \array_merge($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)]); + } else { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + } + }, 125 => function ($stackPos) { + $this->semValue = array(); + }, 126 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; + if (isset($startAttributes['comments'])) { + $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); + } else { + $nop = null; + } + if ($nop !== null) { + $this->semStack[$stackPos - (1 - 1)][] = $nop; + } + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 127 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 128 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 129 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 130 => function ($stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 131 => function ($stackPos) { + if ($this->semStack[$stackPos - (3 - 2)]) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + $attrs = $this->startAttributeStack[$stackPos - (3 - 1)]; + $stmts = $this->semValue; + if (!empty($attrs['comments'])) { + $stmts[0]->setAttribute('comments', \array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); + } + } else { + $startAttributes = $this->startAttributeStack[$stackPos - (3 - 1)]; + if (isset($startAttributes['comments'])) { + $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); + } else { + $this->semValue = null; + } + if (null === $this->semValue) { + $this->semValue = array(); + } + } + }, 132 => function ($stackPos) { + $this->semValue = new Stmt\If_($this->semStack[$stackPos - (5 - 2)], ['stmts' => \is_array($this->semStack[$stackPos - (5 - 3)]) ? $this->semStack[$stackPos - (5 - 3)] : array($this->semStack[$stackPos - (5 - 3)]), 'elseifs' => $this->semStack[$stackPos - (5 - 4)], 'else' => $this->semStack[$stackPos - (5 - 5)]], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 133 => function ($stackPos) { + $this->semValue = new Stmt\If_($this->semStack[$stackPos - (8 - 2)], ['stmts' => $this->semStack[$stackPos - (8 - 4)], 'elseifs' => $this->semStack[$stackPos - (8 - 5)], 'else' => $this->semStack[$stackPos - (8 - 6)]], $this->startAttributeStack[$stackPos - (8 - 1)] + $this->endAttributes); + }, 134 => function ($stackPos) { + $this->semValue = new Stmt\While_($this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 135 => function ($stackPos) { + $this->semValue = new Stmt\Do_($this->semStack[$stackPos - (5 - 4)], \is_array($this->semStack[$stackPos - (5 - 2)]) ? $this->semStack[$stackPos - (5 - 2)] : array($this->semStack[$stackPos - (5 - 2)]), $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 136 => function ($stackPos) { + $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos - (9 - 3)], 'cond' => $this->semStack[$stackPos - (9 - 5)], 'loop' => $this->semStack[$stackPos - (9 - 7)], 'stmts' => $this->semStack[$stackPos - (9 - 9)]], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + }, 137 => function ($stackPos) { + $this->semValue = new Stmt\Switch_($this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 138 => function ($stackPos) { + $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 139 => function ($stackPos) { + $this->semValue = new Stmt\Break_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 140 => function ($stackPos) { + $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 141 => function ($stackPos) { + $this->semValue = new Stmt\Continue_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 142 => function ($stackPos) { + $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 143 => function ($stackPos) { + $this->semValue = new Stmt\Return_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 144 => function ($stackPos) { + $this->semValue = new Stmt\Global_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 145 => function ($stackPos) { + $this->semValue = new Stmt\Static_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 146 => function ($stackPos) { + $this->semValue = new Stmt\Echo_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 147 => function ($stackPos) { + $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 148 => function ($stackPos) { + $this->semValue = new Stmt\Expression($this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 149 => function ($stackPos) { + $this->semValue = new Stmt\Expression($this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 150 => function ($stackPos) { + $this->semValue = new Stmt\Unset_($this->semStack[$stackPos - (5 - 3)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 151 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos - (7 - 3)], $this->semStack[$stackPos - (7 - 5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos - (7 - 5)][1], 'stmts' => $this->semStack[$stackPos - (7 - 7)]], $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes); + }, 152 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos - (9 - 3)], $this->semStack[$stackPos - (9 - 7)][0], ['keyVar' => $this->semStack[$stackPos - (9 - 5)], 'byRef' => $this->semStack[$stackPos - (9 - 7)][1], 'stmts' => $this->semStack[$stackPos - (9 - 9)]], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + }, 153 => function ($stackPos) { + $this->semValue = new Stmt\Declare_($this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 5)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 154 => function ($stackPos) { + $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos - (6 - 3)], $this->semStack[$stackPos - (6 - 5)], $this->semStack[$stackPos - (6 - 6)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + $this->checkTryCatch($this->semValue); + }, 155 => function ($stackPos) { + $this->semValue = new Stmt\Throw_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 156 => function ($stackPos) { + $this->semValue = new Stmt\Goto_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 157 => function ($stackPos) { + $this->semValue = new Stmt\Label($this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 158 => function ($stackPos) { + $this->semValue = new Stmt\Expression($this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 159 => function ($stackPos) { + $this->semValue = array(); + /* means: no statement */ + }, 160 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 161 => function ($stackPos) { + $startAttributes = $this->startAttributeStack[$stackPos - (1 - 1)]; + if (isset($startAttributes['comments'])) { + $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); + } else { + $this->semValue = null; + } + if ($this->semValue === null) { + $this->semValue = array(); + } + /* means: no statement */ + }, 162 => function ($stackPos) { + $this->semValue = array(); + }, 163 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 164 => function ($stackPos) { + $this->semValue = new Stmt\Catch_(array($this->semStack[$stackPos - (8 - 3)]), $this->semStack[$stackPos - (8 - 4)], $this->semStack[$stackPos - (8 - 7)], $this->startAttributeStack[$stackPos - (8 - 1)] + $this->endAttributes); + }, 165 => function ($stackPos) { + $this->semValue = null; + }, 166 => function ($stackPos) { + $this->semValue = new Stmt\Finally_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 167 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 168 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 169 => function ($stackPos) { + $this->semValue = \false; + }, 170 => function ($stackPos) { + $this->semValue = \true; + }, 171 => function ($stackPos) { + $this->semValue = \false; + }, 172 => function ($stackPos) { + $this->semValue = \true; + }, 173 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos - (10 - 3)], ['byRef' => $this->semStack[$stackPos - (10 - 2)], 'params' => $this->semStack[$stackPos - (10 - 5)], 'returnType' => $this->semStack[$stackPos - (10 - 7)], 'stmts' => $this->semStack[$stackPos - (10 - 9)]], $this->startAttributeStack[$stackPos - (10 - 1)] + $this->endAttributes); + }, 174 => function ($stackPos) { + $this->semValue = new Stmt\Class_($this->semStack[$stackPos - (7 - 2)], ['type' => $this->semStack[$stackPos - (7 - 1)], 'extends' => $this->semStack[$stackPos - (7 - 3)], 'implements' => $this->semStack[$stackPos - (7 - 4)], 'stmts' => $this->semStack[$stackPos - (7 - 6)]], $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes); + $this->checkClass($this->semValue, $stackPos - (7 - 2)); + }, 175 => function ($stackPos) { + $this->semValue = new Stmt\Interface_($this->semStack[$stackPos - (6 - 2)], ['extends' => $this->semStack[$stackPos - (6 - 3)], 'stmts' => $this->semStack[$stackPos - (6 - 5)]], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + $this->checkInterface($this->semValue, $stackPos - (6 - 2)); + }, 176 => function ($stackPos) { + $this->semValue = new Stmt\Trait_($this->semStack[$stackPos - (5 - 2)], ['stmts' => $this->semStack[$stackPos - (5 - 4)]], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 177 => function ($stackPos) { + $this->semValue = 0; + }, 178 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, 179 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + }, 180 => function ($stackPos) { + $this->semValue = null; + }, 181 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + }, 182 => function ($stackPos) { + $this->semValue = array(); + }, 183 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + }, 184 => function ($stackPos) { + $this->semValue = array(); + }, 185 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + }, 186 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 187 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 188 => function ($stackPos) { + $this->semValue = \is_array($this->semStack[$stackPos - (1 - 1)]) ? $this->semStack[$stackPos - (1 - 1)] : array($this->semStack[$stackPos - (1 - 1)]); + }, 189 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 190 => function ($stackPos) { + $this->semValue = \is_array($this->semStack[$stackPos - (1 - 1)]) ? $this->semStack[$stackPos - (1 - 1)] : array($this->semStack[$stackPos - (1 - 1)]); + }, 191 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 192 => function ($stackPos) { + $this->semValue = \is_array($this->semStack[$stackPos - (1 - 1)]) ? $this->semStack[$stackPos - (1 - 1)] : array($this->semStack[$stackPos - (1 - 1)]); + }, 193 => function ($stackPos) { + $this->semValue = null; + }, 194 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 195 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 196 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 197 => function ($stackPos) { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 198 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 199 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 3)]; + }, 200 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 201 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (5 - 3)]; + }, 202 => function ($stackPos) { + $this->semValue = array(); + }, 203 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 204 => function ($stackPos) { + $this->semValue = new Stmt\Case_($this->semStack[$stackPos - (4 - 2)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 205 => function ($stackPos) { + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 206 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 207 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 208 => function ($stackPos) { + $this->semValue = \is_array($this->semStack[$stackPos - (1 - 1)]) ? $this->semStack[$stackPos - (1 - 1)] : array($this->semStack[$stackPos - (1 - 1)]); + }, 209 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 210 => function ($stackPos) { + $this->semValue = array(); + }, 211 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 212 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos - (3 - 2)], \is_array($this->semStack[$stackPos - (3 - 3)]) ? $this->semStack[$stackPos - (3 - 3)] : array($this->semStack[$stackPos - (3 - 3)]), $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 213 => function ($stackPos) { + $this->semValue = array(); + }, 214 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 215 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos - (4 - 2)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 216 => function ($stackPos) { + $this->semValue = null; + }, 217 => function ($stackPos) { + $this->semValue = new Stmt\Else_(\is_array($this->semStack[$stackPos - (2 - 2)]) ? $this->semStack[$stackPos - (2 - 2)] : array($this->semStack[$stackPos - (2 - 2)]), $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 218 => function ($stackPos) { + $this->semValue = null; + }, 219 => function ($stackPos) { + $this->semValue = new Stmt\Else_($this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 220 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)], \false); + }, 221 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (2 - 2)], \true); + }, 222 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)], \false); + }, 223 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 224 => function ($stackPos) { + $this->semValue = array(); + }, 225 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 226 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 227 => function ($stackPos) { + $this->semValue = new Node\Param($this->semStack[$stackPos - (4 - 4)], null, $this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 2)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + $this->checkParam($this->semValue); + }, 228 => function ($stackPos) { + $this->semValue = new Node\Param($this->semStack[$stackPos - (6 - 4)], $this->semStack[$stackPos - (6 - 6)], $this->semStack[$stackPos - (6 - 1)], $this->semStack[$stackPos - (6 - 2)], $this->semStack[$stackPos - (6 - 3)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + $this->checkParam($this->semValue); + }, 229 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 230 => function ($stackPos) { + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 231 => function ($stackPos) { + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 232 => function ($stackPos) { + $this->semValue = null; + }, 233 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 234 => function ($stackPos) { + $this->semValue = null; + }, 235 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + }, 236 => function ($stackPos) { + $this->semValue = array(); + }, 237 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 238 => function ($stackPos) { + $this->semValue = array(new Node\Arg($this->semStack[$stackPos - (3 - 2)], \false, \false, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes)); + }, 239 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 240 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 241 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos - (1 - 1)], \false, \false, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 242 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos - (2 - 2)], \true, \false, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 243 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos - (2 - 2)], \false, \true, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 244 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 245 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 246 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 247 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 248 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 249 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 250 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 251 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos - (1 - 1)], null, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 252 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 253 => function ($stackPos) { + if ($this->semStack[$stackPos - (2 - 2)] !== null) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + } + }, 254 => function ($stackPos) { + $this->semValue = array(); + }, 255 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; + if (isset($startAttributes['comments'])) { + $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); + } else { + $nop = null; + } + if ($nop !== null) { + $this->semStack[$stackPos - (1 - 1)][] = $nop; + } + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 256 => function ($stackPos) { + $this->semValue = new Stmt\Property($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + $this->checkProperty($this->semValue, $stackPos - (3 - 1)); + }, 257 => function ($stackPos) { + $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos - (3 - 2)], 0, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 258 => function ($stackPos) { + $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos - (9 - 4)], ['type' => $this->semStack[$stackPos - (9 - 1)], 'byRef' => $this->semStack[$stackPos - (9 - 3)], 'params' => $this->semStack[$stackPos - (9 - 6)], 'returnType' => $this->semStack[$stackPos - (9 - 8)], 'stmts' => $this->semStack[$stackPos - (9 - 9)]], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + $this->checkClassMethod($this->semValue, $stackPos - (9 - 1)); + }, 259 => function ($stackPos) { + $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 260 => function ($stackPos) { + $this->semValue = array(); + }, 261 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 262 => function ($stackPos) { + $this->semValue = array(); + }, 263 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 264 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos - (4 - 1)][0], $this->semStack[$stackPos - (4 - 1)][1], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 265 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos - (5 - 1)][0], $this->semStack[$stackPos - (5 - 1)][1], $this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 4)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 266 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos - (4 - 1)][0], $this->semStack[$stackPos - (4 - 1)][1], $this->semStack[$stackPos - (4 - 3)], null, $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 267 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos - (4 - 1)][0], $this->semStack[$stackPos - (4 - 1)][1], null, $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 268 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos - (4 - 1)][0], $this->semStack[$stackPos - (4 - 1)][1], null, $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 269 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)]); + }, 270 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 271 => function ($stackPos) { + $this->semValue = array(null, $this->semStack[$stackPos - (1 - 1)]); + }, 272 => function ($stackPos) { + $this->semValue = null; + }, 273 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 274 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 275 => function ($stackPos) { + $this->semValue = 0; + }, 276 => function ($stackPos) { + $this->semValue = 0; + }, 277 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 278 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 279 => function ($stackPos) { + $this->checkModifier($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2)); + $this->semValue = $this->semStack[$stackPos - (2 - 1)] | $this->semStack[$stackPos - (2 - 2)]; + }, 280 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + }, 281 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + }, 282 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + }, 283 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_STATIC; + }, 284 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, 285 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + }, 286 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 287 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 288 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(\substr($this->semStack[$stackPos - (1 - 1)], 1), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 289 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos - (1 - 1)], null, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 290 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 291 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 292 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 293 => function ($stackPos) { + $this->semValue = array(); + }, 294 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 295 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 296 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 297 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 298 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 299 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 300 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 301 => function ($stackPos) { + $this->semValue = new Expr\Clone_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 302 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 303 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 304 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 305 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 306 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 307 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 308 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 309 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 310 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 311 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 312 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 313 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 314 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 315 => function ($stackPos) { + $this->semValue = new Expr\PostInc($this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 316 => function ($stackPos) { + $this->semValue = new Expr\PreInc($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 317 => function ($stackPos) { + $this->semValue = new Expr\PostDec($this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 318 => function ($stackPos) { + $this->semValue = new Expr\PreDec($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 319 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 320 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 321 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 322 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 323 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 324 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 325 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 326 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 327 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 328 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 329 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 330 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 331 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 332 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 333 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 334 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 335 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 336 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 337 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 338 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 339 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 340 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 341 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 342 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 343 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 344 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 345 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 346 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 347 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 348 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 349 => function ($stackPos) { + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 350 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 351 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 352 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos - (5 - 1)], $this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 5)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 353 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos - (4 - 1)], null, $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 354 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 355 => function ($stackPos) { + $this->semValue = new Expr\Isset_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 356 => function ($stackPos) { + $this->semValue = new Expr\Empty_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 357 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 358 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 359 => function ($stackPos) { + $this->semValue = new Expr\Eval_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 360 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 361 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 362 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 363 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes; + $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos - (2 - 1)]); + $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos - (2 - 2)], $attrs); + }, 364 => function ($stackPos) { + $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 365 => function ($stackPos) { + $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 366 => function ($stackPos) { + $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 367 => function ($stackPos) { + $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 368 => function ($stackPos) { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 369 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes; + $attrs['kind'] = \strtolower($this->semStack[$stackPos - (2 - 1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $this->semValue = new Expr\Exit_($this->semStack[$stackPos - (2 - 2)], $attrs); + }, 370 => function ($stackPos) { + $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 371 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 372 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 373 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 374 => function ($stackPos) { + $this->semValue = new Expr\ShellExec($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 375 => function ($stackPos) { + $this->semValue = new Expr\Print_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 376 => function ($stackPos) { + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 377 => function ($stackPos) { + $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 378 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => \false, 'byRef' => $this->semStack[$stackPos - (10 - 2)], 'params' => $this->semStack[$stackPos - (10 - 4)], 'uses' => $this->semStack[$stackPos - (10 - 6)], 'returnType' => $this->semStack[$stackPos - (10 - 7)], 'stmts' => $this->semStack[$stackPos - (10 - 9)]], $this->startAttributeStack[$stackPos - (10 - 1)] + $this->endAttributes); + }, 379 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => \true, 'byRef' => $this->semStack[$stackPos - (11 - 3)], 'params' => $this->semStack[$stackPos - (11 - 5)], 'uses' => $this->semStack[$stackPos - (11 - 7)], 'returnType' => $this->semStack[$stackPos - (11 - 8)], 'stmts' => $this->semStack[$stackPos - (11 - 10)]], $this->startAttributeStack[$stackPos - (11 - 1)] + $this->endAttributes); + }, 380 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 381 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 382 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos - (2 - 2)], null, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 383 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos - (4 - 4)], $this->semStack[$stackPos - (4 - 2)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 384 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes; + $attrs['kind'] = Expr\Array_::KIND_LONG; + $this->semValue = new Expr\Array_($this->semStack[$stackPos - (4 - 3)], $attrs); + }, 385 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes; + $attrs['kind'] = Expr\Array_::KIND_SHORT; + $this->semValue = new Expr\Array_($this->semStack[$stackPos - (3 - 2)], $attrs); + }, 386 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 387 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes; + $attrs['kind'] = $this->semStack[$stackPos - (4 - 1)][0] === "'" || $this->semStack[$stackPos - (4 - 1)][1] === "'" && ($this->semStack[$stackPos - (4 - 1)][0] === 'b' || $this->semStack[$stackPos - (4 - 1)][0] === 'B') ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED; + $this->semValue = new Expr\ArrayDimFetch(new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos - (4 - 1)]), $attrs), $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 388 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 389 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 390 => function ($stackPos) { + $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos - (7 - 3)], 'implements' => $this->semStack[$stackPos - (7 - 4)], 'stmts' => $this->semStack[$stackPos - (7 - 6)]], $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes), $this->semStack[$stackPos - (7 - 2)]); + $this->checkClass($this->semValue[0], -1); + }, 391 => function ($stackPos) { + $this->semValue = new Expr\New_($this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 392 => function ($stackPos) { + list($class, $ctorArgs) = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 393 => function ($stackPos) { + $this->semValue = array(); + }, 394 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 3)]; + }, 395 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 396 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 397 => function ($stackPos) { + $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos - (2 - 2)], $this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 398 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 399 => function ($stackPos) { + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 400 => function ($stackPos) { + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos - (6 - 1)], $this->semStack[$stackPos - (6 - 4)], $this->semStack[$stackPos - (6 - 6)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 401 => function ($stackPos) { + $this->semValue = $this->fixupPhp5StaticPropCall($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 402 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 403 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 404 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 405 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 406 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 407 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 408 => function ($stackPos) { + $this->semValue = new Name\FullyQualified(\substr($this->semStack[$stackPos - (1 - 1)], 1), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 409 => function ($stackPos) { + $this->semValue = new Name\Relative(\substr($this->semStack[$stackPos - (1 - 1)], 10), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 410 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 411 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 412 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 413 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 414 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 415 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 416 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 417 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 418 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 419 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 420 => function ($stackPos) { + $this->semValue = null; + }, 421 => function ($stackPos) { + $this->semValue = null; + }, 422 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 423 => function ($stackPos) { + $this->semValue = array(); + }, 424 => function ($stackPos) { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos - (1 - 1)], '`', \false), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes)); + }, 425 => function ($stackPos) { + foreach ($this->semStack[$stackPos - (1 - 1)] as $s) { + if ($s instanceof Node\Scalar\EncapsedStringPart) { + $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', \false); + } + } + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 426 => function ($stackPos) { + $this->semValue = array(); + }, 427 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 428 => function ($stackPos) { + $this->semValue = $this->parseLNumber($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes, \true); + }, 429 => function ($stackPos) { + $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos - (1 - 1)]), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 430 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes; + $attrs['kind'] = $this->semStack[$stackPos - (1 - 1)][0] === "'" || $this->semStack[$stackPos - (1 - 1)][1] === "'" && ($this->semStack[$stackPos - (1 - 1)][0] === 'b' || $this->semStack[$stackPos - (1 - 1)][0] === 'B') ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED; + $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos - (1 - 1)], \false), $attrs); + }, 431 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 432 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 433 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 434 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 435 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 436 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 437 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 438 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 439 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes, $this->startAttributeStack[$stackPos - (3 - 3)] + $this->endAttributeStack[$stackPos - (3 - 3)], \false); + }, 440 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos - (2 - 1)], '', $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes, $this->startAttributeStack[$stackPos - (2 - 2)] + $this->endAttributeStack[$stackPos - (2 - 2)], \false); + }, 441 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 442 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 443 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 444 => function ($stackPos) { + $this->semValue = new Expr\Array_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 445 => function ($stackPos) { + $this->semValue = new Expr\Array_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 446 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 447 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 448 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 449 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 450 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 451 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 452 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 453 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 454 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 455 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 456 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 457 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 458 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 459 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 460 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 461 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 462 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 463 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 464 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 465 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 466 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 467 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 468 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 469 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 470 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 471 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 472 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 473 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 474 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 475 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 476 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos - (5 - 1)], $this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 5)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 477 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos - (4 - 1)], null, $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 478 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 479 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 480 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 481 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 482 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 483 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 484 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes; + $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + foreach ($this->semStack[$stackPos - (3 - 2)] as $s) { + if ($s instanceof Node\Scalar\EncapsedStringPart) { + $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', \true); + } + } + $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos - (3 - 2)], $attrs); + }, 485 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes, $this->startAttributeStack[$stackPos - (3 - 3)] + $this->endAttributeStack[$stackPos - (3 - 3)], \true); + }, 486 => function ($stackPos) { + $this->semValue = array(); + }, 487 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 488 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 489 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 490 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 491 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 492 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (3 - 3)], $this->semStack[$stackPos - (3 - 1)], \false, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 493 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (1 - 1)], null, \false, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 494 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 495 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 496 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 497 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 498 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (6 - 2)], $this->semStack[$stackPos - (6 - 5)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 499 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 500 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 501 => function ($stackPos) { + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 502 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 503 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 504 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 505 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 506 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 507 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 508 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 509 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 510 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 511 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 512 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 513 => function ($stackPos) { + $var = \substr($this->semStack[$stackPos - (1 - 1)], 1); + $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes) : $var; + }, 514 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 515 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos - (6 - 1)], $this->semStack[$stackPos - (6 - 5)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 516 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 517 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 518 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 519 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 520 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 521 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 522 => function ($stackPos) { + $this->semValue = null; + }, 523 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 524 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 525 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 526 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 527 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + $this->errorState = 2; + }, 528 => function ($stackPos) { + $this->semValue = new Expr\List_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 529 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 530 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 531 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (1 - 1)], null, \false, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 532 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (1 - 1)], null, \false, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 533 => function ($stackPos) { + $this->semValue = null; + }, 534 => function ($stackPos) { + $this->semValue = array(); + }, 535 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 536 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 537 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 538 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (3 - 3)], $this->semStack[$stackPos - (3 - 1)], \false, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 539 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (1 - 1)], null, \false, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 540 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (4 - 4)], $this->semStack[$stackPos - (4 - 1)], \true, $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 541 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (2 - 2)], null, \true, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 542 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (2 - 2)], null, \false, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes, \true, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 543 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 544 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 545 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 546 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)]); + }, 547 => function ($stackPos) { + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 548 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 549 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 550 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 551 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 552 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 553 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 554 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (6 - 2)], $this->semStack[$stackPos - (6 - 4)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 555 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 556 => function ($stackPos) { + $this->semValue = new Scalar\String_($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 557 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 558 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }]; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Php7.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Php7.php new file mode 100644 index 000000000..08fd65e87 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Php7.php @@ -0,0 +1,1348 @@ +'", "T_IS_GREATER_OR_EQUAL", "T_SL", "T_SR", "'+'", "'-'", "'.'", "'*'", "'/'", "'%'", "'!'", "T_INSTANCEOF", "'~'", "T_INC", "T_DEC", "T_INT_CAST", "T_DOUBLE_CAST", "T_STRING_CAST", "T_ARRAY_CAST", "T_OBJECT_CAST", "T_BOOL_CAST", "T_UNSET_CAST", "'@'", "T_POW", "'['", "T_NEW", "T_CLONE", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF", "T_LNUMBER", "T_DNUMBER", "T_STRING", "T_STRING_VARNAME", "T_VARIABLE", "T_NUM_STRING", "T_INLINE_HTML", "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING", "T_ECHO", "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR", "T_ENDFOR", "T_FOREACH", "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE", "T_AS", "T_SWITCH", "T_MATCH", "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK", "T_CONTINUE", "T_GOTO", "T_FUNCTION", "T_FN", "T_CONST", "T_RETURN", "T_TRY", "T_CATCH", "T_FINALLY", "T_USE", "T_INSTEADOF", "T_GLOBAL", "T_STATIC", "T_ABSTRACT", "T_FINAL", "T_PRIVATE", "T_PROTECTED", "T_PUBLIC", "T_VAR", "T_UNSET", "T_ISSET", "T_EMPTY", "T_HALT_COMPILER", "T_CLASS", "T_TRAIT", "T_INTERFACE", "T_EXTENDS", "T_IMPLEMENTS", "T_OBJECT_OPERATOR", "T_NULLSAFE_OBJECT_OPERATOR", "T_LIST", "T_ARRAY", "T_CALLABLE", "T_CLASS_C", "T_TRAIT_C", "T_METHOD_C", "T_FUNC_C", "T_LINE", "T_FILE", "T_START_HEREDOC", "T_END_HEREDOC", "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM", "T_NAMESPACE", "T_NS_C", "T_DIR", "T_NS_SEPARATOR", "T_ELLIPSIS", "T_NAME_FULLY_QUALIFIED", "T_NAME_QUALIFIED", "T_NAME_RELATIVE", "T_ATTRIBUTE", "';'", "']'", "'{'", "'}'", "'('", "')'", "'`'", "'\"'", "'\$'"); + protected $tokenToSymbol = array(0, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 55, 163, 165, 164, 54, 37, 165, 160, 161, 52, 49, 8, 50, 51, 53, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 31, 156, 43, 16, 45, 30, 67, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 69, 165, 157, 36, 165, 162, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 158, 35, 159, 57, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 38, 39, 40, 41, 42, 44, 46, 47, 48, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155); + protected $action = array(130, 131, 132, 552, 133, 134, 0, 698, 699, 700, 135, 36, 883, 528, 529, -32766, 1212, -32766, -32766, -32766, -551, 1145, 772, 889, 430, 431, 1232, -551, -32766, -32766, -32766, -293, -32766, 1231, -32766, 245, -32766, -189, -32766, -32766, -32766, -32766, -32766, 458, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32766, 124, 783, 701, 777, -32766, 388, 1024, 1025, 1026, 1023, 1022, 1021, -32766, 428, 429, 955, 261, 136, 372, 705, 706, 707, 708, 391, -188, 397, 1024, 1025, 1026, 1023, 1022, 1021, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 739, 553, 740, 741, 742, 743, 731, 732, 373, 374, 734, 735, 720, 721, 722, 724, 725, 726, 333, 765, 766, 767, 768, 769, 727, 728, 554, 555, 760, 751, 749, 750, 746, 747, 778, 2, 556, 557, 745, 558, 559, 560, 561, 562, 563, -542, -548, 19, -502, -542, 748, 564, 565, -548, 137, -32766, -32766, -32766, 130, 131, 132, 552, 133, 134, 976, 698, 699, 700, 135, 36, -32766, -32766, -32766, -32766, 675, -32766, -32766, -32766, 80, 1145, 544, -551, -32766, -32766, 309, -551, -32766, -32766, -32766, -293, -32766, -32766, -32766, 245, -32766, -189, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32766, -32766, 31, 433, 429, -32766, -32766, -502, -502, 701, 782, -32766, 388, 391, -32766, -32766, -32766, 235, 126, -32766, -82, 142, -502, 261, 136, 372, 705, 706, 707, 708, 247, -188, 397, 292, -502, -32766, -508, -32766, -32766, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 739, 553, 740, 741, 742, 743, 731, 732, 373, 374, 734, 735, 720, 721, 722, 724, 725, 726, 333, 765, 766, 767, 768, 769, 727, 728, 554, 555, 760, 751, 749, 750, 746, 747, 294, -82, 556, 557, 745, 558, 559, 560, 561, 562, 563, 310, 81, 82, 83, -548, 748, 564, 565, -548, 137, 723, 693, 694, 695, 696, 697, -32766, 698, 699, 700, 736, 737, 33, 307, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 322, 263, -32766, -32766, -32766, 104, 105, 106, 346, 263, 952, 951, 950, 107, 350, 438, 439, 701, -32766, -32766, -32766, 107, -253, -32766, 355, -32766, -32766, -32766, -32766, -32766, -32766, 702, 703, 704, 705, 706, 707, 708, 452, -32766, 770, -32766, -32766, -32766, -32766, -32766, 357, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 739, 762, 740, 741, 742, 743, 731, 732, 733, 761, 734, 735, 720, 721, 722, 724, 725, 726, 764, 765, 766, 767, 768, 769, 727, 728, 729, 730, 760, 751, 749, 750, 746, 747, 619, 24, 738, 744, 745, 752, 753, 755, 754, 756, 757, 524, -32766, -32766, -32766, 574, 748, 759, 758, 48, 49, 50, 483, 51, 52, 147, 397, 580, 408, 53, 54, 409, 55, -32766, 975, -32766, -32766, -32766, -32766, -32766, -32766, -32767, -32767, -32767, -32767, -32767, 865, -32767, -32767, -32767, -32767, 99, 100, 101, 102, 103, 1257, 410, 1172, 1258, 411, 1145, 865, 271, 634, 635, 56, 57, 148, 808, 1184, 809, 58, 453, 59, 240, 241, 60, 61, 62, 63, 64, 65, 66, 67, 787, 26, 262, 68, 412, 484, 121, 667, -32766, 1178, 1179, 485, 1143, 781, 1147, 1146, 1148, 1176, 40, 23, 486, 1002, 487, 150, 488, 234, 489, 962, 963, 490, 491, 780, 423, 424, 42, 43, 413, 417, 415, 865, 44, 492, 151, 855, 920, 248, 345, 321, 1152, 1147, 1146, 1148, 122, 781, 493, 494, 495, 152, -330, 855, -330, 127, -505, 960, 154, 496, 497, 35, 1166, 1167, 1168, 1169, 1163, 1164, 280, 146, 377, 26, -14, 128, 1170, 1165, 962, 963, 1147, 1146, 1148, 281, 141, 781, -501, 155, 69, 1176, 305, 306, 309, 34, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 156, -149, -149, -149, 478, 867, 18, 662, 1152, 1152, 855, 440, 441, -505, -505, 157, -149, 781, -149, 138, -149, 867, -149, 662, 808, 309, 809, 242, 1060, 1062, 496, 497, 414, 1166, 1167, 1168, 1169, 1163, 1164, -500, -505, -501, -501, -107, -107, 1170, 1165, -503, 1228, 865, 611, 612, 841, -107, -107, -107, -501, 71, 921, -84, 306, 309, -107, -32766, -76, 1001, -49, 686, -501, 1145, -507, -73, -71, 774, -70, -69, -32766, -32766, -32766, 668, -32766, -68, -32766, 867, -32766, 662, -149, -32766, 781, 781, -67, 281, -32766, -32766, -32766, -66, 73, -65, -32766, -32766, 309, -500, -500, 129, -32766, 388, -64, -45, -32766, -503, -503, -16, -32766, 145, 1145, 264, -500, 676, 865, 679, 864, -32766, -32766, -32766, -503, -32766, 772, -32766, -500, -32766, 144, 855, -32766, 272, -107, 273, -503, -32766, -32766, -32766, 879, 72, 244, -32766, -32766, -32766, 275, 776, 669, -32766, 388, 1145, 664, 865, -500, 274, 276, -32766, -32766, -32766, -32766, 315, -32766, 281, -32766, 263, -32766, 73, 73, -32766, 107, 309, 309, 143, -32766, -32766, -32766, 642, -32766, 246, -32766, -32766, 532, 671, 1145, 772, -32766, 388, -4, 865, 1259, -32766, -32766, -32766, -32766, -32766, 781, -32766, -32766, -32766, 855, 1030, -32766, 865, 867, 139, 662, -32766, -32766, -32766, 655, 309, 865, -32766, -32766, -32766, -500, -500, 526, -32766, 388, 1145, 101, 102, 103, 620, 637, -32766, -32766, -32766, -32766, -500, -32766, 960, -32766, 855, -32766, 20, 865, -32766, -32766, 625, 677, -500, -32766, -32766, -32766, 435, -32766, 463, -32766, -32766, 962, 963, 1145, 626, -32766, 388, 638, 962, 963, -32766, -32766, -32766, -32766, -32766, 609, -32766, 289, -32766, 46, 855, -32766, 906, 407, 662, -32766, -32766, -32766, -32766, 287, 1016, 1183, -32766, -32766, 855, 286, 293, 781, -32766, 388, 1247, 890, 414, 855, 402, 891, -32766, 881, 538, 279, -231, -231, -231, -107, -107, 1000, 414, 867, 26, 662, 1185, 578, 800, -107, -107, -107, -466, -107, -107, 855, 781, 47, -456, 7, 1176, 22, 841, -107, -107, -107, 348, 282, 283, 780, 9, -230, -230, -230, 281, 1173, -536, 414, 38, 867, 39, 662, -4, 683, 684, 846, 32, 243, -107, -107, 930, 907, 680, 867, 123, 662, -231, 841, -107, -107, -107, 914, 867, 904, 662, 915, 844, 902, 1005, 497, 1008, 1166, 1167, 1168, 1169, 1163, 1164, 1009, 1006, 284, 285, 1007, 1013, 1170, 1165, 792, 1198, 1216, 867, 30, 662, -230, 304, 1250, 349, 71, 614, 842, 306, 309, 347, 663, 666, 670, 672, -107, 125, -107, 673, 674, 678, 665, 288, 1254, 1256, -107, -107, -107, -107, -107, -107, -107, 803, 802, 811, 888, 922, 810, 1255, 887, 886, 1131, 874, 882, 872, 912, 913, 1253, 1210, 1199, 1217, 1223, 1226, 0, -534, -508, -507, -506, 1, 27, 28, 37, 41, 45, 70, 74, 75, 76, 77, -307, -256, 78, 79, 140, 149, 153, 239, 311, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 403, 404, 0, -254, -253, 12, 13, 14, 15, 17, 376, 454, 455, 462, 465, 466, 467, 468, 472, 473, 474, 481, 649, 1156, 1099, 1174, 977, 1135, -258, -99, 11, 16, 25, 278, 375, 571, 575, 601, 654, 1103, 1151, 1100, 1229, 0, -470, 1116, 0, 1177, 0, 309); + protected $actionCheck = array(2, 3, 4, 5, 6, 7, 0, 9, 10, 11, 12, 13, 1, 116, 117, 73, 1, 9, 10, 11, 1, 79, 79, 126, 127, 128, 1, 8, 86, 87, 88, 8, 90, 8, 92, 37, 94, 8, 30, 97, 32, 33, 34, 101, 102, 103, 104, 9, 10, 11, 108, 109, 14, 1, 56, 79, 114, 115, 115, 116, 117, 118, 119, 120, 122, 105, 106, 1, 70, 71, 72, 73, 74, 75, 76, 115, 8, 79, 115, 116, 117, 118, 119, 120, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 153, 8, 133, 134, 135, 136, 137, 138, 139, 140, 141, 157, 1, 8, 69, 161, 147, 148, 149, 8, 151, 9, 10, 11, 2, 3, 4, 5, 6, 7, 161, 9, 10, 11, 12, 13, 9, 10, 11, 73, 158, 9, 10, 11, 158, 79, 80, 157, 9, 10, 164, 161, 86, 87, 88, 161, 90, 30, 92, 37, 94, 161, 30, 97, 32, 33, 34, 35, 102, 103, 104, 8, 105, 106, 108, 109, 131, 132, 56, 156, 114, 115, 115, 9, 10, 11, 14, 8, 122, 31, 8, 146, 70, 71, 72, 73, 74, 75, 76, 8, 161, 79, 8, 158, 30, 160, 32, 33, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 8, 96, 133, 134, 135, 136, 137, 138, 139, 140, 141, 69, 9, 10, 11, 157, 147, 148, 149, 161, 151, 2, 3, 4, 5, 6, 7, 9, 9, 10, 11, 12, 13, 30, 8, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 8, 56, 9, 10, 11, 52, 53, 54, 8, 56, 118, 119, 120, 68, 8, 131, 132, 56, 9, 10, 11, 68, 161, 30, 8, 32, 33, 34, 35, 36, 37, 70, 71, 72, 73, 74, 75, 76, 31, 30, 79, 32, 33, 34, 35, 36, 8, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 74, 75, 133, 134, 135, 136, 137, 138, 139, 140, 141, 84, 9, 10, 11, 1, 147, 148, 149, 2, 3, 4, 5, 6, 7, 14, 79, 50, 8, 12, 13, 8, 15, 30, 1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 1, 43, 44, 45, 46, 47, 48, 49, 50, 51, 79, 8, 1, 82, 8, 79, 1, 30, 74, 75, 49, 50, 14, 105, 143, 107, 55, 158, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 8, 69, 70, 71, 72, 73, 16, 31, 115, 77, 78, 79, 115, 81, 152, 153, 154, 85, 86, 87, 88, 159, 90, 14, 92, 96, 94, 134, 135, 97, 98, 152, 105, 106, 102, 103, 104, 105, 106, 1, 108, 109, 14, 83, 31, 37, 114, 115, 1, 152, 153, 154, 16, 81, 122, 123, 124, 14, 105, 83, 107, 16, 69, 115, 14, 133, 134, 14, 136, 137, 138, 139, 140, 141, 142, 100, 101, 69, 31, 16, 148, 149, 134, 135, 152, 153, 154, 155, 16, 81, 69, 16, 160, 85, 162, 163, 164, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 16, 74, 75, 76, 105, 156, 107, 158, 1, 1, 83, 105, 106, 131, 132, 16, 89, 81, 91, 158, 93, 156, 95, 158, 105, 164, 107, 37, 58, 59, 133, 134, 105, 136, 137, 138, 139, 140, 141, 69, 158, 131, 132, 116, 117, 148, 149, 69, 1, 1, 110, 111, 125, 126, 127, 128, 146, 160, 156, 31, 163, 164, 126, 73, 31, 156, 31, 158, 158, 79, 160, 31, 31, 79, 31, 31, 86, 87, 88, 31, 90, 31, 92, 156, 94, 158, 159, 97, 81, 81, 31, 155, 102, 103, 104, 31, 160, 31, 108, 109, 164, 131, 132, 31, 114, 115, 31, 31, 73, 131, 132, 31, 122, 31, 79, 31, 146, 31, 1, 31, 31, 86, 87, 88, 146, 90, 79, 92, 158, 94, 31, 83, 97, 35, 126, 35, 158, 102, 103, 104, 37, 151, 37, 108, 109, 73, 35, 153, 31, 114, 115, 79, 158, 1, 69, 30, 35, 122, 86, 87, 88, 35, 90, 155, 92, 56, 94, 160, 160, 97, 68, 164, 164, 69, 102, 103, 104, 76, 73, 37, 108, 109, 88, 31, 79, 79, 114, 115, 0, 1, 82, 86, 87, 88, 122, 90, 81, 92, 84, 94, 83, 81, 97, 1, 156, 158, 158, 102, 103, 104, 91, 164, 1, 108, 109, 73, 131, 132, 84, 114, 115, 79, 49, 50, 51, 89, 93, 122, 86, 87, 88, 146, 90, 115, 92, 83, 94, 96, 1, 97, 115, 95, 31, 158, 102, 103, 104, 96, 73, 96, 108, 109, 134, 135, 79, 99, 114, 115, 99, 134, 135, 86, 87, 88, 122, 90, 112, 92, 113, 94, 69, 83, 97, 156, 126, 158, 115, 102, 103, 104, 130, 121, 143, 108, 109, 83, 129, 129, 81, 114, 115, 84, 126, 105, 83, 107, 126, 122, 151, 150, 112, 99, 100, 101, 116, 117, 1, 105, 156, 69, 158, 143, 150, 125, 126, 127, 128, 146, 116, 117, 83, 81, 69, 146, 146, 85, 146, 125, 126, 127, 128, 146, 131, 132, 152, 147, 99, 100, 101, 155, 157, 160, 105, 156, 156, 156, 158, 159, 156, 156, 156, 144, 145, 116, 117, 156, 156, 159, 156, 158, 158, 159, 125, 126, 127, 128, 156, 156, 156, 158, 156, 156, 156, 156, 134, 156, 136, 137, 138, 139, 140, 141, 156, 156, 131, 132, 156, 156, 148, 149, 157, 157, 157, 156, 158, 158, 159, 158, 157, 146, 160, 157, 159, 163, 164, 158, 158, 158, 158, 158, 105, 158, 107, 158, 158, 158, 158, 112, 159, 159, 115, 116, 117, 118, 119, 120, 121, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, -1, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 159, 161, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, -1, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, -1, 162, 162, -1, 163, -1, 164); + protected $actionBase = array(0, -2, 151, 555, 816, 830, 865, 489, 379, 622, 858, 676, 780, 780, 839, 780, 493, 745, 301, 301, -57, 301, 301, 477, 477, 477, 618, 618, 618, 618, -58, -58, 95, 700, 733, 770, 663, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, 52, 530, 446, 570, 984, 990, 986, 991, 982, 981, 985, 987, 992, 911, 912, 727, 913, 914, 915, 916, 988, 872, 983, 989, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 300, 38, 168, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 156, 156, 156, 203, 525, 525, 8, 598, 161, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 349, 333, 435, 435, 435, 435, 435, 436, 436, 436, 436, 933, 564, 636, 635, 465, 470, 801, 801, 753, 753, 788, 746, 746, 746, 410, 410, 410, 74, 538, 396, 359, 414, 675, 675, 675, 675, 414, 414, 414, 414, 796, 996, 414, 414, 414, -103, 606, 713, 713, 881, 293, 293, 293, 713, 547, 762, 835, 547, 835, 15, 409, 789, -40, 96, -17, 789, 510, 829, 140, 19, 810, 444, 810, 742, 859, 886, 993, 232, 784, 909, 787, 910, 224, 661, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 979, 997, 980, -24, 997, 997, 997, 568, -24, 358, 422, -24, 754, 980, 52, 805, 52, 52, 52, 52, 941, 52, 52, 52, 52, 52, 52, 946, 708, 704, 668, 347, 52, 530, 11, 11, 537, 66, 11, 11, 11, 11, 52, 52, 444, 737, 777, 534, 790, 68, 737, 737, 737, 187, 23, 201, 29, 527, 734, 734, 731, 748, 921, 921, 734, 743, 734, 748, 926, 734, 731, 731, 921, 731, 812, 208, 452, 332, 346, 731, 731, 455, 921, 223, 731, 731, 734, 734, 734, 731, 481, 734, 220, 211, 734, 734, 731, 731, 785, 786, 122, 921, 921, 921, 786, 340, 778, 778, 820, 821, 782, 712, 308, 274, 509, 192, 731, 712, 712, 734, 356, 782, 712, 782, 712, 775, 712, 712, 712, 782, 712, 743, 378, 712, 731, 484, 134, 712, 6, 927, 928, 656, 929, 924, 930, 952, 931, 934, 876, 939, 925, 935, 923, 922, 717, 507, 553, 806, 799, 920, 730, 730, 730, 918, 730, 730, 730, 730, 730, 730, 730, 730, 507, 811, 813, 776, 722, 942, 562, 580, 767, 871, 994, 995, 794, 798, 941, 974, 936, 815, 589, 960, 943, 826, 867, 944, 945, 961, 975, 976, 887, 732, 888, 896, 861, 947, 877, 730, 927, 934, 925, 935, 923, 922, 703, 694, 687, 692, 678, 672, 669, 671, 710, 917, 809, 862, 946, 919, 507, 863, 956, 864, 962, 963, 875, 779, 736, 869, 897, 948, 949, 950, 878, 977, 817, 957, 932, 964, 781, 898, 965, 966, 967, 968, 899, 879, 883, 822, 764, 954, 774, 900, 443, 739, 749, 953, 486, 940, 884, 901, 902, 969, 970, 971, 903, 937, 827, 958, 761, 959, 955, 828, 838, 526, 726, 728, 545, 560, 904, 905, 938, 714, 729, 840, 842, 978, 906, 567, 843, 592, 907, 973, 612, 627, 747, 885, 808, 783, 769, 951, 716, 844, 908, 845, 847, 854, 972, 855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 449, 449, 449, 449, 449, 449, 301, 301, 301, 301, 449, 449, 449, 449, 449, 449, 449, 0, 0, 301, 0, 0, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 449, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 414, 414, 285, 0, 285, 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, 285, 285, 285, 285, 285, 285, 285, 293, 293, 293, 293, 812, 414, 414, 414, 414, -37, 293, 293, 414, 414, -37, 414, 414, 414, 414, 414, 414, 0, 0, -24, 835, 0, 743, 743, 743, 743, 0, 0, 0, 0, 835, 835, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -24, 835, 0, -24, 0, 743, 743, 414, 812, 812, 25, 414, 0, 0, 0, 0, -24, 743, -24, 835, 11, 52, 25, 0, 492, 492, 492, 492, 0, 444, 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, 743, 812, 0, 743, 743, 743, 0, 0, 0, 0, 0, 743, 731, 0, 921, 0, 0, 0, 0, 734, 0, 0, 0, 0, 0, 0, 734, 926, 731, 731, 0, 0, 0, 0, 0, 0, 743, 0, 0, 0, 0, 0, 0, 0, 730, 779, 0, 779, 0, 730, 730, 730); + protected $actionDefault = array(3, 32767, 99, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 97, 32767, 32767, 32767, 32767, 32767, 32767, 554, 554, 554, 554, 235, 99, 32767, 32767, 32767, 32767, 430, 349, 349, 349, 32767, 32767, 498, 498, 498, 498, 498, 498, 32767, 32767, 32767, 32767, 32767, 32767, 430, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 97, 32767, 32767, 32767, 35, 5, 6, 8, 9, 48, 15, 32767, 32767, 32767, 32767, 32767, 99, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 547, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 434, 413, 414, 416, 417, 348, 499, 553, 292, 550, 347, 142, 304, 294, 223, 295, 239, 240, 266, 344, 146, 378, 431, 380, 429, 433, 379, 354, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 352, 353, 432, 435, 436, 439, 440, 410, 409, 408, 376, 32767, 32767, 377, 351, 381, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 99, 32767, 383, 382, 399, 400, 397, 398, 401, 402, 403, 404, 405, 32767, 32767, 32767, 32767, 32767, 327, 390, 391, 283, 283, 329, 32767, 32767, 32767, 32767, 32767, 32767, 492, 407, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 99, 32767, 97, 32767, 494, 373, 375, 462, 385, 386, 384, 355, 32767, 469, 32767, 99, 471, 32767, 32767, 32767, 108, 32767, 32767, 32767, 493, 32767, 500, 500, 32767, 455, 97, 32767, 32767, 32767, 32767, 261, 32767, 32767, 32767, 32767, 561, 455, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 32767, 107, 32767, 32767, 32767, 97, 185, 32767, 249, 251, 99, 515, 190, 32767, 474, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 467, 190, 190, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 455, 395, 135, 32767, 135, 500, 387, 388, 389, 457, 500, 500, 500, 32767, 32767, 32767, 190, 32767, 472, 472, 97, 97, 97, 97, 467, 32767, 190, 190, 32767, 190, 108, 96, 96, 96, 96, 190, 190, 96, 100, 98, 190, 190, 32767, 32767, 32767, 190, 96, 32767, 98, 98, 32767, 32767, 190, 190, 206, 204, 98, 32767, 519, 520, 204, 98, 208, 208, 228, 228, 446, 285, 98, 96, 98, 98, 190, 285, 285, 32767, 98, 446, 285, 446, 285, 192, 285, 285, 285, 446, 285, 32767, 98, 285, 190, 96, 96, 285, 32767, 32767, 32767, 457, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 487, 32767, 504, 517, 393, 394, 396, 502, 418, 419, 420, 421, 422, 423, 424, 426, 549, 32767, 461, 32767, 32767, 32767, 32767, 303, 559, 32767, 559, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 560, 32767, 500, 32767, 32767, 32767, 32767, 392, 7, 74, 41, 42, 50, 56, 478, 479, 480, 481, 475, 476, 482, 477, 32767, 483, 525, 32767, 32767, 501, 552, 32767, 32767, 32767, 32767, 32767, 32767, 135, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 487, 32767, 133, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 500, 32767, 32767, 32767, 280, 282, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 500, 32767, 32767, 32767, 268, 270, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 265, 32767, 32767, 343, 32767, 32767, 32767, 32767, 323, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767, 148, 148, 3, 3, 306, 148, 148, 148, 306, 148, 306, 306, 148, 148, 148, 148, 148, 148, 180, 243, 246, 228, 228, 148, 315, 148); + protected $goto = array(190, 190, 650, 1020, 979, 399, 624, 798, 1019, 658, 393, 297, 298, 318, 546, 303, 398, 319, 400, 603, 362, 366, 531, 569, 573, 161, 161, 161, 161, 187, 187, 171, 173, 209, 191, 204, 187, 187, 187, 187, 187, 188, 188, 188, 188, 188, 188, 182, 183, 184, 185, 186, 206, 204, 207, 504, 505, 389, 506, 508, 509, 510, 511, 512, 513, 514, 515, 1046, 162, 163, 164, 189, 165, 166, 167, 160, 168, 169, 170, 172, 203, 205, 208, 230, 233, 236, 238, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 266, 267, 300, 301, 302, 394, 395, 396, 551, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 174, 225, 175, 192, 193, 194, 231, 182, 183, 184, 185, 186, 206, 1046, 195, 176, 177, 178, 196, 192, 179, 232, 197, 159, 198, 226, 180, 199, 227, 228, 181, 229, 200, 201, 202, 312, 312, 312, 312, 801, 577, 591, 594, 595, 596, 597, 615, 616, 617, 660, 799, 329, 530, 521, 590, 590, 568, 794, 794, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 858, 779, 859, 806, 775, 854, 849, 850, 863, 905, 807, 851, 804, 852, 853, 805, 295, 295, 295, 295, 832, 857, 607, 607, 364, 521, 773, 530, 969, 966, 967, 996, 997, 539, 540, 957, 964, 965, 371, 549, 588, 621, 779, 570, 779, 1244, 1244, 1193, 1193, 543, 584, 585, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 326, 1244, 1144, 1144, 1144, 961, 1140, 1233, 469, 961, 961, 926, 961, 961, 961, 961, 961, 961, 1225, 1225, 1225, 1225, 1144, 470, 360, 471, 21, 1144, 1144, 1144, 1144, 477, 794, 1144, 1144, 1144, 332, 437, 437, 567, 1012, 618, 661, 632, 633, 542, 332, 332, 437, 623, 647, 647, 870, 653, 1010, 1094, 871, 447, 1218, 1219, 814, 332, 332, 1141, 332, 826, 1260, 5, 813, 6, 518, 518, 518, 789, 320, 1191, 1191, 523, 791, 332, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 426, 405, 1142, 1201, 1202, 899, 899, 899, 899, 370, 536, 426, 893, 900, 897, 380, 657, 583, 507, 507, 308, 291, 1204, 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 1243, 1243, 516, 516, 516, 516, 1220, 1221, 819, 875, 1034, 572, 547, 582, 643, 522, 534, 587, 1243, 816, 948, 522, 945, 534, 685, 985, 363, 330, 331, 818, 828, 627, 924, 1246, 392, 1137, 579, 812, 418, 418, 418, 448, 523, 550, 442, 443, 989, 1029, 824, 1136, 910, 1251, 1252, 451, 600, 537, 1215, 1215, 1215, 682, 602, 604, 0, 622, 0, 0, 640, 644, 940, 648, 656, 936, 0, 0, 797, 0, 822, 1227, 1227, 1227, 1227, 929, 903, 903, 901, 903, 681, 0, 270, 519, 519, 0, 0, 520, 938, 933, 0, 827, 815, 984, 0, 0, 988, 0, 1211, 0, 0, 0, 1139, 0, 0, 908, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, 0, 418, 0, 378, 379, 0, 0, 0, 630, 0, 631, 898, 382, 383, 384, 0, 641, 987, 0, 385, 1213, 1213, 987, 324, 1125, 884, 0, 0, 1126, 1129, 885, 1130, 0, 1027, 831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 943, 943); + protected $gotoCheck = array(41, 41, 71, 128, 111, 64, 64, 25, 128, 8, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 57, 57, 57, 57, 57, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 22, 22, 22, 22, 14, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 26, 88, 74, 74, 99, 99, 114, 21, 21, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 63, 11, 63, 14, 6, 14, 14, 14, 14, 48, 14, 14, 14, 14, 14, 14, 23, 23, 23, 23, 44, 14, 107, 107, 74, 74, 5, 74, 107, 107, 107, 14, 14, 74, 74, 105, 105, 105, 74, 74, 54, 54, 11, 74, 11, 165, 165, 152, 152, 154, 74, 74, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 161, 165, 71, 71, 71, 71, 19, 163, 74, 71, 71, 94, 71, 71, 71, 71, 71, 71, 8, 8, 8, 8, 71, 139, 60, 139, 74, 71, 71, 71, 71, 139, 21, 71, 71, 71, 13, 133, 133, 7, 7, 82, 7, 82, 82, 95, 13, 13, 133, 62, 7, 7, 71, 7, 7, 135, 71, 158, 158, 158, 34, 13, 13, 19, 13, 34, 13, 45, 34, 45, 18, 18, 18, 19, 28, 153, 153, 13, 17, 13, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 18, 103, 19, 19, 19, 18, 18, 18, 18, 27, 8, 18, 18, 18, 84, 84, 84, 8, 155, 155, 151, 151, 13, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 164, 164, 98, 98, 98, 98, 160, 160, 38, 16, 16, 98, 2, 2, 13, 8, 8, 16, 164, 36, 101, 8, 16, 8, 90, 113, 8, 88, 88, 16, 40, 16, 16, 164, 12, 144, 12, 16, 22, 22, 22, 141, 13, 8, 8, 8, 116, 131, 8, 16, 87, 8, 8, 80, 81, 47, 114, 114, 114, 47, 47, 47, -1, 47, -1, -1, 47, 47, 47, 47, 47, 47, -1, -1, 24, -1, 8, 114, 114, 114, 114, 24, 24, 24, 24, 24, 24, -1, 23, 23, 23, -1, -1, 24, 24, 24, -1, 15, 15, 15, -1, -1, 15, -1, 114, -1, -1, -1, 13, -1, -1, 15, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, -1, 22, -1, 78, 78, -1, -1, -1, 78, -1, 78, 15, 78, 78, 78, -1, 78, 114, -1, 78, 114, 114, 114, 78, 76, 76, -1, -1, 76, 76, 76, 76, -1, 15, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, 98); + protected $gotoBase = array(0, 0, -276, 0, 0, 197, 186, 285, -11, 0, 0, -87, 90, 9, -164, 53, -51, 39, 62, -100, 0, -133, 154, 204, 446, 3, 168, 32, 48, 0, 0, 0, 0, 0, -34, 0, 73, 0, 77, 0, -2, -1, 0, 0, 192, -365, 0, -232, 183, 0, 0, 0, 0, 0, 193, 0, 0, -23, 0, 0, 237, 0, 67, 178, -229, 0, 0, 0, 0, 0, 0, -6, 0, 0, -199, 0, 145, -173, 41, 0, -19, -21, -376, 0, 70, 0, 0, 16, -280, 0, 23, 0, 0, 0, 233, 257, 0, 0, 352, -58, 0, 50, 0, 75, 0, -45, 0, -55, 0, 0, 0, 2, 0, 51, 171, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -262, 0, 0, 12, 0, 260, 0, 45, 0, 0, 0, -189, 0, 10, 0, 0, 7, 0, 0, 0, 0, 0, 0, 58, 4, 94, 213, 127, 0, 0, 27, 0, 34, 225, 0, 231, 86, -54, 0, 0); + protected $gotoDefault = array(-32768, 482, 689, 4, 690, 763, 771, 566, 498, 659, 325, 592, 390, 1209, 856, 1033, 548, 790, 1153, 1161, 427, 793, 313, 327, 838, 839, 840, 367, 352, 358, 365, 613, 593, 464, 825, 421, 817, 456, 820, 420, 829, 158, 387, 480, 833, 3, 835, 525, 866, 353, 843, 354, 636, 845, 533, 847, 848, 361, 368, 369, 1038, 541, 589, 860, 237, 535, 861, 351, 862, 869, 356, 359, 645, 436, 475, 381, 1014, 576, 610, 432, 450, 599, 598, 586, 895, 457, 434, 909, 328, 917, 687, 1045, 605, 459, 925, 606, 932, 935, 499, 500, 449, 947, 268, 460, 974, 628, 629, 959, 608, 972, 444, 978, 422, 986, 1197, 425, 990, 260, 993, 269, 386, 401, 998, 999, 8, 1004, 651, 652, 10, 265, 479, 1028, 646, 419, 1044, 406, 1113, 1115, 527, 461, 1133, 1132, 639, 476, 1138, 1200, 416, 501, 445, 299, 502, 290, 316, 296, 517, 277, 317, 503, 446, 1206, 1214, 314, 29, 1234, 1245, 323, 545, 581); + protected $ruleToNonTerminal = array(0, 1, 3, 3, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 9, 10, 10, 10, 11, 11, 12, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17, 20, 20, 21, 22, 22, 23, 23, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 28, 28, 29, 29, 31, 33, 33, 27, 35, 35, 32, 37, 37, 34, 34, 36, 36, 38, 38, 30, 39, 39, 40, 42, 43, 43, 44, 45, 45, 47, 46, 46, 46, 46, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 24, 24, 67, 67, 70, 70, 69, 68, 68, 61, 73, 73, 74, 74, 75, 75, 76, 76, 25, 25, 26, 26, 26, 79, 79, 79, 80, 80, 83, 83, 81, 81, 84, 85, 85, 55, 55, 63, 63, 66, 66, 66, 65, 86, 86, 87, 56, 56, 56, 56, 88, 88, 89, 89, 90, 90, 91, 92, 92, 93, 93, 94, 94, 53, 53, 49, 49, 96, 51, 51, 97, 50, 50, 52, 52, 62, 62, 62, 62, 77, 77, 100, 100, 102, 102, 102, 102, 101, 101, 101, 104, 104, 104, 105, 105, 107, 107, 107, 106, 106, 108, 108, 109, 109, 109, 103, 103, 78, 78, 78, 19, 19, 110, 110, 111, 111, 111, 111, 58, 112, 112, 113, 59, 115, 115, 116, 116, 117, 117, 82, 118, 118, 118, 118, 118, 123, 123, 124, 124, 125, 125, 125, 125, 125, 126, 127, 127, 122, 122, 119, 119, 121, 121, 129, 129, 128, 128, 128, 128, 128, 128, 120, 130, 130, 132, 131, 131, 60, 95, 133, 133, 54, 54, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 140, 134, 134, 139, 139, 142, 143, 143, 144, 145, 145, 145, 18, 18, 71, 71, 71, 71, 135, 135, 135, 135, 147, 147, 136, 136, 138, 138, 138, 141, 141, 152, 152, 152, 152, 152, 152, 152, 152, 152, 153, 153, 99, 155, 155, 155, 155, 137, 137, 137, 137, 137, 137, 137, 137, 57, 57, 150, 150, 150, 150, 156, 156, 146, 146, 146, 157, 157, 157, 157, 157, 157, 72, 72, 64, 64, 64, 64, 114, 114, 114, 114, 160, 159, 149, 149, 149, 149, 149, 149, 149, 148, 148, 148, 158, 158, 158, 158, 98, 154, 162, 162, 161, 161, 163, 163, 163, 163, 163, 163, 163, 163, 151, 151, 151, 151, 165, 166, 164, 164, 164, 164, 164, 164, 164, 164, 167, 167, 167, 167); + protected $ruleToLength = array(1, 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 2, 1, 3, 4, 1, 2, 0, 1, 1, 1, 1, 1, 3, 5, 4, 3, 4, 2, 3, 1, 1, 7, 6, 2, 3, 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, 3, 1, 2, 5, 7, 9, 6, 5, 6, 3, 2, 1, 1, 1, 0, 2, 1, 3, 8, 0, 4, 2, 1, 3, 0, 1, 0, 1, 3, 1, 8, 9, 8, 7, 6, 1, 2, 2, 0, 2, 0, 2, 0, 2, 2, 1, 3, 1, 4, 1, 4, 1, 1, 4, 2, 1, 3, 3, 3, 4, 4, 5, 0, 2, 4, 3, 1, 1, 7, 0, 2, 1, 3, 3, 4, 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, 0, 3, 1, 2, 1, 1, 2, 0, 1, 3, 0, 1, 1, 1, 6, 8, 6, 1, 2, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 2, 1, 0, 1, 0, 2, 2, 2, 4, 1, 3, 1, 2, 2, 3, 2, 3, 1, 1, 2, 3, 1, 1, 3, 2, 0, 1, 5, 5, 10, 3, 1, 1, 3, 0, 2, 4, 5, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, 3, 2, 2, 3, 1, 0, 1, 1, 3, 3, 3, 4, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, 4, 4, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 2, 1, 2, 4, 2, 2, 8, 9, 8, 9, 9, 10, 9, 10, 8, 3, 2, 0, 4, 2, 1, 3, 2, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 0, 3, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 4, 1, 1, 3, 1, 1, 1, 1, 1, 3, 2, 3, 0, 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, 1, 4, 4, 1, 4, 4, 0, 1, 1, 1, 3, 3, 1, 4, 2, 2, 1, 3, 1, 4, 4, 3, 3, 3, 3, 1, 3, 1, 1, 3, 1, 1, 4, 1, 1, 1, 3, 1, 1, 2, 1, 3, 4, 3, 2, 0, 2, 2, 1, 2, 1, 1, 1, 4, 3, 3, 3, 3, 6, 3, 1, 1, 2, 1); + protected function initReduceCallbacks() + { + $this->reduceCallbacks = [0 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 1 => function ($stackPos) { + $this->semValue = $this->handleNamespaces($this->semStack[$stackPos - (1 - 1)]); + }, 2 => function ($stackPos) { + if (\is_array($this->semStack[$stackPos - (2 - 2)])) { + $this->semValue = \array_merge($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)]); + } else { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + } + }, 3 => function ($stackPos) { + $this->semValue = array(); + }, 4 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; + if (isset($startAttributes['comments'])) { + $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); + } else { + $nop = null; + } + if ($nop !== null) { + $this->semStack[$stackPos - (1 - 1)][] = $nop; + } + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 5 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 6 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 7 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 8 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 9 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 10 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 11 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 12 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 13 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 14 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 15 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 16 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 17 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 18 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 19 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 20 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 21 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 22 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 23 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 24 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 25 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 26 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 27 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 28 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 29 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 30 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 31 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 32 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 33 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 34 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 35 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 36 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 37 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 38 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 39 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 40 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 41 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 42 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 43 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 44 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 45 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 46 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 47 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 48 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 49 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 50 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 51 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 52 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 53 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 54 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 55 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 56 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 57 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 58 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 59 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 60 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 61 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 62 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 63 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 64 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 65 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 66 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 67 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 68 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 69 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 70 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 71 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 72 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 73 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 74 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 75 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 76 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 77 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 78 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 79 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 80 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 81 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 82 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 83 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 84 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 85 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 86 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 87 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 88 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 89 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 90 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 91 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 92 => function ($stackPos) { + $this->semValue = new Name(\substr($this->semStack[$stackPos - (1 - 1)], 1), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 93 => function ($stackPos) { + $this->semValue = new Expr\Variable(\substr($this->semStack[$stackPos - (1 - 1)], 1), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 94 => function ($stackPos) { + /* nothing */ + }, 95 => function ($stackPos) { + /* nothing */ + }, 96 => function ($stackPos) { + /* nothing */ + }, 97 => function ($stackPos) { + $this->emitError(new Error('A trailing comma is not allowed here', $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes)); + }, 98 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 99 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 100 => function ($stackPos) { + $this->semValue = new Node\Attribute($this->semStack[$stackPos - (1 - 1)], [], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 101 => function ($stackPos) { + $this->semValue = new Node\Attribute($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 102 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 103 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 104 => function ($stackPos) { + $this->semValue = new Node\AttributeGroup($this->semStack[$stackPos - (4 - 2)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 105 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 106 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 107 => function ($stackPos) { + $this->semValue = []; + }, 108 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 109 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 110 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 111 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 112 => function ($stackPos) { + $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 113 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos - (3 - 2)], null, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $this->checkNamespace($this->semValue); + }, 114 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos - (5 - 2)], $this->semStack[$stackPos - (5 - 4)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($this->semValue); + }, 115 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($this->semValue); + }, 116 => function ($stackPos) { + $this->semValue = new Stmt\Use_($this->semStack[$stackPos - (3 - 2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 117 => function ($stackPos) { + $this->semValue = new Stmt\Use_($this->semStack[$stackPos - (4 - 3)], $this->semStack[$stackPos - (4 - 2)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 118 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 119 => function ($stackPos) { + $this->semValue = new Stmt\Const_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 120 => function ($stackPos) { + $this->semValue = Stmt\Use_::TYPE_FUNCTION; + }, 121 => function ($stackPos) { + $this->semValue = Stmt\Use_::TYPE_CONSTANT; + }, 122 => function ($stackPos) { + $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos - (7 - 3)], $this->semStack[$stackPos - (7 - 6)], $this->semStack[$stackPos - (7 - 2)], $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes); + }, 123 => function ($stackPos) { + $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos - (6 - 2)], $this->semStack[$stackPos - (6 - 5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 124 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 125 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 126 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 127 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 128 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 129 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 130 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 131 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 132 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 133 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + $this->checkUseUse($this->semValue, $stackPos - (1 - 1)); + }, 134 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + $this->checkUseUse($this->semValue, $stackPos - (3 - 3)); + }, 135 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos - (1 - 1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + $this->checkUseUse($this->semValue, $stackPos - (1 - 1)); + }, 136 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + $this->checkUseUse($this->semValue, $stackPos - (3 - 3)); + }, 137 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + }, 138 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue->type = $this->semStack[$stackPos - (2 - 1)]; + }, 139 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 140 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 141 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 142 => function ($stackPos) { + $this->semValue = new Node\Const_($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 143 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 144 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 145 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 146 => function ($stackPos) { + $this->semValue = new Node\Const_($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 147 => function ($stackPos) { + if (\is_array($this->semStack[$stackPos - (2 - 2)])) { + $this->semValue = \array_merge($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)]); + } else { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + } + }, 148 => function ($stackPos) { + $this->semValue = array(); + }, 149 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; + if (isset($startAttributes['comments'])) { + $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); + } else { + $nop = null; + } + if ($nop !== null) { + $this->semStack[$stackPos - (1 - 1)][] = $nop; + } + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 150 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 151 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 152 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 153 => function ($stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 154 => function ($stackPos) { + if ($this->semStack[$stackPos - (3 - 2)]) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + $attrs = $this->startAttributeStack[$stackPos - (3 - 1)]; + $stmts = $this->semValue; + if (!empty($attrs['comments'])) { + $stmts[0]->setAttribute('comments', \array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); + } + } else { + $startAttributes = $this->startAttributeStack[$stackPos - (3 - 1)]; + if (isset($startAttributes['comments'])) { + $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); + } else { + $this->semValue = null; + } + if (null === $this->semValue) { + $this->semValue = array(); + } + } + }, 155 => function ($stackPos) { + $this->semValue = new Stmt\If_($this->semStack[$stackPos - (7 - 3)], ['stmts' => \is_array($this->semStack[$stackPos - (7 - 5)]) ? $this->semStack[$stackPos - (7 - 5)] : array($this->semStack[$stackPos - (7 - 5)]), 'elseifs' => $this->semStack[$stackPos - (7 - 6)], 'else' => $this->semStack[$stackPos - (7 - 7)]], $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes); + }, 156 => function ($stackPos) { + $this->semValue = new Stmt\If_($this->semStack[$stackPos - (10 - 3)], ['stmts' => $this->semStack[$stackPos - (10 - 6)], 'elseifs' => $this->semStack[$stackPos - (10 - 7)], 'else' => $this->semStack[$stackPos - (10 - 8)]], $this->startAttributeStack[$stackPos - (10 - 1)] + $this->endAttributes); + }, 157 => function ($stackPos) { + $this->semValue = new Stmt\While_($this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 5)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 158 => function ($stackPos) { + $this->semValue = new Stmt\Do_($this->semStack[$stackPos - (7 - 5)], \is_array($this->semStack[$stackPos - (7 - 2)]) ? $this->semStack[$stackPos - (7 - 2)] : array($this->semStack[$stackPos - (7 - 2)]), $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes); + }, 159 => function ($stackPos) { + $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos - (9 - 3)], 'cond' => $this->semStack[$stackPos - (9 - 5)], 'loop' => $this->semStack[$stackPos - (9 - 7)], 'stmts' => $this->semStack[$stackPos - (9 - 9)]], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + }, 160 => function ($stackPos) { + $this->semValue = new Stmt\Switch_($this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 5)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 161 => function ($stackPos) { + $this->semValue = new Stmt\Break_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 162 => function ($stackPos) { + $this->semValue = new Stmt\Continue_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 163 => function ($stackPos) { + $this->semValue = new Stmt\Return_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 164 => function ($stackPos) { + $this->semValue = new Stmt\Global_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 165 => function ($stackPos) { + $this->semValue = new Stmt\Static_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 166 => function ($stackPos) { + $this->semValue = new Stmt\Echo_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 167 => function ($stackPos) { + $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 168 => function ($stackPos) { + $e = $this->semStack[$stackPos - (2 - 1)]; + if ($e instanceof Expr\Throw_) { + // For backwards-compatibility reasons, convert throw in statement position into + // Stmt\Throw_ rather than Stmt\Expression(Expr\Throw_). + $this->semValue = new Stmt\Throw_($e->expr, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + } else { + $this->semValue = new Stmt\Expression($e, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + } + }, 169 => function ($stackPos) { + $this->semValue = new Stmt\Unset_($this->semStack[$stackPos - (5 - 3)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 170 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos - (7 - 3)], $this->semStack[$stackPos - (7 - 5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos - (7 - 5)][1], 'stmts' => $this->semStack[$stackPos - (7 - 7)]], $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes); + }, 171 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos - (9 - 3)], $this->semStack[$stackPos - (9 - 7)][0], ['keyVar' => $this->semStack[$stackPos - (9 - 5)], 'byRef' => $this->semStack[$stackPos - (9 - 7)][1], 'stmts' => $this->semStack[$stackPos - (9 - 9)]], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + }, 172 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos - (6 - 3)], new Expr\Error($this->startAttributeStack[$stackPos - (6 - 4)] + $this->endAttributeStack[$stackPos - (6 - 4)]), ['stmts' => $this->semStack[$stackPos - (6 - 6)]], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 173 => function ($stackPos) { + $this->semValue = new Stmt\Declare_($this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 5)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 174 => function ($stackPos) { + $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos - (6 - 3)], $this->semStack[$stackPos - (6 - 5)], $this->semStack[$stackPos - (6 - 6)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + $this->checkTryCatch($this->semValue); + }, 175 => function ($stackPos) { + $this->semValue = new Stmt\Goto_($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 176 => function ($stackPos) { + $this->semValue = new Stmt\Label($this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 177 => function ($stackPos) { + $this->semValue = array(); + /* means: no statement */ + }, 178 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 179 => function ($stackPos) { + $startAttributes = $this->startAttributeStack[$stackPos - (1 - 1)]; + if (isset($startAttributes['comments'])) { + $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); + } else { + $this->semValue = null; + } + if ($this->semValue === null) { + $this->semValue = array(); + } + /* means: no statement */ + }, 180 => function ($stackPos) { + $this->semValue = array(); + }, 181 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 182 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 183 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 184 => function ($stackPos) { + $this->semValue = new Stmt\Catch_($this->semStack[$stackPos - (8 - 3)], $this->semStack[$stackPos - (8 - 4)], $this->semStack[$stackPos - (8 - 7)], $this->startAttributeStack[$stackPos - (8 - 1)] + $this->endAttributes); + }, 185 => function ($stackPos) { + $this->semValue = null; + }, 186 => function ($stackPos) { + $this->semValue = new Stmt\Finally_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 187 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 188 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 189 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 190 => function ($stackPos) { + $this->semValue = \false; + }, 191 => function ($stackPos) { + $this->semValue = \true; + }, 192 => function ($stackPos) { + $this->semValue = \false; + }, 193 => function ($stackPos) { + $this->semValue = \true; + }, 194 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 195 => function ($stackPos) { + $this->semValue = []; + }, 196 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos - (8 - 3)], ['byRef' => $this->semStack[$stackPos - (8 - 2)], 'params' => $this->semStack[$stackPos - (8 - 5)], 'returnType' => $this->semStack[$stackPos - (8 - 7)], 'stmts' => $this->semStack[$stackPos - (8 - 8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos - (8 - 1)] + $this->endAttributes); + }, 197 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos - (9 - 4)], ['byRef' => $this->semStack[$stackPos - (9 - 3)], 'params' => $this->semStack[$stackPos - (9 - 6)], 'returnType' => $this->semStack[$stackPos - (9 - 8)], 'stmts' => $this->semStack[$stackPos - (9 - 9)], 'attrGroups' => $this->semStack[$stackPos - (9 - 1)]], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + }, 198 => function ($stackPos) { + $this->semValue = new Stmt\Class_($this->semStack[$stackPos - (8 - 3)], ['type' => $this->semStack[$stackPos - (8 - 2)], 'extends' => $this->semStack[$stackPos - (8 - 4)], 'implements' => $this->semStack[$stackPos - (8 - 5)], 'stmts' => $this->semStack[$stackPos - (8 - 7)], 'attrGroups' => $this->semStack[$stackPos - (8 - 1)]], $this->startAttributeStack[$stackPos - (8 - 1)] + $this->endAttributes); + $this->checkClass($this->semValue, $stackPos - (8 - 3)); + }, 199 => function ($stackPos) { + $this->semValue = new Stmt\Interface_($this->semStack[$stackPos - (7 - 3)], ['extends' => $this->semStack[$stackPos - (7 - 4)], 'stmts' => $this->semStack[$stackPos - (7 - 6)], 'attrGroups' => $this->semStack[$stackPos - (7 - 1)]], $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes); + $this->checkInterface($this->semValue, $stackPos - (7 - 3)); + }, 200 => function ($stackPos) { + $this->semValue = new Stmt\Trait_($this->semStack[$stackPos - (6 - 3)], ['stmts' => $this->semStack[$stackPos - (6 - 5)], 'attrGroups' => $this->semStack[$stackPos - (6 - 1)]], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 201 => function ($stackPos) { + $this->semValue = 0; + }, 202 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, 203 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + }, 204 => function ($stackPos) { + $this->semValue = null; + }, 205 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + }, 206 => function ($stackPos) { + $this->semValue = array(); + }, 207 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + }, 208 => function ($stackPos) { + $this->semValue = array(); + }, 209 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + }, 210 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 211 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 212 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 213 => function ($stackPos) { + $this->semValue = \is_array($this->semStack[$stackPos - (1 - 1)]) ? $this->semStack[$stackPos - (1 - 1)] : array($this->semStack[$stackPos - (1 - 1)]); + }, 214 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 215 => function ($stackPos) { + $this->semValue = \is_array($this->semStack[$stackPos - (1 - 1)]) ? $this->semStack[$stackPos - (1 - 1)] : array($this->semStack[$stackPos - (1 - 1)]); + }, 216 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 217 => function ($stackPos) { + $this->semValue = \is_array($this->semStack[$stackPos - (1 - 1)]) ? $this->semStack[$stackPos - (1 - 1)] : array($this->semStack[$stackPos - (1 - 1)]); + }, 218 => function ($stackPos) { + $this->semValue = null; + }, 219 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 220 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 221 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 222 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 223 => function ($stackPos) { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 224 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 225 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 3)]; + }, 226 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 227 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (5 - 3)]; + }, 228 => function ($stackPos) { + $this->semValue = array(); + }, 229 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 230 => function ($stackPos) { + $this->semValue = new Stmt\Case_($this->semStack[$stackPos - (4 - 2)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 231 => function ($stackPos) { + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 232 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 233 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 234 => function ($stackPos) { + $this->semValue = new Expr\Match_($this->semStack[$stackPos - (7 - 3)], $this->semStack[$stackPos - (7 - 6)], $this->startAttributeStack[$stackPos - (7 - 1)] + $this->endAttributes); + }, 235 => function ($stackPos) { + $this->semValue = []; + }, 236 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 237 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 238 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 239 => function ($stackPos) { + $this->semValue = new Node\MatchArm($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 240 => function ($stackPos) { + $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 241 => function ($stackPos) { + $this->semValue = \is_array($this->semStack[$stackPos - (1 - 1)]) ? $this->semStack[$stackPos - (1 - 1)] : array($this->semStack[$stackPos - (1 - 1)]); + }, 242 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 243 => function ($stackPos) { + $this->semValue = array(); + }, 244 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 245 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos - (5 - 3)], \is_array($this->semStack[$stackPos - (5 - 5)]) ? $this->semStack[$stackPos - (5 - 5)] : array($this->semStack[$stackPos - (5 - 5)]), $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 246 => function ($stackPos) { + $this->semValue = array(); + }, 247 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 248 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos - (6 - 3)], $this->semStack[$stackPos - (6 - 6)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 249 => function ($stackPos) { + $this->semValue = null; + }, 250 => function ($stackPos) { + $this->semValue = new Stmt\Else_(\is_array($this->semStack[$stackPos - (2 - 2)]) ? $this->semStack[$stackPos - (2 - 2)] : array($this->semStack[$stackPos - (2 - 2)]), $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 251 => function ($stackPos) { + $this->semValue = null; + }, 252 => function ($stackPos) { + $this->semValue = new Stmt\Else_($this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 253 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)], \false); + }, 254 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (2 - 2)], \true); + }, 255 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)], \false); + }, 256 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)], \false); + }, 257 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 258 => function ($stackPos) { + $this->semValue = array(); + }, 259 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 260 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 261 => function ($stackPos) { + $this->semValue = 0; + }, 262 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + }, 263 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + }, 264 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + }, 265 => function ($stackPos) { + $this->semValue = new Node\Param($this->semStack[$stackPos - (6 - 6)], null, $this->semStack[$stackPos - (6 - 3)], $this->semStack[$stackPos - (6 - 4)], $this->semStack[$stackPos - (6 - 5)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes, $this->semStack[$stackPos - (6 - 2)], $this->semStack[$stackPos - (6 - 1)]); + $this->checkParam($this->semValue); + }, 266 => function ($stackPos) { + $this->semValue = new Node\Param($this->semStack[$stackPos - (8 - 6)], $this->semStack[$stackPos - (8 - 8)], $this->semStack[$stackPos - (8 - 3)], $this->semStack[$stackPos - (8 - 4)], $this->semStack[$stackPos - (8 - 5)], $this->startAttributeStack[$stackPos - (8 - 1)] + $this->endAttributes, $this->semStack[$stackPos - (8 - 2)], $this->semStack[$stackPos - (8 - 1)]); + $this->checkParam($this->semValue); + }, 267 => function ($stackPos) { + $this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes), null, $this->semStack[$stackPos - (6 - 3)], $this->semStack[$stackPos - (6 - 4)], $this->semStack[$stackPos - (6 - 5)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes, $this->semStack[$stackPos - (6 - 2)], $this->semStack[$stackPos - (6 - 1)]); + }, 268 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 269 => function ($stackPos) { + $this->semValue = new Node\NullableType($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 270 => function ($stackPos) { + $this->semValue = new Node\UnionType($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 271 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 272 => function ($stackPos) { + $this->semValue = new Node\Name('static', $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 273 => function ($stackPos) { + $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos - (1 - 1)]); + }, 274 => function ($stackPos) { + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 275 => function ($stackPos) { + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 276 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)]); + }, 277 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 278 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)]); + }, 279 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 280 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 281 => function ($stackPos) { + $this->semValue = new Node\NullableType($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 282 => function ($stackPos) { + $this->semValue = new Node\UnionType($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 283 => function ($stackPos) { + $this->semValue = null; + }, 284 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 285 => function ($stackPos) { + $this->semValue = null; + }, 286 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 2)]; + }, 287 => function ($stackPos) { + $this->semValue = null; + }, 288 => function ($stackPos) { + $this->semValue = array(); + }, 289 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 2)]; + }, 290 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 291 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 292 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos - (1 - 1)], \false, \false, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 293 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos - (2 - 2)], \true, \false, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 294 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos - (2 - 2)], \false, \true, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 295 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos - (3 - 3)], \false, \false, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes, $this->semStack[$stackPos - (3 - 1)]); + }, 296 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 297 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 298 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 299 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 300 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 301 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 302 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 303 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos - (1 - 1)], null, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 304 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 305 => function ($stackPos) { + if ($this->semStack[$stackPos - (2 - 2)] !== null) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + } + }, 306 => function ($stackPos) { + $this->semValue = array(); + }, 307 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; + if (isset($startAttributes['comments'])) { + $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); + } else { + $nop = null; + } + if ($nop !== null) { + $this->semStack[$stackPos - (1 - 1)][] = $nop; + } + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 308 => function ($stackPos) { + $this->semValue = new Stmt\Property($this->semStack[$stackPos - (5 - 2)], $this->semStack[$stackPos - (5 - 4)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes, $this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 1)]); + $this->checkProperty($this->semValue, $stackPos - (5 - 2)); + }, 309 => function ($stackPos) { + $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos - (5 - 4)], $this->semStack[$stackPos - (5 - 2)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes, $this->semStack[$stackPos - (5 - 1)]); + $this->checkClassConst($this->semValue, $stackPos - (5 - 2)); + }, 310 => function ($stackPos) { + $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos - (10 - 5)], ['type' => $this->semStack[$stackPos - (10 - 2)], 'byRef' => $this->semStack[$stackPos - (10 - 4)], 'params' => $this->semStack[$stackPos - (10 - 7)], 'returnType' => $this->semStack[$stackPos - (10 - 9)], 'stmts' => $this->semStack[$stackPos - (10 - 10)], 'attrGroups' => $this->semStack[$stackPos - (10 - 1)]], $this->startAttributeStack[$stackPos - (10 - 1)] + $this->endAttributes); + $this->checkClassMethod($this->semValue, $stackPos - (10 - 2)); + }, 311 => function ($stackPos) { + $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 312 => function ($stackPos) { + $this->semValue = null; + /* will be skipped */ + }, 313 => function ($stackPos) { + $this->semValue = array(); + }, 314 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 315 => function ($stackPos) { + $this->semValue = array(); + }, 316 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 317 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos - (4 - 1)][0], $this->semStack[$stackPos - (4 - 1)][1], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 318 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos - (5 - 1)][0], $this->semStack[$stackPos - (5 - 1)][1], $this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 4)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 319 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos - (4 - 1)][0], $this->semStack[$stackPos - (4 - 1)][1], $this->semStack[$stackPos - (4 - 3)], null, $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 320 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos - (4 - 1)][0], $this->semStack[$stackPos - (4 - 1)][1], null, $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 321 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos - (4 - 1)][0], $this->semStack[$stackPos - (4 - 1)][1], null, $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 322 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)]); + }, 323 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 324 => function ($stackPos) { + $this->semValue = array(null, $this->semStack[$stackPos - (1 - 1)]); + }, 325 => function ($stackPos) { + $this->semValue = null; + }, 326 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 327 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 328 => function ($stackPos) { + $this->semValue = 0; + }, 329 => function ($stackPos) { + $this->semValue = 0; + }, 330 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 331 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 332 => function ($stackPos) { + $this->checkModifier($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)], $stackPos - (2 - 2)); + $this->semValue = $this->semStack[$stackPos - (2 - 1)] | $this->semStack[$stackPos - (2 - 2)]; + }, 333 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + }, 334 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + }, 335 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + }, 336 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_STATIC; + }, 337 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, 338 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + }, 339 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 340 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 341 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 342 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(\substr($this->semStack[$stackPos - (1 - 1)], 1), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 343 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos - (1 - 1)], null, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 344 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 345 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 346 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 347 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 348 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 349 => function ($stackPos) { + $this->semValue = array(); + }, 350 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 351 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 352 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 353 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 354 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 355 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 356 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 357 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 358 => function ($stackPos) { + $this->semValue = new Expr\Clone_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 359 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 360 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 361 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 362 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 363 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 364 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 365 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 366 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 367 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 368 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 369 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 370 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 371 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 372 => function ($stackPos) { + $this->semValue = new Expr\PostInc($this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 373 => function ($stackPos) { + $this->semValue = new Expr\PreInc($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 374 => function ($stackPos) { + $this->semValue = new Expr\PostDec($this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 375 => function ($stackPos) { + $this->semValue = new Expr\PreDec($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 376 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 377 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 378 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 379 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 380 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 381 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 382 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 383 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 384 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 385 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 386 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 387 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 388 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 389 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 390 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 391 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 392 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 393 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 394 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 395 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 396 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 397 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 398 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 399 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 400 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 401 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 402 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 403 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 404 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 405 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 406 => function ($stackPos) { + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 407 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 408 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos - (5 - 1)], $this->semStack[$stackPos - (5 - 3)], $this->semStack[$stackPos - (5 - 5)], $this->startAttributeStack[$stackPos - (5 - 1)] + $this->endAttributes); + }, 409 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos - (4 - 1)], null, $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 410 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 411 => function ($stackPos) { + $this->semValue = new Expr\Isset_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 412 => function ($stackPos) { + $this->semValue = new Expr\Empty_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 413 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 414 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 415 => function ($stackPos) { + $this->semValue = new Expr\Eval_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 416 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 417 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos - (2 - 2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 418 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 419 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes; + $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos - (2 - 1)]); + $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos - (2 - 2)], $attrs); + }, 420 => function ($stackPos) { + $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 421 => function ($stackPos) { + $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 422 => function ($stackPos) { + $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 423 => function ($stackPos) { + $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 424 => function ($stackPos) { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 425 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes; + $attrs['kind'] = \strtolower($this->semStack[$stackPos - (2 - 1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $this->semValue = new Expr\Exit_($this->semStack[$stackPos - (2 - 2)], $attrs); + }, 426 => function ($stackPos) { + $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 427 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 428 => function ($stackPos) { + $this->semValue = new Expr\ShellExec($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 429 => function ($stackPos) { + $this->semValue = new Expr\Print_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 430 => function ($stackPos) { + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 431 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos - (2 - 2)], null, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 432 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos - (4 - 4)], $this->semStack[$stackPos - (4 - 2)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 433 => function ($stackPos) { + $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 434 => function ($stackPos) { + $this->semValue = new Expr\Throw_($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 435 => function ($stackPos) { + $this->semValue = new Expr\ArrowFunction(['static' => \false, 'byRef' => $this->semStack[$stackPos - (8 - 2)], 'params' => $this->semStack[$stackPos - (8 - 4)], 'returnType' => $this->semStack[$stackPos - (8 - 6)], 'expr' => $this->semStack[$stackPos - (8 - 8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos - (8 - 1)] + $this->endAttributes); + }, 436 => function ($stackPos) { + $this->semValue = new Expr\ArrowFunction(['static' => \true, 'byRef' => $this->semStack[$stackPos - (9 - 3)], 'params' => $this->semStack[$stackPos - (9 - 5)], 'returnType' => $this->semStack[$stackPos - (9 - 7)], 'expr' => $this->semStack[$stackPos - (9 - 9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + }, 437 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => \false, 'byRef' => $this->semStack[$stackPos - (8 - 2)], 'params' => $this->semStack[$stackPos - (8 - 4)], 'uses' => $this->semStack[$stackPos - (8 - 6)], 'returnType' => $this->semStack[$stackPos - (8 - 7)], 'stmts' => $this->semStack[$stackPos - (8 - 8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos - (8 - 1)] + $this->endAttributes); + }, 438 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => \true, 'byRef' => $this->semStack[$stackPos - (9 - 3)], 'params' => $this->semStack[$stackPos - (9 - 5)], 'uses' => $this->semStack[$stackPos - (9 - 7)], 'returnType' => $this->semStack[$stackPos - (9 - 8)], 'stmts' => $this->semStack[$stackPos - (9 - 9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + }, 439 => function ($stackPos) { + $this->semValue = new Expr\ArrowFunction(['static' => \false, 'byRef' => $this->semStack[$stackPos - (9 - 3)], 'params' => $this->semStack[$stackPos - (9 - 5)], 'returnType' => $this->semStack[$stackPos - (9 - 7)], 'expr' => $this->semStack[$stackPos - (9 - 9)], 'attrGroups' => $this->semStack[$stackPos - (9 - 1)]], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + }, 440 => function ($stackPos) { + $this->semValue = new Expr\ArrowFunction(['static' => \true, 'byRef' => $this->semStack[$stackPos - (10 - 4)], 'params' => $this->semStack[$stackPos - (10 - 6)], 'returnType' => $this->semStack[$stackPos - (10 - 8)], 'expr' => $this->semStack[$stackPos - (10 - 10)], 'attrGroups' => $this->semStack[$stackPos - (10 - 1)]], $this->startAttributeStack[$stackPos - (10 - 1)] + $this->endAttributes); + }, 441 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => \false, 'byRef' => $this->semStack[$stackPos - (9 - 3)], 'params' => $this->semStack[$stackPos - (9 - 5)], 'uses' => $this->semStack[$stackPos - (9 - 7)], 'returnType' => $this->semStack[$stackPos - (9 - 8)], 'stmts' => $this->semStack[$stackPos - (9 - 9)], 'attrGroups' => $this->semStack[$stackPos - (9 - 1)]], $this->startAttributeStack[$stackPos - (9 - 1)] + $this->endAttributes); + }, 442 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => \true, 'byRef' => $this->semStack[$stackPos - (10 - 4)], 'params' => $this->semStack[$stackPos - (10 - 6)], 'uses' => $this->semStack[$stackPos - (10 - 8)], 'returnType' => $this->semStack[$stackPos - (10 - 9)], 'stmts' => $this->semStack[$stackPos - (10 - 10)], 'attrGroups' => $this->semStack[$stackPos - (10 - 1)]], $this->startAttributeStack[$stackPos - (10 - 1)] + $this->endAttributes); + }, 443 => function ($stackPos) { + $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos - (8 - 4)], 'implements' => $this->semStack[$stackPos - (8 - 5)], 'stmts' => $this->semStack[$stackPos - (8 - 7)], 'attrGroups' => $this->semStack[$stackPos - (8 - 1)]], $this->startAttributeStack[$stackPos - (8 - 1)] + $this->endAttributes), $this->semStack[$stackPos - (8 - 3)]); + $this->checkClass($this->semValue[0], -1); + }, 444 => function ($stackPos) { + $this->semValue = new Expr\New_($this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 445 => function ($stackPos) { + list($class, $ctorArgs) = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 446 => function ($stackPos) { + $this->semValue = array(); + }, 447 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (4 - 3)]; + }, 448 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 449 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 450 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 451 => function ($stackPos) { + $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos - (2 - 2)], $this->semStack[$stackPos - (2 - 1)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 452 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 453 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 454 => function ($stackPos) { + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 455 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 456 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 457 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 458 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 459 => function ($stackPos) { + $this->semValue = new Name\FullyQualified(\substr($this->semStack[$stackPos - (1 - 1)], 1), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 460 => function ($stackPos) { + $this->semValue = new Name\Relative(\substr($this->semStack[$stackPos - (1 - 1)], 10), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 461 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 462 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 463 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 464 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + $this->errorState = 2; + }, 465 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 466 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 467 => function ($stackPos) { + $this->semValue = null; + }, 468 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 469 => function ($stackPos) { + $this->semValue = array(); + }, 470 => function ($stackPos) { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos - (1 - 1)], '`'), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes)); + }, 471 => function ($stackPos) { + foreach ($this->semStack[$stackPos - (1 - 1)] as $s) { + if ($s instanceof Node\Scalar\EncapsedStringPart) { + $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', \true); + } + } + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 472 => function ($stackPos) { + $this->semValue = array(); + }, 473 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 474 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 475 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 476 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 477 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 478 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 479 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 480 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 481 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 482 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 483 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 484 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos - (3 - 1)], new Expr\Error($this->startAttributeStack[$stackPos - (3 - 3)] + $this->endAttributeStack[$stackPos - (3 - 3)]), $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + $this->errorState = 2; + }, 485 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes; + $attrs['kind'] = Expr\Array_::KIND_SHORT; + $this->semValue = new Expr\Array_($this->semStack[$stackPos - (3 - 2)], $attrs); + }, 486 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes; + $attrs['kind'] = Expr\Array_::KIND_LONG; + $this->semValue = new Expr\Array_($this->semStack[$stackPos - (4 - 3)], $attrs); + }, 487 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 488 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes; + $attrs['kind'] = $this->semStack[$stackPos - (1 - 1)][0] === "'" || $this->semStack[$stackPos - (1 - 1)][1] === "'" && ($this->semStack[$stackPos - (1 - 1)][0] === 'b' || $this->semStack[$stackPos - (1 - 1)][0] === 'B') ? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED; + $this->semValue = new Scalar\String_(Scalar\String_::parse($this->semStack[$stackPos - (1 - 1)]), $attrs); + }, 489 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes; + $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + foreach ($this->semStack[$stackPos - (3 - 2)] as $s) { + if ($s instanceof Node\Scalar\EncapsedStringPart) { + $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', \true); + } + } + $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos - (3 - 2)], $attrs); + }, 490 => function ($stackPos) { + $this->semValue = $this->parseLNumber($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 491 => function ($stackPos) { + $this->semValue = new Scalar\DNumber(Scalar\DNumber::parse($this->semStack[$stackPos - (1 - 1)]), $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 492 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 493 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 494 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 495 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes, $this->startAttributeStack[$stackPos - (3 - 3)] + $this->endAttributeStack[$stackPos - (3 - 3)], \true); + }, 496 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos - (2 - 1)], '', $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes, $this->startAttributeStack[$stackPos - (2 - 2)] + $this->endAttributeStack[$stackPos - (2 - 2)], \true); + }, 497 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 2)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes, $this->startAttributeStack[$stackPos - (3 - 3)] + $this->endAttributeStack[$stackPos - (3 - 3)], \true); + }, 498 => function ($stackPos) { + $this->semValue = null; + }, 499 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 500 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 501 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 502 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 503 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 504 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 505 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 506 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 507 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 508 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 509 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 510 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 511 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 512 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 513 => function ($stackPos) { + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 514 => function ($stackPos) { + $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->semStack[$stackPos - (4 - 4)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 515 => function ($stackPos) { + $this->semValue = null; + }, 516 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 517 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 518 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 519 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 520 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 521 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 522 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 523 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 524 => function ($stackPos) { + $this->semValue = new Expr\Variable(new Expr\Error($this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes), $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + $this->errorState = 2; + }, 525 => function ($stackPos) { + $var = $this->semStack[$stackPos - (1 - 1)]->name; + $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes) : $var; + }, 526 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 527 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 528 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 529 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 530 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 531 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 532 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 533 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 534 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 535 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 536 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 537 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 538 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 539 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 540 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + $this->errorState = 2; + }, 541 => function ($stackPos) { + $this->semValue = new Expr\List_($this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 542 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + $end = \count($this->semValue) - 1; + if ($this->semValue[$end] === null) { + \array_pop($this->semValue); + } + }, 543 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, 544 => function ($stackPos) { + /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ + }, 545 => function ($stackPos) { + $this->semStack[$stackPos - (3 - 1)][] = $this->semStack[$stackPos - (3 - 3)]; + $this->semValue = $this->semStack[$stackPos - (3 - 1)]; + }, 546 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 547 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (1 - 1)], null, \false, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 548 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (2 - 2)], null, \true, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 549 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (1 - 1)], null, \false, $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 550 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (3 - 3)], $this->semStack[$stackPos - (3 - 1)], \false, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 551 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (4 - 4)], $this->semStack[$stackPos - (4 - 1)], \true, $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 552 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (3 - 3)], $this->semStack[$stackPos - (3 - 1)], \false, $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 553 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos - (2 - 2)], null, \false, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes, \true, $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 554 => function ($stackPos) { + $this->semValue = null; + }, 555 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 556 => function ($stackPos) { + $this->semStack[$stackPos - (2 - 1)][] = $this->semStack[$stackPos - (2 - 2)]; + $this->semValue = $this->semStack[$stackPos - (2 - 1)]; + }, 557 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (1 - 1)]); + }, 558 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos - (2 - 1)], $this->semStack[$stackPos - (2 - 2)]); + }, 559 => function ($stackPos) { + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 560 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 561 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }, 562 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (4 - 1)], $this->semStack[$stackPos - (4 - 3)], $this->startAttributeStack[$stackPos - (4 - 1)] + $this->endAttributes); + }, 563 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 564 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos - (3 - 1)], $this->semStack[$stackPos - (3 - 3)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 565 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 566 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos - (3 - 2)], $this->startAttributeStack[$stackPos - (3 - 1)] + $this->endAttributes); + }, 567 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos - (6 - 2)], $this->semStack[$stackPos - (6 - 4)], $this->startAttributeStack[$stackPos - (6 - 1)] + $this->endAttributes); + }, 568 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (3 - 2)]; + }, 569 => function ($stackPos) { + $this->semValue = new Scalar\String_($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 570 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos - (1 - 1)], $this->startAttributeStack[$stackPos - (1 - 1)] + $this->endAttributes); + }, 571 => function ($stackPos) { + $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos - (2 - 2)], $this->startAttributeStack[$stackPos - (2 - 1)] + $this->endAttributes); + }, 572 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos - (1 - 1)]; + }]; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Tokens.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Tokens.php new file mode 100644 index 000000000..a22fe3da8 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/Parser/Tokens.php @@ -0,0 +1,144 @@ +lexer = $lexer; + if (isset($options['throwOnError'])) { + throw new \LogicException('"throwOnError" is no longer supported, use "errorHandler" instead'); + } + $this->initReduceCallbacks(); + } + /** + * Parses PHP code into a node tree. + * + * If a non-throwing error handler is used, the parser will continue parsing after an error + * occurred and attempt to build a partial AST. + * + * @param string $code The source code to parse + * @param ErrorHandler|null $errorHandler Error handler to use for lexer/parser errors, defaults + * to ErrorHandler\Throwing. + * + * @return Node\Stmt[]|null Array of statements (or null non-throwing error handler is used and + * the parser was unable to recover from an error). + */ + public function parse($code, ErrorHandler $errorHandler = null) + { + if (!\is_string($code)) { + if (!(\is_string($code) || \is_object($code) && \method_exists($code, '__toString') || (\is_bool($code) || \is_numeric($code)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($code) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (string) $code; + } + } + $this->errorHandler = $errorHandler ?: new ErrorHandler\Throwing(); + $this->lexer->startLexing($code, $this->errorHandler); + $result = $this->doParse(); + // Clear out some of the interior state, so we don't hold onto unnecessary + // memory between uses of the parser + $this->startAttributeStack = []; + $this->endAttributeStack = []; + $this->semStack = []; + $this->semValue = null; + return $result; + } + protected function doParse() + { + // We start off with no lookahead-token + $symbol = self::SYMBOL_NONE; + // The attributes for a node are taken from the first and last token of the node. + // From the first token only the startAttributes are taken and from the last only + // the endAttributes. Both are merged using the array union operator (+). + $startAttributes = []; + $endAttributes = []; + $this->endAttributes = $endAttributes; + // Keep stack of start and end attributes + $this->startAttributeStack = []; + $this->endAttributeStack = [$endAttributes]; + // Start off in the initial state and keep a stack of previous states + $state = 0; + $stateStack = [$state]; + // Semantic value stack (contains values of tokens and semantic action results) + $this->semStack = []; + // Current position in the stack(s) + $stackPos = 0; + $this->errorState = 0; + for (;;) { + //$this->traceNewState($state, $symbol); + if ($this->actionBase[$state] === 0) { + $rule = $this->actionDefault[$state]; + } else { + if ($symbol === self::SYMBOL_NONE) { + // Fetch the next token id from the lexer and fetch additional info by-ref. + // The end attributes are fetched into a temporary variable and only set once the token is really + // shifted (not during read). Otherwise you would sometimes get off-by-one errors, when a rule is + // reduced after a token was read but not yet shifted. + $tokenId = $this->lexer->getNextToken($tokenValue, $startAttributes, $endAttributes); + // map the lexer token id to the internally used symbols + $symbol = $tokenId >= 0 && $tokenId < $this->tokenToSymbolMapSize ? $this->tokenToSymbol[$tokenId] : $this->invalidSymbol; + if ($symbol === $this->invalidSymbol) { + throw new \RangeException(\sprintf('The lexer returned an invalid token (id=%d, value=%s)', $tokenId, $tokenValue)); + } + // Allow productions to access the start attributes of the lookahead token. + $this->lookaheadStartAttributes = $startAttributes; + //$this->traceRead($symbol); + } + $idx = $this->actionBase[$state] + $symbol; + if (($idx >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol || $state < $this->YY2TBLSTATE && ($idx = $this->actionBase[$state + $this->numNonLeafStates] + $symbol) >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol) && ($action = $this->action[$idx]) !== $this->defaultAction) { + /* + * >= numNonLeafStates: shift and reduce + * > 0: shift + * = 0: accept + * < 0: reduce + * = -YYUNEXPECTED: error + */ + if ($action > 0) { + /* shift */ + //$this->traceShift($symbol); + ++$stackPos; + $stateStack[$stackPos] = $state = $action; + $this->semStack[$stackPos] = $tokenValue; + $this->startAttributeStack[$stackPos] = $startAttributes; + $this->endAttributeStack[$stackPos] = $endAttributes; + $this->endAttributes = $endAttributes; + $symbol = self::SYMBOL_NONE; + if ($this->errorState) { + --$this->errorState; + } + if ($action < $this->numNonLeafStates) { + continue; + } + /* $yyn >= numNonLeafStates means shift-and-reduce */ + $rule = $action - $this->numNonLeafStates; + } else { + $rule = -$action; + } + } else { + $rule = $this->actionDefault[$state]; + } + } + for (;;) { + if ($rule === 0) { + /* accept */ + //$this->traceAccept(); + return $this->semValue; + } elseif ($rule !== $this->unexpectedTokenRule) { + /* reduce */ + //$this->traceReduce($rule); + try { + $this->reduceCallbacks[$rule]($stackPos); + } catch (Error $e) { + if (-1 === $e->getStartLine() && isset($startAttributes['startLine'])) { + $e->setStartLine($startAttributes['startLine']); + } + $this->emitError($e); + // Can't recover from this type of error + return null; + } + /* Goto - shift nonterminal */ + $lastEndAttributes = $this->endAttributeStack[$stackPos]; + $ruleLength = $this->ruleToLength[$rule]; + $stackPos -= $ruleLength; + $nonTerminal = $this->ruleToNonTerminal[$rule]; + $idx = $this->gotoBase[$nonTerminal] + $stateStack[$stackPos]; + if ($idx >= 0 && $idx < $this->gotoTableSize && $this->gotoCheck[$idx] === $nonTerminal) { + $state = $this->goto[$idx]; + } else { + $state = $this->gotoDefault[$nonTerminal]; + } + ++$stackPos; + $stateStack[$stackPos] = $state; + $this->semStack[$stackPos] = $this->semValue; + $this->endAttributeStack[$stackPos] = $lastEndAttributes; + if ($ruleLength === 0) { + // Empty productions use the start attributes of the lookahead token. + $this->startAttributeStack[$stackPos] = $this->lookaheadStartAttributes; + } + } else { + /* error */ + switch ($this->errorState) { + case 0: + $msg = $this->getErrorMessage($symbol, $state); + $this->emitError(new Error($msg, $startAttributes + $endAttributes)); + // Break missing intentionally + case 1: + case 2: + $this->errorState = 3; + // Pop until error-expecting state uncovered + while (!(($idx = $this->actionBase[$state] + $this->errorSymbol) >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $this->errorSymbol || $state < $this->YY2TBLSTATE && ($idx = $this->actionBase[$state + $this->numNonLeafStates] + $this->errorSymbol) >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $this->errorSymbol) || ($action = $this->action[$idx]) === $this->defaultAction) { + // Not totally sure about this + if ($stackPos <= 0) { + // Could not recover from error + return null; + } + $state = $stateStack[--$stackPos]; + //$this->tracePop($state); + } + //$this->traceShift($this->errorSymbol); + ++$stackPos; + $stateStack[$stackPos] = $state = $action; + // We treat the error symbol as being empty, so we reset the end attributes + // to the end attributes of the last non-error symbol + $this->startAttributeStack[$stackPos] = $this->lookaheadStartAttributes; + $this->endAttributeStack[$stackPos] = $this->endAttributeStack[$stackPos - 1]; + $this->endAttributes = $this->endAttributeStack[$stackPos - 1]; + break; + case 3: + if ($symbol === 0) { + // Reached EOF without recovering from error + return null; + } + //$this->traceDiscard($symbol); + $symbol = self::SYMBOL_NONE; + break 2; + } + } + if ($state < $this->numNonLeafStates) { + break; + } + /* >= numNonLeafStates means shift-and-reduce */ + $rule = $state - $this->numNonLeafStates; + } + } + throw new \RuntimeException('Reached end of parser loop'); + } + protected function emitError(Error $error) + { + $this->errorHandler->handleError($error); + } + /** + * Format error message including expected tokens. + * + * @param int $symbol Unexpected symbol + * @param int $state State at time of error + * + * @return string Formatted error message + */ + protected function getErrorMessage($symbol, $state) + { + if (!\is_int($symbol)) { + if (!(\is_bool($symbol) || \is_numeric($symbol))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($symbol) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($symbol) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $symbol = (int) $symbol; + } + } + if (!\is_int($state)) { + if (!(\is_bool($state) || \is_numeric($state))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($state) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($state) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $state = (int) $state; + } + } + $expectedString = ''; + if ($expected = $this->getExpectedTokens($state)) { + $expectedString = ', expecting ' . \implode(' or ', $expected); + } + $phabelReturn = 'Syntax error, unexpected ' . $this->symbolToName[$symbol] . $expectedString; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Get limited number of expected tokens in given state. + * + * @param int $state State + * + * @return string[] Expected tokens. If too many, an empty array is returned. + */ + protected function getExpectedTokens($state) + { + if (!\is_int($state)) { + if (!(\is_bool($state) || \is_numeric($state))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($state) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($state) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $state = (int) $state; + } + } + $expected = []; + $base = $this->actionBase[$state]; + foreach ($this->symbolToName as $symbol => $name) { + $idx = $base + $symbol; + if ($idx >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol || $state < $this->YY2TBLSTATE && ($idx = $this->actionBase[$state + $this->numNonLeafStates] + $symbol) >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol) { + if ($this->action[$idx] !== $this->unexpectedTokenRule && $this->action[$idx] !== $this->defaultAction && $symbol !== $this->errorSymbol) { + if (\count($expected) === 4) { + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /* Too many expected tokens */ + return $phabelReturn; + } + $expected[] = $name; + } + } + } + $phabelReturn = $expected; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /* + * Tracing functions used for debugging the parser. + */ + /* + protected function traceNewState($state, $symbol) { + echo '% State ' . $state + . ', Lookahead ' . ($symbol == self::SYMBOL_NONE ? '--none--' : $this->symbolToName[$symbol]) . "\n"; + } + + protected function traceRead($symbol) { + echo '% Reading ' . $this->symbolToName[$symbol] . "\n"; + } + + protected function traceShift($symbol) { + echo '% Shift ' . $this->symbolToName[$symbol] . "\n"; + } + + protected function traceAccept() { + echo "% Accepted.\n"; + } + + protected function traceReduce($n) { + echo '% Reduce by (' . $n . ') ' . $this->productions[$n] . "\n"; + } + + protected function tracePop($state) { + echo '% Recovering, uncovered state ' . $state . "\n"; + } + + protected function traceDiscard($symbol) { + echo '% Discard ' . $this->symbolToName[$symbol] . "\n"; + } + */ + /* + * Helper functions invoked by semantic actions + */ + /** + * Moves statements of semicolon-style namespaces into $ns->stmts and checks various error conditions. + * + * @param Node\Stmt[] $stmts + * @return Node\Stmt[] + */ + protected function handleNamespaces(array $stmts) + { + $hasErrored = \false; + $style = $this->getNamespacingStyle($stmts); + if (null === $style) { + $phabelReturn = $stmts; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // not namespaced, nothing to do + return $phabelReturn; + } elseif ('brace' === $style) { + // For braced namespaces we only have to check that there are no invalid statements between the namespaces + $afterFirstNamespace = \false; + foreach ($stmts as $stmt) { + if ($stmt instanceof Node\Stmt\Namespace_) { + $afterFirstNamespace = \true; + } elseif (!$stmt instanceof Node\Stmt\HaltCompiler && !$stmt instanceof Node\Stmt\Nop && $afterFirstNamespace && !$hasErrored) { + $this->emitError(new Error('No code may exist outside of namespace {}', $stmt->getAttributes())); + $hasErrored = \true; + // Avoid one error for every statement + } + } + $phabelReturn = $stmts; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } else { + // For semicolon namespaces we have to move the statements after a namespace declaration into ->stmts + $resultStmts = []; + $targetStmts =& $resultStmts; + $lastNs = null; + foreach ($stmts as $stmt) { + if ($stmt instanceof Node\Stmt\Namespace_) { + if ($lastNs !== null) { + $this->fixupNamespaceAttributes($lastNs); + } + if ($stmt->stmts === null) { + $stmt->stmts = []; + $targetStmts =& $stmt->stmts; + $resultStmts[] = $stmt; + } else { + // This handles the invalid case of mixed style namespaces + $resultStmts[] = $stmt; + $targetStmts =& $resultStmts; + } + $lastNs = $stmt; + } elseif ($stmt instanceof Node\Stmt\HaltCompiler) { + // __halt_compiler() is not moved into the namespace + $resultStmts[] = $stmt; + } else { + $targetStmts[] = $stmt; + } + } + if ($lastNs !== null) { + $this->fixupNamespaceAttributes($lastNs); + } + $phabelReturn = $resultStmts; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + private function fixupNamespaceAttributes(Node\Stmt\Namespace_ $stmt) + { + // We moved the statements into the namespace node, as such the end of the namespace node + // needs to be extended to the end of the statements. + if (empty($stmt->stmts)) { + return; + } + // We only move the builtin end attributes here. This is the best we can do with the + // knowledge we have. + $endAttributes = ['endLine', 'endFilePos', 'endTokenPos']; + $lastStmt = $stmt->stmts[\count($stmt->stmts) - 1]; + foreach ($endAttributes as $endAttribute) { + if ($lastStmt->hasAttribute($endAttribute)) { + $stmt->setAttribute($endAttribute, $lastStmt->getAttribute($endAttribute)); + } + } + } + /** + * Determine namespacing style (semicolon or brace) + * + * @param Node[] $stmts Top-level statements. + * + * @return null|string One of "semicolon", "brace" or null (no namespaces) + */ + private function getNamespacingStyle(array $stmts) + { + $style = null; + $hasNotAllowedStmts = \false; + foreach ($stmts as $i => $stmt) { + if ($stmt instanceof Node\Stmt\Namespace_) { + $currentStyle = null === $stmt->stmts ? 'semicolon' : 'brace'; + if (null === $style) { + $style = $currentStyle; + if ($hasNotAllowedStmts) { + $this->emitError(new Error('Namespace declaration statement has to be the very first statement in the script', $stmt->getLine())); + } + } elseif ($style !== $currentStyle) { + $this->emitError(new Error('Cannot mix bracketed namespace declarations with unbracketed namespace declarations', $stmt->getLine())); + // Treat like semicolon style for namespace normalization + return 'semicolon'; + } + continue; + } + /* declare(), __halt_compiler() and nops can be used before a namespace declaration */ + if ($stmt instanceof Node\Stmt\Declare_ || $stmt instanceof Node\Stmt\HaltCompiler || $stmt instanceof Node\Stmt\Nop) { + continue; + } + /* There may be a hashbang line at the very start of the file */ + if ($i === 0 && $stmt instanceof Node\Stmt\InlineHTML && \preg_match('/\\A#!.*\\r?\\n\\z/', $stmt->value)) { + continue; + } + /* Everything else if forbidden before namespace declarations */ + $hasNotAllowedStmts = \true; + } + return $style; + } + /** + * Fix up parsing of static property calls in PHP 5. + * + * In PHP 5 A::$b[c][d] and A::$b[c][d]() have very different interpretation. The former is + * interpreted as (A::$b)[c][d], while the latter is the same as A::{$b[c][d]}(). We parse the + * latter as the former initially and this method fixes the AST into the correct form when we + * encounter the "()". + * + * @param Node\Expr\StaticPropertyFetch|Node\Expr\ArrayDimFetch $prop + * @param Node\Arg[] $args + * @param array $attributes + * + * @return Expr\StaticCall + */ + protected function fixupPhp5StaticPropCall($prop, array $args, array $attributes) + { + if ($prop instanceof Node\Expr\StaticPropertyFetch) { + $name = $prop->name instanceof VarLikeIdentifier ? $prop->name->toString() : $prop->name; + $var = new Expr\Variable($name, $prop->name->getAttributes()); + $phabelReturn = new Expr\StaticCall($prop->class, $var, $args, $attributes); + if (!$phabelReturn instanceof Expr\StaticCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } elseif ($prop instanceof Node\Expr\ArrayDimFetch) { + $tmp = $prop; + while ($tmp->var instanceof Node\Expr\ArrayDimFetch) { + $tmp = $tmp->var; + } + /** @var Expr\StaticPropertyFetch $staticProp */ + $staticProp = $tmp->var; + // Set start attributes to attributes of innermost node + $tmp = $prop; + $this->fixupStartAttributes($tmp, $staticProp->name); + while ($tmp->var instanceof Node\Expr\ArrayDimFetch) { + $tmp = $tmp->var; + $this->fixupStartAttributes($tmp, $staticProp->name); + } + $name = $staticProp->name instanceof VarLikeIdentifier ? $staticProp->name->toString() : $staticProp->name; + $tmp->var = new Expr\Variable($name, $staticProp->name->getAttributes()); + $phabelReturn = new Expr\StaticCall($staticProp->class, $prop, $args, $attributes); + if (!$phabelReturn instanceof Expr\StaticCall) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\StaticCall, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } else { + throw new \Exception(); + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type Expr\\StaticCall, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + protected function fixupStartAttributes(Node $to, Node $from) + { + $startAttributes = ['startLine', 'startFilePos', 'startTokenPos']; + foreach ($startAttributes as $startAttribute) { + if ($from->hasAttribute($startAttribute)) { + $to->setAttribute($startAttribute, $from->getAttribute($startAttribute)); + } + } + } + protected function handleBuiltinTypes(Name $name) + { + $builtinTypes = ['bool' => \true, 'int' => \true, 'float' => \true, 'string' => \true, 'iterable' => \true, 'void' => \true, 'object' => \true, 'null' => \true, 'false' => \true, 'mixed' => \true]; + if (!$name->isUnqualified()) { + return $name; + } + $lowerName = $name->toLowerString(); + if (!isset($builtinTypes[$lowerName])) { + return $name; + } + return new Node\Identifier($lowerName, $name->getAttributes()); + } + /** + * Get combined start and end attributes at a stack location + * + * @param int $pos Stack location + * + * @return array Combined start and end attributes + */ + protected function getAttributesAt($pos) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + $phabelReturn = $this->startAttributeStack[$pos] + $this->endAttributeStack[$pos]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + protected function getFloatCastKind($cast) + { + if (!\is_string($cast)) { + if (!(\is_string($cast) || \is_object($cast) && \method_exists($cast, '__toString') || (\is_bool($cast) || \is_numeric($cast)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($cast) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cast) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cast = (string) $cast; + } + } + $cast = \strtolower($cast); + if (\strpos($cast, 'float') !== \false) { + $phabelReturn = Double::KIND_FLOAT; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + if (\strpos($cast, 'real') !== \false) { + $phabelReturn = Double::KIND_REAL; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = Double::KIND_DOUBLE; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + protected function parseLNumber($str, $attributes, $allowInvalidOctal = \false) + { + try { + return LNumber::fromString($str, $attributes, $allowInvalidOctal); + } catch (Error $error) { + $this->emitError($error); + // Use dummy value + return new LNumber(0, $attributes); + } + } + /** + * Parse a T_NUM_STRING token into either an integer or string node. + * + * @param string $str Number string + * @param array $attributes Attributes + * + * @return LNumber|String_ Integer or string node. + */ + protected function parseNumString($str, array $attributes) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + if (!\preg_match('/^(?:0|-?[1-9][0-9]*)$/', $str)) { + return new String_($str, $attributes); + } + $num = +$str; + if (!\is_int($num)) { + return new String_($str, $attributes); + } + return new LNumber($num, $attributes); + } + protected function stripIndentation($string, $indentLen, $indentChar, $newlineAtStart, $newlineAtEnd, array $attributes) + { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + if (!\is_int($indentLen)) { + if (!(\is_bool($indentLen) || \is_numeric($indentLen))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($indentLen) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($indentLen) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $indentLen = (int) $indentLen; + } + } + if (!\is_string($indentChar)) { + if (!(\is_string($indentChar) || \is_object($indentChar) && \method_exists($indentChar, '__toString') || (\is_bool($indentChar) || \is_numeric($indentChar)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($indentChar) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($indentChar) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $indentChar = (string) $indentChar; + } + } + if (!\is_bool($newlineAtStart)) { + if (!(\is_bool($newlineAtStart) || \is_numeric($newlineAtStart) || \is_string($newlineAtStart))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($newlineAtStart) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newlineAtStart) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newlineAtStart = (bool) $newlineAtStart; + } + } + if (!\is_bool($newlineAtEnd)) { + if (!(\is_bool($newlineAtEnd) || \is_numeric($newlineAtEnd) || \is_string($newlineAtEnd))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($newlineAtEnd) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newlineAtEnd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newlineAtEnd = (bool) $newlineAtEnd; + } + } + if ($indentLen === 0) { + return $string; + } + $start = $newlineAtStart ? '(?:(?<=\\n)|\\A)' : '(?<=\\n)'; + $end = $newlineAtEnd ? '(?:(?=[\\r\\n])|\\z)' : '(?=[\\r\\n])'; + $regex = '/' . $start . '([ \\t]*)(' . $end . ')?/'; + return \preg_replace_callback($regex, function ($matches) use($indentLen, $indentChar, $attributes) { + $prefix = \substr($matches[1], 0, $indentLen); + if (\false !== \strpos($prefix, $indentChar === " " ? "\t" : " ")) { + $this->emitError(new Error('Invalid indentation - tabs and spaces cannot be mixed', $attributes)); + } elseif (\strlen($prefix) < $indentLen && !isset($matches[2])) { + $this->emitError(new Error('Invalid body indentation level (expecting an indentation level of at least ' . $indentLen . ')', $attributes)); + } + return \substr($matches[0], \strlen($prefix)); + }, $string); + } + protected function parseDocString($startToken, $contents, $endToken, array $attributes, array $endTokenAttributes, $parseUnicodeEscape) + { + if (!\is_string($startToken)) { + if (!(\is_string($startToken) || \is_object($startToken) && \method_exists($startToken, '__toString') || (\is_bool($startToken) || \is_numeric($startToken)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($startToken) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($startToken) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $startToken = (string) $startToken; + } + } + if (!\is_string($endToken)) { + if (!(\is_string($endToken) || \is_object($endToken) && \method_exists($endToken, '__toString') || (\is_bool($endToken) || \is_numeric($endToken)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($endToken) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($endToken) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $endToken = (string) $endToken; + } + } + if (!\is_bool($parseUnicodeEscape)) { + if (!(\is_bool($parseUnicodeEscape) || \is_numeric($parseUnicodeEscape) || \is_string($parseUnicodeEscape))) { + throw new \TypeError(__METHOD__ . '(): Argument #6 ($parseUnicodeEscape) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($parseUnicodeEscape) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $parseUnicodeEscape = (bool) $parseUnicodeEscape; + } + } + $kind = \strpos($startToken, "'") === \false ? String_::KIND_HEREDOC : String_::KIND_NOWDOC; + $regex = '/\\A[bB]?<<<[ \\t]*[\'"]?([a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*)[\'"]?(?:\\r\\n|\\n|\\r)\\z/'; + $result = \preg_match($regex, $startToken, $matches); + \assert($result === 1); + $label = $matches[1]; + $result = \preg_match('/\\A[ \\t]*/', $endToken, $matches); + \assert($result === 1); + $indentation = $matches[0]; + $attributes['kind'] = $kind; + $attributes['docLabel'] = $label; + $attributes['docIndentation'] = $indentation; + $indentHasSpaces = \false !== \strpos($indentation, " "); + $indentHasTabs = \false !== \strpos($indentation, "\t"); + if ($indentHasSpaces && $indentHasTabs) { + $this->emitError(new Error('Invalid indentation - tabs and spaces cannot be mixed', $endTokenAttributes)); + // Proceed processing as if this doc string is not indented + $indentation = ''; + } + $indentLen = \strlen($indentation); + $indentChar = $indentHasSpaces ? " " : "\t"; + if (\is_string($contents)) { + if ($contents === '') { + return new String_('', $attributes); + } + $contents = $this->stripIndentation($contents, $indentLen, $indentChar, \true, \true, $attributes); + $contents = \preg_replace('~(\\r\\n|\\n|\\r)\\z~', '', $contents); + if ($kind === String_::KIND_HEREDOC) { + $contents = String_::parseEscapeSequences($contents, null, $parseUnicodeEscape); + } + return new String_($contents, $attributes); + } else { + \assert(\count($contents) > 0); + if (!$contents[0] instanceof Node\Scalar\EncapsedStringPart) { + // If there is no leading encapsed string part, pretend there is an empty one + $this->stripIndentation('', $indentLen, $indentChar, \true, \false, $contents[0]->getAttributes()); + } + $newContents = []; + foreach ($contents as $i => $part) { + if ($part instanceof Node\Scalar\EncapsedStringPart) { + $isLast = $i === \count($contents) - 1; + $part->value = $this->stripIndentation($part->value, $indentLen, $indentChar, $i === 0, $isLast, $part->getAttributes()); + $part->value = String_::parseEscapeSequences($part->value, null, $parseUnicodeEscape); + if ($isLast) { + $part->value = \preg_replace('~(\\r\\n|\\n|\\r)\\z~', '', $part->value); + } + if ('' === $part->value) { + continue; + } + } + $newContents[] = $part; + } + return new Encapsed($newContents, $attributes); + } + } + /** + * Create attributes for a zero-length common-capturing nop. + * + * @param Comment[] $comments + * @return array + */ + protected function createCommentNopAttributes(array $comments) + { + $comment = $comments[\count($comments) - 1]; + $commentEndLine = $comment->getEndLine(); + $commentEndFilePos = $comment->getEndFilePos(); + $commentEndTokenPos = $comment->getEndTokenPos(); + $attributes = ['comments' => $comments]; + if (-1 !== $commentEndLine) { + $attributes['startLine'] = $commentEndLine; + $attributes['endLine'] = $commentEndLine; + } + if (-1 !== $commentEndFilePos) { + $attributes['startFilePos'] = $commentEndFilePos + 1; + $attributes['endFilePos'] = $commentEndFilePos; + } + if (-1 !== $commentEndTokenPos) { + $attributes['startTokenPos'] = $commentEndTokenPos + 1; + $attributes['endTokenPos'] = $commentEndTokenPos; + } + return $attributes; + } + protected function checkModifier($a, $b, $modifierPos) + { + // Jumping through some hoops here because verifyModifier() is also used elsewhere + try { + Class_::verifyModifier($a, $b); + } catch (Error $error) { + $error->setAttributes($this->getAttributesAt($modifierPos)); + $this->emitError($error); + } + } + protected function checkParam(Param $node) + { + if ($node->variadic && null !== $node->default) { + $this->emitError(new Error('Variadic parameter cannot have a default value', $node->default->getAttributes())); + } + } + protected function checkTryCatch(TryCatch $node) + { + if (empty($node->catches) && null === $node->finally) { + $this->emitError(new Error('Cannot use try without catch or finally', $node->getAttributes())); + } + } + protected function checkNamespace(Namespace_ $node) + { + if (null !== $node->stmts) { + foreach ($node->stmts as $stmt) { + if ($stmt instanceof Namespace_) { + $this->emitError(new Error('Namespace declarations cannot be nested', $stmt->getAttributes())); + } + } + } + } + protected function checkClass(Class_ $node, $namePos) + { + if (null !== $node->name && $node->name->isSpecialClassName()) { + $this->emitError(new Error(\sprintf('Cannot use \'%s\' as class name as it is reserved', $node->name), $this->getAttributesAt($namePos))); + } + if ($node->extends && $node->extends->isSpecialClassName()) { + $this->emitError(new Error(\sprintf('Cannot use \'%s\' as class name as it is reserved', $node->extends), $node->extends->getAttributes())); + } + foreach ($node->implements as $interface) { + if ($interface->isSpecialClassName()) { + $this->emitError(new Error(\sprintf('Cannot use \'%s\' as interface name as it is reserved', $interface), $interface->getAttributes())); + } + } + } + protected function checkInterface(Interface_ $node, $namePos) + { + if (null !== $node->name && $node->name->isSpecialClassName()) { + $this->emitError(new Error(\sprintf('Cannot use \'%s\' as class name as it is reserved', $node->name), $this->getAttributesAt($namePos))); + } + foreach ($node->extends as $interface) { + if ($interface->isSpecialClassName()) { + $this->emitError(new Error(\sprintf('Cannot use \'%s\' as interface name as it is reserved', $interface), $interface->getAttributes())); + } + } + } + protected function checkClassMethod(ClassMethod $node, $modifierPos) + { + if ($node->flags & Class_::MODIFIER_STATIC) { + switch ($node->name->toLowerString()) { + case '__construct': + $this->emitError(new Error(\sprintf('Constructor %s() cannot be static', $node->name), $this->getAttributesAt($modifierPos))); + break; + case '__destruct': + $this->emitError(new Error(\sprintf('Destructor %s() cannot be static', $node->name), $this->getAttributesAt($modifierPos))); + break; + case '__clone': + $this->emitError(new Error(\sprintf('Clone method %s() cannot be static', $node->name), $this->getAttributesAt($modifierPos))); + break; + } + } + } + protected function checkClassConst(ClassConst $node, $modifierPos) + { + if ($node->flags & Class_::MODIFIER_STATIC) { + $this->emitError(new Error("Cannot use 'static' as constant modifier", $this->getAttributesAt($modifierPos))); + } + if ($node->flags & Class_::MODIFIER_ABSTRACT) { + $this->emitError(new Error("Cannot use 'abstract' as constant modifier", $this->getAttributesAt($modifierPos))); + } + if ($node->flags & Class_::MODIFIER_FINAL) { + $this->emitError(new Error("Cannot use 'final' as constant modifier", $this->getAttributesAt($modifierPos))); + } + } + protected function checkProperty(Property $node, $modifierPos) + { + if ($node->flags & Class_::MODIFIER_ABSTRACT) { + $this->emitError(new Error('Properties cannot be declared abstract', $this->getAttributesAt($modifierPos))); + } + if ($node->flags & Class_::MODIFIER_FINAL) { + $this->emitError(new Error('Properties cannot be declared final', $this->getAttributesAt($modifierPos))); + } + } + protected function checkUseUse(UseUse $node, $namePos) + { + if ($node->alias && $node->alias->isSpecialClassName()) { + $this->emitError(new Error(\sprintf('Cannot use %s as %s because \'%2$s\' is a special class name', $node->name, $node->alias), $this->getAttributesAt($namePos))); + } + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/ParserFactory.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/ParserFactory.php new file mode 100644 index 000000000..804d90541 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/ParserFactory.php @@ -0,0 +1,62 @@ +pAttrGroups($node->attrGroups, \true) . $this->pModifiers($node->flags) . ($node->type ? $this->p($node->type) . ' ' : '') . ($node->byRef ? '&' : '') . ($node->variadic ? '...' : '') . $this->p($node->var) . ($node->default ? ' = ' . $this->p($node->default) : ''); + } + protected function pArg(Node\Arg $node) + { + return ($node->name ? $node->name->toString() . ': ' : '') . ($node->byRef ? '&' : '') . ($node->unpack ? '...' : '') . $this->p($node->value); + } + protected function pConst(Node\Const_ $node) + { + return $node->name . ' = ' . $this->p($node->value); + } + protected function pNullableType(Node\NullableType $node) + { + return '?' . $this->p($node->type); + } + protected function pUnionType(Node\UnionType $node) + { + return $this->pImplode($node->types, '|'); + } + protected function pIdentifier(Node\Identifier $node) + { + return $node->name; + } + protected function pVarLikeIdentifier(Node\VarLikeIdentifier $node) + { + return '$' . $node->name; + } + protected function pAttribute(Node\Attribute $node) + { + return $this->p($node->name) . ($node->args ? '(' . $this->pCommaSeparated($node->args) . ')' : ''); + } + protected function pAttributeGroup(Node\AttributeGroup $node) + { + return '#[' . $this->pCommaSeparated($node->attrs) . ']'; + } + // Names + protected function pName(Name $node) + { + return \implode('\\', $node->parts); + } + protected function pName_FullyQualified(Name\FullyQualified $node) + { + return '\\' . \implode('\\', $node->parts); + } + protected function pName_Relative(Name\Relative $node) + { + return 'namespace\\' . \implode('\\', $node->parts); + } + // Magic Constants + protected function pScalar_MagicConst_Class(MagicConst\Class_ $node) + { + return '__CLASS__'; + } + protected function pScalar_MagicConst_Dir(MagicConst\Dir $node) + { + return '__DIR__'; + } + protected function pScalar_MagicConst_File(MagicConst\File $node) + { + return '__FILE__'; + } + protected function pScalar_MagicConst_Function(MagicConst\Function_ $node) + { + return '__FUNCTION__'; + } + protected function pScalar_MagicConst_Line(MagicConst\Line $node) + { + return '__LINE__'; + } + protected function pScalar_MagicConst_Method(MagicConst\Method $node) + { + return '__METHOD__'; + } + protected function pScalar_MagicConst_Namespace(MagicConst\Namespace_ $node) + { + return '__NAMESPACE__'; + } + protected function pScalar_MagicConst_Trait(MagicConst\Trait_ $node) + { + return '__TRAIT__'; + } + // Scalars + protected function pScalar_String(Scalar\String_ $node) + { + $kind = $node->getAttribute('kind', Scalar\String_::KIND_SINGLE_QUOTED); + switch ($kind) { + case Scalar\String_::KIND_NOWDOC: + $label = $node->getAttribute('docLabel'); + if ($label && !$this->containsEndLabel($node->value, $label)) { + if ($node->value === '') { + return "<<<'{$label}'\n{$label}" . $this->docStringEndToken; + } + return "<<<'{$label}'\n{$node->value}\n{$label}" . $this->docStringEndToken; + } + /* break missing intentionally */ + case Scalar\String_::KIND_SINGLE_QUOTED: + return $this->pSingleQuotedString($node->value); + case Scalar\String_::KIND_HEREDOC: + $label = $node->getAttribute('docLabel'); + if ($label && !$this->containsEndLabel($node->value, $label)) { + if ($node->value === '') { + return "<<<{$label}\n{$label}" . $this->docStringEndToken; + } + $escaped = $this->escapeString($node->value, null); + return "<<<{$label}\n" . $escaped . "\n{$label}" . $this->docStringEndToken; + } + /* break missing intentionally */ + case Scalar\String_::KIND_DOUBLE_QUOTED: + return '"' . $this->escapeString($node->value, '"') . '"'; + } + throw new \Exception('Invalid string kind'); + } + protected function pScalar_Encapsed(Scalar\Encapsed $node) + { + if ($node->getAttribute('kind') === Scalar\String_::KIND_HEREDOC) { + $label = $node->getAttribute('docLabel'); + if ($label && !$this->encapsedContainsEndLabel($node->parts, $label)) { + if (\count($node->parts) === 1 && $node->parts[0] instanceof Scalar\EncapsedStringPart && $node->parts[0]->value === '') { + return "<<<{$label}\n{$label}" . $this->docStringEndToken; + } + return "<<<{$label}\n" . $this->pEncapsList($node->parts, null) . "\n{$label}" . $this->docStringEndToken; + } + } + return '"' . $this->pEncapsList($node->parts, '"') . '"'; + } + protected function pScalar_LNumber(Scalar\LNumber $node) + { + if ($node->value === -\PHP_INT_MAX - 1) { + // PHP_INT_MIN cannot be represented as a literal, + // because the sign is not part of the literal + return '(-' . \PHP_INT_MAX . '-1)'; + } + $kind = $node->getAttribute('kind', Scalar\LNumber::KIND_DEC); + if (Scalar\LNumber::KIND_DEC === $kind) { + return (string) $node->value; + } + if ($node->value < 0) { + $sign = '-'; + $str = (string) -$node->value; + } else { + $sign = ''; + $str = (string) $node->value; + } + switch ($kind) { + case Scalar\LNumber::KIND_BIN: + return $sign . '0b' . \base_convert($str, 10, 2); + case Scalar\LNumber::KIND_OCT: + return $sign . '0' . \base_convert($str, 10, 8); + case Scalar\LNumber::KIND_HEX: + return $sign . '0x' . \base_convert($str, 10, 16); + } + throw new \Exception('Invalid number kind'); + } + protected function pScalar_DNumber(Scalar\DNumber $node) + { + if (!\is_finite($node->value)) { + if ($node->value === \INF) { + return '\\INF'; + } elseif ($node->value === -\INF) { + return '-\\INF'; + } else { + return '\\NAN'; + } + } + // Try to find a short full-precision representation + $stringValue = \sprintf('%.16G', $node->value); + if ($node->value !== (double) $stringValue) { + $stringValue = \sprintf('%.17G', $node->value); + } + // %G is locale dependent and there exists no locale-independent alternative. We don't want + // mess with switching locales here, so let's assume that a comma is the only non-standard + // decimal separator we may encounter... + $stringValue = \str_replace(',', '.', $stringValue); + // ensure that number is really printed as float + return \preg_match('/^-?[0-9]+$/', $stringValue) ? $stringValue . '.0' : $stringValue; + } + protected function pScalar_EncapsedStringPart(Scalar\EncapsedStringPart $node) + { + throw new \LogicException('Cannot directly print EncapsedStringPart'); + } + // Assignments + protected function pExpr_Assign(Expr\Assign $node) + { + return $this->pInfixOp(Expr\Assign::class, $node->var, ' = ', $node->expr); + } + protected function pExpr_AssignRef(Expr\AssignRef $node) + { + return $this->pInfixOp(Expr\AssignRef::class, $node->var, ' =& ', $node->expr); + } + protected function pExpr_AssignOp_Plus(AssignOp\Plus $node) + { + return $this->pInfixOp(AssignOp\Plus::class, $node->var, ' += ', $node->expr); + } + protected function pExpr_AssignOp_Minus(AssignOp\Minus $node) + { + return $this->pInfixOp(AssignOp\Minus::class, $node->var, ' -= ', $node->expr); + } + protected function pExpr_AssignOp_Mul(AssignOp\Mul $node) + { + return $this->pInfixOp(AssignOp\Mul::class, $node->var, ' *= ', $node->expr); + } + protected function pExpr_AssignOp_Div(AssignOp\Div $node) + { + return $this->pInfixOp(AssignOp\Div::class, $node->var, ' /= ', $node->expr); + } + protected function pExpr_AssignOp_Concat(AssignOp\Concat $node) + { + return $this->pInfixOp(AssignOp\Concat::class, $node->var, ' .= ', $node->expr); + } + protected function pExpr_AssignOp_Mod(AssignOp\Mod $node) + { + return $this->pInfixOp(AssignOp\Mod::class, $node->var, ' %= ', $node->expr); + } + protected function pExpr_AssignOp_BitwiseAnd(AssignOp\BitwiseAnd $node) + { + return $this->pInfixOp(AssignOp\BitwiseAnd::class, $node->var, ' &= ', $node->expr); + } + protected function pExpr_AssignOp_BitwiseOr(AssignOp\BitwiseOr $node) + { + return $this->pInfixOp(AssignOp\BitwiseOr::class, $node->var, ' |= ', $node->expr); + } + protected function pExpr_AssignOp_BitwiseXor(AssignOp\BitwiseXor $node) + { + return $this->pInfixOp(AssignOp\BitwiseXor::class, $node->var, ' ^= ', $node->expr); + } + protected function pExpr_AssignOp_ShiftLeft(AssignOp\ShiftLeft $node) + { + return $this->pInfixOp(AssignOp\ShiftLeft::class, $node->var, ' <<= ', $node->expr); + } + protected function pExpr_AssignOp_ShiftRight(AssignOp\ShiftRight $node) + { + return $this->pInfixOp(AssignOp\ShiftRight::class, $node->var, ' >>= ', $node->expr); + } + protected function pExpr_AssignOp_Pow(AssignOp\Pow $node) + { + return $this->pInfixOp(AssignOp\Pow::class, $node->var, ' **= ', $node->expr); + } + protected function pExpr_AssignOp_Coalesce(AssignOp\Coalesce $node) + { + return $this->pInfixOp(AssignOp\Coalesce::class, $node->var, ' ??= ', $node->expr); + } + // Binary expressions + protected function pExpr_BinaryOp_Plus(BinaryOp\Plus $node) + { + return $this->pInfixOp(BinaryOp\Plus::class, $node->left, ' + ', $node->right); + } + protected function pExpr_BinaryOp_Minus(BinaryOp\Minus $node) + { + return $this->pInfixOp(BinaryOp\Minus::class, $node->left, ' - ', $node->right); + } + protected function pExpr_BinaryOp_Mul(BinaryOp\Mul $node) + { + return $this->pInfixOp(BinaryOp\Mul::class, $node->left, ' * ', $node->right); + } + protected function pExpr_BinaryOp_Div(BinaryOp\Div $node) + { + return $this->pInfixOp(BinaryOp\Div::class, $node->left, ' / ', $node->right); + } + protected function pExpr_BinaryOp_Concat(BinaryOp\Concat $node) + { + return $this->pInfixOp(BinaryOp\Concat::class, $node->left, ' . ', $node->right); + } + protected function pExpr_BinaryOp_Mod(BinaryOp\Mod $node) + { + return $this->pInfixOp(BinaryOp\Mod::class, $node->left, ' % ', $node->right); + } + protected function pExpr_BinaryOp_BooleanAnd(BinaryOp\BooleanAnd $node) + { + return $this->pInfixOp(BinaryOp\BooleanAnd::class, $node->left, ' && ', $node->right); + } + protected function pExpr_BinaryOp_BooleanOr(BinaryOp\BooleanOr $node) + { + return $this->pInfixOp(BinaryOp\BooleanOr::class, $node->left, ' || ', $node->right); + } + protected function pExpr_BinaryOp_BitwiseAnd(BinaryOp\BitwiseAnd $node) + { + return $this->pInfixOp(BinaryOp\BitwiseAnd::class, $node->left, ' & ', $node->right); + } + protected function pExpr_BinaryOp_BitwiseOr(BinaryOp\BitwiseOr $node) + { + return $this->pInfixOp(BinaryOp\BitwiseOr::class, $node->left, ' | ', $node->right); + } + protected function pExpr_BinaryOp_BitwiseXor(BinaryOp\BitwiseXor $node) + { + return $this->pInfixOp(BinaryOp\BitwiseXor::class, $node->left, ' ^ ', $node->right); + } + protected function pExpr_BinaryOp_ShiftLeft(BinaryOp\ShiftLeft $node) + { + return $this->pInfixOp(BinaryOp\ShiftLeft::class, $node->left, ' << ', $node->right); + } + protected function pExpr_BinaryOp_ShiftRight(BinaryOp\ShiftRight $node) + { + return $this->pInfixOp(BinaryOp\ShiftRight::class, $node->left, ' >> ', $node->right); + } + protected function pExpr_BinaryOp_Pow(BinaryOp\Pow $node) + { + return $this->pInfixOp(BinaryOp\Pow::class, $node->left, ' ** ', $node->right); + } + protected function pExpr_BinaryOp_LogicalAnd(BinaryOp\LogicalAnd $node) + { + return $this->pInfixOp(BinaryOp\LogicalAnd::class, $node->left, ' and ', $node->right); + } + protected function pExpr_BinaryOp_LogicalOr(BinaryOp\LogicalOr $node) + { + return $this->pInfixOp(BinaryOp\LogicalOr::class, $node->left, ' or ', $node->right); + } + protected function pExpr_BinaryOp_LogicalXor(BinaryOp\LogicalXor $node) + { + return $this->pInfixOp(BinaryOp\LogicalXor::class, $node->left, ' xor ', $node->right); + } + protected function pExpr_BinaryOp_Equal(BinaryOp\Equal $node) + { + return $this->pInfixOp(BinaryOp\Equal::class, $node->left, ' == ', $node->right); + } + protected function pExpr_BinaryOp_NotEqual(BinaryOp\NotEqual $node) + { + return $this->pInfixOp(BinaryOp\NotEqual::class, $node->left, ' != ', $node->right); + } + protected function pExpr_BinaryOp_Identical(BinaryOp\Identical $node) + { + return $this->pInfixOp(BinaryOp\Identical::class, $node->left, ' === ', $node->right); + } + protected function pExpr_BinaryOp_NotIdentical(BinaryOp\NotIdentical $node) + { + return $this->pInfixOp(BinaryOp\NotIdentical::class, $node->left, ' !== ', $node->right); + } + protected function pExpr_BinaryOp_Spaceship(BinaryOp\Spaceship $node) + { + return $this->pInfixOp(BinaryOp\Spaceship::class, $node->left, ' <=> ', $node->right); + } + protected function pExpr_BinaryOp_Greater(BinaryOp\Greater $node) + { + return $this->pInfixOp(BinaryOp\Greater::class, $node->left, ' > ', $node->right); + } + protected function pExpr_BinaryOp_GreaterOrEqual(BinaryOp\GreaterOrEqual $node) + { + return $this->pInfixOp(BinaryOp\GreaterOrEqual::class, $node->left, ' >= ', $node->right); + } + protected function pExpr_BinaryOp_Smaller(BinaryOp\Smaller $node) + { + return $this->pInfixOp(BinaryOp\Smaller::class, $node->left, ' < ', $node->right); + } + protected function pExpr_BinaryOp_SmallerOrEqual(BinaryOp\SmallerOrEqual $node) + { + return $this->pInfixOp(BinaryOp\SmallerOrEqual::class, $node->left, ' <= ', $node->right); + } + protected function pExpr_BinaryOp_Coalesce(BinaryOp\Coalesce $node) + { + return $this->pInfixOp(BinaryOp\Coalesce::class, $node->left, ' ?? ', $node->right); + } + protected function pExpr_Instanceof(Expr\Instanceof_ $node) + { + list($precedence, $associativity) = $this->precedenceMap[Expr\Instanceof_::class]; + return $this->pPrec($node->expr, $precedence, $associativity, -1) . ' instanceof ' . $this->pNewVariable($node->class); + } + // Unary expressions + protected function pExpr_BooleanNot(Expr\BooleanNot $node) + { + return $this->pPrefixOp(Expr\BooleanNot::class, '!', $node->expr); + } + protected function pExpr_BitwiseNot(Expr\BitwiseNot $node) + { + return $this->pPrefixOp(Expr\BitwiseNot::class, '~', $node->expr); + } + protected function pExpr_UnaryMinus(Expr\UnaryMinus $node) + { + if ($node->expr instanceof Expr\UnaryMinus || $node->expr instanceof Expr\PreDec) { + // Enforce -(-$expr) instead of --$expr + return '-(' . $this->p($node->expr) . ')'; + } + return $this->pPrefixOp(Expr\UnaryMinus::class, '-', $node->expr); + } + protected function pExpr_UnaryPlus(Expr\UnaryPlus $node) + { + if ($node->expr instanceof Expr\UnaryPlus || $node->expr instanceof Expr\PreInc) { + // Enforce +(+$expr) instead of ++$expr + return '+(' . $this->p($node->expr) . ')'; + } + return $this->pPrefixOp(Expr\UnaryPlus::class, '+', $node->expr); + } + protected function pExpr_PreInc(Expr\PreInc $node) + { + return $this->pPrefixOp(Expr\PreInc::class, '++', $node->var); + } + protected function pExpr_PreDec(Expr\PreDec $node) + { + return $this->pPrefixOp(Expr\PreDec::class, '--', $node->var); + } + protected function pExpr_PostInc(Expr\PostInc $node) + { + return $this->pPostfixOp(Expr\PostInc::class, $node->var, '++'); + } + protected function pExpr_PostDec(Expr\PostDec $node) + { + return $this->pPostfixOp(Expr\PostDec::class, $node->var, '--'); + } + protected function pExpr_ErrorSuppress(Expr\ErrorSuppress $node) + { + return $this->pPrefixOp(Expr\ErrorSuppress::class, '@', $node->expr); + } + protected function pExpr_YieldFrom(Expr\YieldFrom $node) + { + return $this->pPrefixOp(Expr\YieldFrom::class, 'yield from ', $node->expr); + } + protected function pExpr_Print(Expr\Print_ $node) + { + return $this->pPrefixOp(Expr\Print_::class, 'print ', $node->expr); + } + // Casts + protected function pExpr_Cast_Int(Cast\Int_ $node) + { + return $this->pPrefixOp(Cast\Int_::class, '(int) ', $node->expr); + } + protected function pExpr_Cast_Double(Cast\Double $node) + { + $kind = $node->getAttribute('kind', Cast\Double::KIND_DOUBLE); + if ($kind === Cast\Double::KIND_DOUBLE) { + $cast = '(double)'; + } elseif ($kind === Cast\Double::KIND_FLOAT) { + $cast = '(float)'; + } elseif ($kind === Cast\Double::KIND_REAL) { + $cast = '(real)'; + } + return $this->pPrefixOp(Cast\Double::class, $cast . ' ', $node->expr); + } + protected function pExpr_Cast_String(Cast\String_ $node) + { + return $this->pPrefixOp(Cast\String_::class, '(string) ', $node->expr); + } + protected function pExpr_Cast_Array(Cast\Array_ $node) + { + return $this->pPrefixOp(Cast\Array_::class, '(array) ', $node->expr); + } + protected function pExpr_Cast_Object(Cast\Object_ $node) + { + return $this->pPrefixOp(Cast\Object_::class, '(object) ', $node->expr); + } + protected function pExpr_Cast_Bool(Cast\Bool_ $node) + { + return $this->pPrefixOp(Cast\Bool_::class, '(bool) ', $node->expr); + } + protected function pExpr_Cast_Unset(Cast\Unset_ $node) + { + return $this->pPrefixOp(Cast\Unset_::class, '(unset) ', $node->expr); + } + // Function calls and similar constructs + protected function pExpr_FuncCall(Expr\FuncCall $node) + { + return $this->pCallLhs($node->name) . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + protected function pExpr_MethodCall(Expr\MethodCall $node) + { + return $this->pDereferenceLhs($node->var) . '->' . $this->pObjectProperty($node->name) . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + protected function pExpr_NullsafeMethodCall(Expr\NullsafeMethodCall $node) + { + return $this->pDereferenceLhs($node->var) . '?->' . $this->pObjectProperty($node->name) . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + protected function pExpr_StaticCall(Expr\StaticCall $node) + { + return $this->pDereferenceLhs($node->class) . '::' . ($node->name instanceof Expr ? $node->name instanceof Expr\Variable ? $this->p($node->name) : '{' . $this->p($node->name) . '}' : $node->name) . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + protected function pExpr_Empty(Expr\Empty_ $node) + { + return 'empty(' . $this->p($node->expr) . ')'; + } + protected function pExpr_Isset(Expr\Isset_ $node) + { + return 'isset(' . $this->pCommaSeparated($node->vars) . ')'; + } + protected function pExpr_Eval(Expr\Eval_ $node) + { + return 'eval(' . $this->p($node->expr) . ')'; + } + protected function pExpr_Include(Expr\Include_ $node) + { + static $map = [Expr\Include_::TYPE_INCLUDE => 'include', Expr\Include_::TYPE_INCLUDE_ONCE => 'include_once', Expr\Include_::TYPE_REQUIRE => 'require', Expr\Include_::TYPE_REQUIRE_ONCE => 'require_once']; + return $map[$node->type] . ' ' . $this->p($node->expr); + } + protected function pExpr_List(Expr\List_ $node) + { + return 'list(' . $this->pCommaSeparated($node->items) . ')'; + } + // Other + protected function pExpr_Error(Expr\Error $node) + { + throw new \LogicException('Cannot pretty-print AST with Error nodes'); + } + protected function pExpr_Variable(Expr\Variable $node) + { + if ($node->name instanceof Expr) { + return '${' . $this->p($node->name) . '}'; + } else { + return '$' . $node->name; + } + } + protected function pExpr_Array(Expr\Array_ $node) + { + $syntax = $node->getAttribute('kind', $this->options['shortArraySyntax'] ? Expr\Array_::KIND_SHORT : Expr\Array_::KIND_LONG); + if ($syntax === Expr\Array_::KIND_SHORT) { + return '[' . $this->pMaybeMultiline($node->items, \true) . ']'; + } else { + return 'array(' . $this->pMaybeMultiline($node->items, \true) . ')'; + } + } + protected function pExpr_ArrayItem(Expr\ArrayItem $node) + { + return (null !== $node->key ? $this->p($node->key) . ' => ' : '') . ($node->byRef ? '&' : '') . ($node->unpack ? '...' : '') . $this->p($node->value); + } + protected function pExpr_ArrayDimFetch(Expr\ArrayDimFetch $node) + { + return $this->pDereferenceLhs($node->var) . '[' . (null !== $node->dim ? $this->p($node->dim) : '') . ']'; + } + protected function pExpr_ConstFetch(Expr\ConstFetch $node) + { + return $this->p($node->name); + } + protected function pExpr_ClassConstFetch(Expr\ClassConstFetch $node) + { + return $this->pDereferenceLhs($node->class) . '::' . $this->p($node->name); + } + protected function pExpr_PropertyFetch(Expr\PropertyFetch $node) + { + return $this->pDereferenceLhs($node->var) . '->' . $this->pObjectProperty($node->name); + } + protected function pExpr_NullsafePropertyFetch(Expr\NullsafePropertyFetch $node) + { + return $this->pDereferenceLhs($node->var) . '?->' . $this->pObjectProperty($node->name); + } + protected function pExpr_StaticPropertyFetch(Expr\StaticPropertyFetch $node) + { + return $this->pDereferenceLhs($node->class) . '::$' . $this->pObjectProperty($node->name); + } + protected function pExpr_ShellExec(Expr\ShellExec $node) + { + return '`' . $this->pEncapsList($node->parts, '`') . '`'; + } + protected function pExpr_Closure(Expr\Closure $node) + { + return $this->pAttrGroups($node->attrGroups, \true) . ($node->static ? 'static ' : '') . 'function ' . ($node->byRef ? '&' : '') . '(' . $this->pCommaSeparated($node->params) . ')' . (!empty($node->uses) ? ' use(' . $this->pCommaSeparated($node->uses) . ')' : '') . (null !== $node->returnType ? ' : ' . $this->p($node->returnType) : '') . ' {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pExpr_Match(Expr\Match_ $node) + { + return 'match (' . $this->p($node->cond) . ') {' . $this->pCommaSeparatedMultiline($node->arms, \true) . $this->nl . '}'; + } + protected function pMatchArm(Node\MatchArm $node) + { + return ($node->conds ? $this->pCommaSeparated($node->conds) : 'default') . ' => ' . $this->p($node->body); + } + protected function pExpr_ArrowFunction(Expr\ArrowFunction $node) + { + return $this->pAttrGroups($node->attrGroups, \true) . ($node->static ? 'static ' : '') . 'fn' . ($node->byRef ? '&' : '') . '(' . $this->pCommaSeparated($node->params) . ')' . (null !== $node->returnType ? ': ' . $this->p($node->returnType) : '') . ' => ' . $this->pDereferenceLhs($node->expr); + } + protected function pExpr_ClosureUse(Expr\ClosureUse $node) + { + return ($node->byRef ? '&' : '') . $this->p($node->var); + } + protected function pExpr_New(Expr\New_ $node) + { + if ($node->class instanceof Stmt\Class_) { + $args = $node->args ? '(' . $this->pMaybeMultiline($node->args) . ')' : ''; + return 'new ' . $this->pClassCommon($node->class, $args); + } + return 'new ' . $this->pNewVariable($node->class) . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + protected function pExpr_Clone(Expr\Clone_ $node) + { + return 'clone ' . $this->p($node->expr); + } + protected function pExpr_Ternary(Expr\Ternary $node) + { + // a bit of cheating: we treat the ternary as a binary op where the ?...: part is the operator. + // this is okay because the part between ? and : never needs parentheses. + return $this->pInfixOp(Expr\Ternary::class, $node->cond, ' ?' . (null !== $node->if ? ' ' . $this->p($node->if) . ' ' : '') . ': ', $node->else); + } + protected function pExpr_Exit(Expr\Exit_ $node) + { + $kind = $node->getAttribute('kind', Expr\Exit_::KIND_DIE); + return ($kind === Expr\Exit_::KIND_EXIT ? 'exit' : 'die') . (null !== $node->expr ? '(' . $this->p($node->expr) . ')' : ''); + } + protected function pExpr_Throw(Expr\Throw_ $node) + { + return 'throw ' . $this->p($node->expr); + } + protected function pExpr_Yield(Expr\Yield_ $node) + { + if ($node->value === null) { + return 'yield'; + } else { + // this is a bit ugly, but currently there is no way to detect whether the parentheses are necessary + return '(yield ' . ($node->key !== null ? $this->p($node->key) . ' => ' : '') . $this->p($node->value) . ')'; + } + } + // Declarations + protected function pStmt_Namespace(Stmt\Namespace_ $node) + { + if ($this->canUseSemicolonNamespaces) { + return 'namespace ' . $this->p($node->name) . ';' . $this->nl . $this->pStmts($node->stmts, \false); + } else { + return 'namespace' . (null !== $node->name ? ' ' . $this->p($node->name) : '') . ' {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + } + protected function pStmt_Use(Stmt\Use_ $node) + { + return 'use ' . $this->pUseType($node->type) . $this->pCommaSeparated($node->uses) . ';'; + } + protected function pStmt_GroupUse(Stmt\GroupUse $node) + { + return 'use ' . $this->pUseType($node->type) . $this->pName($node->prefix) . '\\{' . $this->pCommaSeparated($node->uses) . '};'; + } + protected function pStmt_UseUse(Stmt\UseUse $node) + { + return $this->pUseType($node->type) . $this->p($node->name) . (null !== $node->alias ? ' as ' . $node->alias : ''); + } + protected function pUseType($type) + { + return $type === Stmt\Use_::TYPE_FUNCTION ? 'function ' : ($type === Stmt\Use_::TYPE_CONSTANT ? 'const ' : ''); + } + protected function pStmt_Interface(Stmt\Interface_ $node) + { + return $this->pAttrGroups($node->attrGroups) . 'interface ' . $node->name . (!empty($node->extends) ? ' extends ' . $this->pCommaSeparated($node->extends) : '') . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_Class(Stmt\Class_ $node) + { + return $this->pClassCommon($node, ' ' . $node->name); + } + protected function pStmt_Trait(Stmt\Trait_ $node) + { + return $this->pAttrGroups($node->attrGroups) . 'trait ' . $node->name . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_TraitUse(Stmt\TraitUse $node) + { + return 'use ' . $this->pCommaSeparated($node->traits) . (empty($node->adaptations) ? ';' : ' {' . $this->pStmts($node->adaptations) . $this->nl . '}'); + } + protected function pStmt_TraitUseAdaptation_Precedence(Stmt\TraitUseAdaptation\Precedence $node) + { + return $this->p($node->trait) . '::' . $node->method . ' insteadof ' . $this->pCommaSeparated($node->insteadof) . ';'; + } + protected function pStmt_TraitUseAdaptation_Alias(Stmt\TraitUseAdaptation\Alias $node) + { + return (null !== $node->trait ? $this->p($node->trait) . '::' : '') . $node->method . ' as' . (null !== $node->newModifier ? ' ' . \rtrim($this->pModifiers($node->newModifier), ' ') : '') . (null !== $node->newName ? ' ' . $node->newName : '') . ';'; + } + protected function pStmt_Property(Stmt\Property $node) + { + return $this->pAttrGroups($node->attrGroups) . (0 === $node->flags ? 'var ' : $this->pModifiers($node->flags)) . ($node->type ? $this->p($node->type) . ' ' : '') . $this->pCommaSeparated($node->props) . ';'; + } + protected function pStmt_PropertyProperty(Stmt\PropertyProperty $node) + { + return '$' . $node->name . (null !== $node->default ? ' = ' . $this->p($node->default) : ''); + } + protected function pStmt_ClassMethod(Stmt\ClassMethod $node) + { + return $this->pAttrGroups($node->attrGroups) . $this->pModifiers($node->flags) . 'function ' . ($node->byRef ? '&' : '') . $node->name . '(' . $this->pMaybeMultiline($node->params) . ')' . (null !== $node->returnType ? ' : ' . $this->p($node->returnType) : '') . (null !== $node->stmts ? $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}' : ';'); + } + protected function pStmt_ClassConst(Stmt\ClassConst $node) + { + return $this->pAttrGroups($node->attrGroups) . $this->pModifiers($node->flags) . 'const ' . $this->pCommaSeparated($node->consts) . ';'; + } + protected function pStmt_Function(Stmt\Function_ $node) + { + return $this->pAttrGroups($node->attrGroups) . 'function ' . ($node->byRef ? '&' : '') . $node->name . '(' . $this->pCommaSeparated($node->params) . ')' . (null !== $node->returnType ? ' : ' . $this->p($node->returnType) : '') . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_Const(Stmt\Const_ $node) + { + return 'const ' . $this->pCommaSeparated($node->consts) . ';'; + } + protected function pStmt_Declare(Stmt\Declare_ $node) + { + return 'declare (' . $this->pCommaSeparated($node->declares) . ')' . (null !== $node->stmts ? ' {' . $this->pStmts($node->stmts) . $this->nl . '}' : ';'); + } + protected function pStmt_DeclareDeclare(Stmt\DeclareDeclare $node) + { + return $node->key . '=' . $this->p($node->value); + } + // Control flow + protected function pStmt_If(Stmt\If_ $node) + { + return 'if (' . $this->p($node->cond) . ') {' . $this->pStmts($node->stmts) . $this->nl . '}' . ($node->elseifs ? ' ' . $this->pImplode($node->elseifs, ' ') : '') . (null !== $node->else ? ' ' . $this->p($node->else) : ''); + } + protected function pStmt_ElseIf(Stmt\ElseIf_ $node) + { + return 'elseif (' . $this->p($node->cond) . ') {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_Else(Stmt\Else_ $node) + { + return 'else {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_For(Stmt\For_ $node) + { + return 'for (' . $this->pCommaSeparated($node->init) . ';' . (!empty($node->cond) ? ' ' : '') . $this->pCommaSeparated($node->cond) . ';' . (!empty($node->loop) ? ' ' : '') . $this->pCommaSeparated($node->loop) . ') {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_Foreach(Stmt\Foreach_ $node) + { + return 'foreach (' . $this->p($node->expr) . ' as ' . (null !== $node->keyVar ? $this->p($node->keyVar) . ' => ' : '') . ($node->byRef ? '&' : '') . $this->p($node->valueVar) . ') {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_While(Stmt\While_ $node) + { + return 'while (' . $this->p($node->cond) . ') {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_Do(Stmt\Do_ $node) + { + return 'do {' . $this->pStmts($node->stmts) . $this->nl . '} while (' . $this->p($node->cond) . ');'; + } + protected function pStmt_Switch(Stmt\Switch_ $node) + { + return 'switch (' . $this->p($node->cond) . ') {' . $this->pStmts($node->cases) . $this->nl . '}'; + } + protected function pStmt_Case(Stmt\Case_ $node) + { + return (null !== $node->cond ? 'case ' . $this->p($node->cond) : 'default') . ':' . $this->pStmts($node->stmts); + } + protected function pStmt_TryCatch(Stmt\TryCatch $node) + { + return 'try {' . $this->pStmts($node->stmts) . $this->nl . '}' . ($node->catches ? ' ' . $this->pImplode($node->catches, ' ') : '') . ($node->finally !== null ? ' ' . $this->p($node->finally) : ''); + } + protected function pStmt_Catch(Stmt\Catch_ $node) + { + return 'catch (' . $this->pImplode($node->types, '|') . ($node->var !== null ? ' ' . $this->p($node->var) : '') . ') {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_Finally(Stmt\Finally_ $node) + { + return 'finally {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pStmt_Break(Stmt\Break_ $node) + { + return 'break' . ($node->num !== null ? ' ' . $this->p($node->num) : '') . ';'; + } + protected function pStmt_Continue(Stmt\Continue_ $node) + { + return 'continue' . ($node->num !== null ? ' ' . $this->p($node->num) : '') . ';'; + } + protected function pStmt_Return(Stmt\Return_ $node) + { + return 'return' . (null !== $node->expr ? ' ' . $this->p($node->expr) : '') . ';'; + } + protected function pStmt_Throw(Stmt\Throw_ $node) + { + return 'throw ' . $this->p($node->expr) . ';'; + } + protected function pStmt_Label(Stmt\Label $node) + { + return $node->name . ':'; + } + protected function pStmt_Goto(Stmt\Goto_ $node) + { + return 'goto ' . $node->name . ';'; + } + // Other + protected function pStmt_Expression(Stmt\Expression $node) + { + return $this->p($node->expr) . ';'; + } + protected function pStmt_Echo(Stmt\Echo_ $node) + { + return 'echo ' . $this->pCommaSeparated($node->exprs) . ';'; + } + protected function pStmt_Static(Stmt\Static_ $node) + { + return 'static ' . $this->pCommaSeparated($node->vars) . ';'; + } + protected function pStmt_Global(Stmt\Global_ $node) + { + return 'global ' . $this->pCommaSeparated($node->vars) . ';'; + } + protected function pStmt_StaticVar(Stmt\StaticVar $node) + { + return $this->p($node->var) . (null !== $node->default ? ' = ' . $this->p($node->default) : ''); + } + protected function pStmt_Unset(Stmt\Unset_ $node) + { + return 'unset(' . $this->pCommaSeparated($node->vars) . ');'; + } + protected function pStmt_InlineHTML(Stmt\InlineHTML $node) + { + $newline = $node->getAttribute('hasLeadingNewline', \true) ? "\n" : ''; + return '?>' . $newline . $node->value . 'remaining; + } + protected function pStmt_Nop(Stmt\Nop $node) + { + return ''; + } + // Helpers + protected function pClassCommon(Stmt\Class_ $node, $afterClassToken) + { + return $this->pAttrGroups($node->attrGroups, $node->name === null) . $this->pModifiers($node->flags) . 'class' . $afterClassToken . (null !== $node->extends ? ' extends ' . $this->p($node->extends) : '') . (!empty($node->implements) ? ' implements ' . $this->pCommaSeparated($node->implements) : '') . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + protected function pObjectProperty($node) + { + if ($node instanceof Expr) { + return '{' . $this->p($node) . '}'; + } else { + return $node; + } + } + protected function pEncapsList(array $encapsList, $quote) + { + $return = ''; + foreach ($encapsList as $element) { + if ($element instanceof Scalar\EncapsedStringPart) { + $return .= $this->escapeString($element->value, $quote); + } else { + $return .= '{' . $this->p($element) . '}'; + } + } + return $return; + } + protected function pSingleQuotedString($string) + { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + return '\'' . \addcslashes($string, '\'\\') . '\''; + } + protected function escapeString($string, $quote) + { + if (null === $quote) { + // For doc strings, don't escape newlines + $escaped = \addcslashes($string, "\t\f\v\$\\"); + } else { + $escaped = \addcslashes($string, "\n\r\t\f\v\$" . $quote . "\\"); + } + // Escape other control characters + return \preg_replace_callback('/([\\0-\\10\\16-\\37])(?=([0-7]?))/', function ($matches) { + $oct = \decoct(\ord($matches[1])); + if ($matches[2] !== '') { + // If there is a trailing digit, use the full three character form + return '\\' . \str_pad($oct, 3, '0', \STR_PAD_LEFT); + } + return '\\' . $oct; + }, $escaped); + } + protected function containsEndLabel($string, $label, $atStart = \true, $atEnd = \true) + { + $start = $atStart ? '(?:^|[\\r\\n])' : '[\\r\\n]'; + $end = $atEnd ? '(?:$|[;\\r\\n])' : '[;\\r\\n]'; + return \false !== \strpos($string, $label) && \preg_match('/' . $start . $label . $end . '/', $string); + } + protected function encapsedContainsEndLabel(array $parts, $label) + { + foreach ($parts as $i => $part) { + $atStart = $i === 0; + $atEnd = $i === \count($parts) - 1; + if ($part instanceof Scalar\EncapsedStringPart && $this->containsEndLabel($part->value, $label, $atStart, $atEnd)) { + return \true; + } + } + return \false; + } + protected function pDereferenceLhs(Node $node) + { + if (!$this->dereferenceLhsRequiresParens($node)) { + return $this->p($node); + } else { + return '(' . $this->p($node) . ')'; + } + } + protected function pCallLhs(Node $node) + { + if (!$this->callLhsRequiresParens($node)) { + return $this->p($node); + } else { + return '(' . $this->p($node) . ')'; + } + } + protected function pNewVariable(Node $node) + { + if (!$node instanceof Scalar\String_) { + return $this->pDereferenceLhs($node); + } else { + return '(' . $this->p($node) . ')'; + } + } + /** + * @param Node[] $nodes + * @return bool + */ + protected function hasNodeWithComments(array $nodes) + { + foreach ($nodes as $node) { + if ($node && $node->getComments()) { + return \true; + } + } + return \false; + } + protected function pMaybeMultiline(array $nodes, $trailingComma = \false) + { + if (!\is_bool($trailingComma)) { + if (!(\is_bool($trailingComma) || \is_numeric($trailingComma) || \is_string($trailingComma))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($trailingComma) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($trailingComma) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $trailingComma = (bool) $trailingComma; + } + } + if (!$this->hasNodeWithComments($nodes)) { + return $this->pCommaSeparated($nodes); + } else { + return $this->pCommaSeparatedMultiline($nodes, $trailingComma) . $this->nl; + } + } + protected function pAttrGroups(array $nodes, $inline = \false) + { + if (!\is_bool($inline)) { + if (!(\is_bool($inline) || \is_numeric($inline) || \is_string($inline))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($inline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($inline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $inline = (bool) $inline; + } + } + $result = ''; + $sep = $inline ? ' ' : $this->nl; + foreach ($nodes as $node) { + $result .= $this->p($node) . $sep; + } + $phabelReturn = $result; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/phabel/php-parser/lib/PhpParser/PrettyPrinterAbstract.php b/vendor-bundle/phabel/php-parser/lib/PhpParser/PrettyPrinterAbstract.php new file mode 100644 index 000000000..9a12745c6 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/lib/PhpParser/PrettyPrinterAbstract.php @@ -0,0 +1,1668 @@ + [0, 1], + Expr\BitwiseNot::class => [10, 1], + Expr\PreInc::class => [10, 1], + Expr\PreDec::class => [10, 1], + Expr\PostInc::class => [10, -1], + Expr\PostDec::class => [10, -1], + Expr\UnaryPlus::class => [10, 1], + Expr\UnaryMinus::class => [10, 1], + Cast\Int_::class => [10, 1], + Cast\Double::class => [10, 1], + Cast\String_::class => [10, 1], + Cast\Array_::class => [10, 1], + Cast\Object_::class => [10, 1], + Cast\Bool_::class => [10, 1], + Cast\Unset_::class => [10, 1], + Expr\ErrorSuppress::class => [10, 1], + Expr\Instanceof_::class => [20, 0], + Expr\BooleanNot::class => [30, 1], + BinaryOp\Mul::class => [40, -1], + BinaryOp\Div::class => [40, -1], + BinaryOp\Mod::class => [40, -1], + BinaryOp\Plus::class => [50, -1], + BinaryOp\Minus::class => [50, -1], + BinaryOp\Concat::class => [50, -1], + BinaryOp\ShiftLeft::class => [60, -1], + BinaryOp\ShiftRight::class => [60, -1], + BinaryOp\Smaller::class => [70, 0], + BinaryOp\SmallerOrEqual::class => [70, 0], + BinaryOp\Greater::class => [70, 0], + BinaryOp\GreaterOrEqual::class => [70, 0], + BinaryOp\Equal::class => [80, 0], + BinaryOp\NotEqual::class => [80, 0], + BinaryOp\Identical::class => [80, 0], + BinaryOp\NotIdentical::class => [80, 0], + BinaryOp\Spaceship::class => [80, 0], + BinaryOp\BitwiseAnd::class => [90, -1], + BinaryOp\BitwiseXor::class => [100, -1], + BinaryOp\BitwiseOr::class => [110, -1], + BinaryOp\BooleanAnd::class => [120, -1], + BinaryOp\BooleanOr::class => [130, -1], + BinaryOp\Coalesce::class => [140, 1], + Expr\Ternary::class => [150, 0], + // parser uses %left for assignments, but they really behave as %right + Expr\Assign::class => [160, 1], + Expr\AssignRef::class => [160, 1], + AssignOp\Plus::class => [160, 1], + AssignOp\Minus::class => [160, 1], + AssignOp\Mul::class => [160, 1], + AssignOp\Div::class => [160, 1], + AssignOp\Concat::class => [160, 1], + AssignOp\Mod::class => [160, 1], + AssignOp\BitwiseAnd::class => [160, 1], + AssignOp\BitwiseOr::class => [160, 1], + AssignOp\BitwiseXor::class => [160, 1], + AssignOp\ShiftLeft::class => [160, 1], + AssignOp\ShiftRight::class => [160, 1], + AssignOp\Pow::class => [160, 1], + AssignOp\Coalesce::class => [160, 1], + Expr\YieldFrom::class => [165, 1], + Expr\Print_::class => [168, 1], + BinaryOp\LogicalAnd::class => [170, -1], + BinaryOp\LogicalXor::class => [180, -1], + BinaryOp\LogicalOr::class => [190, -1], + Expr\Include_::class => [200, -1], + ]; + /** @var int Current indentation level. */ + protected $indentLevel; + /** @var string Newline including current indentation. */ + protected $nl; + /** @var string Token placed at end of doc string to ensure it is followed by a newline. */ + protected $docStringEndToken; + /** @var bool Whether semicolon namespaces can be used (i.e. no global namespace is used) */ + protected $canUseSemicolonNamespaces; + /** @var array Pretty printer options */ + protected $options; + /** @var TokenStream Original tokens for use in format-preserving pretty print */ + protected $origTokens; + /** @var Internal\Differ Differ for node lists */ + protected $nodeListDiffer; + /** @var bool[] Map determining whether a certain character is a label character */ + protected $labelCharMap; + /** + * @var int[][] Map from token classes and subnode names to FIXUP_* constants. This is used + * during format-preserving prints to place additional parens/braces if necessary. + */ + protected $fixupMap; + /** + * @var int[][] Map from "{$node->getType()}->{$subNode}" to ['left' => $l, 'right' => $r], + * where $l and $r specify the token type that needs to be stripped when removing + * this node. + */ + protected $removalMap; + /** + * @var mixed[] Map from "{$node->getType()}->{$subNode}" to [$find, $beforeToken, $extraLeft, $extraRight]. + * $find is an optional token after which the insertion occurs. $extraLeft/Right + * are optionally added before/after the main insertions. + */ + protected $insertionMap; + /** + * @var string[] Map From "{$node->getType()}->{$subNode}" to string that should be inserted + * between elements of this list subnode. + */ + protected $listInsertionMap; + protected $emptyListInsertionMap; + /** @var int[] Map from "{$node->getType()}->{$subNode}" to token before which the modifiers + * should be reprinted. */ + protected $modifierChangeMap; + /** + * Creates a pretty printer instance using the given options. + * + * Supported options: + * * bool $shortArraySyntax = false: Whether to use [] instead of array() as the default array + * syntax, if the node does not specify a format. + * + * @param array $options Dictionary of formatting options + */ + public function __construct(array $options = []) + { + $this->docStringEndToken = '_DOC_STRING_END_' . \mt_rand(); + $defaultOptions = ['shortArraySyntax' => \false]; + $this->options = $options + $defaultOptions; + } + /** + * Reset pretty printing state. + */ + protected function resetState() + { + $this->indentLevel = 0; + $this->nl = "\n"; + $this->origTokens = null; + } + /** + * Set indentation level + * + * @param int $level Level in number of spaces + */ + protected function setIndentLevel($level) + { + if (!\is_int($level)) { + if (!(\is_bool($level) || \is_numeric($level))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($level) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($level) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $level = (int) $level; + } + } + $this->indentLevel = $level; + $this->nl = "\n" . \str_repeat(' ', $level); + } + /** + * Increase indentation level. + */ + protected function indent() + { + $this->indentLevel += 4; + $this->nl .= ' '; + } + /** + * Decrease indentation level. + */ + protected function outdent() + { + \assert($this->indentLevel >= 4); + $this->indentLevel -= 4; + $this->nl = "\n" . \str_repeat(' ', $this->indentLevel); + } + /** + * Pretty prints an array of statements. + * + * @param Node[] $stmts Array of statements + * + * @return string Pretty printed statements + */ + public function prettyPrint(array $stmts) + { + $this->resetState(); + $this->preprocessNodes($stmts); + $phabelReturn = \ltrim($this->handleMagicTokens($this->pStmts($stmts, \false))); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Pretty prints an expression. + * + * @param Expr $node Expression node + * + * @return string Pretty printed node + */ + public function prettyPrintExpr(Expr $node) + { + $this->resetState(); + $phabelReturn = $this->handleMagicTokens($this->p($node)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Pretty prints a file of statements (includes the opening prettyPrint($stmts); + if ($stmts[0] instanceof Stmt\InlineHTML) { + $p = \preg_replace('/^<\\?php\\s+\\?>\\n?/', '', $p); + } + if ($stmts[\count($stmts) - 1] instanceof Stmt\InlineHTML) { + $p = \preg_replace('/<\\?php$/', '', \rtrim($p)); + } + $phabelReturn = $p; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Preprocesses the top-level nodes to initialize pretty printer state. + * + * @param Node[] $nodes Array of nodes + */ + protected function preprocessNodes(array $nodes) + { + /* We can use semicolon-namespaces unless there is a global namespace declaration */ + $this->canUseSemicolonNamespaces = \true; + foreach ($nodes as $node) { + if ($node instanceof Stmt\Namespace_ && null === $node->name) { + $this->canUseSemicolonNamespaces = \false; + break; + } + } + } + /** + * Handles (and removes) no-indent and doc-string-end tokens. + * + * @param string $str + * @return string + */ + protected function handleMagicTokens($str) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + // Replace doc-string-end tokens with nothing or a newline + $str = \str_replace($this->docStringEndToken . ";\n", ";\n", $str); + $str = \str_replace($this->docStringEndToken, "\n", $str); + $phabelReturn = $str; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Pretty prints an array of nodes (statements) and indents them optionally. + * + * @param Node[] $nodes Array of nodes + * @param bool $indent Whether to indent the printed nodes + * + * @return string Pretty printed statements + */ + protected function pStmts(array $nodes, $indent = \true) + { + if (!\is_bool($indent)) { + if (!(\is_bool($indent) || \is_numeric($indent) || \is_string($indent))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($indent) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($indent) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $indent = (bool) $indent; + } + } + if ($indent) { + $this->indent(); + } + $result = ''; + foreach ($nodes as $node) { + $comments = $node->getComments(); + if ($comments) { + $result .= $this->nl . $this->pComments($comments); + if ($node instanceof Stmt\Nop) { + continue; + } + } + $result .= $this->nl . $this->p($node); + } + if ($indent) { + $this->outdent(); + } + $phabelReturn = $result; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Pretty-print an infix operation while taking precedence into account. + * + * @param string $class Node class of operator + * @param Node $leftNode Left-hand side node + * @param string $operatorString String representation of the operator + * @param Node $rightNode Right-hand side node + * + * @return string Pretty printed infix operation + */ + protected function pInfixOp($class, Node $leftNode, $operatorString, Node $rightNode) + { + if (!\is_string($class)) { + if (!(\is_string($class) || \is_object($class) && \method_exists($class, '__toString') || (\is_bool($class) || \is_numeric($class)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($class) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($class) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $class = (string) $class; + } + } + if (!\is_string($operatorString)) { + if (!(\is_string($operatorString) || \is_object($operatorString) && \method_exists($operatorString, '__toString') || (\is_bool($operatorString) || \is_numeric($operatorString)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($operatorString) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($operatorString) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $operatorString = (string) $operatorString; + } + } + list($precedence, $associativity) = $this->precedenceMap[$class]; + $phabelReturn = $this->pPrec($leftNode, $precedence, $associativity, -1) . $operatorString . $this->pPrec($rightNode, $precedence, $associativity, 1); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Pretty-print a prefix operation while taking precedence into account. + * + * @param string $class Node class of operator + * @param string $operatorString String representation of the operator + * @param Node $node Node + * + * @return string Pretty printed prefix operation + */ + protected function pPrefixOp($class, $operatorString, Node $node) + { + if (!\is_string($class)) { + if (!(\is_string($class) || \is_object($class) && \method_exists($class, '__toString') || (\is_bool($class) || \is_numeric($class)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($class) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($class) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $class = (string) $class; + } + } + if (!\is_string($operatorString)) { + if (!(\is_string($operatorString) || \is_object($operatorString) && \method_exists($operatorString, '__toString') || (\is_bool($operatorString) || \is_numeric($operatorString)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($operatorString) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($operatorString) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $operatorString = (string) $operatorString; + } + } + list($precedence, $associativity) = $this->precedenceMap[$class]; + $phabelReturn = $operatorString . $this->pPrec($node, $precedence, $associativity, 1); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Pretty-print a postfix operation while taking precedence into account. + * + * @param string $class Node class of operator + * @param string $operatorString String representation of the operator + * @param Node $node Node + * + * @return string Pretty printed postfix operation + */ + protected function pPostfixOp($class, Node $node, $operatorString) + { + if (!\is_string($class)) { + if (!(\is_string($class) || \is_object($class) && \method_exists($class, '__toString') || (\is_bool($class) || \is_numeric($class)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($class) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($class) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $class = (string) $class; + } + } + if (!\is_string($operatorString)) { + if (!(\is_string($operatorString) || \is_object($operatorString) && \method_exists($operatorString, '__toString') || (\is_bool($operatorString) || \is_numeric($operatorString)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($operatorString) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($operatorString) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $operatorString = (string) $operatorString; + } + } + list($precedence, $associativity) = $this->precedenceMap[$class]; + $phabelReturn = $this->pPrec($node, $precedence, $associativity, -1) . $operatorString; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Prints an expression node with the least amount of parentheses necessary to preserve the meaning. + * + * @param Node $node Node to pretty print + * @param int $parentPrecedence Precedence of the parent operator + * @param int $parentAssociativity Associativity of parent operator + * (-1 is left, 0 is nonassoc, 1 is right) + * @param int $childPosition Position of the node relative to the operator + * (-1 is left, 1 is right) + * + * @return string The pretty printed node + */ + protected function pPrec(Node $node, $parentPrecedence, $parentAssociativity, $childPosition) + { + if (!\is_int($parentPrecedence)) { + if (!(\is_bool($parentPrecedence) || \is_numeric($parentPrecedence))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($parentPrecedence) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($parentPrecedence) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $parentPrecedence = (int) $parentPrecedence; + } + } + if (!\is_int($parentAssociativity)) { + if (!(\is_bool($parentAssociativity) || \is_numeric($parentAssociativity))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($parentAssociativity) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($parentAssociativity) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $parentAssociativity = (int) $parentAssociativity; + } + } + if (!\is_int($childPosition)) { + if (!(\is_bool($childPosition) || \is_numeric($childPosition))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($childPosition) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($childPosition) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $childPosition = (int) $childPosition; + } + } + $class = \get_class($node); + if (isset($this->precedenceMap[$class])) { + $childPrecedence = $this->precedenceMap[$class][0]; + if ($childPrecedence > $parentPrecedence || $parentPrecedence === $childPrecedence && $parentAssociativity !== $childPosition) { + $phabelReturn = '(' . $this->p($node) . ')'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + } + $phabelReturn = $this->p($node); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Pretty prints an array of nodes and implodes the printed values. + * + * @param Node[] $nodes Array of Nodes to be printed + * @param string $glue Character to implode with + * + * @return string Imploded pretty printed nodes + */ + protected function pImplode(array $nodes, $glue = '') + { + if (!\is_string($glue)) { + if (!(\is_string($glue) || \is_object($glue) && \method_exists($glue, '__toString') || (\is_bool($glue) || \is_numeric($glue)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($glue) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($glue) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $glue = (string) $glue; + } + } + $pNodes = []; + foreach ($nodes as $node) { + if (null === $node) { + $pNodes[] = ''; + } else { + $pNodes[] = $this->p($node); + } + } + $phabelReturn = \implode($glue, $pNodes); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Pretty prints an array of nodes and implodes the printed values with commas. + * + * @param Node[] $nodes Array of Nodes to be printed + * + * @return string Comma separated pretty printed nodes + */ + protected function pCommaSeparated(array $nodes) + { + $phabelReturn = $this->pImplode($nodes, ', '); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Pretty prints a comma-separated list of nodes in multiline style, including comments. + * + * The result includes a leading newline and one level of indentation (same as pStmts). + * + * @param Node[] $nodes Array of Nodes to be printed + * @param bool $trailingComma Whether to use a trailing comma + * + * @return string Comma separated pretty printed nodes in multiline style + */ + protected function pCommaSeparatedMultiline(array $nodes, $trailingComma) + { + if (!\is_bool($trailingComma)) { + if (!(\is_bool($trailingComma) || \is_numeric($trailingComma) || \is_string($trailingComma))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($trailingComma) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($trailingComma) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $trailingComma = (bool) $trailingComma; + } + } + $this->indent(); + $result = ''; + $lastIdx = \count($nodes) - 1; + foreach ($nodes as $idx => $node) { + if ($node !== null) { + $comments = $node->getComments(); + if ($comments) { + $result .= $this->nl . $this->pComments($comments); + } + $result .= $this->nl . $this->p($node); + } else { + $result .= $this->nl; + } + if ($trailingComma || $idx !== $lastIdx) { + $result .= ','; + } + } + $this->outdent(); + $phabelReturn = $result; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Prints reformatted text of the passed comments. + * + * @param Comment[] $comments List of comments + * + * @return string Reformatted text of comments + */ + protected function pComments(array $comments) + { + $formattedComments = []; + foreach ($comments as $comment) { + $formattedComments[] = \str_replace("\n", $this->nl, $comment->getReformattedText()); + } + $phabelReturn = \implode($this->nl, $formattedComments); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Perform a format-preserving pretty print of an AST. + * + * The format preservation is best effort. For some changes to the AST the formatting will not + * be preserved (at least not locally). + * + * In order to use this method a number of prerequisites must be satisfied: + * * The startTokenPos and endTokenPos attributes in the lexer must be enabled. + * * The CloningVisitor must be run on the AST prior to modification. + * * The original tokens must be provided, using the getTokens() method on the lexer. + * + * @param Node[] $stmts Modified AST with links to original AST + * @param Node[] $origStmts Original AST with token offset information + * @param array $origTokens Tokens of the original code + * + * @return string + */ + public function printFormatPreserving(array $stmts, array $origStmts, array $origTokens) + { + $this->initializeNodeListDiffer(); + $this->initializeLabelCharMap(); + $this->initializeFixupMap(); + $this->initializeRemovalMap(); + $this->initializeInsertionMap(); + $this->initializeListInsertionMap(); + $this->initializeEmptyListInsertionMap(); + $this->initializeModifierChangeMap(); + $this->resetState(); + $this->origTokens = new TokenStream($origTokens); + $this->preprocessNodes($stmts); + $pos = 0; + $result = $this->pArray($stmts, $origStmts, $pos, 0, 'File', 'stmts', null); + if (null !== $result) { + $result .= $this->origTokens->getTokenCode($pos, \count($origTokens), 0); + } else { + // Fallback + // TODO Add pStmts($stmts, \false); + } + $phabelReturn = \ltrim($this->handleMagicTokens($result)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + protected function pFallback(Node $node) + { + return $this->{'p' . $node->getType()}($node); + } + /** + * Pretty prints a node. + * + * This method also handles formatting preservation for nodes. + * + * @param Node $node Node to be pretty printed + * @param bool $parentFormatPreserved Whether parent node has preserved formatting + * + * @return string Pretty printed node + */ + protected function p(Node $node, $parentFormatPreserved = \false) + { + // No orig tokens means this is a normal pretty print without preservation of formatting + if (!$this->origTokens) { + $phabelReturn = $this->{'p' . $node->getType()}($node); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** @var Node $origNode */ + $origNode = $node->getAttribute('origNode'); + if (null === $origNode) { + $phabelReturn = $this->pFallback($node); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $class = \get_class($node); + \assert($class === \get_class($origNode)); + $startPos = $origNode->getStartTokenPos(); + $endPos = $origNode->getEndTokenPos(); + \assert($startPos >= 0 && $endPos >= 0); + $fallbackNode = $node; + if ($node instanceof Expr\New_ && $node->class instanceof Stmt\Class_) { + // Normalize node structure of anonymous classes + $node = PrintableNewAnonClassNode::fromNewNode($node); + $origNode = PrintableNewAnonClassNode::fromNewNode($origNode); + } + // InlineHTML node does not contain closing and opening PHP tags. If the parent formatting + // is not preserved, then we need to use the fallback code to make sure the tags are + // printed. + if ($node instanceof Stmt\InlineHTML && !$parentFormatPreserved) { + $phabelReturn = $this->pFallback($fallbackNode); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $indentAdjustment = $this->indentLevel - $this->origTokens->getIndentationBefore($startPos); + $type = $node->getType(); + $fixupInfo = isset($this->fixupMap[$class]) ? $this->fixupMap[$class] : null; + $result = ''; + $pos = $startPos; + foreach ($node->getSubNodeNames() as $subNodeName) { + $subNode = $node->{$subNodeName}; + $origSubNode = $origNode->{$subNodeName}; + if (!$subNode instanceof Node && $subNode !== null || !$origSubNode instanceof Node && $origSubNode !== null) { + if ($subNode === $origSubNode) { + // Unchanged, can reuse old code + continue; + } + if (\is_array($subNode) && \is_array($origSubNode)) { + // Array subnode changed, we might be able to reconstruct it + $listResult = $this->pArray($subNode, $origSubNode, $pos, $indentAdjustment, $type, $subNodeName, isset($fixupInfo[$subNodeName]) ? $fixupInfo[$subNodeName] : null); + if (null === $listResult) { + $phabelReturn = $this->pFallback($fallbackNode); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $result .= $listResult; + continue; + } + if (\is_int($subNode) && \is_int($origSubNode)) { + // Check if this is a modifier change + $key = $type . '->' . $subNodeName; + if (!isset($this->modifierChangeMap[$key])) { + $phabelReturn = $this->pFallback($fallbackNode); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $findToken = $this->modifierChangeMap[$key]; + $result .= $this->pModifiers($subNode); + $pos = $this->origTokens->findRight($pos, $findToken); + continue; + } + $phabelReturn = $this->pFallback($fallbackNode); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + // If a non-node, non-array subnode changed, we don't be able to do a partial + // reconstructions, as we don't have enough offset information. Pretty print the + // whole node instead. + return $phabelReturn; + } + $extraLeft = ''; + $extraRight = ''; + if ($origSubNode !== null) { + $subStartPos = $origSubNode->getStartTokenPos(); + $subEndPos = $origSubNode->getEndTokenPos(); + \assert($subStartPos >= 0 && $subEndPos >= 0); + } else { + if ($subNode === null) { + // Both null, nothing to do + continue; + } + // A node has been inserted, check if we have insertion information for it + $key = $type . '->' . $subNodeName; + if (!isset($this->insertionMap[$key])) { + $phabelReturn = $this->pFallback($fallbackNode); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + list($findToken, $beforeToken, $extraLeft, $extraRight) = $this->insertionMap[$key]; + if (null !== $findToken) { + $subStartPos = $this->origTokens->findRight($pos, $findToken) + (int) (!$beforeToken); + } else { + $subStartPos = $pos; + } + if (null === $extraLeft && null !== $extraRight) { + // If inserting on the right only, skipping whitespace looks better + $subStartPos = $this->origTokens->skipRightWhitespace($subStartPos); + } + $subEndPos = $subStartPos - 1; + } + if (null === $subNode) { + // A node has been removed, check if we have removal information for it + $key = $type . '->' . $subNodeName; + if (!isset($this->removalMap[$key])) { + $phabelReturn = $this->pFallback($fallbackNode); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + // Adjust positions to account for additional tokens that must be skipped + $removalInfo = $this->removalMap[$key]; + if (isset($removalInfo['left'])) { + $subStartPos = $this->origTokens->skipLeft($subStartPos - 1, $removalInfo['left']) + 1; + } + if (isset($removalInfo['right'])) { + $subEndPos = $this->origTokens->skipRight($subEndPos + 1, $removalInfo['right']) - 1; + } + } + $result .= $this->origTokens->getTokenCode($pos, $subStartPos, $indentAdjustment); + if (null !== $subNode) { + $result .= $extraLeft; + $origIndentLevel = $this->indentLevel; + $this->setIndentLevel($this->origTokens->getIndentationBefore($subStartPos) + $indentAdjustment); + // If it's the same node that was previously in this position, it certainly doesn't + // need fixup. It's important to check this here, because our fixup checks are more + // conservative than strictly necessary. + if (isset($fixupInfo[$subNodeName]) && $subNode->getAttribute('origNode') !== $origSubNode) { + $fixup = $fixupInfo[$subNodeName]; + $res = $this->pFixup($fixup, $subNode, $class, $subStartPos, $subEndPos); + } else { + $res = $this->p($subNode, \true); + } + $this->safeAppend($result, $res); + $this->setIndentLevel($origIndentLevel); + $result .= $extraRight; + } + $pos = $subEndPos + 1; + } + $result .= $this->origTokens->getTokenCode($pos, $endPos + 1, $indentAdjustment); + $phabelReturn = $result; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Perform a format-preserving pretty print of an array. + * + * @param array $nodes New nodes + * @param array $origNodes Original nodes + * @param int $pos Current token position (updated by reference) + * @param int $indentAdjustment Adjustment for indentation + * @param string $parentNodeType Type of the containing node. + * @param string $subNodeName Name of array subnode. + * @param null|int $fixup Fixup information for array item nodes + * + * @return null|string Result of pretty print or null if cannot preserve formatting + */ + protected function pArray(array $nodes, array $origNodes, &$pos, $indentAdjustment, $parentNodeType, $subNodeName, $fixup) + { + if (!\is_int($pos)) { + if (!(\is_bool($pos) || \is_numeric($pos))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($pos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($pos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $pos = (int) $pos; + } + } + if (!\is_int($indentAdjustment)) { + if (!(\is_bool($indentAdjustment) || \is_numeric($indentAdjustment))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($indentAdjustment) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($indentAdjustment) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $indentAdjustment = (int) $indentAdjustment; + } + } + if (!\is_string($parentNodeType)) { + if (!(\is_string($parentNodeType) || \is_object($parentNodeType) && \method_exists($parentNodeType, '__toString') || (\is_bool($parentNodeType) || \is_numeric($parentNodeType)))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($parentNodeType) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($parentNodeType) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $parentNodeType = (string) $parentNodeType; + } + } + if (!\is_string($subNodeName)) { + if (!(\is_string($subNodeName) || \is_object($subNodeName) && \method_exists($subNodeName, '__toString') || (\is_bool($subNodeName) || \is_numeric($subNodeName)))) { + throw new \TypeError(__METHOD__ . '(): Argument #6 ($subNodeName) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($subNodeName) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $subNodeName = (string) $subNodeName; + } + } + $diff = $this->nodeListDiffer->diffWithReplacements($origNodes, $nodes); + $mapKey = $parentNodeType . '->' . $subNodeName; + $insertStr = isset($this->listInsertionMap[$mapKey]) ? $this->listInsertionMap[$mapKey] : null; + $isStmtList = $subNodeName === 'stmts'; + $beforeFirstKeepOrReplace = \true; + $skipRemovedNode = \false; + $delayedAdd = []; + $lastElemIndentLevel = $this->indentLevel; + $insertNewline = \false; + if ($insertStr === "\n") { + $insertStr = ''; + $insertNewline = \true; + } + if ($isStmtList && \count($origNodes) === 1 && \count($nodes) !== 1) { + $startPos = $origNodes[0]->getStartTokenPos(); + $endPos = $origNodes[0]->getEndTokenPos(); + \assert($startPos >= 0 && $endPos >= 0); + if (!$this->origTokens->haveBraces($startPos, $endPos)) { + // This was a single statement without braces, but either additional statements + // have been added, or the single statement has been removed. This requires the + // addition of braces. For now fall back. + // TODO: Try to preserve formatting + return null; + } + } + $result = ''; + foreach ($diff as $i => $diffElem) { + $diffType = $diffElem->type; + /** @var Node|null $arrItem */ + $arrItem = $diffElem->new; + /** @var Node|null $origArrItem */ + $origArrItem = $diffElem->old; + if ($diffType === DiffElem::TYPE_KEEP || $diffType === DiffElem::TYPE_REPLACE) { + $beforeFirstKeepOrReplace = \false; + if ($origArrItem === null || $arrItem === null) { + // We can only handle the case where both are null + if ($origArrItem === $arrItem) { + continue; + } + return null; + } + if (!$arrItem instanceof Node || !$origArrItem instanceof Node) { + // We can only deal with nodes. This can occur for Names, which use string arrays. + return null; + } + $itemStartPos = $origArrItem->getStartTokenPos(); + $itemEndPos = $origArrItem->getEndTokenPos(); + \assert($itemStartPos >= 0 && $itemEndPos >= 0 && $itemStartPos >= $pos); + $origIndentLevel = $this->indentLevel; + $lastElemIndentLevel = $this->origTokens->getIndentationBefore($itemStartPos) + $indentAdjustment; + $this->setIndentLevel($lastElemIndentLevel); + $comments = $arrItem->getComments(); + $origComments = $origArrItem->getComments(); + $commentStartPos = $origComments ? $origComments[0]->getStartTokenPos() : $itemStartPos; + \assert($commentStartPos >= 0); + if ($commentStartPos < $pos) { + // Comments may be assigned to multiple nodes if they start at the same position. + // Make sure we don't try to print them multiple times. + $commentStartPos = $itemStartPos; + } + if ($skipRemovedNode) { + if ($isStmtList && $this->origTokens->haveBracesInRange($pos, $itemStartPos)) { + // We'd remove the brace of a code block. + // TODO: Preserve formatting. + $this->setIndentLevel($origIndentLevel); + return null; + } + } else { + $result .= $this->origTokens->getTokenCode($pos, $commentStartPos, $indentAdjustment); + } + if (!empty($delayedAdd)) { + /** @var Node $delayedAddNode */ + foreach ($delayedAdd as $delayedAddNode) { + if ($insertNewline) { + $delayedAddComments = $delayedAddNode->getComments(); + if ($delayedAddComments) { + $result .= $this->pComments($delayedAddComments) . $this->nl; + } + } + $this->safeAppend($result, $this->p($delayedAddNode, \true)); + if ($insertNewline) { + $result .= $insertStr . $this->nl; + } else { + $result .= $insertStr; + } + } + $delayedAdd = []; + } + if ($comments !== $origComments) { + if ($comments) { + $result .= $this->pComments($comments) . $this->nl; + } + } else { + $result .= $this->origTokens->getTokenCode($commentStartPos, $itemStartPos, $indentAdjustment); + } + // If we had to remove anything, we have done so now. + $skipRemovedNode = \false; + } elseif ($diffType === DiffElem::TYPE_ADD) { + if (null === $insertStr) { + // We don't have insertion information for this list type + return null; + } + if ($insertStr === ', ' && $this->isMultiline($origNodes)) { + $insertStr = ','; + $insertNewline = \true; + } + if ($beforeFirstKeepOrReplace) { + // Will be inserted at the next "replace" or "keep" element + $delayedAdd[] = $arrItem; + continue; + } + $itemStartPos = $pos; + $itemEndPos = $pos - 1; + $origIndentLevel = $this->indentLevel; + $this->setIndentLevel($lastElemIndentLevel); + if ($insertNewline) { + $comments = $arrItem->getComments(); + if ($comments) { + $result .= $this->nl . $this->pComments($comments); + } + $result .= $insertStr . $this->nl; + } else { + $result .= $insertStr; + } + } elseif ($diffType === DiffElem::TYPE_REMOVE) { + if (!$origArrItem instanceof Node) { + // We only support removal for nodes + return null; + } + $itemStartPos = $origArrItem->getStartTokenPos(); + $itemEndPos = $origArrItem->getEndTokenPos(); + \assert($itemStartPos >= 0 && $itemEndPos >= 0); + // Consider comments part of the node. + $origComments = $origArrItem->getComments(); + if ($origComments) { + $itemStartPos = $origComments[0]->getStartTokenPos(); + } + if ($i === 0) { + // If we're removing from the start, keep the tokens before the node and drop those after it, + // instead of the other way around. + $result .= $this->origTokens->getTokenCode($pos, $itemStartPos, $indentAdjustment); + $skipRemovedNode = \true; + } else { + if ($isStmtList && $this->origTokens->haveBracesInRange($pos, $itemStartPos)) { + // We'd remove the brace of a code block. + // TODO: Preserve formatting. + return null; + } + } + $pos = $itemEndPos + 1; + continue; + } else { + throw new \Exception("Shouldn't happen"); + } + if (null !== $fixup && $arrItem->getAttribute('origNode') !== $origArrItem) { + $res = $this->pFixup($fixup, $arrItem, null, $itemStartPos, $itemEndPos); + } else { + $res = $this->p($arrItem, \true); + } + $this->safeAppend($result, $res); + $this->setIndentLevel($origIndentLevel); + $pos = $itemEndPos + 1; + } + if ($skipRemovedNode) { + // TODO: Support removing single node. + return null; + } + if (!empty($delayedAdd)) { + if (!isset($this->emptyListInsertionMap[$mapKey])) { + return null; + } + list($findToken, $extraLeft, $extraRight) = $this->emptyListInsertionMap[$mapKey]; + if (null !== $findToken) { + $insertPos = $this->origTokens->findRight($pos, $findToken) + 1; + $result .= $this->origTokens->getTokenCode($pos, $insertPos, $indentAdjustment); + $pos = $insertPos; + } + $first = \true; + $result .= $extraLeft; + foreach ($delayedAdd as $delayedAddNode) { + if (!$first) { + $result .= $insertStr; + } + $result .= $this->p($delayedAddNode, \true); + $first = \false; + } + $result .= $extraRight; + } + return $result; + } + /** + * Print node with fixups. + * + * Fixups here refer to the addition of extra parentheses, braces or other characters, that + * are required to preserve program semantics in a certain context (e.g. to maintain precedence + * or because only certain expressions are allowed in certain places). + * + * @param int $fixup Fixup type + * @param Node $subNode Subnode to print + * @param string|null $parentClass Class of parent node + * @param int $subStartPos Original start pos of subnode + * @param int $subEndPos Original end pos of subnode + * + * @return string Result of fixed-up print of subnode + */ + protected function pFixup($fixup, Node $subNode, $parentClass, $subStartPos, $subEndPos) + { + if (!\is_int($fixup)) { + if (!(\is_bool($fixup) || \is_numeric($fixup))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($fixup) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($fixup) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $fixup = (int) $fixup; + } + } + if (!\is_int($subStartPos)) { + if (!(\is_bool($subStartPos) || \is_numeric($subStartPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($subStartPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($subStartPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $subStartPos = (int) $subStartPos; + } + } + if (!\is_int($subEndPos)) { + if (!(\is_bool($subEndPos) || \is_numeric($subEndPos))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($subEndPos) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($subEndPos) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $subEndPos = (int) $subEndPos; + } + } + switch ($fixup) { + case self::FIXUP_PREC_LEFT: + case self::FIXUP_PREC_RIGHT: + if (!$this->origTokens->haveParens($subStartPos, $subEndPos)) { + list($precedence, $associativity) = $this->precedenceMap[$parentClass]; + $phabelReturn = $this->pPrec($subNode, $precedence, $associativity, $fixup === self::FIXUP_PREC_LEFT ? -1 : 1); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + break; + case self::FIXUP_CALL_LHS: + if ($this->callLhsRequiresParens($subNode) && !$this->origTokens->haveParens($subStartPos, $subEndPos)) { + $phabelReturn = '(' . $this->p($subNode) . ')'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + break; + case self::FIXUP_DEREF_LHS: + if ($this->dereferenceLhsRequiresParens($subNode) && !$this->origTokens->haveParens($subStartPos, $subEndPos)) { + $phabelReturn = '(' . $this->p($subNode) . ')'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + break; + case self::FIXUP_BRACED_NAME: + case self::FIXUP_VAR_BRACED_NAME: + if ($subNode instanceof Expr && !$this->origTokens->haveBraces($subStartPos, $subEndPos)) { + $phabelReturn = ($fixup === self::FIXUP_VAR_BRACED_NAME ? '$' : '') . '{' . $this->p($subNode) . '}'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + break; + case self::FIXUP_ENCAPSED: + if (!$subNode instanceof Scalar\EncapsedStringPart && !$this->origTokens->haveBraces($subStartPos, $subEndPos)) { + $phabelReturn = '{' . $this->p($subNode) . '}'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + break; + default: + throw new \Exception('Cannot happen'); + } + $phabelReturn = $this->p($subNode); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + // Nothing special to do + return $phabelReturn; + } + /** + * Appends to a string, ensuring whitespace between label characters. + * + * Example: "echo" and "$x" result in "echo$x", but "echo" and "x" result in "echo x". + * Without safeAppend the result would be "echox", which does not preserve semantics. + * + * @param string $str + * @param string $append + */ + protected function safeAppend(&$str, $append) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + if (!\is_string($append)) { + if (!(\is_string($append) || \is_object($append) && \method_exists($append, '__toString') || (\is_bool($append) || \is_numeric($append)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($append) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($append) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $append = (string) $append; + } + } + if ($str === "") { + $str = $append; + return; + } + if ($append === "") { + return; + } + if (!$this->labelCharMap[$append[0]] || !$this->labelCharMap[$str[\strlen($str) - 1]]) { + $str .= $append; + } else { + $str .= " " . $append; + } + } + /** + * Determines whether the LHS of a call must be wrapped in parenthesis. + * + * @param Node $node LHS of a call + * + * @return bool Whether parentheses are required + */ + protected function callLhsRequiresParens(Node $node) + { + $phabelReturn = !($node instanceof Node\Name || $node instanceof Expr\Variable || $node instanceof Expr\ArrayDimFetch || $node instanceof Expr\FuncCall || $node instanceof Expr\MethodCall || $node instanceof Expr\NullsafeMethodCall || $node instanceof Expr\StaticCall || $node instanceof Expr\Array_); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Determines whether the LHS of a dereferencing operation must be wrapped in parenthesis. + * + * @param Node $node LHS of dereferencing operation + * + * @return bool Whether parentheses are required + */ + protected function dereferenceLhsRequiresParens(Node $node) + { + $phabelReturn = !($node instanceof Expr\Variable || $node instanceof Node\Name || $node instanceof Expr\ArrayDimFetch || $node instanceof Expr\PropertyFetch || $node instanceof Expr\NullsafePropertyFetch || $node instanceof Expr\StaticPropertyFetch || $node instanceof Expr\FuncCall || $node instanceof Expr\MethodCall || $node instanceof Expr\NullsafeMethodCall || $node instanceof Expr\StaticCall || $node instanceof Expr\Array_ || $node instanceof Scalar\String_ || $node instanceof Expr\ConstFetch || $node instanceof Expr\ClassConstFetch); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Print modifiers, including trailing whitespace. + * + * @param int $modifiers Modifier mask to print + * + * @return string Printed modifiers + */ + protected function pModifiers($modifiers) + { + if (!\is_int($modifiers)) { + if (!(\is_bool($modifiers) || \is_numeric($modifiers))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($modifiers) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($modifiers) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $modifiers = (int) $modifiers; + } + } + return ($modifiers & Stmt\Class_::MODIFIER_PUBLIC ? 'public ' : '') . ($modifiers & Stmt\Class_::MODIFIER_PROTECTED ? 'protected ' : '') . ($modifiers & Stmt\Class_::MODIFIER_PRIVATE ? 'private ' : '') . ($modifiers & Stmt\Class_::MODIFIER_STATIC ? 'static ' : '') . ($modifiers & Stmt\Class_::MODIFIER_ABSTRACT ? 'abstract ' : '') . ($modifiers & Stmt\Class_::MODIFIER_FINAL ? 'final ' : ''); + } + /** + * Determine whether a list of nodes uses multiline formatting. + * + * @param (Node|null)[] $nodes Node list + * + * @return bool Whether multiline formatting is used + */ + protected function isMultiline(array $nodes) + { + if (\count($nodes) < 2) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $pos = -1; + foreach ($nodes as $node) { + if (null === $node) { + continue; + } + $endPos = $node->getEndTokenPos() + 1; + if ($pos >= 0) { + $text = $this->origTokens->getTokenCode($pos, $endPos, 0); + if (\false === \strpos($text, "\n")) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + // We require that a newline is present between *every* item. If the formatting + // is inconsistent, with only some items having newlines, we don't consider it + // as multiline + return $phabelReturn; + } + } + $pos = $endPos; + } + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Lazily initializes label char map. + * + * The label char map determines whether a certain character may occur in a label. + */ + protected function initializeLabelCharMap() + { + if ($this->labelCharMap) { + return; + } + $this->labelCharMap = []; + for ($i = 0; $i < 256; $i++) { + // Since PHP 7.1 The lower range is 0x80. However, we also want to support code for + // older versions. + $this->labelCharMap[\chr($i)] = $i >= 0x7f || \ctype_alnum($i); + } + } + /** + * Lazily initializes node list differ. + * + * The node list differ is used to determine differences between two array subnodes. + */ + protected function initializeNodeListDiffer() + { + if ($this->nodeListDiffer) { + return; + } + $this->nodeListDiffer = new Internal\Differ(function ($a, $b) { + if ($a instanceof Node && $b instanceof Node) { + return $a === $b->getAttribute('origNode'); + } + // Can happen for array destructuring + return $a === null && $b === null; + }); + } + /** + * Lazily initializes fixup map. + * + * The fixup map is used to determine whether a certain subnode of a certain node may require + * some kind of "fixup" operation, e.g. the addition of parenthesis or braces. + */ + protected function initializeFixupMap() + { + if ($this->fixupMap) { + return; + } + $this->fixupMap = [ + Expr\PreInc::class => ['var' => self::FIXUP_PREC_RIGHT], + Expr\PreDec::class => ['var' => self::FIXUP_PREC_RIGHT], + Expr\PostInc::class => ['var' => self::FIXUP_PREC_LEFT], + Expr\PostDec::class => ['var' => self::FIXUP_PREC_LEFT], + Expr\Instanceof_::class => ['expr' => self::FIXUP_PREC_LEFT, 'class' => self::FIXUP_PREC_RIGHT], + Expr\Ternary::class => ['cond' => self::FIXUP_PREC_LEFT, 'else' => self::FIXUP_PREC_RIGHT], + Expr\FuncCall::class => ['name' => self::FIXUP_CALL_LHS], + Expr\StaticCall::class => ['class' => self::FIXUP_DEREF_LHS], + Expr\ArrayDimFetch::class => ['var' => self::FIXUP_DEREF_LHS], + Expr\ClassConstFetch::class => ['var' => self::FIXUP_DEREF_LHS], + Expr\New_::class => ['class' => self::FIXUP_DEREF_LHS], + // TODO: FIXUP_NEW_VARIABLE + Expr\MethodCall::class => ['var' => self::FIXUP_DEREF_LHS, 'name' => self::FIXUP_BRACED_NAME], + Expr\NullsafeMethodCall::class => ['var' => self::FIXUP_DEREF_LHS, 'name' => self::FIXUP_BRACED_NAME], + Expr\StaticPropertyFetch::class => ['class' => self::FIXUP_DEREF_LHS, 'name' => self::FIXUP_VAR_BRACED_NAME], + Expr\PropertyFetch::class => ['var' => self::FIXUP_DEREF_LHS, 'name' => self::FIXUP_BRACED_NAME], + Expr\NullsafePropertyFetch::class => ['var' => self::FIXUP_DEREF_LHS, 'name' => self::FIXUP_BRACED_NAME], + Scalar\Encapsed::class => ['parts' => self::FIXUP_ENCAPSED], + ]; + $binaryOps = [BinaryOp\Pow::class, BinaryOp\Mul::class, BinaryOp\Div::class, BinaryOp\Mod::class, BinaryOp\Plus::class, BinaryOp\Minus::class, BinaryOp\Concat::class, BinaryOp\ShiftLeft::class, BinaryOp\ShiftRight::class, BinaryOp\Smaller::class, BinaryOp\SmallerOrEqual::class, BinaryOp\Greater::class, BinaryOp\GreaterOrEqual::class, BinaryOp\Equal::class, BinaryOp\NotEqual::class, BinaryOp\Identical::class, BinaryOp\NotIdentical::class, BinaryOp\Spaceship::class, BinaryOp\BitwiseAnd::class, BinaryOp\BitwiseXor::class, BinaryOp\BitwiseOr::class, BinaryOp\BooleanAnd::class, BinaryOp\BooleanOr::class, BinaryOp\Coalesce::class, BinaryOp\LogicalAnd::class, BinaryOp\LogicalXor::class, BinaryOp\LogicalOr::class]; + foreach ($binaryOps as $binaryOp) { + $this->fixupMap[$binaryOp] = ['left' => self::FIXUP_PREC_LEFT, 'right' => self::FIXUP_PREC_RIGHT]; + } + $assignOps = [Expr\Assign::class, Expr\AssignRef::class, AssignOp\Plus::class, AssignOp\Minus::class, AssignOp\Mul::class, AssignOp\Div::class, AssignOp\Concat::class, AssignOp\Mod::class, AssignOp\BitwiseAnd::class, AssignOp\BitwiseOr::class, AssignOp\BitwiseXor::class, AssignOp\ShiftLeft::class, AssignOp\ShiftRight::class, AssignOp\Pow::class, AssignOp\Coalesce::class]; + foreach ($assignOps as $assignOp) { + $this->fixupMap[$assignOp] = ['var' => self::FIXUP_PREC_LEFT, 'expr' => self::FIXUP_PREC_RIGHT]; + } + $prefixOps = [Expr\BitwiseNot::class, Expr\BooleanNot::class, Expr\UnaryPlus::class, Expr\UnaryMinus::class, Cast\Int_::class, Cast\Double::class, Cast\String_::class, Cast\Array_::class, Cast\Object_::class, Cast\Bool_::class, Cast\Unset_::class, Expr\ErrorSuppress::class, Expr\YieldFrom::class, Expr\Print_::class, Expr\Include_::class]; + foreach ($prefixOps as $prefixOp) { + $this->fixupMap[$prefixOp] = ['expr' => self::FIXUP_PREC_RIGHT]; + } + } + /** + * Lazily initializes the removal map. + * + * The removal map is used to determine which additional tokens should be returned when a + * certain node is replaced by null. + */ + protected function initializeRemovalMap() + { + if ($this->removalMap) { + return; + } + $stripBoth = ['left' => \T_WHITESPACE, 'right' => \T_WHITESPACE]; + $stripLeft = ['left' => \T_WHITESPACE]; + $stripRight = ['right' => \T_WHITESPACE]; + $stripDoubleArrow = ['right' => \T_DOUBLE_ARROW]; + $stripColon = ['left' => ':']; + $stripEquals = ['left' => '=']; + $this->removalMap = ['Expr_ArrayDimFetch->dim' => $stripBoth, 'Expr_ArrayItem->key' => $stripDoubleArrow, 'Expr_ArrowFunction->returnType' => $stripColon, 'Expr_Closure->returnType' => $stripColon, 'Expr_Exit->expr' => $stripBoth, 'Expr_Ternary->if' => $stripBoth, 'Expr_Yield->key' => $stripDoubleArrow, 'Expr_Yield->value' => $stripBoth, 'Param->type' => $stripRight, 'Param->default' => $stripEquals, 'Stmt_Break->num' => $stripBoth, 'Stmt_Catch->var' => $stripLeft, 'Stmt_ClassMethod->returnType' => $stripColon, 'Stmt_Class->extends' => ['left' => \T_EXTENDS], 'Expr_PrintableNewAnonClass->extends' => ['left' => \T_EXTENDS], 'Stmt_Continue->num' => $stripBoth, 'Stmt_Foreach->keyVar' => $stripDoubleArrow, 'Stmt_Function->returnType' => $stripColon, 'Stmt_If->else' => $stripLeft, 'Stmt_Namespace->name' => $stripLeft, 'Stmt_Property->type' => $stripRight, 'Stmt_PropertyProperty->default' => $stripEquals, 'Stmt_Return->expr' => $stripBoth, 'Stmt_StaticVar->default' => $stripEquals, 'Stmt_TraitUseAdaptation_Alias->newName' => $stripLeft, 'Stmt_TryCatch->finally' => $stripLeft]; + } + protected function initializeInsertionMap() + { + if ($this->insertionMap) { + return; + } + // TODO: "yield" where both key and value are inserted doesn't work + // [$find, $beforeToken, $extraLeft, $extraRight] + $this->insertionMap = [ + 'Expr_ArrayDimFetch->dim' => ['[', \false, null, null], + 'Expr_ArrayItem->key' => [null, \false, null, ' => '], + 'Expr_ArrowFunction->returnType' => [')', \false, ' : ', null], + 'Expr_Closure->returnType' => [')', \false, ' : ', null], + 'Expr_Ternary->if' => ['?', \false, ' ', ' '], + 'Expr_Yield->key' => [\T_YIELD, \false, null, ' => '], + 'Expr_Yield->value' => [\T_YIELD, \false, ' ', null], + 'Param->type' => [null, \false, null, ' '], + 'Param->default' => [null, \false, ' = ', null], + 'Stmt_Break->num' => [\T_BREAK, \false, ' ', null], + 'Stmt_Catch->var' => [null, \false, ' ', null], + 'Stmt_ClassMethod->returnType' => [')', \false, ' : ', null], + 'Stmt_Class->extends' => [null, \false, ' extends ', null], + 'Expr_PrintableNewAnonClass->extends' => [null, ' extends ', null], + 'Stmt_Continue->num' => [\T_CONTINUE, \false, ' ', null], + 'Stmt_Foreach->keyVar' => [\T_AS, \false, null, ' => '], + 'Stmt_Function->returnType' => [')', \false, ' : ', null], + 'Stmt_If->else' => [null, \false, ' ', null], + 'Stmt_Namespace->name' => [\T_NAMESPACE, \false, ' ', null], + 'Stmt_Property->type' => [\T_VARIABLE, \true, null, ' '], + 'Stmt_PropertyProperty->default' => [null, \false, ' = ', null], + 'Stmt_Return->expr' => [\T_RETURN, \false, ' ', null], + 'Stmt_StaticVar->default' => [null, \false, ' = ', null], + //'Stmt_TraitUseAdaptation_Alias->newName' => [T_AS, false, ' ', null], // TODO + 'Stmt_TryCatch->finally' => [null, \false, ' ', null], + ]; + } + protected function initializeListInsertionMap() + { + if ($this->listInsertionMap) { + return; + } + $this->listInsertionMap = [ + // special + //'Expr_ShellExec->parts' => '', // TODO These need to be treated more carefully + //'Scalar_Encapsed->parts' => '', + 'Stmt_Catch->types' => '|', + 'UnionType->types' => '|', + 'Stmt_If->elseifs' => ' ', + 'Stmt_TryCatch->catches' => ' ', + // comma-separated lists + 'Expr_Array->items' => ', ', + 'Expr_ArrowFunction->params' => ', ', + 'Expr_Closure->params' => ', ', + 'Expr_Closure->uses' => ', ', + 'Expr_FuncCall->args' => ', ', + 'Expr_Isset->vars' => ', ', + 'Expr_List->items' => ', ', + 'Expr_MethodCall->args' => ', ', + 'Expr_NullsafeMethodCall->args' => ', ', + 'Expr_New->args' => ', ', + 'Expr_PrintableNewAnonClass->args' => ', ', + 'Expr_StaticCall->args' => ', ', + 'Stmt_ClassConst->consts' => ', ', + 'Stmt_ClassMethod->params' => ', ', + 'Stmt_Class->implements' => ', ', + 'Expr_PrintableNewAnonClass->implements' => ', ', + 'Stmt_Const->consts' => ', ', + 'Stmt_Declare->declares' => ', ', + 'Stmt_Echo->exprs' => ', ', + 'Stmt_For->init' => ', ', + 'Stmt_For->cond' => ', ', + 'Stmt_For->loop' => ', ', + 'Stmt_Function->params' => ', ', + 'Stmt_Global->vars' => ', ', + 'Stmt_GroupUse->uses' => ', ', + 'Stmt_Interface->extends' => ', ', + 'Stmt_Match->arms' => ', ', + 'Stmt_Property->props' => ', ', + 'Stmt_StaticVar->vars' => ', ', + 'Stmt_TraitUse->traits' => ', ', + 'Stmt_TraitUseAdaptation_Precedence->insteadof' => ', ', + 'Stmt_Unset->vars' => ', ', + 'Stmt_Use->uses' => ', ', + 'MatchArm->conds' => ', ', + 'AttributeGroup->attrs' => ', ', + // statement lists + 'Expr_Closure->stmts' => "\n", + 'Stmt_Case->stmts' => "\n", + 'Stmt_Catch->stmts' => "\n", + 'Stmt_Class->stmts' => "\n", + 'Expr_PrintableNewAnonClass->stmts' => "\n", + 'Stmt_Interface->stmts' => "\n", + 'Stmt_Trait->stmts' => "\n", + 'Stmt_ClassMethod->stmts' => "\n", + 'Stmt_Declare->stmts' => "\n", + 'Stmt_Do->stmts' => "\n", + 'Stmt_ElseIf->stmts' => "\n", + 'Stmt_Else->stmts' => "\n", + 'Stmt_Finally->stmts' => "\n", + 'Stmt_Foreach->stmts' => "\n", + 'Stmt_For->stmts' => "\n", + 'Stmt_Function->stmts' => "\n", + 'Stmt_If->stmts' => "\n", + 'Stmt_Namespace->stmts' => "\n", + 'Stmt_Class->attrGroups' => "\n", + 'Stmt_Interface->attrGroups' => "\n", + 'Stmt_Trait->attrGroups' => "\n", + 'Stmt_Function->attrGroups' => "\n", + 'Stmt_ClassMethod->attrGroups' => "\n", + 'Stmt_ClassConst->attrGroups' => "\n", + 'Stmt_Property->attrGroups' => "\n", + 'Expr_PrintableNewAnonClass->attrGroups' => ' ', + 'Expr_Closure->attrGroups' => ' ', + 'Expr_ArrowFunction->attrGroups' => ' ', + 'Param->attrGroups' => ' ', + 'Stmt_Switch->cases' => "\n", + 'Stmt_TraitUse->adaptations' => "\n", + 'Stmt_TryCatch->stmts' => "\n", + 'Stmt_While->stmts' => "\n", + // dummy for top-level context + 'File->stmts' => "\n", + ]; + } + protected function initializeEmptyListInsertionMap() + { + if ($this->emptyListInsertionMap) { + return; + } + // TODO Insertion into empty statement lists. + // [$find, $extraLeft, $extraRight] + $this->emptyListInsertionMap = ['Expr_ArrowFunction->params' => ['(', '', ''], 'Expr_Closure->uses' => [')', ' use(', ')'], 'Expr_Closure->params' => ['(', '', ''], 'Expr_FuncCall->args' => ['(', '', ''], 'Expr_MethodCall->args' => ['(', '', ''], 'Expr_NullsafeMethodCall->args' => ['(', '', ''], 'Expr_New->args' => ['(', '', ''], 'Expr_PrintableNewAnonClass->args' => ['(', '', ''], 'Expr_PrintableNewAnonClass->implements' => [null, ' implements ', ''], 'Expr_StaticCall->args' => ['(', '', ''], 'Stmt_Class->implements' => [null, ' implements ', ''], 'Stmt_ClassMethod->params' => ['(', '', ''], 'Stmt_Interface->extends' => [null, ' extends ', ''], 'Stmt_Function->params' => ['(', '', '']]; + } + protected function initializeModifierChangeMap() + { + if ($this->modifierChangeMap) { + return; + } + $this->modifierChangeMap = ['Stmt_ClassConst->flags' => \T_CONST, 'Stmt_ClassMethod->flags' => \T_FUNCTION, 'Stmt_Class->flags' => \T_CLASS, 'Stmt_Property->flags' => \T_VARIABLE, 'Param->flags' => \T_VARIABLE]; + // List of integer subnodes that are not modifiers: + // Expr_Include->type + // Stmt_GroupUse->type + // Stmt_Use->type + // Stmt_UseUse->type + } +} diff --git a/vendor-bundle/phabel/php-parser/tools/convertPhabel.php b/vendor-bundle/phabel/php-parser/tools/convertPhabel.php new file mode 100644 index 000000000..adf81d1a0 --- /dev/null +++ b/vendor-bundle/phabel/php-parser/tools/convertPhabel.php @@ -0,0 +1,70 @@ + ['target' => $target]], $dir, $dir, $coverage); + } + $str = (string) $target; + $packages["php"] = ">={$str[0]}.{$str[1]}"; + if (!empty($packages)) { + $cmd = "composer require "; + foreach ($packages as $package => $constraint) { + $cmd .= \escapeshellarg("{$package}:{$constraint}") . " "; + } + \passthru($cmd); + } + \passthru("composer cs-fix"); + if (!$dry) { + \passthru("git add -A"); + \passthru("git commit -m " . \escapeshellarg("phabel.io: transpile to {$target}")); + } + } + if (!$dry) { + \passthru("git push -f origin " . \escapeshellarg("phabel_tmp:{$branch}-{$target}")); + \passthru("git checkout " . \escapeshellarg($branch)); + \passthru("git branch -D phabel_tmp"); + } + \passthru("git reset --hard"); +} +\passthru("git stash pop"); diff --git a/vendor-bundle/psr/container/src/ContainerExceptionInterface.php b/vendor-bundle/psr/container/src/ContainerExceptionInterface.php new file mode 100644 index 000000000..5d90861f6 --- /dev/null +++ b/vendor-bundle/psr/container/src/ContainerExceptionInterface.php @@ -0,0 +1,10 @@ +log(LogLevel::EMERGENCY, $message, $context); + } + /** + * Action must be taken immediately. + * + * Example: Entire website down, database unavailable, etc. This should + * trigger the SMS alerts and wake you up. + * + * @param string $message + * @param mixed[] $context + * + * @return void + */ + public function alert($message, array $context = array()) + { + $this->log(LogLevel::ALERT, $message, $context); + } + /** + * Critical conditions. + * + * Example: Application component unavailable, unexpected exception. + * + * @param string $message + * @param mixed[] $context + * + * @return void + */ + public function critical($message, array $context = array()) + { + $this->log(LogLevel::CRITICAL, $message, $context); + } + /** + * Runtime errors that do not require immediate action but should typically + * be logged and monitored. + * + * @param string $message + * @param mixed[] $context + * + * @return void + */ + public function error($message, array $context = array()) + { + $this->log(LogLevel::ERROR, $message, $context); + } + /** + * Exceptional occurrences that are not errors. + * + * Example: Use of deprecated APIs, poor use of an API, undesirable things + * that are not necessarily wrong. + * + * @param string $message + * @param mixed[] $context + * + * @return void + */ + public function warning($message, array $context = array()) + { + $this->log(LogLevel::WARNING, $message, $context); + } + /** + * Normal but significant events. + * + * @param string $message + * @param mixed[] $context + * + * @return void + */ + public function notice($message, array $context = array()) + { + $this->log(LogLevel::NOTICE, $message, $context); + } + /** + * Interesting events. + * + * Example: User logs in, SQL logs. + * + * @param string $message + * @param mixed[] $context + * + * @return void + */ + public function info($message, array $context = array()) + { + $this->log(LogLevel::INFO, $message, $context); + } + /** + * Detailed debug information. + * + * @param string $message + * @param mixed[] $context + * + * @return void + */ + public function debug($message, array $context = array()) + { + $this->log(LogLevel::DEBUG, $message, $context); + } +} diff --git a/vendor-bundle/psr/log/Psr/Log/InvalidArgumentException.php b/vendor-bundle/psr/log/Psr/Log/InvalidArgumentException.php new file mode 100644 index 000000000..9adb99943 --- /dev/null +++ b/vendor-bundle/psr/log/Psr/Log/InvalidArgumentException.php @@ -0,0 +1,7 @@ +logger = $logger; + } +} diff --git a/vendor-bundle/psr/log/Psr/Log/LoggerInterface.php b/vendor-bundle/psr/log/Psr/Log/LoggerInterface.php new file mode 100644 index 000000000..b997fcbb3 --- /dev/null +++ b/vendor-bundle/psr/log/Psr/Log/LoggerInterface.php @@ -0,0 +1,117 @@ +log(LogLevel::EMERGENCY, $message, $context); + } + /** + * Action must be taken immediately. + * + * Example: Entire website down, database unavailable, etc. This should + * trigger the SMS alerts and wake you up. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function alert($message, array $context = array()) + { + $this->log(LogLevel::ALERT, $message, $context); + } + /** + * Critical conditions. + * + * Example: Application component unavailable, unexpected exception. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function critical($message, array $context = array()) + { + $this->log(LogLevel::CRITICAL, $message, $context); + } + /** + * Runtime errors that do not require immediate action but should typically + * be logged and monitored. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function error($message, array $context = array()) + { + $this->log(LogLevel::ERROR, $message, $context); + } + /** + * Exceptional occurrences that are not errors. + * + * Example: Use of deprecated APIs, poor use of an API, undesirable things + * that are not necessarily wrong. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function warning($message, array $context = array()) + { + $this->log(LogLevel::WARNING, $message, $context); + } + /** + * Normal but significant events. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function notice($message, array $context = array()) + { + $this->log(LogLevel::NOTICE, $message, $context); + } + /** + * Interesting events. + * + * Example: User logs in, SQL logs. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function info($message, array $context = array()) + { + $this->log(LogLevel::INFO, $message, $context); + } + /** + * Detailed debug information. + * + * @param string $message + * @param array $context + * + * @return void + */ + public function debug($message, array $context = array()) + { + $this->log(LogLevel::DEBUG, $message, $context); + } + /** + * Logs with an arbitrary level. + * + * @param mixed $level + * @param string $message + * @param array $context + * + * @return void + * + * @throws \Psr\Log\InvalidArgumentException + */ + public abstract function log($level, $message, array $context = array()); +} diff --git a/vendor-bundle/psr/log/Psr/Log/NullLogger.php b/vendor-bundle/psr/log/Psr/Log/NullLogger.php new file mode 100644 index 000000000..570c0aa64 --- /dev/null +++ b/vendor-bundle/psr/log/Psr/Log/NullLogger.php @@ -0,0 +1,30 @@ +logger) { }` + * blocks. + */ +class NullLogger extends AbstractLogger +{ + /** + * Logs with an arbitrary level. + * + * @param mixed $level + * @param string $message + * @param array $context + * + * @return void + * + * @throws \Psr\Log\InvalidArgumentException + */ + public function log($level, $message, array $context = array()) + { + // noop + } +} diff --git a/vendor-bundle/psr/log/Psr/Log/Test/DummyTest.php b/vendor-bundle/psr/log/Psr/Log/Test/DummyTest.php new file mode 100644 index 000000000..91578f9ca --- /dev/null +++ b/vendor-bundle/psr/log/Psr/Log/Test/DummyTest.php @@ -0,0 +1,18 @@ + ". + * + * Example ->error('Foo') would yield "error Foo". + * + * @return string[] + */ + public abstract function getLogs(); + public function testImplements() + { + $this->assertInstanceOf('Phabel\\Psr\\Log\\LoggerInterface', $this->getLogger()); + } + /** + * @dataProvider provideLevelsAndMessages + */ + public function testLogsAtAllLevels($level, $message) + { + $logger = $this->getLogger(); + $logger->{$level}($message, array('user' => 'Bob')); + $logger->log($level, $message, array('user' => 'Bob')); + $expected = array($level . ' message of level ' . $level . ' with context: Bob', $level . ' message of level ' . $level . ' with context: Bob'); + $this->assertEquals($expected, $this->getLogs()); + } + public function provideLevelsAndMessages() + { + return array(LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'), LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'), LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'), LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'), LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'), LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'), LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'), LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}')); + } + /** + * @expectedException \Psr\Log\InvalidArgumentException + */ + public function testThrowsOnInvalidLevel() + { + $logger = $this->getLogger(); + $logger->log('invalid level', 'Foo'); + } + public function testContextReplacement() + { + $logger = $this->getLogger(); + $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar')); + $expected = array('info {Message {nothing} Bob Bar a}'); + $this->assertEquals($expected, $this->getLogs()); + } + public function testObjectCastToString() + { + if (\method_exists($this, 'createPartialMock')) { + $dummy = $this->createPartialMock('Phabel\\Psr\\Log\\Test\\DummyTest', array('__toString')); + } else { + $dummy = $this->getMock('Phabel\\Psr\\Log\\Test\\DummyTest', array('__toString')); + } + $dummy->expects($this->once())->method('__toString')->will($this->returnValue('DUMMY')); + $this->getLogger()->warning($dummy); + $expected = array('warning DUMMY'); + $this->assertEquals($expected, $this->getLogs()); + } + public function testContextCanContainAnything() + { + $closed = \fopen('php://memory', 'r'); + \fclose($closed); + $context = array('bool' => \true, 'null' => null, 'string' => 'Foo', 'int' => 0, 'float' => 0.5, 'nested' => array('with object' => new DummyTest()), 'object' => new \DateTime(), 'resource' => \fopen('php://memory', 'r'), 'closed' => $closed); + $this->getLogger()->warning('Crazy context data', $context); + $expected = array('warning Crazy context data'); + $this->assertEquals($expected, $this->getLogs()); + } + public function testContextExceptionKeyCanBeExceptionOrOtherValues() + { + $logger = $this->getLogger(); + $logger->warning('Random message', array('exception' => 'oops')); + $logger->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail'))); + $expected = array('warning Random message', 'critical Uncaught Exception!'); + $this->assertEquals($expected, $this->getLogs()); + } +} diff --git a/vendor-bundle/psr/log/Psr/Log/Test/TestLogger.php b/vendor-bundle/psr/log/Psr/Log/Test/TestLogger.php new file mode 100644 index 000000000..5d0944215 --- /dev/null +++ b/vendor-bundle/psr/log/Psr/Log/Test/TestLogger.php @@ -0,0 +1,132 @@ + $level, 'message' => $message, 'context' => $context]; + $this->recordsByLevel[$record['level']][] = $record; + $this->records[] = $record; + } + public function hasRecords($level) + { + return isset($this->recordsByLevel[$level]); + } + public function hasRecord($record, $level) + { + if (\is_string($record)) { + $record = ['message' => $record]; + } + return $this->hasRecordThatPasses(function ($rec) use($record) { + if ($rec['message'] !== $record['message']) { + return \false; + } + if (isset($record['context']) && $rec['context'] !== $record['context']) { + return \false; + } + return \true; + }, $level); + } + public function hasRecordThatContains($message, $level) + { + return $this->hasRecordThatPasses(function ($rec) use($message) { + return \strpos($rec['message'], $message) !== \false; + }, $level); + } + public function hasRecordThatMatches($regex, $level) + { + return $this->hasRecordThatPasses(function ($rec) use($regex) { + return \preg_match($regex, $rec['message']) > 0; + }, $level); + } + public function hasRecordThatPasses(callable $predicate, $level) + { + if (!isset($this->recordsByLevel[$level])) { + return \false; + } + foreach ($this->recordsByLevel[$level] as $i => $rec) { + if (\call_user_func($predicate, $rec, $i)) { + return \true; + } + } + return \false; + } + public function __call($method, $args) + { + if (\preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) { + $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3]; + $level = \strtolower($matches[2]); + if (\method_exists($this, $genericMethod)) { + $args[] = $level; + return \call_user_func_array([$this, $genericMethod], $args); + } + } + throw new \BadMethodCallException('Call to undefined method ' . \get_class($this) . '::' . $method . '()'); + } + public function reset() + { + $this->records = []; + $this->recordsByLevel = []; + } +} diff --git a/vendor-bundle/ralouphie/getallheaders/src/getallheaders.php b/vendor-bundle/ralouphie/getallheaders/src/getallheaders.php new file mode 100644 index 000000000..31f03505a --- /dev/null +++ b/vendor-bundle/ralouphie/getallheaders/src/getallheaders.php @@ -0,0 +1,38 @@ + 'Content-Type', 'CONTENT_LENGTH' => 'Content-Length', 'CONTENT_MD5' => 'Content-Md5'); + foreach ($_SERVER as $key => $value) { + if (\substr($key, 0, 5) === 'HTTP_') { + $key = \substr($key, 5); + if (!isset($copy_server[$key]) || !isset($_SERVER[$key])) { + $key = \str_replace(' ', '-', \ucwords(\strtolower(\str_replace('_', ' ', $key)))); + $headers[$key] = $value; + } + } elseif (isset($copy_server[$key])) { + $headers[$copy_server[$key]] = $value; + } + } + if (!isset($headers['Authorization'])) { + if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { + $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION']; + } elseif (isset($_SERVER['PHP_AUTH_USER'])) { + $basic_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : ''; + $headers['Authorization'] = 'Basic ' . \base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $basic_pass); + } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) { + $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST']; + } + } + return $headers; + } +} diff --git a/vendor-bundle/symfony/console/Application.php b/vendor-bundle/symfony/console/Application.php new file mode 100644 index 000000000..705954f5c --- /dev/null +++ b/vendor-bundle/symfony/console/Application.php @@ -0,0 +1,1262 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Command\HelpCommand; +use Phabel\Symfony\Component\Console\Command\LazyCommand; +use Phabel\Symfony\Component\Console\Command\ListCommand; +use Phabel\Symfony\Component\Console\Command\SignalableCommandInterface; +use Phabel\Symfony\Component\Console\CommandLoader\CommandLoaderInterface; +use Phabel\Symfony\Component\Console\Event\ConsoleCommandEvent; +use Phabel\Symfony\Component\Console\Event\ConsoleErrorEvent; +use Phabel\Symfony\Component\Console\Event\ConsoleSignalEvent; +use Phabel\Symfony\Component\Console\Event\ConsoleTerminateEvent; +use Phabel\Symfony\Component\Console\Exception\CommandNotFoundException; +use Phabel\Symfony\Component\Console\Exception\ExceptionInterface; +use Phabel\Symfony\Component\Console\Exception\LogicException; +use Phabel\Symfony\Component\Console\Exception\NamespaceNotFoundException; +use Phabel\Symfony\Component\Console\Exception\RuntimeException; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatter; +use Phabel\Symfony\Component\Console\Helper\DebugFormatterHelper; +use Phabel\Symfony\Component\Console\Helper\FormatterHelper; +use Phabel\Symfony\Component\Console\Helper\Helper; +use Phabel\Symfony\Component\Console\Helper\HelperSet; +use Phabel\Symfony\Component\Console\Helper\ProcessHelper; +use Phabel\Symfony\Component\Console\Helper\QuestionHelper; +use Phabel\Symfony\Component\Console\Input\ArgvInput; +use Phabel\Symfony\Component\Console\Input\ArrayInput; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputAwareInterface; +use Phabel\Symfony\Component\Console\Input\InputDefinition; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Input\InputOption; +use Phabel\Symfony\Component\Console\Output\ConsoleOutput; +use Phabel\Symfony\Component\Console\Output\ConsoleOutputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Component\Console\SignalRegistry\SignalRegistry; +use Phabel\Symfony\Component\Console\Style\SymfonyStyle; +use Phabel\Symfony\Component\ErrorHandler\ErrorHandler; +use Phabel\Symfony\Contracts\EventDispatcher\EventDispatcherInterface; +use Phabel\Symfony\Contracts\Service\ResetInterface; +/** + * An Application is the container for a collection of commands. + * + * It is the main entry point of a Console application. + * + * This class is optimized for a standard CLI environment. + * + * Usage: + * + * $app = new Application('myapp', '1.0 (stable)'); + * $app->add(new SimpleCommand()); + * $app->run(); + * + * @author Fabien Potencier + */ +class Application implements ResetInterface +{ + private $commands = []; + private $wantHelps = \false; + private $runningCommand; + private $name; + private $version; + private $commandLoader; + private $catchExceptions = \true; + private $autoExit = \true; + private $definition; + private $helperSet; + private $dispatcher; + private $terminal; + private $defaultCommand; + private $singleCommand = \false; + private $initialized; + private $signalRegistry; + private $signalsToDispatchEvent = []; + public function __construct($name = 'UNKNOWN', $version = 'UNKNOWN') + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_string($version)) { + if (!(\is_string($version) || \is_object($version) && \method_exists($version, '__toString') || (\is_bool($version) || \is_numeric($version)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($version) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($version) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $version = (string) $version; + } + } + $this->name = $name; + $this->version = $version; + $this->terminal = new Terminal(); + $this->defaultCommand = 'list'; + if (\defined('SIGINT') && SignalRegistry::isSupported()) { + $this->signalRegistry = new SignalRegistry(); + $this->signalsToDispatchEvent = [\SIGINT, \SIGTERM, \SIGUSR1, \SIGUSR2]; + } + } + /** + * @final + */ + public function setDispatcher(EventDispatcherInterface $dispatcher) + { + $this->dispatcher = $dispatcher; + } + public function setCommandLoader(CommandLoaderInterface $commandLoader) + { + $this->commandLoader = $commandLoader; + } + public function getSignalRegistry() + { + if (!$this->signalRegistry) { + throw new RuntimeException('Signals are not supported. Make sure that the `pcntl` extension is installed and that "pcntl_*" functions are not disabled by your php.ini\'s "disable_functions" directive.'); + } + $phabelReturn = $this->signalRegistry; + if (!$phabelReturn instanceof SignalRegistry) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type SignalRegistry, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function setSignalsToDispatchEvent(...$signalsToDispatchEvent) + { + foreach ($signalsToDispatchEvent as $phabelVariadicIndex => $phabelVariadic) { + if (!\is_int($phabelVariadic)) { + if (!(\is_bool($phabelVariadic) || \is_numeric($phabelVariadic))) { + throw new \TypeError(__METHOD__ . '(): Argument #' . (1 + $phabelVariadicIndex) . ' must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signalsToDispatchEvent) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelVariadic = (int) $phabelVariadic; + } + } + } + $this->signalsToDispatchEvent = $signalsToDispatchEvent; + } + /** + * Runs the current application. + * + * @return int 0 if everything went fine, or an error code + * + * @throws \Exception When running fails. Bypass this when {@link setCatchExceptions()}. + */ + public function run(InputInterface $input = null, OutputInterface $output = null) + { + if (\function_exists('putenv')) { + @\putenv('LINES=' . $this->terminal->getHeight()); + @\putenv('COLUMNS=' . $this->terminal->getWidth()); + } + if (null === $input) { + $input = new ArgvInput(); + } + if (null === $output) { + $output = new ConsoleOutput(); + } + $renderException = function (\Throwable $e) use($output) { + if ($output instanceof ConsoleOutputInterface) { + $this->renderThrowable($e, $output->getErrorOutput()); + } else { + $this->renderThrowable($e, $output); + } + }; + if ($phpHandler = \set_exception_handler($renderException)) { + \restore_exception_handler(); + if (!\is_array($phpHandler) || !$phpHandler[0] instanceof ErrorHandler) { + $errorHandler = \true; + } elseif ($errorHandler = $phpHandler[0]->setExceptionHandler($renderException)) { + $phpHandler[0]->setExceptionHandler($errorHandler); + } + } + $this->configureIO($input, $output); + try { + $exitCode = $this->doRun($input, $output); + } catch (\Exception $e) { + if (!$this->catchExceptions) { + throw $e; + } + $renderException($e); + $exitCode = $e->getCode(); + if (\is_numeric($exitCode)) { + $exitCode = (int) $exitCode; + if (0 === $exitCode) { + $exitCode = 1; + } + } else { + $exitCode = 1; + } + } finally { + // if the exception handler changed, keep it + // otherwise, unregister $renderException + if (!$phpHandler) { + if (\set_exception_handler($renderException) === $renderException) { + \restore_exception_handler(); + } + \restore_exception_handler(); + } elseif (!$errorHandler) { + $finalHandler = $phpHandler[0]->setExceptionHandler(null); + if ($finalHandler !== $renderException) { + $phpHandler[0]->setExceptionHandler($finalHandler); + } + } + } + if ($this->autoExit) { + if ($exitCode > 255) { + $exitCode = 255; + } + exit($exitCode); + } + return $exitCode; + } + /** + * Runs the current application. + * + * @return int 0 if everything went fine, or an error code + */ + public function doRun(InputInterface $input, OutputInterface $output) + { + if (\true === $input->hasParameterOption(['--version', '-V'], \true)) { + $output->writeln($this->getLongVersion()); + return 0; + } + try { + // Makes ArgvInput::getFirstArgument() able to distinguish an option from an argument. + $input->bind($this->getDefinition()); + } catch (ExceptionInterface $e) { + // Errors must be ignored, full binding/validation happens later when the command is known. + } + $name = $this->getCommandName($input); + if (\true === $input->hasParameterOption(['--help', '-h'], \true)) { + if (!$name) { + $name = 'help'; + $input = new ArrayInput(['command_name' => $this->defaultCommand]); + } else { + $this->wantHelps = \true; + } + } + if (!$name) { + $name = $this->defaultCommand; + $definition = $this->getDefinition(); + $definition->setArguments(\array_merge($definition->getArguments(), ['command' => new InputArgument('command', InputArgument::OPTIONAL, $definition->getArgument('command')->getDescription(), $name)])); + } + try { + $this->runningCommand = null; + // the command name MUST be the first element of the input + $command = $this->find($name); + } catch (\Exception $e) { + if (!($e instanceof CommandNotFoundException && !$e instanceof NamespaceNotFoundException) || 1 !== \count($alternatives = $e->getAlternatives()) || !$input->isInteractive()) { + if (null !== $this->dispatcher) { + $event = new ConsoleErrorEvent($input, $output, $e); + $this->dispatcher->dispatch($event, ConsoleEvents::ERROR); + if (0 === $event->getExitCode()) { + return 0; + } + $e = $event->getError(); + } + throw $e; + } + $alternative = $alternatives[0]; + $style = new SymfonyStyle($input, $output); + $style->block(\sprintf("\nCommand \"%s\" is not defined.\n", $name), null, 'error'); + if (!$style->confirm(\sprintf('Do you want to run "%s" instead? ', $alternative), \false)) { + if (null !== $this->dispatcher) { + $event = new ConsoleErrorEvent($input, $output, $e); + $this->dispatcher->dispatch($event, ConsoleEvents::ERROR); + return $event->getExitCode(); + } + return 1; + } + $command = $this->find($alternative); + } catch (\Error $e) { + if (!($e instanceof CommandNotFoundException && !$e instanceof NamespaceNotFoundException) || 1 !== \count($alternatives = $e->getAlternatives()) || !$input->isInteractive()) { + if (null !== $this->dispatcher) { + $event = new ConsoleErrorEvent($input, $output, $e); + $this->dispatcher->dispatch($event, ConsoleEvents::ERROR); + if (0 === $event->getExitCode()) { + return 0; + } + $e = $event->getError(); + } + throw $e; + } + $alternative = $alternatives[0]; + $style = new SymfonyStyle($input, $output); + $style->block(\sprintf("\nCommand \"%s\" is not defined.\n", $name), null, 'error'); + if (!$style->confirm(\sprintf('Do you want to run "%s" instead? ', $alternative), \false)) { + if (null !== $this->dispatcher) { + $event = new ConsoleErrorEvent($input, $output, $e); + $this->dispatcher->dispatch($event, ConsoleEvents::ERROR); + return $event->getExitCode(); + } + return 1; + } + $command = $this->find($alternative); + } + if ($command instanceof LazyCommand) { + $command = $command->getCommand(); + } + $this->runningCommand = $command; + $exitCode = $this->doRunCommand($command, $input, $output); + $this->runningCommand = null; + return $exitCode; + } + /** + * {@inheritdoc} + */ + public function reset() + { + } + public function setHelperSet(HelperSet $helperSet) + { + $this->helperSet = $helperSet; + } + /** + * Get the helper set associated with the command. + * + * @return HelperSet The HelperSet instance associated with this command + */ + public function getHelperSet() + { + if (!$this->helperSet) { + $this->helperSet = $this->getDefaultHelperSet(); + } + return $this->helperSet; + } + public function setDefinition(InputDefinition $definition) + { + $this->definition = $definition; + } + /** + * Gets the InputDefinition related to this Application. + * + * @return InputDefinition The InputDefinition instance + */ + public function getDefinition() + { + if (!$this->definition) { + $this->definition = $this->getDefaultInputDefinition(); + } + if ($this->singleCommand) { + $inputDefinition = $this->definition; + $inputDefinition->setArguments(); + return $inputDefinition; + } + return $this->definition; + } + /** + * Gets the help message. + * + * @return string A help message + */ + public function getHelp() + { + return $this->getLongVersion(); + } + /** + * Gets whether to catch exceptions or not during commands execution. + * + * @return bool Whether to catch exceptions or not during commands execution + */ + public function areExceptionsCaught() + { + return $this->catchExceptions; + } + /** + * Sets whether to catch exceptions or not during commands execution. + */ + public function setCatchExceptions($boolean) + { + if (!\is_bool($boolean)) { + if (!(\is_bool($boolean) || \is_numeric($boolean) || \is_string($boolean))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($boolean) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($boolean) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $boolean = (bool) $boolean; + } + } + $this->catchExceptions = $boolean; + } + /** + * Gets whether to automatically exit after a command execution or not. + * + * @return bool Whether to automatically exit after a command execution or not + */ + public function isAutoExitEnabled() + { + return $this->autoExit; + } + /** + * Sets whether to automatically exit after a command execution or not. + */ + public function setAutoExit($boolean) + { + if (!\is_bool($boolean)) { + if (!(\is_bool($boolean) || \is_numeric($boolean) || \is_string($boolean))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($boolean) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($boolean) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $boolean = (bool) $boolean; + } + } + $this->autoExit = $boolean; + } + /** + * Gets the name of the application. + * + * @return string The application name + */ + public function getName() + { + return $this->name; + } + /** + * Sets the application name. + **/ + public function setName($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $this->name = $name; + } + /** + * Gets the application version. + * + * @return string The application version + */ + public function getVersion() + { + return $this->version; + } + /** + * Sets the application version. + */ + public function setVersion($version) + { + if (!\is_string($version)) { + if (!(\is_string($version) || \is_object($version) && \method_exists($version, '__toString') || (\is_bool($version) || \is_numeric($version)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($version) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($version) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $version = (string) $version; + } + } + $this->version = $version; + } + /** + * Returns the long version of the application. + * + * @return string The long application version + */ + public function getLongVersion() + { + if ('UNKNOWN' !== $this->getName()) { + if ('UNKNOWN' !== $this->getVersion()) { + return \sprintf('%s %s', $this->getName(), $this->getVersion()); + } + return $this->getName(); + } + return 'Console Tool'; + } + /** + * Registers a new command. + * + * @return Command The newly created command + */ + public function register($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return $this->add(new Command($name)); + } + /** + * Adds an array of command objects. + * + * If a Command is not enabled it will not be added. + * + * @param Command[] $commands An array of commands + */ + public function addCommands(array $commands) + { + foreach ($commands as $command) { + $this->add($command); + } + } + /** + * Adds a command object. + * + * If a command with the same name already exists, it will be overridden. + * If the command is not enabled it will not be added. + * + * @return Command|null The registered command if enabled or null + */ + public function add(Command $command) + { + $this->init(); + $command->setApplication($this); + if (!$command->isEnabled()) { + $command->setApplication(null); + return null; + } + if (!$command instanceof LazyCommand) { + // Will throw if the command is not correctly initialized. + $command->getDefinition(); + } + if (!$command->getName()) { + throw new LogicException(\sprintf('The command defined in "%s" cannot have an empty name.', \get_debug_type($command))); + } + $this->commands[$command->getName()] = $command; + foreach ($command->getAliases() as $alias) { + $this->commands[$alias] = $command; + } + return $command; + } + /** + * Returns a registered command by name or alias. + * + * @return Command A Command object + * + * @throws CommandNotFoundException When given command name does not exist + */ + public function get($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $this->init(); + if (!$this->has($name)) { + throw new CommandNotFoundException(\sprintf('The command "%s" does not exist.', $name)); + } + // When the command has a different name than the one used at the command loader level + if (!isset($this->commands[$name])) { + throw new CommandNotFoundException(\sprintf('The "%s" command cannot be found because it is registered under multiple names. Make sure you don\'t set a different name via constructor or "setName()".', $name)); + } + $command = $this->commands[$name]; + if ($this->wantHelps) { + $this->wantHelps = \false; + $helpCommand = $this->get('help'); + $helpCommand->setCommand($command); + return $helpCommand; + } + return $command; + } + /** + * Returns true if the command exists, false otherwise. + * + * @return bool true if the command exists, false otherwise + */ + public function has($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $this->init(); + return isset($this->commands[$name]) || $this->commandLoader && $this->commandLoader->has($name) && $this->add($this->commandLoader->get($name)); + } + /** + * Returns an array of all unique namespaces used by currently registered commands. + * + * It does not return the global namespace which always exists. + * + * @return string[] An array of namespaces + */ + public function getNamespaces() + { + $namespaces = []; + foreach ($this->all() as $command) { + if ($command->isHidden()) { + continue; + } + $namespaces = \array_merge($namespaces, $this->extractAllNamespaces($command->getName())); + foreach ($command->getAliases() as $alias) { + $namespaces = \array_merge($namespaces, $this->extractAllNamespaces($alias)); + } + } + return \array_values(\array_unique(\array_filter($namespaces))); + } + /** + * Finds a registered namespace by a name or an abbreviation. + * + * @return string A registered namespace + * + * @throws NamespaceNotFoundException When namespace is incorrect or ambiguous + */ + public function findNamespace($namespace) + { + if (!\is_string($namespace)) { + if (!(\is_string($namespace) || \is_object($namespace) && \method_exists($namespace, '__toString') || (\is_bool($namespace) || \is_numeric($namespace)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($namespace) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($namespace) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $namespace = (string) $namespace; + } + } + $allNamespaces = $this->getNamespaces(); + $expr = \implode('[^:]*:', \array_map('preg_quote', \explode(':', $namespace))) . '[^:]*'; + $namespaces = \preg_grep('{^' . $expr . '}', $allNamespaces); + if (empty($namespaces)) { + $message = \sprintf('There are no commands defined in the "%s" namespace.', $namespace); + if ($alternatives = $this->findAlternatives($namespace, $allNamespaces)) { + if (1 == \count($alternatives)) { + $message .= "\n\nDid you mean this?\n "; + } else { + $message .= "\n\nDid you mean one of these?\n "; + } + $message .= \implode("\n ", $alternatives); + } + throw new NamespaceNotFoundException($message, $alternatives); + } + $exact = \in_array($namespace, $namespaces, \true); + if (\count($namespaces) > 1 && !$exact) { + throw new NamespaceNotFoundException(\sprintf("The namespace \"%s\" is ambiguous.\nDid you mean one of these?\n%s.", $namespace, $this->getAbbreviationSuggestions(\array_values($namespaces))), \array_values($namespaces)); + } + return $exact ? $namespace : \reset($namespaces); + } + /** + * Finds a command by name or alias. + * + * Contrary to get, this command tries to find the best + * match if you give it an abbreviation of a name or alias. + * + * @return Command A Command instance + * + * @throws CommandNotFoundException When command name is incorrect or ambiguous + */ + public function find($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $this->init(); + $aliases = []; + foreach ($this->commands as $command) { + foreach ($command->getAliases() as $alias) { + if (!$this->has($alias)) { + $this->commands[$alias] = $command; + } + } + } + if ($this->has($name)) { + return $this->get($name); + } + $allCommands = $this->commandLoader ? \array_merge($this->commandLoader->getNames(), \array_keys($this->commands)) : \array_keys($this->commands); + $expr = \implode('[^:]*:', \array_map('preg_quote', \explode(':', $name))) . '[^:]*'; + $commands = \preg_grep('{^' . $expr . '}', $allCommands); + if (empty($commands)) { + $commands = \preg_grep('{^' . $expr . '}i', $allCommands); + } + // if no commands matched or we just matched namespaces + if (empty($commands) || \count(\preg_grep('{^' . $expr . '$}i', $commands)) < 1) { + if (\false !== ($pos = \strrpos($name, ':'))) { + // check if a namespace exists and contains commands + $this->findNamespace(\substr($name, 0, $pos)); + } + $message = \sprintf('Command "%s" is not defined.', $name); + if ($alternatives = $this->findAlternatives($name, $allCommands)) { + // remove hidden commands + $alternatives = \array_filter($alternatives, function ($name) { + return !$this->get($name)->isHidden(); + }); + if (1 == \count($alternatives)) { + $message .= "\n\nDid you mean this?\n "; + } else { + $message .= "\n\nDid you mean one of these?\n "; + } + $message .= \implode("\n ", $alternatives); + } + throw new CommandNotFoundException($message, \array_values($alternatives)); + } + // filter out aliases for commands which are already on the list + if (\count($commands) > 1) { + $commandList = $this->commandLoader ? \array_merge(\array_flip($this->commandLoader->getNames()), $this->commands) : $this->commands; + $commands = \array_unique(\array_filter($commands, function ($nameOrAlias) use(&$commandList, $commands, &$aliases) { + if (!$commandList[$nameOrAlias] instanceof Command) { + $commandList[$nameOrAlias] = $this->commandLoader->get($nameOrAlias); + } + $commandName = $commandList[$nameOrAlias]->getName(); + $aliases[$nameOrAlias] = $commandName; + return $commandName === $nameOrAlias || !\in_array($commandName, $commands); + })); + } + if (\count($commands) > 1) { + $usableWidth = $this->terminal->getWidth() - 10; + $abbrevs = \array_values($commands); + $maxLen = 0; + foreach ($abbrevs as $abbrev) { + $maxLen = \max(Helper::width($abbrev), $maxLen); + } + $abbrevs = \array_map(function ($cmd) use($commandList, $usableWidth, $maxLen, &$commands) { + if ($commandList[$cmd]->isHidden()) { + unset($commands[\array_search($cmd, $commands)]); + return \false; + } + $abbrev = \str_pad($cmd, $maxLen, ' ') . ' ' . $commandList[$cmd]->getDescription(); + return Helper::width($abbrev) > $usableWidth ? Helper::substr($abbrev, 0, $usableWidth - 3) . '...' : $abbrev; + }, \array_values($commands)); + if (\count($commands) > 1) { + $suggestions = $this->getAbbreviationSuggestions(\array_filter($abbrevs)); + throw new CommandNotFoundException(\sprintf("Command \"%s\" is ambiguous.\nDid you mean one of these?\n%s.", $name, $suggestions), \array_values($commands)); + } + } + $command = $this->get(\reset($commands)); + if ($command->isHidden()) { + throw new CommandNotFoundException(\sprintf('The command "%s" does not exist.', $name)); + } + return $command; + } + /** + * Gets the commands (registered in the given namespace if provided). + * + * The array keys are the full names and the values the command instances. + * + * @return Command[] An array of Command instances + */ + public function all($namespace = null) + { + if (!\is_null($namespace)) { + if (!\is_string($namespace)) { + if (!(\is_string($namespace) || \is_object($namespace) && \method_exists($namespace, '__toString') || (\is_bool($namespace) || \is_numeric($namespace)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($namespace) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($namespace) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $namespace = (string) $namespace; + } + } + } + $this->init(); + if (null === $namespace) { + if (!$this->commandLoader) { + return $this->commands; + } + $commands = $this->commands; + foreach ($this->commandLoader->getNames() as $name) { + if (!isset($commands[$name]) && $this->has($name)) { + $commands[$name] = $this->get($name); + } + } + return $commands; + } + $commands = []; + foreach ($this->commands as $name => $command) { + if ($namespace === $this->extractNamespace($name, \substr_count($namespace, ':') + 1)) { + $commands[$name] = $command; + } + } + if ($this->commandLoader) { + foreach ($this->commandLoader->getNames() as $name) { + if (!isset($commands[$name]) && $namespace === $this->extractNamespace($name, \substr_count($namespace, ':') + 1) && $this->has($name)) { + $commands[$name] = $this->get($name); + } + } + } + return $commands; + } + /** + * Returns an array of possible abbreviations given a set of names. + * + * @return string[][] An array of abbreviations + */ + public static function getAbbreviations(array $names) + { + $abbrevs = []; + foreach ($names as $name) { + for ($len = \strlen($name); $len > 0; --$len) { + $abbrev = \substr($name, 0, $len); + $abbrevs[$abbrev][] = $name; + } + } + return $abbrevs; + } + public function renderThrowable(\Throwable $e, OutputInterface $output) + { + $output->writeln('', OutputInterface::VERBOSITY_QUIET); + $this->doRenderThrowable($e, $output); + if (null !== $this->runningCommand) { + $output->writeln(\sprintf('%s', OutputFormatter::escape(\sprintf($this->runningCommand->getSynopsis(), $this->getName()))), OutputInterface::VERBOSITY_QUIET); + $output->writeln('', OutputInterface::VERBOSITY_QUIET); + } + } + protected function doRenderThrowable(\Throwable $e, OutputInterface $output) + { + do { + $message = \trim($e->getMessage()); + if ('' === $message || OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { + $class = \get_debug_type($e); + $title = \sprintf(' [%s%s] ', $class, 0 !== ($code = $e->getCode()) ? ' (' . $code . ')' : ''); + $len = Helper::width($title); + } else { + $len = 0; + } + if (\str_contains($message, "@anonymous\x00")) { + $message = \preg_replace_callback('/[a-zA-Z_\\x7f-\\xff][\\\\a-zA-Z0-9_\\x7f-\\xff]*+@anonymous\\x00.*?\\.php(?:0x?|:[0-9]++\\$)[0-9a-fA-F]++/', function ($m) { + return \class_exists($m[0], \false) ? ((\get_parent_class($m[0]) ?: \key(\class_implements($m[0]))) ?: 'class') . '@anonymous' : $m[0]; + }, $message); + } + $width = $this->terminal->getWidth() ? $this->terminal->getWidth() - 1 : \PHP_INT_MAX; + $lines = []; + foreach ('' !== $message ? \preg_split('/\\r?\\n/', $message) : [] as $line) { + foreach ($this->splitStringByWidth($line, $width - 4) as $line) { + // pre-format lines to get the right string length + $lineLength = Helper::width($line) + 4; + $lines[] = [$line, $lineLength]; + $len = \max($lineLength, $len); + } + } + $messages = []; + if (!$e instanceof ExceptionInterface || OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { + $messages[] = \sprintf('%s', OutputFormatter::escape(\sprintf('In %s line %s:', \basename($e->getFile()) ?: 'n/a', $e->getLine() ?: 'n/a'))); + } + $messages[] = $emptyLine = \sprintf('%s', \str_repeat(' ', $len)); + if ('' === $message || OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { + $messages[] = \sprintf('%s%s', $title, \str_repeat(' ', \max(0, $len - Helper::width($title)))); + } + foreach ($lines as $line) { + $messages[] = \sprintf(' %s %s', OutputFormatter::escape($line[0]), \str_repeat(' ', $len - $line[1])); + } + $messages[] = $emptyLine; + $messages[] = ''; + $output->writeln($messages, OutputInterface::VERBOSITY_QUIET); + if (OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { + $output->writeln('Exception trace:', OutputInterface::VERBOSITY_QUIET); + // exception related properties + $trace = $e->getTrace(); + \array_unshift($trace, ['function' => '', 'file' => $e->getFile() ?: 'n/a', 'line' => $e->getLine() ?: 'n/a', 'args' => []]); + for ($i = 0, $count = \count($trace); $i < $count; ++$i) { + $class = isset($trace[$i]['class']) ? $trace[$i]['class'] : ''; + $type = isset($trace[$i]['type']) ? $trace[$i]['type'] : ''; + $function = isset($trace[$i]['function']) ? $trace[$i]['function'] : ''; + $file = isset($trace[$i]['file']) ? $trace[$i]['file'] : 'n/a'; + $line = isset($trace[$i]['line']) ? $trace[$i]['line'] : 'n/a'; + $output->writeln(\sprintf(' %s%s at %s:%s', $class, $function ? $type . $function . '()' : '', $file, $line), OutputInterface::VERBOSITY_QUIET); + } + $output->writeln('', OutputInterface::VERBOSITY_QUIET); + } + } while ($e = $e->getPrevious()); + } + /** + * Configures the input and output instances based on the user arguments and options. + */ + protected function configureIO(InputInterface $input, OutputInterface $output) + { + if (\true === $input->hasParameterOption(['--ansi'], \true)) { + $output->setDecorated(\true); + } elseif (\true === $input->hasParameterOption(['--no-ansi'], \true)) { + $output->setDecorated(\false); + } + if (\true === $input->hasParameterOption(['--no-interaction', '-n'], \true)) { + $input->setInteractive(\false); + } + switch ($shellVerbosity = (int) \getenv('SHELL_VERBOSITY')) { + case -1: + $output->setVerbosity(OutputInterface::VERBOSITY_QUIET); + break; + case 1: + $output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE); + break; + case 2: + $output->setVerbosity(OutputInterface::VERBOSITY_VERY_VERBOSE); + break; + case 3: + $output->setVerbosity(OutputInterface::VERBOSITY_DEBUG); + break; + default: + $shellVerbosity = 0; + break; + } + if (\true === $input->hasParameterOption(['--quiet', '-q'], \true)) { + $output->setVerbosity(OutputInterface::VERBOSITY_QUIET); + $shellVerbosity = -1; + } else { + if ($input->hasParameterOption('-vvv', \true) || $input->hasParameterOption('--verbose=3', \true) || 3 === $input->getParameterOption('--verbose', \false, \true)) { + $output->setVerbosity(OutputInterface::VERBOSITY_DEBUG); + $shellVerbosity = 3; + } elseif ($input->hasParameterOption('-vv', \true) || $input->hasParameterOption('--verbose=2', \true) || 2 === $input->getParameterOption('--verbose', \false, \true)) { + $output->setVerbosity(OutputInterface::VERBOSITY_VERY_VERBOSE); + $shellVerbosity = 2; + } elseif ($input->hasParameterOption('-v', \true) || $input->hasParameterOption('--verbose=1', \true) || $input->hasParameterOption('--verbose', \true) || $input->getParameterOption('--verbose', \false, \true)) { + $output->setVerbosity(OutputInterface::VERBOSITY_VERBOSE); + $shellVerbosity = 1; + } + } + if (-1 === $shellVerbosity) { + $input->setInteractive(\false); + } + if (\function_exists('putenv')) { + @\putenv('SHELL_VERBOSITY=' . $shellVerbosity); + } + $_ENV['SHELL_VERBOSITY'] = $shellVerbosity; + $_SERVER['SHELL_VERBOSITY'] = $shellVerbosity; + } + /** + * Runs the current command. + * + * If an event dispatcher has been attached to the application, + * events are also dispatched during the life-cycle of the command. + * + * @return int 0 if everything went fine, or an error code + */ + protected function doRunCommand(Command $command, InputInterface $input, OutputInterface $output) + { + foreach ($command->getHelperSet() as $helper) { + if ($helper instanceof InputAwareInterface) { + $helper->setInput($input); + } + } + if ($command instanceof SignalableCommandInterface && ($this->signalsToDispatchEvent || $command->getSubscribedSignals())) { + if (!$this->signalRegistry) { + throw new RuntimeException('Unable to subscribe to signal events. Make sure that the `pcntl` extension is installed and that "pcntl_*" functions are not disabled by your php.ini\'s "disable_functions" directive.'); + } + if ($this->dispatcher) { + foreach ($this->signalsToDispatchEvent as $signal) { + $event = new ConsoleSignalEvent($command, $input, $output, $signal); + $this->signalRegistry->register($signal, function ($signal, $hasNext) use($event) { + $this->dispatcher->dispatch($event, ConsoleEvents::SIGNAL); + // No more handlers, we try to simulate PHP default behavior + if (!$hasNext) { + if (!\in_array($signal, [\SIGUSR1, \SIGUSR2], \true)) { + exit(0); + } + } + }); + } + } + foreach ($command->getSubscribedSignals() as $signal) { + $this->signalRegistry->register($signal, [$command, 'handleSignal']); + } + } + if (null === $this->dispatcher) { + return $command->run($input, $output); + } + // bind before the console.command event, so the listeners have access to input options/arguments + try { + $command->mergeApplicationDefinition(); + $input->bind($command->getDefinition()); + } catch (ExceptionInterface $e) { + // ignore invalid options/arguments for now, to allow the event listeners to customize the InputDefinition + } + $event = new ConsoleCommandEvent($command, $input, $output); + $e = null; + try { + $this->dispatcher->dispatch($event, ConsoleEvents::COMMAND); + if ($event->commandShouldRun()) { + $exitCode = $command->run($input, $output); + } else { + $exitCode = ConsoleCommandEvent::RETURN_CODE_DISABLED; + } + } catch (\Exception $e) { + $event = new ConsoleErrorEvent($input, $output, $e, $command); + $this->dispatcher->dispatch($event, ConsoleEvents::ERROR); + $e = $event->getError(); + if (0 === ($exitCode = $event->getExitCode())) { + $e = null; + } + } catch (\Error $e) { + $event = new ConsoleErrorEvent($input, $output, $e, $command); + $this->dispatcher->dispatch($event, ConsoleEvents::ERROR); + $e = $event->getError(); + if (0 === ($exitCode = $event->getExitCode())) { + $e = null; + } + } + $event = new ConsoleTerminateEvent($command, $input, $output, $exitCode); + $this->dispatcher->dispatch($event, ConsoleEvents::TERMINATE); + if (null !== $e) { + throw $e; + } + return $event->getExitCode(); + } + /** + * Gets the name of the command based on input. + * + * @return string|null + */ + protected function getCommandName(InputInterface $input) + { + return $this->singleCommand ? $this->defaultCommand : $input->getFirstArgument(); + } + /** + * Gets the default input definition. + * + * @return InputDefinition An InputDefinition instance + */ + protected function getDefaultInputDefinition() + { + return new InputDefinition([new InputArgument('command', InputArgument::REQUIRED, 'The command to execute'), new InputOption('--help', '-h', InputOption::VALUE_NONE, 'Display help for the given command. When no command is given display help for the ' . $this->defaultCommand . ' command'), new InputOption('--quiet', '-q', InputOption::VALUE_NONE, 'Do not output any message'), new InputOption('--verbose', '-v|vv|vvv', InputOption::VALUE_NONE, 'Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug'), new InputOption('--version', '-V', InputOption::VALUE_NONE, 'Display this application version'), new InputOption('--ansi', '', InputOption::VALUE_NEGATABLE, 'Force (or disable --no-ansi) ANSI output', \false), new InputOption('--no-interaction', '-n', InputOption::VALUE_NONE, 'Do not ask any interactive question')]); + } + /** + * Gets the default commands that should always be available. + * + * @return Command[] An array of default Command instances + */ + protected function getDefaultCommands() + { + return [new HelpCommand(), new ListCommand()]; + } + /** + * Gets the default helper set with the helpers that should always be available. + * + * @return HelperSet A HelperSet instance + */ + protected function getDefaultHelperSet() + { + return new HelperSet([new FormatterHelper(), new DebugFormatterHelper(), new ProcessHelper(), new QuestionHelper()]); + } + /** + * Returns abbreviated suggestions in string format. + */ + private function getAbbreviationSuggestions(array $abbrevs) + { + $phabelReturn = ' ' . \implode("\n ", $abbrevs); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns the namespace part of the command name. + * + * This method is not part of public API and should not be used directly. + * + * @return string The namespace of the command + */ + public function extractNamespace($name, $limit = null) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_null($limit)) { + if (!\is_int($limit)) { + if (!(\is_bool($limit) || \is_numeric($limit))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($limit) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($limit) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $limit = (int) $limit; + } + } + } + $parts = \explode(':', $name, -1); + return \implode(':', null === $limit ? $parts : \array_slice($parts, 0, $limit)); + } + /** + * Finds alternative of $name among $collection, + * if nothing is found in $collection, try in $abbrevs. + * + * @return string[] A sorted array of similar string + */ + private function findAlternatives($name, $collection) + { + if (!(\is_array($collection) || $collection instanceof \Traversable)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($collection) must be of type iterable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($collection) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $threshold = 1000.0; + $alternatives = []; + $collectionParts = []; + foreach ($collection as $item) { + $collectionParts[$item] = \explode(':', $item); + } + foreach (\explode(':', $name) as $i => $subname) { + foreach ($collectionParts as $collectionName => $parts) { + $exists = isset($alternatives[$collectionName]); + if (!isset($parts[$i]) && $exists) { + $alternatives[$collectionName] += $threshold; + continue; + } elseif (!isset($parts[$i])) { + continue; + } + $lev = \levenshtein($subname, $parts[$i]); + if ($lev <= \strlen($subname) / 3 || '' !== $subname && \str_contains($parts[$i], $subname)) { + $alternatives[$collectionName] = $exists ? $alternatives[$collectionName] + $lev : $lev; + } elseif ($exists) { + $alternatives[$collectionName] += $threshold; + } + } + } + foreach ($collection as $item) { + $lev = \levenshtein($name, $item); + if ($lev <= \strlen($name) / 3 || \str_contains($item, $name)) { + $alternatives[$item] = isset($alternatives[$item]) ? $alternatives[$item] - $lev : $lev; + } + } + $alternatives = \array_filter($alternatives, function ($lev) use($threshold) { + return $lev < 2 * $threshold; + }); + \ksort($alternatives, \SORT_NATURAL | \SORT_FLAG_CASE); + $phabelReturn = \array_keys($alternatives); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets the default Command name. + * + * @return self + */ + public function setDefaultCommand($commandName, $isSingleCommand = \false) + { + if (!\is_string($commandName)) { + if (!(\is_string($commandName) || \is_object($commandName) && \method_exists($commandName, '__toString') || (\is_bool($commandName) || \is_numeric($commandName)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($commandName) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($commandName) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $commandName = (string) $commandName; + } + } + if (!\is_bool($isSingleCommand)) { + if (!(\is_bool($isSingleCommand) || \is_numeric($isSingleCommand) || \is_string($isSingleCommand))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($isSingleCommand) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($isSingleCommand) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $isSingleCommand = (bool) $isSingleCommand; + } + } + $this->defaultCommand = \explode('|', \ltrim($commandName, '|'))[0]; + if ($isSingleCommand) { + // Ensure the command exist + $this->find($commandName); + $this->singleCommand = \true; + } + return $this; + } + /** + * @internal + */ + public function isSingleCommand() + { + $phabelReturn = $this->singleCommand; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + private function splitStringByWidth($string, $width) + { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + if (!\is_int($width)) { + if (!(\is_bool($width) || \is_numeric($width))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($width) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($width) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $width = (int) $width; + } + } + // str_split is not suitable for multi-byte characters, we should use preg_split to get char array properly. + // additionally, array_slice() is not enough as some character has doubled width. + // we need a function to split string not by character count but by string width + if (\false === ($encoding = \mb_detect_encoding($string, null, \true))) { + $phabelReturn = \str_split($string, $width); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $utf8String = \mb_convert_encoding($string, 'utf8', $encoding); + $lines = []; + $line = ''; + $offset = 0; + while (\preg_match('/.{1,10000}/u', $utf8String, $m, 0, $offset)) { + $offset += \strlen($m[0]); + foreach (\preg_split('//u', $m[0]) as $char) { + // test if $char could be appended to current line + if (\mb_strwidth($line . $char, 'utf8') <= $width) { + $line .= $char; + continue; + } + // if not, push current line to array and make new line + $lines[] = \str_pad($line, $width); + $line = $char; + } + } + $lines[] = \count($lines) ? \str_pad($line, $width) : $line; + \mb_convert_variables($encoding, 'utf8', $lines); + $phabelReturn = $lines; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Returns all namespaces of the command name. + * + * @return string[] The namespaces of the command + */ + private function extractAllNamespaces($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + // -1 as third argument is needed to skip the command short name when exploding + $parts = \explode(':', $name, -1); + $namespaces = []; + foreach ($parts as $part) { + if (\count($namespaces)) { + $namespaces[] = \end($namespaces) . ':' . $part; + } else { + $namespaces[] = $part; + } + } + $phabelReturn = $namespaces; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function init() + { + if ($this->initialized) { + return; + } + $this->initialized = \true; + foreach ($this->getDefaultCommands() as $command) { + $this->add($command); + } + } +} diff --git a/vendor-bundle/symfony/console/Attribute/AsCommand.php b/vendor-bundle/symfony/console/Attribute/AsCommand.php new file mode 100644 index 000000000..6354721d2 --- /dev/null +++ b/vendor-bundle/symfony/console/Attribute/AsCommand.php @@ -0,0 +1,54 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Attribute; + +/** + * Service tag to autoconfigure commands. + */ +#[\Attribute(\Attribute::TARGET_CLASS)] +class AsCommand +{ + public function __construct(public $name, public $description = null, array $aliases = [], $hidden = \false) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_null($description)) { + if (!\is_string($description)) { + if (!(\is_string($description) || \is_object($description) && \method_exists($description, '__toString') || (\is_bool($description) || \is_numeric($description)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($description) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($description) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $description = (string) $description; + } + } + } + if (!\is_bool($hidden)) { + if (!(\is_bool($hidden) || \is_numeric($hidden) || \is_string($hidden))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($hidden) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($hidden) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $hidden = (bool) $hidden; + } + } + if (!$hidden && !$aliases) { + return; + } + $name = \explode('|', $name); + $name = \array_merge($name, $aliases); + if ($hidden && '' !== $name[0]) { + \array_unshift($name, ''); + } + $this->name = \implode('|', $name); + } +} diff --git a/vendor-bundle/symfony/console/CI/GithubActionReporter.php b/vendor-bundle/symfony/console/CI/GithubActionReporter.php new file mode 100644 index 000000000..085f52cf4 --- /dev/null +++ b/vendor-bundle/symfony/console/CI/GithubActionReporter.php @@ -0,0 +1,227 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\CI; + +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * Utility class for Github actions. + * + * @author Maxime Steinhausser + */ +class GithubActionReporter +{ + private $output; + /** + * @see https://github.com/actions/toolkit/blob/5e5e1b7aacba68a53836a34db4a288c3c1c1585b/packages/core/src/command.ts#L80-L85 + */ + const ESCAPED_DATA = ['%' => '%25', "\r" => '%0D', "\n" => '%0A']; + /** + * @see https://github.com/actions/toolkit/blob/5e5e1b7aacba68a53836a34db4a288c3c1c1585b/packages/core/src/command.ts#L87-L94 + */ + const ESCAPED_PROPERTIES = ['%' => '%25', "\r" => '%0D', "\n" => '%0A', ':' => '%3A', ',' => '%2C']; + public function __construct(OutputInterface $output) + { + $this->output = $output; + } + public static function isGithubActionEnvironment() + { + $phabelReturn = \false !== \getenv('GITHUB_ACTIONS'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Output an error using the Github annotations format. + * + * @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-error-message + */ + public function error($message, $file = null, $line = null, $col = null) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_null($file)) { + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($file) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $file = (string) $file; + } + } + } + if (!\is_null($line)) { + if (!\is_int($line)) { + if (!(\is_bool($line) || \is_numeric($line))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($line) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $line = (int) $line; + } + } + } + if (!\is_null($col)) { + if (!\is_int($col)) { + if (!(\is_bool($col) || \is_numeric($col))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($col) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($col) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $col = (int) $col; + } + } + } + $this->log('error', $message, $file, $line, $col); + } + /** + * Output a warning using the Github annotations format. + * + * @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-a-warning-message + */ + public function warning($message, $file = null, $line = null, $col = null) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_null($file)) { + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($file) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $file = (string) $file; + } + } + } + if (!\is_null($line)) { + if (!\is_int($line)) { + if (!(\is_bool($line) || \is_numeric($line))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($line) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $line = (int) $line; + } + } + } + if (!\is_null($col)) { + if (!\is_int($col)) { + if (!(\is_bool($col) || \is_numeric($col))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($col) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($col) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $col = (int) $col; + } + } + } + $this->log('warning', $message, $file, $line, $col); + } + /** + * Output a debug log using the Github annotations format. + * + * @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-a-debug-message + */ + public function debug($message, $file = null, $line = null, $col = null) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_null($file)) { + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($file) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $file = (string) $file; + } + } + } + if (!\is_null($line)) { + if (!\is_int($line)) { + if (!(\is_bool($line) || \is_numeric($line))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($line) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $line = (int) $line; + } + } + } + if (!\is_null($col)) { + if (!\is_int($col)) { + if (!(\is_bool($col) || \is_numeric($col))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($col) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($col) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $col = (int) $col; + } + } + } + $this->log('debug', $message, $file, $line, $col); + } + private function log($type, $message, $file = null, $line = null, $col = null) + { + if (!\is_string($type)) { + if (!(\is_string($type) || \is_object($type) && \method_exists($type, '__toString') || (\is_bool($type) || \is_numeric($type)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (string) $type; + } + } + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_null($file)) { + if (!\is_string($file)) { + if (!(\is_string($file) || \is_object($file) && \method_exists($file, '__toString') || (\is_bool($file) || \is_numeric($file)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($file) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($file) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $file = (string) $file; + } + } + } + if (!\is_null($line)) { + if (!\is_int($line)) { + if (!(\is_bool($line) || \is_numeric($line))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($line) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $line = (int) $line; + } + } + } + if (!\is_null($col)) { + if (!\is_int($col)) { + if (!(\is_bool($col) || \is_numeric($col))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($col) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($col) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $col = (int) $col; + } + } + } + // Some values must be encoded. + $message = \strtr($message, self::ESCAPED_DATA); + if (!$file) { + // No file provided, output the message solely: + $this->output->writeln(\sprintf('::%s::%s', $type, $message)); + return; + } + $this->output->writeln(\sprintf('::%s file=%s,line=%s,col=%s::%s', $type, \strtr($file, self::ESCAPED_PROPERTIES), \strtr(isset($line) ? $line : 1, self::ESCAPED_PROPERTIES), \strtr(isset($col) ? $col : 0, self::ESCAPED_PROPERTIES), $message)); + } +} diff --git a/vendor-bundle/symfony/console/Color.php b/vendor-bundle/symfony/console/Color.php new file mode 100644 index 000000000..e75fc7161 --- /dev/null +++ b/vendor-bundle/symfony/console/Color.php @@ -0,0 +1,331 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +/** + * @author Fabien Potencier + */ +final class Color +{ + const COLORS = ['black' => 0, 'red' => 1, 'green' => 2, 'yellow' => 3, 'blue' => 4, 'magenta' => 5, 'cyan' => 6, 'white' => 7, 'default' => 9]; + const BRIGHT_COLORS = ['gray' => 0, 'bright-red' => 1, 'bright-green' => 2, 'bright-yellow' => 3, 'bright-blue' => 4, 'bright-magenta' => 5, 'bright-cyan' => 6, 'bright-white' => 7]; + const AVAILABLE_OPTIONS = ['bold' => ['set' => 1, 'unset' => 22], 'underscore' => ['set' => 4, 'unset' => 24], 'blink' => ['set' => 5, 'unset' => 25], 'reverse' => ['set' => 7, 'unset' => 27], 'conceal' => ['set' => 8, 'unset' => 28]]; + private $foreground; + private $background; + private $options = []; + public function __construct($foreground = '', $background = '', array $options = []) + { + if (!\is_string($foreground)) { + if (!(\is_string($foreground) || \is_object($foreground) && \method_exists($foreground, '__toString') || (\is_bool($foreground) || \is_numeric($foreground)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($foreground) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($foreground) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $foreground = (string) $foreground; + } + } + if (!\is_string($background)) { + if (!(\is_string($background) || \is_object($background) && \method_exists($background, '__toString') || (\is_bool($background) || \is_numeric($background)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($background) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($background) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $background = (string) $background; + } + } + $this->foreground = $this->parseColor($foreground); + $this->background = $this->parseColor($background, \true); + foreach ($options as $option) { + if (!isset(self::AVAILABLE_OPTIONS[$option])) { + throw new InvalidArgumentException(\sprintf('Invalid option specified: "%s". Expected one of (%s).', $option, \implode(', ', \array_keys(self::AVAILABLE_OPTIONS)))); + } + $this->options[$option] = self::AVAILABLE_OPTIONS[$option]; + } + } + public function apply($text) + { + if (!\is_string($text)) { + if (!(\is_string($text) || \is_object($text) && \method_exists($text, '__toString') || (\is_bool($text) || \is_numeric($text)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($text) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($text) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $text = (string) $text; + } + } + $phabelReturn = $this->set() . $text . $this->unset(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function set() + { + $setCodes = []; + if ('' !== $this->foreground) { + $setCodes[] = $this->foreground; + } + if ('' !== $this->background) { + $setCodes[] = $this->background; + } + foreach ($this->options as $option) { + $setCodes[] = $option['set']; + } + if (0 === \count($setCodes)) { + $phabelReturn = ''; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \sprintf("\x1b[%sm", \implode(';', $setCodes)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function unset() + { + $unsetCodes = []; + if ('' !== $this->foreground) { + $unsetCodes[] = 39; + } + if ('' !== $this->background) { + $unsetCodes[] = 49; + } + foreach ($this->options as $option) { + $unsetCodes[] = $option['unset']; + } + if (0 === \count($unsetCodes)) { + $phabelReturn = ''; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \sprintf("\x1b[%sm", \implode(';', $unsetCodes)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function parseColor($color, $background = \false) + { + if (!\is_string($color)) { + if (!(\is_string($color) || \is_object($color) && \method_exists($color, '__toString') || (\is_bool($color) || \is_numeric($color)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($color) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($color) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $color = (string) $color; + } + } + if (!\is_bool($background)) { + if (!(\is_bool($background) || \is_numeric($background) || \is_string($background))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($background) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($background) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $background = (bool) $background; + } + } + if ('' === $color) { + $phabelReturn = ''; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if ('#' === $color[0]) { + $color = \substr($color, 1); + if (3 === \strlen($color)) { + $color = $color[0] . $color[0] . $color[1] . $color[1] . $color[2] . $color[2]; + } + if (6 !== \strlen($color)) { + throw new InvalidArgumentException(\sprintf('Invalid "%s" color.', $color)); + } + $phabelReturn = ($background ? '4' : '3') . $this->convertHexColorToAnsi(\hexdec($color)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (isset(self::COLORS[$color])) { + $phabelReturn = ($background ? '4' : '3') . self::COLORS[$color]; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (isset(self::BRIGHT_COLORS[$color])) { + $phabelReturn = ($background ? '10' : '9') . self::BRIGHT_COLORS[$color]; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + throw new InvalidArgumentException(\sprintf('Invalid "%s" color; expected one of (%s).', $color, \implode(', ', \array_merge(\array_keys(self::COLORS), \array_keys(self::BRIGHT_COLORS))))); + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + private function convertHexColorToAnsi($color) + { + if (!\is_int($color)) { + if (!(\is_bool($color) || \is_numeric($color))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($color) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($color) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $color = (int) $color; + } + } + $r = $color >> 16 & 255; + $g = $color >> 8 & 255; + $b = $color & 255; + // see https://github.com/termstandard/colors/ for more information about true color support + if ('truecolor' !== \getenv('COLORTERM')) { + $phabelReturn = (string) $this->degradeHexColorToAnsi($r, $g, $b); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \sprintf('8;2;%d;%d;%d', $r, $g, $b); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function degradeHexColorToAnsi($r, $g, $b) + { + if (!\is_int($r)) { + if (!(\is_bool($r) || \is_numeric($r))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($r) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($r) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $r = (int) $r; + } + } + if (!\is_int($g)) { + if (!(\is_bool($g) || \is_numeric($g))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($g) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($g) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $g = (int) $g; + } + } + if (!\is_int($b)) { + if (!(\is_bool($b) || \is_numeric($b))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($b) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($b) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $b = (int) $b; + } + } + if (0 === \round($this->getSaturation($r, $g, $b) / 50)) { + $phabelReturn = 0; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \round($b / 255) << 2 | \round($g / 255) << 1 | \round($r / 255); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + private function getSaturation($r, $g, $b) + { + if (!\is_int($r)) { + if (!(\is_bool($r) || \is_numeric($r))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($r) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($r) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $r = (int) $r; + } + } + if (!\is_int($g)) { + if (!(\is_bool($g) || \is_numeric($g))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($g) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($g) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $g = (int) $g; + } + } + if (!\is_int($b)) { + if (!(\is_bool($b) || \is_numeric($b))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($b) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($b) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $b = (int) $b; + } + } + $r = $r / 255; + $g = $g / 255; + $b = $b / 255; + $v = \max($r, $g, $b); + if (0 === ($diff = $v - \min($r, $g, $b))) { + $phabelReturn = 0; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = (int) $diff * 100 / $v; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Command/Command.php b/vendor-bundle/symfony/console/Command/Command.php new file mode 100644 index 000000000..52e58c48c --- /dev/null +++ b/vendor-bundle/symfony/console/Command/Command.php @@ -0,0 +1,758 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Command; + +use Phabel\Symfony\Component\Console\Application; +use Phabel\Symfony\Component\Console\Attribute\AsCommand; +use Phabel\Symfony\Component\Console\Exception\ExceptionInterface; +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\LogicException; +use Phabel\Symfony\Component\Console\Helper\HelperSet; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputDefinition; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Input\InputOption; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * Base class for all commands. + * + * @author Fabien Potencier + */ +class Command +{ + // see https://tldp.org/LDP/abs/html/exitcodes.html + const SUCCESS = 0; + const FAILURE = 1; + const INVALID = 2; + /** + * @var string|null The default command name + */ + protected static $defaultName; + /** + * @var string|null The default command description + */ + protected static $defaultDescription; + private $application; + private $name; + private $processTitle; + private $aliases = []; + private $definition; + private $hidden = \false; + private $help = ''; + private $description = ''; + private $fullDefinition; + private $ignoreValidationErrors = \false; + private $code; + private $synopsis = []; + private $usages = []; + private $helperSet; + /** + * @return string|null The default command name or null when no default name is set + */ + public static function getDefaultName() + { + $class = static::class; + if (\PHP_VERSION_ID >= 80000 && ($attribute = (new \ReflectionClass($class))->getAttributes(AsCommand::class))) { + return $attribute[0]->newInstance()->name; + } + $r = new \ReflectionProperty($class, 'defaultName'); + return $class === $r->class ? static::$defaultName : null; + } + /** + * @return string|null The default command description or null when no default description is set + */ + public static function getDefaultDescription() + { + $class = static::class; + if (\PHP_VERSION_ID >= 80000 && ($attribute = (new \ReflectionClass($class))->getAttributes(AsCommand::class))) { + $phabelReturn = $attribute[0]->newInstance()->description; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } + $r = new \ReflectionProperty($class, 'defaultDescription'); + $phabelReturn = $class === $r->class ? static::$defaultDescription : null; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } + /** + * @param string|null $name The name of the command; passing null means it must be set in configure() + * + * @throws LogicException When the command name is empty + */ + public function __construct($name = null) + { + if (!\is_null($name)) { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + } + $this->definition = new InputDefinition(); + if (null === $name && null !== ($name = static::getDefaultName())) { + $aliases = \explode('|', $name); + if ('' === ($name = \array_shift($aliases))) { + $this->setHidden(\true); + $name = \array_shift($aliases); + } + $this->setAliases($aliases); + } + if (null !== $name) { + $this->setName($name); + } + if ('' === $this->description) { + $this->setDescription(NULL !== ($phabel_187db3ce20c580af = static::getDefaultDescription()) ? $phabel_187db3ce20c580af : ''); + } + $this->configure(); + } + /** + * Ignores validation errors. + * + * This is mainly useful for the help command. + */ + public function ignoreValidationErrors() + { + $this->ignoreValidationErrors = \true; + } + public function setApplication(Application $application = null) + { + $this->application = $application; + if ($application) { + $this->setHelperSet($application->getHelperSet()); + } else { + $this->helperSet = null; + } + $this->fullDefinition = null; + } + public function setHelperSet(HelperSet $helperSet) + { + $this->helperSet = $helperSet; + } + /** + * Gets the helper set. + * + * @return HelperSet|null A HelperSet instance + */ + public function getHelperSet() + { + return $this->helperSet; + } + /** + * Gets the application instance for this command. + * + * @return Application|null An Application instance + */ + public function getApplication() + { + return $this->application; + } + /** + * Checks whether the command is enabled or not in the current environment. + * + * Override this to check for x or y and return false if the command can not + * run properly under the current conditions. + * + * @return bool + */ + public function isEnabled() + { + return \true; + } + /** + * Configures the current command. + */ + protected function configure() + { + } + /** + * Executes the current command. + * + * This method is not abstract because you can use this class + * as a concrete class. In this case, instead of defining the + * execute() method, you set the code to execute by passing + * a Closure to the setCode() method. + * + * @return int 0 if everything went fine, or an exit code + * + * @throws LogicException When this abstract method is not implemented + * + * @see setCode() + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + throw new LogicException('You must override the execute() method in the concrete command class.'); + } + /** + * Interacts with the user. + * + * This method is executed before the InputDefinition is validated. + * This means that this is the only place where the command can + * interactively ask for values of missing required arguments. + */ + protected function interact(InputInterface $input, OutputInterface $output) + { + } + /** + * Initializes the command after the input has been bound and before the input + * is validated. + * + * This is mainly useful when a lot of commands extends one main command + * where some things need to be initialized based on the input arguments and options. + * + * @see InputInterface::bind() + * @see InputInterface::validate() + */ + protected function initialize(InputInterface $input, OutputInterface $output) + { + } + /** + * Runs the command. + * + * The code to execute is either defined directly with the + * setCode() method or by overriding the execute() method + * in a sub-class. + * + * @return int The command exit code + * + * @throws \Exception When binding input fails. Bypass this by calling {@link ignoreValidationErrors()}. + * + * @see setCode() + * @see execute() + */ + public function run(InputInterface $input, OutputInterface $output) + { + // add the application arguments and options + $this->mergeApplicationDefinition(); + // bind the input against the command specific arguments/options + try { + $input->bind($this->getDefinition()); + } catch (ExceptionInterface $e) { + if (!$this->ignoreValidationErrors) { + throw $e; + } + } + $this->initialize($input, $output); + if (null !== $this->processTitle) { + if (\function_exists('cli_set_process_title')) { + if (!@\cli_set_process_title($this->processTitle)) { + if ('Darwin' === \PHP_OS) { + $output->writeln('Running "cli_set_process_title" as an unprivileged user is not supported on MacOS.', OutputInterface::VERBOSITY_VERY_VERBOSE); + } else { + \cli_set_process_title($this->processTitle); + } + } + } elseif (\function_exists('Phabel\\setproctitle')) { + setproctitle($this->processTitle); + } elseif (OutputInterface::VERBOSITY_VERY_VERBOSE === $output->getVerbosity()) { + $output->writeln('Install the proctitle PECL to be able to change the process title.'); + } + } + if ($input->isInteractive()) { + $this->interact($input, $output); + } + // The command name argument is often omitted when a command is executed directly with its run() method. + // It would fail the validation if we didn't make sure the command argument is present, + // since it's required by the application. + if ($input->hasArgument('command') && null === $input->getArgument('command')) { + $input->setArgument('command', $this->getName()); + } + $input->validate(); + if ($this->code) { + $phabel_8da28ba4668d03f7 = $this->code; + $statusCode = $phabel_8da28ba4668d03f7($input, $output); + } else { + $statusCode = $this->execute($input, $output); + if (!\is_int($statusCode)) { + throw new \TypeError(\sprintf('Return value of "%s::execute()" must be of the type int, "%s" returned.', static::class, \get_debug_type($statusCode))); + } + } + return \is_numeric($statusCode) ? (int) $statusCode : 0; + } + /** + * Sets the code to execute when running this command. + * + * If this method is used, it overrides the code defined + * in the execute() method. + * + * @param callable $code A callable(InputInterface $input, OutputInterface $output) + * + * @return $this + * + * @throws InvalidArgumentException + * + * @see execute() + */ + public function setCode(callable $code) + { + if ($code instanceof \Closure) { + $r = new \ReflectionFunction($code); + if (null === $r->getClosureThis()) { + \set_error_handler(static function () { + }); + try { + if ($c = \Closure::bind($code, $this)) { + $code = $c; + } + } finally { + \restore_error_handler(); + } + } + } + $this->code = $code; + return $this; + } + /** + * Merges the application definition with the command definition. + * + * This method is not part of public API and should not be used directly. + * + * @param bool $mergeArgs Whether to merge or not the Application definition arguments to Command definition arguments + * + * @internal + */ + public function mergeApplicationDefinition($mergeArgs = \true) + { + if (!\is_bool($mergeArgs)) { + if (!(\is_bool($mergeArgs) || \is_numeric($mergeArgs) || \is_string($mergeArgs))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($mergeArgs) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mergeArgs) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mergeArgs = (bool) $mergeArgs; + } + } + if (null === $this->application) { + return; + } + $this->fullDefinition = new InputDefinition(); + $this->fullDefinition->setOptions($this->definition->getOptions()); + $this->fullDefinition->addOptions($this->application->getDefinition()->getOptions()); + if ($mergeArgs) { + $this->fullDefinition->setArguments($this->application->getDefinition()->getArguments()); + $this->fullDefinition->addArguments($this->definition->getArguments()); + } else { + $this->fullDefinition->setArguments($this->definition->getArguments()); + } + } + /** + * Sets an array of argument and option instances. + * + * @param array|InputDefinition $definition An array of argument and option instances or a definition instance + * + * @return $this + */ + public function setDefinition($definition) + { + if ($definition instanceof InputDefinition) { + $this->definition = $definition; + } else { + $this->definition->setDefinition($definition); + } + $this->fullDefinition = null; + return $this; + } + /** + * Gets the InputDefinition attached to this Command. + * + * @return InputDefinition An InputDefinition instance + */ + public function getDefinition() + { + return isset($this->fullDefinition) ? $this->fullDefinition : $this->getNativeDefinition(); + } + /** + * Gets the InputDefinition to be used to create representations of this Command. + * + * Can be overridden to provide the original command representation when it would otherwise + * be changed by merging with the application InputDefinition. + * + * This method is not part of public API and should not be used directly. + * + * @return InputDefinition An InputDefinition instance + */ + public function getNativeDefinition() + { + if (null === $this->definition) { + throw new LogicException(\sprintf('Command class "%s" is not correctly initialized. You probably forgot to call the parent constructor.', static::class)); + } + return $this->definition; + } + /** + * Adds an argument. + * + * @param int|null $mode The argument mode: InputArgument::REQUIRED or InputArgument::OPTIONAL + * @param mixed $default The default value (for InputArgument::OPTIONAL mode only) + * + * @throws InvalidArgumentException When argument mode is not valid + * + * @return $this + */ + public function addArgument($name, $mode = null, $description = '', $default = null) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_null($mode)) { + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mode = (int) $mode; + } + } + } + if (!\is_string($description)) { + if (!(\is_string($description) || \is_object($description) && \method_exists($description, '__toString') || (\is_bool($description) || \is_numeric($description)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($description) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($description) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $description = (string) $description; + } + } + $this->definition->addArgument(new InputArgument($name, $mode, $description, $default)); + if (null !== $this->fullDefinition) { + $this->fullDefinition->addArgument(new InputArgument($name, $mode, $description, $default)); + } + return $this; + } + /** + * Adds an option. + * + * @param string|array|null $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts + * @param int|null $mode The option mode: One of the InputOption::VALUE_* constants + * @param mixed $default The default value (must be null for InputOption::VALUE_NONE) + * + * @throws InvalidArgumentException If option mode is invalid or incompatible + * + * @return $this + */ + public function addOption($name, $shortcut = null, $mode = null, $description = '', $default = null) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_null($mode)) { + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($mode) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mode = (int) $mode; + } + } + } + if (!\is_string($description)) { + if (!(\is_string($description) || \is_object($description) && \method_exists($description, '__toString') || (\is_bool($description) || \is_numeric($description)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($description) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($description) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $description = (string) $description; + } + } + $this->definition->addOption(new InputOption($name, $shortcut, $mode, $description, $default)); + if (null !== $this->fullDefinition) { + $this->fullDefinition->addOption(new InputOption($name, $shortcut, $mode, $description, $default)); + } + return $this; + } + /** + * Sets the name of the command. + * + * This method can set both the namespace and the name if + * you separate them by a colon (:) + * + * $command->setName('foo:bar'); + * + * @return $this + * + * @throws InvalidArgumentException When the name is invalid + */ + public function setName($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $this->validateName($name); + $this->name = $name; + return $this; + } + /** + * Sets the process title of the command. + * + * This feature should be used only when creating a long process command, + * like a daemon. + * + * @return $this + */ + public function setProcessTitle($title) + { + if (!\is_string($title)) { + if (!(\is_string($title) || \is_object($title) && \method_exists($title, '__toString') || (\is_bool($title) || \is_numeric($title)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($title) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($title) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $title = (string) $title; + } + } + $this->processTitle = $title; + return $this; + } + /** + * Returns the command name. + * + * @return string|null + */ + public function getName() + { + return $this->name; + } + /** + * @param bool $hidden Whether or not the command should be hidden from the list of commands + * The default value will be true in Symfony 6.0 + * + * @return $this + * + * @final since Symfony 5.1 + */ + public function setHidden($hidden) + { + if (!\is_bool($hidden)) { + if (!(\is_bool($hidden) || \is_numeric($hidden) || \is_string($hidden))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($hidden) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($hidden) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $hidden = (bool) $hidden; + } + } + $this->hidden = $hidden; + return $this; + } + /** + * @return bool whether the command should be publicly shown or not + */ + public function isHidden() + { + return $this->hidden; + } + /** + * Sets the description for the command. + * + * @return $this + */ + public function setDescription($description) + { + if (!\is_string($description)) { + if (!(\is_string($description) || \is_object($description) && \method_exists($description, '__toString') || (\is_bool($description) || \is_numeric($description)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($description) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($description) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $description = (string) $description; + } + } + $this->description = $description; + return $this; + } + /** + * Returns the description for the command. + * + * @return string The description for the command + */ + public function getDescription() + { + return $this->description; + } + /** + * Sets the help for the command. + * + * @return $this + */ + public function setHelp($help) + { + if (!\is_string($help)) { + if (!(\is_string($help) || \is_object($help) && \method_exists($help, '__toString') || (\is_bool($help) || \is_numeric($help)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($help) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($help) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $help = (string) $help; + } + } + $this->help = $help; + return $this; + } + /** + * Returns the help for the command. + * + * @return string The help for the command + */ + public function getHelp() + { + return $this->help; + } + /** + * Returns the processed help for the command replacing the %command.name% and + * %command.full_name% patterns with the real values dynamically. + * + * @return string The processed help for the command + */ + public function getProcessedHelp() + { + $name = $this->name; + $isSingleCommand = $this->application && $this->application->isSingleCommand(); + $placeholders = ['%command.name%', '%command.full_name%']; + $replacements = [$name, $isSingleCommand ? $_SERVER['PHP_SELF'] : $_SERVER['PHP_SELF'] . ' ' . $name]; + return \str_replace($placeholders, $replacements, $this->getHelp() ?: $this->getDescription()); + } + /** + * Sets the aliases for the command. + * + * @param string[] $aliases An array of aliases for the command + * + * @return $this + * + * @throws InvalidArgumentException When an alias is invalid + */ + public function setAliases($aliases) + { + if (!(\is_array($aliases) || $aliases instanceof \Traversable)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($aliases) must be of type iterable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($aliases) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $list = []; + foreach ($aliases as $alias) { + $this->validateName($alias); + $list[] = $alias; + } + $this->aliases = \is_array($aliases) ? $aliases : $list; + return $this; + } + /** + * Returns the aliases for the command. + * + * @return array An array of aliases for the command + */ + public function getAliases() + { + return $this->aliases; + } + /** + * Returns the synopsis for the command. + * + * @param bool $short Whether to show the short version of the synopsis (with options folded) or not + * + * @return string The synopsis + */ + public function getSynopsis($short = \false) + { + if (!\is_bool($short)) { + if (!(\is_bool($short) || \is_numeric($short) || \is_string($short))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($short) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($short) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $short = (bool) $short; + } + } + $key = $short ? 'short' : 'long'; + if (!isset($this->synopsis[$key])) { + $this->synopsis[$key] = \trim(\sprintf('%s %s', $this->name, $this->definition->getSynopsis($short))); + } + return $this->synopsis[$key]; + } + /** + * Add a command usage example, it'll be prefixed with the command name. + * + * @return $this + */ + public function addUsage($usage) + { + if (!\is_string($usage)) { + if (!(\is_string($usage) || \is_object($usage) && \method_exists($usage, '__toString') || (\is_bool($usage) || \is_numeric($usage)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($usage) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($usage) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $usage = (string) $usage; + } + } + if (!\str_starts_with($usage, $this->name)) { + $usage = \sprintf('%s %s', $this->name, $usage); + } + $this->usages[] = $usage; + return $this; + } + /** + * Returns alternative usages of the command. + * + * @return array + */ + public function getUsages() + { + return $this->usages; + } + /** + * Gets a helper instance by name. + * + * @return mixed The helper value + * + * @throws LogicException if no HelperSet is defined + * @throws InvalidArgumentException if the helper is not defined + */ + public function getHelper($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (null === $this->helperSet) { + throw new LogicException(\sprintf('Cannot retrieve helper "%s" because there is no HelperSet defined. Did you forget to add your command to the application or to set the application on the command using the setApplication() method? You can also set the HelperSet directly using the setHelperSet() method.', $name)); + } + return $this->helperSet->get($name); + } + /** + * Validates a command name. + * + * It must be non-empty and parts can optionally be separated by ":". + * + * @throws InvalidArgumentException When the name is invalid + */ + private function validateName($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\preg_match('/^[^\\:]++(\\:[^\\:]++)*$/', $name)) { + throw new InvalidArgumentException(\sprintf('Command name "%s" is invalid.', $name)); + } + } +} diff --git a/vendor-bundle/symfony/console/Command/HelpCommand.php b/vendor-bundle/symfony/console/Command/HelpCommand.php new file mode 100644 index 000000000..4fde753ef --- /dev/null +++ b/vendor-bundle/symfony/console/Command/HelpCommand.php @@ -0,0 +1,62 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Command; + +use Phabel\Symfony\Component\Console\Helper\DescriptorHelper; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Input\InputOption; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * HelpCommand displays the help for a given command. + * + * @author Fabien Potencier + */ +class HelpCommand extends Command +{ + private $command; + /** + * {@inheritdoc} + */ + protected function configure() + { + $this->ignoreValidationErrors(); + $this->setName('help')->setDefinition([new InputArgument('command_name', InputArgument::OPTIONAL, 'The command name', 'help'), new InputOption('format', null, InputOption::VALUE_REQUIRED, 'The output format (txt, xml, json, or md)', 'txt'), new InputOption('raw', null, InputOption::VALUE_NONE, 'To output raw command help')])->setDescription('Display help for a command')->setHelp(<<<'EOF' +The %command.name% command displays help for a given command: + + %command.full_name% list + +You can also output the help in other formats by using the --format option: + + %command.full_name% --format=xml list + +To display the list of available commands, please use the list command. +EOF +); + } + public function setCommand(Command $command) + { + $this->command = $command; + } + /** + * {@inheritdoc} + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + if (null === $this->command) { + $this->command = $this->getApplication()->find($input->getArgument('command_name')); + } + $helper = new DescriptorHelper(); + $helper->describe($output, $this->command, ['format' => $input->getOption('format'), 'raw_text' => $input->getOption('raw')]); + $this->command = null; + return 0; + } +} diff --git a/vendor-bundle/symfony/console/Command/LazyCommand.php b/vendor-bundle/symfony/console/Command/LazyCommand.php new file mode 100644 index 000000000..3cade81ef --- /dev/null +++ b/vendor-bundle/symfony/console/Command/LazyCommand.php @@ -0,0 +1,373 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Command; + +use Phabel\Symfony\Component\Console\Application; +use Phabel\Symfony\Component\Console\Helper\HelperSet; +use Phabel\Symfony\Component\Console\Input\InputDefinition; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * @author Nicolas Grekas + */ +final class LazyCommand extends Command +{ + private $command; + private $isEnabled; + public function __construct($name, array $aliases, $description, $isHidden, \Closure $commandFactory, $isEnabled = \true) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_string($description)) { + if (!(\is_string($description) || \is_object($description) && \method_exists($description, '__toString') || (\is_bool($description) || \is_numeric($description)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($description) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($description) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $description = (string) $description; + } + } + if (!\is_bool($isHidden)) { + if (!(\is_bool($isHidden) || \is_numeric($isHidden) || \is_string($isHidden))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($isHidden) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($isHidden) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $isHidden = (bool) $isHidden; + } + } + if (!\is_null($isEnabled)) { + if (!\is_bool($isEnabled)) { + if (!(\is_bool($isEnabled) || \is_numeric($isEnabled) || \is_string($isEnabled))) { + throw new \TypeError(__METHOD__ . '(): Argument #6 ($isEnabled) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($isEnabled) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $isEnabled = (bool) $isEnabled; + } + } + } + $this->setName($name)->setAliases($aliases)->setHidden($isHidden)->setDescription($description); + $this->command = $commandFactory; + $this->isEnabled = $isEnabled; + } + public function ignoreValidationErrors() + { + $this->getCommand()->ignoreValidationErrors(); + } + public function setApplication(Application $application = null) + { + if ($this->command instanceof parent) { + $this->command->setApplication($application); + } + parent::setApplication($application); + } + public function setHelperSet(HelperSet $helperSet) + { + if ($this->command instanceof parent) { + $this->command->setHelperSet($helperSet); + } + parent::setHelperSet($helperSet); + } + public function isEnabled() + { + $phabelReturn = isset($this->isEnabled) ? $this->isEnabled : $this->getCommand()->isEnabled(); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function run(InputInterface $input, OutputInterface $output) + { + $phabelReturn = $this->getCommand()->run($input, $output); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return $this + */ + public function setCode(callable $code) + { + $this->getCommand()->setCode($code); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @internal + */ + public function mergeApplicationDefinition($mergeArgs = \true) + { + if (!\is_bool($mergeArgs)) { + if (!(\is_bool($mergeArgs) || \is_numeric($mergeArgs) || \is_string($mergeArgs))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($mergeArgs) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mergeArgs) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mergeArgs = (bool) $mergeArgs; + } + } + $this->getCommand()->mergeApplicationDefinition($mergeArgs); + } + /** + * @return $this + */ + public function setDefinition($definition) + { + $this->getCommand()->setDefinition($definition); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getDefinition() + { + $phabelReturn = $this->getCommand()->getDefinition(); + if (!$phabelReturn instanceof InputDefinition) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type InputDefinition, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getNativeDefinition() + { + $phabelReturn = $this->getCommand()->getNativeDefinition(); + if (!$phabelReturn instanceof InputDefinition) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type InputDefinition, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return $this + */ + public function addArgument($name, $mode = null, $description = '', $default = null) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_null($mode)) { + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mode = (int) $mode; + } + } + } + if (!\is_string($description)) { + if (!(\is_string($description) || \is_object($description) && \method_exists($description, '__toString') || (\is_bool($description) || \is_numeric($description)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($description) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($description) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $description = (string) $description; + } + } + $this->getCommand()->addArgument($name, $mode, $description, $default); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return $this + */ + public function addOption($name, $shortcut = null, $mode = null, $description = '', $default = null) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_null($mode)) { + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($mode) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mode = (int) $mode; + } + } + } + if (!\is_string($description)) { + if (!(\is_string($description) || \is_object($description) && \method_exists($description, '__toString') || (\is_bool($description) || \is_numeric($description)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($description) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($description) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $description = (string) $description; + } + } + $this->getCommand()->addOption($name, $shortcut, $mode, $description, $default); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return $this + */ + public function setProcessTitle($title) + { + if (!\is_string($title)) { + if (!(\is_string($title) || \is_object($title) && \method_exists($title, '__toString') || (\is_bool($title) || \is_numeric($title)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($title) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($title) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $title = (string) $title; + } + } + $this->getCommand()->setProcessTitle($title); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return $this + */ + public function setHelp($help) + { + if (!\is_string($help)) { + if (!(\is_string($help) || \is_object($help) && \method_exists($help, '__toString') || (\is_bool($help) || \is_numeric($help)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($help) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($help) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $help = (string) $help; + } + } + $this->getCommand()->setHelp($help); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getHelp() + { + $phabelReturn = $this->getCommand()->getHelp(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getProcessedHelp() + { + $phabelReturn = $this->getCommand()->getProcessedHelp(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function getSynopsis($short = \false) + { + if (!\is_bool($short)) { + if (!(\is_bool($short) || \is_numeric($short) || \is_string($short))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($short) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($short) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $short = (bool) $short; + } + } + $phabelReturn = $this->getCommand()->getSynopsis($short); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return $this + */ + public function addUsage($usage) + { + if (!\is_string($usage)) { + if (!(\is_string($usage) || \is_object($usage) && \method_exists($usage, '__toString') || (\is_bool($usage) || \is_numeric($usage)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($usage) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($usage) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $usage = (string) $usage; + } + } + $this->getCommand()->addUsage($usage); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getUsages() + { + $phabelReturn = $this->getCommand()->getUsages(); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return mixed + */ + public function getHelper($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return $this->getCommand()->getHelper($name); + } + public function getCommand() + { + if (!$this->command instanceof \Closure) { + $phabelReturn = $this->command; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabel_9b2fc8900731f1a7 = $this->command; + $command = $this->command = $phabel_9b2fc8900731f1a7(); + $command->setApplication($this->getApplication()); + if (null !== $this->getHelperSet()) { + $command->setHelperSet($this->getHelperSet()); + } + $command->setName($this->getName())->setAliases($this->getAliases())->setHidden($this->isHidden())->setDescription($this->getDescription()); + // Will throw if the command is not correctly initialized. + $command->getDefinition(); + $phabelReturn = $command; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Command/ListCommand.php b/vendor-bundle/symfony/console/Command/ListCommand.php new file mode 100644 index 000000000..d3a5ae619 --- /dev/null +++ b/vendor-bundle/symfony/console/Command/ListCommand.php @@ -0,0 +1,58 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Command; + +use Phabel\Symfony\Component\Console\Helper\DescriptorHelper; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Input\InputOption; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * ListCommand displays the list of all available commands for the application. + * + * @author Fabien Potencier + */ +class ListCommand extends Command +{ + /** + * {@inheritdoc} + */ + protected function configure() + { + $this->setName('list')->setDefinition([new InputArgument('namespace', InputArgument::OPTIONAL, 'The namespace name'), new InputOption('raw', null, InputOption::VALUE_NONE, 'To output raw command list'), new InputOption('format', null, InputOption::VALUE_REQUIRED, 'The output format (txt, xml, json, or md)', 'txt'), new InputOption('short', null, InputOption::VALUE_NONE, 'To skip describing commands\' arguments')])->setDescription('List commands')->setHelp(<<<'EOF' +The %command.name% command lists all commands: + + %command.full_name% + +You can also display the commands for a specific namespace: + + %command.full_name% test + +You can also output the information in other formats by using the --format option: + + %command.full_name% --format=xml + +It's also possible to get raw list of commands (useful for embedding command runner): + + %command.full_name% --raw +EOF +); + } + /** + * {@inheritdoc} + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + $helper = new DescriptorHelper(); + $helper->describe($output, $this->getApplication(), ['format' => $input->getOption('format'), 'raw_text' => $input->getOption('raw'), 'namespace' => $input->getArgument('namespace'), 'short' => $input->getOption('short')]); + return 0; + } +} diff --git a/vendor-bundle/symfony/console/Command/LockableTrait.php b/vendor-bundle/symfony/console/Command/LockableTrait.php new file mode 100644 index 000000000..ddcdd1379 --- /dev/null +++ b/vendor-bundle/symfony/console/Command/LockableTrait.php @@ -0,0 +1,92 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Command; + +use Phabel\Symfony\Component\Console\Exception\LogicException; +use Phabel\Symfony\Component\Lock\Lock; +use Phabel\Symfony\Component\Lock\LockFactory; +use Phabel\Symfony\Component\Lock\Store\FlockStore; +use Phabel\Symfony\Component\Lock\Store\SemaphoreStore; +/** + * Basic lock feature for commands. + * + * @author Geoffrey Brier + */ +trait LockableTrait +{ + /** @var Lock */ + private $lock; + /** + * Locks a command. + */ + private function lock($name = null, $blocking = \false) + { + if (!\is_null($name)) { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + } + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + if (!\class_exists(SemaphoreStore::class)) { + throw new LogicException('To enable the locking feature you must install the symfony/lock component.'); + } + if (null !== $this->lock) { + throw new LogicException('A lock is already in place.'); + } + if (SemaphoreStore::isSupported()) { + $store = new SemaphoreStore(); + } else { + $store = new FlockStore(); + } + $this->lock = (new LockFactory($store))->createLock($name ?: $this->getName()); + if (!$this->lock->acquire($blocking)) { + $this->lock = null; + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Releases the command lock if there is one. + */ + private function release() + { + if ($this->lock) { + $this->lock->release(); + $this->lock = null; + } + } +} diff --git a/vendor-bundle/symfony/console/Command/SignalableCommandInterface.php b/vendor-bundle/symfony/console/Command/SignalableCommandInterface.php new file mode 100644 index 000000000..47a60e1c9 --- /dev/null +++ b/vendor-bundle/symfony/console/Command/SignalableCommandInterface.php @@ -0,0 +1,28 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Command; + +/** + * Interface for command reacting to signal. + * + * @author Grégoire Pineau + */ +interface SignalableCommandInterface +{ + /** + * Returns the list of signals to subscribe. + */ + public function getSubscribedSignals(); + /** + * The method will be called when the application is signaled. + */ + public function handleSignal($signal); +} diff --git a/vendor-bundle/symfony/console/CommandLoader/CommandLoaderInterface.php b/vendor-bundle/symfony/console/CommandLoader/CommandLoaderInterface.php new file mode 100644 index 000000000..85873ecc0 --- /dev/null +++ b/vendor-bundle/symfony/console/CommandLoader/CommandLoaderInterface.php @@ -0,0 +1,38 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\CommandLoader; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Exception\CommandNotFoundException; +/** + * @author Robin Chalas + */ +interface CommandLoaderInterface +{ + /** + * Loads a command. + * + * @return Command + * + * @throws CommandNotFoundException + */ + public function get($name); + /** + * Checks if a command exists. + * + * @return bool + */ + public function has($name); + /** + * @return string[] All registered command names + */ + public function getNames(); +} diff --git a/vendor-bundle/symfony/console/CommandLoader/ContainerCommandLoader.php b/vendor-bundle/symfony/console/CommandLoader/ContainerCommandLoader.php new file mode 100644 index 000000000..92470d7e4 --- /dev/null +++ b/vendor-bundle/symfony/console/CommandLoader/ContainerCommandLoader.php @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\CommandLoader; + +use Phabel\Psr\Container\ContainerInterface; +use Phabel\Symfony\Component\Console\Exception\CommandNotFoundException; +/** + * Loads commands from a PSR-11 container. + * + * @author Robin Chalas + */ +class ContainerCommandLoader implements CommandLoaderInterface +{ + private $container; + private $commandMap; + /** + * @param array $commandMap An array with command names as keys and service ids as values + */ + public function __construct(ContainerInterface $container, array $commandMap) + { + $this->container = $container; + $this->commandMap = $commandMap; + } + /** + * {@inheritdoc} + */ + public function get($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!$this->has($name)) { + throw new CommandNotFoundException(\sprintf('Command "%s" does not exist.', $name)); + } + return $this->container->get($this->commandMap[$name]); + } + /** + * {@inheritdoc} + */ + public function has($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return isset($this->commandMap[$name]) && $this->container->has($this->commandMap[$name]); + } + /** + * {@inheritdoc} + */ + public function getNames() + { + return \array_keys($this->commandMap); + } +} diff --git a/vendor-bundle/symfony/console/CommandLoader/FactoryCommandLoader.php b/vendor-bundle/symfony/console/CommandLoader/FactoryCommandLoader.php new file mode 100644 index 000000000..d6ed39262 --- /dev/null +++ b/vendor-bundle/symfony/console/CommandLoader/FactoryCommandLoader.php @@ -0,0 +1,68 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\CommandLoader; + +use Phabel\Symfony\Component\Console\Exception\CommandNotFoundException; +/** + * A simple command loader using factories to instantiate commands lazily. + * + * @author Maxime Steinhausser + */ +class FactoryCommandLoader implements CommandLoaderInterface +{ + private $factories; + /** + * @param callable[] $factories Indexed by command names + */ + public function __construct(array $factories) + { + $this->factories = $factories; + } + /** + * {@inheritdoc} + */ + public function has($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return isset($this->factories[$name]); + } + /** + * {@inheritdoc} + */ + public function get($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!isset($this->factories[$name])) { + throw new CommandNotFoundException(\sprintf('Command "%s" does not exist.', $name)); + } + $factory = $this->factories[$name]; + return $factory(); + } + /** + * {@inheritdoc} + */ + public function getNames() + { + return \array_keys($this->factories); + } +} diff --git a/vendor-bundle/symfony/console/ConsoleEvents.php b/vendor-bundle/symfony/console/ConsoleEvents.php new file mode 100644 index 000000000..75b8bd30d --- /dev/null +++ b/vendor-bundle/symfony/console/ConsoleEvents.php @@ -0,0 +1,61 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console; + +use Phabel\Symfony\Component\Console\Event\ConsoleCommandEvent; +use Phabel\Symfony\Component\Console\Event\ConsoleErrorEvent; +use Phabel\Symfony\Component\Console\Event\ConsoleSignalEvent; +use Phabel\Symfony\Component\Console\Event\ConsoleTerminateEvent; +/** + * Contains all events dispatched by an Application. + * + * @author Francesco Levorato + */ +final class ConsoleEvents +{ + /** + * The COMMAND event allows you to attach listeners before any command is + * executed by the console. It also allows you to modify the command, input and output + * before they are handed to the command. + * + * @Event("Symfony\Component\Console\Event\ConsoleCommandEvent") + */ + const COMMAND = 'console.command'; + /** + * The SIGNAL event allows you to perform some actions + * after the command execution was interrupted. + * + * @Event("Symfony\Component\Console\Event\ConsoleSignalEvent") + */ + const SIGNAL = 'console.signal'; + /** + * The TERMINATE event allows you to attach listeners after a command is + * executed by the console. + * + * @Event("Symfony\Component\Console\Event\ConsoleTerminateEvent") + */ + const TERMINATE = 'console.terminate'; + /** + * The ERROR event occurs when an uncaught exception or error appears. + * + * This event allows you to deal with the exception/error or + * to modify the thrown exception. + * + * @Event("Symfony\Component\Console\Event\ConsoleErrorEvent") + */ + const ERROR = 'console.error'; + /** + * Event aliases. + * + * These aliases can be consumed by RegisterListenersPass. + */ + const ALIASES = [ConsoleCommandEvent::class => self::COMMAND, ConsoleErrorEvent::class => self::ERROR, ConsoleSignalEvent::class => self::SIGNAL, ConsoleTerminateEvent::class => self::TERMINATE]; +} diff --git a/vendor-bundle/symfony/console/Cursor.php b/vendor-bundle/symfony/console/Cursor.php new file mode 100644 index 000000000..a3dc723c9 --- /dev/null +++ b/vendor-bundle/symfony/console/Cursor.php @@ -0,0 +1,241 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console; + +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * @author Pierre du Plessis + */ +final class Cursor +{ + private $output; + private $input; + public function __construct(OutputInterface $output, $input = null) + { + $this->output = $output; + $this->input = isset($input) ? $input : (\defined('STDIN') ? \STDIN : \fopen('php://input', 'r+')); + } + public function moveUp($lines = 1) + { + if (!\is_int($lines)) { + if (!(\is_bool($lines) || \is_numeric($lines))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($lines) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($lines) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $lines = (int) $lines; + } + } + $this->output->write(\sprintf("\x1b[%dA", $lines)); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function moveDown($lines = 1) + { + if (!\is_int($lines)) { + if (!(\is_bool($lines) || \is_numeric($lines))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($lines) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($lines) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $lines = (int) $lines; + } + } + $this->output->write(\sprintf("\x1b[%dB", $lines)); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function moveRight($columns = 1) + { + if (!\is_int($columns)) { + if (!(\is_bool($columns) || \is_numeric($columns))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($columns) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($columns) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $columns = (int) $columns; + } + } + $this->output->write(\sprintf("\x1b[%dC", $columns)); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function moveLeft($columns = 1) + { + if (!\is_int($columns)) { + if (!(\is_bool($columns) || \is_numeric($columns))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($columns) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($columns) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $columns = (int) $columns; + } + } + $this->output->write(\sprintf("\x1b[%dD", $columns)); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function moveToColumn($column) + { + if (!\is_int($column)) { + if (!(\is_bool($column) || \is_numeric($column))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($column) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($column) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $column = (int) $column; + } + } + $this->output->write(\sprintf("\x1b[%dG", $column)); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function moveToPosition($column, $row) + { + if (!\is_int($column)) { + if (!(\is_bool($column) || \is_numeric($column))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($column) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($column) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $column = (int) $column; + } + } + if (!\is_int($row)) { + if (!(\is_bool($row) || \is_numeric($row))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($row) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($row) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $row = (int) $row; + } + } + $this->output->write(\sprintf("\x1b[%d;%dH", $row + 1, $column)); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function savePosition() + { + $this->output->write("\x1b7"); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function restorePosition() + { + $this->output->write("\x1b8"); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function hide() + { + $this->output->write("\x1b[?25l"); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function show() + { + $this->output->write("\x1b[?25h\x1b[?0c"); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Clears all the output from the current line. + */ + public function clearLine() + { + $this->output->write("\x1b[2K"); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Clears all the output from the current line after the current position. + */ + public function clearLineAfter() + { + $this->output->write("\x1b[K"); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Clears all the output from the cursors' current position to the end of the screen. + */ + public function clearOutput() + { + $this->output->write("\x1b[0J"); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Clears the entire screen. + */ + public function clearScreen() + { + $this->output->write("\x1b[2J"); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Returns the current cursor position as x,y coordinates. + */ + public function getCurrentPosition() + { + static $isTtySupported; + if (null === $isTtySupported && \function_exists('proc_open')) { + $isTtySupported = (bool) @\proc_open('echo 1 >/dev/null', [['file', '/dev/tty', 'r'], ['file', '/dev/tty', 'w'], ['file', '/dev/tty', 'w']], $pipes); + } + if (!$isTtySupported) { + $phabelReturn = [1, 1]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $sttyMode = \shell_exec('stty -g'); + \shell_exec('stty -icanon -echo'); + @\fwrite($this->input, "\x1b[6n"); + $code = \trim(\fread($this->input, 1024)); + \shell_exec(\sprintf('stty %s', $sttyMode)); + \sscanf($code, "\x1b[%d;%dR", $row, $col); + $phabelReturn = [$col, $row]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/DependencyInjection/AddConsoleCommandPass.php b/vendor-bundle/symfony/console/DependencyInjection/AddConsoleCommandPass.php new file mode 100644 index 000000000..0b51020be --- /dev/null +++ b/vendor-bundle/symfony/console/DependencyInjection/AddConsoleCommandPass.php @@ -0,0 +1,146 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\DependencyInjection; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Command\LazyCommand; +use Phabel\Symfony\Component\Console\CommandLoader\ContainerCommandLoader; +use Phabel\Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument; +use Phabel\Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; +use Phabel\Symfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass; +use Phabel\Symfony\Component\DependencyInjection\ContainerBuilder; +use Phabel\Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\DependencyInjection\Reference; +use Phabel\Symfony\Component\DependencyInjection\TypedReference; +/** + * Registers console commands. + * + * @author Grégoire Pineau + */ +class AddConsoleCommandPass implements CompilerPassInterface +{ + private $commandLoaderServiceId; + private $commandTag; + private $noPreloadTag; + private $privateTagName; + public function __construct($commandLoaderServiceId = 'console.command_loader', $commandTag = 'console.command', $noPreloadTag = 'container.no_preload', $privateTagName = 'container.private') + { + if (!\is_string($commandLoaderServiceId)) { + if (!(\is_string($commandLoaderServiceId) || \is_object($commandLoaderServiceId) && \method_exists($commandLoaderServiceId, '__toString') || (\is_bool($commandLoaderServiceId) || \is_numeric($commandLoaderServiceId)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($commandLoaderServiceId) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($commandLoaderServiceId) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $commandLoaderServiceId = (string) $commandLoaderServiceId; + } + } + if (!\is_string($commandTag)) { + if (!(\is_string($commandTag) || \is_object($commandTag) && \method_exists($commandTag, '__toString') || (\is_bool($commandTag) || \is_numeric($commandTag)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($commandTag) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($commandTag) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $commandTag = (string) $commandTag; + } + } + if (!\is_string($noPreloadTag)) { + if (!(\is_string($noPreloadTag) || \is_object($noPreloadTag) && \method_exists($noPreloadTag, '__toString') || (\is_bool($noPreloadTag) || \is_numeric($noPreloadTag)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($noPreloadTag) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($noPreloadTag) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $noPreloadTag = (string) $noPreloadTag; + } + } + if (!\is_string($privateTagName)) { + if (!(\is_string($privateTagName) || \is_object($privateTagName) && \method_exists($privateTagName, '__toString') || (\is_bool($privateTagName) || \is_numeric($privateTagName)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($privateTagName) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($privateTagName) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $privateTagName = (string) $privateTagName; + } + } + if (0 < \func_num_args()) { + trigger_deprecation('symfony/console', '5.3', 'Configuring "%s" is deprecated.', __CLASS__); + } + $this->commandLoaderServiceId = $commandLoaderServiceId; + $this->commandTag = $commandTag; + $this->noPreloadTag = $noPreloadTag; + $this->privateTagName = $privateTagName; + } + public function process(ContainerBuilder $container) + { + $commandServices = $container->findTaggedServiceIds($this->commandTag, \true); + $lazyCommandMap = []; + $lazyCommandRefs = []; + $serviceIds = []; + foreach ($commandServices as $id => $tags) { + $definition = $container->getDefinition($id); + $definition->addTag($this->noPreloadTag); + $class = $container->getParameterBag()->resolveValue($definition->getClass()); + if (isset($tags[0]['command'])) { + $aliases = $tags[0]['command']; + } else { + if (!($r = $container->getReflectionClass($class))) { + throw new InvalidArgumentException(\sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id)); + } + if (!$r->isSubclassOf(Command::class)) { + throw new InvalidArgumentException(\sprintf('The service "%s" tagged "%s" must be a subclass of "%s".', $id, $this->commandTag, Command::class)); + } + $aliases = $class::getDefaultName(); + } + $aliases = \explode('|', isset($aliases) ? $aliases : ''); + $commandName = \array_shift($aliases); + if ($isHidden = '' === $commandName) { + $commandName = \array_shift($aliases); + } + if (null === $commandName) { + if (!$definition->isPublic() || $definition->isPrivate() || $definition->hasTag($this->privateTagName)) { + $commandId = 'console.command.public_alias.' . $id; + $container->setAlias($commandId, $id)->setPublic(\true); + $id = $commandId; + } + $serviceIds[] = $id; + continue; + } + $description = isset($tags[0]['description']) ? $tags[0]['description'] : null; + unset($tags[0]); + $lazyCommandMap[$commandName] = $id; + $lazyCommandRefs[$id] = new TypedReference($id, $class); + foreach ($aliases as $alias) { + $lazyCommandMap[$alias] = $id; + } + foreach ($tags as $tag) { + if (isset($tag['command'])) { + $aliases[] = $tag['command']; + $lazyCommandMap[$tag['command']] = $id; + } + $description = isset($description) ? $description : (isset($tag['description']) ? $tag['description'] : null); + } + $definition->addMethodCall('setName', [$commandName]); + if ($aliases) { + $definition->addMethodCall('setAliases', [$aliases]); + } + if ($isHidden) { + $definition->addMethodCall('setHidden', [\true]); + } + if (!$description) { + if (!($r = $container->getReflectionClass($class))) { + throw new InvalidArgumentException(\sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id)); + } + if (!$r->isSubclassOf(Command::class)) { + throw new InvalidArgumentException(\sprintf('The service "%s" tagged "%s" must be a subclass of "%s".', $id, $this->commandTag, Command::class)); + } + $description = $class::getDefaultDescription(); + } + if ($description) { + $definition->addMethodCall('setDescription', [$description]); + $container->register('.' . $id . '.lazy', LazyCommand::class)->setArguments([$commandName, $aliases, $description, $isHidden, new ServiceClosureArgument($lazyCommandRefs[$id])]); + $lazyCommandRefs[$id] = new Reference('.' . $id . '.lazy'); + } + } + $container->register($this->commandLoaderServiceId, ContainerCommandLoader::class)->setPublic(\true)->addTag($this->noPreloadTag)->setArguments([ServiceLocatorTagPass::register($container, $lazyCommandRefs), $lazyCommandMap]); + $container->setParameter('console.command.ids', $serviceIds); + } +} diff --git a/vendor-bundle/symfony/console/Descriptor/ApplicationDescription.php b/vendor-bundle/symfony/console/Descriptor/ApplicationDescription.php new file mode 100644 index 000000000..3bc5ecd51 --- /dev/null +++ b/vendor-bundle/symfony/console/Descriptor/ApplicationDescription.php @@ -0,0 +1,159 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Descriptor; + +use Phabel\Symfony\Component\Console\Application; +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Exception\CommandNotFoundException; +/** + * @author Jean-François Simon + * + * @internal + */ +class ApplicationDescription +{ + const GLOBAL_NAMESPACE = '_global'; + private $application; + private $namespace; + private $showHidden; + /** + * @var array + */ + private $namespaces; + /** + * @var Command[] + */ + private $commands; + /** + * @var Command[] + */ + private $aliases; + public function __construct(Application $application, $namespace = null, $showHidden = \false) + { + if (!\is_null($namespace)) { + if (!\is_string($namespace)) { + if (!(\is_string($namespace) || \is_object($namespace) && \method_exists($namespace, '__toString') || (\is_bool($namespace) || \is_numeric($namespace)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($namespace) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($namespace) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $namespace = (string) $namespace; + } + } + } + if (!\is_bool($showHidden)) { + if (!(\is_bool($showHidden) || \is_numeric($showHidden) || \is_string($showHidden))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($showHidden) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($showHidden) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $showHidden = (bool) $showHidden; + } + } + $this->application = $application; + $this->namespace = $namespace; + $this->showHidden = $showHidden; + } + public function getNamespaces() + { + if (null === $this->namespaces) { + $this->inspectApplication(); + } + $phabelReturn = $this->namespaces; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return Command[] + */ + public function getCommands() + { + if (null === $this->commands) { + $this->inspectApplication(); + } + $phabelReturn = $this->commands; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @throws CommandNotFoundException + */ + public function getCommand($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!isset($this->commands[$name]) && !isset($this->aliases[$name])) { + throw new CommandNotFoundException(\sprintf('Command "%s" does not exist.', $name)); + } + $phabelReturn = isset($this->commands[$name]) ? $this->commands[$name] : $this->aliases[$name]; + if (!$phabelReturn instanceof Command) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Command, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function inspectApplication() + { + $this->commands = []; + $this->namespaces = []; + $all = $this->application->all($this->namespace ? $this->application->findNamespace($this->namespace) : null); + foreach ($this->sortCommands($all) as $namespace => $commands) { + $names = []; + /** @var Command $command */ + foreach ($commands as $name => $command) { + if (!$command->getName() || !$this->showHidden && $command->isHidden()) { + continue; + } + if ($command->getName() === $name) { + $this->commands[$name] = $command; + } else { + $this->aliases[$name] = $command; + } + $names[] = $name; + } + $this->namespaces[$namespace] = ['id' => $namespace, 'commands' => $names]; + } + } + private function sortCommands(array $commands) + { + $namespacedCommands = []; + $globalCommands = []; + $sortedCommands = []; + foreach ($commands as $name => $command) { + $key = $this->application->extractNamespace($name, 1); + if (\in_array($key, ['', self::GLOBAL_NAMESPACE], \true)) { + $globalCommands[$name] = $command; + } else { + $namespacedCommands[$key][$name] = $command; + } + } + if ($globalCommands) { + \ksort($globalCommands); + $sortedCommands[self::GLOBAL_NAMESPACE] = $globalCommands; + } + if ($namespacedCommands) { + \ksort($namespacedCommands); + foreach ($namespacedCommands as $key => $commandsSet) { + \ksort($commandsSet); + $sortedCommands[$key] = $commandsSet; + } + } + $phabelReturn = $sortedCommands; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Descriptor/Descriptor.php b/vendor-bundle/symfony/console/Descriptor/Descriptor.php new file mode 100644 index 000000000..99497aece --- /dev/null +++ b/vendor-bundle/symfony/console/Descriptor/Descriptor.php @@ -0,0 +1,101 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Descriptor; + +use Phabel\Symfony\Component\Console\Application; +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputDefinition; +use Phabel\Symfony\Component\Console\Input\InputOption; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * @author Jean-François Simon + * + * @internal + */ +abstract class Descriptor implements DescriptorInterface +{ + /** + * @var OutputInterface + */ + protected $output; + /** + * {@inheritdoc} + */ + public function describe(OutputInterface $output, $object, array $options = []) + { + if (!\is_object($object)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($object) must be of type object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($object) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $this->output = $output; + switch (\true) { + case $object instanceof InputArgument: + $this->describeInputArgument($object, $options); + break; + case $object instanceof InputOption: + $this->describeInputOption($object, $options); + break; + case $object instanceof InputDefinition: + $this->describeInputDefinition($object, $options); + break; + case $object instanceof Command: + $this->describeCommand($object, $options); + break; + case $object instanceof Application: + $this->describeApplication($object, $options); + break; + default: + throw new InvalidArgumentException(\sprintf('Object of type "%s" is not describable.', \get_debug_type($object))); + } + } + /** + * Writes content to output. + */ + protected function write($content, $decorated = \false) + { + if (!\is_string($content)) { + if (!(\is_string($content) || \is_object($content) && \method_exists($content, '__toString') || (\is_bool($content) || \is_numeric($content)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($content) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($content) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $content = (string) $content; + } + } + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + $this->output->write($content, \false, $decorated ? OutputInterface::OUTPUT_NORMAL : OutputInterface::OUTPUT_RAW); + } + /** + * Describes an InputArgument instance. + */ + protected abstract function describeInputArgument(InputArgument $argument, array $options = []); + /** + * Describes an InputOption instance. + */ + protected abstract function describeInputOption(InputOption $option, array $options = []); + /** + * Describes an InputDefinition instance. + */ + protected abstract function describeInputDefinition(InputDefinition $definition, array $options = []); + /** + * Describes a Command instance. + */ + protected abstract function describeCommand(Command $command, array $options = []); + /** + * Describes an Application instance. + */ + protected abstract function describeApplication(Application $application, array $options = []); +} diff --git a/vendor-bundle/symfony/console/Descriptor/DescriptorInterface.php b/vendor-bundle/symfony/console/Descriptor/DescriptorInterface.php new file mode 100644 index 000000000..d7026d89f --- /dev/null +++ b/vendor-bundle/symfony/console/Descriptor/DescriptorInterface.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Descriptor; + +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * Descriptor interface. + * + * @author Jean-François Simon + */ +interface DescriptorInterface +{ + public function describe(OutputInterface $output, $object, array $options = []); +} diff --git a/vendor-bundle/symfony/console/Descriptor/JsonDescriptor.php b/vendor-bundle/symfony/console/Descriptor/JsonDescriptor.php new file mode 100644 index 000000000..eb51541a4 --- /dev/null +++ b/vendor-bundle/symfony/console/Descriptor/JsonDescriptor.php @@ -0,0 +1,157 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Descriptor; + +use Phabel\Symfony\Component\Console\Application; +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputDefinition; +use Phabel\Symfony\Component\Console\Input\InputOption; +/** + * JSON descriptor. + * + * @author Jean-François Simon + * + * @internal + */ +class JsonDescriptor extends Descriptor +{ + /** + * {@inheritdoc} + */ + protected function describeInputArgument(InputArgument $argument, array $options = []) + { + $this->writeData($this->getInputArgumentData($argument), $options); + } + /** + * {@inheritdoc} + */ + protected function describeInputOption(InputOption $option, array $options = []) + { + $this->writeData($this->getInputOptionData($option), $options); + if ($option->isNegatable()) { + $this->writeData($this->getInputOptionData($option, \true), $options); + } + } + /** + * {@inheritdoc} + */ + protected function describeInputDefinition(InputDefinition $definition, array $options = []) + { + $this->writeData($this->getInputDefinitionData($definition), $options); + } + /** + * {@inheritdoc} + */ + protected function describeCommand(Command $command, array $options = []) + { + $this->writeData($this->getCommandData($command, isset($options['short']) ? $options['short'] : \false), $options); + } + /** + * {@inheritdoc} + */ + protected function describeApplication(Application $application, array $options = []) + { + $describedNamespace = isset($options['namespace']) ? $options['namespace'] : null; + $description = new ApplicationDescription($application, $describedNamespace, \true); + $commands = []; + foreach ($description->getCommands() as $command) { + $commands[] = $this->getCommandData($command, isset($options['short']) ? $options['short'] : \false); + } + $data = []; + if ('UNKNOWN' !== $application->getName()) { + $data['application']['name'] = $application->getName(); + if ('UNKNOWN' !== $application->getVersion()) { + $data['application']['version'] = $application->getVersion(); + } + } + $data['commands'] = $commands; + if ($describedNamespace) { + $data['namespace'] = $describedNamespace; + } else { + $data['namespaces'] = \array_values($description->getNamespaces()); + } + $this->writeData($data, $options); + } + /** + * Writes data as json. + */ + private function writeData(array $data, array $options) + { + $flags = isset($options['json_encoding']) ? $options['json_encoding'] : 0; + $this->write(\json_encode($data, $flags)); + } + private function getInputArgumentData(InputArgument $argument) + { + $phabelReturn = ['name' => $argument->getName(), 'is_required' => $argument->isRequired(), 'is_array' => $argument->isArray(), 'description' => \preg_replace('/\\s*[\\r\\n]\\s*/', ' ', $argument->getDescription()), 'default' => \INF === $argument->getDefault() ? 'INF' : $argument->getDefault()]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function getInputOptionData(InputOption $option, $negated = \false) + { + if (!\is_bool($negated)) { + if (!(\is_bool($negated) || \is_numeric($negated) || \is_string($negated))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($negated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($negated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $negated = (bool) $negated; + } + } + $phabelReturn = $negated ? ['name' => '--no-' . $option->getName(), 'shortcut' => '', 'accept_value' => \false, 'is_value_required' => \false, 'is_multiple' => \false, 'description' => 'Negate the "--' . $option->getName() . '" option', 'default' => \false] : ['name' => '--' . $option->getName(), 'shortcut' => $option->getShortcut() ? '-' . \str_replace('|', '|-', $option->getShortcut()) : '', 'accept_value' => $option->acceptValue(), 'is_value_required' => $option->isValueRequired(), 'is_multiple' => $option->isArray(), 'description' => \preg_replace('/\\s*[\\r\\n]\\s*/', ' ', $option->getDescription()), 'default' => \INF === $option->getDefault() ? 'INF' : $option->getDefault()]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function getInputDefinitionData(InputDefinition $definition) + { + $inputArguments = []; + foreach ($definition->getArguments() as $name => $argument) { + $inputArguments[$name] = $this->getInputArgumentData($argument); + } + $inputOptions = []; + foreach ($definition->getOptions() as $name => $option) { + $inputOptions[$name] = $this->getInputOptionData($option); + if ($option->isNegatable()) { + $inputOptions['no-' . $name] = $this->getInputOptionData($option, \true); + } + } + $phabelReturn = ['arguments' => $inputArguments, 'options' => $inputOptions]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function getCommandData(Command $command, $short = \false) + { + if (!\is_bool($short)) { + if (!(\is_bool($short) || \is_numeric($short) || \is_string($short))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($short) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($short) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $short = (bool) $short; + } + } + $data = ['name' => $command->getName(), 'description' => $command->getDescription()]; + if ($short) { + $data += ['usage' => $command->getAliases()]; + } else { + $command->mergeApplicationDefinition(\false); + $data += ['usage' => \array_merge([$command->getSynopsis()], $command->getUsages(), $command->getAliases()), 'help' => $command->getProcessedHelp(), 'definition' => $this->getInputDefinitionData($command->getDefinition())]; + } + $data['hidden'] = $command->isHidden(); + $phabelReturn = $data; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Descriptor/MarkdownDescriptor.php b/vendor-bundle/symfony/console/Descriptor/MarkdownDescriptor.php new file mode 100644 index 000000000..0ce390a2c --- /dev/null +++ b/vendor-bundle/symfony/console/Descriptor/MarkdownDescriptor.php @@ -0,0 +1,210 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Descriptor; + +use Phabel\Symfony\Component\Console\Application; +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Helper\Helper; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputDefinition; +use Phabel\Symfony\Component\Console\Input\InputOption; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * Markdown descriptor. + * + * @author Jean-François Simon + * + * @internal + */ +class MarkdownDescriptor extends Descriptor +{ + /** + * {@inheritdoc} + */ + public function describe(OutputInterface $output, $object, array $options = []) + { + if (!\is_object($object)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($object) must be of type object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($object) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $decorated = $output->isDecorated(); + $output->setDecorated(\false); + parent::describe($output, $object, $options); + $output->setDecorated($decorated); + } + /** + * {@inheritdoc} + */ + protected function write($content, $decorated = \true) + { + if (!\is_string($content)) { + if (!(\is_string($content) || \is_object($content) && \method_exists($content, '__toString') || (\is_bool($content) || \is_numeric($content)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($content) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($content) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $content = (string) $content; + } + } + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + parent::write($content, $decorated); + } + /** + * {@inheritdoc} + */ + protected function describeInputArgument(InputArgument $argument, array $options = []) + { + $this->write('#### `' . ($argument->getName() ?: '') . "`\n\n" . ($argument->getDescription() ? \preg_replace('/\\s*[\\r\\n]\\s*/', "\n", $argument->getDescription()) . "\n\n" : '') . '* Is required: ' . ($argument->isRequired() ? 'yes' : 'no') . ' +* Is array: ' . ($argument->isArray() ? 'yes' : 'no') . ' +* Default: `' . \str_replace("\n", '', \var_export($argument->getDefault(), \true)) . '`'); + } + /** + * {@inheritdoc} + */ + protected function describeInputOption(InputOption $option, array $options = []) + { + $name = '--' . $option->getName(); + if ($option->isNegatable()) { + $name .= '|--no-' . $option->getName(); + } + if ($option->getShortcut()) { + $name .= '|-' . \str_replace('|', '|-', $option->getShortcut()) . ''; + } + $this->write('#### `' . $name . '` + +' . ($option->getDescription() ? \preg_replace('/\\s*[\\r\\n]\\s*/', "\n", $option->getDescription()) . "\n\n" : '') . '* Accept value: ' . ($option->acceptValue() ? 'yes' : 'no') . ' +* Is value required: ' . ($option->isValueRequired() ? 'yes' : 'no') . ' +* Is multiple: ' . ($option->isArray() ? 'yes' : 'no') . ' +* Is negatable: ' . ($option->isNegatable() ? 'yes' : 'no') . ' +* Default: `' . \str_replace("\n", '', \var_export($option->getDefault(), \true)) . '`'); + } + /** + * {@inheritdoc} + */ + protected function describeInputDefinition(InputDefinition $definition, array $options = []) + { + if ($showArguments = \count($definition->getArguments()) > 0) { + $this->write('### Arguments'); + foreach ($definition->getArguments() as $argument) { + $this->write("\n\n"); + if (null !== ($describeInputArgument = $this->describeInputArgument($argument))) { + $this->write($describeInputArgument); + } + } + } + if (\count($definition->getOptions()) > 0) { + if ($showArguments) { + $this->write("\n\n"); + } + $this->write('### Options'); + foreach ($definition->getOptions() as $option) { + $this->write("\n\n"); + if (null !== ($describeInputOption = $this->describeInputOption($option))) { + $this->write($describeInputOption); + } + } + } + } + /** + * {@inheritdoc} + */ + protected function describeCommand(Command $command, array $options = []) + { + if (isset($options['short']) ? $options['short'] : \false) { + $this->write('`' . $command->getName() . "`\n" . \str_repeat('-', Helper::width($command->getName()) + 2) . "\n\n" . ($command->getDescription() ? $command->getDescription() . "\n\n" : '') . '### Usage + +' . \array_reduce($command->getAliases(), function ($carry, $usage) { + return $carry . '* `' . $usage . '` +'; + })); + return; + } + $command->mergeApplicationDefinition(\false); + $this->write('`' . $command->getName() . "`\n" . \str_repeat('-', Helper::width($command->getName()) + 2) . "\n\n" . ($command->getDescription() ? $command->getDescription() . "\n\n" : '') . '### Usage + +' . \array_reduce(\array_merge([$command->getSynopsis()], $command->getAliases(), $command->getUsages()), function ($carry, $usage) { + return $carry . '* `' . $usage . '` +'; + })); + if ($help = $command->getProcessedHelp()) { + $this->write("\n"); + $this->write($help); + } + $definition = $command->getDefinition(); + if ($definition->getOptions() || $definition->getArguments()) { + $this->write("\n\n"); + $this->describeInputDefinition($definition); + } + } + /** + * {@inheritdoc} + */ + protected function describeApplication(Application $application, array $options = []) + { + $describedNamespace = isset($options['namespace']) ? $options['namespace'] : null; + $description = new ApplicationDescription($application, $describedNamespace); + $title = $this->getApplicationTitle($application); + $this->write($title . "\n" . \str_repeat('=', Helper::width($title))); + foreach ($description->getNamespaces() as $namespace) { + if (ApplicationDescription::GLOBAL_NAMESPACE !== $namespace['id']) { + $this->write("\n\n"); + $this->write('**' . $namespace['id'] . ':**'); + } + $this->write("\n\n"); + $this->write(\implode("\n", \array_map(function ($commandName) use($description) { + return \sprintf('* [`%s`](#%s)', $commandName, \str_replace(':', '', $description->getCommand($commandName)->getName())); + }, $namespace['commands']))); + } + foreach ($description->getCommands() as $command) { + $this->write("\n\n"); + if (null !== ($describeCommand = $this->describeCommand($command, $options))) { + $this->write($describeCommand); + } + } + } + private function getApplicationTitle(Application $application) + { + if ('UNKNOWN' !== $application->getName()) { + if ('UNKNOWN' !== $application->getVersion()) { + $phabelReturn = \sprintf('%s %s', $application->getName(), $application->getVersion()); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $application->getName(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = 'Console Tool'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Descriptor/TextDescriptor.php b/vendor-bundle/symfony/console/Descriptor/TextDescriptor.php new file mode 100644 index 000000000..8148a494e --- /dev/null +++ b/vendor-bundle/symfony/console/Descriptor/TextDescriptor.php @@ -0,0 +1,340 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Descriptor; + +use Phabel\Symfony\Component\Console\Application; +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatter; +use Phabel\Symfony\Component\Console\Helper\Helper; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputDefinition; +use Phabel\Symfony\Component\Console\Input\InputOption; +/** + * Text descriptor. + * + * @author Jean-François Simon + * + * @internal + */ +class TextDescriptor extends Descriptor +{ + /** + * {@inheritdoc} + */ + protected function describeInputArgument(InputArgument $argument, array $options = []) + { + if (null !== $argument->getDefault() && (!\is_array($argument->getDefault()) || \count($argument->getDefault()))) { + $default = \sprintf(' [default: %s]', $this->formatDefaultValue($argument->getDefault())); + } else { + $default = ''; + } + $totalWidth = isset($options['total_width']) ? $options['total_width'] : Helper::width($argument->getName()); + $spacingWidth = $totalWidth - \strlen($argument->getName()); + $this->writeText(\sprintf( + ' %s %s%s%s', + $argument->getName(), + \str_repeat(' ', $spacingWidth), + // + 4 = 2 spaces before , 2 spaces after + \preg_replace('/\\s*[\\r\\n]\\s*/', "\n" . \str_repeat(' ', $totalWidth + 4), $argument->getDescription()), + $default + ), $options); + } + /** + * {@inheritdoc} + */ + protected function describeInputOption(InputOption $option, array $options = []) + { + if ($option->acceptValue() && null !== $option->getDefault() && (!\is_array($option->getDefault()) || \count($option->getDefault()))) { + $default = \sprintf(' [default: %s]', $this->formatDefaultValue($option->getDefault())); + } else { + $default = ''; + } + $value = ''; + if ($option->acceptValue()) { + $value = '=' . \strtoupper($option->getName()); + if ($option->isValueOptional()) { + $value = '[' . $value . ']'; + } + } + $totalWidth = isset($options['total_width']) ? $options['total_width'] : $this->calculateTotalWidthForOptions([$option]); + $synopsis = \sprintf('%s%s', $option->getShortcut() ? \sprintf('-%s, ', $option->getShortcut()) : ' ', \sprintf($option->isNegatable() ? '--%1$s|--no-%1$s' : '--%1$s%2$s', $option->getName(), $value)); + $spacingWidth = $totalWidth - Helper::width($synopsis); + $this->writeText(\sprintf( + ' %s %s%s%s%s', + $synopsis, + \str_repeat(' ', $spacingWidth), + // + 4 = 2 spaces before , 2 spaces after + \preg_replace('/\\s*[\\r\\n]\\s*/', "\n" . \str_repeat(' ', $totalWidth + 4), $option->getDescription()), + $default, + $option->isArray() ? ' (multiple values allowed)' : '' + ), $options); + } + /** + * {@inheritdoc} + */ + protected function describeInputDefinition(InputDefinition $definition, array $options = []) + { + $totalWidth = $this->calculateTotalWidthForOptions($definition->getOptions()); + foreach ($definition->getArguments() as $argument) { + $totalWidth = \max($totalWidth, Helper::width($argument->getName())); + } + if ($definition->getArguments()) { + $this->writeText('Arguments:', $options); + $this->writeText("\n"); + foreach ($definition->getArguments() as $argument) { + $this->describeInputArgument($argument, \array_merge($options, ['total_width' => $totalWidth])); + $this->writeText("\n"); + } + } + if ($definition->getArguments() && $definition->getOptions()) { + $this->writeText("\n"); + } + if ($definition->getOptions()) { + $laterOptions = []; + $this->writeText('Options:', $options); + foreach ($definition->getOptions() as $option) { + if (\strlen(NULL !== ($phabel_30ed5abe19edb800 = $option->getShortcut()) ? $phabel_30ed5abe19edb800 : '') > 1) { + $laterOptions[] = $option; + continue; + } + $this->writeText("\n"); + $this->describeInputOption($option, \array_merge($options, ['total_width' => $totalWidth])); + } + foreach ($laterOptions as $option) { + $this->writeText("\n"); + $this->describeInputOption($option, \array_merge($options, ['total_width' => $totalWidth])); + } + } + } + /** + * {@inheritdoc} + */ + protected function describeCommand(Command $command, array $options = []) + { + $command->mergeApplicationDefinition(\false); + if ($description = $command->getDescription()) { + $this->writeText('Description:', $options); + $this->writeText("\n"); + $this->writeText(' ' . $description); + $this->writeText("\n\n"); + } + $this->writeText('Usage:', $options); + foreach (\array_merge([$command->getSynopsis(\true)], $command->getAliases(), $command->getUsages()) as $usage) { + $this->writeText("\n"); + $this->writeText(' ' . OutputFormatter::escape($usage), $options); + } + $this->writeText("\n"); + $definition = $command->getDefinition(); + if ($definition->getOptions() || $definition->getArguments()) { + $this->writeText("\n"); + $this->describeInputDefinition($definition, $options); + $this->writeText("\n"); + } + $help = $command->getProcessedHelp(); + if ($help && $help !== $description) { + $this->writeText("\n"); + $this->writeText('Help:', $options); + $this->writeText("\n"); + $this->writeText(' ' . \str_replace("\n", "\n ", $help), $options); + $this->writeText("\n"); + } + } + /** + * {@inheritdoc} + */ + protected function describeApplication(Application $application, array $options = []) + { + $describedNamespace = isset($options['namespace']) ? $options['namespace'] : null; + $description = new ApplicationDescription($application, $describedNamespace); + if (isset($options['raw_text']) && $options['raw_text']) { + $width = $this->getColumnWidth($description->getCommands()); + foreach ($description->getCommands() as $command) { + $this->writeText(\sprintf("%-{$width}s %s", $command->getName(), $command->getDescription()), $options); + $this->writeText("\n"); + } + } else { + if ('' != ($help = $application->getHelp())) { + $this->writeText("{$help}\n\n", $options); + } + $this->writeText("Usage:\n", $options); + $this->writeText(" command [options] [arguments]\n\n", $options); + $this->describeInputDefinition(new InputDefinition($application->getDefinition()->getOptions()), $options); + $this->writeText("\n"); + $this->writeText("\n"); + $commands = $description->getCommands(); + $namespaces = $description->getNamespaces(); + if ($describedNamespace && $namespaces) { + // make sure all alias commands are included when describing a specific namespace + $describedNamespaceInfo = \reset($namespaces); + foreach ($describedNamespaceInfo['commands'] as $name) { + $commands[$name] = $description->getCommand($name); + } + } + // calculate max. width based on available commands per namespace + $width = $this->getColumnWidth(\array_merge(...\array_values(\array_map(function ($namespace) use($commands) { + return \array_intersect($namespace['commands'], \array_keys($commands)); + }, \array_values($namespaces))))); + if ($describedNamespace) { + $this->writeText(\sprintf('Available commands for the "%s" namespace:', $describedNamespace), $options); + } else { + $this->writeText('Available commands:', $options); + } + foreach ($namespaces as $namespace) { + $namespace['commands'] = \array_filter($namespace['commands'], function ($name) use($commands) { + return isset($commands[$name]); + }); + if (!$namespace['commands']) { + continue; + } + if (!$describedNamespace && ApplicationDescription::GLOBAL_NAMESPACE !== $namespace['id']) { + $this->writeText("\n"); + $this->writeText(' ' . $namespace['id'] . '', $options); + } + foreach ($namespace['commands'] as $name) { + $this->writeText("\n"); + $spacingWidth = $width - Helper::width($name); + $command = $commands[$name]; + $commandAliases = $name === $command->getName() ? $this->getCommandAliasesText($command) : ''; + $this->writeText(\sprintf(' %s%s%s', $name, \str_repeat(' ', $spacingWidth), $commandAliases . $command->getDescription()), $options); + } + } + $this->writeText("\n"); + } + } + /** + * {@inheritdoc} + */ + private function writeText($content, array $options = []) + { + if (!\is_string($content)) { + if (!(\is_string($content) || \is_object($content) && \method_exists($content, '__toString') || (\is_bool($content) || \is_numeric($content)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($content) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($content) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $content = (string) $content; + } + } + $this->write(isset($options['raw_text']) && $options['raw_text'] ? \strip_tags($content) : $content, isset($options['raw_output']) ? !$options['raw_output'] : \true); + } + /** + * Formats command aliases to show them in the command description. + */ + private function getCommandAliasesText(Command $command) + { + $text = ''; + $aliases = $command->getAliases(); + if ($aliases) { + $text = '[' . \implode('|', $aliases) . '] '; + } + $phabelReturn = $text; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Formats input option/argument default value. + * + * @param mixed $default + */ + private function formatDefaultValue($default) + { + if (\INF === $default) { + $phabelReturn = 'INF'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (\is_string($default)) { + $default = OutputFormatter::escape($default); + } elseif (\is_array($default)) { + foreach ($default as $key => $value) { + if (\is_string($value)) { + $default[$key] = OutputFormatter::escape($value); + } + } + } + $phabelReturn = \str_replace('\\\\', '\\', \json_encode($default, \JSON_UNESCAPED_SLASHES | \JSON_UNESCAPED_UNICODE)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @param array $commands + */ + private function getColumnWidth(array $commands) + { + $widths = []; + foreach ($commands as $command) { + if ($command instanceof Command) { + $widths[] = Helper::width($command->getName()); + foreach ($command->getAliases() as $alias) { + $widths[] = Helper::width($alias); + } + } else { + $widths[] = Helper::width($command); + } + } + $phabelReturn = $widths ? \max($widths) + 2 : 0; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @param InputOption[] $options + */ + private function calculateTotalWidthForOptions(array $options) + { + $totalWidth = 0; + foreach ($options as $option) { + // "-" + shortcut + ", --" + name + $nameLength = 1 + \max(Helper::width($option->getShortcut()), 1) + 4 + Helper::width($option->getName()); + if ($option->isNegatable()) { + $nameLength += 6 + Helper::width($option->getName()); + // |--no- + name + } elseif ($option->acceptValue()) { + $valueLength = 1 + Helper::width($option->getName()); + // = + value + $valueLength += $option->isValueOptional() ? 2 : 0; + // [ + ] + $nameLength += $valueLength; + } + $totalWidth = \max($totalWidth, $nameLength); + } + $phabelReturn = $totalWidth; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Descriptor/XmlDescriptor.php b/vendor-bundle/symfony/console/Descriptor/XmlDescriptor.php new file mode 100644 index 000000000..78c9c8011 --- /dev/null +++ b/vendor-bundle/symfony/console/Descriptor/XmlDescriptor.php @@ -0,0 +1,249 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Descriptor; + +use Phabel\Symfony\Component\Console\Application; +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Input\InputArgument; +use Phabel\Symfony\Component\Console\Input\InputDefinition; +use Phabel\Symfony\Component\Console\Input\InputOption; +/** + * XML descriptor. + * + * @author Jean-François Simon + * + * @internal + */ +class XmlDescriptor extends Descriptor +{ + public function getInputDefinitionDocument(InputDefinition $definition) + { + $dom = new \DOMDocument('1.0', 'UTF-8'); + $dom->appendChild($definitionXML = $dom->createElement('definition')); + $definitionXML->appendChild($argumentsXML = $dom->createElement('arguments')); + foreach ($definition->getArguments() as $argument) { + $this->appendDocument($argumentsXML, $this->getInputArgumentDocument($argument)); + } + $definitionXML->appendChild($optionsXML = $dom->createElement('options')); + foreach ($definition->getOptions() as $option) { + $this->appendDocument($optionsXML, $this->getInputOptionDocument($option)); + } + $phabelReturn = $dom; + if (!$phabelReturn instanceof \DOMDocument) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type DOMDocument, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getCommandDocument(Command $command, $short = \false) + { + if (!\is_bool($short)) { + if (!(\is_bool($short) || \is_numeric($short) || \is_string($short))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($short) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($short) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $short = (bool) $short; + } + } + $dom = new \DOMDocument('1.0', 'UTF-8'); + $dom->appendChild($commandXML = $dom->createElement('command')); + $commandXML->setAttribute('id', $command->getName()); + $commandXML->setAttribute('name', $command->getName()); + $commandXML->setAttribute('hidden', $command->isHidden() ? 1 : 0); + $commandXML->appendChild($usagesXML = $dom->createElement('usages')); + $commandXML->appendChild($descriptionXML = $dom->createElement('description')); + $descriptionXML->appendChild($dom->createTextNode(\str_replace("\n", "\n ", $command->getDescription()))); + if ($short) { + foreach ($command->getAliases() as $usage) { + $usagesXML->appendChild($dom->createElement('usage', $usage)); + } + } else { + $command->mergeApplicationDefinition(\false); + foreach (\array_merge([$command->getSynopsis()], $command->getAliases(), $command->getUsages()) as $usage) { + $usagesXML->appendChild($dom->createElement('usage', $usage)); + } + $commandXML->appendChild($helpXML = $dom->createElement('help')); + $helpXML->appendChild($dom->createTextNode(\str_replace("\n", "\n ", $command->getProcessedHelp()))); + $definitionXML = $this->getInputDefinitionDocument($command->getDefinition()); + $this->appendDocument($commandXML, $definitionXML->getElementsByTagName('definition')->item(0)); + } + $phabelReturn = $dom; + if (!$phabelReturn instanceof \DOMDocument) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type DOMDocument, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getApplicationDocument(Application $application, $namespace = null, $short = \false) + { + if (!\is_null($namespace)) { + if (!\is_string($namespace)) { + if (!(\is_string($namespace) || \is_object($namespace) && \method_exists($namespace, '__toString') || (\is_bool($namespace) || \is_numeric($namespace)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($namespace) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($namespace) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $namespace = (string) $namespace; + } + } + } + if (!\is_bool($short)) { + if (!(\is_bool($short) || \is_numeric($short) || \is_string($short))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($short) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($short) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $short = (bool) $short; + } + } + $dom = new \DOMDocument('1.0', 'UTF-8'); + $dom->appendChild($rootXml = $dom->createElement('symfony')); + if ('UNKNOWN' !== $application->getName()) { + $rootXml->setAttribute('name', $application->getName()); + if ('UNKNOWN' !== $application->getVersion()) { + $rootXml->setAttribute('version', $application->getVersion()); + } + } + $rootXml->appendChild($commandsXML = $dom->createElement('commands')); + $description = new ApplicationDescription($application, $namespace, \true); + if ($namespace) { + $commandsXML->setAttribute('namespace', $namespace); + } + foreach ($description->getCommands() as $command) { + $this->appendDocument($commandsXML, $this->getCommandDocument($command, $short)); + } + if (!$namespace) { + $rootXml->appendChild($namespacesXML = $dom->createElement('namespaces')); + foreach ($description->getNamespaces() as $namespaceDescription) { + $namespacesXML->appendChild($namespaceArrayXML = $dom->createElement('namespace')); + $namespaceArrayXML->setAttribute('id', $namespaceDescription['id']); + foreach ($namespaceDescription['commands'] as $name) { + $namespaceArrayXML->appendChild($commandXML = $dom->createElement('command')); + $commandXML->appendChild($dom->createTextNode($name)); + } + } + } + $phabelReturn = $dom; + if (!$phabelReturn instanceof \DOMDocument) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type DOMDocument, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + protected function describeInputArgument(InputArgument $argument, array $options = []) + { + $this->writeDocument($this->getInputArgumentDocument($argument)); + } + /** + * {@inheritdoc} + */ + protected function describeInputOption(InputOption $option, array $options = []) + { + $this->writeDocument($this->getInputOptionDocument($option)); + } + /** + * {@inheritdoc} + */ + protected function describeInputDefinition(InputDefinition $definition, array $options = []) + { + $this->writeDocument($this->getInputDefinitionDocument($definition)); + } + /** + * {@inheritdoc} + */ + protected function describeCommand(Command $command, array $options = []) + { + $this->writeDocument($this->getCommandDocument($command, isset($options['short']) ? $options['short'] : \false)); + } + /** + * {@inheritdoc} + */ + protected function describeApplication(Application $application, array $options = []) + { + $this->writeDocument($this->getApplicationDocument($application, isset($options['namespace']) ? $options['namespace'] : null, isset($options['short']) ? $options['short'] : \false)); + } + /** + * Appends document children to parent node. + */ + private function appendDocument(\DOMNode $parentNode, \DOMNode $importedParent) + { + foreach ($importedParent->childNodes as $childNode) { + $parentNode->appendChild($parentNode->ownerDocument->importNode($childNode, \true)); + } + } + /** + * Writes DOM document. + */ + private function writeDocument(\DOMDocument $dom) + { + $dom->formatOutput = \true; + $this->write($dom->saveXML()); + } + private function getInputArgumentDocument(InputArgument $argument) + { + $dom = new \DOMDocument('1.0', 'UTF-8'); + $dom->appendChild($objectXML = $dom->createElement('argument')); + $objectXML->setAttribute('name', $argument->getName()); + $objectXML->setAttribute('is_required', $argument->isRequired() ? 1 : 0); + $objectXML->setAttribute('is_array', $argument->isArray() ? 1 : 0); + $objectXML->appendChild($descriptionXML = $dom->createElement('description')); + $descriptionXML->appendChild($dom->createTextNode($argument->getDescription())); + $objectXML->appendChild($defaultsXML = $dom->createElement('defaults')); + $defaults = \is_array($argument->getDefault()) ? $argument->getDefault() : (\is_bool($argument->getDefault()) ? [\var_export($argument->getDefault(), \true)] : ($argument->getDefault() ? [$argument->getDefault()] : [])); + foreach ($defaults as $default) { + $defaultsXML->appendChild($defaultXML = $dom->createElement('default')); + $defaultXML->appendChild($dom->createTextNode($default)); + } + $phabelReturn = $dom; + if (!$phabelReturn instanceof \DOMDocument) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type DOMDocument, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function getInputOptionDocument(InputOption $option) + { + $dom = new \DOMDocument('1.0', 'UTF-8'); + $dom->appendChild($objectXML = $dom->createElement('option')); + $objectXML->setAttribute('name', '--' . $option->getName()); + $pos = \strpos(NULL !== ($phabel_aaa4c7c842e5280f = $option->getShortcut()) ? $phabel_aaa4c7c842e5280f : '', '|'); + if (\false !== $pos) { + $objectXML->setAttribute('shortcut', '-' . \substr($option->getShortcut(), 0, $pos)); + $objectXML->setAttribute('shortcuts', '-' . \str_replace('|', '|-', $option->getShortcut())); + } else { + $objectXML->setAttribute('shortcut', $option->getShortcut() ? '-' . $option->getShortcut() : ''); + } + $objectXML->setAttribute('accept_value', $option->acceptValue() ? 1 : 0); + $objectXML->setAttribute('is_value_required', $option->isValueRequired() ? 1 : 0); + $objectXML->setAttribute('is_multiple', $option->isArray() ? 1 : 0); + $objectXML->appendChild($descriptionXML = $dom->createElement('description')); + $descriptionXML->appendChild($dom->createTextNode($option->getDescription())); + if ($option->acceptValue()) { + $defaults = \is_array($option->getDefault()) ? $option->getDefault() : (\is_bool($option->getDefault()) ? [\var_export($option->getDefault(), \true)] : ($option->getDefault() ? [$option->getDefault()] : [])); + $objectXML->appendChild($defaultsXML = $dom->createElement('defaults')); + if (!empty($defaults)) { + foreach ($defaults as $default) { + $defaultsXML->appendChild($defaultXML = $dom->createElement('default')); + $defaultXML->appendChild($dom->createTextNode($default)); + } + } + } + if ($option->isNegatable()) { + $dom->appendChild($objectXML = $dom->createElement('option')); + $objectXML->setAttribute('name', '--no-' . $option->getName()); + $objectXML->setAttribute('shortcut', ''); + $objectXML->setAttribute('accept_value', 0); + $objectXML->setAttribute('is_value_required', 0); + $objectXML->setAttribute('is_multiple', 0); + $objectXML->appendChild($descriptionXML = $dom->createElement('description')); + $descriptionXML->appendChild($dom->createTextNode('Negate the "--' . $option->getName() . '" option')); + } + $phabelReturn = $dom; + if (!$phabelReturn instanceof \DOMDocument) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type DOMDocument, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Event/ConsoleCommandEvent.php b/vendor-bundle/symfony/console/Event/ConsoleCommandEvent.php new file mode 100644 index 000000000..00123c19e --- /dev/null +++ b/vendor-bundle/symfony/console/Event/ConsoleCommandEvent.php @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Event; + +/** + * Allows to do things before the command is executed, like skipping the command or changing the input. + * + * @author Fabien Potencier + */ +final class ConsoleCommandEvent extends ConsoleEvent +{ + /** + * The return code for skipped commands, this will also be passed into the terminate event. + */ + const RETURN_CODE_DISABLED = 113; + /** + * Indicates if the command should be run or skipped. + */ + private $commandShouldRun = \true; + /** + * Disables the command, so it won't be run. + */ + public function disableCommand() + { + $phabelReturn = $this->commandShouldRun = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function enableCommand() + { + $phabelReturn = $this->commandShouldRun = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns true if the command is runnable, false otherwise. + */ + public function commandShouldRun() + { + $phabelReturn = $this->commandShouldRun; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Event/ConsoleErrorEvent.php b/vendor-bundle/symfony/console/Event/ConsoleErrorEvent.php new file mode 100644 index 000000000..7d8a36bf0 --- /dev/null +++ b/vendor-bundle/symfony/console/Event/ConsoleErrorEvent.php @@ -0,0 +1,68 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Event; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * Allows to handle throwables thrown while running a command. + * + * @author Wouter de Jong + */ +final class ConsoleErrorEvent extends ConsoleEvent +{ + private $error; + private $exitCode; + public function __construct(InputInterface $input, OutputInterface $output, \Throwable $error, Command $command = null) + { + parent::__construct($command, $input, $output); + $this->error = $error; + } + public function getError() + { + $phabelReturn = $this->error; + if (!($phabelReturn instanceof \Exception || $phabelReturn instanceof \Error)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Throwable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function setError(\Throwable $error) + { + $this->error = $error; + } + public function setExitCode($exitCode) + { + if (!\is_int($exitCode)) { + if (!(\is_bool($exitCode) || \is_numeric($exitCode))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($exitCode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($exitCode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $exitCode = (int) $exitCode; + } + } + $this->exitCode = $exitCode; + $r = new \ReflectionProperty($this->error, 'code'); + $r->setAccessible(\true); + $r->setValue($this->error, $this->exitCode); + } + public function getExitCode() + { + $phabelReturn = isset($this->exitCode) ? $this->exitCode : (\is_int($this->error->getCode()) && 0 !== $this->error->getCode() ? $this->error->getCode() : 1); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Event/ConsoleEvent.php b/vendor-bundle/symfony/console/Event/ConsoleEvent.php new file mode 100644 index 000000000..784dfbdf6 --- /dev/null +++ b/vendor-bundle/symfony/console/Event/ConsoleEvent.php @@ -0,0 +1,60 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Event; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Contracts\EventDispatcher\Event; +/** + * Allows to inspect input and output of a command. + * + * @author Francesco Levorato + */ +class ConsoleEvent extends Event +{ + protected $command; + private $input; + private $output; + public function __construct(Command $command = null, InputInterface $input, OutputInterface $output) + { + $this->command = $command; + $this->input = $input; + $this->output = $output; + } + /** + * Gets the command that is executed. + * + * @return Command|null A Command instance + */ + public function getCommand() + { + return $this->command; + } + /** + * Gets the input instance. + * + * @return InputInterface An InputInterface instance + */ + public function getInput() + { + return $this->input; + } + /** + * Gets the output instance. + * + * @return OutputInterface An OutputInterface instance + */ + public function getOutput() + { + return $this->output; + } +} diff --git a/vendor-bundle/symfony/console/Event/ConsoleSignalEvent.php b/vendor-bundle/symfony/console/Event/ConsoleSignalEvent.php new file mode 100644 index 000000000..9eac4e712 --- /dev/null +++ b/vendor-bundle/symfony/console/Event/ConsoleSignalEvent.php @@ -0,0 +1,46 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Event; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * @author marie + */ +final class ConsoleSignalEvent extends ConsoleEvent +{ + private $handlingSignal; + public function __construct(Command $command, InputInterface $input, OutputInterface $output, $handlingSignal) + { + if (!\is_int($handlingSignal)) { + if (!(\is_bool($handlingSignal) || \is_numeric($handlingSignal))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($handlingSignal) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($handlingSignal) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $handlingSignal = (int) $handlingSignal; + } + } + parent::__construct($command, $input, $output); + $this->handlingSignal = $handlingSignal; + } + public function getHandlingSignal() + { + $phabelReturn = $this->handlingSignal; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Event/ConsoleTerminateEvent.php b/vendor-bundle/symfony/console/Event/ConsoleTerminateEvent.php new file mode 100644 index 000000000..5d113382b --- /dev/null +++ b/vendor-bundle/symfony/console/Event/ConsoleTerminateEvent.php @@ -0,0 +1,59 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Event; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * Allows to manipulate the exit code of a command after its execution. + * + * @author Francesco Levorato + */ +final class ConsoleTerminateEvent extends ConsoleEvent +{ + private $exitCode; + public function __construct(Command $command, InputInterface $input, OutputInterface $output, $exitCode) + { + if (!\is_int($exitCode)) { + if (!(\is_bool($exitCode) || \is_numeric($exitCode))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($exitCode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($exitCode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $exitCode = (int) $exitCode; + } + } + parent::__construct($command, $input, $output); + $this->setExitCode($exitCode); + } + public function setExitCode($exitCode) + { + if (!\is_int($exitCode)) { + if (!(\is_bool($exitCode) || \is_numeric($exitCode))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($exitCode) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($exitCode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $exitCode = (int) $exitCode; + } + } + $this->exitCode = $exitCode; + } + public function getExitCode() + { + $phabelReturn = $this->exitCode; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/EventListener/ErrorListener.php b/vendor-bundle/symfony/console/EventListener/ErrorListener.php new file mode 100644 index 000000000..9c1798304 --- /dev/null +++ b/vendor-bundle/symfony/console/EventListener/ErrorListener.php @@ -0,0 +1,103 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\EventListener; + +use Phabel\Psr\Log\LoggerInterface; +use Phabel\Symfony\Component\Console\ConsoleEvents; +use Phabel\Symfony\Component\Console\Event\ConsoleErrorEvent; +use Phabel\Symfony\Component\Console\Event\ConsoleEvent; +use Phabel\Symfony\Component\Console\Event\ConsoleTerminateEvent; +use Phabel\Symfony\Component\EventDispatcher\EventSubscriberInterface; +/** + * @author James Halsall + * @author Robin Chalas + */ +class ErrorListener implements EventSubscriberInterface +{ + private $logger; + public function __construct(LoggerInterface $logger = null) + { + $this->logger = $logger; + } + public function onConsoleError(ConsoleErrorEvent $event) + { + if (null === $this->logger) { + return; + } + $error = $event->getError(); + if (!($inputString = $this->getInputString($event))) { + $this->logger->critical('An error occurred while using the console. Message: "{message}"', ['exception' => $error, 'message' => $error->getMessage()]); + return; + } + $this->logger->critical('Error thrown while running command "{command}". Message: "{message}"', ['exception' => $error, 'command' => $inputString, 'message' => $error->getMessage()]); + } + public function onConsoleTerminate(ConsoleTerminateEvent $event) + { + if (null === $this->logger) { + return; + } + $exitCode = $event->getExitCode(); + if (0 === $exitCode) { + return; + } + if (!($inputString = $this->getInputString($event))) { + $this->logger->debug('The console exited with code "{code}"', ['code' => $exitCode]); + return; + } + $this->logger->debug('Command "{command}" exited with code "{code}"', ['command' => $inputString, 'code' => $exitCode]); + } + public static function getSubscribedEvents() + { + return [ConsoleEvents::ERROR => ['onConsoleError', -128], ConsoleEvents::TERMINATE => ['onConsoleTerminate', -128]]; + } + private static function getInputString(ConsoleEvent $event) + { + $commandName = $event->getCommand() ? $event->getCommand()->getName() : null; + $input = $event->getInput(); + if (\method_exists($input, '__toString')) { + if ($commandName) { + $phabelReturn = \str_replace(["'{$commandName}'", "\"{$commandName}\""], $commandName, (string) $input); + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } + $phabelReturn = (string) $input; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } + $phabelReturn = $commandName; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Exception/CommandNotFoundException.php b/vendor-bundle/symfony/console/Exception/CommandNotFoundException.php new file mode 100644 index 000000000..834d70e8a --- /dev/null +++ b/vendor-bundle/symfony/console/Exception/CommandNotFoundException.php @@ -0,0 +1,53 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Exception; + +/** + * Represents an incorrect command name typed in the console. + * + * @author Jérôme Tamarelle + */ +class CommandNotFoundException extends \InvalidArgumentException implements ExceptionInterface +{ + private $alternatives; + /** + * @param string $message Exception message to throw + * @param string[] $alternatives List of similar defined names + * @param int $code Exception code + * @param \Throwable|null $previous Previous exception used for the exception chaining + */ + public function __construct($message, array $alternatives = [], $code = 0, \Throwable $previous = null) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_int($code)) { + if (!(\is_bool($code) || \is_numeric($code))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($code) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($code) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $code = (int) $code; + } + } + parent::__construct($message, $code, $previous); + $this->alternatives = $alternatives; + } + /** + * @return string[] A list of similar defined names + */ + public function getAlternatives() + { + return $this->alternatives; + } +} diff --git a/vendor-bundle/symfony/console/Exception/ExceptionInterface.php b/vendor-bundle/symfony/console/Exception/ExceptionInterface.php new file mode 100644 index 000000000..c2e96f54f --- /dev/null +++ b/vendor-bundle/symfony/console/Exception/ExceptionInterface.php @@ -0,0 +1,20 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Exception; + +/** + * ExceptionInterface. + * + * @author Jérôme Tamarelle + */ +interface ExceptionInterface extends \Throwable +{ +} diff --git a/vendor-bundle/symfony/console/Exception/InvalidArgumentException.php b/vendor-bundle/symfony/console/Exception/InvalidArgumentException.php new file mode 100644 index 000000000..b2f38b153 --- /dev/null +++ b/vendor-bundle/symfony/console/Exception/InvalidArgumentException.php @@ -0,0 +1,18 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Exception; + +/** + * @author Jérôme Tamarelle + */ +class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/console/Exception/InvalidOptionException.php b/vendor-bundle/symfony/console/Exception/InvalidOptionException.php new file mode 100644 index 000000000..ea0fd2097 --- /dev/null +++ b/vendor-bundle/symfony/console/Exception/InvalidOptionException.php @@ -0,0 +1,20 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Exception; + +/** + * Represents an incorrect option name typed in the console. + * + * @author Jérôme Tamarelle + */ +class InvalidOptionException extends \InvalidArgumentException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/console/Exception/LogicException.php b/vendor-bundle/symfony/console/Exception/LogicException.php new file mode 100644 index 000000000..a89885ad8 --- /dev/null +++ b/vendor-bundle/symfony/console/Exception/LogicException.php @@ -0,0 +1,18 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Exception; + +/** + * @author Jérôme Tamarelle + */ +class LogicException extends \LogicException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/console/Exception/MissingInputException.php b/vendor-bundle/symfony/console/Exception/MissingInputException.php new file mode 100644 index 000000000..37caa54b3 --- /dev/null +++ b/vendor-bundle/symfony/console/Exception/MissingInputException.php @@ -0,0 +1,20 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Exception; + +/** + * Represents failure to read input from stdin. + * + * @author Gabriel Ostrolucký + */ +class MissingInputException extends RuntimeException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/console/Exception/NamespaceNotFoundException.php b/vendor-bundle/symfony/console/Exception/NamespaceNotFoundException.php new file mode 100644 index 000000000..acd11f57a --- /dev/null +++ b/vendor-bundle/symfony/console/Exception/NamespaceNotFoundException.php @@ -0,0 +1,20 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Exception; + +/** + * Represents an incorrect namespace typed in the console. + * + * @author Pierre du Plessis + */ +class NamespaceNotFoundException extends CommandNotFoundException +{ +} diff --git a/vendor-bundle/symfony/console/Exception/RuntimeException.php b/vendor-bundle/symfony/console/Exception/RuntimeException.php new file mode 100644 index 000000000..aa1f93d74 --- /dev/null +++ b/vendor-bundle/symfony/console/Exception/RuntimeException.php @@ -0,0 +1,18 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Exception; + +/** + * @author Jérôme Tamarelle + */ +class RuntimeException extends \RuntimeException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/console/Formatter/NullOutputFormatter.php b/vendor-bundle/symfony/console/Formatter/NullOutputFormatter.php new file mode 100644 index 000000000..40c7a9ad6 --- /dev/null +++ b/vendor-bundle/symfony/console/Formatter/NullOutputFormatter.php @@ -0,0 +1,126 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Formatter; + +/** + * @author Tien Xuan Vo + */ +final class NullOutputFormatter implements OutputFormatterInterface +{ + private $style; + /** + * {@inheritdoc} + */ + public function format($message) + { + if (!\is_null($message)) { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + } + // do nothing + } + /** + * {@inheritdoc} + */ + public function getStyle($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if ($this->style) { + $phabelReturn = $this->style; + if (!$phabelReturn instanceof OutputFormatterStyleInterface) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type OutputFormatterStyleInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = $this->style = new NullOutputFormatterStyle(); + if (!$phabelReturn instanceof OutputFormatterStyleInterface) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type OutputFormatterStyleInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // to comply with the interface we must return a OutputFormatterStyleInterface + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function hasStyle($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function isDecorated() + { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function setDecorated($decorated) + { + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + // do nothing + } + /** + * {@inheritdoc} + */ + public function setStyle($name, OutputFormatterStyleInterface $style) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + // do nothing + } +} diff --git a/vendor-bundle/symfony/console/Formatter/NullOutputFormatterStyle.php b/vendor-bundle/symfony/console/Formatter/NullOutputFormatterStyle.php new file mode 100644 index 000000000..24f2fcb1b --- /dev/null +++ b/vendor-bundle/symfony/console/Formatter/NullOutputFormatterStyle.php @@ -0,0 +1,107 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Formatter; + +/** + * @author Tien Xuan Vo + */ +final class NullOutputFormatterStyle implements OutputFormatterStyleInterface +{ + /** + * {@inheritdoc} + */ + public function apply($text) + { + if (!\is_string($text)) { + if (!(\is_string($text) || \is_object($text) && \method_exists($text, '__toString') || (\is_bool($text) || \is_numeric($text)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($text) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($text) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $text = (string) $text; + } + } + $phabelReturn = $text; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function setBackground($color = null) + { + if (!\is_null($color)) { + if (!\is_string($color)) { + if (!(\is_string($color) || \is_object($color) && \method_exists($color, '__toString') || (\is_bool($color) || \is_numeric($color)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($color) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($color) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $color = (string) $color; + } + } + } + // do nothing + } + /** + * {@inheritdoc} + */ + public function setForeground($color = null) + { + if (!\is_null($color)) { + if (!\is_string($color)) { + if (!(\is_string($color) || \is_object($color) && \method_exists($color, '__toString') || (\is_bool($color) || \is_numeric($color)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($color) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($color) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $color = (string) $color; + } + } + } + // do nothing + } + /** + * {@inheritdoc} + */ + public function setOption($option) + { + if (!\is_string($option)) { + if (!(\is_string($option) || \is_object($option) && \method_exists($option, '__toString') || (\is_bool($option) || \is_numeric($option)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($option) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($option) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $option = (string) $option; + } + } + // do nothing + } + /** + * {@inheritdoc} + */ + public function setOptions(array $options) + { + // do nothing + } + /** + * {@inheritdoc} + */ + public function unsetOption($option) + { + if (!\is_string($option)) { + if (!(\is_string($option) || \is_object($option) && \method_exists($option, '__toString') || (\is_bool($option) || \is_numeric($option)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($option) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($option) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $option = (string) $option; + } + } + // do nothing + } +} diff --git a/vendor-bundle/symfony/console/Formatter/OutputFormatter.php b/vendor-bundle/symfony/console/Formatter/OutputFormatter.php new file mode 100644 index 000000000..358f3f385 --- /dev/null +++ b/vendor-bundle/symfony/console/Formatter/OutputFormatter.php @@ -0,0 +1,398 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Formatter; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +/** + * Formatter class for console output. + * + * @author Konstantin Kudryashov + * @author Roland Franssen + */ +class OutputFormatter implements WrappableOutputFormatterInterface +{ + private $decorated; + private $styles = []; + private $styleStack; + public function __clone() + { + $this->styleStack = clone $this->styleStack; + foreach ($this->styles as $key => $value) { + $this->styles[$key] = clone $value; + } + } + /** + * Escapes "<" special char in given text. + * + * @return string Escaped text + */ + public static function escape($text) + { + if (!\is_string($text)) { + if (!(\is_string($text) || \is_object($text) && \method_exists($text, '__toString') || (\is_bool($text) || \is_numeric($text)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($text) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($text) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $text = (string) $text; + } + } + $text = \preg_replace('/([^\\\\]?) FormatterStyle" instances + */ + public function __construct($decorated = \false, array $styles = []) + { + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + $this->decorated = $decorated; + $this->setStyle('error', new OutputFormatterStyle('white', 'red')); + $this->setStyle('info', new OutputFormatterStyle('green')); + $this->setStyle('comment', new OutputFormatterStyle('yellow')); + $this->setStyle('question', new OutputFormatterStyle('black', 'cyan')); + foreach ($styles as $name => $style) { + $this->setStyle($name, $style); + } + $this->styleStack = new OutputFormatterStyleStack(); + } + /** + * {@inheritdoc} + */ + public function setDecorated($decorated) + { + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + $this->decorated = $decorated; + } + /** + * {@inheritdoc} + */ + public function isDecorated() + { + return $this->decorated; + } + /** + * {@inheritdoc} + */ + public function setStyle($name, OutputFormatterStyleInterface $style) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $this->styles[\strtolower($name)] = $style; + } + /** + * {@inheritdoc} + */ + public function hasStyle($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return isset($this->styles[\strtolower($name)]); + } + /** + * {@inheritdoc} + */ + public function getStyle($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!$this->hasStyle($name)) { + throw new InvalidArgumentException(\sprintf('Undefined style: "%s".', $name)); + } + return $this->styles[\strtolower($name)]; + } + /** + * {@inheritdoc} + */ + public function format($message) + { + if (!\is_null($message)) { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + } + return $this->formatAndWrap($message, 0); + } + /** + * {@inheritdoc} + */ + public function formatAndWrap($message, $width) + { + if (!\is_null($message)) { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + } + if (!\is_int($width)) { + if (!(\is_bool($width) || \is_numeric($width))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($width) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($width) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $width = (int) $width; + } + } + $offset = 0; + $output = ''; + $tagRegex = '[a-z][^<>]*+'; + $currentLineLength = 0; + \preg_match_all("#<(({$tagRegex}) | /({$tagRegex})?)>#ix", $message, $matches, \PREG_OFFSET_CAPTURE); + foreach ($matches[0] as $i => $match) { + $pos = $match[1]; + $text = $match[0]; + if (0 != $pos && '\\' == $message[$pos - 1]) { + continue; + } + // add the text up to the next tag + $output .= $this->applyCurrentStyle(\substr($message, $offset, $pos - $offset), $output, $width, $currentLineLength); + $offset = $pos + \strlen($text); + // opening tag? + if ($open = '/' != $text[1]) { + $tag = $matches[1][$i][0]; + } else { + $tag = isset($matches[3][$i][0]) ? $matches[3][$i][0] : ''; + } + if (!$open && !$tag) { + // + $this->styleStack->pop(); + } elseif (null === ($style = $this->createStyleFromString($tag))) { + $output .= $this->applyCurrentStyle($text, $output, $width, $currentLineLength); + } elseif ($open) { + $this->styleStack->push($style); + } else { + $this->styleStack->pop($style); + } + } + $output .= $this->applyCurrentStyle(\substr($message, $offset), $output, $width, $currentLineLength); + if (\str_contains($output, "\x00")) { + return \strtr($output, ["\x00" => '\\', '\\<' => '<']); + } + return \str_replace('\\<', '<', $output); + } + /** + * @return OutputFormatterStyleStack + */ + public function getStyleStack() + { + return $this->styleStack; + } + /** + * Tries to create new style instance from string. + */ + private function createStyleFromString($string) + { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + if (isset($this->styles[$string])) { + $phabelReturn = $this->styles[$string]; + if (!($phabelReturn instanceof OutputFormatterStyleInterface || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?OutputFormatterStyleInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (!\preg_match_all('/([^=]+)=([^;]+)(;|$)/', $string, $matches, \PREG_SET_ORDER)) { + $phabelReturn = null; + if (!($phabelReturn instanceof OutputFormatterStyleInterface || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?OutputFormatterStyleInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $style = new OutputFormatterStyle(); + foreach ($matches as $match) { + \array_shift($match); + $match[0] = \strtolower($match[0]); + if ('fg' == $match[0]) { + $style->setForeground(\strtolower($match[1])); + } elseif ('bg' == $match[0]) { + $style->setBackground(\strtolower($match[1])); + } elseif ('href' === $match[0]) { + $style->setHref($match[1]); + } elseif ('options' === $match[0]) { + \preg_match_all('([^,;]+)', \strtolower($match[1]), $options); + $options = \array_shift($options); + foreach ($options as $option) { + $style->setOption($option); + } + } else { + $phabelReturn = null; + if (!($phabelReturn instanceof OutputFormatterStyleInterface || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?OutputFormatterStyleInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + } + $phabelReturn = $style; + if (!($phabelReturn instanceof OutputFormatterStyleInterface || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?OutputFormatterStyleInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Applies current style from stack to text, if must be applied. + */ + private function applyCurrentStyle($text, $current, $width, &$currentLineLength) + { + if (!\is_string($text)) { + if (!(\is_string($text) || \is_object($text) && \method_exists($text, '__toString') || (\is_bool($text) || \is_numeric($text)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($text) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($text) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $text = (string) $text; + } + } + if (!\is_string($current)) { + if (!(\is_string($current) || \is_object($current) && \method_exists($current, '__toString') || (\is_bool($current) || \is_numeric($current)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($current) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($current) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $current = (string) $current; + } + } + if (!\is_int($width)) { + if (!(\is_bool($width) || \is_numeric($width))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($width) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($width) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $width = (int) $width; + } + } + if (!\is_int($currentLineLength)) { + if (!(\is_bool($currentLineLength) || \is_numeric($currentLineLength))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($currentLineLength) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($currentLineLength) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $currentLineLength = (int) $currentLineLength; + } + } + if ('' === $text) { + $phabelReturn = ''; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (!$width) { + $phabelReturn = $this->isDecorated() ? $this->styleStack->getCurrent()->apply($text) : $text; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (!$currentLineLength && '' !== $current) { + $text = \ltrim($text); + } + if ($currentLineLength) { + $prefix = \substr($text, 0, $i = $width - $currentLineLength) . "\n"; + $text = \substr($text, $i); + } else { + $prefix = ''; + } + \preg_match('~(\\n)$~', $text, $matches); + $text = $prefix . \preg_replace('~([^\\n]{' . $width . '})\\ *~', "\$1\n", $text); + $text = \rtrim($text, "\n") . (isset($matches[1]) ? $matches[1] : ''); + if (!$currentLineLength && '' !== $current && "\n" !== \substr($current, -1)) { + $text = "\n" . $text; + } + $lines = \explode("\n", $text); + foreach ($lines as $line) { + $currentLineLength += \strlen($line); + if ($width <= $currentLineLength) { + $currentLineLength = 0; + } + } + if ($this->isDecorated()) { + foreach ($lines as $i => $line) { + $lines[$i] = $this->styleStack->getCurrent()->apply($line); + } + } + $phabelReturn = \implode("\n", $lines); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Formatter/OutputFormatterInterface.php b/vendor-bundle/symfony/console/Formatter/OutputFormatterInterface.php new file mode 100644 index 000000000..da701f972 --- /dev/null +++ b/vendor-bundle/symfony/console/Formatter/OutputFormatterInterface.php @@ -0,0 +1,52 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Formatter; + +/** + * Formatter interface for console output. + * + * @author Konstantin Kudryashov + */ +interface OutputFormatterInterface +{ + /** + * Sets the decorated flag. + */ + public function setDecorated($decorated); + /** + * Gets the decorated flag. + * + * @return bool true if the output will decorate messages, false otherwise + */ + public function isDecorated(); + /** + * Sets a new style. + */ + public function setStyle($name, OutputFormatterStyleInterface $style); + /** + * Checks if output formatter has style with specified name. + * + * @return bool + */ + public function hasStyle($name); + /** + * Gets style options from style with specified name. + * + * @return OutputFormatterStyleInterface + * + * @throws \InvalidArgumentException When style isn't defined + */ + public function getStyle($name); + /** + * Formats a message according to the given styles. + */ + public function format($message); +} diff --git a/vendor-bundle/symfony/console/Formatter/OutputFormatterStyle.php b/vendor-bundle/symfony/console/Formatter/OutputFormatterStyle.php new file mode 100644 index 000000000..5a537f859 --- /dev/null +++ b/vendor-bundle/symfony/console/Formatter/OutputFormatterStyle.php @@ -0,0 +1,158 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Formatter; + +use Phabel\Symfony\Component\Console\Color; +/** + * Formatter style class for defining styles. + * + * @author Konstantin Kudryashov + */ +class OutputFormatterStyle implements OutputFormatterStyleInterface +{ + private $color; + private $foreground; + private $background; + private $options; + private $href; + private $handlesHrefGracefully; + /** + * Initializes output formatter style. + * + * @param string|null $foreground The style foreground color name + * @param string|null $background The style background color name + */ + public function __construct($foreground = null, $background = null, array $options = []) + { + if (!\is_null($foreground)) { + if (!\is_string($foreground)) { + if (!(\is_string($foreground) || \is_object($foreground) && \method_exists($foreground, '__toString') || (\is_bool($foreground) || \is_numeric($foreground)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($foreground) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($foreground) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $foreground = (string) $foreground; + } + } + } + if (!\is_null($background)) { + if (!\is_string($background)) { + if (!(\is_string($background) || \is_object($background) && \method_exists($background, '__toString') || (\is_bool($background) || \is_numeric($background)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($background) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($background) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $background = (string) $background; + } + } + } + $this->color = new Color($this->foreground = $foreground ?: '', $this->background = $background ?: '', $this->options = $options); + } + /** + * {@inheritdoc} + */ + public function setForeground($color = null) + { + if (!\is_null($color)) { + if (!\is_string($color)) { + if (!(\is_string($color) || \is_object($color) && \method_exists($color, '__toString') || (\is_bool($color) || \is_numeric($color)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($color) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($color) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $color = (string) $color; + } + } + } + $this->color = new Color($this->foreground = $color ?: '', $this->background, $this->options); + } + /** + * {@inheritdoc} + */ + public function setBackground($color = null) + { + if (!\is_null($color)) { + if (!\is_string($color)) { + if (!(\is_string($color) || \is_object($color) && \method_exists($color, '__toString') || (\is_bool($color) || \is_numeric($color)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($color) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($color) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $color = (string) $color; + } + } + } + $this->color = new Color($this->foreground, $this->background = $color ?: '', $this->options); + } + public function setHref($url) + { + if (!\is_string($url)) { + if (!(\is_string($url) || \is_object($url) && \method_exists($url, '__toString') || (\is_bool($url) || \is_numeric($url)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($url) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($url) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $url = (string) $url; + } + } + $this->href = $url; + } + /** + * {@inheritdoc} + */ + public function setOption($option) + { + if (!\is_string($option)) { + if (!(\is_string($option) || \is_object($option) && \method_exists($option, '__toString') || (\is_bool($option) || \is_numeric($option)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($option) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($option) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $option = (string) $option; + } + } + $this->options[] = $option; + $this->color = new Color($this->foreground, $this->background, $this->options); + } + /** + * {@inheritdoc} + */ + public function unsetOption($option) + { + if (!\is_string($option)) { + if (!(\is_string($option) || \is_object($option) && \method_exists($option, '__toString') || (\is_bool($option) || \is_numeric($option)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($option) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($option) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $option = (string) $option; + } + } + $pos = \array_search($option, $this->options); + if (\false !== $pos) { + unset($this->options[$pos]); + } + $this->color = new Color($this->foreground, $this->background, $this->options); + } + /** + * {@inheritdoc} + */ + public function setOptions(array $options) + { + $this->color = new Color($this->foreground, $this->background, $this->options = $options); + } + /** + * {@inheritdoc} + */ + public function apply($text) + { + if (!\is_string($text)) { + if (!(\is_string($text) || \is_object($text) && \method_exists($text, '__toString') || (\is_bool($text) || \is_numeric($text)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($text) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($text) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $text = (string) $text; + } + } + if (null === $this->handlesHrefGracefully) { + $this->handlesHrefGracefully = 'JetBrains-JediTerm' !== \getenv('TERMINAL_EMULATOR') && (!\getenv('KONSOLE_VERSION') || (int) \getenv('KONSOLE_VERSION') > 201100); + } + if (null !== $this->href && $this->handlesHrefGracefully) { + $text = "\x1b]8;;{$this->href}\x1b\\{$text}\x1b]8;;\x1b\\"; + } + return $this->color->apply($text); + } +} diff --git a/vendor-bundle/symfony/console/Formatter/OutputFormatterStyleInterface.php b/vendor-bundle/symfony/console/Formatter/OutputFormatterStyleInterface.php new file mode 100644 index 000000000..ff8efb583 --- /dev/null +++ b/vendor-bundle/symfony/console/Formatter/OutputFormatterStyleInterface.php @@ -0,0 +1,46 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Formatter; + +/** + * Formatter style interface for defining styles. + * + * @author Konstantin Kudryashov + */ +interface OutputFormatterStyleInterface +{ + /** + * Sets style foreground color. + */ + public function setForeground($color = null); + /** + * Sets style background color. + */ + public function setBackground($color = null); + /** + * Sets some specific style option. + */ + public function setOption($option); + /** + * Unsets some specific style option. + */ + public function unsetOption($option); + /** + * Sets multiple style options at once. + */ + public function setOptions(array $options); + /** + * Applies the style to a given text. + * + * @return string + */ + public function apply($text); +} diff --git a/vendor-bundle/symfony/console/Formatter/OutputFormatterStyleStack.php b/vendor-bundle/symfony/console/Formatter/OutputFormatterStyleStack.php new file mode 100644 index 000000000..470f67759 --- /dev/null +++ b/vendor-bundle/symfony/console/Formatter/OutputFormatterStyleStack.php @@ -0,0 +1,94 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Formatter; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Contracts\Service\ResetInterface; +/** + * @author Jean-François Simon + */ +class OutputFormatterStyleStack implements ResetInterface +{ + /** + * @var OutputFormatterStyleInterface[] + */ + private $styles; + private $emptyStyle; + public function __construct(OutputFormatterStyleInterface $emptyStyle = null) + { + $this->emptyStyle = isset($emptyStyle) ? $emptyStyle : new OutputFormatterStyle(); + $this->reset(); + } + /** + * Resets stack (ie. empty internal arrays). + */ + public function reset() + { + $this->styles = []; + } + /** + * Pushes a style in the stack. + */ + public function push(OutputFormatterStyleInterface $style) + { + $this->styles[] = $style; + } + /** + * Pops a style from the stack. + * + * @return OutputFormatterStyleInterface + * + * @throws InvalidArgumentException When style tags incorrectly nested + */ + public function pop(OutputFormatterStyleInterface $style = null) + { + if (empty($this->styles)) { + return $this->emptyStyle; + } + if (null === $style) { + return \array_pop($this->styles); + } + foreach (\array_reverse($this->styles, \true) as $index => $stackedStyle) { + if ($style->apply('') === $stackedStyle->apply('')) { + $this->styles = \array_slice($this->styles, 0, $index); + return $stackedStyle; + } + } + throw new InvalidArgumentException('Incorrectly nested style tag found.'); + } + /** + * Computes current style with stacks top codes. + * + * @return OutputFormatterStyle + */ + public function getCurrent() + { + if (empty($this->styles)) { + return $this->emptyStyle; + } + return $this->styles[\count($this->styles) - 1]; + } + /** + * @return $this + */ + public function setEmptyStyle(OutputFormatterStyleInterface $emptyStyle) + { + $this->emptyStyle = $emptyStyle; + return $this; + } + /** + * @return OutputFormatterStyleInterface + */ + public function getEmptyStyle() + { + return $this->emptyStyle; + } +} diff --git a/vendor-bundle/symfony/console/Formatter/WrappableOutputFormatterInterface.php b/vendor-bundle/symfony/console/Formatter/WrappableOutputFormatterInterface.php new file mode 100644 index 000000000..2643728af --- /dev/null +++ b/vendor-bundle/symfony/console/Formatter/WrappableOutputFormatterInterface.php @@ -0,0 +1,24 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Formatter; + +/** + * Formatter interface for console output that supports word wrapping. + * + * @author Roland Franssen + */ +interface WrappableOutputFormatterInterface extends OutputFormatterInterface +{ + /** + * Formats a message according to the given styles, wrapping at `$width` (0 means no wrapping). + */ + public function formatAndWrap($message, $width); +} diff --git a/vendor-bundle/symfony/console/Helper/DebugFormatterHelper.php b/vendor-bundle/symfony/console/Helper/DebugFormatterHelper.php new file mode 100644 index 000000000..8741092cc --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/DebugFormatterHelper.php @@ -0,0 +1,191 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +/** + * Helps outputting debug information when running an external program from a command. + * + * An external program can be a Process, an HTTP request, or anything else. + * + * @author Fabien Potencier + */ +class DebugFormatterHelper extends Helper +{ + private $colors = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white', 'default']; + private $started = []; + private $count = -1; + /** + * Starts a debug formatting session. + * + * @return string + */ + public function start($id, $message, $prefix = 'RUN') + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_string($prefix)) { + if (!(\is_string($prefix) || \is_object($prefix) && \method_exists($prefix, '__toString') || (\is_bool($prefix) || \is_numeric($prefix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($prefix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $prefix = (string) $prefix; + } + } + $this->started[$id] = ['border' => ++$this->count % \count($this->colors)]; + return \sprintf("%s %s %s\n", $this->getBorder($id), $prefix, $message); + } + /** + * Adds progress to a formatting session. + * + * @return string + */ + public function progress($id, $buffer, $error = \false, $prefix = 'OUT', $errorPrefix = 'ERR') + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + if (!\is_string($buffer)) { + if (!(\is_string($buffer) || \is_object($buffer) && \method_exists($buffer, '__toString') || (\is_bool($buffer) || \is_numeric($buffer)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($buffer) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($buffer) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $buffer = (string) $buffer; + } + } + if (!\is_bool($error)) { + if (!(\is_bool($error) || \is_numeric($error) || \is_string($error))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($error) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($error) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $error = (bool) $error; + } + } + if (!\is_string($prefix)) { + if (!(\is_string($prefix) || \is_object($prefix) && \method_exists($prefix, '__toString') || (\is_bool($prefix) || \is_numeric($prefix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($prefix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $prefix = (string) $prefix; + } + } + if (!\is_string($errorPrefix)) { + if (!(\is_string($errorPrefix) || \is_object($errorPrefix) && \method_exists($errorPrefix, '__toString') || (\is_bool($errorPrefix) || \is_numeric($errorPrefix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($errorPrefix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errorPrefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $errorPrefix = (string) $errorPrefix; + } + } + $message = ''; + if ($error) { + if (isset($this->started[$id]['out'])) { + $message .= "\n"; + unset($this->started[$id]['out']); + } + if (!isset($this->started[$id]['err'])) { + $message .= \sprintf('%s %s ', $this->getBorder($id), $errorPrefix); + $this->started[$id]['err'] = \true; + } + $message .= \str_replace("\n", \sprintf("\n%s %s ", $this->getBorder($id), $errorPrefix), $buffer); + } else { + if (isset($this->started[$id]['err'])) { + $message .= "\n"; + unset($this->started[$id]['err']); + } + if (!isset($this->started[$id]['out'])) { + $message .= \sprintf('%s %s ', $this->getBorder($id), $prefix); + $this->started[$id]['out'] = \true; + } + $message .= \str_replace("\n", \sprintf("\n%s %s ", $this->getBorder($id), $prefix), $buffer); + } + return $message; + } + /** + * Stops a formatting session. + * + * @return string + */ + public function stop($id, $message, $successful, $prefix = 'RES') + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_bool($successful)) { + if (!(\is_bool($successful) || \is_numeric($successful) || \is_string($successful))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($successful) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($successful) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $successful = (bool) $successful; + } + } + if (!\is_string($prefix)) { + if (!(\is_string($prefix) || \is_object($prefix) && \method_exists($prefix, '__toString') || (\is_bool($prefix) || \is_numeric($prefix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($prefix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $prefix = (string) $prefix; + } + } + $trailingEOL = isset($this->started[$id]['out']) || isset($this->started[$id]['err']) ? "\n" : ''; + if ($successful) { + return \sprintf("%s%s %s %s\n", $trailingEOL, $this->getBorder($id), $prefix, $message); + } + $message = \sprintf("%s%s %s %s\n", $trailingEOL, $this->getBorder($id), $prefix, $message); + unset($this->started[$id]['out'], $this->started[$id]['err']); + return $message; + } + private function getBorder($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + $phabelReturn = \sprintf(' ', $this->colors[$this->started[$id]['border']]); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getName() + { + return 'debug_formatter'; + } +} diff --git a/vendor-bundle/symfony/console/Helper/DescriptorHelper.php b/vendor-bundle/symfony/console/Helper/DescriptorHelper.php new file mode 100644 index 000000000..706c08384 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/DescriptorHelper.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Descriptor\DescriptorInterface; +use Phabel\Symfony\Component\Console\Descriptor\JsonDescriptor; +use Phabel\Symfony\Component\Console\Descriptor\MarkdownDescriptor; +use Phabel\Symfony\Component\Console\Descriptor\TextDescriptor; +use Phabel\Symfony\Component\Console\Descriptor\XmlDescriptor; +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * This class adds helper method to describe objects in various formats. + * + * @author Jean-François Simon + */ +class DescriptorHelper extends Helper +{ + /** + * @var DescriptorInterface[] + */ + private $descriptors = []; + public function __construct() + { + $this->register('txt', new TextDescriptor())->register('xml', new XmlDescriptor())->register('json', new JsonDescriptor())->register('md', new MarkdownDescriptor()); + } + /** + * Describes an object if supported. + * + * Available options are: + * * format: string, the output format name + * * raw_text: boolean, sets output type as raw + * + * @throws InvalidArgumentException when the given format is not supported + */ + public function describe(OutputInterface $output, $object, array $options = []) + { + if (!(\is_object($object) || \is_null($object))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($object) must be of type ?object, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($object) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $options = \array_merge(['raw_text' => \false, 'format' => 'txt'], $options); + if (!isset($this->descriptors[$options['format']])) { + throw new InvalidArgumentException(\sprintf('Unsupported format "%s".', $options['format'])); + } + $descriptor = $this->descriptors[$options['format']]; + $descriptor->describe($output, $object, $options); + } + /** + * Registers a descriptor. + * + * @return $this + */ + public function register($format, DescriptorInterface $descriptor) + { + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $format = (string) $format; + } + } + $this->descriptors[$format] = $descriptor; + return $this; + } + /** + * {@inheritdoc} + */ + public function getName() + { + return 'descriptor'; + } +} diff --git a/vendor-bundle/symfony/console/Helper/Dumper.php b/vendor-bundle/symfony/console/Helper/Dumper.php new file mode 100644 index 000000000..61351b34e --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/Dumper.php @@ -0,0 +1,116 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Component\VarDumper\Cloner\ClonerInterface; +use Phabel\Symfony\Component\VarDumper\Cloner\VarCloner; +use Phabel\Symfony\Component\VarDumper\Dumper\CliDumper; +/** + * @author Roland Franssen + */ +final class Dumper +{ + private $output; + private $dumper; + private $cloner; + private $handler; + public function __construct(OutputInterface $output, CliDumper $dumper = null, ClonerInterface $cloner = null) + { + $this->output = $output; + $this->dumper = $dumper; + $this->cloner = $cloner; + if (\class_exists(CliDumper::class)) { + $this->handler = function ($var) { + $dumper = isset($this->dumper) ? $this->dumper : ($this->dumper = new CliDumper(null, null, CliDumper::DUMP_LIGHT_ARRAY | CliDumper::DUMP_COMMA_SEPARATOR)); + $dumper->setColors($this->output->isDecorated()); + $phabelReturn = \rtrim($dumper->dump(\Phabel\Plugin\NestedExpressionFixer::returnMe(isset($this->cloner) ? $this->cloner : ($this->cloner = new VarCloner()))->cloneVar($var)->withRefHandles(\false), \true)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + }; + } else { + $this->handler = function ($var) { + switch (\true) { + case null === $var: + $phabelReturn = 'null'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \true === $var: + $phabelReturn = 'true'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \false === $var: + $phabelReturn = 'false'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \is_string($var): + $phabelReturn = '"' . $var . '"'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + default: + $phabelReturn = \rtrim(\print_r($var, \true)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + }; + } + } + public function __invoke($var) + { + $phabel_14a91fe07c519d84 = $this->handler; + $phabelReturn = $phabel_14a91fe07c519d84($var); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Helper/FormatterHelper.php b/vendor-bundle/symfony/console/Helper/FormatterHelper.php new file mode 100644 index 000000000..5ee4b1833 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/FormatterHelper.php @@ -0,0 +1,137 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Formatter\OutputFormatter; +/** + * The Formatter class provides helpers to format messages. + * + * @author Fabien Potencier + */ +class FormatterHelper extends Helper +{ + /** + * Formats a message within a section. + * + * @return string The format section + */ + public function formatSection($section, $message, $style = 'info') + { + if (!\is_string($section)) { + if (!(\is_string($section) || \is_object($section) && \method_exists($section, '__toString') || (\is_bool($section) || \is_numeric($section)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($section) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($section) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $section = (string) $section; + } + } + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_string($style)) { + if (!(\is_string($style) || \is_object($style) && \method_exists($style, '__toString') || (\is_bool($style) || \is_numeric($style)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($style) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($style) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $style = (string) $style; + } + } + return \sprintf('<%s>[%s] %s', $style, $section, $style, $message); + } + /** + * Formats a message as a block of text. + * + * @param string|array $messages The message to write in the block + * + * @return string The formatter message + */ + public function formatBlock($messages, $style, $large = \false) + { + if (!\is_string($style)) { + if (!(\is_string($style) || \is_object($style) && \method_exists($style, '__toString') || (\is_bool($style) || \is_numeric($style)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($style) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($style) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $style = (string) $style; + } + } + if (!\is_bool($large)) { + if (!(\is_bool($large) || \is_numeric($large) || \is_string($large))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($large) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($large) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $large = (bool) $large; + } + } + if (!\is_array($messages)) { + $messages = [$messages]; + } + $len = 0; + $lines = []; + foreach ($messages as $message) { + $message = OutputFormatter::escape($message); + $lines[] = \sprintf($large ? ' %s ' : ' %s ', $message); + $len = \max(self::width($message) + ($large ? 4 : 2), $len); + } + $messages = $large ? [\str_repeat(' ', $len)] : []; + for ($i = 0; isset($lines[$i]); ++$i) { + $messages[] = $lines[$i] . \str_repeat(' ', $len - self::width($lines[$i])); + } + if ($large) { + $messages[] = \str_repeat(' ', $len); + } + for ($i = 0; isset($messages[$i]); ++$i) { + $messages[$i] = \sprintf('<%s>%s', $style, $messages[$i], $style); + } + return \implode("\n", $messages); + } + /** + * Truncates a message to the given length. + * + * @return string + */ + public function truncate($message, $length, $suffix = '...') + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (!\is_string($suffix)) { + if (!(\is_string($suffix) || \is_object($suffix) && \method_exists($suffix, '__toString') || (\is_bool($suffix) || \is_numeric($suffix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($suffix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($suffix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $suffix = (string) $suffix; + } + } + $computedLength = $length - self::width($suffix); + if ($computedLength > self::width($message)) { + return $message; + } + return self::substr($message, 0, $length) . $suffix; + } + /** + * {@inheritdoc} + */ + public function getName() + { + return 'formatter'; + } +} diff --git a/vendor-bundle/symfony/console/Helper/Helper.php b/vendor-bundle/symfony/console/Helper/Helper.php new file mode 100644 index 000000000..0248ff622 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/Helper.php @@ -0,0 +1,263 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterInterface; +use Phabel\Symfony\Component\String\UnicodeString; +/** + * Helper is the base class for all helper classes. + * + * @author Fabien Potencier + */ +abstract class Helper implements HelperInterface +{ + protected $helperSet = null; + /** + * {@inheritdoc} + */ + public function setHelperSet(HelperSet $helperSet = null) + { + $this->helperSet = $helperSet; + } + /** + * {@inheritdoc} + */ + public function getHelperSet() + { + return $this->helperSet; + } + /** + * Returns the length of a string, using mb_strwidth if it is available. + * + * @deprecated since 5.3 + * + * @return int The length of the string + */ + public static function strlen($string) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + trigger_deprecation('symfony/console', '5.3', 'Method "%s()" is deprecated and will be removed in Symfony 6.0. Use Helper::width() or Helper::length() instead.', __METHOD__); + return self::width($string); + } + /** + * Returns the width of a string, using mb_strwidth if it is available. + * The width is how many characters positions the string will use. + */ + public static function width($string) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + isset($string) ? $string : ($string = ''); + if (\preg_match('//u', $string)) { + $phabelReturn = (new UnicodeString($string))->width(\false); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + if (\false === ($encoding = \mb_detect_encoding($string, null, \true))) { + $phabelReturn = \strlen($string); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \mb_strwidth($string, $encoding); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns the length of a string, using mb_strlen if it is available. + * The length is related to how many bytes the string will use. + */ + public static function length($string) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + isset($string) ? $string : ($string = ''); + if (\preg_match('//u', $string)) { + $phabelReturn = (new UnicodeString($string))->length(); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + if (\false === ($encoding = \mb_detect_encoding($string, null, \true))) { + $phabelReturn = \strlen($string); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \mb_strlen($string, $encoding); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns the subset of a string, using mb_substr if it is available. + * + * @return string The string subset + */ + public static function substr($string, $from, $length = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_int($from)) { + if (!(\is_bool($from) || \is_numeric($from))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($from) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($from) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $from = (int) $from; + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + isset($string) ? $string : ($string = ''); + if (\false === ($encoding = \mb_detect_encoding($string, null, \true))) { + return \substr($string, $from, $length); + } + return \mb_substr($string, $from, $length, $encoding); + } + public static function formatTime($secs) + { + static $timeFormats = [[0, '< 1 sec'], [1, '1 sec'], [2, 'secs', 1], [60, '1 min'], [120, 'mins', 60], [3600, '1 hr'], [7200, 'hrs', 3600], [86400, '1 day'], [172800, 'days', 86400]]; + foreach ($timeFormats as $index => $format) { + if ($secs >= $format[0]) { + if (isset($timeFormats[$index + 1]) && $secs < $timeFormats[$index + 1][0] || $index == \count($timeFormats) - 1) { + if (2 == \count($format)) { + return $format[1]; + } + return \floor($secs / $format[2]) . ' ' . $format[1]; + } + } + } + } + public static function formatMemory($memory) + { + if (!\is_int($memory)) { + if (!(\is_bool($memory) || \is_numeric($memory))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($memory) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($memory) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $memory = (int) $memory; + } + } + if ($memory >= 1024 * 1024 * 1024) { + return \sprintf('%.1f GiB', $memory / 1024 / 1024 / 1024); + } + if ($memory >= 1024 * 1024) { + return \sprintf('%.1f MiB', $memory / 1024 / 1024); + } + if ($memory >= 1024) { + return \sprintf('%d KiB', $memory / 1024); + } + return \sprintf('%d B', $memory); + } + /** + * @deprecated since 5.3 + */ + public static function strlenWithoutDecoration(OutputFormatterInterface $formatter, $string) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + trigger_deprecation('symfony/console', '5.3', 'Method "%s()" is deprecated and will be removed in Symfony 6.0. Use Helper::removeDecoration() instead.', __METHOD__); + return self::width(self::removeDecoration($formatter, $string)); + } + public static function removeDecoration(OutputFormatterInterface $formatter, $string) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + $isDecorated = $formatter->isDecorated(); + $formatter->setDecorated(\false); + // remove <...> formatting + $string = $formatter->format(isset($string) ? $string : ''); + // remove already formatted characters + $string = \preg_replace("/\x1b\\[[^m]*m/", '', $string); + $formatter->setDecorated($isDecorated); + return $string; + } +} diff --git a/vendor-bundle/symfony/console/Helper/HelperInterface.php b/vendor-bundle/symfony/console/Helper/HelperInterface.php new file mode 100644 index 000000000..d52dee5a9 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/HelperInterface.php @@ -0,0 +1,36 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +/** + * HelperInterface is the interface all helpers must implement. + * + * @author Fabien Potencier + */ +interface HelperInterface +{ + /** + * Sets the helper set associated with this helper. + */ + public function setHelperSet(HelperSet $helperSet = null); + /** + * Gets the helper set associated with this helper. + * + * @return HelperSet A HelperSet instance + */ + public function getHelperSet(); + /** + * Returns the canonical name of this helper. + * + * @return string The canonical name + */ + public function getName(); +} diff --git a/vendor-bundle/symfony/console/Helper/HelperSet.php b/vendor-bundle/symfony/console/Helper/HelperSet.php new file mode 100644 index 000000000..ae0e0f91f --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/HelperSet.php @@ -0,0 +1,110 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +/** + * HelperSet represents a set of helpers to be used with a command. + * + * @author Fabien Potencier + */ +class HelperSet implements \IteratorAggregate +{ + /** + * @var Helper[] + */ + private $helpers = []; + private $command; + /** + * @param Helper[] $helpers An array of helper + */ + public function __construct(array $helpers = []) + { + foreach ($helpers as $alias => $helper) { + $this->set($helper, \is_int($alias) ? null : $alias); + } + } + public function set(HelperInterface $helper, $alias = null) + { + if (!\is_null($alias)) { + if (!\is_string($alias)) { + if (!(\is_string($alias) || \is_object($alias) && \method_exists($alias, '__toString') || (\is_bool($alias) || \is_numeric($alias)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($alias) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($alias) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $alias = (string) $alias; + } + } + } + $this->helpers[$helper->getName()] = $helper; + if (null !== $alias) { + $this->helpers[$alias] = $helper; + } + $helper->setHelperSet($this); + } + /** + * Returns true if the helper if defined. + * + * @return bool true if the helper is defined, false otherwise + */ + public function has($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return isset($this->helpers[$name]); + } + /** + * Gets a helper value. + * + * @return HelperInterface The helper instance + * + * @throws InvalidArgumentException if the helper is not defined + */ + public function get($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!$this->has($name)) { + throw new InvalidArgumentException(\sprintf('The helper "%s" is not defined.', $name)); + } + return $this->helpers[$name]; + } + public function setCommand(Command $command = null) + { + $this->command = $command; + } + /** + * Gets the command associated with this helper set. + * + * @return Command A Command instance + */ + public function getCommand() + { + return $this->command; + } + /** + * @return Helper[] + */ + public function getIterator() + { + return new \ArrayIterator($this->helpers); + } +} diff --git a/vendor-bundle/symfony/console/Helper/InputAwareHelper.php b/vendor-bundle/symfony/console/Helper/InputAwareHelper.php new file mode 100644 index 000000000..ca6b788cc --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/InputAwareHelper.php @@ -0,0 +1,30 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Input\InputAwareInterface; +use Phabel\Symfony\Component\Console\Input\InputInterface; +/** + * An implementation of InputAwareInterface for Helpers. + * + * @author Wouter J + */ +abstract class InputAwareHelper extends Helper implements InputAwareInterface +{ + protected $input; + /** + * {@inheritdoc} + */ + public function setInput(InputInterface $input) + { + $this->input = $input; + } +} diff --git a/vendor-bundle/symfony/console/Helper/ProcessHelper.php b/vendor-bundle/symfony/console/Helper/ProcessHelper.php new file mode 100644 index 000000000..f78dd2357 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/ProcessHelper.php @@ -0,0 +1,186 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Output\ConsoleOutputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Component\Process\Exception\ProcessFailedException; +use Phabel\Symfony\Component\Process\Process; +/** + * The ProcessHelper class provides helpers to run external processes. + * + * @author Fabien Potencier + * + * @final + */ +class ProcessHelper extends Helper +{ + /** + * Runs an external process. + * + * @param array|Process $cmd An instance of Process or an array of the command and arguments + * @param callable|null $callback A PHP callback to run whenever there is some + * output available on STDOUT or STDERR + * + * @return Process The process that ran + */ + public function run(OutputInterface $output, $cmd, $error = null, callable $callback = null, $verbosity = OutputInterface::VERBOSITY_VERY_VERBOSE) + { + if (!\is_null($error)) { + if (!\is_string($error)) { + if (!(\is_string($error) || \is_object($error) && \method_exists($error, '__toString') || (\is_bool($error) || \is_numeric($error)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($error) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($error) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $error = (string) $error; + } + } + } + if (!\is_int($verbosity)) { + if (!(\is_bool($verbosity) || \is_numeric($verbosity))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($verbosity) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($verbosity) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $verbosity = (int) $verbosity; + } + } + if (!\class_exists(Process::class)) { + throw new \LogicException('The ProcessHelper cannot be run as the Process component is not installed. Try running "compose require symfony/process".'); + } + if ($output instanceof ConsoleOutputInterface) { + $output = $output->getErrorOutput(); + } + $formatter = $this->getHelperSet()->get('debug_formatter'); + if ($cmd instanceof Process) { + $cmd = [$cmd]; + } + if (!\is_array($cmd)) { + throw new \TypeError(\sprintf('The "command" argument of "%s()" must be an array or a "%s" instance, "%s" given.', __METHOD__, Process::class, \get_debug_type($cmd))); + } + if (\is_string(isset($cmd[0]) ? $cmd[0] : null)) { + $process = new Process($cmd); + $cmd = []; + } elseif ((isset($cmd[0]) ? $cmd[0] : null) instanceof Process) { + $process = $cmd[0]; + unset($cmd[0]); + } else { + throw new \InvalidArgumentException(\sprintf('Invalid command provided to "%s()": the command should be an array whose first element is either the path to the binary to run or a "Process" object.', __METHOD__)); + } + if ($verbosity <= $output->getVerbosity()) { + $output->write($formatter->start(\spl_object_hash($process), $this->escapeString($process->getCommandLine()))); + } + if ($output->isDebug()) { + $callback = $this->wrapCallback($output, $process, $callback); + } + $process->run($callback, $cmd); + if ($verbosity <= $output->getVerbosity()) { + $message = $process->isSuccessful() ? 'Command ran successfully' : \sprintf('%s Command did not run successfully', $process->getExitCode()); + $output->write($formatter->stop(\spl_object_hash($process), $message, $process->isSuccessful())); + } + if (!$process->isSuccessful() && null !== $error) { + $output->writeln(\sprintf('%s', $this->escapeString($error))); + } + $phabelReturn = $process; + if (!$phabelReturn instanceof Process) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Process, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Runs the process. + * + * This is identical to run() except that an exception is thrown if the process + * exits with a non-zero exit code. + * + * @param string|Process $cmd An instance of Process or a command to run + * @param callable|null $callback A PHP callback to run whenever there is some + * output available on STDOUT or STDERR + * + * @return Process The process that ran + * + * @throws ProcessFailedException + * + * @see run() + */ + public function mustRun(OutputInterface $output, $cmd, $error = null, callable $callback = null) + { + if (!\is_null($error)) { + if (!\is_string($error)) { + if (!(\is_string($error) || \is_object($error) && \method_exists($error, '__toString') || (\is_bool($error) || \is_numeric($error)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($error) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($error) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $error = (string) $error; + } + } + } + $process = $this->run($output, $cmd, $error, $callback); + if (!$process->isSuccessful()) { + throw new ProcessFailedException($process); + } + $phabelReturn = $process; + if (!$phabelReturn instanceof Process) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Process, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Wraps a Process callback to add debugging output. + */ + public function wrapCallback(OutputInterface $output, Process $process, callable $callback = null) + { + if ($output instanceof ConsoleOutputInterface) { + $output = $output->getErrorOutput(); + } + $formatter = $this->getHelperSet()->get('debug_formatter'); + $phabelReturn = function ($type, $buffer) use($output, $process, $callback, $formatter) { + $output->write($formatter->progress(\spl_object_hash($process), $this->escapeString($buffer), Process::ERR === $type)); + if (null !== $callback) { + $callback($type, $buffer); + } + }; + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function escapeString($str) + { + if (!\is_string($str)) { + if (!(\is_string($str) || \is_object($str) && \method_exists($str, '__toString') || (\is_bool($str) || \is_numeric($str)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($str) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($str) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $str = (string) $str; + } + } + $phabelReturn = \str_replace('<', '\\<', $str); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getName() + { + $phabelReturn = 'process'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Helper/ProgressBar.php b/vendor-bundle/symfony/console/Helper/ProgressBar.php new file mode 100644 index 000000000..603e34e95 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/ProgressBar.php @@ -0,0 +1,887 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Cursor; +use Phabel\Symfony\Component\Console\Exception\LogicException; +use Phabel\Symfony\Component\Console\Output\ConsoleOutputInterface; +use Phabel\Symfony\Component\Console\Output\ConsoleSectionOutput; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Component\Console\Terminal; +/** + * The ProgressBar provides helpers to display progress output. + * + * @author Fabien Potencier + * @author Chris Jones + */ +final class ProgressBar +{ + const FORMAT_VERBOSE = 'verbose'; + const FORMAT_VERY_VERBOSE = 'very_verbose'; + const FORMAT_DEBUG = 'debug'; + const FORMAT_NORMAL = 'normal'; + const FORMAT_VERBOSE_NOMAX = 'verbose_nomax'; + const FORMAT_VERY_VERBOSE_NOMAX = 'very_verbose_nomax'; + const FORMAT_DEBUG_NOMAX = 'debug_nomax'; + const FORMAT_NORMAL_NOMAX = 'normal_nomax'; + private $barWidth = 28; + private $barChar; + private $emptyBarChar = '-'; + private $progressChar = '>'; + private $format; + private $internalFormat; + private $redrawFreq = 1; + private $writeCount; + private $lastWriteTime; + private $minSecondsBetweenRedraws = 0; + private $maxSecondsBetweenRedraws = 1; + private $output; + private $step = 0; + private $max; + private $startTime; + private $stepWidth; + private $percent = 0.0; + private $formatLineCount; + private $messages = []; + private $overwrite = \true; + private $terminal; + private $previousMessage; + private $cursor; + private static $formatters; + private static $formats; + /** + * @param int $max Maximum steps (0 if unknown) + */ + public function __construct(OutputInterface $output, $max = 0, $minSecondsBetweenRedraws = 1 / 25) + { + if (!\is_int($max)) { + if (!(\is_bool($max) || \is_numeric($max))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($max) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $max = (int) $max; + } + } + if (!\is_float($minSecondsBetweenRedraws)) { + if (!(\is_bool($minSecondsBetweenRedraws) || \is_numeric($minSecondsBetweenRedraws))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($minSecondsBetweenRedraws) must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($minSecondsBetweenRedraws) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $minSecondsBetweenRedraws = (double) $minSecondsBetweenRedraws; + } + } + if ($output instanceof ConsoleOutputInterface) { + $output = $output->getErrorOutput(); + } + $this->output = $output; + $this->setMaxSteps($max); + $this->terminal = new Terminal(); + if (0 < $minSecondsBetweenRedraws) { + $this->redrawFreq = null; + $this->minSecondsBetweenRedraws = $minSecondsBetweenRedraws; + } + if (!$this->output->isDecorated()) { + // disable overwrite when output does not support ANSI codes. + $this->overwrite = \false; + // set a reasonable redraw frequency so output isn't flooded + $this->redrawFreq = null; + } + $this->startTime = \time(); + $this->cursor = new Cursor($output); + } + /** + * Sets a placeholder formatter for a given name. + * + * This method also allow you to override an existing placeholder. + * + * @param string $name The placeholder name (including the delimiter char like %) + * @param callable $callable A PHP callable + */ + public static function setPlaceholderFormatterDefinition($name, callable $callable) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!self::$formatters) { + self::$formatters = self::initPlaceholderFormatters(); + } + self::$formatters[$name] = $callable; + } + /** + * Gets the placeholder formatter for a given name. + * + * @param string $name The placeholder name (including the delimiter char like %) + * + * @return callable|null A PHP callable + */ + public static function getPlaceholderFormatterDefinition($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!self::$formatters) { + self::$formatters = self::initPlaceholderFormatters(); + } + $phabelReturn = isset(self::$formatters[$name]) ? self::$formatters[$name] : null; + if (!(\is_callable($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets a format for a given name. + * + * This method also allow you to override an existing format. + * + * @param string $name The format name + * @param string $format A format string + */ + public static function setFormatDefinition($name, $format) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $format = (string) $format; + } + } + if (!self::$formats) { + self::$formats = self::initFormats(); + } + self::$formats[$name] = $format; + } + /** + * Gets the format for a given name. + * + * @param string $name The format name + * + * @return string|null A format string + */ + public static function getFormatDefinition($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!self::$formats) { + self::$formats = self::initFormats(); + } + $phabelReturn = isset(self::$formats[$name]) ? self::$formats[$name] : null; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } + /** + * Associates a text with a named placeholder. + * + * The text is displayed when the progress bar is rendered but only + * when the corresponding placeholder is part of the custom format line + * (by wrapping the name with %). + * + * @param string $message The text to associate with the placeholder + * @param string $name The name of the placeholder + */ + public function setMessage($message, $name = 'message') + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $this->messages[$name] = $message; + } + public function getMessage($name = 'message') + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return $this->messages[$name]; + } + public function getStartTime() + { + $phabelReturn = $this->startTime; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + public function getMaxSteps() + { + $phabelReturn = $this->max; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + public function getProgress() + { + $phabelReturn = $this->step; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + private function getStepWidth() + { + $phabelReturn = $this->stepWidth; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + public function getProgressPercent() + { + $phabelReturn = $this->percent; + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + public function getBarOffset() + { + $phabelReturn = \floor($this->max ? $this->percent * $this->barWidth : (null === $this->redrawFreq ? (int) (\min(5, $this->barWidth / 15) * $this->writeCount) : $this->step) % $this->barWidth); + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + public function getEstimated() + { + if (!$this->step) { + $phabelReturn = 0; + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \round((\time() - $this->startTime) / $this->step * $this->max); + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + public function getRemaining() + { + if (!$this->step) { + $phabelReturn = 0; + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \round((\time() - $this->startTime) / $this->step * ($this->max - $this->step)); + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + public function setBarWidth($size) + { + if (!\is_int($size)) { + if (!(\is_bool($size) || \is_numeric($size))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($size) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($size) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $size = (int) $size; + } + } + $this->barWidth = \max(1, $size); + } + public function getBarWidth() + { + $phabelReturn = $this->barWidth; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + public function setBarCharacter($char) + { + if (!\is_string($char)) { + if (!(\is_string($char) || \is_object($char) && \method_exists($char, '__toString') || (\is_bool($char) || \is_numeric($char)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($char) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($char) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $char = (string) $char; + } + } + $this->barChar = $char; + } + public function getBarCharacter() + { + if (null === $this->barChar) { + $phabelReturn = $this->max ? '=' : $this->emptyBarChar; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $this->barChar; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function setEmptyBarCharacter($char) + { + if (!\is_string($char)) { + if (!(\is_string($char) || \is_object($char) && \method_exists($char, '__toString') || (\is_bool($char) || \is_numeric($char)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($char) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($char) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $char = (string) $char; + } + } + $this->emptyBarChar = $char; + } + public function getEmptyBarCharacter() + { + $phabelReturn = $this->emptyBarChar; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function setProgressCharacter($char) + { + if (!\is_string($char)) { + if (!(\is_string($char) || \is_object($char) && \method_exists($char, '__toString') || (\is_bool($char) || \is_numeric($char)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($char) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($char) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $char = (string) $char; + } + } + $this->progressChar = $char; + } + public function getProgressCharacter() + { + $phabelReturn = $this->progressChar; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function setFormat($format) + { + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $format = (string) $format; + } + } + $this->format = null; + $this->internalFormat = $format; + } + /** + * Sets the redraw frequency. + * + * @param int|null $freq The frequency in steps + */ + public function setRedrawFrequency($freq) + { + if (!\is_null($freq)) { + if (!\is_int($freq)) { + if (!(\is_bool($freq) || \is_numeric($freq))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($freq) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($freq) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $freq = (int) $freq; + } + } + } + $this->redrawFreq = null !== $freq ? \max(1, $freq) : null; + } + public function minSecondsBetweenRedraws($seconds) + { + if (!\is_float($seconds)) { + if (!(\is_bool($seconds) || \is_numeric($seconds))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($seconds) must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($seconds) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $seconds = (double) $seconds; + } + } + $this->minSecondsBetweenRedraws = $seconds; + } + public function maxSecondsBetweenRedraws($seconds) + { + if (!\is_float($seconds)) { + if (!(\is_bool($seconds) || \is_numeric($seconds))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($seconds) must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($seconds) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $seconds = (double) $seconds; + } + } + $this->maxSecondsBetweenRedraws = $seconds; + } + /** + * Returns an iterator that will automatically update the progress bar when iterated. + * + * @param int|null $max Number of steps to complete the bar (0 if indeterminate), if null it will be inferred from $iterable + */ + public function iterate($iterable, $max = null) + { + if (!(\is_array($iterable) || $iterable instanceof \Traversable)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($iterable) must be of type iterable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($iterable) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_null($max)) { + if (!\is_int($max)) { + if (!(\is_bool($max) || \is_numeric($max))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($max) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $max = (int) $max; + } + } + } + $this->start(isset($max) ? $max : (\is_countable($iterable) ? \count($iterable) : 0)); + foreach ($iterable as $key => $value) { + (yield $key => $value); + $this->advance(); + } + $this->finish(); + } + /** + * Starts the progress output. + * + * @param int|null $max Number of steps to complete the bar (0 if indeterminate), null to leave unchanged + */ + public function start($max = null) + { + if (!\is_null($max)) { + if (!\is_int($max)) { + if (!(\is_bool($max) || \is_numeric($max))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($max) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $max = (int) $max; + } + } + } + $this->startTime = \time(); + $this->step = 0; + $this->percent = 0.0; + if (null !== $max) { + $this->setMaxSteps($max); + } + $this->display(); + } + /** + * Advances the progress output X steps. + * + * @param int $step Number of steps to advance + */ + public function advance($step = 1) + { + if (!\is_int($step)) { + if (!(\is_bool($step) || \is_numeric($step))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($step) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($step) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $step = (int) $step; + } + } + $this->setProgress($this->step + $step); + } + /** + * Sets whether to overwrite the progressbar, false for new line. + */ + public function setOverwrite($overwrite) + { + if (!\is_bool($overwrite)) { + if (!(\is_bool($overwrite) || \is_numeric($overwrite) || \is_string($overwrite))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($overwrite) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($overwrite) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $overwrite = (bool) $overwrite; + } + } + $this->overwrite = $overwrite; + } + public function setProgress($step) + { + if (!\is_int($step)) { + if (!(\is_bool($step) || \is_numeric($step))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($step) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($step) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $step = (int) $step; + } + } + if ($this->max && $step > $this->max) { + $this->max = $step; + } elseif ($step < 0) { + $step = 0; + } + $redrawFreq = isset($this->redrawFreq) ? $this->redrawFreq : ($this->max ?: 10) / 10; + $prevPeriod = (int) ($this->step / $redrawFreq); + $currPeriod = (int) ($step / $redrawFreq); + $this->step = $step; + $this->percent = $this->max ? (float) $this->step / $this->max : 0; + $timeInterval = \microtime(\true) - $this->lastWriteTime; + // Draw regardless of other limits + if ($this->max === $step) { + $this->display(); + return; + } + // Throttling + if ($timeInterval < $this->minSecondsBetweenRedraws) { + return; + } + // Draw each step period, but not too late + if ($prevPeriod !== $currPeriod || $timeInterval >= $this->maxSecondsBetweenRedraws) { + $this->display(); + } + } + public function setMaxSteps($max) + { + if (!\is_int($max)) { + if (!(\is_bool($max) || \is_numeric($max))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($max) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $max = (int) $max; + } + } + $this->format = null; + $this->max = \max(0, $max); + $this->stepWidth = $this->max ? Helper::width((string) $this->max) : 4; + } + /** + * Finishes the progress output. + */ + public function finish() + { + if (!$this->max) { + $this->max = $this->step; + } + if ($this->step === $this->max && !$this->overwrite) { + // prevent double 100% output + return; + } + $this->setProgress($this->max); + } + /** + * Outputs the current progress string. + */ + public function display() + { + if (OutputInterface::VERBOSITY_QUIET === $this->output->getVerbosity()) { + return; + } + if (null === $this->format) { + $this->setRealFormat($this->internalFormat ?: $this->determineBestFormat()); + } + $this->overwrite($this->buildLine()); + } + /** + * Removes the progress bar from the current line. + * + * This is useful if you wish to write some output + * while a progress bar is running. + * Call display() to show the progress bar again. + */ + public function clear() + { + if (!$this->overwrite) { + return; + } + if (null === $this->format) { + $this->setRealFormat($this->internalFormat ?: $this->determineBestFormat()); + } + $this->overwrite(''); + } + private function setRealFormat($format) + { + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $format = (string) $format; + } + } + // try to use the _nomax variant if available + if (!$this->max && null !== self::getFormatDefinition($format . '_nomax')) { + $this->format = self::getFormatDefinition($format . '_nomax'); + } elseif (null !== self::getFormatDefinition($format)) { + $this->format = self::getFormatDefinition($format); + } else { + $this->format = $format; + } + $this->formatLineCount = \substr_count($this->format, "\n"); + } + /** + * Overwrites a previous message to the output. + */ + private function overwrite($message) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if ($this->previousMessage === $message) { + return; + } + $originalMessage = $message; + if ($this->overwrite) { + if (null !== $this->previousMessage) { + if ($this->output instanceof ConsoleSectionOutput) { + $messageLines = \explode("\n", $message); + $lineCount = \count($messageLines); + foreach ($messageLines as $messageLine) { + $messageLineLength = Helper::width(Helper::removeDecoration($this->output->getFormatter(), $messageLine)); + if ($messageLineLength > $this->terminal->getWidth()) { + $lineCount += \floor($messageLineLength / $this->terminal->getWidth()); + } + } + $this->output->clear($lineCount); + } else { + if ($this->formatLineCount > 0) { + $this->cursor->moveUp($this->formatLineCount); + } + $this->cursor->moveToColumn(1); + $this->cursor->clearLine(); + } + } + } elseif ($this->step > 0) { + $message = \PHP_EOL . $message; + } + $this->previousMessage = $originalMessage; + $this->lastWriteTime = \microtime(\true); + $this->output->write($message); + ++$this->writeCount; + } + private function determineBestFormat() + { + switch ($this->output->getVerbosity()) { + // OutputInterface::VERBOSITY_QUIET: display is disabled anyway + case OutputInterface::VERBOSITY_VERBOSE: + $phabelReturn = $this->max ? self::FORMAT_VERBOSE : self::FORMAT_VERBOSE_NOMAX; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case OutputInterface::VERBOSITY_VERY_VERBOSE: + $phabelReturn = $this->max ? self::FORMAT_VERY_VERBOSE : self::FORMAT_VERY_VERBOSE_NOMAX; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case OutputInterface::VERBOSITY_DEBUG: + $phabelReturn = $this->max ? self::FORMAT_DEBUG : self::FORMAT_DEBUG_NOMAX; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + default: + $phabelReturn = $this->max ? self::FORMAT_NORMAL : self::FORMAT_NORMAL_NOMAX; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + private static function initPlaceholderFormatters() + { + $phabelReturn = ['bar' => function (self $bar, OutputInterface $output) { + $completeBars = $bar->getBarOffset(); + $display = \str_repeat($bar->getBarCharacter(), $completeBars); + if ($completeBars < $bar->getBarWidth()) { + $emptyBars = $bar->getBarWidth() - $completeBars - Helper::length(Helper::removeDecoration($output->getFormatter(), $bar->getProgressCharacter())); + $display .= $bar->getProgressCharacter() . \str_repeat($bar->getEmptyBarCharacter(), $emptyBars); + } + return $display; + }, 'elapsed' => function (self $bar) { + return Helper::formatTime(\time() - $bar->getStartTime()); + }, 'remaining' => function (self $bar) { + if (!$bar->getMaxSteps()) { + throw new LogicException('Unable to display the remaining time if the maximum number of steps is not set.'); + } + return Helper::formatTime($bar->getRemaining()); + }, 'estimated' => function (self $bar) { + if (!$bar->getMaxSteps()) { + throw new LogicException('Unable to display the estimated time if the maximum number of steps is not set.'); + } + return Helper::formatTime($bar->getEstimated()); + }, 'memory' => function (self $bar) { + return Helper::formatMemory(\memory_get_usage(\true)); + }, 'current' => function (self $bar) { + return \str_pad($bar->getProgress(), $bar->getStepWidth(), ' ', \STR_PAD_LEFT); + }, 'max' => function (self $bar) { + return $bar->getMaxSteps(); + }, 'percent' => function (self $bar) { + return \floor($bar->getProgressPercent() * 100); + }]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private static function initFormats() + { + $phabelReturn = [self::FORMAT_NORMAL => ' %current%/%max% [%bar%] %percent:3s%%', self::FORMAT_NORMAL_NOMAX => ' %current% [%bar%]', self::FORMAT_VERBOSE => ' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%', self::FORMAT_VERBOSE_NOMAX => ' %current% [%bar%] %elapsed:6s%', self::FORMAT_VERY_VERBOSE => ' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%/%estimated:-6s%', self::FORMAT_VERY_VERBOSE_NOMAX => ' %current% [%bar%] %elapsed:6s%', self::FORMAT_DEBUG => ' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%/%estimated:-6s% %memory:6s%', self::FORMAT_DEBUG_NOMAX => ' %current% [%bar%] %elapsed:6s% %memory:6s%']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function buildLine() + { + $regex = "{%([a-z\\-_]+)(?:\\:([^%]+))?%}i"; + $callback = function ($matches) { + if ($formatter = $this::getPlaceholderFormatterDefinition($matches[1])) { + $text = $formatter($this, $this->output); + } elseif (isset($this->messages[$matches[1]])) { + $text = $this->messages[$matches[1]]; + } else { + return $matches[0]; + } + if (isset($matches[2])) { + $text = \sprintf('%' . $matches[2], $text); + } + return $text; + }; + $line = \preg_replace_callback($regex, $callback, $this->format); + // gets string length for each sub line with multiline format + $linesLength = \array_map(function ($subLine) { + return Helper::width(Helper::removeDecoration($this->output->getFormatter(), \rtrim($subLine, "\r"))); + }, \explode("\n", $line)); + $linesWidth = \max($linesLength); + $terminalWidth = $this->terminal->getWidth(); + if ($linesWidth <= $terminalWidth) { + $phabelReturn = $line; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $this->setBarWidth($this->barWidth - $linesWidth + $terminalWidth); + $phabelReturn = \preg_replace_callback($regex, $callback, $this->format); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Helper/ProgressIndicator.php b/vendor-bundle/symfony/console/Helper/ProgressIndicator.php new file mode 100644 index 000000000..cd8cc0ceb --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/ProgressIndicator.php @@ -0,0 +1,312 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\LogicException; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * @author Kevin Bond + */ +class ProgressIndicator +{ + private $output; + private $startTime; + private $format; + private $message; + private $indicatorValues; + private $indicatorCurrent; + private $indicatorChangeInterval; + private $indicatorUpdateTime; + private $started = \false; + private static $formatters; + private static $formats; + /** + * @param int $indicatorChangeInterval Change interval in milliseconds + * @param array|null $indicatorValues Animated indicator characters + */ + public function __construct(OutputInterface $output, $format = null, $indicatorChangeInterval = 100, array $indicatorValues = null) + { + if (!\is_null($format)) { + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($format) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $format = (string) $format; + } + } + } + if (!\is_int($indicatorChangeInterval)) { + if (!(\is_bool($indicatorChangeInterval) || \is_numeric($indicatorChangeInterval))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($indicatorChangeInterval) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($indicatorChangeInterval) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $indicatorChangeInterval = (int) $indicatorChangeInterval; + } + } + $this->output = $output; + if (null === $format) { + $format = $this->determineBestFormat(); + } + if (null === $indicatorValues) { + $indicatorValues = ['-', '\\', '|', '/']; + } + $indicatorValues = \array_values($indicatorValues); + if (2 > \count($indicatorValues)) { + throw new InvalidArgumentException('Must have at least 2 indicator value characters.'); + } + $this->format = self::getFormatDefinition($format); + $this->indicatorChangeInterval = $indicatorChangeInterval; + $this->indicatorValues = $indicatorValues; + $this->startTime = \time(); + } + /** + * Sets the current indicator message. + */ + public function setMessage($message) + { + if (!\is_null($message)) { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + } + $this->message = $message; + $this->display(); + } + /** + * Starts the indicator output. + */ + public function start($message) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if ($this->started) { + throw new LogicException('Progress indicator already started.'); + } + $this->message = $message; + $this->started = \true; + $this->startTime = \time(); + $this->indicatorUpdateTime = $this->getCurrentTimeInMilliseconds() + $this->indicatorChangeInterval; + $this->indicatorCurrent = 0; + $this->display(); + } + /** + * Advances the indicator. + */ + public function advance() + { + if (!$this->started) { + throw new LogicException('Progress indicator has not yet been started.'); + } + if (!$this->output->isDecorated()) { + return; + } + $currentTime = $this->getCurrentTimeInMilliseconds(); + if ($currentTime < $this->indicatorUpdateTime) { + return; + } + $this->indicatorUpdateTime = $currentTime + $this->indicatorChangeInterval; + ++$this->indicatorCurrent; + $this->display(); + } + /** + * Finish the indicator with message. + * + * @param $message + */ + public function finish($message) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!$this->started) { + throw new LogicException('Progress indicator has not yet been started.'); + } + $this->message = $message; + $this->display(); + $this->output->writeln(''); + $this->started = \false; + } + /** + * Gets the format for a given name. + * + * @return string|null A format string + */ + public static function getFormatDefinition($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!self::$formats) { + self::$formats = self::initFormats(); + } + return isset(self::$formats[$name]) ? self::$formats[$name] : null; + } + /** + * Sets a placeholder formatter for a given name. + * + * This method also allow you to override an existing placeholder. + */ + public static function setPlaceholderFormatterDefinition($name, callable $callable) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!self::$formatters) { + self::$formatters = self::initPlaceholderFormatters(); + } + self::$formatters[$name] = $callable; + } + /** + * Gets the placeholder formatter for a given name (including the delimiter char like %). + * + * @return callable|null A PHP callable + */ + public static function getPlaceholderFormatterDefinition($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!self::$formatters) { + self::$formatters = self::initPlaceholderFormatters(); + } + return isset(self::$formatters[$name]) ? self::$formatters[$name] : null; + } + private function display() + { + if (OutputInterface::VERBOSITY_QUIET === $this->output->getVerbosity()) { + return; + } + $this->overwrite(\preg_replace_callback("{%([a-z\\-_]+)(?:\\:([^%]+))?%}i", function ($matches) { + if ($formatter = self::getPlaceholderFormatterDefinition($matches[1])) { + return $formatter($this); + } + return $matches[0]; + }, isset($this->format) ? $this->format : '')); + } + private function determineBestFormat() + { + switch ($this->output->getVerbosity()) { + // OutputInterface::VERBOSITY_QUIET: display is disabled anyway + case OutputInterface::VERBOSITY_VERBOSE: + $phabelReturn = $this->output->isDecorated() ? 'verbose' : 'verbose_no_ansi'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case OutputInterface::VERBOSITY_VERY_VERBOSE: + case OutputInterface::VERBOSITY_DEBUG: + $phabelReturn = $this->output->isDecorated() ? 'very_verbose' : 'very_verbose_no_ansi'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + default: + $phabelReturn = $this->output->isDecorated() ? 'normal' : 'normal_no_ansi'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Overwrites a previous message to the output. + */ + private function overwrite($message) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if ($this->output->isDecorated()) { + $this->output->write("\r\x1b[2K"); + $this->output->write($message); + } else { + $this->output->writeln($message); + } + } + private function getCurrentTimeInMilliseconds() + { + $phabelReturn = \round(\microtime(\true) * 1000); + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + private static function initPlaceholderFormatters() + { + $phabelReturn = ['indicator' => function (self $indicator) { + return $indicator->indicatorValues[$indicator->indicatorCurrent % \count($indicator->indicatorValues)]; + }, 'message' => function (self $indicator) { + return $indicator->message; + }, 'elapsed' => function (self $indicator) { + return Helper::formatTime(\time() - $indicator->startTime); + }, 'memory' => function () { + return Helper::formatMemory(\memory_get_usage(\true)); + }]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private static function initFormats() + { + $phabelReturn = ['normal' => ' %indicator% %message%', 'normal_no_ansi' => ' %message%', 'verbose' => ' %indicator% %message% (%elapsed:6s%)', 'verbose_no_ansi' => ' %message% (%elapsed:6s%)', 'very_verbose' => ' %indicator% %message% (%elapsed:6s%, %memory:6s%)', 'very_verbose_no_ansi' => ' %message% (%elapsed:6s%, %memory:6s%)']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Helper/QuestionHelper.php b/vendor-bundle/symfony/console/Helper/QuestionHelper.php new file mode 100644 index 000000000..7c4d66b18 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/QuestionHelper.php @@ -0,0 +1,638 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Cursor; +use Phabel\Symfony\Component\Console\Exception\MissingInputException; +use Phabel\Symfony\Component\Console\Exception\RuntimeException; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatter; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterStyle; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Input\StreamableInputInterface; +use Phabel\Symfony\Component\Console\Output\ConsoleOutputInterface; +use Phabel\Symfony\Component\Console\Output\ConsoleSectionOutput; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Component\Console\Question\ChoiceQuestion; +use Phabel\Symfony\Component\Console\Question\Question; +use Phabel\Symfony\Component\Console\Terminal; +use function Phabel\Symfony\Component\String\s; +/** + * The QuestionHelper class provides helpers to interact with the user. + * + * @author Fabien Potencier + */ +class QuestionHelper extends Helper +{ + private $inputStream; + private static $shell; + private static $stty = \true; + private static $stdinIsInteractive; + /** + * Asks a question to the user. + * + * @return mixed The user answer + * + * @throws RuntimeException If there is no data to read in the input stream + */ + public function ask(InputInterface $input, OutputInterface $output, Question $question) + { + if ($output instanceof ConsoleOutputInterface) { + $output = $output->getErrorOutput(); + } + if (!$input->isInteractive()) { + return $this->getDefaultAnswer($question); + } + if ($input instanceof StreamableInputInterface && ($stream = $input->getStream())) { + $this->inputStream = $stream; + } + try { + if (!$question->getValidator()) { + return $this->doAsk($output, $question); + } + $interviewer = function () use($output, $question) { + return $this->doAsk($output, $question); + }; + return $this->validateAttempts($interviewer, $output, $question); + } catch (MissingInputException $exception) { + $input->setInteractive(\false); + if (null === ($fallbackOutput = $this->getDefaultAnswer($question))) { + throw $exception; + } + return $fallbackOutput; + } + } + /** + * {@inheritdoc} + */ + public function getName() + { + return 'question'; + } + /** + * Prevents usage of stty. + */ + public static function disableStty() + { + self::$stty = \false; + } + /** + * Asks the question to the user. + * + * @return mixed + * + * @throws RuntimeException In case the fallback is deactivated and the response cannot be hidden + */ + private function doAsk(OutputInterface $output, Question $question) + { + $this->writePrompt($output, $question); + $inputStream = $this->inputStream ?: \STDIN; + $autocomplete = $question->getAutocompleterCallback(); + if (null === $autocomplete || !self::$stty || !Terminal::hasSttyAvailable()) { + $ret = \false; + if ($question->isHidden()) { + try { + $hiddenResponse = $this->getHiddenResponse($output, $inputStream, $question->isTrimmable()); + $ret = $question->isTrimmable() ? \trim($hiddenResponse) : $hiddenResponse; + } catch (RuntimeException $e) { + if (!$question->isHiddenFallback()) { + throw $e; + } + } + } + if (\false === $ret) { + $ret = $this->readInput($inputStream, $question); + if (\false === $ret) { + throw new MissingInputException('Aborted.'); + } + if ($question->isTrimmable()) { + $ret = \trim($ret); + } + } + } else { + $autocomplete = $this->autocomplete($output, $question, $inputStream, $autocomplete); + $ret = $question->isTrimmable() ? \trim($autocomplete) : $autocomplete; + } + if ($output instanceof ConsoleSectionOutput) { + $output->addContent($ret); + } + $ret = \strlen($ret) > 0 ? $ret : $question->getDefault(); + if ($normalizer = $question->getNormalizer()) { + return $normalizer($ret); + } + return $ret; + } + /** + * @return mixed + */ + private function getDefaultAnswer(Question $question) + { + $default = $question->getDefault(); + if (null === $default) { + return $default; + } + if ($validator = $question->getValidator()) { + return \call_user_func($question->getValidator(), $default); + } elseif ($question instanceof ChoiceQuestion) { + $choices = $question->getChoices(); + if (!$question->isMultiselect()) { + return isset($choices[$default]) ? $choices[$default] : $default; + } + $default = \explode(',', $default); + foreach ($default as $k => $v) { + $v = $question->isTrimmable() ? \trim($v) : $v; + $default[$k] = isset($choices[$v]) ? $choices[$v] : $v; + } + } + return $default; + } + /** + * Outputs the question prompt. + */ + protected function writePrompt(OutputInterface $output, Question $question) + { + $message = $question->getQuestion(); + if ($question instanceof ChoiceQuestion) { + $output->writeln(\array_merge([$question->getQuestion()], $this->formatChoiceQuestionChoices($question, 'info'))); + $message = $question->getPrompt(); + } + $output->write($message); + } + /** + * @return string[] + */ + protected function formatChoiceQuestionChoices(ChoiceQuestion $question, $tag) + { + if (!\is_string($tag)) { + if (!(\is_string($tag) || \is_object($tag) && \method_exists($tag, '__toString') || (\is_bool($tag) || \is_numeric($tag)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($tag) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($tag) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $tag = (string) $tag; + } + } + $messages = []; + $maxWidth = \max(\array_map('self::width', \array_keys($choices = $question->getChoices()))); + foreach ($choices as $key => $value) { + $padding = \str_repeat(' ', $maxWidth - self::width($key)); + $messages[] = \sprintf(" [<{$tag}>%s{$padding}] %s", $key, $value); + } + return $messages; + } + /** + * Outputs an error message. + */ + protected function writeError(OutputInterface $output, \Exception $error) + { + if (null !== $this->getHelperSet() && $this->getHelperSet()->has('formatter')) { + $message = $this->getHelperSet()->get('formatter')->formatBlock($error->getMessage(), 'error'); + } else { + $message = '' . $error->getMessage() . ''; + } + $output->writeln($message); + } + /** + * Autocompletes a question. + * + * @param resource $inputStream + */ + private function autocomplete(OutputInterface $output, Question $question, $inputStream, callable $autocomplete) + { + $cursor = new Cursor($output, $inputStream); + $fullChoice = ''; + $ret = ''; + $i = 0; + $ofs = -1; + $matches = $autocomplete($ret); + $numMatches = \count($matches); + $sttyMode = \shell_exec('stty -g'); + // Disable icanon (so we can fread each keypress) and echo (we'll do echoing here instead) + \shell_exec('stty -icanon -echo'); + // Add highlighted text style + $output->getFormatter()->setStyle('hl', new OutputFormatterStyle('black', 'white')); + // Read a keypress + while (!\feof($inputStream)) { + $c = \fread($inputStream, 1); + // as opposed to fgets(), fread() returns an empty string when the stream content is empty, not false. + if (\false === $c || '' === $ret && '' === $c && null === $question->getDefault()) { + \shell_exec(\sprintf('stty %s', $sttyMode)); + throw new MissingInputException('Aborted.'); + } elseif ("" === $c) { + // Backspace Character + if (0 === $numMatches && 0 !== $i) { + --$i; + $cursor->moveLeft(s($fullChoice)->slice(-1)->width(\false)); + $fullChoice = self::substr($fullChoice, 0, $i); + } + if (0 === $i) { + $ofs = -1; + $matches = $autocomplete($ret); + $numMatches = \count($matches); + } else { + $numMatches = 0; + } + // Pop the last character off the end of our string + $ret = self::substr($ret, 0, $i); + } elseif ("\x1b" === $c) { + // Did we read an escape sequence? + $c .= \fread($inputStream, 2); + // A = Up Arrow. B = Down Arrow + if (isset($c[2]) && ('A' === $c[2] || 'B' === $c[2])) { + if ('A' === $c[2] && -1 === $ofs) { + $ofs = 0; + } + if (0 === $numMatches) { + continue; + } + $ofs += 'A' === $c[2] ? -1 : 1; + $ofs = ($numMatches + $ofs) % $numMatches; + } + } elseif (\ord($c) < 32) { + if ("\t" === $c || "\n" === $c) { + if ($numMatches > 0 && -1 !== $ofs) { + $ret = (string) $matches[$ofs]; + // Echo out remaining chars for current match + $remainingCharacters = \substr($ret, \strlen(\trim($this->mostRecentlyEnteredValue($fullChoice)))); + $output->write($remainingCharacters); + $fullChoice .= $remainingCharacters; + $i = \false === ($encoding = \mb_detect_encoding($fullChoice, null, \true)) ? \strlen($fullChoice) : \mb_strlen($fullChoice, $encoding); + $matches = \array_filter($autocomplete($ret), function ($match) use($ret) { + return '' === $ret || \str_starts_with($match, $ret); + }); + $numMatches = \count($matches); + $ofs = -1; + } + if ("\n" === $c) { + $output->write($c); + break; + } + $numMatches = 0; + } + continue; + } else { + if ("\x80" <= $c) { + $c .= \fread($inputStream, ["\xc0" => 1, "\xd0" => 1, "\xe0" => 2, "\xf0" => 3][$c & "\xf0"]); + } + $output->write($c); + $ret .= $c; + $fullChoice .= $c; + ++$i; + $tempRet = $ret; + if ($question instanceof ChoiceQuestion && $question->isMultiselect()) { + $tempRet = $this->mostRecentlyEnteredValue($fullChoice); + } + $numMatches = 0; + $ofs = 0; + foreach ($autocomplete($ret) as $value) { + // If typed characters match the beginning chunk of value (e.g. [AcmeDe]moBundle) + if (\str_starts_with($value, $tempRet)) { + $matches[$numMatches++] = $value; + } + } + } + $cursor->clearLineAfter(); + if ($numMatches > 0 && -1 !== $ofs) { + $cursor->savePosition(); + // Write highlighted text, complete the partially entered response + $charactersEntered = \strlen(\trim($this->mostRecentlyEnteredValue($fullChoice))); + $output->write('' . OutputFormatter::escapeTrailingBackslash(\substr($matches[$ofs], $charactersEntered)) . ''); + $cursor->restorePosition(); + } + } + // Reset stty so it behaves normally again + \shell_exec(\sprintf('stty %s', $sttyMode)); + $phabelReturn = $fullChoice; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function mostRecentlyEnteredValue($entered) + { + if (!\is_string($entered)) { + if (!(\is_string($entered) || \is_object($entered) && \method_exists($entered, '__toString') || (\is_bool($entered) || \is_numeric($entered)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($entered) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($entered) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $entered = (string) $entered; + } + } + // Determine the most recent value that the user entered + if (!\str_contains($entered, ',')) { + $phabelReturn = $entered; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $choices = \explode(',', $entered); + if ('' !== ($lastChoice = \trim($choices[\count($choices) - 1]))) { + $phabelReturn = $lastChoice; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $entered; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets a hidden response from user. + * + * @param resource $inputStream The handler resource + * @param bool $trimmable Is the answer trimmable + * + * @throws RuntimeException In case the fallback is deactivated and the response cannot be hidden + */ + private function getHiddenResponse(OutputInterface $output, $inputStream, $trimmable = \true) + { + if (!\is_bool($trimmable)) { + if (!(\is_bool($trimmable) || \is_numeric($trimmable) || \is_string($trimmable))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($trimmable) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($trimmable) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $trimmable = (bool) $trimmable; + } + } + if ('\\' === \DIRECTORY_SEPARATOR) { + $exe = __DIR__ . '/../Resources/bin/hiddeninput.exe'; + // handle code running from a phar + if ('phar:' === \substr(__FILE__, 0, 5)) { + $tmpExe = \sys_get_temp_dir() . '/hiddeninput.exe'; + \copy($exe, $tmpExe); + $exe = $tmpExe; + } + $sExec = \shell_exec('"' . $exe . '"'); + $value = $trimmable ? \rtrim($sExec) : $sExec; + $output->writeln(''); + if (isset($tmpExe)) { + \unlink($tmpExe); + } + $phabelReturn = $value; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (self::$stty && Terminal::hasSttyAvailable()) { + $sttyMode = \shell_exec('stty -g'); + \shell_exec('stty -echo'); + } elseif ($this->isInteractiveInput($inputStream)) { + throw new RuntimeException('Unable to hide the response.'); + } + $value = \fgets($inputStream, 4096); + if (self::$stty && Terminal::hasSttyAvailable()) { + \shell_exec(\sprintf('stty %s', $sttyMode)); + } + if (\false === $value) { + throw new MissingInputException('Aborted.'); + } + if ($trimmable) { + $value = \trim($value); + } + $output->writeln(''); + $phabelReturn = $value; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Validates an attempt. + * + * @param callable $interviewer A callable that will ask for a question and return the result + * + * @return mixed The validated response + * + * @throws \Exception In case the max number of attempts has been reached and no valid response has been given + */ + private function validateAttempts(callable $interviewer, OutputInterface $output, Question $question) + { + $error = null; + $attempts = $question->getMaxAttempts(); + while (null === $attempts || $attempts--) { + if (null !== $error) { + $this->writeError($output, $error); + } + try { + $phabel_b3555919d25e5efd = $question->getValidator(); + return $phabel_b3555919d25e5efd($interviewer()); + } catch (RuntimeException $e) { + throw $e; + } catch (\Exception $error) { + } + } + throw $error; + } + private function isInteractiveInput($inputStream) + { + if ('php://stdin' !== (NULL !== ($phabel_376920cdae0760e0 = \stream_get_meta_data($inputStream)) && isset($phabel_376920cdae0760e0['uri']) ? $phabel_376920cdae0760e0['uri'] : null)) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if (null !== self::$stdinIsInteractive) { + $phabelReturn = self::$stdinIsInteractive; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if (\function_exists('stream_isatty')) { + $phabelReturn = self::$stdinIsInteractive = \stream_isatty(\fopen('php://stdin', 'r')); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if (\function_exists('posix_isatty')) { + $phabelReturn = self::$stdinIsInteractive = \posix_isatty(\fopen('php://stdin', 'r')); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if (!\function_exists('exec')) { + $phabelReturn = self::$stdinIsInteractive = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + \exec('stty 2> /dev/null', $output, $status); + $phabelReturn = self::$stdinIsInteractive = 1 !== $status; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Reads one or more lines of input and returns what is read. + * + * @param resource $inputStream The handler resource + * @param Question $question The question being asked + * + * @return string|false The input received, false in case input could not be read + */ + private function readInput($inputStream, Question $question) + { + if (!$question->isMultiline()) { + $cp = $this->setIOCodepage(); + $ret = \fgets($inputStream, 4096); + return $this->resetIOCodepage($cp, $ret); + } + $multiLineStreamReader = $this->cloneInputStream($inputStream); + if (null === $multiLineStreamReader) { + return \false; + } + $ret = ''; + $cp = $this->setIOCodepage(); + while (\false !== ($char = \fgetc($multiLineStreamReader))) { + if (\PHP_EOL === "{$ret}{$char}") { + break; + } + $ret .= $char; + } + return $this->resetIOCodepage($cp, $ret); + } + /** + * Sets console I/O to the host code page. + * + * @return int Previous code page in IBM/EBCDIC format + */ + private function setIOCodepage() + { + if (\function_exists('sapi_windows_cp_set')) { + $cp = \sapi_windows_cp_get(); + \sapi_windows_cp_set(\sapi_windows_cp_get('oem')); + $phabelReturn = $cp; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = 0; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Sets console I/O to the specified code page and converts the user input. + * + * @param string|false $input + * + * @return string|false + */ + private function resetIOCodepage($cp, $input) + { + if (!\is_int($cp)) { + if (!(\is_bool($cp) || \is_numeric($cp))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($cp) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cp = (int) $cp; + } + } + if (0 !== $cp) { + \sapi_windows_cp_set($cp); + if (\false !== $input && '' !== $input) { + $input = \sapi_windows_cp_conv(\sapi_windows_cp_get('oem'), $cp, $input); + } + } + return $input; + } + /** + * Clones an input stream in order to act on one instance of the same + * stream without affecting the other instance. + * + * @param resource $inputStream The handler resource + * + * @return resource|null The cloned resource, null in case it could not be cloned + */ + private function cloneInputStream($inputStream) + { + $streamMetaData = \stream_get_meta_data($inputStream); + $seekable = isset($streamMetaData['seekable']) ? $streamMetaData['seekable'] : \false; + $mode = isset($streamMetaData['mode']) ? $streamMetaData['mode'] : 'rb'; + $uri = isset($streamMetaData['uri']) ? $streamMetaData['uri'] : null; + if (null === $uri) { + return null; + } + $cloneStream = \fopen($uri, $mode); + // For seekable and writable streams, add all the same data to the + // cloned stream and then seek to the same offset. + if (\true === $seekable && !\in_array($mode, ['r', 'rb', 'rt'])) { + $offset = \ftell($inputStream); + \rewind($inputStream); + \stream_copy_to_stream($inputStream, $cloneStream); + \fseek($inputStream, $offset); + \fseek($cloneStream, $offset); + } + return $cloneStream; + } +} diff --git a/vendor-bundle/symfony/console/Helper/SymfonyQuestionHelper.php b/vendor-bundle/symfony/console/Helper/SymfonyQuestionHelper.php new file mode 100644 index 000000000..a0e7c540d --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/SymfonyQuestionHelper.php @@ -0,0 +1,101 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Formatter\OutputFormatter; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Component\Console\Question\ChoiceQuestion; +use Phabel\Symfony\Component\Console\Question\ConfirmationQuestion; +use Phabel\Symfony\Component\Console\Question\Question; +use Phabel\Symfony\Component\Console\Style\SymfonyStyle; +/** + * Symfony Style Guide compliant question helper. + * + * @author Kevin Bond + */ +class SymfonyQuestionHelper extends QuestionHelper +{ + /** + * {@inheritdoc} + */ + protected function writePrompt(OutputInterface $output, Question $question) + { + $text = OutputFormatter::escapeTrailingBackslash($question->getQuestion()); + $default = $question->getDefault(); + if ($question->isMultiline()) { + $text .= \sprintf(' (press %s to continue)', $this->getEofShortcut()); + } + switch (\true) { + case null === $default: + $text = \sprintf(' %s:', $text); + break; + case $question instanceof ConfirmationQuestion: + $text = \sprintf(' %s (yes/no) [%s]:', $text, $default ? 'yes' : 'no'); + break; + case $question instanceof ChoiceQuestion && $question->isMultiselect(): + $choices = $question->getChoices(); + $default = \explode(',', $default); + foreach ($default as $key => $value) { + $default[$key] = $choices[\trim($value)]; + } + $text = \sprintf(' %s [%s]:', $text, OutputFormatter::escape(\implode(', ', $default))); + break; + case $question instanceof ChoiceQuestion: + $choices = $question->getChoices(); + $text = \sprintf(' %s [%s]:', $text, OutputFormatter::escape(isset($choices[$default]) ? $choices[$default] : $default)); + break; + default: + $text = \sprintf(' %s [%s]:', $text, OutputFormatter::escape($default)); + } + $output->writeln($text); + $prompt = ' > '; + if ($question instanceof ChoiceQuestion) { + $output->writeln($this->formatChoiceQuestionChoices($question, 'comment')); + $prompt = $question->getPrompt(); + } + $output->write($prompt); + } + /** + * {@inheritdoc} + */ + protected function writeError(OutputInterface $output, \Exception $error) + { + if ($output instanceof SymfonyStyle) { + $output->newLine(); + $output->error($error->getMessage()); + return; + } + parent::writeError($output, $error); + } + private function getEofShortcut() + { + if ('Windows' === \PHP_OS_FAMILY) { + $phabelReturn = 'Ctrl+Z then Enter'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = 'Ctrl+D'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Helper/Table.php b/vendor-bundle/symfony/console/Helper/Table.php new file mode 100644 index 000000000..57d0f7cac --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/Table.php @@ -0,0 +1,979 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\RuntimeException; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatter; +use Phabel\Symfony\Component\Console\Formatter\WrappableOutputFormatterInterface; +use Phabel\Symfony\Component\Console\Output\ConsoleSectionOutput; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * Provides helpers to display a table. + * + * @author Fabien Potencier + * @author Саша Стаменковић + * @author Abdellatif Ait boudad + * @author Max Grigorian + * @author Dany Maillard + */ +class Table +{ + const SEPARATOR_TOP = 0; + const SEPARATOR_TOP_BOTTOM = 1; + const SEPARATOR_MID = 2; + const SEPARATOR_BOTTOM = 3; + const BORDER_OUTSIDE = 0; + const BORDER_INSIDE = 1; + private $headerTitle; + private $footerTitle; + /** + * Table headers. + */ + private $headers = []; + /** + * Table rows. + */ + private $rows = []; + private $horizontal = \false; + /** + * Column widths cache. + */ + private $effectiveColumnWidths = []; + /** + * Number of columns cache. + * + * @var int + */ + private $numberOfColumns; + /** + * @var OutputInterface + */ + private $output; + /** + * @var TableStyle + */ + private $style; + /** + * @var array + */ + private $columnStyles = []; + /** + * User set column widths. + * + * @var array + */ + private $columnWidths = []; + private $columnMaxWidths = []; + private static $styles; + private $rendered = \false; + public function __construct(OutputInterface $output) + { + $this->output = $output; + if (!self::$styles) { + self::$styles = self::initStyles(); + } + $this->setStyle('default'); + } + /** + * Sets a style definition. + */ + public static function setStyleDefinition($name, TableStyle $style) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!self::$styles) { + self::$styles = self::initStyles(); + } + self::$styles[$name] = $style; + } + /** + * Gets a style definition by name. + * + * @return TableStyle + */ + public static function getStyleDefinition($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!self::$styles) { + self::$styles = self::initStyles(); + } + if (isset(self::$styles[$name])) { + return self::$styles[$name]; + } + throw new InvalidArgumentException(\sprintf('Style "%s" is not defined.', $name)); + } + /** + * Sets table style. + * + * @param TableStyle|string $name The style name or a TableStyle instance + * + * @return $this + */ + public function setStyle($name) + { + $this->style = $this->resolveStyle($name); + return $this; + } + /** + * Gets the current table style. + * + * @return TableStyle + */ + public function getStyle() + { + return $this->style; + } + /** + * Sets table column style. + * + * @param TableStyle|string $name The style name or a TableStyle instance + * + * @return $this + */ + public function setColumnStyle($columnIndex, $name) + { + if (!\is_int($columnIndex)) { + if (!(\is_bool($columnIndex) || \is_numeric($columnIndex))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($columnIndex) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($columnIndex) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $columnIndex = (int) $columnIndex; + } + } + $this->columnStyles[$columnIndex] = $this->resolveStyle($name); + return $this; + } + /** + * Gets the current style for a column. + * + * If style was not set, it returns the global table style. + * + * @return TableStyle + */ + public function getColumnStyle($columnIndex) + { + if (!\is_int($columnIndex)) { + if (!(\is_bool($columnIndex) || \is_numeric($columnIndex))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($columnIndex) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($columnIndex) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $columnIndex = (int) $columnIndex; + } + } + return isset($this->columnStyles[$columnIndex]) ? $this->columnStyles[$columnIndex] : $this->getStyle(); + } + /** + * Sets the minimum width of a column. + * + * @return $this + */ + public function setColumnWidth($columnIndex, $width) + { + if (!\is_int($columnIndex)) { + if (!(\is_bool($columnIndex) || \is_numeric($columnIndex))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($columnIndex) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($columnIndex) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $columnIndex = (int) $columnIndex; + } + } + if (!\is_int($width)) { + if (!(\is_bool($width) || \is_numeric($width))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($width) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($width) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $width = (int) $width; + } + } + $this->columnWidths[$columnIndex] = $width; + return $this; + } + /** + * Sets the minimum width of all columns. + * + * @return $this + */ + public function setColumnWidths(array $widths) + { + $this->columnWidths = []; + foreach ($widths as $index => $width) { + $this->setColumnWidth($index, $width); + } + return $this; + } + /** + * Sets the maximum width of a column. + * + * Any cell within this column which contents exceeds the specified width will be wrapped into multiple lines, while + * formatted strings are preserved. + * + * @return $this + */ + public function setColumnMaxWidth($columnIndex, $width) + { + if (!\is_int($columnIndex)) { + if (!(\is_bool($columnIndex) || \is_numeric($columnIndex))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($columnIndex) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($columnIndex) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $columnIndex = (int) $columnIndex; + } + } + if (!\is_int($width)) { + if (!(\is_bool($width) || \is_numeric($width))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($width) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($width) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $width = (int) $width; + } + } + if (!$this->output->getFormatter() instanceof WrappableOutputFormatterInterface) { + throw new \LogicException(\sprintf('Setting a maximum column width is only supported when using a "%s" formatter, got "%s".', WrappableOutputFormatterInterface::class, \get_debug_type($this->output->getFormatter()))); + } + $this->columnMaxWidths[$columnIndex] = $width; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function setHeaders(array $headers) + { + $headers = \array_values($headers); + if (!empty($headers) && !\is_array($headers[0])) { + $headers = [$headers]; + } + $this->headers = $headers; + return $this; + } + public function setRows(array $rows) + { + $this->rows = []; + return $this->addRows($rows); + } + public function addRows(array $rows) + { + foreach ($rows as $row) { + $this->addRow($row); + } + return $this; + } + public function addRow($row) + { + if ($row instanceof TableSeparator) { + $this->rows[] = $row; + return $this; + } + if (!\is_array($row)) { + throw new InvalidArgumentException('A row must be an array or a TableSeparator instance.'); + } + $this->rows[] = \array_values($row); + return $this; + } + /** + * Adds a row to the table, and re-renders the table. + */ + public function appendRow($row) + { + if (!$this->output instanceof ConsoleSectionOutput) { + throw new RuntimeException(\sprintf('Output should be an instance of "%s" when calling "%s".', ConsoleSectionOutput::class, __METHOD__)); + } + if ($this->rendered) { + $this->output->clear($this->calculateRowCount()); + } + $this->addRow($row); + $this->render(); + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function setRow($column, array $row) + { + $this->rows[$column] = $row; + return $this; + } + public function setHeaderTitle($title) + { + if (!\is_null($title)) { + if (!\is_string($title)) { + if (!(\is_string($title) || \is_object($title) && \method_exists($title, '__toString') || (\is_bool($title) || \is_numeric($title)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($title) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($title) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $title = (string) $title; + } + } + } + $this->headerTitle = $title; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function setFooterTitle($title) + { + if (!\is_null($title)) { + if (!\is_string($title)) { + if (!(\is_string($title) || \is_object($title) && \method_exists($title, '__toString') || (\is_bool($title) || \is_numeric($title)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($title) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($title) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $title = (string) $title; + } + } + } + $this->footerTitle = $title; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function setHorizontal($horizontal = \true) + { + if (!\is_bool($horizontal)) { + if (!(\is_bool($horizontal) || \is_numeric($horizontal) || \is_string($horizontal))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($horizontal) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($horizontal) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $horizontal = (bool) $horizontal; + } + } + $this->horizontal = $horizontal; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Renders table to output. + * + * Example: + * + * +---------------+-----------------------+------------------+ + * | ISBN | Title | Author | + * +---------------+-----------------------+------------------+ + * | 99921-58-10-7 | Divine Comedy | Dante Alighieri | + * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | + * | 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien | + * +---------------+-----------------------+------------------+ + */ + public function render() + { + $divider = new TableSeparator(); + if ($this->horizontal) { + $rows = []; + foreach (isset($this->headers[0]) ? $this->headers[0] : [] as $i => $header) { + $rows[$i] = [$header]; + foreach ($this->rows as $row) { + if ($row instanceof TableSeparator) { + continue; + } + if (isset($row[$i])) { + $rows[$i][] = $row[$i]; + } elseif ($rows[$i][0] instanceof TableCell && $rows[$i][0]->getColspan() >= 2) { + // Noop, there is a "title" + } else { + $rows[$i][] = null; + } + } + } + } else { + $rows = \array_merge($this->headers, [$divider], $this->rows); + } + $this->calculateNumberOfColumns($rows); + $rows = $this->buildTableRows($rows); + $this->calculateColumnsWidth($rows); + $isHeader = !$this->horizontal; + $isFirstRow = $this->horizontal; + $hasTitle = (bool) $this->headerTitle; + foreach ($rows as $row) { + if ($divider === $row) { + $isHeader = \false; + $isFirstRow = \true; + continue; + } + if ($row instanceof TableSeparator) { + $this->renderRowSeparator(); + continue; + } + if (!$row) { + continue; + } + if ($isHeader || $isFirstRow) { + $this->renderRowSeparator($isHeader ? self::SEPARATOR_TOP : self::SEPARATOR_TOP_BOTTOM, $hasTitle ? $this->headerTitle : null, $hasTitle ? $this->style->getHeaderTitleFormat() : null); + $isFirstRow = \false; + $hasTitle = \false; + } + if ($this->horizontal) { + $this->renderRow($row, $this->style->getCellRowFormat(), $this->style->getCellHeaderFormat()); + } else { + $this->renderRow($row, $isHeader ? $this->style->getCellHeaderFormat() : $this->style->getCellRowFormat()); + } + } + $this->renderRowSeparator(self::SEPARATOR_BOTTOM, $this->footerTitle, $this->style->getFooterTitleFormat()); + $this->cleanup(); + $this->rendered = \true; + } + /** + * Renders horizontal header separator. + * + * Example: + * + * +-----+-----------+-------+ + */ + private function renderRowSeparator($type = self::SEPARATOR_MID, $title = null, $titleFormat = null) + { + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + if (!\is_null($title)) { + if (!\is_string($title)) { + if (!(\is_string($title) || \is_object($title) && \method_exists($title, '__toString') || (\is_bool($title) || \is_numeric($title)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($title) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($title) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $title = (string) $title; + } + } + } + if (!\is_null($titleFormat)) { + if (!\is_string($titleFormat)) { + if (!(\is_string($titleFormat) || \is_object($titleFormat) && \method_exists($titleFormat, '__toString') || (\is_bool($titleFormat) || \is_numeric($titleFormat)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($titleFormat) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($titleFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $titleFormat = (string) $titleFormat; + } + } + } + if (0 === ($count = $this->numberOfColumns)) { + return; + } + $borders = $this->style->getBorderChars(); + if (!$borders[0] && !$borders[2] && !$this->style->getCrossingChar()) { + return; + } + $crossings = $this->style->getCrossingChars(); + if (self::SEPARATOR_MID === $type) { + list($horizontal, $leftChar, $midChar, $rightChar) = [$borders[2], $crossings[8], $crossings[0], $crossings[4]]; + } elseif (self::SEPARATOR_TOP === $type) { + list($horizontal, $leftChar, $midChar, $rightChar) = [$borders[0], $crossings[1], $crossings[2], $crossings[3]]; + } elseif (self::SEPARATOR_TOP_BOTTOM === $type) { + list($horizontal, $leftChar, $midChar, $rightChar) = [$borders[0], $crossings[9], $crossings[10], $crossings[11]]; + } else { + list($horizontal, $leftChar, $midChar, $rightChar) = [$borders[0], $crossings[7], $crossings[6], $crossings[5]]; + } + $markup = $leftChar; + for ($column = 0; $column < $count; ++$column) { + $markup .= \str_repeat($horizontal, $this->effectiveColumnWidths[$column]); + $markup .= $column === $count - 1 ? $rightChar : $midChar; + } + if (null !== $title) { + $titleLength = Helper::width(Helper::removeDecoration($formatter = $this->output->getFormatter(), $formattedTitle = \sprintf($titleFormat, $title))); + $markupLength = Helper::width($markup); + if ($titleLength > ($limit = $markupLength - 4)) { + $titleLength = $limit; + $formatLength = Helper::width(Helper::removeDecoration($formatter, \sprintf($titleFormat, ''))); + $formattedTitle = \sprintf($titleFormat, Helper::substr($title, 0, $limit - $formatLength - 3) . '...'); + } + $titleStart = \intdiv($markupLength - $titleLength, 2); + if (\false === \mb_detect_encoding($markup, null, \true)) { + $markup = \substr_replace($markup, $formattedTitle, $titleStart, $titleLength); + } else { + $markup = \mb_substr($markup, 0, $titleStart) . $formattedTitle . \mb_substr($markup, $titleStart + $titleLength); + } + } + $this->output->writeln(\sprintf($this->style->getBorderFormat(), $markup)); + } + /** + * Renders vertical column separator. + */ + private function renderColumnSeparator($type = self::BORDER_OUTSIDE) + { + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + $borders = $this->style->getBorderChars(); + $phabelReturn = \sprintf($this->style->getBorderFormat(), self::BORDER_OUTSIDE === $type ? $borders[1] : $borders[3]); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Renders table row. + * + * Example: + * + * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | + */ + private function renderRow(array $row, $cellFormat, $firstCellFormat = null) + { + if (!\is_string($cellFormat)) { + if (!(\is_string($cellFormat) || \is_object($cellFormat) && \method_exists($cellFormat, '__toString') || (\is_bool($cellFormat) || \is_numeric($cellFormat)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($cellFormat) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cellFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cellFormat = (string) $cellFormat; + } + } + if (!\is_null($firstCellFormat)) { + if (!\is_string($firstCellFormat)) { + if (!(\is_string($firstCellFormat) || \is_object($firstCellFormat) && \method_exists($firstCellFormat, '__toString') || (\is_bool($firstCellFormat) || \is_numeric($firstCellFormat)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($firstCellFormat) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($firstCellFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $firstCellFormat = (string) $firstCellFormat; + } + } + } + $rowContent = $this->renderColumnSeparator(self::BORDER_OUTSIDE); + $columns = $this->getRowColumns($row); + $last = \count($columns) - 1; + foreach ($columns as $i => $column) { + if ($firstCellFormat && 0 === $i) { + $rowContent .= $this->renderCell($row, $column, $firstCellFormat); + } else { + $rowContent .= $this->renderCell($row, $column, $cellFormat); + } + $rowContent .= $this->renderColumnSeparator($last === $i ? self::BORDER_OUTSIDE : self::BORDER_INSIDE); + } + $this->output->writeln($rowContent); + } + /** + * Renders table cell with padding. + */ + private function renderCell(array $row, $column, $cellFormat) + { + if (!\is_int($column)) { + if (!(\is_bool($column) || \is_numeric($column))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($column) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($column) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $column = (int) $column; + } + } + if (!\is_string($cellFormat)) { + if (!(\is_string($cellFormat) || \is_object($cellFormat) && \method_exists($cellFormat, '__toString') || (\is_bool($cellFormat) || \is_numeric($cellFormat)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($cellFormat) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cellFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cellFormat = (string) $cellFormat; + } + } + $cell = isset($row[$column]) ? $row[$column] : ''; + $width = $this->effectiveColumnWidths[$column]; + if ($cell instanceof TableCell && $cell->getColspan() > 1) { + // add the width of the following columns(numbers of colspan). + foreach (\range($column + 1, $column + $cell->getColspan() - 1) as $nextColumn) { + $width += $this->getColumnSeparatorWidth() + $this->effectiveColumnWidths[$nextColumn]; + } + } + // str_pad won't work properly with multi-byte strings, we need to fix the padding + if (\false !== ($encoding = \mb_detect_encoding($cell, null, \true))) { + $width += \strlen($cell) - \mb_strwidth($cell, $encoding); + } + $style = $this->getColumnStyle($column); + if ($cell instanceof TableSeparator) { + $phabelReturn = \sprintf($style->getBorderFormat(), \str_repeat($style->getBorderChars()[2], $width)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $width += Helper::length($cell) - Helper::length(Helper::removeDecoration($this->output->getFormatter(), $cell)); + $content = \sprintf($style->getCellRowContentFormat(), $cell); + $padType = $style->getPadType(); + if ($cell instanceof TableCell && $cell->getStyle() instanceof TableCellStyle) { + $isNotStyledByTag = !\preg_match('/^<(\\w+|(\\w+=[\\w,]+;?)*)>.+<\\/(\\w+|(\\w+=\\w+;?)*)?>$/', $cell); + if ($isNotStyledByTag) { + $cellFormat = $cell->getStyle()->getCellFormat(); + if (!\is_string($cellFormat)) { + $tag = \http_build_query($cell->getStyle()->getTagOptions(), '', ';'); + $cellFormat = '<' . $tag . '>%s'; + } + if (\strstr($content, '')) { + $content = \str_replace('', '', $content); + $width -= 3; + } + if (\strstr($content, '')) { + $content = \str_replace('', '', $content); + $width -= \strlen(''); + } + } + $padType = $cell->getStyle()->getPadByAlign(); + } + $phabelReturn = \sprintf($cellFormat, \str_pad($content, $width, $style->getPaddingChar(), $padType)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Calculate number of columns for this table. + */ + private function calculateNumberOfColumns(array $rows) + { + $columns = [0]; + foreach ($rows as $row) { + if ($row instanceof TableSeparator) { + continue; + } + $columns[] = $this->getNumberOfColumns($row); + } + $this->numberOfColumns = \max($columns); + } + private function buildTableRows(array $rows) + { + /** @var WrappableOutputFormatterInterface $formatter */ + $formatter = $this->output->getFormatter(); + $unmergedRows = []; + for ($rowKey = 0; $rowKey < \count($rows); ++$rowKey) { + $rows = $this->fillNextRows($rows, $rowKey); + // Remove any new line breaks and replace it with a new line + foreach ($rows[$rowKey] as $column => $cell) { + $colspan = $cell instanceof TableCell ? $cell->getColspan() : 1; + if (isset($this->columnMaxWidths[$column]) && Helper::width(Helper::removeDecoration($formatter, $cell)) > $this->columnMaxWidths[$column]) { + $cell = $formatter->formatAndWrap($cell, $this->columnMaxWidths[$column] * $colspan); + } + if (!\strstr(isset($cell) ? $cell : '', "\n")) { + continue; + } + $escaped = \implode("\n", \array_map([OutputFormatter::class, 'escapeTrailingBackslash'], \explode("\n", $cell))); + $cell = $cell instanceof TableCell ? new TableCell($escaped, ['colspan' => $cell->getColspan()]) : $escaped; + $lines = \explode("\n", \str_replace("\n", "\n", $cell)); + foreach ($lines as $lineKey => $line) { + if ($colspan > 1) { + $line = new TableCell($line, ['colspan' => $colspan]); + } + if (0 === $lineKey) { + $rows[$rowKey][$column] = $line; + } else { + if (!\array_key_exists($rowKey, $unmergedRows) || !\array_key_exists($lineKey, $unmergedRows[$rowKey])) { + $unmergedRows[$rowKey][$lineKey] = $this->copyRow($rows, $rowKey); + } + $unmergedRows[$rowKey][$lineKey][$column] = $line; + } + } + } + } + $phabelReturn = new TableRows(function () use($rows, $unmergedRows) { + foreach ($rows as $rowKey => $row) { + (yield $row instanceof TableSeparator ? $row : $this->fillCells($row)); + if (isset($unmergedRows[$rowKey])) { + foreach ($unmergedRows[$rowKey] as $row) { + (yield $row instanceof TableSeparator ? $row : $this->fillCells($row)); + } + } + } + }); + if (!$phabelReturn instanceof TableRows) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type TableRows, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function calculateRowCount() + { + $numberOfRows = \count(\iterator_to_array($this->buildTableRows(\array_merge($this->headers, [new TableSeparator()], $this->rows)))); + if ($this->headers) { + ++$numberOfRows; + // Add row for header separator + } + if (\count($this->rows) > 0) { + ++$numberOfRows; + // Add row for footer separator + } + $phabelReturn = $numberOfRows; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * fill rows that contains rowspan > 1. + * + * @throws InvalidArgumentException + */ + private function fillNextRows(array $rows, $line) + { + if (!\is_int($line)) { + if (!(\is_bool($line) || \is_numeric($line))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($line) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $line = (int) $line; + } + } + $unmergedRows = []; + foreach ($rows[$line] as $column => $cell) { + if (null !== $cell && !$cell instanceof TableCell && !\is_scalar($cell) && !(\is_object($cell) && \method_exists($cell, '__toString'))) { + throw new InvalidArgumentException(\sprintf('A cell must be a TableCell, a scalar or an object implementing "__toString()", "%s" given.', \get_debug_type($cell))); + } + if ($cell instanceof TableCell && $cell->getRowspan() > 1) { + $nbLines = $cell->getRowspan() - 1; + $lines = [$cell]; + if (\strstr($cell, "\n")) { + $lines = \explode("\n", \str_replace("\n", "\n", $cell)); + $nbLines = \count($lines) > $nbLines ? \substr_count($cell, "\n") : $nbLines; + $rows[$line][$column] = new TableCell($lines[0], ['colspan' => $cell->getColspan(), 'style' => $cell->getStyle()]); + unset($lines[0]); + } + // create a two dimensional array (rowspan x colspan) + $unmergedRows = \array_replace_recursive(\array_fill($line + 1, $nbLines, []), $unmergedRows); + foreach ($unmergedRows as $unmergedRowKey => $unmergedRow) { + $value = isset($lines[$unmergedRowKey - $line]) ? $lines[$unmergedRowKey - $line] : ''; + $unmergedRows[$unmergedRowKey][$column] = new TableCell($value, ['colspan' => $cell->getColspan(), 'style' => $cell->getStyle()]); + if ($nbLines === $unmergedRowKey - $line) { + break; + } + } + } + } + foreach ($unmergedRows as $unmergedRowKey => $unmergedRow) { + // we need to know if $unmergedRow will be merged or inserted into $rows + if (isset($rows[$unmergedRowKey]) && \is_array($rows[$unmergedRowKey]) && $this->getNumberOfColumns($rows[$unmergedRowKey]) + $this->getNumberOfColumns($unmergedRows[$unmergedRowKey]) <= $this->numberOfColumns) { + foreach ($unmergedRow as $cellKey => $cell) { + // insert cell into row at cellKey position + \array_splice($rows[$unmergedRowKey], $cellKey, 0, [$cell]); + } + } else { + $row = $this->copyRow($rows, $unmergedRowKey - 1); + foreach ($unmergedRow as $column => $cell) { + if (!empty($cell)) { + $row[$column] = $unmergedRow[$column]; + } + } + \array_splice($rows, $unmergedRowKey, 0, [$row]); + } + } + $phabelReturn = $rows; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * fill cells for a row that contains colspan > 1. + */ + private function fillCells($row) + { + if (!(\is_array($row) || $row instanceof \Traversable)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($row) must be of type iterable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($row) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + $newRow = []; + foreach ($row as $column => $cell) { + $newRow[] = $cell; + if ($cell instanceof TableCell && $cell->getColspan() > 1) { + foreach (\range($column + 1, $column + $cell->getColspan() - 1) as $position) { + // insert empty value at column position + $newRow[] = ''; + } + } + } + return $newRow ?: $row; + } + private function copyRow(array $rows, $line) + { + if (!\is_int($line)) { + if (!(\is_bool($line) || \is_numeric($line))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($line) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $line = (int) $line; + } + } + $row = $rows[$line]; + foreach ($row as $cellKey => $cellValue) { + $row[$cellKey] = ''; + if ($cellValue instanceof TableCell) { + $row[$cellKey] = new TableCell('', ['colspan' => $cellValue->getColspan()]); + } + } + $phabelReturn = $row; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets number of columns by row. + */ + private function getNumberOfColumns(array $row) + { + $columns = \count($row); + foreach ($row as $column) { + $columns += $column instanceof TableCell ? $column->getColspan() - 1 : 0; + } + $phabelReturn = $columns; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets list of columns for the given row. + */ + private function getRowColumns(array $row) + { + $columns = \range(0, $this->numberOfColumns - 1); + foreach ($row as $cellKey => $cell) { + if ($cell instanceof TableCell && $cell->getColspan() > 1) { + // exclude grouped columns. + $columns = \array_diff($columns, \range($cellKey + 1, $cellKey + $cell->getColspan() - 1)); + } + } + $phabelReturn = $columns; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Calculates columns widths. + */ + private function calculateColumnsWidth($rows) + { + if (!(\is_array($rows) || $rows instanceof \Traversable)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($rows) must be of type iterable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($rows) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + for ($column = 0; $column < $this->numberOfColumns; ++$column) { + $lengths = []; + foreach ($rows as $row) { + if ($row instanceof TableSeparator) { + continue; + } + foreach ($row as $i => $cell) { + if ($cell instanceof TableCell) { + $textContent = Helper::removeDecoration($this->output->getFormatter(), $cell); + $textLength = Helper::width($textContent); + if ($textLength > 0) { + $contentColumns = \str_split($textContent, \ceil($textLength / $cell->getColspan())); + foreach ($contentColumns as $position => $content) { + $row[$i + $position] = $content; + } + } + } + } + $lengths[] = $this->getCellWidth($row, $column); + } + $this->effectiveColumnWidths[$column] = \max($lengths) + Helper::width($this->style->getCellRowContentFormat()) - 2; + } + } + private function getColumnSeparatorWidth() + { + $phabelReturn = Helper::width(\sprintf($this->style->getBorderFormat(), $this->style->getBorderChars()[3])); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + private function getCellWidth(array $row, $column) + { + if (!\is_int($column)) { + if (!(\is_bool($column) || \is_numeric($column))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($column) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($column) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $column = (int) $column; + } + } + $cellWidth = 0; + if (isset($row[$column])) { + $cell = $row[$column]; + $cellWidth = Helper::width(Helper::removeDecoration($this->output->getFormatter(), $cell)); + } + $columnWidth = isset($this->columnWidths[$column]) ? $this->columnWidths[$column] : 0; + $cellWidth = \max($cellWidth, $columnWidth); + $phabelReturn = isset($this->columnMaxWidths[$column]) ? \min($this->columnMaxWidths[$column], $cellWidth) : $cellWidth; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Called after rendering to cleanup cache data. + */ + private function cleanup() + { + $this->effectiveColumnWidths = []; + $this->numberOfColumns = null; + } + private static function initStyles() + { + $borderless = new TableStyle(); + $borderless->setHorizontalBorderChars('=')->setVerticalBorderChars(' ')->setDefaultCrossingChar(' '); + $compact = new TableStyle(); + $compact->setHorizontalBorderChars('')->setVerticalBorderChars(' ')->setDefaultCrossingChar('')->setCellRowContentFormat('%s'); + $styleGuide = new TableStyle(); + $styleGuide->setHorizontalBorderChars('-')->setVerticalBorderChars(' ')->setDefaultCrossingChar(' ')->setCellHeaderFormat('%s'); + $box = (new TableStyle())->setHorizontalBorderChars('─')->setVerticalBorderChars('│')->setCrossingChars('┼', '┌', '┬', '┐', '┤', '┘', '┴', '└', '├'); + $boxDouble = (new TableStyle())->setHorizontalBorderChars('═', '─')->setVerticalBorderChars('║', '│')->setCrossingChars('┼', '╔', '╤', '╗', '╢', '╝', '╧', '╚', '╟', '╠', '╪', '╣'); + $phabelReturn = ['default' => new TableStyle(), 'borderless' => $borderless, 'compact' => $compact, 'symfony-style-guide' => $styleGuide, 'box' => $box, 'box-double' => $boxDouble]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function resolveStyle($name) + { + if ($name instanceof TableStyle) { + $phabelReturn = $name; + if (!$phabelReturn instanceof TableStyle) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type TableStyle, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (isset(self::$styles[$name])) { + $phabelReturn = self::$styles[$name]; + if (!$phabelReturn instanceof TableStyle) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type TableStyle, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + throw new InvalidArgumentException(\sprintf('Style "%s" is not defined.', $name)); + throw new \TypeError(__METHOD__ . '(): Return value must be of type TableStyle, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } +} diff --git a/vendor-bundle/symfony/console/Helper/TableCell.php b/vendor-bundle/symfony/console/Helper/TableCell.php new file mode 100644 index 000000000..d10728089 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/TableCell.php @@ -0,0 +1,75 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +/** + * @author Abdellatif Ait boudad + */ +class TableCell +{ + private $value; + private $options = ['rowspan' => 1, 'colspan' => 1, 'style' => null]; + public function __construct($value = '', array $options = []) + { + if (!\is_string($value)) { + if (!(\is_string($value) || \is_object($value) && \method_exists($value, '__toString') || (\is_bool($value) || \is_numeric($value)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($value) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($value) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $value = (string) $value; + } + } + $this->value = $value; + // check option names + if ($diff = \array_diff(\array_keys($options), \array_keys($this->options))) { + throw new InvalidArgumentException(\sprintf('The TableCell does not support the following options: \'%s\'.', \implode('\', \'', $diff))); + } + if (isset($options['style']) && !$options['style'] instanceof TableCellStyle) { + throw new InvalidArgumentException('The style option must be an instance of "TableCellStyle".'); + } + $this->options = \array_merge($this->options, $options); + } + /** + * Returns the cell value. + * + * @return string + */ + public function __toString() + { + return $this->value; + } + /** + * Gets number of colspan. + * + * @return int + */ + public function getColspan() + { + return (int) $this->options['colspan']; + } + /** + * Gets number of rowspan. + * + * @return int + */ + public function getRowspan() + { + return (int) $this->options['rowspan']; + } + public function getStyle() + { + $phabelReturn = $this->options['style']; + if (!($phabelReturn instanceof TableCellStyle || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?TableCellStyle, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Helper/TableCellStyle.php b/vendor-bundle/symfony/console/Helper/TableCellStyle.php new file mode 100644 index 000000000..442ad9745 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/TableCellStyle.php @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +/** + * @author Yewhen Khoptynskyi + */ +class TableCellStyle +{ + const DEFAULT_ALIGN = 'left'; + private $options = ['fg' => 'default', 'bg' => 'default', 'options' => null, 'align' => self::DEFAULT_ALIGN, 'cellFormat' => null]; + private $tagOptions = ['fg', 'bg', 'options']; + private $alignMap = ['left' => \STR_PAD_RIGHT, 'center' => \STR_PAD_BOTH, 'right' => \STR_PAD_LEFT]; + public function __construct(array $options = []) + { + if ($diff = \array_diff(\array_keys($options), \array_keys($this->options))) { + throw new InvalidArgumentException(\sprintf('The TableCellStyle does not support the following options: \'%s\'.', \implode('\', \'', $diff))); + } + if (isset($options['align']) && !\array_key_exists($options['align'], $this->alignMap)) { + throw new InvalidArgumentException(\sprintf('Wrong align value. Value must be following: \'%s\'.', \implode('\', \'', \array_keys($this->alignMap)))); + } + $this->options = \array_merge($this->options, $options); + } + public function getOptions() + { + $phabelReturn = $this->options; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets options we need for tag for example fg, bg. + * + * @return string[] + */ + public function getTagOptions() + { + return \array_filter($this->getOptions(), function ($key) { + return \in_array($key, $this->tagOptions) && isset($this->options[$key]); + }, \ARRAY_FILTER_USE_KEY); + } + public function getPadByAlign() + { + return $this->alignMap[$this->getOptions()['align']]; + } + public function getCellFormat() + { + $phabelReturn = $this->getOptions()['cellFormat']; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Helper/TableRows.php b/vendor-bundle/symfony/console/Helper/TableRows.php new file mode 100644 index 000000000..b57f99bed --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/TableRows.php @@ -0,0 +1,32 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +/** + * @internal + */ +class TableRows implements \IteratorAggregate +{ + private $generator; + public function __construct(callable $generator) + { + $this->generator = $generator; + } + public function getIterator() + { + $g = $this->generator; + $phabelReturn = $g(); + if (!$phabelReturn instanceof \Traversable) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Traversable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Helper/TableSeparator.php b/vendor-bundle/symfony/console/Helper/TableSeparator.php new file mode 100644 index 000000000..80db0f9a1 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/TableSeparator.php @@ -0,0 +1,27 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +/** + * Marks a row as being a separator. + * + * @author Fabien Potencier + */ +class TableSeparator extends TableCell +{ + public function __construct($options = []) + { + if (!\is_array($options)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($options) must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($options) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + parent::__construct('', $options); + } +} diff --git a/vendor-bundle/symfony/console/Helper/TableStyle.php b/vendor-bundle/symfony/console/Helper/TableStyle.php new file mode 100644 index 000000000..7a6024086 --- /dev/null +++ b/vendor-bundle/symfony/console/Helper/TableStyle.php @@ -0,0 +1,541 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Helper; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\LogicException; +/** + * Defines the styles for a Table. + * + * @author Fabien Potencier + * @author Саша Стаменковић + * @author Dany Maillard + */ +class TableStyle +{ + private $paddingChar = ' '; + private $horizontalOutsideBorderChar = '-'; + private $horizontalInsideBorderChar = '-'; + private $verticalOutsideBorderChar = '|'; + private $verticalInsideBorderChar = '|'; + private $crossingChar = '+'; + private $crossingTopRightChar = '+'; + private $crossingTopMidChar = '+'; + private $crossingTopLeftChar = '+'; + private $crossingMidRightChar = '+'; + private $crossingBottomRightChar = '+'; + private $crossingBottomMidChar = '+'; + private $crossingBottomLeftChar = '+'; + private $crossingMidLeftChar = '+'; + private $crossingTopLeftBottomChar = '+'; + private $crossingTopMidBottomChar = '+'; + private $crossingTopRightBottomChar = '+'; + private $headerTitleFormat = ' %s '; + private $footerTitleFormat = ' %s '; + private $cellHeaderFormat = '%s'; + private $cellRowFormat = '%s'; + private $cellRowContentFormat = ' %s '; + private $borderFormat = '%s'; + private $padType = \STR_PAD_RIGHT; + /** + * Sets padding character, used for cell padding. + * + * @return $this + */ + public function setPaddingChar($paddingChar) + { + if (!\is_string($paddingChar)) { + if (!(\is_string($paddingChar) || \is_object($paddingChar) && \method_exists($paddingChar, '__toString') || (\is_bool($paddingChar) || \is_numeric($paddingChar)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($paddingChar) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($paddingChar) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $paddingChar = (string) $paddingChar; + } + } + if (!$paddingChar) { + throw new LogicException('The padding char must not be empty.'); + } + $this->paddingChar = $paddingChar; + return $this; + } + /** + * Gets padding character, used for cell padding. + * + * @return string + */ + public function getPaddingChar() + { + return $this->paddingChar; + } + /** + * Sets horizontal border characters. + * + * + * ╔═══════════════╤══════════════════════════╤══════════════════╗ + * 1 ISBN 2 Title │ Author ║ + * ╠═══════════════╪══════════════════════════╪══════════════════╣ + * ║ 99921-58-10-7 │ Divine Comedy │ Dante Alighieri ║ + * ║ 9971-5-0210-0 │ A Tale of Two Cities │ Charles Dickens ║ + * ║ 960-425-059-0 │ The Lord of the Rings │ J. R. R. Tolkien ║ + * ║ 80-902734-1-6 │ And Then There Were None │ Agatha Christie ║ + * ╚═══════════════╧══════════════════════════╧══════════════════╝ + * + */ + public function setHorizontalBorderChars($outside, $inside = null) + { + if (!\is_string($outside)) { + if (!(\is_string($outside) || \is_object($outside) && \method_exists($outside, '__toString') || (\is_bool($outside) || \is_numeric($outside)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($outside) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($outside) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $outside = (string) $outside; + } + } + if (!\is_null($inside)) { + if (!\is_string($inside)) { + if (!(\is_string($inside) || \is_object($inside) && \method_exists($inside, '__toString') || (\is_bool($inside) || \is_numeric($inside)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($inside) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($inside) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $inside = (string) $inside; + } + } + } + $this->horizontalOutsideBorderChar = $outside; + $this->horizontalInsideBorderChar = isset($inside) ? $inside : $outside; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets vertical border characters. + * + * + * ╔═══════════════╤══════════════════════════╤══════════════════╗ + * ║ ISBN │ Title │ Author ║ + * ╠═══════1═══════╪══════════════════════════╪══════════════════╣ + * ║ 99921-58-10-7 │ Divine Comedy │ Dante Alighieri ║ + * ║ 9971-5-0210-0 │ A Tale of Two Cities │ Charles Dickens ║ + * ╟───────2───────┼──────────────────────────┼──────────────────╢ + * ║ 960-425-059-0 │ The Lord of the Rings │ J. R. R. Tolkien ║ + * ║ 80-902734-1-6 │ And Then There Were None │ Agatha Christie ║ + * ╚═══════════════╧══════════════════════════╧══════════════════╝ + * + */ + public function setVerticalBorderChars($outside, $inside = null) + { + if (!\is_string($outside)) { + if (!(\is_string($outside) || \is_object($outside) && \method_exists($outside, '__toString') || (\is_bool($outside) || \is_numeric($outside)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($outside) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($outside) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $outside = (string) $outside; + } + } + if (!\is_null($inside)) { + if (!\is_string($inside)) { + if (!(\is_string($inside) || \is_object($inside) && \method_exists($inside, '__toString') || (\is_bool($inside) || \is_numeric($inside)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($inside) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($inside) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $inside = (string) $inside; + } + } + } + $this->verticalOutsideBorderChar = $outside; + $this->verticalInsideBorderChar = isset($inside) ? $inside : $outside; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets border characters. + * + * @internal + */ + public function getBorderChars() + { + $phabelReturn = [$this->horizontalOutsideBorderChar, $this->verticalOutsideBorderChar, $this->horizontalInsideBorderChar, $this->verticalInsideBorderChar]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets crossing characters. + * + * Example: + * + * 1═══════════════2══════════════════════════2══════════════════3 + * ║ ISBN │ Title │ Author ║ + * 8'══════════════0'═════════════════════════0'═════════════════4' + * ║ 99921-58-10-7 │ Divine Comedy │ Dante Alighieri ║ + * ║ 9971-5-0210-0 │ A Tale of Two Cities │ Charles Dickens ║ + * 8───────────────0──────────────────────────0──────────────────4 + * ║ 960-425-059-0 │ The Lord of the Rings │ J. R. R. Tolkien ║ + * ║ 80-902734-1-6 │ And Then There Were None │ Agatha Christie ║ + * 7═══════════════6══════════════════════════6══════════════════5 + * + * + * @param string $cross Crossing char (see #0 of example) + * @param string $topLeft Top left char (see #1 of example) + * @param string $topMid Top mid char (see #2 of example) + * @param string $topRight Top right char (see #3 of example) + * @param string $midRight Mid right char (see #4 of example) + * @param string $bottomRight Bottom right char (see #5 of example) + * @param string $bottomMid Bottom mid char (see #6 of example) + * @param string $bottomLeft Bottom left char (see #7 of example) + * @param string $midLeft Mid left char (see #8 of example) + * @param string|null $topLeftBottom Top left bottom char (see #8' of example), equals to $midLeft if null + * @param string|null $topMidBottom Top mid bottom char (see #0' of example), equals to $cross if null + * @param string|null $topRightBottom Top right bottom char (see #4' of example), equals to $midRight if null + */ + public function setCrossingChars($cross, $topLeft, $topMid, $topRight, $midRight, $bottomRight, $bottomMid, $bottomLeft, $midLeft, $topLeftBottom = null, $topMidBottom = null, $topRightBottom = null) + { + if (!\is_string($cross)) { + if (!(\is_string($cross) || \is_object($cross) && \method_exists($cross, '__toString') || (\is_bool($cross) || \is_numeric($cross)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($cross) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cross) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cross = (string) $cross; + } + } + if (!\is_string($topLeft)) { + if (!(\is_string($topLeft) || \is_object($topLeft) && \method_exists($topLeft, '__toString') || (\is_bool($topLeft) || \is_numeric($topLeft)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($topLeft) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($topLeft) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $topLeft = (string) $topLeft; + } + } + if (!\is_string($topMid)) { + if (!(\is_string($topMid) || \is_object($topMid) && \method_exists($topMid, '__toString') || (\is_bool($topMid) || \is_numeric($topMid)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($topMid) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($topMid) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $topMid = (string) $topMid; + } + } + if (!\is_string($topRight)) { + if (!(\is_string($topRight) || \is_object($topRight) && \method_exists($topRight, '__toString') || (\is_bool($topRight) || \is_numeric($topRight)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($topRight) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($topRight) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $topRight = (string) $topRight; + } + } + if (!\is_string($midRight)) { + if (!(\is_string($midRight) || \is_object($midRight) && \method_exists($midRight, '__toString') || (\is_bool($midRight) || \is_numeric($midRight)))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($midRight) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($midRight) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $midRight = (string) $midRight; + } + } + if (!\is_string($bottomRight)) { + if (!(\is_string($bottomRight) || \is_object($bottomRight) && \method_exists($bottomRight, '__toString') || (\is_bool($bottomRight) || \is_numeric($bottomRight)))) { + throw new \TypeError(__METHOD__ . '(): Argument #6 ($bottomRight) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($bottomRight) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $bottomRight = (string) $bottomRight; + } + } + if (!\is_string($bottomMid)) { + if (!(\is_string($bottomMid) || \is_object($bottomMid) && \method_exists($bottomMid, '__toString') || (\is_bool($bottomMid) || \is_numeric($bottomMid)))) { + throw new \TypeError(__METHOD__ . '(): Argument #7 ($bottomMid) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($bottomMid) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $bottomMid = (string) $bottomMid; + } + } + if (!\is_string($bottomLeft)) { + if (!(\is_string($bottomLeft) || \is_object($bottomLeft) && \method_exists($bottomLeft, '__toString') || (\is_bool($bottomLeft) || \is_numeric($bottomLeft)))) { + throw new \TypeError(__METHOD__ . '(): Argument #8 ($bottomLeft) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($bottomLeft) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $bottomLeft = (string) $bottomLeft; + } + } + if (!\is_string($midLeft)) { + if (!(\is_string($midLeft) || \is_object($midLeft) && \method_exists($midLeft, '__toString') || (\is_bool($midLeft) || \is_numeric($midLeft)))) { + throw new \TypeError(__METHOD__ . '(): Argument #9 ($midLeft) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($midLeft) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $midLeft = (string) $midLeft; + } + } + if (!\is_null($topLeftBottom)) { + if (!\is_string($topLeftBottom)) { + if (!(\is_string($topLeftBottom) || \is_object($topLeftBottom) && \method_exists($topLeftBottom, '__toString') || (\is_bool($topLeftBottom) || \is_numeric($topLeftBottom)))) { + throw new \TypeError(__METHOD__ . '(): Argument #10 ($topLeftBottom) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($topLeftBottom) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $topLeftBottom = (string) $topLeftBottom; + } + } + } + if (!\is_null($topMidBottom)) { + if (!\is_string($topMidBottom)) { + if (!(\is_string($topMidBottom) || \is_object($topMidBottom) && \method_exists($topMidBottom, '__toString') || (\is_bool($topMidBottom) || \is_numeric($topMidBottom)))) { + throw new \TypeError(__METHOD__ . '(): Argument #11 ($topMidBottom) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($topMidBottom) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $topMidBottom = (string) $topMidBottom; + } + } + } + if (!\is_null($topRightBottom)) { + if (!\is_string($topRightBottom)) { + if (!(\is_string($topRightBottom) || \is_object($topRightBottom) && \method_exists($topRightBottom, '__toString') || (\is_bool($topRightBottom) || \is_numeric($topRightBottom)))) { + throw new \TypeError(__METHOD__ . '(): Argument #12 ($topRightBottom) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($topRightBottom) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $topRightBottom = (string) $topRightBottom; + } + } + } + $this->crossingChar = $cross; + $this->crossingTopLeftChar = $topLeft; + $this->crossingTopMidChar = $topMid; + $this->crossingTopRightChar = $topRight; + $this->crossingMidRightChar = $midRight; + $this->crossingBottomRightChar = $bottomRight; + $this->crossingBottomMidChar = $bottomMid; + $this->crossingBottomLeftChar = $bottomLeft; + $this->crossingMidLeftChar = $midLeft; + $this->crossingTopLeftBottomChar = isset($topLeftBottom) ? $topLeftBottom : $midLeft; + $this->crossingTopMidBottomChar = isset($topMidBottom) ? $topMidBottom : $cross; + $this->crossingTopRightBottomChar = isset($topRightBottom) ? $topRightBottom : $midRight; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets default crossing character used for each cross. + * + * @see {@link setCrossingChars()} for setting each crossing individually. + */ + public function setDefaultCrossingChar($char) + { + if (!\is_string($char)) { + if (!(\is_string($char) || \is_object($char) && \method_exists($char, '__toString') || (\is_bool($char) || \is_numeric($char)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($char) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($char) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $char = (string) $char; + } + } + $phabelReturn = $this->setCrossingChars($char, $char, $char, $char, $char, $char, $char, $char, $char); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Gets crossing character. + * + * @return string + */ + public function getCrossingChar() + { + return $this->crossingChar; + } + /** + * Gets crossing characters. + * + * @internal + */ + public function getCrossingChars() + { + $phabelReturn = [$this->crossingChar, $this->crossingTopLeftChar, $this->crossingTopMidChar, $this->crossingTopRightChar, $this->crossingMidRightChar, $this->crossingBottomRightChar, $this->crossingBottomMidChar, $this->crossingBottomLeftChar, $this->crossingMidLeftChar, $this->crossingTopLeftBottomChar, $this->crossingTopMidBottomChar, $this->crossingTopRightBottomChar]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets header cell format. + * + * @return $this + */ + public function setCellHeaderFormat($cellHeaderFormat) + { + if (!\is_string($cellHeaderFormat)) { + if (!(\is_string($cellHeaderFormat) || \is_object($cellHeaderFormat) && \method_exists($cellHeaderFormat, '__toString') || (\is_bool($cellHeaderFormat) || \is_numeric($cellHeaderFormat)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($cellHeaderFormat) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cellHeaderFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cellHeaderFormat = (string) $cellHeaderFormat; + } + } + $this->cellHeaderFormat = $cellHeaderFormat; + return $this; + } + /** + * Gets header cell format. + * + * @return string + */ + public function getCellHeaderFormat() + { + return $this->cellHeaderFormat; + } + /** + * Sets row cell format. + * + * @return $this + */ + public function setCellRowFormat($cellRowFormat) + { + if (!\is_string($cellRowFormat)) { + if (!(\is_string($cellRowFormat) || \is_object($cellRowFormat) && \method_exists($cellRowFormat, '__toString') || (\is_bool($cellRowFormat) || \is_numeric($cellRowFormat)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($cellRowFormat) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cellRowFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cellRowFormat = (string) $cellRowFormat; + } + } + $this->cellRowFormat = $cellRowFormat; + return $this; + } + /** + * Gets row cell format. + * + * @return string + */ + public function getCellRowFormat() + { + return $this->cellRowFormat; + } + /** + * Sets row cell content format. + * + * @return $this + */ + public function setCellRowContentFormat($cellRowContentFormat) + { + if (!\is_string($cellRowContentFormat)) { + if (!(\is_string($cellRowContentFormat) || \is_object($cellRowContentFormat) && \method_exists($cellRowContentFormat, '__toString') || (\is_bool($cellRowContentFormat) || \is_numeric($cellRowContentFormat)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($cellRowContentFormat) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cellRowContentFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cellRowContentFormat = (string) $cellRowContentFormat; + } + } + $this->cellRowContentFormat = $cellRowContentFormat; + return $this; + } + /** + * Gets row cell content format. + * + * @return string + */ + public function getCellRowContentFormat() + { + return $this->cellRowContentFormat; + } + /** + * Sets table border format. + * + * @return $this + */ + public function setBorderFormat($borderFormat) + { + if (!\is_string($borderFormat)) { + if (!(\is_string($borderFormat) || \is_object($borderFormat) && \method_exists($borderFormat, '__toString') || (\is_bool($borderFormat) || \is_numeric($borderFormat)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($borderFormat) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($borderFormat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $borderFormat = (string) $borderFormat; + } + } + $this->borderFormat = $borderFormat; + return $this; + } + /** + * Gets table border format. + * + * @return string + */ + public function getBorderFormat() + { + return $this->borderFormat; + } + /** + * Sets cell padding type. + * + * @return $this + */ + public function setPadType($padType) + { + if (!\is_int($padType)) { + if (!(\is_bool($padType) || \is_numeric($padType))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($padType) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($padType) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $padType = (int) $padType; + } + } + if (!\in_array($padType, [\STR_PAD_LEFT, \STR_PAD_RIGHT, \STR_PAD_BOTH], \true)) { + throw new InvalidArgumentException('Invalid padding type. Expected one of (STR_PAD_LEFT, STR_PAD_RIGHT, STR_PAD_BOTH).'); + } + $this->padType = $padType; + return $this; + } + /** + * Gets cell padding type. + * + * @return int + */ + public function getPadType() + { + return $this->padType; + } + public function getHeaderTitleFormat() + { + $phabelReturn = $this->headerTitleFormat; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function setHeaderTitleFormat($format) + { + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $format = (string) $format; + } + } + $this->headerTitleFormat = $format; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getFooterTitleFormat() + { + $phabelReturn = $this->footerTitleFormat; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function setFooterTitleFormat($format) + { + if (!\is_string($format)) { + if (!(\is_string($format) || \is_object($format) && \method_exists($format, '__toString') || (\is_bool($format) || \is_numeric($format)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($format) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($format) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $format = (string) $format; + } + } + $this->footerTitleFormat = $format; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Input/ArgvInput.php b/vendor-bundle/symfony/console/Input/ArgvInput.php new file mode 100644 index 000000000..184001ffb --- /dev/null +++ b/vendor-bundle/symfony/console/Input/ArgvInput.php @@ -0,0 +1,378 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +use Phabel\Symfony\Component\Console\Exception\RuntimeException; +/** + * ArgvInput represents an input coming from the CLI arguments. + * + * Usage: + * + * $input = new ArgvInput(); + * + * By default, the `$_SERVER['argv']` array is used for the input values. + * + * This can be overridden by explicitly passing the input values in the constructor: + * + * $input = new ArgvInput($_SERVER['argv']); + * + * If you pass it yourself, don't forget that the first element of the array + * is the name of the running application. + * + * When passing an argument to the constructor, be sure that it respects + * the same rules as the argv one. It's almost always better to use the + * `StringInput` when you want to provide your own input. + * + * @author Fabien Potencier + * + * @see http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html + * @see http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html#tag_12_02 + */ +class ArgvInput extends Input +{ + private $tokens; + private $parsed; + public function __construct(array $argv = null, InputDefinition $definition = null) + { + $argv = isset($argv) ? $argv : (isset($_SERVER['argv']) ? $_SERVER['argv'] : []); + // strip the application name + \array_shift($argv); + $this->tokens = $argv; + parent::__construct($definition); + } + protected function setTokens(array $tokens) + { + $this->tokens = $tokens; + } + /** + * {@inheritdoc} + */ + protected function parse() + { + $parseOptions = \true; + $this->parsed = $this->tokens; + while (null !== ($token = \array_shift($this->parsed))) { + if ($parseOptions && '' == $token) { + $this->parseArgument($token); + } elseif ($parseOptions && '--' == $token) { + $parseOptions = \false; + } elseif ($parseOptions && \str_starts_with($token, '--')) { + $this->parseLongOption($token); + } elseif ($parseOptions && '-' === $token[0] && '-' !== $token) { + $this->parseShortOption($token); + } else { + $this->parseArgument($token); + } + } + } + /** + * Parses a short option. + */ + private function parseShortOption($token) + { + if (!\is_string($token)) { + if (!(\is_string($token) || \is_object($token) && \method_exists($token, '__toString') || (\is_bool($token) || \is_numeric($token)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($token) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($token) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $token = (string) $token; + } + } + $name = \substr($token, 1); + if (\strlen($name) > 1) { + if ($this->definition->hasShortcut($name[0]) && $this->definition->getOptionForShortcut($name[0])->acceptValue()) { + // an option with a value (with no space) + $this->addShortOption($name[0], \substr($name, 1)); + } else { + $this->parseShortOptionSet($name); + } + } else { + $this->addShortOption($name, null); + } + } + /** + * Parses a short option set. + * + * @throws RuntimeException When option given doesn't exist + */ + private function parseShortOptionSet($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $len = \strlen($name); + for ($i = 0; $i < $len; ++$i) { + if (!$this->definition->hasShortcut($name[$i])) { + $encoding = \mb_detect_encoding($name, null, \true); + throw new RuntimeException(\sprintf('The "-%s" option does not exist.', \false === $encoding ? $name[$i] : \mb_substr($name, $i, 1, $encoding))); + } + $option = $this->definition->getOptionForShortcut($name[$i]); + if ($option->acceptValue()) { + $this->addLongOption($option->getName(), $i === $len - 1 ? null : \substr($name, $i + 1)); + break; + } else { + $this->addLongOption($option->getName(), null); + } + } + } + /** + * Parses a long option. + */ + private function parseLongOption($token) + { + if (!\is_string($token)) { + if (!(\is_string($token) || \is_object($token) && \method_exists($token, '__toString') || (\is_bool($token) || \is_numeric($token)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($token) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($token) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $token = (string) $token; + } + } + $name = \substr($token, 2); + if (\false !== ($pos = \strpos($name, '='))) { + if (0 === \strlen($value = \substr($name, $pos + 1))) { + \array_unshift($this->parsed, $value); + } + $this->addLongOption(\substr($name, 0, $pos), $value); + } else { + $this->addLongOption($name, null); + } + } + /** + * Parses an argument. + * + * @throws RuntimeException When too many arguments are given + */ + private function parseArgument($token) + { + if (!\is_string($token)) { + if (!(\is_string($token) || \is_object($token) && \method_exists($token, '__toString') || (\is_bool($token) || \is_numeric($token)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($token) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($token) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $token = (string) $token; + } + } + $c = \count($this->arguments); + // if input is expecting another argument, add it + if ($this->definition->hasArgument($c)) { + $arg = $this->definition->getArgument($c); + $this->arguments[$arg->getName()] = $arg->isArray() ? [$token] : $token; + // if last argument isArray(), append token to last argument + } elseif ($this->definition->hasArgument($c - 1) && $this->definition->getArgument($c - 1)->isArray()) { + $arg = $this->definition->getArgument($c - 1); + $this->arguments[$arg->getName()][] = $token; + // unexpected argument + } else { + $all = $this->definition->getArguments(); + $symfonyCommandName = null; + if (($inputArgument = isset($all[$key = \array_key_first($all)]) ? $all[$key = \array_key_first($all)] : null) && 'command' === $inputArgument->getName()) { + $symfonyCommandName = isset($this->arguments['command']) ? $this->arguments['command'] : null; + unset($all[$key]); + } + if (\count($all)) { + if ($symfonyCommandName) { + $message = \sprintf('Too many arguments to "%s" command, expected arguments "%s".', $symfonyCommandName, \implode('" "', \array_keys($all))); + } else { + $message = \sprintf('Too many arguments, expected arguments "%s".', \implode('" "', \array_keys($all))); + } + } elseif ($symfonyCommandName) { + $message = \sprintf('No arguments expected for "%s" command, got "%s".', $symfonyCommandName, $token); + } else { + $message = \sprintf('No arguments expected, got "%s".', $token); + } + throw new RuntimeException($message); + } + } + /** + * Adds a short option value. + * + * @throws RuntimeException When option given doesn't exist + */ + private function addShortOption($shortcut, $value) + { + if (!\is_string($shortcut)) { + if (!(\is_string($shortcut) || \is_object($shortcut) && \method_exists($shortcut, '__toString') || (\is_bool($shortcut) || \is_numeric($shortcut)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($shortcut) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($shortcut) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $shortcut = (string) $shortcut; + } + } + if (!$this->definition->hasShortcut($shortcut)) { + throw new RuntimeException(\sprintf('The "-%s" option does not exist.', $shortcut)); + } + $this->addLongOption($this->definition->getOptionForShortcut($shortcut)->getName(), $value); + } + /** + * Adds a long option value. + * + * @throws RuntimeException When option given doesn't exist + */ + private function addLongOption($name, $value) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!$this->definition->hasOption($name)) { + if (!$this->definition->hasNegation($name)) { + throw new RuntimeException(\sprintf('The "--%s" option does not exist.', $name)); + } + $optionName = $this->definition->negationToName($name); + if (null !== $value) { + throw new RuntimeException(\sprintf('The "--%s" option does not accept a value.', $name)); + } + $this->options[$optionName] = \false; + return; + } + $option = $this->definition->getOption($name); + if (null !== $value && !$option->acceptValue()) { + throw new RuntimeException(\sprintf('The "--%s" option does not accept a value.', $name)); + } + if (\in_array($value, ['', null], \true) && $option->acceptValue() && \count($this->parsed)) { + // if option accepts an optional or mandatory argument + // let's see if there is one provided + $next = \array_shift($this->parsed); + if (isset($next[0]) && '-' !== $next[0] || \in_array($next, ['', null], \true)) { + $value = $next; + } else { + \array_unshift($this->parsed, $next); + } + } + if (null === $value) { + if ($option->isValueRequired()) { + throw new RuntimeException(\sprintf('The "--%s" option requires a value.', $name)); + } + if (!$option->isArray() && !$option->isValueOptional()) { + $value = \true; + } + } + if ($option->isArray()) { + $this->options[$name][] = $value; + } else { + $this->options[$name] = $value; + } + } + /** + * {@inheritdoc} + */ + public function getFirstArgument() + { + $isOption = \false; + foreach ($this->tokens as $i => $token) { + if ($token && '-' === $token[0]) { + if (\str_contains($token, '=') || !isset($this->tokens[$i + 1])) { + continue; + } + // If it's a long option, consider that everything after "--" is the option name. + // Otherwise, use the last char (if it's a short option set, only the last one can take a value with space separator) + $name = '-' === $token[1] ? \substr($token, 2) : \substr($token, -1); + if (!isset($this->options[$name]) && !$this->definition->hasShortcut($name)) { + // noop + } elseif ((isset($this->options[$name]) || isset($this->options[$name = $this->definition->shortcutToName($name)])) && $this->tokens[$i + 1] === $this->options[$name]) { + $isOption = \true; + } + continue; + } + if ($isOption) { + $isOption = \false; + continue; + } + return $token; + } + return null; + } + /** + * {@inheritdoc} + */ + public function hasParameterOption($values, $onlyParams = \false) + { + if (!\is_bool($onlyParams)) { + if (!(\is_bool($onlyParams) || \is_numeric($onlyParams) || \is_string($onlyParams))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($onlyParams) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($onlyParams) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $onlyParams = (bool) $onlyParams; + } + } + $values = (array) $values; + foreach ($this->tokens as $token) { + if ($onlyParams && '--' === $token) { + return \false; + } + foreach ($values as $value) { + // Options with values: + // For long options, test for '--option=' at beginning + // For short options, test for '-o' at beginning + $leading = \str_starts_with($value, '--') ? $value . '=' : $value; + if ($token === $value || '' !== $leading && \str_starts_with($token, $leading)) { + return \true; + } + } + } + return \false; + } + /** + * {@inheritdoc} + */ + public function getParameterOption($values, $default = \false, $onlyParams = \false) + { + if (!\is_bool($onlyParams)) { + if (!(\is_bool($onlyParams) || \is_numeric($onlyParams) || \is_string($onlyParams))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($onlyParams) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($onlyParams) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $onlyParams = (bool) $onlyParams; + } + } + $values = (array) $values; + $tokens = $this->tokens; + while (0 < \count($tokens)) { + $token = \array_shift($tokens); + if ($onlyParams && '--' === $token) { + return $default; + } + foreach ($values as $value) { + if ($token === $value) { + return \array_shift($tokens); + } + // Options with values: + // For long options, test for '--option=' at beginning + // For short options, test for '-o' at beginning + $leading = \str_starts_with($value, '--') ? $value . '=' : $value; + if ('' !== $leading && \str_starts_with($token, $leading)) { + return \substr($token, \strlen($leading)); + } + } + } + return $default; + } + /** + * Returns a stringified representation of the args passed to the command. + * + * @return string + */ + public function __toString() + { + $tokens = \array_map(function ($token) { + if (\preg_match('{^(-[^=]+=)(.+)}', $token, $match)) { + return $match[1] . $this->escapeToken($match[2]); + } + if ($token && '-' !== $token[0]) { + return $this->escapeToken($token); + } + return $token; + }, $this->tokens); + return \implode(' ', $tokens); + } +} diff --git a/vendor-bundle/symfony/console/Input/ArrayInput.php b/vendor-bundle/symfony/console/Input/ArrayInput.php new file mode 100644 index 000000000..717ba0e4d --- /dev/null +++ b/vendor-bundle/symfony/console/Input/ArrayInput.php @@ -0,0 +1,208 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\InvalidOptionException; +/** + * ArrayInput represents an input provided as an array. + * + * Usage: + * + * $input = new ArrayInput(['command' => 'foo:bar', 'foo' => 'bar', '--bar' => 'foobar']); + * + * @author Fabien Potencier + */ +class ArrayInput extends Input +{ + private $parameters; + public function __construct(array $parameters, InputDefinition $definition = null) + { + $this->parameters = $parameters; + parent::__construct($definition); + } + /** + * {@inheritdoc} + */ + public function getFirstArgument() + { + foreach ($this->parameters as $param => $value) { + if ($param && \is_string($param) && '-' === $param[0]) { + continue; + } + return $value; + } + return null; + } + /** + * {@inheritdoc} + */ + public function hasParameterOption($values, $onlyParams = \false) + { + if (!\is_bool($onlyParams)) { + if (!(\is_bool($onlyParams) || \is_numeric($onlyParams) || \is_string($onlyParams))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($onlyParams) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($onlyParams) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $onlyParams = (bool) $onlyParams; + } + } + $values = (array) $values; + foreach ($this->parameters as $k => $v) { + if (!\is_int($k)) { + $v = $k; + } + if ($onlyParams && '--' === $v) { + return \false; + } + if (\in_array($v, $values)) { + return \true; + } + } + return \false; + } + /** + * {@inheritdoc} + */ + public function getParameterOption($values, $default = \false, $onlyParams = \false) + { + if (!\is_bool($onlyParams)) { + if (!(\is_bool($onlyParams) || \is_numeric($onlyParams) || \is_string($onlyParams))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($onlyParams) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($onlyParams) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $onlyParams = (bool) $onlyParams; + } + } + $values = (array) $values; + foreach ($this->parameters as $k => $v) { + if ($onlyParams && ('--' === $k || \is_int($k) && '--' === $v)) { + return $default; + } + if (\is_int($k)) { + if (\in_array($v, $values)) { + return \true; + } + } elseif (\in_array($k, $values)) { + return $v; + } + } + return $default; + } + /** + * Returns a stringified representation of the args passed to the command. + * + * @return string + */ + public function __toString() + { + $params = []; + foreach ($this->parameters as $param => $val) { + if ($param && \is_string($param) && '-' === $param[0]) { + $glue = '-' === $param[1] ? '=' : ' '; + if (\is_array($val)) { + foreach ($val as $v) { + $params[] = $param . ('' != $v ? $glue . $this->escapeToken($v) : ''); + } + } else { + $params[] = $param . ('' != $val ? $glue . $this->escapeToken($val) : ''); + } + } else { + $params[] = \is_array($val) ? \implode(' ', \array_map([$this, 'escapeToken'], $val)) : $this->escapeToken($val); + } + } + return \implode(' ', $params); + } + /** + * {@inheritdoc} + */ + protected function parse() + { + foreach ($this->parameters as $key => $value) { + if ('--' === $key) { + return; + } + if (\str_starts_with($key, '--')) { + $this->addLongOption(\substr($key, 2), $value); + } elseif (\str_starts_with($key, '-')) { + $this->addShortOption(\substr($key, 1), $value); + } else { + $this->addArgument($key, $value); + } + } + } + /** + * Adds a short option value. + * + * @throws InvalidOptionException When option given doesn't exist + */ + private function addShortOption($shortcut, $value) + { + if (!\is_string($shortcut)) { + if (!(\is_string($shortcut) || \is_object($shortcut) && \method_exists($shortcut, '__toString') || (\is_bool($shortcut) || \is_numeric($shortcut)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($shortcut) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($shortcut) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $shortcut = (string) $shortcut; + } + } + if (!$this->definition->hasShortcut($shortcut)) { + throw new InvalidOptionException(\sprintf('The "-%s" option does not exist.', $shortcut)); + } + $this->addLongOption($this->definition->getOptionForShortcut($shortcut)->getName(), $value); + } + /** + * Adds a long option value. + * + * @throws InvalidOptionException When option given doesn't exist + * @throws InvalidOptionException When a required value is missing + */ + private function addLongOption($name, $value) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!$this->definition->hasOption($name)) { + if (!$this->definition->hasNegation($name)) { + throw new InvalidOptionException(\sprintf('The "--%s" option does not exist.', $name)); + } + $optionName = $this->definition->negationToName($name); + $this->options[$optionName] = \false; + return; + } + $option = $this->definition->getOption($name); + if (null === $value) { + if ($option->isValueRequired()) { + throw new InvalidOptionException(\sprintf('The "--%s" option requires a value.', $name)); + } + if (!$option->isValueOptional()) { + $value = \true; + } + } + $this->options[$name] = $value; + } + /** + * Adds an argument value. + * + * @param string|int $name The argument name + * @param mixed $value The value for the argument + * + * @throws InvalidArgumentException When argument given doesn't exist + */ + private function addArgument($name, $value) + { + if (!$this->definition->hasArgument($name)) { + throw new InvalidArgumentException(\sprintf('The "%s" argument does not exist.', $name)); + } + $this->arguments[$name] = $value; + } +} diff --git a/vendor-bundle/symfony/console/Input/Input.php b/vendor-bundle/symfony/console/Input/Input.php new file mode 100644 index 000000000..79f83c0e6 --- /dev/null +++ b/vendor-bundle/symfony/console/Input/Input.php @@ -0,0 +1,240 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\RuntimeException; +/** + * Input is the base class for all concrete Input classes. + * + * Three concrete classes are provided by default: + * + * * `ArgvInput`: The input comes from the CLI arguments (argv) + * * `StringInput`: The input is provided as a string + * * `ArrayInput`: The input is provided as an array + * + * @author Fabien Potencier + */ +abstract class Input implements InputInterface, StreamableInputInterface +{ + protected $definition; + protected $stream; + protected $options = []; + protected $arguments = []; + protected $interactive = \true; + public function __construct(InputDefinition $definition = null) + { + if (null === $definition) { + $this->definition = new InputDefinition(); + } else { + $this->bind($definition); + $this->validate(); + } + } + /** + * {@inheritdoc} + */ + public function bind(InputDefinition $definition) + { + $this->arguments = []; + $this->options = []; + $this->definition = $definition; + $this->parse(); + } + /** + * Processes command line arguments. + */ + protected abstract function parse(); + /** + * {@inheritdoc} + */ + public function validate() + { + $definition = $this->definition; + $givenArguments = $this->arguments; + $missingArguments = \array_filter(\array_keys($definition->getArguments()), function ($argument) use($definition, $givenArguments) { + return !\array_key_exists($argument, $givenArguments) && $definition->getArgument($argument)->isRequired(); + }); + if (\count($missingArguments) > 0) { + throw new RuntimeException(\sprintf('Not enough arguments (missing: "%s").', \implode(', ', $missingArguments))); + } + } + /** + * {@inheritdoc} + */ + public function isInteractive() + { + return $this->interactive; + } + /** + * {@inheritdoc} + */ + public function setInteractive($interactive) + { + if (!\is_bool($interactive)) { + if (!(\is_bool($interactive) || \is_numeric($interactive) || \is_string($interactive))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($interactive) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($interactive) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $interactive = (bool) $interactive; + } + } + $this->interactive = $interactive; + } + /** + * {@inheritdoc} + */ + public function getArguments() + { + return \array_merge($this->definition->getArgumentDefaults(), $this->arguments); + } + /** + * {@inheritdoc} + */ + public function getArgument($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!$this->definition->hasArgument($name)) { + throw new InvalidArgumentException(\sprintf('The "%s" argument does not exist.', $name)); + } + return isset($this->arguments[$name]) ? $this->arguments[$name] : $this->definition->getArgument($name)->getDefault(); + } + /** + * {@inheritdoc} + */ + public function setArgument($name, $value) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!$this->definition->hasArgument($name)) { + throw new InvalidArgumentException(\sprintf('The "%s" argument does not exist.', $name)); + } + $this->arguments[$name] = $value; + } + /** + * {@inheritdoc} + */ + public function hasArgument($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return $this->definition->hasArgument($name); + } + /** + * {@inheritdoc} + */ + public function getOptions() + { + return \array_merge($this->definition->getOptionDefaults(), $this->options); + } + /** + * {@inheritdoc} + */ + public function getOption($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if ($this->definition->hasNegation($name)) { + if (null === ($value = $this->getOption($this->definition->negationToName($name)))) { + return $value; + } + return !$value; + } + if (!$this->definition->hasOption($name)) { + throw new InvalidArgumentException(\sprintf('The "%s" option does not exist.', $name)); + } + return \array_key_exists($name, $this->options) ? $this->options[$name] : $this->definition->getOption($name)->getDefault(); + } + /** + * {@inheritdoc} + */ + public function setOption($name, $value) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if ($this->definition->hasNegation($name)) { + $this->options[$this->definition->negationToName($name)] = !$value; + return; + } elseif (!$this->definition->hasOption($name)) { + throw new InvalidArgumentException(\sprintf('The "%s" option does not exist.', $name)); + } + $this->options[$name] = $value; + } + /** + * {@inheritdoc} + */ + public function hasOption($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return $this->definition->hasOption($name) || $this->definition->hasNegation($name); + } + /** + * Escapes a token through escapeshellarg if it contains unsafe chars. + * + * @return string + */ + public function escapeToken($token) + { + if (!\is_string($token)) { + if (!(\is_string($token) || \is_object($token) && \method_exists($token, '__toString') || (\is_bool($token) || \is_numeric($token)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($token) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($token) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $token = (string) $token; + } + } + return \preg_match('{^[\\w-]+$}', $token) ? $token : \escapeshellarg($token); + } + /** + * {@inheritdoc} + */ + public function setStream($stream) + { + $this->stream = $stream; + } + /** + * {@inheritdoc} + */ + public function getStream() + { + return $this->stream; + } +} diff --git a/vendor-bundle/symfony/console/Input/InputArgument.php b/vendor-bundle/symfony/console/Input/InputArgument.php new file mode 100644 index 000000000..8b30bf109 --- /dev/null +++ b/vendor-bundle/symfony/console/Input/InputArgument.php @@ -0,0 +1,138 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\LogicException; +/** + * Represents a command line argument. + * + * @author Fabien Potencier + */ +class InputArgument +{ + const REQUIRED = 1; + const OPTIONAL = 2; + const IS_ARRAY = 4; + private $name; + private $mode; + private $default; + private $description; + /** + * @param string $name The argument name + * @param int|null $mode The argument mode: self::REQUIRED or self::OPTIONAL + * @param string $description A description text + * @param string|bool|int|float|array|null $default The default value (for self::OPTIONAL mode only) + * + * @throws InvalidArgumentException When argument mode is not valid + */ + public function __construct($name, $mode = null, $description = '', $default = null) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_null($mode)) { + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mode = (int) $mode; + } + } + } + if (!\is_string($description)) { + if (!(\is_string($description) || \is_object($description) && \method_exists($description, '__toString') || (\is_bool($description) || \is_numeric($description)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($description) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($description) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $description = (string) $description; + } + } + if (null === $mode) { + $mode = self::OPTIONAL; + } elseif ($mode > 7 || $mode < 1) { + throw new InvalidArgumentException(\sprintf('Argument mode "%s" is not valid.', $mode)); + } + $this->name = $name; + $this->mode = $mode; + $this->description = $description; + $this->setDefault($default); + } + /** + * Returns the argument name. + * + * @return string The argument name + */ + public function getName() + { + return $this->name; + } + /** + * Returns true if the argument is required. + * + * @return bool true if parameter mode is self::REQUIRED, false otherwise + */ + public function isRequired() + { + return self::REQUIRED === (self::REQUIRED & $this->mode); + } + /** + * Returns true if the argument can take multiple values. + * + * @return bool true if mode is self::IS_ARRAY, false otherwise + */ + public function isArray() + { + return self::IS_ARRAY === (self::IS_ARRAY & $this->mode); + } + /** + * Sets the default value. + * + * @param string|bool|int|float|array|null $default + * + * @throws LogicException When incorrect default value is given + */ + public function setDefault($default = null) + { + if (self::REQUIRED === $this->mode && null !== $default) { + throw new LogicException('Cannot set a default value except for InputArgument::OPTIONAL mode.'); + } + if ($this->isArray()) { + if (null === $default) { + $default = []; + } elseif (!\is_array($default)) { + throw new LogicException('A default value for an array argument must be an array.'); + } + } + $this->default = $default; + } + /** + * Returns the default value. + * + * @return string|bool|int|float|array|null + */ + public function getDefault() + { + return $this->default; + } + /** + * Returns the description text. + * + * @return string The description text + */ + public function getDescription() + { + return $this->description; + } +} diff --git a/vendor-bundle/symfony/console/Input/InputAwareInterface.php b/vendor-bundle/symfony/console/Input/InputAwareInterface.php new file mode 100644 index 000000000..24852f919 --- /dev/null +++ b/vendor-bundle/symfony/console/Input/InputAwareInterface.php @@ -0,0 +1,25 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +/** + * InputAwareInterface should be implemented by classes that depends on the + * Console Input. + * + * @author Wouter J + */ +interface InputAwareInterface +{ + /** + * Sets the Console Input. + */ + public function setInput(InputInterface $input); +} diff --git a/vendor-bundle/symfony/console/Input/InputDefinition.php b/vendor-bundle/symfony/console/Input/InputDefinition.php new file mode 100644 index 000000000..99b8cae9f --- /dev/null +++ b/vendor-bundle/symfony/console/Input/InputDefinition.php @@ -0,0 +1,452 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\LogicException; +/** + * A InputDefinition represents a set of valid command line arguments and options. + * + * Usage: + * + * $definition = new InputDefinition([ + * new InputArgument('name', InputArgument::REQUIRED), + * new InputOption('foo', 'f', InputOption::VALUE_REQUIRED), + * ]); + * + * @author Fabien Potencier + */ +class InputDefinition +{ + private $arguments; + private $requiredCount; + private $lastArrayArgument; + private $lastOptionalArgument; + private $options; + private $negations; + private $shortcuts; + /** + * @param array $definition An array of InputArgument and InputOption instance + */ + public function __construct(array $definition = []) + { + $this->setDefinition($definition); + } + /** + * Sets the definition of the input. + */ + public function setDefinition(array $definition) + { + $arguments = []; + $options = []; + foreach ($definition as $item) { + if ($item instanceof InputOption) { + $options[] = $item; + } else { + $arguments[] = $item; + } + } + $this->setArguments($arguments); + $this->setOptions($options); + } + /** + * Sets the InputArgument objects. + * + * @param InputArgument[] $arguments An array of InputArgument objects + */ + public function setArguments(array $arguments = []) + { + $this->arguments = []; + $this->requiredCount = 0; + $this->lastOptionalArgument = null; + $this->lastArrayArgument = null; + $this->addArguments($arguments); + } + /** + * Adds an array of InputArgument objects. + * + * @param InputArgument[] $arguments An array of InputArgument objects + */ + public function addArguments($arguments = []) + { + if (!(\is_array($arguments) || \is_null($arguments))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($arguments) must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($arguments) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (null !== $arguments) { + foreach ($arguments as $argument) { + $this->addArgument($argument); + } + } + } + /** + * @throws LogicException When incorrect argument is given + */ + public function addArgument(InputArgument $argument) + { + if (isset($this->arguments[$argument->getName()])) { + throw new LogicException(\sprintf('An argument with name "%s" already exists.', $argument->getName())); + } + if (null !== $this->lastArrayArgument) { + throw new LogicException(\sprintf('Cannot add a required argument "%s" after an array argument "%s".', $argument->getName(), $this->lastArrayArgument->getName())); + } + if ($argument->isRequired() && null !== $this->lastOptionalArgument) { + throw new LogicException(\sprintf('Cannot add a required argument "%s" after an optional one "%s".', $argument->getName(), $this->lastOptionalArgument->getName())); + } + if ($argument->isArray()) { + $this->lastArrayArgument = $argument; + } + if ($argument->isRequired()) { + ++$this->requiredCount; + } else { + $this->lastOptionalArgument = $argument; + } + $this->arguments[$argument->getName()] = $argument; + } + /** + * Returns an InputArgument by name or by position. + * + * @param string|int $name The InputArgument name or position + * + * @return InputArgument An InputArgument object + * + * @throws InvalidArgumentException When argument given doesn't exist + */ + public function getArgument($name) + { + if (!$this->hasArgument($name)) { + throw new InvalidArgumentException(\sprintf('The "%s" argument does not exist.', $name)); + } + $arguments = \is_int($name) ? \array_values($this->arguments) : $this->arguments; + return $arguments[$name]; + } + /** + * Returns true if an InputArgument object exists by name or position. + * + * @param string|int $name The InputArgument name or position + * + * @return bool true if the InputArgument object exists, false otherwise + */ + public function hasArgument($name) + { + $arguments = \is_int($name) ? \array_values($this->arguments) : $this->arguments; + return isset($arguments[$name]); + } + /** + * Gets the array of InputArgument objects. + * + * @return InputArgument[] An array of InputArgument objects + */ + public function getArguments() + { + return $this->arguments; + } + /** + * Returns the number of InputArguments. + * + * @return int The number of InputArguments + */ + public function getArgumentCount() + { + return null !== $this->lastArrayArgument ? \PHP_INT_MAX : \count($this->arguments); + } + /** + * Returns the number of required InputArguments. + * + * @return int The number of required InputArguments + */ + public function getArgumentRequiredCount() + { + return $this->requiredCount; + } + /** + * @return array + */ + public function getArgumentDefaults() + { + $values = []; + foreach ($this->arguments as $argument) { + $values[$argument->getName()] = $argument->getDefault(); + } + return $values; + } + /** + * Sets the InputOption objects. + * + * @param InputOption[] $options An array of InputOption objects + */ + public function setOptions(array $options = []) + { + $this->options = []; + $this->shortcuts = []; + $this->negations = []; + $this->addOptions($options); + } + /** + * Adds an array of InputOption objects. + * + * @param InputOption[] $options An array of InputOption objects + */ + public function addOptions(array $options = []) + { + foreach ($options as $option) { + $this->addOption($option); + } + } + /** + * @throws LogicException When option given already exist + */ + public function addOption(InputOption $option) + { + if (isset($this->options[$option->getName()]) && !$option->equals($this->options[$option->getName()])) { + throw new LogicException(\sprintf('An option named "%s" already exists.', $option->getName())); + } + if (isset($this->negations[$option->getName()])) { + throw new LogicException(\sprintf('An option named "%s" already exists.', $option->getName())); + } + if ($option->getShortcut()) { + foreach (\explode('|', $option->getShortcut()) as $shortcut) { + if (isset($this->shortcuts[$shortcut]) && !$option->equals($this->options[$this->shortcuts[$shortcut]])) { + throw new LogicException(\sprintf('An option with shortcut "%s" already exists.', $shortcut)); + } + } + } + $this->options[$option->getName()] = $option; + if ($option->getShortcut()) { + foreach (\explode('|', $option->getShortcut()) as $shortcut) { + $this->shortcuts[$shortcut] = $option->getName(); + } + } + if ($option->isNegatable()) { + $negatedName = 'no-' . $option->getName(); + if (isset($this->options[$negatedName])) { + throw new LogicException(\sprintf('An option named "%s" already exists.', $negatedName)); + } + $this->negations[$negatedName] = $option->getName(); + } + } + /** + * Returns an InputOption by name. + * + * @return InputOption A InputOption object + * + * @throws InvalidArgumentException When option given doesn't exist + */ + public function getOption($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!$this->hasOption($name)) { + throw new InvalidArgumentException(\sprintf('The "--%s" option does not exist.', $name)); + } + return $this->options[$name]; + } + /** + * Returns true if an InputOption object exists by name. + * + * This method can't be used to check if the user included the option when + * executing the command (use getOption() instead). + * + * @return bool true if the InputOption object exists, false otherwise + */ + public function hasOption($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return isset($this->options[$name]); + } + /** + * Gets the array of InputOption objects. + * + * @return InputOption[] An array of InputOption objects + */ + public function getOptions() + { + return $this->options; + } + /** + * Returns true if an InputOption object exists by shortcut. + * + * @return bool true if the InputOption object exists, false otherwise + */ + public function hasShortcut($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + return isset($this->shortcuts[$name]); + } + /** + * Returns true if an InputOption object exists by negated name. + */ + public function hasNegation($name) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + $phabelReturn = isset($this->negations[$name]); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets an InputOption by shortcut. + * + * @return InputOption An InputOption object + */ + public function getOptionForShortcut($shortcut) + { + if (!\is_string($shortcut)) { + if (!(\is_string($shortcut) || \is_object($shortcut) && \method_exists($shortcut, '__toString') || (\is_bool($shortcut) || \is_numeric($shortcut)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($shortcut) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($shortcut) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $shortcut = (string) $shortcut; + } + } + return $this->getOption($this->shortcutToName($shortcut)); + } + /** + * @return array + */ + public function getOptionDefaults() + { + $values = []; + foreach ($this->options as $option) { + $values[$option->getName()] = $option->getDefault(); + } + return $values; + } + /** + * Returns the InputOption name given a shortcut. + * + * @throws InvalidArgumentException When option given does not exist + * + * @internal + */ + public function shortcutToName($shortcut) + { + if (!\is_string($shortcut)) { + if (!(\is_string($shortcut) || \is_object($shortcut) && \method_exists($shortcut, '__toString') || (\is_bool($shortcut) || \is_numeric($shortcut)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($shortcut) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($shortcut) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $shortcut = (string) $shortcut; + } + } + if (!isset($this->shortcuts[$shortcut])) { + throw new InvalidArgumentException(\sprintf('The "-%s" option does not exist.', $shortcut)); + } + $phabelReturn = $this->shortcuts[$shortcut]; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns the InputOption name given a negation. + * + * @throws InvalidArgumentException When option given does not exist + * + * @internal + */ + public function negationToName($negation) + { + if (!\is_string($negation)) { + if (!(\is_string($negation) || \is_object($negation) && \method_exists($negation, '__toString') || (\is_bool($negation) || \is_numeric($negation)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($negation) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($negation) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $negation = (string) $negation; + } + } + if (!isset($this->negations[$negation])) { + throw new InvalidArgumentException(\sprintf('The "--%s" option does not exist.', $negation)); + } + $phabelReturn = $this->negations[$negation]; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Gets the synopsis. + * + * @return string The synopsis + */ + public function getSynopsis($short = \false) + { + if (!\is_bool($short)) { + if (!(\is_bool($short) || \is_numeric($short) || \is_string($short))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($short) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($short) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $short = (bool) $short; + } + } + $elements = []; + if ($short && $this->getOptions()) { + $elements[] = '[options]'; + } elseif (!$short) { + foreach ($this->getOptions() as $option) { + $value = ''; + if ($option->acceptValue()) { + $value = \sprintf(' %s%s%s', $option->isValueOptional() ? '[' : '', \strtoupper($option->getName()), $option->isValueOptional() ? ']' : ''); + } + $shortcut = $option->getShortcut() ? \sprintf('-%s|', $option->getShortcut()) : ''; + $negation = $option->isNegatable() ? \sprintf('|--no-%s', $option->getName()) : ''; + $elements[] = \sprintf('[%s--%s%s%s]', $shortcut, $option->getName(), $value, $negation); + } + } + if (\count($elements) && $this->getArguments()) { + $elements[] = '[--]'; + } + $tail = ''; + foreach ($this->getArguments() as $argument) { + $element = '<' . $argument->getName() . '>'; + if ($argument->isArray()) { + $element .= '...'; + } + if (!$argument->isRequired()) { + $element = '[' . $element; + $tail .= ']'; + } + $elements[] = $element; + } + return \implode(' ', $elements) . $tail; + } +} diff --git a/vendor-bundle/symfony/console/Input/InputInterface.php b/vendor-bundle/symfony/console/Input/InputInterface.php new file mode 100644 index 000000000..52030fd57 --- /dev/null +++ b/vendor-bundle/symfony/console/Input/InputInterface.php @@ -0,0 +1,135 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\RuntimeException; +/** + * InputInterface is the interface implemented by all input classes. + * + * @author Fabien Potencier + */ +interface InputInterface +{ + /** + * Returns the first argument from the raw parameters (not parsed). + * + * @return string|null The value of the first argument or null otherwise + */ + public function getFirstArgument(); + /** + * Returns true if the raw parameters (not parsed) contain a value. + * + * This method is to be used to introspect the input parameters + * before they have been validated. It must be used carefully. + * Does not necessarily return the correct result for short options + * when multiple flags are combined in the same option. + * + * @param string|array $values The values to look for in the raw parameters (can be an array) + * @param bool $onlyParams Only check real parameters, skip those following an end of options (--) signal + * + * @return bool true if the value is contained in the raw parameters + */ + public function hasParameterOption($values, $onlyParams = \false); + /** + * Returns the value of a raw option (not parsed). + * + * This method is to be used to introspect the input parameters + * before they have been validated. It must be used carefully. + * Does not necessarily return the correct result for short options + * when multiple flags are combined in the same option. + * + * @param string|array $values The value(s) to look for in the raw parameters (can be an array) + * @param string|bool|int|float|array|null $default The default value to return if no result is found + * @param bool $onlyParams Only check real parameters, skip those following an end of options (--) signal + * + * @return mixed The option value + */ + public function getParameterOption($values, $default = \false, $onlyParams = \false); + /** + * Binds the current Input instance with the given arguments and options. + * + * @throws RuntimeException + */ + public function bind(InputDefinition $definition); + /** + * Validates the input. + * + * @throws RuntimeException When not enough arguments are given + */ + public function validate(); + /** + * Returns all the given arguments merged with the default values. + * + * @return array + */ + public function getArguments(); + /** + * Returns the argument value for a given argument name. + * + * @return mixed + * + * @throws InvalidArgumentException When argument given doesn't exist + */ + public function getArgument($name); + /** + * Sets an argument value by name. + * + * @param mixed $value The argument value + * + * @throws InvalidArgumentException When argument given doesn't exist + */ + public function setArgument($name, $value); + /** + * Returns true if an InputArgument object exists by name or position. + * + * @return bool true if the InputArgument object exists, false otherwise + */ + public function hasArgument($name); + /** + * Returns all the given options merged with the default values. + * + * @return array + */ + public function getOptions(); + /** + * Returns the option value for a given option name. + * + * @return mixed + * + * @throws InvalidArgumentException When option given doesn't exist + */ + public function getOption($name); + /** + * Sets an option value by name. + * + * @param mixed $value The option value + * + * @throws InvalidArgumentException When option given doesn't exist + */ + public function setOption($name, $value); + /** + * Returns true if an InputOption object exists by name. + * + * @return bool true if the InputOption object exists, false otherwise + */ + public function hasOption($name); + /** + * Is this input means interactive? + * + * @return bool + */ + public function isInteractive(); + /** + * Sets the input interactivity. + */ + public function setInteractive($interactive); +} diff --git a/vendor-bundle/symfony/console/Input/InputOption.php b/vendor-bundle/symfony/console/Input/InputOption.php new file mode 100644 index 000000000..5cfc1b473 --- /dev/null +++ b/vendor-bundle/symfony/console/Input/InputOption.php @@ -0,0 +1,228 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\LogicException; +/** + * Represents a command line option. + * + * @author Fabien Potencier + */ +class InputOption +{ + /** + * Do not accept input for the option (e.g. --yell). This is the default behavior of options. + */ + const VALUE_NONE = 1; + /** + * A value must be passed when the option is used (e.g. --iterations=5 or -i5). + */ + const VALUE_REQUIRED = 2; + /** + * The option may or may not have a value (e.g. --yell or --yell=loud). + */ + const VALUE_OPTIONAL = 4; + /** + * The option accepts multiple values (e.g. --dir=/foo --dir=/bar). + */ + const VALUE_IS_ARRAY = 8; + /** + * The option may have either positive or negative value (e.g. --ansi or --no-ansi). + */ + const VALUE_NEGATABLE = 16; + private $name; + private $shortcut; + private $mode; + private $default; + private $description; + /** + * @param string $name The option name + * @param string|array|null $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts + * @param int|null $mode The option mode: One of the VALUE_* constants + * @param string $description A description text + * @param string|bool|int|float|array|null $default The default value (must be null for self::VALUE_NONE) + * + * @throws InvalidArgumentException If option mode is invalid or incompatible + */ + public function __construct($name, $shortcut = null, $mode = null, $description = '', $default = null) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_null($mode)) { + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($mode) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mode = (int) $mode; + } + } + } + if (!\is_string($description)) { + if (!(\is_string($description) || \is_object($description) && \method_exists($description, '__toString') || (\is_bool($description) || \is_numeric($description)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($description) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($description) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $description = (string) $description; + } + } + if (\str_starts_with($name, '--')) { + $name = \substr($name, 2); + } + if (empty($name)) { + throw new InvalidArgumentException('An option name cannot be empty.'); + } + if (empty($shortcut)) { + $shortcut = null; + } + if (null !== $shortcut) { + if (\is_array($shortcut)) { + $shortcut = \implode('|', $shortcut); + } + $shortcuts = \preg_split('{(\\|)-?}', \ltrim($shortcut, '-')); + $shortcuts = \array_filter($shortcuts); + $shortcut = \implode('|', $shortcuts); + if (empty($shortcut)) { + throw new InvalidArgumentException('An option shortcut cannot be empty.'); + } + } + if (null === $mode) { + $mode = self::VALUE_NONE; + } elseif ($mode >= self::VALUE_NEGATABLE << 1 || $mode < 1) { + throw new InvalidArgumentException(\sprintf('Option mode "%s" is not valid.', $mode)); + } + $this->name = $name; + $this->shortcut = $shortcut; + $this->mode = $mode; + $this->description = $description; + if ($this->isArray() && !$this->acceptValue()) { + throw new InvalidArgumentException('Impossible to have an option mode VALUE_IS_ARRAY if the option does not accept a value.'); + } + if ($this->isNegatable() && $this->acceptValue()) { + throw new InvalidArgumentException('Impossible to have an option mode VALUE_NEGATABLE if the option also accepts a value.'); + } + $this->setDefault($default); + } + /** + * Returns the option shortcut. + * + * @return string|null The shortcut + */ + public function getShortcut() + { + return $this->shortcut; + } + /** + * Returns the option name. + * + * @return string The name + */ + public function getName() + { + return $this->name; + } + /** + * Returns true if the option accepts a value. + * + * @return bool true if value mode is not self::VALUE_NONE, false otherwise + */ + public function acceptValue() + { + return $this->isValueRequired() || $this->isValueOptional(); + } + /** + * Returns true if the option requires a value. + * + * @return bool true if value mode is self::VALUE_REQUIRED, false otherwise + */ + public function isValueRequired() + { + return self::VALUE_REQUIRED === (self::VALUE_REQUIRED & $this->mode); + } + /** + * Returns true if the option takes an optional value. + * + * @return bool true if value mode is self::VALUE_OPTIONAL, false otherwise + */ + public function isValueOptional() + { + return self::VALUE_OPTIONAL === (self::VALUE_OPTIONAL & $this->mode); + } + /** + * Returns true if the option can take multiple values. + * + * @return bool true if mode is self::VALUE_IS_ARRAY, false otherwise + */ + public function isArray() + { + return self::VALUE_IS_ARRAY === (self::VALUE_IS_ARRAY & $this->mode); + } + public function isNegatable() + { + $phabelReturn = self::VALUE_NEGATABLE === (self::VALUE_NEGATABLE & $this->mode); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @param string|bool|int|float|array|null $default + */ + public function setDefault($default = null) + { + if (self::VALUE_NONE === (self::VALUE_NONE & $this->mode) && null !== $default) { + throw new LogicException('Cannot set a default value when using InputOption::VALUE_NONE mode.'); + } + if ($this->isArray()) { + if (null === $default) { + $default = []; + } elseif (!\is_array($default)) { + throw new LogicException('A default value for an array option must be an array.'); + } + } + $this->default = $this->acceptValue() || $this->isNegatable() ? $default : \false; + } + /** + * Returns the default value. + * + * @return string|bool|int|float|array|null + */ + public function getDefault() + { + return $this->default; + } + /** + * Returns the description text. + * + * @return string The description text + */ + public function getDescription() + { + return $this->description; + } + /** + * Checks whether the given option equals this one. + * + * @return bool + */ + public function equals(self $option) + { + return $option->getName() === $this->getName() && $option->getShortcut() === $this->getShortcut() && $option->getDefault() === $this->getDefault() && $option->isNegatable() === $this->isNegatable() && $option->isArray() === $this->isArray() && $option->isValueRequired() === $this->isValueRequired() && $option->isValueOptional() === $this->isValueOptional(); + } +} diff --git a/vendor-bundle/symfony/console/Input/StreamableInputInterface.php b/vendor-bundle/symfony/console/Input/StreamableInputInterface.php new file mode 100644 index 000000000..ba6f45f66 --- /dev/null +++ b/vendor-bundle/symfony/console/Input/StreamableInputInterface.php @@ -0,0 +1,35 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +/** + * StreamableInputInterface is the interface implemented by all input classes + * that have an input stream. + * + * @author Robin Chalas + */ +interface StreamableInputInterface extends InputInterface +{ + /** + * Sets the input stream to read from when interacting with the user. + * + * This is mainly useful for testing purpose. + * + * @param resource $stream The input stream + */ + public function setStream($stream); + /** + * Returns the input stream. + * + * @return resource|null + */ + public function getStream(); +} diff --git a/vendor-bundle/symfony/console/Input/StringInput.php b/vendor-bundle/symfony/console/Input/StringInput.php new file mode 100644 index 000000000..05a1b4002 --- /dev/null +++ b/vendor-bundle/symfony/console/Input/StringInput.php @@ -0,0 +1,79 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Input; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +/** + * StringInput represents an input provided as a string. + * + * Usage: + * + * $input = new StringInput('foo --bar="foobar"'); + * + * @author Fabien Potencier + */ +class StringInput extends ArgvInput +{ + const REGEX_STRING = '([^\\s]+?)(?:\\s|(?setTokens($this->tokenize($input)); + } + /** + * Tokenizes a string. + * + * @throws InvalidArgumentException When unable to parse input (should never happen) + */ + private function tokenize($input) + { + if (!\is_string($input)) { + if (!(\is_string($input) || \is_object($input) && \method_exists($input, '__toString') || (\is_bool($input) || \is_numeric($input)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($input) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($input) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $input = (string) $input; + } + } + $tokens = []; + $length = \strlen($input); + $cursor = 0; + while ($cursor < $length) { + if (\preg_match('/\\s+/A', $input, $match, 0, $cursor)) { + } elseif (\preg_match('/([^="\'\\s]+?)(=?)(' . self::REGEX_QUOTED_STRING . '+)/A', $input, $match, 0, $cursor)) { + $tokens[] = $match[1] . $match[2] . \stripcslashes(\str_replace(['"\'', '\'"', '\'\'', '""'], '', \substr($match[3], 1, -1))); + } elseif (\preg_match('/' . self::REGEX_QUOTED_STRING . '/A', $input, $match, 0, $cursor)) { + $tokens[] = \stripcslashes(\substr($match[0], 1, -1)); + } elseif (\preg_match('/' . self::REGEX_STRING . '/A', $input, $match, 0, $cursor)) { + $tokens[] = \stripcslashes($match[1]); + } else { + // should never happen + throw new InvalidArgumentException(\sprintf('Unable to parse input near "... %s ...".', \substr($input, $cursor, 10))); + } + $cursor += \strlen($match[0]); + } + $phabelReturn = $tokens; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Logger/ConsoleLogger.php b/vendor-bundle/symfony/console/Logger/ConsoleLogger.php new file mode 100644 index 000000000..8364bfeea --- /dev/null +++ b/vendor-bundle/symfony/console/Logger/ConsoleLogger.php @@ -0,0 +1,119 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Logger; + +use Phabel\Psr\Log\AbstractLogger; +use Phabel\Psr\Log\InvalidArgumentException; +use Phabel\Psr\Log\LogLevel; +use Phabel\Symfony\Component\Console\Output\ConsoleOutputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * PSR-3 compliant console logger. + * + * @author Kévin Dunglas + * + * @see https://www.php-fig.org/psr/psr-3/ + */ +class ConsoleLogger extends AbstractLogger +{ + const INFO = 'info'; + const ERROR = 'error'; + private $output; + private $verbosityLevelMap = [LogLevel::EMERGENCY => OutputInterface::VERBOSITY_NORMAL, LogLevel::ALERT => OutputInterface::VERBOSITY_NORMAL, LogLevel::CRITICAL => OutputInterface::VERBOSITY_NORMAL, LogLevel::ERROR => OutputInterface::VERBOSITY_NORMAL, LogLevel::WARNING => OutputInterface::VERBOSITY_NORMAL, LogLevel::NOTICE => OutputInterface::VERBOSITY_VERBOSE, LogLevel::INFO => OutputInterface::VERBOSITY_VERY_VERBOSE, LogLevel::DEBUG => OutputInterface::VERBOSITY_DEBUG]; + private $formatLevelMap = [LogLevel::EMERGENCY => self::ERROR, LogLevel::ALERT => self::ERROR, LogLevel::CRITICAL => self::ERROR, LogLevel::ERROR => self::ERROR, LogLevel::WARNING => self::INFO, LogLevel::NOTICE => self::INFO, LogLevel::INFO => self::INFO, LogLevel::DEBUG => self::INFO]; + private $errored = \false; + public function __construct(OutputInterface $output, array $verbosityLevelMap = [], array $formatLevelMap = []) + { + $this->output = $output; + $this->verbosityLevelMap = $verbosityLevelMap + $this->verbosityLevelMap; + $this->formatLevelMap = $formatLevelMap + $this->formatLevelMap; + } + /** + * {@inheritdoc} + * + * @return void + */ + public function log($level, $message, array $context = []) + { + if (!isset($this->verbosityLevelMap[$level])) { + throw new InvalidArgumentException(\sprintf('The log level "%s" does not exist.', $level)); + } + $output = $this->output; + // Write to the error output if necessary and available + if (self::ERROR === $this->formatLevelMap[$level]) { + if ($this->output instanceof ConsoleOutputInterface) { + $output = $output->getErrorOutput(); + } + $this->errored = \true; + } + // the if condition check isn't necessary -- it's the same one that $output will do internally anyway. + // We only do it for efficiency here as the message formatting is relatively expensive. + if ($output->getVerbosity() >= $this->verbosityLevelMap[$level]) { + $output->writeln(\sprintf('<%1$s>[%2$s] %3$s', $this->formatLevelMap[$level], $level, $this->interpolate($message, $context)), $this->verbosityLevelMap[$level]); + } + } + /** + * Returns true when any messages have been logged at error levels. + * + * @return bool + */ + public function hasErrored() + { + return $this->errored; + } + /** + * Interpolates context values into the message placeholders. + * + * @author PHP Framework Interoperability Group + */ + private function interpolate($message, array $context) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\str_contains($message, '{')) { + $phabelReturn = $message; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $replacements = []; + foreach ($context as $key => $val) { + if (null === $val || \is_scalar($val) || \is_object($val) && \method_exists($val, '__toString')) { + $replacements["{{$key}}"] = $val; + } elseif ($val instanceof \DateTimeInterface) { + $replacements["{{$key}}"] = $val->format(\DateTime::RFC3339); + } elseif (\is_object($val)) { + $replacements["{{$key}}"] = '[object ' . \get_class($val) . ']'; + } else { + $replacements["{{$key}}"] = '[' . \gettype($val) . ']'; + } + } + $phabelReturn = \strtr($message, $replacements); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Output/BufferedOutput.php b/vendor-bundle/symfony/console/Output/BufferedOutput.php new file mode 100644 index 000000000..f0555fba4 --- /dev/null +++ b/vendor-bundle/symfony/console/Output/BufferedOutput.php @@ -0,0 +1,54 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Output; + +/** + * @author Jean-François Simon + */ +class BufferedOutput extends Output +{ + private $buffer = ''; + /** + * Empties buffer and returns its content. + * + * @return string + */ + public function fetch() + { + $content = $this->buffer; + $this->buffer = ''; + return $content; + } + /** + * {@inheritdoc} + */ + protected function doWrite($message, $newline) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_bool($newline)) { + if (!(\is_bool($newline) || \is_numeric($newline) || \is_string($newline))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newline = (bool) $newline; + } + } + $this->buffer .= $message; + if ($newline) { + $this->buffer .= \PHP_EOL; + } + } +} diff --git a/vendor-bundle/symfony/console/Output/ConsoleOutput.php b/vendor-bundle/symfony/console/Output/ConsoleOutput.php new file mode 100644 index 000000000..5e98c8182 --- /dev/null +++ b/vendor-bundle/symfony/console/Output/ConsoleOutput.php @@ -0,0 +1,187 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Output; + +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterInterface; +/** + * ConsoleOutput is the default class for all CLI output. It uses STDOUT and STDERR. + * + * This class is a convenient wrapper around `StreamOutput` for both STDOUT and STDERR. + * + * $output = new ConsoleOutput(); + * + * This is equivalent to: + * + * $output = new StreamOutput(fopen('php://stdout', 'w')); + * $stdErr = new StreamOutput(fopen('php://stderr', 'w')); + * + * @author Fabien Potencier + */ +class ConsoleOutput extends StreamOutput implements ConsoleOutputInterface +{ + private $stderr; + private $consoleSectionOutputs = []; + /** + * @param int $verbosity The verbosity level (one of the VERBOSITY constants in OutputInterface) + * @param bool|null $decorated Whether to decorate messages (null for auto-guessing) + * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) + */ + public function __construct($verbosity = self::VERBOSITY_NORMAL, $decorated = null, $formatter = null) + { + if (!($formatter instanceof OutputFormatterInterface || \is_null($formatter))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($formatter) must be of type ?OutputFormatterInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($formatter) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_int($verbosity)) { + if (!(\is_bool($verbosity) || \is_numeric($verbosity))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($verbosity) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($verbosity) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $verbosity = (int) $verbosity; + } + } + if (!\is_null($decorated)) { + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($decorated) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + } + parent::__construct($this->openOutputStream(), $verbosity, $decorated, $formatter); + if (null === $formatter) { + // for BC reasons, stdErr has it own Formatter only when user don't inject a specific formatter. + $this->stderr = new StreamOutput($this->openErrorStream(), $verbosity, $decorated); + return; + } + $actualDecorated = $this->isDecorated(); + $this->stderr = new StreamOutput($this->openErrorStream(), $verbosity, $decorated, $this->getFormatter()); + if (null === $decorated) { + $this->setDecorated($actualDecorated && $this->stderr->isDecorated()); + } + } + /** + * Creates a new output section. + */ + public function section() + { + $phabelReturn = new ConsoleSectionOutput($this->getStream(), $this->consoleSectionOutputs, $this->getVerbosity(), $this->isDecorated(), $this->getFormatter()); + if (!$phabelReturn instanceof ConsoleSectionOutput) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ConsoleSectionOutput, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function setDecorated($decorated) + { + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + parent::setDecorated($decorated); + $this->stderr->setDecorated($decorated); + } + /** + * {@inheritdoc} + */ + public function setFormatter(OutputFormatterInterface $formatter) + { + parent::setFormatter($formatter); + $this->stderr->setFormatter($formatter); + } + /** + * {@inheritdoc} + */ + public function setVerbosity($level) + { + if (!\is_int($level)) { + if (!(\is_bool($level) || \is_numeric($level))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($level) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($level) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $level = (int) $level; + } + } + parent::setVerbosity($level); + $this->stderr->setVerbosity($level); + } + /** + * {@inheritdoc} + */ + public function getErrorOutput() + { + return $this->stderr; + } + /** + * {@inheritdoc} + */ + public function setErrorOutput(OutputInterface $error) + { + $this->stderr = $error; + } + /** + * Returns true if current environment supports writing console output to + * STDOUT. + * + * @return bool + */ + protected function hasStdoutSupport() + { + return \false === $this->isRunningOS400(); + } + /** + * Returns true if current environment supports writing console output to + * STDERR. + * + * @return bool + */ + protected function hasStderrSupport() + { + return \false === $this->isRunningOS400(); + } + /** + * Checks if current executing environment is IBM iSeries (OS400), which + * doesn't properly convert character-encodings between ASCII to EBCDIC. + */ + private function isRunningOS400() + { + $checks = [\function_exists('php_uname') ? \php_uname('s') : '', \getenv('OSTYPE'), \PHP_OS]; + $phabelReturn = \false !== \stripos(\implode(';', $checks), 'OS400'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return resource + */ + private function openOutputStream() + { + if (!$this->hasStdoutSupport()) { + return \fopen('php://output', 'w'); + } + return @\fopen('php://stdout', 'w') ?: \fopen('php://output', 'w'); + } + /** + * @return resource + */ + private function openErrorStream() + { + return \fopen($this->hasStderrSupport() ? 'php://stderr' : 'php://output', 'w'); + } +} diff --git a/vendor-bundle/symfony/console/Output/ConsoleOutputInterface.php b/vendor-bundle/symfony/console/Output/ConsoleOutputInterface.php new file mode 100644 index 000000000..f6d3f9be6 --- /dev/null +++ b/vendor-bundle/symfony/console/Output/ConsoleOutputInterface.php @@ -0,0 +1,29 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Output; + +/** + * ConsoleOutputInterface is the interface implemented by ConsoleOutput class. + * This adds information about stderr and section output stream. + * + * @author Dariusz Górecki + */ +interface ConsoleOutputInterface extends OutputInterface +{ + /** + * Gets the OutputInterface for errors. + * + * @return OutputInterface + */ + public function getErrorOutput(); + public function setErrorOutput(OutputInterface $error); + public function section(); +} diff --git a/vendor-bundle/symfony/console/Output/ConsoleSectionOutput.php b/vendor-bundle/symfony/console/Output/ConsoleSectionOutput.php new file mode 100644 index 000000000..444f04583 --- /dev/null +++ b/vendor-bundle/symfony/console/Output/ConsoleSectionOutput.php @@ -0,0 +1,208 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Output; + +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterInterface; +use Phabel\Symfony\Component\Console\Helper\Helper; +use Phabel\Symfony\Component\Console\Terminal; +/** + * @author Pierre du Plessis + * @author Gabriel Ostrolucký + */ +class ConsoleSectionOutput extends StreamOutput +{ + private $content = []; + private $lines = 0; + private $sections; + private $terminal; + /** + * @param resource $stream + * @param ConsoleSectionOutput[] $sections + */ + public function __construct($stream, &$sections, $verbosity, $decorated, OutputFormatterInterface $formatter) + { + if (!\is_array($sections)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($sections) must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($sections) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_int($verbosity)) { + if (!(\is_bool($verbosity) || \is_numeric($verbosity))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($verbosity) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($verbosity) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $verbosity = (int) $verbosity; + } + } + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + parent::__construct($stream, $verbosity, $decorated, $formatter); + \array_unshift($sections, $this); + $this->sections =& $sections; + $this->terminal = new Terminal(); + } + /** + * Clears previous output for this section. + * + * @param int $lines Number of lines to clear. If null, then the entire output of this section is cleared + */ + public function clear($lines = null) + { + if (!\is_null($lines)) { + if (!\is_int($lines)) { + if (!(\is_bool($lines) || \is_numeric($lines))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($lines) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($lines) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $lines = (int) $lines; + } + } + } + if (empty($this->content) || !$this->isDecorated()) { + return; + } + if ($lines) { + \array_splice($this->content, -($lines * 2)); + // Multiply lines by 2 to cater for each new line added between content + } else { + $lines = $this->lines; + $this->content = []; + } + $this->lines -= $lines; + parent::doWrite($this->popStreamContentUntilCurrentSection($lines), \false); + } + /** + * Overwrites the previous output with a new message. + * + * @param array|string $message + */ + public function overwrite($message) + { + $this->clear(); + $this->writeln($message); + } + public function getContent() + { + $phabelReturn = \implode('', $this->content); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @internal + */ + public function addContent($input) + { + if (!\is_string($input)) { + if (!(\is_string($input) || \is_object($input) && \method_exists($input, '__toString') || (\is_bool($input) || \is_numeric($input)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($input) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($input) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $input = (string) $input; + } + } + foreach (\explode(\PHP_EOL, $input) as $lineContent) { + $this->lines += \ceil($this->getDisplayLength($lineContent) / $this->terminal->getWidth()) ?: 1; + $this->content[] = $lineContent; + $this->content[] = \PHP_EOL; + } + } + /** + * {@inheritdoc} + */ + protected function doWrite($message, $newline) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_bool($newline)) { + if (!(\is_bool($newline) || \is_numeric($newline) || \is_string($newline))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newline = (bool) $newline; + } + } + if (!$this->isDecorated()) { + parent::doWrite($message, $newline); + return; + } + $erasedContent = $this->popStreamContentUntilCurrentSection(); + $this->addContent($message); + parent::doWrite($message, \true); + parent::doWrite($erasedContent, \false); + } + /** + * At initial stage, cursor is at the end of stream output. This method makes cursor crawl upwards until it hits + * current section. Then it erases content it crawled through. Optionally, it erases part of current section too. + */ + private function popStreamContentUntilCurrentSection($numberOfLinesToClearFromCurrentSection = 0) + { + if (!\is_int($numberOfLinesToClearFromCurrentSection)) { + if (!(\is_bool($numberOfLinesToClearFromCurrentSection) || \is_numeric($numberOfLinesToClearFromCurrentSection))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($numberOfLinesToClearFromCurrentSection) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($numberOfLinesToClearFromCurrentSection) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $numberOfLinesToClearFromCurrentSection = (int) $numberOfLinesToClearFromCurrentSection; + } + } + $numberOfLinesToClear = $numberOfLinesToClearFromCurrentSection; + $erasedContent = []; + foreach ($this->sections as $section) { + if ($section === $this) { + break; + } + $numberOfLinesToClear += $section->lines; + $erasedContent[] = $section->getContent(); + } + if ($numberOfLinesToClear > 0) { + // move cursor up n lines + parent::doWrite(\sprintf("\x1b[%dA", $numberOfLinesToClear), \false); + // erase to end of screen + parent::doWrite("\x1b[0J", \false); + } + $phabelReturn = \implode('', \array_reverse($erasedContent)); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function getDisplayLength($text) + { + if (!\is_string($text)) { + if (!(\is_string($text) || \is_object($text) && \method_exists($text, '__toString') || (\is_bool($text) || \is_numeric($text)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($text) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($text) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $text = (string) $text; + } + } + $phabelReturn = Helper::width(Helper::removeDecoration($this->getFormatter(), \str_replace("\t", ' ', $text))); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Output/NullOutput.php b/vendor-bundle/symfony/console/Output/NullOutput.php new file mode 100644 index 000000000..6a74e06e1 --- /dev/null +++ b/vendor-bundle/symfony/console/Output/NullOutput.php @@ -0,0 +1,149 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Output; + +use Phabel\Symfony\Component\Console\Formatter\NullOutputFormatter; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterInterface; +/** + * NullOutput suppresses all output. + * + * $output = new NullOutput(); + * + * @author Fabien Potencier + * @author Tobias Schultze + */ +class NullOutput implements OutputInterface +{ + private $formatter; + /** + * {@inheritdoc} + */ + public function setFormatter(OutputFormatterInterface $formatter) + { + // do nothing + } + /** + * {@inheritdoc} + */ + public function getFormatter() + { + if ($this->formatter) { + return $this->formatter; + } + // to comply with the interface we must return a OutputFormatterInterface + return $this->formatter = new NullOutputFormatter(); + } + /** + * {@inheritdoc} + */ + public function setDecorated($decorated) + { + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + // do nothing + } + /** + * {@inheritdoc} + */ + public function isDecorated() + { + return \false; + } + /** + * {@inheritdoc} + */ + public function setVerbosity($level) + { + if (!\is_int($level)) { + if (!(\is_bool($level) || \is_numeric($level))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($level) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($level) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $level = (int) $level; + } + } + // do nothing + } + /** + * {@inheritdoc} + */ + public function getVerbosity() + { + return self::VERBOSITY_QUIET; + } + /** + * {@inheritdoc} + */ + public function isQuiet() + { + return \true; + } + /** + * {@inheritdoc} + */ + public function isVerbose() + { + return \false; + } + /** + * {@inheritdoc} + */ + public function isVeryVerbose() + { + return \false; + } + /** + * {@inheritdoc} + */ + public function isDebug() + { + return \false; + } + /** + * {@inheritdoc} + */ + public function writeln($messages, $options = self::OUTPUT_NORMAL) + { + if (!\is_int($options)) { + if (!(\is_bool($options) || \is_numeric($options))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($options) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($options) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $options = (int) $options; + } + } + // do nothing + } + /** + * {@inheritdoc} + */ + public function write($messages, $newline = \false, $options = self::OUTPUT_NORMAL) + { + if (!\is_bool($newline)) { + if (!(\is_bool($newline) || \is_numeric($newline) || \is_string($newline))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newline = (bool) $newline; + } + } + if (!\is_int($options)) { + if (!(\is_bool($options) || \is_numeric($options))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($options) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($options) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $options = (int) $options; + } + } + // do nothing + } +} diff --git a/vendor-bundle/symfony/console/Output/Output.php b/vendor-bundle/symfony/console/Output/Output.php new file mode 100644 index 000000000..b332daa35 --- /dev/null +++ b/vendor-bundle/symfony/console/Output/Output.php @@ -0,0 +1,204 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Output; + +use Phabel\Symfony\Component\Console\Formatter\OutputFormatter; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterInterface; +/** + * Base class for output classes. + * + * There are five levels of verbosity: + * + * * normal: no option passed (normal output) + * * verbose: -v (more output) + * * very verbose: -vv (highly extended output) + * * debug: -vvv (all debug output) + * * quiet: -q (no output) + * + * @author Fabien Potencier + */ +abstract class Output implements OutputInterface +{ + private $verbosity; + private $formatter; + /** + * @param int $verbosity The verbosity level (one of the VERBOSITY constants in OutputInterface) + * @param bool $decorated Whether to decorate messages + * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) + */ + public function __construct($verbosity = self::VERBOSITY_NORMAL, $decorated = \false, OutputFormatterInterface $formatter = null) + { + if (!\is_null($verbosity)) { + if (!\is_int($verbosity)) { + if (!(\is_bool($verbosity) || \is_numeric($verbosity))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($verbosity) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($verbosity) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $verbosity = (int) $verbosity; + } + } + } + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + $this->verbosity = null === $verbosity ? self::VERBOSITY_NORMAL : $verbosity; + $this->formatter = isset($formatter) ? $formatter : new OutputFormatter(); + $this->formatter->setDecorated($decorated); + } + /** + * {@inheritdoc} + */ + public function setFormatter(OutputFormatterInterface $formatter) + { + $this->formatter = $formatter; + } + /** + * {@inheritdoc} + */ + public function getFormatter() + { + return $this->formatter; + } + /** + * {@inheritdoc} + */ + public function setDecorated($decorated) + { + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + $this->formatter->setDecorated($decorated); + } + /** + * {@inheritdoc} + */ + public function isDecorated() + { + return $this->formatter->isDecorated(); + } + /** + * {@inheritdoc} + */ + public function setVerbosity($level) + { + if (!\is_int($level)) { + if (!(\is_bool($level) || \is_numeric($level))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($level) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($level) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $level = (int) $level; + } + } + $this->verbosity = $level; + } + /** + * {@inheritdoc} + */ + public function getVerbosity() + { + return $this->verbosity; + } + /** + * {@inheritdoc} + */ + public function isQuiet() + { + return self::VERBOSITY_QUIET === $this->verbosity; + } + /** + * {@inheritdoc} + */ + public function isVerbose() + { + return self::VERBOSITY_VERBOSE <= $this->verbosity; + } + /** + * {@inheritdoc} + */ + public function isVeryVerbose() + { + return self::VERBOSITY_VERY_VERBOSE <= $this->verbosity; + } + /** + * {@inheritdoc} + */ + public function isDebug() + { + return self::VERBOSITY_DEBUG <= $this->verbosity; + } + /** + * {@inheritdoc} + */ + public function writeln($messages, $options = self::OUTPUT_NORMAL) + { + if (!\is_int($options)) { + if (!(\is_bool($options) || \is_numeric($options))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($options) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($options) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $options = (int) $options; + } + } + $this->write($messages, \true, $options); + } + /** + * {@inheritdoc} + */ + public function write($messages, $newline = \false, $options = self::OUTPUT_NORMAL) + { + if (!\is_bool($newline)) { + if (!(\is_bool($newline) || \is_numeric($newline) || \is_string($newline))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newline = (bool) $newline; + } + } + if (!\is_int($options)) { + if (!(\is_bool($options) || \is_numeric($options))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($options) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($options) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $options = (int) $options; + } + } + if (!\is_iterable($messages)) { + $messages = [$messages]; + } + $types = self::OUTPUT_NORMAL | self::OUTPUT_RAW | self::OUTPUT_PLAIN; + $type = $types & $options ?: self::OUTPUT_NORMAL; + $verbosities = self::VERBOSITY_QUIET | self::VERBOSITY_NORMAL | self::VERBOSITY_VERBOSE | self::VERBOSITY_VERY_VERBOSE | self::VERBOSITY_DEBUG; + $verbosity = $verbosities & $options ?: self::VERBOSITY_NORMAL; + if ($verbosity > $this->getVerbosity()) { + return; + } + foreach ($messages as $message) { + switch ($type) { + case OutputInterface::OUTPUT_NORMAL: + $message = $this->formatter->format($message); + break; + case OutputInterface::OUTPUT_RAW: + break; + case OutputInterface::OUTPUT_PLAIN: + $message = \strip_tags($this->formatter->format($message)); + break; + } + $this->doWrite(isset($message) ? $message : '', $newline); + } + } + /** + * Writes a message to the output. + */ + protected abstract function doWrite($message, $newline); +} diff --git a/vendor-bundle/symfony/console/Output/OutputInterface.php b/vendor-bundle/symfony/console/Output/OutputInterface.php new file mode 100644 index 000000000..4fd44caee --- /dev/null +++ b/vendor-bundle/symfony/console/Output/OutputInterface.php @@ -0,0 +1,95 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Output; + +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterInterface; +/** + * OutputInterface is the interface implemented by all Output classes. + * + * @author Fabien Potencier + */ +interface OutputInterface +{ + const VERBOSITY_QUIET = 16; + const VERBOSITY_NORMAL = 32; + const VERBOSITY_VERBOSE = 64; + const VERBOSITY_VERY_VERBOSE = 128; + const VERBOSITY_DEBUG = 256; + const OUTPUT_NORMAL = 1; + const OUTPUT_RAW = 2; + const OUTPUT_PLAIN = 4; + /** + * Writes a message to the output. + * + * @param string|iterable $messages The message as an iterable of strings or a single string + * @param bool $newline Whether to add a newline + * @param int $options A bitmask of options (one of the OUTPUT or VERBOSITY constants), 0 is considered the same as self::OUTPUT_NORMAL | self::VERBOSITY_NORMAL + */ + public function write($messages, $newline = \false, $options = 0); + /** + * Writes a message to the output and adds a newline at the end. + * + * @param string|iterable $messages The message as an iterable of strings or a single string + * @param int $options A bitmask of options (one of the OUTPUT or VERBOSITY constants), 0 is considered the same as self::OUTPUT_NORMAL | self::VERBOSITY_NORMAL + */ + public function writeln($messages, $options = 0); + /** + * Sets the verbosity of the output. + */ + public function setVerbosity($level); + /** + * Gets the current verbosity of the output. + * + * @return int The current level of verbosity (one of the VERBOSITY constants) + */ + public function getVerbosity(); + /** + * Returns whether verbosity is quiet (-q). + * + * @return bool true if verbosity is set to VERBOSITY_QUIET, false otherwise + */ + public function isQuiet(); + /** + * Returns whether verbosity is verbose (-v). + * + * @return bool true if verbosity is set to VERBOSITY_VERBOSE, false otherwise + */ + public function isVerbose(); + /** + * Returns whether verbosity is very verbose (-vv). + * + * @return bool true if verbosity is set to VERBOSITY_VERY_VERBOSE, false otherwise + */ + public function isVeryVerbose(); + /** + * Returns whether verbosity is debug (-vvv). + * + * @return bool true if verbosity is set to VERBOSITY_DEBUG, false otherwise + */ + public function isDebug(); + /** + * Sets the decorated flag. + */ + public function setDecorated($decorated); + /** + * Gets the decorated flag. + * + * @return bool true if the output will decorate messages, false otherwise + */ + public function isDecorated(); + public function setFormatter(OutputFormatterInterface $formatter); + /** + * Returns current output formatter instance. + * + * @return OutputFormatterInterface + */ + public function getFormatter(); +} diff --git a/vendor-bundle/symfony/console/Output/StreamOutput.php b/vendor-bundle/symfony/console/Output/StreamOutput.php new file mode 100644 index 000000000..692ae06e8 --- /dev/null +++ b/vendor-bundle/symfony/console/Output/StreamOutput.php @@ -0,0 +1,127 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Output; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterInterface; +/** + * StreamOutput writes the output to a given stream. + * + * Usage: + * + * $output = new StreamOutput(fopen('php://stdout', 'w')); + * + * As `StreamOutput` can use any stream, you can also use a file: + * + * $output = new StreamOutput(fopen('/path/to/output.log', 'a', false)); + * + * @author Fabien Potencier + */ +class StreamOutput extends Output +{ + private $stream; + /** + * @param resource $stream A stream resource + * @param int $verbosity The verbosity level (one of the VERBOSITY constants in OutputInterface) + * @param bool|null $decorated Whether to decorate messages (null for auto-guessing) + * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) + * + * @throws InvalidArgumentException When first argument is not a real stream + */ + public function __construct($stream, $verbosity = self::VERBOSITY_NORMAL, $decorated = null, OutputFormatterInterface $formatter = null) + { + if (!\is_int($verbosity)) { + if (!(\is_bool($verbosity) || \is_numeric($verbosity))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($verbosity) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($verbosity) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $verbosity = (int) $verbosity; + } + } + if (!\is_null($decorated)) { + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($decorated) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + } + if (!\is_resource($stream) || 'stream' !== \get_resource_type($stream)) { + throw new InvalidArgumentException('The StreamOutput class needs a stream as its first argument.'); + } + $this->stream = $stream; + if (null === $decorated) { + $decorated = $this->hasColorSupport(); + } + parent::__construct($verbosity, $decorated, $formatter); + } + /** + * Gets the stream attached to this StreamOutput instance. + * + * @return resource A stream resource + */ + public function getStream() + { + return $this->stream; + } + /** + * {@inheritdoc} + */ + protected function doWrite($message, $newline) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_bool($newline)) { + if (!(\is_bool($newline) || \is_numeric($newline) || \is_string($newline))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newline = (bool) $newline; + } + } + if ($newline) { + $message .= \PHP_EOL; + } + @\fwrite($this->stream, $message); + \fflush($this->stream); + } + /** + * Returns true if the stream supports colorization. + * + * Colorization is disabled if not supported by the stream: + * + * This is tricky on Windows, because Cygwin, Msys2 etc emulate pseudo + * terminals via named pipes, so we can only check the environment. + * + * Reference: Composer\XdebugHandler\Process::supportsColor + * https://github.com/composer/xdebug-handler + * + * @return bool true if the stream supports colorization, false otherwise + */ + protected function hasColorSupport() + { + // Follow https://no-color.org/ + if (isset($_SERVER['NO_COLOR']) || \false !== \getenv('NO_COLOR')) { + return \false; + } + if ('Hyper' === \getenv('TERM_PROGRAM')) { + return \true; + } + if (\DIRECTORY_SEPARATOR === '\\') { + return \function_exists('sapi_windows_vt100_support') && @\sapi_windows_vt100_support($this->stream) || \false !== \getenv('ANSICON') || 'ON' === \getenv('ConEmuANSI') || 'xterm' === \getenv('TERM'); + } + return \stream_isatty($this->stream); + } +} diff --git a/vendor-bundle/symfony/console/Output/TrimmedBufferOutput.php b/vendor-bundle/symfony/console/Output/TrimmedBufferOutput.php new file mode 100644 index 000000000..ed459b553 --- /dev/null +++ b/vendor-bundle/symfony/console/Output/TrimmedBufferOutput.php @@ -0,0 +1,91 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Output; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterInterface; +/** + * A BufferedOutput that keeps only the last N chars. + * + * @author Jérémy Derussé + */ +class TrimmedBufferOutput extends Output +{ + private $maxLength; + private $buffer = ''; + public function __construct($maxLength, $verbosity = self::VERBOSITY_NORMAL, $decorated = \false, OutputFormatterInterface $formatter = null) + { + if (!\is_int($maxLength)) { + if (!(\is_bool($maxLength) || \is_numeric($maxLength))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($maxLength) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($maxLength) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $maxLength = (int) $maxLength; + } + } + if (!\is_null($verbosity)) { + if (!\is_int($verbosity)) { + if (!(\is_bool($verbosity) || \is_numeric($verbosity))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($verbosity) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($verbosity) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $verbosity = (int) $verbosity; + } + } + } + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + if ($maxLength <= 0) { + throw new InvalidArgumentException(\sprintf('"%s()" expects a strictly positive maxLength. Got %d.', __METHOD__, $maxLength)); + } + parent::__construct($verbosity, $decorated, $formatter); + $this->maxLength = $maxLength; + } + /** + * Empties buffer and returns its content. + * + * @return string + */ + public function fetch() + { + $content = $this->buffer; + $this->buffer = ''; + return $content; + } + /** + * {@inheritdoc} + */ + protected function doWrite($message, $newline) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_bool($newline)) { + if (!(\is_bool($newline) || \is_numeric($newline) || \is_string($newline))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newline = (bool) $newline; + } + } + $this->buffer .= $message; + if ($newline) { + $this->buffer .= \PHP_EOL; + } + $this->buffer = \substr($this->buffer, 0 - $this->maxLength); + } +} diff --git a/vendor-bundle/symfony/console/Question/ChoiceQuestion.php b/vendor-bundle/symfony/console/Question/ChoiceQuestion.php new file mode 100644 index 000000000..4c1809c3c --- /dev/null +++ b/vendor-bundle/symfony/console/Question/ChoiceQuestion.php @@ -0,0 +1,192 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Question; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +/** + * Represents a choice question. + * + * @author Fabien Potencier + */ +class ChoiceQuestion extends Question +{ + private $choices; + private $multiselect = \false; + private $prompt = ' > '; + private $errorMessage = 'Value "%s" is invalid'; + /** + * @param string $question The question to ask to the user + * @param array $choices The list of available choices + * @param mixed $default The default answer to return + */ + public function __construct($question, $choices, $default = null) + { + if (!\is_array($choices)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($choices) must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($choices) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_string($question)) { + if (!(\is_string($question) || \is_object($question) && \method_exists($question, '__toString') || (\is_bool($question) || \is_numeric($question)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($question) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($question) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $question = (string) $question; + } + } + if (!$choices) { + throw new \LogicException('Choice question must have at least 1 choice available.'); + } + parent::__construct($question, $default); + $this->choices = $choices; + $this->setValidator($this->getDefaultValidator()); + $this->setAutocompleterValues($choices); + } + /** + * Returns available choices. + * + * @return array + */ + public function getChoices() + { + return $this->choices; + } + /** + * Sets multiselect option. + * + * When multiselect is set to true, multiple choices can be answered. + * + * @return $this + */ + public function setMultiselect($multiselect) + { + if (!\is_bool($multiselect)) { + if (!(\is_bool($multiselect) || \is_numeric($multiselect) || \is_string($multiselect))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($multiselect) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($multiselect) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $multiselect = (bool) $multiselect; + } + } + $this->multiselect = $multiselect; + $this->setValidator($this->getDefaultValidator()); + return $this; + } + /** + * Returns whether the choices are multiselect. + * + * @return bool + */ + public function isMultiselect() + { + return $this->multiselect; + } + /** + * Gets the prompt for choices. + * + * @return string + */ + public function getPrompt() + { + return $this->prompt; + } + /** + * Sets the prompt for choices. + * + * @return $this + */ + public function setPrompt($prompt) + { + if (!\is_string($prompt)) { + if (!(\is_string($prompt) || \is_object($prompt) && \method_exists($prompt, '__toString') || (\is_bool($prompt) || \is_numeric($prompt)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($prompt) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prompt) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $prompt = (string) $prompt; + } + } + $this->prompt = $prompt; + return $this; + } + /** + * Sets the error message for invalid values. + * + * The error message has a string placeholder (%s) for the invalid value. + * + * @return $this + */ + public function setErrorMessage($errorMessage) + { + if (!\is_string($errorMessage)) { + if (!(\is_string($errorMessage) || \is_object($errorMessage) && \method_exists($errorMessage, '__toString') || (\is_bool($errorMessage) || \is_numeric($errorMessage)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($errorMessage) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($errorMessage) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $errorMessage = (string) $errorMessage; + } + } + $this->errorMessage = $errorMessage; + $this->setValidator($this->getDefaultValidator()); + return $this; + } + private function getDefaultValidator() + { + $choices = $this->choices; + $errorMessage = $this->errorMessage; + $multiselect = $this->multiselect; + $isAssoc = $this->isAssoc($choices); + $phabelReturn = function ($selected) use($choices, $errorMessage, $multiselect, $isAssoc) { + if ($multiselect) { + // Check for a separated comma values + if (!\preg_match('/^[^,]+(?:,[^,]+)*$/', $selected, $matches)) { + throw new InvalidArgumentException(\sprintf($errorMessage, $selected)); + } + $selectedChoices = \explode(',', $selected); + } else { + $selectedChoices = [$selected]; + } + if ($this->isTrimmable()) { + foreach ($selectedChoices as $k => $v) { + $selectedChoices[$k] = \trim($v); + } + } + $multiselectChoices = []; + foreach ($selectedChoices as $value) { + $results = []; + foreach ($choices as $key => $choice) { + if ($choice === $value) { + $results[] = $key; + } + } + if (\count($results) > 1) { + throw new InvalidArgumentException(\sprintf('The provided answer is ambiguous. Value should be one of "%s".', \implode('" or "', $results))); + } + $result = \array_search($value, $choices); + if (!$isAssoc) { + if (\false !== $result) { + $result = $choices[$result]; + } elseif (isset($choices[$value])) { + $result = $choices[$value]; + } + } elseif (\false === $result && isset($choices[$value])) { + $result = $value; + } + if (\false === $result) { + throw new InvalidArgumentException(\sprintf($errorMessage, $value)); + } + // For associative choices, consistently return the key as string: + $multiselectChoices[] = $isAssoc ? (string) $result : $result; + } + if ($multiselect) { + return $multiselectChoices; + } + return \current($multiselectChoices); + }; + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Question/ConfirmationQuestion.php b/vendor-bundle/symfony/console/Question/ConfirmationQuestion.php new file mode 100644 index 000000000..6aa9233c7 --- /dev/null +++ b/vendor-bundle/symfony/console/Question/ConfirmationQuestion.php @@ -0,0 +1,75 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Question; + +/** + * Represents a yes/no question. + * + * @author Fabien Potencier + */ +class ConfirmationQuestion extends Question +{ + private $trueAnswerRegex; + /** + * @param string $question The question to ask to the user + * @param bool $default The default answer to return, true or false + * @param string $trueAnswerRegex A regex to match the "yes" answer + */ + public function __construct($question, $default = \true, $trueAnswerRegex = '/^y/i') + { + if (!\is_string($question)) { + if (!(\is_string($question) || \is_object($question) && \method_exists($question, '__toString') || (\is_bool($question) || \is_numeric($question)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($question) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($question) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $question = (string) $question; + } + } + if (!\is_bool($default)) { + if (!(\is_bool($default) || \is_numeric($default) || \is_string($default))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($default) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($default) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $default = (bool) $default; + } + } + if (!\is_string($trueAnswerRegex)) { + if (!(\is_string($trueAnswerRegex) || \is_object($trueAnswerRegex) && \method_exists($trueAnswerRegex, '__toString') || (\is_bool($trueAnswerRegex) || \is_numeric($trueAnswerRegex)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($trueAnswerRegex) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($trueAnswerRegex) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $trueAnswerRegex = (string) $trueAnswerRegex; + } + } + parent::__construct($question, $default); + $this->trueAnswerRegex = $trueAnswerRegex; + $this->setNormalizer($this->getDefaultNormalizer()); + } + /** + * Returns the default answer normalizer. + */ + private function getDefaultNormalizer() + { + $default = $this->getDefault(); + $regex = $this->trueAnswerRegex; + $phabelReturn = function ($answer) use($default, $regex) { + if (\is_bool($answer)) { + return $answer; + } + $answerIsTrue = (bool) \preg_match($regex, $answer); + if (\false === $default) { + return $answer && $answerIsTrue; + } + return '' === $answer || $answerIsTrue; + }; + if (!\is_callable($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Question/Question.php b/vendor-bundle/symfony/console/Question/Question.php new file mode 100644 index 000000000..bd982031f --- /dev/null +++ b/vendor-bundle/symfony/console/Question/Question.php @@ -0,0 +1,343 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Question; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\LogicException; +/** + * Represents a Question. + * + * @author Fabien Potencier + */ +class Question +{ + private $question; + private $attempts; + private $hidden = \false; + private $hiddenFallback = \true; + private $autocompleterCallback; + private $validator; + private $default; + private $normalizer; + private $trimmable = \true; + private $multiline = \false; + /** + * @param string $question The question to ask to the user + * @param string|bool|int|float|null $default The default answer to return if the user enters nothing + */ + public function __construct($question, $default = null) + { + if (!\is_string($question)) { + if (!(\is_string($question) || \is_object($question) && \method_exists($question, '__toString') || (\is_bool($question) || \is_numeric($question)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($question) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($question) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $question = (string) $question; + } + } + $this->question = $question; + $this->default = $default; + } + /** + * Returns the question. + * + * @return string + */ + public function getQuestion() + { + return $this->question; + } + /** + * Returns the default answer. + * + * @return string|bool|int|float|null + */ + public function getDefault() + { + return $this->default; + } + /** + * Returns whether the user response accepts newline characters. + */ + public function isMultiline() + { + $phabelReturn = $this->multiline; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Sets whether the user response should accept newline characters. + * + * @return $this + */ + public function setMultiline($multiline) + { + if (!\is_bool($multiline)) { + if (!(\is_bool($multiline) || \is_numeric($multiline) || \is_string($multiline))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($multiline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($multiline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $multiline = (bool) $multiline; + } + } + $this->multiline = $multiline; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Returns whether the user response must be hidden. + * + * @return bool + */ + public function isHidden() + { + return $this->hidden; + } + /** + * Sets whether the user response must be hidden or not. + * + * @return $this + * + * @throws LogicException In case the autocompleter is also used + */ + public function setHidden($hidden) + { + if (!\is_bool($hidden)) { + if (!(\is_bool($hidden) || \is_numeric($hidden) || \is_string($hidden))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($hidden) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($hidden) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $hidden = (bool) $hidden; + } + } + if ($this->autocompleterCallback) { + throw new LogicException('A hidden question cannot use the autocompleter.'); + } + $this->hidden = (bool) $hidden; + return $this; + } + /** + * In case the response can not be hidden, whether to fallback on non-hidden question or not. + * + * @return bool + */ + public function isHiddenFallback() + { + return $this->hiddenFallback; + } + /** + * Sets whether to fallback on non-hidden question if the response can not be hidden. + * + * @return $this + */ + public function setHiddenFallback($fallback) + { + if (!\is_bool($fallback)) { + if (!(\is_bool($fallback) || \is_numeric($fallback) || \is_string($fallback))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($fallback) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($fallback) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $fallback = (bool) $fallback; + } + } + $this->hiddenFallback = (bool) $fallback; + return $this; + } + /** + * Gets values for the autocompleter. + * + * @return iterable|null + */ + public function getAutocompleterValues() + { + $callback = $this->getAutocompleterCallback(); + return $callback ? $callback('') : null; + } + /** + * Sets values for the autocompleter. + * + * @return $this + * + * @throws LogicException + */ + public function setAutocompleterValues($values) + { + if (!(\is_array($values) || $values instanceof \Traversable || \is_null($values))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($values) must be of type ?iterable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($values) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (\is_array($values)) { + $values = $this->isAssoc($values) ? \array_merge(\array_keys($values), \array_values($values)) : \array_values($values); + $callback = static function () use($values) { + return $values; + }; + } elseif ($values instanceof \Traversable) { + $valueCache = null; + $callback = static function () use($values, &$valueCache) { + return isset($valueCache) ? $valueCache : ($valueCache = \iterator_to_array($values, \false)); + }; + } else { + $callback = null; + } + return $this->setAutocompleterCallback($callback); + } + /** + * Gets the callback function used for the autocompleter. + */ + public function getAutocompleterCallback() + { + $phabelReturn = $this->autocompleterCallback; + if (!(\is_callable($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?callable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets the callback function used for the autocompleter. + * + * The callback is passed the user input as argument and should return an iterable of corresponding suggestions. + * + * @return $this + */ + public function setAutocompleterCallback(callable $callback = null) + { + if ($this->hidden && null !== $callback) { + throw new LogicException('A hidden question cannot use the autocompleter.'); + } + $this->autocompleterCallback = $callback; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Sets a validator for the question. + * + * @return $this + */ + public function setValidator(callable $validator = null) + { + $this->validator = $validator; + return $this; + } + /** + * Gets the validator for the question. + * + * @return callable|null + */ + public function getValidator() + { + return $this->validator; + } + /** + * Sets the maximum number of attempts. + * + * Null means an unlimited number of attempts. + * + * @return $this + * + * @throws InvalidArgumentException in case the number of attempts is invalid + */ + public function setMaxAttempts($attempts) + { + if (!\is_null($attempts)) { + if (!\is_int($attempts)) { + if (!(\is_bool($attempts) || \is_numeric($attempts))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($attempts) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($attempts) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $attempts = (int) $attempts; + } + } + } + if (null !== $attempts) { + $attempts = (int) $attempts; + if ($attempts < 1) { + throw new InvalidArgumentException('Maximum number of attempts must be a positive value.'); + } + } + $this->attempts = $attempts; + return $this; + } + /** + * Gets the maximum number of attempts. + * + * Null means an unlimited number of attempts. + * + * @return int|null + */ + public function getMaxAttempts() + { + return $this->attempts; + } + /** + * Sets a normalizer for the response. + * + * The normalizer can be a callable (a string), a closure or a class implementing __invoke. + * + * @return $this + */ + public function setNormalizer(callable $normalizer) + { + $this->normalizer = $normalizer; + return $this; + } + /** + * Gets the normalizer for the response. + * + * The normalizer can ba a callable (a string), a closure or a class implementing __invoke. + * + * @return callable|null + */ + public function getNormalizer() + { + return $this->normalizer; + } + protected function isAssoc(array $array) + { + return (bool) \count(\array_filter(\array_keys($array), 'is_string')); + } + public function isTrimmable() + { + $phabelReturn = $this->trimmable; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return $this + */ + public function setTrimmable($trimmable) + { + if (!\is_bool($trimmable)) { + if (!(\is_bool($trimmable) || \is_numeric($trimmable) || \is_string($trimmable))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($trimmable) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($trimmable) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $trimmable = (bool) $trimmable; + } + } + $this->trimmable = $trimmable; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Resources/bin/hiddeninput.exe b/vendor-bundle/symfony/console/Resources/bin/hiddeninput.exe new file mode 100644 index 0000000000000000000000000000000000000000..c8cf65e8d819e6e525121cf6b21f1c2429746038 GIT binary patch literal 9216 zcmeHNe{@sVeZR8hV88~S)=Hp|Mpn({rC^@)BwNOI{ERJXCYlx+k1K6PLHo z_e!z_fhOzeA3JTX&-Z@s{rFOgjEwBlqjr!)9f zjyHz`A+ni`!0Taby{Uj5Y>jQq(k5A+X})PLWAi|{IZbtc8n^^trM{GI=P_15U6d?l zJJ3PW8XjfHpR}6`k{&5@JcEeH_SqQoQbU62o2YS30W)p_t&Fjy*RXQCZt$gCf|ao| zx&3R}m6|-Lfi@pua=$26n(UlnWo$>K67*|+#(qL_An=?l0M02AhOSJDv3;~?1ORfw z76EdK#MpSHqACHLcnJLIYlCSiX4eS@Pr8rN)Xwz0dk7O*y^0_C(Yks2Kvg! z-d-fJ)F9@k?>)m(XqDKIe2OKfhCQde9fpO0ko24yn*4xzX7q+ze`Z*=aJgwV?D?73 zaJ8UkSk|NN>@-|mB*f`EIK7$ElgAB<7p&p`^Vuq$58#;?B^*Bz7&d$B#+AYUC z(^m|`7{lqx&b^5$;i`j|S!+u|lcaQplp_&Nb)!>r>vGh3wb!tW zLq6%bkSt8jO|(vWH>LiPV(Xkp%BiGhl1q!PXXNKVKE!>Y5cHc2%cJOJA{-&ZsSn`T z#8~TA#(HWH4m>uCd+kCMTFgMI*s*n3!iCOwEI`{vGcVhzDu!Lw%-Ea^JATtrF`q3`+#KvvYJ0vM~A}D#LOD zlw`4ncB0U*Jji=--Wz#>I&5?hy;MgYW2u91d8ob=7MWfY`u;7Xe-J{Qsb0=0p|SM2 zG|=~mERIj4?gi)Ew|{LIN#oAsh20k_khIYjJBBN6rrIJ=eQO=nE;rTnPSiaQS$1$# z+|JRh0!IbQIa*f1(TZ}QM;|WO0+jTy(e)ggN4>zqp2E>C>hGPLHjHBh--2%@{EZNE zbUk{<3MABX&20QwK{MxK8`1Vk>^%dO5i@VTfu>NG3$K4NC=hSPsj9UYy`rNO}sBnB9QdKdIk7G+2_amnWstdTYVg z7HgLJGC~XLZG`63GwH8PdO_+G(k6~?J8Wj5mQos#21kC4W#2)guQXI)!z^{@F)U)5 z*re+r(2dib3D4P~%Z6TL=$PIkpmm<_#isu%t=%DcIwNkJhMeJ|bpahHO%8h|y~Ccf zUg#xVk+dyu>Q1O7JZ~8KS>tqi0qK**X*y6yHM71`bT=kFZ=@E%oe2!Km1^2sa>v+onZ%x_>aOJF+N0{i~z|<(IzgT*{0PpQq}E zQpU35@bm;qI?t_znGI&5&4sZV>+%m}w$(4hSDvLk)l<{5XyMlnCl7C%AjM3XnWvVz z{NoFsX)JB)SoqABZxUa*Yq+^^(cbq4mL%^lO12c${z{pf+)|kTTI~nQywyYF6}6|8 zlsN9&{-vwTrTyu<5^90_AsIU-ID#ZG@6d%poU44<**%xVe?`uxf}_Mr$SLHLS|K_N zQnw>(Lr2U=%$-<2D~RSzbG)2W2u^KMDnFFE?GmmbQ)V)fty957F`4OvQ_25E68ITr z5?`suu`|v?r!y=gFOGj$%9IJ zuTP=&2GcnoZZ0qSe6YL-*-lg>Q#>?Ew`a=GDc4vI#<1sNdKn?n7iSj0Orl$-#FMFi zykr>X-Xvi>sVr;92+8*H!r|3L$#o~hXa0z>AmF=z z?|@FF;*S|S0yqsw0j>Z(3mX-HD!|{N-vYc9paC8Ld=|6?00!6(_%lERupO`&um*4k z0b~W>e*uhTe4;V;mq>(ox$9FB`wLt!*DKj~!aOh|fL&#Pg*b??tm%5~_6M#02wqeC zS~wO>TWGnSp^r<0&8f2V6W->w=C+p~daC5e5wNQM*(* z66^}b0(!q3)zq$mu&VnbR#nr3;h5DS*o7{y66=!#;Dy4$pd1ZH<6WEOi0oJ8SxRL* z*v-9@Z^2w%^S(w5dO{_9Duby%2RT~;ppxaE$l()x6&}>7Wcg=u_&>f`Vs8OJGTy{X z2HpG=ThJz<{%|4Qq-~ad0qcrc87n88DHpM(nypwXIkZn<{zIT$ul&BQ?{ApCAZtyr zs2YpNt@x(G*faTU*HCKnAk(G=Tl~>r1QK8LY~J8mFFGoN5iIkYSwlm4Lsj#g4dsE5 zU-4;*Kdh-zv!rT4N$O}Q&n)?v0-9Y)lRFz58^P-KtKonzrfQ1p@0V_10^0||cGRn9 zRG<-#_TEV2nn4{BOh{YVBR4e!V!D?0K%BAlQN!D%M#k1bHypiIHT)5tlj>p0Pp_;+ z!cqC-JIs@JRhB+#teGs$Cib_=(yjRo4OJg^YPg%58aJVsC(LQ?W6%pn!-#aMZwoPcopo^Rn6BE z3=c5&W5~pP(C(-2r;PnH-S0{F`runM0ERCf3rESX$+S(MKOXmKJL9zXF}9-lf^xUs z+bb)+P%L&gV@<4q{6w^xEJ>Y>TQFUeoz0o-yq)jUqww=?wjUO8Y{a5G;DJ0Jr!LL+ zWhgsLuzi&eDrGDn$2DJwpFfH-?SGWbr>qRb?v{P`_%)So)CQgzO^HQ%;y#tJ=knH4 z95jX;^bF#BiuTH^%-j}{9VrZD=R%Q%wselH^p>5 z7d>gWB-st&3Fj%Mt*|tR5iK3J=`xhs&G)I7E>`FO@o7L z@S$B!pYMuzz5DN@X!O4DPm5n@raPJn-Q#o*m*e^5lk$g?0esg%$;>g5QW-|;c=H2GM}bo2tW^D924wmOkrUbWxcQ# z#v6bP%Tdfe~jtCRzAL;-OahZ=#yvUixu2-9fD2j$*|YY`F?0wF-{a# ztr<&kZjZ+81}6ZESqtgW)8kP#s@VLTSUR{}6?U^R*x7RE3Rl&n=VnFFqg9Uqz1n@N9N|=9<4} zuJfy^+}|D9X&vm3MAdqmu0&UMd^=K>b1hLAm_E!$rZC2b;;T~Dl zI`Eo_yRY76uM})|6wk9->of(=9&4jLv5#p@OzS~Yl>@pG)^>6`R+KtL{<4ly4o9WiM!%p_pfROU354)e8PIeE z1_s?#;OX6waNvvb&UQRN(WLbR+}&b#jo&WY-LlwCX}Q*$jGuKYuOGoIoyR(>e}}ix z+t}Q^cEcC8Y{@h}>HmJ^gD!l@gzwHmiBKl26x_lZVZG2UY!`w;RJd122;US&geQdW z3Qq}R!gIo5;ka;0I4c-Jq5X6A6?VzK&c4y!ZXdAUYu{r}*!SBXw?Aor+J4-A(*COb zb^CwV-?3k`zi-cX*c`VzL`RLI(b4MgIrGN z%ojf`E*6)Gg1A9!7q^N##2zsss^V9~-Qt7d!{UDNZ^XY9pA^3@9ui*?e=7c5d`nD; z?}~R(p>y1Kw!>|X4ycYEAkcZa*n-R%y! zqi)Up756UpqwfE7=hfigw$k~G@25gaxF9UGTkV>C(7x1Rbx4jb#|}rxq0vQ!n-c#f J0sQ~1{4brj`U(I5 literal 0 HcmV?d00001 diff --git a/vendor-bundle/symfony/console/SignalRegistry/SignalRegistry.php b/vendor-bundle/symfony/console/SignalRegistry/SignalRegistry.php new file mode 100644 index 000000000..582f6321e --- /dev/null +++ b/vendor-bundle/symfony/console/SignalRegistry/SignalRegistry.php @@ -0,0 +1,92 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\SignalRegistry; + +final class SignalRegistry +{ + private $signalHandlers = []; + public function __construct() + { + if (\function_exists('pcntl_async_signals')) { + \pcntl_async_signals(\true); + } + } + public function register($signal, callable $signalHandler) + { + if (!\is_int($signal)) { + if (!(\is_bool($signal) || \is_numeric($signal))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signal) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signal) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signal = (int) $signal; + } + } + if (!isset($this->signalHandlers[$signal])) { + $previousCallback = \pcntl_signal_get_handler($signal); + if (\is_callable($previousCallback)) { + $this->signalHandlers[$signal][] = $previousCallback; + } + } + $this->signalHandlers[$signal][] = $signalHandler; + \pcntl_signal($signal, [$this, 'handle']); + } + public static function isSupported() + { + if (!\function_exists('pcntl_signal')) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if (\in_array('pcntl_signal', \explode(',', \ini_get('disable_functions')))) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @internal + */ + public function handle($signal) + { + if (!\is_int($signal)) { + if (!(\is_bool($signal) || \is_numeric($signal))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signal) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signal) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signal = (int) $signal; + } + } + $count = \count($this->signalHandlers[$signal]); + foreach ($this->signalHandlers[$signal] as $i => $signalHandler) { + $hasNext = $i !== $count - 1; + $signalHandler($signal, $hasNext); + } + } +} diff --git a/vendor-bundle/symfony/console/SingleCommandApplication.php b/vendor-bundle/symfony/console/SingleCommandApplication.php new file mode 100644 index 000000000..8654cf0fa --- /dev/null +++ b/vendor-bundle/symfony/console/SingleCommandApplication.php @@ -0,0 +1,95 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * @author Grégoire Pineau + */ +class SingleCommandApplication extends Command +{ + private $version = 'UNKNOWN'; + private $autoExit = \true; + private $running = \false; + public function setVersion($version) + { + if (!\is_string($version)) { + if (!(\is_string($version) || \is_object($version) && \method_exists($version, '__toString') || (\is_bool($version) || \is_numeric($version)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($version) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($version) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $version = (string) $version; + } + } + $this->version = $version; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @final + */ + public function setAutoExit($autoExit) + { + if (!\is_bool($autoExit)) { + if (!(\is_bool($autoExit) || \is_numeric($autoExit) || \is_string($autoExit))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($autoExit) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($autoExit) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $autoExit = (bool) $autoExit; + } + } + $this->autoExit = $autoExit; + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function run(InputInterface $input = null, OutputInterface $output = null) + { + if ($this->running) { + $phabelReturn = parent::run($input, $output); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + // We use the command name as the application name + $application = new Application($this->getName() ?: 'UNKNOWN', $this->version); + $application->setAutoExit($this->autoExit); + // Fix the usage of the command displayed with "--help" + $this->setName($_SERVER['argv'][0]); + $application->add($this); + $application->setDefaultCommand($this->getName(), \true); + $this->running = \true; + try { + $ret = $application->run($input, $output); + } finally { + $this->running = \false; + } + $phabelReturn = isset($ret) ? $ret : 1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Style/OutputStyle.php b/vendor-bundle/symfony/console/Style/OutputStyle.php new file mode 100644 index 000000000..bd75f4a6d --- /dev/null +++ b/vendor-bundle/symfony/console/Style/OutputStyle.php @@ -0,0 +1,183 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Style; + +use Phabel\Symfony\Component\Console\Formatter\OutputFormatterInterface; +use Phabel\Symfony\Component\Console\Helper\ProgressBar; +use Phabel\Symfony\Component\Console\Output\ConsoleOutputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +/** + * Decorates output to add console style guide helpers. + * + * @author Kevin Bond + */ +abstract class OutputStyle implements OutputInterface, StyleInterface +{ + private $output; + public function __construct(OutputInterface $output) + { + $this->output = $output; + } + /** + * {@inheritdoc} + */ + public function newLine($count = 1) + { + if (!\is_int($count)) { + if (!(\is_bool($count) || \is_numeric($count))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($count) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($count) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $count = (int) $count; + } + } + $this->output->write(\str_repeat(\PHP_EOL, $count)); + } + /** + * @return ProgressBar + */ + public function createProgressBar($max = 0) + { + if (!\is_int($max)) { + if (!(\is_bool($max) || \is_numeric($max))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($max) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $max = (int) $max; + } + } + return new ProgressBar($this->output, $max); + } + /** + * {@inheritdoc} + */ + public function write($messages, $newline = \false, $type = self::OUTPUT_NORMAL) + { + if (!\is_bool($newline)) { + if (!(\is_bool($newline) || \is_numeric($newline) || \is_string($newline))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newline = (bool) $newline; + } + } + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + $this->output->write($messages, $newline, $type); + } + /** + * {@inheritdoc} + */ + public function writeln($messages, $type = self::OUTPUT_NORMAL) + { + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + $this->output->writeln($messages, $type); + } + /** + * {@inheritdoc} + */ + public function setVerbosity($level) + { + if (!\is_int($level)) { + if (!(\is_bool($level) || \is_numeric($level))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($level) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($level) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $level = (int) $level; + } + } + $this->output->setVerbosity($level); + } + /** + * {@inheritdoc} + */ + public function getVerbosity() + { + return $this->output->getVerbosity(); + } + /** + * {@inheritdoc} + */ + public function setDecorated($decorated) + { + if (!\is_bool($decorated)) { + if (!(\is_bool($decorated) || \is_numeric($decorated) || \is_string($decorated))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($decorated) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($decorated) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $decorated = (bool) $decorated; + } + } + $this->output->setDecorated($decorated); + } + /** + * {@inheritdoc} + */ + public function isDecorated() + { + return $this->output->isDecorated(); + } + /** + * {@inheritdoc} + */ + public function setFormatter(OutputFormatterInterface $formatter) + { + $this->output->setFormatter($formatter); + } + /** + * {@inheritdoc} + */ + public function getFormatter() + { + return $this->output->getFormatter(); + } + /** + * {@inheritdoc} + */ + public function isQuiet() + { + return $this->output->isQuiet(); + } + /** + * {@inheritdoc} + */ + public function isVerbose() + { + return $this->output->isVerbose(); + } + /** + * {@inheritdoc} + */ + public function isVeryVerbose() + { + return $this->output->isVeryVerbose(); + } + /** + * {@inheritdoc} + */ + public function isDebug() + { + return $this->output->isDebug(); + } + protected function getErrorOutput() + { + if (!$this->output instanceof ConsoleOutputInterface) { + return $this->output; + } + return $this->output->getErrorOutput(); + } +} diff --git a/vendor-bundle/symfony/console/Style/StyleInterface.php b/vendor-bundle/symfony/console/Style/StyleInterface.php new file mode 100644 index 000000000..d052820d2 --- /dev/null +++ b/vendor-bundle/symfony/console/Style/StyleInterface.php @@ -0,0 +1,114 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Style; + +/** + * Output style helpers. + * + * @author Kevin Bond + */ +interface StyleInterface +{ + /** + * Formats a command title. + */ + public function title($message); + /** + * Formats a section title. + */ + public function section($message); + /** + * Formats a list. + */ + public function listing(array $elements); + /** + * Formats informational text. + * + * @param string|array $message + */ + public function text($message); + /** + * Formats a success result bar. + * + * @param string|array $message + */ + public function success($message); + /** + * Formats an error result bar. + * + * @param string|array $message + */ + public function error($message); + /** + * Formats an warning result bar. + * + * @param string|array $message + */ + public function warning($message); + /** + * Formats a note admonition. + * + * @param string|array $message + */ + public function note($message); + /** + * Formats a caution admonition. + * + * @param string|array $message + */ + public function caution($message); + /** + * Formats a table. + */ + public function table(array $headers, array $rows); + /** + * Asks a question. + * + * @return mixed + */ + public function ask($question, $default = null, callable $validator = null); + /** + * Asks a question with the user input hidden. + * + * @return mixed + */ + public function askHidden($question, callable $validator = null); + /** + * Asks for confirmation. + * + * @return bool + */ + public function confirm($question, $default = \true); + /** + * Asks a choice question. + * + * @param string|int|null $default + * + * @return mixed + */ + public function choice($question, array $choices, $default = null); + /** + * Add newline(s). + */ + public function newLine($count = 1); + /** + * Starts the progress output. + */ + public function progressStart($max = 0); + /** + * Advances the progress output X steps. + */ + public function progressAdvance($step = 1); + /** + * Finishes the progress output. + */ + public function progressFinish(); +} diff --git a/vendor-bundle/symfony/console/Style/SymfonyStyle.php b/vendor-bundle/symfony/console/Style/SymfonyStyle.php new file mode 100644 index 000000000..934afe5d0 --- /dev/null +++ b/vendor-bundle/symfony/console/Style/SymfonyStyle.php @@ -0,0 +1,655 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Style; + +use Phabel\Symfony\Component\Console\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Console\Exception\RuntimeException; +use Phabel\Symfony\Component\Console\Formatter\OutputFormatter; +use Phabel\Symfony\Component\Console\Helper\Helper; +use Phabel\Symfony\Component\Console\Helper\ProgressBar; +use Phabel\Symfony\Component\Console\Helper\SymfonyQuestionHelper; +use Phabel\Symfony\Component\Console\Helper\Table; +use Phabel\Symfony\Component\Console\Helper\TableCell; +use Phabel\Symfony\Component\Console\Helper\TableSeparator; +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Component\Console\Output\TrimmedBufferOutput; +use Phabel\Symfony\Component\Console\Question\ChoiceQuestion; +use Phabel\Symfony\Component\Console\Question\ConfirmationQuestion; +use Phabel\Symfony\Component\Console\Question\Question; +use Phabel\Symfony\Component\Console\Terminal; +/** + * Output decorator helpers for the Symfony Style Guide. + * + * @author Kevin Bond + */ +class SymfonyStyle extends OutputStyle +{ + const MAX_LINE_LENGTH = 120; + private $input; + private $questionHelper; + private $progressBar; + private $lineLength; + private $bufferedOutput; + public function __construct(InputInterface $input, OutputInterface $output) + { + $this->input = $input; + $this->bufferedOutput = new TrimmedBufferOutput(\DIRECTORY_SEPARATOR === '\\' ? 4 : 2, $output->getVerbosity(), \false, clone $output->getFormatter()); + // Windows cmd wraps lines as soon as the terminal width is reached, whether there are following chars or not. + $width = (new Terminal())->getWidth() ?: self::MAX_LINE_LENGTH; + $this->lineLength = \min($width - (int) (\DIRECTORY_SEPARATOR === '\\'), self::MAX_LINE_LENGTH); + parent::__construct($output); + } + /** + * Formats a message as a block of text. + * + * @param string|array $messages The message to write in the block + */ + public function block($messages, $type = null, $style = null, $prefix = ' ', $padding = \false, $escape = \true) + { + if (!\is_null($type)) { + if (!\is_string($type)) { + if (!(\is_string($type) || \is_object($type) && \method_exists($type, '__toString') || (\is_bool($type) || \is_numeric($type)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (string) $type; + } + } + } + if (!\is_null($style)) { + if (!\is_string($style)) { + if (!(\is_string($style) || \is_object($style) && \method_exists($style, '__toString') || (\is_bool($style) || \is_numeric($style)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($style) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($style) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $style = (string) $style; + } + } + } + if (!\is_string($prefix)) { + if (!(\is_string($prefix) || \is_object($prefix) && \method_exists($prefix, '__toString') || (\is_bool($prefix) || \is_numeric($prefix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($prefix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $prefix = (string) $prefix; + } + } + if (!\is_bool($padding)) { + if (!(\is_bool($padding) || \is_numeric($padding) || \is_string($padding))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($padding) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($padding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $padding = (bool) $padding; + } + } + if (!\is_bool($escape)) { + if (!(\is_bool($escape) || \is_numeric($escape) || \is_string($escape))) { + throw new \TypeError(__METHOD__ . '(): Argument #6 ($escape) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($escape) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $escape = (bool) $escape; + } + } + $messages = \is_array($messages) ? \array_values($messages) : [$messages]; + $this->autoPrependBlock(); + $this->writeln($this->createBlock($messages, $type, $style, $prefix, $padding, $escape)); + $this->newLine(); + } + /** + * {@inheritdoc} + */ + public function title($message) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + $this->autoPrependBlock(); + $this->writeln([\sprintf('%s', OutputFormatter::escapeTrailingBackslash($message)), \sprintf('%s', \str_repeat('=', Helper::width(Helper::removeDecoration($this->getFormatter(), $message))))]); + $this->newLine(); + } + /** + * {@inheritdoc} + */ + public function section($message) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + $this->autoPrependBlock(); + $this->writeln([\sprintf('%s', OutputFormatter::escapeTrailingBackslash($message)), \sprintf('%s', \str_repeat('-', Helper::width(Helper::removeDecoration($this->getFormatter(), $message))))]); + $this->newLine(); + } + /** + * {@inheritdoc} + */ + public function listing(array $elements) + { + $this->autoPrependText(); + $elements = \array_map(function ($element) { + return \sprintf(' * %s', $element); + }, $elements); + $this->writeln($elements); + $this->newLine(); + } + /** + * {@inheritdoc} + */ + public function text($message) + { + $this->autoPrependText(); + $messages = \is_array($message) ? \array_values($message) : [$message]; + foreach ($messages as $message) { + $this->writeln(\sprintf(' %s', $message)); + } + } + /** + * Formats a command comment. + * + * @param string|array $message + */ + public function comment($message) + { + $this->block($message, null, null, ' // ', \false, \false); + } + /** + * {@inheritdoc} + */ + public function success($message) + { + $this->block($message, 'OK', 'fg=black;bg=green', ' ', \true); + } + /** + * {@inheritdoc} + */ + public function error($message) + { + $this->block($message, 'ERROR', 'fg=white;bg=red', ' ', \true); + } + /** + * {@inheritdoc} + */ + public function warning($message) + { + $this->block($message, 'WARNING', 'fg=black;bg=yellow', ' ', \true); + } + /** + * {@inheritdoc} + */ + public function note($message) + { + $this->block($message, 'NOTE', 'fg=yellow', ' ! '); + } + /** + * Formats an info message. + * + * @param string|array $message + */ + public function info($message) + { + $this->block($message, 'INFO', 'fg=green', ' ', \true); + } + /** + * {@inheritdoc} + */ + public function caution($message) + { + $this->block($message, 'CAUTION', 'fg=white;bg=red', ' ! ', \true); + } + /** + * {@inheritdoc} + */ + public function table(array $headers, array $rows) + { + $style = clone Table::getStyleDefinition('symfony-style-guide'); + $style->setCellHeaderFormat('%s'); + $table = new Table($this); + $table->setHeaders($headers); + $table->setRows($rows); + $table->setStyle($style); + $table->render(); + $this->newLine(); + } + /** + * Formats a horizontal table. + */ + public function horizontalTable(array $headers, array $rows) + { + $style = clone Table::getStyleDefinition('symfony-style-guide'); + $style->setCellHeaderFormat('%s'); + $table = new Table($this); + $table->setHeaders($headers); + $table->setRows($rows); + $table->setStyle($style); + $table->setHorizontal(\true); + $table->render(); + $this->newLine(); + } + /** + * Formats a list of key/value horizontally. + * + * Each row can be one of: + * * 'A title' + * * ['key' => 'value'] + * * new TableSeparator() + * + * @param string|array|TableSeparator ...$list + */ + public function definitionList(...$list) + { + $style = clone Table::getStyleDefinition('symfony-style-guide'); + $style->setCellHeaderFormat('%s'); + $table = new Table($this); + $headers = []; + $row = []; + foreach ($list as $value) { + if ($value instanceof TableSeparator) { + $headers[] = $value; + $row[] = $value; + continue; + } + if (\is_string($value)) { + $headers[] = new TableCell($value, ['colspan' => 2]); + $row[] = null; + continue; + } + if (!\is_array($value)) { + throw new InvalidArgumentException('Value should be an array, string, or an instance of TableSeparator.'); + } + $headers[] = \key($value); + $row[] = \current($value); + } + $table->setHeaders($headers); + $table->setRows([$row]); + $table->setHorizontal(); + $table->setStyle($style); + $table->render(); + $this->newLine(); + } + /** + * {@inheritdoc} + */ + public function ask($question, $default = null, callable $validator = null) + { + if (!\is_string($question)) { + if (!(\is_string($question) || \is_object($question) && \method_exists($question, '__toString') || (\is_bool($question) || \is_numeric($question)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($question) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($question) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $question = (string) $question; + } + } + if (!\is_null($default)) { + if (!\is_string($default)) { + if (!(\is_string($default) || \is_object($default) && \method_exists($default, '__toString') || (\is_bool($default) || \is_numeric($default)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($default) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($default) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $default = (string) $default; + } + } + } + $question = new Question($question, $default); + $question->setValidator($validator); + return $this->askQuestion($question); + } + /** + * {@inheritdoc} + */ + public function askHidden($question, callable $validator = null) + { + if (!\is_string($question)) { + if (!(\is_string($question) || \is_object($question) && \method_exists($question, '__toString') || (\is_bool($question) || \is_numeric($question)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($question) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($question) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $question = (string) $question; + } + } + $question = new Question($question); + $question->setHidden(\true); + $question->setValidator($validator); + return $this->askQuestion($question); + } + /** + * {@inheritdoc} + */ + public function confirm($question, $default = \true) + { + if (!\is_string($question)) { + if (!(\is_string($question) || \is_object($question) && \method_exists($question, '__toString') || (\is_bool($question) || \is_numeric($question)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($question) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($question) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $question = (string) $question; + } + } + if (!\is_bool($default)) { + if (!(\is_bool($default) || \is_numeric($default) || \is_string($default))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($default) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($default) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $default = (bool) $default; + } + } + return $this->askQuestion(new ConfirmationQuestion($question, $default)); + } + /** + * {@inheritdoc} + */ + public function choice($question, array $choices, $default = null) + { + if (!\is_string($question)) { + if (!(\is_string($question) || \is_object($question) && \method_exists($question, '__toString') || (\is_bool($question) || \is_numeric($question)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($question) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($question) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $question = (string) $question; + } + } + if (null !== $default) { + $values = \array_flip($choices); + $default = isset($values[$default]) ? $values[$default] : $default; + } + return $this->askQuestion(new ChoiceQuestion($question, $choices, $default)); + } + /** + * {@inheritdoc} + */ + public function progressStart($max = 0) + { + if (!\is_int($max)) { + if (!(\is_bool($max) || \is_numeric($max))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($max) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $max = (int) $max; + } + } + $this->progressBar = $this->createProgressBar($max); + $this->progressBar->start(); + } + /** + * {@inheritdoc} + */ + public function progressAdvance($step = 1) + { + if (!\is_int($step)) { + if (!(\is_bool($step) || \is_numeric($step))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($step) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($step) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $step = (int) $step; + } + } + $this->getProgressBar()->advance($step); + } + /** + * {@inheritdoc} + */ + public function progressFinish() + { + $this->getProgressBar()->finish(); + $this->newLine(2); + $this->progressBar = null; + } + /** + * {@inheritdoc} + */ + public function createProgressBar($max = 0) + { + if (!\is_int($max)) { + if (!(\is_bool($max) || \is_numeric($max))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($max) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($max) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $max = (int) $max; + } + } + $progressBar = parent::createProgressBar($max); + if ('\\' !== \DIRECTORY_SEPARATOR || 'Hyper' === \getenv('TERM_PROGRAM')) { + $progressBar->setEmptyBarCharacter('░'); + // light shade character \u2591 + $progressBar->setProgressCharacter(''); + $progressBar->setBarCharacter('▓'); + // dark shade character \u2593 + } + return $progressBar; + } + /** + * @return mixed + */ + public function askQuestion(Question $question) + { + if ($this->input->isInteractive()) { + $this->autoPrependBlock(); + } + if (!$this->questionHelper) { + $this->questionHelper = new SymfonyQuestionHelper(); + } + $answer = $this->questionHelper->ask($this->input, $this, $question); + if ($this->input->isInteractive()) { + $this->newLine(); + $this->bufferedOutput->write("\n"); + } + return $answer; + } + /** + * {@inheritdoc} + */ + public function writeln($messages, $type = self::OUTPUT_NORMAL) + { + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + if (!\is_iterable($messages)) { + $messages = [$messages]; + } + foreach ($messages as $message) { + parent::writeln($message, $type); + $this->writeBuffer($message, \true, $type); + } + } + /** + * {@inheritdoc} + */ + public function write($messages, $newline = \false, $type = self::OUTPUT_NORMAL) + { + if (!\is_bool($newline)) { + if (!(\is_bool($newline) || \is_numeric($newline) || \is_string($newline))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newline) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newline = (bool) $newline; + } + } + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + if (!\is_iterable($messages)) { + $messages = [$messages]; + } + foreach ($messages as $message) { + parent::write($message, $newline, $type); + $this->writeBuffer($message, $newline, $type); + } + } + /** + * {@inheritdoc} + */ + public function newLine($count = 1) + { + if (!\is_int($count)) { + if (!(\is_bool($count) || \is_numeric($count))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($count) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($count) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $count = (int) $count; + } + } + parent::newLine($count); + $this->bufferedOutput->write(\str_repeat("\n", $count)); + } + /** + * Returns a new instance which makes use of stderr if available. + * + * @return self + */ + public function getErrorStyle() + { + return new self($this->input, $this->getErrorOutput()); + } + private function getProgressBar() + { + if (!$this->progressBar) { + throw new RuntimeException('The ProgressBar is not started.'); + } + $phabelReturn = $this->progressBar; + if (!$phabelReturn instanceof ProgressBar) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ProgressBar, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function autoPrependBlock() + { + $chars = \substr(\str_replace(\PHP_EOL, "\n", $this->bufferedOutput->fetch()), -2); + if (!isset($chars[0])) { + $this->newLine(); + //empty history, so we should start with a new line. + return; + } + //Prepend new line for each non LF chars (This means no blank line was output before) + $this->newLine(2 - \substr_count($chars, "\n")); + } + private function autoPrependText() + { + $fetched = $this->bufferedOutput->fetch(); + //Prepend new line if last char isn't EOL: + if (!\str_ends_with($fetched, "\n")) { + $this->newLine(); + } + } + private function writeBuffer($message, $newLine, $type) + { + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + if (!\is_bool($newLine)) { + if (!(\is_bool($newLine) || \is_numeric($newLine) || \is_string($newLine))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($newLine) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newLine) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newLine = (bool) $newLine; + } + } + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + // We need to know if the last chars are PHP_EOL + $this->bufferedOutput->write($message, $newLine, $type); + } + private function createBlock($messages, $type = null, $style = null, $prefix = ' ', $padding = \false, $escape = \false) + { + if (!(\is_array($messages) || $messages instanceof \Traversable)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($messages) must be of type iterable, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($messages) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_null($type)) { + if (!\is_string($type)) { + if (!(\is_string($type) || \is_object($type) && \method_exists($type, '__toString') || (\is_bool($type) || \is_numeric($type)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($type) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (string) $type; + } + } + } + if (!\is_null($style)) { + if (!\is_string($style)) { + if (!(\is_string($style) || \is_object($style) && \method_exists($style, '__toString') || (\is_bool($style) || \is_numeric($style)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($style) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($style) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $style = (string) $style; + } + } + } + if (!\is_string($prefix)) { + if (!(\is_string($prefix) || \is_object($prefix) && \method_exists($prefix, '__toString') || (\is_bool($prefix) || \is_numeric($prefix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($prefix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $prefix = (string) $prefix; + } + } + if (!\is_bool($padding)) { + if (!(\is_bool($padding) || \is_numeric($padding) || \is_string($padding))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($padding) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($padding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $padding = (bool) $padding; + } + } + if (!\is_bool($escape)) { + if (!(\is_bool($escape) || \is_numeric($escape) || \is_string($escape))) { + throw new \TypeError(__METHOD__ . '(): Argument #6 ($escape) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($escape) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $escape = (bool) $escape; + } + } + $indentLength = 0; + $prefixLength = Helper::width(Helper::removeDecoration($this->getFormatter(), $prefix)); + $lines = []; + if (null !== $type) { + $type = \sprintf('[%s] ', $type); + $indentLength = \strlen($type); + $lineIndentation = \str_repeat(' ', $indentLength); + } + // wrap and add newlines for each element + foreach ($messages as $key => $message) { + if ($escape) { + $message = OutputFormatter::escape($message); + } + $decorationLength = Helper::width($message) - Helper::width(Helper::removeDecoration($this->getFormatter(), $message)); + $messageLineLength = \min($this->lineLength - $prefixLength - $indentLength + $decorationLength, $this->lineLength); + $messageLines = \explode(\PHP_EOL, \wordwrap($message, $messageLineLength, \PHP_EOL, \true)); + foreach ($messageLines as $messageLine) { + $lines[] = $messageLine; + } + if (\count($messages) > 1 && $key < \count($messages) - 1) { + $lines[] = ''; + } + } + $firstLineIndex = 0; + if ($padding && $this->isDecorated()) { + $firstLineIndex = 1; + \array_unshift($lines, ''); + $lines[] = ''; + } + foreach ($lines as $i => &$line) { + if (null !== $type) { + $line = $firstLineIndex === $i ? $type . $line : $lineIndentation . $line; + } + $line = $prefix . $line; + $line .= \str_repeat(' ', \max($this->lineLength - Helper::width(Helper::removeDecoration($this->getFormatter(), $line)), 0)); + if ($style) { + $line = \sprintf('<%s>%s', $style, $line); + } + } + $phabelReturn = $lines; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Terminal.php b/vendor-bundle/symfony/console/Terminal.php new file mode 100644 index 000000000..ed0ef2329 --- /dev/null +++ b/vendor-bundle/symfony/console/Terminal.php @@ -0,0 +1,211 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console; + +class Terminal +{ + private static $width; + private static $height; + private static $stty; + /** + * Gets the terminal width. + * + * @return int + */ + public function getWidth() + { + $width = \getenv('COLUMNS'); + if (\false !== $width) { + return (int) \trim($width); + } + if (null === self::$width) { + self::initDimensions(); + } + return self::$width ?: 80; + } + /** + * Gets the terminal height. + * + * @return int + */ + public function getHeight() + { + $height = \getenv('LINES'); + if (\false !== $height) { + return (int) \trim($height); + } + if (null === self::$height) { + self::initDimensions(); + } + return self::$height ?: 50; + } + /** + * @internal + * + * @return bool + */ + public static function hasSttyAvailable() + { + if (null !== self::$stty) { + return self::$stty; + } + // skip check if exec function is disabled + if (!\function_exists('exec')) { + return \false; + } + \exec('stty 2>&1', $output, $exitcode); + return self::$stty = 0 === $exitcode; + } + private static function initDimensions() + { + if ('\\' === \DIRECTORY_SEPARATOR) { + if (\preg_match('/^(\\d+)x(\\d+)(?: \\((\\d+)x(\\d+)\\))?$/', \trim(\getenv('ANSICON')), $matches)) { + // extract [w, H] from "wxh (WxH)" + // or [w, h] from "wxh" + self::$width = (int) $matches[1]; + self::$height = isset($matches[4]) ? (int) $matches[4] : (int) $matches[2]; + } elseif (!self::hasVt100Support() && self::hasSttyAvailable()) { + // only use stty on Windows if the terminal does not support vt100 (e.g. Windows 7 + git-bash) + // testing for stty in a Windows 10 vt100-enabled console will implicitly disable vt100 support on STDOUT + self::initDimensionsUsingStty(); + } elseif (null !== ($dimensions = self::getConsoleMode())) { + // extract [w, h] from "wxh" + self::$width = (int) $dimensions[0]; + self::$height = (int) $dimensions[1]; + } + } else { + self::initDimensionsUsingStty(); + } + } + /** + * Returns whether STDOUT has vt100 support (some Windows 10+ configurations). + */ + private static function hasVt100Support() + { + $phabelReturn = \function_exists('sapi_windows_vt100_support') && \sapi_windows_vt100_support(\fopen('php://stdout', 'w')); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Initializes dimensions using the output of an stty columns line. + */ + private static function initDimensionsUsingStty() + { + if ($sttyString = self::getSttyColumns()) { + if (\preg_match('/rows.(\\d+);.columns.(\\d+);/i', $sttyString, $matches)) { + // extract [w, h] from "rows h; columns w;" + self::$width = (int) $matches[2]; + self::$height = (int) $matches[1]; + } elseif (\preg_match('/;.(\\d+).rows;.(\\d+).columns/i', $sttyString, $matches)) { + // extract [w, h] from "; h rows; w columns" + self::$width = (int) $matches[2]; + self::$height = (int) $matches[1]; + } + } + } + /** + * Runs and parses mode CON if it's available, suppressing any error output. + * + * @return int[]|null An array composed of the width and the height or null if it could not be parsed + */ + private static function getConsoleMode() + { + $info = self::readFromProcess('mode CON'); + if (null === $info || !\preg_match('/--------+\\r?\\n.+?(\\d+)\\r?\\n.+?(\\d+)\\r?\\n/', $info, $matches)) { + $phabelReturn = null; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = [(int) $matches[2], (int) $matches[1]]; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Runs and parses stty -a if it's available, suppressing any error output. + */ + private static function getSttyColumns() + { + $phabelReturn = self::readFromProcess('stty -a | grep columns'); + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } + private static function readFromProcess($command) + { + if (!\is_string($command)) { + if (!(\is_string($command) || \is_object($command) && \method_exists($command, '__toString') || (\is_bool($command) || \is_numeric($command)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($command) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($command) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $command = (string) $command; + } + } + if (!\function_exists('proc_open')) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } + $descriptorspec = [1 => ['pipe', 'w'], 2 => ['pipe', 'w']]; + $process = \proc_open($command, $descriptorspec, $pipes, null, null, ['suppress_errors' => \true]); + if (!\is_resource($process)) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } + $info = \stream_get_contents($pipes[1]); + \fclose($pipes[1]); + \fclose($pipes[2]); + \proc_close($process); + $phabelReturn = $info; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/console/Tester/ApplicationTester.php b/vendor-bundle/symfony/console/Tester/ApplicationTester.php new file mode 100644 index 000000000..aeca715d4 --- /dev/null +++ b/vendor-bundle/symfony/console/Tester/ApplicationTester.php @@ -0,0 +1,59 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Tester; + +use Phabel\Symfony\Component\Console\Application; +use Phabel\Symfony\Component\Console\Input\ArrayInput; +/** + * Eases the testing of console applications. + * + * When testing an application, don't forget to disable the auto exit flag: + * + * $application = new Application(); + * $application->setAutoExit(false); + * + * @author Fabien Potencier + */ +class ApplicationTester +{ + use TesterTrait; + private $application; + private $input; + private $statusCode; + public function __construct(Application $application) + { + $this->application = $application; + } + /** + * Executes the application. + * + * Available options: + * + * * interactive: Sets the input interactive flag + * * decorated: Sets the output decorated flag + * * verbosity: Sets the output verbosity flag + * * capture_stderr_separately: Make output of stdOut and stdErr separately available + * + * @return int The command exit code + */ + public function run(array $input, array $options = []) + { + $this->input = new ArrayInput($input); + if (isset($options['interactive'])) { + $this->input->setInteractive($options['interactive']); + } + if ($this->inputs) { + $this->input->setStream(self::createStream($this->inputs)); + } + $this->initOutput($options); + return $this->statusCode = $this->application->run($this->input, $this->output); + } +} diff --git a/vendor-bundle/symfony/console/Tester/CommandTester.php b/vendor-bundle/symfony/console/Tester/CommandTester.php new file mode 100644 index 000000000..c42a98539 --- /dev/null +++ b/vendor-bundle/symfony/console/Tester/CommandTester.php @@ -0,0 +1,65 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Tester; + +use Phabel\Symfony\Component\Console\Command\Command; +use Phabel\Symfony\Component\Console\Input\ArrayInput; +/** + * Eases the testing of console commands. + * + * @author Fabien Potencier + * @author Robin Chalas + */ +class CommandTester +{ + use TesterTrait; + private $command; + private $input; + private $statusCode; + public function __construct(Command $command) + { + $this->command = $command; + } + /** + * Executes the command. + * + * Available execution options: + * + * * interactive: Sets the input interactive flag + * * decorated: Sets the output decorated flag + * * verbosity: Sets the output verbosity flag + * * capture_stderr_separately: Make output of stdOut and stdErr separately available + * + * @param array $input An array of command arguments and options + * @param array $options An array of execution options + * + * @return int The command exit code + */ + public function execute(array $input, array $options = []) + { + // set the command name automatically if the application requires + // this argument and no command name was passed + if (!isset($input['command']) && null !== ($application = $this->command->getApplication()) && $application->getDefinition()->hasArgument('command')) { + $input = \array_merge(['command' => $this->command->getName()], $input); + } + $this->input = new ArrayInput($input); + // Use an in-memory input stream even if no inputs are set so that QuestionHelper::ask() does not rely on the blocking STDIN. + $this->input->setStream(self::createStream($this->inputs)); + if (isset($options['interactive'])) { + $this->input->setInteractive($options['interactive']); + } + if (!isset($options['decorated'])) { + $options['decorated'] = \false; + } + $this->initOutput($options); + return $this->statusCode = $this->command->run($this->input, $this->output); + } +} diff --git a/vendor-bundle/symfony/console/Tester/TesterTrait.php b/vendor-bundle/symfony/console/Tester/TesterTrait.php new file mode 100644 index 000000000..b3ef2e098 --- /dev/null +++ b/vendor-bundle/symfony/console/Tester/TesterTrait.php @@ -0,0 +1,171 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Console\Tester; + +use Phabel\Symfony\Component\Console\Input\InputInterface; +use Phabel\Symfony\Component\Console\Output\ConsoleOutput; +use Phabel\Symfony\Component\Console\Output\OutputInterface; +use Phabel\Symfony\Component\Console\Output\StreamOutput; +/** + * @author Amrouche Hamza + */ +trait TesterTrait +{ + /** @var StreamOutput */ + private $output; + private $inputs = []; + private $captureStreamsIndependently = \false; + /** + * Gets the display returned by the last execution of the command or application. + * + * @throws \RuntimeException If it's called before the execute method + * + * @return string The display + */ + public function getDisplay($normalize = \false) + { + if (!\is_bool($normalize)) { + if (!(\is_bool($normalize) || \is_numeric($normalize) || \is_string($normalize))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($normalize) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($normalize) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $normalize = (bool) $normalize; + } + } + if (null === $this->output) { + throw new \RuntimeException('Output not initialized, did you execute the command before requesting the display?'); + } + \rewind($this->output->getStream()); + $display = \stream_get_contents($this->output->getStream()); + if ($normalize) { + $display = \str_replace(\PHP_EOL, "\n", $display); + } + return $display; + } + /** + * Gets the output written to STDERR by the application. + * + * @param bool $normalize Whether to normalize end of lines to \n or not + * + * @return string + */ + public function getErrorOutput($normalize = \false) + { + if (!\is_bool($normalize)) { + if (!(\is_bool($normalize) || \is_numeric($normalize) || \is_string($normalize))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($normalize) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($normalize) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $normalize = (bool) $normalize; + } + } + if (!$this->captureStreamsIndependently) { + throw new \LogicException('The error output is not available when the tester is run without "capture_stderr_separately" option set.'); + } + \rewind($this->output->getErrorOutput()->getStream()); + $display = \stream_get_contents($this->output->getErrorOutput()->getStream()); + if ($normalize) { + $display = \str_replace(\PHP_EOL, "\n", $display); + } + return $display; + } + /** + * Gets the input instance used by the last execution of the command or application. + * + * @return InputInterface The current input instance + */ + public function getInput() + { + return $this->input; + } + /** + * Gets the output instance used by the last execution of the command or application. + * + * @return OutputInterface The current output instance + */ + public function getOutput() + { + return $this->output; + } + /** + * Gets the status code returned by the last execution of the command or application. + * + * @throws \RuntimeException If it's called before the execute method + * + * @return int The status code + */ + public function getStatusCode() + { + if (null === $this->statusCode) { + throw new \RuntimeException('Status code not initialized, did you execute the command before requesting the status code?'); + } + return $this->statusCode; + } + /** + * Sets the user inputs. + * + * @param array $inputs An array of strings representing each input + * passed to the command input stream + * + * @return $this + */ + public function setInputs(array $inputs) + { + $this->inputs = $inputs; + return $this; + } + /** + * Initializes the output property. + * + * Available options: + * + * * decorated: Sets the output decorated flag + * * verbosity: Sets the output verbosity flag + * * capture_stderr_separately: Make output of stdOut and stdErr separately available + */ + private function initOutput(array $options) + { + $this->captureStreamsIndependently = \array_key_exists('capture_stderr_separately', $options) && $options['capture_stderr_separately']; + if (!$this->captureStreamsIndependently) { + $this->output = new StreamOutput(\fopen('php://memory', 'w', \false)); + if (isset($options['decorated'])) { + $this->output->setDecorated($options['decorated']); + } + if (isset($options['verbosity'])) { + $this->output->setVerbosity($options['verbosity']); + } + } else { + $this->output = new ConsoleOutput(isset($options['verbosity']) ? $options['verbosity'] : ConsoleOutput::VERBOSITY_NORMAL, isset($options['decorated']) ? $options['decorated'] : null); + $errorOutput = new StreamOutput(\fopen('php://memory', 'w', \false)); + $errorOutput->setFormatter($this->output->getFormatter()); + $errorOutput->setVerbosity($this->output->getVerbosity()); + $errorOutput->setDecorated($this->output->isDecorated()); + $reflectedOutput = new \ReflectionObject($this->output); + $strErrProperty = $reflectedOutput->getProperty('stderr'); + $strErrProperty->setAccessible(\true); + $strErrProperty->setValue($this->output, $errorOutput); + $reflectedParent = $reflectedOutput->getParentClass(); + $streamProperty = $reflectedParent->getProperty('stream'); + $streamProperty->setAccessible(\true); + $streamProperty->setValue($this->output, \fopen('php://memory', 'w', \false)); + } + } + /** + * @return resource + */ + private static function createStream(array $inputs) + { + $stream = \fopen('php://memory', 'r+', \false); + foreach ($inputs as $input) { + \fwrite($stream, $input . \PHP_EOL); + } + \rewind($stream); + return $stream; + } +} diff --git a/vendor-bundle/symfony/deprecation-contracts/function.php b/vendor-bundle/symfony/deprecation-contracts/function.php new file mode 100644 index 000000000..1217164c4 --- /dev/null +++ b/vendor-bundle/symfony/deprecation-contracts/function.php @@ -0,0 +1,49 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +if (!\function_exists('Phabel\\trigger_deprecation')) { + /** + * Triggers a silenced deprecation notice. + * + * @param string $package The name of the Composer package that is triggering the deprecation + * @param string $version The version of the package that introduced the deprecation + * @param string $message The message of the deprecation + * @param mixed ...$args Values to insert in the message using printf() formatting + * + * @author Nicolas Grekas + */ + function trigger_deprecation($package, $version, $message, ...$args) + { + if (!\is_string($package)) { + if (!(\is_string($package) || \is_object($package) && \method_exists($package, '__toString') || (\is_bool($package) || \is_numeric($package)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($package) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($package) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $package = (string) $package; + } + } + if (!\is_string($version)) { + if (!(\is_string($version) || \is_object($version) && \method_exists($version, '__toString') || (\is_bool($version) || \is_numeric($version)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($version) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($version) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $version = (string) $version; + } + } + if (!\is_string($message)) { + if (!(\is_string($message) || \is_object($message) && \method_exists($message, '__toString') || (\is_bool($message) || \is_numeric($message)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($message) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($message) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $message = (string) $message; + } + } + @\trigger_error(($package || $version ? "Since {$package} {$version}: " : '') . ($args ? \vsprintf($message, $args) : $message), \E_USER_DEPRECATED); + } +} diff --git a/vendor-bundle/symfony/polyfill-ctype/Ctype.php b/vendor-bundle/symfony/polyfill-ctype/Ctype.php new file mode 100644 index 000000000..a7f186d9b --- /dev/null +++ b/vendor-bundle/symfony/polyfill-ctype/Ctype.php @@ -0,0 +1,201 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Polyfill\Ctype; + +/** + * Ctype implementation through regex. + * + * @internal + * + * @author Gert de Pagter + */ +final class Ctype +{ + /** + * Returns TRUE if every character in text is either a letter or a digit, FALSE otherwise. + * + * @see https://php.net/ctype-alnum + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_alnum($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^A-Za-z0-9]/', $text); + } + /** + * Returns TRUE if every character in text is a letter, FALSE otherwise. + * + * @see https://php.net/ctype-alpha + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_alpha($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^A-Za-z]/', $text); + } + /** + * Returns TRUE if every character in text is a control character from the current locale, FALSE otherwise. + * + * @see https://php.net/ctype-cntrl + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_cntrl($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^\\x00-\\x1f\\x7f]/', $text); + } + /** + * Returns TRUE if every character in the string text is a decimal digit, FALSE otherwise. + * + * @see https://php.net/ctype-digit + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_digit($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^0-9]/', $text); + } + /** + * Returns TRUE if every character in text is printable and actually creates visible output (no white space), FALSE otherwise. + * + * @see https://php.net/ctype-graph + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_graph($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^!-~]/', $text); + } + /** + * Returns TRUE if every character in text is a lowercase letter. + * + * @see https://php.net/ctype-lower + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_lower($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^a-z]/', $text); + } + /** + * Returns TRUE if every character in text will actually create output (including blanks). Returns FALSE if text contains control characters or characters that do not have any output or control function at all. + * + * @see https://php.net/ctype-print + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_print($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^ -~]/', $text); + } + /** + * Returns TRUE if every character in text is printable, but neither letter, digit or blank, FALSE otherwise. + * + * @see https://php.net/ctype-punct + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_punct($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^!-\\/\\:-@\\[-`\\{-~]/', $text); + } + /** + * Returns TRUE if every character in text creates some sort of white space, FALSE otherwise. Besides the blank character this also includes tab, vertical tab, line feed, carriage return and form feed characters. + * + * @see https://php.net/ctype-space + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_space($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^\\s]/', $text); + } + /** + * Returns TRUE if every character in text is an uppercase letter. + * + * @see https://php.net/ctype-upper + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_upper($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^A-Z]/', $text); + } + /** + * Returns TRUE if every character in text is a hexadecimal 'digit', that is a decimal digit or a character from [A-Fa-f] , FALSE otherwise. + * + * @see https://php.net/ctype-xdigit + * + * @param string|int $text + * + * @return bool + */ + public static function ctype_xdigit($text) + { + $text = self::convert_int_to_char_for_ctype($text); + return \is_string($text) && '' !== $text && !\preg_match('/[^A-Fa-f0-9]/', $text); + } + /** + * Converts integers to their char versions according to normal ctype behaviour, if needed. + * + * If an integer between -128 and 255 inclusive is provided, + * it is interpreted as the ASCII value of a single character + * (negative values have 256 added in order to allow characters in the Extended ASCII range). + * Any other integer is interpreted as a string containing the decimal digits of the integer. + * + * @param string|int $int + * + * @return mixed + */ + private static function convert_int_to_char_for_ctype($int) + { + if (!\is_int($int)) { + return $int; + } + if ($int < -128 || $int > 255) { + return (string) $int; + } + if ($int < 0) { + $int += 256; + } + return \chr($int); + } +} diff --git a/vendor-bundle/symfony/polyfill-ctype/bootstrap.php b/vendor-bundle/symfony/polyfill-ctype/bootstrap.php new file mode 100644 index 000000000..5ddde2304 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-ctype/bootstrap.php @@ -0,0 +1,82 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Ctype as p; +if (\PHP_VERSION_ID >= 80000) { + return require __DIR__ . '/bootstrap80.php'; +} +if (!\function_exists('ctype_alnum')) { + function ctype_alnum($text) + { + return p\Ctype::ctype_alnum($text); + } +} +if (!\function_exists('ctype_alpha')) { + function ctype_alpha($text) + { + return p\Ctype::ctype_alpha($text); + } +} +if (!\function_exists('ctype_cntrl')) { + function ctype_cntrl($text) + { + return p\Ctype::ctype_cntrl($text); + } +} +if (!\function_exists('ctype_digit')) { + function ctype_digit($text) + { + return p\Ctype::ctype_digit($text); + } +} +if (!\function_exists('ctype_graph')) { + function ctype_graph($text) + { + return p\Ctype::ctype_graph($text); + } +} +if (!\function_exists('ctype_lower')) { + function ctype_lower($text) + { + return p\Ctype::ctype_lower($text); + } +} +if (!\function_exists('ctype_print')) { + function ctype_print($text) + { + return p\Ctype::ctype_print($text); + } +} +if (!\function_exists('ctype_punct')) { + function ctype_punct($text) + { + return p\Ctype::ctype_punct($text); + } +} +if (!\function_exists('ctype_space')) { + function ctype_space($text) + { + return p\Ctype::ctype_space($text); + } +} +if (!\function_exists('ctype_upper')) { + function ctype_upper($text) + { + return p\Ctype::ctype_upper($text); + } +} +if (!\function_exists('ctype_xdigit')) { + function ctype_xdigit($text) + { + return p\Ctype::ctype_xdigit($text); + } +} diff --git a/vendor-bundle/symfony/polyfill-ctype/bootstrap80.php b/vendor-bundle/symfony/polyfill-ctype/bootstrap80.php new file mode 100644 index 000000000..de0b4c6d3 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-ctype/bootstrap80.php @@ -0,0 +1,167 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Ctype as p; +if (!\function_exists('ctype_alnum')) { + function ctype_alnum(mixed $text) + { + $phabelReturn = p\Ctype::ctype_alnum($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_alpha')) { + function ctype_alpha(mixed $text) + { + $phabelReturn = p\Ctype::ctype_alpha($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_cntrl')) { + function ctype_cntrl(mixed $text) + { + $phabelReturn = p\Ctype::ctype_cntrl($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_digit')) { + function ctype_digit(mixed $text) + { + $phabelReturn = p\Ctype::ctype_digit($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_graph')) { + function ctype_graph(mixed $text) + { + $phabelReturn = p\Ctype::ctype_graph($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_lower')) { + function ctype_lower(mixed $text) + { + $phabelReturn = p\Ctype::ctype_lower($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_print')) { + function ctype_print(mixed $text) + { + $phabelReturn = p\Ctype::ctype_print($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_punct')) { + function ctype_punct(mixed $text) + { + $phabelReturn = p\Ctype::ctype_punct($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_space')) { + function ctype_space(mixed $text) + { + $phabelReturn = p\Ctype::ctype_space($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_upper')) { + function ctype_upper(mixed $text) + { + $phabelReturn = p\Ctype::ctype_upper($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('ctype_xdigit')) { + function ctype_xdigit(mixed $text) + { + $phabelReturn = p\Ctype::ctype_xdigit($text); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/polyfill-intl-grapheme/Grapheme.php b/vendor-bundle/symfony/polyfill-intl-grapheme/Grapheme.php new file mode 100644 index 000000000..6137921ed --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-grapheme/Grapheme.php @@ -0,0 +1,210 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Polyfill\Intl\Grapheme; + +\define('SYMFONY_GRAPHEME_CLUSTER_RX', \PCRE_VERSION >= '8.32' ? '\\X' : Grapheme::GRAPHEME_CLUSTER_RX); +/** + * Partial intl implementation in pure PHP. + * + * Implemented: + * - grapheme_extract - Extract a sequence of grapheme clusters from a text buffer, which must be encoded in UTF-8 + * - grapheme_stripos - Find position (in grapheme units) of first occurrence of a case-insensitive string + * - grapheme_stristr - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack + * - grapheme_strlen - Get string length in grapheme units + * - grapheme_strpos - Find position (in grapheme units) of first occurrence of a string + * - grapheme_strripos - Find position (in grapheme units) of last occurrence of a case-insensitive string + * - grapheme_strrpos - Find position (in grapheme units) of last occurrence of a string + * - grapheme_strstr - Returns part of haystack string from the first occurrence of needle to the end of haystack + * - grapheme_substr - Return part of a string + * + * @author Nicolas Grekas + * + * @internal + */ +final class Grapheme +{ + // (CRLF|([ZWNJ-ZWJ]|T+|L*(LV?V+|LV|LVT)T*|L+|[^Control])[Extend]*|[Control]) + // This regular expression is a work around for http://bugs.exim.org/1279 + const GRAPHEME_CLUSTER_RX = '(?:\\r\\n|(?:[ -~\\x{200C}\\x{200D}]|[ᆨ-ᇹ]+|[ᄀ-ᅟ]*(?:[가개갸걔거게겨계고과괘괴교구궈궤귀규그긔기까깨꺄꺠꺼께껴꼐꼬꽈꽤꾀꾜꾸꿔꿰뀌뀨끄끠끼나내냐냬너네녀녜노놔놰뇌뇨누눠눼뉘뉴느늬니다대댜댸더데뎌뎨도돠돼되됴두둬뒈뒤듀드듸디따때땨떄떠떼뗘뗴또똬뙈뙤뚀뚜뚸뛔뛰뜌뜨띄띠라래랴럐러레려례로롸뢔뢰료루뤄뤠뤼류르릐리마매먀먜머메며몌모뫄뫠뫼묘무뭐뭬뮈뮤므믜미바배뱌뱨버베벼볘보봐봬뵈뵤부붜붸뷔뷰브븨비빠빼뺘뺴뻐뻬뼈뼤뽀뽜뽸뾔뾰뿌뿨쀄쀠쀼쁘쁴삐사새샤섀서세셔셰소솨쇄쇠쇼수숴쉐쉬슈스싀시싸쌔쌰썌써쎄쎠쎼쏘쏴쐐쐬쑈쑤쒀쒜쒸쓔쓰씌씨아애야얘어에여예오와왜외요우워웨위유으의이자재쟈쟤저제져졔조좌좨죄죠주줘줴쥐쥬즈즤지짜째쨔쨰쩌쩨쪄쪠쪼쫘쫴쬐쬬쭈쭤쮀쮜쮸쯔쯰찌차채챠챼처체쳐쳬초촤쵀최쵸추춰췌취츄츠츼치카캐캬컈커케켜켸코콰쾌쾨쿄쿠쿼퀘퀴큐크킈키타태탸턔터테텨톄토톼퇘퇴툐투퉈퉤튀튜트틔티파패퍄퍠퍼페펴폐포퐈퐤푀표푸풔풰퓌퓨프픠피하해햐햬허헤혀혜호화홰회효후훠훼휘휴흐희히]?[ᅠ-ᆢ]+|[가-힣])[ᆨ-ᇹ]*|[ᄀ-ᅟ]+|[^\\p{Cc}\\p{Cf}\\p{Zl}\\p{Zp}])[\\p{Mn}\\p{Me}\\x{09BE}\\x{09D7}\\x{0B3E}\\x{0B57}\\x{0BBE}\\x{0BD7}\\x{0CC2}\\x{0CD5}\\x{0CD6}\\x{0D3E}\\x{0D57}\\x{0DCF}\\x{0DDF}\\x{200C}\\x{200D}\\x{1D165}\\x{1D16E}-\\x{1D172}]*|[\\p{Cc}\\p{Cf}\\p{Zl}\\p{Zp}])'; + const CASE_FOLD = [['µ', 'ſ', "ͅ", 'ς', "ϐ", "ϑ", "ϕ", "ϖ", "ϰ", "ϱ", "ϵ", "ẛ", "ι"], ['μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', "ṡ", 'ι']]; + public static function grapheme_extract($s, $size, $type = \GRAPHEME_EXTR_COUNT, $start = 0, &$next = 0) + { + if (0 > $start) { + $start = \strlen($s) + $start; + } + if (!\is_scalar($s)) { + $hasError = \false; + \set_error_handler(function () use(&$hasError) { + $hasError = \true; + }); + $next = \substr($s, $start); + \restore_error_handler(); + if ($hasError) { + \substr($s, $start); + $s = ''; + } else { + $s = $next; + } + } else { + $s = \substr($s, $start); + } + $size = (int) $size; + $type = (int) $type; + $start = (int) $start; + if (\GRAPHEME_EXTR_COUNT !== $type && \GRAPHEME_EXTR_MAXBYTES !== $type && \GRAPHEME_EXTR_MAXCHARS !== $type) { + if (80000 > \PHP_VERSION_ID) { + return \false; + } + throw new \ValueError('grapheme_extract(): Argument #3 ($type) must be one of GRAPHEME_EXTR_COUNT, GRAPHEME_EXTR_MAXBYTES, or GRAPHEME_EXTR_MAXCHARS'); + } + if (!isset($s[0]) || 0 > $size || 0 > $start) { + return \false; + } + if (0 === $size) { + return ''; + } + $next = $start; + $s = \preg_split('/(' . SYMFONY_GRAPHEME_CLUSTER_RX . ')/u', "\r\n" . $s, $size + 1, \PREG_SPLIT_NO_EMPTY | \PREG_SPLIT_DELIM_CAPTURE); + if (!isset($s[1])) { + return \false; + } + $i = 1; + $ret = ''; + do { + if (\GRAPHEME_EXTR_COUNT === $type) { + --$size; + } elseif (\GRAPHEME_EXTR_MAXBYTES === $type) { + $size -= \strlen($s[$i]); + } else { + $size -= \iconv_strlen($s[$i], 'UTF-8//IGNORE'); + } + if ($size >= 0) { + $ret .= $s[$i]; + } + } while (isset($s[++$i]) && $size > 0); + $next += \strlen($ret); + return $ret; + } + public static function grapheme_strlen($s) + { + \preg_replace('/' . SYMFONY_GRAPHEME_CLUSTER_RX . '/u', '', $s, -1, $len); + return 0 === $len && '' !== $s ? null : $len; + } + public static function grapheme_substr($s, $start, $len = null) + { + if (null === $len) { + $len = 2147483647; + } + \preg_match_all('/' . SYMFONY_GRAPHEME_CLUSTER_RX . '/u', $s, $s); + $slen = \count($s[0]); + $start = (int) $start; + if (0 > $start) { + $start += $slen; + } + if (0 > $start) { + if (\PHP_VERSION_ID < 80000) { + return \false; + } + $start = 0; + } + if ($start >= $slen) { + return \PHP_VERSION_ID >= 80000 ? '' : \false; + } + $rem = $slen - $start; + if (0 > $len) { + $len += $rem; + } + if (0 === $len) { + return ''; + } + if (0 > $len) { + return \PHP_VERSION_ID >= 80000 ? '' : \false; + } + if ($len > $rem) { + $len = $rem; + } + return \implode('', \array_slice($s[0], $start, $len)); + } + public static function grapheme_strpos($s, $needle, $offset = 0) + { + return self::grapheme_position($s, $needle, $offset, 0); + } + public static function grapheme_stripos($s, $needle, $offset = 0) + { + return self::grapheme_position($s, $needle, $offset, 1); + } + public static function grapheme_strrpos($s, $needle, $offset = 0) + { + return self::grapheme_position($s, $needle, $offset, 2); + } + public static function grapheme_strripos($s, $needle, $offset = 0) + { + return self::grapheme_position($s, $needle, $offset, 3); + } + public static function grapheme_stristr($s, $needle, $beforeNeedle = \false) + { + return \mb_stristr($s, $needle, $beforeNeedle, 'UTF-8'); + } + public static function grapheme_strstr($s, $needle, $beforeNeedle = \false) + { + return \mb_strstr($s, $needle, $beforeNeedle, 'UTF-8'); + } + private static function grapheme_position($s, $needle, $offset, $mode) + { + $needle = (string) $needle; + if (80000 > \PHP_VERSION_ID && !\preg_match('/./us', $needle)) { + return \false; + } + $s = (string) $s; + if (!\preg_match('/./us', $s)) { + return \false; + } + if ($offset > 0) { + $s = self::grapheme_substr($s, $offset); + } elseif ($offset < 0) { + if (2 > $mode) { + $offset += self::grapheme_strlen($s); + $s = self::grapheme_substr($s, $offset); + if (0 > $offset) { + $offset = 0; + } + } elseif (0 > ($offset += self::grapheme_strlen($needle))) { + $s = self::grapheme_substr($s, 0, $offset); + $offset = 0; + } else { + $offset = 0; + } + } + // As UTF-8 is self-synchronizing, and we have ensured the strings are valid UTF-8, + // we can use normal binary string functions here. For case-insensitive searches, + // case fold the strings first. + $caseInsensitive = $mode & 1; + $reverse = $mode & 2; + if ($caseInsensitive) { + // Use the same case folding mode as mbstring does for mb_stripos(). + // Stick to SIMPLE case folding to avoid changing the length of the string, which + // might result in offsets being shifted. + $mode = \defined('MB_CASE_FOLD_SIMPLE') ? \MB_CASE_FOLD_SIMPLE : \MB_CASE_LOWER; + $s = \mb_convert_case($s, $mode, 'UTF-8'); + $needle = \mb_convert_case($needle, $mode, 'UTF-8'); + if (!\defined('MB_CASE_FOLD_SIMPLE')) { + $s = \str_replace(self::CASE_FOLD[0], self::CASE_FOLD[1], $s); + $needle = \str_replace(self::CASE_FOLD[0], self::CASE_FOLD[1], $needle); + } + } + if ($reverse) { + $needlePos = \strrpos($s, $needle); + } else { + $needlePos = \strpos($s, $needle); + } + return \false !== $needlePos ? self::grapheme_strlen(\substr($s, 0, $needlePos)) + $offset : \false; + } +} diff --git a/vendor-bundle/symfony/polyfill-intl-grapheme/bootstrap.php b/vendor-bundle/symfony/polyfill-intl-grapheme/bootstrap.php new file mode 100644 index 000000000..3a8323f62 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-grapheme/bootstrap.php @@ -0,0 +1,82 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Intl\Grapheme as p; +if (\extension_loaded('intl')) { + return; +} +if (\PHP_VERSION_ID >= 80000) { + return require __DIR__ . '/bootstrap80.php'; +} +if (!\defined('GRAPHEME_EXTR_COUNT')) { + \define('GRAPHEME_EXTR_COUNT', 0); +} +if (!\defined('GRAPHEME_EXTR_MAXBYTES')) { + \define('GRAPHEME_EXTR_MAXBYTES', 1); +} +if (!\defined('GRAPHEME_EXTR_MAXCHARS')) { + \define('GRAPHEME_EXTR_MAXCHARS', 2); +} +if (!\function_exists('grapheme_extract')) { + function grapheme_extract($haystack, $size, $type = 0, $start = 0, &$next = 0) + { + return p\Grapheme::grapheme_extract($haystack, $size, $type, $start, $next); + } +} +if (!\function_exists('grapheme_stripos')) { + function grapheme_stripos($haystack, $needle, $offset = 0) + { + return p\Grapheme::grapheme_stripos($haystack, $needle, $offset); + } +} +if (!\function_exists('grapheme_stristr')) { + function grapheme_stristr($haystack, $needle, $beforeNeedle = \false) + { + return p\Grapheme::grapheme_stristr($haystack, $needle, $beforeNeedle); + } +} +if (!\function_exists('grapheme_strlen')) { + function grapheme_strlen($input) + { + return p\Grapheme::grapheme_strlen($input); + } +} +if (!\function_exists('grapheme_strpos')) { + function grapheme_strpos($haystack, $needle, $offset = 0) + { + return p\Grapheme::grapheme_strpos($haystack, $needle, $offset); + } +} +if (!\function_exists('grapheme_strripos')) { + function grapheme_strripos($haystack, $needle, $offset = 0) + { + return p\Grapheme::grapheme_strripos($haystack, $needle, $offset); + } +} +if (!\function_exists('grapheme_strrpos')) { + function grapheme_strrpos($haystack, $needle, $offset = 0) + { + return p\Grapheme::grapheme_strrpos($haystack, $needle, $offset); + } +} +if (!\function_exists('grapheme_strstr')) { + function grapheme_strstr($haystack, $needle, $beforeNeedle = \false) + { + return p\Grapheme::grapheme_strstr($haystack, $needle, $beforeNeedle); + } +} +if (!\function_exists('grapheme_substr')) { + function grapheme_substr($string, $offset, $length = null) + { + return p\Grapheme::grapheme_substr($string, $offset, $length); + } +} diff --git a/vendor-bundle/symfony/polyfill-intl-grapheme/bootstrap80.php b/vendor-bundle/symfony/polyfill-intl-grapheme/bootstrap80.php new file mode 100644 index 000000000..7f7345be1 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-grapheme/bootstrap80.php @@ -0,0 +1,400 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Intl\Grapheme as p; +if (!\defined('GRAPHEME_EXTR_COUNT')) { + \define('GRAPHEME_EXTR_COUNT', 0); +} +if (!\defined('GRAPHEME_EXTR_MAXBYTES')) { + \define('GRAPHEME_EXTR_MAXBYTES', 1); +} +if (!\defined('GRAPHEME_EXTR_MAXCHARS')) { + \define('GRAPHEME_EXTR_MAXCHARS', 2); +} +if (!\function_exists('grapheme_extract')) { + function grapheme_extract($haystack, $size, $type = \GRAPHEME_EXTR_COUNT, $offset = 0, &$next = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($size)) { + if (!\is_int($size)) { + if (!(\is_bool($size) || \is_numeric($size))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($size) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($size) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $size = (int) $size; + } + } + } + if (!\is_null($type)) { + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($type) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + $phabelReturn = p\Grapheme::grapheme_extract((string) $haystack, (int) $size, (int) $type, (int) $offset, $next); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('grapheme_stripos')) { + function grapheme_stripos($haystack, $needle, $offset = 0) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + $phabelReturn = p\Grapheme::grapheme_stripos((string) $haystack, (string) $needle, (int) $offset); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('grapheme_stristr')) { + function grapheme_stristr($haystack, $needle, $beforeNeedle = \false) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($beforeNeedle)) { + if (!\is_bool($beforeNeedle)) { + if (!(\is_bool($beforeNeedle) || \is_numeric($beforeNeedle) || \is_string($beforeNeedle))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($beforeNeedle) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($beforeNeedle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $beforeNeedle = (bool) $beforeNeedle; + } + } + } + $phabelReturn = p\Grapheme::grapheme_stristr((string) $haystack, (string) $needle, (bool) $beforeNeedle); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('grapheme_strlen')) { + function grapheme_strlen($string) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + $phabelReturn = p\Grapheme::grapheme_strlen((string) $string); + if (!($phabelReturn instanceof false || \is_null($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('grapheme_strpos')) { + function grapheme_strpos($haystack, $needle, $offset = 0) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + $phabelReturn = p\Grapheme::grapheme_strpos((string) $haystack, (string) $needle, (int) $offset); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('grapheme_strripos')) { + function grapheme_strripos($haystack, $needle, $offset = 0) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + $phabelReturn = p\Grapheme::grapheme_strripos((string) $haystack, (string) $needle, (int) $offset); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('grapheme_strrpos')) { + function grapheme_strrpos($haystack, $needle, $offset = 0) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + $phabelReturn = p\Grapheme::grapheme_strrpos((string) $haystack, (string) $needle, (int) $offset); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('grapheme_strstr')) { + function grapheme_strstr($haystack, $needle, $beforeNeedle = \false) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($beforeNeedle)) { + if (!\is_bool($beforeNeedle)) { + if (!(\is_bool($beforeNeedle) || \is_numeric($beforeNeedle) || \is_string($beforeNeedle))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($beforeNeedle) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($beforeNeedle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $beforeNeedle = (bool) $beforeNeedle; + } + } + } + $phabelReturn = p\Grapheme::grapheme_strstr((string) $haystack, (string) $needle, (bool) $beforeNeedle); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('grapheme_substr')) { + function grapheme_substr($string, $offset, $length = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + $phabelReturn = p\Grapheme::grapheme_substr((string) $string, (int) $offset, $length); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/polyfill-intl-normalizer/Normalizer.php b/vendor-bundle/symfony/polyfill-intl-normalizer/Normalizer.php new file mode 100644 index 000000000..75acc6398 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-normalizer/Normalizer.php @@ -0,0 +1,286 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Polyfill\Intl\Normalizer; + +/** + * Normalizer is a PHP fallback implementation of the Normalizer class provided by the intl extension. + * + * It has been validated with Unicode 6.3 Normalization Conformance Test. + * See http://www.unicode.org/reports/tr15/ for detailed info about Unicode normalizations. + * + * @author Nicolas Grekas + * + * @internal + */ +class Normalizer +{ + const FORM_D = \Normalizer::FORM_D; + const FORM_KD = \Normalizer::FORM_KD; + const FORM_C = \Normalizer::FORM_C; + const FORM_KC = \Normalizer::FORM_KC; + const NFD = \Normalizer::NFD; + const NFKD = \Normalizer::NFKD; + const NFC = \Normalizer::NFC; + const NFKC = \Normalizer::NFKC; + private static $C; + private static $D; + private static $KD; + private static $cC; + private static $ulenMask = ["\xc0" => 2, "\xd0" => 2, "\xe0" => 3, "\xf0" => 4]; + private static $ASCII = " eiasntrolud][cmp'\ng|hv.fb,:=-q10C2*yx)(L9AS/P\"EjMIk3>5T \PHP_VERSION_ID) { + return \false; + } + throw new \ValueError('normalizer_normalize(): Argument #2 ($form) must be a a valid normalization form'); + } + if ('' === $s) { + return ''; + } + if ($K && null === self::$KD) { + self::$KD = self::getData('compatibilityDecomposition'); + } + if (null === self::$D) { + self::$D = self::getData('canonicalDecomposition'); + self::$cC = self::getData('combiningClass'); + } + if (null !== ($mbEncoding = 2 & (int) \ini_get('mbstring.func_overload') ? \mb_internal_encoding() : null)) { + \mb_internal_encoding('8bit'); + } + $r = self::decompose($s, $K); + if ($C) { + if (null === self::$C) { + self::$C = self::getData('canonicalComposition'); + } + $r = self::recompose($r); + } + if (null !== $mbEncoding) { + \mb_internal_encoding($mbEncoding); + } + return $r; + } + private static function recompose($s) + { + $ASCII = self::$ASCII; + $compMap = self::$C; + $combClass = self::$cC; + $ulenMask = self::$ulenMask; + $result = $tail = ''; + $i = $s[0] < "\x80" ? 1 : $ulenMask[$s[0] & "\xf0"]; + $len = \strlen($s); + $lastUchr = \substr($s, 0, $i); + $lastUcls = isset($combClass[$lastUchr]) ? 256 : 0; + while ($i < $len) { + if ($s[$i] < "\x80") { + // ASCII chars + if ($tail) { + $lastUchr .= $tail; + $tail = ''; + } + if ($j = \strspn($s, $ASCII, $i + 1)) { + $lastUchr .= \substr($s, $i, $j); + $i += $j; + } + $result .= $lastUchr; + $lastUchr = $s[$i]; + $lastUcls = 0; + ++$i; + continue; + } + $ulen = $ulenMask[$s[$i] & "\xf0"]; + $uchr = \substr($s, $i, $ulen); + if ($lastUchr < "ᄀ" || "ᄒ" < $lastUchr || $uchr < "ᅡ" || "ᅵ" < $uchr || $lastUcls) { + // Table lookup and combining chars composition + $ucls = isset($combClass[$uchr]) ? $combClass[$uchr] : 0; + if (isset($compMap[$lastUchr . $uchr]) && (!$lastUcls || $lastUcls < $ucls)) { + $lastUchr = $compMap[$lastUchr . $uchr]; + } elseif ($lastUcls = $ucls) { + $tail .= $uchr; + } else { + if ($tail) { + $lastUchr .= $tail; + $tail = ''; + } + $result .= $lastUchr; + $lastUchr = $uchr; + } + } else { + // Hangul chars + $L = \ord($lastUchr[2]) - 0x80; + $V = \ord($uchr[2]) - 0xa1; + $T = 0; + $uchr = \substr($s, $i + $ulen, 3); + if ("ᆧ" <= $uchr && $uchr <= "ᇂ") { + $T = \ord($uchr[2]) - 0xa7; + 0 > $T && ($T += 0x40); + $ulen += 3; + } + $L = 0xac00 + ($L * 21 + $V) * 28 + $T; + $lastUchr = \chr(0xe0 | $L >> 12) . \chr(0x80 | $L >> 6 & 0x3f) . \chr(0x80 | $L & 0x3f); + } + $i += $ulen; + } + return $result . $lastUchr . $tail; + } + private static function decompose($s, $c) + { + $result = ''; + $ASCII = self::$ASCII; + $decompMap = self::$D; + $combClass = self::$cC; + $ulenMask = self::$ulenMask; + if ($c) { + $compatMap = self::$KD; + } + $c = []; + $i = 0; + $len = \strlen($s); + while ($i < $len) { + if ($s[$i] < "\x80") { + // ASCII chars + if ($c) { + \ksort($c); + $result .= \implode('', $c); + $c = []; + } + $j = 1 + \strspn($s, $ASCII, $i + 1); + $result .= \substr($s, $i, $j); + $i += $j; + continue; + } + $ulen = $ulenMask[$s[$i] & "\xf0"]; + $uchr = \substr($s, $i, $ulen); + $i += $ulen; + if ($uchr < "가" || "힣" < $uchr) { + // Table lookup + if ($uchr !== ($j = isset($compatMap[$uchr]) ? $compatMap[$uchr] : (isset($decompMap[$uchr]) ? $decompMap[$uchr] : $uchr))) { + $uchr = $j; + $j = \strlen($uchr); + $ulen = $uchr[0] < "\x80" ? 1 : $ulenMask[$uchr[0] & "\xf0"]; + if ($ulen != $j) { + // Put trailing chars in $s + $j -= $ulen; + $i -= $j; + if (0 > $i) { + $s = \str_repeat(' ', -$i) . $s; + $len -= $i; + $i = 0; + } + while ($j--) { + $s[$i + $j] = $uchr[$ulen + $j]; + } + $uchr = \substr($uchr, 0, $ulen); + } + } + if (isset($combClass[$uchr])) { + // Combining chars, for sorting + if (!isset($c[$combClass[$uchr]])) { + $c[$combClass[$uchr]] = ''; + } + $c[$combClass[$uchr]] .= $uchr; + continue; + } + } else { + // Hangul chars + $uchr = \unpack('C*', $uchr); + $j = ($uchr[1] - 224 << 12) + ($uchr[2] - 128 << 6) + $uchr[3] - 0xac80; + $uchr = "\xe1\x84" . \chr(0x80 + (int) ($j / 588)) . "\xe1\x85" . \chr(0xa1 + (int) ($j % 588 / 28)); + if ($j %= 28) { + $uchr .= $j < 25 ? "\xe1\x86" . \chr(0xa7 + $j) : "\xe1\x87" . \chr(0x67 + $j); + } + } + if ($c) { + \ksort($c); + $result .= \implode('', $c); + $c = []; + } + $result .= $uchr; + } + if ($c) { + \ksort($c); + $result .= \implode('', $c); + } + return $result; + } + private static function getData($file) + { + if (\file_exists($file = __DIR__ . '/Resources/unidata/' . $file . '.php')) { + return require $file; + } + return \false; + } +} diff --git a/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php b/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php new file mode 100644 index 000000000..30733946f --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php @@ -0,0 +1,20 @@ + 'À', 'Á' => 'Á', 'Â' => 'Â', 'Ã' => 'Ã', 'Ä' => 'Ä', 'Å' => 'Å', 'Ç' => 'Ç', 'È' => 'È', 'É' => 'É', 'Ê' => 'Ê', 'Ë' => 'Ë', 'Ì' => 'Ì', 'Í' => 'Í', 'Î' => 'Î', 'Ï' => 'Ï', 'Ñ' => 'Ñ', 'Ò' => 'Ò', 'Ó' => 'Ó', 'Ô' => 'Ô', 'Õ' => 'Õ', 'Ö' => 'Ö', 'Ù' => 'Ù', 'Ú' => 'Ú', 'Û' => 'Û', 'Ü' => 'Ü', 'Ý' => 'Ý', 'à' => 'à', 'á' => 'á', 'â' => 'â', 'ã' => 'ã', 'ä' => 'ä', 'å' => 'å', 'ç' => 'ç', 'è' => 'è', 'é' => 'é', 'ê' => 'ê', 'ë' => 'ë', 'ì' => 'ì', 'í' => 'í', 'î' => 'î', 'ï' => 'ï', 'ñ' => 'ñ', 'ò' => 'ò', 'ó' => 'ó', 'ô' => 'ô', 'õ' => 'õ', 'ö' => 'ö', 'ù' => 'ù', 'ú' => 'ú', 'û' => 'û', 'ü' => 'ü', 'ý' => 'ý', 'ÿ' => 'ÿ', 'Ā' => 'Ā', 'ā' => 'ā', 'Ă' => 'Ă', 'ă' => 'ă', 'Ą' => 'Ą', 'ą' => 'ą', 'Ć' => 'Ć', 'ć' => 'ć', 'Ĉ' => 'Ĉ', 'ĉ' => 'ĉ', 'Ċ' => 'Ċ', 'ċ' => 'ċ', 'Č' => 'Č', 'č' => 'č', 'Ď' => 'Ď', 'ď' => 'ď', 'Ē' => 'Ē', 'ē' => 'ē', 'Ĕ' => 'Ĕ', 'ĕ' => 'ĕ', 'Ė' => 'Ė', 'ė' => 'ė', 'Ę' => 'Ę', 'ę' => 'ę', 'Ě' => 'Ě', 'ě' => 'ě', 'Ĝ' => 'Ĝ', 'ĝ' => 'ĝ', 'Ğ' => 'Ğ', 'ğ' => 'ğ', 'Ġ' => 'Ġ', 'ġ' => 'ġ', 'Ģ' => 'Ģ', 'ģ' => 'ģ', 'Ĥ' => 'Ĥ', 'ĥ' => 'ĥ', 'Ĩ' => 'Ĩ', 'ĩ' => 'ĩ', 'Ī' => 'Ī', 'ī' => 'ī', 'Ĭ' => 'Ĭ', 'ĭ' => 'ĭ', 'Į' => 'Į', 'į' => 'į', 'İ' => 'İ', 'Ĵ' => 'Ĵ', 'ĵ' => 'ĵ', 'Ķ' => 'Ķ', 'ķ' => 'ķ', 'Ĺ' => 'Ĺ', 'ĺ' => 'ĺ', 'Ļ' => 'Ļ', 'ļ' => 'ļ', 'Ľ' => 'Ľ', 'ľ' => 'ľ', 'Ń' => 'Ń', 'ń' => 'ń', 'Ņ' => 'Ņ', 'ņ' => 'ņ', 'Ň' => 'Ň', 'ň' => 'ň', 'Ō' => 'Ō', 'ō' => 'ō', 'Ŏ' => 'Ŏ', 'ŏ' => 'ŏ', 'Ő' => 'Ő', 'ő' => 'ő', 'Ŕ' => 'Ŕ', 'ŕ' => 'ŕ', 'Ŗ' => 'Ŗ', 'ŗ' => 'ŗ', 'Ř' => 'Ř', 'ř' => 'ř', 'Ś' => 'Ś', 'ś' => 'ś', 'Ŝ' => 'Ŝ', 'ŝ' => 'ŝ', 'Ş' => 'Ş', 'ş' => 'ş', 'Š' => 'Š', 'š' => 'š', 'Ţ' => 'Ţ', 'ţ' => 'ţ', 'Ť' => 'Ť', 'ť' => 'ť', 'Ũ' => 'Ũ', 'ũ' => 'ũ', 'Ū' => 'Ū', 'ū' => 'ū', 'Ŭ' => 'Ŭ', 'ŭ' => 'ŭ', 'Ů' => 'Ů', 'ů' => 'ů', 'Ű' => 'Ű', 'ű' => 'ű', 'Ų' => 'Ų', 'ų' => 'ų', 'Ŵ' => 'Ŵ', 'ŵ' => 'ŵ', 'Ŷ' => 'Ŷ', 'ŷ' => 'ŷ', 'Ÿ' => 'Ÿ', 'Ź' => 'Ź', 'ź' => 'ź', 'Ż' => 'Ż', 'ż' => 'ż', 'Ž' => 'Ž', 'ž' => 'ž', 'Ơ' => 'Ơ', 'ơ' => 'ơ', 'Ư' => 'Ư', 'ư' => 'ư', 'Ǎ' => 'Ǎ', 'ǎ' => 'ǎ', 'Ǐ' => 'Ǐ', 'ǐ' => 'ǐ', 'Ǒ' => 'Ǒ', 'ǒ' => 'ǒ', 'Ǔ' => 'Ǔ', 'ǔ' => 'ǔ', 'Ǖ' => 'Ǖ', 'ǖ' => 'ǖ', 'Ǘ' => 'Ǘ', 'ǘ' => 'ǘ', 'Ǚ' => 'Ǚ', 'ǚ' => 'ǚ', 'Ǜ' => 'Ǜ', 'ǜ' => 'ǜ', 'Ǟ' => 'Ǟ', 'ǟ' => 'ǟ', 'Ǡ' => 'Ǡ', 'ǡ' => 'ǡ', 'Ǣ' => 'Ǣ', 'ǣ' => 'ǣ', 'Ǧ' => 'Ǧ', 'ǧ' => 'ǧ', 'Ǩ' => 'Ǩ', 'ǩ' => 'ǩ', 'Ǫ' => 'Ǫ', 'ǫ' => 'ǫ', 'Ǭ' => 'Ǭ', 'ǭ' => 'ǭ', 'Ǯ' => 'Ǯ', 'ǯ' => 'ǯ', 'ǰ' => 'ǰ', 'Ǵ' => 'Ǵ', 'ǵ' => 'ǵ', 'Ǹ' => 'Ǹ', 'ǹ' => 'ǹ', 'Ǻ' => 'Ǻ', 'ǻ' => 'ǻ', 'Ǽ' => 'Ǽ', 'ǽ' => 'ǽ', 'Ǿ' => 'Ǿ', 'ǿ' => 'ǿ', 'Ȁ' => 'Ȁ', 'ȁ' => 'ȁ', 'Ȃ' => 'Ȃ', 'ȃ' => 'ȃ', 'Ȅ' => 'Ȅ', 'ȅ' => 'ȅ', 'Ȇ' => 'Ȇ', 'ȇ' => 'ȇ', 'Ȉ' => 'Ȉ', 'ȉ' => 'ȉ', 'Ȋ' => 'Ȋ', 'ȋ' => 'ȋ', 'Ȍ' => 'Ȍ', 'ȍ' => 'ȍ', 'Ȏ' => 'Ȏ', 'ȏ' => 'ȏ', 'Ȑ' => 'Ȑ', 'ȑ' => 'ȑ', 'Ȓ' => 'Ȓ', 'ȓ' => 'ȓ', 'Ȕ' => 'Ȕ', 'ȕ' => 'ȕ', 'Ȗ' => 'Ȗ', 'ȗ' => 'ȗ', 'Ș' => 'Ș', 'ș' => 'ș', 'Ț' => 'Ț', 'ț' => 'ț', 'Ȟ' => 'Ȟ', 'ȟ' => 'ȟ', 'Ȧ' => 'Ȧ', 'ȧ' => 'ȧ', 'Ȩ' => 'Ȩ', 'ȩ' => 'ȩ', 'Ȫ' => 'Ȫ', 'ȫ' => 'ȫ', 'Ȭ' => 'Ȭ', 'ȭ' => 'ȭ', 'Ȯ' => 'Ȯ', 'ȯ' => 'ȯ', 'Ȱ' => 'Ȱ', 'ȱ' => 'ȱ', 'Ȳ' => 'Ȳ', 'ȳ' => 'ȳ', '΅' => '΅', 'Ά' => 'Ά', 'Έ' => 'Έ', 'Ή' => 'Ή', 'Ί' => 'Ί', 'Ό' => 'Ό', 'Ύ' => 'Ύ', 'Ώ' => 'Ώ', 'ΐ' => 'ΐ', 'Ϊ' => 'Ϊ', 'Ϋ' => 'Ϋ', 'ά' => 'ά', 'έ' => 'έ', 'ή' => 'ή', 'ί' => 'ί', 'ΰ' => 'ΰ', 'ϊ' => 'ϊ', 'ϋ' => 'ϋ', 'ό' => 'ό', 'ύ' => 'ύ', 'ώ' => 'ώ', 'ϓ' => 'ϓ', 'ϔ' => 'ϔ', 'Ѐ' => 'Ѐ', 'Ё' => 'Ё', 'Ѓ' => 'Ѓ', 'Ї' => 'Ї', 'Ќ' => 'Ќ', 'Ѝ' => 'Ѝ', 'Ў' => 'Ў', 'Й' => 'Й', 'й' => 'й', 'ѐ' => 'ѐ', 'ё' => 'ё', 'ѓ' => 'ѓ', 'ї' => 'ї', 'ќ' => 'ќ', 'ѝ' => 'ѝ', 'ў' => 'ў', 'Ѷ' => 'Ѷ', 'ѷ' => 'ѷ', 'Ӂ' => 'Ӂ', 'ӂ' => 'ӂ', 'Ӑ' => 'Ӑ', 'ӑ' => 'ӑ', 'Ӓ' => 'Ӓ', 'ӓ' => 'ӓ', 'Ӗ' => 'Ӗ', 'ӗ' => 'ӗ', 'Ӛ' => 'Ӛ', 'ӛ' => 'ӛ', 'Ӝ' => 'Ӝ', 'ӝ' => 'ӝ', 'Ӟ' => 'Ӟ', 'ӟ' => 'ӟ', 'Ӣ' => 'Ӣ', 'ӣ' => 'ӣ', 'Ӥ' => 'Ӥ', 'ӥ' => 'ӥ', 'Ӧ' => 'Ӧ', 'ӧ' => 'ӧ', 'Ӫ' => 'Ӫ', 'ӫ' => 'ӫ', 'Ӭ' => 'Ӭ', 'ӭ' => 'ӭ', 'Ӯ' => 'Ӯ', 'ӯ' => 'ӯ', 'Ӱ' => 'Ӱ', 'ӱ' => 'ӱ', 'Ӳ' => 'Ӳ', 'ӳ' => 'ӳ', 'Ӵ' => 'Ӵ', 'ӵ' => 'ӵ', 'Ӹ' => 'Ӹ', 'ӹ' => 'ӹ', 'آ' => 'آ', 'أ' => 'أ', 'ؤ' => 'ؤ', 'إ' => 'إ', 'ئ' => 'ئ', 'ۀ' => 'ۀ', 'ۂ' => 'ۂ', 'ۓ' => 'ۓ', 'ऩ' => 'ऩ', 'ऱ' => 'ऱ', 'ऴ' => 'ऴ', 'ো' => 'ো', 'ৌ' => 'ৌ', 'ୈ' => 'ୈ', 'ୋ' => 'ୋ', 'ୌ' => 'ୌ', 'ஔ' => 'ஔ', 'ொ' => 'ொ', 'ோ' => 'ோ', 'ௌ' => 'ௌ', 'ై' => 'ై', 'ೀ' => 'ೀ', 'ೇ' => 'ೇ', 'ೈ' => 'ೈ', 'ೊ' => 'ೊ', 'ೋ' => 'ೋ', 'ൊ' => 'ൊ', 'ോ' => 'ോ', 'ൌ' => 'ൌ', 'ේ' => 'ේ', 'ො' => 'ො', 'ෝ' => 'ෝ', 'ෞ' => 'ෞ', 'ဦ' => 'ဦ', 'ᬆ' => 'ᬆ', 'ᬈ' => 'ᬈ', 'ᬊ' => 'ᬊ', 'ᬌ' => 'ᬌ', 'ᬎ' => 'ᬎ', 'ᬒ' => 'ᬒ', 'ᬻ' => 'ᬻ', 'ᬽ' => 'ᬽ', 'ᭀ' => 'ᭀ', 'ᭁ' => 'ᭁ', 'ᭃ' => 'ᭃ', 'Ḁ' => 'Ḁ', 'ḁ' => 'ḁ', 'Ḃ' => 'Ḃ', 'ḃ' => 'ḃ', 'Ḅ' => 'Ḅ', 'ḅ' => 'ḅ', 'Ḇ' => 'Ḇ', 'ḇ' => 'ḇ', 'Ḉ' => 'Ḉ', 'ḉ' => 'ḉ', 'Ḋ' => 'Ḋ', 'ḋ' => 'ḋ', 'Ḍ' => 'Ḍ', 'ḍ' => 'ḍ', 'Ḏ' => 'Ḏ', 'ḏ' => 'ḏ', 'Ḑ' => 'Ḑ', 'ḑ' => 'ḑ', 'Ḓ' => 'Ḓ', 'ḓ' => 'ḓ', 'Ḕ' => 'Ḕ', 'ḕ' => 'ḕ', 'Ḗ' => 'Ḗ', 'ḗ' => 'ḗ', 'Ḙ' => 'Ḙ', 'ḙ' => 'ḙ', 'Ḛ' => 'Ḛ', 'ḛ' => 'ḛ', 'Ḝ' => 'Ḝ', 'ḝ' => 'ḝ', 'Ḟ' => 'Ḟ', 'ḟ' => 'ḟ', 'Ḡ' => 'Ḡ', 'ḡ' => 'ḡ', 'Ḣ' => 'Ḣ', 'ḣ' => 'ḣ', 'Ḥ' => 'Ḥ', 'ḥ' => 'ḥ', 'Ḧ' => 'Ḧ', 'ḧ' => 'ḧ', 'Ḩ' => 'Ḩ', 'ḩ' => 'ḩ', 'Ḫ' => 'Ḫ', 'ḫ' => 'ḫ', 'Ḭ' => 'Ḭ', 'ḭ' => 'ḭ', 'Ḯ' => 'Ḯ', 'ḯ' => 'ḯ', 'Ḱ' => 'Ḱ', 'ḱ' => 'ḱ', 'Ḳ' => 'Ḳ', 'ḳ' => 'ḳ', 'Ḵ' => 'Ḵ', 'ḵ' => 'ḵ', 'Ḷ' => 'Ḷ', 'ḷ' => 'ḷ', 'Ḹ' => 'Ḹ', 'ḹ' => 'ḹ', 'Ḻ' => 'Ḻ', 'ḻ' => 'ḻ', 'Ḽ' => 'Ḽ', 'ḽ' => 'ḽ', 'Ḿ' => 'Ḿ', 'ḿ' => 'ḿ', 'Ṁ' => 'Ṁ', 'ṁ' => 'ṁ', 'Ṃ' => 'Ṃ', 'ṃ' => 'ṃ', 'Ṅ' => 'Ṅ', 'ṅ' => 'ṅ', 'Ṇ' => 'Ṇ', 'ṇ' => 'ṇ', 'Ṉ' => 'Ṉ', 'ṉ' => 'ṉ', 'Ṋ' => 'Ṋ', 'ṋ' => 'ṋ', 'Ṍ' => 'Ṍ', 'ṍ' => 'ṍ', 'Ṏ' => 'Ṏ', 'ṏ' => 'ṏ', 'Ṑ' => 'Ṑ', 'ṑ' => 'ṑ', 'Ṓ' => 'Ṓ', 'ṓ' => 'ṓ', 'Ṕ' => 'Ṕ', 'ṕ' => 'ṕ', 'Ṗ' => 'Ṗ', 'ṗ' => 'ṗ', 'Ṙ' => 'Ṙ', 'ṙ' => 'ṙ', 'Ṛ' => 'Ṛ', 'ṛ' => 'ṛ', 'Ṝ' => 'Ṝ', 'ṝ' => 'ṝ', 'Ṟ' => 'Ṟ', 'ṟ' => 'ṟ', 'Ṡ' => 'Ṡ', 'ṡ' => 'ṡ', 'Ṣ' => 'Ṣ', 'ṣ' => 'ṣ', 'Ṥ' => 'Ṥ', 'ṥ' => 'ṥ', 'Ṧ' => 'Ṧ', 'ṧ' => 'ṧ', 'Ṩ' => 'Ṩ', 'ṩ' => 'ṩ', 'Ṫ' => 'Ṫ', 'ṫ' => 'ṫ', 'Ṭ' => 'Ṭ', 'ṭ' => 'ṭ', 'Ṯ' => 'Ṯ', 'ṯ' => 'ṯ', 'Ṱ' => 'Ṱ', 'ṱ' => 'ṱ', 'Ṳ' => 'Ṳ', 'ṳ' => 'ṳ', 'Ṵ' => 'Ṵ', 'ṵ' => 'ṵ', 'Ṷ' => 'Ṷ', 'ṷ' => 'ṷ', 'Ṹ' => 'Ṹ', 'ṹ' => 'ṹ', 'Ṻ' => 'Ṻ', 'ṻ' => 'ṻ', 'Ṽ' => 'Ṽ', 'ṽ' => 'ṽ', 'Ṿ' => 'Ṿ', 'ṿ' => 'ṿ', 'Ẁ' => 'Ẁ', 'ẁ' => 'ẁ', 'Ẃ' => 'Ẃ', 'ẃ' => 'ẃ', 'Ẅ' => 'Ẅ', 'ẅ' => 'ẅ', 'Ẇ' => 'Ẇ', 'ẇ' => 'ẇ', 'Ẉ' => 'Ẉ', 'ẉ' => 'ẉ', 'Ẋ' => 'Ẋ', 'ẋ' => 'ẋ', 'Ẍ' => 'Ẍ', 'ẍ' => 'ẍ', 'Ẏ' => 'Ẏ', 'ẏ' => 'ẏ', 'Ẑ' => 'Ẑ', 'ẑ' => 'ẑ', 'Ẓ' => 'Ẓ', 'ẓ' => 'ẓ', 'Ẕ' => 'Ẕ', 'ẕ' => 'ẕ', 'ẖ' => 'ẖ', 'ẗ' => 'ẗ', 'ẘ' => 'ẘ', 'ẙ' => 'ẙ', 'ẛ' => 'ẛ', 'Ạ' => 'Ạ', 'ạ' => 'ạ', 'Ả' => 'Ả', 'ả' => 'ả', 'Ấ' => 'Ấ', 'ấ' => 'ấ', 'Ầ' => 'Ầ', 'ầ' => 'ầ', 'Ẩ' => 'Ẩ', 'ẩ' => 'ẩ', 'Ẫ' => 'Ẫ', 'ẫ' => 'ẫ', 'Ậ' => 'Ậ', 'ậ' => 'ậ', 'Ắ' => 'Ắ', 'ắ' => 'ắ', 'Ằ' => 'Ằ', 'ằ' => 'ằ', 'Ẳ' => 'Ẳ', 'ẳ' => 'ẳ', 'Ẵ' => 'Ẵ', 'ẵ' => 'ẵ', 'Ặ' => 'Ặ', 'ặ' => 'ặ', 'Ẹ' => 'Ẹ', 'ẹ' => 'ẹ', 'Ẻ' => 'Ẻ', 'ẻ' => 'ẻ', 'Ẽ' => 'Ẽ', 'ẽ' => 'ẽ', 'Ế' => 'Ế', 'ế' => 'ế', 'Ề' => 'Ề', 'ề' => 'ề', 'Ể' => 'Ể', 'ể' => 'ể', 'Ễ' => 'Ễ', 'ễ' => 'ễ', 'Ệ' => 'Ệ', 'ệ' => 'ệ', 'Ỉ' => 'Ỉ', 'ỉ' => 'ỉ', 'Ị' => 'Ị', 'ị' => 'ị', 'Ọ' => 'Ọ', 'ọ' => 'ọ', 'Ỏ' => 'Ỏ', 'ỏ' => 'ỏ', 'Ố' => 'Ố', 'ố' => 'ố', 'Ồ' => 'Ồ', 'ồ' => 'ồ', 'Ổ' => 'Ổ', 'ổ' => 'ổ', 'Ỗ' => 'Ỗ', 'ỗ' => 'ỗ', 'Ộ' => 'Ộ', 'ộ' => 'ộ', 'Ớ' => 'Ớ', 'ớ' => 'ớ', 'Ờ' => 'Ờ', 'ờ' => 'ờ', 'Ở' => 'Ở', 'ở' => 'ở', 'Ỡ' => 'Ỡ', 'ỡ' => 'ỡ', 'Ợ' => 'Ợ', 'ợ' => 'ợ', 'Ụ' => 'Ụ', 'ụ' => 'ụ', 'Ủ' => 'Ủ', 'ủ' => 'ủ', 'Ứ' => 'Ứ', 'ứ' => 'ứ', 'Ừ' => 'Ừ', 'ừ' => 'ừ', 'Ử' => 'Ử', 'ử' => 'ử', 'Ữ' => 'Ữ', 'ữ' => 'ữ', 'Ự' => 'Ự', 'ự' => 'ự', 'Ỳ' => 'Ỳ', 'ỳ' => 'ỳ', 'Ỵ' => 'Ỵ', 'ỵ' => 'ỵ', 'Ỷ' => 'Ỷ', 'ỷ' => 'ỷ', 'Ỹ' => 'Ỹ', 'ỹ' => 'ỹ', 'ἀ' => 'ἀ', 'ἁ' => 'ἁ', 'ἂ' => 'ἂ', 'ἃ' => 'ἃ', 'ἄ' => 'ἄ', 'ἅ' => 'ἅ', 'ἆ' => 'ἆ', 'ἇ' => 'ἇ', 'Ἀ' => 'Ἀ', 'Ἁ' => 'Ἁ', 'Ἂ' => 'Ἂ', 'Ἃ' => 'Ἃ', 'Ἄ' => 'Ἄ', 'Ἅ' => 'Ἅ', 'Ἆ' => 'Ἆ', 'Ἇ' => 'Ἇ', 'ἐ' => 'ἐ', 'ἑ' => 'ἑ', 'ἒ' => 'ἒ', 'ἓ' => 'ἓ', 'ἔ' => 'ἔ', 'ἕ' => 'ἕ', 'Ἐ' => 'Ἐ', 'Ἑ' => 'Ἑ', 'Ἒ' => 'Ἒ', 'Ἓ' => 'Ἓ', 'Ἔ' => 'Ἔ', 'Ἕ' => 'Ἕ', 'ἠ' => 'ἠ', 'ἡ' => 'ἡ', 'ἢ' => 'ἢ', 'ἣ' => 'ἣ', 'ἤ' => 'ἤ', 'ἥ' => 'ἥ', 'ἦ' => 'ἦ', 'ἧ' => 'ἧ', 'Ἠ' => 'Ἠ', 'Ἡ' => 'Ἡ', 'Ἢ' => 'Ἢ', 'Ἣ' => 'Ἣ', 'Ἤ' => 'Ἤ', 'Ἥ' => 'Ἥ', 'Ἦ' => 'Ἦ', 'Ἧ' => 'Ἧ', 'ἰ' => 'ἰ', 'ἱ' => 'ἱ', 'ἲ' => 'ἲ', 'ἳ' => 'ἳ', 'ἴ' => 'ἴ', 'ἵ' => 'ἵ', 'ἶ' => 'ἶ', 'ἷ' => 'ἷ', 'Ἰ' => 'Ἰ', 'Ἱ' => 'Ἱ', 'Ἲ' => 'Ἲ', 'Ἳ' => 'Ἳ', 'Ἴ' => 'Ἴ', 'Ἵ' => 'Ἵ', 'Ἶ' => 'Ἶ', 'Ἷ' => 'Ἷ', 'ὀ' => 'ὀ', 'ὁ' => 'ὁ', 'ὂ' => 'ὂ', 'ὃ' => 'ὃ', 'ὄ' => 'ὄ', 'ὅ' => 'ὅ', 'Ὀ' => 'Ὀ', 'Ὁ' => 'Ὁ', 'Ὂ' => 'Ὂ', 'Ὃ' => 'Ὃ', 'Ὄ' => 'Ὄ', 'Ὅ' => 'Ὅ', 'ὐ' => 'ὐ', 'ὑ' => 'ὑ', 'ὒ' => 'ὒ', 'ὓ' => 'ὓ', 'ὔ' => 'ὔ', 'ὕ' => 'ὕ', 'ὖ' => 'ὖ', 'ὗ' => 'ὗ', 'Ὑ' => 'Ὑ', 'Ὓ' => 'Ὓ', 'Ὕ' => 'Ὕ', 'Ὗ' => 'Ὗ', 'ὠ' => 'ὠ', 'ὡ' => 'ὡ', 'ὢ' => 'ὢ', 'ὣ' => 'ὣ', 'ὤ' => 'ὤ', 'ὥ' => 'ὥ', 'ὦ' => 'ὦ', 'ὧ' => 'ὧ', 'Ὠ' => 'Ὠ', 'Ὡ' => 'Ὡ', 'Ὢ' => 'Ὢ', 'Ὣ' => 'Ὣ', 'Ὤ' => 'Ὤ', 'Ὥ' => 'Ὥ', 'Ὦ' => 'Ὦ', 'Ὧ' => 'Ὧ', 'ὰ' => 'ὰ', 'ὲ' => 'ὲ', 'ὴ' => 'ὴ', 'ὶ' => 'ὶ', 'ὸ' => 'ὸ', 'ὺ' => 'ὺ', 'ὼ' => 'ὼ', 'ᾀ' => 'ᾀ', 'ᾁ' => 'ᾁ', 'ᾂ' => 'ᾂ', 'ᾃ' => 'ᾃ', 'ᾄ' => 'ᾄ', 'ᾅ' => 'ᾅ', 'ᾆ' => 'ᾆ', 'ᾇ' => 'ᾇ', 'ᾈ' => 'ᾈ', 'ᾉ' => 'ᾉ', 'ᾊ' => 'ᾊ', 'ᾋ' => 'ᾋ', 'ᾌ' => 'ᾌ', 'ᾍ' => 'ᾍ', 'ᾎ' => 'ᾎ', 'ᾏ' => 'ᾏ', 'ᾐ' => 'ᾐ', 'ᾑ' => 'ᾑ', 'ᾒ' => 'ᾒ', 'ᾓ' => 'ᾓ', 'ᾔ' => 'ᾔ', 'ᾕ' => 'ᾕ', 'ᾖ' => 'ᾖ', 'ᾗ' => 'ᾗ', 'ᾘ' => 'ᾘ', 'ᾙ' => 'ᾙ', 'ᾚ' => 'ᾚ', 'ᾛ' => 'ᾛ', 'ᾜ' => 'ᾜ', 'ᾝ' => 'ᾝ', 'ᾞ' => 'ᾞ', 'ᾟ' => 'ᾟ', 'ᾠ' => 'ᾠ', 'ᾡ' => 'ᾡ', 'ᾢ' => 'ᾢ', 'ᾣ' => 'ᾣ', 'ᾤ' => 'ᾤ', 'ᾥ' => 'ᾥ', 'ᾦ' => 'ᾦ', 'ᾧ' => 'ᾧ', 'ᾨ' => 'ᾨ', 'ᾩ' => 'ᾩ', 'ᾪ' => 'ᾪ', 'ᾫ' => 'ᾫ', 'ᾬ' => 'ᾬ', 'ᾭ' => 'ᾭ', 'ᾮ' => 'ᾮ', 'ᾯ' => 'ᾯ', 'ᾰ' => 'ᾰ', 'ᾱ' => 'ᾱ', 'ᾲ' => 'ᾲ', 'ᾳ' => 'ᾳ', 'ᾴ' => 'ᾴ', 'ᾶ' => 'ᾶ', 'ᾷ' => 'ᾷ', 'Ᾰ' => 'Ᾰ', 'Ᾱ' => 'Ᾱ', 'Ὰ' => 'Ὰ', 'ᾼ' => 'ᾼ', '῁' => '῁', 'ῂ' => 'ῂ', 'ῃ' => 'ῃ', 'ῄ' => 'ῄ', 'ῆ' => 'ῆ', 'ῇ' => 'ῇ', 'Ὲ' => 'Ὲ', 'Ὴ' => 'Ὴ', 'ῌ' => 'ῌ', '῍' => '῍', '῎' => '῎', '῏' => '῏', 'ῐ' => 'ῐ', 'ῑ' => 'ῑ', 'ῒ' => 'ῒ', 'ῖ' => 'ῖ', 'ῗ' => 'ῗ', 'Ῐ' => 'Ῐ', 'Ῑ' => 'Ῑ', 'Ὶ' => 'Ὶ', '῝' => '῝', '῞' => '῞', '῟' => '῟', 'ῠ' => 'ῠ', 'ῡ' => 'ῡ', 'ῢ' => 'ῢ', 'ῤ' => 'ῤ', 'ῥ' => 'ῥ', 'ῦ' => 'ῦ', 'ῧ' => 'ῧ', 'Ῠ' => 'Ῠ', 'Ῡ' => 'Ῡ', 'Ὺ' => 'Ὺ', 'Ῥ' => 'Ῥ', '῭' => '῭', 'ῲ' => 'ῲ', 'ῳ' => 'ῳ', 'ῴ' => 'ῴ', 'ῶ' => 'ῶ', 'ῷ' => 'ῷ', 'Ὸ' => 'Ὸ', 'Ὼ' => 'Ὼ', 'ῼ' => 'ῼ', '↚' => '↚', '↛' => '↛', '↮' => '↮', '⇍' => '⇍', '⇎' => '⇎', '⇏' => '⇏', '∄' => '∄', '∉' => '∉', '∌' => '∌', '∤' => '∤', '∦' => '∦', '≁' => '≁', '≄' => '≄', '≇' => '≇', '≉' => '≉', '≠' => '≠', '≢' => '≢', '≭' => '≭', '≮' => '≮', '≯' => '≯', '≰' => '≰', '≱' => '≱', '≴' => '≴', '≵' => '≵', '≸' => '≸', '≹' => '≹', '⊀' => '⊀', '⊁' => '⊁', '⊄' => '⊄', '⊅' => '⊅', '⊈' => '⊈', '⊉' => '⊉', '⊬' => '⊬', '⊭' => '⊭', '⊮' => '⊮', '⊯' => '⊯', '⋠' => '⋠', '⋡' => '⋡', '⋢' => '⋢', '⋣' => '⋣', '⋪' => '⋪', '⋫' => '⋫', '⋬' => '⋬', '⋭' => '⋭', 'が' => 'が', 'ぎ' => 'ぎ', 'ぐ' => 'ぐ', 'げ' => 'げ', 'ご' => 'ご', 'ざ' => 'ざ', 'じ' => 'じ', 'ず' => 'ず', 'ぜ' => 'ぜ', 'ぞ' => 'ぞ', 'だ' => 'だ', 'ぢ' => 'ぢ', 'づ' => 'づ', 'で' => 'で', 'ど' => 'ど', 'ば' => 'ば', 'ぱ' => 'ぱ', 'び' => 'び', 'ぴ' => 'ぴ', 'ぶ' => 'ぶ', 'ぷ' => 'ぷ', 'べ' => 'べ', 'ぺ' => 'ぺ', 'ぼ' => 'ぼ', 'ぽ' => 'ぽ', 'ゔ' => 'ゔ', 'ゞ' => 'ゞ', 'ガ' => 'ガ', 'ギ' => 'ギ', 'グ' => 'グ', 'ゲ' => 'ゲ', 'ゴ' => 'ゴ', 'ザ' => 'ザ', 'ジ' => 'ジ', 'ズ' => 'ズ', 'ゼ' => 'ゼ', 'ゾ' => 'ゾ', 'ダ' => 'ダ', 'ヂ' => 'ヂ', 'ヅ' => 'ヅ', 'デ' => 'デ', 'ド' => 'ド', 'バ' => 'バ', 'パ' => 'パ', 'ビ' => 'ビ', 'ピ' => 'ピ', 'ブ' => 'ブ', 'プ' => 'プ', 'ベ' => 'ベ', 'ペ' => 'ペ', 'ボ' => 'ボ', 'ポ' => 'ポ', 'ヴ' => 'ヴ', 'ヷ' => 'ヷ', 'ヸ' => 'ヸ', 'ヹ' => 'ヹ', 'ヺ' => 'ヺ', 'ヾ' => 'ヾ', '𑂚' => '𑂚', '𑂜' => '𑂜', '𑂫' => '𑂫', '𑄮' => '𑄮', '𑄯' => '𑄯', '𑍋' => '𑍋', '𑍌' => '𑍌', '𑒻' => '𑒻', '𑒼' => '𑒼', '𑒾' => '𑒾', '𑖺' => '𑖺', '𑖻' => '𑖻', '𑤸' => '𑤸'); diff --git a/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php b/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php new file mode 100644 index 000000000..9fa355c22 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php @@ -0,0 +1,5 @@ + 'À', 'Á' => 'Á', 'Â' => 'Â', 'Ã' => 'Ã', 'Ä' => 'Ä', 'Å' => 'Å', 'Ç' => 'Ç', 'È' => 'È', 'É' => 'É', 'Ê' => 'Ê', 'Ë' => 'Ë', 'Ì' => 'Ì', 'Í' => 'Í', 'Î' => 'Î', 'Ï' => 'Ï', 'Ñ' => 'Ñ', 'Ò' => 'Ò', 'Ó' => 'Ó', 'Ô' => 'Ô', 'Õ' => 'Õ', 'Ö' => 'Ö', 'Ù' => 'Ù', 'Ú' => 'Ú', 'Û' => 'Û', 'Ü' => 'Ü', 'Ý' => 'Ý', 'à' => 'à', 'á' => 'á', 'â' => 'â', 'ã' => 'ã', 'ä' => 'ä', 'å' => 'å', 'ç' => 'ç', 'è' => 'è', 'é' => 'é', 'ê' => 'ê', 'ë' => 'ë', 'ì' => 'ì', 'í' => 'í', 'î' => 'î', 'ï' => 'ï', 'ñ' => 'ñ', 'ò' => 'ò', 'ó' => 'ó', 'ô' => 'ô', 'õ' => 'õ', 'ö' => 'ö', 'ù' => 'ù', 'ú' => 'ú', 'û' => 'û', 'ü' => 'ü', 'ý' => 'ý', 'ÿ' => 'ÿ', 'Ā' => 'Ā', 'ā' => 'ā', 'Ă' => 'Ă', 'ă' => 'ă', 'Ą' => 'Ą', 'ą' => 'ą', 'Ć' => 'Ć', 'ć' => 'ć', 'Ĉ' => 'Ĉ', 'ĉ' => 'ĉ', 'Ċ' => 'Ċ', 'ċ' => 'ċ', 'Č' => 'Č', 'č' => 'č', 'Ď' => 'Ď', 'ď' => 'ď', 'Ē' => 'Ē', 'ē' => 'ē', 'Ĕ' => 'Ĕ', 'ĕ' => 'ĕ', 'Ė' => 'Ė', 'ė' => 'ė', 'Ę' => 'Ę', 'ę' => 'ę', 'Ě' => 'Ě', 'ě' => 'ě', 'Ĝ' => 'Ĝ', 'ĝ' => 'ĝ', 'Ğ' => 'Ğ', 'ğ' => 'ğ', 'Ġ' => 'Ġ', 'ġ' => 'ġ', 'Ģ' => 'Ģ', 'ģ' => 'ģ', 'Ĥ' => 'Ĥ', 'ĥ' => 'ĥ', 'Ĩ' => 'Ĩ', 'ĩ' => 'ĩ', 'Ī' => 'Ī', 'ī' => 'ī', 'Ĭ' => 'Ĭ', 'ĭ' => 'ĭ', 'Į' => 'Į', 'į' => 'į', 'İ' => 'İ', 'Ĵ' => 'Ĵ', 'ĵ' => 'ĵ', 'Ķ' => 'Ķ', 'ķ' => 'ķ', 'Ĺ' => 'Ĺ', 'ĺ' => 'ĺ', 'Ļ' => 'Ļ', 'ļ' => 'ļ', 'Ľ' => 'Ľ', 'ľ' => 'ľ', 'Ń' => 'Ń', 'ń' => 'ń', 'Ņ' => 'Ņ', 'ņ' => 'ņ', 'Ň' => 'Ň', 'ň' => 'ň', 'Ō' => 'Ō', 'ō' => 'ō', 'Ŏ' => 'Ŏ', 'ŏ' => 'ŏ', 'Ő' => 'Ő', 'ő' => 'ő', 'Ŕ' => 'Ŕ', 'ŕ' => 'ŕ', 'Ŗ' => 'Ŗ', 'ŗ' => 'ŗ', 'Ř' => 'Ř', 'ř' => 'ř', 'Ś' => 'Ś', 'ś' => 'ś', 'Ŝ' => 'Ŝ', 'ŝ' => 'ŝ', 'Ş' => 'Ş', 'ş' => 'ş', 'Š' => 'Š', 'š' => 'š', 'Ţ' => 'Ţ', 'ţ' => 'ţ', 'Ť' => 'Ť', 'ť' => 'ť', 'Ũ' => 'Ũ', 'ũ' => 'ũ', 'Ū' => 'Ū', 'ū' => 'ū', 'Ŭ' => 'Ŭ', 'ŭ' => 'ŭ', 'Ů' => 'Ů', 'ů' => 'ů', 'Ű' => 'Ű', 'ű' => 'ű', 'Ų' => 'Ų', 'ų' => 'ų', 'Ŵ' => 'Ŵ', 'ŵ' => 'ŵ', 'Ŷ' => 'Ŷ', 'ŷ' => 'ŷ', 'Ÿ' => 'Ÿ', 'Ź' => 'Ź', 'ź' => 'ź', 'Ż' => 'Ż', 'ż' => 'ż', 'Ž' => 'Ž', 'ž' => 'ž', 'Ơ' => 'Ơ', 'ơ' => 'ơ', 'Ư' => 'Ư', 'ư' => 'ư', 'Ǎ' => 'Ǎ', 'ǎ' => 'ǎ', 'Ǐ' => 'Ǐ', 'ǐ' => 'ǐ', 'Ǒ' => 'Ǒ', 'ǒ' => 'ǒ', 'Ǔ' => 'Ǔ', 'ǔ' => 'ǔ', 'Ǖ' => 'Ǖ', 'ǖ' => 'ǖ', 'Ǘ' => 'Ǘ', 'ǘ' => 'ǘ', 'Ǚ' => 'Ǚ', 'ǚ' => 'ǚ', 'Ǜ' => 'Ǜ', 'ǜ' => 'ǜ', 'Ǟ' => 'Ǟ', 'ǟ' => 'ǟ', 'Ǡ' => 'Ǡ', 'ǡ' => 'ǡ', 'Ǣ' => 'Ǣ', 'ǣ' => 'ǣ', 'Ǧ' => 'Ǧ', 'ǧ' => 'ǧ', 'Ǩ' => 'Ǩ', 'ǩ' => 'ǩ', 'Ǫ' => 'Ǫ', 'ǫ' => 'ǫ', 'Ǭ' => 'Ǭ', 'ǭ' => 'ǭ', 'Ǯ' => 'Ǯ', 'ǯ' => 'ǯ', 'ǰ' => 'ǰ', 'Ǵ' => 'Ǵ', 'ǵ' => 'ǵ', 'Ǹ' => 'Ǹ', 'ǹ' => 'ǹ', 'Ǻ' => 'Ǻ', 'ǻ' => 'ǻ', 'Ǽ' => 'Ǽ', 'ǽ' => 'ǽ', 'Ǿ' => 'Ǿ', 'ǿ' => 'ǿ', 'Ȁ' => 'Ȁ', 'ȁ' => 'ȁ', 'Ȃ' => 'Ȃ', 'ȃ' => 'ȃ', 'Ȅ' => 'Ȅ', 'ȅ' => 'ȅ', 'Ȇ' => 'Ȇ', 'ȇ' => 'ȇ', 'Ȉ' => 'Ȉ', 'ȉ' => 'ȉ', 'Ȋ' => 'Ȋ', 'ȋ' => 'ȋ', 'Ȍ' => 'Ȍ', 'ȍ' => 'ȍ', 'Ȏ' => 'Ȏ', 'ȏ' => 'ȏ', 'Ȑ' => 'Ȑ', 'ȑ' => 'ȑ', 'Ȓ' => 'Ȓ', 'ȓ' => 'ȓ', 'Ȕ' => 'Ȕ', 'ȕ' => 'ȕ', 'Ȗ' => 'Ȗ', 'ȗ' => 'ȗ', 'Ș' => 'Ș', 'ș' => 'ș', 'Ț' => 'Ț', 'ț' => 'ț', 'Ȟ' => 'Ȟ', 'ȟ' => 'ȟ', 'Ȧ' => 'Ȧ', 'ȧ' => 'ȧ', 'Ȩ' => 'Ȩ', 'ȩ' => 'ȩ', 'Ȫ' => 'Ȫ', 'ȫ' => 'ȫ', 'Ȭ' => 'Ȭ', 'ȭ' => 'ȭ', 'Ȯ' => 'Ȯ', 'ȯ' => 'ȯ', 'Ȱ' => 'Ȱ', 'ȱ' => 'ȱ', 'Ȳ' => 'Ȳ', 'ȳ' => 'ȳ', '̀' => '̀', '́' => '́', '̓' => '̓', '̈́' => '̈́', 'ʹ' => 'ʹ', ';' => ';', '΅' => '΅', 'Ά' => 'Ά', '·' => '·', 'Έ' => 'Έ', 'Ή' => 'Ή', 'Ί' => 'Ί', 'Ό' => 'Ό', 'Ύ' => 'Ύ', 'Ώ' => 'Ώ', 'ΐ' => 'ΐ', 'Ϊ' => 'Ϊ', 'Ϋ' => 'Ϋ', 'ά' => 'ά', 'έ' => 'έ', 'ή' => 'ή', 'ί' => 'ί', 'ΰ' => 'ΰ', 'ϊ' => 'ϊ', 'ϋ' => 'ϋ', 'ό' => 'ό', 'ύ' => 'ύ', 'ώ' => 'ώ', 'ϓ' => 'ϓ', 'ϔ' => 'ϔ', 'Ѐ' => 'Ѐ', 'Ё' => 'Ё', 'Ѓ' => 'Ѓ', 'Ї' => 'Ї', 'Ќ' => 'Ќ', 'Ѝ' => 'Ѝ', 'Ў' => 'Ў', 'Й' => 'Й', 'й' => 'й', 'ѐ' => 'ѐ', 'ё' => 'ё', 'ѓ' => 'ѓ', 'ї' => 'ї', 'ќ' => 'ќ', 'ѝ' => 'ѝ', 'ў' => 'ў', 'Ѷ' => 'Ѷ', 'ѷ' => 'ѷ', 'Ӂ' => 'Ӂ', 'ӂ' => 'ӂ', 'Ӑ' => 'Ӑ', 'ӑ' => 'ӑ', 'Ӓ' => 'Ӓ', 'ӓ' => 'ӓ', 'Ӗ' => 'Ӗ', 'ӗ' => 'ӗ', 'Ӛ' => 'Ӛ', 'ӛ' => 'ӛ', 'Ӝ' => 'Ӝ', 'ӝ' => 'ӝ', 'Ӟ' => 'Ӟ', 'ӟ' => 'ӟ', 'Ӣ' => 'Ӣ', 'ӣ' => 'ӣ', 'Ӥ' => 'Ӥ', 'ӥ' => 'ӥ', 'Ӧ' => 'Ӧ', 'ӧ' => 'ӧ', 'Ӫ' => 'Ӫ', 'ӫ' => 'ӫ', 'Ӭ' => 'Ӭ', 'ӭ' => 'ӭ', 'Ӯ' => 'Ӯ', 'ӯ' => 'ӯ', 'Ӱ' => 'Ӱ', 'ӱ' => 'ӱ', 'Ӳ' => 'Ӳ', 'ӳ' => 'ӳ', 'Ӵ' => 'Ӵ', 'ӵ' => 'ӵ', 'Ӹ' => 'Ӹ', 'ӹ' => 'ӹ', 'آ' => 'آ', 'أ' => 'أ', 'ؤ' => 'ؤ', 'إ' => 'إ', 'ئ' => 'ئ', 'ۀ' => 'ۀ', 'ۂ' => 'ۂ', 'ۓ' => 'ۓ', 'ऩ' => 'ऩ', 'ऱ' => 'ऱ', 'ऴ' => 'ऴ', 'क़' => 'क़', 'ख़' => 'ख़', 'ग़' => 'ग़', 'ज़' => 'ज़', 'ड़' => 'ड़', 'ढ़' => 'ढ़', 'फ़' => 'फ़', 'य़' => 'य़', 'ো' => 'ো', 'ৌ' => 'ৌ', 'ড়' => 'ড়', 'ঢ়' => 'ঢ়', 'য়' => 'য়', 'ਲ਼' => 'ਲ਼', 'ਸ਼' => 'ਸ਼', 'ਖ਼' => 'ਖ਼', 'ਗ਼' => 'ਗ਼', 'ਜ਼' => 'ਜ਼', 'ਫ਼' => 'ਫ਼', 'ୈ' => 'ୈ', 'ୋ' => 'ୋ', 'ୌ' => 'ୌ', 'ଡ଼' => 'ଡ଼', 'ଢ଼' => 'ଢ଼', 'ஔ' => 'ஔ', 'ொ' => 'ொ', 'ோ' => 'ோ', 'ௌ' => 'ௌ', 'ై' => 'ై', 'ೀ' => 'ೀ', 'ೇ' => 'ೇ', 'ೈ' => 'ೈ', 'ೊ' => 'ೊ', 'ೋ' => 'ೋ', 'ൊ' => 'ൊ', 'ോ' => 'ോ', 'ൌ' => 'ൌ', 'ේ' => 'ේ', 'ො' => 'ො', 'ෝ' => 'ෝ', 'ෞ' => 'ෞ', 'གྷ' => 'གྷ', 'ཌྷ' => 'ཌྷ', 'དྷ' => 'དྷ', 'བྷ' => 'བྷ', 'ཛྷ' => 'ཛྷ', 'ཀྵ' => 'ཀྵ', 'ཱི' => 'ཱི', 'ཱུ' => 'ཱུ', 'ྲྀ' => 'ྲྀ', 'ླྀ' => 'ླྀ', 'ཱྀ' => 'ཱྀ', 'ྒྷ' => 'ྒྷ', 'ྜྷ' => 'ྜྷ', 'ྡྷ' => 'ྡྷ', 'ྦྷ' => 'ྦྷ', 'ྫྷ' => 'ྫྷ', 'ྐྵ' => 'ྐྵ', 'ဦ' => 'ဦ', 'ᬆ' => 'ᬆ', 'ᬈ' => 'ᬈ', 'ᬊ' => 'ᬊ', 'ᬌ' => 'ᬌ', 'ᬎ' => 'ᬎ', 'ᬒ' => 'ᬒ', 'ᬻ' => 'ᬻ', 'ᬽ' => 'ᬽ', 'ᭀ' => 'ᭀ', 'ᭁ' => 'ᭁ', 'ᭃ' => 'ᭃ', 'Ḁ' => 'Ḁ', 'ḁ' => 'ḁ', 'Ḃ' => 'Ḃ', 'ḃ' => 'ḃ', 'Ḅ' => 'Ḅ', 'ḅ' => 'ḅ', 'Ḇ' => 'Ḇ', 'ḇ' => 'ḇ', 'Ḉ' => 'Ḉ', 'ḉ' => 'ḉ', 'Ḋ' => 'Ḋ', 'ḋ' => 'ḋ', 'Ḍ' => 'Ḍ', 'ḍ' => 'ḍ', 'Ḏ' => 'Ḏ', 'ḏ' => 'ḏ', 'Ḑ' => 'Ḑ', 'ḑ' => 'ḑ', 'Ḓ' => 'Ḓ', 'ḓ' => 'ḓ', 'Ḕ' => 'Ḕ', 'ḕ' => 'ḕ', 'Ḗ' => 'Ḗ', 'ḗ' => 'ḗ', 'Ḙ' => 'Ḙ', 'ḙ' => 'ḙ', 'Ḛ' => 'Ḛ', 'ḛ' => 'ḛ', 'Ḝ' => 'Ḝ', 'ḝ' => 'ḝ', 'Ḟ' => 'Ḟ', 'ḟ' => 'ḟ', 'Ḡ' => 'Ḡ', 'ḡ' => 'ḡ', 'Ḣ' => 'Ḣ', 'ḣ' => 'ḣ', 'Ḥ' => 'Ḥ', 'ḥ' => 'ḥ', 'Ḧ' => 'Ḧ', 'ḧ' => 'ḧ', 'Ḩ' => 'Ḩ', 'ḩ' => 'ḩ', 'Ḫ' => 'Ḫ', 'ḫ' => 'ḫ', 'Ḭ' => 'Ḭ', 'ḭ' => 'ḭ', 'Ḯ' => 'Ḯ', 'ḯ' => 'ḯ', 'Ḱ' => 'Ḱ', 'ḱ' => 'ḱ', 'Ḳ' => 'Ḳ', 'ḳ' => 'ḳ', 'Ḵ' => 'Ḵ', 'ḵ' => 'ḵ', 'Ḷ' => 'Ḷ', 'ḷ' => 'ḷ', 'Ḹ' => 'Ḹ', 'ḹ' => 'ḹ', 'Ḻ' => 'Ḻ', 'ḻ' => 'ḻ', 'Ḽ' => 'Ḽ', 'ḽ' => 'ḽ', 'Ḿ' => 'Ḿ', 'ḿ' => 'ḿ', 'Ṁ' => 'Ṁ', 'ṁ' => 'ṁ', 'Ṃ' => 'Ṃ', 'ṃ' => 'ṃ', 'Ṅ' => 'Ṅ', 'ṅ' => 'ṅ', 'Ṇ' => 'Ṇ', 'ṇ' => 'ṇ', 'Ṉ' => 'Ṉ', 'ṉ' => 'ṉ', 'Ṋ' => 'Ṋ', 'ṋ' => 'ṋ', 'Ṍ' => 'Ṍ', 'ṍ' => 'ṍ', 'Ṏ' => 'Ṏ', 'ṏ' => 'ṏ', 'Ṑ' => 'Ṑ', 'ṑ' => 'ṑ', 'Ṓ' => 'Ṓ', 'ṓ' => 'ṓ', 'Ṕ' => 'Ṕ', 'ṕ' => 'ṕ', 'Ṗ' => 'Ṗ', 'ṗ' => 'ṗ', 'Ṙ' => 'Ṙ', 'ṙ' => 'ṙ', 'Ṛ' => 'Ṛ', 'ṛ' => 'ṛ', 'Ṝ' => 'Ṝ', 'ṝ' => 'ṝ', 'Ṟ' => 'Ṟ', 'ṟ' => 'ṟ', 'Ṡ' => 'Ṡ', 'ṡ' => 'ṡ', 'Ṣ' => 'Ṣ', 'ṣ' => 'ṣ', 'Ṥ' => 'Ṥ', 'ṥ' => 'ṥ', 'Ṧ' => 'Ṧ', 'ṧ' => 'ṧ', 'Ṩ' => 'Ṩ', 'ṩ' => 'ṩ', 'Ṫ' => 'Ṫ', 'ṫ' => 'ṫ', 'Ṭ' => 'Ṭ', 'ṭ' => 'ṭ', 'Ṯ' => 'Ṯ', 'ṯ' => 'ṯ', 'Ṱ' => 'Ṱ', 'ṱ' => 'ṱ', 'Ṳ' => 'Ṳ', 'ṳ' => 'ṳ', 'Ṵ' => 'Ṵ', 'ṵ' => 'ṵ', 'Ṷ' => 'Ṷ', 'ṷ' => 'ṷ', 'Ṹ' => 'Ṹ', 'ṹ' => 'ṹ', 'Ṻ' => 'Ṻ', 'ṻ' => 'ṻ', 'Ṽ' => 'Ṽ', 'ṽ' => 'ṽ', 'Ṿ' => 'Ṿ', 'ṿ' => 'ṿ', 'Ẁ' => 'Ẁ', 'ẁ' => 'ẁ', 'Ẃ' => 'Ẃ', 'ẃ' => 'ẃ', 'Ẅ' => 'Ẅ', 'ẅ' => 'ẅ', 'Ẇ' => 'Ẇ', 'ẇ' => 'ẇ', 'Ẉ' => 'Ẉ', 'ẉ' => 'ẉ', 'Ẋ' => 'Ẋ', 'ẋ' => 'ẋ', 'Ẍ' => 'Ẍ', 'ẍ' => 'ẍ', 'Ẏ' => 'Ẏ', 'ẏ' => 'ẏ', 'Ẑ' => 'Ẑ', 'ẑ' => 'ẑ', 'Ẓ' => 'Ẓ', 'ẓ' => 'ẓ', 'Ẕ' => 'Ẕ', 'ẕ' => 'ẕ', 'ẖ' => 'ẖ', 'ẗ' => 'ẗ', 'ẘ' => 'ẘ', 'ẙ' => 'ẙ', 'ẛ' => 'ẛ', 'Ạ' => 'Ạ', 'ạ' => 'ạ', 'Ả' => 'Ả', 'ả' => 'ả', 'Ấ' => 'Ấ', 'ấ' => 'ấ', 'Ầ' => 'Ầ', 'ầ' => 'ầ', 'Ẩ' => 'Ẩ', 'ẩ' => 'ẩ', 'Ẫ' => 'Ẫ', 'ẫ' => 'ẫ', 'Ậ' => 'Ậ', 'ậ' => 'ậ', 'Ắ' => 'Ắ', 'ắ' => 'ắ', 'Ằ' => 'Ằ', 'ằ' => 'ằ', 'Ẳ' => 'Ẳ', 'ẳ' => 'ẳ', 'Ẵ' => 'Ẵ', 'ẵ' => 'ẵ', 'Ặ' => 'Ặ', 'ặ' => 'ặ', 'Ẹ' => 'Ẹ', 'ẹ' => 'ẹ', 'Ẻ' => 'Ẻ', 'ẻ' => 'ẻ', 'Ẽ' => 'Ẽ', 'ẽ' => 'ẽ', 'Ế' => 'Ế', 'ế' => 'ế', 'Ề' => 'Ề', 'ề' => 'ề', 'Ể' => 'Ể', 'ể' => 'ể', 'Ễ' => 'Ễ', 'ễ' => 'ễ', 'Ệ' => 'Ệ', 'ệ' => 'ệ', 'Ỉ' => 'Ỉ', 'ỉ' => 'ỉ', 'Ị' => 'Ị', 'ị' => 'ị', 'Ọ' => 'Ọ', 'ọ' => 'ọ', 'Ỏ' => 'Ỏ', 'ỏ' => 'ỏ', 'Ố' => 'Ố', 'ố' => 'ố', 'Ồ' => 'Ồ', 'ồ' => 'ồ', 'Ổ' => 'Ổ', 'ổ' => 'ổ', 'Ỗ' => 'Ỗ', 'ỗ' => 'ỗ', 'Ộ' => 'Ộ', 'ộ' => 'ộ', 'Ớ' => 'Ớ', 'ớ' => 'ớ', 'Ờ' => 'Ờ', 'ờ' => 'ờ', 'Ở' => 'Ở', 'ở' => 'ở', 'Ỡ' => 'Ỡ', 'ỡ' => 'ỡ', 'Ợ' => 'Ợ', 'ợ' => 'ợ', 'Ụ' => 'Ụ', 'ụ' => 'ụ', 'Ủ' => 'Ủ', 'ủ' => 'ủ', 'Ứ' => 'Ứ', 'ứ' => 'ứ', 'Ừ' => 'Ừ', 'ừ' => 'ừ', 'Ử' => 'Ử', 'ử' => 'ử', 'Ữ' => 'Ữ', 'ữ' => 'ữ', 'Ự' => 'Ự', 'ự' => 'ự', 'Ỳ' => 'Ỳ', 'ỳ' => 'ỳ', 'Ỵ' => 'Ỵ', 'ỵ' => 'ỵ', 'Ỷ' => 'Ỷ', 'ỷ' => 'ỷ', 'Ỹ' => 'Ỹ', 'ỹ' => 'ỹ', 'ἀ' => 'ἀ', 'ἁ' => 'ἁ', 'ἂ' => 'ἂ', 'ἃ' => 'ἃ', 'ἄ' => 'ἄ', 'ἅ' => 'ἅ', 'ἆ' => 'ἆ', 'ἇ' => 'ἇ', 'Ἀ' => 'Ἀ', 'Ἁ' => 'Ἁ', 'Ἂ' => 'Ἂ', 'Ἃ' => 'Ἃ', 'Ἄ' => 'Ἄ', 'Ἅ' => 'Ἅ', 'Ἆ' => 'Ἆ', 'Ἇ' => 'Ἇ', 'ἐ' => 'ἐ', 'ἑ' => 'ἑ', 'ἒ' => 'ἒ', 'ἓ' => 'ἓ', 'ἔ' => 'ἔ', 'ἕ' => 'ἕ', 'Ἐ' => 'Ἐ', 'Ἑ' => 'Ἑ', 'Ἒ' => 'Ἒ', 'Ἓ' => 'Ἓ', 'Ἔ' => 'Ἔ', 'Ἕ' => 'Ἕ', 'ἠ' => 'ἠ', 'ἡ' => 'ἡ', 'ἢ' => 'ἢ', 'ἣ' => 'ἣ', 'ἤ' => 'ἤ', 'ἥ' => 'ἥ', 'ἦ' => 'ἦ', 'ἧ' => 'ἧ', 'Ἠ' => 'Ἠ', 'Ἡ' => 'Ἡ', 'Ἢ' => 'Ἢ', 'Ἣ' => 'Ἣ', 'Ἤ' => 'Ἤ', 'Ἥ' => 'Ἥ', 'Ἦ' => 'Ἦ', 'Ἧ' => 'Ἧ', 'ἰ' => 'ἰ', 'ἱ' => 'ἱ', 'ἲ' => 'ἲ', 'ἳ' => 'ἳ', 'ἴ' => 'ἴ', 'ἵ' => 'ἵ', 'ἶ' => 'ἶ', 'ἷ' => 'ἷ', 'Ἰ' => 'Ἰ', 'Ἱ' => 'Ἱ', 'Ἲ' => 'Ἲ', 'Ἳ' => 'Ἳ', 'Ἴ' => 'Ἴ', 'Ἵ' => 'Ἵ', 'Ἶ' => 'Ἶ', 'Ἷ' => 'Ἷ', 'ὀ' => 'ὀ', 'ὁ' => 'ὁ', 'ὂ' => 'ὂ', 'ὃ' => 'ὃ', 'ὄ' => 'ὄ', 'ὅ' => 'ὅ', 'Ὀ' => 'Ὀ', 'Ὁ' => 'Ὁ', 'Ὂ' => 'Ὂ', 'Ὃ' => 'Ὃ', 'Ὄ' => 'Ὄ', 'Ὅ' => 'Ὅ', 'ὐ' => 'ὐ', 'ὑ' => 'ὑ', 'ὒ' => 'ὒ', 'ὓ' => 'ὓ', 'ὔ' => 'ὔ', 'ὕ' => 'ὕ', 'ὖ' => 'ὖ', 'ὗ' => 'ὗ', 'Ὑ' => 'Ὑ', 'Ὓ' => 'Ὓ', 'Ὕ' => 'Ὕ', 'Ὗ' => 'Ὗ', 'ὠ' => 'ὠ', 'ὡ' => 'ὡ', 'ὢ' => 'ὢ', 'ὣ' => 'ὣ', 'ὤ' => 'ὤ', 'ὥ' => 'ὥ', 'ὦ' => 'ὦ', 'ὧ' => 'ὧ', 'Ὠ' => 'Ὠ', 'Ὡ' => 'Ὡ', 'Ὢ' => 'Ὢ', 'Ὣ' => 'Ὣ', 'Ὤ' => 'Ὤ', 'Ὥ' => 'Ὥ', 'Ὦ' => 'Ὦ', 'Ὧ' => 'Ὧ', 'ὰ' => 'ὰ', 'ά' => 'ά', 'ὲ' => 'ὲ', 'έ' => 'έ', 'ὴ' => 'ὴ', 'ή' => 'ή', 'ὶ' => 'ὶ', 'ί' => 'ί', 'ὸ' => 'ὸ', 'ό' => 'ό', 'ὺ' => 'ὺ', 'ύ' => 'ύ', 'ὼ' => 'ὼ', 'ώ' => 'ώ', 'ᾀ' => 'ᾀ', 'ᾁ' => 'ᾁ', 'ᾂ' => 'ᾂ', 'ᾃ' => 'ᾃ', 'ᾄ' => 'ᾄ', 'ᾅ' => 'ᾅ', 'ᾆ' => 'ᾆ', 'ᾇ' => 'ᾇ', 'ᾈ' => 'ᾈ', 'ᾉ' => 'ᾉ', 'ᾊ' => 'ᾊ', 'ᾋ' => 'ᾋ', 'ᾌ' => 'ᾌ', 'ᾍ' => 'ᾍ', 'ᾎ' => 'ᾎ', 'ᾏ' => 'ᾏ', 'ᾐ' => 'ᾐ', 'ᾑ' => 'ᾑ', 'ᾒ' => 'ᾒ', 'ᾓ' => 'ᾓ', 'ᾔ' => 'ᾔ', 'ᾕ' => 'ᾕ', 'ᾖ' => 'ᾖ', 'ᾗ' => 'ᾗ', 'ᾘ' => 'ᾘ', 'ᾙ' => 'ᾙ', 'ᾚ' => 'ᾚ', 'ᾛ' => 'ᾛ', 'ᾜ' => 'ᾜ', 'ᾝ' => 'ᾝ', 'ᾞ' => 'ᾞ', 'ᾟ' => 'ᾟ', 'ᾠ' => 'ᾠ', 'ᾡ' => 'ᾡ', 'ᾢ' => 'ᾢ', 'ᾣ' => 'ᾣ', 'ᾤ' => 'ᾤ', 'ᾥ' => 'ᾥ', 'ᾦ' => 'ᾦ', 'ᾧ' => 'ᾧ', 'ᾨ' => 'ᾨ', 'ᾩ' => 'ᾩ', 'ᾪ' => 'ᾪ', 'ᾫ' => 'ᾫ', 'ᾬ' => 'ᾬ', 'ᾭ' => 'ᾭ', 'ᾮ' => 'ᾮ', 'ᾯ' => 'ᾯ', 'ᾰ' => 'ᾰ', 'ᾱ' => 'ᾱ', 'ᾲ' => 'ᾲ', 'ᾳ' => 'ᾳ', 'ᾴ' => 'ᾴ', 'ᾶ' => 'ᾶ', 'ᾷ' => 'ᾷ', 'Ᾰ' => 'Ᾰ', 'Ᾱ' => 'Ᾱ', 'Ὰ' => 'Ὰ', 'Ά' => 'Ά', 'ᾼ' => 'ᾼ', 'ι' => 'ι', '῁' => '῁', 'ῂ' => 'ῂ', 'ῃ' => 'ῃ', 'ῄ' => 'ῄ', 'ῆ' => 'ῆ', 'ῇ' => 'ῇ', 'Ὲ' => 'Ὲ', 'Έ' => 'Έ', 'Ὴ' => 'Ὴ', 'Ή' => 'Ή', 'ῌ' => 'ῌ', '῍' => '῍', '῎' => '῎', '῏' => '῏', 'ῐ' => 'ῐ', 'ῑ' => 'ῑ', 'ῒ' => 'ῒ', 'ΐ' => 'ΐ', 'ῖ' => 'ῖ', 'ῗ' => 'ῗ', 'Ῐ' => 'Ῐ', 'Ῑ' => 'Ῑ', 'Ὶ' => 'Ὶ', 'Ί' => 'Ί', '῝' => '῝', '῞' => '῞', '῟' => '῟', 'ῠ' => 'ῠ', 'ῡ' => 'ῡ', 'ῢ' => 'ῢ', 'ΰ' => 'ΰ', 'ῤ' => 'ῤ', 'ῥ' => 'ῥ', 'ῦ' => 'ῦ', 'ῧ' => 'ῧ', 'Ῠ' => 'Ῠ', 'Ῡ' => 'Ῡ', 'Ὺ' => 'Ὺ', 'Ύ' => 'Ύ', 'Ῥ' => 'Ῥ', '῭' => '῭', '΅' => '΅', '`' => '`', 'ῲ' => 'ῲ', 'ῳ' => 'ῳ', 'ῴ' => 'ῴ', 'ῶ' => 'ῶ', 'ῷ' => 'ῷ', 'Ὸ' => 'Ὸ', 'Ό' => 'Ό', 'Ὼ' => 'Ὼ', 'Ώ' => 'Ώ', 'ῼ' => 'ῼ', '´' => '´', ' ' => ' ', ' ' => ' ', 'Ω' => 'Ω', 'K' => 'K', 'Å' => 'Å', '↚' => '↚', '↛' => '↛', '↮' => '↮', '⇍' => '⇍', '⇎' => '⇎', '⇏' => '⇏', '∄' => '∄', '∉' => '∉', '∌' => '∌', '∤' => '∤', '∦' => '∦', '≁' => '≁', '≄' => '≄', '≇' => '≇', '≉' => '≉', '≠' => '≠', '≢' => '≢', '≭' => '≭', '≮' => '≮', '≯' => '≯', '≰' => '≰', '≱' => '≱', '≴' => '≴', '≵' => '≵', '≸' => '≸', '≹' => '≹', '⊀' => '⊀', '⊁' => '⊁', '⊄' => '⊄', '⊅' => '⊅', '⊈' => '⊈', '⊉' => '⊉', '⊬' => '⊬', '⊭' => '⊭', '⊮' => '⊮', '⊯' => '⊯', '⋠' => '⋠', '⋡' => '⋡', '⋢' => '⋢', '⋣' => '⋣', '⋪' => '⋪', '⋫' => '⋫', '⋬' => '⋬', '⋭' => '⋭', '〈' => '〈', '〉' => '〉', '⫝̸' => '⫝̸', 'が' => 'が', 'ぎ' => 'ぎ', 'ぐ' => 'ぐ', 'げ' => 'げ', 'ご' => 'ご', 'ざ' => 'ざ', 'じ' => 'じ', 'ず' => 'ず', 'ぜ' => 'ぜ', 'ぞ' => 'ぞ', 'だ' => 'だ', 'ぢ' => 'ぢ', 'づ' => 'づ', 'で' => 'で', 'ど' => 'ど', 'ば' => 'ば', 'ぱ' => 'ぱ', 'び' => 'び', 'ぴ' => 'ぴ', 'ぶ' => 'ぶ', 'ぷ' => 'ぷ', 'べ' => 'べ', 'ぺ' => 'ぺ', 'ぼ' => 'ぼ', 'ぽ' => 'ぽ', 'ゔ' => 'ゔ', 'ゞ' => 'ゞ', 'ガ' => 'ガ', 'ギ' => 'ギ', 'グ' => 'グ', 'ゲ' => 'ゲ', 'ゴ' => 'ゴ', 'ザ' => 'ザ', 'ジ' => 'ジ', 'ズ' => 'ズ', 'ゼ' => 'ゼ', 'ゾ' => 'ゾ', 'ダ' => 'ダ', 'ヂ' => 'ヂ', 'ヅ' => 'ヅ', 'デ' => 'デ', 'ド' => 'ド', 'バ' => 'バ', 'パ' => 'パ', 'ビ' => 'ビ', 'ピ' => 'ピ', 'ブ' => 'ブ', 'プ' => 'プ', 'ベ' => 'ベ', 'ペ' => 'ペ', 'ボ' => 'ボ', 'ポ' => 'ポ', 'ヴ' => 'ヴ', 'ヷ' => 'ヷ', 'ヸ' => 'ヸ', 'ヹ' => 'ヹ', 'ヺ' => 'ヺ', 'ヾ' => 'ヾ', '豈' => '豈', '更' => '更', '車' => '車', '賈' => '賈', '滑' => '滑', '串' => '串', '句' => '句', '龜' => '龜', '龜' => '龜', '契' => '契', '金' => '金', '喇' => '喇', '奈' => '奈', '懶' => '懶', '癩' => '癩', '羅' => '羅', '蘿' => '蘿', '螺' => '螺', '裸' => '裸', '邏' => '邏', '樂' => '樂', '洛' => '洛', '烙' => '烙', '珞' => '珞', '落' => '落', '酪' => '酪', '駱' => '駱', '亂' => '亂', '卵' => '卵', '欄' => '欄', '爛' => '爛', '蘭' => '蘭', '鸞' => '鸞', '嵐' => '嵐', '濫' => '濫', '藍' => '藍', '襤' => '襤', '拉' => '拉', '臘' => '臘', '蠟' => '蠟', '廊' => '廊', '朗' => '朗', '浪' => '浪', '狼' => '狼', '郎' => '郎', '來' => '來', '冷' => '冷', '勞' => '勞', '擄' => '擄', '櫓' => '櫓', '爐' => '爐', '盧' => '盧', '老' => '老', '蘆' => '蘆', '虜' => '虜', '路' => '路', '露' => '露', '魯' => '魯', '鷺' => '鷺', '碌' => '碌', '祿' => '祿', '綠' => '綠', '菉' => '菉', '錄' => '錄', '鹿' => '鹿', '論' => '論', '壟' => '壟', '弄' => '弄', '籠' => '籠', '聾' => '聾', '牢' => '牢', '磊' => '磊', '賂' => '賂', '雷' => '雷', '壘' => '壘', '屢' => '屢', '樓' => '樓', '淚' => '淚', '漏' => '漏', '累' => '累', '縷' => '縷', '陋' => '陋', '勒' => '勒', '肋' => '肋', '凜' => '凜', '凌' => '凌', '稜' => '稜', '綾' => '綾', '菱' => '菱', '陵' => '陵', '讀' => '讀', '拏' => '拏', '樂' => '樂', '諾' => '諾', '丹' => '丹', '寧' => '寧', '怒' => '怒', '率' => '率', '異' => '異', '北' => '北', '磻' => '磻', '便' => '便', '復' => '復', '不' => '不', '泌' => '泌', '數' => '數', '索' => '索', '參' => '參', '塞' => '塞', '省' => '省', '葉' => '葉', '說' => '說', '殺' => '殺', '辰' => '辰', '沈' => '沈', '拾' => '拾', '若' => '若', '掠' => '掠', '略' => '略', '亮' => '亮', '兩' => '兩', '凉' => '凉', '梁' => '梁', '糧' => '糧', '良' => '良', '諒' => '諒', '量' => '量', '勵' => '勵', '呂' => '呂', '女' => '女', '廬' => '廬', '旅' => '旅', '濾' => '濾', '礪' => '礪', '閭' => '閭', '驪' => '驪', '麗' => '麗', '黎' => '黎', '力' => '力', '曆' => '曆', '歷' => '歷', '轢' => '轢', '年' => '年', '憐' => '憐', '戀' => '戀', '撚' => '撚', '漣' => '漣', '煉' => '煉', '璉' => '璉', '秊' => '秊', '練' => '練', '聯' => '聯', '輦' => '輦', '蓮' => '蓮', '連' => '連', '鍊' => '鍊', '列' => '列', '劣' => '劣', '咽' => '咽', '烈' => '烈', '裂' => '裂', '說' => '說', '廉' => '廉', '念' => '念', '捻' => '捻', '殮' => '殮', '簾' => '簾', '獵' => '獵', '令' => '令', '囹' => '囹', '寧' => '寧', '嶺' => '嶺', '怜' => '怜', '玲' => '玲', '瑩' => '瑩', '羚' => '羚', '聆' => '聆', '鈴' => '鈴', '零' => '零', '靈' => '靈', '領' => '領', '例' => '例', '禮' => '禮', '醴' => '醴', '隸' => '隸', '惡' => '惡', '了' => '了', '僚' => '僚', '寮' => '寮', '尿' => '尿', '料' => '料', '樂' => '樂', '燎' => '燎', '療' => '療', '蓼' => '蓼', '遼' => '遼', '龍' => '龍', '暈' => '暈', '阮' => '阮', '劉' => '劉', '杻' => '杻', '柳' => '柳', '流' => '流', '溜' => '溜', '琉' => '琉', '留' => '留', '硫' => '硫', '紐' => '紐', '類' => '類', '六' => '六', '戮' => '戮', '陸' => '陸', '倫' => '倫', '崙' => '崙', '淪' => '淪', '輪' => '輪', '律' => '律', '慄' => '慄', '栗' => '栗', '率' => '率', '隆' => '隆', '利' => '利', '吏' => '吏', '履' => '履', '易' => '易', '李' => '李', '梨' => '梨', '泥' => '泥', '理' => '理', '痢' => '痢', '罹' => '罹', '裏' => '裏', '裡' => '裡', '里' => '里', '離' => '離', '匿' => '匿', '溺' => '溺', '吝' => '吝', '燐' => '燐', '璘' => '璘', '藺' => '藺', '隣' => '隣', '鱗' => '鱗', '麟' => '麟', '林' => '林', '淋' => '淋', '臨' => '臨', '立' => '立', '笠' => '笠', '粒' => '粒', '狀' => '狀', '炙' => '炙', '識' => '識', '什' => '什', '茶' => '茶', '刺' => '刺', '切' => '切', '度' => '度', '拓' => '拓', '糖' => '糖', '宅' => '宅', '洞' => '洞', '暴' => '暴', '輻' => '輻', '行' => '行', '降' => '降', '見' => '見', '廓' => '廓', '兀' => '兀', '嗀' => '嗀', '塚' => '塚', '晴' => '晴', '凞' => '凞', '猪' => '猪', '益' => '益', '礼' => '礼', '神' => '神', '祥' => '祥', '福' => '福', '靖' => '靖', '精' => '精', '羽' => '羽', '蘒' => '蘒', '諸' => '諸', '逸' => '逸', '都' => '都', '飯' => '飯', '飼' => '飼', '館' => '館', '鶴' => '鶴', '郞' => '郞', '隷' => '隷', '侮' => '侮', '僧' => '僧', '免' => '免', '勉' => '勉', '勤' => '勤', '卑' => '卑', '喝' => '喝', '嘆' => '嘆', '器' => '器', '塀' => '塀', '墨' => '墨', '層' => '層', '屮' => '屮', '悔' => '悔', '慨' => '慨', '憎' => '憎', '懲' => '懲', '敏' => '敏', '既' => '既', '暑' => '暑', '梅' => '梅', '海' => '海', '渚' => '渚', '漢' => '漢', '煮' => '煮', '爫' => '爫', '琢' => '琢', '碑' => '碑', '社' => '社', '祉' => '祉', '祈' => '祈', '祐' => '祐', '祖' => '祖', '祝' => '祝', '禍' => '禍', '禎' => '禎', '穀' => '穀', '突' => '突', '節' => '節', '練' => '練', '縉' => '縉', '繁' => '繁', '署' => '署', '者' => '者', '臭' => '臭', '艹' => '艹', '艹' => '艹', '著' => '著', '褐' => '褐', '視' => '視', '謁' => '謁', '謹' => '謹', '賓' => '賓', '贈' => '贈', '辶' => '辶', '逸' => '逸', '難' => '難', '響' => '響', '頻' => '頻', '恵' => '恵', '𤋮' => '𤋮', '舘' => '舘', '並' => '並', '况' => '况', '全' => '全', '侀' => '侀', '充' => '充', '冀' => '冀', '勇' => '勇', '勺' => '勺', '喝' => '喝', '啕' => '啕', '喙' => '喙', '嗢' => '嗢', '塚' => '塚', '墳' => '墳', '奄' => '奄', '奔' => '奔', '婢' => '婢', '嬨' => '嬨', '廒' => '廒', '廙' => '廙', '彩' => '彩', '徭' => '徭', '惘' => '惘', '慎' => '慎', '愈' => '愈', '憎' => '憎', '慠' => '慠', '懲' => '懲', '戴' => '戴', '揄' => '揄', '搜' => '搜', '摒' => '摒', '敖' => '敖', '晴' => '晴', '朗' => '朗', '望' => '望', '杖' => '杖', '歹' => '歹', '殺' => '殺', '流' => '流', '滛' => '滛', '滋' => '滋', '漢' => '漢', '瀞' => '瀞', '煮' => '煮', '瞧' => '瞧', '爵' => '爵', '犯' => '犯', '猪' => '猪', '瑱' => '瑱', '甆' => '甆', '画' => '画', '瘝' => '瘝', '瘟' => '瘟', '益' => '益', '盛' => '盛', '直' => '直', '睊' => '睊', '着' => '着', '磌' => '磌', '窱' => '窱', '節' => '節', '类' => '类', '絛' => '絛', '練' => '練', '缾' => '缾', '者' => '者', '荒' => '荒', '華' => '華', '蝹' => '蝹', '襁' => '襁', '覆' => '覆', '視' => '視', '調' => '調', '諸' => '諸', '請' => '請', '謁' => '謁', '諾' => '諾', '諭' => '諭', '謹' => '謹', '變' => '變', '贈' => '贈', '輸' => '輸', '遲' => '遲', '醙' => '醙', '鉶' => '鉶', '陼' => '陼', '難' => '難', '靖' => '靖', '韛' => '韛', '響' => '響', '頋' => '頋', '頻' => '頻', '鬒' => '鬒', '龜' => '龜', '𢡊' => '𢡊', '𢡄' => '𢡄', '𣏕' => '𣏕', '㮝' => '㮝', '䀘' => '䀘', '䀹' => '䀹', '𥉉' => '𥉉', '𥳐' => '𥳐', '𧻓' => '𧻓', '齃' => '齃', '龎' => '龎', 'יִ' => 'יִ', 'ײַ' => 'ײַ', 'שׁ' => 'שׁ', 'שׂ' => 'שׂ', 'שּׁ' => 'שּׁ', 'שּׂ' => 'שּׂ', 'אַ' => 'אַ', 'אָ' => 'אָ', 'אּ' => 'אּ', 'בּ' => 'בּ', 'גּ' => 'גּ', 'דּ' => 'דּ', 'הּ' => 'הּ', 'וּ' => 'וּ', 'זּ' => 'זּ', 'טּ' => 'טּ', 'יּ' => 'יּ', 'ךּ' => 'ךּ', 'כּ' => 'כּ', 'לּ' => 'לּ', 'מּ' => 'מּ', 'נּ' => 'נּ', 'סּ' => 'סּ', 'ףּ' => 'ףּ', 'פּ' => 'פּ', 'צּ' => 'צּ', 'קּ' => 'קּ', 'רּ' => 'רּ', 'שּ' => 'שּ', 'תּ' => 'תּ', 'וֹ' => 'וֹ', 'בֿ' => 'בֿ', 'כֿ' => 'כֿ', 'פֿ' => 'פֿ', '𑂚' => '𑂚', '𑂜' => '𑂜', '𑂫' => '𑂫', '𑄮' => '𑄮', '𑄯' => '𑄯', '𑍋' => '𑍋', '𑍌' => '𑍌', '𑒻' => '𑒻', '𑒼' => '𑒼', '𑒾' => '𑒾', '𑖺' => '𑖺', '𑖻' => '𑖻', '𑤸' => '𑤸', '𝅗𝅥' => '𝅗𝅥', '𝅘𝅥' => '𝅘𝅥', '𝅘𝅥𝅮' => '𝅘𝅥𝅮', '𝅘𝅥𝅯' => '𝅘𝅥𝅯', '𝅘𝅥𝅰' => '𝅘𝅥𝅰', '𝅘𝅥𝅱' => '𝅘𝅥𝅱', '𝅘𝅥𝅲' => '𝅘𝅥𝅲', '𝆹𝅥' => '𝆹𝅥', '𝆺𝅥' => '𝆺𝅥', '𝆹𝅥𝅮' => '𝆹𝅥𝅮', '𝆺𝅥𝅮' => '𝆺𝅥𝅮', '𝆹𝅥𝅯' => '𝆹𝅥𝅯', '𝆺𝅥𝅯' => '𝆺𝅥𝅯', '丽' => '丽', '丸' => '丸', '乁' => '乁', '𠄢' => '𠄢', '你' => '你', '侮' => '侮', '侻' => '侻', '倂' => '倂', '偺' => '偺', '備' => '備', '僧' => '僧', '像' => '像', '㒞' => '㒞', '𠘺' => '𠘺', '免' => '免', '兔' => '兔', '兤' => '兤', '具' => '具', '𠔜' => '𠔜', '㒹' => '㒹', '內' => '內', '再' => '再', '𠕋' => '𠕋', '冗' => '冗', '冤' => '冤', '仌' => '仌', '冬' => '冬', '况' => '况', '𩇟' => '𩇟', '凵' => '凵', '刃' => '刃', '㓟' => '㓟', '刻' => '刻', '剆' => '剆', '割' => '割', '剷' => '剷', '㔕' => '㔕', '勇' => '勇', '勉' => '勉', '勤' => '勤', '勺' => '勺', '包' => '包', '匆' => '匆', '北' => '北', '卉' => '卉', '卑' => '卑', '博' => '博', '即' => '即', '卽' => '卽', '卿' => '卿', '卿' => '卿', '卿' => '卿', '𠨬' => '𠨬', '灰' => '灰', '及' => '及', '叟' => '叟', '𠭣' => '𠭣', '叫' => '叫', '叱' => '叱', '吆' => '吆', '咞' => '咞', '吸' => '吸', '呈' => '呈', '周' => '周', '咢' => '咢', '哶' => '哶', '唐' => '唐', '啓' => '啓', '啣' => '啣', '善' => '善', '善' => '善', '喙' => '喙', '喫' => '喫', '喳' => '喳', '嗂' => '嗂', '圖' => '圖', '嘆' => '嘆', '圗' => '圗', '噑' => '噑', '噴' => '噴', '切' => '切', '壮' => '壮', '城' => '城', '埴' => '埴', '堍' => '堍', '型' => '型', '堲' => '堲', '報' => '報', '墬' => '墬', '𡓤' => '𡓤', '売' => '売', '壷' => '壷', '夆' => '夆', '多' => '多', '夢' => '夢', '奢' => '奢', '𡚨' => '𡚨', '𡛪' => '𡛪', '姬' => '姬', '娛' => '娛', '娧' => '娧', '姘' => '姘', '婦' => '婦', '㛮' => '㛮', '㛼' => '㛼', '嬈' => '嬈', '嬾' => '嬾', '嬾' => '嬾', '𡧈' => '𡧈', '寃' => '寃', '寘' => '寘', '寧' => '寧', '寳' => '寳', '𡬘' => '𡬘', '寿' => '寿', '将' => '将', '当' => '当', '尢' => '尢', '㞁' => '㞁', '屠' => '屠', '屮' => '屮', '峀' => '峀', '岍' => '岍', '𡷤' => '𡷤', '嵃' => '嵃', '𡷦' => '𡷦', '嵮' => '嵮', '嵫' => '嵫', '嵼' => '嵼', '巡' => '巡', '巢' => '巢', '㠯' => '㠯', '巽' => '巽', '帨' => '帨', '帽' => '帽', '幩' => '幩', '㡢' => '㡢', '𢆃' => '𢆃', '㡼' => '㡼', '庰' => '庰', '庳' => '庳', '庶' => '庶', '廊' => '廊', '𪎒' => '𪎒', '廾' => '廾', '𢌱' => '𢌱', '𢌱' => '𢌱', '舁' => '舁', '弢' => '弢', '弢' => '弢', '㣇' => '㣇', '𣊸' => '𣊸', '𦇚' => '𦇚', '形' => '形', '彫' => '彫', '㣣' => '㣣', '徚' => '徚', '忍' => '忍', '志' => '志', '忹' => '忹', '悁' => '悁', '㤺' => '㤺', '㤜' => '㤜', '悔' => '悔', '𢛔' => '𢛔', '惇' => '惇', '慈' => '慈', '慌' => '慌', '慎' => '慎', '慌' => '慌', '慺' => '慺', '憎' => '憎', '憲' => '憲', '憤' => '憤', '憯' => '憯', '懞' => '懞', '懲' => '懲', '懶' => '懶', '成' => '成', '戛' => '戛', '扝' => '扝', '抱' => '抱', '拔' => '拔', '捐' => '捐', '𢬌' => '𢬌', '挽' => '挽', '拼' => '拼', '捨' => '捨', '掃' => '掃', '揤' => '揤', '𢯱' => '𢯱', '搢' => '搢', '揅' => '揅', '掩' => '掩', '㨮' => '㨮', '摩' => '摩', '摾' => '摾', '撝' => '撝', '摷' => '摷', '㩬' => '㩬', '敏' => '敏', '敬' => '敬', '𣀊' => '𣀊', '旣' => '旣', '書' => '書', '晉' => '晉', '㬙' => '㬙', '暑' => '暑', '㬈' => '㬈', '㫤' => '㫤', '冒' => '冒', '冕' => '冕', '最' => '最', '暜' => '暜', '肭' => '肭', '䏙' => '䏙', '朗' => '朗', '望' => '望', '朡' => '朡', '杞' => '杞', '杓' => '杓', '𣏃' => '𣏃', '㭉' => '㭉', '柺' => '柺', '枅' => '枅', '桒' => '桒', '梅' => '梅', '𣑭' => '𣑭', '梎' => '梎', '栟' => '栟', '椔' => '椔', '㮝' => '㮝', '楂' => '楂', '榣' => '榣', '槪' => '槪', '檨' => '檨', '𣚣' => '𣚣', '櫛' => '櫛', '㰘' => '㰘', '次' => '次', '𣢧' => '𣢧', '歔' => '歔', '㱎' => '㱎', '歲' => '歲', '殟' => '殟', '殺' => '殺', '殻' => '殻', '𣪍' => '𣪍', '𡴋' => '𡴋', '𣫺' => '𣫺', '汎' => '汎', '𣲼' => '𣲼', '沿' => '沿', '泍' => '泍', '汧' => '汧', '洖' => '洖', '派' => '派', '海' => '海', '流' => '流', '浩' => '浩', '浸' => '浸', '涅' => '涅', '𣴞' => '𣴞', '洴' => '洴', '港' => '港', '湮' => '湮', '㴳' => '㴳', '滋' => '滋', '滇' => '滇', '𣻑' => '𣻑', '淹' => '淹', '潮' => '潮', '𣽞' => '𣽞', '𣾎' => '𣾎', '濆' => '濆', '瀹' => '瀹', '瀞' => '瀞', '瀛' => '瀛', '㶖' => '㶖', '灊' => '灊', '災' => '災', '灷' => '灷', '炭' => '炭', '𠔥' => '𠔥', '煅' => '煅', '𤉣' => '𤉣', '熜' => '熜', '𤎫' => '𤎫', '爨' => '爨', '爵' => '爵', '牐' => '牐', '𤘈' => '𤘈', '犀' => '犀', '犕' => '犕', '𤜵' => '𤜵', '𤠔' => '𤠔', '獺' => '獺', '王' => '王', '㺬' => '㺬', '玥' => '玥', '㺸' => '㺸', '㺸' => '㺸', '瑇' => '瑇', '瑜' => '瑜', '瑱' => '瑱', '璅' => '璅', '瓊' => '瓊', '㼛' => '㼛', '甤' => '甤', '𤰶' => '𤰶', '甾' => '甾', '𤲒' => '𤲒', '異' => '異', '𢆟' => '𢆟', '瘐' => '瘐', '𤾡' => '𤾡', '𤾸' => '𤾸', '𥁄' => '𥁄', '㿼' => '㿼', '䀈' => '䀈', '直' => '直', '𥃳' => '𥃳', '𥃲' => '𥃲', '𥄙' => '𥄙', '𥄳' => '𥄳', '眞' => '眞', '真' => '真', '真' => '真', '睊' => '睊', '䀹' => '䀹', '瞋' => '瞋', '䁆' => '䁆', '䂖' => '䂖', '𥐝' => '𥐝', '硎' => '硎', '碌' => '碌', '磌' => '磌', '䃣' => '䃣', '𥘦' => '𥘦', '祖' => '祖', '𥚚' => '𥚚', '𥛅' => '𥛅', '福' => '福', '秫' => '秫', '䄯' => '䄯', '穀' => '穀', '穊' => '穊', '穏' => '穏', '𥥼' => '𥥼', '𥪧' => '𥪧', '𥪧' => '𥪧', '竮' => '竮', '䈂' => '䈂', '𥮫' => '𥮫', '篆' => '篆', '築' => '築', '䈧' => '䈧', '𥲀' => '𥲀', '糒' => '糒', '䊠' => '䊠', '糨' => '糨', '糣' => '糣', '紀' => '紀', '𥾆' => '𥾆', '絣' => '絣', '䌁' => '䌁', '緇' => '緇', '縂' => '縂', '繅' => '繅', '䌴' => '䌴', '𦈨' => '𦈨', '𦉇' => '𦉇', '䍙' => '䍙', '𦋙' => '𦋙', '罺' => '罺', '𦌾' => '𦌾', '羕' => '羕', '翺' => '翺', '者' => '者', '𦓚' => '𦓚', '𦔣' => '𦔣', '聠' => '聠', '𦖨' => '𦖨', '聰' => '聰', '𣍟' => '𣍟', '䏕' => '䏕', '育' => '育', '脃' => '脃', '䐋' => '䐋', '脾' => '脾', '媵' => '媵', '𦞧' => '𦞧', '𦞵' => '𦞵', '𣎓' => '𣎓', '𣎜' => '𣎜', '舁' => '舁', '舄' => '舄', '辞' => '辞', '䑫' => '䑫', '芑' => '芑', '芋' => '芋', '芝' => '芝', '劳' => '劳', '花' => '花', '芳' => '芳', '芽' => '芽', '苦' => '苦', '𦬼' => '𦬼', '若' => '若', '茝' => '茝', '荣' => '荣', '莭' => '莭', '茣' => '茣', '莽' => '莽', '菧' => '菧', '著' => '著', '荓' => '荓', '菊' => '菊', '菌' => '菌', '菜' => '菜', '𦰶' => '𦰶', '𦵫' => '𦵫', '𦳕' => '𦳕', '䔫' => '䔫', '蓱' => '蓱', '蓳' => '蓳', '蔖' => '蔖', '𧏊' => '𧏊', '蕤' => '蕤', '𦼬' => '𦼬', '䕝' => '䕝', '䕡' => '䕡', '𦾱' => '𦾱', '𧃒' => '𧃒', '䕫' => '䕫', '虐' => '虐', '虜' => '虜', '虧' => '虧', '虩' => '虩', '蚩' => '蚩', '蚈' => '蚈', '蜎' => '蜎', '蛢' => '蛢', '蝹' => '蝹', '蜨' => '蜨', '蝫' => '蝫', '螆' => '螆', '䗗' => '䗗', '蟡' => '蟡', '蠁' => '蠁', '䗹' => '䗹', '衠' => '衠', '衣' => '衣', '𧙧' => '𧙧', '裗' => '裗', '裞' => '裞', '䘵' => '䘵', '裺' => '裺', '㒻' => '㒻', '𧢮' => '𧢮', '𧥦' => '𧥦', '䚾' => '䚾', '䛇' => '䛇', '誠' => '誠', '諭' => '諭', '變' => '變', '豕' => '豕', '𧲨' => '𧲨', '貫' => '貫', '賁' => '賁', '贛' => '贛', '起' => '起', '𧼯' => '𧼯', '𠠄' => '𠠄', '跋' => '跋', '趼' => '趼', '跰' => '跰', '𠣞' => '𠣞', '軔' => '軔', '輸' => '輸', '𨗒' => '𨗒', '𨗭' => '𨗭', '邔' => '邔', '郱' => '郱', '鄑' => '鄑', '𨜮' => '𨜮', '鄛' => '鄛', '鈸' => '鈸', '鋗' => '鋗', '鋘' => '鋘', '鉼' => '鉼', '鏹' => '鏹', '鐕' => '鐕', '𨯺' => '𨯺', '開' => '開', '䦕' => '䦕', '閷' => '閷', '𨵷' => '𨵷', '䧦' => '䧦', '雃' => '雃', '嶲' => '嶲', '霣' => '霣', '𩅅' => '𩅅', '𩈚' => '𩈚', '䩮' => '䩮', '䩶' => '䩶', '韠' => '韠', '𩐊' => '𩐊', '䪲' => '䪲', '𩒖' => '𩒖', '頋' => '頋', '頋' => '頋', '頩' => '頩', '𩖶' => '𩖶', '飢' => '飢', '䬳' => '䬳', '餩' => '餩', '馧' => '馧', '駂' => '駂', '駾' => '駾', '䯎' => '䯎', '𩬰' => '𩬰', '鬒' => '鬒', '鱀' => '鱀', '鳽' => '鳽', '䳎' => '䳎', '䳭' => '䳭', '鵧' => '鵧', '𪃎' => '𪃎', '䳸' => '䳸', '𪄅' => '𪄅', '𪈎' => '𪈎', '𪊑' => '𪊑', '麻' => '麻', '䵖' => '䵖', '黹' => '黹', '黾' => '黾', '鼅' => '鼅', '鼏' => '鼏', '鼖' => '鼖', '鼻' => '鼻', '𪘀' => '𪘀'); diff --git a/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php b/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php new file mode 100644 index 000000000..8b17b3767 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php @@ -0,0 +1,5 @@ + 230, '́' => 230, '̂' => 230, '̃' => 230, '̄' => 230, '̅' => 230, '̆' => 230, '̇' => 230, '̈' => 230, '̉' => 230, '̊' => 230, '̋' => 230, '̌' => 230, '̍' => 230, '̎' => 230, '̏' => 230, '̐' => 230, '̑' => 230, '̒' => 230, '̓' => 230, '̔' => 230, '̕' => 232, '̖' => 220, '̗' => 220, '̘' => 220, '̙' => 220, '̚' => 232, '̛' => 216, '̜' => 220, '̝' => 220, '̞' => 220, '̟' => 220, '̠' => 220, '̡' => 202, '̢' => 202, '̣' => 220, '̤' => 220, '̥' => 220, '̦' => 220, '̧' => 202, '̨' => 202, '̩' => 220, '̪' => 220, '̫' => 220, '̬' => 220, '̭' => 220, '̮' => 220, '̯' => 220, '̰' => 220, '̱' => 220, '̲' => 220, '̳' => 220, '̴' => 1, '̵' => 1, '̶' => 1, '̷' => 1, '̸' => 1, '̹' => 220, '̺' => 220, '̻' => 220, '̼' => 220, '̽' => 230, '̾' => 230, '̿' => 230, '̀' => 230, '́' => 230, '͂' => 230, '̓' => 230, '̈́' => 230, 'ͅ' => 240, '͆' => 230, '͇' => 220, '͈' => 220, '͉' => 220, '͊' => 230, '͋' => 230, '͌' => 230, '͍' => 220, '͎' => 220, '͐' => 230, '͑' => 230, '͒' => 230, '͓' => 220, '͔' => 220, '͕' => 220, '͖' => 220, '͗' => 230, '͘' => 232, '͙' => 220, '͚' => 220, '͛' => 230, '͜' => 233, '͝' => 234, '͞' => 234, '͟' => 233, '͠' => 234, '͡' => 234, '͢' => 233, 'ͣ' => 230, 'ͤ' => 230, 'ͥ' => 230, 'ͦ' => 230, 'ͧ' => 230, 'ͨ' => 230, 'ͩ' => 230, 'ͪ' => 230, 'ͫ' => 230, 'ͬ' => 230, 'ͭ' => 230, 'ͮ' => 230, 'ͯ' => 230, '҃' => 230, '҄' => 230, '҅' => 230, '҆' => 230, '҇' => 230, '֑' => 220, '֒' => 230, '֓' => 230, '֔' => 230, '֕' => 230, '֖' => 220, '֗' => 230, '֘' => 230, '֙' => 230, '֚' => 222, '֛' => 220, '֜' => 230, '֝' => 230, '֞' => 230, '֟' => 230, '֠' => 230, '֡' => 230, '֢' => 220, '֣' => 220, '֤' => 220, '֥' => 220, '֦' => 220, '֧' => 220, '֨' => 230, '֩' => 230, '֪' => 220, '֫' => 230, '֬' => 230, '֭' => 222, '֮' => 228, '֯' => 230, 'ְ' => 10, 'ֱ' => 11, 'ֲ' => 12, 'ֳ' => 13, 'ִ' => 14, 'ֵ' => 15, 'ֶ' => 16, 'ַ' => 17, 'ָ' => 18, 'ֹ' => 19, 'ֺ' => 19, 'ֻ' => 20, 'ּ' => 21, 'ֽ' => 22, 'ֿ' => 23, 'ׁ' => 24, 'ׂ' => 25, 'ׄ' => 230, 'ׅ' => 220, 'ׇ' => 18, 'ؐ' => 230, 'ؑ' => 230, 'ؒ' => 230, 'ؓ' => 230, 'ؔ' => 230, 'ؕ' => 230, 'ؖ' => 230, 'ؗ' => 230, 'ؘ' => 30, 'ؙ' => 31, 'ؚ' => 32, 'ً' => 27, 'ٌ' => 28, 'ٍ' => 29, 'َ' => 30, 'ُ' => 31, 'ِ' => 32, 'ّ' => 33, 'ْ' => 34, 'ٓ' => 230, 'ٔ' => 230, 'ٕ' => 220, 'ٖ' => 220, 'ٗ' => 230, '٘' => 230, 'ٙ' => 230, 'ٚ' => 230, 'ٛ' => 230, 'ٜ' => 220, 'ٝ' => 230, 'ٞ' => 230, 'ٟ' => 220, 'ٰ' => 35, 'ۖ' => 230, 'ۗ' => 230, 'ۘ' => 230, 'ۙ' => 230, 'ۚ' => 230, 'ۛ' => 230, 'ۜ' => 230, '۟' => 230, '۠' => 230, 'ۡ' => 230, 'ۢ' => 230, 'ۣ' => 220, 'ۤ' => 230, 'ۧ' => 230, 'ۨ' => 230, '۪' => 220, '۫' => 230, '۬' => 230, 'ۭ' => 220, 'ܑ' => 36, 'ܰ' => 230, 'ܱ' => 220, 'ܲ' => 230, 'ܳ' => 230, 'ܴ' => 220, 'ܵ' => 230, 'ܶ' => 230, 'ܷ' => 220, 'ܸ' => 220, 'ܹ' => 220, 'ܺ' => 230, 'ܻ' => 220, 'ܼ' => 220, 'ܽ' => 230, 'ܾ' => 220, 'ܿ' => 230, '݀' => 230, '݁' => 230, '݂' => 220, '݃' => 230, '݄' => 220, '݅' => 230, '݆' => 220, '݇' => 230, '݈' => 220, '݉' => 230, '݊' => 230, '߫' => 230, '߬' => 230, '߭' => 230, '߮' => 230, '߯' => 230, '߰' => 230, '߱' => 230, '߲' => 220, '߳' => 230, '߽' => 220, 'ࠖ' => 230, 'ࠗ' => 230, '࠘' => 230, '࠙' => 230, 'ࠛ' => 230, 'ࠜ' => 230, 'ࠝ' => 230, 'ࠞ' => 230, 'ࠟ' => 230, 'ࠠ' => 230, 'ࠡ' => 230, 'ࠢ' => 230, 'ࠣ' => 230, 'ࠥ' => 230, 'ࠦ' => 230, 'ࠧ' => 230, 'ࠩ' => 230, 'ࠪ' => 230, 'ࠫ' => 230, 'ࠬ' => 230, '࠭' => 230, '࡙' => 220, '࡚' => 220, '࡛' => 220, '࣓' => 220, 'ࣔ' => 230, 'ࣕ' => 230, 'ࣖ' => 230, 'ࣗ' => 230, 'ࣘ' => 230, 'ࣙ' => 230, 'ࣚ' => 230, 'ࣛ' => 230, 'ࣜ' => 230, 'ࣝ' => 230, 'ࣞ' => 230, 'ࣟ' => 230, '࣠' => 230, '࣡' => 230, 'ࣣ' => 220, 'ࣤ' => 230, 'ࣥ' => 230, 'ࣦ' => 220, 'ࣧ' => 230, 'ࣨ' => 230, 'ࣩ' => 220, '࣪' => 230, '࣫' => 230, '࣬' => 230, '࣭' => 220, '࣮' => 220, '࣯' => 220, 'ࣰ' => 27, 'ࣱ' => 28, 'ࣲ' => 29, 'ࣳ' => 230, 'ࣴ' => 230, 'ࣵ' => 230, 'ࣶ' => 220, 'ࣷ' => 230, 'ࣸ' => 230, 'ࣹ' => 220, 'ࣺ' => 220, 'ࣻ' => 230, 'ࣼ' => 230, 'ࣽ' => 230, 'ࣾ' => 230, 'ࣿ' => 230, '़' => 7, '्' => 9, '॑' => 230, '॒' => 220, '॓' => 230, '॔' => 230, '়' => 7, '্' => 9, '৾' => 230, '਼' => 7, '੍' => 9, '઼' => 7, '્' => 9, '଼' => 7, '୍' => 9, '்' => 9, '్' => 9, 'ౕ' => 84, 'ౖ' => 91, '಼' => 7, '್' => 9, '഻' => 9, '഼' => 9, '്' => 9, '්' => 9, 'ุ' => 103, 'ู' => 103, 'ฺ' => 9, '่' => 107, '้' => 107, '๊' => 107, '๋' => 107, 'ຸ' => 118, 'ູ' => 118, '຺' => 9, '່' => 122, '້' => 122, '໊' => 122, '໋' => 122, '༘' => 220, '༙' => 220, '༵' => 220, '༷' => 220, '༹' => 216, 'ཱ' => 129, 'ི' => 130, 'ུ' => 132, 'ེ' => 130, 'ཻ' => 130, 'ོ' => 130, 'ཽ' => 130, 'ྀ' => 130, 'ྂ' => 230, 'ྃ' => 230, '྄' => 9, '྆' => 230, '྇' => 230, '࿆' => 220, '့' => 7, '္' => 9, '်' => 9, 'ႍ' => 220, '፝' => 230, '፞' => 230, '፟' => 230, '᜔' => 9, '᜴' => 9, '្' => 9, '៝' => 230, 'ᢩ' => 228, '᤹' => 222, '᤺' => 230, '᤻' => 220, 'ᨗ' => 230, 'ᨘ' => 220, '᩠' => 9, '᩵' => 230, '᩶' => 230, '᩷' => 230, '᩸' => 230, '᩹' => 230, '᩺' => 230, '᩻' => 230, '᩼' => 230, '᩿' => 220, '᪰' => 230, '᪱' => 230, '᪲' => 230, '᪳' => 230, '᪴' => 230, '᪵' => 220, '᪶' => 220, '᪷' => 220, '᪸' => 220, '᪹' => 220, '᪺' => 220, '᪻' => 230, '᪼' => 230, '᪽' => 220, 'ᪿ' => 220, 'ᫀ' => 220, '᬴' => 7, '᭄' => 9, '᭫' => 230, '᭬' => 220, '᭭' => 230, '᭮' => 230, '᭯' => 230, '᭰' => 230, '᭱' => 230, '᭲' => 230, '᭳' => 230, '᮪' => 9, '᮫' => 9, '᯦' => 7, '᯲' => 9, '᯳' => 9, '᰷' => 7, '᳐' => 230, '᳑' => 230, '᳒' => 230, '᳔' => 1, '᳕' => 220, '᳖' => 220, '᳗' => 220, '᳘' => 220, '᳙' => 220, '᳚' => 230, '᳛' => 230, '᳜' => 220, '᳝' => 220, '᳞' => 220, '᳟' => 220, '᳠' => 230, '᳢' => 1, '᳣' => 1, '᳤' => 1, '᳥' => 1, '᳦' => 1, '᳧' => 1, '᳨' => 1, '᳭' => 220, '᳴' => 230, '᳸' => 230, '᳹' => 230, '᷀' => 230, '᷁' => 230, '᷂' => 220, '᷃' => 230, '᷄' => 230, '᷅' => 230, '᷆' => 230, '᷇' => 230, '᷈' => 230, '᷉' => 230, '᷊' => 220, '᷋' => 230, '᷌' => 230, '᷍' => 234, '᷎' => 214, '᷏' => 220, '᷐' => 202, '᷑' => 230, '᷒' => 230, 'ᷓ' => 230, 'ᷔ' => 230, 'ᷕ' => 230, 'ᷖ' => 230, 'ᷗ' => 230, 'ᷘ' => 230, 'ᷙ' => 230, 'ᷚ' => 230, 'ᷛ' => 230, 'ᷜ' => 230, 'ᷝ' => 230, 'ᷞ' => 230, 'ᷟ' => 230, 'ᷠ' => 230, 'ᷡ' => 230, 'ᷢ' => 230, 'ᷣ' => 230, 'ᷤ' => 230, 'ᷥ' => 230, 'ᷦ' => 230, 'ᷧ' => 230, 'ᷨ' => 230, 'ᷩ' => 230, 'ᷪ' => 230, 'ᷫ' => 230, 'ᷬ' => 230, 'ᷭ' => 230, 'ᷮ' => 230, 'ᷯ' => 230, 'ᷰ' => 230, 'ᷱ' => 230, 'ᷲ' => 230, 'ᷳ' => 230, 'ᷴ' => 230, '᷵' => 230, '᷶' => 232, '᷷' => 228, '᷸' => 228, '᷹' => 220, '᷻' => 230, '᷼' => 233, '᷽' => 220, '᷾' => 230, '᷿' => 220, '⃐' => 230, '⃑' => 230, '⃒' => 1, '⃓' => 1, '⃔' => 230, '⃕' => 230, '⃖' => 230, '⃗' => 230, '⃘' => 1, '⃙' => 1, '⃚' => 1, '⃛' => 230, '⃜' => 230, '⃡' => 230, '⃥' => 1, '⃦' => 1, '⃧' => 230, '⃨' => 220, '⃩' => 230, '⃪' => 1, '⃫' => 1, '⃬' => 220, '⃭' => 220, '⃮' => 220, '⃯' => 220, '⃰' => 230, '⳯' => 230, '⳰' => 230, '⳱' => 230, '⵿' => 9, 'ⷠ' => 230, 'ⷡ' => 230, 'ⷢ' => 230, 'ⷣ' => 230, 'ⷤ' => 230, 'ⷥ' => 230, 'ⷦ' => 230, 'ⷧ' => 230, 'ⷨ' => 230, 'ⷩ' => 230, 'ⷪ' => 230, 'ⷫ' => 230, 'ⷬ' => 230, 'ⷭ' => 230, 'ⷮ' => 230, 'ⷯ' => 230, 'ⷰ' => 230, 'ⷱ' => 230, 'ⷲ' => 230, 'ⷳ' => 230, 'ⷴ' => 230, 'ⷵ' => 230, 'ⷶ' => 230, 'ⷷ' => 230, 'ⷸ' => 230, 'ⷹ' => 230, 'ⷺ' => 230, 'ⷻ' => 230, 'ⷼ' => 230, 'ⷽ' => 230, 'ⷾ' => 230, 'ⷿ' => 230, '〪' => 218, '〫' => 228, '〬' => 232, '〭' => 222, '〮' => 224, '〯' => 224, '゙' => 8, '゚' => 8, '꙯' => 230, 'ꙴ' => 230, 'ꙵ' => 230, 'ꙶ' => 230, 'ꙷ' => 230, 'ꙸ' => 230, 'ꙹ' => 230, 'ꙺ' => 230, 'ꙻ' => 230, '꙼' => 230, '꙽' => 230, 'ꚞ' => 230, 'ꚟ' => 230, '꛰' => 230, '꛱' => 230, '꠆' => 9, '꠬' => 9, '꣄' => 9, '꣠' => 230, '꣡' => 230, '꣢' => 230, '꣣' => 230, '꣤' => 230, '꣥' => 230, '꣦' => 230, '꣧' => 230, '꣨' => 230, '꣩' => 230, '꣪' => 230, '꣫' => 230, '꣬' => 230, '꣭' => 230, '꣮' => 230, '꣯' => 230, '꣰' => 230, '꣱' => 230, '꤫' => 220, '꤬' => 220, '꤭' => 220, '꥓' => 9, '꦳' => 7, '꧀' => 9, 'ꪰ' => 230, 'ꪲ' => 230, 'ꪳ' => 230, 'ꪴ' => 220, 'ꪷ' => 230, 'ꪸ' => 230, 'ꪾ' => 230, '꪿' => 230, '꫁' => 230, '꫶' => 9, '꯭' => 9, 'ﬞ' => 26, '︠' => 230, '︡' => 230, '︢' => 230, '︣' => 230, '︤' => 230, '︥' => 230, '︦' => 230, '︧' => 220, '︨' => 220, '︩' => 220, '︪' => 220, '︫' => 220, '︬' => 220, '︭' => 220, '︮' => 230, '︯' => 230, '𐇽' => 220, '𐋠' => 220, '𐍶' => 230, '𐍷' => 230, '𐍸' => 230, '𐍹' => 230, '𐍺' => 230, '𐨍' => 220, '𐨏' => 230, '𐨸' => 230, '𐨹' => 1, '𐨺' => 220, '𐨿' => 9, '𐫥' => 230, '𐫦' => 220, '𐴤' => 230, '𐴥' => 230, '𐴦' => 230, '𐴧' => 230, '𐺫' => 230, '𐺬' => 230, '𐽆' => 220, '𐽇' => 220, '𐽈' => 230, '𐽉' => 230, '𐽊' => 230, '𐽋' => 220, '𐽌' => 230, '𐽍' => 220, '𐽎' => 220, '𐽏' => 220, '𐽐' => 220, '𑁆' => 9, '𑁿' => 9, '𑂹' => 9, '𑂺' => 7, '𑄀' => 230, '𑄁' => 230, '𑄂' => 230, '𑄳' => 9, '𑄴' => 9, '𑅳' => 7, '𑇀' => 9, '𑇊' => 7, '𑈵' => 9, '𑈶' => 7, '𑋩' => 7, '𑋪' => 9, '𑌻' => 7, '𑌼' => 7, '𑍍' => 9, '𑍦' => 230, '𑍧' => 230, '𑍨' => 230, '𑍩' => 230, '𑍪' => 230, '𑍫' => 230, '𑍬' => 230, '𑍰' => 230, '𑍱' => 230, '𑍲' => 230, '𑍳' => 230, '𑍴' => 230, '𑑂' => 9, '𑑆' => 7, '𑑞' => 230, '𑓂' => 9, '𑓃' => 7, '𑖿' => 9, '𑗀' => 7, '𑘿' => 9, '𑚶' => 9, '𑚷' => 7, '𑜫' => 9, '𑠹' => 9, '𑠺' => 7, '𑤽' => 9, '𑤾' => 9, '𑥃' => 7, '𑧠' => 9, '𑨴' => 9, '𑩇' => 9, '𑪙' => 9, '𑰿' => 9, '𑵂' => 7, '𑵄' => 9, '𑵅' => 9, '𑶗' => 9, '𖫰' => 1, '𖫱' => 1, '𖫲' => 1, '𖫳' => 1, '𖫴' => 1, '𖬰' => 230, '𖬱' => 230, '𖬲' => 230, '𖬳' => 230, '𖬴' => 230, '𖬵' => 230, '𖬶' => 230, '𖿰' => 6, '𖿱' => 6, '𛲞' => 1, '𝅥' => 216, '𝅦' => 216, '𝅧' => 1, '𝅨' => 1, '𝅩' => 1, '𝅭' => 226, '𝅮' => 216, '𝅯' => 216, '𝅰' => 216, '𝅱' => 216, '𝅲' => 216, '𝅻' => 220, '𝅼' => 220, '𝅽' => 220, '𝅾' => 220, '𝅿' => 220, '𝆀' => 220, '𝆁' => 220, '𝆂' => 220, '𝆅' => 230, '𝆆' => 230, '𝆇' => 230, '𝆈' => 230, '𝆉' => 230, '𝆊' => 220, '𝆋' => 220, '𝆪' => 230, '𝆫' => 230, '𝆬' => 230, '𝆭' => 230, '𝉂' => 230, '𝉃' => 230, '𝉄' => 230, '𞀀' => 230, '𞀁' => 230, '𞀂' => 230, '𞀃' => 230, '𞀄' => 230, '𞀅' => 230, '𞀆' => 230, '𞀈' => 230, '𞀉' => 230, '𞀊' => 230, '𞀋' => 230, '𞀌' => 230, '𞀍' => 230, '𞀎' => 230, '𞀏' => 230, '𞀐' => 230, '𞀑' => 230, '𞀒' => 230, '𞀓' => 230, '𞀔' => 230, '𞀕' => 230, '𞀖' => 230, '𞀗' => 230, '𞀘' => 230, '𞀛' => 230, '𞀜' => 230, '𞀝' => 230, '𞀞' => 230, '𞀟' => 230, '𞀠' => 230, '𞀡' => 230, '𞀣' => 230, '𞀤' => 230, '𞀦' => 230, '𞀧' => 230, '𞀨' => 230, '𞀩' => 230, '𞀪' => 230, '𞄰' => 230, '𞄱' => 230, '𞄲' => 230, '𞄳' => 230, '𞄴' => 230, '𞄵' => 230, '𞄶' => 230, '𞋬' => 230, '𞋭' => 230, '𞋮' => 230, '𞋯' => 230, '𞣐' => 220, '𞣑' => 220, '𞣒' => 220, '𞣓' => 220, '𞣔' => 220, '𞣕' => 220, '𞣖' => 220, '𞥄' => 230, '𞥅' => 230, '𞥆' => 230, '𞥇' => 230, '𞥈' => 230, '𞥉' => 230, '𞥊' => 7); diff --git a/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php b/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php new file mode 100644 index 000000000..d631c4d5f --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php @@ -0,0 +1,5 @@ + ' ', '¨' => ' ̈', 'ª' => 'a', '¯' => ' ̄', '²' => '2', '³' => '3', '´' => ' ́', 'µ' => 'μ', '¸' => ' ̧', '¹' => '1', 'º' => 'o', '¼' => '1⁄4', '½' => '1⁄2', '¾' => '3⁄4', 'IJ' => 'IJ', 'ij' => 'ij', 'Ŀ' => 'L·', 'ŀ' => 'l·', 'ʼn' => 'ʼn', 'ſ' => 's', 'DŽ' => 'DŽ', 'Dž' => 'Dž', 'dž' => 'dž', 'LJ' => 'LJ', 'Lj' => 'Lj', 'lj' => 'lj', 'NJ' => 'NJ', 'Nj' => 'Nj', 'nj' => 'nj', 'DZ' => 'DZ', 'Dz' => 'Dz', 'dz' => 'dz', 'ʰ' => 'h', 'ʱ' => 'ɦ', 'ʲ' => 'j', 'ʳ' => 'r', 'ʴ' => 'ɹ', 'ʵ' => 'ɻ', 'ʶ' => 'ʁ', 'ʷ' => 'w', 'ʸ' => 'y', '˘' => ' ̆', '˙' => ' ̇', '˚' => ' ̊', '˛' => ' ̨', '˜' => ' ̃', '˝' => ' ̋', 'ˠ' => 'ɣ', 'ˡ' => 'l', 'ˢ' => 's', 'ˣ' => 'x', 'ˤ' => 'ʕ', 'ͺ' => ' ͅ', '΄' => ' ́', '΅' => ' ̈́', 'ϐ' => 'β', 'ϑ' => 'θ', 'ϒ' => 'Υ', 'ϓ' => 'Ύ', 'ϔ' => 'Ϋ', 'ϕ' => 'φ', 'ϖ' => 'π', 'ϰ' => 'κ', 'ϱ' => 'ρ', 'ϲ' => 'ς', 'ϴ' => 'Θ', 'ϵ' => 'ε', 'Ϲ' => 'Σ', 'և' => 'եւ', 'ٵ' => 'اٴ', 'ٶ' => 'وٴ', 'ٷ' => 'ۇٴ', 'ٸ' => 'يٴ', 'ำ' => 'ํา', 'ຳ' => 'ໍາ', 'ໜ' => 'ຫນ', 'ໝ' => 'ຫມ', '༌' => '་', 'ཷ' => 'ྲཱྀ', 'ཹ' => 'ླཱྀ', 'ჼ' => 'ნ', 'ᴬ' => 'A', 'ᴭ' => 'Æ', 'ᴮ' => 'B', 'ᴰ' => 'D', 'ᴱ' => 'E', 'ᴲ' => 'Ǝ', 'ᴳ' => 'G', 'ᴴ' => 'H', 'ᴵ' => 'I', 'ᴶ' => 'J', 'ᴷ' => 'K', 'ᴸ' => 'L', 'ᴹ' => 'M', 'ᴺ' => 'N', 'ᴼ' => 'O', 'ᴽ' => 'Ȣ', 'ᴾ' => 'P', 'ᴿ' => 'R', 'ᵀ' => 'T', 'ᵁ' => 'U', 'ᵂ' => 'W', 'ᵃ' => 'a', 'ᵄ' => 'ɐ', 'ᵅ' => 'ɑ', 'ᵆ' => 'ᴂ', 'ᵇ' => 'b', 'ᵈ' => 'd', 'ᵉ' => 'e', 'ᵊ' => 'ə', 'ᵋ' => 'ɛ', 'ᵌ' => 'ɜ', 'ᵍ' => 'g', 'ᵏ' => 'k', 'ᵐ' => 'm', 'ᵑ' => 'ŋ', 'ᵒ' => 'o', 'ᵓ' => 'ɔ', 'ᵔ' => 'ᴖ', 'ᵕ' => 'ᴗ', 'ᵖ' => 'p', 'ᵗ' => 't', 'ᵘ' => 'u', 'ᵙ' => 'ᴝ', 'ᵚ' => 'ɯ', 'ᵛ' => 'v', 'ᵜ' => 'ᴥ', 'ᵝ' => 'β', 'ᵞ' => 'γ', 'ᵟ' => 'δ', 'ᵠ' => 'φ', 'ᵡ' => 'χ', 'ᵢ' => 'i', 'ᵣ' => 'r', 'ᵤ' => 'u', 'ᵥ' => 'v', 'ᵦ' => 'β', 'ᵧ' => 'γ', 'ᵨ' => 'ρ', 'ᵩ' => 'φ', 'ᵪ' => 'χ', 'ᵸ' => 'н', 'ᶛ' => 'ɒ', 'ᶜ' => 'c', 'ᶝ' => 'ɕ', 'ᶞ' => 'ð', 'ᶟ' => 'ɜ', 'ᶠ' => 'f', 'ᶡ' => 'ɟ', 'ᶢ' => 'ɡ', 'ᶣ' => 'ɥ', 'ᶤ' => 'ɨ', 'ᶥ' => 'ɩ', 'ᶦ' => 'ɪ', 'ᶧ' => 'ᵻ', 'ᶨ' => 'ʝ', 'ᶩ' => 'ɭ', 'ᶪ' => 'ᶅ', 'ᶫ' => 'ʟ', 'ᶬ' => 'ɱ', 'ᶭ' => 'ɰ', 'ᶮ' => 'ɲ', 'ᶯ' => 'ɳ', 'ᶰ' => 'ɴ', 'ᶱ' => 'ɵ', 'ᶲ' => 'ɸ', 'ᶳ' => 'ʂ', 'ᶴ' => 'ʃ', 'ᶵ' => 'ƫ', 'ᶶ' => 'ʉ', 'ᶷ' => 'ʊ', 'ᶸ' => 'ᴜ', 'ᶹ' => 'ʋ', 'ᶺ' => 'ʌ', 'ᶻ' => 'z', 'ᶼ' => 'ʐ', 'ᶽ' => 'ʑ', 'ᶾ' => 'ʒ', 'ᶿ' => 'θ', 'ẚ' => 'aʾ', 'ẛ' => 'ṡ', '᾽' => ' ̓', '᾿' => ' ̓', '῀' => ' ͂', '῁' => ' ̈͂', '῍' => ' ̓̀', '῎' => ' ̓́', '῏' => ' ̓͂', '῝' => ' ̔̀', '῞' => ' ̔́', '῟' => ' ̔͂', '῭' => ' ̈̀', '΅' => ' ̈́', '´' => ' ́', '῾' => ' ̔', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', '‑' => '‐', '‗' => ' ̳', '․' => '.', '‥' => '..', '…' => '...', ' ' => ' ', '″' => '′′', '‴' => '′′′', '‶' => '‵‵', '‷' => '‵‵‵', '‼' => '!!', '‾' => ' ̅', '⁇' => '??', '⁈' => '?!', '⁉' => '!?', '⁗' => '′′′′', ' ' => ' ', '⁰' => '0', 'ⁱ' => 'i', '⁴' => '4', '⁵' => '5', '⁶' => '6', '⁷' => '7', '⁸' => '8', '⁹' => '9', '⁺' => '+', '⁻' => '−', '⁼' => '=', '⁽' => '(', '⁾' => ')', 'ⁿ' => 'n', '₀' => '0', '₁' => '1', '₂' => '2', '₃' => '3', '₄' => '4', '₅' => '5', '₆' => '6', '₇' => '7', '₈' => '8', '₉' => '9', '₊' => '+', '₋' => '−', '₌' => '=', '₍' => '(', '₎' => ')', 'ₐ' => 'a', 'ₑ' => 'e', 'ₒ' => 'o', 'ₓ' => 'x', 'ₔ' => 'ə', 'ₕ' => 'h', 'ₖ' => 'k', 'ₗ' => 'l', 'ₘ' => 'm', 'ₙ' => 'n', 'ₚ' => 'p', 'ₛ' => 's', 'ₜ' => 't', '₨' => 'Rs', '℀' => 'a/c', '℁' => 'a/s', 'ℂ' => 'C', '℃' => '°C', '℅' => 'c/o', '℆' => 'c/u', 'ℇ' => 'Ɛ', '℉' => '°F', 'ℊ' => 'g', 'ℋ' => 'H', 'ℌ' => 'H', 'ℍ' => 'H', 'ℎ' => 'h', 'ℏ' => 'ħ', 'ℐ' => 'I', 'ℑ' => 'I', 'ℒ' => 'L', 'ℓ' => 'l', 'ℕ' => 'N', '№' => 'No', 'ℙ' => 'P', 'ℚ' => 'Q', 'ℛ' => 'R', 'ℜ' => 'R', 'ℝ' => 'R', '℠' => 'SM', '℡' => 'TEL', '™' => 'TM', 'ℤ' => 'Z', 'ℨ' => 'Z', 'ℬ' => 'B', 'ℭ' => 'C', 'ℯ' => 'e', 'ℰ' => 'E', 'ℱ' => 'F', 'ℳ' => 'M', 'ℴ' => 'o', 'ℵ' => 'א', 'ℶ' => 'ב', 'ℷ' => 'ג', 'ℸ' => 'ד', 'ℹ' => 'i', '℻' => 'FAX', 'ℼ' => 'π', 'ℽ' => 'γ', 'ℾ' => 'Γ', 'ℿ' => 'Π', '⅀' => '∑', 'ⅅ' => 'D', 'ⅆ' => 'd', 'ⅇ' => 'e', 'ⅈ' => 'i', 'ⅉ' => 'j', '⅐' => '1⁄7', '⅑' => '1⁄9', '⅒' => '1⁄10', '⅓' => '1⁄3', '⅔' => '2⁄3', '⅕' => '1⁄5', '⅖' => '2⁄5', '⅗' => '3⁄5', '⅘' => '4⁄5', '⅙' => '1⁄6', '⅚' => '5⁄6', '⅛' => '1⁄8', '⅜' => '3⁄8', '⅝' => '5⁄8', '⅞' => '7⁄8', '⅟' => '1⁄', 'Ⅰ' => 'I', 'Ⅱ' => 'II', 'Ⅲ' => 'III', 'Ⅳ' => 'IV', 'Ⅴ' => 'V', 'Ⅵ' => 'VI', 'Ⅶ' => 'VII', 'Ⅷ' => 'VIII', 'Ⅸ' => 'IX', 'Ⅹ' => 'X', 'Ⅺ' => 'XI', 'Ⅻ' => 'XII', 'Ⅼ' => 'L', 'Ⅽ' => 'C', 'Ⅾ' => 'D', 'Ⅿ' => 'M', 'ⅰ' => 'i', 'ⅱ' => 'ii', 'ⅲ' => 'iii', 'ⅳ' => 'iv', 'ⅴ' => 'v', 'ⅵ' => 'vi', 'ⅶ' => 'vii', 'ⅷ' => 'viii', 'ⅸ' => 'ix', 'ⅹ' => 'x', 'ⅺ' => 'xi', 'ⅻ' => 'xii', 'ⅼ' => 'l', 'ⅽ' => 'c', 'ⅾ' => 'd', 'ⅿ' => 'm', '↉' => '0⁄3', '∬' => '∫∫', '∭' => '∫∫∫', '∯' => '∮∮', '∰' => '∮∮∮', '①' => '1', '②' => '2', '③' => '3', '④' => '4', '⑤' => '5', '⑥' => '6', '⑦' => '7', '⑧' => '8', '⑨' => '9', '⑩' => '10', '⑪' => '11', '⑫' => '12', '⑬' => '13', '⑭' => '14', '⑮' => '15', '⑯' => '16', '⑰' => '17', '⑱' => '18', '⑲' => '19', '⑳' => '20', '⑴' => '(1)', '⑵' => '(2)', '⑶' => '(3)', '⑷' => '(4)', '⑸' => '(5)', '⑹' => '(6)', '⑺' => '(7)', '⑻' => '(8)', '⑼' => '(9)', '⑽' => '(10)', '⑾' => '(11)', '⑿' => '(12)', '⒀' => '(13)', '⒁' => '(14)', '⒂' => '(15)', '⒃' => '(16)', '⒄' => '(17)', '⒅' => '(18)', '⒆' => '(19)', '⒇' => '(20)', '⒈' => '1.', '⒉' => '2.', '⒊' => '3.', '⒋' => '4.', '⒌' => '5.', '⒍' => '6.', '⒎' => '7.', '⒏' => '8.', '⒐' => '9.', '⒑' => '10.', '⒒' => '11.', '⒓' => '12.', '⒔' => '13.', '⒕' => '14.', '⒖' => '15.', '⒗' => '16.', '⒘' => '17.', '⒙' => '18.', '⒚' => '19.', '⒛' => '20.', '⒜' => '(a)', '⒝' => '(b)', '⒞' => '(c)', '⒟' => '(d)', '⒠' => '(e)', '⒡' => '(f)', '⒢' => '(g)', '⒣' => '(h)', '⒤' => '(i)', '⒥' => '(j)', '⒦' => '(k)', '⒧' => '(l)', '⒨' => '(m)', '⒩' => '(n)', '⒪' => '(o)', '⒫' => '(p)', '⒬' => '(q)', '⒭' => '(r)', '⒮' => '(s)', '⒯' => '(t)', '⒰' => '(u)', '⒱' => '(v)', '⒲' => '(w)', '⒳' => '(x)', '⒴' => '(y)', '⒵' => '(z)', 'Ⓐ' => 'A', 'Ⓑ' => 'B', 'Ⓒ' => 'C', 'Ⓓ' => 'D', 'Ⓔ' => 'E', 'Ⓕ' => 'F', 'Ⓖ' => 'G', 'Ⓗ' => 'H', 'Ⓘ' => 'I', 'Ⓙ' => 'J', 'Ⓚ' => 'K', 'Ⓛ' => 'L', 'Ⓜ' => 'M', 'Ⓝ' => 'N', 'Ⓞ' => 'O', 'Ⓟ' => 'P', 'Ⓠ' => 'Q', 'Ⓡ' => 'R', 'Ⓢ' => 'S', 'Ⓣ' => 'T', 'Ⓤ' => 'U', 'Ⓥ' => 'V', 'Ⓦ' => 'W', 'Ⓧ' => 'X', 'Ⓨ' => 'Y', 'Ⓩ' => 'Z', 'ⓐ' => 'a', 'ⓑ' => 'b', 'ⓒ' => 'c', 'ⓓ' => 'd', 'ⓔ' => 'e', 'ⓕ' => 'f', 'ⓖ' => 'g', 'ⓗ' => 'h', 'ⓘ' => 'i', 'ⓙ' => 'j', 'ⓚ' => 'k', 'ⓛ' => 'l', 'ⓜ' => 'm', 'ⓝ' => 'n', 'ⓞ' => 'o', 'ⓟ' => 'p', 'ⓠ' => 'q', 'ⓡ' => 'r', 'ⓢ' => 's', 'ⓣ' => 't', 'ⓤ' => 'u', 'ⓥ' => 'v', 'ⓦ' => 'w', 'ⓧ' => 'x', 'ⓨ' => 'y', 'ⓩ' => 'z', '⓪' => '0', '⨌' => '∫∫∫∫', '⩴' => '::=', '⩵' => '==', '⩶' => '===', 'ⱼ' => 'j', 'ⱽ' => 'V', 'ⵯ' => 'ⵡ', '⺟' => '母', '⻳' => '龟', '⼀' => '一', '⼁' => '丨', '⼂' => '丶', '⼃' => '丿', '⼄' => '乙', '⼅' => '亅', '⼆' => '二', '⼇' => '亠', '⼈' => '人', '⼉' => '儿', '⼊' => '入', '⼋' => '八', '⼌' => '冂', '⼍' => '冖', '⼎' => '冫', '⼏' => '几', '⼐' => '凵', '⼑' => '刀', '⼒' => '力', '⼓' => '勹', '⼔' => '匕', '⼕' => '匚', '⼖' => '匸', '⼗' => '十', '⼘' => '卜', '⼙' => '卩', '⼚' => '厂', '⼛' => '厶', '⼜' => '又', '⼝' => '口', '⼞' => '囗', '⼟' => '土', '⼠' => '士', '⼡' => '夂', '⼢' => '夊', '⼣' => '夕', '⼤' => '大', '⼥' => '女', '⼦' => '子', '⼧' => '宀', '⼨' => '寸', '⼩' => '小', '⼪' => '尢', '⼫' => '尸', '⼬' => '屮', '⼭' => '山', '⼮' => '巛', '⼯' => '工', '⼰' => '己', '⼱' => '巾', '⼲' => '干', '⼳' => '幺', '⼴' => '广', '⼵' => '廴', '⼶' => '廾', '⼷' => '弋', '⼸' => '弓', '⼹' => '彐', '⼺' => '彡', '⼻' => '彳', '⼼' => '心', '⼽' => '戈', '⼾' => '戶', '⼿' => '手', '⽀' => '支', '⽁' => '攴', '⽂' => '文', '⽃' => '斗', '⽄' => '斤', '⽅' => '方', '⽆' => '无', '⽇' => '日', '⽈' => '曰', '⽉' => '月', '⽊' => '木', '⽋' => '欠', '⽌' => '止', '⽍' => '歹', '⽎' => '殳', '⽏' => '毋', '⽐' => '比', '⽑' => '毛', '⽒' => '氏', '⽓' => '气', '⽔' => '水', '⽕' => '火', '⽖' => '爪', '⽗' => '父', '⽘' => '爻', '⽙' => '爿', '⽚' => '片', '⽛' => '牙', '⽜' => '牛', '⽝' => '犬', '⽞' => '玄', '⽟' => '玉', '⽠' => '瓜', '⽡' => '瓦', '⽢' => '甘', '⽣' => '生', '⽤' => '用', '⽥' => '田', '⽦' => '疋', '⽧' => '疒', '⽨' => '癶', '⽩' => '白', '⽪' => '皮', '⽫' => '皿', '⽬' => '目', '⽭' => '矛', '⽮' => '矢', '⽯' => '石', '⽰' => '示', '⽱' => '禸', '⽲' => '禾', '⽳' => '穴', '⽴' => '立', '⽵' => '竹', '⽶' => '米', '⽷' => '糸', '⽸' => '缶', '⽹' => '网', '⽺' => '羊', '⽻' => '羽', '⽼' => '老', '⽽' => '而', '⽾' => '耒', '⽿' => '耳', '⾀' => '聿', '⾁' => '肉', '⾂' => '臣', '⾃' => '自', '⾄' => '至', '⾅' => '臼', '⾆' => '舌', '⾇' => '舛', '⾈' => '舟', '⾉' => '艮', '⾊' => '色', '⾋' => '艸', '⾌' => '虍', '⾍' => '虫', '⾎' => '血', '⾏' => '行', '⾐' => '衣', '⾑' => '襾', '⾒' => '見', '⾓' => '角', '⾔' => '言', '⾕' => '谷', '⾖' => '豆', '⾗' => '豕', '⾘' => '豸', '⾙' => '貝', '⾚' => '赤', '⾛' => '走', '⾜' => '足', '⾝' => '身', '⾞' => '車', '⾟' => '辛', '⾠' => '辰', '⾡' => '辵', '⾢' => '邑', '⾣' => '酉', '⾤' => '釆', '⾥' => '里', '⾦' => '金', '⾧' => '長', '⾨' => '門', '⾩' => '阜', '⾪' => '隶', '⾫' => '隹', '⾬' => '雨', '⾭' => '靑', '⾮' => '非', '⾯' => '面', '⾰' => '革', '⾱' => '韋', '⾲' => '韭', '⾳' => '音', '⾴' => '頁', '⾵' => '風', '⾶' => '飛', '⾷' => '食', '⾸' => '首', '⾹' => '香', '⾺' => '馬', '⾻' => '骨', '⾼' => '高', '⾽' => '髟', '⾾' => '鬥', '⾿' => '鬯', '⿀' => '鬲', '⿁' => '鬼', '⿂' => '魚', '⿃' => '鳥', '⿄' => '鹵', '⿅' => '鹿', '⿆' => '麥', '⿇' => '麻', '⿈' => '黃', '⿉' => '黍', '⿊' => '黑', '⿋' => '黹', '⿌' => '黽', '⿍' => '鼎', '⿎' => '鼓', '⿏' => '鼠', '⿐' => '鼻', '⿑' => '齊', '⿒' => '齒', '⿓' => '龍', '⿔' => '龜', '⿕' => '龠', ' ' => ' ', '〶' => '〒', '〸' => '十', '〹' => '卄', '〺' => '卅', '゛' => ' ゙', '゜' => ' ゚', 'ゟ' => 'より', 'ヿ' => 'コト', 'ㄱ' => 'ᄀ', 'ㄲ' => 'ᄁ', 'ㄳ' => 'ᆪ', 'ㄴ' => 'ᄂ', 'ㄵ' => 'ᆬ', 'ㄶ' => 'ᆭ', 'ㄷ' => 'ᄃ', 'ㄸ' => 'ᄄ', 'ㄹ' => 'ᄅ', 'ㄺ' => 'ᆰ', 'ㄻ' => 'ᆱ', 'ㄼ' => 'ᆲ', 'ㄽ' => 'ᆳ', 'ㄾ' => 'ᆴ', 'ㄿ' => 'ᆵ', 'ㅀ' => 'ᄚ', 'ㅁ' => 'ᄆ', 'ㅂ' => 'ᄇ', 'ㅃ' => 'ᄈ', 'ㅄ' => 'ᄡ', 'ㅅ' => 'ᄉ', 'ㅆ' => 'ᄊ', 'ㅇ' => 'ᄋ', 'ㅈ' => 'ᄌ', 'ㅉ' => 'ᄍ', 'ㅊ' => 'ᄎ', 'ㅋ' => 'ᄏ', 'ㅌ' => 'ᄐ', 'ㅍ' => 'ᄑ', 'ㅎ' => 'ᄒ', 'ㅏ' => 'ᅡ', 'ㅐ' => 'ᅢ', 'ㅑ' => 'ᅣ', 'ㅒ' => 'ᅤ', 'ㅓ' => 'ᅥ', 'ㅔ' => 'ᅦ', 'ㅕ' => 'ᅧ', 'ㅖ' => 'ᅨ', 'ㅗ' => 'ᅩ', 'ㅘ' => 'ᅪ', 'ㅙ' => 'ᅫ', 'ㅚ' => 'ᅬ', 'ㅛ' => 'ᅭ', 'ㅜ' => 'ᅮ', 'ㅝ' => 'ᅯ', 'ㅞ' => 'ᅰ', 'ㅟ' => 'ᅱ', 'ㅠ' => 'ᅲ', 'ㅡ' => 'ᅳ', 'ㅢ' => 'ᅴ', 'ㅣ' => 'ᅵ', 'ㅤ' => 'ᅠ', 'ㅥ' => 'ᄔ', 'ㅦ' => 'ᄕ', 'ㅧ' => 'ᇇ', 'ㅨ' => 'ᇈ', 'ㅩ' => 'ᇌ', 'ㅪ' => 'ᇎ', 'ㅫ' => 'ᇓ', 'ㅬ' => 'ᇗ', 'ㅭ' => 'ᇙ', 'ㅮ' => 'ᄜ', 'ㅯ' => 'ᇝ', 'ㅰ' => 'ᇟ', 'ㅱ' => 'ᄝ', 'ㅲ' => 'ᄞ', 'ㅳ' => 'ᄠ', 'ㅴ' => 'ᄢ', 'ㅵ' => 'ᄣ', 'ㅶ' => 'ᄧ', 'ㅷ' => 'ᄩ', 'ㅸ' => 'ᄫ', 'ㅹ' => 'ᄬ', 'ㅺ' => 'ᄭ', 'ㅻ' => 'ᄮ', 'ㅼ' => 'ᄯ', 'ㅽ' => 'ᄲ', 'ㅾ' => 'ᄶ', 'ㅿ' => 'ᅀ', 'ㆀ' => 'ᅇ', 'ㆁ' => 'ᅌ', 'ㆂ' => 'ᇱ', 'ㆃ' => 'ᇲ', 'ㆄ' => 'ᅗ', 'ㆅ' => 'ᅘ', 'ㆆ' => 'ᅙ', 'ㆇ' => 'ᆄ', 'ㆈ' => 'ᆅ', 'ㆉ' => 'ᆈ', 'ㆊ' => 'ᆑ', 'ㆋ' => 'ᆒ', 'ㆌ' => 'ᆔ', 'ㆍ' => 'ᆞ', 'ㆎ' => 'ᆡ', '㆒' => '一', '㆓' => '二', '㆔' => '三', '㆕' => '四', '㆖' => '上', '㆗' => '中', '㆘' => '下', '㆙' => '甲', '㆚' => '乙', '㆛' => '丙', '㆜' => '丁', '㆝' => '天', '㆞' => '地', '㆟' => '人', '㈀' => '(ᄀ)', '㈁' => '(ᄂ)', '㈂' => '(ᄃ)', '㈃' => '(ᄅ)', '㈄' => '(ᄆ)', '㈅' => '(ᄇ)', '㈆' => '(ᄉ)', '㈇' => '(ᄋ)', '㈈' => '(ᄌ)', '㈉' => '(ᄎ)', '㈊' => '(ᄏ)', '㈋' => '(ᄐ)', '㈌' => '(ᄑ)', '㈍' => '(ᄒ)', '㈎' => '(가)', '㈏' => '(나)', '㈐' => '(다)', '㈑' => '(라)', '㈒' => '(마)', '㈓' => '(바)', '㈔' => '(사)', '㈕' => '(아)', '㈖' => '(자)', '㈗' => '(차)', '㈘' => '(카)', '㈙' => '(타)', '㈚' => '(파)', '㈛' => '(하)', '㈜' => '(주)', '㈝' => '(오전)', '㈞' => '(오후)', '㈠' => '(一)', '㈡' => '(二)', '㈢' => '(三)', '㈣' => '(四)', '㈤' => '(五)', '㈥' => '(六)', '㈦' => '(七)', '㈧' => '(八)', '㈨' => '(九)', '㈩' => '(十)', '㈪' => '(月)', '㈫' => '(火)', '㈬' => '(水)', '㈭' => '(木)', '㈮' => '(金)', '㈯' => '(土)', '㈰' => '(日)', '㈱' => '(株)', '㈲' => '(有)', '㈳' => '(社)', '㈴' => '(名)', '㈵' => '(特)', '㈶' => '(財)', '㈷' => '(祝)', '㈸' => '(労)', '㈹' => '(代)', '㈺' => '(呼)', '㈻' => '(学)', '㈼' => '(監)', '㈽' => '(企)', '㈾' => '(資)', '㈿' => '(協)', '㉀' => '(祭)', '㉁' => '(休)', '㉂' => '(自)', '㉃' => '(至)', '㉄' => '問', '㉅' => '幼', '㉆' => '文', '㉇' => '箏', '㉐' => 'PTE', '㉑' => '21', '㉒' => '22', '㉓' => '23', '㉔' => '24', '㉕' => '25', '㉖' => '26', '㉗' => '27', '㉘' => '28', '㉙' => '29', '㉚' => '30', '㉛' => '31', '㉜' => '32', '㉝' => '33', '㉞' => '34', '㉟' => '35', '㉠' => 'ᄀ', '㉡' => 'ᄂ', '㉢' => 'ᄃ', '㉣' => 'ᄅ', '㉤' => 'ᄆ', '㉥' => 'ᄇ', '㉦' => 'ᄉ', '㉧' => 'ᄋ', '㉨' => 'ᄌ', '㉩' => 'ᄎ', '㉪' => 'ᄏ', '㉫' => 'ᄐ', '㉬' => 'ᄑ', '㉭' => 'ᄒ', '㉮' => '가', '㉯' => '나', '㉰' => '다', '㉱' => '라', '㉲' => '마', '㉳' => '바', '㉴' => '사', '㉵' => '아', '㉶' => '자', '㉷' => '차', '㉸' => '카', '㉹' => '타', '㉺' => '파', '㉻' => '하', '㉼' => '참고', '㉽' => '주의', '㉾' => '우', '㊀' => '一', '㊁' => '二', '㊂' => '三', '㊃' => '四', '㊄' => '五', '㊅' => '六', '㊆' => '七', '㊇' => '八', '㊈' => '九', '㊉' => '十', '㊊' => '月', '㊋' => '火', '㊌' => '水', '㊍' => '木', '㊎' => '金', '㊏' => '土', '㊐' => '日', '㊑' => '株', '㊒' => '有', '㊓' => '社', '㊔' => '名', '㊕' => '特', '㊖' => '財', '㊗' => '祝', '㊘' => '労', '㊙' => '秘', '㊚' => '男', '㊛' => '女', '㊜' => '適', '㊝' => '優', '㊞' => '印', '㊟' => '注', '㊠' => '項', '㊡' => '休', '㊢' => '写', '㊣' => '正', '㊤' => '上', '㊥' => '中', '㊦' => '下', '㊧' => '左', '㊨' => '右', '㊩' => '医', '㊪' => '宗', '㊫' => '学', '㊬' => '監', '㊭' => '企', '㊮' => '資', '㊯' => '協', '㊰' => '夜', '㊱' => '36', '㊲' => '37', '㊳' => '38', '㊴' => '39', '㊵' => '40', '㊶' => '41', '㊷' => '42', '㊸' => '43', '㊹' => '44', '㊺' => '45', '㊻' => '46', '㊼' => '47', '㊽' => '48', '㊾' => '49', '㊿' => '50', '㋀' => '1月', '㋁' => '2月', '㋂' => '3月', '㋃' => '4月', '㋄' => '5月', '㋅' => '6月', '㋆' => '7月', '㋇' => '8月', '㋈' => '9月', '㋉' => '10月', '㋊' => '11月', '㋋' => '12月', '㋌' => 'Hg', '㋍' => 'erg', '㋎' => 'eV', '㋏' => 'LTD', '㋐' => 'ア', '㋑' => 'イ', '㋒' => 'ウ', '㋓' => 'エ', '㋔' => 'オ', '㋕' => 'カ', '㋖' => 'キ', '㋗' => 'ク', '㋘' => 'ケ', '㋙' => 'コ', '㋚' => 'サ', '㋛' => 'シ', '㋜' => 'ス', '㋝' => 'セ', '㋞' => 'ソ', '㋟' => 'タ', '㋠' => 'チ', '㋡' => 'ツ', '㋢' => 'テ', '㋣' => 'ト', '㋤' => 'ナ', '㋥' => 'ニ', '㋦' => 'ヌ', '㋧' => 'ネ', '㋨' => 'ノ', '㋩' => 'ハ', '㋪' => 'ヒ', '㋫' => 'フ', '㋬' => 'ヘ', '㋭' => 'ホ', '㋮' => 'マ', '㋯' => 'ミ', '㋰' => 'ム', '㋱' => 'メ', '㋲' => 'モ', '㋳' => 'ヤ', '㋴' => 'ユ', '㋵' => 'ヨ', '㋶' => 'ラ', '㋷' => 'リ', '㋸' => 'ル', '㋹' => 'レ', '㋺' => 'ロ', '㋻' => 'ワ', '㋼' => 'ヰ', '㋽' => 'ヱ', '㋾' => 'ヲ', '㋿' => '令和', '㌀' => 'アパート', '㌁' => 'アルファ', '㌂' => 'アンペア', '㌃' => 'アール', '㌄' => 'イニング', '㌅' => 'インチ', '㌆' => 'ウォン', '㌇' => 'エスクード', '㌈' => 'エーカー', '㌉' => 'オンス', '㌊' => 'オーム', '㌋' => 'カイリ', '㌌' => 'カラット', '㌍' => 'カロリー', '㌎' => 'ガロン', '㌏' => 'ガンマ', '㌐' => 'ギガ', '㌑' => 'ギニー', '㌒' => 'キュリー', '㌓' => 'ギルダー', '㌔' => 'キロ', '㌕' => 'キログラム', '㌖' => 'キロメートル', '㌗' => 'キロワット', '㌘' => 'グラム', '㌙' => 'グラムトン', '㌚' => 'クルゼイロ', '㌛' => 'クローネ', '㌜' => 'ケース', '㌝' => 'コルナ', '㌞' => 'コーポ', '㌟' => 'サイクル', '㌠' => 'サンチーム', '㌡' => 'シリング', '㌢' => 'センチ', '㌣' => 'セント', '㌤' => 'ダース', '㌥' => 'デシ', '㌦' => 'ドル', '㌧' => 'トン', '㌨' => 'ナノ', '㌩' => 'ノット', '㌪' => 'ハイツ', '㌫' => 'パーセント', '㌬' => 'パーツ', '㌭' => 'バーレル', '㌮' => 'ピアストル', '㌯' => 'ピクル', '㌰' => 'ピコ', '㌱' => 'ビル', '㌲' => 'ファラッド', '㌳' => 'フィート', '㌴' => 'ブッシェル', '㌵' => 'フラン', '㌶' => 'ヘクタール', '㌷' => 'ペソ', '㌸' => 'ペニヒ', '㌹' => 'ヘルツ', '㌺' => 'ペンス', '㌻' => 'ページ', '㌼' => 'ベータ', '㌽' => 'ポイント', '㌾' => 'ボルト', '㌿' => 'ホン', '㍀' => 'ポンド', '㍁' => 'ホール', '㍂' => 'ホーン', '㍃' => 'マイクロ', '㍄' => 'マイル', '㍅' => 'マッハ', '㍆' => 'マルク', '㍇' => 'マンション', '㍈' => 'ミクロン', '㍉' => 'ミリ', '㍊' => 'ミリバール', '㍋' => 'メガ', '㍌' => 'メガトン', '㍍' => 'メートル', '㍎' => 'ヤード', '㍏' => 'ヤール', '㍐' => 'ユアン', '㍑' => 'リットル', '㍒' => 'リラ', '㍓' => 'ルピー', '㍔' => 'ルーブル', '㍕' => 'レム', '㍖' => 'レントゲン', '㍗' => 'ワット', '㍘' => '0点', '㍙' => '1点', '㍚' => '2点', '㍛' => '3点', '㍜' => '4点', '㍝' => '5点', '㍞' => '6点', '㍟' => '7点', '㍠' => '8点', '㍡' => '9点', '㍢' => '10点', '㍣' => '11点', '㍤' => '12点', '㍥' => '13点', '㍦' => '14点', '㍧' => '15点', '㍨' => '16点', '㍩' => '17点', '㍪' => '18点', '㍫' => '19点', '㍬' => '20点', '㍭' => '21点', '㍮' => '22点', '㍯' => '23点', '㍰' => '24点', '㍱' => 'hPa', '㍲' => 'da', '㍳' => 'AU', '㍴' => 'bar', '㍵' => 'oV', '㍶' => 'pc', '㍷' => 'dm', '㍸' => 'dm2', '㍹' => 'dm3', '㍺' => 'IU', '㍻' => '平成', '㍼' => '昭和', '㍽' => '大正', '㍾' => '明治', '㍿' => '株式会社', '㎀' => 'pA', '㎁' => 'nA', '㎂' => 'μA', '㎃' => 'mA', '㎄' => 'kA', '㎅' => 'KB', '㎆' => 'MB', '㎇' => 'GB', '㎈' => 'cal', '㎉' => 'kcal', '㎊' => 'pF', '㎋' => 'nF', '㎌' => 'μF', '㎍' => 'μg', '㎎' => 'mg', '㎏' => 'kg', '㎐' => 'Hz', '㎑' => 'kHz', '㎒' => 'MHz', '㎓' => 'GHz', '㎔' => 'THz', '㎕' => 'μl', '㎖' => 'ml', '㎗' => 'dl', '㎘' => 'kl', '㎙' => 'fm', '㎚' => 'nm', '㎛' => 'μm', '㎜' => 'mm', '㎝' => 'cm', '㎞' => 'km', '㎟' => 'mm2', '㎠' => 'cm2', '㎡' => 'm2', '㎢' => 'km2', '㎣' => 'mm3', '㎤' => 'cm3', '㎥' => 'm3', '㎦' => 'km3', '㎧' => 'm∕s', '㎨' => 'm∕s2', '㎩' => 'Pa', '㎪' => 'kPa', '㎫' => 'MPa', '㎬' => 'GPa', '㎭' => 'rad', '㎮' => 'rad∕s', '㎯' => 'rad∕s2', '㎰' => 'ps', '㎱' => 'ns', '㎲' => 'μs', '㎳' => 'ms', '㎴' => 'pV', '㎵' => 'nV', '㎶' => 'μV', '㎷' => 'mV', '㎸' => 'kV', '㎹' => 'MV', '㎺' => 'pW', '㎻' => 'nW', '㎼' => 'μW', '㎽' => 'mW', '㎾' => 'kW', '㎿' => 'MW', '㏀' => 'kΩ', '㏁' => 'MΩ', '㏂' => 'a.m.', '㏃' => 'Bq', '㏄' => 'cc', '㏅' => 'cd', '㏆' => 'C∕kg', '㏇' => 'Co.', '㏈' => 'dB', '㏉' => 'Gy', '㏊' => 'ha', '㏋' => 'HP', '㏌' => 'in', '㏍' => 'KK', '㏎' => 'KM', '㏏' => 'kt', '㏐' => 'lm', '㏑' => 'ln', '㏒' => 'log', '㏓' => 'lx', '㏔' => 'mb', '㏕' => 'mil', '㏖' => 'mol', '㏗' => 'PH', '㏘' => 'p.m.', '㏙' => 'PPM', '㏚' => 'PR', '㏛' => 'sr', '㏜' => 'Sv', '㏝' => 'Wb', '㏞' => 'V∕m', '㏟' => 'A∕m', '㏠' => '1日', '㏡' => '2日', '㏢' => '3日', '㏣' => '4日', '㏤' => '5日', '㏥' => '6日', '㏦' => '7日', '㏧' => '8日', '㏨' => '9日', '㏩' => '10日', '㏪' => '11日', '㏫' => '12日', '㏬' => '13日', '㏭' => '14日', '㏮' => '15日', '㏯' => '16日', '㏰' => '17日', '㏱' => '18日', '㏲' => '19日', '㏳' => '20日', '㏴' => '21日', '㏵' => '22日', '㏶' => '23日', '㏷' => '24日', '㏸' => '25日', '㏹' => '26日', '㏺' => '27日', '㏻' => '28日', '㏼' => '29日', '㏽' => '30日', '㏾' => '31日', '㏿' => 'gal', 'ꚜ' => 'ъ', 'ꚝ' => 'ь', 'ꝰ' => 'ꝯ', 'ꟸ' => 'Ħ', 'ꟹ' => 'œ', 'ꭜ' => 'ꜧ', 'ꭝ' => 'ꬷ', 'ꭞ' => 'ɫ', 'ꭟ' => 'ꭒ', 'ꭩ' => 'ʍ', 'ff' => 'ff', 'fi' => 'fi', 'fl' => 'fl', 'ffi' => 'ffi', 'ffl' => 'ffl', 'ſt' => 'st', 'st' => 'st', 'ﬓ' => 'մն', 'ﬔ' => 'մե', 'ﬕ' => 'մի', 'ﬖ' => 'վն', 'ﬗ' => 'մխ', 'ﬠ' => 'ע', 'ﬡ' => 'א', 'ﬢ' => 'ד', 'ﬣ' => 'ה', 'ﬤ' => 'כ', 'ﬥ' => 'ל', 'ﬦ' => 'ם', 'ﬧ' => 'ר', 'ﬨ' => 'ת', '﬩' => '+', 'ﭏ' => 'אל', 'ﭐ' => 'ٱ', 'ﭑ' => 'ٱ', 'ﭒ' => 'ٻ', 'ﭓ' => 'ٻ', 'ﭔ' => 'ٻ', 'ﭕ' => 'ٻ', 'ﭖ' => 'پ', 'ﭗ' => 'پ', 'ﭘ' => 'پ', 'ﭙ' => 'پ', 'ﭚ' => 'ڀ', 'ﭛ' => 'ڀ', 'ﭜ' => 'ڀ', 'ﭝ' => 'ڀ', 'ﭞ' => 'ٺ', 'ﭟ' => 'ٺ', 'ﭠ' => 'ٺ', 'ﭡ' => 'ٺ', 'ﭢ' => 'ٿ', 'ﭣ' => 'ٿ', 'ﭤ' => 'ٿ', 'ﭥ' => 'ٿ', 'ﭦ' => 'ٹ', 'ﭧ' => 'ٹ', 'ﭨ' => 'ٹ', 'ﭩ' => 'ٹ', 'ﭪ' => 'ڤ', 'ﭫ' => 'ڤ', 'ﭬ' => 'ڤ', 'ﭭ' => 'ڤ', 'ﭮ' => 'ڦ', 'ﭯ' => 'ڦ', 'ﭰ' => 'ڦ', 'ﭱ' => 'ڦ', 'ﭲ' => 'ڄ', 'ﭳ' => 'ڄ', 'ﭴ' => 'ڄ', 'ﭵ' => 'ڄ', 'ﭶ' => 'ڃ', 'ﭷ' => 'ڃ', 'ﭸ' => 'ڃ', 'ﭹ' => 'ڃ', 'ﭺ' => 'چ', 'ﭻ' => 'چ', 'ﭼ' => 'چ', 'ﭽ' => 'چ', 'ﭾ' => 'ڇ', 'ﭿ' => 'ڇ', 'ﮀ' => 'ڇ', 'ﮁ' => 'ڇ', 'ﮂ' => 'ڍ', 'ﮃ' => 'ڍ', 'ﮄ' => 'ڌ', 'ﮅ' => 'ڌ', 'ﮆ' => 'ڎ', 'ﮇ' => 'ڎ', 'ﮈ' => 'ڈ', 'ﮉ' => 'ڈ', 'ﮊ' => 'ژ', 'ﮋ' => 'ژ', 'ﮌ' => 'ڑ', 'ﮍ' => 'ڑ', 'ﮎ' => 'ک', 'ﮏ' => 'ک', 'ﮐ' => 'ک', 'ﮑ' => 'ک', 'ﮒ' => 'گ', 'ﮓ' => 'گ', 'ﮔ' => 'گ', 'ﮕ' => 'گ', 'ﮖ' => 'ڳ', 'ﮗ' => 'ڳ', 'ﮘ' => 'ڳ', 'ﮙ' => 'ڳ', 'ﮚ' => 'ڱ', 'ﮛ' => 'ڱ', 'ﮜ' => 'ڱ', 'ﮝ' => 'ڱ', 'ﮞ' => 'ں', 'ﮟ' => 'ں', 'ﮠ' => 'ڻ', 'ﮡ' => 'ڻ', 'ﮢ' => 'ڻ', 'ﮣ' => 'ڻ', 'ﮤ' => 'ۀ', 'ﮥ' => 'ۀ', 'ﮦ' => 'ہ', 'ﮧ' => 'ہ', 'ﮨ' => 'ہ', 'ﮩ' => 'ہ', 'ﮪ' => 'ھ', 'ﮫ' => 'ھ', 'ﮬ' => 'ھ', 'ﮭ' => 'ھ', 'ﮮ' => 'ے', 'ﮯ' => 'ے', 'ﮰ' => 'ۓ', 'ﮱ' => 'ۓ', 'ﯓ' => 'ڭ', 'ﯔ' => 'ڭ', 'ﯕ' => 'ڭ', 'ﯖ' => 'ڭ', 'ﯗ' => 'ۇ', 'ﯘ' => 'ۇ', 'ﯙ' => 'ۆ', 'ﯚ' => 'ۆ', 'ﯛ' => 'ۈ', 'ﯜ' => 'ۈ', 'ﯝ' => 'ۇٴ', 'ﯞ' => 'ۋ', 'ﯟ' => 'ۋ', 'ﯠ' => 'ۅ', 'ﯡ' => 'ۅ', 'ﯢ' => 'ۉ', 'ﯣ' => 'ۉ', 'ﯤ' => 'ې', 'ﯥ' => 'ې', 'ﯦ' => 'ې', 'ﯧ' => 'ې', 'ﯨ' => 'ى', 'ﯩ' => 'ى', 'ﯪ' => 'ئا', 'ﯫ' => 'ئا', 'ﯬ' => 'ئە', 'ﯭ' => 'ئە', 'ﯮ' => 'ئو', 'ﯯ' => 'ئو', 'ﯰ' => 'ئۇ', 'ﯱ' => 'ئۇ', 'ﯲ' => 'ئۆ', 'ﯳ' => 'ئۆ', 'ﯴ' => 'ئۈ', 'ﯵ' => 'ئۈ', 'ﯶ' => 'ئې', 'ﯷ' => 'ئې', 'ﯸ' => 'ئې', 'ﯹ' => 'ئى', 'ﯺ' => 'ئى', 'ﯻ' => 'ئى', 'ﯼ' => 'ی', 'ﯽ' => 'ی', 'ﯾ' => 'ی', 'ﯿ' => 'ی', 'ﰀ' => 'ئج', 'ﰁ' => 'ئح', 'ﰂ' => 'ئم', 'ﰃ' => 'ئى', 'ﰄ' => 'ئي', 'ﰅ' => 'بج', 'ﰆ' => 'بح', 'ﰇ' => 'بخ', 'ﰈ' => 'بم', 'ﰉ' => 'بى', 'ﰊ' => 'بي', 'ﰋ' => 'تج', 'ﰌ' => 'تح', 'ﰍ' => 'تخ', 'ﰎ' => 'تم', 'ﰏ' => 'تى', 'ﰐ' => 'تي', 'ﰑ' => 'ثج', 'ﰒ' => 'ثم', 'ﰓ' => 'ثى', 'ﰔ' => 'ثي', 'ﰕ' => 'جح', 'ﰖ' => 'جم', 'ﰗ' => 'حج', 'ﰘ' => 'حم', 'ﰙ' => 'خج', 'ﰚ' => 'خح', 'ﰛ' => 'خم', 'ﰜ' => 'سج', 'ﰝ' => 'سح', 'ﰞ' => 'سخ', 'ﰟ' => 'سم', 'ﰠ' => 'صح', 'ﰡ' => 'صم', 'ﰢ' => 'ضج', 'ﰣ' => 'ضح', 'ﰤ' => 'ضخ', 'ﰥ' => 'ضم', 'ﰦ' => 'طح', 'ﰧ' => 'طم', 'ﰨ' => 'ظم', 'ﰩ' => 'عج', 'ﰪ' => 'عم', 'ﰫ' => 'غج', 'ﰬ' => 'غم', 'ﰭ' => 'فج', 'ﰮ' => 'فح', 'ﰯ' => 'فخ', 'ﰰ' => 'فم', 'ﰱ' => 'فى', 'ﰲ' => 'في', 'ﰳ' => 'قح', 'ﰴ' => 'قم', 'ﰵ' => 'قى', 'ﰶ' => 'قي', 'ﰷ' => 'كا', 'ﰸ' => 'كج', 'ﰹ' => 'كح', 'ﰺ' => 'كخ', 'ﰻ' => 'كل', 'ﰼ' => 'كم', 'ﰽ' => 'كى', 'ﰾ' => 'كي', 'ﰿ' => 'لج', 'ﱀ' => 'لح', 'ﱁ' => 'لخ', 'ﱂ' => 'لم', 'ﱃ' => 'لى', 'ﱄ' => 'لي', 'ﱅ' => 'مج', 'ﱆ' => 'مح', 'ﱇ' => 'مخ', 'ﱈ' => 'مم', 'ﱉ' => 'مى', 'ﱊ' => 'مي', 'ﱋ' => 'نج', 'ﱌ' => 'نح', 'ﱍ' => 'نخ', 'ﱎ' => 'نم', 'ﱏ' => 'نى', 'ﱐ' => 'ني', 'ﱑ' => 'هج', 'ﱒ' => 'هم', 'ﱓ' => 'هى', 'ﱔ' => 'هي', 'ﱕ' => 'يج', 'ﱖ' => 'يح', 'ﱗ' => 'يخ', 'ﱘ' => 'يم', 'ﱙ' => 'يى', 'ﱚ' => 'يي', 'ﱛ' => 'ذٰ', 'ﱜ' => 'رٰ', 'ﱝ' => 'ىٰ', 'ﱞ' => ' ٌّ', 'ﱟ' => ' ٍّ', 'ﱠ' => ' َّ', 'ﱡ' => ' ُّ', 'ﱢ' => ' ِّ', 'ﱣ' => ' ّٰ', 'ﱤ' => 'ئر', 'ﱥ' => 'ئز', 'ﱦ' => 'ئم', 'ﱧ' => 'ئن', 'ﱨ' => 'ئى', 'ﱩ' => 'ئي', 'ﱪ' => 'بر', 'ﱫ' => 'بز', 'ﱬ' => 'بم', 'ﱭ' => 'بن', 'ﱮ' => 'بى', 'ﱯ' => 'بي', 'ﱰ' => 'تر', 'ﱱ' => 'تز', 'ﱲ' => 'تم', 'ﱳ' => 'تن', 'ﱴ' => 'تى', 'ﱵ' => 'تي', 'ﱶ' => 'ثر', 'ﱷ' => 'ثز', 'ﱸ' => 'ثم', 'ﱹ' => 'ثن', 'ﱺ' => 'ثى', 'ﱻ' => 'ثي', 'ﱼ' => 'فى', 'ﱽ' => 'في', 'ﱾ' => 'قى', 'ﱿ' => 'قي', 'ﲀ' => 'كا', 'ﲁ' => 'كل', 'ﲂ' => 'كم', 'ﲃ' => 'كى', 'ﲄ' => 'كي', 'ﲅ' => 'لم', 'ﲆ' => 'لى', 'ﲇ' => 'لي', 'ﲈ' => 'ما', 'ﲉ' => 'مم', 'ﲊ' => 'نر', 'ﲋ' => 'نز', 'ﲌ' => 'نم', 'ﲍ' => 'نن', 'ﲎ' => 'نى', 'ﲏ' => 'ني', 'ﲐ' => 'ىٰ', 'ﲑ' => 'ير', 'ﲒ' => 'يز', 'ﲓ' => 'يم', 'ﲔ' => 'ين', 'ﲕ' => 'يى', 'ﲖ' => 'يي', 'ﲗ' => 'ئج', 'ﲘ' => 'ئح', 'ﲙ' => 'ئخ', 'ﲚ' => 'ئم', 'ﲛ' => 'ئه', 'ﲜ' => 'بج', 'ﲝ' => 'بح', 'ﲞ' => 'بخ', 'ﲟ' => 'بم', 'ﲠ' => 'به', 'ﲡ' => 'تج', 'ﲢ' => 'تح', 'ﲣ' => 'تخ', 'ﲤ' => 'تم', 'ﲥ' => 'ته', 'ﲦ' => 'ثم', 'ﲧ' => 'جح', 'ﲨ' => 'جم', 'ﲩ' => 'حج', 'ﲪ' => 'حم', 'ﲫ' => 'خج', 'ﲬ' => 'خم', 'ﲭ' => 'سج', 'ﲮ' => 'سح', 'ﲯ' => 'سخ', 'ﲰ' => 'سم', 'ﲱ' => 'صح', 'ﲲ' => 'صخ', 'ﲳ' => 'صم', 'ﲴ' => 'ضج', 'ﲵ' => 'ضح', 'ﲶ' => 'ضخ', 'ﲷ' => 'ضم', 'ﲸ' => 'طح', 'ﲹ' => 'ظم', 'ﲺ' => 'عج', 'ﲻ' => 'عم', 'ﲼ' => 'غج', 'ﲽ' => 'غم', 'ﲾ' => 'فج', 'ﲿ' => 'فح', 'ﳀ' => 'فخ', 'ﳁ' => 'فم', 'ﳂ' => 'قح', 'ﳃ' => 'قم', 'ﳄ' => 'كج', 'ﳅ' => 'كح', 'ﳆ' => 'كخ', 'ﳇ' => 'كل', 'ﳈ' => 'كم', 'ﳉ' => 'لج', 'ﳊ' => 'لح', 'ﳋ' => 'لخ', 'ﳌ' => 'لم', 'ﳍ' => 'له', 'ﳎ' => 'مج', 'ﳏ' => 'مح', 'ﳐ' => 'مخ', 'ﳑ' => 'مم', 'ﳒ' => 'نج', 'ﳓ' => 'نح', 'ﳔ' => 'نخ', 'ﳕ' => 'نم', 'ﳖ' => 'نه', 'ﳗ' => 'هج', 'ﳘ' => 'هم', 'ﳙ' => 'هٰ', 'ﳚ' => 'يج', 'ﳛ' => 'يح', 'ﳜ' => 'يخ', 'ﳝ' => 'يم', 'ﳞ' => 'يه', 'ﳟ' => 'ئم', 'ﳠ' => 'ئه', 'ﳡ' => 'بم', 'ﳢ' => 'به', 'ﳣ' => 'تم', 'ﳤ' => 'ته', 'ﳥ' => 'ثم', 'ﳦ' => 'ثه', 'ﳧ' => 'سم', 'ﳨ' => 'سه', 'ﳩ' => 'شم', 'ﳪ' => 'شه', 'ﳫ' => 'كل', 'ﳬ' => 'كم', 'ﳭ' => 'لم', 'ﳮ' => 'نم', 'ﳯ' => 'نه', 'ﳰ' => 'يم', 'ﳱ' => 'يه', 'ﳲ' => 'ـَّ', 'ﳳ' => 'ـُّ', 'ﳴ' => 'ـِّ', 'ﳵ' => 'طى', 'ﳶ' => 'طي', 'ﳷ' => 'عى', 'ﳸ' => 'عي', 'ﳹ' => 'غى', 'ﳺ' => 'غي', 'ﳻ' => 'سى', 'ﳼ' => 'سي', 'ﳽ' => 'شى', 'ﳾ' => 'شي', 'ﳿ' => 'حى', 'ﴀ' => 'حي', 'ﴁ' => 'جى', 'ﴂ' => 'جي', 'ﴃ' => 'خى', 'ﴄ' => 'خي', 'ﴅ' => 'صى', 'ﴆ' => 'صي', 'ﴇ' => 'ضى', 'ﴈ' => 'ضي', 'ﴉ' => 'شج', 'ﴊ' => 'شح', 'ﴋ' => 'شخ', 'ﴌ' => 'شم', 'ﴍ' => 'شر', 'ﴎ' => 'سر', 'ﴏ' => 'صر', 'ﴐ' => 'ضر', 'ﴑ' => 'طى', 'ﴒ' => 'طي', 'ﴓ' => 'عى', 'ﴔ' => 'عي', 'ﴕ' => 'غى', 'ﴖ' => 'غي', 'ﴗ' => 'سى', 'ﴘ' => 'سي', 'ﴙ' => 'شى', 'ﴚ' => 'شي', 'ﴛ' => 'حى', 'ﴜ' => 'حي', 'ﴝ' => 'جى', 'ﴞ' => 'جي', 'ﴟ' => 'خى', 'ﴠ' => 'خي', 'ﴡ' => 'صى', 'ﴢ' => 'صي', 'ﴣ' => 'ضى', 'ﴤ' => 'ضي', 'ﴥ' => 'شج', 'ﴦ' => 'شح', 'ﴧ' => 'شخ', 'ﴨ' => 'شم', 'ﴩ' => 'شر', 'ﴪ' => 'سر', 'ﴫ' => 'صر', 'ﴬ' => 'ضر', 'ﴭ' => 'شج', 'ﴮ' => 'شح', 'ﴯ' => 'شخ', 'ﴰ' => 'شم', 'ﴱ' => 'سه', 'ﴲ' => 'شه', 'ﴳ' => 'طم', 'ﴴ' => 'سج', 'ﴵ' => 'سح', 'ﴶ' => 'سخ', 'ﴷ' => 'شج', 'ﴸ' => 'شح', 'ﴹ' => 'شخ', 'ﴺ' => 'طم', 'ﴻ' => 'ظم', 'ﴼ' => 'اً', 'ﴽ' => 'اً', 'ﵐ' => 'تجم', 'ﵑ' => 'تحج', 'ﵒ' => 'تحج', 'ﵓ' => 'تحم', 'ﵔ' => 'تخم', 'ﵕ' => 'تمج', 'ﵖ' => 'تمح', 'ﵗ' => 'تمخ', 'ﵘ' => 'جمح', 'ﵙ' => 'جمح', 'ﵚ' => 'حمي', 'ﵛ' => 'حمى', 'ﵜ' => 'سحج', 'ﵝ' => 'سجح', 'ﵞ' => 'سجى', 'ﵟ' => 'سمح', 'ﵠ' => 'سمح', 'ﵡ' => 'سمج', 'ﵢ' => 'سمم', 'ﵣ' => 'سمم', 'ﵤ' => 'صحح', 'ﵥ' => 'صحح', 'ﵦ' => 'صمم', 'ﵧ' => 'شحم', 'ﵨ' => 'شحم', 'ﵩ' => 'شجي', 'ﵪ' => 'شمخ', 'ﵫ' => 'شمخ', 'ﵬ' => 'شمم', 'ﵭ' => 'شمم', 'ﵮ' => 'ضحى', 'ﵯ' => 'ضخم', 'ﵰ' => 'ضخم', 'ﵱ' => 'طمح', 'ﵲ' => 'طمح', 'ﵳ' => 'طمم', 'ﵴ' => 'طمي', 'ﵵ' => 'عجم', 'ﵶ' => 'عمم', 'ﵷ' => 'عمم', 'ﵸ' => 'عمى', 'ﵹ' => 'غمم', 'ﵺ' => 'غمي', 'ﵻ' => 'غمى', 'ﵼ' => 'فخم', 'ﵽ' => 'فخم', 'ﵾ' => 'قمح', 'ﵿ' => 'قمم', 'ﶀ' => 'لحم', 'ﶁ' => 'لحي', 'ﶂ' => 'لحى', 'ﶃ' => 'لجج', 'ﶄ' => 'لجج', 'ﶅ' => 'لخم', 'ﶆ' => 'لخم', 'ﶇ' => 'لمح', 'ﶈ' => 'لمح', 'ﶉ' => 'محج', 'ﶊ' => 'محم', 'ﶋ' => 'محي', 'ﶌ' => 'مجح', 'ﶍ' => 'مجم', 'ﶎ' => 'مخج', 'ﶏ' => 'مخم', 'ﶒ' => 'مجخ', 'ﶓ' => 'همج', 'ﶔ' => 'همم', 'ﶕ' => 'نحم', 'ﶖ' => 'نحى', 'ﶗ' => 'نجم', 'ﶘ' => 'نجم', 'ﶙ' => 'نجى', 'ﶚ' => 'نمي', 'ﶛ' => 'نمى', 'ﶜ' => 'يمم', 'ﶝ' => 'يمم', 'ﶞ' => 'بخي', 'ﶟ' => 'تجي', 'ﶠ' => 'تجى', 'ﶡ' => 'تخي', 'ﶢ' => 'تخى', 'ﶣ' => 'تمي', 'ﶤ' => 'تمى', 'ﶥ' => 'جمي', 'ﶦ' => 'جحى', 'ﶧ' => 'جمى', 'ﶨ' => 'سخى', 'ﶩ' => 'صحي', 'ﶪ' => 'شحي', 'ﶫ' => 'ضحي', 'ﶬ' => 'لجي', 'ﶭ' => 'لمي', 'ﶮ' => 'يحي', 'ﶯ' => 'يجي', 'ﶰ' => 'يمي', 'ﶱ' => 'ممي', 'ﶲ' => 'قمي', 'ﶳ' => 'نحي', 'ﶴ' => 'قمح', 'ﶵ' => 'لحم', 'ﶶ' => 'عمي', 'ﶷ' => 'كمي', 'ﶸ' => 'نجح', 'ﶹ' => 'مخي', 'ﶺ' => 'لجم', 'ﶻ' => 'كمم', 'ﶼ' => 'لجم', 'ﶽ' => 'نجح', 'ﶾ' => 'جحي', 'ﶿ' => 'حجي', 'ﷀ' => 'مجي', 'ﷁ' => 'فمي', 'ﷂ' => 'بحي', 'ﷃ' => 'كمم', 'ﷄ' => 'عجم', 'ﷅ' => 'صمم', 'ﷆ' => 'سخي', 'ﷇ' => 'نجي', 'ﷰ' => 'صلے', 'ﷱ' => 'قلے', 'ﷲ' => 'الله', 'ﷳ' => 'اكبر', 'ﷴ' => 'محمد', 'ﷵ' => 'صلعم', 'ﷶ' => 'رسول', 'ﷷ' => 'عليه', 'ﷸ' => 'وسلم', 'ﷹ' => 'صلى', 'ﷺ' => 'صلى الله عليه وسلم', 'ﷻ' => 'جل جلاله', '﷼' => 'ریال', '︐' => ',', '︑' => '、', '︒' => '。', '︓' => ':', '︔' => ';', '︕' => '!', '︖' => '?', '︗' => '〖', '︘' => '〗', '︙' => '...', '︰' => '..', '︱' => '—', '︲' => '–', '︳' => '_', '︴' => '_', '︵' => '(', '︶' => ')', '︷' => '{', '︸' => '}', '︹' => '〔', '︺' => '〕', '︻' => '【', '︼' => '】', '︽' => '《', '︾' => '》', '︿' => '〈', '﹀' => '〉', '﹁' => '「', '﹂' => '」', '﹃' => '『', '﹄' => '』', '﹇' => '[', '﹈' => ']', '﹉' => ' ̅', '﹊' => ' ̅', '﹋' => ' ̅', '﹌' => ' ̅', '﹍' => '_', '﹎' => '_', '﹏' => '_', '﹐' => ',', '﹑' => '、', '﹒' => '.', '﹔' => ';', '﹕' => ':', '﹖' => '?', '﹗' => '!', '﹘' => '—', '﹙' => '(', '﹚' => ')', '﹛' => '{', '﹜' => '}', '﹝' => '〔', '﹞' => '〕', '﹟' => '#', '﹠' => '&', '﹡' => '*', '﹢' => '+', '﹣' => '-', '﹤' => '<', '﹥' => '>', '﹦' => '=', '﹨' => '\\', '﹩' => '$', '﹪' => '%', '﹫' => '@', 'ﹰ' => ' ً', 'ﹱ' => 'ـً', 'ﹲ' => ' ٌ', 'ﹴ' => ' ٍ', 'ﹶ' => ' َ', 'ﹷ' => 'ـَ', 'ﹸ' => ' ُ', 'ﹹ' => 'ـُ', 'ﹺ' => ' ِ', 'ﹻ' => 'ـِ', 'ﹼ' => ' ّ', 'ﹽ' => 'ـّ', 'ﹾ' => ' ْ', 'ﹿ' => 'ـْ', 'ﺀ' => 'ء', 'ﺁ' => 'آ', 'ﺂ' => 'آ', 'ﺃ' => 'أ', 'ﺄ' => 'أ', 'ﺅ' => 'ؤ', 'ﺆ' => 'ؤ', 'ﺇ' => 'إ', 'ﺈ' => 'إ', 'ﺉ' => 'ئ', 'ﺊ' => 'ئ', 'ﺋ' => 'ئ', 'ﺌ' => 'ئ', 'ﺍ' => 'ا', 'ﺎ' => 'ا', 'ﺏ' => 'ب', 'ﺐ' => 'ب', 'ﺑ' => 'ب', 'ﺒ' => 'ب', 'ﺓ' => 'ة', 'ﺔ' => 'ة', 'ﺕ' => 'ت', 'ﺖ' => 'ت', 'ﺗ' => 'ت', 'ﺘ' => 'ت', 'ﺙ' => 'ث', 'ﺚ' => 'ث', 'ﺛ' => 'ث', 'ﺜ' => 'ث', 'ﺝ' => 'ج', 'ﺞ' => 'ج', 'ﺟ' => 'ج', 'ﺠ' => 'ج', 'ﺡ' => 'ح', 'ﺢ' => 'ح', 'ﺣ' => 'ح', 'ﺤ' => 'ح', 'ﺥ' => 'خ', 'ﺦ' => 'خ', 'ﺧ' => 'خ', 'ﺨ' => 'خ', 'ﺩ' => 'د', 'ﺪ' => 'د', 'ﺫ' => 'ذ', 'ﺬ' => 'ذ', 'ﺭ' => 'ر', 'ﺮ' => 'ر', 'ﺯ' => 'ز', 'ﺰ' => 'ز', 'ﺱ' => 'س', 'ﺲ' => 'س', 'ﺳ' => 'س', 'ﺴ' => 'س', 'ﺵ' => 'ش', 'ﺶ' => 'ش', 'ﺷ' => 'ش', 'ﺸ' => 'ش', 'ﺹ' => 'ص', 'ﺺ' => 'ص', 'ﺻ' => 'ص', 'ﺼ' => 'ص', 'ﺽ' => 'ض', 'ﺾ' => 'ض', 'ﺿ' => 'ض', 'ﻀ' => 'ض', 'ﻁ' => 'ط', 'ﻂ' => 'ط', 'ﻃ' => 'ط', 'ﻄ' => 'ط', 'ﻅ' => 'ظ', 'ﻆ' => 'ظ', 'ﻇ' => 'ظ', 'ﻈ' => 'ظ', 'ﻉ' => 'ع', 'ﻊ' => 'ع', 'ﻋ' => 'ع', 'ﻌ' => 'ع', 'ﻍ' => 'غ', 'ﻎ' => 'غ', 'ﻏ' => 'غ', 'ﻐ' => 'غ', 'ﻑ' => 'ف', 'ﻒ' => 'ف', 'ﻓ' => 'ف', 'ﻔ' => 'ف', 'ﻕ' => 'ق', 'ﻖ' => 'ق', 'ﻗ' => 'ق', 'ﻘ' => 'ق', 'ﻙ' => 'ك', 'ﻚ' => 'ك', 'ﻛ' => 'ك', 'ﻜ' => 'ك', 'ﻝ' => 'ل', 'ﻞ' => 'ل', 'ﻟ' => 'ل', 'ﻠ' => 'ل', 'ﻡ' => 'م', 'ﻢ' => 'م', 'ﻣ' => 'م', 'ﻤ' => 'م', 'ﻥ' => 'ن', 'ﻦ' => 'ن', 'ﻧ' => 'ن', 'ﻨ' => 'ن', 'ﻩ' => 'ه', 'ﻪ' => 'ه', 'ﻫ' => 'ه', 'ﻬ' => 'ه', 'ﻭ' => 'و', 'ﻮ' => 'و', 'ﻯ' => 'ى', 'ﻰ' => 'ى', 'ﻱ' => 'ي', 'ﻲ' => 'ي', 'ﻳ' => 'ي', 'ﻴ' => 'ي', 'ﻵ' => 'لآ', 'ﻶ' => 'لآ', 'ﻷ' => 'لأ', 'ﻸ' => 'لأ', 'ﻹ' => 'لإ', 'ﻺ' => 'لإ', 'ﻻ' => 'لا', 'ﻼ' => 'لا', '!' => '!', '"' => '"', '#' => '#', '$' => '$', '%' => '%', '&' => '&', ''' => '\'', '(' => '(', ')' => ')', '*' => '*', '+' => '+', ',' => ',', '-' => '-', '.' => '.', '/' => '/', '0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', ':' => ':', ';' => ';', '<' => '<', '=' => '=', '>' => '>', '?' => '?', '@' => '@', 'A' => 'A', 'B' => 'B', 'C' => 'C', 'D' => 'D', 'E' => 'E', 'F' => 'F', 'G' => 'G', 'H' => 'H', 'I' => 'I', 'J' => 'J', 'K' => 'K', 'L' => 'L', 'M' => 'M', 'N' => 'N', 'O' => 'O', 'P' => 'P', 'Q' => 'Q', 'R' => 'R', 'S' => 'S', 'T' => 'T', 'U' => 'U', 'V' => 'V', 'W' => 'W', 'X' => 'X', 'Y' => 'Y', 'Z' => 'Z', '[' => '[', '\' => '\\', ']' => ']', '^' => '^', '_' => '_', '`' => '`', 'a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd', 'e' => 'e', 'f' => 'f', 'g' => 'g', 'h' => 'h', 'i' => 'i', 'j' => 'j', 'k' => 'k', 'l' => 'l', 'm' => 'm', 'n' => 'n', 'o' => 'o', 'p' => 'p', 'q' => 'q', 'r' => 'r', 's' => 's', 't' => 't', 'u' => 'u', 'v' => 'v', 'w' => 'w', 'x' => 'x', 'y' => 'y', 'z' => 'z', '{' => '{', '|' => '|', '}' => '}', '~' => '~', '⦅' => '⦅', '⦆' => '⦆', '。' => '。', '「' => '「', '」' => '」', '、' => '、', '・' => '・', 'ヲ' => 'ヲ', 'ァ' => 'ァ', 'ィ' => 'ィ', 'ゥ' => 'ゥ', 'ェ' => 'ェ', 'ォ' => 'ォ', 'ャ' => 'ャ', 'ュ' => 'ュ', 'ョ' => 'ョ', 'ッ' => 'ッ', 'ー' => 'ー', 'ア' => 'ア', 'イ' => 'イ', 'ウ' => 'ウ', 'エ' => 'エ', 'オ' => 'オ', 'カ' => 'カ', 'キ' => 'キ', 'ク' => 'ク', 'ケ' => 'ケ', 'コ' => 'コ', 'サ' => 'サ', 'シ' => 'シ', 'ス' => 'ス', 'セ' => 'セ', 'ソ' => 'ソ', 'タ' => 'タ', 'チ' => 'チ', 'ツ' => 'ツ', 'テ' => 'テ', 'ト' => 'ト', 'ナ' => 'ナ', 'ニ' => 'ニ', 'ヌ' => 'ヌ', 'ネ' => 'ネ', 'ノ' => 'ノ', 'ハ' => 'ハ', 'ヒ' => 'ヒ', 'フ' => 'フ', 'ヘ' => 'ヘ', 'ホ' => 'ホ', 'マ' => 'マ', 'ミ' => 'ミ', 'ム' => 'ム', 'メ' => 'メ', 'モ' => 'モ', 'ヤ' => 'ヤ', 'ユ' => 'ユ', 'ヨ' => 'ヨ', 'ラ' => 'ラ', 'リ' => 'リ', 'ル' => 'ル', 'レ' => 'レ', 'ロ' => 'ロ', 'ワ' => 'ワ', 'ン' => 'ン', '゙' => '゙', '゚' => '゚', 'ᅠ' => 'ᅠ', 'ᄀ' => 'ᄀ', 'ᄁ' => 'ᄁ', 'ᆪ' => 'ᆪ', 'ᄂ' => 'ᄂ', 'ᆬ' => 'ᆬ', 'ᆭ' => 'ᆭ', 'ᄃ' => 'ᄃ', 'ᄄ' => 'ᄄ', 'ᄅ' => 'ᄅ', 'ᆰ' => 'ᆰ', 'ᆱ' => 'ᆱ', 'ᆲ' => 'ᆲ', 'ᆳ' => 'ᆳ', 'ᆴ' => 'ᆴ', 'ᆵ' => 'ᆵ', 'ᄚ' => 'ᄚ', 'ᄆ' => 'ᄆ', 'ᄇ' => 'ᄇ', 'ᄈ' => 'ᄈ', 'ᄡ' => 'ᄡ', 'ᄉ' => 'ᄉ', 'ᄊ' => 'ᄊ', 'ᄋ' => 'ᄋ', 'ᄌ' => 'ᄌ', 'ᄍ' => 'ᄍ', 'ᄎ' => 'ᄎ', 'ᄏ' => 'ᄏ', 'ᄐ' => 'ᄐ', 'ᄑ' => 'ᄑ', 'ᄒ' => 'ᄒ', 'ᅡ' => 'ᅡ', 'ᅢ' => 'ᅢ', 'ᅣ' => 'ᅣ', 'ᅤ' => 'ᅤ', 'ᅥ' => 'ᅥ', 'ᅦ' => 'ᅦ', 'ᅧ' => 'ᅧ', 'ᅨ' => 'ᅨ', 'ᅩ' => 'ᅩ', 'ᅪ' => 'ᅪ', 'ᅫ' => 'ᅫ', 'ᅬ' => 'ᅬ', 'ᅭ' => 'ᅭ', 'ᅮ' => 'ᅮ', 'ᅯ' => 'ᅯ', 'ᅰ' => 'ᅰ', 'ᅱ' => 'ᅱ', 'ᅲ' => 'ᅲ', 'ᅳ' => 'ᅳ', 'ᅴ' => 'ᅴ', 'ᅵ' => 'ᅵ', '¢' => '¢', '£' => '£', '¬' => '¬', ' ̄' => ' ̄', '¦' => '¦', '¥' => '¥', '₩' => '₩', '│' => '│', '←' => '←', '↑' => '↑', '→' => '→', '↓' => '↓', '■' => '■', '○' => '○', '𝐀' => 'A', '𝐁' => 'B', '𝐂' => 'C', '𝐃' => 'D', '𝐄' => 'E', '𝐅' => 'F', '𝐆' => 'G', '𝐇' => 'H', '𝐈' => 'I', '𝐉' => 'J', '𝐊' => 'K', '𝐋' => 'L', '𝐌' => 'M', '𝐍' => 'N', '𝐎' => 'O', '𝐏' => 'P', '𝐐' => 'Q', '𝐑' => 'R', '𝐒' => 'S', '𝐓' => 'T', '𝐔' => 'U', '𝐕' => 'V', '𝐖' => 'W', '𝐗' => 'X', '𝐘' => 'Y', '𝐙' => 'Z', '𝐚' => 'a', '𝐛' => 'b', '𝐜' => 'c', '𝐝' => 'd', '𝐞' => 'e', '𝐟' => 'f', '𝐠' => 'g', '𝐡' => 'h', '𝐢' => 'i', '𝐣' => 'j', '𝐤' => 'k', '𝐥' => 'l', '𝐦' => 'm', '𝐧' => 'n', '𝐨' => 'o', '𝐩' => 'p', '𝐪' => 'q', '𝐫' => 'r', '𝐬' => 's', '𝐭' => 't', '𝐮' => 'u', '𝐯' => 'v', '𝐰' => 'w', '𝐱' => 'x', '𝐲' => 'y', '𝐳' => 'z', '𝐴' => 'A', '𝐵' => 'B', '𝐶' => 'C', '𝐷' => 'D', '𝐸' => 'E', '𝐹' => 'F', '𝐺' => 'G', '𝐻' => 'H', '𝐼' => 'I', '𝐽' => 'J', '𝐾' => 'K', '𝐿' => 'L', '𝑀' => 'M', '𝑁' => 'N', '𝑂' => 'O', '𝑃' => 'P', '𝑄' => 'Q', '𝑅' => 'R', '𝑆' => 'S', '𝑇' => 'T', '𝑈' => 'U', '𝑉' => 'V', '𝑊' => 'W', '𝑋' => 'X', '𝑌' => 'Y', '𝑍' => 'Z', '𝑎' => 'a', '𝑏' => 'b', '𝑐' => 'c', '𝑑' => 'd', '𝑒' => 'e', '𝑓' => 'f', '𝑔' => 'g', '𝑖' => 'i', '𝑗' => 'j', '𝑘' => 'k', '𝑙' => 'l', '𝑚' => 'm', '𝑛' => 'n', '𝑜' => 'o', '𝑝' => 'p', '𝑞' => 'q', '𝑟' => 'r', '𝑠' => 's', '𝑡' => 't', '𝑢' => 'u', '𝑣' => 'v', '𝑤' => 'w', '𝑥' => 'x', '𝑦' => 'y', '𝑧' => 'z', '𝑨' => 'A', '𝑩' => 'B', '𝑪' => 'C', '𝑫' => 'D', '𝑬' => 'E', '𝑭' => 'F', '𝑮' => 'G', '𝑯' => 'H', '𝑰' => 'I', '𝑱' => 'J', '𝑲' => 'K', '𝑳' => 'L', '𝑴' => 'M', '𝑵' => 'N', '𝑶' => 'O', '𝑷' => 'P', '𝑸' => 'Q', '𝑹' => 'R', '𝑺' => 'S', '𝑻' => 'T', '𝑼' => 'U', '𝑽' => 'V', '𝑾' => 'W', '𝑿' => 'X', '𝒀' => 'Y', '𝒁' => 'Z', '𝒂' => 'a', '𝒃' => 'b', '𝒄' => 'c', '𝒅' => 'd', '𝒆' => 'e', '𝒇' => 'f', '𝒈' => 'g', '𝒉' => 'h', '𝒊' => 'i', '𝒋' => 'j', '𝒌' => 'k', '𝒍' => 'l', '𝒎' => 'm', '𝒏' => 'n', '𝒐' => 'o', '𝒑' => 'p', '𝒒' => 'q', '𝒓' => 'r', '𝒔' => 's', '𝒕' => 't', '𝒖' => 'u', '𝒗' => 'v', '𝒘' => 'w', '𝒙' => 'x', '𝒚' => 'y', '𝒛' => 'z', '𝒜' => 'A', '𝒞' => 'C', '𝒟' => 'D', '𝒢' => 'G', '𝒥' => 'J', '𝒦' => 'K', '𝒩' => 'N', '𝒪' => 'O', '𝒫' => 'P', '𝒬' => 'Q', '𝒮' => 'S', '𝒯' => 'T', '𝒰' => 'U', '𝒱' => 'V', '𝒲' => 'W', '𝒳' => 'X', '𝒴' => 'Y', '𝒵' => 'Z', '𝒶' => 'a', '𝒷' => 'b', '𝒸' => 'c', '𝒹' => 'd', '𝒻' => 'f', '𝒽' => 'h', '𝒾' => 'i', '𝒿' => 'j', '𝓀' => 'k', '𝓁' => 'l', '𝓂' => 'm', '𝓃' => 'n', '𝓅' => 'p', '𝓆' => 'q', '𝓇' => 'r', '𝓈' => 's', '𝓉' => 't', '𝓊' => 'u', '𝓋' => 'v', '𝓌' => 'w', '𝓍' => 'x', '𝓎' => 'y', '𝓏' => 'z', '𝓐' => 'A', '𝓑' => 'B', '𝓒' => 'C', '𝓓' => 'D', '𝓔' => 'E', '𝓕' => 'F', '𝓖' => 'G', '𝓗' => 'H', '𝓘' => 'I', '𝓙' => 'J', '𝓚' => 'K', '𝓛' => 'L', '𝓜' => 'M', '𝓝' => 'N', '𝓞' => 'O', '𝓟' => 'P', '𝓠' => 'Q', '𝓡' => 'R', '𝓢' => 'S', '𝓣' => 'T', '𝓤' => 'U', '𝓥' => 'V', '𝓦' => 'W', '𝓧' => 'X', '𝓨' => 'Y', '𝓩' => 'Z', '𝓪' => 'a', '𝓫' => 'b', '𝓬' => 'c', '𝓭' => 'd', '𝓮' => 'e', '𝓯' => 'f', '𝓰' => 'g', '𝓱' => 'h', '𝓲' => 'i', '𝓳' => 'j', '𝓴' => 'k', '𝓵' => 'l', '𝓶' => 'm', '𝓷' => 'n', '𝓸' => 'o', '𝓹' => 'p', '𝓺' => 'q', '𝓻' => 'r', '𝓼' => 's', '𝓽' => 't', '𝓾' => 'u', '𝓿' => 'v', '𝔀' => 'w', '𝔁' => 'x', '𝔂' => 'y', '𝔃' => 'z', '𝔄' => 'A', '𝔅' => 'B', '𝔇' => 'D', '𝔈' => 'E', '𝔉' => 'F', '𝔊' => 'G', '𝔍' => 'J', '𝔎' => 'K', '𝔏' => 'L', '𝔐' => 'M', '𝔑' => 'N', '𝔒' => 'O', '𝔓' => 'P', '𝔔' => 'Q', '𝔖' => 'S', '𝔗' => 'T', '𝔘' => 'U', '𝔙' => 'V', '𝔚' => 'W', '𝔛' => 'X', '𝔜' => 'Y', '𝔞' => 'a', '𝔟' => 'b', '𝔠' => 'c', '𝔡' => 'd', '𝔢' => 'e', '𝔣' => 'f', '𝔤' => 'g', '𝔥' => 'h', '𝔦' => 'i', '𝔧' => 'j', '𝔨' => 'k', '𝔩' => 'l', '𝔪' => 'm', '𝔫' => 'n', '𝔬' => 'o', '𝔭' => 'p', '𝔮' => 'q', '𝔯' => 'r', '𝔰' => 's', '𝔱' => 't', '𝔲' => 'u', '𝔳' => 'v', '𝔴' => 'w', '𝔵' => 'x', '𝔶' => 'y', '𝔷' => 'z', '𝔸' => 'A', '𝔹' => 'B', '𝔻' => 'D', '𝔼' => 'E', '𝔽' => 'F', '𝔾' => 'G', '𝕀' => 'I', '𝕁' => 'J', '𝕂' => 'K', '𝕃' => 'L', '𝕄' => 'M', '𝕆' => 'O', '𝕊' => 'S', '𝕋' => 'T', '𝕌' => 'U', '𝕍' => 'V', '𝕎' => 'W', '𝕏' => 'X', '𝕐' => 'Y', '𝕒' => 'a', '𝕓' => 'b', '𝕔' => 'c', '𝕕' => 'd', '𝕖' => 'e', '𝕗' => 'f', '𝕘' => 'g', '𝕙' => 'h', '𝕚' => 'i', '𝕛' => 'j', '𝕜' => 'k', '𝕝' => 'l', '𝕞' => 'm', '𝕟' => 'n', '𝕠' => 'o', '𝕡' => 'p', '𝕢' => 'q', '𝕣' => 'r', '𝕤' => 's', '𝕥' => 't', '𝕦' => 'u', '𝕧' => 'v', '𝕨' => 'w', '𝕩' => 'x', '𝕪' => 'y', '𝕫' => 'z', '𝕬' => 'A', '𝕭' => 'B', '𝕮' => 'C', '𝕯' => 'D', '𝕰' => 'E', '𝕱' => 'F', '𝕲' => 'G', '𝕳' => 'H', '𝕴' => 'I', '𝕵' => 'J', '𝕶' => 'K', '𝕷' => 'L', '𝕸' => 'M', '𝕹' => 'N', '𝕺' => 'O', '𝕻' => 'P', '𝕼' => 'Q', '𝕽' => 'R', '𝕾' => 'S', '𝕿' => 'T', '𝖀' => 'U', '𝖁' => 'V', '𝖂' => 'W', '𝖃' => 'X', '𝖄' => 'Y', '𝖅' => 'Z', '𝖆' => 'a', '𝖇' => 'b', '𝖈' => 'c', '𝖉' => 'd', '𝖊' => 'e', '𝖋' => 'f', '𝖌' => 'g', '𝖍' => 'h', '𝖎' => 'i', '𝖏' => 'j', '𝖐' => 'k', '𝖑' => 'l', '𝖒' => 'm', '𝖓' => 'n', '𝖔' => 'o', '𝖕' => 'p', '𝖖' => 'q', '𝖗' => 'r', '𝖘' => 's', '𝖙' => 't', '𝖚' => 'u', '𝖛' => 'v', '𝖜' => 'w', '𝖝' => 'x', '𝖞' => 'y', '𝖟' => 'z', '𝖠' => 'A', '𝖡' => 'B', '𝖢' => 'C', '𝖣' => 'D', '𝖤' => 'E', '𝖥' => 'F', '𝖦' => 'G', '𝖧' => 'H', '𝖨' => 'I', '𝖩' => 'J', '𝖪' => 'K', '𝖫' => 'L', '𝖬' => 'M', '𝖭' => 'N', '𝖮' => 'O', '𝖯' => 'P', '𝖰' => 'Q', '𝖱' => 'R', '𝖲' => 'S', '𝖳' => 'T', '𝖴' => 'U', '𝖵' => 'V', '𝖶' => 'W', '𝖷' => 'X', '𝖸' => 'Y', '𝖹' => 'Z', '𝖺' => 'a', '𝖻' => 'b', '𝖼' => 'c', '𝖽' => 'd', '𝖾' => 'e', '𝖿' => 'f', '𝗀' => 'g', '𝗁' => 'h', '𝗂' => 'i', '𝗃' => 'j', '𝗄' => 'k', '𝗅' => 'l', '𝗆' => 'm', '𝗇' => 'n', '𝗈' => 'o', '𝗉' => 'p', '𝗊' => 'q', '𝗋' => 'r', '𝗌' => 's', '𝗍' => 't', '𝗎' => 'u', '𝗏' => 'v', '𝗐' => 'w', '𝗑' => 'x', '𝗒' => 'y', '𝗓' => 'z', '𝗔' => 'A', '𝗕' => 'B', '𝗖' => 'C', '𝗗' => 'D', '𝗘' => 'E', '𝗙' => 'F', '𝗚' => 'G', '𝗛' => 'H', '𝗜' => 'I', '𝗝' => 'J', '𝗞' => 'K', '𝗟' => 'L', '𝗠' => 'M', '𝗡' => 'N', '𝗢' => 'O', '𝗣' => 'P', '𝗤' => 'Q', '𝗥' => 'R', '𝗦' => 'S', '𝗧' => 'T', '𝗨' => 'U', '𝗩' => 'V', '𝗪' => 'W', '𝗫' => 'X', '𝗬' => 'Y', '𝗭' => 'Z', '𝗮' => 'a', '𝗯' => 'b', '𝗰' => 'c', '𝗱' => 'd', '𝗲' => 'e', '𝗳' => 'f', '𝗴' => 'g', '𝗵' => 'h', '𝗶' => 'i', '𝗷' => 'j', '𝗸' => 'k', '𝗹' => 'l', '𝗺' => 'm', '𝗻' => 'n', '𝗼' => 'o', '𝗽' => 'p', '𝗾' => 'q', '𝗿' => 'r', '𝘀' => 's', '𝘁' => 't', '𝘂' => 'u', '𝘃' => 'v', '𝘄' => 'w', '𝘅' => 'x', '𝘆' => 'y', '𝘇' => 'z', '𝘈' => 'A', '𝘉' => 'B', '𝘊' => 'C', '𝘋' => 'D', '𝘌' => 'E', '𝘍' => 'F', '𝘎' => 'G', '𝘏' => 'H', '𝘐' => 'I', '𝘑' => 'J', '𝘒' => 'K', '𝘓' => 'L', '𝘔' => 'M', '𝘕' => 'N', '𝘖' => 'O', '𝘗' => 'P', '𝘘' => 'Q', '𝘙' => 'R', '𝘚' => 'S', '𝘛' => 'T', '𝘜' => 'U', '𝘝' => 'V', '𝘞' => 'W', '𝘟' => 'X', '𝘠' => 'Y', '𝘡' => 'Z', '𝘢' => 'a', '𝘣' => 'b', '𝘤' => 'c', '𝘥' => 'd', '𝘦' => 'e', '𝘧' => 'f', '𝘨' => 'g', '𝘩' => 'h', '𝘪' => 'i', '𝘫' => 'j', '𝘬' => 'k', '𝘭' => 'l', '𝘮' => 'm', '𝘯' => 'n', '𝘰' => 'o', '𝘱' => 'p', '𝘲' => 'q', '𝘳' => 'r', '𝘴' => 's', '𝘵' => 't', '𝘶' => 'u', '𝘷' => 'v', '𝘸' => 'w', '𝘹' => 'x', '𝘺' => 'y', '𝘻' => 'z', '𝘼' => 'A', '𝘽' => 'B', '𝘾' => 'C', '𝘿' => 'D', '𝙀' => 'E', '𝙁' => 'F', '𝙂' => 'G', '𝙃' => 'H', '𝙄' => 'I', '𝙅' => 'J', '𝙆' => 'K', '𝙇' => 'L', '𝙈' => 'M', '𝙉' => 'N', '𝙊' => 'O', '𝙋' => 'P', '𝙌' => 'Q', '𝙍' => 'R', '𝙎' => 'S', '𝙏' => 'T', '𝙐' => 'U', '𝙑' => 'V', '𝙒' => 'W', '𝙓' => 'X', '𝙔' => 'Y', '𝙕' => 'Z', '𝙖' => 'a', '𝙗' => 'b', '𝙘' => 'c', '𝙙' => 'd', '𝙚' => 'e', '𝙛' => 'f', '𝙜' => 'g', '𝙝' => 'h', '𝙞' => 'i', '𝙟' => 'j', '𝙠' => 'k', '𝙡' => 'l', '𝙢' => 'm', '𝙣' => 'n', '𝙤' => 'o', '𝙥' => 'p', '𝙦' => 'q', '𝙧' => 'r', '𝙨' => 's', '𝙩' => 't', '𝙪' => 'u', '𝙫' => 'v', '𝙬' => 'w', '𝙭' => 'x', '𝙮' => 'y', '𝙯' => 'z', '𝙰' => 'A', '𝙱' => 'B', '𝙲' => 'C', '𝙳' => 'D', '𝙴' => 'E', '𝙵' => 'F', '𝙶' => 'G', '𝙷' => 'H', '𝙸' => 'I', '𝙹' => 'J', '𝙺' => 'K', '𝙻' => 'L', '𝙼' => 'M', '𝙽' => 'N', '𝙾' => 'O', '𝙿' => 'P', '𝚀' => 'Q', '𝚁' => 'R', '𝚂' => 'S', '𝚃' => 'T', '𝚄' => 'U', '𝚅' => 'V', '𝚆' => 'W', '𝚇' => 'X', '𝚈' => 'Y', '𝚉' => 'Z', '𝚊' => 'a', '𝚋' => 'b', '𝚌' => 'c', '𝚍' => 'd', '𝚎' => 'e', '𝚏' => 'f', '𝚐' => 'g', '𝚑' => 'h', '𝚒' => 'i', '𝚓' => 'j', '𝚔' => 'k', '𝚕' => 'l', '𝚖' => 'm', '𝚗' => 'n', '𝚘' => 'o', '𝚙' => 'p', '𝚚' => 'q', '𝚛' => 'r', '𝚜' => 's', '𝚝' => 't', '𝚞' => 'u', '𝚟' => 'v', '𝚠' => 'w', '𝚡' => 'x', '𝚢' => 'y', '𝚣' => 'z', '𝚤' => 'ı', '𝚥' => 'ȷ', '𝚨' => 'Α', '𝚩' => 'Β', '𝚪' => 'Γ', '𝚫' => 'Δ', '𝚬' => 'Ε', '𝚭' => 'Ζ', '𝚮' => 'Η', '𝚯' => 'Θ', '𝚰' => 'Ι', '𝚱' => 'Κ', '𝚲' => 'Λ', '𝚳' => 'Μ', '𝚴' => 'Ν', '𝚵' => 'Ξ', '𝚶' => 'Ο', '𝚷' => 'Π', '𝚸' => 'Ρ', '𝚹' => 'Θ', '𝚺' => 'Σ', '𝚻' => 'Τ', '𝚼' => 'Υ', '𝚽' => 'Φ', '𝚾' => 'Χ', '𝚿' => 'Ψ', '𝛀' => 'Ω', '𝛁' => '∇', '𝛂' => 'α', '𝛃' => 'β', '𝛄' => 'γ', '𝛅' => 'δ', '𝛆' => 'ε', '𝛇' => 'ζ', '𝛈' => 'η', '𝛉' => 'θ', '𝛊' => 'ι', '𝛋' => 'κ', '𝛌' => 'λ', '𝛍' => 'μ', '𝛎' => 'ν', '𝛏' => 'ξ', '𝛐' => 'ο', '𝛑' => 'π', '𝛒' => 'ρ', '𝛓' => 'ς', '𝛔' => 'σ', '𝛕' => 'τ', '𝛖' => 'υ', '𝛗' => 'φ', '𝛘' => 'χ', '𝛙' => 'ψ', '𝛚' => 'ω', '𝛛' => '∂', '𝛜' => 'ε', '𝛝' => 'θ', '𝛞' => 'κ', '𝛟' => 'φ', '𝛠' => 'ρ', '𝛡' => 'π', '𝛢' => 'Α', '𝛣' => 'Β', '𝛤' => 'Γ', '𝛥' => 'Δ', '𝛦' => 'Ε', '𝛧' => 'Ζ', '𝛨' => 'Η', '𝛩' => 'Θ', '𝛪' => 'Ι', '𝛫' => 'Κ', '𝛬' => 'Λ', '𝛭' => 'Μ', '𝛮' => 'Ν', '𝛯' => 'Ξ', '𝛰' => 'Ο', '𝛱' => 'Π', '𝛲' => 'Ρ', '𝛳' => 'Θ', '𝛴' => 'Σ', '𝛵' => 'Τ', '𝛶' => 'Υ', '𝛷' => 'Φ', '𝛸' => 'Χ', '𝛹' => 'Ψ', '𝛺' => 'Ω', '𝛻' => '∇', '𝛼' => 'α', '𝛽' => 'β', '𝛾' => 'γ', '𝛿' => 'δ', '𝜀' => 'ε', '𝜁' => 'ζ', '𝜂' => 'η', '𝜃' => 'θ', '𝜄' => 'ι', '𝜅' => 'κ', '𝜆' => 'λ', '𝜇' => 'μ', '𝜈' => 'ν', '𝜉' => 'ξ', '𝜊' => 'ο', '𝜋' => 'π', '𝜌' => 'ρ', '𝜍' => 'ς', '𝜎' => 'σ', '𝜏' => 'τ', '𝜐' => 'υ', '𝜑' => 'φ', '𝜒' => 'χ', '𝜓' => 'ψ', '𝜔' => 'ω', '𝜕' => '∂', '𝜖' => 'ε', '𝜗' => 'θ', '𝜘' => 'κ', '𝜙' => 'φ', '𝜚' => 'ρ', '𝜛' => 'π', '𝜜' => 'Α', '𝜝' => 'Β', '𝜞' => 'Γ', '𝜟' => 'Δ', '𝜠' => 'Ε', '𝜡' => 'Ζ', '𝜢' => 'Η', '𝜣' => 'Θ', '𝜤' => 'Ι', '𝜥' => 'Κ', '𝜦' => 'Λ', '𝜧' => 'Μ', '𝜨' => 'Ν', '𝜩' => 'Ξ', '𝜪' => 'Ο', '𝜫' => 'Π', '𝜬' => 'Ρ', '𝜭' => 'Θ', '𝜮' => 'Σ', '𝜯' => 'Τ', '𝜰' => 'Υ', '𝜱' => 'Φ', '𝜲' => 'Χ', '𝜳' => 'Ψ', '𝜴' => 'Ω', '𝜵' => '∇', '𝜶' => 'α', '𝜷' => 'β', '𝜸' => 'γ', '𝜹' => 'δ', '𝜺' => 'ε', '𝜻' => 'ζ', '𝜼' => 'η', '𝜽' => 'θ', '𝜾' => 'ι', '𝜿' => 'κ', '𝝀' => 'λ', '𝝁' => 'μ', '𝝂' => 'ν', '𝝃' => 'ξ', '𝝄' => 'ο', '𝝅' => 'π', '𝝆' => 'ρ', '𝝇' => 'ς', '𝝈' => 'σ', '𝝉' => 'τ', '𝝊' => 'υ', '𝝋' => 'φ', '𝝌' => 'χ', '𝝍' => 'ψ', '𝝎' => 'ω', '𝝏' => '∂', '𝝐' => 'ε', '𝝑' => 'θ', '𝝒' => 'κ', '𝝓' => 'φ', '𝝔' => 'ρ', '𝝕' => 'π', '𝝖' => 'Α', '𝝗' => 'Β', '𝝘' => 'Γ', '𝝙' => 'Δ', '𝝚' => 'Ε', '𝝛' => 'Ζ', '𝝜' => 'Η', '𝝝' => 'Θ', '𝝞' => 'Ι', '𝝟' => 'Κ', '𝝠' => 'Λ', '𝝡' => 'Μ', '𝝢' => 'Ν', '𝝣' => 'Ξ', '𝝤' => 'Ο', '𝝥' => 'Π', '𝝦' => 'Ρ', '𝝧' => 'Θ', '𝝨' => 'Σ', '𝝩' => 'Τ', '𝝪' => 'Υ', '𝝫' => 'Φ', '𝝬' => 'Χ', '𝝭' => 'Ψ', '𝝮' => 'Ω', '𝝯' => '∇', '𝝰' => 'α', '𝝱' => 'β', '𝝲' => 'γ', '𝝳' => 'δ', '𝝴' => 'ε', '𝝵' => 'ζ', '𝝶' => 'η', '𝝷' => 'θ', '𝝸' => 'ι', '𝝹' => 'κ', '𝝺' => 'λ', '𝝻' => 'μ', '𝝼' => 'ν', '𝝽' => 'ξ', '𝝾' => 'ο', '𝝿' => 'π', '𝞀' => 'ρ', '𝞁' => 'ς', '𝞂' => 'σ', '𝞃' => 'τ', '𝞄' => 'υ', '𝞅' => 'φ', '𝞆' => 'χ', '𝞇' => 'ψ', '𝞈' => 'ω', '𝞉' => '∂', '𝞊' => 'ε', '𝞋' => 'θ', '𝞌' => 'κ', '𝞍' => 'φ', '𝞎' => 'ρ', '𝞏' => 'π', '𝞐' => 'Α', '𝞑' => 'Β', '𝞒' => 'Γ', '𝞓' => 'Δ', '𝞔' => 'Ε', '𝞕' => 'Ζ', '𝞖' => 'Η', '𝞗' => 'Θ', '𝞘' => 'Ι', '𝞙' => 'Κ', '𝞚' => 'Λ', '𝞛' => 'Μ', '𝞜' => 'Ν', '𝞝' => 'Ξ', '𝞞' => 'Ο', '𝞟' => 'Π', '𝞠' => 'Ρ', '𝞡' => 'Θ', '𝞢' => 'Σ', '𝞣' => 'Τ', '𝞤' => 'Υ', '𝞥' => 'Φ', '𝞦' => 'Χ', '𝞧' => 'Ψ', '𝞨' => 'Ω', '𝞩' => '∇', '𝞪' => 'α', '𝞫' => 'β', '𝞬' => 'γ', '𝞭' => 'δ', '𝞮' => 'ε', '𝞯' => 'ζ', '𝞰' => 'η', '𝞱' => 'θ', '𝞲' => 'ι', '𝞳' => 'κ', '𝞴' => 'λ', '𝞵' => 'μ', '𝞶' => 'ν', '𝞷' => 'ξ', '𝞸' => 'ο', '𝞹' => 'π', '𝞺' => 'ρ', '𝞻' => 'ς', '𝞼' => 'σ', '𝞽' => 'τ', '𝞾' => 'υ', '𝞿' => 'φ', '𝟀' => 'χ', '𝟁' => 'ψ', '𝟂' => 'ω', '𝟃' => '∂', '𝟄' => 'ε', '𝟅' => 'θ', '𝟆' => 'κ', '𝟇' => 'φ', '𝟈' => 'ρ', '𝟉' => 'π', '𝟊' => 'Ϝ', '𝟋' => 'ϝ', '𝟎' => '0', '𝟏' => '1', '𝟐' => '2', '𝟑' => '3', '𝟒' => '4', '𝟓' => '5', '𝟔' => '6', '𝟕' => '7', '𝟖' => '8', '𝟗' => '9', '𝟘' => '0', '𝟙' => '1', '𝟚' => '2', '𝟛' => '3', '𝟜' => '4', '𝟝' => '5', '𝟞' => '6', '𝟟' => '7', '𝟠' => '8', '𝟡' => '9', '𝟢' => '0', '𝟣' => '1', '𝟤' => '2', '𝟥' => '3', '𝟦' => '4', '𝟧' => '5', '𝟨' => '6', '𝟩' => '7', '𝟪' => '8', '𝟫' => '9', '𝟬' => '0', '𝟭' => '1', '𝟮' => '2', '𝟯' => '3', '𝟰' => '4', '𝟱' => '5', '𝟲' => '6', '𝟳' => '7', '𝟴' => '8', '𝟵' => '9', '𝟶' => '0', '𝟷' => '1', '𝟸' => '2', '𝟹' => '3', '𝟺' => '4', '𝟻' => '5', '𝟼' => '6', '𝟽' => '7', '𝟾' => '8', '𝟿' => '9', '𞸀' => 'ا', '𞸁' => 'ب', '𞸂' => 'ج', '𞸃' => 'د', '𞸅' => 'و', '𞸆' => 'ز', '𞸇' => 'ح', '𞸈' => 'ط', '𞸉' => 'ي', '𞸊' => 'ك', '𞸋' => 'ل', '𞸌' => 'م', '𞸍' => 'ن', '𞸎' => 'س', '𞸏' => 'ع', '𞸐' => 'ف', '𞸑' => 'ص', '𞸒' => 'ق', '𞸓' => 'ر', '𞸔' => 'ش', '𞸕' => 'ت', '𞸖' => 'ث', '𞸗' => 'خ', '𞸘' => 'ذ', '𞸙' => 'ض', '𞸚' => 'ظ', '𞸛' => 'غ', '𞸜' => 'ٮ', '𞸝' => 'ں', '𞸞' => 'ڡ', '𞸟' => 'ٯ', '𞸡' => 'ب', '𞸢' => 'ج', '𞸤' => 'ه', '𞸧' => 'ح', '𞸩' => 'ي', '𞸪' => 'ك', '𞸫' => 'ل', '𞸬' => 'م', '𞸭' => 'ن', '𞸮' => 'س', '𞸯' => 'ع', '𞸰' => 'ف', '𞸱' => 'ص', '𞸲' => 'ق', '𞸴' => 'ش', '𞸵' => 'ت', '𞸶' => 'ث', '𞸷' => 'خ', '𞸹' => 'ض', '𞸻' => 'غ', '𞹂' => 'ج', '𞹇' => 'ح', '𞹉' => 'ي', '𞹋' => 'ل', '𞹍' => 'ن', '𞹎' => 'س', '𞹏' => 'ع', '𞹑' => 'ص', '𞹒' => 'ق', '𞹔' => 'ش', '𞹗' => 'خ', '𞹙' => 'ض', '𞹛' => 'غ', '𞹝' => 'ں', '𞹟' => 'ٯ', '𞹡' => 'ب', '𞹢' => 'ج', '𞹤' => 'ه', '𞹧' => 'ح', '𞹨' => 'ط', '𞹩' => 'ي', '𞹪' => 'ك', '𞹬' => 'م', '𞹭' => 'ن', '𞹮' => 'س', '𞹯' => 'ع', '𞹰' => 'ف', '𞹱' => 'ص', '𞹲' => 'ق', '𞹴' => 'ش', '𞹵' => 'ت', '𞹶' => 'ث', '𞹷' => 'خ', '𞹹' => 'ض', '𞹺' => 'ظ', '𞹻' => 'غ', '𞹼' => 'ٮ', '𞹾' => 'ڡ', '𞺀' => 'ا', '𞺁' => 'ب', '𞺂' => 'ج', '𞺃' => 'د', '𞺄' => 'ه', '𞺅' => 'و', '𞺆' => 'ز', '𞺇' => 'ح', '𞺈' => 'ط', '𞺉' => 'ي', '𞺋' => 'ل', '𞺌' => 'م', '𞺍' => 'ن', '𞺎' => 'س', '𞺏' => 'ع', '𞺐' => 'ف', '𞺑' => 'ص', '𞺒' => 'ق', '𞺓' => 'ر', '𞺔' => 'ش', '𞺕' => 'ت', '𞺖' => 'ث', '𞺗' => 'خ', '𞺘' => 'ذ', '𞺙' => 'ض', '𞺚' => 'ظ', '𞺛' => 'غ', '𞺡' => 'ب', '𞺢' => 'ج', '𞺣' => 'د', '𞺥' => 'و', '𞺦' => 'ز', '𞺧' => 'ح', '𞺨' => 'ط', '𞺩' => 'ي', '𞺫' => 'ل', '𞺬' => 'م', '𞺭' => 'ن', '𞺮' => 'س', '𞺯' => 'ع', '𞺰' => 'ف', '𞺱' => 'ص', '𞺲' => 'ق', '𞺳' => 'ر', '𞺴' => 'ش', '𞺵' => 'ت', '𞺶' => 'ث', '𞺷' => 'خ', '𞺸' => 'ذ', '𞺹' => 'ض', '𞺺' => 'ظ', '𞺻' => 'غ', '🄀' => '0.', '🄁' => '0,', '🄂' => '1,', '🄃' => '2,', '🄄' => '3,', '🄅' => '4,', '🄆' => '5,', '🄇' => '6,', '🄈' => '7,', '🄉' => '8,', '🄊' => '9,', '🄐' => '(A)', '🄑' => '(B)', '🄒' => '(C)', '🄓' => '(D)', '🄔' => '(E)', '🄕' => '(F)', '🄖' => '(G)', '🄗' => '(H)', '🄘' => '(I)', '🄙' => '(J)', '🄚' => '(K)', '🄛' => '(L)', '🄜' => '(M)', '🄝' => '(N)', '🄞' => '(O)', '🄟' => '(P)', '🄠' => '(Q)', '🄡' => '(R)', '🄢' => '(S)', '🄣' => '(T)', '🄤' => '(U)', '🄥' => '(V)', '🄦' => '(W)', '🄧' => '(X)', '🄨' => '(Y)', '🄩' => '(Z)', '🄪' => '〔S〕', '🄫' => 'C', '🄬' => 'R', '🄭' => 'CD', '🄮' => 'WZ', '🄰' => 'A', '🄱' => 'B', '🄲' => 'C', '🄳' => 'D', '🄴' => 'E', '🄵' => 'F', '🄶' => 'G', '🄷' => 'H', '🄸' => 'I', '🄹' => 'J', '🄺' => 'K', '🄻' => 'L', '🄼' => 'M', '🄽' => 'N', '🄾' => 'O', '🄿' => 'P', '🅀' => 'Q', '🅁' => 'R', '🅂' => 'S', '🅃' => 'T', '🅄' => 'U', '🅅' => 'V', '🅆' => 'W', '🅇' => 'X', '🅈' => 'Y', '🅉' => 'Z', '🅊' => 'HV', '🅋' => 'MV', '🅌' => 'SD', '🅍' => 'SS', '🅎' => 'PPV', '🅏' => 'WC', '🅪' => 'MC', '🅫' => 'MD', '🅬' => 'MR', '🆐' => 'DJ', '🈀' => 'ほか', '🈁' => 'ココ', '🈂' => 'サ', '🈐' => '手', '🈑' => '字', '🈒' => '双', '🈓' => 'デ', '🈔' => '二', '🈕' => '多', '🈖' => '解', '🈗' => '天', '🈘' => '交', '🈙' => '映', '🈚' => '無', '🈛' => '料', '🈜' => '前', '🈝' => '後', '🈞' => '再', '🈟' => '新', '🈠' => '初', '🈡' => '終', '🈢' => '生', '🈣' => '販', '🈤' => '声', '🈥' => '吹', '🈦' => '演', '🈧' => '投', '🈨' => '捕', '🈩' => '一', '🈪' => '三', '🈫' => '遊', '🈬' => '左', '🈭' => '中', '🈮' => '右', '🈯' => '指', '🈰' => '走', '🈱' => '打', '🈲' => '禁', '🈳' => '空', '🈴' => '合', '🈵' => '満', '🈶' => '有', '🈷' => '月', '🈸' => '申', '🈹' => '割', '🈺' => '営', '🈻' => '配', '🉀' => '〔本〕', '🉁' => '〔三〕', '🉂' => '〔二〕', '🉃' => '〔安〕', '🉄' => '〔点〕', '🉅' => '〔打〕', '🉆' => '〔盗〕', '🉇' => '〔勝〕', '🉈' => '〔敗〕', '🉐' => '得', '🉑' => '可', '🯰' => '0', '🯱' => '1', '🯲' => '2', '🯳' => '3', '🯴' => '4', '🯵' => '5', '🯶' => '6', '🯷' => '7', '🯸' => '8', '🯹' => '9'); diff --git a/vendor-bundle/symfony/polyfill-intl-normalizer/bootstrap.php b/vendor-bundle/symfony/polyfill-intl-normalizer/bootstrap.php new file mode 100644 index 000000000..ddf0b4363 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-normalizer/bootstrap.php @@ -0,0 +1,28 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Intl\Normalizer as p; +if (\PHP_VERSION_ID >= 80000) { + return require __DIR__ . '/bootstrap80.php'; +} +if (!\function_exists('normalizer_is_normalized')) { + function normalizer_is_normalized($string, $form = p\Normalizer::FORM_C) + { + return p\Normalizer::isNormalized($string, $form); + } +} +if (!\function_exists('normalizer_normalize')) { + function normalizer_normalize($string, $form = p\Normalizer::FORM_C) + { + return p\Normalizer::normalize($string, $form); + } +} diff --git a/vendor-bundle/symfony/polyfill-intl-normalizer/bootstrap80.php b/vendor-bundle/symfony/polyfill-intl-normalizer/bootstrap80.php new file mode 100644 index 000000000..82dc9cb8c --- /dev/null +++ b/vendor-bundle/symfony/polyfill-intl-normalizer/bootstrap80.php @@ -0,0 +1,79 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Intl\Normalizer as p; +if (!\function_exists('normalizer_is_normalized')) { + function normalizer_is_normalized($string, $form = p\Normalizer::FORM_C) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($form)) { + if (!\is_int($form)) { + if (!(\is_bool($form) || \is_numeric($form))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($form) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($form) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $form = (int) $form; + } + } + } + $phabelReturn = p\Normalizer::isNormalized((string) $string, (int) $form); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('normalizer_normalize')) { + function normalizer_normalize($string, $form = p\Normalizer::FORM_C) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($form)) { + if (!\is_int($form)) { + if (!(\is_bool($form) || \is_numeric($form))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($form) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($form) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $form = (int) $form; + } + } + } + $phabelReturn = p\Normalizer::normalize((string) $string, (int) $form); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/polyfill-mbstring/Mbstring.php b/vendor-bundle/symfony/polyfill-mbstring/Mbstring.php new file mode 100644 index 000000000..4e43d0da0 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-mbstring/Mbstring.php @@ -0,0 +1,695 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Polyfill\Mbstring; + +/** + * Partial mbstring implementation in PHP, iconv based, UTF-8 centric. + * + * Implemented: + * - mb_chr - Returns a specific character from its Unicode code point + * - mb_convert_encoding - Convert character encoding + * - mb_convert_variables - Convert character code in variable(s) + * - mb_decode_mimeheader - Decode string in MIME header field + * - mb_encode_mimeheader - Encode string for MIME header XXX NATIVE IMPLEMENTATION IS REALLY BUGGED + * - mb_decode_numericentity - Decode HTML numeric string reference to character + * - mb_encode_numericentity - Encode character to HTML numeric string reference + * - mb_convert_case - Perform case folding on a string + * - mb_detect_encoding - Detect character encoding + * - mb_get_info - Get internal settings of mbstring + * - mb_http_input - Detect HTTP input character encoding + * - mb_http_output - Set/Get HTTP output character encoding + * - mb_internal_encoding - Set/Get internal character encoding + * - mb_list_encodings - Returns an array of all supported encodings + * - mb_ord - Returns the Unicode code point of a character + * - mb_output_handler - Callback function converts character encoding in output buffer + * - mb_scrub - Replaces ill-formed byte sequences with substitute characters + * - mb_strlen - Get string length + * - mb_strpos - Find position of first occurrence of string in a string + * - mb_strrpos - Find position of last occurrence of a string in a string + * - mb_str_split - Convert a string to an array + * - mb_strtolower - Make a string lowercase + * - mb_strtoupper - Make a string uppercase + * - mb_substitute_character - Set/Get substitution character + * - mb_substr - Get part of string + * - mb_stripos - Finds position of first occurrence of a string within another, case insensitive + * - mb_stristr - Finds first occurrence of a string within another, case insensitive + * - mb_strrchr - Finds the last occurrence of a character in a string within another + * - mb_strrichr - Finds the last occurrence of a character in a string within another, case insensitive + * - mb_strripos - Finds position of last occurrence of a string within another, case insensitive + * - mb_strstr - Finds first occurrence of a string within another + * - mb_strwidth - Return width of string + * - mb_substr_count - Count the number of substring occurrences + * + * Not implemented: + * - mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more) + * - mb_ereg_* - Regular expression with multibyte support + * - mb_parse_str - Parse GET/POST/COOKIE data and set global variable + * - mb_preferred_mime_name - Get MIME charset string + * - mb_regex_encoding - Returns current encoding for multibyte regex as string + * - mb_regex_set_options - Set/Get the default options for mbregex functions + * - mb_send_mail - Send encoded mail + * - mb_split - Split multibyte string using regular expression + * - mb_strcut - Get part of string + * - mb_strimwidth - Get truncated string with specified width + * + * @author Nicolas Grekas + * + * @internal + */ +final class Mbstring +{ + const MB_CASE_FOLD = \PHP_INT_MAX; + const CASE_FOLD = [['µ', 'ſ', "ͅ", 'ς', "ϐ", "ϑ", "ϕ", "ϖ", "ϰ", "ϱ", "ϵ", "ẛ", "ι"], ['μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', "ṡ", 'ι']]; + private static $encodingList = ['ASCII', 'UTF-8']; + private static $language = 'neutral'; + private static $internalEncoding = 'UTF-8'; + public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null) + { + if (\is_array($fromEncoding) || \false !== \strpos($fromEncoding, ',')) { + $fromEncoding = self::mb_detect_encoding($s, $fromEncoding); + } else { + $fromEncoding = self::getEncoding($fromEncoding); + } + $toEncoding = self::getEncoding($toEncoding); + if ('BASE64' === $fromEncoding) { + $s = \base64_decode($s); + $fromEncoding = $toEncoding; + } + if ('BASE64' === $toEncoding) { + return \base64_encode($s); + } + if ('HTML-ENTITIES' === $toEncoding || 'HTML' === $toEncoding) { + if ('HTML-ENTITIES' === $fromEncoding || 'HTML' === $fromEncoding) { + $fromEncoding = 'Windows-1252'; + } + if ('UTF-8' !== $fromEncoding) { + $s = \iconv($fromEncoding, 'UTF-8//IGNORE', $s); + } + return \preg_replace_callback('/[\\x80-\\xFF]+/', [__CLASS__, 'html_encoding_callback'], $s); + } + if ('HTML-ENTITIES' === $fromEncoding) { + $s = \html_entity_decode($s, \ENT_COMPAT, 'UTF-8'); + $fromEncoding = 'UTF-8'; + } + return \iconv($fromEncoding, $toEncoding . '//IGNORE', $s); + } + public static function mb_convert_variables($toEncoding, $fromEncoding, &...$vars) + { + $ok = \true; + \array_walk_recursive($vars, function (&$v) use(&$ok, $toEncoding, $fromEncoding) { + if (\false === ($v = self::mb_convert_encoding($v, $toEncoding, $fromEncoding))) { + $ok = \false; + } + }); + return $ok ? $fromEncoding : \false; + } + public static function mb_decode_mimeheader($s) + { + return \iconv_mime_decode($s, 2, self::$internalEncoding); + } + public static function mb_encode_mimeheader($s, $charset = null, $transferEncoding = null, $linefeed = null, $indent = null) + { + \trigger_error('mb_encode_mimeheader() is bugged. Please use iconv_mime_encode() instead', \E_USER_WARNING); + } + public static function mb_decode_numericentity($s, $convmap, $encoding = null) + { + if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { + \trigger_error('mb_decode_numericentity() expects parameter 1 to be string, ' . \gettype($s) . ' given', \E_USER_WARNING); + return null; + } + if (!\is_array($convmap) || 80000 > \PHP_VERSION_ID && !$convmap) { + return \false; + } + if (null !== $encoding && !\is_scalar($encoding)) { + \trigger_error('mb_decode_numericentity() expects parameter 3 to be string, ' . \gettype($s) . ' given', \E_USER_WARNING); + return ''; + // Instead of null (cf. mb_encode_numericentity). + } + $s = (string) $s; + if ('' === $s) { + return ''; + } + $encoding = self::getEncoding($encoding); + if ('UTF-8' === $encoding) { + $encoding = null; + if (!\preg_match('//u', $s)) { + $s = @\iconv('UTF-8', 'UTF-8//IGNORE', $s); + } + } else { + $s = \iconv($encoding, 'UTF-8//IGNORE', $s); + } + $cnt = \floor(\count($convmap) / 4) * 4; + for ($i = 0; $i < $cnt; $i += 4) { + // collector_decode_htmlnumericentity ignores $convmap[$i + 3] + $convmap[$i] += $convmap[$i + 2]; + $convmap[$i + 1] += $convmap[$i + 2]; + } + $s = \preg_replace_callback('/&#(?:0*([0-9]+)|x0*([0-9a-fA-F]+))(?!&);?/', function (array $m) use($cnt, $convmap) { + $c = isset($m[2]) ? (int) \hexdec($m[2]) : $m[1]; + for ($i = 0; $i < $cnt; $i += 4) { + if ($c >= $convmap[$i] && $c <= $convmap[$i + 1]) { + return self::mb_chr($c - $convmap[$i + 2]); + } + } + return $m[0]; + }, $s); + if (null === $encoding) { + return $s; + } + return \iconv('UTF-8', $encoding . '//IGNORE', $s); + } + public static function mb_encode_numericentity($s, $convmap, $encoding = null, $is_hex = \false) + { + if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { + \trigger_error('mb_encode_numericentity() expects parameter 1 to be string, ' . \gettype($s) . ' given', \E_USER_WARNING); + return null; + } + if (!\is_array($convmap) || 80000 > \PHP_VERSION_ID && !$convmap) { + return \false; + } + if (null !== $encoding && !\is_scalar($encoding)) { + \trigger_error('mb_encode_numericentity() expects parameter 3 to be string, ' . \gettype($s) . ' given', \E_USER_WARNING); + return null; + // Instead of '' (cf. mb_decode_numericentity). + } + if (null !== $is_hex && !\is_scalar($is_hex)) { + \trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, ' . \gettype($s) . ' given', \E_USER_WARNING); + return null; + } + $s = (string) $s; + if ('' === $s) { + return ''; + } + $encoding = self::getEncoding($encoding); + if ('UTF-8' === $encoding) { + $encoding = null; + if (!\preg_match('//u', $s)) { + $s = @\iconv('UTF-8', 'UTF-8//IGNORE', $s); + } + } else { + $s = \iconv($encoding, 'UTF-8//IGNORE', $s); + } + static $ulenMask = ["\xc0" => 2, "\xd0" => 2, "\xe0" => 3, "\xf0" => 4]; + $cnt = \floor(\count($convmap) / 4) * 4; + $i = 0; + $len = \strlen($s); + $result = ''; + while ($i < $len) { + $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xf0"]; + $uchr = \substr($s, $i, $ulen); + $i += $ulen; + $c = self::mb_ord($uchr); + for ($j = 0; $j < $cnt; $j += 4) { + if ($c >= $convmap[$j] && $c <= $convmap[$j + 1]) { + $cOffset = $c + $convmap[$j + 2] & $convmap[$j + 3]; + $result .= $is_hex ? \sprintf('&#x%X;', $cOffset) : '&#' . $cOffset . ';'; + continue 2; + } + } + $result .= $uchr; + } + if (null === $encoding) { + return $result; + } + return \iconv('UTF-8', $encoding . '//IGNORE', $result); + } + public static function mb_convert_case($s, $mode, $encoding = null) + { + $s = (string) $s; + if ('' === $s) { + return ''; + } + $encoding = self::getEncoding($encoding); + if ('UTF-8' === $encoding) { + $encoding = null; + if (!\preg_match('//u', $s)) { + $s = @\iconv('UTF-8', 'UTF-8//IGNORE', $s); + } + } else { + $s = \iconv($encoding, 'UTF-8//IGNORE', $s); + } + if (\MB_CASE_TITLE == $mode) { + static $titleRegexp = null; + if (null === $titleRegexp) { + $titleRegexp = self::getData('titleCaseRegexp'); + } + $s = \preg_replace_callback($titleRegexp, [__CLASS__, 'title_case'], $s); + } else { + if (\MB_CASE_UPPER == $mode) { + static $upper = null; + if (null === $upper) { + $upper = self::getData('upperCase'); + } + $map = $upper; + } else { + if (self::MB_CASE_FOLD === $mode) { + $s = \str_replace(self::CASE_FOLD[0], self::CASE_FOLD[1], $s); + } + static $lower = null; + if (null === $lower) { + $lower = self::getData('lowerCase'); + } + $map = $lower; + } + static $ulenMask = ["\xc0" => 2, "\xd0" => 2, "\xe0" => 3, "\xf0" => 4]; + $i = 0; + $len = \strlen($s); + while ($i < $len) { + $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xf0"]; + $uchr = \substr($s, $i, $ulen); + $i += $ulen; + if (isset($map[$uchr])) { + $uchr = $map[$uchr]; + $nlen = \strlen($uchr); + if ($nlen == $ulen) { + $nlen = $i; + do { + $s[--$nlen] = $uchr[--$ulen]; + } while ($ulen); + } else { + $s = \substr_replace($s, $uchr, $i - $ulen, $ulen); + $len += $nlen - $ulen; + $i += $nlen - $ulen; + } + } + } + } + if (null === $encoding) { + return $s; + } + return \iconv('UTF-8', $encoding . '//IGNORE', $s); + } + public static function mb_internal_encoding($encoding = null) + { + if (null === $encoding) { + return self::$internalEncoding; + } + $normalizedEncoding = self::getEncoding($encoding); + if ('UTF-8' === $normalizedEncoding || \false !== @\iconv($normalizedEncoding, $normalizedEncoding, ' ')) { + self::$internalEncoding = $normalizedEncoding; + return \true; + } + if (80000 > \PHP_VERSION_ID) { + return \false; + } + throw new \ValueError(\sprintf('Argument #1 ($encoding) must be a valid encoding, "%s" given', $encoding)); + } + public static function mb_language($lang = null) + { + if (null === $lang) { + return self::$language; + } + switch ($normalizedLang = \strtolower($lang)) { + case 'uni': + case 'neutral': + self::$language = $normalizedLang; + return \true; + } + if (80000 > \PHP_VERSION_ID) { + return \false; + } + throw new \ValueError(\sprintf('Argument #1 ($language) must be a valid language, "%s" given', $lang)); + } + public static function mb_list_encodings() + { + return ['UTF-8']; + } + public static function mb_encoding_aliases($encoding) + { + switch (\strtoupper($encoding)) { + case 'UTF8': + case 'UTF-8': + return ['utf8']; + } + return \false; + } + public static function mb_check_encoding($var = null, $encoding = null) + { + if (null === $encoding) { + if (null === $var) { + return \false; + } + $encoding = self::$internalEncoding; + } + return self::mb_detect_encoding($var, [$encoding]) || \false !== @\iconv($encoding, $encoding, $var); + } + public static function mb_detect_encoding($str, $encodingList = null, $strict = \false) + { + if (null === $encodingList) { + $encodingList = self::$encodingList; + } else { + if (!\is_array($encodingList)) { + $encodingList = \array_map('trim', \explode(',', $encodingList)); + } + $encodingList = \array_map('strtoupper', $encodingList); + } + foreach ($encodingList as $enc) { + switch ($enc) { + case 'ASCII': + if (!\preg_match('/[\\x80-\\xFF]/', $str)) { + return $enc; + } + break; + case 'UTF8': + case 'UTF-8': + if (\preg_match('//u', $str)) { + return 'UTF-8'; + } + break; + default: + if (0 === \strncmp($enc, 'ISO-8859-', 9)) { + return $enc; + } + } + } + return \false; + } + public static function mb_detect_order($encodingList = null) + { + if (null === $encodingList) { + return self::$encodingList; + } + if (!\is_array($encodingList)) { + $encodingList = \array_map('trim', \explode(',', $encodingList)); + } + $encodingList = \array_map('strtoupper', $encodingList); + foreach ($encodingList as $enc) { + switch ($enc) { + default: + if (\strncmp($enc, 'ISO-8859-', 9)) { + return \false; + } + // no break + case 'ASCII': + case 'UTF8': + case 'UTF-8': + } + } + self::$encodingList = $encodingList; + return \true; + } + public static function mb_strlen($s, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + return \strlen($s); + } + return @\iconv_strlen($s, $encoding); + } + public static function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + return \strpos($haystack, $needle, $offset); + } + $needle = (string) $needle; + if ('' === $needle) { + if (80000 > \PHP_VERSION_ID) { + \trigger_error(__METHOD__ . ': Empty delimiter', \E_USER_WARNING); + return \false; + } + return 0; + } + return \iconv_strpos($haystack, $needle, $offset, $encoding); + } + public static function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + return \strrpos($haystack, $needle, $offset); + } + if ($offset != (int) $offset) { + $offset = 0; + } elseif ($offset = (int) $offset) { + if ($offset < 0) { + if (0 > ($offset += self::mb_strlen($needle))) { + $haystack = self::mb_substr($haystack, 0, $offset, $encoding); + } + $offset = 0; + } else { + $haystack = self::mb_substr($haystack, $offset, 2147483647, $encoding); + } + } + $pos = '' !== $needle || 80000 > \PHP_VERSION_ID ? \iconv_strrpos($haystack, $needle, $encoding) : self::mb_strlen($haystack, $encoding); + return \false !== $pos ? $offset + $pos : \false; + } + public static function mb_str_split($string, $split_length = 1, $encoding = null) + { + if (null !== $string && !\is_scalar($string) && !(\is_object($string) && \method_exists($string, '__toString'))) { + \trigger_error('mb_str_split() expects parameter 1 to be string, ' . \gettype($string) . ' given', \E_USER_WARNING); + return null; + } + if (1 > ($split_length = (int) $split_length)) { + if (80000 > \PHP_VERSION_ID) { + \trigger_error('The length of each segment must be greater than zero', \E_USER_WARNING); + return \false; + } + throw new \ValueError('Argument #2 ($length) must be greater than 0'); + } + if (null === $encoding) { + $encoding = \mb_internal_encoding(); + } + if ('UTF-8' === ($encoding = self::getEncoding($encoding))) { + $rx = '/('; + while (65535 < $split_length) { + $rx .= '.{65535}'; + $split_length -= 65535; + } + $rx .= '.{' . $split_length . '})/us'; + return \preg_split($rx, $string, null, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY); + } + $result = []; + $length = \mb_strlen($string, $encoding); + for ($i = 0; $i < $length; $i += $split_length) { + $result[] = \mb_substr($string, $i, $split_length, $encoding); + } + return $result; + } + public static function mb_strtolower($s, $encoding = null) + { + return self::mb_convert_case($s, \MB_CASE_LOWER, $encoding); + } + public static function mb_strtoupper($s, $encoding = null) + { + return self::mb_convert_case($s, \MB_CASE_UPPER, $encoding); + } + public static function mb_substitute_character($c = null) + { + if (null === $c) { + return 'none'; + } + if (0 === \strcasecmp($c, 'none')) { + return \true; + } + if (80000 > \PHP_VERSION_ID) { + return \false; + } + throw new \ValueError('Argument #1 ($substitute_character) must be "none", "long", "entity" or a valid codepoint'); + } + public static function mb_substr($s, $start, $length = null, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + return (string) \substr($s, $start, null === $length ? 2147483647 : $length); + } + if ($start < 0) { + $start = \iconv_strlen($s, $encoding) + $start; + if ($start < 0) { + $start = 0; + } + } + if (null === $length) { + $length = 2147483647; + } elseif ($length < 0) { + $length = \iconv_strlen($s, $encoding) + $length - $start; + if ($length < 0) { + return ''; + } + } + return (string) \iconv_substr($s, $start, $length, $encoding); + } + public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) + { + $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); + $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); + return self::mb_strpos($haystack, $needle, $offset, $encoding); + } + public static function mb_stristr($haystack, $needle, $part = \false, $encoding = null) + { + $pos = self::mb_stripos($haystack, $needle, 0, $encoding); + return self::getSubpart($pos, $part, $haystack, $encoding); + } + public static function mb_strrchr($haystack, $needle, $part = \false, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('CP850' === $encoding || 'ASCII' === $encoding) { + $pos = \strrpos($haystack, $needle); + } else { + $needle = self::mb_substr($needle, 0, 1, $encoding); + $pos = \iconv_strrpos($haystack, $needle, $encoding); + } + return self::getSubpart($pos, $part, $haystack, $encoding); + } + public static function mb_strrichr($haystack, $needle, $part = \false, $encoding = null) + { + $needle = self::mb_substr($needle, 0, 1, $encoding); + $pos = self::mb_strripos($haystack, $needle, $encoding); + return self::getSubpart($pos, $part, $haystack, $encoding); + } + public static function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) + { + $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); + $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); + return self::mb_strrpos($haystack, $needle, $offset, $encoding); + } + public static function mb_strstr($haystack, $needle, $part = \false, $encoding = null) + { + $pos = \strpos($haystack, $needle); + if (\false === $pos) { + return \false; + } + if ($part) { + return \substr($haystack, 0, $pos); + } + return \substr($haystack, $pos); + } + public static function mb_get_info($type = 'all') + { + $info = ['internal_encoding' => self::$internalEncoding, 'http_output' => 'pass', 'http_output_conv_mimetypes' => '^(text/|application/xhtml\\+xml)', 'func_overload' => 0, 'func_overload_list' => 'no overload', 'mail_charset' => 'UTF-8', 'mail_header_encoding' => 'BASE64', 'mail_body_encoding' => 'BASE64', 'illegal_chars' => 0, 'encoding_translation' => 'Off', 'language' => self::$language, 'detect_order' => self::$encodingList, 'substitute_character' => 'none', 'strict_detection' => 'Off']; + if ('all' === $type) { + return $info; + } + if (isset($info[$type])) { + return $info[$type]; + } + return \false; + } + public static function mb_http_input($type = '') + { + return \false; + } + public static function mb_http_output($encoding = null) + { + return null !== $encoding ? 'pass' === $encoding : 'pass'; + } + public static function mb_strwidth($s, $encoding = null) + { + $encoding = self::getEncoding($encoding); + if ('UTF-8' !== $encoding) { + $s = \iconv($encoding, 'UTF-8//IGNORE', $s); + } + $s = \preg_replace('/[\\x{1100}-\\x{115F}\\x{2329}\\x{232A}\\x{2E80}-\\x{303E}\\x{3040}-\\x{A4CF}\\x{AC00}-\\x{D7A3}\\x{F900}-\\x{FAFF}\\x{FE10}-\\x{FE19}\\x{FE30}-\\x{FE6F}\\x{FF00}-\\x{FF60}\\x{FFE0}-\\x{FFE6}\\x{20000}-\\x{2FFFD}\\x{30000}-\\x{3FFFD}]/u', '', $s, -1, $wide); + return ($wide << 1) + \iconv_strlen($s, 'UTF-8'); + } + public static function mb_substr_count($haystack, $needle, $encoding = null) + { + return \substr_count($haystack, $needle); + } + public static function mb_output_handler($contents, $status) + { + return $contents; + } + public static function mb_chr($code, $encoding = null) + { + if (0x80 > ($code %= 0x200000)) { + $s = \chr($code); + } elseif (0x800 > $code) { + $s = \chr(0xc0 | $code >> 6) . \chr(0x80 | $code & 0x3f); + } elseif (0x10000 > $code) { + $s = \chr(0xe0 | $code >> 12) . \chr(0x80 | $code >> 6 & 0x3f) . \chr(0x80 | $code & 0x3f); + } else { + $s = \chr(0xf0 | $code >> 18) . \chr(0x80 | $code >> 12 & 0x3f) . \chr(0x80 | $code >> 6 & 0x3f) . \chr(0x80 | $code & 0x3f); + } + if ('UTF-8' !== ($encoding = self::getEncoding($encoding))) { + $s = \mb_convert_encoding($s, $encoding, 'UTF-8'); + } + return $s; + } + public static function mb_ord($s, $encoding = null) + { + if ('UTF-8' !== ($encoding = self::getEncoding($encoding))) { + $s = \mb_convert_encoding($s, 'UTF-8', $encoding); + } + if (1 === \strlen($s)) { + return \ord($s); + } + $code = ($s = \unpack('C*', \substr($s, 0, 4))) ? $s[1] : 0; + if (0xf0 <= $code) { + return ($code - 0xf0 << 18) + ($s[2] - 0x80 << 12) + ($s[3] - 0x80 << 6) + $s[4] - 0x80; + } + if (0xe0 <= $code) { + return ($code - 0xe0 << 12) + ($s[2] - 0x80 << 6) + $s[3] - 0x80; + } + if (0xc0 <= $code) { + return ($code - 0xc0 << 6) + $s[2] - 0x80; + } + return $code; + } + private static function getSubpart($pos, $part, $haystack, $encoding) + { + if (\false === $pos) { + return \false; + } + if ($part) { + return self::mb_substr($haystack, 0, $pos, $encoding); + } + return self::mb_substr($haystack, $pos, null, $encoding); + } + private static function html_encoding_callback(array $m) + { + $i = 1; + $entities = ''; + $m = \unpack('C*', \htmlentities($m[0], \ENT_COMPAT, 'UTF-8')); + while (isset($m[$i])) { + if (0x80 > $m[$i]) { + $entities .= \chr($m[$i++]); + continue; + } + if (0xf0 <= $m[$i]) { + $c = ($m[$i++] - 0xf0 << 18) + ($m[$i++] - 0x80 << 12) + ($m[$i++] - 0x80 << 6) + $m[$i++] - 0x80; + } elseif (0xe0 <= $m[$i]) { + $c = ($m[$i++] - 0xe0 << 12) + ($m[$i++] - 0x80 << 6) + $m[$i++] - 0x80; + } else { + $c = ($m[$i++] - 0xc0 << 6) + $m[$i++] - 0x80; + } + $entities .= '&#' . $c . ';'; + } + return $entities; + } + private static function title_case(array $s) + { + return self::mb_convert_case($s[1], \MB_CASE_UPPER, 'UTF-8') . self::mb_convert_case($s[2], \MB_CASE_LOWER, 'UTF-8'); + } + private static function getData($file) + { + if (\file_exists($file = __DIR__ . '/Resources/unidata/' . $file . '.php')) { + return require $file; + } + return \false; + } + private static function getEncoding($encoding) + { + if (null === $encoding) { + return self::$internalEncoding; + } + if ('UTF-8' === $encoding) { + return 'UTF-8'; + } + $encoding = \strtoupper($encoding); + if ('8BIT' === $encoding || 'BINARY' === $encoding) { + return 'CP850'; + } + if ('UTF8' === $encoding) { + return 'UTF-8'; + } + return $encoding; + } +} diff --git a/vendor-bundle/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php b/vendor-bundle/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php new file mode 100644 index 000000000..954bfa9ec --- /dev/null +++ b/vendor-bundle/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php @@ -0,0 +1,5 @@ + 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd', 'E' => 'e', 'F' => 'f', 'G' => 'g', 'H' => 'h', 'I' => 'i', 'J' => 'j', 'K' => 'k', 'L' => 'l', 'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p', 'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't', 'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x', 'Y' => 'y', 'Z' => 'z', 'À' => 'à', 'Á' => 'á', 'Â' => 'â', 'Ã' => 'ã', 'Ä' => 'ä', 'Å' => 'å', 'Æ' => 'æ', 'Ç' => 'ç', 'È' => 'è', 'É' => 'é', 'Ê' => 'ê', 'Ë' => 'ë', 'Ì' => 'ì', 'Í' => 'í', 'Î' => 'î', 'Ï' => 'ï', 'Ð' => 'ð', 'Ñ' => 'ñ', 'Ò' => 'ò', 'Ó' => 'ó', 'Ô' => 'ô', 'Õ' => 'õ', 'Ö' => 'ö', 'Ø' => 'ø', 'Ù' => 'ù', 'Ú' => 'ú', 'Û' => 'û', 'Ü' => 'ü', 'Ý' => 'ý', 'Þ' => 'þ', 'Ā' => 'ā', 'Ă' => 'ă', 'Ą' => 'ą', 'Ć' => 'ć', 'Ĉ' => 'ĉ', 'Ċ' => 'ċ', 'Č' => 'č', 'Ď' => 'ď', 'Đ' => 'đ', 'Ē' => 'ē', 'Ĕ' => 'ĕ', 'Ė' => 'ė', 'Ę' => 'ę', 'Ě' => 'ě', 'Ĝ' => 'ĝ', 'Ğ' => 'ğ', 'Ġ' => 'ġ', 'Ģ' => 'ģ', 'Ĥ' => 'ĥ', 'Ħ' => 'ħ', 'Ĩ' => 'ĩ', 'Ī' => 'ī', 'Ĭ' => 'ĭ', 'Į' => 'į', 'İ' => 'i̇', 'IJ' => 'ij', 'Ĵ' => 'ĵ', 'Ķ' => 'ķ', 'Ĺ' => 'ĺ', 'Ļ' => 'ļ', 'Ľ' => 'ľ', 'Ŀ' => 'ŀ', 'Ł' => 'ł', 'Ń' => 'ń', 'Ņ' => 'ņ', 'Ň' => 'ň', 'Ŋ' => 'ŋ', 'Ō' => 'ō', 'Ŏ' => 'ŏ', 'Ő' => 'ő', 'Œ' => 'œ', 'Ŕ' => 'ŕ', 'Ŗ' => 'ŗ', 'Ř' => 'ř', 'Ś' => 'ś', 'Ŝ' => 'ŝ', 'Ş' => 'ş', 'Š' => 'š', 'Ţ' => 'ţ', 'Ť' => 'ť', 'Ŧ' => 'ŧ', 'Ũ' => 'ũ', 'Ū' => 'ū', 'Ŭ' => 'ŭ', 'Ů' => 'ů', 'Ű' => 'ű', 'Ų' => 'ų', 'Ŵ' => 'ŵ', 'Ŷ' => 'ŷ', 'Ÿ' => 'ÿ', 'Ź' => 'ź', 'Ż' => 'ż', 'Ž' => 'ž', 'Ɓ' => 'ɓ', 'Ƃ' => 'ƃ', 'Ƅ' => 'ƅ', 'Ɔ' => 'ɔ', 'Ƈ' => 'ƈ', 'Ɖ' => 'ɖ', 'Ɗ' => 'ɗ', 'Ƌ' => 'ƌ', 'Ǝ' => 'ǝ', 'Ə' => 'ə', 'Ɛ' => 'ɛ', 'Ƒ' => 'ƒ', 'Ɠ' => 'ɠ', 'Ɣ' => 'ɣ', 'Ɩ' => 'ɩ', 'Ɨ' => 'ɨ', 'Ƙ' => 'ƙ', 'Ɯ' => 'ɯ', 'Ɲ' => 'ɲ', 'Ɵ' => 'ɵ', 'Ơ' => 'ơ', 'Ƣ' => 'ƣ', 'Ƥ' => 'ƥ', 'Ʀ' => 'ʀ', 'Ƨ' => 'ƨ', 'Ʃ' => 'ʃ', 'Ƭ' => 'ƭ', 'Ʈ' => 'ʈ', 'Ư' => 'ư', 'Ʊ' => 'ʊ', 'Ʋ' => 'ʋ', 'Ƴ' => 'ƴ', 'Ƶ' => 'ƶ', 'Ʒ' => 'ʒ', 'Ƹ' => 'ƹ', 'Ƽ' => 'ƽ', 'DŽ' => 'dž', 'Dž' => 'dž', 'LJ' => 'lj', 'Lj' => 'lj', 'NJ' => 'nj', 'Nj' => 'nj', 'Ǎ' => 'ǎ', 'Ǐ' => 'ǐ', 'Ǒ' => 'ǒ', 'Ǔ' => 'ǔ', 'Ǖ' => 'ǖ', 'Ǘ' => 'ǘ', 'Ǚ' => 'ǚ', 'Ǜ' => 'ǜ', 'Ǟ' => 'ǟ', 'Ǡ' => 'ǡ', 'Ǣ' => 'ǣ', 'Ǥ' => 'ǥ', 'Ǧ' => 'ǧ', 'Ǩ' => 'ǩ', 'Ǫ' => 'ǫ', 'Ǭ' => 'ǭ', 'Ǯ' => 'ǯ', 'DZ' => 'dz', 'Dz' => 'dz', 'Ǵ' => 'ǵ', 'Ƕ' => 'ƕ', 'Ƿ' => 'ƿ', 'Ǹ' => 'ǹ', 'Ǻ' => 'ǻ', 'Ǽ' => 'ǽ', 'Ǿ' => 'ǿ', 'Ȁ' => 'ȁ', 'Ȃ' => 'ȃ', 'Ȅ' => 'ȅ', 'Ȇ' => 'ȇ', 'Ȉ' => 'ȉ', 'Ȋ' => 'ȋ', 'Ȍ' => 'ȍ', 'Ȏ' => 'ȏ', 'Ȑ' => 'ȑ', 'Ȓ' => 'ȓ', 'Ȕ' => 'ȕ', 'Ȗ' => 'ȗ', 'Ș' => 'ș', 'Ț' => 'ț', 'Ȝ' => 'ȝ', 'Ȟ' => 'ȟ', 'Ƞ' => 'ƞ', 'Ȣ' => 'ȣ', 'Ȥ' => 'ȥ', 'Ȧ' => 'ȧ', 'Ȩ' => 'ȩ', 'Ȫ' => 'ȫ', 'Ȭ' => 'ȭ', 'Ȯ' => 'ȯ', 'Ȱ' => 'ȱ', 'Ȳ' => 'ȳ', 'Ⱥ' => 'ⱥ', 'Ȼ' => 'ȼ', 'Ƚ' => 'ƚ', 'Ⱦ' => 'ⱦ', 'Ɂ' => 'ɂ', 'Ƀ' => 'ƀ', 'Ʉ' => 'ʉ', 'Ʌ' => 'ʌ', 'Ɇ' => 'ɇ', 'Ɉ' => 'ɉ', 'Ɋ' => 'ɋ', 'Ɍ' => 'ɍ', 'Ɏ' => 'ɏ', 'Ͱ' => 'ͱ', 'Ͳ' => 'ͳ', 'Ͷ' => 'ͷ', 'Ϳ' => 'ϳ', 'Ά' => 'ά', 'Έ' => 'έ', 'Ή' => 'ή', 'Ί' => 'ί', 'Ό' => 'ό', 'Ύ' => 'ύ', 'Ώ' => 'ώ', 'Α' => 'α', 'Β' => 'β', 'Γ' => 'γ', 'Δ' => 'δ', 'Ε' => 'ε', 'Ζ' => 'ζ', 'Η' => 'η', 'Θ' => 'θ', 'Ι' => 'ι', 'Κ' => 'κ', 'Λ' => 'λ', 'Μ' => 'μ', 'Ν' => 'ν', 'Ξ' => 'ξ', 'Ο' => 'ο', 'Π' => 'π', 'Ρ' => 'ρ', 'Σ' => 'σ', 'Τ' => 'τ', 'Υ' => 'υ', 'Φ' => 'φ', 'Χ' => 'χ', 'Ψ' => 'ψ', 'Ω' => 'ω', 'Ϊ' => 'ϊ', 'Ϋ' => 'ϋ', 'Ϗ' => 'ϗ', 'Ϙ' => 'ϙ', 'Ϛ' => 'ϛ', 'Ϝ' => 'ϝ', 'Ϟ' => 'ϟ', 'Ϡ' => 'ϡ', 'Ϣ' => 'ϣ', 'Ϥ' => 'ϥ', 'Ϧ' => 'ϧ', 'Ϩ' => 'ϩ', 'Ϫ' => 'ϫ', 'Ϭ' => 'ϭ', 'Ϯ' => 'ϯ', 'ϴ' => 'θ', 'Ϸ' => 'ϸ', 'Ϲ' => 'ϲ', 'Ϻ' => 'ϻ', 'Ͻ' => 'ͻ', 'Ͼ' => 'ͼ', 'Ͽ' => 'ͽ', 'Ѐ' => 'ѐ', 'Ё' => 'ё', 'Ђ' => 'ђ', 'Ѓ' => 'ѓ', 'Є' => 'є', 'Ѕ' => 'ѕ', 'І' => 'і', 'Ї' => 'ї', 'Ј' => 'ј', 'Љ' => 'љ', 'Њ' => 'њ', 'Ћ' => 'ћ', 'Ќ' => 'ќ', 'Ѝ' => 'ѝ', 'Ў' => 'ў', 'Џ' => 'џ', 'А' => 'а', 'Б' => 'б', 'В' => 'в', 'Г' => 'г', 'Д' => 'д', 'Е' => 'е', 'Ж' => 'ж', 'З' => 'з', 'И' => 'и', 'Й' => 'й', 'К' => 'к', 'Л' => 'л', 'М' => 'м', 'Н' => 'н', 'О' => 'о', 'П' => 'п', 'Р' => 'р', 'С' => 'с', 'Т' => 'т', 'У' => 'у', 'Ф' => 'ф', 'Х' => 'х', 'Ц' => 'ц', 'Ч' => 'ч', 'Ш' => 'ш', 'Щ' => 'щ', 'Ъ' => 'ъ', 'Ы' => 'ы', 'Ь' => 'ь', 'Э' => 'э', 'Ю' => 'ю', 'Я' => 'я', 'Ѡ' => 'ѡ', 'Ѣ' => 'ѣ', 'Ѥ' => 'ѥ', 'Ѧ' => 'ѧ', 'Ѩ' => 'ѩ', 'Ѫ' => 'ѫ', 'Ѭ' => 'ѭ', 'Ѯ' => 'ѯ', 'Ѱ' => 'ѱ', 'Ѳ' => 'ѳ', 'Ѵ' => 'ѵ', 'Ѷ' => 'ѷ', 'Ѹ' => 'ѹ', 'Ѻ' => 'ѻ', 'Ѽ' => 'ѽ', 'Ѿ' => 'ѿ', 'Ҁ' => 'ҁ', 'Ҋ' => 'ҋ', 'Ҍ' => 'ҍ', 'Ҏ' => 'ҏ', 'Ґ' => 'ґ', 'Ғ' => 'ғ', 'Ҕ' => 'ҕ', 'Җ' => 'җ', 'Ҙ' => 'ҙ', 'Қ' => 'қ', 'Ҝ' => 'ҝ', 'Ҟ' => 'ҟ', 'Ҡ' => 'ҡ', 'Ң' => 'ң', 'Ҥ' => 'ҥ', 'Ҧ' => 'ҧ', 'Ҩ' => 'ҩ', 'Ҫ' => 'ҫ', 'Ҭ' => 'ҭ', 'Ү' => 'ү', 'Ұ' => 'ұ', 'Ҳ' => 'ҳ', 'Ҵ' => 'ҵ', 'Ҷ' => 'ҷ', 'Ҹ' => 'ҹ', 'Һ' => 'һ', 'Ҽ' => 'ҽ', 'Ҿ' => 'ҿ', 'Ӏ' => 'ӏ', 'Ӂ' => 'ӂ', 'Ӄ' => 'ӄ', 'Ӆ' => 'ӆ', 'Ӈ' => 'ӈ', 'Ӊ' => 'ӊ', 'Ӌ' => 'ӌ', 'Ӎ' => 'ӎ', 'Ӑ' => 'ӑ', 'Ӓ' => 'ӓ', 'Ӕ' => 'ӕ', 'Ӗ' => 'ӗ', 'Ә' => 'ә', 'Ӛ' => 'ӛ', 'Ӝ' => 'ӝ', 'Ӟ' => 'ӟ', 'Ӡ' => 'ӡ', 'Ӣ' => 'ӣ', 'Ӥ' => 'ӥ', 'Ӧ' => 'ӧ', 'Ө' => 'ө', 'Ӫ' => 'ӫ', 'Ӭ' => 'ӭ', 'Ӯ' => 'ӯ', 'Ӱ' => 'ӱ', 'Ӳ' => 'ӳ', 'Ӵ' => 'ӵ', 'Ӷ' => 'ӷ', 'Ӹ' => 'ӹ', 'Ӻ' => 'ӻ', 'Ӽ' => 'ӽ', 'Ӿ' => 'ӿ', 'Ԁ' => 'ԁ', 'Ԃ' => 'ԃ', 'Ԅ' => 'ԅ', 'Ԇ' => 'ԇ', 'Ԉ' => 'ԉ', 'Ԋ' => 'ԋ', 'Ԍ' => 'ԍ', 'Ԏ' => 'ԏ', 'Ԑ' => 'ԑ', 'Ԓ' => 'ԓ', 'Ԕ' => 'ԕ', 'Ԗ' => 'ԗ', 'Ԙ' => 'ԙ', 'Ԛ' => 'ԛ', 'Ԝ' => 'ԝ', 'Ԟ' => 'ԟ', 'Ԡ' => 'ԡ', 'Ԣ' => 'ԣ', 'Ԥ' => 'ԥ', 'Ԧ' => 'ԧ', 'Ԩ' => 'ԩ', 'Ԫ' => 'ԫ', 'Ԭ' => 'ԭ', 'Ԯ' => 'ԯ', 'Ա' => 'ա', 'Բ' => 'բ', 'Գ' => 'գ', 'Դ' => 'դ', 'Ե' => 'ե', 'Զ' => 'զ', 'Է' => 'է', 'Ը' => 'ը', 'Թ' => 'թ', 'Ժ' => 'ժ', 'Ի' => 'ի', 'Լ' => 'լ', 'Խ' => 'խ', 'Ծ' => 'ծ', 'Կ' => 'կ', 'Հ' => 'հ', 'Ձ' => 'ձ', 'Ղ' => 'ղ', 'Ճ' => 'ճ', 'Մ' => 'մ', 'Յ' => 'յ', 'Ն' => 'ն', 'Շ' => 'շ', 'Ո' => 'ո', 'Չ' => 'չ', 'Պ' => 'պ', 'Ջ' => 'ջ', 'Ռ' => 'ռ', 'Ս' => 'ս', 'Վ' => 'վ', 'Տ' => 'տ', 'Ր' => 'ր', 'Ց' => 'ց', 'Ւ' => 'ւ', 'Փ' => 'փ', 'Ք' => 'ք', 'Օ' => 'օ', 'Ֆ' => 'ֆ', 'Ⴀ' => 'ⴀ', 'Ⴁ' => 'ⴁ', 'Ⴂ' => 'ⴂ', 'Ⴃ' => 'ⴃ', 'Ⴄ' => 'ⴄ', 'Ⴅ' => 'ⴅ', 'Ⴆ' => 'ⴆ', 'Ⴇ' => 'ⴇ', 'Ⴈ' => 'ⴈ', 'Ⴉ' => 'ⴉ', 'Ⴊ' => 'ⴊ', 'Ⴋ' => 'ⴋ', 'Ⴌ' => 'ⴌ', 'Ⴍ' => 'ⴍ', 'Ⴎ' => 'ⴎ', 'Ⴏ' => 'ⴏ', 'Ⴐ' => 'ⴐ', 'Ⴑ' => 'ⴑ', 'Ⴒ' => 'ⴒ', 'Ⴓ' => 'ⴓ', 'Ⴔ' => 'ⴔ', 'Ⴕ' => 'ⴕ', 'Ⴖ' => 'ⴖ', 'Ⴗ' => 'ⴗ', 'Ⴘ' => 'ⴘ', 'Ⴙ' => 'ⴙ', 'Ⴚ' => 'ⴚ', 'Ⴛ' => 'ⴛ', 'Ⴜ' => 'ⴜ', 'Ⴝ' => 'ⴝ', 'Ⴞ' => 'ⴞ', 'Ⴟ' => 'ⴟ', 'Ⴠ' => 'ⴠ', 'Ⴡ' => 'ⴡ', 'Ⴢ' => 'ⴢ', 'Ⴣ' => 'ⴣ', 'Ⴤ' => 'ⴤ', 'Ⴥ' => 'ⴥ', 'Ⴧ' => 'ⴧ', 'Ⴭ' => 'ⴭ', 'Ꭰ' => 'ꭰ', 'Ꭱ' => 'ꭱ', 'Ꭲ' => 'ꭲ', 'Ꭳ' => 'ꭳ', 'Ꭴ' => 'ꭴ', 'Ꭵ' => 'ꭵ', 'Ꭶ' => 'ꭶ', 'Ꭷ' => 'ꭷ', 'Ꭸ' => 'ꭸ', 'Ꭹ' => 'ꭹ', 'Ꭺ' => 'ꭺ', 'Ꭻ' => 'ꭻ', 'Ꭼ' => 'ꭼ', 'Ꭽ' => 'ꭽ', 'Ꭾ' => 'ꭾ', 'Ꭿ' => 'ꭿ', 'Ꮀ' => 'ꮀ', 'Ꮁ' => 'ꮁ', 'Ꮂ' => 'ꮂ', 'Ꮃ' => 'ꮃ', 'Ꮄ' => 'ꮄ', 'Ꮅ' => 'ꮅ', 'Ꮆ' => 'ꮆ', 'Ꮇ' => 'ꮇ', 'Ꮈ' => 'ꮈ', 'Ꮉ' => 'ꮉ', 'Ꮊ' => 'ꮊ', 'Ꮋ' => 'ꮋ', 'Ꮌ' => 'ꮌ', 'Ꮍ' => 'ꮍ', 'Ꮎ' => 'ꮎ', 'Ꮏ' => 'ꮏ', 'Ꮐ' => 'ꮐ', 'Ꮑ' => 'ꮑ', 'Ꮒ' => 'ꮒ', 'Ꮓ' => 'ꮓ', 'Ꮔ' => 'ꮔ', 'Ꮕ' => 'ꮕ', 'Ꮖ' => 'ꮖ', 'Ꮗ' => 'ꮗ', 'Ꮘ' => 'ꮘ', 'Ꮙ' => 'ꮙ', 'Ꮚ' => 'ꮚ', 'Ꮛ' => 'ꮛ', 'Ꮜ' => 'ꮜ', 'Ꮝ' => 'ꮝ', 'Ꮞ' => 'ꮞ', 'Ꮟ' => 'ꮟ', 'Ꮠ' => 'ꮠ', 'Ꮡ' => 'ꮡ', 'Ꮢ' => 'ꮢ', 'Ꮣ' => 'ꮣ', 'Ꮤ' => 'ꮤ', 'Ꮥ' => 'ꮥ', 'Ꮦ' => 'ꮦ', 'Ꮧ' => 'ꮧ', 'Ꮨ' => 'ꮨ', 'Ꮩ' => 'ꮩ', 'Ꮪ' => 'ꮪ', 'Ꮫ' => 'ꮫ', 'Ꮬ' => 'ꮬ', 'Ꮭ' => 'ꮭ', 'Ꮮ' => 'ꮮ', 'Ꮯ' => 'ꮯ', 'Ꮰ' => 'ꮰ', 'Ꮱ' => 'ꮱ', 'Ꮲ' => 'ꮲ', 'Ꮳ' => 'ꮳ', 'Ꮴ' => 'ꮴ', 'Ꮵ' => 'ꮵ', 'Ꮶ' => 'ꮶ', 'Ꮷ' => 'ꮷ', 'Ꮸ' => 'ꮸ', 'Ꮹ' => 'ꮹ', 'Ꮺ' => 'ꮺ', 'Ꮻ' => 'ꮻ', 'Ꮼ' => 'ꮼ', 'Ꮽ' => 'ꮽ', 'Ꮾ' => 'ꮾ', 'Ꮿ' => 'ꮿ', 'Ᏸ' => 'ᏸ', 'Ᏹ' => 'ᏹ', 'Ᏺ' => 'ᏺ', 'Ᏻ' => 'ᏻ', 'Ᏼ' => 'ᏼ', 'Ᏽ' => 'ᏽ', 'Ა' => 'ა', 'Ბ' => 'ბ', 'Გ' => 'გ', 'Დ' => 'დ', 'Ე' => 'ე', 'Ვ' => 'ვ', 'Ზ' => 'ზ', 'Თ' => 'თ', 'Ი' => 'ი', 'Კ' => 'კ', 'Ლ' => 'ლ', 'Მ' => 'მ', 'Ნ' => 'ნ', 'Ო' => 'ო', 'Პ' => 'პ', 'Ჟ' => 'ჟ', 'Რ' => 'რ', 'Ს' => 'ს', 'Ტ' => 'ტ', 'Უ' => 'უ', 'Ფ' => 'ფ', 'Ქ' => 'ქ', 'Ღ' => 'ღ', 'Ყ' => 'ყ', 'Შ' => 'შ', 'Ჩ' => 'ჩ', 'Ც' => 'ც', 'Ძ' => 'ძ', 'Წ' => 'წ', 'Ჭ' => 'ჭ', 'Ხ' => 'ხ', 'Ჯ' => 'ჯ', 'Ჰ' => 'ჰ', 'Ჱ' => 'ჱ', 'Ჲ' => 'ჲ', 'Ჳ' => 'ჳ', 'Ჴ' => 'ჴ', 'Ჵ' => 'ჵ', 'Ჶ' => 'ჶ', 'Ჷ' => 'ჷ', 'Ჸ' => 'ჸ', 'Ჹ' => 'ჹ', 'Ჺ' => 'ჺ', 'Ჽ' => 'ჽ', 'Ჾ' => 'ჾ', 'Ჿ' => 'ჿ', 'Ḁ' => 'ḁ', 'Ḃ' => 'ḃ', 'Ḅ' => 'ḅ', 'Ḇ' => 'ḇ', 'Ḉ' => 'ḉ', 'Ḋ' => 'ḋ', 'Ḍ' => 'ḍ', 'Ḏ' => 'ḏ', 'Ḑ' => 'ḑ', 'Ḓ' => 'ḓ', 'Ḕ' => 'ḕ', 'Ḗ' => 'ḗ', 'Ḙ' => 'ḙ', 'Ḛ' => 'ḛ', 'Ḝ' => 'ḝ', 'Ḟ' => 'ḟ', 'Ḡ' => 'ḡ', 'Ḣ' => 'ḣ', 'Ḥ' => 'ḥ', 'Ḧ' => 'ḧ', 'Ḩ' => 'ḩ', 'Ḫ' => 'ḫ', 'Ḭ' => 'ḭ', 'Ḯ' => 'ḯ', 'Ḱ' => 'ḱ', 'Ḳ' => 'ḳ', 'Ḵ' => 'ḵ', 'Ḷ' => 'ḷ', 'Ḹ' => 'ḹ', 'Ḻ' => 'ḻ', 'Ḽ' => 'ḽ', 'Ḿ' => 'ḿ', 'Ṁ' => 'ṁ', 'Ṃ' => 'ṃ', 'Ṅ' => 'ṅ', 'Ṇ' => 'ṇ', 'Ṉ' => 'ṉ', 'Ṋ' => 'ṋ', 'Ṍ' => 'ṍ', 'Ṏ' => 'ṏ', 'Ṑ' => 'ṑ', 'Ṓ' => 'ṓ', 'Ṕ' => 'ṕ', 'Ṗ' => 'ṗ', 'Ṙ' => 'ṙ', 'Ṛ' => 'ṛ', 'Ṝ' => 'ṝ', 'Ṟ' => 'ṟ', 'Ṡ' => 'ṡ', 'Ṣ' => 'ṣ', 'Ṥ' => 'ṥ', 'Ṧ' => 'ṧ', 'Ṩ' => 'ṩ', 'Ṫ' => 'ṫ', 'Ṭ' => 'ṭ', 'Ṯ' => 'ṯ', 'Ṱ' => 'ṱ', 'Ṳ' => 'ṳ', 'Ṵ' => 'ṵ', 'Ṷ' => 'ṷ', 'Ṹ' => 'ṹ', 'Ṻ' => 'ṻ', 'Ṽ' => 'ṽ', 'Ṿ' => 'ṿ', 'Ẁ' => 'ẁ', 'Ẃ' => 'ẃ', 'Ẅ' => 'ẅ', 'Ẇ' => 'ẇ', 'Ẉ' => 'ẉ', 'Ẋ' => 'ẋ', 'Ẍ' => 'ẍ', 'Ẏ' => 'ẏ', 'Ẑ' => 'ẑ', 'Ẓ' => 'ẓ', 'Ẕ' => 'ẕ', 'ẞ' => 'ß', 'Ạ' => 'ạ', 'Ả' => 'ả', 'Ấ' => 'ấ', 'Ầ' => 'ầ', 'Ẩ' => 'ẩ', 'Ẫ' => 'ẫ', 'Ậ' => 'ậ', 'Ắ' => 'ắ', 'Ằ' => 'ằ', 'Ẳ' => 'ẳ', 'Ẵ' => 'ẵ', 'Ặ' => 'ặ', 'Ẹ' => 'ẹ', 'Ẻ' => 'ẻ', 'Ẽ' => 'ẽ', 'Ế' => 'ế', 'Ề' => 'ề', 'Ể' => 'ể', 'Ễ' => 'ễ', 'Ệ' => 'ệ', 'Ỉ' => 'ỉ', 'Ị' => 'ị', 'Ọ' => 'ọ', 'Ỏ' => 'ỏ', 'Ố' => 'ố', 'Ồ' => 'ồ', 'Ổ' => 'ổ', 'Ỗ' => 'ỗ', 'Ộ' => 'ộ', 'Ớ' => 'ớ', 'Ờ' => 'ờ', 'Ở' => 'ở', 'Ỡ' => 'ỡ', 'Ợ' => 'ợ', 'Ụ' => 'ụ', 'Ủ' => 'ủ', 'Ứ' => 'ứ', 'Ừ' => 'ừ', 'Ử' => 'ử', 'Ữ' => 'ữ', 'Ự' => 'ự', 'Ỳ' => 'ỳ', 'Ỵ' => 'ỵ', 'Ỷ' => 'ỷ', 'Ỹ' => 'ỹ', 'Ỻ' => 'ỻ', 'Ỽ' => 'ỽ', 'Ỿ' => 'ỿ', 'Ἀ' => 'ἀ', 'Ἁ' => 'ἁ', 'Ἂ' => 'ἂ', 'Ἃ' => 'ἃ', 'Ἄ' => 'ἄ', 'Ἅ' => 'ἅ', 'Ἆ' => 'ἆ', 'Ἇ' => 'ἇ', 'Ἐ' => 'ἐ', 'Ἑ' => 'ἑ', 'Ἒ' => 'ἒ', 'Ἓ' => 'ἓ', 'Ἔ' => 'ἔ', 'Ἕ' => 'ἕ', 'Ἠ' => 'ἠ', 'Ἡ' => 'ἡ', 'Ἢ' => 'ἢ', 'Ἣ' => 'ἣ', 'Ἤ' => 'ἤ', 'Ἥ' => 'ἥ', 'Ἦ' => 'ἦ', 'Ἧ' => 'ἧ', 'Ἰ' => 'ἰ', 'Ἱ' => 'ἱ', 'Ἲ' => 'ἲ', 'Ἳ' => 'ἳ', 'Ἴ' => 'ἴ', 'Ἵ' => 'ἵ', 'Ἶ' => 'ἶ', 'Ἷ' => 'ἷ', 'Ὀ' => 'ὀ', 'Ὁ' => 'ὁ', 'Ὂ' => 'ὂ', 'Ὃ' => 'ὃ', 'Ὄ' => 'ὄ', 'Ὅ' => 'ὅ', 'Ὑ' => 'ὑ', 'Ὓ' => 'ὓ', 'Ὕ' => 'ὕ', 'Ὗ' => 'ὗ', 'Ὠ' => 'ὠ', 'Ὡ' => 'ὡ', 'Ὢ' => 'ὢ', 'Ὣ' => 'ὣ', 'Ὤ' => 'ὤ', 'Ὥ' => 'ὥ', 'Ὦ' => 'ὦ', 'Ὧ' => 'ὧ', 'ᾈ' => 'ᾀ', 'ᾉ' => 'ᾁ', 'ᾊ' => 'ᾂ', 'ᾋ' => 'ᾃ', 'ᾌ' => 'ᾄ', 'ᾍ' => 'ᾅ', 'ᾎ' => 'ᾆ', 'ᾏ' => 'ᾇ', 'ᾘ' => 'ᾐ', 'ᾙ' => 'ᾑ', 'ᾚ' => 'ᾒ', 'ᾛ' => 'ᾓ', 'ᾜ' => 'ᾔ', 'ᾝ' => 'ᾕ', 'ᾞ' => 'ᾖ', 'ᾟ' => 'ᾗ', 'ᾨ' => 'ᾠ', 'ᾩ' => 'ᾡ', 'ᾪ' => 'ᾢ', 'ᾫ' => 'ᾣ', 'ᾬ' => 'ᾤ', 'ᾭ' => 'ᾥ', 'ᾮ' => 'ᾦ', 'ᾯ' => 'ᾧ', 'Ᾰ' => 'ᾰ', 'Ᾱ' => 'ᾱ', 'Ὰ' => 'ὰ', 'Ά' => 'ά', 'ᾼ' => 'ᾳ', 'Ὲ' => 'ὲ', 'Έ' => 'έ', 'Ὴ' => 'ὴ', 'Ή' => 'ή', 'ῌ' => 'ῃ', 'Ῐ' => 'ῐ', 'Ῑ' => 'ῑ', 'Ὶ' => 'ὶ', 'Ί' => 'ί', 'Ῠ' => 'ῠ', 'Ῡ' => 'ῡ', 'Ὺ' => 'ὺ', 'Ύ' => 'ύ', 'Ῥ' => 'ῥ', 'Ὸ' => 'ὸ', 'Ό' => 'ό', 'Ὼ' => 'ὼ', 'Ώ' => 'ώ', 'ῼ' => 'ῳ', 'Ω' => 'ω', 'K' => 'k', 'Å' => 'å', 'Ⅎ' => 'ⅎ', 'Ⅰ' => 'ⅰ', 'Ⅱ' => 'ⅱ', 'Ⅲ' => 'ⅲ', 'Ⅳ' => 'ⅳ', 'Ⅴ' => 'ⅴ', 'Ⅵ' => 'ⅵ', 'Ⅶ' => 'ⅶ', 'Ⅷ' => 'ⅷ', 'Ⅸ' => 'ⅸ', 'Ⅹ' => 'ⅹ', 'Ⅺ' => 'ⅺ', 'Ⅻ' => 'ⅻ', 'Ⅼ' => 'ⅼ', 'Ⅽ' => 'ⅽ', 'Ⅾ' => 'ⅾ', 'Ⅿ' => 'ⅿ', 'Ↄ' => 'ↄ', 'Ⓐ' => 'ⓐ', 'Ⓑ' => 'ⓑ', 'Ⓒ' => 'ⓒ', 'Ⓓ' => 'ⓓ', 'Ⓔ' => 'ⓔ', 'Ⓕ' => 'ⓕ', 'Ⓖ' => 'ⓖ', 'Ⓗ' => 'ⓗ', 'Ⓘ' => 'ⓘ', 'Ⓙ' => 'ⓙ', 'Ⓚ' => 'ⓚ', 'Ⓛ' => 'ⓛ', 'Ⓜ' => 'ⓜ', 'Ⓝ' => 'ⓝ', 'Ⓞ' => 'ⓞ', 'Ⓟ' => 'ⓟ', 'Ⓠ' => 'ⓠ', 'Ⓡ' => 'ⓡ', 'Ⓢ' => 'ⓢ', 'Ⓣ' => 'ⓣ', 'Ⓤ' => 'ⓤ', 'Ⓥ' => 'ⓥ', 'Ⓦ' => 'ⓦ', 'Ⓧ' => 'ⓧ', 'Ⓨ' => 'ⓨ', 'Ⓩ' => 'ⓩ', 'Ⰰ' => 'ⰰ', 'Ⰱ' => 'ⰱ', 'Ⰲ' => 'ⰲ', 'Ⰳ' => 'ⰳ', 'Ⰴ' => 'ⰴ', 'Ⰵ' => 'ⰵ', 'Ⰶ' => 'ⰶ', 'Ⰷ' => 'ⰷ', 'Ⰸ' => 'ⰸ', 'Ⰹ' => 'ⰹ', 'Ⰺ' => 'ⰺ', 'Ⰻ' => 'ⰻ', 'Ⰼ' => 'ⰼ', 'Ⰽ' => 'ⰽ', 'Ⰾ' => 'ⰾ', 'Ⰿ' => 'ⰿ', 'Ⱀ' => 'ⱀ', 'Ⱁ' => 'ⱁ', 'Ⱂ' => 'ⱂ', 'Ⱃ' => 'ⱃ', 'Ⱄ' => 'ⱄ', 'Ⱅ' => 'ⱅ', 'Ⱆ' => 'ⱆ', 'Ⱇ' => 'ⱇ', 'Ⱈ' => 'ⱈ', 'Ⱉ' => 'ⱉ', 'Ⱊ' => 'ⱊ', 'Ⱋ' => 'ⱋ', 'Ⱌ' => 'ⱌ', 'Ⱍ' => 'ⱍ', 'Ⱎ' => 'ⱎ', 'Ⱏ' => 'ⱏ', 'Ⱐ' => 'ⱐ', 'Ⱑ' => 'ⱑ', 'Ⱒ' => 'ⱒ', 'Ⱓ' => 'ⱓ', 'Ⱔ' => 'ⱔ', 'Ⱕ' => 'ⱕ', 'Ⱖ' => 'ⱖ', 'Ⱗ' => 'ⱗ', 'Ⱘ' => 'ⱘ', 'Ⱙ' => 'ⱙ', 'Ⱚ' => 'ⱚ', 'Ⱛ' => 'ⱛ', 'Ⱜ' => 'ⱜ', 'Ⱝ' => 'ⱝ', 'Ⱞ' => 'ⱞ', 'Ⱡ' => 'ⱡ', 'Ɫ' => 'ɫ', 'Ᵽ' => 'ᵽ', 'Ɽ' => 'ɽ', 'Ⱨ' => 'ⱨ', 'Ⱪ' => 'ⱪ', 'Ⱬ' => 'ⱬ', 'Ɑ' => 'ɑ', 'Ɱ' => 'ɱ', 'Ɐ' => 'ɐ', 'Ɒ' => 'ɒ', 'Ⱳ' => 'ⱳ', 'Ⱶ' => 'ⱶ', 'Ȿ' => 'ȿ', 'Ɀ' => 'ɀ', 'Ⲁ' => 'ⲁ', 'Ⲃ' => 'ⲃ', 'Ⲅ' => 'ⲅ', 'Ⲇ' => 'ⲇ', 'Ⲉ' => 'ⲉ', 'Ⲋ' => 'ⲋ', 'Ⲍ' => 'ⲍ', 'Ⲏ' => 'ⲏ', 'Ⲑ' => 'ⲑ', 'Ⲓ' => 'ⲓ', 'Ⲕ' => 'ⲕ', 'Ⲗ' => 'ⲗ', 'Ⲙ' => 'ⲙ', 'Ⲛ' => 'ⲛ', 'Ⲝ' => 'ⲝ', 'Ⲟ' => 'ⲟ', 'Ⲡ' => 'ⲡ', 'Ⲣ' => 'ⲣ', 'Ⲥ' => 'ⲥ', 'Ⲧ' => 'ⲧ', 'Ⲩ' => 'ⲩ', 'Ⲫ' => 'ⲫ', 'Ⲭ' => 'ⲭ', 'Ⲯ' => 'ⲯ', 'Ⲱ' => 'ⲱ', 'Ⲳ' => 'ⲳ', 'Ⲵ' => 'ⲵ', 'Ⲷ' => 'ⲷ', 'Ⲹ' => 'ⲹ', 'Ⲻ' => 'ⲻ', 'Ⲽ' => 'ⲽ', 'Ⲿ' => 'ⲿ', 'Ⳁ' => 'ⳁ', 'Ⳃ' => 'ⳃ', 'Ⳅ' => 'ⳅ', 'Ⳇ' => 'ⳇ', 'Ⳉ' => 'ⳉ', 'Ⳋ' => 'ⳋ', 'Ⳍ' => 'ⳍ', 'Ⳏ' => 'ⳏ', 'Ⳑ' => 'ⳑ', 'Ⳓ' => 'ⳓ', 'Ⳕ' => 'ⳕ', 'Ⳗ' => 'ⳗ', 'Ⳙ' => 'ⳙ', 'Ⳛ' => 'ⳛ', 'Ⳝ' => 'ⳝ', 'Ⳟ' => 'ⳟ', 'Ⳡ' => 'ⳡ', 'Ⳣ' => 'ⳣ', 'Ⳬ' => 'ⳬ', 'Ⳮ' => 'ⳮ', 'Ⳳ' => 'ⳳ', 'Ꙁ' => 'ꙁ', 'Ꙃ' => 'ꙃ', 'Ꙅ' => 'ꙅ', 'Ꙇ' => 'ꙇ', 'Ꙉ' => 'ꙉ', 'Ꙋ' => 'ꙋ', 'Ꙍ' => 'ꙍ', 'Ꙏ' => 'ꙏ', 'Ꙑ' => 'ꙑ', 'Ꙓ' => 'ꙓ', 'Ꙕ' => 'ꙕ', 'Ꙗ' => 'ꙗ', 'Ꙙ' => 'ꙙ', 'Ꙛ' => 'ꙛ', 'Ꙝ' => 'ꙝ', 'Ꙟ' => 'ꙟ', 'Ꙡ' => 'ꙡ', 'Ꙣ' => 'ꙣ', 'Ꙥ' => 'ꙥ', 'Ꙧ' => 'ꙧ', 'Ꙩ' => 'ꙩ', 'Ꙫ' => 'ꙫ', 'Ꙭ' => 'ꙭ', 'Ꚁ' => 'ꚁ', 'Ꚃ' => 'ꚃ', 'Ꚅ' => 'ꚅ', 'Ꚇ' => 'ꚇ', 'Ꚉ' => 'ꚉ', 'Ꚋ' => 'ꚋ', 'Ꚍ' => 'ꚍ', 'Ꚏ' => 'ꚏ', 'Ꚑ' => 'ꚑ', 'Ꚓ' => 'ꚓ', 'Ꚕ' => 'ꚕ', 'Ꚗ' => 'ꚗ', 'Ꚙ' => 'ꚙ', 'Ꚛ' => 'ꚛ', 'Ꜣ' => 'ꜣ', 'Ꜥ' => 'ꜥ', 'Ꜧ' => 'ꜧ', 'Ꜩ' => 'ꜩ', 'Ꜫ' => 'ꜫ', 'Ꜭ' => 'ꜭ', 'Ꜯ' => 'ꜯ', 'Ꜳ' => 'ꜳ', 'Ꜵ' => 'ꜵ', 'Ꜷ' => 'ꜷ', 'Ꜹ' => 'ꜹ', 'Ꜻ' => 'ꜻ', 'Ꜽ' => 'ꜽ', 'Ꜿ' => 'ꜿ', 'Ꝁ' => 'ꝁ', 'Ꝃ' => 'ꝃ', 'Ꝅ' => 'ꝅ', 'Ꝇ' => 'ꝇ', 'Ꝉ' => 'ꝉ', 'Ꝋ' => 'ꝋ', 'Ꝍ' => 'ꝍ', 'Ꝏ' => 'ꝏ', 'Ꝑ' => 'ꝑ', 'Ꝓ' => 'ꝓ', 'Ꝕ' => 'ꝕ', 'Ꝗ' => 'ꝗ', 'Ꝙ' => 'ꝙ', 'Ꝛ' => 'ꝛ', 'Ꝝ' => 'ꝝ', 'Ꝟ' => 'ꝟ', 'Ꝡ' => 'ꝡ', 'Ꝣ' => 'ꝣ', 'Ꝥ' => 'ꝥ', 'Ꝧ' => 'ꝧ', 'Ꝩ' => 'ꝩ', 'Ꝫ' => 'ꝫ', 'Ꝭ' => 'ꝭ', 'Ꝯ' => 'ꝯ', 'Ꝺ' => 'ꝺ', 'Ꝼ' => 'ꝼ', 'Ᵹ' => 'ᵹ', 'Ꝿ' => 'ꝿ', 'Ꞁ' => 'ꞁ', 'Ꞃ' => 'ꞃ', 'Ꞅ' => 'ꞅ', 'Ꞇ' => 'ꞇ', 'Ꞌ' => 'ꞌ', 'Ɥ' => 'ɥ', 'Ꞑ' => 'ꞑ', 'Ꞓ' => 'ꞓ', 'Ꞗ' => 'ꞗ', 'Ꞙ' => 'ꞙ', 'Ꞛ' => 'ꞛ', 'Ꞝ' => 'ꞝ', 'Ꞟ' => 'ꞟ', 'Ꞡ' => 'ꞡ', 'Ꞣ' => 'ꞣ', 'Ꞥ' => 'ꞥ', 'Ꞧ' => 'ꞧ', 'Ꞩ' => 'ꞩ', 'Ɦ' => 'ɦ', 'Ɜ' => 'ɜ', 'Ɡ' => 'ɡ', 'Ɬ' => 'ɬ', 'Ɪ' => 'ɪ', 'Ʞ' => 'ʞ', 'Ʇ' => 'ʇ', 'Ʝ' => 'ʝ', 'Ꭓ' => 'ꭓ', 'Ꞵ' => 'ꞵ', 'Ꞷ' => 'ꞷ', 'Ꞹ' => 'ꞹ', 'Ꞻ' => 'ꞻ', 'Ꞽ' => 'ꞽ', 'Ꞿ' => 'ꞿ', 'Ꟃ' => 'ꟃ', 'Ꞔ' => 'ꞔ', 'Ʂ' => 'ʂ', 'Ᶎ' => 'ᶎ', 'Ꟈ' => 'ꟈ', 'Ꟊ' => 'ꟊ', 'Ꟶ' => 'ꟶ', 'A' => 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd', 'E' => 'e', 'F' => 'f', 'G' => 'g', 'H' => 'h', 'I' => 'i', 'J' => 'j', 'K' => 'k', 'L' => 'l', 'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p', 'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't', 'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x', 'Y' => 'y', 'Z' => 'z', '𐐀' => '𐐨', '𐐁' => '𐐩', '𐐂' => '𐐪', '𐐃' => '𐐫', '𐐄' => '𐐬', '𐐅' => '𐐭', '𐐆' => '𐐮', '𐐇' => '𐐯', '𐐈' => '𐐰', '𐐉' => '𐐱', '𐐊' => '𐐲', '𐐋' => '𐐳', '𐐌' => '𐐴', '𐐍' => '𐐵', '𐐎' => '𐐶', '𐐏' => '𐐷', '𐐐' => '𐐸', '𐐑' => '𐐹', '𐐒' => '𐐺', '𐐓' => '𐐻', '𐐔' => '𐐼', '𐐕' => '𐐽', '𐐖' => '𐐾', '𐐗' => '𐐿', '𐐘' => '𐑀', '𐐙' => '𐑁', '𐐚' => '𐑂', '𐐛' => '𐑃', '𐐜' => '𐑄', '𐐝' => '𐑅', '𐐞' => '𐑆', '𐐟' => '𐑇', '𐐠' => '𐑈', '𐐡' => '𐑉', '𐐢' => '𐑊', '𐐣' => '𐑋', '𐐤' => '𐑌', '𐐥' => '𐑍', '𐐦' => '𐑎', '𐐧' => '𐑏', '𐒰' => '𐓘', '𐒱' => '𐓙', '𐒲' => '𐓚', '𐒳' => '𐓛', '𐒴' => '𐓜', '𐒵' => '𐓝', '𐒶' => '𐓞', '𐒷' => '𐓟', '𐒸' => '𐓠', '𐒹' => '𐓡', '𐒺' => '𐓢', '𐒻' => '𐓣', '𐒼' => '𐓤', '𐒽' => '𐓥', '𐒾' => '𐓦', '𐒿' => '𐓧', '𐓀' => '𐓨', '𐓁' => '𐓩', '𐓂' => '𐓪', '𐓃' => '𐓫', '𐓄' => '𐓬', '𐓅' => '𐓭', '𐓆' => '𐓮', '𐓇' => '𐓯', '𐓈' => '𐓰', '𐓉' => '𐓱', '𐓊' => '𐓲', '𐓋' => '𐓳', '𐓌' => '𐓴', '𐓍' => '𐓵', '𐓎' => '𐓶', '𐓏' => '𐓷', '𐓐' => '𐓸', '𐓑' => '𐓹', '𐓒' => '𐓺', '𐓓' => '𐓻', '𐲀' => '𐳀', '𐲁' => '𐳁', '𐲂' => '𐳂', '𐲃' => '𐳃', '𐲄' => '𐳄', '𐲅' => '𐳅', '𐲆' => '𐳆', '𐲇' => '𐳇', '𐲈' => '𐳈', '𐲉' => '𐳉', '𐲊' => '𐳊', '𐲋' => '𐳋', '𐲌' => '𐳌', '𐲍' => '𐳍', '𐲎' => '𐳎', '𐲏' => '𐳏', '𐲐' => '𐳐', '𐲑' => '𐳑', '𐲒' => '𐳒', '𐲓' => '𐳓', '𐲔' => '𐳔', '𐲕' => '𐳕', '𐲖' => '𐳖', '𐲗' => '𐳗', '𐲘' => '𐳘', '𐲙' => '𐳙', '𐲚' => '𐳚', '𐲛' => '𐳛', '𐲜' => '𐳜', '𐲝' => '𐳝', '𐲞' => '𐳞', '𐲟' => '𐳟', '𐲠' => '𐳠', '𐲡' => '𐳡', '𐲢' => '𐳢', '𐲣' => '𐳣', '𐲤' => '𐳤', '𐲥' => '𐳥', '𐲦' => '𐳦', '𐲧' => '𐳧', '𐲨' => '𐳨', '𐲩' => '𐳩', '𐲪' => '𐳪', '𐲫' => '𐳫', '𐲬' => '𐳬', '𐲭' => '𐳭', '𐲮' => '𐳮', '𐲯' => '𐳯', '𐲰' => '𐳰', '𐲱' => '𐳱', '𐲲' => '𐳲', '𑢠' => '𑣀', '𑢡' => '𑣁', '𑢢' => '𑣂', '𑢣' => '𑣃', '𑢤' => '𑣄', '𑢥' => '𑣅', '𑢦' => '𑣆', '𑢧' => '𑣇', '𑢨' => '𑣈', '𑢩' => '𑣉', '𑢪' => '𑣊', '𑢫' => '𑣋', '𑢬' => '𑣌', '𑢭' => '𑣍', '𑢮' => '𑣎', '𑢯' => '𑣏', '𑢰' => '𑣐', '𑢱' => '𑣑', '𑢲' => '𑣒', '𑢳' => '𑣓', '𑢴' => '𑣔', '𑢵' => '𑣕', '𑢶' => '𑣖', '𑢷' => '𑣗', '𑢸' => '𑣘', '𑢹' => '𑣙', '𑢺' => '𑣚', '𑢻' => '𑣛', '𑢼' => '𑣜', '𑢽' => '𑣝', '𑢾' => '𑣞', '𑢿' => '𑣟', '𖹀' => '𖹠', '𖹁' => '𖹡', '𖹂' => '𖹢', '𖹃' => '𖹣', '𖹄' => '𖹤', '𖹅' => '𖹥', '𖹆' => '𖹦', '𖹇' => '𖹧', '𖹈' => '𖹨', '𖹉' => '𖹩', '𖹊' => '𖹪', '𖹋' => '𖹫', '𖹌' => '𖹬', '𖹍' => '𖹭', '𖹎' => '𖹮', '𖹏' => '𖹯', '𖹐' => '𖹰', '𖹑' => '𖹱', '𖹒' => '𖹲', '𖹓' => '𖹳', '𖹔' => '𖹴', '𖹕' => '𖹵', '𖹖' => '𖹶', '𖹗' => '𖹷', '𖹘' => '𖹸', '𖹙' => '𖹹', '𖹚' => '𖹺', '𖹛' => '𖹻', '𖹜' => '𖹼', '𖹝' => '𖹽', '𖹞' => '𖹾', '𖹟' => '𖹿', '𞤀' => '𞤢', '𞤁' => '𞤣', '𞤂' => '𞤤', '𞤃' => '𞤥', '𞤄' => '𞤦', '𞤅' => '𞤧', '𞤆' => '𞤨', '𞤇' => '𞤩', '𞤈' => '𞤪', '𞤉' => '𞤫', '𞤊' => '𞤬', '𞤋' => '𞤭', '𞤌' => '𞤮', '𞤍' => '𞤯', '𞤎' => '𞤰', '𞤏' => '𞤱', '𞤐' => '𞤲', '𞤑' => '𞤳', '𞤒' => '𞤴', '𞤓' => '𞤵', '𞤔' => '𞤶', '𞤕' => '𞤷', '𞤖' => '𞤸', '𞤗' => '𞤹', '𞤘' => '𞤺', '𞤙' => '𞤻', '𞤚' => '𞤼', '𞤛' => '𞤽', '𞤜' => '𞤾', '𞤝' => '𞤿', '𞤞' => '𞥀', '𞤟' => '𞥁', '𞤠' => '𞥂', '𞤡' => '𞥃'); diff --git a/vendor-bundle/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php b/vendor-bundle/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php new file mode 100644 index 000000000..b5dde631b --- /dev/null +++ b/vendor-bundle/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php @@ -0,0 +1,6 @@ + 'A', 'b' => 'B', 'c' => 'C', 'd' => 'D', 'e' => 'E', 'f' => 'F', 'g' => 'G', 'h' => 'H', 'i' => 'I', 'j' => 'J', 'k' => 'K', 'l' => 'L', 'm' => 'M', 'n' => 'N', 'o' => 'O', 'p' => 'P', 'q' => 'Q', 'r' => 'R', 's' => 'S', 't' => 'T', 'u' => 'U', 'v' => 'V', 'w' => 'W', 'x' => 'X', 'y' => 'Y', 'z' => 'Z', 'µ' => 'Μ', 'à' => 'À', 'á' => 'Á', 'â' => 'Â', 'ã' => 'Ã', 'ä' => 'Ä', 'å' => 'Å', 'æ' => 'Æ', 'ç' => 'Ç', 'è' => 'È', 'é' => 'É', 'ê' => 'Ê', 'ë' => 'Ë', 'ì' => 'Ì', 'í' => 'Í', 'î' => 'Î', 'ï' => 'Ï', 'ð' => 'Ð', 'ñ' => 'Ñ', 'ò' => 'Ò', 'ó' => 'Ó', 'ô' => 'Ô', 'õ' => 'Õ', 'ö' => 'Ö', 'ø' => 'Ø', 'ù' => 'Ù', 'ú' => 'Ú', 'û' => 'Û', 'ü' => 'Ü', 'ý' => 'Ý', 'þ' => 'Þ', 'ÿ' => 'Ÿ', 'ā' => 'Ā', 'ă' => 'Ă', 'ą' => 'Ą', 'ć' => 'Ć', 'ĉ' => 'Ĉ', 'ċ' => 'Ċ', 'č' => 'Č', 'ď' => 'Ď', 'đ' => 'Đ', 'ē' => 'Ē', 'ĕ' => 'Ĕ', 'ė' => 'Ė', 'ę' => 'Ę', 'ě' => 'Ě', 'ĝ' => 'Ĝ', 'ğ' => 'Ğ', 'ġ' => 'Ġ', 'ģ' => 'Ģ', 'ĥ' => 'Ĥ', 'ħ' => 'Ħ', 'ĩ' => 'Ĩ', 'ī' => 'Ī', 'ĭ' => 'Ĭ', 'į' => 'Į', 'ı' => 'I', 'ij' => 'IJ', 'ĵ' => 'Ĵ', 'ķ' => 'Ķ', 'ĺ' => 'Ĺ', 'ļ' => 'Ļ', 'ľ' => 'Ľ', 'ŀ' => 'Ŀ', 'ł' => 'Ł', 'ń' => 'Ń', 'ņ' => 'Ņ', 'ň' => 'Ň', 'ŋ' => 'Ŋ', 'ō' => 'Ō', 'ŏ' => 'Ŏ', 'ő' => 'Ő', 'œ' => 'Œ', 'ŕ' => 'Ŕ', 'ŗ' => 'Ŗ', 'ř' => 'Ř', 'ś' => 'Ś', 'ŝ' => 'Ŝ', 'ş' => 'Ş', 'š' => 'Š', 'ţ' => 'Ţ', 'ť' => 'Ť', 'ŧ' => 'Ŧ', 'ũ' => 'Ũ', 'ū' => 'Ū', 'ŭ' => 'Ŭ', 'ů' => 'Ů', 'ű' => 'Ű', 'ų' => 'Ų', 'ŵ' => 'Ŵ', 'ŷ' => 'Ŷ', 'ź' => 'Ź', 'ż' => 'Ż', 'ž' => 'Ž', 'ſ' => 'S', 'ƀ' => 'Ƀ', 'ƃ' => 'Ƃ', 'ƅ' => 'Ƅ', 'ƈ' => 'Ƈ', 'ƌ' => 'Ƌ', 'ƒ' => 'Ƒ', 'ƕ' => 'Ƕ', 'ƙ' => 'Ƙ', 'ƚ' => 'Ƚ', 'ƞ' => 'Ƞ', 'ơ' => 'Ơ', 'ƣ' => 'Ƣ', 'ƥ' => 'Ƥ', 'ƨ' => 'Ƨ', 'ƭ' => 'Ƭ', 'ư' => 'Ư', 'ƴ' => 'Ƴ', 'ƶ' => 'Ƶ', 'ƹ' => 'Ƹ', 'ƽ' => 'Ƽ', 'ƿ' => 'Ƿ', 'Dž' => 'DŽ', 'dž' => 'DŽ', 'Lj' => 'LJ', 'lj' => 'LJ', 'Nj' => 'NJ', 'nj' => 'NJ', 'ǎ' => 'Ǎ', 'ǐ' => 'Ǐ', 'ǒ' => 'Ǒ', 'ǔ' => 'Ǔ', 'ǖ' => 'Ǖ', 'ǘ' => 'Ǘ', 'ǚ' => 'Ǚ', 'ǜ' => 'Ǜ', 'ǝ' => 'Ǝ', 'ǟ' => 'Ǟ', 'ǡ' => 'Ǡ', 'ǣ' => 'Ǣ', 'ǥ' => 'Ǥ', 'ǧ' => 'Ǧ', 'ǩ' => 'Ǩ', 'ǫ' => 'Ǫ', 'ǭ' => 'Ǭ', 'ǯ' => 'Ǯ', 'Dz' => 'DZ', 'dz' => 'DZ', 'ǵ' => 'Ǵ', 'ǹ' => 'Ǹ', 'ǻ' => 'Ǻ', 'ǽ' => 'Ǽ', 'ǿ' => 'Ǿ', 'ȁ' => 'Ȁ', 'ȃ' => 'Ȃ', 'ȅ' => 'Ȅ', 'ȇ' => 'Ȇ', 'ȉ' => 'Ȉ', 'ȋ' => 'Ȋ', 'ȍ' => 'Ȍ', 'ȏ' => 'Ȏ', 'ȑ' => 'Ȑ', 'ȓ' => 'Ȓ', 'ȕ' => 'Ȕ', 'ȗ' => 'Ȗ', 'ș' => 'Ș', 'ț' => 'Ț', 'ȝ' => 'Ȝ', 'ȟ' => 'Ȟ', 'ȣ' => 'Ȣ', 'ȥ' => 'Ȥ', 'ȧ' => 'Ȧ', 'ȩ' => 'Ȩ', 'ȫ' => 'Ȫ', 'ȭ' => 'Ȭ', 'ȯ' => 'Ȯ', 'ȱ' => 'Ȱ', 'ȳ' => 'Ȳ', 'ȼ' => 'Ȼ', 'ȿ' => 'Ȿ', 'ɀ' => 'Ɀ', 'ɂ' => 'Ɂ', 'ɇ' => 'Ɇ', 'ɉ' => 'Ɉ', 'ɋ' => 'Ɋ', 'ɍ' => 'Ɍ', 'ɏ' => 'Ɏ', 'ɐ' => 'Ɐ', 'ɑ' => 'Ɑ', 'ɒ' => 'Ɒ', 'ɓ' => 'Ɓ', 'ɔ' => 'Ɔ', 'ɖ' => 'Ɖ', 'ɗ' => 'Ɗ', 'ə' => 'Ə', 'ɛ' => 'Ɛ', 'ɜ' => 'Ɜ', 'ɠ' => 'Ɠ', 'ɡ' => 'Ɡ', 'ɣ' => 'Ɣ', 'ɥ' => 'Ɥ', 'ɦ' => 'Ɦ', 'ɨ' => 'Ɨ', 'ɩ' => 'Ɩ', 'ɪ' => 'Ɪ', 'ɫ' => 'Ɫ', 'ɬ' => 'Ɬ', 'ɯ' => 'Ɯ', 'ɱ' => 'Ɱ', 'ɲ' => 'Ɲ', 'ɵ' => 'Ɵ', 'ɽ' => 'Ɽ', 'ʀ' => 'Ʀ', 'ʂ' => 'Ʂ', 'ʃ' => 'Ʃ', 'ʇ' => 'Ʇ', 'ʈ' => 'Ʈ', 'ʉ' => 'Ʉ', 'ʊ' => 'Ʊ', 'ʋ' => 'Ʋ', 'ʌ' => 'Ʌ', 'ʒ' => 'Ʒ', 'ʝ' => 'Ʝ', 'ʞ' => 'Ʞ', 'ͅ' => 'Ι', 'ͱ' => 'Ͱ', 'ͳ' => 'Ͳ', 'ͷ' => 'Ͷ', 'ͻ' => 'Ͻ', 'ͼ' => 'Ͼ', 'ͽ' => 'Ͽ', 'ά' => 'Ά', 'έ' => 'Έ', 'ή' => 'Ή', 'ί' => 'Ί', 'α' => 'Α', 'β' => 'Β', 'γ' => 'Γ', 'δ' => 'Δ', 'ε' => 'Ε', 'ζ' => 'Ζ', 'η' => 'Η', 'θ' => 'Θ', 'ι' => 'Ι', 'κ' => 'Κ', 'λ' => 'Λ', 'μ' => 'Μ', 'ν' => 'Ν', 'ξ' => 'Ξ', 'ο' => 'Ο', 'π' => 'Π', 'ρ' => 'Ρ', 'ς' => 'Σ', 'σ' => 'Σ', 'τ' => 'Τ', 'υ' => 'Υ', 'φ' => 'Φ', 'χ' => 'Χ', 'ψ' => 'Ψ', 'ω' => 'Ω', 'ϊ' => 'Ϊ', 'ϋ' => 'Ϋ', 'ό' => 'Ό', 'ύ' => 'Ύ', 'ώ' => 'Ώ', 'ϐ' => 'Β', 'ϑ' => 'Θ', 'ϕ' => 'Φ', 'ϖ' => 'Π', 'ϗ' => 'Ϗ', 'ϙ' => 'Ϙ', 'ϛ' => 'Ϛ', 'ϝ' => 'Ϝ', 'ϟ' => 'Ϟ', 'ϡ' => 'Ϡ', 'ϣ' => 'Ϣ', 'ϥ' => 'Ϥ', 'ϧ' => 'Ϧ', 'ϩ' => 'Ϩ', 'ϫ' => 'Ϫ', 'ϭ' => 'Ϭ', 'ϯ' => 'Ϯ', 'ϰ' => 'Κ', 'ϱ' => 'Ρ', 'ϲ' => 'Ϲ', 'ϳ' => 'Ϳ', 'ϵ' => 'Ε', 'ϸ' => 'Ϸ', 'ϻ' => 'Ϻ', 'а' => 'А', 'б' => 'Б', 'в' => 'В', 'г' => 'Г', 'д' => 'Д', 'е' => 'Е', 'ж' => 'Ж', 'з' => 'З', 'и' => 'И', 'й' => 'Й', 'к' => 'К', 'л' => 'Л', 'м' => 'М', 'н' => 'Н', 'о' => 'О', 'п' => 'П', 'р' => 'Р', 'с' => 'С', 'т' => 'Т', 'у' => 'У', 'ф' => 'Ф', 'х' => 'Х', 'ц' => 'Ц', 'ч' => 'Ч', 'ш' => 'Ш', 'щ' => 'Щ', 'ъ' => 'Ъ', 'ы' => 'Ы', 'ь' => 'Ь', 'э' => 'Э', 'ю' => 'Ю', 'я' => 'Я', 'ѐ' => 'Ѐ', 'ё' => 'Ё', 'ђ' => 'Ђ', 'ѓ' => 'Ѓ', 'є' => 'Є', 'ѕ' => 'Ѕ', 'і' => 'І', 'ї' => 'Ї', 'ј' => 'Ј', 'љ' => 'Љ', 'њ' => 'Њ', 'ћ' => 'Ћ', 'ќ' => 'Ќ', 'ѝ' => 'Ѝ', 'ў' => 'Ў', 'џ' => 'Џ', 'ѡ' => 'Ѡ', 'ѣ' => 'Ѣ', 'ѥ' => 'Ѥ', 'ѧ' => 'Ѧ', 'ѩ' => 'Ѩ', 'ѫ' => 'Ѫ', 'ѭ' => 'Ѭ', 'ѯ' => 'Ѯ', 'ѱ' => 'Ѱ', 'ѳ' => 'Ѳ', 'ѵ' => 'Ѵ', 'ѷ' => 'Ѷ', 'ѹ' => 'Ѹ', 'ѻ' => 'Ѻ', 'ѽ' => 'Ѽ', 'ѿ' => 'Ѿ', 'ҁ' => 'Ҁ', 'ҋ' => 'Ҋ', 'ҍ' => 'Ҍ', 'ҏ' => 'Ҏ', 'ґ' => 'Ґ', 'ғ' => 'Ғ', 'ҕ' => 'Ҕ', 'җ' => 'Җ', 'ҙ' => 'Ҙ', 'қ' => 'Қ', 'ҝ' => 'Ҝ', 'ҟ' => 'Ҟ', 'ҡ' => 'Ҡ', 'ң' => 'Ң', 'ҥ' => 'Ҥ', 'ҧ' => 'Ҧ', 'ҩ' => 'Ҩ', 'ҫ' => 'Ҫ', 'ҭ' => 'Ҭ', 'ү' => 'Ү', 'ұ' => 'Ұ', 'ҳ' => 'Ҳ', 'ҵ' => 'Ҵ', 'ҷ' => 'Ҷ', 'ҹ' => 'Ҹ', 'һ' => 'Һ', 'ҽ' => 'Ҽ', 'ҿ' => 'Ҿ', 'ӂ' => 'Ӂ', 'ӄ' => 'Ӄ', 'ӆ' => 'Ӆ', 'ӈ' => 'Ӈ', 'ӊ' => 'Ӊ', 'ӌ' => 'Ӌ', 'ӎ' => 'Ӎ', 'ӏ' => 'Ӏ', 'ӑ' => 'Ӑ', 'ӓ' => 'Ӓ', 'ӕ' => 'Ӕ', 'ӗ' => 'Ӗ', 'ә' => 'Ә', 'ӛ' => 'Ӛ', 'ӝ' => 'Ӝ', 'ӟ' => 'Ӟ', 'ӡ' => 'Ӡ', 'ӣ' => 'Ӣ', 'ӥ' => 'Ӥ', 'ӧ' => 'Ӧ', 'ө' => 'Ө', 'ӫ' => 'Ӫ', 'ӭ' => 'Ӭ', 'ӯ' => 'Ӯ', 'ӱ' => 'Ӱ', 'ӳ' => 'Ӳ', 'ӵ' => 'Ӵ', 'ӷ' => 'Ӷ', 'ӹ' => 'Ӹ', 'ӻ' => 'Ӻ', 'ӽ' => 'Ӽ', 'ӿ' => 'Ӿ', 'ԁ' => 'Ԁ', 'ԃ' => 'Ԃ', 'ԅ' => 'Ԅ', 'ԇ' => 'Ԇ', 'ԉ' => 'Ԉ', 'ԋ' => 'Ԋ', 'ԍ' => 'Ԍ', 'ԏ' => 'Ԏ', 'ԑ' => 'Ԑ', 'ԓ' => 'Ԓ', 'ԕ' => 'Ԕ', 'ԗ' => 'Ԗ', 'ԙ' => 'Ԙ', 'ԛ' => 'Ԛ', 'ԝ' => 'Ԝ', 'ԟ' => 'Ԟ', 'ԡ' => 'Ԡ', 'ԣ' => 'Ԣ', 'ԥ' => 'Ԥ', 'ԧ' => 'Ԧ', 'ԩ' => 'Ԩ', 'ԫ' => 'Ԫ', 'ԭ' => 'Ԭ', 'ԯ' => 'Ԯ', 'ա' => 'Ա', 'բ' => 'Բ', 'գ' => 'Գ', 'դ' => 'Դ', 'ե' => 'Ե', 'զ' => 'Զ', 'է' => 'Է', 'ը' => 'Ը', 'թ' => 'Թ', 'ժ' => 'Ժ', 'ի' => 'Ի', 'լ' => 'Լ', 'խ' => 'Խ', 'ծ' => 'Ծ', 'կ' => 'Կ', 'հ' => 'Հ', 'ձ' => 'Ձ', 'ղ' => 'Ղ', 'ճ' => 'Ճ', 'մ' => 'Մ', 'յ' => 'Յ', 'ն' => 'Ն', 'շ' => 'Շ', 'ո' => 'Ո', 'չ' => 'Չ', 'պ' => 'Պ', 'ջ' => 'Ջ', 'ռ' => 'Ռ', 'ս' => 'Ս', 'վ' => 'Վ', 'տ' => 'Տ', 'ր' => 'Ր', 'ց' => 'Ց', 'ւ' => 'Ւ', 'փ' => 'Փ', 'ք' => 'Ք', 'օ' => 'Օ', 'ֆ' => 'Ֆ', 'ა' => 'Ა', 'ბ' => 'Ბ', 'გ' => 'Გ', 'დ' => 'Დ', 'ე' => 'Ე', 'ვ' => 'Ვ', 'ზ' => 'Ზ', 'თ' => 'Თ', 'ი' => 'Ი', 'კ' => 'Კ', 'ლ' => 'Ლ', 'მ' => 'Მ', 'ნ' => 'Ნ', 'ო' => 'Ო', 'პ' => 'Პ', 'ჟ' => 'Ჟ', 'რ' => 'Რ', 'ს' => 'Ს', 'ტ' => 'Ტ', 'უ' => 'Უ', 'ფ' => 'Ფ', 'ქ' => 'Ქ', 'ღ' => 'Ღ', 'ყ' => 'Ყ', 'შ' => 'Შ', 'ჩ' => 'Ჩ', 'ც' => 'Ც', 'ძ' => 'Ძ', 'წ' => 'Წ', 'ჭ' => 'Ჭ', 'ხ' => 'Ხ', 'ჯ' => 'Ჯ', 'ჰ' => 'Ჰ', 'ჱ' => 'Ჱ', 'ჲ' => 'Ჲ', 'ჳ' => 'Ჳ', 'ჴ' => 'Ჴ', 'ჵ' => 'Ჵ', 'ჶ' => 'Ჶ', 'ჷ' => 'Ჷ', 'ჸ' => 'Ჸ', 'ჹ' => 'Ჹ', 'ჺ' => 'Ჺ', 'ჽ' => 'Ჽ', 'ჾ' => 'Ჾ', 'ჿ' => 'Ჿ', 'ᏸ' => 'Ᏸ', 'ᏹ' => 'Ᏹ', 'ᏺ' => 'Ᏺ', 'ᏻ' => 'Ᏻ', 'ᏼ' => 'Ᏼ', 'ᏽ' => 'Ᏽ', 'ᲀ' => 'В', 'ᲁ' => 'Д', 'ᲂ' => 'О', 'ᲃ' => 'С', 'ᲄ' => 'Т', 'ᲅ' => 'Т', 'ᲆ' => 'Ъ', 'ᲇ' => 'Ѣ', 'ᲈ' => 'Ꙋ', 'ᵹ' => 'Ᵹ', 'ᵽ' => 'Ᵽ', 'ᶎ' => 'Ᶎ', 'ḁ' => 'Ḁ', 'ḃ' => 'Ḃ', 'ḅ' => 'Ḅ', 'ḇ' => 'Ḇ', 'ḉ' => 'Ḉ', 'ḋ' => 'Ḋ', 'ḍ' => 'Ḍ', 'ḏ' => 'Ḏ', 'ḑ' => 'Ḑ', 'ḓ' => 'Ḓ', 'ḕ' => 'Ḕ', 'ḗ' => 'Ḗ', 'ḙ' => 'Ḙ', 'ḛ' => 'Ḛ', 'ḝ' => 'Ḝ', 'ḟ' => 'Ḟ', 'ḡ' => 'Ḡ', 'ḣ' => 'Ḣ', 'ḥ' => 'Ḥ', 'ḧ' => 'Ḧ', 'ḩ' => 'Ḩ', 'ḫ' => 'Ḫ', 'ḭ' => 'Ḭ', 'ḯ' => 'Ḯ', 'ḱ' => 'Ḱ', 'ḳ' => 'Ḳ', 'ḵ' => 'Ḵ', 'ḷ' => 'Ḷ', 'ḹ' => 'Ḹ', 'ḻ' => 'Ḻ', 'ḽ' => 'Ḽ', 'ḿ' => 'Ḿ', 'ṁ' => 'Ṁ', 'ṃ' => 'Ṃ', 'ṅ' => 'Ṅ', 'ṇ' => 'Ṇ', 'ṉ' => 'Ṉ', 'ṋ' => 'Ṋ', 'ṍ' => 'Ṍ', 'ṏ' => 'Ṏ', 'ṑ' => 'Ṑ', 'ṓ' => 'Ṓ', 'ṕ' => 'Ṕ', 'ṗ' => 'Ṗ', 'ṙ' => 'Ṙ', 'ṛ' => 'Ṛ', 'ṝ' => 'Ṝ', 'ṟ' => 'Ṟ', 'ṡ' => 'Ṡ', 'ṣ' => 'Ṣ', 'ṥ' => 'Ṥ', 'ṧ' => 'Ṧ', 'ṩ' => 'Ṩ', 'ṫ' => 'Ṫ', 'ṭ' => 'Ṭ', 'ṯ' => 'Ṯ', 'ṱ' => 'Ṱ', 'ṳ' => 'Ṳ', 'ṵ' => 'Ṵ', 'ṷ' => 'Ṷ', 'ṹ' => 'Ṹ', 'ṻ' => 'Ṻ', 'ṽ' => 'Ṽ', 'ṿ' => 'Ṿ', 'ẁ' => 'Ẁ', 'ẃ' => 'Ẃ', 'ẅ' => 'Ẅ', 'ẇ' => 'Ẇ', 'ẉ' => 'Ẉ', 'ẋ' => 'Ẋ', 'ẍ' => 'Ẍ', 'ẏ' => 'Ẏ', 'ẑ' => 'Ẑ', 'ẓ' => 'Ẓ', 'ẕ' => 'Ẕ', 'ẛ' => 'Ṡ', 'ạ' => 'Ạ', 'ả' => 'Ả', 'ấ' => 'Ấ', 'ầ' => 'Ầ', 'ẩ' => 'Ẩ', 'ẫ' => 'Ẫ', 'ậ' => 'Ậ', 'ắ' => 'Ắ', 'ằ' => 'Ằ', 'ẳ' => 'Ẳ', 'ẵ' => 'Ẵ', 'ặ' => 'Ặ', 'ẹ' => 'Ẹ', 'ẻ' => 'Ẻ', 'ẽ' => 'Ẽ', 'ế' => 'Ế', 'ề' => 'Ề', 'ể' => 'Ể', 'ễ' => 'Ễ', 'ệ' => 'Ệ', 'ỉ' => 'Ỉ', 'ị' => 'Ị', 'ọ' => 'Ọ', 'ỏ' => 'Ỏ', 'ố' => 'Ố', 'ồ' => 'Ồ', 'ổ' => 'Ổ', 'ỗ' => 'Ỗ', 'ộ' => 'Ộ', 'ớ' => 'Ớ', 'ờ' => 'Ờ', 'ở' => 'Ở', 'ỡ' => 'Ỡ', 'ợ' => 'Ợ', 'ụ' => 'Ụ', 'ủ' => 'Ủ', 'ứ' => 'Ứ', 'ừ' => 'Ừ', 'ử' => 'Ử', 'ữ' => 'Ữ', 'ự' => 'Ự', 'ỳ' => 'Ỳ', 'ỵ' => 'Ỵ', 'ỷ' => 'Ỷ', 'ỹ' => 'Ỹ', 'ỻ' => 'Ỻ', 'ỽ' => 'Ỽ', 'ỿ' => 'Ỿ', 'ἀ' => 'Ἀ', 'ἁ' => 'Ἁ', 'ἂ' => 'Ἂ', 'ἃ' => 'Ἃ', 'ἄ' => 'Ἄ', 'ἅ' => 'Ἅ', 'ἆ' => 'Ἆ', 'ἇ' => 'Ἇ', 'ἐ' => 'Ἐ', 'ἑ' => 'Ἑ', 'ἒ' => 'Ἒ', 'ἓ' => 'Ἓ', 'ἔ' => 'Ἔ', 'ἕ' => 'Ἕ', 'ἠ' => 'Ἠ', 'ἡ' => 'Ἡ', 'ἢ' => 'Ἢ', 'ἣ' => 'Ἣ', 'ἤ' => 'Ἤ', 'ἥ' => 'Ἥ', 'ἦ' => 'Ἦ', 'ἧ' => 'Ἧ', 'ἰ' => 'Ἰ', 'ἱ' => 'Ἱ', 'ἲ' => 'Ἲ', 'ἳ' => 'Ἳ', 'ἴ' => 'Ἴ', 'ἵ' => 'Ἵ', 'ἶ' => 'Ἶ', 'ἷ' => 'Ἷ', 'ὀ' => 'Ὀ', 'ὁ' => 'Ὁ', 'ὂ' => 'Ὂ', 'ὃ' => 'Ὃ', 'ὄ' => 'Ὄ', 'ὅ' => 'Ὅ', 'ὑ' => 'Ὑ', 'ὓ' => 'Ὓ', 'ὕ' => 'Ὕ', 'ὗ' => 'Ὗ', 'ὠ' => 'Ὠ', 'ὡ' => 'Ὡ', 'ὢ' => 'Ὢ', 'ὣ' => 'Ὣ', 'ὤ' => 'Ὤ', 'ὥ' => 'Ὥ', 'ὦ' => 'Ὦ', 'ὧ' => 'Ὧ', 'ὰ' => 'Ὰ', 'ά' => 'Ά', 'ὲ' => 'Ὲ', 'έ' => 'Έ', 'ὴ' => 'Ὴ', 'ή' => 'Ή', 'ὶ' => 'Ὶ', 'ί' => 'Ί', 'ὸ' => 'Ὸ', 'ό' => 'Ό', 'ὺ' => 'Ὺ', 'ύ' => 'Ύ', 'ὼ' => 'Ὼ', 'ώ' => 'Ώ', 'ᾀ' => 'ἈΙ', 'ᾁ' => 'ἉΙ', 'ᾂ' => 'ἊΙ', 'ᾃ' => 'ἋΙ', 'ᾄ' => 'ἌΙ', 'ᾅ' => 'ἍΙ', 'ᾆ' => 'ἎΙ', 'ᾇ' => 'ἏΙ', 'ᾐ' => 'ἨΙ', 'ᾑ' => 'ἩΙ', 'ᾒ' => 'ἪΙ', 'ᾓ' => 'ἫΙ', 'ᾔ' => 'ἬΙ', 'ᾕ' => 'ἭΙ', 'ᾖ' => 'ἮΙ', 'ᾗ' => 'ἯΙ', 'ᾠ' => 'ὨΙ', 'ᾡ' => 'ὩΙ', 'ᾢ' => 'ὪΙ', 'ᾣ' => 'ὫΙ', 'ᾤ' => 'ὬΙ', 'ᾥ' => 'ὭΙ', 'ᾦ' => 'ὮΙ', 'ᾧ' => 'ὯΙ', 'ᾰ' => 'Ᾰ', 'ᾱ' => 'Ᾱ', 'ᾳ' => 'ΑΙ', 'ι' => 'Ι', 'ῃ' => 'ΗΙ', 'ῐ' => 'Ῐ', 'ῑ' => 'Ῑ', 'ῠ' => 'Ῠ', 'ῡ' => 'Ῡ', 'ῥ' => 'Ῥ', 'ῳ' => 'ΩΙ', 'ⅎ' => 'Ⅎ', 'ⅰ' => 'Ⅰ', 'ⅱ' => 'Ⅱ', 'ⅲ' => 'Ⅲ', 'ⅳ' => 'Ⅳ', 'ⅴ' => 'Ⅴ', 'ⅵ' => 'Ⅵ', 'ⅶ' => 'Ⅶ', 'ⅷ' => 'Ⅷ', 'ⅸ' => 'Ⅸ', 'ⅹ' => 'Ⅹ', 'ⅺ' => 'Ⅺ', 'ⅻ' => 'Ⅻ', 'ⅼ' => 'Ⅼ', 'ⅽ' => 'Ⅽ', 'ⅾ' => 'Ⅾ', 'ⅿ' => 'Ⅿ', 'ↄ' => 'Ↄ', 'ⓐ' => 'Ⓐ', 'ⓑ' => 'Ⓑ', 'ⓒ' => 'Ⓒ', 'ⓓ' => 'Ⓓ', 'ⓔ' => 'Ⓔ', 'ⓕ' => 'Ⓕ', 'ⓖ' => 'Ⓖ', 'ⓗ' => 'Ⓗ', 'ⓘ' => 'Ⓘ', 'ⓙ' => 'Ⓙ', 'ⓚ' => 'Ⓚ', 'ⓛ' => 'Ⓛ', 'ⓜ' => 'Ⓜ', 'ⓝ' => 'Ⓝ', 'ⓞ' => 'Ⓞ', 'ⓟ' => 'Ⓟ', 'ⓠ' => 'Ⓠ', 'ⓡ' => 'Ⓡ', 'ⓢ' => 'Ⓢ', 'ⓣ' => 'Ⓣ', 'ⓤ' => 'Ⓤ', 'ⓥ' => 'Ⓥ', 'ⓦ' => 'Ⓦ', 'ⓧ' => 'Ⓧ', 'ⓨ' => 'Ⓨ', 'ⓩ' => 'Ⓩ', 'ⰰ' => 'Ⰰ', 'ⰱ' => 'Ⰱ', 'ⰲ' => 'Ⰲ', 'ⰳ' => 'Ⰳ', 'ⰴ' => 'Ⰴ', 'ⰵ' => 'Ⰵ', 'ⰶ' => 'Ⰶ', 'ⰷ' => 'Ⰷ', 'ⰸ' => 'Ⰸ', 'ⰹ' => 'Ⰹ', 'ⰺ' => 'Ⰺ', 'ⰻ' => 'Ⰻ', 'ⰼ' => 'Ⰼ', 'ⰽ' => 'Ⰽ', 'ⰾ' => 'Ⰾ', 'ⰿ' => 'Ⰿ', 'ⱀ' => 'Ⱀ', 'ⱁ' => 'Ⱁ', 'ⱂ' => 'Ⱂ', 'ⱃ' => 'Ⱃ', 'ⱄ' => 'Ⱄ', 'ⱅ' => 'Ⱅ', 'ⱆ' => 'Ⱆ', 'ⱇ' => 'Ⱇ', 'ⱈ' => 'Ⱈ', 'ⱉ' => 'Ⱉ', 'ⱊ' => 'Ⱊ', 'ⱋ' => 'Ⱋ', 'ⱌ' => 'Ⱌ', 'ⱍ' => 'Ⱍ', 'ⱎ' => 'Ⱎ', 'ⱏ' => 'Ⱏ', 'ⱐ' => 'Ⱐ', 'ⱑ' => 'Ⱑ', 'ⱒ' => 'Ⱒ', 'ⱓ' => 'Ⱓ', 'ⱔ' => 'Ⱔ', 'ⱕ' => 'Ⱕ', 'ⱖ' => 'Ⱖ', 'ⱗ' => 'Ⱗ', 'ⱘ' => 'Ⱘ', 'ⱙ' => 'Ⱙ', 'ⱚ' => 'Ⱚ', 'ⱛ' => 'Ⱛ', 'ⱜ' => 'Ⱜ', 'ⱝ' => 'Ⱝ', 'ⱞ' => 'Ⱞ', 'ⱡ' => 'Ⱡ', 'ⱥ' => 'Ⱥ', 'ⱦ' => 'Ⱦ', 'ⱨ' => 'Ⱨ', 'ⱪ' => 'Ⱪ', 'ⱬ' => 'Ⱬ', 'ⱳ' => 'Ⱳ', 'ⱶ' => 'Ⱶ', 'ⲁ' => 'Ⲁ', 'ⲃ' => 'Ⲃ', 'ⲅ' => 'Ⲅ', 'ⲇ' => 'Ⲇ', 'ⲉ' => 'Ⲉ', 'ⲋ' => 'Ⲋ', 'ⲍ' => 'Ⲍ', 'ⲏ' => 'Ⲏ', 'ⲑ' => 'Ⲑ', 'ⲓ' => 'Ⲓ', 'ⲕ' => 'Ⲕ', 'ⲗ' => 'Ⲗ', 'ⲙ' => 'Ⲙ', 'ⲛ' => 'Ⲛ', 'ⲝ' => 'Ⲝ', 'ⲟ' => 'Ⲟ', 'ⲡ' => 'Ⲡ', 'ⲣ' => 'Ⲣ', 'ⲥ' => 'Ⲥ', 'ⲧ' => 'Ⲧ', 'ⲩ' => 'Ⲩ', 'ⲫ' => 'Ⲫ', 'ⲭ' => 'Ⲭ', 'ⲯ' => 'Ⲯ', 'ⲱ' => 'Ⲱ', 'ⲳ' => 'Ⲳ', 'ⲵ' => 'Ⲵ', 'ⲷ' => 'Ⲷ', 'ⲹ' => 'Ⲹ', 'ⲻ' => 'Ⲻ', 'ⲽ' => 'Ⲽ', 'ⲿ' => 'Ⲿ', 'ⳁ' => 'Ⳁ', 'ⳃ' => 'Ⳃ', 'ⳅ' => 'Ⳅ', 'ⳇ' => 'Ⳇ', 'ⳉ' => 'Ⳉ', 'ⳋ' => 'Ⳋ', 'ⳍ' => 'Ⳍ', 'ⳏ' => 'Ⳏ', 'ⳑ' => 'Ⳑ', 'ⳓ' => 'Ⳓ', 'ⳕ' => 'Ⳕ', 'ⳗ' => 'Ⳗ', 'ⳙ' => 'Ⳙ', 'ⳛ' => 'Ⳛ', 'ⳝ' => 'Ⳝ', 'ⳟ' => 'Ⳟ', 'ⳡ' => 'Ⳡ', 'ⳣ' => 'Ⳣ', 'ⳬ' => 'Ⳬ', 'ⳮ' => 'Ⳮ', 'ⳳ' => 'Ⳳ', 'ⴀ' => 'Ⴀ', 'ⴁ' => 'Ⴁ', 'ⴂ' => 'Ⴂ', 'ⴃ' => 'Ⴃ', 'ⴄ' => 'Ⴄ', 'ⴅ' => 'Ⴅ', 'ⴆ' => 'Ⴆ', 'ⴇ' => 'Ⴇ', 'ⴈ' => 'Ⴈ', 'ⴉ' => 'Ⴉ', 'ⴊ' => 'Ⴊ', 'ⴋ' => 'Ⴋ', 'ⴌ' => 'Ⴌ', 'ⴍ' => 'Ⴍ', 'ⴎ' => 'Ⴎ', 'ⴏ' => 'Ⴏ', 'ⴐ' => 'Ⴐ', 'ⴑ' => 'Ⴑ', 'ⴒ' => 'Ⴒ', 'ⴓ' => 'Ⴓ', 'ⴔ' => 'Ⴔ', 'ⴕ' => 'Ⴕ', 'ⴖ' => 'Ⴖ', 'ⴗ' => 'Ⴗ', 'ⴘ' => 'Ⴘ', 'ⴙ' => 'Ⴙ', 'ⴚ' => 'Ⴚ', 'ⴛ' => 'Ⴛ', 'ⴜ' => 'Ⴜ', 'ⴝ' => 'Ⴝ', 'ⴞ' => 'Ⴞ', 'ⴟ' => 'Ⴟ', 'ⴠ' => 'Ⴠ', 'ⴡ' => 'Ⴡ', 'ⴢ' => 'Ⴢ', 'ⴣ' => 'Ⴣ', 'ⴤ' => 'Ⴤ', 'ⴥ' => 'Ⴥ', 'ⴧ' => 'Ⴧ', 'ⴭ' => 'Ⴭ', 'ꙁ' => 'Ꙁ', 'ꙃ' => 'Ꙃ', 'ꙅ' => 'Ꙅ', 'ꙇ' => 'Ꙇ', 'ꙉ' => 'Ꙉ', 'ꙋ' => 'Ꙋ', 'ꙍ' => 'Ꙍ', 'ꙏ' => 'Ꙏ', 'ꙑ' => 'Ꙑ', 'ꙓ' => 'Ꙓ', 'ꙕ' => 'Ꙕ', 'ꙗ' => 'Ꙗ', 'ꙙ' => 'Ꙙ', 'ꙛ' => 'Ꙛ', 'ꙝ' => 'Ꙝ', 'ꙟ' => 'Ꙟ', 'ꙡ' => 'Ꙡ', 'ꙣ' => 'Ꙣ', 'ꙥ' => 'Ꙥ', 'ꙧ' => 'Ꙧ', 'ꙩ' => 'Ꙩ', 'ꙫ' => 'Ꙫ', 'ꙭ' => 'Ꙭ', 'ꚁ' => 'Ꚁ', 'ꚃ' => 'Ꚃ', 'ꚅ' => 'Ꚅ', 'ꚇ' => 'Ꚇ', 'ꚉ' => 'Ꚉ', 'ꚋ' => 'Ꚋ', 'ꚍ' => 'Ꚍ', 'ꚏ' => 'Ꚏ', 'ꚑ' => 'Ꚑ', 'ꚓ' => 'Ꚓ', 'ꚕ' => 'Ꚕ', 'ꚗ' => 'Ꚗ', 'ꚙ' => 'Ꚙ', 'ꚛ' => 'Ꚛ', 'ꜣ' => 'Ꜣ', 'ꜥ' => 'Ꜥ', 'ꜧ' => 'Ꜧ', 'ꜩ' => 'Ꜩ', 'ꜫ' => 'Ꜫ', 'ꜭ' => 'Ꜭ', 'ꜯ' => 'Ꜯ', 'ꜳ' => 'Ꜳ', 'ꜵ' => 'Ꜵ', 'ꜷ' => 'Ꜷ', 'ꜹ' => 'Ꜹ', 'ꜻ' => 'Ꜻ', 'ꜽ' => 'Ꜽ', 'ꜿ' => 'Ꜿ', 'ꝁ' => 'Ꝁ', 'ꝃ' => 'Ꝃ', 'ꝅ' => 'Ꝅ', 'ꝇ' => 'Ꝇ', 'ꝉ' => 'Ꝉ', 'ꝋ' => 'Ꝋ', 'ꝍ' => 'Ꝍ', 'ꝏ' => 'Ꝏ', 'ꝑ' => 'Ꝑ', 'ꝓ' => 'Ꝓ', 'ꝕ' => 'Ꝕ', 'ꝗ' => 'Ꝗ', 'ꝙ' => 'Ꝙ', 'ꝛ' => 'Ꝛ', 'ꝝ' => 'Ꝝ', 'ꝟ' => 'Ꝟ', 'ꝡ' => 'Ꝡ', 'ꝣ' => 'Ꝣ', 'ꝥ' => 'Ꝥ', 'ꝧ' => 'Ꝧ', 'ꝩ' => 'Ꝩ', 'ꝫ' => 'Ꝫ', 'ꝭ' => 'Ꝭ', 'ꝯ' => 'Ꝯ', 'ꝺ' => 'Ꝺ', 'ꝼ' => 'Ꝼ', 'ꝿ' => 'Ꝿ', 'ꞁ' => 'Ꞁ', 'ꞃ' => 'Ꞃ', 'ꞅ' => 'Ꞅ', 'ꞇ' => 'Ꞇ', 'ꞌ' => 'Ꞌ', 'ꞑ' => 'Ꞑ', 'ꞓ' => 'Ꞓ', 'ꞔ' => 'Ꞔ', 'ꞗ' => 'Ꞗ', 'ꞙ' => 'Ꞙ', 'ꞛ' => 'Ꞛ', 'ꞝ' => 'Ꞝ', 'ꞟ' => 'Ꞟ', 'ꞡ' => 'Ꞡ', 'ꞣ' => 'Ꞣ', 'ꞥ' => 'Ꞥ', 'ꞧ' => 'Ꞧ', 'ꞩ' => 'Ꞩ', 'ꞵ' => 'Ꞵ', 'ꞷ' => 'Ꞷ', 'ꞹ' => 'Ꞹ', 'ꞻ' => 'Ꞻ', 'ꞽ' => 'Ꞽ', 'ꞿ' => 'Ꞿ', 'ꟃ' => 'Ꟃ', 'ꟈ' => 'Ꟈ', 'ꟊ' => 'Ꟊ', 'ꟶ' => 'Ꟶ', 'ꭓ' => 'Ꭓ', 'ꭰ' => 'Ꭰ', 'ꭱ' => 'Ꭱ', 'ꭲ' => 'Ꭲ', 'ꭳ' => 'Ꭳ', 'ꭴ' => 'Ꭴ', 'ꭵ' => 'Ꭵ', 'ꭶ' => 'Ꭶ', 'ꭷ' => 'Ꭷ', 'ꭸ' => 'Ꭸ', 'ꭹ' => 'Ꭹ', 'ꭺ' => 'Ꭺ', 'ꭻ' => 'Ꭻ', 'ꭼ' => 'Ꭼ', 'ꭽ' => 'Ꭽ', 'ꭾ' => 'Ꭾ', 'ꭿ' => 'Ꭿ', 'ꮀ' => 'Ꮀ', 'ꮁ' => 'Ꮁ', 'ꮂ' => 'Ꮂ', 'ꮃ' => 'Ꮃ', 'ꮄ' => 'Ꮄ', 'ꮅ' => 'Ꮅ', 'ꮆ' => 'Ꮆ', 'ꮇ' => 'Ꮇ', 'ꮈ' => 'Ꮈ', 'ꮉ' => 'Ꮉ', 'ꮊ' => 'Ꮊ', 'ꮋ' => 'Ꮋ', 'ꮌ' => 'Ꮌ', 'ꮍ' => 'Ꮍ', 'ꮎ' => 'Ꮎ', 'ꮏ' => 'Ꮏ', 'ꮐ' => 'Ꮐ', 'ꮑ' => 'Ꮑ', 'ꮒ' => 'Ꮒ', 'ꮓ' => 'Ꮓ', 'ꮔ' => 'Ꮔ', 'ꮕ' => 'Ꮕ', 'ꮖ' => 'Ꮖ', 'ꮗ' => 'Ꮗ', 'ꮘ' => 'Ꮘ', 'ꮙ' => 'Ꮙ', 'ꮚ' => 'Ꮚ', 'ꮛ' => 'Ꮛ', 'ꮜ' => 'Ꮜ', 'ꮝ' => 'Ꮝ', 'ꮞ' => 'Ꮞ', 'ꮟ' => 'Ꮟ', 'ꮠ' => 'Ꮠ', 'ꮡ' => 'Ꮡ', 'ꮢ' => 'Ꮢ', 'ꮣ' => 'Ꮣ', 'ꮤ' => 'Ꮤ', 'ꮥ' => 'Ꮥ', 'ꮦ' => 'Ꮦ', 'ꮧ' => 'Ꮧ', 'ꮨ' => 'Ꮨ', 'ꮩ' => 'Ꮩ', 'ꮪ' => 'Ꮪ', 'ꮫ' => 'Ꮫ', 'ꮬ' => 'Ꮬ', 'ꮭ' => 'Ꮭ', 'ꮮ' => 'Ꮮ', 'ꮯ' => 'Ꮯ', 'ꮰ' => 'Ꮰ', 'ꮱ' => 'Ꮱ', 'ꮲ' => 'Ꮲ', 'ꮳ' => 'Ꮳ', 'ꮴ' => 'Ꮴ', 'ꮵ' => 'Ꮵ', 'ꮶ' => 'Ꮶ', 'ꮷ' => 'Ꮷ', 'ꮸ' => 'Ꮸ', 'ꮹ' => 'Ꮹ', 'ꮺ' => 'Ꮺ', 'ꮻ' => 'Ꮻ', 'ꮼ' => 'Ꮼ', 'ꮽ' => 'Ꮽ', 'ꮾ' => 'Ꮾ', 'ꮿ' => 'Ꮿ', 'a' => 'A', 'b' => 'B', 'c' => 'C', 'd' => 'D', 'e' => 'E', 'f' => 'F', 'g' => 'G', 'h' => 'H', 'i' => 'I', 'j' => 'J', 'k' => 'K', 'l' => 'L', 'm' => 'M', 'n' => 'N', 'o' => 'O', 'p' => 'P', 'q' => 'Q', 'r' => 'R', 's' => 'S', 't' => 'T', 'u' => 'U', 'v' => 'V', 'w' => 'W', 'x' => 'X', 'y' => 'Y', 'z' => 'Z', '𐐨' => '𐐀', '𐐩' => '𐐁', '𐐪' => '𐐂', '𐐫' => '𐐃', '𐐬' => '𐐄', '𐐭' => '𐐅', '𐐮' => '𐐆', '𐐯' => '𐐇', '𐐰' => '𐐈', '𐐱' => '𐐉', '𐐲' => '𐐊', '𐐳' => '𐐋', '𐐴' => '𐐌', '𐐵' => '𐐍', '𐐶' => '𐐎', '𐐷' => '𐐏', '𐐸' => '𐐐', '𐐹' => '𐐑', '𐐺' => '𐐒', '𐐻' => '𐐓', '𐐼' => '𐐔', '𐐽' => '𐐕', '𐐾' => '𐐖', '𐐿' => '𐐗', '𐑀' => '𐐘', '𐑁' => '𐐙', '𐑂' => '𐐚', '𐑃' => '𐐛', '𐑄' => '𐐜', '𐑅' => '𐐝', '𐑆' => '𐐞', '𐑇' => '𐐟', '𐑈' => '𐐠', '𐑉' => '𐐡', '𐑊' => '𐐢', '𐑋' => '𐐣', '𐑌' => '𐐤', '𐑍' => '𐐥', '𐑎' => '𐐦', '𐑏' => '𐐧', '𐓘' => '𐒰', '𐓙' => '𐒱', '𐓚' => '𐒲', '𐓛' => '𐒳', '𐓜' => '𐒴', '𐓝' => '𐒵', '𐓞' => '𐒶', '𐓟' => '𐒷', '𐓠' => '𐒸', '𐓡' => '𐒹', '𐓢' => '𐒺', '𐓣' => '𐒻', '𐓤' => '𐒼', '𐓥' => '𐒽', '𐓦' => '𐒾', '𐓧' => '𐒿', '𐓨' => '𐓀', '𐓩' => '𐓁', '𐓪' => '𐓂', '𐓫' => '𐓃', '𐓬' => '𐓄', '𐓭' => '𐓅', '𐓮' => '𐓆', '𐓯' => '𐓇', '𐓰' => '𐓈', '𐓱' => '𐓉', '𐓲' => '𐓊', '𐓳' => '𐓋', '𐓴' => '𐓌', '𐓵' => '𐓍', '𐓶' => '𐓎', '𐓷' => '𐓏', '𐓸' => '𐓐', '𐓹' => '𐓑', '𐓺' => '𐓒', '𐓻' => '𐓓', '𐳀' => '𐲀', '𐳁' => '𐲁', '𐳂' => '𐲂', '𐳃' => '𐲃', '𐳄' => '𐲄', '𐳅' => '𐲅', '𐳆' => '𐲆', '𐳇' => '𐲇', '𐳈' => '𐲈', '𐳉' => '𐲉', '𐳊' => '𐲊', '𐳋' => '𐲋', '𐳌' => '𐲌', '𐳍' => '𐲍', '𐳎' => '𐲎', '𐳏' => '𐲏', '𐳐' => '𐲐', '𐳑' => '𐲑', '𐳒' => '𐲒', '𐳓' => '𐲓', '𐳔' => '𐲔', '𐳕' => '𐲕', '𐳖' => '𐲖', '𐳗' => '𐲗', '𐳘' => '𐲘', '𐳙' => '𐲙', '𐳚' => '𐲚', '𐳛' => '𐲛', '𐳜' => '𐲜', '𐳝' => '𐲝', '𐳞' => '𐲞', '𐳟' => '𐲟', '𐳠' => '𐲠', '𐳡' => '𐲡', '𐳢' => '𐲢', '𐳣' => '𐲣', '𐳤' => '𐲤', '𐳥' => '𐲥', '𐳦' => '𐲦', '𐳧' => '𐲧', '𐳨' => '𐲨', '𐳩' => '𐲩', '𐳪' => '𐲪', '𐳫' => '𐲫', '𐳬' => '𐲬', '𐳭' => '𐲭', '𐳮' => '𐲮', '𐳯' => '𐲯', '𐳰' => '𐲰', '𐳱' => '𐲱', '𐳲' => '𐲲', '𑣀' => '𑢠', '𑣁' => '𑢡', '𑣂' => '𑢢', '𑣃' => '𑢣', '𑣄' => '𑢤', '𑣅' => '𑢥', '𑣆' => '𑢦', '𑣇' => '𑢧', '𑣈' => '𑢨', '𑣉' => '𑢩', '𑣊' => '𑢪', '𑣋' => '𑢫', '𑣌' => '𑢬', '𑣍' => '𑢭', '𑣎' => '𑢮', '𑣏' => '𑢯', '𑣐' => '𑢰', '𑣑' => '𑢱', '𑣒' => '𑢲', '𑣓' => '𑢳', '𑣔' => '𑢴', '𑣕' => '𑢵', '𑣖' => '𑢶', '𑣗' => '𑢷', '𑣘' => '𑢸', '𑣙' => '𑢹', '𑣚' => '𑢺', '𑣛' => '𑢻', '𑣜' => '𑢼', '𑣝' => '𑢽', '𑣞' => '𑢾', '𑣟' => '𑢿', '𖹠' => '𖹀', '𖹡' => '𖹁', '𖹢' => '𖹂', '𖹣' => '𖹃', '𖹤' => '𖹄', '𖹥' => '𖹅', '𖹦' => '𖹆', '𖹧' => '𖹇', '𖹨' => '𖹈', '𖹩' => '𖹉', '𖹪' => '𖹊', '𖹫' => '𖹋', '𖹬' => '𖹌', '𖹭' => '𖹍', '𖹮' => '𖹎', '𖹯' => '𖹏', '𖹰' => '𖹐', '𖹱' => '𖹑', '𖹲' => '𖹒', '𖹳' => '𖹓', '𖹴' => '𖹔', '𖹵' => '𖹕', '𖹶' => '𖹖', '𖹷' => '𖹗', '𖹸' => '𖹘', '𖹹' => '𖹙', '𖹺' => '𖹚', '𖹻' => '𖹛', '𖹼' => '𖹜', '𖹽' => '𖹝', '𖹾' => '𖹞', '𖹿' => '𖹟', '𞤢' => '𞤀', '𞤣' => '𞤁', '𞤤' => '𞤂', '𞤥' => '𞤃', '𞤦' => '𞤄', '𞤧' => '𞤅', '𞤨' => '𞤆', '𞤩' => '𞤇', '𞤪' => '𞤈', '𞤫' => '𞤉', '𞤬' => '𞤊', '𞤭' => '𞤋', '𞤮' => '𞤌', '𞤯' => '𞤍', '𞤰' => '𞤎', '𞤱' => '𞤏', '𞤲' => '𞤐', '𞤳' => '𞤑', '𞤴' => '𞤒', '𞤵' => '𞤓', '𞤶' => '𞤔', '𞤷' => '𞤕', '𞤸' => '𞤖', '𞤹' => '𞤗', '𞤺' => '𞤘', '𞤻' => '𞤙', '𞤼' => '𞤚', '𞤽' => '𞤛', '𞤾' => '𞤜', '𞤿' => '𞤝', '𞥀' => '𞤞', '𞥁' => '𞤟', '𞥂' => '𞤠', '𞥃' => '𞤡', 'ß' => 'SS', 'ff' => 'FF', 'fi' => 'FI', 'fl' => 'FL', 'ffi' => 'FFI', 'ffl' => 'FFL', 'ſt' => 'ST', 'st' => 'ST', 'և' => 'ԵՒ', 'ﬓ' => 'ՄՆ', 'ﬔ' => 'ՄԵ', 'ﬕ' => 'ՄԻ', 'ﬖ' => 'ՎՆ', 'ﬗ' => 'ՄԽ', 'ʼn' => 'ʼN', 'ΐ' => 'Ϊ́', 'ΰ' => 'Ϋ́', 'ǰ' => 'J̌', 'ẖ' => 'H̱', 'ẗ' => 'T̈', 'ẘ' => 'W̊', 'ẙ' => 'Y̊', 'ẚ' => 'Aʾ', 'ὐ' => 'Υ̓', 'ὒ' => 'Υ̓̀', 'ὔ' => 'Υ̓́', 'ὖ' => 'Υ̓͂', 'ᾶ' => 'Α͂', 'ῆ' => 'Η͂', 'ῒ' => 'Ϊ̀', 'ΐ' => 'Ϊ́', 'ῖ' => 'Ι͂', 'ῗ' => 'Ϊ͂', 'ῢ' => 'Ϋ̀', 'ΰ' => 'Ϋ́', 'ῤ' => 'Ρ̓', 'ῦ' => 'Υ͂', 'ῧ' => 'Ϋ͂', 'ῶ' => 'Ω͂', 'ᾈ' => 'ἈΙ', 'ᾉ' => 'ἉΙ', 'ᾊ' => 'ἊΙ', 'ᾋ' => 'ἋΙ', 'ᾌ' => 'ἌΙ', 'ᾍ' => 'ἍΙ', 'ᾎ' => 'ἎΙ', 'ᾏ' => 'ἏΙ', 'ᾘ' => 'ἨΙ', 'ᾙ' => 'ἩΙ', 'ᾚ' => 'ἪΙ', 'ᾛ' => 'ἫΙ', 'ᾜ' => 'ἬΙ', 'ᾝ' => 'ἭΙ', 'ᾞ' => 'ἮΙ', 'ᾟ' => 'ἯΙ', 'ᾨ' => 'ὨΙ', 'ᾩ' => 'ὩΙ', 'ᾪ' => 'ὪΙ', 'ᾫ' => 'ὫΙ', 'ᾬ' => 'ὬΙ', 'ᾭ' => 'ὭΙ', 'ᾮ' => 'ὮΙ', 'ᾯ' => 'ὯΙ', 'ᾼ' => 'ΑΙ', 'ῌ' => 'ΗΙ', 'ῼ' => 'ΩΙ', 'ᾲ' => 'ᾺΙ', 'ᾴ' => 'ΆΙ', 'ῂ' => 'ῊΙ', 'ῄ' => 'ΉΙ', 'ῲ' => 'ῺΙ', 'ῴ' => 'ΏΙ', 'ᾷ' => 'Α͂Ι', 'ῇ' => 'Η͂Ι', 'ῷ' => 'Ω͂Ι'); diff --git a/vendor-bundle/symfony/polyfill-mbstring/bootstrap.php b/vendor-bundle/symfony/polyfill-mbstring/bootstrap.php new file mode 100644 index 000000000..56eb11ebd --- /dev/null +++ b/vendor-bundle/symfony/polyfill-mbstring/bootstrap.php @@ -0,0 +1,258 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Mbstring as p; +if (\PHP_VERSION_ID >= 80000) { + return require __DIR__ . '/bootstrap80.php'; +} +if (!\function_exists('mb_convert_encoding')) { + function mb_convert_encoding($string, $to_encoding, $from_encoding = null) + { + return p\Mbstring::mb_convert_encoding($string, $to_encoding, $from_encoding); + } +} +if (!\function_exists('mb_decode_mimeheader')) { + function mb_decode_mimeheader($string) + { + return p\Mbstring::mb_decode_mimeheader($string); + } +} +if (!\function_exists('mb_encode_mimeheader')) { + function mb_encode_mimeheader($string, $charset = null, $transfer_encoding = null, $newline = "\r\n", $indent = 0) + { + return p\Mbstring::mb_encode_mimeheader($string, $charset, $transfer_encoding, $newline, $indent); + } +} +if (!\function_exists('mb_decode_numericentity')) { + function mb_decode_numericentity($string, $map, $encoding = null) + { + return p\Mbstring::mb_decode_numericentity($string, $map, $encoding); + } +} +if (!\function_exists('mb_encode_numericentity')) { + function mb_encode_numericentity($string, $map, $encoding = null, $hex = \false) + { + return p\Mbstring::mb_encode_numericentity($string, $map, $encoding, $hex); + } +} +if (!\function_exists('mb_convert_case')) { + function mb_convert_case($string, $mode, $encoding = null) + { + return p\Mbstring::mb_convert_case($string, $mode, $encoding); + } +} +if (!\function_exists('mb_internal_encoding')) { + function mb_internal_encoding($encoding = null) + { + return p\Mbstring::mb_internal_encoding($encoding); + } +} +if (!\function_exists('mb_language')) { + function mb_language($language = null) + { + return p\Mbstring::mb_language($language); + } +} +if (!\function_exists('mb_list_encodings')) { + function mb_list_encodings() + { + return p\Mbstring::mb_list_encodings(); + } +} +if (!\function_exists('mb_encoding_aliases')) { + function mb_encoding_aliases($encoding) + { + return p\Mbstring::mb_encoding_aliases($encoding); + } +} +if (!\function_exists('mb_check_encoding')) { + function mb_check_encoding($value = null, $encoding = null) + { + return p\Mbstring::mb_check_encoding($value, $encoding); + } +} +if (!\function_exists('mb_detect_encoding')) { + function mb_detect_encoding($string, $encodings = null, $strict = \false) + { + return p\Mbstring::mb_detect_encoding($string, $encodings, $strict); + } +} +if (!\function_exists('mb_detect_order')) { + function mb_detect_order($encoding = null) + { + return p\Mbstring::mb_detect_order($encoding); + } +} +if (!\function_exists('mb_parse_str')) { + function mb_parse_str($string, &$result = []) + { + \parse_str($string, $result); + return (bool) $result; + } +} +if (!\function_exists('mb_strlen')) { + function mb_strlen($string, $encoding = null) + { + return p\Mbstring::mb_strlen($string, $encoding); + } +} +if (!\function_exists('mb_strpos')) { + function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) + { + return p\Mbstring::mb_strpos($haystack, $needle, $offset, $encoding); + } +} +if (!\function_exists('mb_strtolower')) { + function mb_strtolower($string, $encoding = null) + { + return p\Mbstring::mb_strtolower($string, $encoding); + } +} +if (!\function_exists('mb_strtoupper')) { + function mb_strtoupper($string, $encoding = null) + { + return p\Mbstring::mb_strtoupper($string, $encoding); + } +} +if (!\function_exists('mb_substitute_character')) { + function mb_substitute_character($substitute_character = null) + { + return p\Mbstring::mb_substitute_character($substitute_character); + } +} +if (!\function_exists('mb_substr')) { + function mb_substr($string, $start, $length = 2147483647, $encoding = null) + { + return p\Mbstring::mb_substr($string, $start, $length, $encoding); + } +} +if (!\function_exists('mb_stripos')) { + function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) + { + return p\Mbstring::mb_stripos($haystack, $needle, $offset, $encoding); + } +} +if (!\function_exists('mb_stristr')) { + function mb_stristr($haystack, $needle, $before_needle = \false, $encoding = null) + { + return p\Mbstring::mb_stristr($haystack, $needle, $before_needle, $encoding); + } +} +if (!\function_exists('mb_strrchr')) { + function mb_strrchr($haystack, $needle, $before_needle = \false, $encoding = null) + { + return p\Mbstring::mb_strrchr($haystack, $needle, $before_needle, $encoding); + } +} +if (!\function_exists('mb_strrichr')) { + function mb_strrichr($haystack, $needle, $before_needle = \false, $encoding = null) + { + return p\Mbstring::mb_strrichr($haystack, $needle, $before_needle, $encoding); + } +} +if (!\function_exists('mb_strripos')) { + function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) + { + return p\Mbstring::mb_strripos($haystack, $needle, $offset, $encoding); + } +} +if (!\function_exists('mb_strrpos')) { + function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) + { + return p\Mbstring::mb_strrpos($haystack, $needle, $offset, $encoding); + } +} +if (!\function_exists('mb_strstr')) { + function mb_strstr($haystack, $needle, $before_needle = \false, $encoding = null) + { + return p\Mbstring::mb_strstr($haystack, $needle, $before_needle, $encoding); + } +} +if (!\function_exists('mb_get_info')) { + function mb_get_info($type = 'all') + { + return p\Mbstring::mb_get_info($type); + } +} +if (!\function_exists('mb_http_output')) { + function mb_http_output($encoding = null) + { + return p\Mbstring::mb_http_output($encoding); + } +} +if (!\function_exists('mb_strwidth')) { + function mb_strwidth($string, $encoding = null) + { + return p\Mbstring::mb_strwidth($string, $encoding); + } +} +if (!\function_exists('mb_substr_count')) { + function mb_substr_count($haystack, $needle, $encoding = null) + { + return p\Mbstring::mb_substr_count($haystack, $needle, $encoding); + } +} +if (!\function_exists('mb_output_handler')) { + function mb_output_handler($string, $status) + { + return p\Mbstring::mb_output_handler($string, $status); + } +} +if (!\function_exists('mb_http_input')) { + function mb_http_input($type = null) + { + return p\Mbstring::mb_http_input($type); + } +} +if (!\function_exists('mb_convert_variables')) { + function mb_convert_variables($to_encoding, $from_encoding, &...$vars) + { + return p\Mbstring::mb_convert_variables($to_encoding, $from_encoding, ...$vars); + } +} +if (!\function_exists('mb_ord')) { + function mb_ord($string, $encoding = null) + { + return p\Mbstring::mb_ord($string, $encoding); + } +} +if (!\function_exists('mb_chr')) { + function mb_chr($codepoint, $encoding = null) + { + return p\Mbstring::mb_chr($codepoint, $encoding); + } +} +if (!\function_exists('mb_scrub')) { + function mb_scrub($string, $encoding = null) + { + $encoding = null === $encoding ? \mb_internal_encoding() : $encoding; + return \mb_convert_encoding($string, $encoding, $encoding); + } +} +if (!\function_exists('mb_str_split')) { + function mb_str_split($string, $length = 1, $encoding = null) + { + return p\Mbstring::mb_str_split($string, $length, $encoding); + } +} +if (\extension_loaded('mbstring')) { + return; +} +if (!\defined('MB_CASE_UPPER')) { + \define('MB_CASE_UPPER', 0); +} +if (!\defined('MB_CASE_LOWER')) { + \define('MB_CASE_LOWER', 1); +} +if (!\defined('MB_CASE_TITLE')) { + \define('MB_CASE_TITLE', 2); +} diff --git a/vendor-bundle/symfony/polyfill-mbstring/bootstrap80.php b/vendor-bundle/symfony/polyfill-mbstring/bootstrap80.php new file mode 100644 index 000000000..8b86fd672 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-mbstring/bootstrap80.php @@ -0,0 +1,1458 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Mbstring as p; +if (!\function_exists('mb_convert_encoding')) { + function mb_convert_encoding($string, $to_encoding, $from_encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + if (!\is_array($string)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type array|string|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $string = (string) $string; + } + } + } + if (!\is_null($to_encoding)) { + if (!\is_string($to_encoding)) { + if (!(\is_string($to_encoding) || \is_object($to_encoding) && \method_exists($to_encoding, '__toString') || (\is_bool($to_encoding) || \is_numeric($to_encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($to_encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($to_encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $to_encoding = (string) $to_encoding; + } + } + } + if (!(\is_null($from_encoding) || \is_null($from_encoding))) { + if (!\is_string($from_encoding)) { + if (!(\is_string($from_encoding) || \is_object($from_encoding) && \method_exists($from_encoding, '__toString') || (\is_bool($from_encoding) || \is_numeric($from_encoding)))) { + if (!\is_array($from_encoding)) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($from_encoding) must be of type ?array|string|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($from_encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $from_encoding = (string) $from_encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_convert_encoding(isset($string) ? $string : '', (string) $to_encoding, $from_encoding); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_decode_mimeheader')) { + function mb_decode_mimeheader($string) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + $phabelReturn = p\Mbstring::mb_decode_mimeheader((string) $string); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_encode_mimeheader')) { + function mb_encode_mimeheader($string, $charset = null, $transfer_encoding = null, $newline = "\r\n", $indent = 0) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($charset)) { + if (!\is_string($charset)) { + if (!(\is_string($charset) || \is_object($charset) && \method_exists($charset, '__toString') || (\is_bool($charset) || \is_numeric($charset)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($charset) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($charset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $charset = (string) $charset; + } + } + } + if (!\is_null($transfer_encoding)) { + if (!\is_string($transfer_encoding)) { + if (!(\is_string($transfer_encoding) || \is_object($transfer_encoding) && \method_exists($transfer_encoding, '__toString') || (\is_bool($transfer_encoding) || \is_numeric($transfer_encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($transfer_encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($transfer_encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $transfer_encoding = (string) $transfer_encoding; + } + } + } + if (!\is_null($newline)) { + if (!\is_string($newline)) { + if (!(\is_string($newline) || \is_object($newline) && \method_exists($newline, '__toString') || (\is_bool($newline) || \is_numeric($newline)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($newline) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($newline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $newline = (string) $newline; + } + } + } + if (!\is_null($indent)) { + if (!\is_int($indent)) { + if (!(\is_bool($indent) || \is_numeric($indent))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($indent) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($indent) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $indent = (int) $indent; + } + } + } + $phabelReturn = p\Mbstring::mb_encode_mimeheader((string) $string, $charset, $transfer_encoding, (string) $newline, (int) $indent); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_decode_numericentity')) { + function mb_decode_numericentity($string, array $map, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_decode_numericentity((string) $string, $map, $encoding); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_encode_numericentity')) { + function mb_encode_numericentity($string, array $map, $encoding = null, $hex = \false) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + if (!\is_null($hex)) { + if (!\is_bool($hex)) { + if (!(\is_bool($hex) || \is_numeric($hex) || \is_string($hex))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($hex) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($hex) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $hex = (bool) $hex; + } + } + } + $phabelReturn = p\Mbstring::mb_encode_numericentity((string) $string, $map, $encoding, (bool) $hex); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_convert_case')) { + function mb_convert_case($string, $mode, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($mode)) { + if (!\is_int($mode)) { + if (!(\is_bool($mode) || \is_numeric($mode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($mode) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($mode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $mode = (int) $mode; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_convert_case((string) $string, (int) $mode, $encoding); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_internal_encoding')) { + function mb_internal_encoding($encoding = null) + { + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_internal_encoding($encoding); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_language')) { + function mb_language($language = null) + { + if (!\is_null($language)) { + if (!\is_string($language)) { + if (!(\is_string($language) || \is_object($language) && \method_exists($language, '__toString') || (\is_bool($language) || \is_numeric($language)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($language) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($language) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $language = (string) $language; + } + } + } + $phabelReturn = p\Mbstring::mb_language($language); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_list_encodings')) { + function mb_list_encodings() + { + $phabelReturn = p\Mbstring::mb_list_encodings(); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} +if (!\function_exists('mb_encoding_aliases')) { + function mb_encoding_aliases($encoding) + { + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_encoding_aliases((string) $encoding); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} +if (!\function_exists('mb_check_encoding')) { + function mb_check_encoding($value = null, $encoding = null) + { + if (!(\is_null($value) || \is_null($value))) { + if (!\is_string($value)) { + if (!(\is_string($value) || \is_object($value) && \method_exists($value, '__toString') || (\is_bool($value) || \is_numeric($value)))) { + if (!\is_array($value)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($value) must be of type ?array|string|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($value) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $value = (string) $value; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_check_encoding($value, $encoding); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_detect_encoding')) { + function mb_detect_encoding($string, $encodings = null, $strict = \false) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!(\is_null($encodings) || \is_null($encodings))) { + if (!\is_string($encodings)) { + if (!(\is_string($encodings) || \is_object($encodings) && \method_exists($encodings, '__toString') || (\is_bool($encodings) || \is_numeric($encodings)))) { + if (!\is_array($encodings)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encodings) must be of type ?array|string|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encodings) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $encodings = (string) $encodings; + } + } + } + if (!\is_null($strict)) { + if (!\is_bool($strict)) { + if (!(\is_bool($strict) || \is_numeric($strict) || \is_string($strict))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($strict) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($strict) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $strict = (bool) $strict; + } + } + } + $phabelReturn = p\Mbstring::mb_detect_encoding((string) $string, $encodings, (bool) $strict); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_detect_order')) { + function mb_detect_order($encoding = null) + { + if (!(\is_null($encoding) || \is_null($encoding))) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + if (!\is_array($encoding)) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($encoding) must be of type ?array|string|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_detect_order($encoding); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_parse_str')) { + function mb_parse_str($string, &$result = []) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + \parse_str((string) $string, $result); + $phabelReturn = (bool) $result; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strlen')) { + function mb_strlen($string, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strlen((string) $string, $encoding); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strpos')) { + function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strpos((string) $haystack, (string) $needle, (int) $offset, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strtolower')) { + function mb_strtolower($string, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strtolower((string) $string, $encoding); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strtoupper')) { + function mb_strtoupper($string, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strtoupper((string) $string, $encoding); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_substitute_character')) { + function mb_substitute_character($substitute_character = null) + { + if (!(\is_null($substitute_character) || \is_null($substitute_character))) { + if (!\is_int($substitute_character)) { + if (!(\is_bool($substitute_character) || \is_numeric($substitute_character))) { + if (!\is_string($substitute_character)) { + if (!(\is_string($substitute_character) || \is_object($substitute_character) && \method_exists($substitute_character, '__toString') || (\is_bool($substitute_character) || \is_numeric($substitute_character)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($substitute_character) must be of type ?string|int|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($substitute_character) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $substitute_character = (string) $substitute_character; + } + } + } else { + $substitute_character = (int) $substitute_character; + } + } + } + $phabelReturn = p\Mbstring::mb_substitute_character($substitute_character); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|int|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_substr')) { + function mb_substr($string, $start, $length = null, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($start)) { + if (!\is_int($start)) { + if (!(\is_bool($start) || \is_numeric($start))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($start) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($start) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $start = (int) $start; + } + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_substr((string) $string, (int) $start, $length, $encoding); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_stripos')) { + function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_stripos((string) $haystack, (string) $needle, (int) $offset, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_stristr')) { + function mb_stristr($haystack, $needle, $before_needle = \false, $encoding = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($before_needle)) { + if (!\is_bool($before_needle)) { + if (!(\is_bool($before_needle) || \is_numeric($before_needle) || \is_string($before_needle))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($before_needle) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($before_needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $before_needle = (bool) $before_needle; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_stristr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strrchr')) { + function mb_strrchr($haystack, $needle, $before_needle = \false, $encoding = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($before_needle)) { + if (!\is_bool($before_needle)) { + if (!(\is_bool($before_needle) || \is_numeric($before_needle) || \is_string($before_needle))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($before_needle) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($before_needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $before_needle = (bool) $before_needle; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strrchr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strrichr')) { + function mb_strrichr($haystack, $needle, $before_needle = \false, $encoding = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($before_needle)) { + if (!\is_bool($before_needle)) { + if (!(\is_bool($before_needle) || \is_numeric($before_needle) || \is_string($before_needle))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($before_needle) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($before_needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $before_needle = (bool) $before_needle; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strrichr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strripos')) { + function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strripos((string) $haystack, (string) $needle, (int) $offset, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strrpos')) { + function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($offset)) { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strrpos((string) $haystack, (string) $needle, (int) $offset, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strstr')) { + function mb_strstr($haystack, $needle, $before_needle = \false, $encoding = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($before_needle)) { + if (!\is_bool($before_needle)) { + if (!(\is_bool($before_needle) || \is_numeric($before_needle) || \is_string($before_needle))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($before_needle) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($before_needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $before_needle = (bool) $before_needle; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strstr((string) $haystack, (string) $needle, (bool) $before_needle, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_get_info')) { + function mb_get_info($type = 'all') + { + if (!\is_null($type)) { + if (!\is_string($type)) { + if (!(\is_string($type) || \is_object($type) && \method_exists($type, '__toString') || (\is_bool($type) || \is_numeric($type)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (string) $type; + } + } + } + $phabelReturn = p\Mbstring::mb_get_info((string) $type); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array|string|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_http_output')) { + function mb_http_output($encoding = null) + { + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_http_output($encoding); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string|bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_strwidth')) { + function mb_strwidth($string, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_strwidth((string) $string, $encoding); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_substr_count')) { + function mb_substr_count($haystack, $needle, $encoding = null) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_substr_count((string) $haystack, (string) $needle, $encoding); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_output_handler')) { + function mb_output_handler($string, $status) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($status)) { + if (!\is_int($status)) { + if (!(\is_bool($status) || \is_numeric($status))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($status) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($status) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $status = (int) $status; + } + } + } + $phabelReturn = p\Mbstring::mb_output_handler((string) $string, (int) $status); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_http_input')) { + function mb_http_input($type = null) + { + if (!\is_null($type)) { + if (!\is_string($type)) { + if (!(\is_string($type) || \is_object($type) && \method_exists($type, '__toString') || (\is_bool($type) || \is_numeric($type)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (string) $type; + } + } + } + $phabelReturn = p\Mbstring::mb_http_input($type); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|array|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_convert_variables')) { + function mb_convert_variables($to_encoding, $from_encoding, mixed &$var, mixed &...$vars) + { + if (!\is_null($to_encoding)) { + if (!\is_string($to_encoding)) { + if (!(\is_string($to_encoding) || \is_object($to_encoding) && \method_exists($to_encoding, '__toString') || (\is_bool($to_encoding) || \is_numeric($to_encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($to_encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($to_encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $to_encoding = (string) $to_encoding; + } + } + } + if (!\is_null($from_encoding)) { + if (!\is_string($from_encoding)) { + if (!(\is_string($from_encoding) || \is_object($from_encoding) && \method_exists($from_encoding, '__toString') || (\is_bool($from_encoding) || \is_numeric($from_encoding)))) { + if (!\is_array($from_encoding)) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($from_encoding) must be of type array|string|null, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($from_encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + } else { + $from_encoding = (string) $from_encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_convert_variables((string) $to_encoding, isset($from_encoding) ? $from_encoding : '', $var, ...$vars); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_ord')) { + function mb_ord($string, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_ord((string) $string, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_chr')) { + function mb_chr($codepoint, $encoding = null) + { + if (!\is_null($codepoint)) { + if (!\is_int($codepoint)) { + if (!(\is_bool($codepoint) || \is_numeric($codepoint))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($codepoint) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($codepoint) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $codepoint = (int) $codepoint; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_chr((int) $codepoint, $encoding); + if (!$phabelReturn instanceof false) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type false|string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_scrub')) { + function mb_scrub($string, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $encoding = isset($encoding) ? $encoding : \mb_internal_encoding(); + $phabelReturn = \mb_convert_encoding((string) $string, $encoding, $encoding); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('mb_str_split')) { + function mb_str_split($string, $length = 1, $encoding = null) + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + if (!\is_null($encoding)) { + if (!\is_string($encoding)) { + if (!(\is_string($encoding) || \is_object($encoding) && \method_exists($encoding, '__toString') || (\is_bool($encoding) || \is_numeric($encoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($encoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($encoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $encoding = (string) $encoding; + } + } + } + $phabelReturn = p\Mbstring::mb_str_split((string) $string, (int) $length, $encoding); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} +if (\extension_loaded('mbstring')) { + return; +} +if (!\defined('MB_CASE_UPPER')) { + \define('MB_CASE_UPPER', 0); +} +if (!\defined('MB_CASE_LOWER')) { + \define('MB_CASE_LOWER', 1); +} +if (!\defined('MB_CASE_TITLE')) { + \define('MB_CASE_TITLE', 2); +} diff --git a/vendor-bundle/symfony/polyfill-php72/Php72.php b/vendor-bundle/symfony/polyfill-php72/Php72.php new file mode 100644 index 000000000..e953b8cf9 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php72/Php72.php @@ -0,0 +1,176 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Polyfill\Php72; + +/** + * @author Nicolas Grekas + * @author Dariusz Rumiński + * + * @internal + */ +final class Php72 +{ + private static $hashMask; + public static function utf8_encode($s) + { + $s .= $s; + $len = \strlen($s); + for ($i = $len >> 1, $j = 0; $i < $len; ++$i, ++$j) { + switch (\true) { + case $s[$i] < "\x80": + $s[$j] = $s[$i]; + break; + case $s[$i] < "\xc0": + $s[$j] = "\xc2"; + $s[++$j] = $s[$i]; + break; + default: + $s[$j] = "\xc3"; + $s[++$j] = \chr(\ord($s[$i]) - 64); + break; + } + } + return \substr($s, 0, $j); + } + public static function utf8_decode($s) + { + $s = (string) $s; + $len = \strlen($s); + for ($i = 0, $j = 0; $i < $len; ++$i, ++$j) { + switch ($s[$i] & "\xf0") { + case "\xc0": + case "\xd0": + $c = \ord($s[$i] & "\x1f") << 6 | \ord($s[++$i] & "?"); + $s[$j] = $c < 256 ? \chr($c) : '?'; + break; + case "\xf0": + ++$i; + // no break + case "\xe0": + $s[$j] = '?'; + $i += 2; + break; + default: + $s[$j] = $s[$i]; + } + } + return \substr($s, 0, $j); + } + public static function php_os_family() + { + if ('\\' === \DIRECTORY_SEPARATOR) { + return 'Windows'; + } + $map = ['Darwin' => 'Darwin', 'DragonFly' => 'BSD', 'FreeBSD' => 'BSD', 'NetBSD' => 'BSD', 'OpenBSD' => 'BSD', 'Linux' => 'Linux', 'SunOS' => 'Solaris']; + return isset($map[\PHP_OS]) ? $map[\PHP_OS] : 'Unknown'; + } + public static function spl_object_id($object) + { + if (null === self::$hashMask) { + self::initHashMask(); + } + if (null === ($hash = \spl_object_hash($object))) { + return; + } + // On 32-bit systems, PHP_INT_SIZE is 4, + return self::$hashMask ^ \hexdec(\substr($hash, 16 - (\PHP_INT_SIZE * 2 - 1), \PHP_INT_SIZE * 2 - 1)); + } + public static function sapi_windows_vt100_support($stream, $enable = null) + { + if (!\is_resource($stream)) { + \trigger_error('sapi_windows_vt100_support() expects parameter 1 to be resource, ' . \gettype($stream) . ' given', \E_USER_WARNING); + return \false; + } + $meta = \stream_get_meta_data($stream); + if ('STDIO' !== $meta['stream_type']) { + \trigger_error('sapi_windows_vt100_support() was not able to analyze the specified stream', \E_USER_WARNING); + return \false; + } + // We cannot actually disable vt100 support if it is set + if (\false === $enable || !self::stream_isatty($stream)) { + return \false; + } + // The native function does not apply to stdin + $meta = \array_map('strtolower', $meta); + $stdin = 'php://stdin' === $meta['uri'] || 'php://fd/0' === $meta['uri']; + return !$stdin && (\false !== \getenv('ANSICON') || 'ON' === \getenv('ConEmuANSI') || 'xterm' === \getenv('TERM') || 'Hyper' === \getenv('TERM_PROGRAM')); + } + public static function stream_isatty($stream) + { + if (!\is_resource($stream)) { + \trigger_error('stream_isatty() expects parameter 1 to be resource, ' . \gettype($stream) . ' given', \E_USER_WARNING); + return \false; + } + if ('\\' === \DIRECTORY_SEPARATOR) { + $stat = @\fstat($stream); + // Check if formatted mode is S_IFCHR + return $stat ? 020000 === ($stat['mode'] & 0170000) : \false; + } + return \function_exists('posix_isatty') && @\posix_isatty($stream); + } + private static function initHashMask() + { + $obj = (object) []; + self::$hashMask = -1; + // check if we are nested in an output buffering handler to prevent a fatal error with ob_start() below + $obFuncs = ['ob_clean', 'ob_end_clean', 'ob_flush', 'ob_end_flush', 'ob_get_contents', 'ob_get_flush']; + foreach (\debug_backtrace(\PHP_VERSION_ID >= 50400 ? \DEBUG_BACKTRACE_IGNORE_ARGS : \false) as $frame) { + if (isset($frame['function'][0]) && !isset($frame['class']) && 'o' === $frame['function'][0] && \in_array($frame['function'], $obFuncs)) { + $frame['line'] = 0; + break; + } + } + if (!empty($frame['line'])) { + \ob_start(); + \debug_zval_dump($obj); + self::$hashMask = (int) \substr(\ob_get_clean(), 17); + } + self::$hashMask ^= \hexdec(\substr(\spl_object_hash($obj), 16 - (\PHP_INT_SIZE * 2 - 1), \PHP_INT_SIZE * 2 - 1)); + } + public static function mb_chr($code, $encoding = null) + { + if (0x80 > ($code %= 0x200000)) { + $s = \chr($code); + } elseif (0x800 > $code) { + $s = \chr(0xc0 | $code >> 6) . \chr(0x80 | $code & 0x3f); + } elseif (0x10000 > $code) { + $s = \chr(0xe0 | $code >> 12) . \chr(0x80 | $code >> 6 & 0x3f) . \chr(0x80 | $code & 0x3f); + } else { + $s = \chr(0xf0 | $code >> 18) . \chr(0x80 | $code >> 12 & 0x3f) . \chr(0x80 | $code >> 6 & 0x3f) . \chr(0x80 | $code & 0x3f); + } + if ('UTF-8' !== ($encoding = isset($encoding) ? $encoding : \mb_internal_encoding())) { + $s = \mb_convert_encoding($s, $encoding, 'UTF-8'); + } + return $s; + } + public static function mb_ord($s, $encoding = null) + { + if (null === $encoding) { + $s = \mb_convert_encoding($s, 'UTF-8'); + } elseif ('UTF-8' !== $encoding) { + $s = \mb_convert_encoding($s, 'UTF-8', $encoding); + } + if (1 === \strlen($s)) { + return \ord($s); + } + $code = ($s = \unpack('C*', \substr($s, 0, 4))) ? $s[1] : 0; + if (0xf0 <= $code) { + return ($code - 0xf0 << 18) + ($s[2] - 0x80 << 12) + ($s[3] - 0x80 << 6) + $s[4] - 0x80; + } + if (0xe0 <= $code) { + return ($code - 0xe0 << 12) + ($s[2] - 0x80 << 6) + $s[3] - 0x80; + } + if (0xc0 <= $code) { + return ($code - 0xc0 << 6) + $s[2] - 0x80; + } + return $code; + } +} diff --git a/vendor-bundle/symfony/polyfill-php72/bootstrap.php b/vendor-bundle/symfony/polyfill-php72/bootstrap.php new file mode 100644 index 000000000..1e7ae6e72 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php72/bootstrap.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Php72 as p; +if (\PHP_VERSION_ID >= 70200) { + return; +} +if (!\defined('PHP_FLOAT_DIG')) { + \define('PHP_FLOAT_DIG', 15); +} +if (!\defined('PHP_FLOAT_EPSILON')) { + \define('PHP_FLOAT_EPSILON', 2.2204460492503E-16); +} +if (!\defined('PHP_FLOAT_MIN')) { + \define('PHP_FLOAT_MIN', 2.2250738585072E-308); +} +if (!\defined('PHP_FLOAT_MAX')) { + \define('PHP_FLOAT_MAX', 1.7976931348623157E+308); +} +if (!\defined('PHP_OS_FAMILY')) { + \define('PHP_OS_FAMILY', p\Php72::php_os_family()); +} +if ('\\' === \DIRECTORY_SEPARATOR && !\function_exists('sapi_windows_vt100_support')) { + function sapi_windows_vt100_support($stream, $enable = null) + { + return p\Php72::sapi_windows_vt100_support($stream, $enable); + } +} +if (!\function_exists('stream_isatty')) { + function stream_isatty($stream) + { + return p\Php72::stream_isatty($stream); + } +} +if (!\function_exists('utf8_encode')) { + function utf8_encode($string) + { + return p\Php72::utf8_encode($string); + } +} +if (!\function_exists('utf8_decode')) { + function utf8_decode($string) + { + return p\Php72::utf8_decode($string); + } +} +if (!\function_exists('spl_object_id')) { + function spl_object_id($object) + { + return p\Php72::spl_object_id($object); + } +} +if (!\function_exists('mb_ord')) { + function mb_ord($string, $encoding = null) + { + return p\Php72::mb_ord($string, $encoding); + } +} +if (!\function_exists('mb_chr')) { + function mb_chr($codepoint, $encoding = null) + { + return p\Php72::mb_chr($codepoint, $encoding); + } +} +if (!\function_exists('mb_scrub')) { + function mb_scrub($string, $encoding = null) + { + $encoding = null === $encoding ? \mb_internal_encoding() : $encoding; + return \mb_convert_encoding($string, $encoding, $encoding); + } +} diff --git a/vendor-bundle/symfony/polyfill-php73/Php73.php b/vendor-bundle/symfony/polyfill-php73/Php73.php new file mode 100644 index 000000000..9e1ae7ccf --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php73/Php73.php @@ -0,0 +1,38 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Polyfill\Php73; + +/** + * @author Gabriel Caruso + * @author Ion Bazan + * + * @internal + */ +final class Php73 +{ + public static $startAt = 1533462603; + /** + * @param bool $asNum + * + * @return array|float|int + */ + public static function hrtime($asNum = \false) + { + $ns = \microtime(\false); + $s = \substr($ns, 11) - self::$startAt; + $ns = 1000000000.0 * (float) $ns; + if ($asNum) { + $ns += $s * 1000000000.0; + return \PHP_INT_SIZE === 4 ? $ns : (int) $ns; + } + return [$s, (int) $ns]; + } +} diff --git a/vendor-bundle/symfony/polyfill-php73/Resources/stubs/JsonException.php b/vendor-bundle/symfony/polyfill-php73/Resources/stubs/JsonException.php new file mode 100644 index 000000000..8154d503e --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php73/Resources/stubs/JsonException.php @@ -0,0 +1,24 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +class JsonException extends \Exception +{ +} +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +\class_alias('Phabel\\JsonException', 'JsonException', \false); diff --git a/vendor-bundle/symfony/polyfill-php73/bootstrap.php b/vendor-bundle/symfony/polyfill-php73/bootstrap.php new file mode 100644 index 000000000..11f58a0e0 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php73/bootstrap.php @@ -0,0 +1,44 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Php73 as p; +if (\PHP_VERSION_ID >= 70300) { + return; +} +if (!\function_exists('is_countable')) { + function is_countable($value) + { + return \is_array($value) || $value instanceof \Countable || $value instanceof \ResourceBundle || $value instanceof SimpleXmlElement; + } +} +if (!\function_exists('hrtime')) { + require_once __DIR__ . '/Php73.php'; + p\Php73::$startAt = (int) \microtime(\true); + function hrtime($as_number = \false) + { + return p\Php73::hrtime($as_number); + } +} +if (!\function_exists('array_key_first')) { + function array_key_first(array $array) + { + foreach ($array as $key => $value) { + return $key; + } + } +} +if (!\function_exists('array_key_last')) { + function array_key_last(array $array) + { + return \key(\array_slice($array, -1, 1, \true)); + } +} diff --git a/vendor-bundle/symfony/polyfill-php74/Php74.php b/vendor-bundle/symfony/polyfill-php74/Php74.php new file mode 100644 index 000000000..32af50c79 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php74/Php74.php @@ -0,0 +1,75 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Polyfill\Php74; + +/** + * @author Ion Bazan + * + * @internal + */ +final class Php74 +{ + public static function get_mangled_object_vars($obj) + { + if (!\is_object($obj)) { + \trigger_error('get_mangled_object_vars() expects parameter 1 to be object, ' . \gettype($obj) . ' given', \E_USER_WARNING); + return null; + } + if ($obj instanceof \ArrayIterator || $obj instanceof \ArrayObject) { + $reflector = new \ReflectionClass($obj instanceof \ArrayIterator ? 'ArrayIterator' : 'ArrayObject'); + $flags = $reflector->getMethod('getFlags')->invoke($obj); + $reflector = $reflector->getMethod('setFlags'); + $reflector->invoke($obj, $flags & \ArrayObject::STD_PROP_LIST ? 0 : \ArrayObject::STD_PROP_LIST); + $arr = (array) $obj; + $reflector->invoke($obj, $flags); + } else { + $arr = (array) $obj; + } + return \array_combine(\array_keys($arr), \array_values($arr)); + } + public static function mb_str_split($string, $split_length = 1, $encoding = null) + { + if (null !== $string && !\is_scalar($string) && !(\is_object($string) && \method_exists($string, '__toString'))) { + \trigger_error('mb_str_split() expects parameter 1 to be string, ' . \gettype($string) . ' given', \E_USER_WARNING); + return null; + } + if (1 > ($split_length = (int) $split_length)) { + \trigger_error('The length of each segment must be greater than zero', \E_USER_WARNING); + return \false; + } + if (null === $encoding) { + $encoding = \mb_internal_encoding(); + } + if ('UTF-8' === $encoding || \in_array(\strtoupper($encoding), ['UTF-8', 'UTF8'], \true)) { + return \preg_split("/(.{{$split_length}})/u", $string, null, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY); + } + $result = []; + $length = \mb_strlen($string, $encoding); + for ($i = 0; $i < $length; $i += $split_length) { + $result[] = \mb_substr($string, $i, $split_length, $encoding); + } + return $result; + } + public static function password_algos() + { + $algos = []; + if (\defined('PASSWORD_BCRYPT')) { + $algos[] = \PASSWORD_BCRYPT; + } + if (\defined('PASSWORD_ARGON2I')) { + $algos[] = \PASSWORD_ARGON2I; + } + if (\defined('PASSWORD_ARGON2ID')) { + $algos[] = \PASSWORD_ARGON2ID; + } + return $algos; + } +} diff --git a/vendor-bundle/symfony/polyfill-php74/bootstrap.php b/vendor-bundle/symfony/polyfill-php74/bootstrap.php new file mode 100644 index 000000000..fc2ca06d1 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php74/bootstrap.php @@ -0,0 +1,34 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Php74 as p; +if (\PHP_VERSION_ID >= 70400) { + return; +} +if (!\function_exists('get_mangled_object_vars')) { + function get_mangled_object_vars($object) + { + return p\Php74::get_mangled_object_vars($object); + } +} +if (!\function_exists('mb_str_split') && \function_exists('mb_substr')) { + function mb_str_split($string, $length = 1, $encoding = null) + { + return p\Php74::mb_str_split($string, $length, $encoding); + } +} +if (!\function_exists('password_algos')) { + function password_algos() + { + return p\Php74::password_algos(); + } +} diff --git a/vendor-bundle/symfony/polyfill-php80/Php80.php b/vendor-bundle/symfony/polyfill-php80/Php80.php new file mode 100644 index 000000000..a1e7edaeb --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php80/Php80.php @@ -0,0 +1,349 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Polyfill\Php80; + +/** + * @author Ion Bazan + * @author Nico Oelgart + * @author Nicolas Grekas + * + * @internal + */ +final class Php80 +{ + public static function fdiv($dividend, $divisor) + { + if (!\is_float($dividend)) { + if (!(\is_bool($dividend) || \is_numeric($dividend))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($dividend) must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($dividend) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $dividend = (double) $dividend; + } + } + if (!\is_float($divisor)) { + if (!(\is_bool($divisor) || \is_numeric($divisor))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($divisor) must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($divisor) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $divisor = (double) $divisor; + } + } + $phabelReturn = @($dividend / $divisor); + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + public static function get_debug_type($value) + { + switch (\true) { + case null === $value: + $phabelReturn = 'null'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \is_bool($value): + $phabelReturn = 'bool'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \is_string($value): + $phabelReturn = 'string'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \is_array($value): + $phabelReturn = 'array'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \is_int($value): + $phabelReturn = 'int'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \is_float($value): + $phabelReturn = 'float'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \is_object($value): + break; + case $value instanceof \__PHP_Incomplete_Class: + $phabelReturn = '__PHP_Incomplete_Class'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + default: + if (null === ($type = @\get_resource_type($value))) { + $phabelReturn = 'unknown'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if ('Unknown' === $type) { + $type = 'closed'; + } + $phabelReturn = "resource ({$type})"; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $class = \get_class($value); + if (\false === \strpos($class, '@')) { + $phabelReturn = $class; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = ((\get_parent_class($class) ?: \key(\class_implements($class))) ?: 'class') . '@anonymous'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public static function get_resource_id($res) + { + if (!\is_resource($res) && null === @\get_resource_type($res)) { + throw new \TypeError(\sprintf('Argument 1 passed to get_resource_id() must be of the type resource, %s given', \get_debug_type($res))); + } + $phabelReturn = (int) $res; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + public static function preg_last_error_msg() + { + switch (\preg_last_error()) { + case \PREG_INTERNAL_ERROR: + $phabelReturn = 'Internal error'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \PREG_BAD_UTF8_ERROR: + $phabelReturn = 'Malformed UTF-8 characters, possibly incorrectly encoded'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \PREG_BAD_UTF8_OFFSET_ERROR: + $phabelReturn = 'The offset did not correspond to the beginning of a valid UTF-8 code point'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \PREG_BACKTRACK_LIMIT_ERROR: + $phabelReturn = 'Backtrack limit exhausted'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \PREG_RECURSION_LIMIT_ERROR: + $phabelReturn = 'Recursion limit exhausted'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \PREG_JIT_STACKLIMIT_ERROR: + $phabelReturn = 'JIT stack limit exhausted'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + case \PREG_NO_ERROR: + $phabelReturn = 'No error'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + default: + $phabelReturn = 'Unknown error'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + public static function str_contains($haystack, $needle) + { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + $phabelReturn = '' === $needle || \false !== \strpos($haystack, $needle); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public static function str_starts_with($haystack, $needle) + { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + $phabelReturn = 0 === \strncmp($haystack, $needle, \strlen($needle)); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public static function str_ends_with($haystack, $needle) + { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + $phabelReturn = '' === $needle || '' !== $haystack && 0 === \substr_compare($haystack, $needle, -\strlen($needle)); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/polyfill-php80/Resources/stubs/Attribute.php b/vendor-bundle/symfony/polyfill-php80/Resources/stubs/Attribute.php new file mode 100644 index 000000000..889564fbb --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php80/Resources/stubs/Attribute.php @@ -0,0 +1,30 @@ +flags = $flags; + } +} +\class_alias('Phabel\\Attribute', 'Attribute', \false); diff --git a/vendor-bundle/symfony/polyfill-php80/Resources/stubs/Stringable.php b/vendor-bundle/symfony/polyfill-php80/Resources/stubs/Stringable.php new file mode 100644 index 000000000..145f31f92 --- /dev/null +++ b/vendor-bundle/symfony/polyfill-php80/Resources/stubs/Stringable.php @@ -0,0 +1,13 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use Phabel\Symfony\Polyfill\Php80 as p; +if (\PHP_VERSION_ID >= 80000) { + return; +} +if (!\defined('FILTER_VALIDATE_BOOL') && \defined('FILTER_VALIDATE_BOOLEAN')) { + \define('FILTER_VALIDATE_BOOL', \FILTER_VALIDATE_BOOLEAN); +} +if (!\function_exists('fdiv')) { + function fdiv($num1, $num2) + { + if (!\is_float($num1)) { + if (!(\is_bool($num1) || \is_numeric($num1))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($num1) must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($num1) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $num1 = (double) $num1; + } + } + if (!\is_float($num2)) { + if (!(\is_bool($num2) || \is_numeric($num2))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($num2) must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($num2) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $num2 = (double) $num2; + } + } + $phabelReturn = p\Php80::fdiv($num1, $num2); + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('preg_last_error_msg')) { + function preg_last_error_msg() + { + $phabelReturn = p\Php80::preg_last_error_msg(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('str_contains')) { + function str_contains($haystack, $needle) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + $phabelReturn = p\Php80::str_contains(isset($haystack) ? $haystack : '', isset($needle) ? $needle : ''); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('str_starts_with')) { + function str_starts_with($haystack, $needle) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + $phabelReturn = p\Php80::str_starts_with(isset($haystack) ? $haystack : '', isset($needle) ? $needle : ''); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('str_ends_with')) { + function str_ends_with($haystack, $needle) + { + if (!\is_null($haystack)) { + if (!\is_string($haystack)) { + if (!(\is_string($haystack) || \is_object($haystack) && \method_exists($haystack, '__toString') || (\is_bool($haystack) || \is_numeric($haystack)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($haystack) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haystack) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haystack = (string) $haystack; + } + } + } + if (!\is_null($needle)) { + if (!\is_string($needle)) { + if (!(\is_string($needle) || \is_object($needle) && \method_exists($needle, '__toString') || (\is_bool($needle) || \is_numeric($needle)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($needle) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($needle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $needle = (string) $needle; + } + } + } + $phabelReturn = p\Php80::str_ends_with(isset($haystack) ? $haystack : '', isset($needle) ? $needle : ''); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('get_debug_type')) { + function get_debug_type($value) + { + $phabelReturn = p\Php80::get_debug_type($value); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} +if (!\function_exists('get_resource_id')) { + function get_resource_id($resource) + { + $phabelReturn = p\Php80::get_resource_id($resource); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/process/Exception/ExceptionInterface.php b/vendor-bundle/symfony/process/Exception/ExceptionInterface.php new file mode 100644 index 000000000..ff38fb17b --- /dev/null +++ b/vendor-bundle/symfony/process/Exception/ExceptionInterface.php @@ -0,0 +1,20 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Exception; + +/** + * Marker Interface for the Process Component. + * + * @author Johannes M. Schmitt + */ +interface ExceptionInterface extends \Throwable +{ +} diff --git a/vendor-bundle/symfony/process/Exception/InvalidArgumentException.php b/vendor-bundle/symfony/process/Exception/InvalidArgumentException.php new file mode 100644 index 000000000..a21909a4e --- /dev/null +++ b/vendor-bundle/symfony/process/Exception/InvalidArgumentException.php @@ -0,0 +1,20 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Exception; + +/** + * InvalidArgumentException for the Process Component. + * + * @author Romain Neutron + */ +class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/process/Exception/LogicException.php b/vendor-bundle/symfony/process/Exception/LogicException.php new file mode 100644 index 000000000..f37ce0bca --- /dev/null +++ b/vendor-bundle/symfony/process/Exception/LogicException.php @@ -0,0 +1,20 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Exception; + +/** + * LogicException for the Process Component. + * + * @author Romain Neutron + */ +class LogicException extends \LogicException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/process/Exception/ProcessFailedException.php b/vendor-bundle/symfony/process/Exception/ProcessFailedException.php new file mode 100644 index 000000000..c1a847c8e --- /dev/null +++ b/vendor-bundle/symfony/process/Exception/ProcessFailedException.php @@ -0,0 +1,42 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Exception; + +use Phabel\Symfony\Component\Process\Process; +/** + * Exception for failed processes. + * + * @author Johannes M. Schmitt + */ +class ProcessFailedException extends RuntimeException +{ + private $process; + public function __construct(Process $process) + { + if ($process->isSuccessful()) { + throw new InvalidArgumentException('Expected a failed process, but the given process was successful.'); + } + $error = \sprintf('The command "%s" failed. + +Exit Code: %s(%s) + +Working directory: %s', $process->getCommandLine(), $process->getExitCode(), $process->getExitCodeText(), $process->getWorkingDirectory()); + if (!$process->isOutputDisabled()) { + $error .= \sprintf("\n\nOutput:\n================\n%s\n\nError Output:\n================\n%s", $process->getOutput(), $process->getErrorOutput()); + } + parent::__construct($error); + $this->process = $process; + } + public function getProcess() + { + return $this->process; + } +} diff --git a/vendor-bundle/symfony/process/Exception/ProcessSignaledException.php b/vendor-bundle/symfony/process/Exception/ProcessSignaledException.php new file mode 100644 index 000000000..16d177dab --- /dev/null +++ b/vendor-bundle/symfony/process/Exception/ProcessSignaledException.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Exception; + +use Phabel\Symfony\Component\Process\Process; +/** + * Exception that is thrown when a process has been signaled. + * + * @author Sullivan Senechal + */ +final class ProcessSignaledException extends RuntimeException +{ + private $process; + public function __construct(Process $process) + { + $this->process = $process; + parent::__construct(\sprintf('The process has been signaled with signal "%s".', $process->getTermSignal())); + } + public function getProcess() + { + $phabelReturn = $this->process; + if (!$phabelReturn instanceof Process) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type Process, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function getSignal() + { + $phabelReturn = $this->getProcess()->getTermSignal(); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/process/Exception/ProcessTimedOutException.php b/vendor-bundle/symfony/process/Exception/ProcessTimedOutException.php new file mode 100644 index 000000000..34119d59e --- /dev/null +++ b/vendor-bundle/symfony/process/Exception/ProcessTimedOutException.php @@ -0,0 +1,61 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Exception; + +use Phabel\Symfony\Component\Process\Process; +/** + * Exception that is thrown when a process times out. + * + * @author Johannes M. Schmitt + */ +class ProcessTimedOutException extends RuntimeException +{ + const TYPE_GENERAL = 1; + const TYPE_IDLE = 2; + private $process; + private $timeoutType; + public function __construct(Process $process, $timeoutType) + { + if (!\is_int($timeoutType)) { + if (!(\is_bool($timeoutType) || \is_numeric($timeoutType))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($timeoutType) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeoutType) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeoutType = (int) $timeoutType; + } + } + $this->process = $process; + $this->timeoutType = $timeoutType; + parent::__construct(\sprintf('The process "%s" exceeded the timeout of %s seconds.', $process->getCommandLine(), $this->getExceededTimeout())); + } + public function getProcess() + { + return $this->process; + } + public function isGeneralTimeout() + { + return self::TYPE_GENERAL === $this->timeoutType; + } + public function isIdleTimeout() + { + return self::TYPE_IDLE === $this->timeoutType; + } + public function getExceededTimeout() + { + switch ($this->timeoutType) { + case self::TYPE_GENERAL: + return $this->process->getTimeout(); + case self::TYPE_IDLE: + return $this->process->getIdleTimeout(); + default: + throw new \LogicException(\sprintf('Unknown timeout type "%d".', $this->timeoutType)); + } + } +} diff --git a/vendor-bundle/symfony/process/Exception/RuntimeException.php b/vendor-bundle/symfony/process/Exception/RuntimeException.php new file mode 100644 index 000000000..2b4348c20 --- /dev/null +++ b/vendor-bundle/symfony/process/Exception/RuntimeException.php @@ -0,0 +1,20 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Exception; + +/** + * RuntimeException for the Process Component. + * + * @author Johannes M. Schmitt + */ +class RuntimeException extends \RuntimeException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/process/ExecutableFinder.php b/vendor-bundle/symfony/process/ExecutableFinder.php new file mode 100644 index 000000000..d8287152f --- /dev/null +++ b/vendor-bundle/symfony/process/ExecutableFinder.php @@ -0,0 +1,100 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process; + +/** + * Generic executable finder. + * + * @author Fabien Potencier + * @author Johannes M. Schmitt + */ +class ExecutableFinder +{ + private $suffixes = ['.exe', '.bat', '.cmd', '.com']; + /** + * Replaces default suffixes of executable. + */ + public function setSuffixes(array $suffixes) + { + $this->suffixes = $suffixes; + } + /** + * Adds new possible suffix to check for executable. + */ + public function addSuffix($suffix) + { + if (!\is_string($suffix)) { + if (!(\is_string($suffix) || \is_object($suffix) && \method_exists($suffix, '__toString') || (\is_bool($suffix) || \is_numeric($suffix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($suffix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($suffix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $suffix = (string) $suffix; + } + } + $this->suffixes[] = $suffix; + } + /** + * Finds an executable by name. + * + * @param string $name The executable name (without the extension) + * @param string|null $default The default to return if no executable is found + * @param array $extraDirs Additional dirs to check into + * + * @return string|null The executable path or default value + */ + public function find($name, $default = null, array $extraDirs = []) + { + if (!\is_string($name)) { + if (!(\is_string($name) || \is_object($name) && \method_exists($name, '__toString') || (\is_bool($name) || \is_numeric($name)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($name) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($name) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $name = (string) $name; + } + } + if (!\is_null($default)) { + if (!\is_string($default)) { + if (!(\is_string($default) || \is_object($default) && \method_exists($default, '__toString') || (\is_bool($default) || \is_numeric($default)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($default) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($default) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $default = (string) $default; + } + } + } + if (\ini_get('open_basedir')) { + $searchPath = \array_merge(\explode(\PATH_SEPARATOR, \ini_get('open_basedir')), $extraDirs); + $dirs = []; + foreach ($searchPath as $path) { + // Silencing against https://bugs.php.net/69240 + if (@\is_dir($path)) { + $dirs[] = $path; + } else { + if (\basename($path) == $name && @\is_executable($path)) { + return $path; + } + } + } + } else { + $dirs = \array_merge(\explode(\PATH_SEPARATOR, \getenv('PATH') ?: \getenv('Path')), $extraDirs); + } + $suffixes = ['']; + if ('\\' === \DIRECTORY_SEPARATOR) { + $pathExt = \getenv('PATHEXT'); + $suffixes = \array_merge($pathExt ? \explode(\PATH_SEPARATOR, $pathExt) : $this->suffixes, $suffixes); + } + foreach ($suffixes as $suffix) { + foreach ($dirs as $dir) { + if (@\is_file($file = $dir . \DIRECTORY_SEPARATOR . $name . $suffix) && ('\\' === \DIRECTORY_SEPARATOR || @\is_executable($file))) { + return $file; + } + } + } + return $default; + } +} diff --git a/vendor-bundle/symfony/process/InputStream.php b/vendor-bundle/symfony/process/InputStream.php new file mode 100644 index 000000000..771401f38 --- /dev/null +++ b/vendor-bundle/symfony/process/InputStream.php @@ -0,0 +1,84 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process; + +use Phabel\Symfony\Component\Process\Exception\RuntimeException; +/** + * Provides a way to continuously write to the input of a Process until the InputStream is closed. + * + * @author Nicolas Grekas + */ +class InputStream implements \IteratorAggregate +{ + /** @var callable|null */ + private $onEmpty = null; + private $input = []; + private $open = \true; + /** + * Sets a callback that is called when the write buffer becomes empty. + */ + public function onEmpty(callable $onEmpty = null) + { + $this->onEmpty = $onEmpty; + } + /** + * Appends an input to the write buffer. + * + * @param resource|string|int|float|bool|\Traversable|null $input The input to append as scalar, + * stream resource or \Traversable + */ + public function write($input) + { + if (null === $input) { + return; + } + if ($this->isClosed()) { + throw new RuntimeException(\sprintf('"%s" is closed.', static::class)); + } + $this->input[] = ProcessUtils::validateInput(__METHOD__, $input); + } + /** + * Closes the write buffer. + */ + public function close() + { + $this->open = \false; + } + /** + * Tells whether the write buffer is closed or not. + */ + public function isClosed() + { + return !$this->open; + } + /** + * @return \Traversable + */ + public function getIterator() + { + $this->open = \true; + while ($this->open || $this->input) { + if (!$this->input) { + (yield ''); + continue; + } + $current = \array_shift($this->input); + if ($current instanceof \Iterator) { + yield from $current; + } else { + (yield $current); + } + if (!$this->input && $this->open && null !== ($onEmpty = $this->onEmpty)) { + $this->write($onEmpty($this)); + } + } + } +} diff --git a/vendor-bundle/symfony/process/PhpExecutableFinder.php b/vendor-bundle/symfony/process/PhpExecutableFinder.php new file mode 100644 index 000000000..463d1f54b --- /dev/null +++ b/vendor-bundle/symfony/process/PhpExecutableFinder.php @@ -0,0 +1,92 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process; + +/** + * An executable finder specifically designed for the PHP executable. + * + * @author Fabien Potencier + * @author Johannes M. Schmitt + */ +class PhpExecutableFinder +{ + private $executableFinder; + public function __construct() + { + $this->executableFinder = new ExecutableFinder(); + } + /** + * Finds The PHP executable. + * + * @return string|false The PHP executable path or false if it cannot be found + */ + public function find($includeArgs = \true) + { + if (!\is_bool($includeArgs)) { + if (!(\is_bool($includeArgs) || \is_numeric($includeArgs) || \is_string($includeArgs))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($includeArgs) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($includeArgs) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $includeArgs = (bool) $includeArgs; + } + } + if ($php = \getenv('PHP_BINARY')) { + if (!\is_executable($php)) { + $command = '\\' === \DIRECTORY_SEPARATOR ? 'where' : 'command -v'; + if ($php = \strtok(\exec($command . ' ' . \escapeshellarg($php)), \PHP_EOL)) { + if (!\is_executable($php)) { + return \false; + } + } else { + return \false; + } + } + return $php; + } + $args = $this->findArguments(); + $args = $includeArgs && $args ? ' ' . \implode(' ', $args) : ''; + // PHP_BINARY return the current sapi executable + if (\PHP_BINARY && \in_array(\PHP_SAPI, ['cgi-fcgi', 'cli', 'cli-server', 'phpdbg'], \true)) { + return \PHP_BINARY . $args; + } + if ($php = \getenv('PHP_PATH')) { + if (!@\is_executable($php)) { + return \false; + } + return $php; + } + if ($php = \getenv('PHP_PEAR_PHP_BIN')) { + if (@\is_executable($php)) { + return $php; + } + } + if (@\is_executable($php = \PHP_BINDIR . ('\\' === \DIRECTORY_SEPARATOR ? '\\php.exe' : '/php'))) { + return $php; + } + $dirs = [\PHP_BINDIR]; + if ('\\' === \DIRECTORY_SEPARATOR) { + $dirs[] = 'C:\\xampp\\php\\'; + } + return $this->executableFinder->find('php', \false, $dirs); + } + /** + * Finds the PHP executable arguments. + * + * @return array The PHP executable arguments + */ + public function findArguments() + { + $arguments = []; + if ('phpdbg' === \PHP_SAPI) { + $arguments[] = '-qrr'; + } + return $arguments; + } +} diff --git a/vendor-bundle/symfony/process/PhpProcess.php b/vendor-bundle/symfony/process/PhpProcess.php new file mode 100644 index 000000000..b9061970f --- /dev/null +++ b/vendor-bundle/symfony/process/PhpProcess.php @@ -0,0 +1,117 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process; + +use Phabel\Symfony\Component\Process\Exception\LogicException; +use Phabel\Symfony\Component\Process\Exception\RuntimeException; +/** + * PhpProcess runs a PHP script in an independent process. + * + * $p = new PhpProcess(''); + * $p->run(); + * print $p->getOutput()."\n"; + * + * @author Fabien Potencier + */ +class PhpProcess extends Process +{ + /** + * @param string $script The PHP script to run (as a string) + * @param string|null $cwd The working directory or null to use the working dir of the current PHP process + * @param array|null $env The environment variables or null to use the same environment as the current PHP process + * @param int $timeout The timeout in seconds + * @param array|null $php Path to the PHP binary to use with any additional arguments + */ + public function __construct($script, $cwd = null, array $env = null, $timeout = 60, $php = null) + { + if (!(\is_array($php) || \is_null($php))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($php) must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($php) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + if (!\is_string($script)) { + if (!(\is_string($script) || \is_object($script) && \method_exists($script, '__toString') || (\is_bool($script) || \is_numeric($script)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($script) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($script) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $script = (string) $script; + } + } + if (!\is_null($cwd)) { + if (!\is_string($cwd)) { + if (!(\is_string($cwd) || \is_object($cwd) && \method_exists($cwd, '__toString') || (\is_bool($cwd) || \is_numeric($cwd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($cwd) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cwd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cwd = (string) $cwd; + } + } + } + if (!\is_int($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($timeout) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (int) $timeout; + } + } + if (null === $php) { + $executableFinder = new PhpExecutableFinder(); + $php = $executableFinder->find(\false); + $php = \false === $php ? null : \array_merge([$php], $executableFinder->findArguments()); + } + if ('phpdbg' === \PHP_SAPI) { + $file = \tempnam(\sys_get_temp_dir(), 'dbg'); + \file_put_contents($file, $script); + \register_shutdown_function('unlink', $file); + $php[] = $file; + $script = null; + } + parent::__construct($php, $cwd, $env, $script, $timeout); + } + /** + * {@inheritdoc} + */ + public static function fromShellCommandline($command, $cwd = null, array $env = null, $input = null, $timeout = 60) + { + if (!\is_string($command)) { + if (!(\is_string($command) || \is_object($command) && \method_exists($command, '__toString') || (\is_bool($command) || \is_numeric($command)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($command) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($command) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $command = (string) $command; + } + } + if (!\is_null($cwd)) { + if (!\is_string($cwd)) { + if (!(\is_string($cwd) || \is_object($cwd) && \method_exists($cwd, '__toString') || (\is_bool($cwd) || \is_numeric($cwd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($cwd) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cwd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cwd = (string) $cwd; + } + } + } + if (!\is_null($timeout)) { + if (!\is_float($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($timeout) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (double) $timeout; + } + } + } + throw new LogicException(\sprintf('The "%s()" method cannot be called when using "%s".', __METHOD__, self::class)); + } + /** + * {@inheritdoc} + */ + public function start(callable $callback = null, array $env = []) + { + if (null === $this->getCommandLine()) { + throw new RuntimeException('Unable to find the PHP executable.'); + } + parent::start($callback, $env); + } +} diff --git a/vendor-bundle/symfony/process/Pipes/AbstractPipes.php b/vendor-bundle/symfony/process/Pipes/AbstractPipes.php new file mode 100644 index 000000000..5d579b2c0 --- /dev/null +++ b/vendor-bundle/symfony/process/Pipes/AbstractPipes.php @@ -0,0 +1,204 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Pipes; + +use Phabel\Symfony\Component\Process\Exception\InvalidArgumentException; +/** + * @author Romain Neutron + * + * @internal + */ +abstract class AbstractPipes implements PipesInterface +{ + public $pipes = []; + private $inputBuffer = ''; + private $input; + private $blocked = \true; + private $lastError; + /** + * @param resource|string|int|float|bool|\Iterator|null $input + */ + public function __construct($input) + { + if (\is_resource($input) || $input instanceof \Iterator) { + $this->input = $input; + } elseif (\is_string($input)) { + $this->inputBuffer = $input; + } else { + $this->inputBuffer = (string) $input; + } + } + /** + * {@inheritdoc} + */ + public function close() + { + foreach ($this->pipes as $pipe) { + \fclose($pipe); + } + $this->pipes = []; + } + /** + * Returns true if a system call has been interrupted. + */ + protected function hasSystemCallBeenInterrupted() + { + $lastError = $this->lastError; + $this->lastError = null; + $phabelReturn = null !== $lastError && \false !== \stripos($lastError, 'interrupted system call'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + // stream_select returns false when the `select` system call is interrupted by an incoming signal + return $phabelReturn; + } + /** + * Unblocks streams. + */ + protected function unblock() + { + if (!$this->blocked) { + return; + } + foreach ($this->pipes as $pipe) { + \stream_set_blocking($pipe, 0); + } + if (\is_resource($this->input)) { + \stream_set_blocking($this->input, 0); + } + $this->blocked = \false; + } + /** + * Writes input to stdin. + * + * @throws InvalidArgumentException When an input iterator yields a non supported value + */ + protected function write() + { + if (!isset($this->pipes[0])) { + $phabelReturn = null; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $input = $this->input; + if ($input instanceof \Iterator) { + if (!$input->valid()) { + $input = null; + } elseif (\is_resource($input = $input->current())) { + \stream_set_blocking($input, 0); + } elseif (!isset($this->inputBuffer[0])) { + if (!\is_string($input)) { + if (!\is_scalar($input)) { + throw new InvalidArgumentException(\sprintf('"%s" yielded a value of type "%s", but only scalars and stream resources are supported.', \get_debug_type($this->input), \get_debug_type($input))); + } + $input = (string) $input; + } + $this->inputBuffer = $input; + $this->input->next(); + $input = null; + } else { + $input = null; + } + } + $r = $e = []; + $w = [$this->pipes[0]]; + // let's have a look if something changed in streams + if (\false === @\stream_select($r, $w, $e, 0, 0)) { + $phabelReturn = null; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + foreach ($w as $stdin) { + if (isset($this->inputBuffer[0])) { + $written = \fwrite($stdin, $this->inputBuffer); + $this->inputBuffer = \substr($this->inputBuffer, $written); + if (isset($this->inputBuffer[0])) { + $phabelReturn = [$this->pipes[0]]; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + } + if ($input) { + for (;;) { + $data = \fread($input, self::CHUNK_SIZE); + if (!isset($data[0])) { + break; + } + $written = \fwrite($stdin, $data); + $data = \substr($data, $written); + if (isset($data[0])) { + $this->inputBuffer = $data; + $phabelReturn = [$this->pipes[0]]; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + } + if (\feof($input)) { + if ($this->input instanceof \Iterator) { + $this->input->next(); + } else { + $this->input = null; + } + } + } + } + // no input to read on resource, buffer is empty + if (!isset($this->inputBuffer[0]) && !($this->input instanceof \Iterator ? $this->input->valid() : $this->input)) { + $this->input = null; + \fclose($this->pipes[0]); + unset($this->pipes[0]); + } elseif (!$w) { + $phabelReturn = [$this->pipes[0]]; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = null; + if (!(\is_array($phabelReturn) || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @internal + */ + public function handleError($type, $msg) + { + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + if (!\is_string($msg)) { + if (!(\is_string($msg) || \is_object($msg) && \method_exists($msg, '__toString') || (\is_bool($msg) || \is_numeric($msg)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($msg) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($msg) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $msg = (string) $msg; + } + } + $this->lastError = $msg; + } +} diff --git a/vendor-bundle/symfony/process/Pipes/PipesInterface.php b/vendor-bundle/symfony/process/Pipes/PipesInterface.php new file mode 100644 index 000000000..fb9d8fdf8 --- /dev/null +++ b/vendor-bundle/symfony/process/Pipes/PipesInterface.php @@ -0,0 +1,54 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Pipes; + +/** + * PipesInterface manages descriptors and pipes for the use of proc_open. + * + * @author Romain Neutron + * + * @internal + */ +interface PipesInterface +{ + const CHUNK_SIZE = 16384; + /** + * Returns an array of descriptors for the use of proc_open. + */ + public function getDescriptors(); + /** + * Returns an array of filenames indexed by their related stream in case these pipes use temporary files. + * + * @return string[] + */ + public function getFiles(); + /** + * Reads data in file handles and pipes. + * + * @param bool $blocking Whether to use blocking calls or not + * @param bool $close Whether to close pipes if they've reached EOF + * + * @return string[] An array of read data indexed by their fd + */ + public function readAndWrite($blocking, $close = \false); + /** + * Returns if the current state has open file handles or pipes. + */ + public function areOpen(); + /** + * Returns if pipes are able to read output. + */ + public function haveReadSupport(); + /** + * Closes file handles and pipes. + */ + public function close(); +} diff --git a/vendor-bundle/symfony/process/Pipes/UnixPipes.php b/vendor-bundle/symfony/process/Pipes/UnixPipes.php new file mode 100644 index 000000000..d96d50a53 --- /dev/null +++ b/vendor-bundle/symfony/process/Pipes/UnixPipes.php @@ -0,0 +1,212 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Pipes; + +use Phabel\Symfony\Component\Process\Process; +/** + * UnixPipes implementation uses unix pipes as handles. + * + * @author Romain Neutron + * + * @internal + */ +class UnixPipes extends AbstractPipes +{ + private $ttyMode; + private $ptyMode; + private $haveReadSupport; + public function __construct($ttyMode, $ptyMode, $input, $haveReadSupport) + { + if (!\is_null($ttyMode)) { + if (!\is_bool($ttyMode)) { + if (!(\is_bool($ttyMode) || \is_numeric($ttyMode) || \is_string($ttyMode))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($ttyMode) must be of type ?bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($ttyMode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $ttyMode = (bool) $ttyMode; + } + } + } + if (!\is_bool($ptyMode)) { + if (!(\is_bool($ptyMode) || \is_numeric($ptyMode) || \is_string($ptyMode))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($ptyMode) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($ptyMode) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $ptyMode = (bool) $ptyMode; + } + } + if (!\is_bool($haveReadSupport)) { + if (!(\is_bool($haveReadSupport) || \is_numeric($haveReadSupport) || \is_string($haveReadSupport))) { + throw new \TypeError(__METHOD__ . '(): Argument #4 ($haveReadSupport) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haveReadSupport) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haveReadSupport = (bool) $haveReadSupport; + } + } + $this->ttyMode = $ttyMode; + $this->ptyMode = $ptyMode; + $this->haveReadSupport = $haveReadSupport; + parent::__construct($input); + } + /** + * @return array + */ + public function __sleep() + { + throw new \BadMethodCallException('Cannot serialize ' . __CLASS__); + } + public function __wakeup() + { + throw new \BadMethodCallException('Cannot unserialize ' . __CLASS__); + } + public function __destruct() + { + $this->close(); + } + /** + * {@inheritdoc} + */ + public function getDescriptors() + { + if (!$this->haveReadSupport) { + $nullstream = \fopen('/dev/null', 'c'); + $phabelReturn = [['pipe', 'r'], $nullstream, $nullstream]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->ttyMode) { + $phabelReturn = [['file', '/dev/tty', 'r'], ['file', '/dev/tty', 'w'], ['file', '/dev/tty', 'w']]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($this->ptyMode && Process::isPtySupported()) { + $phabelReturn = [['pty'], ['pty'], ['pty']]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = [ + ['pipe', 'r'], + ['pipe', 'w'], + // stdout + ['pipe', 'w'], + ]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getFiles() + { + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function readAndWrite($blocking, $close = \false) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + if (!\is_bool($close)) { + if (!(\is_bool($close) || \is_numeric($close) || \is_string($close))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($close) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($close) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $close = (bool) $close; + } + } + $this->unblock(); + $w = $this->write(); + $read = $e = []; + $r = $this->pipes; + unset($r[0]); + // let's have a look if something changed in streams + \set_error_handler([$this, 'handleError']); + if (($r || $w) && \false === \stream_select($r, $w, $e, 0, $blocking ? Process::TIMEOUT_PRECISION * 1000000.0 : 0)) { + \restore_error_handler(); + // if a system call has been interrupted, forget about it, let's try again + // otherwise, an error occurred, let's reset pipes + if (!$this->hasSystemCallBeenInterrupted()) { + $this->pipes = []; + } + $phabelReturn = $read; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + \restore_error_handler(); + foreach ($r as $pipe) { + // prior PHP 5.4 the array passed to stream_select is modified and + // lose key association, we have to find back the key + $read[$type = \array_search($pipe, $this->pipes, \true)] = ''; + do { + $data = @\fread($pipe, self::CHUNK_SIZE); + $read[$type] .= $data; + } while (isset($data[0]) && ($close || isset($data[self::CHUNK_SIZE - 1]))); + if (!isset($read[$type][0])) { + unset($read[$type]); + } + if ($close && \feof($pipe)) { + \fclose($pipe); + unset($this->pipes[$type]); + } + } + $phabelReturn = $read; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function haveReadSupport() + { + $phabelReturn = $this->haveReadSupport; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function areOpen() + { + $phabelReturn = (bool) $this->pipes; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/process/Pipes/WindowsPipes.php b/vendor-bundle/symfony/process/Pipes/WindowsPipes.php new file mode 100644 index 000000000..b9d57fdc5 --- /dev/null +++ b/vendor-bundle/symfony/process/Pipes/WindowsPipes.php @@ -0,0 +1,227 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process\Pipes; + +use Phabel\Symfony\Component\Process\Exception\RuntimeException; +use Phabel\Symfony\Component\Process\Process; +/** + * WindowsPipes implementation uses temporary files as handles. + * + * @see https://bugs.php.net/51800 + * @see https://bugs.php.net/65650 + * + * @author Romain Neutron + * + * @internal + */ +class WindowsPipes extends AbstractPipes +{ + private $files = []; + private $fileHandles = []; + private $lockHandles = []; + private $readBytes = [Process::STDOUT => 0, Process::STDERR => 0]; + private $haveReadSupport; + public function __construct($input, $haveReadSupport) + { + if (!\is_bool($haveReadSupport)) { + if (!(\is_bool($haveReadSupport) || \is_numeric($haveReadSupport) || \is_string($haveReadSupport))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($haveReadSupport) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($haveReadSupport) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $haveReadSupport = (bool) $haveReadSupport; + } + } + $this->haveReadSupport = $haveReadSupport; + if ($this->haveReadSupport) { + // Fix for PHP bug #51800: reading from STDOUT pipe hangs forever on Windows if the output is too big. + // Workaround for this problem is to use temporary files instead of pipes on Windows platform. + // + // @see https://bugs.php.net/51800 + $pipes = [Process::STDOUT => Process::OUT, Process::STDERR => Process::ERR]; + $tmpDir = \sys_get_temp_dir(); + $lastError = 'unknown reason'; + \set_error_handler(function ($type, $msg) use(&$lastError) { + $lastError = $msg; + }); + for ($i = 0;; ++$i) { + foreach ($pipes as $pipe => $name) { + $file = \sprintf('%s\\sf_proc_%02X.%s', $tmpDir, $i, $name); + if (!($h = \fopen($file . '.lock', 'w'))) { + if (\file_exists($file . '.lock')) { + continue 2; + } + \restore_error_handler(); + throw new RuntimeException('A temporary file could not be opened to write the process output: ' . $lastError); + } + if (!\flock($h, \LOCK_EX | \LOCK_NB)) { + continue 2; + } + if (isset($this->lockHandles[$pipe])) { + \flock($this->lockHandles[$pipe], \LOCK_UN); + \fclose($this->lockHandles[$pipe]); + } + $this->lockHandles[$pipe] = $h; + if (!($h = \fopen($file, 'w')) || !\fclose($h) || !($h = \fopen($file, 'r'))) { + \flock($this->lockHandles[$pipe], \LOCK_UN); + \fclose($this->lockHandles[$pipe]); + unset($this->lockHandles[$pipe]); + continue 2; + } + $this->fileHandles[$pipe] = $h; + $this->files[$pipe] = $file; + } + break; + } + \restore_error_handler(); + } + parent::__construct($input); + } + /** + * @return array + */ + public function __sleep() + { + throw new \BadMethodCallException('Cannot serialize ' . __CLASS__); + } + public function __wakeup() + { + throw new \BadMethodCallException('Cannot unserialize ' . __CLASS__); + } + public function __destruct() + { + $this->close(); + } + /** + * {@inheritdoc} + */ + public function getDescriptors() + { + if (!$this->haveReadSupport) { + $nullstream = \fopen('NUL', 'c'); + $phabelReturn = [['pipe', 'r'], $nullstream, $nullstream]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = [['pipe', 'r'], ['file', 'NUL', 'w'], ['file', 'NUL', 'w']]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // We're not using pipe on Windows platform as it hangs (https://bugs.php.net/51800) + // We're not using file handles as it can produce corrupted output https://bugs.php.net/65650 + // So we redirect output within the commandline and pass the nul device to the process + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function getFiles() + { + $phabelReturn = $this->files; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function readAndWrite($blocking, $close = \false) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + if (!\is_bool($close)) { + if (!(\is_bool($close) || \is_numeric($close) || \is_string($close))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($close) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($close) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $close = (bool) $close; + } + } + $this->unblock(); + $w = $this->write(); + $read = $r = $e = []; + if ($blocking) { + if ($w) { + @\stream_select($r, $w, $e, 0, Process::TIMEOUT_PRECISION * 1000000.0); + } elseif ($this->fileHandles) { + \usleep(Process::TIMEOUT_PRECISION * 1000000.0); + } + } + foreach ($this->fileHandles as $type => $fileHandle) { + $data = \stream_get_contents($fileHandle, -1, $this->readBytes[$type]); + if (isset($data[0])) { + $this->readBytes[$type] += \strlen($data); + $read[$type] = $data; + } + if ($close) { + \ftruncate($fileHandle, 0); + \fclose($fileHandle); + \flock($this->lockHandles[$type], \LOCK_UN); + \fclose($this->lockHandles[$type]); + unset($this->fileHandles[$type], $this->lockHandles[$type]); + } + } + $phabelReturn = $read; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function haveReadSupport() + { + $phabelReturn = $this->haveReadSupport; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function areOpen() + { + $phabelReturn = $this->pipes && $this->fileHandles; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function close() + { + parent::close(); + foreach ($this->fileHandles as $type => $handle) { + \ftruncate($handle, 0); + \fclose($handle); + \flock($this->lockHandles[$type], \LOCK_UN); + \fclose($this->lockHandles[$type]); + } + $this->fileHandles = $this->lockHandles = []; + } +} diff --git a/vendor-bundle/symfony/process/Process.php b/vendor-bundle/symfony/process/Process.php new file mode 100644 index 000000000..aa3a725f7 --- /dev/null +++ b/vendor-bundle/symfony/process/Process.php @@ -0,0 +1,1847 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process; + +use Phabel\Symfony\Component\Process\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\Process\Exception\LogicException; +use Phabel\Symfony\Component\Process\Exception\ProcessFailedException; +use Phabel\Symfony\Component\Process\Exception\ProcessSignaledException; +use Phabel\Symfony\Component\Process\Exception\ProcessTimedOutException; +use Phabel\Symfony\Component\Process\Exception\RuntimeException; +use Phabel\Symfony\Component\Process\Pipes\PipesInterface; +use Phabel\Symfony\Component\Process\Pipes\UnixPipes; +use Phabel\Symfony\Component\Process\Pipes\WindowsPipes; +/** + * Process is a thin wrapper around proc_* functions to easily + * start independent PHP processes. + * + * @author Fabien Potencier + * @author Romain Neutron + */ +class Process implements \IteratorAggregate +{ + const ERR = 'err'; + const OUT = 'out'; + const STATUS_READY = 'ready'; + const STATUS_STARTED = 'started'; + const STATUS_TERMINATED = 'terminated'; + const STDIN = 0; + const STDOUT = 1; + const STDERR = 2; + // Timeout Precision in seconds. + const TIMEOUT_PRECISION = 0.2; + const ITER_NON_BLOCKING = 1; + // By default, iterating over outputs is a blocking call, use this flag to make it non-blocking + const ITER_KEEP_OUTPUT = 2; + // By default, outputs are cleared while iterating, use this flag to keep them in memory + const ITER_SKIP_OUT = 4; + // Use this flag to skip STDOUT while iterating + const ITER_SKIP_ERR = 8; + // Use this flag to skip STDERR while iterating + private $callback; + private $hasCallback = \false; + private $commandline; + private $cwd; + private $env; + private $input; + private $starttime; + private $lastOutputTime; + private $timeout; + private $idleTimeout; + private $exitcode; + private $fallbackStatus = []; + private $processInformation; + private $outputDisabled = \false; + private $stdout; + private $stderr; + private $process; + private $status = self::STATUS_READY; + private $incrementalOutputOffset = 0; + private $incrementalErrorOutputOffset = 0; + private $tty = \false; + private $pty; + private $options = ['suppress_errors' => \true, 'bypass_shell' => \true]; + private $useFileHandles = \false; + /** @var PipesInterface */ + private $processPipes; + private $latestSignal; + private static $sigchild; + /** + * Exit codes translation table. + * + * User-defined errors must use exit codes in the 64-113 range. + */ + public static $exitCodes = [ + 0 => 'OK', + 1 => 'General error', + 2 => 'Misuse of shell builtins', + 126 => 'Invoked command cannot execute', + 127 => 'Command not found', + 128 => 'Invalid exit argument', + // signals + 129 => 'Hangup', + 130 => 'Interrupt', + 131 => 'Quit and dump core', + 132 => 'Illegal instruction', + 133 => 'Trace/breakpoint trap', + 134 => 'Process aborted', + 135 => 'Bus error: "access to undefined portion of memory object"', + 136 => 'Floating point exception: "erroneous arithmetic operation"', + 137 => 'Kill (terminate immediately)', + 138 => 'User-defined 1', + 139 => 'Segmentation violation', + 140 => 'User-defined 2', + 141 => 'Write to pipe with no one reading', + 142 => 'Signal raised by alarm', + 143 => 'Termination (request to terminate)', + // 144 - not defined + 145 => 'Child process terminated, stopped (or continued*)', + 146 => 'Continue if stopped', + 147 => 'Stop executing temporarily', + 148 => 'Terminal stop signal', + 149 => 'Background process attempting to read from tty ("in")', + 150 => 'Background process attempting to write to tty ("out")', + 151 => 'Urgent data available on socket', + 152 => 'CPU time limit exceeded', + 153 => 'File size limit exceeded', + 154 => 'Signal raised by timer counting virtual time: "virtual timer expired"', + 155 => 'Profiling timer expired', + // 156 - not defined + 157 => 'Pollable event', + // 158 - not defined + 159 => 'Bad syscall', + ]; + /** + * @param array $command The command to run and its arguments listed as separate entries + * @param string|null $cwd The working directory or null to use the working dir of the current PHP process + * @param array|null $env The environment variables or null to use the same environment as the current PHP process + * @param mixed $input The input as stream resource, scalar or \Traversable, or null for no input + * @param int|float|null $timeout The timeout in seconds or null to disable + * + * @throws LogicException When proc_open is not installed + */ + public function __construct(array $command, $cwd = null, array $env = null, $input = null, $timeout = 60) + { + if (!\is_null($cwd)) { + if (!\is_string($cwd)) { + if (!(\is_string($cwd) || \is_object($cwd) && \method_exists($cwd, '__toString') || (\is_bool($cwd) || \is_numeric($cwd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($cwd) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cwd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cwd = (string) $cwd; + } + } + } + if (!\is_null($timeout)) { + if (!\is_float($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($timeout) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (double) $timeout; + } + } + } + if (!\function_exists('proc_open')) { + throw new LogicException('The Process class relies on proc_open, which is not available on your PHP installation.'); + } + $this->commandline = $command; + $this->cwd = $cwd; + // on Windows, if the cwd changed via chdir(), proc_open defaults to the dir where PHP was started + // on Gnu/Linux, PHP builds with --enable-maintainer-zts are also affected + // @see : https://bugs.php.net/51800 + // @see : https://bugs.php.net/50524 + if (null === $this->cwd && (\defined('ZEND_THREAD_SAFE') || '\\' === \DIRECTORY_SEPARATOR)) { + $this->cwd = \getcwd(); + } + if (null !== $env) { + $this->setEnv($env); + } + $this->setInput($input); + $this->setTimeout($timeout); + $this->useFileHandles = '\\' === \DIRECTORY_SEPARATOR; + $this->pty = \false; + } + /** + * Creates a Process instance as a command-line to be run in a shell wrapper. + * + * Command-lines are parsed by the shell of your OS (/bin/sh on Unix-like, cmd.exe on Windows.) + * This allows using e.g. pipes or conditional execution. In this mode, signals are sent to the + * shell wrapper and not to your commands. + * + * In order to inject dynamic values into command-lines, we strongly recommend using placeholders. + * This will save escaping values, which is not portable nor secure anyway: + * + * $process = Process::fromShellCommandline('my_command "$MY_VAR"'); + * $process->run(null, ['MY_VAR' => $theValue]); + * + * @param string $command The command line to pass to the shell of the OS + * @param string|null $cwd The working directory or null to use the working dir of the current PHP process + * @param array|null $env The environment variables or null to use the same environment as the current PHP process + * @param mixed $input The input as stream resource, scalar or \Traversable, or null for no input + * @param int|float|null $timeout The timeout in seconds or null to disable + * + * @return static + * + * @throws LogicException When proc_open is not installed + */ + public static function fromShellCommandline($command, $cwd = null, array $env = null, $input = null, $timeout = 60) + { + if (!\is_string($command)) { + if (!(\is_string($command) || \is_object($command) && \method_exists($command, '__toString') || (\is_bool($command) || \is_numeric($command)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($command) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($command) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $command = (string) $command; + } + } + if (!\is_null($cwd)) { + if (!\is_string($cwd)) { + if (!(\is_string($cwd) || \is_object($cwd) && \method_exists($cwd, '__toString') || (\is_bool($cwd) || \is_numeric($cwd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($cwd) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cwd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cwd = (string) $cwd; + } + } + } + if (!\is_null($timeout)) { + if (!\is_float($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #5 ($timeout) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (double) $timeout; + } + } + } + $process = new static([], $cwd, $env, $input, $timeout); + $process->commandline = $command; + return $process; + } + /** + * @return array + */ + public function __sleep() + { + throw new \BadMethodCallException('Cannot serialize ' . __CLASS__); + } + public function __wakeup() + { + throw new \BadMethodCallException('Cannot unserialize ' . __CLASS__); + } + public function __destruct() + { + if (isset($this->options['create_new_console']) ? $this->options['create_new_console'] : \false) { + $this->processPipes->close(); + } else { + $this->stop(0); + } + } + public function __clone() + { + $this->resetProcessData(); + } + /** + * Runs the process. + * + * The callback receives the type of output (out or err) and + * some bytes from the output in real-time. It allows to have feedback + * from the independent process during execution. + * + * The STDOUT and STDERR are also available after the process is finished + * via the getOutput() and getErrorOutput() methods. + * + * @param callable|null $callback A PHP callback to run whenever there is some + * output available on STDOUT or STDERR + * + * @return int The exit status code + * + * @throws RuntimeException When process can't be launched + * @throws RuntimeException When process is already running + * @throws ProcessTimedOutException When process timed out + * @throws ProcessSignaledException When process stopped after receiving signal + * @throws LogicException In case a callback is provided and output has been disabled + * + * @final + */ + public function run(callable $callback = null, array $env = []) + { + $this->start($callback, $env); + $phabelReturn = $this->wait(); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Runs the process. + * + * This is identical to run() except that an exception is thrown if the process + * exits with a non-zero exit code. + * + * @return $this + * + * @throws ProcessFailedException if the process didn't terminate successfully + * + * @final + */ + public function mustRun(callable $callback = null, array $env = []) + { + if (0 !== $this->run($callback, $env)) { + throw new ProcessFailedException($this); + } + $phabelReturn = $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Starts the process and returns after writing the input to STDIN. + * + * This method blocks until all STDIN data is sent to the process then it + * returns while the process runs in the background. + * + * The termination of the process can be awaited with wait(). + * + * The callback receives the type of output (out or err) and some bytes from + * the output in real-time while writing the standard input to the process. + * It allows to have feedback from the independent process during execution. + * + * @param callable|null $callback A PHP callback to run whenever there is some + * output available on STDOUT or STDERR + * + * @throws RuntimeException When process can't be launched + * @throws RuntimeException When process is already running + * @throws LogicException In case a callback is provided and output has been disabled + */ + public function start(callable $callback = null, array $env = []) + { + if ($this->isRunning()) { + throw new RuntimeException('Process is already running.'); + } + $this->resetProcessData(); + $this->starttime = $this->lastOutputTime = \microtime(\true); + $this->callback = $this->buildCallback($callback); + $this->hasCallback = null !== $callback; + $descriptors = $this->getDescriptors(); + if ($this->env) { + $env += $this->env; + } + $env += $this->getDefaultEnv(); + if (\is_array($commandline = $this->commandline)) { + $commandline = \implode(' ', \array_map([$this, 'escapeArgument'], $commandline)); + if ('\\' !== \DIRECTORY_SEPARATOR) { + // exec is mandatory to deal with sending a signal to the process + $commandline = 'exec ' . $commandline; + } + } else { + $commandline = $this->replacePlaceholders($commandline, $env); + } + if ('\\' === \DIRECTORY_SEPARATOR) { + $commandline = $this->prepareWindowsCommandLine($commandline, $env); + } elseif (!$this->useFileHandles && $this->isSigchildEnabled()) { + // last exit code is output on the fourth pipe and caught to work around --enable-sigchild + $descriptors[3] = ['pipe', 'w']; + // See https://unix.stackexchange.com/questions/71205/background-process-pipe-input + $commandline = '{ (' . $commandline . ') <&3 3<&- 3>/dev/null & } 3<&0;'; + $commandline .= 'pid=$!; echo $pid >&3; wait $pid; code=$?; echo $code >&3; exit $code'; + // Workaround for the bug, when PTS functionality is enabled. + // @see : https://bugs.php.net/69442 + $ptsWorkaround = \fopen(__FILE__, 'r'); + } + $envPairs = []; + foreach ($env as $k => $v) { + if (\false !== $v) { + $envPairs[] = $k . '=' . $v; + } + } + if (!\is_dir($this->cwd)) { + throw new RuntimeException(\sprintf('The provided cwd "%s" does not exist.', $this->cwd)); + } + $this->process = @\proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $envPairs, $this->options); + if (!\is_resource($this->process)) { + throw new RuntimeException('Unable to launch a new process.'); + } + $this->status = self::STATUS_STARTED; + if (isset($descriptors[3])) { + $this->fallbackStatus['pid'] = (int) \fgets($this->processPipes->pipes[3]); + } + if ($this->tty) { + return; + } + $this->updateStatus(\false); + $this->checkTimeout(); + } + /** + * Restarts the process. + * + * Be warned that the process is cloned before being started. + * + * @param callable|null $callback A PHP callback to run whenever there is some + * output available on STDOUT or STDERR + * + * @return static + * + * @throws RuntimeException When process can't be launched + * @throws RuntimeException When process is already running + * + * @see start() + * + * @final + */ + public function restart(callable $callback = null, array $env = []) + { + if ($this->isRunning()) { + throw new RuntimeException('Process is already running.'); + } + $process = clone $this; + $process->start($callback, $env); + $phabelReturn = $process; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Waits for the process to terminate. + * + * The callback receives the type of output (out or err) and some bytes + * from the output in real-time while writing the standard input to the process. + * It allows to have feedback from the independent process during execution. + * + * @param callable|null $callback A valid PHP callback + * + * @return int The exitcode of the process + * + * @throws ProcessTimedOutException When process timed out + * @throws ProcessSignaledException When process stopped after receiving signal + * @throws LogicException When process is not yet started + */ + public function wait(callable $callback = null) + { + $this->requireProcessIsStarted(__FUNCTION__); + $this->updateStatus(\false); + if (null !== $callback) { + if (!$this->processPipes->haveReadSupport()) { + $this->stop(0); + throw new LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::wait".'); + } + $this->callback = $this->buildCallback($callback); + } + do { + $this->checkTimeout(); + $running = '\\' === \DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen(); + $this->readPipes($running, '\\' !== \DIRECTORY_SEPARATOR || !$running); + } while ($running); + while ($this->isRunning()) { + $this->checkTimeout(); + \usleep(1000); + } + if ($this->processInformation['signaled'] && $this->processInformation['termsig'] !== $this->latestSignal) { + throw new ProcessSignaledException($this); + } + return $this->exitcode; + } + /** + * Waits until the callback returns true. + * + * The callback receives the type of output (out or err) and some bytes + * from the output in real-time while writing the standard input to the process. + * It allows to have feedback from the independent process during execution. + * + * @throws RuntimeException When process timed out + * @throws LogicException When process is not yet started + * @throws ProcessTimedOutException In case the timeout was reached + */ + public function waitUntil(callable $callback) + { + $this->requireProcessIsStarted(__FUNCTION__); + $this->updateStatus(\false); + if (!$this->processPipes->haveReadSupport()) { + $this->stop(0); + throw new LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::waitUntil".'); + } + $callback = $this->buildCallback($callback); + $ready = \false; + while (\true) { + $this->checkTimeout(); + $running = '\\' === \DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen(); + $output = $this->processPipes->readAndWrite($running, '\\' !== \DIRECTORY_SEPARATOR || !$running); + foreach ($output as $type => $data) { + if (3 !== $type) { + $ready = $callback(self::STDOUT === $type ? self::OUT : self::ERR, $data) || $ready; + } elseif (!isset($this->fallbackStatus['signaled'])) { + $this->fallbackStatus['exitcode'] = (int) $data; + } + } + if ($ready) { + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if (!$running) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + \usleep(1000); + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Returns the Pid (process identifier), if applicable. + * + * @return int|null The process id if running, null otherwise + */ + public function getPid() + { + return $this->isRunning() ? $this->processInformation['pid'] : null; + } + /** + * Sends a POSIX signal to the process. + * + * @param int $signal A valid POSIX signal (see https://php.net/pcntl.constants) + * + * @return $this + * + * @throws LogicException In case the process is not running + * @throws RuntimeException In case --enable-sigchild is activated and the process can't be killed + * @throws RuntimeException In case of failure + */ + public function signal($signal) + { + if (!\is_int($signal)) { + if (!(\is_bool($signal) || \is_numeric($signal))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signal) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signal) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signal = (int) $signal; + } + } + $this->doSignal($signal, \true); + return $this; + } + /** + * Disables fetching output and error output from the underlying process. + * + * @return $this + * + * @throws RuntimeException In case the process is already running + * @throws LogicException if an idle timeout is set + */ + public function disableOutput() + { + if ($this->isRunning()) { + throw new RuntimeException('Disabling output while the process is running is not possible.'); + } + if (null !== $this->idleTimeout) { + throw new LogicException('Output can not be disabled while an idle timeout is set.'); + } + $this->outputDisabled = \true; + return $this; + } + /** + * Enables fetching output and error output from the underlying process. + * + * @return $this + * + * @throws RuntimeException In case the process is already running + */ + public function enableOutput() + { + if ($this->isRunning()) { + throw new RuntimeException('Enabling output while the process is running is not possible.'); + } + $this->outputDisabled = \false; + return $this; + } + /** + * Returns true in case the output is disabled, false otherwise. + * + * @return bool + */ + public function isOutputDisabled() + { + return $this->outputDisabled; + } + /** + * Returns the current output of the process (STDOUT). + * + * @return string The process output + * + * @throws LogicException in case the output has been disabled + * @throws LogicException In case the process is not started + */ + public function getOutput() + { + $this->readPipesForOutput(__FUNCTION__); + if (\false === ($ret = \stream_get_contents($this->stdout, -1, 0))) { + return ''; + } + return $ret; + } + /** + * Returns the output incrementally. + * + * In comparison with the getOutput method which always return the whole + * output, this one returns the new output since the last call. + * + * @return string The process output since the last call + * + * @throws LogicException in case the output has been disabled + * @throws LogicException In case the process is not started + */ + public function getIncrementalOutput() + { + $this->readPipesForOutput(__FUNCTION__); + $latest = \stream_get_contents($this->stdout, -1, $this->incrementalOutputOffset); + $this->incrementalOutputOffset = \ftell($this->stdout); + if (\false === $latest) { + return ''; + } + return $latest; + } + /** + * Returns an iterator to the output of the process, with the output type as keys (Process::OUT/ERR). + * + * @param int $flags A bit field of Process::ITER_* flags + * + * @throws LogicException in case the output has been disabled + * @throws LogicException In case the process is not started + * + * @return \Generator + */ + public function getIterator($flags = 0) + { + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($flags) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $flags = (int) $flags; + } + } + $this->readPipesForOutput(__FUNCTION__, \false); + $clearOutput = !(self::ITER_KEEP_OUTPUT & $flags); + $blocking = !(self::ITER_NON_BLOCKING & $flags); + $yieldOut = !(self::ITER_SKIP_OUT & $flags); + $yieldErr = !(self::ITER_SKIP_ERR & $flags); + while (null !== $this->callback || $yieldOut && !\feof($this->stdout) || $yieldErr && !\feof($this->stderr)) { + if ($yieldOut) { + $out = \stream_get_contents($this->stdout, -1, $this->incrementalOutputOffset); + if (isset($out[0])) { + if ($clearOutput) { + $this->clearOutput(); + } else { + $this->incrementalOutputOffset = \ftell($this->stdout); + } + (yield self::OUT => $out); + } + } + if ($yieldErr) { + $err = \stream_get_contents($this->stderr, -1, $this->incrementalErrorOutputOffset); + if (isset($err[0])) { + if ($clearOutput) { + $this->clearErrorOutput(); + } else { + $this->incrementalErrorOutputOffset = \ftell($this->stderr); + } + (yield self::ERR => $err); + } + } + if (!$blocking && !isset($out[0]) && !isset($err[0])) { + (yield self::OUT => ''); + } + $this->checkTimeout(); + $this->readPipesForOutput(__FUNCTION__, $blocking); + } + } + /** + * Clears the process output. + * + * @return $this + */ + public function clearOutput() + { + \ftruncate($this->stdout, 0); + \fseek($this->stdout, 0); + $this->incrementalOutputOffset = 0; + return $this; + } + /** + * Returns the current error output of the process (STDERR). + * + * @return string The process error output + * + * @throws LogicException in case the output has been disabled + * @throws LogicException In case the process is not started + */ + public function getErrorOutput() + { + $this->readPipesForOutput(__FUNCTION__); + if (\false === ($ret = \stream_get_contents($this->stderr, -1, 0))) { + return ''; + } + return $ret; + } + /** + * Returns the errorOutput incrementally. + * + * In comparison with the getErrorOutput method which always return the + * whole error output, this one returns the new error output since the last + * call. + * + * @return string The process error output since the last call + * + * @throws LogicException in case the output has been disabled + * @throws LogicException In case the process is not started + */ + public function getIncrementalErrorOutput() + { + $this->readPipesForOutput(__FUNCTION__); + $latest = \stream_get_contents($this->stderr, -1, $this->incrementalErrorOutputOffset); + $this->incrementalErrorOutputOffset = \ftell($this->stderr); + if (\false === $latest) { + return ''; + } + return $latest; + } + /** + * Clears the process output. + * + * @return $this + */ + public function clearErrorOutput() + { + \ftruncate($this->stderr, 0); + \fseek($this->stderr, 0); + $this->incrementalErrorOutputOffset = 0; + return $this; + } + /** + * Returns the exit code returned by the process. + * + * @return int|null The exit status code, null if the Process is not terminated + */ + public function getExitCode() + { + $this->updateStatus(\false); + return $this->exitcode; + } + /** + * Returns a string representation for the exit code returned by the process. + * + * This method relies on the Unix exit code status standardization + * and might not be relevant for other operating systems. + * + * @return string|null A string representation for the exit status code, null if the Process is not terminated + * + * @see http://tldp.org/LDP/abs/html/exitcodes.html + * @see http://en.wikipedia.org/wiki/Unix_signal + */ + public function getExitCodeText() + { + if (null === ($exitcode = $this->getExitCode())) { + return null; + } + return isset(self::$exitCodes[$exitcode]) ? self::$exitCodes[$exitcode] : 'Unknown error'; + } + /** + * Checks if the process ended successfully. + * + * @return bool true if the process ended successfully, false otherwise + */ + public function isSuccessful() + { + return 0 === $this->getExitCode(); + } + /** + * Returns true if the child process has been terminated by an uncaught signal. + * + * It always returns false on Windows. + * + * @return bool + * + * @throws LogicException In case the process is not terminated + */ + public function hasBeenSignaled() + { + $this->requireProcessIsTerminated(__FUNCTION__); + return $this->processInformation['signaled']; + } + /** + * Returns the number of the signal that caused the child process to terminate its execution. + * + * It is only meaningful if hasBeenSignaled() returns true. + * + * @return int + * + * @throws RuntimeException In case --enable-sigchild is activated + * @throws LogicException In case the process is not terminated + */ + public function getTermSignal() + { + $this->requireProcessIsTerminated(__FUNCTION__); + if ($this->isSigchildEnabled() && -1 === $this->processInformation['termsig']) { + throw new RuntimeException('This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.'); + } + return $this->processInformation['termsig']; + } + /** + * Returns true if the child process has been stopped by a signal. + * + * It always returns false on Windows. + * + * @return bool + * + * @throws LogicException In case the process is not terminated + */ + public function hasBeenStopped() + { + $this->requireProcessIsTerminated(__FUNCTION__); + return $this->processInformation['stopped']; + } + /** + * Returns the number of the signal that caused the child process to stop its execution. + * + * It is only meaningful if hasBeenStopped() returns true. + * + * @return int + * + * @throws LogicException In case the process is not terminated + */ + public function getStopSignal() + { + $this->requireProcessIsTerminated(__FUNCTION__); + return $this->processInformation['stopsig']; + } + /** + * Checks if the process is currently running. + * + * @return bool true if the process is currently running, false otherwise + */ + public function isRunning() + { + if (self::STATUS_STARTED !== $this->status) { + return \false; + } + $this->updateStatus(\false); + return $this->processInformation['running']; + } + /** + * Checks if the process has been started with no regard to the current state. + * + * @return bool true if status is ready, false otherwise + */ + public function isStarted() + { + return self::STATUS_READY != $this->status; + } + /** + * Checks if the process is terminated. + * + * @return bool true if process is terminated, false otherwise + */ + public function isTerminated() + { + $this->updateStatus(\false); + return self::STATUS_TERMINATED == $this->status; + } + /** + * Gets the process status. + * + * The status is one of: ready, started, terminated. + * + * @return string The current process status + */ + public function getStatus() + { + $this->updateStatus(\false); + return $this->status; + } + /** + * Stops the process. + * + * @param int|float $timeout The timeout in seconds + * @param int $signal A POSIX signal to send in case the process has not stop at timeout, default is SIGKILL (9) + * + * @return int|null The exit-code of the process or null if it's not running + */ + public function stop($timeout = 10, $signal = null) + { + if (!\is_float($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($timeout) must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (double) $timeout; + } + } + if (!\is_null($signal)) { + if (!\is_int($signal)) { + if (!(\is_bool($signal) || \is_numeric($signal))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($signal) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signal) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signal = (int) $signal; + } + } + } + $timeoutMicro = \microtime(\true) + $timeout; + if ($this->isRunning()) { + // given SIGTERM may not be defined and that "proc_terminate" uses the constant value and not the constant itself, we use the same here + $this->doSignal(15, \false); + do { + \usleep(1000); + } while ($this->isRunning() && \microtime(\true) < $timeoutMicro); + if ($this->isRunning()) { + // Avoid exception here: process is supposed to be running, but it might have stopped just + // after this line. In any case, let's silently discard the error, we cannot do anything. + $this->doSignal($signal ?: 9, \false); + } + } + if ($this->isRunning()) { + if (isset($this->fallbackStatus['pid'])) { + unset($this->fallbackStatus['pid']); + return $this->stop(0, $signal); + } + $this->close(); + } + return $this->exitcode; + } + /** + * Adds a line to the STDOUT stream. + * + * @internal + */ + public function addOutput($line) + { + if (!\is_string($line)) { + if (!(\is_string($line) || \is_object($line) && \method_exists($line, '__toString') || (\is_bool($line) || \is_numeric($line)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($line) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $line = (string) $line; + } + } + $this->lastOutputTime = \microtime(\true); + \fseek($this->stdout, 0, \SEEK_END); + \fwrite($this->stdout, $line); + \fseek($this->stdout, $this->incrementalOutputOffset); + } + /** + * Adds a line to the STDERR stream. + * + * @internal + */ + public function addErrorOutput($line) + { + if (!\is_string($line)) { + if (!(\is_string($line) || \is_object($line) && \method_exists($line, '__toString') || (\is_bool($line) || \is_numeric($line)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($line) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($line) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $line = (string) $line; + } + } + $this->lastOutputTime = \microtime(\true); + \fseek($this->stderr, 0, \SEEK_END); + \fwrite($this->stderr, $line); + \fseek($this->stderr, $this->incrementalErrorOutputOffset); + } + /** + * Gets the last output time in seconds. + * + * @return float|null The last output time in seconds or null if it isn't started + */ + public function getLastOutputTime() + { + $phabelReturn = $this->lastOutputTime; + if (!\is_null($phabelReturn)) { + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + } + return $phabelReturn; + } + /** + * Gets the command line to be executed. + * + * @return string The command to execute + */ + public function getCommandLine() + { + return \is_array($this->commandline) ? \implode(' ', \array_map([$this, 'escapeArgument'], $this->commandline)) : $this->commandline; + } + /** + * Gets the process timeout (max. runtime). + * + * @return float|null The timeout in seconds or null if it's disabled + */ + public function getTimeout() + { + return $this->timeout; + } + /** + * Gets the process idle timeout (max. time since last output). + * + * @return float|null The timeout in seconds or null if it's disabled + */ + public function getIdleTimeout() + { + return $this->idleTimeout; + } + /** + * Sets the process timeout (max. runtime) in seconds. + * + * To disable the timeout, set this value to null. + * + * @return $this + * + * @throws InvalidArgumentException if the timeout is negative + */ + public function setTimeout($timeout) + { + if (!\is_null($timeout)) { + if (!\is_float($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($timeout) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (double) $timeout; + } + } + } + $this->timeout = $this->validateTimeout($timeout); + return $this; + } + /** + * Sets the process idle timeout (max. time since last output) in seconds. + * + * To disable the timeout, set this value to null. + * + * @return $this + * + * @throws LogicException if the output is disabled + * @throws InvalidArgumentException if the timeout is negative + */ + public function setIdleTimeout($timeout) + { + if (!\is_null($timeout)) { + if (!\is_float($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($timeout) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (double) $timeout; + } + } + } + if (null !== $timeout && $this->outputDisabled) { + throw new LogicException('Idle timeout can not be set while the output is disabled.'); + } + $this->idleTimeout = $this->validateTimeout($timeout); + return $this; + } + /** + * Enables or disables the TTY mode. + * + * @return $this + * + * @throws RuntimeException In case the TTY mode is not supported + */ + public function setTty($tty) + { + if (!\is_bool($tty)) { + if (!(\is_bool($tty) || \is_numeric($tty) || \is_string($tty))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($tty) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($tty) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $tty = (bool) $tty; + } + } + if ('\\' === \DIRECTORY_SEPARATOR && $tty) { + throw new RuntimeException('TTY mode is not supported on Windows platform.'); + } + if ($tty && !self::isTtySupported()) { + throw new RuntimeException('TTY mode requires /dev/tty to be read/writable.'); + } + $this->tty = $tty; + return $this; + } + /** + * Checks if the TTY mode is enabled. + * + * @return bool true if the TTY mode is enabled, false otherwise + */ + public function isTty() + { + return $this->tty; + } + /** + * Sets PTY mode. + * + * @return $this + */ + public function setPty($bool) + { + if (!\is_bool($bool)) { + if (!(\is_bool($bool) || \is_numeric($bool) || \is_string($bool))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($bool) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($bool) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $bool = (bool) $bool; + } + } + $this->pty = $bool; + return $this; + } + /** + * Returns PTY state. + * + * @return bool + */ + public function isPty() + { + return $this->pty; + } + /** + * Gets the working directory. + * + * @return string|null The current working directory or null on failure + */ + public function getWorkingDirectory() + { + if (null === $this->cwd) { + // getcwd() will return false if any one of the parent directories does not have + // the readable or search mode set, even if the current directory does + return \getcwd() ?: null; + } + return $this->cwd; + } + /** + * Sets the current working directory. + * + * @return $this + */ + public function setWorkingDirectory($cwd) + { + if (!\is_string($cwd)) { + if (!(\is_string($cwd) || \is_object($cwd) && \method_exists($cwd, '__toString') || (\is_bool($cwd) || \is_numeric($cwd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($cwd) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cwd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cwd = (string) $cwd; + } + } + $this->cwd = $cwd; + return $this; + } + /** + * Gets the environment variables. + * + * @return array The current environment variables + */ + public function getEnv() + { + return $this->env; + } + /** + * Sets the environment variables. + * + * Each environment variable value should be a string. + * If it is an array, the variable is ignored. + * If it is false or null, it will be removed when + * env vars are otherwise inherited. + * + * That happens in PHP when 'argv' is registered into + * the $_ENV array for instance. + * + * @param array $env The new environment variables + * + * @return $this + */ + public function setEnv(array $env) + { + // Process can not handle env values that are arrays + $env = \array_filter($env, function ($value) { + return !\is_array($value); + }); + $this->env = $env; + return $this; + } + /** + * Gets the Process input. + * + * @return resource|string|\Iterator|null The Process input + */ + public function getInput() + { + return $this->input; + } + /** + * Sets the input. + * + * This content will be passed to the underlying process standard input. + * + * @param string|int|float|bool|resource|\Traversable|null $input The content + * + * @return $this + * + * @throws LogicException In case the process is running + */ + public function setInput($input) + { + if ($this->isRunning()) { + throw new LogicException('Input can not be set while the process is running.'); + } + $this->input = ProcessUtils::validateInput(__METHOD__, $input); + return $this; + } + /** + * Performs a check between the timeout definition and the time the process started. + * + * In case you run a background process (with the start method), you should + * trigger this method regularly to ensure the process timeout + * + * @throws ProcessTimedOutException In case the timeout was reached + */ + public function checkTimeout() + { + if (self::STATUS_STARTED !== $this->status) { + return; + } + if (null !== $this->timeout && $this->timeout < \microtime(\true) - $this->starttime) { + $this->stop(0); + throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_GENERAL); + } + if (null !== $this->idleTimeout && $this->idleTimeout < \microtime(\true) - $this->lastOutputTime) { + $this->stop(0); + throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_IDLE); + } + } + /** + * @throws LogicException in case process is not started + */ + public function getStartTime() + { + if (!$this->isStarted()) { + throw new LogicException('Start time is only available after process start.'); + } + $phabelReturn = $this->starttime; + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Defines options to pass to the underlying proc_open(). + * + * @see https://php.net/proc_open for the options supported by PHP. + * + * Enabling the "create_new_console" option allows a subprocess to continue + * to run after the main process exited, on both Windows and *nix + */ + public function setOptions(array $options) + { + if ($this->isRunning()) { + throw new RuntimeException('Setting options while the process is running is not possible.'); + } + $defaultOptions = $this->options; + $existingOptions = ['blocking_pipes', 'create_process_group', 'create_new_console']; + foreach ($options as $key => $value) { + if (!\in_array($key, $existingOptions)) { + $this->options = $defaultOptions; + throw new LogicException(\sprintf('Invalid option "%s" passed to "%s()". Supported options are "%s".', $key, __METHOD__, \implode('", "', $existingOptions))); + } + $this->options[$key] = $value; + } + } + /** + * Returns whether TTY is supported on the current operating system. + */ + public static function isTtySupported() + { + static $isTtySupported; + if (null === $isTtySupported) { + $isTtySupported = (bool) @\proc_open('echo 1 >/dev/null', [['file', '/dev/tty', 'r'], ['file', '/dev/tty', 'w'], ['file', '/dev/tty', 'w']], $pipes); + } + $phabelReturn = $isTtySupported; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Returns whether PTY is supported on the current operating system. + * + * @return bool + */ + public static function isPtySupported() + { + static $result; + if (null !== $result) { + return $result; + } + if ('\\' === \DIRECTORY_SEPARATOR) { + return $result = \false; + } + return $result = (bool) @\proc_open('echo 1 >/dev/null', [['pty'], ['pty'], ['pty']], $pipes); + } + /** + * Creates the descriptors needed by the proc_open. + */ + private function getDescriptors() + { + if ($this->input instanceof \Iterator) { + $this->input->rewind(); + } + if ('\\' === \DIRECTORY_SEPARATOR) { + $this->processPipes = new WindowsPipes($this->input, !$this->outputDisabled || $this->hasCallback); + } else { + $this->processPipes = new UnixPipes($this->isTty(), $this->isPty(), $this->input, !$this->outputDisabled || $this->hasCallback); + } + $phabelReturn = $this->processPipes->getDescriptors(); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Builds up the callback used by wait(). + * + * The callbacks adds all occurred output to the specific buffer and calls + * the user callback (if present) with the received output. + * + * @param callable|null $callback The user defined PHP callback + * + * @return \Closure A PHP closure + */ + protected function buildCallback(callable $callback = null) + { + if ($this->outputDisabled) { + return function ($type, $data) use($callback) { + $phabelReturn = null !== $callback && $callback($type, $data); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + }; + } + $out = self::OUT; + return function ($type, $data) use($callback, $out) { + if ($out == $type) { + $this->addOutput($data); + } else { + $this->addErrorOutput($data); + } + $phabelReturn = null !== $callback && $callback($type, $data); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + }; + } + /** + * Updates the status of the process, reads pipes. + * + * @param bool $blocking Whether to use a blocking read call + */ + protected function updateStatus($blocking) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + if (self::STATUS_STARTED !== $this->status) { + return; + } + $this->processInformation = \proc_get_status($this->process); + $running = $this->processInformation['running']; + $this->readPipes($running && $blocking, '\\' !== \DIRECTORY_SEPARATOR || !$running); + if ($this->fallbackStatus && $this->isSigchildEnabled()) { + $this->processInformation = $this->fallbackStatus + $this->processInformation; + } + if (!$running) { + $this->close(); + } + } + /** + * Returns whether PHP has been compiled with the '--enable-sigchild' option or not. + * + * @return bool + */ + protected function isSigchildEnabled() + { + if (null !== self::$sigchild) { + return self::$sigchild; + } + if (!\function_exists('phpinfo')) { + return self::$sigchild = \false; + } + \ob_start(); + \phpinfo(\INFO_GENERAL); + return self::$sigchild = \str_contains(\ob_get_clean(), '--enable-sigchild'); + } + /** + * Reads pipes for the freshest output. + * + * @param string $caller The name of the method that needs fresh outputs + * @param bool $blocking Whether to use blocking calls or not + * + * @throws LogicException in case output has been disabled or process is not started + */ + private function readPipesForOutput($caller, $blocking = \false) + { + if (!\is_string($caller)) { + if (!(\is_string($caller) || \is_object($caller) && \method_exists($caller, '__toString') || (\is_bool($caller) || \is_numeric($caller)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($caller) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($caller) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $caller = (string) $caller; + } + } + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + if ($this->outputDisabled) { + throw new LogicException('Output has been disabled.'); + } + $this->requireProcessIsStarted($caller); + $this->updateStatus($blocking); + } + /** + * Validates and returns the filtered timeout. + * + * @throws InvalidArgumentException if the given timeout is a negative number + */ + private function validateTimeout($timeout) + { + if (!\is_null($timeout)) { + if (!\is_float($timeout)) { + if (!(\is_bool($timeout) || \is_numeric($timeout))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($timeout) must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($timeout) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $timeout = (double) $timeout; + } + } + } + $timeout = (float) $timeout; + if (0.0 === $timeout) { + $timeout = null; + } elseif ($timeout < 0) { + throw new InvalidArgumentException('The timeout value must be a valid positive integer or float number.'); + } + $phabelReturn = $timeout; + if (!\is_null($phabelReturn)) { + if (!\is_float($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?float, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (double) $phabelReturn; + } + } + } + return $phabelReturn; + } + /** + * Reads pipes, executes callback. + * + * @param bool $blocking Whether to use blocking calls or not + * @param bool $close Whether to close file handles or not + */ + private function readPipes($blocking, $close) + { + if (!\is_bool($blocking)) { + if (!(\is_bool($blocking) || \is_numeric($blocking) || \is_string($blocking))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($blocking) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($blocking) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $blocking = (bool) $blocking; + } + } + if (!\is_bool($close)) { + if (!(\is_bool($close) || \is_numeric($close) || \is_string($close))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($close) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($close) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $close = (bool) $close; + } + } + $result = $this->processPipes->readAndWrite($blocking, $close); + $callback = $this->callback; + foreach ($result as $type => $data) { + if (3 !== $type) { + $callback(self::STDOUT === $type ? self::OUT : self::ERR, $data); + } elseif (!isset($this->fallbackStatus['signaled'])) { + $this->fallbackStatus['exitcode'] = (int) $data; + } + } + } + /** + * Closes process resource, closes file handles, sets the exitcode. + * + * @return int The exitcode + */ + private function close() + { + $this->processPipes->close(); + if (\is_resource($this->process)) { + \proc_close($this->process); + } + $this->exitcode = $this->processInformation['exitcode']; + $this->status = self::STATUS_TERMINATED; + if (-1 === $this->exitcode) { + if ($this->processInformation['signaled'] && 0 < $this->processInformation['termsig']) { + // if process has been signaled, no exitcode but a valid termsig, apply Unix convention + $this->exitcode = 128 + $this->processInformation['termsig']; + } elseif ($this->isSigchildEnabled()) { + $this->processInformation['signaled'] = \true; + $this->processInformation['termsig'] = -1; + } + } + // Free memory from self-reference callback created by buildCallback + // Doing so in other contexts like __destruct or by garbage collector is ineffective + // Now pipes are closed, so the callback is no longer necessary + $this->callback = null; + $phabelReturn = $this->exitcode; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Resets data related to the latest run of the process. + */ + private function resetProcessData() + { + $this->starttime = null; + $this->callback = null; + $this->exitcode = null; + $this->fallbackStatus = []; + $this->processInformation = null; + $this->stdout = \fopen('php://temp/maxmemory:' . 1024 * 1024, 'w+'); + $this->stderr = \fopen('php://temp/maxmemory:' . 1024 * 1024, 'w+'); + $this->process = null; + $this->latestSignal = null; + $this->status = self::STATUS_READY; + $this->incrementalOutputOffset = 0; + $this->incrementalErrorOutputOffset = 0; + } + /** + * Sends a POSIX signal to the process. + * + * @param int $signal A valid POSIX signal (see https://php.net/pcntl.constants) + * @param bool $throwException Whether to throw exception in case signal failed + * + * @return bool True if the signal was sent successfully, false otherwise + * + * @throws LogicException In case the process is not running + * @throws RuntimeException In case --enable-sigchild is activated and the process can't be killed + * @throws RuntimeException In case of failure + */ + private function doSignal($signal, $throwException) + { + if (!\is_int($signal)) { + if (!(\is_bool($signal) || \is_numeric($signal))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($signal) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($signal) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $signal = (int) $signal; + } + } + if (!\is_bool($throwException)) { + if (!(\is_bool($throwException) || \is_numeric($throwException) || \is_string($throwException))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($throwException) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($throwException) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $throwException = (bool) $throwException; + } + } + if (null === ($pid = $this->getPid())) { + if ($throwException) { + throw new LogicException('Can not send signal on a non running process.'); + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if ('\\' === \DIRECTORY_SEPARATOR) { + \exec(\sprintf('taskkill /F /T /PID %d 2>&1', $pid), $output, $exitCode); + if ($exitCode && $this->isRunning()) { + if ($throwException) { + throw new RuntimeException(\sprintf('Unable to kill the process (%s).', \implode(' ', $output))); + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + } else { + if (!$this->isSigchildEnabled()) { + $ok = @\proc_terminate($this->process, $signal); + } elseif (\function_exists('posix_kill')) { + $ok = @\posix_kill($pid, $signal); + } elseif ($ok = \proc_open(\sprintf('kill -%d %d', $signal, $pid), [2 => ['pipe', 'w']], $pipes)) { + $ok = \false === \fgets($pipes[2]); + } + if (!$ok) { + if ($throwException) { + throw new RuntimeException(\sprintf('Error while sending signal "%s".', $signal)); + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + } + $this->latestSignal = $signal; + $this->fallbackStatus['signaled'] = \true; + $this->fallbackStatus['exitcode'] = -1; + $this->fallbackStatus['termsig'] = $this->latestSignal; + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + private function prepareWindowsCommandLine($cmd, array &$env) + { + if (!\is_string($cmd)) { + if (!(\is_string($cmd) || \is_object($cmd) && \method_exists($cmd, '__toString') || (\is_bool($cmd) || \is_numeric($cmd)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($cmd) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cmd) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cmd = (string) $cmd; + } + } + $uid = \uniqid('', \true); + $varCount = 0; + $varCache = []; + $cmd = \preg_replace_callback('/"(?:( + [^"%!^]*+ + (?: + (?: !LF! | "(?:\\^[%!^])?+" ) + [^"%!^]*+ + )++ + ) | [^"]*+ )"/x', function ($m) use(&$env, &$varCache, &$varCount, $uid) { + if (!isset($m[1])) { + return $m[0]; + } + if (isset($varCache[$m[0]])) { + return $varCache[$m[0]]; + } + if (\str_contains($value = $m[1], "\x00")) { + $value = \str_replace("\x00", '?', $value); + } + if (\false === \strpbrk($value, "\"%!\n")) { + return '"' . $value . '"'; + } + $value = \str_replace(['!LF!', '"^!"', '"^%"', '"^^"', '""'], ["\n", '!', '%', '^', '"'], $value); + $value = '"' . \preg_replace('/(\\\\*)"/', '$1$1\\"', $value) . '"'; + $var = $uid . ++$varCount; + $env[$var] = $value; + return $varCache[$m[0]] = '!' . $var . '!'; + }, $cmd); + $cmd = 'cmd /V:ON /E:ON /D /C (' . \str_replace("\n", ' ', $cmd) . ')'; + foreach ($this->processPipes->getFiles() as $offset => $filename) { + $cmd .= ' ' . $offset . '>"' . $filename . '"'; + } + $phabelReturn = $cmd; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Ensures the process is running or terminated, throws a LogicException if the process has a not started. + * + * @throws LogicException if the process has not run + */ + private function requireProcessIsStarted($functionName) + { + if (!\is_string($functionName)) { + if (!(\is_string($functionName) || \is_object($functionName) && \method_exists($functionName, '__toString') || (\is_bool($functionName) || \is_numeric($functionName)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($functionName) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($functionName) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $functionName = (string) $functionName; + } + } + if (!$this->isStarted()) { + throw new LogicException(\sprintf('Process must be started before calling "%s()".', $functionName)); + } + } + /** + * Ensures the process is terminated, throws a LogicException if the process has a status different than "terminated". + * + * @throws LogicException if the process is not yet terminated + */ + private function requireProcessIsTerminated($functionName) + { + if (!\is_string($functionName)) { + if (!(\is_string($functionName) || \is_object($functionName) && \method_exists($functionName, '__toString') || (\is_bool($functionName) || \is_numeric($functionName)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($functionName) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($functionName) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $functionName = (string) $functionName; + } + } + if (!$this->isTerminated()) { + throw new LogicException(\sprintf('Process must be terminated before calling "%s()".', $functionName)); + } + } + /** + * Escapes a string to be used as a shell argument. + */ + private function escapeArgument($argument) + { + if (!\is_null($argument)) { + if (!\is_string($argument)) { + if (!(\is_string($argument) || \is_object($argument) && \method_exists($argument, '__toString') || (\is_bool($argument) || \is_numeric($argument)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($argument) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($argument) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $argument = (string) $argument; + } + } + } + if ('' === $argument || null === $argument) { + $phabelReturn = '""'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if ('\\' !== \DIRECTORY_SEPARATOR) { + $phabelReturn = "'" . \str_replace("'", "'\\''", $argument) . "'"; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (\str_contains($argument, "\x00")) { + $argument = \str_replace("\x00", '?', $argument); + } + if (!\preg_match('/[\\/()%!^"<>&|\\s]/', $argument)) { + $phabelReturn = $argument; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $argument = \preg_replace('/(\\\\+)$/', '$1$1', $argument); + $phabelReturn = '"' . \str_replace(['"', '^', '%', '!', "\n"], ['""', '"^^"', '"^%"', '"^!"', '!LF!'], $argument) . '"'; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function replacePlaceholders($commandline, array $env) + { + if (!\is_string($commandline)) { + if (!(\is_string($commandline) || \is_object($commandline) && \method_exists($commandline, '__toString') || (\is_bool($commandline) || \is_numeric($commandline)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($commandline) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($commandline) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $commandline = (string) $commandline; + } + } + return \preg_replace_callback('/"\\$\\{:([_a-zA-Z]++[_a-zA-Z0-9]*+)\\}"/', function ($matches) use($commandline, $env) { + if (!isset($env[$matches[1]]) || \false === $env[$matches[1]]) { + throw new InvalidArgumentException(\sprintf('Command line is missing a value for parameter "%s": ', $matches[1]) . $commandline); + } + return $this->escapeArgument($env[$matches[1]]); + }, $commandline); + } + private function getDefaultEnv() + { + $env = []; + foreach ($_SERVER as $k => $v) { + if (\is_string($v) && \false !== ($v = \getenv($k))) { + $env[$k] = $v; + } + } + foreach ($_ENV as $k => $v) { + if (\is_string($v)) { + $env[$k] = $v; + } + } + $phabelReturn = $env; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/process/ProcessUtils.php b/vendor-bundle/symfony/process/ProcessUtils.php new file mode 100644 index 000000000..54c633372 --- /dev/null +++ b/vendor-bundle/symfony/process/ProcessUtils.php @@ -0,0 +1,71 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\Process; + +use Phabel\Symfony\Component\Process\Exception\InvalidArgumentException; +/** + * ProcessUtils is a bunch of utility methods. + * + * This class contains static methods only and is not meant to be instantiated. + * + * @author Martin Hasoň + */ +class ProcessUtils +{ + /** + * This class should not be instantiated. + */ + private function __construct() + { + } + /** + * Validates and normalizes a Process input. + * + * @param string $caller The name of method call that validates the input + * @param mixed $input The input to validate + * + * @return mixed The validated input + * + * @throws InvalidArgumentException In case the input is not valid + */ + public static function validateInput($caller, $input) + { + if (!\is_string($caller)) { + if (!(\is_string($caller) || \is_object($caller) && \method_exists($caller, '__toString') || (\is_bool($caller) || \is_numeric($caller)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($caller) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($caller) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $caller = (string) $caller; + } + } + if (null !== $input) { + if (\is_resource($input)) { + return $input; + } + if (\is_string($input)) { + return $input; + } + if (\is_scalar($input)) { + return (string) $input; + } + if ($input instanceof Process) { + return $input->getIterator($input::ITER_SKIP_ERR); + } + if ($input instanceof \Iterator) { + return $input; + } + if ($input instanceof \Traversable) { + return new \IteratorIterator($input); + } + throw new InvalidArgumentException(\sprintf('"%s" only accepts strings, Traversable objects or stream resources.', $caller)); + } + return $input; + } +} diff --git a/vendor-bundle/symfony/service-contracts/Attribute/Required.php b/vendor-bundle/symfony/service-contracts/Attribute/Required.php new file mode 100644 index 000000000..7f514e97d --- /dev/null +++ b/vendor-bundle/symfony/service-contracts/Attribute/Required.php @@ -0,0 +1,24 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Contracts\Service\Attribute; + +/** + * A required dependency. + * + * This attribute indicates that a property holds a required dependency. The annotated property or method should be + * considered during the instantiation process of the containing class. + * + * @author Alexander M. Turek + */ +#[\Attribute(\Attribute::TARGET_METHOD | \Attribute::TARGET_PROPERTY)] +final class Required +{ +} diff --git a/vendor-bundle/symfony/service-contracts/ResetInterface.php b/vendor-bundle/symfony/service-contracts/ResetInterface.php new file mode 100644 index 000000000..e8387be62 --- /dev/null +++ b/vendor-bundle/symfony/service-contracts/ResetInterface.php @@ -0,0 +1,29 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Contracts\Service; + +/** + * Provides a way to reset an object to its initial state. + * + * When calling the "reset()" method on an object, it should be put back to its + * initial state. This usually means clearing any internal buffers and forwarding + * the call to internal dependencies. All properties of the object should be put + * back to the same state it had when it was first ready to use. + * + * This method could be called, for example, to recycle objects that are used as + * services, so that they can be used to handle several requests in the same + * process loop (note that we advise making your services stateless instead of + * implementing this interface when possible.) + */ +interface ResetInterface +{ + public function reset(); +} diff --git a/vendor-bundle/symfony/service-contracts/ServiceLocatorTrait.php b/vendor-bundle/symfony/service-contracts/ServiceLocatorTrait.php new file mode 100644 index 000000000..ab93585a3 --- /dev/null +++ b/vendor-bundle/symfony/service-contracts/ServiceLocatorTrait.php @@ -0,0 +1,167 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Contracts\Service; + +use Phabel\Psr\Container\ContainerExceptionInterface; +use Phabel\Psr\Container\NotFoundExceptionInterface; +// Help opcache.preload discover always-needed symbols +\class_exists(ContainerExceptionInterface::class); +\class_exists(NotFoundExceptionInterface::class); +/** + * A trait to help implement ServiceProviderInterface. + * + * @author Robin Chalas + * @author Nicolas Grekas + */ +trait ServiceLocatorTrait +{ + private $factories; + private $loading = []; + private $providedTypes; + /** + * @param callable[] $factories + */ + public function __construct(array $factories) + { + $this->factories = $factories; + } + /** + * {@inheritdoc} + * + * @return bool + */ + public function has($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + return isset($this->factories[$id]); + } + /** + * {@inheritdoc} + * + * @return mixed + */ + public function get($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + if (!isset($this->factories[$id])) { + throw $this->createNotFoundException($id); + } + if (isset($this->loading[$id])) { + $ids = \array_values($this->loading); + $ids = \array_slice($this->loading, \array_search($id, $ids)); + $ids[] = $id; + throw $this->createCircularReferenceException($id, $ids); + } + $this->loading[$id] = $id; + try { + return $this->factories[$id]($this); + } finally { + unset($this->loading[$id]); + } + } + /** + * {@inheritdoc} + */ + public function getProvidedServices() + { + if (null === $this->providedTypes) { + $this->providedTypes = []; + foreach ($this->factories as $name => $factory) { + if (!\is_callable($factory)) { + $this->providedTypes[$name] = '?'; + } else { + $type = (new \ReflectionFunction($factory))->getReturnType(); + $this->providedTypes[$name] = $type ? ($type->allowsNull() ? '?' : '') . ($type instanceof \ReflectionNamedType ? $type->getName() : $type) : '?'; + } + } + } + $phabelReturn = $this->providedTypes; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function createNotFoundException($id) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + if (!($alternatives = \array_keys($this->factories))) { + $message = 'is empty...'; + } else { + $last = \array_pop($alternatives); + if ($alternatives) { + $message = \sprintf('only knows about the "%s" and "%s" services.', \implode('", "', $alternatives), $last); + } else { + $message = \sprintf('only knows about the "%s" service.', $last); + } + } + if ($this->loading) { + $message = \sprintf('The service "%s" has a dependency on a non-existent service "%s". This locator %s', \end($this->loading), $id, $message); + } else { + $message = \sprintf('Service "%s" not found: the current service locator %s', $id, $message); + } + if (!\class_exists(PhabelAnonymousClass15ed802adcadd91f17e793c43a12bd8830bcfabce3d3783b2ee9f7aa6a139dfc7::class)) { + class PhabelAnonymousClass15ed802adcadd91f17e793c43a12bd8830bcfabce3d3783b2ee9f7aa6a139dfc7 extends \InvalidArgumentException implements NotFoundExceptionInterface, \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface + { + public static function getPhabelOriginalName() + { + return \InvalidArgumentException::class . '@anonymous'; + } + } + } + $phabelReturn = new PhabelAnonymousClass15ed802adcadd91f17e793c43a12bd8830bcfabce3d3783b2ee9f7aa6a139dfc7($message); + if (!$phabelReturn instanceof NotFoundExceptionInterface) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type NotFoundExceptionInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function createCircularReferenceException($id, array $path) + { + if (!\is_string($id)) { + if (!(\is_string($id) || \is_object($id) && \method_exists($id, '__toString') || (\is_bool($id) || \is_numeric($id)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($id) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($id) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $id = (string) $id; + } + } + if (!\class_exists(PhabelAnonymousClass15ed802adcadd91f17e793c43a12bd8830bcfabce3d3783b2ee9f7aa6a139dfc8::class)) { + class PhabelAnonymousClass15ed802adcadd91f17e793c43a12bd8830bcfabce3d3783b2ee9f7aa6a139dfc8 extends \RuntimeException implements ContainerExceptionInterface, \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface + { + public static function getPhabelOriginalName() + { + return \RuntimeException::class . '@anonymous'; + } + } + } + $phabelReturn = new PhabelAnonymousClass15ed802adcadd91f17e793c43a12bd8830bcfabce3d3783b2ee9f7aa6a139dfc8(\sprintf('Circular reference detected for service "%s", path: "%s".', $id, \implode(' -> ', $path))); + if (!$phabelReturn instanceof ContainerExceptionInterface) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ContainerExceptionInterface, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/service-contracts/ServiceProviderInterface.php b/vendor-bundle/symfony/service-contracts/ServiceProviderInterface.php new file mode 100644 index 000000000..88c87f3f9 --- /dev/null +++ b/vendor-bundle/symfony/service-contracts/ServiceProviderInterface.php @@ -0,0 +1,34 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Contracts\Service; + +use Phabel\Psr\Container\ContainerInterface; +/** + * A ServiceProviderInterface exposes the identifiers and the types of services provided by a container. + * + * @author Nicolas Grekas + * @author Mateusz Sip + */ +interface ServiceProviderInterface extends ContainerInterface +{ + /** + * Returns an associative array of service types keyed by the identifiers provided by the current container. + * + * Examples: + * + * * ['logger' => 'Psr\Log\LoggerInterface'] means the object provides a service named "logger" that implements Psr\Log\LoggerInterface + * * ['foo' => '?'] means the container provides service name "foo" of unspecified type + * * ['bar' => '?Bar\Baz'] means the container provides a service "bar" of type Bar\Baz|null + * + * @return string[] The provided service types, keyed by service names + */ + public function getProvidedServices(); +} diff --git a/vendor-bundle/symfony/service-contracts/ServiceSubscriberInterface.php b/vendor-bundle/symfony/service-contracts/ServiceSubscriberInterface.php new file mode 100644 index 000000000..0c9e36dda --- /dev/null +++ b/vendor-bundle/symfony/service-contracts/ServiceSubscriberInterface.php @@ -0,0 +1,52 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Contracts\Service; + +/** + * A ServiceSubscriber exposes its dependencies via the static {@link getSubscribedServices} method. + * + * The getSubscribedServices method returns an array of service types required by such instances, + * optionally keyed by the service names used internally. Service types that start with an interrogation + * mark "?" are optional, while the other ones are mandatory service dependencies. + * + * The injected service locators SHOULD NOT allow access to any other services not specified by the method. + * + * It is expected that ServiceSubscriber instances consume PSR-11-based service locators internally. + * This interface does not dictate any injection method for these service locators, although constructor + * injection is recommended. + * + * @author Nicolas Grekas + */ +interface ServiceSubscriberInterface +{ + /** + * Returns an array of service types required by such instances, optionally keyed by the service names used internally. + * + * For mandatory dependencies: + * + * * ['logger' => 'Psr\Log\LoggerInterface'] means the objects use the "logger" name + * internally to fetch a service which must implement Psr\Log\LoggerInterface. + * * ['loggers' => 'Psr\Log\LoggerInterface[]'] means the objects use the "loggers" name + * internally to fetch an iterable of Psr\Log\LoggerInterface instances. + * * ['Psr\Log\LoggerInterface'] is a shortcut for + * * ['Psr\Log\LoggerInterface' => 'Psr\Log\LoggerInterface'] + * + * otherwise: + * + * * ['logger' => '?Psr\Log\LoggerInterface'] denotes an optional dependency + * * ['loggers' => '?Psr\Log\LoggerInterface[]'] denotes an optional iterable dependency + * * ['?Psr\Log\LoggerInterface'] is a shortcut for + * * ['Psr\Log\LoggerInterface' => '?Psr\Log\LoggerInterface'] + * + * @return string[] The required service types, optionally keyed by service names + */ + public static function getSubscribedServices(); +} diff --git a/vendor-bundle/symfony/service-contracts/ServiceSubscriberTrait.php b/vendor-bundle/symfony/service-contracts/ServiceSubscriberTrait.php new file mode 100644 index 000000000..c993d6e1c --- /dev/null +++ b/vendor-bundle/symfony/service-contracts/ServiceSubscriberTrait.php @@ -0,0 +1,63 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Contracts\Service; + +use Phabel\Psr\Container\ContainerInterface; +/** + * Implementation of ServiceSubscriberInterface that determines subscribed services from + * private method return types. Service ids are available as "ClassName::methodName". + * + * @author Kevin Bond + */ +trait ServiceSubscriberTrait +{ + /** @var ContainerInterface */ + protected $container; + /** + * {@inheritdoc} + */ + public static function getSubscribedServices() + { + static $services; + if (null !== $services) { + $phabelReturn = $services; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $services = \is_callable(['parent', __FUNCTION__]) ? parent::getSubscribedServices() : []; + foreach ((new \ReflectionClass(self::class))->getMethods() as $method) { + if ($method->isStatic() || $method->isAbstract() || $method->isGenerator() || $method->isInternal() || $method->getNumberOfRequiredParameters()) { + continue; + } + if (self::class === $method->getDeclaringClass()->name && ($returnType = $method->getReturnType()) && !$returnType->isBuiltin()) { + $services[self::class . '::' . $method->name] = '?' . ($returnType instanceof \ReflectionNamedType ? $returnType->getName() : $returnType); + } + } + $phabelReturn = $services; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @required + */ + public function setContainer(ContainerInterface $container) + { + $this->container = $container; + if (\is_callable(['parent', __FUNCTION__])) { + return parent::setContainer($container); + } + return null; + } +} diff --git a/vendor-bundle/symfony/service-contracts/Test/ServiceLocatorTest.php b/vendor-bundle/symfony/service-contracts/Test/ServiceLocatorTest.php new file mode 100644 index 000000000..dec9a7632 --- /dev/null +++ b/vendor-bundle/symfony/service-contracts/Test/ServiceLocatorTest.php @@ -0,0 +1,90 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Contracts\Service\Test; + +use Phabel\PHPUnit\Framework\TestCase; +use Phabel\Psr\Container\ContainerInterface; +use Phabel\Symfony\Contracts\Service\ServiceLocatorTrait; +abstract class ServiceLocatorTest extends TestCase +{ + protected function getServiceLocator(array $factories) + { + return new PhabelAnonymousClasse6eaac63c3d52a7d24fda0e4ab2c37f0aee58e7016fe8731356cc303e0d1d8826($factories); + } + public function testHas() + { + $locator = $this->getServiceLocator(['foo' => function () { + return 'bar'; + }, 'bar' => function () { + return 'baz'; + }, function () { + return 'dummy'; + }]); + $this->assertTrue($locator->has('foo')); + $this->assertTrue($locator->has('bar')); + $this->assertFalse($locator->has('dummy')); + } + public function testGet() + { + $locator = $this->getServiceLocator(['foo' => function () { + return 'bar'; + }, 'bar' => function () { + return 'baz'; + }]); + $this->assertSame('bar', $locator->get('foo')); + $this->assertSame('baz', $locator->get('bar')); + } + public function testGetDoesNotMemoize() + { + $i = 0; + $locator = $this->getServiceLocator(['foo' => function () use(&$i) { + ++$i; + return 'bar'; + }]); + $this->assertSame('bar', $locator->get('foo')); + $this->assertSame('bar', $locator->get('foo')); + $this->assertSame(2, $i); + } + public function testThrowsOnUndefinedInternalService() + { + if (!$this->getExpectedException()) { + $this->expectException(\Phabel\Psr\Container\NotFoundExceptionInterface::class); + $this->expectExceptionMessage('The service "foo" has a dependency on a non-existent service "bar". This locator only knows about the "foo" service.'); + } + $locator = $this->getServiceLocator(['foo' => function () use(&$locator) { + return $locator->get('bar'); + }]); + $locator->get('foo'); + } + public function testThrowsOnCircularReference() + { + $this->expectException(\Phabel\Psr\Container\ContainerExceptionInterface::class); + $this->expectExceptionMessage('Circular reference detected for service "bar", path: "bar -> baz -> bar".'); + $locator = $this->getServiceLocator(['foo' => function () use(&$locator) { + return $locator->get('bar'); + }, 'bar' => function () use(&$locator) { + return $locator->get('baz'); + }, 'baz' => function () use(&$locator) { + return $locator->get('bar'); + }]); + $locator->get('foo'); + } +} +if (!\class_exists(PhabelAnonymousClasse6eaac63c3d52a7d24fda0e4ab2c37f0aee58e7016fe8731356cc303e0d1d8826::class)) { + class PhabelAnonymousClasse6eaac63c3d52a7d24fda0e4ab2c37f0aee58e7016fe8731356cc303e0d1d8826 implements ContainerInterface, \Phabel\Target\Php70\AnonymousClass\AnonymousClassInterface + { + use ServiceLocatorTrait; + public static function getPhabelOriginalName() + { + return ContainerInterface::class . '@anonymous'; + } + } +} diff --git a/vendor-bundle/symfony/string/AbstractString.php b/vendor-bundle/symfony/string/AbstractString.php new file mode 100644 index 000000000..67a2cdaad --- /dev/null +++ b/vendor-bundle/symfony/string/AbstractString.php @@ -0,0 +1,989 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String; + +use Phabel\Symfony\Component\String\Exception\ExceptionInterface; +use Phabel\Symfony\Component\String\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\String\Exception\RuntimeException; +/** + * Represents a string of abstract characters. + * + * Unicode defines 3 types of "characters" (bytes, code points and grapheme clusters). + * This class is the abstract type to use as a type-hint when the logic you want to + * implement doesn't care about the exact variant it deals with. + * + * @author Nicolas Grekas + * @author Hugo Hamon + * + * @throws ExceptionInterface + */ +abstract class AbstractString implements \Stringable, \JsonSerializable +{ + const PREG_PATTERN_ORDER = \PREG_PATTERN_ORDER; + const PREG_SET_ORDER = \PREG_SET_ORDER; + const PREG_OFFSET_CAPTURE = \PREG_OFFSET_CAPTURE; + const PREG_UNMATCHED_AS_NULL = \PREG_UNMATCHED_AS_NULL; + const PREG_SPLIT = 0; + const PREG_SPLIT_NO_EMPTY = \PREG_SPLIT_NO_EMPTY; + const PREG_SPLIT_DELIM_CAPTURE = \PREG_SPLIT_DELIM_CAPTURE; + const PREG_SPLIT_OFFSET_CAPTURE = \PREG_SPLIT_OFFSET_CAPTURE; + protected $string = ''; + protected $ignoreCase = \false; + public abstract function __construct($string = ''); + /** + * Unwraps instances of AbstractString back to strings. + * + * @return string[]|array + */ + public static function unwrap(array $values) + { + foreach ($values as $k => $v) { + if ($v instanceof self) { + $values[$k] = $v->__toString(); + } elseif (\is_array($v) && $values[$k] !== ($v = static::unwrap($v))) { + $values[$k] = $v; + } + } + $phabelReturn = $values; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Wraps (and normalizes) strings in instances of AbstractString. + * + * @return static[]|array + */ + public static function wrap(array $values) + { + $i = 0; + $keys = null; + foreach ($values as $k => $v) { + if (\is_string($k) && '' !== $k && $k !== ($j = (string) new static($k))) { + $keys = isset($keys) ? $keys : \array_keys($values); + $keys[$i] = $j; + } + if (\is_string($v)) { + $values[$k] = new static($v); + } elseif (\is_array($v) && $values[$k] !== ($v = static::wrap($v))) { + $values[$k] = $v; + } + ++$i; + } + $phabelReturn = null !== $keys ? \array_combine($keys, $values) : $values; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|string[] $needle + * + * @return static + */ + public function after($needle, $includeNeedle = \false, $offset = 0) + { + if (!\is_bool($includeNeedle)) { + if (!(\is_bool($includeNeedle) || \is_numeric($includeNeedle) || \is_string($includeNeedle))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($includeNeedle) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($includeNeedle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $includeNeedle = (bool) $includeNeedle; + } + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $str = clone $this; + $i = \PHP_INT_MAX; + foreach ((array) $needle as $n) { + $n = (string) $n; + $j = $this->indexOf($n, $offset); + if (null !== $j && $j < $i) { + $i = $j; + $str->string = $n; + } + } + if (\PHP_INT_MAX === $i) { + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (!$includeNeedle) { + $i += $str->length(); + } + $phabelReturn = $this->slice($i); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|string[] $needle + * + * @return static + */ + public function afterLast($needle, $includeNeedle = \false, $offset = 0) + { + if (!\is_bool($includeNeedle)) { + if (!(\is_bool($includeNeedle) || \is_numeric($includeNeedle) || \is_string($includeNeedle))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($includeNeedle) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($includeNeedle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $includeNeedle = (bool) $includeNeedle; + } + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $str = clone $this; + $i = null; + foreach ((array) $needle as $n) { + $n = (string) $n; + $j = $this->indexOfLast($n, $offset); + if (null !== $j && $j >= $i) { + $i = $offset = $j; + $str->string = $n; + } + } + if (null === $i) { + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (!$includeNeedle) { + $i += $str->length(); + } + $phabelReturn = $this->slice($i); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return static + */ + public abstract function append(...$suffix); + /** + * @param string|string[] $needle + * + * @return static + */ + public function before($needle, $includeNeedle = \false, $offset = 0) + { + if (!\is_bool($includeNeedle)) { + if (!(\is_bool($includeNeedle) || \is_numeric($includeNeedle) || \is_string($includeNeedle))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($includeNeedle) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($includeNeedle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $includeNeedle = (bool) $includeNeedle; + } + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $str = clone $this; + $i = \PHP_INT_MAX; + foreach ((array) $needle as $n) { + $n = (string) $n; + $j = $this->indexOf($n, $offset); + if (null !== $j && $j < $i) { + $i = $j; + $str->string = $n; + } + } + if (\PHP_INT_MAX === $i) { + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($includeNeedle) { + $i += $str->length(); + } + $phabelReturn = $this->slice(0, $i); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|string[] $needle + * + * @return static + */ + public function beforeLast($needle, $includeNeedle = \false, $offset = 0) + { + if (!\is_bool($includeNeedle)) { + if (!(\is_bool($includeNeedle) || \is_numeric($includeNeedle) || \is_string($includeNeedle))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($includeNeedle) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($includeNeedle) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $includeNeedle = (bool) $includeNeedle; + } + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $str = clone $this; + $i = null; + foreach ((array) $needle as $n) { + $n = (string) $n; + $j = $this->indexOfLast($n, $offset); + if (null !== $j && $j >= $i) { + $i = $offset = $j; + $str->string = $n; + } + } + if (null === $i) { + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ($includeNeedle) { + $i += $str->length(); + } + $phabelReturn = $this->slice(0, $i); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return int[] + */ + public function bytesAt($offset) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $str = $this->slice($offset, 1); + $phabelReturn = '' === $str->string ? [] : \array_values(\unpack('C*', $str->string)); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return static + */ + public abstract function camel(); + /** + * @return static[] + */ + public abstract function chunk($length = 1); + /** + * @return static + */ + public function collapseWhitespace() + { + $str = clone $this; + $str->string = \trim(\preg_replace('/(?:\\s{2,}+|[^\\S ])/', ' ', $str->string)); + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|string[] $needle + */ + public function containsAny($needle) + { + $phabelReturn = null !== $this->indexOf($needle); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @param string|string[] $suffix + */ + public function endsWith($suffix) + { + if (!\is_array($suffix) && !$suffix instanceof \Traversable) { + throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class)); + } + foreach ($suffix as $s) { + if ($this->endsWith((string) $s)) { + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return static + */ + public function ensureEnd($suffix) + { + if (!\is_string($suffix)) { + if (!(\is_string($suffix) || \is_object($suffix) && \method_exists($suffix, '__toString') || (\is_bool($suffix) || \is_numeric($suffix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($suffix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($suffix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $suffix = (string) $suffix; + } + } + if (!$this->endsWith($suffix)) { + $phabelReturn = $this->append($suffix); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $suffix = \preg_quote($suffix); + $regex = '{(' . $suffix . ')(?:' . $suffix . ')++$}D'; + $phabelReturn = $this->replaceMatches($regex . ($this->ignoreCase ? 'i' : ''), '$1'); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return static + */ + public function ensureStart($prefix) + { + if (!\is_string($prefix)) { + if (!(\is_string($prefix) || \is_object($prefix) && \method_exists($prefix, '__toString') || (\is_bool($prefix) || \is_numeric($prefix)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($prefix) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $prefix = (string) $prefix; + } + } + $prefix = new static($prefix); + if (!$this->startsWith($prefix)) { + $phabelReturn = $this->prepend($prefix); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $str = clone $this; + $i = $prefixLen = $prefix->length(); + while ($this->indexOf($prefix, $i) === $i) { + $str = $str->slice($prefixLen); + $i += $prefixLen; + } + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|string[] $string + */ + public function equalsTo($string) + { + if (!\is_array($string) && !$string instanceof \Traversable) { + throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class)); + } + foreach ($string as $s) { + if ($this->equalsTo((string) $s)) { + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return static + */ + public abstract function folded(); + /** + * @return static + */ + public function ignoreCase() + { + $str = clone $this; + $str->ignoreCase = \true; + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|string[] $needle + */ + public function indexOf($needle, $offset = 0) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if (!\is_array($needle) && !$needle instanceof \Traversable) { + throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class)); + } + $i = \PHP_INT_MAX; + foreach ($needle as $n) { + $j = $this->indexOf((string) $n, $offset); + if (null !== $j && $j < $i) { + $i = $j; + } + } + $phabelReturn = \PHP_INT_MAX === $i ? null : $i; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + /** + * @param string|string[] $needle + */ + public function indexOfLast($needle, $offset = 0) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if (!\is_array($needle) && !$needle instanceof \Traversable) { + throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class)); + } + $i = null; + foreach ($needle as $n) { + $j = $this->indexOfLast((string) $n, $offset); + if (null !== $j && $j >= $i) { + $i = $offset = $j; + } + } + $phabelReturn = $i; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + public function isEmpty() + { + $phabelReturn = '' === $this->string; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return static + */ + public abstract function join(array $strings, $lastGlue = null); + public function jsonSerialize() + { + $phabelReturn = $this->string; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public abstract function length(); + /** + * @return static + */ + public abstract function lower(); + /** + * Matches the string using a regular expression. + * + * Pass PREG_PATTERN_ORDER or PREG_SET_ORDER as $flags to get all occurrences matching the regular expression. + * + * @return array All matches in a multi-dimensional array ordered according to flags + */ + public abstract function match($regexp, $flags = 0, $offset = 0); + /** + * @return static + */ + public abstract function padBoth($length, $padStr = ' '); + /** + * @return static + */ + public abstract function padEnd($length, $padStr = ' '); + /** + * @return static + */ + public abstract function padStart($length, $padStr = ' '); + /** + * @return static + */ + public abstract function prepend(...$prefix); + /** + * @return static + */ + public function repeat($multiplier) + { + if (!\is_int($multiplier)) { + if (!(\is_bool($multiplier) || \is_numeric($multiplier))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($multiplier) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($multiplier) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $multiplier = (int) $multiplier; + } + } + if (0 > $multiplier) { + throw new InvalidArgumentException(\sprintf('Multiplier must be positive, %d given.', $multiplier)); + } + $str = clone $this; + $str->string = \str_repeat($str->string, $multiplier); + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return static + */ + public abstract function replace($from, $to); + /** + * @param string|callable $to + * + * @return static + */ + public abstract function replaceMatches($fromRegexp, $to); + /** + * @return static + */ + public abstract function reverse(); + /** + * @return static + */ + public abstract function slice($start = 0, $length = null); + /** + * @return static + */ + public abstract function snake(); + /** + * @return static + */ + public abstract function splice($replacement, $start = 0, $length = null); + /** + * @return static[] + */ + public function split($delimiter, $limit = null, $flags = null) + { + if (!\is_string($delimiter)) { + if (!(\is_string($delimiter) || \is_object($delimiter) && \method_exists($delimiter, '__toString') || (\is_bool($delimiter) || \is_numeric($delimiter)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($delimiter) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($delimiter) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $delimiter = (string) $delimiter; + } + } + if (!\is_null($limit)) { + if (!\is_int($limit)) { + if (!(\is_bool($limit) || \is_numeric($limit))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($limit) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($limit) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $limit = (int) $limit; + } + } + } + if (!\is_null($flags)) { + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($flags) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $flags = (int) $flags; + } + } + } + if (null === $flags) { + throw new \TypeError('Split behavior when $flags is null must be implemented by child classes.'); + } + if ($this->ignoreCase) { + $delimiter .= 'i'; + } + \set_error_handler(static function ($t, $m) { + throw new InvalidArgumentException($m); + }); + try { + if (\false === ($chunks = \preg_split($delimiter, $this->string, $limit, $flags))) { + $lastError = \preg_last_error(); + foreach (\get_defined_constants(\true)['pcre'] as $k => $v) { + if ($lastError === $v && '_ERROR' === \substr($k, -6)) { + throw new RuntimeException('Splitting failed with ' . $k . '.'); + } + } + throw new RuntimeException('Splitting failed with unknown error code.'); + } + } finally { + \restore_error_handler(); + } + $str = clone $this; + if (self::PREG_SPLIT_OFFSET_CAPTURE & $flags) { + foreach ($chunks as &$chunk) { + $str->string = $chunk[0]; + $chunk[0] = clone $str; + } + } else { + foreach ($chunks as &$chunk) { + $str->string = $chunk; + $chunk = clone $str; + } + } + $phabelReturn = $chunks; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|string[] $prefix + */ + public function startsWith($prefix) + { + if (!\is_array($prefix) && !$prefix instanceof \Traversable) { + throw new \TypeError(\sprintf('Method "%s()" must be overridden by class "%s" to deal with non-iterable values.', __FUNCTION__, static::class)); + } + foreach ($prefix as $prefix) { + if ($this->startsWith((string) $prefix)) { + $phabelReturn = \true; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + } + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return static + */ + public abstract function title($allWords = \false); + public function toByteString($toEncoding = null) + { + if (!\is_null($toEncoding)) { + if (!\is_string($toEncoding)) { + if (!(\is_string($toEncoding) || \is_object($toEncoding) && \method_exists($toEncoding, '__toString') || (\is_bool($toEncoding) || \is_numeric($toEncoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($toEncoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($toEncoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $toEncoding = (string) $toEncoding; + } + } + } + $b = new ByteString(); + $toEncoding = \in_array($toEncoding, ['utf8', 'utf-8', 'UTF8'], \true) ? 'UTF-8' : $toEncoding; + if (null === $toEncoding || $toEncoding === ($fromEncoding = $this instanceof AbstractUnicodeString || \preg_match('//u', $b->string) ? 'UTF-8' : 'Windows-1252')) { + $b->string = $this->string; + $phabelReturn = $b; + if (!$phabelReturn instanceof ByteString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ByteString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + \set_error_handler(static function ($t, $m) { + throw new InvalidArgumentException($m); + }); + try { + try { + $b->string = \mb_convert_encoding($this->string, $toEncoding, 'UTF-8'); + } catch (InvalidArgumentException $e) { + if (!\function_exists('iconv')) { + throw $e; + } + $b->string = \iconv('UTF-8', $toEncoding, $this->string); + } + } finally { + \restore_error_handler(); + } + $phabelReturn = $b; + if (!$phabelReturn instanceof ByteString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ByteString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function toCodePointString() + { + $phabelReturn = new CodePointString($this->string); + if (!$phabelReturn instanceof CodePointString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type CodePointString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function toString() + { + $phabelReturn = $this->string; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + public function toUnicodeString() + { + $phabelReturn = new UnicodeString($this->string); + if (!$phabelReturn instanceof UnicodeString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type UnicodeString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return static + */ + public abstract function trim($chars = " \t\n\r\x00\v\f "); + /** + * @return static + */ + public abstract function trimEnd($chars = " \t\n\r\x00\v\f "); + /** + * @return static + */ + public abstract function trimStart($chars = " \t\n\r\x00\v\f "); + /** + * @return static + */ + public function truncate($length, $ellipsis = '', $cut = \true) + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (!\is_string($ellipsis)) { + if (!(\is_string($ellipsis) || \is_object($ellipsis) && \method_exists($ellipsis, '__toString') || (\is_bool($ellipsis) || \is_numeric($ellipsis)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($ellipsis) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($ellipsis) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $ellipsis = (string) $ellipsis; + } + } + if (!\is_bool($cut)) { + if (!(\is_bool($cut) || \is_numeric($cut) || \is_string($cut))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($cut) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cut) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cut = (bool) $cut; + } + } + $stringLength = $this->length(); + if ($stringLength <= $length) { + $phabelReturn = clone $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $ellipsisLength = '' !== $ellipsis ? (new static($ellipsis))->length() : 0; + if ($length < $ellipsisLength) { + $ellipsisLength = 0; + } + if (!$cut) { + if (null === ($length = $this->indexOf([' ', "\r", "\n", "\t"], ($length ?: 1) - 1))) { + $phabelReturn = clone $this; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $length += $ellipsisLength; + } + $str = $this->slice(0, $length - $ellipsisLength); + $phabelReturn = $ellipsisLength ? $str->trimEnd()->append($ellipsis) : $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return static + */ + public abstract function upper(); + /** + * Returns the printable length on a terminal. + */ + public abstract function width($ignoreAnsiDecoration = \true); + /** + * @return static + */ + public function wordwrap($width = 75, $break = "\n", $cut = \false) + { + if (!\is_int($width)) { + if (!(\is_bool($width) || \is_numeric($width))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($width) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($width) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $width = (int) $width; + } + } + if (!\is_string($break)) { + if (!(\is_string($break) || \is_object($break) && \method_exists($break, '__toString') || (\is_bool($break) || \is_numeric($break)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($break) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($break) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $break = (string) $break; + } + } + if (!\is_bool($cut)) { + if (!(\is_bool($cut) || \is_numeric($cut) || \is_string($cut))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($cut) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($cut) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $cut = (bool) $cut; + } + } + $lines = '' !== $break ? $this->split($break) : [clone $this]; + $chars = []; + $mask = ''; + if (1 === \count($lines) && '' === $lines[0]->string) { + $phabelReturn = $lines[0]; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + foreach ($lines as $i => $line) { + if ($i) { + $chars[] = $break; + $mask .= '#'; + } + foreach ($line->chunk() as $char) { + $chars[] = $char->string; + $mask .= ' ' === $char->string ? ' ' : '?'; + } + } + $string = ''; + $j = 0; + $b = $i = -1; + $mask = \wordwrap($mask, $width, '#', $cut); + while (\false !== ($b = \strpos($mask, '#', $b + 1))) { + for (++$i; $i < $b; ++$i) { + $string .= $chars[$j]; + unset($chars[$j++]); + } + if ($break === $chars[$j] || ' ' === $chars[$j]) { + unset($chars[$j++]); + } + $string .= $break; + } + $str = clone $this; + $str->string = $string . \implode('', $chars); + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function __sleep() + { + $phabelReturn = ['string']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function __clone() + { + $this->ignoreCase = \false; + } + public function __toString() + { + $phabelReturn = $this->string; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/string/AbstractUnicodeString.php b/vendor-bundle/symfony/string/AbstractUnicodeString.php new file mode 100644 index 000000000..032c4ed57 --- /dev/null +++ b/vendor-bundle/symfony/string/AbstractUnicodeString.php @@ -0,0 +1,763 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String; + +use Phabel\Symfony\Component\String\Exception\ExceptionInterface; +use Phabel\Symfony\Component\String\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\String\Exception\RuntimeException; +/** + * Represents a string of abstract Unicode characters. + * + * Unicode defines 3 types of "characters" (bytes, code points and grapheme clusters). + * This class is the abstract type to use as a type-hint when the logic you want to + * implement is Unicode-aware but doesn't care about code points vs grapheme clusters. + * + * @author Nicolas Grekas + * + * @throws ExceptionInterface + */ +abstract class AbstractUnicodeString extends AbstractString +{ + const NFC = \Normalizer::NFC; + const NFD = \Normalizer::NFD; + const NFKC = \Normalizer::NFKC; + const NFKD = \Normalizer::NFKD; + // all ASCII letters sorted by typical frequency of occurrence + const ASCII = " eiasntrolud][cmp'\ng|hv.fb,:=-q10C2*yx)(L9AS/P\"EjMIk3>5T>', '<', '>', '-', '-', '-', '-', '-', '-', '-', '-', '-', '||', '/', '[', ']', '*', ',', '.', '<', '>', '<<', '>>', '[', ']', '[', ']', '[', ']', ',', '.', '[', ']', '<<', '>>', '<', '>', ',', '[', ']', '((', '))', '.', ',', '*', '/', '-', '/', '\\', '|', '||', '<<', '>>', '((', '))']; + private static $transliterators = []; + /** + * @return static + */ + public static function fromCodePoints(...$codes) + { + foreach ($codes as $phabelVariadicIndex => $phabelVariadic) { + if (!\is_int($phabelVariadic)) { + if (!(\is_bool($phabelVariadic) || \is_numeric($phabelVariadic))) { + throw new \TypeError(__METHOD__ . '(): Argument #' . (1 + $phabelVariadicIndex) . ' must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($codes) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelVariadic = (int) $phabelVariadic; + } + } + } + $string = ''; + foreach ($codes as $code) { + if (0x80 > ($code %= 0x200000)) { + $string .= \chr($code); + } elseif (0x800 > $code) { + $string .= \chr(0xc0 | $code >> 6) . \chr(0x80 | $code & 0x3f); + } elseif (0x10000 > $code) { + $string .= \chr(0xe0 | $code >> 12) . \chr(0x80 | $code >> 6 & 0x3f) . \chr(0x80 | $code & 0x3f); + } else { + $string .= \chr(0xf0 | $code >> 18) . \chr(0x80 | $code >> 12 & 0x3f) . \chr(0x80 | $code >> 6 & 0x3f) . \chr(0x80 | $code & 0x3f); + } + } + $phabelReturn = new static($string); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Generic UTF-8 to ASCII transliteration. + * + * Install the intl extension for best results. + * + * @param string[]|\Transliterator[]|\Closure[] $rules See "*-Latin" rules from Transliterator::listIDs() + */ + public function ascii(array $rules = []) + { + $str = clone $this; + $s = $str->string; + $str->string = ''; + \array_unshift($rules, 'nfd'); + $rules[] = 'latin-ascii'; + if (\function_exists('transliterator_transliterate')) { + $rules[] = 'any-latin/bgn'; + } + $rules[] = 'nfkd'; + $rules[] = '[:nonspacing mark:] remove'; + while (\strlen($s) - 1 > ($i = \strspn($s, self::ASCII))) { + if (0 < --$i) { + $str->string .= \substr($s, 0, $i); + $s = \substr($s, $i); + } + if (!($rule = \array_shift($rules))) { + $rules = []; + // An empty rule interrupts the next ones + } + if ($rule instanceof \Transliterator) { + $s = $rule->transliterate($s); + } elseif ($rule instanceof \Closure) { + $s = $rule($s); + } elseif ($rule) { + if ('nfd' === ($rule = \strtolower($rule))) { + \normalizer_is_normalized($s, self::NFD) ?: ($s = \normalizer_normalize($s, self::NFD)); + } elseif ('nfkd' === $rule) { + \normalizer_is_normalized($s, self::NFKD) ?: ($s = \normalizer_normalize($s, self::NFKD)); + } elseif ('[:nonspacing mark:] remove' === $rule) { + $s = \preg_replace('/\\p{Mn}++/u', '', $s); + } elseif ('latin-ascii' === $rule) { + $s = \str_replace(self::TRANSLIT_FROM, self::TRANSLIT_TO, $s); + } elseif ('de-ascii' === $rule) { + $s = \preg_replace("/([AUO])̈(?=\\p{Ll})/u", '$1e', $s); + $s = \str_replace(["ä", "ö", "ü", "Ä", "Ö", "Ü"], ['ae', 'oe', 'ue', 'AE', 'OE', 'UE'], $s); + } elseif (\function_exists('transliterator_transliterate')) { + if (null === ($transliterator = isset(self::$transliterators[$rule]) ? self::$transliterators[$rule] : (self::$transliterators[$rule] = \Transliterator::create($rule)))) { + if ('any-latin/bgn' === $rule) { + $rule = 'any-latin'; + $transliterator = isset(self::$transliterators[$rule]) ? self::$transliterators[$rule] : (self::$transliterators[$rule] = \Transliterator::create($rule)); + } + if (null === $transliterator) { + throw new InvalidArgumentException(\sprintf('Unknown transliteration rule "%s".', $rule)); + } + self::$transliterators['any-latin/bgn'] = $transliterator; + } + $s = $transliterator->transliterate($s); + } + } elseif (!\function_exists('iconv')) { + $s = \preg_replace('/[^\\x00-\\x7F]/u', '?', $s); + } else { + $s = @\preg_replace_callback('/[^\\x00-\\x7F]/u', static function ($c) { + $c = (string) \iconv('UTF-8', 'ASCII//TRANSLIT', $c[0]); + if ('' === $c && '' === \iconv('UTF-8', 'ASCII//TRANSLIT', '²')) { + throw new \LogicException(\sprintf('"%s" requires a translit-able iconv implementation, try installing "gnu-libiconv" if you\'re using Alpine Linux.', static::class)); + } + return 1 < \strlen($c) ? \ltrim($c, '\'`"^~') : ('' !== $c ? $c : '?'); + }, $s); + } + } + $str->string .= $s; + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function camel() + { + $str = clone $this; + $str->string = \str_replace(' ', '', \preg_replace_callback('/\\b./u', static function ($m) use(&$i) { + return 1 === ++$i ? 'İ' === $m[0] ? 'i̇' : \mb_strtolower($m[0], 'UTF-8') : \mb_convert_case($m[0], \MB_CASE_TITLE, 'UTF-8'); + }, \preg_replace('/[^\\pL0-9]++/u', ' ', $this->string))); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return int[] + */ + public function codePointsAt($offset) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $str = $this->slice($offset, 1); + if ('' === $str->string) { + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $codePoints = []; + foreach (\preg_split('//u', $str->string, -1, \PREG_SPLIT_NO_EMPTY) as $c) { + $codePoints[] = \mb_ord($c, 'UTF-8'); + } + $phabelReturn = $codePoints; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function folded($compat = \true) + { + if (!\is_bool($compat)) { + if (!(\is_bool($compat) || \is_numeric($compat) || \is_string($compat))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($compat) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($compat) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $compat = (bool) $compat; + } + } + $str = clone $this; + if (!$compat || \PHP_VERSION_ID < 70300 || !\defined('Normalizer::NFKC_CF')) { + $str->string = \normalizer_normalize($str->string, $compat ? \Normalizer::NFKC : \Normalizer::NFC); + $str->string = \mb_strtolower(\str_replace(self::FOLD_FROM, self::FOLD_TO, $this->string), 'UTF-8'); + } else { + $str->string = \normalizer_normalize($str->string, \Normalizer::NFKC_CF); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function join(array $strings, $lastGlue = null) + { + if (!\is_null($lastGlue)) { + if (!\is_string($lastGlue)) { + if (!(\is_string($lastGlue) || \is_object($lastGlue) && \method_exists($lastGlue, '__toString') || (\is_bool($lastGlue) || \is_numeric($lastGlue)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($lastGlue) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($lastGlue) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $lastGlue = (string) $lastGlue; + } + } + } + $str = clone $this; + $tail = null !== $lastGlue && 1 < \count($strings) ? $lastGlue . \array_pop($strings) : ''; + $str->string = \implode($this->string, $strings) . $tail; + if (!\preg_match('//u', $str->string)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function lower() + { + $str = clone $this; + $str->string = \mb_strtolower(\str_replace('İ', 'i̇', $str->string), 'UTF-8'); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function match($regexp, $flags = 0, $offset = 0) + { + if (!\is_string($regexp)) { + if (!(\is_string($regexp) || \is_object($regexp) && \method_exists($regexp, '__toString') || (\is_bool($regexp) || \is_numeric($regexp)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($regexp) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($regexp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $regexp = (string) $regexp; + } + } + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($flags) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $flags = (int) $flags; + } + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $match = (\PREG_PATTERN_ORDER | \PREG_SET_ORDER) & $flags ? 'preg_match_all' : 'preg_match'; + if ($this->ignoreCase) { + $regexp .= 'i'; + } + \set_error_handler(static function ($t, $m) { + throw new InvalidArgumentException($m); + }); + try { + if (\false === $match($regexp . 'u', $this->string, $matches, $flags | \PREG_UNMATCHED_AS_NULL, $offset)) { + $lastError = \preg_last_error(); + foreach (\get_defined_constants(\true)['pcre'] as $k => $v) { + if ($lastError === $v && '_ERROR' === \substr($k, -6)) { + throw new RuntimeException('Matching failed with ' . $k . '.'); + } + } + throw new RuntimeException('Matching failed with unknown error code.'); + } + } finally { + \restore_error_handler(); + } + $phabelReturn = $matches; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @return static + */ + public function normalize($form = self::NFC) + { + if (!\is_int($form)) { + if (!(\is_bool($form) || \is_numeric($form))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($form) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($form) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $form = (int) $form; + } + } + if (!\in_array($form, [self::NFC, self::NFD, self::NFKC, self::NFKD])) { + throw new InvalidArgumentException('Unsupported normalization form.'); + } + $str = clone $this; + \normalizer_is_normalized($str->string, $form) ?: ($str->string = \normalizer_normalize($str->string, $form)); + $phabelReturn = $str; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function padBoth($length, $padStr = ' ') + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (!\is_string($padStr)) { + if (!(\is_string($padStr) || \is_object($padStr) && \method_exists($padStr, '__toString') || (\is_bool($padStr) || \is_numeric($padStr)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($padStr) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($padStr) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $padStr = (string) $padStr; + } + } + if ('' === $padStr || !\preg_match('//u', $padStr)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $pad = clone $this; + $pad->string = $padStr; + $phabelReturn = $this->pad($length, $pad, \STR_PAD_BOTH); + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function padEnd($length, $padStr = ' ') + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (!\is_string($padStr)) { + if (!(\is_string($padStr) || \is_object($padStr) && \method_exists($padStr, '__toString') || (\is_bool($padStr) || \is_numeric($padStr)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($padStr) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($padStr) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $padStr = (string) $padStr; + } + } + if ('' === $padStr || !\preg_match('//u', $padStr)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $pad = clone $this; + $pad->string = $padStr; + $phabelReturn = $this->pad($length, $pad, \STR_PAD_RIGHT); + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function padStart($length, $padStr = ' ') + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (!\is_string($padStr)) { + if (!(\is_string($padStr) || \is_object($padStr) && \method_exists($padStr, '__toString') || (\is_bool($padStr) || \is_numeric($padStr)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($padStr) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($padStr) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $padStr = (string) $padStr; + } + } + if ('' === $padStr || !\preg_match('//u', $padStr)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $pad = clone $this; + $pad->string = $padStr; + $phabelReturn = $this->pad($length, $pad, \STR_PAD_LEFT); + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function replaceMatches($fromRegexp, $to) + { + if (!\is_string($fromRegexp)) { + if (!(\is_string($fromRegexp) || \is_object($fromRegexp) && \method_exists($fromRegexp, '__toString') || (\is_bool($fromRegexp) || \is_numeric($fromRegexp)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($fromRegexp) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($fromRegexp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $fromRegexp = (string) $fromRegexp; + } + } + if ($this->ignoreCase) { + $fromRegexp .= 'i'; + } + if (\is_array($to) || $to instanceof \Closure) { + if (!\is_callable($to)) { + throw new \TypeError(\sprintf('Argument 2 passed to "%s::replaceMatches()" must be callable, array given.', static::class)); + } + $replace = 'preg_replace_callback'; + $to = static function (array $m) use($to) { + $to = $to($m); + if ('' !== $to && (!\is_string($to) || !\preg_match('//u', $to))) { + throw new InvalidArgumentException('Replace callback must return a valid UTF-8 string.'); + } + $phabelReturn = $to; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + }; + } elseif ('' !== $to && !\preg_match('//u', $to)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } else { + $replace = 'preg_replace'; + } + \set_error_handler(static function ($t, $m) { + throw new InvalidArgumentException($m); + }); + try { + if (null === ($string = $replace($fromRegexp . 'u', $to, $this->string))) { + $lastError = \preg_last_error(); + foreach (\get_defined_constants(\true)['pcre'] as $k => $v) { + if ($lastError === $v && '_ERROR' === \substr($k, -6)) { + throw new RuntimeException('Matching failed with ' . $k . '.'); + } + } + throw new RuntimeException('Matching failed with unknown error code.'); + } + } finally { + \restore_error_handler(); + } + $str = clone $this; + $str->string = $string; + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function reverse() + { + $str = clone $this; + $str->string = \implode('', \array_reverse(\preg_split('/(\\X)/u', $str->string, -1, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY))); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function snake() + { + $str = $this->camel()->title(); + $str->string = \mb_strtolower(\preg_replace(['/(\\p{Lu}+)(\\p{Lu}\\p{Ll})/u', '/([\\p{Ll}0-9])(\\p{Lu})/u'], 'Phabel\\1_\\2', $str->string), 'UTF-8'); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function title($allWords = \false) + { + if (!\is_bool($allWords)) { + if (!(\is_bool($allWords) || \is_numeric($allWords) || \is_string($allWords))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($allWords) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($allWords) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $allWords = (bool) $allWords; + } + } + $str = clone $this; + $limit = $allWords ? -1 : 1; + $str->string = \preg_replace_callback('/\\b./u', static function (array $m) { + $phabelReturn = \mb_convert_case($m[0], \MB_CASE_TITLE, 'UTF-8'); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + }, $str->string, $limit); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function trim($chars = " \t\n\r\x00\v\f ") + { + if (!\is_string($chars)) { + if (!(\is_string($chars) || \is_object($chars) && \method_exists($chars, '__toString') || (\is_bool($chars) || \is_numeric($chars)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($chars) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($chars) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $chars = (string) $chars; + } + } + if (" \t\n\r\x00\v\f " !== $chars && !\preg_match('//u', $chars)) { + throw new InvalidArgumentException('Invalid UTF-8 chars.'); + } + $chars = \preg_quote($chars); + $str = clone $this; + $str->string = \preg_replace("{^[{$chars}]++|[{$chars}]++\$}uD", '', $str->string); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function trimEnd($chars = " \t\n\r\x00\v\f ") + { + if (!\is_string($chars)) { + if (!(\is_string($chars) || \is_object($chars) && \method_exists($chars, '__toString') || (\is_bool($chars) || \is_numeric($chars)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($chars) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($chars) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $chars = (string) $chars; + } + } + if (" \t\n\r\x00\v\f " !== $chars && !\preg_match('//u', $chars)) { + throw new InvalidArgumentException('Invalid UTF-8 chars.'); + } + $chars = \preg_quote($chars); + $str = clone $this; + $str->string = \preg_replace("{[{$chars}]++\$}uD", '', $str->string); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function trimStart($chars = " \t\n\r\x00\v\f ") + { + if (!\is_string($chars)) { + if (!(\is_string($chars) || \is_object($chars) && \method_exists($chars, '__toString') || (\is_bool($chars) || \is_numeric($chars)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($chars) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($chars) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $chars = (string) $chars; + } + } + if (" \t\n\r\x00\v\f " !== $chars && !\preg_match('//u', $chars)) { + throw new InvalidArgumentException('Invalid UTF-8 chars.'); + } + $chars = \preg_quote($chars); + $str = clone $this; + $str->string = \preg_replace("{^[{$chars}]++}uD", '', $str->string); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function upper() + { + $str = clone $this; + $str->string = \mb_strtoupper($str->string, 'UTF-8'); + if (\PHP_VERSION_ID < 70300) { + $str->string = \str_replace(self::UPPER_FROM, self::UPPER_TO, $str->string); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function width($ignoreAnsiDecoration = \true) + { + if (!\is_bool($ignoreAnsiDecoration)) { + if (!(\is_bool($ignoreAnsiDecoration) || \is_numeric($ignoreAnsiDecoration) || \is_string($ignoreAnsiDecoration))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($ignoreAnsiDecoration) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($ignoreAnsiDecoration) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $ignoreAnsiDecoration = (bool) $ignoreAnsiDecoration; + } + } + $width = 0; + $s = \str_replace(["\x00", "\x05", "\x07"], '', $this->string); + if (\false !== \strpos($s, "\r")) { + $s = \str_replace(["\r\n", "\r"], "\n", $s); + } + if (!$ignoreAnsiDecoration) { + $s = \preg_replace('/[\\p{Cc}\\x7F]++/u', '', $s); + } + foreach (\explode("\n", $s) as $s) { + if ($ignoreAnsiDecoration) { + $s = \preg_replace('/(?:\\x1B(?: + \\[ [\\x30-\\x3F]*+ [\\x20-\\x2F]*+ [0x40-\\x7E] + | [P\\]X^_] .*? \\x1B\\\\ + | [\\x41-\\x7E] + )|[\\p{Cc}\\x7F]++)/xu', '', $s); + } + // Non printable characters have been dropped, so wcswidth cannot logically return -1. + $width += $this->wcswidth($s); + } + $phabelReturn = $width; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return static + */ + private function pad($len, self $pad, $type) + { + if (!\is_int($len)) { + if (!(\is_bool($len) || \is_numeric($len))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($len) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($len) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $len = (int) $len; + } + } + if (!\is_int($type)) { + if (!(\is_bool($type) || \is_numeric($type))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($type) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($type) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $type = (int) $type; + } + } + $sLen = $this->length(); + if ($len <= $sLen) { + $phabelReturn = clone $this; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $padLen = $pad->length(); + $freeLen = $len - $sLen; + $len = $freeLen % $padLen; + switch ($type) { + case \STR_PAD_RIGHT: + $phabelReturn = $this->append(\str_repeat($pad->string, \intdiv($freeLen, $padLen)) . ($len ? $pad->slice(0, $len) : '')); + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + case \STR_PAD_LEFT: + $phabelReturn = $this->prepend(\str_repeat($pad->string, \intdiv($freeLen, $padLen)) . ($len ? $pad->slice(0, $len) : '')); + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + case \STR_PAD_BOTH: + $freeLen /= 2; + $rightLen = \ceil($freeLen); + $len = $rightLen % $padLen; + $str = $this->append(\str_repeat($pad->string, \intdiv($rightLen, $padLen)) . ($len ? $pad->slice(0, $len) : '')); + $leftLen = \floor($freeLen); + $len = $leftLen % $padLen; + $phabelReturn = $str->prepend(\str_repeat($pad->string, \intdiv($leftLen, $padLen)) . ($len ? $pad->slice(0, $len) : '')); + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + default: + throw new InvalidArgumentException('Invalid padding type.'); + } + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', none returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + /** + * Based on https://github.com/jquast/wcwidth, a Python implementation of https://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c. + */ + private function wcswidth($string) + { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + $width = 0; + foreach (\preg_split('//u', $string, -1, \PREG_SPLIT_NO_EMPTY) as $c) { + $codePoint = \mb_ord($c, 'UTF-8'); + if (0 === $codePoint || 0x34f === $codePoint || 0x200b <= $codePoint && 0x200f >= $codePoint || 0x2028 === $codePoint || 0x2029 === $codePoint || 0x202a <= $codePoint && 0x202e >= $codePoint || 0x2060 <= $codePoint && 0x2063 >= $codePoint) { + continue; + } + // Non printable characters + if (32 > $codePoint || 0x7f <= $codePoint && 0xa0 > $codePoint) { + $phabelReturn = -1; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + static $tableZero; + if (null === $tableZero) { + $tableZero = (require __DIR__ . '/Resources/data/wcswidth_table_zero.php'); + } + if ($codePoint >= $tableZero[0][0] && $codePoint <= $tableZero[$ubound = \count($tableZero) - 1][1]) { + $lbound = 0; + while ($ubound >= $lbound) { + $mid = \floor(($lbound + $ubound) / 2); + if ($codePoint > $tableZero[$mid][1]) { + $lbound = $mid + 1; + } elseif ($codePoint < $tableZero[$mid][0]) { + $ubound = $mid - 1; + } else { + continue 2; + } + } + } + static $tableWide; + if (null === $tableWide) { + $tableWide = (require __DIR__ . '/Resources/data/wcswidth_table_wide.php'); + } + if ($codePoint >= $tableWide[0][0] && $codePoint <= $tableWide[$ubound = \count($tableWide) - 1][1]) { + $lbound = 0; + while ($ubound >= $lbound) { + $mid = \floor(($lbound + $ubound) / 2); + if ($codePoint > $tableWide[$mid][1]) { + $lbound = $mid + 1; + } elseif ($codePoint < $tableWide[$mid][0]) { + $ubound = $mid - 1; + } else { + $width += 2; + continue 2; + } + } + } + ++$width; + } + $phabelReturn = $width; + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/string/ByteString.php b/vendor-bundle/symfony/string/ByteString.php new file mode 100644 index 000000000..d533f6da3 --- /dev/null +++ b/vendor-bundle/symfony/string/ByteString.php @@ -0,0 +1,945 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String; + +use Phabel\Symfony\Component\String\Exception\ExceptionInterface; +use Phabel\Symfony\Component\String\Exception\InvalidArgumentException; +use Phabel\Symfony\Component\String\Exception\RuntimeException; +/** + * Represents a binary-safe string of bytes. + * + * @author Nicolas Grekas + * @author Hugo Hamon + * + * @throws ExceptionInterface + */ +class ByteString extends AbstractString +{ + const ALPHABET_ALPHANUMERIC = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'; + public function __construct($string = '') + { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + $this->string = $string; + } + /* + * The following method was derived from code of the Hack Standard Library (v4.40 - 2020-05-03) + * + * https://github.com/hhvm/hsl/blob/80a42c02f036f72a42f0415e80d6b847f4bf62d5/src/random/private.php#L16 + * + * Code subject to the MIT license (https://github.com/hhvm/hsl/blob/master/LICENSE). + * + * Copyright (c) 2004-2020, Facebook, Inc. (https://www.facebook.com/) + */ + public static function fromRandom($length = 16, $alphabet = null) + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (!\is_null($alphabet)) { + if (!\is_string($alphabet)) { + if (!(\is_string($alphabet) || \is_object($alphabet) && \method_exists($alphabet, '__toString') || (\is_bool($alphabet) || \is_numeric($alphabet)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($alphabet) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($alphabet) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $alphabet = (string) $alphabet; + } + } + } + if ($length <= 0) { + throw new InvalidArgumentException(\sprintf('A strictly positive length is expected, "%d" given.', $length)); + } + $alphabet = isset($alphabet) ? $alphabet : self::ALPHABET_ALPHANUMERIC; + $alphabetSize = \strlen($alphabet); + $bits = (int) \ceil(\log($alphabetSize, 2.0)); + if ($bits <= 0 || $bits > 56) { + throw new InvalidArgumentException('The length of the alphabet must in the [2^1, 2^56] range.'); + } + $ret = ''; + while ($length > 0) { + $urandomLength = (int) \ceil(2 * $length * $bits / 8.0); + $data = \random_bytes($urandomLength); + $unpackedData = 0; + $unpackedBits = 0; + for ($i = 0; $i < $urandomLength && $length > 0; ++$i) { + // Unpack 8 bits + $unpackedData = $unpackedData << 8 | \ord($data[$i]); + $unpackedBits += 8; + // While we have enough bits to select a character from the alphabet, keep + // consuming the random data + for (; $unpackedBits >= $bits && $length > 0; $unpackedBits -= $bits) { + $index = $unpackedData & (1 << $bits) - 1; + $unpackedData >>= $bits; + // Unfortunately, the alphabet size is not necessarily a power of two. + // Worst case, it is 2^k + 1, which means we need (k+1) bits and we + // have around a 50% chance of missing as k gets larger + if ($index < $alphabetSize) { + $ret .= $alphabet[$index]; + --$length; + } + } + } + } + $phabelReturn = new static($ret); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function bytesAt($offset) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $str = isset($this->string[$offset]) ? $this->string[$offset] : ''; + $phabelReturn = '' === $str ? [] : [\ord($str)]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function append(...$suffix) + { + foreach ($suffix as $phabelVariadicIndex => $phabelVariadic) { + if (!\is_string($phabelVariadic)) { + if (!(\is_string($phabelVariadic) || \is_object($phabelVariadic) && \method_exists($phabelVariadic, '__toString') || (\is_bool($phabelVariadic) || \is_numeric($phabelVariadic)))) { + throw new \TypeError(__METHOD__ . '(): Argument #' . (1 + $phabelVariadicIndex) . ' must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($suffix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelVariadic = (string) $phabelVariadic; + } + } + } + $str = clone $this; + $str->string .= 1 >= \count($suffix) ? isset($suffix[0]) ? $suffix[0] : '' : \implode('', $suffix); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function camel() + { + $str = clone $this; + $str->string = \lcfirst(\str_replace(' ', '', \ucwords(\preg_replace('/[^a-zA-Z0-9\\x7f-\\xff]++/', ' ', $this->string)))); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function chunk($length = 1) + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (1 > $length) { + throw new InvalidArgumentException('The chunk length must be greater than zero.'); + } + if ('' === $this->string) { + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $str = clone $this; + $chunks = []; + foreach (\str_split($this->string, $length) as $chunk) { + $str->string = $chunk; + $chunks[] = clone $str; + } + $phabelReturn = $chunks; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function endsWith($suffix) + { + if ($suffix instanceof parent) { + $suffix = $suffix->string; + } elseif (\is_array($suffix) || $suffix instanceof \Traversable) { + $phabelReturn = parent::endsWith($suffix); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } else { + $suffix = (string) $suffix; + } + $phabelReturn = '' !== $suffix && \strlen($this->string) >= \strlen($suffix) && 0 === \substr_compare($this->string, $suffix, -\strlen($suffix), null, $this->ignoreCase); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function equalsTo($string) + { + if ($string instanceof parent) { + $string = $string->string; + } elseif (\is_array($string) || $string instanceof \Traversable) { + $phabelReturn = parent::equalsTo($string); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } else { + $string = (string) $string; + } + if ('' !== $string && $this->ignoreCase) { + $phabelReturn = 0 === \strcasecmp($string, $this->string); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $string === $this->string; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function folded() + { + $str = clone $this; + $str->string = \strtolower($str->string); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function indexOf($needle, $offset = 0) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if ($needle instanceof parent) { + $needle = $needle->string; + } elseif (\is_array($needle) || $needle instanceof \Traversable) { + $phabelReturn = parent::indexOf($needle, $offset); + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } else { + $needle = (string) $needle; + } + if ('' === $needle) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + $i = $this->ignoreCase ? \stripos($this->string, $needle, $offset) : \strpos($this->string, $needle, $offset); + $phabelReturn = \false === $i ? null : $i; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + public function indexOfLast($needle, $offset = 0) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if ($needle instanceof parent) { + $needle = $needle->string; + } elseif (\is_array($needle) || $needle instanceof \Traversable) { + $phabelReturn = parent::indexOfLast($needle, $offset); + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } else { + $needle = (string) $needle; + } + if ('' === $needle) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + $i = $this->ignoreCase ? \strripos($this->string, $needle, $offset) : \strrpos($this->string, $needle, $offset); + $phabelReturn = \false === $i ? null : $i; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + public function isUtf8() + { + $phabelReturn = '' === $this->string || \preg_match('//u', $this->string); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function join(array $strings, $lastGlue = null) + { + if (!\is_null($lastGlue)) { + if (!\is_string($lastGlue)) { + if (!(\is_string($lastGlue) || \is_object($lastGlue) && \method_exists($lastGlue, '__toString') || (\is_bool($lastGlue) || \is_numeric($lastGlue)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($lastGlue) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($lastGlue) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $lastGlue = (string) $lastGlue; + } + } + } + $str = clone $this; + $tail = null !== $lastGlue && 1 < \count($strings) ? $lastGlue . \array_pop($strings) : ''; + $str->string = \implode($this->string, $strings) . $tail; + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function length() + { + $phabelReturn = \strlen($this->string); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + public function lower() + { + $str = clone $this; + $str->string = \strtolower($str->string); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function match($regexp, $flags = 0, $offset = 0) + { + if (!\is_string($regexp)) { + if (!(\is_string($regexp) || \is_object($regexp) && \method_exists($regexp, '__toString') || (\is_bool($regexp) || \is_numeric($regexp)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($regexp) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($regexp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $regexp = (string) $regexp; + } + } + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($flags) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $flags = (int) $flags; + } + } + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $match = (\PREG_PATTERN_ORDER | \PREG_SET_ORDER) & $flags ? 'preg_match_all' : 'preg_match'; + if ($this->ignoreCase) { + $regexp .= 'i'; + } + \set_error_handler(static function ($t, $m) { + throw new InvalidArgumentException($m); + }); + try { + if (\false === $match($regexp, $this->string, $matches, $flags | \PREG_UNMATCHED_AS_NULL, $offset)) { + $lastError = \preg_last_error(); + foreach (\get_defined_constants(\true)['pcre'] as $k => $v) { + if ($lastError === $v && '_ERROR' === \substr($k, -6)) { + throw new RuntimeException('Matching failed with ' . $k . '.'); + } + } + throw new RuntimeException('Matching failed with unknown error code.'); + } + } finally { + \restore_error_handler(); + } + $phabelReturn = $matches; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function padBoth($length, $padStr = ' ') + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (!\is_string($padStr)) { + if (!(\is_string($padStr) || \is_object($padStr) && \method_exists($padStr, '__toString') || (\is_bool($padStr) || \is_numeric($padStr)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($padStr) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($padStr) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $padStr = (string) $padStr; + } + } + $str = clone $this; + $str->string = \str_pad($this->string, $length, $padStr, \STR_PAD_BOTH); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function padEnd($length, $padStr = ' ') + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (!\is_string($padStr)) { + if (!(\is_string($padStr) || \is_object($padStr) && \method_exists($padStr, '__toString') || (\is_bool($padStr) || \is_numeric($padStr)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($padStr) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($padStr) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $padStr = (string) $padStr; + } + } + $str = clone $this; + $str->string = \str_pad($this->string, $length, $padStr, \STR_PAD_RIGHT); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function padStart($length, $padStr = ' ') + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (!\is_string($padStr)) { + if (!(\is_string($padStr) || \is_object($padStr) && \method_exists($padStr, '__toString') || (\is_bool($padStr) || \is_numeric($padStr)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($padStr) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($padStr) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $padStr = (string) $padStr; + } + } + $str = clone $this; + $str->string = \str_pad($this->string, $length, $padStr, \STR_PAD_LEFT); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function prepend(...$prefix) + { + foreach ($prefix as $phabelVariadicIndex => $phabelVariadic) { + if (!\is_string($phabelVariadic)) { + if (!(\is_string($phabelVariadic) || \is_object($phabelVariadic) && \method_exists($phabelVariadic, '__toString') || (\is_bool($phabelVariadic) || \is_numeric($phabelVariadic)))) { + throw new \TypeError(__METHOD__ . '(): Argument #' . (1 + $phabelVariadicIndex) . ' must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelVariadic = (string) $phabelVariadic; + } + } + } + $str = clone $this; + $str->string = (1 >= \count($prefix) ? isset($prefix[0]) ? $prefix[0] : '' : \implode('', $prefix)) . $str->string; + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function replace($from, $to) + { + if (!\is_string($from)) { + if (!(\is_string($from) || \is_object($from) && \method_exists($from, '__toString') || (\is_bool($from) || \is_numeric($from)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($from) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($from) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $from = (string) $from; + } + } + if (!\is_string($to)) { + if (!(\is_string($to) || \is_object($to) && \method_exists($to, '__toString') || (\is_bool($to) || \is_numeric($to)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($to) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($to) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $to = (string) $to; + } + } + $str = clone $this; + if ('' !== $from) { + $str->string = $this->ignoreCase ? \str_ireplace($from, $to, $this->string) : \str_replace($from, $to, $this->string); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function replaceMatches($fromRegexp, $to) + { + if (!\is_string($fromRegexp)) { + if (!(\is_string($fromRegexp) || \is_object($fromRegexp) && \method_exists($fromRegexp, '__toString') || (\is_bool($fromRegexp) || \is_numeric($fromRegexp)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($fromRegexp) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($fromRegexp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $fromRegexp = (string) $fromRegexp; + } + } + if ($this->ignoreCase) { + $fromRegexp .= 'i'; + } + if (\is_array($to)) { + if (!\is_callable($to)) { + throw new \TypeError(\sprintf('Argument 2 passed to "%s::replaceMatches()" must be callable, array given.', static::class)); + } + $replace = 'preg_replace_callback'; + } else { + $replace = $to instanceof \Closure ? 'preg_replace_callback' : 'preg_replace'; + } + \set_error_handler(static function ($t, $m) { + throw new InvalidArgumentException($m); + }); + try { + if (null === ($string = $replace($fromRegexp, $to, $this->string))) { + $lastError = \preg_last_error(); + foreach (\get_defined_constants(\true)['pcre'] as $k => $v) { + if ($lastError === $v && '_ERROR' === \substr($k, -6)) { + throw new RuntimeException('Matching failed with ' . $k . '.'); + } + } + throw new RuntimeException('Matching failed with unknown error code.'); + } + } finally { + \restore_error_handler(); + } + $str = clone $this; + $str->string = $string; + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function reverse() + { + $str = clone $this; + $str->string = \strrev($str->string); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function slice($start = 0, $length = null) + { + if (!\is_int($start)) { + if (!(\is_bool($start) || \is_numeric($start))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($start) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($start) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $start = (int) $start; + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + $str = clone $this; + $str->string = (string) \substr($this->string, $start, isset($length) ? $length : \PHP_INT_MAX); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function snake() + { + $str = $this->camel()->title(); + $str->string = \strtolower(\preg_replace(['/([A-Z]+)([A-Z][a-z])/', '/([a-z\\d])([A-Z])/'], 'Phabel\\1_\\2', $str->string)); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function splice($replacement, $start = 0, $length = null) + { + if (!\is_string($replacement)) { + if (!(\is_string($replacement) || \is_object($replacement) && \method_exists($replacement, '__toString') || (\is_bool($replacement) || \is_numeric($replacement)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($replacement) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($replacement) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $replacement = (string) $replacement; + } + } + if (!\is_int($start)) { + if (!(\is_bool($start) || \is_numeric($start))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($start) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($start) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $start = (int) $start; + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + $str = clone $this; + $str->string = \substr_replace($this->string, $replacement, $start, isset($length) ? $length : \PHP_INT_MAX); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function split($delimiter, $limit = null, $flags = null) + { + if (!\is_string($delimiter)) { + if (!(\is_string($delimiter) || \is_object($delimiter) && \method_exists($delimiter, '__toString') || (\is_bool($delimiter) || \is_numeric($delimiter)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($delimiter) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($delimiter) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $delimiter = (string) $delimiter; + } + } + if (!\is_null($limit)) { + if (!\is_int($limit)) { + if (!(\is_bool($limit) || \is_numeric($limit))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($limit) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($limit) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $limit = (int) $limit; + } + } + } + if (!\is_null($flags)) { + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($flags) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $flags = (int) $flags; + } + } + } + if (1 > ($limit = isset($limit) ? $limit : \PHP_INT_MAX)) { + throw new InvalidArgumentException('Split limit must be a positive integer.'); + } + if ('' === $delimiter) { + throw new InvalidArgumentException('Split delimiter is empty.'); + } + if (null !== $flags) { + $phabelReturn = parent::split($delimiter, $limit, $flags); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $str = clone $this; + $chunks = $this->ignoreCase ? \preg_split('{' . \preg_quote($delimiter) . '}iD', $this->string, $limit) : \explode($delimiter, $this->string, $limit); + foreach ($chunks as &$chunk) { + $str->string = $chunk; + $chunk = clone $str; + } + $phabelReturn = $chunks; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function startsWith($prefix) + { + if ($prefix instanceof parent) { + $prefix = $prefix->string; + } elseif (!\is_string($prefix)) { + $phabelReturn = parent::startsWith($prefix); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = '' !== $prefix && 0 === ($this->ignoreCase ? \strncasecmp($this->string, $prefix, \strlen($prefix)) : \strncmp($this->string, $prefix, \strlen($prefix))); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function title($allWords = \false) + { + if (!\is_bool($allWords)) { + if (!(\is_bool($allWords) || \is_numeric($allWords) || \is_string($allWords))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($allWords) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($allWords) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $allWords = (bool) $allWords; + } + } + $str = clone $this; + $str->string = $allWords ? \ucwords($str->string) : \ucfirst($str->string); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function toUnicodeString($fromEncoding = null) + { + if (!\is_null($fromEncoding)) { + if (!\is_string($fromEncoding)) { + if (!(\is_string($fromEncoding) || \is_object($fromEncoding) && \method_exists($fromEncoding, '__toString') || (\is_bool($fromEncoding) || \is_numeric($fromEncoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($fromEncoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($fromEncoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $fromEncoding = (string) $fromEncoding; + } + } + } + $phabelReturn = new UnicodeString($this->toCodePointString($fromEncoding)->string); + if (!$phabelReturn instanceof UnicodeString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type UnicodeString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function toCodePointString($fromEncoding = null) + { + if (!\is_null($fromEncoding)) { + if (!\is_string($fromEncoding)) { + if (!(\is_string($fromEncoding) || \is_object($fromEncoding) && \method_exists($fromEncoding, '__toString') || (\is_bool($fromEncoding) || \is_numeric($fromEncoding)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($fromEncoding) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($fromEncoding) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $fromEncoding = (string) $fromEncoding; + } + } + } + $u = new CodePointString(); + if (\in_array($fromEncoding, [null, 'utf8', 'utf-8', 'UTF8', 'UTF-8'], \true) && \preg_match('//u', $this->string)) { + $u->string = $this->string; + $phabelReturn = $u; + if (!$phabelReturn instanceof CodePointString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type CodePointString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + \set_error_handler(static function ($t, $m) { + throw new InvalidArgumentException($m); + }); + try { + try { + $validEncoding = \false !== \mb_detect_encoding($this->string, isset($fromEncoding) ? $fromEncoding : 'Windows-1252', \true); + } catch (InvalidArgumentException $e) { + if (!\function_exists('iconv')) { + throw $e; + } + $u->string = \iconv(isset($fromEncoding) ? $fromEncoding : 'Windows-1252', 'UTF-8', $this->string); + $phabelReturn = $u; + if (!$phabelReturn instanceof CodePointString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type CodePointString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + } finally { + \restore_error_handler(); + } + if (!$validEncoding) { + throw new InvalidArgumentException(\sprintf('Invalid "%s" string.', isset($fromEncoding) ? $fromEncoding : 'Windows-1252')); + } + $u->string = \mb_convert_encoding($this->string, 'UTF-8', isset($fromEncoding) ? $fromEncoding : 'Windows-1252'); + $phabelReturn = $u; + if (!$phabelReturn instanceof CodePointString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type CodePointString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function trim($chars = " \t\n\r\x00\v\f") + { + if (!\is_string($chars)) { + if (!(\is_string($chars) || \is_object($chars) && \method_exists($chars, '__toString') || (\is_bool($chars) || \is_numeric($chars)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($chars) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($chars) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $chars = (string) $chars; + } + } + $str = clone $this; + $str->string = \trim($str->string, $chars); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function trimEnd($chars = " \t\n\r\x00\v\f") + { + if (!\is_string($chars)) { + if (!(\is_string($chars) || \is_object($chars) && \method_exists($chars, '__toString') || (\is_bool($chars) || \is_numeric($chars)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($chars) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($chars) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $chars = (string) $chars; + } + } + $str = clone $this; + $str->string = \rtrim($str->string, $chars); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function trimStart($chars = " \t\n\r\x00\v\f") + { + if (!\is_string($chars)) { + if (!(\is_string($chars) || \is_object($chars) && \method_exists($chars, '__toString') || (\is_bool($chars) || \is_numeric($chars)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($chars) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($chars) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $chars = (string) $chars; + } + } + $str = clone $this; + $str->string = \ltrim($str->string, $chars); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function upper() + { + $str = clone $this; + $str->string = \strtoupper($str->string); + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function width($ignoreAnsiDecoration = \true) + { + if (!\is_bool($ignoreAnsiDecoration)) { + if (!(\is_bool($ignoreAnsiDecoration) || \is_numeric($ignoreAnsiDecoration) || \is_string($ignoreAnsiDecoration))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($ignoreAnsiDecoration) must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($ignoreAnsiDecoration) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $ignoreAnsiDecoration = (bool) $ignoreAnsiDecoration; + } + } + $string = \preg_match('//u', $this->string) ? $this->string : \preg_replace('/[\\x80-\\xFF]/', '?', $this->string); + $phabelReturn = (new CodePointString($string))->width($ignoreAnsiDecoration); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/string/CodePointString.php b/vendor-bundle/symfony/string/CodePointString.php new file mode 100644 index 000000000..2ed05a70f --- /dev/null +++ b/vendor-bundle/symfony/string/CodePointString.php @@ -0,0 +1,545 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String; + +use Phabel\Symfony\Component\String\Exception\ExceptionInterface; +use Phabel\Symfony\Component\String\Exception\InvalidArgumentException; +/** + * Represents a string of Unicode code points encoded as UTF-8. + * + * @author Nicolas Grekas + * @author Hugo Hamon + * + * @throws ExceptionInterface + */ +class CodePointString extends AbstractUnicodeString +{ + public function __construct($string = '') + { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + if ('' !== $string && !\preg_match('//u', $string)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $this->string = $string; + } + public function append(...$suffix) + { + foreach ($suffix as $phabelVariadicIndex => $phabelVariadic) { + if (!\is_string($phabelVariadic)) { + if (!(\is_string($phabelVariadic) || \is_object($phabelVariadic) && \method_exists($phabelVariadic, '__toString') || (\is_bool($phabelVariadic) || \is_numeric($phabelVariadic)))) { + throw new \TypeError(__METHOD__ . '(): Argument #' . (1 + $phabelVariadicIndex) . ' must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($suffix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelVariadic = (string) $phabelVariadic; + } + } + } + $str = clone $this; + $str->string .= 1 >= \count($suffix) ? isset($suffix[0]) ? $suffix[0] : '' : \implode('', $suffix); + if (!\preg_match('//u', $str->string)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function chunk($length = 1) + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (1 > $length) { + throw new InvalidArgumentException('The chunk length must be greater than zero.'); + } + if ('' === $this->string) { + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $rx = '/('; + while (65535 < $length) { + $rx .= '.{65535}'; + $length -= 65535; + } + $rx .= '.{' . $length . '})/us'; + $str = clone $this; + $chunks = []; + foreach (\preg_split($rx, $this->string, -1, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY) as $chunk) { + $str->string = $chunk; + $chunks[] = clone $str; + } + $phabelReturn = $chunks; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function codePointsAt($offset) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + $str = $offset ? $this->slice($offset, 1) : $this; + $phabelReturn = '' === $str->string ? [] : [\mb_ord($str->string, 'UTF-8')]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function endsWith($suffix) + { + if ($suffix instanceof AbstractString) { + $suffix = $suffix->string; + } elseif (\is_array($suffix) || $suffix instanceof \Traversable) { + $phabelReturn = parent::endsWith($suffix); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } else { + $suffix = (string) $suffix; + } + if ('' === $suffix || !\preg_match('//u', $suffix)) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if ($this->ignoreCase) { + $phabelReturn = \preg_match('{' . \preg_quote($suffix) . '$}iuD', $this->string); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = \strlen($this->string) >= \strlen($suffix) && 0 === \substr_compare($this->string, $suffix, -\strlen($suffix)); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function equalsTo($string) + { + if ($string instanceof AbstractString) { + $string = $string->string; + } elseif (\is_array($string) || $string instanceof \Traversable) { + $phabelReturn = parent::equalsTo($string); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } else { + $string = (string) $string; + } + if ('' !== $string && $this->ignoreCase) { + $phabelReturn = \strlen($string) === \strlen($this->string) && 0 === \mb_stripos($this->string, $string, 0, 'UTF-8'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $string === $this->string; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function indexOf($needle, $offset = 0) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if ($needle instanceof AbstractString) { + $needle = $needle->string; + } elseif (\is_array($needle) || $needle instanceof \Traversable) { + $phabelReturn = parent::indexOf($needle, $offset); + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } else { + $needle = (string) $needle; + } + if ('' === $needle) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + $i = $this->ignoreCase ? \mb_stripos($this->string, $needle, $offset, 'UTF-8') : \mb_strpos($this->string, $needle, $offset, 'UTF-8'); + $phabelReturn = \false === $i ? null : $i; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + public function indexOfLast($needle, $offset = 0) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if ($needle instanceof AbstractString) { + $needle = $needle->string; + } elseif (\is_array($needle) || $needle instanceof \Traversable) { + $phabelReturn = parent::indexOfLast($needle, $offset); + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } else { + $needle = (string) $needle; + } + if ('' === $needle) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + $i = $this->ignoreCase ? \mb_strripos($this->string, $needle, $offset, 'UTF-8') : \mb_strrpos($this->string, $needle, $offset, 'UTF-8'); + $phabelReturn = \false === $i ? null : $i; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + public function length() + { + $phabelReturn = \mb_strlen($this->string, 'UTF-8'); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + public function prepend(...$prefix) + { + foreach ($prefix as $phabelVariadicIndex => $phabelVariadic) { + if (!\is_string($phabelVariadic)) { + if (!(\is_string($phabelVariadic) || \is_object($phabelVariadic) && \method_exists($phabelVariadic, '__toString') || (\is_bool($phabelVariadic) || \is_numeric($phabelVariadic)))) { + throw new \TypeError(__METHOD__ . '(): Argument #' . (1 + $phabelVariadicIndex) . ' must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelVariadic = (string) $phabelVariadic; + } + } + } + $str = clone $this; + $str->string = (1 >= \count($prefix) ? isset($prefix[0]) ? $prefix[0] : '' : \implode('', $prefix)) . $this->string; + if (!\preg_match('//u', $str->string)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function replace($from, $to) + { + if (!\is_string($from)) { + if (!(\is_string($from) || \is_object($from) && \method_exists($from, '__toString') || (\is_bool($from) || \is_numeric($from)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($from) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($from) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $from = (string) $from; + } + } + if (!\is_string($to)) { + if (!(\is_string($to) || \is_object($to) && \method_exists($to, '__toString') || (\is_bool($to) || \is_numeric($to)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($to) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($to) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $to = (string) $to; + } + } + $str = clone $this; + if ('' === $from || !\preg_match('//u', $from)) { + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if ('' !== $to && !\preg_match('//u', $to)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + if ($this->ignoreCase) { + $str->string = \implode($to, \preg_split('{' . \preg_quote($from) . '}iuD', $this->string)); + } else { + $str->string = \str_replace($from, $to, $this->string); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function slice($start = 0, $length = null) + { + if (!\is_int($start)) { + if (!(\is_bool($start) || \is_numeric($start))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($start) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($start) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $start = (int) $start; + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + $str = clone $this; + $str->string = \mb_substr($this->string, $start, $length, 'UTF-8'); + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function splice($replacement, $start = 0, $length = null) + { + if (!\is_string($replacement)) { + if (!(\is_string($replacement) || \is_object($replacement) && \method_exists($replacement, '__toString') || (\is_bool($replacement) || \is_numeric($replacement)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($replacement) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($replacement) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $replacement = (string) $replacement; + } + } + if (!\is_int($start)) { + if (!(\is_bool($start) || \is_numeric($start))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($start) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($start) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $start = (int) $start; + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + if (!\preg_match('//u', $replacement)) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $str = clone $this; + $start = $start ? \strlen(\mb_substr($this->string, 0, $start, 'UTF-8')) : 0; + $length = $length ? \strlen(\mb_substr($this->string, $start, $length, 'UTF-8')) : $length; + $str->string = \substr_replace($this->string, $replacement, $start, isset($length) ? $length : \PHP_INT_MAX); + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function split($delimiter, $limit = null, $flags = null) + { + if (!\is_string($delimiter)) { + if (!(\is_string($delimiter) || \is_object($delimiter) && \method_exists($delimiter, '__toString') || (\is_bool($delimiter) || \is_numeric($delimiter)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($delimiter) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($delimiter) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $delimiter = (string) $delimiter; + } + } + if (!\is_null($limit)) { + if (!\is_int($limit)) { + if (!(\is_bool($limit) || \is_numeric($limit))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($limit) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($limit) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $limit = (int) $limit; + } + } + } + if (!\is_null($flags)) { + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($flags) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $flags = (int) $flags; + } + } + } + if (1 > ($limit = isset($limit) ? $limit : \PHP_INT_MAX)) { + throw new InvalidArgumentException('Split limit must be a positive integer.'); + } + if ('' === $delimiter) { + throw new InvalidArgumentException('Split delimiter is empty.'); + } + if (null !== $flags) { + $phabelReturn = parent::split($delimiter . 'u', $limit, $flags); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + if (!\preg_match('//u', $delimiter)) { + throw new InvalidArgumentException('Split delimiter is not a valid UTF-8 string.'); + } + $str = clone $this; + $chunks = $this->ignoreCase ? \preg_split('{' . \preg_quote($delimiter) . '}iuD', $this->string, $limit) : \explode($delimiter, $this->string, $limit); + foreach ($chunks as &$chunk) { + $str->string = $chunk; + $chunk = clone $str; + } + $phabelReturn = $chunks; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function startsWith($prefix) + { + if ($prefix instanceof AbstractString) { + $prefix = $prefix->string; + } elseif (\is_array($prefix) || $prefix instanceof \Traversable) { + $phabelReturn = parent::startsWith($prefix); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } else { + $prefix = (string) $prefix; + } + if ('' === $prefix || !\preg_match('//u', $prefix)) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if ($this->ignoreCase) { + $phabelReturn = 0 === \mb_stripos($this->string, $prefix, 0, 'UTF-8'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = 0 === \strncmp($this->string, $prefix, \strlen($prefix)); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/string/Exception/ExceptionInterface.php b/vendor-bundle/symfony/string/Exception/ExceptionInterface.php new file mode 100644 index 000000000..1cdd82670 --- /dev/null +++ b/vendor-bundle/symfony/string/Exception/ExceptionInterface.php @@ -0,0 +1,15 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String\Exception; + +interface ExceptionInterface extends \Throwable +{ +} diff --git a/vendor-bundle/symfony/string/Exception/InvalidArgumentException.php b/vendor-bundle/symfony/string/Exception/InvalidArgumentException.php new file mode 100644 index 000000000..3722bc76b --- /dev/null +++ b/vendor-bundle/symfony/string/Exception/InvalidArgumentException.php @@ -0,0 +1,15 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String\Exception; + +class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/string/Exception/RuntimeException.php b/vendor-bundle/symfony/string/Exception/RuntimeException.php new file mode 100644 index 000000000..b44bf0347 --- /dev/null +++ b/vendor-bundle/symfony/string/Exception/RuntimeException.php @@ -0,0 +1,15 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String\Exception; + +class RuntimeException extends \RuntimeException implements ExceptionInterface +{ +} diff --git a/vendor-bundle/symfony/string/Inflector/EnglishInflector.php b/vendor-bundle/symfony/string/Inflector/EnglishInflector.php new file mode 100644 index 000000000..b2920ae5d --- /dev/null +++ b/vendor-bundle/symfony/string/Inflector/EnglishInflector.php @@ -0,0 +1,422 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String\Inflector; + +final class EnglishInflector implements InflectorInterface +{ + /** + * Map English plural to singular suffixes. + * + * @see http://english-zone.com/spelling/plurals.html + */ + const PLURAL_MAP = [ + // First entry: plural suffix, reversed + // Second entry: length of plural suffix + // Third entry: Whether the suffix may succeed a vocal + // Fourth entry: Whether the suffix may succeed a consonant + // Fifth entry: singular suffix, normal + // bacteria (bacterium), criteria (criterion), phenomena (phenomenon) + ['a', 1, \true, \true, ['on', 'um']], + // nebulae (nebula) + ['ea', 2, \true, \true, 'a'], + // services (service) + ['secivres', 8, \true, \true, 'service'], + // mice (mouse), lice (louse) + ['eci', 3, \false, \true, 'ouse'], + // geese (goose) + ['esee', 4, \false, \true, 'oose'], + // fungi (fungus), alumni (alumnus), syllabi (syllabus), radii (radius) + ['i', 1, \true, \true, 'us'], + // men (man), women (woman) + ['nem', 3, \true, \true, 'man'], + // children (child) + ['nerdlihc', 8, \true, \true, 'child'], + // oxen (ox) + ['nexo', 4, \false, \false, 'ox'], + // indices (index), appendices (appendix), prices (price) + ['seci', 4, \false, \true, ['ex', 'ix', 'ice']], + // selfies (selfie) + ['seifles', 7, \true, \true, 'selfie'], + // movies (movie) + ['seivom', 6, \true, \true, 'movie'], + // conspectuses (conspectus), prospectuses (prospectus) + ['sesutcep', 8, \true, \true, 'pectus'], + // feet (foot) + ['teef', 4, \true, \true, 'foot'], + // geese (goose) + ['eseeg', 5, \true, \true, 'goose'], + // teeth (tooth) + ['hteet', 5, \true, \true, 'tooth'], + // news (news) + ['swen', 4, \true, \true, 'news'], + // series (series) + ['seires', 6, \true, \true, 'series'], + // babies (baby) + ['sei', 3, \false, \true, 'y'], + // accesses (access), addresses (address), kisses (kiss) + ['sess', 4, \true, \false, 'ss'], + // analyses (analysis), ellipses (ellipsis), fungi (fungus), + // neuroses (neurosis), theses (thesis), emphases (emphasis), + // oases (oasis), crises (crisis), houses (house), bases (base), + // atlases (atlas) + ['ses', 3, \true, \true, ['s', 'se', 'sis']], + // objectives (objective), alternative (alternatives) + ['sevit', 5, \true, \true, 'tive'], + // drives (drive) + ['sevird', 6, \false, \true, 'drive'], + // lives (life), wives (wife) + ['sevi', 4, \false, \true, 'ife'], + // moves (move) + ['sevom', 5, \true, \true, 'move'], + // hooves (hoof), dwarves (dwarf), elves (elf), leaves (leaf), caves (cave), staves (staff) + ['sev', 3, \true, \true, ['f', 've', 'ff']], + // axes (axis), axes (ax), axes (axe) + ['sexa', 4, \false, \false, ['ax', 'axe', 'axis']], + // indexes (index), matrixes (matrix) + ['sex', 3, \true, \false, 'x'], + // quizzes (quiz) + ['sezz', 4, \true, \false, 'z'], + // bureaus (bureau) + ['suae', 4, \false, \true, 'eau'], + // fees (fee), trees (tree), employees (employee) + ['see', 3, \true, \true, 'ee'], + // edges (edge) + ['segd', 4, \true, \true, 'dge'], + // roses (rose), garages (garage), cassettes (cassette), + // waltzes (waltz), heroes (hero), bushes (bush), arches (arch), + // shoes (shoe) + ['se', 2, \true, \true, ['', 'e']], + // tags (tag) + ['s', 1, \true, \true, ''], + // chateaux (chateau) + ['xuae', 4, \false, \true, 'eau'], + // people (person) + ['elpoep', 6, \true, \true, 'person'], + ]; + /** + * Map English singular to plural suffixes. + * + * @see http://english-zone.com/spelling/plurals.html + */ + const SINGULAR_MAP = [ + // First entry: singular suffix, reversed + // Second entry: length of singular suffix + // Third entry: Whether the suffix may succeed a vocal + // Fourth entry: Whether the suffix may succeed a consonant + // Fifth entry: plural suffix, normal + // criterion (criteria) + ['airetirc', 8, \false, \false, 'criterion'], + // nebulae (nebula) + ['aluben', 6, \false, \false, 'nebulae'], + // children (child) + ['dlihc', 5, \true, \true, 'children'], + // prices (price) + ['eci', 3, \false, \true, 'ices'], + // services (service) + ['ecivres', 7, \true, \true, 'services'], + // lives (life), wives (wife) + ['efi', 3, \false, \true, 'ives'], + // selfies (selfie) + ['eifles', 6, \true, \true, 'selfies'], + // movies (movie) + ['eivom', 5, \true, \true, 'movies'], + // lice (louse) + ['esuol', 5, \false, \true, 'lice'], + // mice (mouse) + ['esuom', 5, \false, \true, 'mice'], + // geese (goose) + ['esoo', 4, \false, \true, 'eese'], + // houses (house), bases (base) + ['es', 2, \true, \true, 'ses'], + // geese (goose) + ['esoog', 5, \true, \true, 'geese'], + // caves (cave) + ['ev', 2, \true, \true, 'ves'], + // drives (drive) + ['evird', 5, \false, \true, 'drives'], + // objectives (objective), alternative (alternatives) + ['evit', 4, \true, \true, 'tives'], + // moves (move) + ['evom', 4, \true, \true, 'moves'], + // staves (staff) + ['ffats', 5, \true, \true, 'staves'], + // hooves (hoof), dwarves (dwarf), elves (elf), leaves (leaf) + ['ff', 2, \true, \true, 'ffs'], + // hooves (hoof), dwarves (dwarf), elves (elf), leaves (leaf) + ['f', 1, \true, \true, ['fs', 'ves']], + // arches (arch) + ['hc', 2, \true, \true, 'ches'], + // bushes (bush) + ['hs', 2, \true, \true, 'shes'], + // teeth (tooth) + ['htoot', 5, \true, \true, 'teeth'], + // bacteria (bacterium), criteria (criterion), phenomena (phenomenon) + ['mu', 2, \true, \true, 'a'], + // men (man), women (woman) + ['nam', 3, \true, \true, 'men'], + // people (person) + ['nosrep', 6, \true, \true, ['persons', 'people']], + // bacteria (bacterium), criteria (criterion), phenomena (phenomenon) + ['noi', 3, \true, \true, 'ions'], + // coupon (coupons) + ['nop', 3, \true, \true, 'pons'], + // seasons (season), treasons (treason), poisons (poison), lessons (lesson) + ['nos', 3, \true, \true, 'sons'], + // bacteria (bacterium), criteria (criterion), phenomena (phenomenon) + ['no', 2, \true, \true, 'a'], + // echoes (echo) + ['ohce', 4, \true, \true, 'echoes'], + // heroes (hero) + ['oreh', 4, \true, \true, 'heroes'], + // atlases (atlas) + ['salta', 5, \true, \true, 'atlases'], + // irises (iris) + ['siri', 4, \true, \true, 'irises'], + // analyses (analysis), ellipses (ellipsis), neuroses (neurosis) + // theses (thesis), emphases (emphasis), oases (oasis), + // crises (crisis) + ['sis', 3, \true, \true, 'ses'], + // accesses (access), addresses (address), kisses (kiss) + ['ss', 2, \true, \false, 'sses'], + // syllabi (syllabus) + ['suballys', 8, \true, \true, 'syllabi'], + // buses (bus) + ['sub', 3, \true, \true, 'buses'], + // circuses (circus) + ['suc', 3, \true, \true, 'cuses'], + // conspectuses (conspectus), prospectuses (prospectus) + ['sutcep', 6, \true, \true, 'pectuses'], + // fungi (fungus), alumni (alumnus), syllabi (syllabus), radii (radius) + ['su', 2, \true, \true, 'i'], + // news (news) + ['swen', 4, \true, \true, 'news'], + // feet (foot) + ['toof', 4, \true, \true, 'feet'], + // chateaux (chateau), bureaus (bureau) + ['uae', 3, \false, \true, ['eaus', 'eaux']], + // oxen (ox) + ['xo', 2, \false, \false, 'oxen'], + // hoaxes (hoax) + ['xaoh', 4, \true, \false, 'hoaxes'], + // indices (index) + ['xedni', 5, \false, \true, ['indicies', 'indexes']], + // boxes (box) + ['xo', 2, \false, \true, 'oxes'], + // indexes (index), matrixes (matrix) + ['x', 1, \true, \false, ['cies', 'xes']], + // appendices (appendix) + ['xi', 2, \false, \true, 'ices'], + // babies (baby) + ['y', 1, \false, \true, 'ies'], + // quizzes (quiz) + ['ziuq', 4, \true, \false, 'quizzes'], + // waltzes (waltz) + ['z', 1, \true, \true, 'zes'], + ]; + /** + * A list of words which should not be inflected, reversed. + */ + const UNINFLECTED = [ + '', + // data + 'atad', + // deer + 'reed', + // feedback + 'kcabdeef', + // fish + 'hsif', + // info + 'ofni', + // moose + 'esoom', + // series + 'seires', + // sheep + 'peehs', + // species + 'seiceps', + ]; + /** + * {@inheritdoc} + */ + public function singularize($plural) + { + if (!\is_string($plural)) { + if (!(\is_string($plural) || \is_object($plural) && \method_exists($plural, '__toString') || (\is_bool($plural) || \is_numeric($plural)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plural) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plural) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $plural = (string) $plural; + } + } + $pluralRev = \strrev($plural); + $lowerPluralRev = \strtolower($pluralRev); + $pluralLength = \strlen($lowerPluralRev); + // Check if the word is one which is not inflected, return early if so + if (\in_array($lowerPluralRev, self::UNINFLECTED, \true)) { + $phabelReturn = [$plural]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // The outer loop iterates over the entries of the plural table + // The inner loop $j iterates over the characters of the plural suffix + // in the plural table to compare them with the characters of the actual + // given plural suffix + foreach (self::PLURAL_MAP as $map) { + $suffix = $map[0]; + $suffixLength = $map[1]; + $j = 0; + // Compare characters in the plural table and of the suffix of the + // given plural one by one + while ($suffix[$j] === $lowerPluralRev[$j]) { + // Let $j point to the next character + ++$j; + // Successfully compared the last character + // Add an entry with the singular suffix to the singular array + if ($j === $suffixLength) { + // Is there any character preceding the suffix in the plural string? + if ($j < $pluralLength) { + $nextIsVocal = \false !== \strpos('aeiou', $lowerPluralRev[$j]); + if (!$map[2] && $nextIsVocal) { + // suffix may not succeed a vocal but next char is one + break; + } + if (!$map[3] && !$nextIsVocal) { + // suffix may not succeed a consonant but next char is one + break; + } + } + $newBase = \substr($plural, 0, $pluralLength - $suffixLength); + $newSuffix = $map[4]; + // Check whether the first character in the plural suffix + // is uppercased. If yes, uppercase the first character in + // the singular suffix too + $firstUpper = \ctype_upper($pluralRev[$j - 1]); + if (\is_array($newSuffix)) { + $singulars = []; + foreach ($newSuffix as $newSuffixEntry) { + $singulars[] = $newBase . ($firstUpper ? \ucfirst($newSuffixEntry) : $newSuffixEntry); + } + $phabelReturn = $singulars; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = [$newBase . ($firstUpper ? \ucfirst($newSuffix) : $newSuffix)]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // Suffix is longer than word + if ($j === $pluralLength) { + break; + } + } + } + $phabelReturn = [$plural]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // Assume that plural and singular is identical + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function pluralize($singular) + { + if (!\is_string($singular)) { + if (!(\is_string($singular) || \is_object($singular) && \method_exists($singular, '__toString') || (\is_bool($singular) || \is_numeric($singular)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($singular) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($singular) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $singular = (string) $singular; + } + } + $singularRev = \strrev($singular); + $lowerSingularRev = \strtolower($singularRev); + $singularLength = \strlen($lowerSingularRev); + // Check if the word is one which is not inflected, return early if so + if (\in_array($lowerSingularRev, self::UNINFLECTED, \true)) { + $phabelReturn = [$singular]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // The outer loop iterates over the entries of the singular table + // The inner loop $j iterates over the characters of the singular suffix + // in the singular table to compare them with the characters of the actual + // given singular suffix + foreach (self::SINGULAR_MAP as $map) { + $suffix = $map[0]; + $suffixLength = $map[1]; + $j = 0; + // Compare characters in the singular table and of the suffix of the + // given plural one by one + while ($suffix[$j] === $lowerSingularRev[$j]) { + // Let $j point to the next character + ++$j; + // Successfully compared the last character + // Add an entry with the plural suffix to the plural array + if ($j === $suffixLength) { + // Is there any character preceding the suffix in the plural string? + if ($j < $singularLength) { + $nextIsVocal = \false !== \strpos('aeiou', $lowerSingularRev[$j]); + if (!$map[2] && $nextIsVocal) { + // suffix may not succeed a vocal but next char is one + break; + } + if (!$map[3] && !$nextIsVocal) { + // suffix may not succeed a consonant but next char is one + break; + } + } + $newBase = \substr($singular, 0, $singularLength - $suffixLength); + $newSuffix = $map[4]; + // Check whether the first character in the singular suffix + // is uppercased. If yes, uppercase the first character in + // the singular suffix too + $firstUpper = \ctype_upper($singularRev[$j - 1]); + if (\is_array($newSuffix)) { + $plurals = []; + foreach ($newSuffix as $newSuffixEntry) { + $plurals[] = $newBase . ($firstUpper ? \ucfirst($newSuffixEntry) : $newSuffixEntry); + } + $phabelReturn = $plurals; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $phabelReturn = [$newBase . ($firstUpper ? \ucfirst($newSuffix) : $newSuffix)]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // Suffix is longer than word + if ($j === $singularLength) { + break; + } + } + } + $phabelReturn = [$singular . 's']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + // Assume that plural is singular with a trailing `s` + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/string/Inflector/FrenchInflector.php b/vendor-bundle/symfony/string/Inflector/FrenchInflector.php new file mode 100644 index 000000000..d4c7312b9 --- /dev/null +++ b/vendor-bundle/symfony/string/Inflector/FrenchInflector.php @@ -0,0 +1,181 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String\Inflector; + +/** + * French inflector. + * + * This class does only inflect nouns; not adjectives nor composed words like "soixante-dix". + */ +final class FrenchInflector implements InflectorInterface +{ + /** + * A list of all rules for pluralise. + * + * @see https://la-conjugaison.nouvelobs.com/regles/grammaire/le-pluriel-des-noms-121.php + */ + const PLURALIZE_REGEXP = [ + // First entry: regexp + // Second entry: replacement + // Words finishing with "s", "x" or "z" are invariables + // Les mots finissant par "s", "x" ou "z" sont invariables + ['/(s|x|z)$/i', '\\1'], + // Words finishing with "eau" are pluralized with a "x" + // Les mots finissant par "eau" prennent tous un "x" au pluriel + ['/(eau)$/i', '\\1x'], + // Words finishing with "au" are pluralized with a "x" excepted "landau" + // Les mots finissant par "au" prennent un "x" au pluriel sauf "landau" + ['/^(landau)$/i', '\\1s'], + ['/(au)$/i', '\\1x'], + // Words finishing with "eu" are pluralized with a "x" excepted "pneu", "bleu", "émeu" + // Les mots finissant en "eu" prennent un "x" au pluriel sauf "pneu", "bleu", "émeu" + ['/^(pneu|bleu|émeu)$/i', '\\1s'], + ['/(eu)$/i', '\\1x'], + // Words finishing with "al" are pluralized with a "aux" excepted + // Les mots finissant en "al" se terminent en "aux" sauf + ['/^(bal|carnaval|caracal|chacal|choral|corral|étal|festival|récital|val)$/i', '\\1s'], + ['/al$/i', '\\1aux'], + // Aspirail, bail, corail, émail, fermail, soupirail, travail, vantail et vitrail font leur pluriel en -aux + ['/^(aspir|b|cor|ém|ferm|soupir|trav|vant|vitr)ail$/i', '\\1aux'], + // Bijou, caillou, chou, genou, hibou, joujou et pou qui prennent un x au pluriel + ['/^(bij|caill|ch|gen|hib|jouj|p)ou$/i', '\\1oux'], + // Invariable words + ['/^(cinquante|soixante|mille)$/i', '\\1'], + // French titles + ['/^(mon|ma)(sieur|dame|demoiselle|seigneur)$/', 'Phabel\\mes\\2s'], + ['/^(Mon|Ma)(sieur|dame|demoiselle|seigneur)$/', 'Phabel\\Mes\\2s'], + ]; + /** + * A list of all rules for singularize. + */ + const SINGULARIZE_REGEXP = [ + // First entry: regexp + // Second entry: replacement + // Aspirail, bail, corail, émail, fermail, soupirail, travail, vantail et vitrail font leur pluriel en -aux + ['/((aspir|b|cor|ém|ferm|soupir|trav|vant|vitr))aux$/i', '\\1ail'], + // Words finishing with "eau" are pluralized with a "x" + // Les mots finissant par "eau" prennent tous un "x" au pluriel + ['/(eau)x$/i', '\\1'], + // Words finishing with "al" are pluralized with a "aux" expected + // Les mots finissant en "al" se terminent en "aux" sauf + ['/(amir|anim|arsen|boc|can|capit|capor|chev|crist|génér|hopit|hôpit|idé|journ|littor|loc|m|mét|minér|princip|radic|termin)aux$/i', '\\1al'], + // Words finishing with "au" are pluralized with a "x" excepted "landau" + // Les mots finissant par "au" prennent un "x" au pluriel sauf "landau" + ['/(au)x$/i', '\\1'], + // Words finishing with "eu" are pluralized with a "x" excepted "pneu", "bleu", "émeu" + // Les mots finissant en "eu" prennent un "x" au pluriel sauf "pneu", "bleu", "émeu" + ['/(eu)x$/i', '\\1'], + // Words finishing with "ou" are pluralized with a "s" excepted bijou, caillou, chou, genou, hibou, joujou, pou + // Les mots finissant par "ou" prennent un "s" sauf bijou, caillou, chou, genou, hibou, joujou, pou + ['/(bij|caill|ch|gen|hib|jouj|p)oux$/i', '\\1ou'], + // French titles + ['/^mes(dame|demoiselle)s$/', 'Phabel\\ma\\1'], + ['/^Mes(dame|demoiselle)s$/', 'Phabel\\Ma\\1'], + ['/^mes(sieur|seigneur)s$/', 'Phabel\\mon\\1'], + ['/^Mes(sieur|seigneur)s$/', 'Phabel\\Mon\\1'], + //Default rule + ['/s$/i', ''], + ]; + /** + * A list of words which should not be inflected. + * This list is only used by singularize. + */ + const UNINFLECTED = '/^(abcès|accès|abus|albatros|anchois|anglais|autobus|bois|brebis|carquois|cas|chas|colis|concours|corps|cours|cyprès|décès|devis|discours|dos|embarras|engrais|entrelacs|excès|fils|fois|gâchis|gars|glas|héros|intrus|jars|jus|kermès|lacis|legs|lilas|marais|mars|matelas|mépris|mets|mois|mors|obus|os|palais|paradis|parcours|pardessus|pays|plusieurs|poids|pois|pouls|printemps|processus|progrès|puits|pus|rabais|radis|recors|recours|refus|relais|remords|remous|rictus|rhinocéros|repas|rubis|sas|secours|sens|souris|succès|talus|tapis|tas|taudis|temps|tiers|univers|velours|verglas|vernis|virus)$/i'; + /** + * {@inheritdoc} + */ + public function singularize($plural) + { + if (!\is_string($plural)) { + if (!(\is_string($plural) || \is_object($plural) && \method_exists($plural, '__toString') || (\is_bool($plural) || \is_numeric($plural)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($plural) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($plural) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $plural = (string) $plural; + } + } + if ($this->isInflectedWord($plural)) { + $phabelReturn = [$plural]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + foreach (self::SINGULARIZE_REGEXP as $rule) { + list($regexp, $replace) = $rule; + if (1 === \preg_match($regexp, $plural)) { + $phabelReturn = [\preg_replace($regexp, $replace, $plural)]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + } + $phabelReturn = [$plural]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * {@inheritdoc} + */ + public function pluralize($singular) + { + if (!\is_string($singular)) { + if (!(\is_string($singular) || \is_object($singular) && \method_exists($singular, '__toString') || (\is_bool($singular) || \is_numeric($singular)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($singular) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($singular) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $singular = (string) $singular; + } + } + if ($this->isInflectedWord($singular)) { + $phabelReturn = [$singular]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + foreach (self::PLURALIZE_REGEXP as $rule) { + list($regexp, $replace) = $rule; + if (1 === \preg_match($regexp, $singular)) { + $phabelReturn = [\preg_replace($regexp, $replace, $singular)]; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + } + $phabelReturn = [$singular . 's']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function isInflectedWord($word) + { + if (!\is_string($word)) { + if (!(\is_string($word) || \is_object($word) && \method_exists($word, '__toString') || (\is_bool($word) || \is_numeric($word)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($word) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($word) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $word = (string) $word; + } + } + $phabelReturn = 1 === \preg_match(self::UNINFLECTED, $word); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/string/Inflector/InflectorInterface.php b/vendor-bundle/symfony/string/Inflector/InflectorInterface.php new file mode 100644 index 000000000..973628316 --- /dev/null +++ b/vendor-bundle/symfony/string/Inflector/InflectorInterface.php @@ -0,0 +1,31 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String\Inflector; + +interface InflectorInterface +{ + /** + * Returns the singular forms of a string. + * + * If the method can't determine the form with certainty, several possible singulars are returned. + * + * @return string[] An array of possible singular forms + */ + public function singularize($plural); + /** + * Returns the plural forms of a string. + * + * If the method can't determine the form with certainty, several possible plurals are returned. + * + * @return string[] An array of possible plural forms + */ + public function pluralize($singular); +} diff --git a/vendor-bundle/symfony/string/LazyString.php b/vendor-bundle/symfony/string/LazyString.php new file mode 100644 index 000000000..64144d4ee --- /dev/null +++ b/vendor-bundle/symfony/string/LazyString.php @@ -0,0 +1,225 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String; + +/** + * A string whose value is computed lazily by a callback. + * + * @author Nicolas Grekas + */ +class LazyString implements \Stringable, \JsonSerializable +{ + private $value; + /** + * @param callable|array $callback A callable or a [Closure, method] lazy-callable + * + * @return static + */ + public static function fromCallable($callback, ...$arguments) + { + if (!\is_callable($callback) && !(\is_array($callback) && isset($callback[0]) && $callback[0] instanceof \Closure && 2 >= \count($callback))) { + throw new \TypeError(\sprintf('Argument 1 passed to "%s()" must be a callable or a [Closure, method] lazy-callable, "%s" given.', __METHOD__, \get_debug_type($callback))); + } + $lazyString = new static(); + $lazyString->value = static function () use(&$callback, &$arguments, &$value) { + if (null !== $arguments) { + if (!\is_callable($callback)) { + $callback[0] = $callback[0](); + $callback[1] = isset($callback[1]) ? $callback[1] : '__invoke'; + } + $value = $callback(...$arguments); + $callback = self::getPrettyName($callback); + $arguments = null; + } + $phabelReturn = isset($value) ? $value : ''; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + }; + $phabelReturn = $lazyString; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * @param string|int|float|bool|\Stringable $value + * + * @return static + */ + public static function fromStringable($value) + { + if (!self::isStringable($value)) { + throw new \TypeError(\sprintf('Argument 1 passed to "%s()" must be a scalar or a stringable object, "%s" given.', __METHOD__, \get_debug_type($value))); + } + if (\is_object($value)) { + $phabelReturn = static::fromCallable([$value, '__toString']); + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $lazyString = new static(); + $lazyString->value = (string) $value; + $phabelReturn = $lazyString; + if (!$phabelReturn instanceof self) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . self::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + /** + * Tells whether the provided value can be cast to string. + */ + public static final function isStringable($value) + { + $phabelReturn = \is_string($value) || $value instanceof self || (\is_object($value) ? \method_exists($value, '__toString') : \is_scalar($value)); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * Casts scalars and stringable objects to strings. + * + * @param object|string|int|float|bool $value + * + * @throws \TypeError When the provided value is not stringable + */ + public static final function resolve($value) + { + $phabelReturn = $value; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return string + */ + public function __toString() + { + if (\is_string($this->value)) { + return $this->value; + } + try { + $phabel_102c5e0d12ae1b38 = $this->value; + return $this->value = $phabel_102c5e0d12ae1b38(); + } catch (\Exception $e) { + if (\TypeError::class === \get_class($e) && __FILE__ === $e->getFile()) { + $type = \explode(', ', $e->getMessage()); + $type = \substr(\array_pop($type), 0, -\strlen(' returned')); + $r = new \ReflectionFunction($this->value); + $callback = $r->getStaticVariables()['callback']; + $e = new \TypeError(\sprintf('Return value of %s() passed to %s::fromCallable() must be of the type string, %s returned.', $callback, static::class, $type)); + } + if (\PHP_VERSION_ID < 70400) { + // leverage the ErrorHandler component with graceful fallback when it's not available + return \trigger_error($e, \E_USER_ERROR); + } + throw $e; + } catch (\Error $e) { + if (\TypeError::class === \get_class($e) && __FILE__ === $e->getFile()) { + $type = \explode(', ', $e->getMessage()); + $type = \substr(\array_pop($type), 0, -\strlen(' returned')); + $r = new \ReflectionFunction($this->value); + $callback = $r->getStaticVariables()['callback']; + $e = new \TypeError(\sprintf('Return value of %s() passed to %s::fromCallable() must be of the type string, %s returned.', $callback, static::class, $type)); + } + if (\PHP_VERSION_ID < 70400) { + // leverage the ErrorHandler component with graceful fallback when it's not available + return \trigger_error($e, \E_USER_ERROR); + } + throw $e; + } + } + public function __sleep() + { + $this->__toString(); + $phabelReturn = ['value']; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function jsonSerialize() + { + $phabelReturn = $this->__toString(); + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + private function __construct() + { + } + private static function getPrettyName(callable $callback) + { + if (\is_string($callback)) { + $phabelReturn = $callback; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + if (\is_array($callback)) { + $class = \is_object($callback[0]) ? \get_debug_type($callback[0]) : $callback[0]; + $method = $callback[1]; + } elseif ($callback instanceof \Closure) { + $r = new \ReflectionFunction($callback); + if (\false !== \strpos($r->name, '{closure}') || !($class = $r->getClosureScopeClass())) { + $phabelReturn = $r->name; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } + $class = $class->name; + $method = $r->name; + } else { + $class = \get_debug_type($callback); + $method = '__invoke'; + } + $phabelReturn = $class . '::' . $method; + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/string/Resources/data/wcswidth_table_wide.php b/vendor-bundle/symfony/string/Resources/data/wcswidth_table_wide.php new file mode 100644 index 000000000..832c94f74 --- /dev/null +++ b/vendor-bundle/symfony/string/Resources/data/wcswidth_table_wide.php @@ -0,0 +1,11 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String; + +if (!\function_exists(u::class)) { + function u($string = '') + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + $phabelReturn = new UnicodeString(isset($string) ? $string : ''); + if (!$phabelReturn instanceof UnicodeString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type UnicodeString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} +if (!\function_exists(b::class)) { + function b($string = '') + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + $phabelReturn = new ByteString(isset($string) ? $string : ''); + if (!$phabelReturn instanceof ByteString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ByteString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} +if (!\function_exists(s::class)) { + /** + * @return UnicodeString|ByteString + */ + function s($string = '') + { + if (!\is_null($string)) { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + } + $string = isset($string) ? $string : ''; + $phabelReturn = \preg_match('//u', $string) ? new UnicodeString($string) : new ByteString($string); + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/string/Slugger/AsciiSlugger.php b/vendor-bundle/symfony/string/Slugger/AsciiSlugger.php new file mode 100644 index 000000000..8f3cb9e59 --- /dev/null +++ b/vendor-bundle/symfony/string/Slugger/AsciiSlugger.php @@ -0,0 +1,226 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String\Slugger; + +use Phabel\Symfony\Component\String\AbstractUnicodeString; +use Phabel\Symfony\Component\String\UnicodeString; +use Phabel\Symfony\Contracts\Translation\LocaleAwareInterface; +if (!\interface_exists(LocaleAwareInterface::class)) { + throw new \LogicException('You cannot use the "Symfony\\Component\\String\\Slugger\\AsciiSlugger" as the "symfony/translation-contracts" package is not installed. Try running "composer require symfony/translation-contracts".'); +} +/** + * @author Titouan Galopin + */ +class AsciiSlugger implements SluggerInterface, LocaleAwareInterface +{ + const LOCALE_TO_TRANSLITERATOR_ID = ['am' => 'Amharic-Latin', 'ar' => 'Arabic-Latin', 'az' => 'Azerbaijani-Latin', 'be' => 'Belarusian-Latin', 'bg' => 'Bulgarian-Latin', 'bn' => 'Bengali-Latin', 'de' => 'de-ASCII', 'el' => 'Greek-Latin', 'fa' => 'Persian-Latin', 'he' => 'Hebrew-Latin', 'hy' => 'Armenian-Latin', 'ka' => 'Georgian-Latin', 'kk' => 'Kazakh-Latin', 'ky' => 'Kirghiz-Latin', 'ko' => 'Korean-Latin', 'mk' => 'Macedonian-Latin', 'mn' => 'Mongolian-Latin', 'or' => 'Oriya-Latin', 'ps' => 'Pashto-Latin', 'ru' => 'Russian-Latin', 'sr' => 'Serbian-Latin', 'sr_Cyrl' => 'Serbian-Latin', 'th' => 'Thai-Latin', 'tk' => 'Turkmen-Latin', 'uk' => 'Ukrainian-Latin', 'uz' => 'Uzbek-Latin', 'zh' => 'Han-Latin']; + private $defaultLocale; + private $symbolsMap = ['en' => ['@' => 'at', '&' => 'and']]; + /** + * Cache of transliterators per locale. + * + * @var \Transliterator[] + */ + private $transliterators = []; + /** + * @param array|\Closure|null $symbolsMap + */ + public function __construct($defaultLocale = null, $symbolsMap = null) + { + if (!\is_null($defaultLocale)) { + if (!\is_string($defaultLocale)) { + if (!(\is_string($defaultLocale) || \is_object($defaultLocale) && \method_exists($defaultLocale, '__toString') || (\is_bool($defaultLocale) || \is_numeric($defaultLocale)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($defaultLocale) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($defaultLocale) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $defaultLocale = (string) $defaultLocale; + } + } + } + if (null !== $symbolsMap && !\is_array($symbolsMap) && !$symbolsMap instanceof \Closure) { + throw new \TypeError(\sprintf('Argument 2 passed to "%s()" must be array, Closure or null, "%s" given.', __METHOD__, \gettype($symbolsMap))); + } + $this->defaultLocale = $defaultLocale; + $this->symbolsMap = isset($symbolsMap) ? $symbolsMap : $this->symbolsMap; + } + /** + * {@inheritdoc} + */ + public function setLocale($locale) + { + $this->defaultLocale = $locale; + } + /** + * {@inheritdoc} + */ + public function getLocale() + { + return $this->defaultLocale; + } + /** + * {@inheritdoc} + */ + public function slug($string, $separator = '-', $locale = null) + { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + if (!\is_string($separator)) { + if (!(\is_string($separator) || \is_object($separator) && \method_exists($separator, '__toString') || (\is_bool($separator) || \is_numeric($separator)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($separator) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($separator) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $separator = (string) $separator; + } + } + if (!\is_null($locale)) { + if (!\is_string($locale)) { + if (!(\is_string($locale) || \is_object($locale) && \method_exists($locale, '__toString') || (\is_bool($locale) || \is_numeric($locale)))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($locale) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($locale) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $locale = (string) $locale; + } + } + } + $locale = isset($locale) ? $locale : $this->defaultLocale; + $transliterator = []; + if ($locale && ('de' === $locale || 0 === \strpos($locale, 'de_'))) { + // Use the shortcut for German in UnicodeString::ascii() if possible (faster and no requirement on intl) + $transliterator = ['de-ASCII']; + } elseif (\function_exists('transliterator_transliterate') && $locale) { + $transliterator = (array) $this->createTransliterator($locale); + } + if ($this->symbolsMap instanceof \Closure) { + // If the symbols map is passed as a closure, there is no need to fallback to the parent locale + // as the closure can just provide substitutions for all locales of interest. + $symbolsMap = $this->symbolsMap; + \array_unshift($transliterator, static function ($s) use($symbolsMap, $locale) { + return $symbolsMap($s, $locale); + }); + } + $unicodeString = (new UnicodeString($string))->ascii($transliterator); + if (\is_array($this->symbolsMap)) { + $map = null; + if (isset($this->symbolsMap[$locale])) { + $map = $this->symbolsMap[$locale]; + } else { + $parent = self::getParentLocale($locale); + if ($parent && isset($this->symbolsMap[$parent])) { + $map = $this->symbolsMap[$parent]; + } + } + if ($map) { + foreach ($map as $char => $replace) { + $unicodeString = $unicodeString->replace($char, ' ' . $replace . ' '); + } + } + } + $phabelReturn = $unicodeString->replaceMatches('/[^A-Za-z0-9]++/', $separator)->trim($separator); + if (!$phabelReturn instanceof AbstractUnicodeString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractUnicodeString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private function createTransliterator($locale) + { + if (!\is_string($locale)) { + if (!(\is_string($locale) || \is_object($locale) && \method_exists($locale, '__toString') || (\is_bool($locale) || \is_numeric($locale)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($locale) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($locale) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $locale = (string) $locale; + } + } + if (\array_key_exists($locale, $this->transliterators)) { + $phabelReturn = $this->transliterators[$locale]; + if (!($phabelReturn instanceof \Transliterator || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Transliterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // Exact locale supported, cache and return + if ($id = isset(self::LOCALE_TO_TRANSLITERATOR_ID[$locale]) ? self::LOCALE_TO_TRANSLITERATOR_ID[$locale] : null) { + $phabelReturn = $this->transliterators[$locale] = NULL !== ($phabel_2a153f4ebbeff1bb = \Transliterator::create($id . '/BGN')) ? $phabel_2a153f4ebbeff1bb : \Transliterator::create($id); + if (!($phabelReturn instanceof \Transliterator || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Transliterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // Locale not supported and no parent, fallback to any-latin + if (!($parent = self::getParentLocale($locale))) { + $phabelReturn = $this->transliterators[$locale] = null; + if (!($phabelReturn instanceof \Transliterator || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Transliterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + // Try to use the parent locale (ie. try "de" for "de_AT") and cache both locales + if ($id = isset(self::LOCALE_TO_TRANSLITERATOR_ID[$parent]) ? self::LOCALE_TO_TRANSLITERATOR_ID[$parent] : null) { + $transliterator = NULL !== ($phabel_989761a0df0962b2 = \Transliterator::create($id . '/BGN')) ? $phabel_989761a0df0962b2 : \Transliterator::create($id); + } + $phabelReturn = $this->transliterators[$locale] = $this->transliterators[$parent] = isset($transliterator) ? $transliterator : null; + if (!($phabelReturn instanceof \Transliterator || \is_null($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?Transliterator, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + private static function getParentLocale($locale) + { + if (!\is_null($locale)) { + if (!\is_string($locale)) { + if (!(\is_string($locale) || \is_object($locale) && \method_exists($locale, '__toString') || (\is_bool($locale) || \is_numeric($locale)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($locale) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($locale) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $locale = (string) $locale; + } + } + } + if (!$locale) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } + if (\false === ($str = \strrchr($locale, '_'))) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + // no parent locale + return $phabelReturn; + } + $phabelReturn = \substr($locale, 0, -\strlen($str)); + if (!\is_null($phabelReturn)) { + if (!\is_string($phabelReturn)) { + if (!(\is_string($phabelReturn) || \is_object($phabelReturn) && \method_exists($phabelReturn, '__toString') || (\is_bool($phabelReturn) || \is_numeric($phabelReturn)))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (string) $phabelReturn; + } + } + } + return $phabelReturn; + } +} diff --git a/vendor-bundle/symfony/string/Slugger/SluggerInterface.php b/vendor-bundle/symfony/string/Slugger/SluggerInterface.php new file mode 100644 index 000000000..f5c293c2a --- /dev/null +++ b/vendor-bundle/symfony/string/Slugger/SluggerInterface.php @@ -0,0 +1,25 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String\Slugger; + +use Phabel\Symfony\Component\String\AbstractUnicodeString; +/** + * Creates a URL-friendly slug from a given string. + * + * @author Titouan Galopin + */ +interface SluggerInterface +{ + /** + * Creates a slug for the given string and locale, using appropriate transliteration when needed. + */ + public function slug($string, $separator = '-', $locale = null); +} diff --git a/vendor-bundle/symfony/string/UnicodeString.php b/vendor-bundle/symfony/string/UnicodeString.php new file mode 100644 index 000000000..af321cc5e --- /dev/null +++ b/vendor-bundle/symfony/string/UnicodeString.php @@ -0,0 +1,663 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Phabel\Symfony\Component\String; + +use Phabel\Symfony\Component\String\Exception\ExceptionInterface; +use Phabel\Symfony\Component\String\Exception\InvalidArgumentException; +/** + * Represents a string of Unicode grapheme clusters encoded as UTF-8. + * + * A letter followed by combining characters (accents typically) form what Unicode defines + * as a grapheme cluster: a character as humans mean it in written texts. This class knows + * about the concept and won't split a letter apart from its combining accents. It also + * ensures all string comparisons happen on their canonically-composed representation, + * ignoring e.g. the order in which accents are listed when a letter has many of them. + * + * @see https://unicode.org/reports/tr15/ + * + * @author Nicolas Grekas + * @author Hugo Hamon + * + * @throws ExceptionInterface + */ +class UnicodeString extends AbstractUnicodeString +{ + public function __construct($string = '') + { + if (!\is_string($string)) { + if (!(\is_string($string) || \is_object($string) && \method_exists($string, '__toString') || (\is_bool($string) || \is_numeric($string)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($string) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($string) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $string = (string) $string; + } + } + $this->string = \normalizer_is_normalized($string) ? $string : \normalizer_normalize($string); + if (\false === $this->string) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + } + public function append(...$suffix) + { + foreach ($suffix as $phabelVariadicIndex => $phabelVariadic) { + if (!\is_string($phabelVariadic)) { + if (!(\is_string($phabelVariadic) || \is_object($phabelVariadic) && \method_exists($phabelVariadic, '__toString') || (\is_bool($phabelVariadic) || \is_numeric($phabelVariadic)))) { + throw new \TypeError(__METHOD__ . '(): Argument #' . (1 + $phabelVariadicIndex) . ' must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($suffix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelVariadic = (string) $phabelVariadic; + } + } + } + $str = clone $this; + $str->string = $this->string . (1 >= \count($suffix) ? isset($suffix[0]) ? $suffix[0] : '' : \implode('', $suffix)); + \normalizer_is_normalized($str->string) ?: ($str->string = \normalizer_normalize($str->string)); + if (\false === $str->string) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function chunk($length = 1) + { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($length) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + if (1 > $length) { + throw new InvalidArgumentException('The chunk length must be greater than zero.'); + } + if ('' === $this->string) { + $phabelReturn = []; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + $rx = '/('; + while (65535 < $length) { + $rx .= '\\X{65535}'; + $length -= 65535; + } + $rx .= '\\X{' . $length . '})/u'; + $str = clone $this; + $chunks = []; + foreach (\preg_split($rx, $this->string, -1, \PREG_SPLIT_DELIM_CAPTURE | \PREG_SPLIT_NO_EMPTY) as $chunk) { + $str->string = $chunk; + $chunks[] = clone $str; + } + $phabelReturn = $chunks; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function endsWith($suffix) + { + if ($suffix instanceof AbstractString) { + $suffix = $suffix->string; + } elseif (\is_array($suffix) || $suffix instanceof \Traversable) { + $phabelReturn = parent::endsWith($suffix); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } else { + $suffix = (string) $suffix; + } + $form = null === $this->ignoreCase ? \Normalizer::NFD : \Normalizer::NFC; + \normalizer_is_normalized($suffix, $form) ?: ($suffix = \normalizer_normalize($suffix, $form)); + if ('' === $suffix || \false === $suffix) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if ($this->ignoreCase) { + $phabelReturn = 0 === \mb_stripos(\grapheme_extract($this->string, \strlen($suffix), \GRAPHEME_EXTR_MAXBYTES, \strlen($this->string) - \strlen($suffix)), $suffix, 0, 'UTF-8'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $suffix === \grapheme_extract($this->string, \strlen($suffix), \GRAPHEME_EXTR_MAXBYTES, \strlen($this->string) - \strlen($suffix)); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function equalsTo($string) + { + if ($string instanceof AbstractString) { + $string = $string->string; + } elseif (\is_array($string) || $string instanceof \Traversable) { + $phabelReturn = parent::equalsTo($string); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } else { + $string = (string) $string; + } + $form = null === $this->ignoreCase ? \Normalizer::NFD : \Normalizer::NFC; + \normalizer_is_normalized($string, $form) ?: ($string = \normalizer_normalize($string, $form)); + if ('' !== $string && \false !== $string && $this->ignoreCase) { + $phabelReturn = \strlen($string) === \strlen($this->string) && 0 === \mb_stripos($this->string, $string, 0, 'UTF-8'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $string === $this->string; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function indexOf($needle, $offset = 0) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if ($needle instanceof AbstractString) { + $needle = $needle->string; + } elseif (\is_array($needle) || $needle instanceof \Traversable) { + $phabelReturn = parent::indexOf($needle, $offset); + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } else { + $needle = (string) $needle; + } + $form = null === $this->ignoreCase ? \Normalizer::NFD : \Normalizer::NFC; + \normalizer_is_normalized($needle, $form) ?: ($needle = \normalizer_normalize($needle, $form)); + if ('' === $needle || \false === $needle) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + try { + $i = $this->ignoreCase ? \grapheme_stripos($this->string, $needle, $offset) : \grapheme_strpos($this->string, $needle, $offset); + } catch (\ValueError $e) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + $phabelReturn = \false === $i ? null : $i; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + public function indexOfLast($needle, $offset = 0) + { + if (!\is_int($offset)) { + if (!(\is_bool($offset) || \is_numeric($offset))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($offset) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($offset) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $offset = (int) $offset; + } + } + if ($needle instanceof AbstractString) { + $needle = $needle->string; + } elseif (\is_array($needle) || $needle instanceof \Traversable) { + $phabelReturn = parent::indexOfLast($needle, $offset); + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } else { + $needle = (string) $needle; + } + $form = null === $this->ignoreCase ? \Normalizer::NFD : \Normalizer::NFC; + \normalizer_is_normalized($needle, $form) ?: ($needle = \normalizer_normalize($needle, $form)); + if ('' === $needle || \false === $needle) { + $phabelReturn = null; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + $string = $this->string; + if (0 > $offset) { + // workaround https://bugs.php.net/74264 + if (0 > ($offset += \grapheme_strlen($needle))) { + $string = \grapheme_substr($string, 0, $offset); + } + $offset = 0; + } + $i = $this->ignoreCase ? \grapheme_strripos($string, $needle, $offset) : \grapheme_strrpos($string, $needle, $offset); + $phabelReturn = \false === $i ? null : $i; + if (!\is_null($phabelReturn)) { + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + } + return $phabelReturn; + } + public function join(array $strings, $lastGlue = null) + { + if (!\is_null($lastGlue)) { + if (!\is_string($lastGlue)) { + if (!(\is_string($lastGlue) || \is_object($lastGlue) && \method_exists($lastGlue, '__toString') || (\is_bool($lastGlue) || \is_numeric($lastGlue)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($lastGlue) must be of type ?string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($lastGlue) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $lastGlue = (string) $lastGlue; + } + } + } + $str = parent::join($strings, $lastGlue); + \normalizer_is_normalized($str->string) ?: ($str->string = \normalizer_normalize($str->string)); + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function length() + { + $phabelReturn = \grapheme_strlen($this->string); + if (!\is_int($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (int) $phabelReturn; + } + } + return $phabelReturn; + } + /** + * @return static + */ + public function normalize($form = self::NFC) + { + if (!\is_int($form)) { + if (!(\is_bool($form) || \is_numeric($form))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($form) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($form) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $form = (int) $form; + } + } + $str = clone $this; + if (\in_array($form, [self::NFC, self::NFKC], \true)) { + \normalizer_is_normalized($str->string, $form) ?: ($str->string = \normalizer_normalize($str->string, $form)); + } elseif (!\in_array($form, [self::NFD, self::NFKD], \true)) { + throw new InvalidArgumentException('Unsupported normalization form.'); + } elseif (!\normalizer_is_normalized($str->string, $form)) { + $str->string = \normalizer_normalize($str->string, $form); + $str->ignoreCase = null; + } + $phabelReturn = $str; + if (!$phabelReturn instanceof parent) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type ' . parent::class . ', ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function prepend(...$prefix) + { + foreach ($prefix as $phabelVariadicIndex => $phabelVariadic) { + if (!\is_string($phabelVariadic)) { + if (!(\is_string($phabelVariadic) || \is_object($phabelVariadic) && \method_exists($phabelVariadic, '__toString') || (\is_bool($phabelVariadic) || \is_numeric($phabelVariadic)))) { + throw new \TypeError(__METHOD__ . '(): Argument #' . (1 + $phabelVariadicIndex) . ' must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($prefix) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelVariadic = (string) $phabelVariadic; + } + } + } + $str = clone $this; + $str->string = (1 >= \count($prefix) ? isset($prefix[0]) ? $prefix[0] : '' : \implode('', $prefix)) . $this->string; + \normalizer_is_normalized($str->string) ?: ($str->string = \normalizer_normalize($str->string)); + if (\false === $str->string) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function replace($from, $to) + { + if (!\is_string($from)) { + if (!(\is_string($from) || \is_object($from) && \method_exists($from, '__toString') || (\is_bool($from) || \is_numeric($from)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($from) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($from) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $from = (string) $from; + } + } + if (!\is_string($to)) { + if (!(\is_string($to) || \is_object($to) && \method_exists($to, '__toString') || (\is_bool($to) || \is_numeric($to)))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($to) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($to) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $to = (string) $to; + } + } + $str = clone $this; + \normalizer_is_normalized($from) ?: ($from = \normalizer_normalize($from)); + if ('' !== $from && \false !== $from) { + $tail = $str->string; + $result = ''; + $indexOf = $this->ignoreCase ? 'grapheme_stripos' : 'grapheme_strpos'; + while ('' !== $tail && \false !== ($i = $indexOf($tail, $from))) { + $slice = \grapheme_substr($tail, 0, $i); + $result .= $slice . $to; + $tail = \substr($tail, \strlen($slice) + \strlen($from)); + } + $str->string = $result . $tail; + \normalizer_is_normalized($str->string) ?: ($str->string = \normalizer_normalize($str->string)); + if (\false === $str->string) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + } + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function replaceMatches($fromRegexp, $to) + { + if (!\is_string($fromRegexp)) { + if (!(\is_string($fromRegexp) || \is_object($fromRegexp) && \method_exists($fromRegexp, '__toString') || (\is_bool($fromRegexp) || \is_numeric($fromRegexp)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($fromRegexp) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($fromRegexp) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $fromRegexp = (string) $fromRegexp; + } + } + $str = parent::replaceMatches($fromRegexp, $to); + \normalizer_is_normalized($str->string) ?: ($str->string = \normalizer_normalize($str->string)); + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function slice($start = 0, $length = null) + { + if (!\is_int($start)) { + if (!(\is_bool($start) || \is_numeric($start))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($start) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($start) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $start = (int) $start; + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + $str = clone $this; + if (\PHP_VERSION_ID < 80000 && 0 > $start && \grapheme_strlen($this->string) < -$start) { + $start = 0; + } + $str->string = (string) \grapheme_substr($this->string, $start, isset($length) ? $length : 2147483647); + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function splice($replacement, $start = 0, $length = null) + { + if (!\is_string($replacement)) { + if (!(\is_string($replacement) || \is_object($replacement) && \method_exists($replacement, '__toString') || (\is_bool($replacement) || \is_numeric($replacement)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($replacement) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($replacement) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $replacement = (string) $replacement; + } + } + if (!\is_int($start)) { + if (!(\is_bool($start) || \is_numeric($start))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($start) must be of type int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($start) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $start = (int) $start; + } + } + if (!\is_null($length)) { + if (!\is_int($length)) { + if (!(\is_bool($length) || \is_numeric($length))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($length) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($length) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $length = (int) $length; + } + } + } + $str = clone $this; + if (\PHP_VERSION_ID < 80000 && 0 > $start && \grapheme_strlen($this->string) < -$start) { + $start = 0; + } + $start = $start ? \strlen(\grapheme_substr($this->string, 0, $start)) : 0; + $length = $length ? \strlen(\grapheme_substr($this->string, $start, isset($length) ? $length : 2147483647)) : $length; + $str->string = \substr_replace($this->string, $replacement, $start, isset($length) ? $length : 2147483647); + \normalizer_is_normalized($str->string) ?: ($str->string = \normalizer_normalize($str->string)); + if (\false === $str->string) { + throw new InvalidArgumentException('Invalid UTF-8 string.'); + } + $phabelReturn = $str; + if (!$phabelReturn instanceof AbstractString) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type AbstractString, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function split($delimiter, $limit = null, $flags = null) + { + if (!\is_string($delimiter)) { + if (!(\is_string($delimiter) || \is_object($delimiter) && \method_exists($delimiter, '__toString') || (\is_bool($delimiter) || \is_numeric($delimiter)))) { + throw new \TypeError(__METHOD__ . '(): Argument #1 ($delimiter) must be of type string, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($delimiter) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $delimiter = (string) $delimiter; + } + } + if (!\is_null($limit)) { + if (!\is_int($limit)) { + if (!(\is_bool($limit) || \is_numeric($limit))) { + throw new \TypeError(__METHOD__ . '(): Argument #2 ($limit) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($limit) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $limit = (int) $limit; + } + } + } + if (!\is_null($flags)) { + if (!\is_int($flags)) { + if (!(\is_bool($flags) || \is_numeric($flags))) { + throw new \TypeError(__METHOD__ . '(): Argument #3 ($flags) must be of type ?int, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($flags) . ' given, called in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $flags = (int) $flags; + } + } + } + if (1 > ($limit = isset($limit) ? $limit : 2147483647)) { + throw new InvalidArgumentException('Split limit must be a positive integer.'); + } + if ('' === $delimiter) { + throw new InvalidArgumentException('Split delimiter is empty.'); + } + if (null !== $flags) { + $phabelReturn = parent::split($delimiter . 'u', $limit, $flags); + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + \normalizer_is_normalized($delimiter) ?: ($delimiter = \normalizer_normalize($delimiter)); + if (\false === $delimiter) { + throw new InvalidArgumentException('Split delimiter is not a valid UTF-8 string.'); + } + $str = clone $this; + $tail = $this->string; + $chunks = []; + $indexOf = $this->ignoreCase ? 'grapheme_stripos' : 'grapheme_strpos'; + while (1 < $limit && \false !== ($i = $indexOf($tail, $delimiter))) { + $str->string = \grapheme_substr($tail, 0, $i); + $chunks[] = clone $str; + $tail = \substr($tail, \strlen($str->string) + \strlen($delimiter)); + --$limit; + } + $str->string = $tail; + $chunks[] = clone $str; + $phabelReturn = $chunks; + if (!\is_array($phabelReturn)) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type array, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } + return $phabelReturn; + } + public function startsWith($prefix) + { + if ($prefix instanceof AbstractString) { + $prefix = $prefix->string; + } elseif (\is_array($prefix) || $prefix instanceof \Traversable) { + $phabelReturn = parent::startsWith($prefix); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } else { + $prefix = (string) $prefix; + } + $form = null === $this->ignoreCase ? \Normalizer::NFD : \Normalizer::NFC; + \normalizer_is_normalized($prefix, $form) ?: ($prefix = \normalizer_normalize($prefix, $form)); + if ('' === $prefix || \false === $prefix) { + $phabelReturn = \false; + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + if ($this->ignoreCase) { + $phabelReturn = 0 === \mb_stripos(\grapheme_extract($this->string, \strlen($prefix), \GRAPHEME_EXTR_MAXBYTES), $prefix, 0, 'UTF-8'); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + $phabelReturn = $prefix === \grapheme_extract($this->string, \strlen($prefix), \GRAPHEME_EXTR_MAXBYTES); + if (!\is_bool($phabelReturn)) { + if (!(\is_bool($phabelReturn) || \is_numeric($phabelReturn) || \is_string($phabelReturn))) { + throw new \TypeError(__METHOD__ . '(): Return value must be of type bool, ' . \Phabel\Plugin\TypeHintReplacer::getDebugType($phabelReturn) . ' returned in ' . \Phabel\Plugin\TypeHintReplacer::trace()); + } else { + $phabelReturn = (bool) $phabelReturn; + } + } + return $phabelReturn; + } + public function __wakeup() + { + if (!\is_string($this->string)) { + throw new \BadMethodCallException('Cannot unserialize ' . __CLASS__); + } + \normalizer_is_normalized($this->string) ?: ($this->string = \normalizer_normalize($this->string)); + } + public function __clone() + { + if (null === $this->ignoreCase) { + \normalizer_is_normalized($this->string) ?: ($this->string = \normalizer_normalize($this->string)); + } + $this->ignoreCase = \false; + } +}